Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.

Sophos, Amazon SageMaker ile güçlü, hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor?

Bu yazı Sophos'tan Salma Taoufiq ve Harini Kannan tarafından ortaklaşa yazılmıştır.

Yeni nesil siber güvenlikte lider olarak, Sophos 500,000'den fazla ülkede 150'den fazla kuruluşu ve milyonlarca müşteriyi gelişen tehditlere karşı korumaya çalışmaktadır. Sophos X-Ops'tan tehdit zekası, makine öğrenimi (ML) ve yapay zeka ile güçlendirilen Sophos, kullanıcıları, ağları ve uç noktaları kimlik avı, fidye yazılımı, kötü amaçlı yazılım ve çok çeşitli siber saldırılar var.

The Sophos Yapay Zeka (AI) grubu (SophosAI), Sophos'un ana makine öğrenimi güvenlik teknolojisinin geliştirilmesini ve bakımını denetler. Güvenlik bir büyük veri sorunudur. Siber suçlular, tespit edilmekten kaçınmak için sürekli olarak yeni saldırılar tasarlıyor. Bu, grubun müşterileri en iyi şekilde savunmak için birlikte çalışması gereken devasa tehdit veri kümelerine dönüşür. Dikkate değer bir örnek, veri kümelerinin terabayt cinsinden olduğu, kötü amaçlı yazılımlarla kurnazca bağlanmış dosyaların algılanması ve ortadan kaldırılmasıdır.

Bu yazıda, özellikle PDF dosya formatı için Sophos'un kötü amaçlı yazılım tespit sistemine odaklanıyoruz. SophosAI'nin nasıl kullandığını gösteriyoruz Amazon Adaçayı Yapıcı güçlü bir hafif XGBoost (Extreme Gradient Boost) modelini eğitmek için terabaytlarca veriyle dağıtılmış eğitim. Bu, ekiplerinin otomatik hiper parametre ayarlama ile ve temel eğitim altyapısını yönetmeden büyük eğitim verilerini daha hızlı yinelemelerine olanak tanır.

Çözüm şu anda üretim eğitim hattına sorunsuz bir şekilde entegre edilmiştir ve model aracılığıyla milyonlarca kullanıcı uç noktasına dağıtılır. Sophos uç nokta hizmeti.

Vaka bağlamını kullan

İster önemli bir sözleşmeyi paylaşmak ister CV'nizin gösterişli tasarımını korumak isteyin, PDF formatı en yaygın seçimdir. Yaygın kullanımı ve bu tür belgelerin hava geçirmez ve statik olduğuna dair genel algı, kullanıcıları yanlış bir güvenlik duygusuna kaptırdı. Bu nedenle PDF, saldırganların cephaneliğinde tercih edilen bir enfeksiyon vektörü haline geldi. PDF'leri kullanan kötü niyetli eylemler, çoğunlukla, bir URI'den bir virüs indirmek, kullanıcının makinesini sabote etmek veya hassas bilgileri çalmak için PDF okuyucu tarafından çalıştırılan bir JavaScript yükünü gömerek gerçekleştirilir.

Sophos, bir dizi deterministik ve ML modelleri kullanarak bir saldırının çeşitli noktalarında kötü amaçlı PDF dosyalarını tespit eder. Bu tür bir yaklaşım, kötü amaçlı PDF dosyasının e-posta yoluyla teslim edildiği aşağıdaki şemada gösterilmektedir. İndirme girişimi yapılır yapılmaz, saldırganın Komuta ve Kontrol sunucusuna bağlanmak için kötü amaçlı yürütülebilir komut dosyasını tetikler. SophosAI'nin PDF dedektörü, kötü amaçlı olduğunu tespit ettikten sonra indirme girişimini engeller.

Diğer yollar arasında PDF dosyalarının uç noktada engellenmesi, kötü amaçlı dosyaların bir sanal alana (birden çok model kullanılarak puanlandığı yere) gönderilmesi, kötü amaçlı dosyayı bir puanlama altyapısına gönderme ve bir güvenlik raporu oluşturma vb. sayılabilir.

Motivasyon

SophosAI ekibi, düşük uç nokta bilgi işlem güç tüketimine ve hızlı çıkarım yanıtlarına izin verirken, kötü niyetli PDF'leri yüksek güvenle mahkum edebilen ağaç tabanlı bir dedektör oluşturmak için XGBoost algoritmasını görev için mükemmel bir aday olarak buldu. Bu tür araştırma yolları Sophos için iki nedenden dolayı önemlidir. Müşteri uç noktaları düzeyinde dağıtılan güçlü ancak küçük modellere sahip olmak, şirketin analistler tarafından yapılan ürün incelemeleri üzerinde yüksek bir etkiye sahiptir. Ayrıca ve daha da önemlisi, genel olarak daha iyi bir kullanıcı deneyimi sağlar.

Teknik zorluk

Amaç, mevcut PDF kötü amaçlı yazılım dedektörlerinden (hem diskte hem de bellekte) daha küçük bir bellek ayak izine sahip bir modele sahip olmak olduğu için, SophosAI, sinir ağlarından çok daha küçük modeller üretme ve etkileyici sonuçlar elde etme konusunda kanıtlanmış bir kaydı olan bir sınıflandırma algoritması olan XGBoost'u dönüştürdü. tablo verileri üzerinde performans. XGBoost deneylerini modellemeye başlamadan önce, önemli bir husus, veri kümesinin tam boyutuydu. Gerçekten de, Sophos'un temel PDF dosyaları veri seti terabayt cinsindendir.

Bu nedenle, asıl zorluk, modeli aşağı örnekleme yapmak zorunda kalmadan büyük bir veri kümesiyle eğitmekti. Dedektörün, Sophos müşterilerini daha iyi savunmak için samanlıkta iğneli ve tamamen yeni olanlar dahil PDF tabanlı saldırıları tespit etmeyi öğrenmesi çok önemli olduğundan, mevcut tüm çeşitli veri kümelerini kullanmak son derece önemlidir.

Toplu eğitim yapabileceğiniz sinir ağlarının aksine, XGBoost için tüm eğitim veri kümesinin bellekte olması gerekir. Bu proje için en büyük eğitim veri seti 1 TB'ın üzerindedir ve dağıtılmış bir eğitim çerçevesinin metodolojilerini kullanmadan böyle bir ölçekte eğitim almanın bir yolu yoktur.

Çözüme genel bakış

SageMaker, makine öğrenimi modelleri oluşturmak, eğitmek, optimize etmek ve dağıtmak için çeşitli araçlar sağlayan, tam olarak yönetilen bir makine öğrenimi hizmetidir. bu SageMaker yerleşik algoritma kitaplıkları XGBoost dahil 21 popüler ML algoritmasından oluşur. (Daha fazla bilgi için, bkz XGBoost ve Amazon SageMaker ile makine öğrenimini basitleştirin.) XGBoost yerleşik algoritması ile açık kaynak kodlarından yararlanabilirsiniz. SageMaker XGBoost Kapsayıcı 1.0-1'den büyük, geliştirilmiş esneklik, ölçeklenebilirlik, genişletilebilirlik ve Yönetilen Spot Eğitimine sahip olan ve PDF veri kümesi için kullanılan biçim olan Parke gibi girdi biçimlerini destekleyen bir çerçeve sürümü belirterek.

SophosAI'nin SageMaker'ı seçmesinin ana nedeni, yalnızca birden fazla örnek belirterek çok düğümlü CPU örneklerinde tam olarak yönetilen dağıtılmış eğitimden yararlanma yeteneğidir. SageMaker, verileri düğümler arasında otomatik olarak böler, sonuçları eş düğümler arasında toplar ve tek bir model oluşturur. Bulut sunucuları Spot Bulut Sunucuları olabilir, böylece eğitim maliyetlerini önemli ölçüde azaltır. İle XGBoost için yerleşik algoritma, bunu herhangi bir ek özel komut dosyası olmadan yapabilirsiniz. XGBoost'un dağıtılmış sürümleri de açık kaynak olarak mevcuttur; XGBoost-Ray ve XGBoost4J-Kıvılcım, ancak bunların kullanımı, bilimsel gelişmeye ek olarak önemli bir çabayı temsil eden dağıtılmış bilgi işlem kümelerinin oluşturulmasını, güvenliğini, ayarlanmasını ve kendi kendini yönetmesini gerektirir.

Buna ek olarak, SageMaker otomatik model ayarıhiperparametre ayarlama olarak da bilinen , belirttiğiniz hiperparametre aralıklarıyla birçok eğitim işi çalıştırarak bir modelin en iyi sürümünü bulur. Ardından, verilen ML görevi için bir metrik tarafından ölçüldüğü gibi en iyi performansı gösteren bir modelle sonuçlanan hiperparametre değerlerini seçer.

Aşağıdaki şemada çözüm mimarisi gösterilmektedir.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.

SophosAI, SageMaker'a geçmeden önce XGBoost deneylerini başlattığında, büyük bellek kullanma girişimlerinin yapıldığını belirtmekte fayda var. Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) örnekleri (örneğin, r5a.24xlarge ve x1.32xlarge) modeli mümkün olduğunca büyük bir veri örneğinde eğitmek için. Ancak, bu denemeler ortalama 10 saatten fazla sürdü ve genellikle bellek yetersizliği nedeniyle başarısız oldu.

Buna karşılık, SophosAI, SageMaker XGBoost algoritmasını ve sorunsuz bir dağıtılmış eğitim mekanizmasını kullanarak, devasa PDF eğitim veri kümesi üzerinde 20 dakika içinde bir hızlandırıcı modeli ölçebilir. Ekibin yalnızca verileri depolaması gerekiyordu Amazon Basit Depolama Hizmeti (Amazon S3) benzer boyuttaki Parquet dosyaları olarak seçin ve bir EC2 bulut sunucusu türü ve istenen sayıda örnek seçin ve SageMaker, temel hesaplama kümesi altyapısını yönetti ve kümenin birden çok düğümü arasında dağıtılmış eğitimi yönetti. Başlık altında, SageMaker, dosya nesnelerini her bir örnek arasında eşit olarak dağıtmak için ShardedByS3Key kullanarak verileri düğümler arasında böler ve XGBoost uygulamasını kullanır. tavşan protokolü (güvenilir AllReduce ve yayın arabirimi) dağıtılmış işlemeyi başlatmak ve birincil ve eş düğümler arasında iletişim kurmak için. (Düğümler arasında histogram toplama ve yayın hakkında daha fazla ayrıntı için bkz. XGBoost: Ölçeklenebilir Bir Ağaç Güçlendirme Sistemi.)

SageMaker ile tek bir modeli eğitmenin ötesinde, XGBoost hiper parametre ayarı aynı zamanda, en iyi hiperparametre kombinasyonuna ince ayar yapmak için farklı deneyleri aynı anda çalıştırma yeteneği ile hızlı ve kolay hale getirildi. Ayarlanabilir hiperparametreler, hem güçlendiriciye özel hem de amaç fonksiyonuna özel hiperparametreleri içerir. İki arama stratejisi sunulur: rastgele veya Bayes. Bayes arama stratejisinin değerli olduğu kanıtlanmıştır, çünkü daha az deneysel yinelemede, yalnızca rastgele bir aramadan daha iyi hiperparametreler bulmaya yardımcı olur.

Veri kümesi bilgileri

SophosAI'nin PDF kötü amaçlı yazılım algılama modellemesi, n-gram histogramlar ve bayt entropi özellikleri gibi çeşitli özelliklere dayanır (Daha fazla bilgi için, bkz. MEADE: Kötü Amaçlı Bir E-posta Ek Algılama Motoruna Doğru). Toplanan PDF dosyalarından çıkarılan meta veriler ve özellikler, dağıtılmış bir veri ambarında depolanır. 3,500'den fazla özellikten oluşan bir veri kümesi daha sonra hesaplanır, zamana dayalı olarak eğitim ve test kümelerine bölünür ve eğitim işleri için SageMaker tarafından kolayca erişilebilmesi için Amazon S3'te Parquet dosyaları olarak gruplar halinde depolanır.

Aşağıdaki tablo, eğitim ve test verileri hakkında bilgi sağlar.

Veri kümesi Numune Sayısı Parke Dosya Sayısı Toplam boyut
Eğitim 70,391,634 5,500 ~ 1010 GB
test 1,242,283 98 ~ 18 GB

Veri boyutları aşağıdaki formüle göre hesaplanmıştır:

Veri Boyutu = N × (nF + nL) × 4

Formül aşağıdaki parametrelere sahiptir:

  • N veri kümesindeki örnek sayısıdır
  • nF özelliklerin sayısıdır, nF = 3585
  • nL n ile kesin doğruluk etiketlerinin sayısıdırL = 1
  • 4, özelliklerin veri türü için gereken bayt sayısıdır: float32

Ek olarak, aşağıdaki pasta grafikler hem eğitim hem de test setlerinin etiket dağılımını sağlayarak PDF kötü amaçlı yazılım algılama görevinde karşılaşılan sınıf dengesizliğini ortaya çıkarır.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.

Dağıtım, eğitim setinden Bir aylık test setine kayar. Gerçek hayattaki dağıtım senaryosunu simüle etmek ve geçici gözetlemeyi önlemek için veri kümesinin eğitim ve test olarak zamana dayalı bir bölümü uygulanır. Bu strateji aynı zamanda SophosAI'nin örneğin daha önce görülmemiş yepyeni PDF saldırılarıyla karşı karşıya kaldığında modelin gerçek genelleştirme yeteneklerini değerlendirmesine de izin verdi.

Deneyler ve sonuçlar

SophosAI ekibi, deneyleri başlatmak için varsayılan parametrelerle temel bir XGBoost modeli eğitti. Ardından, SageMaker ile hiperparametre ince ayarını Bayes stratejisini kullanarak yapmaya başladılar. hiperparametreler ayarlanacak ve istenen değer aralığı, değerlendirme metriği (bu durumda ROC (Alıcı Çalışma Karakteristiği) AUC) ve eğitim ve doğrulama setleri. PDF kötü amaçlı yazılım dedektörü için SophosAI, artırma turlarının sayısı da dahil olmak üzere hiperparametrelere öncelik verdi (num_round), maksimum ağaç derinliği (max_depth), öğrenme oranı (eta) ve ağaç oluştururken sütun örnekleme oranı (colsample_bytree). Sonunda, en iyi hiperparametreler elde edildi ve tüm veri setinde bir model eğitmek için kullanıldı ve son olarak holdout test setinde değerlendirildi.

Aşağıdaki grafik, ayar işi içinde çalıştırılan 15 eğitim işi ile objektif metriği (ROC AUC) karşılaştırmasını göstermektedir. En iyi hiperparametreler, dokuzuncu eğitim işine karşılık gelenlerdir.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.

SophosAI'nin SageMaker üzerindeki deneylerinin başında, yanıtlanması gereken özellikle önemli bir soru şuydu: XGBoost'u eldeki veriler üzerinde eğitmek için ne tür örneklere ve bunlardan kaç tanesine ihtiyaç var? Bu çok önemlidir çünkü yanlış sayıda veya türde örnek kullanmak zaman ve para kaybı olabilir; Eğitim, bellek yetersizliği nedeniyle başarısız olmaya mahkumdur veya çok fazla büyük örnek kullanılıyorsa, bu gereksiz yere pahalı hale gelebilir.

XGBoost, belleğe bağlı (hesaplamaya bağlı olanın aksine) bir algoritmadır. Bu nedenle, genel amaçlı bir işlem bulut sunucusu (örneğin, M5), işlem için optimize edilmiş bir bulut sunucusundan (örneğin, C4) daha iyi bir seçimdir. Bilgilendirilmiş bir karar vermek için, tam veri kümesinde eğitim çalıştırmak için gereken örnek sayısını seçmeye yönelik basit bir SageMaker kılavuzu vardır:

Toplam Eğitim Veri Boyutu × Güvenlik Faktörü(*) < Örnek Sayısı × Örnek Tipinin Toplam Belleği

Bu durumda: Toplam Eğitim Veri Boyutu × Güvenlik Faktörü (12) = 12120 GB

Aşağıdaki tablo, seçilen bulut sunucusu tipi ml.m5.24xlarge olduğunda gereksinimleri özetler.

Eğitim Boyutu × Güvenlik Faktörü (12) Örnek Belleği ml.m5.24xlarge Eğitim için Gerekli Minimum Örnek Sayısı
12120 GB 384 GB 32

*Eğitim veri kümesinin tamamının eğitimden ve ek boş bellekten önce bir DMatrix nesnesine yüklenmesini gerektiren XGBoost dağıtılmış eğitiminin doğası gereği, 10–12 arasında bir güvenlik faktörü önerilir.

Sağlanan veri kümesinde XGBoost'un tam bir SageMaker eğitimi için bellek kullanımına daha yakından bakmak için, eğitimden elde edilen ilgili grafiği sağlıyoruz. Amazon Bulut İzleme izleme. Bu eğitim işi için 40 ml.m5.24xlarge bulut sunucusu kullanıldı ve maksimum bellek kullanımı yaklaşık %62'ye ulaştı.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.

SageMaker gibi yönetilen bir ML hizmetini veri hattına entegre ederek tasarruf edilen mühendislik maliyeti yaklaşık %50'dir. Eğitim ve hiperparametre ayarlama işleri için Spot Bulut Sunucularını kullanma seçeneği, maliyetleri ek olarak %63 oranında düşürür.

Sonuç

SageMaker ile SophosAI ekibi, diskte (25 kata kadar daha küçük) ve bellekte (5 kata kadar daha küçük) hafif bir PDF kötü amaçlı yazılım algılama XGBoost modeli oluşturarak karmaşık, yüksek öncelikli bir projeyi başarıyla çözebildi. dedektör öncüsü ~0.99 AUC ve 0.99 gerçek pozitif oranı ve yanlış pozitif oranı ile küçük ama güçlü bir kötü amaçlı yazılım dedektörüdür. Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai. . Bu model hızla yeniden eğitilebilir ve performansı zaman içinde kolayca izlenebilir, çünkü onu 20 TB'den fazla veri üzerinde eğitmek 1 dakikadan az sürer.

SageMaker yerleşik algoritmasından yararlanabilirsiniz XGBoost tablo verilerinizle uygun ölçekte modeller oluşturmak için. Ek olarak, yeni yerleşik Amazon SageMaker algoritmaları LightGBM, CatBoost, AutoGluon-Tabular ve Tab Transformer'ı bu bölümde açıklandığı gibi deneyebilirsiniz. blog.


yazarlar hakkında

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.Salma Taofiq Sophos'ta makine öğrenimi ve siber güvenliğin kesiştiği noktada çalışan Kıdemli Veri Bilimcisidir. Bilgisayar bilimi alanında lisans eğitimi alarak Orta Avrupa Üniversitesi'nden yüksek lisans derecesi ile mezun oldu. Matematik ve Uygulamaları. Salma, kötü amaçlı yazılım dedektörü geliştirmediği zamanlarda hevesli bir yürüyüşçü, gezgin ve gerilim tüketicisidir.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.harini kannan SophosAI'de Veri Bilimcisidir. ~ 4 yıldır güvenlik veri biliminde. Daha önce Sophos tarafından satın alınan Capsule8'de Baş Veri Bilimcisiydi. CAMLIS, BlackHat (ABD), Open Data Science Conference (Doğu), Data Science Salon, PyData (Boston) ve Data Connectors'ta konuşmalar yaptı. Araştırma alanları arasında performans sayaçlarını kullanarak donanım tabanlı saldırıları tespit etme, kullanıcı davranışı analizi, yorumlanabilir ML ve denetimsiz anormallik tespiti yer almaktadır.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.Hasan Poonawala Londra, İngiltere merkezli AWS'de Kıdemli AI/ML Uzman Çözüm Mimarıdır. Hasan, müşterilerin AWS'de üretimde makine öğrenimi uygulamaları tasarlamasına ve dağıtmasına yardımcı olur. Veri bilimcisi, makine öğrenimi uygulayıcısı ve yazılım geliştiricisi olarak 12 yılı aşkın iş tecrübesine sahiptir. Hasan boş zamanlarında doğayı keşfetmeyi, arkadaşları ve ailesiyle vakit geçirmeyi sever.

Sophos, Amazon SageMaker PlatoBlockchain Data Intelligence ile güçlü ve hafif bir PDF kötü amaçlı yazılım dedektörünü ultra ölçekte nasıl eğitiyor? Dikey Arama. Ai.Digant Patel AWS'de Kurumsal Destek Lideridir. Bulutta geniş ölçekte tasarlamak, dağıtmak ve işletmek için müşterilerle birlikte çalışır. İlgi alanları MLOps ve DevOps uygulamaları ve müşterilere bulut yolculuklarında nasıl yardımcı olabileceğidir. İş dışında fotoğraf çekmeyi, voleybol oynamayı ve arkadaşları ve ailesiyle vakit geçirmeyi seviyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi