Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker

Posting ini ditulis bersama oleh Salma Taoufiq dan Harini Kannan dari Sophos.

Sebagai pemimpin dalam keamanan siber generasi mendatang, Sophos berusaha untuk melindungi lebih dari 500,000 organisasi dan jutaan pelanggan di lebih dari 150 negara dari ancaman yang berkembang. Didukung oleh kecerdasan ancaman, pembelajaran mesin (ML), dan kecerdasan buatan dari Sophos X-Ops, Sophos menghadirkan portofolio produk dan layanan canggih yang luas dan beragam untuk mengamankan dan mempertahankan pengguna, jaringan, dan titik akhir dari phishing, ransomware, malware, dan berbagai serangan cyber di luar sana.

Grafik Kelompok Kecerdasan Buatan (AI) Sophos (SophosAI) mengawasi pengembangan dan pemeliharaan teknologi keamanan ML utama Sophos. Keamanan adalah masalah data besar. Untuk menghindari deteksi, penjahat dunia maya terus-menerus membuat serangan baru. Ini diterjemahkan ke dalam kumpulan data ancaman kolosal yang harus dikerjakan oleh grup untuk mempertahankan pelanggan dengan sebaik-baiknya. Salah satu contoh penting adalah pendeteksian dan penghapusan file yang secara licik dicampur dengan malware, dengan kumpulan data dalam terabyte.

Dalam posting ini, kami fokus pada sistem deteksi malware Sophos untuk format file PDF secara khusus. Kami menunjukkan bagaimana SophosAI menggunakan Amazon SageMaker pelatihan terdistribusi dengan terabyte data untuk melatih model XGBoost (Extreme Gradient Boosting) ringan yang kuat. Hal ini memungkinkan tim mereka untuk beralih pada data pelatihan besar lebih cepat dengan penyetelan hyperparameter otomatis dan tanpa mengelola infrastruktur pelatihan yang mendasarinya.

Solusinya saat ini terintegrasi dengan mulus ke dalam alur pelatihan produksi dan model yang diterapkan pada jutaan titik akhir pengguna melalui Layanan titik akhir Sophos.

Gunakan konteks kasus

Apakah Anda ingin berbagi kontrak penting atau mempertahankan desain CV Anda yang mewah, format PDF adalah pilihan yang paling umum. Penggunaannya yang meluas dan persepsi umum bahwa dokumen semacam itu kedap udara dan statis telah membuai pengguna ke dalam rasa aman yang salah. Oleh karena itu, PDF telah menjadi vektor infeksi pilihan di gudang senjata penyerang. Tindakan berbahaya menggunakan PDF paling sering dicapai melalui penyematan muatan JavaScript yang dijalankan oleh pembaca PDF untuk mengunduh virus dari URI, menyabot mesin pengguna, atau mencuri informasi sensitif.

Sophos mendeteksi file PDF berbahaya di berbagai titik serangan menggunakan ansambel model deterministik dan ML. Salah satu pendekatan tersebut diilustrasikan dalam diagram berikut, di mana file PDF berbahaya dikirim melalui email. Segera setelah upaya pengunduhan dilakukan, itu memicu skrip yang dapat dieksekusi berbahaya untuk terhubung ke server Command and Control penyerang. Detektor PDF SophosAI memblokir upaya pengunduhan setelah mendeteksi bahwa itu berbahaya.

Cara lain termasuk memblokir file PDF di titik akhir, mengirim file berbahaya ke kotak pasir (di mana itu dinilai menggunakan beberapa model), mengirimkan file berbahaya ke infrastruktur penilaian dan membuat laporan keamanan, dan seterusnya.

Motivasi

Untuk membangun detektor berbasis pohon yang dapat menghukum PDF berbahaya dengan keyakinan tinggi, sementara memungkinkan konsumsi daya komputasi titik akhir yang rendah dan respons inferensi yang cepat, tim SophosAI menemukan algoritme XGBoost sebagai kandidat yang sempurna untuk tugas tersebut. Jalan penelitian seperti itu penting bagi Sophos karena dua alasan. Memiliki model yang kuat namun kecil yang diterapkan di tingkat titik akhir pelanggan memiliki dampak yang tinggi pada ulasan produk perusahaan oleh para analis. Ini juga, dan yang lebih penting, memberikan pengalaman pengguna yang lebih baik secara keseluruhan.

Tantangan teknis

Karena tujuannya adalah untuk memiliki model dengan jejak memori yang lebih kecil daripada detektor malware PDF yang ada (baik di disk maupun di memori), SophosAI mengubah XGBoost, algoritme klasifikasi dengan catatan yang terbukti menghasilkan model yang jauh lebih kecil daripada jaringan saraf sambil mencapai hasil yang mengesankan. kinerja pada data tabular. Sebelum menjelajah ke eksperimen pemodelan XGBoost, pertimbangan penting adalah ukuran dataset. Memang, dataset inti Sophos dari file PDF dalam terabyte.

Oleh karena itu, tantangan utama adalah melatih model dengan kumpulan data yang besar tanpa harus melakukan downsample. Karena penting bagi detektor untuk belajar mengenali setiap serangan berbasis PDF โ€” bahkan yang baru dan yang benar-benar baru untuk mempertahankan pelanggan Sophos dengan lebih baik โ€” sangat penting untuk menggunakan semua kumpulan data beragam yang tersedia.

Tidak seperti jaringan saraf, di mana Anda dapat berlatih dalam batch, untuk XGBoost, kami memerlukan seluruh dataset pelatihan dalam memori. Kumpulan data pelatihan terbesar untuk proyek ini adalah lebih dari 1 TB, dan tidak ada cara untuk melatih pada skala seperti itu tanpa memanfaatkan metodologi kerangka pelatihan terdistribusi.

Ikhtisar solusi

SageMaker adalah layanan ML terkelola sepenuhnya yang menyediakan berbagai alat untuk membangun, melatih, mengoptimalkan, dan menerapkan model ML. Itu Pustaka algoritme bawaan SageMaker terdiri dari 21 algoritma ML populer, termasuk XGBoost. (Untuk informasi lebih lanjut, lihat Sederhanakan pembelajaran mesin dengan XGBoost dan Amazon SageMaker.) Dengan algoritme bawaan XGBoost, Anda dapat memanfaatkan sumber terbuka Wadah SageMaker XGBoost dengan menetapkan versi kerangka kerja yang lebih besar dari 1.0-1, yang telah meningkatkan fleksibilitas, skalabilitas, ekstensibilitas, dan Pelatihan Spot Terkelola, dan mendukung format input seperti Parket, yang merupakan format yang digunakan untuk kumpulan data PDF.

Alasan utama SophosAI memilih SageMaker adalah kemampuannya untuk mendapatkan manfaat dari pelatihan terdistribusi yang terkelola sepenuhnya pada instans CPU multi-node hanya dengan menentukan lebih dari satu instans. SageMaker secara otomatis membagi data di seluruh node, menggabungkan hasil di seluruh node peer, dan menghasilkan satu model. Instans dapat berupa Instans Spot, sehingga mengurangi biaya pelatihan secara signifikan. Dengan algoritma bawaan untuk XGBoost, Anda dapat melakukannya tanpa skrip khusus tambahan. Versi XGBoost yang didistribusikan juga ada sebagai open source, seperti: XGBoost-Ray dan XGBoost4J-Spark, tetapi penggunaannya memerlukan pembangunan, pengamanan, penyetelan, dan pengelolaan sendiri kluster komputasi terdistribusi, yang merupakan upaya tambahan yang signifikan untuk pengembangan ilmiah.

Selain itu, Tuning model otomatis SageMaker, juga dikenal sebagai penyetelan hyperparameter, menemukan versi model terbaik dengan menjalankan banyak tugas pelatihan dengan rentang hyperparameter yang Anda tentukan. Kemudian memilih nilai hyperparameter yang menghasilkan model yang berperforma terbaik, yang diukur dengan metrik untuk tugas ML yang diberikan.

Diagram berikut menggambarkan arsitektur solusi.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Perlu dicatat bahwa, ketika SophosAI memulai eksperimen XGBoost sebelum beralih ke SageMaker, upaya dilakukan untuk menggunakan memori besar Cloud komputasi elastis Amazon (Amazon EC2) (misalnya, r5a.24xlarge dan x1.32xlarge) untuk melatih model pada sampel data sebanyak mungkin. Namun, upaya ini rata-rata memakan waktu lebih dari 10 jam dan biasanya gagal karena kehabisan memori.

Sebaliknya, dengan menggunakan algoritme SageMaker XGBoost dan mekanisme pelatihan terdistribusi tanpa kerumitan, SophosAI dapat melatih model booster dalam skala besar pada kumpulan data pelatihan PDF kolosal dalam hitungan 20 menit. Tim hanya perlu menyimpan data di Layanan Penyimpanan Sederhana Amazon (Amazon S3) sebagai file Parket dengan ukuran yang sama, dan pilih jenis instans EC2 dan jumlah instans yang diinginkan, dan SageMaker mengelola infrastruktur klaster komputasi yang mendasarinya dan mendistribusikan pelatihan di antara beberapa node klaster. Di bawah tenda, SageMaker membagi data di seluruh node menggunakan ShardedByS3Key untuk mendistribusikan objek file secara merata di antara setiap instance dan menggunakan implementasi XGBoost dari Protokol kelinci (AllReduce dan antarmuka siaran yang andal) untuk meluncurkan pemrosesan terdistribusi dan berkomunikasi antara node primer dan peer. (Untuk detail lebih lanjut tentang agregasi histogram dan siaran di seluruh node, lihat XGBoost: Sistem Peningkat Pohon yang Dapat Diukur.)

Lebih dari sekadar melatih satu model, dengan SageMaker, Penyetelan hyperparameter XGBoost juga dibuat cepat dan mudah dengan kemampuan untuk menjalankan berbagai eksperimen secara bersamaan untuk menyempurnakan kombinasi hiperparameter terbaik. Hyperparameter yang dapat disetel mencakup hyperparameter spesifik booster dan fungsi objektif. Dua strategi pencarian ditawarkan: acak atau Bayesian. Strategi pencarian Bayesian telah terbukti berharga karena membantu menemukan hyperparameter yang lebih baik daripada pencarian acak belaka, dalam iterasi eksperimental yang lebih sedikit.

Informasi kumpulan data

Pemodelan deteksi malware PDF SophosAI bergantung pada berbagai fitur seperti histogram n-gram dan fitur entropi byte (Untuk informasi lebih lanjut, lihat MEADE: Menuju Mesin Deteksi Lampiran Email Berbahaya). Metadata dan fitur yang diekstraksi dari file PDF yang dikumpulkan disimpan di gudang data terdistribusi. Kumpulan data lebih dari 3,500 fitur kemudian dihitung, selanjutnya dibagi berdasarkan waktu ke dalam set pelatihan dan pengujian dan disimpan dalam batch sebagai file Parket di Amazon S3 agar mudah diakses oleh SageMaker untuk tugas pelatihan.

Tabel berikut memberikan informasi tentang data pelatihan dan pengujian.

Dataset Jumlah Sampel Jumlah File Parket Ukuran total
Pelatihan 70,391,634 5,500 ~ 1010 GB
uji 1,242,283 98 ~ 18 GB

Ukuran data telah dihitung mengikuti rumus:

Ukuran Data = N ร— (nF + tidakL) ร— 4

Rumus memiliki parameter berikut:

  • N adalah jumlah sampel dalam kumpulan data
  • nF adalah jumlah fitur, dengan nF = 3585
  • nL adalah jumlah label kebenaran dasar, dengan nL = 1
  • 4 adalah jumlah byte yang diperlukan untuk tipe data fitur: float32

Selain itu, diagram lingkaran berikut memberikan distribusi label dari set pelatihan dan pengujian, memunculkan ketidakseimbangan kelas yang dihadapi dalam tugas deteksi malware PDF.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Distribusi bergeser dari set pelatihan ke set tes satu bulan. Pembagian set data berbasis waktu menjadi pelatihan dan pengujian diterapkan untuk mensimulasikan skenario penerapan kehidupan nyata dan menghindari pengintaian sementara. Strategi ini juga memungkinkan SophosAI untuk mengevaluasi kemampuan generalisasi model yang sebenarnya ketika dihadapkan dengan serangan PDF baru yang sebelumnya tidak terlihat, misalnya.

Eksperimen dan hasil

Untuk memulai eksperimen, tim SophosAI melatih model XGBoost dasar dengan parameter default. Kemudian mereka mulai melakukan fine-tuning hyperparameter dengan SageMaker menggunakan strategi Bayesian, yang sesederhana menentukan hiperparameter untuk disetel dan rentang nilai yang diinginkan, metrik evaluasi (ROC (Receiver Operating Characteristic) AUC dalam kasus ini) dan set pelatihan dan validasi. Untuk pendeteksi malware PDF, SophosAI memprioritaskan hyperparameter termasuk jumlah putaran boosting (num_round), kedalaman pohon maksimum (max_depth), kecepatan belajar (eta), dan rasio sampling kolom saat membangun pohon (colsample_bytree). Akhirnya, hyperparameter terbaik diperoleh dan digunakan untuk melatih model pada set data lengkap, dan akhirnya dievaluasi pada set uji ketidaksepakatan.

Plot berikut menunjukkan metrik tujuan (ROC AUC) vs. 15 pekerjaan pelatihan yang dijalankan dalam pekerjaan penyetelan. Hyperparameter terbaik adalah yang sesuai dengan pekerjaan pelatihan kesembilan.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Pada awal eksperimen SophosAI pada SageMaker, pertanyaan yang sangat penting untuk dijawab adalah: jenis instans apa dan berapa banyak yang diperlukan untuk melatih XGBoost pada data yang ada? Ini penting karena menggunakan nomor atau jenis instans yang salah dapat membuang-buang waktu dan uang; pelatihan pasti akan gagal karena kehabisan memori, atau, jika menggunakan terlalu banyak instans yang terlalu besar, ini bisa menjadi terlalu mahal.

XGBoost adalah algoritma terikat memori (sebagai lawan dari komputasi terikat). Jadi, instans komputasi tujuan umum (misalnya, M5) adalah pilihan yang lebih baik daripada instans komputasi yang dioptimalkan (misalnya, C4). Untuk membuat keputusan yang tepat, ada panduan SageMaker sederhana untuk memilih jumlah instans yang diperlukan untuk menjalankan pelatihan pada kumpulan data lengkap:

Total Ukuran Data Pelatihan ร— Faktor Keamanan(*) < Jumlah Instance ร— Memori Total Jenis Instance

Dalam hal ini: Total Ukuran Data Pelatihan ร— Faktor Keamanan (12) = 12120 GB

Tabel berikut merangkum persyaratan saat jenis instans yang dipilih adalah ml.m5.24xlarge.

Ukuran Pelatihan ร— Faktor Keamanan (12) Memori Instance ml.m5.24xlarge Jumlah Instance Minimum yang Diperlukan untuk Pelatihan
12120 GB 384 GB 32

*Karena sifat pelatihan terdistribusi XGBoost, yang mengharuskan seluruh set data pelatihan dimuat ke objek DMatrix sebelum pelatihan dan memori bebas tambahan, disarankan faktor keamanan 10โ€“12.

Untuk melihat lebih dekat penggunaan memori untuk pelatihan SageMaker lengkap XGBoost pada dataset yang disediakan, kami menyediakan grafik yang sesuai yang diperoleh dari pelatihan amazoncloudwatch pemantauan. Untuk tugas pelatihan ini, instans 40 ml.m5.24xlarge digunakan dan penggunaan memori maksimum mencapai sekitar 62%.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Biaya teknik yang dihemat dengan mengintegrasikan layanan ML terkelola seperti SageMaker ke dalam pipeline data adalah sekitar 50%. Opsi untuk menggunakan Instans Spot untuk pelatihan dan pekerjaan penyetelan hyperparameter memangkas biaya sebesar 63% tambahan.

Kesimpulan

Dengan SageMaker, tim SophosAI dapat berhasil menyelesaikan proyek prioritas tinggi yang kompleks dengan membangun model XGBoost pendeteksi malware PDF ringan yang jauh lebih kecil pada disk (hingga 25 kali lebih kecil) dan dalam memori (hingga 5 kali lebih kecil) daripada pendahulu detektor. Ini adalah pendeteksi malware kecil tapi hebat dengan ~0.99 AUC dan tingkat positif sejati 0.99 dan tingkat positif palsu Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. . Model ini dapat dilatih ulang dengan cepat, dan kinerjanya dapat dengan mudah dipantau dari waktu ke waktu, karena memerlukan waktu kurang dari 20 menit untuk melatihnya pada lebih dari 1 TB data.

Anda dapat memanfaatkan algoritme bawaan SageMaker XGBoost untuk membuat model dengan data tabel dalam skala besar. Selain itu, Anda juga dapat mencoba algoritme Amazon SageMaker bawaan baru LightGBM, CatBoost, AutoGluon-Tabular, dan Tab Transformer seperti yang dijelaskan dalam blog.


Tentang penulis

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Salma Taufik adalah Ilmuwan Data Senior di Sophos, bekerja di persimpangan pembelajaran mesin dan keamanan siber. Dengan latar belakang sarjana ilmu komputer, ia lulus dari Universitas Eropa Tengah dengan gelar MSc. dalam Matematika dan Aplikasinya. Saat tidak mengembangkan pendeteksi malware, Salma adalah pejalan kaki, pelancong, dan konsumen thriller yang rajin.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Harini Kannan adalah Ilmuwan Data di SophosAI. Dia telah berkecimpung dalam ilmu data keamanan selama ~4 tahun. Dia sebelumnya adalah Ilmuwan Data Utama di Capsule8, yang diakuisisi oleh Sophos. Dia telah memberikan ceramah di CAMLIS, BlackHat (AS), Konferensi Ilmu Data Terbuka (Timur), Salon Ilmu Data, PyData (Boston), dan Konektor Data. Bidang penelitiannya termasuk mendeteksi serangan berbasis perangkat keras menggunakan penghitung kinerja, analisis perilaku pengguna, ML yang dapat diinterpretasikan, dan deteksi anomali tanpa pengawasan.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Hasan Poonawala adalah Arsitek Solusi Spesialis AI/ML Senior di AWS, yang berbasis di London, Inggris. Hasan membantu pelanggan merancang dan menerapkan aplikasi pembelajaran mesin dalam produksi di AWS. Dia memiliki lebih dari 12 tahun pengalaman kerja sebagai ilmuwan data, praktisi pembelajaran mesin, dan pengembang perangkat lunak. Di waktu senggangnya, Hasan suka menjelajah alam dan menghabiskan waktu bersama teman dan keluarga.

Bagaimana Sophos melatih pendeteksi malware PDF yang kuat dan ringan pada skala ultra dengan Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Patel yang Agung adalah Pimpinan Dukungan Perusahaan di AWS. Dia bekerja dengan pelanggan untuk merancang, menerapkan, dan beroperasi di cloud dalam skala besar. Bidang minatnya adalah praktik MLOps dan DevOps dan bagaimana hal itu dapat membantu pelanggan dalam perjalanan cloud mereka. Di luar pekerjaan, ia menikmati fotografi, bermain bola voli, dan menghabiskan waktu bersama teman dan keluarga.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS