Zararlı yazılımların makine öğrenmesialgoritmaları ile tespit edilmesi
Detection of malwares by machine learning algorithms
Yazar: FIRAT GÖKKİS
Danışman: DOÇ. DR. TAHSİN ÇETİNYOKUŞ
Gazi Üniversitesi / Bilişim Enstitüsü / Bilgisayar Bilimleri Ana Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Makine öğrenmesi = Machine learning ; Sınıflandırıcı sistemler = Classfier systems ; Zararlı yazılım analizi = Malware analysis ; Öznitelik seçimi = Attribute selection

Özet:
Günümüzün dijital dünyasında zararlı yazılımlar ve zararlı yazılımları tespit etmek için geliştirilen güvenlik sistemleri üstünlük kurma yarışı içindedirler. Kurumsal ve bireysel bilgi sistemlerinin zararlı yazılım saldırılarından korunması için klasik tespit yöntemlerinin kabiliyeti sorgulanır hale gelmiştir. Çünkü klasik yöntemler gün geçtikçe sayısı ve karmaşıklığı artan zararlı yazılımları tespit etmekte yetersiz kalmaktadır. Zararlı yazılımlar artık imza tabanlı ve sezgisel analiz temeline dayanan güvenlik sistemlerini atlatabilecek özelliklere sahiptir. Bu durum zararlı yazılım dosyalarının tespitinde yeni yaklaşımlara başvurulmasını zorunlu hale getirmiştir. Bu yaklaşımlardan günümüzde en çok rağbet gören ve geliştirilmeye çalışılan yaklaşım makine öğrenmesidir. Makine öğrenmesinde amaçlanan, zararlı yazılımları temsil edebilecek modeller oluşturmak ve bir dosyanın zararlı olup olmadığını mümkün olan en küçük hata ile tespit edebilmektir. Oluşturulan model yüksek başarı oranına sahip ise zararlı yazılımın bir Gelişmiş Sürekli Tehdit (Advanced Persistent Threat(APT)) ya da sıfırıncı gün (zeroday) saldırısı olması fark etmeyecektir. Çalışmada, bu alanda yapılan diğer çalışmalardan farklı olarak, biri açık kaynaktan olmak üzere statik analiz ile; diğeri bu çalışmaya özgü olarak dinamik analiz ile oluşturulan iki farklı veri seti üzerinde literatür taraması neticesinde belirlenen öznitelik seçme yöntemleri ve sınıflandırma algoritmaları denenmiş, karşılaştırma yöntemi ile öznitelik seçme yöntemleri ve sınıflandırma algoritmalarının performansları analiz edilmiştir. Analiz sürecinde, Ubuntu ve Windows işletim sistemi yüklü bir fiziksel makinede iki farklı kum sandığı (Cuckoo ve ZeroWine), WEKA açık kaynak veri madenciliği programı, Windows 7 sanal makineleri ile Python programlama dili kullanılmıştır.

Abstract:
In today's dijital world, malwares and security systems developed to detect malwares are in a challenging race to overcome each other. The capability of legacy detection systems has been questioned in protection of organizational and individual information systems since these systems are inadequate in detecting malwares of which the numbers and the complexity are increasing day by day. Malwares have characteristics to evade security systems that rely on signiture-based and heuristic analysis. This situation has made it obligatory to aly new aroaches to detect malwares. Of all the most aealing and popular one that is being improved is the machine learning. The ultimate aim of the machine learning is to produce models which are able to represent the very features of malwares and to detect if a new file is malware with the minimum error. If the model has a high accuracy rate then it will not be a deal for the model to detect if the malware is an Advanced Persistent Threat (APT) or zeroday attack. In this study, unlike the other studies in the field, feature selection methods and classification algorithms, determined as a result of literature review, are tried on two different datasets, one of which has been created through static analysis and obtained from open source and the other, specific to this study, has been created through dynamic analysis, have been analyzed via comparison method. Throughout the analysis, two different sandboxes (Cuckoo and Zerowine), an open source data mining program WEKA, Windows 7 virtual machines and Python programming language on a physical host containing Ubuntu and Windows operating systems have been employed.