این پست توسط سلما تاوفیق و هارینی کنان از Sophos نوشته شده است.
به عنوان یک رهبر در امنیت سایبری نسل بعدی، شرکت Sophos تلاش می کند تا از بیش از 500,000 سازمان و میلیون ها مشتری در بیش از 150 کشور در برابر تهدیدات در حال تحول محافظت کند. Sophos با استفاده از هوش تهدید، یادگیری ماشین (ML) و هوش مصنوعی Sophos X-Ops، مجموعه گسترده و متنوعی از محصولات و خدمات پیشرفته را برای ایمن سازی و دفاع از کاربران، شبکه ها و نقاط پایانی در برابر فیشینگ، باج افزار، بدافزار، و طیف گسترده ای از حملات سایبری وجود دارد.
La گروه هوش مصنوعی سوفوس (AI) (SophosAI) بر توسعه و نگهداری فناوری اصلی امنیتی ML Sophos نظارت دارد. امنیت یک مشکل کلان داده است. برای فرار از شناسایی، مجرمان سایبری به طور مداوم حملات جدیدی را انجام می دهند. این به مجموعه دادههای تهدید عظیمی تبدیل میشود که گروه باید برای دفاع از مشتریان با آنها همکاری کند. یکی از مثالهای قابلتوجه، شناسایی و حذف فایلهایی است که به طرز حیلهای با بدافزار همراه شده بودند، که در آن مجموعه دادهها در ترابایت هستند.
در این پست، ما به طور خاص بر روی سیستم تشخیص بدافزار Sophos برای فرمت فایل PDF تمرکز می کنیم. ما نحوه استفاده SophosAI را نشان می دهیم آمازون SageMaker آموزش توزیع شده با ترابایت داده برای آموزش یک مدل سبک وزن قدرتمند XGBoost (تقویت گرادیان شدید). این به تیم آنها اجازه می دهد تا با تنظیم خودکار فراپارامتر و بدون مدیریت زیرساخت آموزشی زیربنایی، داده های آموزشی بزرگ را سریعتر تکرار کنند.
این راه حل در حال حاضر به طور یکپارچه در خط لوله آموزش تولید ادغام شده است و مدل بر روی میلیون ها نقطه پایانی کاربر از طریق سرویس نقطه پایانی Sophos.
از زمینه موردی استفاده کنید
چه بخواهید یک قرارداد مهم را به اشتراک بگذارید یا طراحی فانتزی رزومه خود را حفظ کنید، فرمت PDF رایج ترین انتخاب است. استفاده گسترده از آن و تصور عمومی مبنی بر اینکه چنین اسنادی بدون هوا و ثابت هستند، کاربران را به احساس امنیت کاذب سوق داده است. بنابراین، PDF به یک ناقل عفونت انتخابی در زرادخانه مهاجمان تبدیل شده است. اقدامات مخرب با استفاده از PDF اغلب از طریق جاسازی یک بار جاوا اسکریپت انجام می شود که توسط پی دی اف خوان برای دانلود ویروس از یک URI، خرابکاری در دستگاه کاربر یا سرقت اطلاعات حساس اجرا می شود.
Sophos فایل های PDF مخرب را در نقاط مختلف حمله با استفاده از مجموعه ای از مدل های قطعی و ML شناسایی می کند. یکی از این رویکردها در نمودار زیر نشان داده شده است، جایی که فایل PDF مخرب از طریق ایمیل تحویل داده می شود. به محض اینکه تلاش برای دانلود انجام می شود، اسکریپت اجرایی مخرب را برای اتصال به سرور فرمان و کنترل مهاجم فعال می کند. آشکارساز پی دی اف SophosAI پس از تشخیص مخرب بودن، تلاش دانلود را مسدود می کند.
راههای دیگر عبارتند از مسدود کردن فایلهای PDF در نقطه پایانی، ارسال فایلهای مخرب به یک سندباکس (جایی که با استفاده از چندین مدل امتیاز داده میشود)، ارسال فایل مخرب به زیرساخت امتیازدهی و ایجاد گزارش امنیتی و غیره.
انگیزه
تیم SophosAI برای ساخت یک آشکارساز مبتنی بر درخت که میتواند فایلهای PDF مخرب را با اطمینان بالا محکوم کند، در حالی که امکان مصرف توان محاسباتی نقطه پایانی پایین و پاسخهای استنتاج سریع را فراهم میکند، الگوریتم XGBoost را کاندیدای عالی برای این کار دانست. چنین مسیرهای تحقیقاتی برای Sophos به دو دلیل مهم هستند. وجود مدلهای قدرتمند و در عین حال کوچک که در سطح نقاط پایانی مشتری مستقر شدهاند، تأثیر زیادی بر بررسیهای محصول شرکت توسط تحلیلگران دارد. همچنین، و مهمتر از آن، به طور کلی تجربه کاربری بهتری را ارائه می دهد.
چالش فنی
از آنجایی که هدف این بود که مدلی با حافظه کمتری نسبت به آشکارسازهای بدافزار PDF موجود (هم روی دیسک و هم در حافظه) داشته باشیم، SophosAI XGBoost را تبدیل کرد، یک الگوریتم طبقهبندی با سابقه اثبات شده در تولید مدلهای بسیار کوچکتر از شبکههای عصبی و در عین حال دستیابی به نتایج چشمگیر. عملکرد در داده های جدولی قبل از جسارت به مدلسازی آزمایشهای XGBoost، یک نکته مهم، بزرگی مجموعه دادهها بود. در واقع، مجموعه داده های اصلی سوفوس از فایل های PDF در ترابایت است.
بنابراین، چالش اصلی آموزش مدل با مجموعه داده بزرگ بدون نیاز به نمونه برداری بود. از آنجا که برای آشکارساز بسیار مهم است که هر گونه حملات مبتنی بر PDF را شناسایی کند - حتی حملات سوزنی در انبار کاه و کاملاً جدید برای دفاع بهتر از مشتریان Sophos - استفاده از همه مجموعه دادههای متنوع موجود بسیار مهم است.
برخلاف شبکههای عصبی که میتوانید به صورت دستهای آموزش دهید، برای XGBoost، ما به کل مجموعه داده آموزشی در حافظه نیاز داریم. بزرگترین مجموعه داده آموزشی برای این پروژه بیش از 1 ترابایت است و هیچ راهی برای آموزش در چنین مقیاسی بدون استفاده از روششناسی چارچوب آموزشی توزیع شده وجود ندارد.
بررسی اجمالی راه حل
SageMaker یک سرویس ML کاملاً مدیریت شده است که ابزارهای مختلفی را برای ساخت، آموزش، بهینه سازی و استقرار مدل های ML ارائه می دهد. این کتابخانه های الگوریتم های داخلی SageMaker شامل 21 الگوریتم محبوب ML، از جمله XGBoost. (برای اطلاعات بیشتر ببین یادگیری ماشین را با XGBoost و Amazon SageMaker ساده کنید.) با الگوریتم داخلی XGBoost، می توانید از مزیت منبع باز استفاده کنید SageMaker XGBoost Container با مشخص کردن یک نسخه چارچوب بزرگتر از 1.0-1، که انعطاف پذیری، مقیاس پذیری، توسعه پذیری و آموزش نقطه مدیریت شده را بهبود بخشیده است و از فرمت های ورودی مانند Parquet، که قالب مورد استفاده برای مجموعه داده PDF است، پشتیبانی می کند.
دلیل اصلی اینکه SophosAI SageMaker را انتخاب کرد، توانایی بهره مندی از آموزش های توزیع شده کاملاً مدیریت شده در نمونه های CPU چند گره ای با مشخص کردن بیش از یک نمونه است. SageMaker به طور خودکار داده ها را بین گره ها تقسیم می کند، نتایج را در گره های همتا جمع می کند و یک مدل واحد تولید می کند. نمونه ها می توانند نمونه های نقطه ای باشند، در نتیجه هزینه های آموزش را به میزان قابل توجهی کاهش می دهند. با الگوریتم داخلی برای XGBoost، می توانید این کار را بدون هیچ اسکریپت سفارشی اضافی انجام دهید. نسخه های توزیع شده XGBoost نیز به عنوان منبع باز وجود دارند، مانند XGBoost-Ray و XGBoost4J-Spark، اما استفاده از آنها مستلزم ایجاد، ایمن سازی، تنظیم و خود مدیریتی خوشه های محاسباتی توزیع شده است که نشان دهنده تلاش قابل توجهی علاوه بر توسعه علمی است.
علاوه بر این، تنظیم خودکار مدل SageMakerکه به عنوان تنظیم هایپرپارامتر نیز شناخته می شود، با اجرای بسیاری از کارهای آموزشی با محدوده هایپرپارامترهایی که شما مشخص کرده اید، بهترین نسخه یک مدل را پیدا می کند. سپس مقادیر فراپارامتر را انتخاب می کند که منجر به مدلی می شود که بهترین عملکرد را دارد، همانطور که توسط یک متریک برای وظیفه ML اندازه گیری می شود.
نمودار زیر معماری راه حل را نشان می دهد.
شایان ذکر است که وقتی SophosAI آزمایشهای XGBoost را قبل از روی آوردن به SageMaker آغاز کرد، تلاشهایی برای استفاده از حافظه بزرگ انجام شد. ابر محاسبه الاستیک آمازون نمونههای (Amazon EC2) (به عنوان مثال r5a.24xlarge و x1.32xlarge) برای آموزش مدل بر روی نمونهای از دادهها تا حد امکان. با این حال، این تلاش ها به طور متوسط بیش از 10 ساعت طول کشید و معمولاً به دلیل تمام شدن حافظه با شکست مواجه شدند.
در مقابل، با استفاده از الگوریتم SageMaker XGBoost و یک مکانیسم آموزشی توزیع شده بدون دردسر، SophosAI میتواند یک مدل تقویتکننده را در مقیاس مجموعه داده آموزشی عظیم PDF در مدت ۲۰ دقیقه آموزش دهد. تیم فقط باید داده ها را در آن ذخیره می کرد سرویس ذخیره سازی ساده آمازون (Amazon S3) به عنوان فایل پارکت با اندازه مشابه، و یک نوع نمونه EC2 و تعداد مورد نظر را انتخاب کنید، و SageMaker زیرساخت خوشه محاسباتی زیربنایی را مدیریت کرد و آموزش بین چندین گره خوشه توزیع کرد. SageMaker دادهها را با استفاده از ShardedByS3Key بین گرهها تقسیم میکند تا اشیاء فایل را به طور مساوی بین هر نمونه توزیع کند و از پیادهسازی XGBoost استفاده میکند. پروتکل Rabit (واسط AllReduce و پخش قابل اعتماد) برای راه اندازی پردازش توزیع شده و برقراری ارتباط بین گره های اولیه و همتا. (برای جزئیات بیشتر در مورد تجمع هیستوگرام و پخش در سراسر گره ها، مراجعه کنید XGBoost: یک سیستم تقویت درخت مقیاس پذیر.)
فراتر از آموزش یک مدل، با SageMaker، تنظیم فراپارامتر XGBoost همچنین با قابلیت اجرای آزمایش های مختلف به طور همزمان برای تنظیم دقیق بهترین ترکیب ابرپارامترها، سریع و آسان ساخته شد. هایپرپارامترهای قابل تنظیم هم شامل فراپارامترهای اختصاصی تقویت کننده و تابع هدف هستند. دو استراتژی جستجو ارائه می شوند: تصادفی یا بیزی. استراتژی جستجوی بیزی ارزشمند است زیرا به یافتن فراپارامترهای بهتر از جستجوی تصادفی صرف در تکرارهای تجربی کمتر کمک می کند.
اطلاعات مجموعه داده
مدلسازی شناسایی بدافزار PDF SophosAI به ویژگیهای مختلفی مانند هیستوگرامهای n-gram و ویژگیهای آنتروپی بایت متکی است (برای اطلاعات بیشتر، به MEADE: به سمت یک موتور تشخیص پیوست ایمیل مخرب). ابرداده ها و ویژگی های استخراج شده از فایل های پی دی اف جمع آوری شده در یک انبار داده توزیع شده ذخیره می شوند. سپس مجموعهای از بیش از 3,500 ویژگی محاسبه میشود، بر اساس زمان به مجموعههای آموزشی و آزمایشی تقسیم میشود و به صورت دستهای بهعنوان فایلهای پارکت در آمازون S3 ذخیره میشود تا SageMaker برای کارهای آموزشی به آسانی در دسترس باشد.
جدول زیر اطلاعاتی در مورد داده های آموزش و آزمون ارائه می دهد.
مجموعه داده | تعداد نمونه ها | تعداد فایل پارکت | اندازه کل |
آموزش | 70,391,634 | 5,500 | 1010 پوند |
تست | 1,242,283 | 98 | 18 پوند |
اندازه داده ها طبق فرمول محاسبه شده است:
اندازه داده = N × (nF + نهL) × 4
فرمول دارای پارامترهای زیر است:
- N تعداد نمونه های موجود در مجموعه داده است
- nF تعداد ویژگی ها، با nF = 3585
- nL تعداد برچسب های حقیقت زمینی با n استL = 1
- 4 تعداد بایت های مورد نیاز برای نوع داده ویژگی ها است:
float32
علاوه بر این، نمودارهای دایرهای زیر توزیع برچسب مجموعههای آموزشی و آزمایشی را ارائه میکنند و عدم تعادل کلاسی را که در وظیفه تشخیص بدافزار PDF با آن مواجه میشود، برمیانگیزد.
توزیع از مجموعه آموزشی به مجموعه آزمون یک ماهه تغییر می کند. یک تقسیم مبتنی بر زمان از مجموعه داده به آموزش و آزمایش به منظور شبیهسازی سناریوی استقرار واقعی و جلوگیری از جاسوسی زمانی اعمال میشود. این استراتژی همچنین به SophosAI اجازه میدهد تا قابلیتهای تعمیم واقعی مدل را در هنگام مواجهه با حملات PDF کاملاً جدید که قبلاً دیده نشده بود، ارزیابی کند.
آزمایش ها و نتایج
برای شروع آزمایشها، تیم SophosAI یک مدل پایه XGBoost را با پارامترهای پیشفرض آموزش داد. سپس آنها با استفاده از استراتژی بیزی شروع به تنظیم دقیق هایپرپارامتر با SageMaker کردند که به سادگی مشخص کردن هایپرپارامترها برای تنظیم و محدوده مورد نظر مقادیر، متریک ارزیابی (ROC (ویژگی عملیاتی گیرنده) AUC در این مورد) و مجموعه های آموزشی و اعتبار سنجی. برای آشکارساز بدافزار PDF، SophosAI فراپارامترها از جمله تعداد دورهای تقویت را اولویت بندی کرد (num_round
حداکثر عمق درخت (max_depth
، میزان یادگیری (eta
، و نسبت نمونه برداری از ستون ها هنگام ساخت درختان (colsample_bytree
). در نهایت، بهترین هایپرپارامترها به دست آمد و برای آموزش یک مدل بر روی مجموعه داده کامل مورد استفاده قرار گرفت و در نهایت در مجموعه آزمون نگهدارنده ارزیابی شد.
نمودار زیر متریک هدف (ROC AUC) را در مقابل 15 کار آموزشی اجرا شده در کار تنظیم نشان می دهد. بهترین هایپرپارامترها مربوط به کار آموزشی نهم هستند.
در ابتدای آزمایشهای SophosAI روی SageMaker، به یک سوال مهم که باید پاسخ داد این بود: چه نوع نمونههایی و چه تعداد از آنها برای آموزش XGBoost روی دادههای موجود مورد نیاز است؟ این بسیار مهم است زیرا استفاده از تعداد یا نوع نمونه اشتباه می تواند باعث اتلاف وقت و هزینه شود. آموزش به دلیل تمام شدن حافظه با شکست مواجه می شود، یا در صورت استفاده از نمونه های بیش از حد بزرگ، ممکن است به طور غیر ضروری گران شود.
XGBoost یک الگوریتم محدود به حافظه (برخلاف محاسبات محدود) است. بنابراین، یک نمونه محاسباتی همه منظوره (مثلا M5) انتخاب بهتری نسبت به یک نمونه محاسباتی بهینه شده (مثلاً C4) است. برای تصمیم گیری آگاهانه، یک دستورالعمل ساده SageMaker برای انتخاب تعداد نمونه های مورد نیاز برای اجرای آموزش در مجموعه داده کامل وجود دارد:
حجم کل داده های آموزشی × ضریب ایمنی(*) < تعداد نمونه × حافظه کل نوع نمونه
در این مورد: حجم کل داده های آموزشی × ضریب ایمنی (12) = 12120 گیگابایت
جدول زیر الزامات زمانی که نوع نمونه انتخابی ml.m5.24xlarge است را خلاصه می کند.
اندازه تمرین × ضریب ایمنی (12) | حافظه نمونه ml.m5.24xlarge | حداقل تعداد نمونه مورد نیاز برای آموزش |
12120 GB | 384 GB | 32 |
*با توجه به ماهیت آموزش توزیع شده XGBoost، که نیاز به بارگذاری کل مجموعه داده آموزشی در یک شی DMatrix قبل از آموزش و حافظه آزاد اضافی دارد، ضریب ایمنی 10-12 توصیه می شود.
برای نگاهی دقیق تر به استفاده از حافظه برای آموزش کامل SageMaker XGBoost در مجموعه داده ارائه شده، نمودار مربوطه به دست آمده از آموزش را ارائه می کنیم. CloudWatch آمازون نظارت بر. برای این کار آموزشی از 40 میلی لیتر متر 5.24 نمونه بزرگ استفاده شد و حداکثر استفاده از حافظه به حدود 62 درصد رسید.
هزینه مهندسی صرفه جویی شده با ادغام یک سرویس ML مدیریت شده مانند SageMaker در خط لوله داده حدود 50٪ است. گزینه استفاده از Spot Instances برای آموزش و تنظیم هایپرپارامتر، هزینه ها را تا 63% کاهش می دهد.
نتیجه
با SageMaker، تیم SophosAI میتواند با ساختن یک مدل سبک وزن تشخیص بدافزار PDF XGBoost که روی دیسک (تا 25 برابر کوچکتر) و حافظه داخلی (تا 5 برابر کوچکتر) از آن است، یک پروژه پیچیده با اولویت بالا را با موفقیت حل کند. آشکارساز سلف این یک آشکارساز بدافزار کوچک اما قدرتمند با ~0.99 AUC و نرخ مثبت واقعی 0.99 و نرخ مثبت کاذب است. . این مدل را می توان به سرعت دوباره آموزش داد و عملکرد آن را می توان به راحتی در طول زمان بررسی کرد، زیرا آموزش آن بر روی بیش از 20 ترابایت داده کمتر از 1 دقیقه طول می کشد.
می توانید از الگوریتم داخلی SageMaker استفاده کنید XGBoost برای ساخت مدل ها با داده های جدولی شما در مقیاس. علاوه بر این، میتوانید الگوریتمهای داخلی Amazon SageMaker، LightGBM، CatBoost، AutoGluon-Tabular و Tab Transformer را نیز امتحان کنید. وبلاگ.
درباره نویسندگان
سلمه توفیق یک دانشمند ارشد داده در Sophos است که در تقاطع یادگیری ماشین و امنیت سایبری کار می کند. او با پیشینه کارشناسی در علوم کامپیوتر، از دانشگاه اروپای مرکزی با مدرک کارشناسی ارشد فارغ التحصیل شد. در ریاضیات و کاربردهای آن وقتی سلما یک آشکارساز بدافزار توسعه نمیدهد، یک کوهنورد، مسافر و مصرفکننده هیجانانگیز مشتاق است.
هارینی کنان دانشمند داده در SophosAI است. او حدود 4 سال است که در علم داده های امنیتی فعالیت می کند. او قبلاً دانشمند اصلی داده در Capsule8 بود که توسط Sophos خریداری شد. او در CAMLIS، BlackHat (ایالات متحده آمریکا)، Open Data Science Conference (East)، Data Science Salon، PyData (بوستون)، و Data Connectors سخنرانی کرده است. حوزههای تحقیقاتی او شامل شناسایی حملات مبتنی بر سختافزار با استفاده از شمارندههای عملکرد، تحلیل رفتار کاربر، ML قابل تفسیر و تشخیص ناهنجاری بدون نظارت است.
حسن پوناوالا یک معمار ارشد راه حل های تخصصی AI/ML در AWS، مستقر در لندن، انگلستان است. حسن به مشتریان کمک می کند تا برنامه های یادگیری ماشین را در تولید در AWS طراحی و استقرار دهند. او بیش از 12 سال تجربه کاری به عنوان دانشمند داده، متخصص یادگیری ماشین و توسعه دهنده نرم افزار دارد. حسن در اوقات فراغت خود عاشق گشت و گذار در طبیعت و گذراندن وقت با دوستان و خانواده است.
پاتل دیگانت یک رهبر پشتیبانی سازمانی در AWS است. او با مشتریان برای طراحی، استقرار و عملیات در فضای ابری در مقیاس کار می کند. حوزههای مورد علاقه او، روشهای MLOps و DevOps و اینکه چگونه میتواند به مشتریان در سفر ابری آنها کمک کند، است. خارج از محل کار، او از عکاسی، بازی والیبال و گذراندن وقت با دوستان و خانواده لذت می برد.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- آمازون SageMaker
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- راه حل های مشتری
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت