Amazon Rekognition PlatoBlockchain Veri Zekası ile kötü amaçlı yazılım tespiti ve sınıflandırması. Dikey Arama. Ai.

Amazon Rekognition ile kötü amaçlı yazılım tespiti ve sınıflandırması

Bir göre göre Cybersecurity Ventures tarafından, Fidye yazılımlarının (kullanıcıların fidye ödemedikçe verilerine erişmesini engelleyebilen bir kötü amaçlı yazılım türü) zararı 57'de 2021'e göre 2015 kat arttı. Ayrıca kurbanlarına 265 milyar dolara mal olacağı tahmin ediliyor ( USD) 2031 yılına kadar.th göre sıralanmış ülkeler listesindeki konumu GSYİH.

Kötü amaçlı yazılımın oluşturduğu tehdit göz önüne alındığında, kötü amaçlı yazılım saldırılarını tespit etmek ve kontrol altına almak için çeşitli teknikler geliştirilmiştir. Günümüzde kullanılan en yaygın iki teknik, imza ve davranış tabanlı algılamadır.

İmza tabanlı algılama, nesnenin gelecekte tanımlanabilmesi için bilinen bir kötü amaçlı nesne hakkında benzersiz bir tanımlayıcı oluşturur. Bir dosyaya eklenmiş benzersiz bir kod kalıbı veya bilinen bir kötü amaçlı yazılım kodunun karması olabilir. Yeni nesneler taranırken bilinen bir kalıp tanımlayıcı (imza) bulunursa, nesne kötü amaçlı olarak işaretlenir. İmza tabanlı algılama hızlıdır ve düşük işlem gücü gerektirir. Ancak, tespit edilmekten kaçınmak için sürekli olarak biçim değiştiren polimorfik kötü amaçlı yazılım türlerine karşı mücadele eder.

Davranış tabanlı algılama, şüpheli nesneleri davranışlarına göre yargılar. Kötü amaçlı yazılımdan koruma ürünleri tarafından dikkate alınabilecek eserler, nesneden işlem etkileşimleri, DNS sorguları ve ağ bağlantılarıdır. Bu teknik, imza tabanlı ile karşılaştırıldığında polimorfik kötü amaçlı yazılımları tespit etmede daha iyi performans gösterir, ancak bazı dezavantajları vardır. Bir nesnenin kötü amaçlı olup olmadığını değerlendirmek için, ana bilgisayarda çalışması ve kötü amaçlı yazılımdan koruma ürününün onu algılaması için yeterli yapı oluşturması gerekir. Bu kör nokta, kötü amaçlı yazılımın ana bilgisayara bulaşmasına ve ağ üzerinden yayılmasına izin verebilir.

Mevcut teknikler mükemmel olmaktan uzaktır. Sonuç olarak, kötü amaçlı yazılımlarla mücadele yeteneklerimizi geliştirecek yeni alternatif teknikler geliştirmek amacıyla araştırmalar devam etmektedir. Son yıllarda ortaya çıkan yeni bir teknik, görüntü tabanlı kötü amaçlı yazılım tespitidir. Bu teknik, gri tonlamalı görüntülere dönüştürülmüş bilinen kötü amaçlı yazılım ikili dosyalarıyla bir derin öğrenme ağı eğitmeyi önerir. Bu gönderide, Görüntü Tabanlı Kötü Amaçlı Yazılım tespitinin nasıl gerçekleştirileceğini gösteriyoruz. Amazon Rekognisyon Özel Etiketler.

Çözüme genel bakış

Çoklu sınıflandırma modeli ve kötü amaçlı yazılım tespit modeli eğitmek için öncelikle flooder, adware, spyware vb. farklı kötü amaçlı yazılım türlerinin yanı sıra iyi huylu nesneleri içeren eğitim ve test veri kümelerini hazırlıyoruz. Daha sonra taşınabilir yürütülebilir dosyalar (PE) nesnelerini gri tonlamalı görüntülere dönüştürürüz. Ardından, Amazon Rekognition ile görüntüleri kullanarak bir model eğitiyoruz.

Amazon Rekognition, uygulamalarınız üzerinde farklı türde görsel analizler gerçekleştirmeyi kolaylaştıran bir hizmettir. Rekognition Image, milyonlarca görüntüyü aramak, doğrulamak ve düzenlemek için güçlü uygulamalar oluşturmanıza yardımcı olur.

Amazon Rekognition Özel Etiketleri, Rekognition'ın halihazırda pek çok kategoride on milyonlarca görüntü üzerinde eğitilmiş olan mevcut yeteneklerinden yola çıkarak oluşturulmuştur.

Amazon Rekognition Özel Etiketleri, kullanıcıların milyonlarca görüntüyü analiz etmesine ve bunları görüntü sınıflandırma, yüz algılama ve içerik denetleme gibi birçok farklı makine öğrenimi (ML) sorununu çözmek için kullanmasına olanak tanıyan, tam olarak yönetilen bir hizmettir. Perde arkasında, Amazon Rekognition bir derin öğrenme teknolojisine dayalıdır. Hizmet, büyük bir etiketli veri kümesi üzerinde önceden eğitilmiş bir evrişim sinir ağı (CNN) kullanır. Algoritma, bu tür yer gerçeği verilerine maruz kalarak, birçok farklı alandan görüntülerdeki kalıpları tanımayı öğrenebilir ve birçok endüstri kullanım durumunda kullanılabilir. AWS, model mimarisini oluşturma ve sürdürme ve eldeki göreve uygun bir eğitim yöntemi seçme sorumluluğunu üstlendiğinden, kullanıcıların eğitim görevleri için gereken altyapıyı yönetmek için zaman harcamasına gerek kalmaz.

Çözüm mimarisi

Aşağıdaki mimari diyagram, çözüme genel bir bakış sağlar.

Çözüm kullanılarak oluşturulur AWS Toplu İş, AWS Fargate, ve Amazon Rekognisyon. AWS Batch, Fargate'te yüzlerce toplu bilgi işlem işi çalıştırmanıza olanak tanır. Fargate her ikisiyle de uyumludur Amazon Elastik Konteyner Hizmeti (Amazon ECS) ve Amazon Elastic Kubernetes Hizmeti (Amazon EKS). Amazon Rekognition özel etiketleri, kötü amaçlı yazılımları algılamak ve çeşitli kötü amaçlı yazılım kategorilerini sınıflandırmak üzere özel modelleri eğitmek için bilgisayar görüşü için AutoML kullanmanıza olanak tanır. AWS Step Functions, veri ön işlemeyi düzenlemek için kullanılır.

Bu çözüm için ön işleme kaynaklarını şu şekilde oluşturuyoruz: AWS CloudFormation. AWS Batch, Fargate ve Step işlevleri için CloudFormation yığın şablonu ve kaynak kodu, bir GitHub Deposu.

Veri kümesi

Bu örnekteki modeli eğitmek için, kötü niyetli ve zararsız verileri ayıklamak için aşağıdaki genel veri kümelerini kullandık. Taşınabilir Yürütülebilir Dosya (PE):

Veri kümeleri belgelerini dikkatlice okumanızı öneririz (Sophos/Reversing Labs BENİ OKU, PE Kötü Amaçlı Yazılım Makine Öğrenimi Veri Kümesi) kötü amaçlı yazılım nesnelerini güvenli bir şekilde işlemek için. Tercihinize bağlı olarak, ikili biçimde kötü amaçlı yazılım ve iyi huylu nesneler sağladıkları sürece diğer veri kümelerini de kullanabilirsiniz.

Ardından, çözümün aşağıdaki adımlarında size yol göstereceğiz:

  • Nesneleri önceden işleyin ve görüntülere dönüştürün
  • CloudFormation ile ön işleme kaynaklarını devreye alın
  • Modeli seçin
  • Modeli eğitin
  • Modeli değerlendirin
  • Maliyet ve performans

Nesneleri önceden işleyin ve görüntülere dönüştürün

Aşağıdaki adımları içeren nesne ön işleme iş akışını düzenlemek için Step Functions kullanıyoruz:

  1. Al meta.db sqllite veritabanından sorel-20m S3 klasörünü açın ve bir .csv dosyasına dönüştürün. Bu, .csv dosyasını bir Fargate kapsayıcısına yüklememize ve kötü amaçlı nesneleri işlerken meta verilere başvurmamıza yardımcı olur.
  2. Sorel-20m S3 kovasındaki nesneleri alın ve csv formatında bir nesne listesi oluşturun. Bu adımı gerçekleştirerek, paralel olarak işlenebilecek bir dizi .csv dosyası oluşturuyoruz ve böylece ön işleme için harcanan zamanı azaltıyoruz.
  3. Sorel-20m S3 kovasındaki nesneleri bir dizi iş ile görüntülere dönüştürün. AWS Batch dizisi işleri, kötü amaçlı nesneleri görüntülere dönüştürmek için ortak parametreleri paylaşır. Birden fazla ana bilgisayara dağıtılan ve aynı anda çalışan bir görüntü dönüştürme işleri koleksiyonu olarak çalışırlar.
  4. Kötü amaçlı yazılım kategorilerine karşılık gelen bir dizi işle model eğitimi için önceden belirlenmiş sayıda görüntü seçin.
  5. Adım 2'ye benzer şekilde benign-160k S3 kovasından benign nesneleri alıp csv formatında nesnelerin bir listesini oluşturuyoruz.
  6. Adım 3'e benzer şekilde, benign-160k S3 kovasındaki nesneleri bir dizi iş içeren görüntülere dönüştürüyoruz.
  7. Özel etiket eğitimi (250 bin görüntü) için Amazon Rekognition varsayılan kotası nedeniyle, model eğitimi için önceden belirlenmiş sayıda iyi huylu görüntü seçin.
  8. Aşağıdaki resimde gösterildiği gibi, görüntüler önce kötü amaçlı yazılımlar ve zararsız klasörler tarafından bölümlenmiş bir S3 klasöründe saklanır ve ardından kötü amaçlı yazılım, kötü amaçlı yazılım türlerine göre bölümlendirilir.
    Eğitim S3 grubu
    Eğitim veri seti

CloudFormation ile ön işleme kaynaklarını devreye alın

Önkoşullar

Devam etmeden önce aşağıdaki ön koşullar gereklidir:

Kaynak dağıtımı

CloudFormation yığını aşağıdaki kaynakları oluşturacaktır:

parametreler

  • Yığın_adı – CloudFormation yığın adı
  • AWS_REGION – Çözümün dağıtılacağı AWS bölgesi
  • AWS_PROFİL – AWS CLI komutuna uygulanacak adlandırılmış profil
  • ARTEFACT_S3_BUCKET – Altyapı kodunun depolanacağı S3 klasörü. (Paket, çözümün yaşadığı bölgede oluşturulmalıdır).
  • AWS_ACCOUNT – AWS Hesap Kimliği.

Kaynakları dağıtmak için aşağıdaki komutları kullanın

Docker aracısının makinede çalıştığından emin olun. Dağıtımlar bash betikleri kullanılarak yapılır ve bu durumda aşağıdaki komutu kullanırız:

bash malware_detection_deployment_scripts/deploy.sh -s '' -b 'malware-
detection--artifacts' -p  -r "" -a

Bu, CloudFormation şablonunun (ör. cloudformation.yaml) başvurduğu yerel yapıtları oluşturur ve dağıtır.

Modeli eğitin

Amazon Rekognition, model eğitimini sizin yerinize üstlendiğinden, bilgisayar görüşü veya yüksek düzeyde uzmanlaşmış makine öğrenimi bilgisi gerekli değildir. Ancak Amazon Rekognition'a uygun şekilde etiketlenmiş giriş görüntüleriyle dolu bir grup sağlamanız gerekir.

Bu gönderide, özel etiketler özelliği aracılığıyla iki bağımsız görüntü sınıflandırma modeli eğiteceğiz:

  1. Kötü amaçlı yazılım algılama modeli (ikili sınıflandırma) – verilen nesnenin kötü amaçlı mı yoksa zararsız mı olduğunu belirleyin
  2. Kötü amaçlı yazılım sınıflandırma modeli (çok sınıflı sınıflandırma) – belirli bir kötü amaçlı nesne için kötü amaçlı yazılım ailesini tanımlayın

Model eğitim kılavuzu

Aşağıdaki izlenecek yolda listelenen adımlar her iki model için de geçerlidir. Bu nedenle, her iki modeli de eğitmek için adımları iki kez uygulamanız gerekecektir.

  1. Adresinde oturum açın AWS Yönetim Konsolu ve Amazon Rekognition'ı açın konsol.
  2. Sol bölmede, Özel Etiketleri Kullanın. Amazon Rekognition Özel Etiketler açılış sayfası gösterilir.
  3. Amazon Rekognition Özel Etiketler açılış sayfasından, BAŞLAYIN.
  4. Sol bölmede, Seç Projeler.
  5. Klinik Proje Oluştur.
  6. In Proje adı, projeniz için bir ad girin.
  7. Klinik proje oluşturma projenizi oluşturmak için
  8. içinde Projeler sayfasında, veri kümesi eklemek istediğiniz projeyi seçin. Projeniz için ayrıntılar sayfası görüntülenir.
  9. Klinik Veri kümesi oluşturun. Veri kümesi oluşturun sayfası gösterilir.
  10. In Başlangıç ​​yapılandırması, seçmek Tek bir veri kümesiyle başlayın Amazon Rekognition'ın veri kümesini eğitim ve test için bölmesine izin vermek için. Her model eğitimi yinelemesinde farklı test örnekleriyle sonuçlanabileceğinizi ve bunun sonucunda biraz farklı sonuçlar ve değerlendirme ölçütleri elde edebileceğinizi unutmayın.
  11. Klinik Amazon S3 klasöründen görüntüleri içe aktarın.
  12. In S3 URI'sı, S3 grup konumunu ve klasör yolunu girin. Ön işleme adımından sağlanan aynı S3 klasörü, her iki veri setini oluşturmak için kullanılır: Kötü amaçlı yazılım algılama ve Kötü amaçlı yazılım sınıflandırması. Kötü Amaçlı Yazılım algılama veri kümesi kökü işaret eder (ör. s3://malware-detection-training-{account-id}-{region}/) S3 kovasının, Kötü Amaçlı Yazılım sınıflandırma veri kümesi ise kötü amaçlı yazılım klasörünü (ör. s3://malware-detection-training-{account-id}-{region}/malware) S3 bölmesinin. Eğitim verileri
  13. Klinik Klasöre bağlı olarak görüntülere otomatik olarak etiket ekleyin.
  14. Klinik Veri kümeleri oluştur. Projeniz için veri kümeleri sayfası açılır.
  15. Üzerinde Modeli eğit sayfasını seçin Modeli eğit. Projeniz için Amazon Kaynak Adı (ARN), Proje seçin düzenleme kutusu. Değilse, projeniz için ARN'yi girin.
  16. içinde Modelinizi eğitmek ister misiniz? diyalog kutusunu seçiniz Modeli eğit.
  17. Eğitim tamamlandıktan sonra modelin adını seçin. Model durumu belirlendiğinde eğitim tamamlanır. EĞİTİM_TAMAMLANDI.
  18. içinde Modeller bölüm, seçin Modeli kullan modeli kullanmaya başlamak için sekmesine tıklayın.

Daha fazla ayrıntı için Amazon Rekognition özel etiketlerine bakın Başlarken Kılavuz.

Modeli değerlendirin

Eğitim modelleri tamamlandığında, seçerek değerlendirme metriklerine erişebilirsiniz. Metrikleri kontrol et model sayfasında. Amazon Rekognition size şu ölçümleri sağlar: Sınıflandırma modellerinin performansını değerlendirmek için yaygın olarak kullanılan F1 puanı, ortalama kesinlik ve genel geri çağırma. İkincisi, etiket sayısı üzerinden ortalama metriklerdir.

içinde Etiket başına performans bölümünde, bu metriklerin etiket başına değerlerini bulabilirsiniz. Ayrıca, Gerçek Pozitif, Yanlış Pozitif ve Yanlış Negatif değerlerini almak için Test sonuçlarını görüntüleyin.

Kötü amaçlı yazılım algılama modeli ölçümleri

İki etiketli (iyi huylu ve kötü amaçlı yazılım) 199,750 görüntünün dengeli veri kümesinde aşağıdaki sonuçları aldık:

  • F1 puanı – 0.980
  • Ortalama hassasiyet – 0.980
  • Genel hatırlama - 0.980

Kötü amaçlı yazılım algılama modeli ölçümleri

Kötü amaçlı yazılım sınıflandırma modeli ölçümleri

130,609 etiketli (11 kötü amaçlı yazılım ailesi) 11 görüntüden oluşan dengeli veri kümesinde aşağıdaki sonuçları aldık:

  • F1 puanı – 0.921
  • Ortalama hassasiyet – 0.938
  • Genel hatırlama - 0.906

Kötü amaçlı yazılım sınıflandırma modeli ölçümleri

Modelin iyi performans gösterip göstermediğini değerlendirmek için, performansını aynı (veya en azından benzer) veri kümesi üzerinde eğitilmiş diğer sektör karşılaştırma ölçütleriyle karşılaştırmanızı öneririz. Ne yazık ki, bu yazının yazıldığı sırada, aynı tekniği ve aynı veri kümelerini kullanarak bu sorunu çözen karşılaştırmalı araştırma organları bulunmamaktadır. Bununla birlikte, veri bilimi topluluğu içinde, F1 puanı 0.9'un üzerinde olan bir modelin çok iyi performans gösterdiği kabul edilir.

Maliyet ve performans

Kaynakların sunucusuz yapısı nedeniyle, toplam maliyet her hizmetin kullanıldığı süreden etkilenir. Öte yandan performans, işlenmekte olan veri miktarından ve Amazon Rekognition'a gönderilen eğitim veri kümesi boyutu beslemesinden etkilenir. Maliyet ve performans tahmini alıştırmamız için aşağıdaki senaryoyu dikkate alıyoruz:

  • Sorel veri setinden 20 milyon nesne kataloglanır ve işlenir.
  • PE Kötü Amaçlı Yazılım Makine Öğrenimi Veri Kümesinden 160,000 nesne kataloglanır ve işlenir.
  • Eğitim S240,000 kovasına yaklaşık 3 nesne yazılır: 160,000 kötü amaçlı nesne ve 80,000 zararsız nesne.

Bu senaryoya göre, modelleri önceden işlemenin ve devreye almanın ortalama maliyeti 510.99 USD'dir. Modeli kullandığınız her saat için ek olarak 4 USD/saat ücretlendirileceksiniz. Ayrıntılı maliyet dökümünü şu adreste bulabilirsiniz: tahmin aracılığıyla oluşturulan AWS Fiyat Hesaplayıcı.

Performans açısından, bunlar ölçümümüzün sonuçlarıdır:

  • Ön işleme akışının tamamlanması için ~2 saat
  • Kötü amaçlı yazılım algılama modeli eğitiminin tamamlanması için ~40 saat
  • Kötü amaçlı yazılım sınıflandırma modeli eğitiminin tamamlanması için ~40 saat

Temizlemek

Gelecekteki ücretlere maruz kalmamak için, durdurmak ve silmek Amazon Rekognition modelleri aracılığıyla ön işleme kaynaklarını silin ve yok etmek.sh senaryo. Komut dosyasını başarıyla çalıştırmak için aşağıdaki parametreler gereklidir:

  • Yığın_adı – CloudFormation yığın adı
  • AWS_REGION – Çözümün dağıtıldığı Bölge
  • AWS_PROFİL – AWS CLI komutu için geçerli olan adlandırılmış profil

çalıştırmak için aşağıdaki komutları kullanın. ./malware_detection_deployment_scripts/destroy.sh senaryo:

bash malware_detection_deployment_scripts/destroy.sh -s  -p
 -r 

Sonuç

Bu gönderide, Amazon Rekognition kullanarak kötü amaçlı yazılım algılama ve sınıflandırmasının nasıl gerçekleştirileceğini gösterdik. Çözümler, veri ön işleme, düzenleme ve model devreye alma için yönetilen hizmetlerden yararlanarak sunucusuz bir model izler. Bu gönderinin, kötü amaçlı yazılımlarla mücadeleye yönelik süregelen çabalarınızda size yardımcı olacağını umuyoruz.

Gelecekteki bir gönderide, bu gönderide dağıtılan modelleri kullanarak kötü amaçlı yazılım algılamanın pratik bir kullanım durumunu göstereceğiz.


yazarlar hakkında

Edvin HallvaxhiuEdvin Hallvaxhiu AWS Profesyonel Hizmetlere sahip Kıdemli Küresel Güvenlik Mimarıdır ve siber güvenlik ve otomasyon konusunda tutkuludur. Müşterilerin bulutta güvenli ve uyumlu çözümler oluşturmasına yardımcı olur. İş dışında seyahat etmeyi ve spor yapmayı sever.

Rahul ŞauryaRahul Şaurya AWS Profesyonel Hizmetlerinde Baş Veri Mimarıdır. AWS'de veri platformları ve analitik uygulamalar oluşturan müşterilere yardımcı olur ve onlarla yakın işbirliği içinde çalışır. Rahul, iş dışında köpeği Barney ile uzun yürüyüşler yapmayı sever.

Bruno DheftoBruno Dhefto AWS Profesyonel Hizmetlerine sahip bir Küresel Güvenlik Mimarıdır. AWS'de Güvenli ve Güvenilir mimariler oluşturan müşterilere yardımcı olmaya odaklanmıştır. İş dışında en son teknoloji güncellemeleri ve seyahatlerle ilgileniyor.

Nedim MajedNedim Majed AWS profesyonel hizmetlerinde bir veri mimarıdır. AWS'de veri platformlarını oluşturan müşterilerle yan yana çalışır. Nadim iş dışında masa tenisi oynuyor ve futbol/futbol izlemeyi seviyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi