Kötü Amaçlı Yazılım Analizi ve Tespit Teknikleri


1982’de ilk kötü amaçlı yazılım olan Elk Cloner bir Mac cihazında tespit edildi. O zamandan beri, kötü amaçlı yazılım saldırıları artmaya ve daha karmaşık hale gelmeye devam etti. Bir yıl içinde tanık olunan 10 milyondan fazla kötü amaçlı yazılım saldırısıyla, kötü amaçlı yazılım analizi ve tespiti konusunda çalışan güçlü bir uzman ekibine sahip olmak zorunludur.

Kötü amaçlı yazılım analizi ve algılama teknikleri, kötü amaçlı yazılım bal küpü kullanmayı, makine öğrenimi davranışsal analizi veya onu algılamaya ve hafifletmeye yardımcı olması için Nmap kullanmayı içerir.

Kendini gizleyebilen ilk gizli virüs olan ‘Beyin’ 1990’larda bulundu, ardından yetenekleri artırılmış diğerleri geldi. Şimdi, her gün yaklaşık 560.000 yeni kötü amaçlı yazılım tespit ediliyor ve bu da bunların analizini adli tıp departmanı için sıkıcı bir görev haline getiriyor.

Kötü amaçlı yazılımın gelişimi ve algılama teknikleri

Geleneksel olarak, kötü amaçlı yazılım analizi çoğunlukla manuel olarak yapılır, ancak yazılımın daha hızlı araştırılmasında yeni araçlar ve teknikler kullanışlıdır. Verimli kötü amaçlı yazılım analizi, kötü amaçlı yazılım algılama ve önleme yazılımı oluşturmaya yardımcı olur.

Statik analiz, dinamik analiz ve tersine mühendislik, kötü amaçlı yazılım analizi ve algılama tekniklerinin yöntemlerinden veya aşamalarından bazılarıdır. Virüs, solucan, fidye yazılımı veya Truva Atı olabilecek kötü amaçlı yazılımların türünü, işlevlerini ve etkisini ortaya çıkarır.

Kötü amaçlı yazılım analizi için harcanan süre, yeni bulunan örneklere düzenli olarak eklenen özelliklerle artıyor. Ancak, uygun kötü amaçlı yazılım analizi ve algılama teknikleri, yayılmasını ve tehdidini azaltmak için gereklidir.

İşte en sık kullanılan kötü amaçlı yazılım analizi ve algılama teknikleri

Statik Kötü Amaçlı Yazılım Analizi

Statik kötü amaçlı yazılım analizi, (güvenli bir ortamda) yürütmek zorunda kalmadan kötü amaçlı yazılımın incelenmesidir. Bu, veri yapısını ve kullanılan işlevleri bulmak için kötü amaçlı yazılımın kaynak kodunu anlamayı içeren, oldukça manuel olarak gerçekleştirilen bir görevdir.

Aksi takdirde, kaynak kod çalıştırılabilir bir ikili dosyada derlendiğinde bulunan veriler kaybolur. Bazı statik kötü amaçlı yazılım analizi türleri şunlardır:

  • Dosya parmak izi – Dosyanın test edilmesini ve bir kriptografik hash’in hesaplanması da dahil olmak üzere dosya üzerinde işlemlerin yürütülmesini içerir. Bu kötü amaçlı yazılım analizi tekniği, değiştirilip değiştirilmediğini ve muadilleriyle herhangi bir benzerliği olup olmadığını bulmaya yardımcı olur.
  • sökme – Burada makine kodu, IDA Pro gibi dilleri birleştirmek için araçlar kullanılarak tersine çevrilir. Yeniden yapılandırılan montaj kodu daha sonra geliştiricisi tarafından programlandığı şekliyle program mantığını ve amaçlanan kötü amaçlı işlevi bulmak için kullanılır.
  • AV taraması – AV tarayıcıları, kötü amaçlı yazılım ikilisinin daha sık kullanılanlara ait olup olmadığını tespit etmeye yardımcı olur.
  • Dosya formatı – Dosya türünü belirlemek ve dosya türünü bulmak için UNIX sistemlerinin sihirli sayısını bulmak için kötü amaçlı yazılımın meta verileri incelenir.
  • Paketleyici tespiti – Statik analiz, genellikle bir paketleyici kullanılarak gizlenen kötü amaçlı yazılımın meta verilerinin kaybıyla engellenir. Paketleme işlemi sırasında bu kaybı önlemek için, PEiD2 gibi paket açıcılar, kötü amaçlı yazılımın incelenmesinde bir dereceye kadar yardımcı olabilir.
Dinamik Kötü Amaçlı Yazılım Analizi

Dinamik analiz, yürütme sürecinde bir dosyanın incelenmesidir. Kötü amaçlı yazılım, kötü amaçlı yeteneklerini anlamak için güvenli bir ortamda çalıştırılır. Statik analize karşı dinamik analizin bir avantajı, yazılımın çalışma zamanı sırasında ve kendini paketten çıkardığında gerçek davranışının gözlemlenmesini sağlamasıdır.

Ayrıca, bu süreç büyük ölçüde otomatik olduğundan, analizi açısından ekstra detaylandırma sunulmaktadır. Ancak, ‘hareketsiz kod’, eksik kod kapsamı sunan yalnızca bir yürütme yolunun izlenmesine izin verir.

İki ana dinamik kötü amaçlı yazılım analizi türü şunlardır:

  • Kötü amaçlı yazılımın tanımlanmış noktalar arasında analiz edilmesi – Kötü amaçlı yazılımın belirli bir zaman diliminde çalıştırılmasının ardından, sistemdeki değişiklikler baştan sona izlenir.
  • Çalışma zamanı davranışını izleme – Bu, özel araçlar kullanılarak çalışma zamanı sırasında kötü amaçlı yazılımın basitçe izlenmesidir. Kötü amaçlı yazılım analiz araçlarından bazıları Anubis, CWSandbox ve Norman Sandbox’tır.

Kötü amaçlı yazılım analizi için makine öğrenimi ve derin öğrenme teknikleri

Kötü amaçlı yazılım, 2000 yılında milyonlarca Windows tabanlı cihaza saldıran ‘ILOVEYOU’dan e-postaları bulaştıran ‘Anna Kournikova’ya dönüştü. Kötü amaçlı yazılım tespiti de bir revizyondan geçti.

Makine Öğrenimi Algoritmalarını kullanan bir kötü amaçlı yazılım analizi ve tespit tekniği kısa sürede gündeme geldi. Tespitten kaçınmak için imzasını değiştirebilen Polimorfik bir kötü amaçlı yazılımın işleyişini kapsamlı bir şekilde ölçmek için makine öğrenimi teknikleri oluşturuldu. Bu teknikler, yanlış pozitifleri ve yanlış negatifleri ölçen net sonuçlarla yüksek bir tespit oranı sunar.

Ayrıca Bagging, Gradient Boost ve AdaBoost, MLP sınıflandırıcı, Hibrit Model ve Restricted Boltzmann Machine modeli gibi kötü amaçlı yazılım davranışını tespit etmek için modeller kullanır. Çalışma zamanında değerli verileri kaybetmenin yanı sıra kötü amaçlı yazılım özelliklerini anlamada farklı düzeylerde doğruluk sunar.

Kötü amaçlı yazılım analizi ve tespiti için makine öğrenimi yaklaşımlarını kullanan veri madenciliği teknikleri

Veri madenciliği, kötü amaçlı yazılımların imza tabanlı tespiti ve davranış tabanlı tespiti olmak üzere iki geniş yaklaşımı içerir. Kötü amaçlı yazılımları tespit etmek için bir makine öğrenme yöntemidir. Kötü amaçlı yazılım ve iyi huylu örnekler üzerinde çalışır.

Kötü Amaçlı Yazılım Analizi ve Tespit Teknikleri
Kötü amaçlı yazılım algılama sınıflandırması (Fotoğraf: SpringerOpen)
  • İmza tabanlı kötü amaçlı yazılım algılama tekniği

İmza tabanlı algılama yöntemi, bulaşma zincirinin kod yapısını öğrenmek için statik araştırmalar yürütmeye odaklanır. Bunun için yöntem, önceden tanımlanmış bir dizi bilinen saldırı kabiliyetine karşı kesintileri arar.

Bu yöntem kapsamlı bir yürütme modelini izlese de, taşınabilir kötü amaçlı yazılımın kapsadığı standart işaretler üzerinde çalışırken kötü amaçlı yazılımın önemli işlevlerini kaçırdığından en iyi algılama yöntemi olarak kabul edilmez.

  • Davranış tabanlı kötü amaçlı yazılım algılama tekniği

Davranış tabanlı kötü amaçlı yazılım algılama tekniği, çalışma zamanı sırasında kontrol etmek için onu korumalı bir ortamda çalıştırmayı gerektirir. Kötü amaçlı yazılımın bir makinede çalışmak üzere nasıl oluşturulduğu ve geliştirildiği konusunda daha iyi sonuçlar sunar. Dinamik analiz yönteminin ardından kötü amaçlı yazılım, kodu ve yapısı ile kötü amaçlı özellikleri açısından izlenir.





Source link