Taşınabilir yürütülebilir dosyalarda yinelenen sinir ağlarını kullanarak statik kötü amaçlı yazılım algılama
Static malware detection using recurrent neural networks in portable executables
Yazar: MUSA GÜL
Danışman: DOÇ. DR. ERDİNÇ AVAROĞLU
Mersin Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Yapay sinir ağları = Artificial neural networks

Özet:
Teknolojideki son gelişmeler ile kötü amaçlı yazılımdan koruma yazılımının ortaya çıkmasından bu yana, bu yazılım ya da yazılımları atlatmaya yönelik özel olarak tasarlanmış karmaşık kötü amaçlı yazılımlarda bir artış görülmüştür. Bu da daha gelişmiş algılama tekniklerine yönelik araştırmalara öncülük etmiştir. Bu çalışmanın temel amacı, taşınabilir yürütülebilir dosyaları statik olarak kötü niyetli veya zararsız olarak sınıflandırmak için derin bir sinir ağı tasarlamak ve değerlendirmektir.
Bu amaçla, bilinen kötü niyetli ve zararsız dosyaların taşınabilir yürütülebilir dosyalarından çıkarılan verileri içeren Microsoft'un sunduğu Microsoft Malware Classification Challenge (BIG 2015) ekinliği için hazırlanan veri seti kullanılmıştır. Python programlama dili kullanılarak taşınabilir yürütülebilir dosya örnekleri özellik çıkarımına uygun hale gelecek şekilde parçalara ayrılmıştır. Tüm dosyalar sadece işlem kodları kalacak şekilde ayıklanmıştır. Kod sekansları içerisinden tekrar eden ve gereksiz olan işlem kodları silinmiş, her bir dosyadan gelen kod sekansının büyüklüğü belirli bir boyut ile sınırlandırılmıştır. Bu boyuttan büyük olan dosyalar için geri kalan kodlar alınmazken, küçük olanlar içinse eksik kalan kısımlar sıfır kullanılarak doldurulmuştur. Oluşturulan sözlük, popüler gözetimsiz ve tahmin temelli doğal dil işleme modellerinden Word2Vec kullanılarak vektörel hale getirilmiştir. Word2Vec kullanılırken çalışmaya uygunluğu göz önünde bulundurularak Sürekli Kelime Torbası (CBOW) mimarisi kullanılmıştır. CBOW modeli uygun görüldükten sonra en iyi sonuçların pencere boyutunun 15 olduğu çalışmada elde edildiği görülmüştür, bu nedenle pencere boyutu 15 olarak belirlenmiştir. Çalışma uzun sekanslar içerdiğinden RNN modelinde hız düşüşü öngörülerek RNN'nin farklı bir versiyonu olan LSTM kullanılmıştır.
LSTM modelinin oldukça az sayıda eğitim turu yapılsa dahi öğrenmeye gayet yüksek doğruluk oranları ile başladığını, ardından eğitim turu arttıkça da doğruluk oranının dramatik bir şekilde yükseldiği görülmektedir. Beklenildiği gibi 10 eğitim turu sonrasında ise artık model doygunluğa eriştiği için performansındaki gelişmeler çok sınırlı kalmıştır. 50 eğitim turu sonrası elde edilen en iyi doğruluk değeri ise %95,8 olarak elde edilmiştir. Bulgular, yeni üretilen ya da az bilinen kötü amaçlı yazılımların kolaylıkla tespit edilmesi konusunda oldukça önem arz etmekte ve virüs imza veri tabanı temelli koruma yazılımları yerine makine öğreniminin modellendiği daha gelişmiş kötü amaçlı yazılımdan korunma tekniklerinin tasarımında yol gösterici olacaktır.

Abstract:
Since the advent of anti-malware software with recent advances in technology, there has been an increase in sophisticated malware specifically designed to circumvent them. This led to research into more advanced sensing techniques. The main purpose of this study is to design and evaluate a deep neural network to statically classify portable executables as malicious or harmless.
For this purpose, the data set prepared for the Microsoft Malware Classification Challenge (BIG 2015) event presented by Microsoft, which includes the data extracted from the portable executable files of known malicious and harmless files, was used. Examples of portable executables using the Python programming language are segmented to be suitable for feature extraction. All files have been extracted so that only opcodes remain. Repetitive and unnecessary opcodes were deleted from the code sequences, and the size of the code sequence from each file was limited to a certain size. For the files larger than this size, the remaining codes are not taken, while for the smaller ones, the missing parts are filled with zeros. The created dictionary was vectorized using Word2Vec, one of the popular unattended and predictive-based natural language processing models. When using Word2Vec, the Continuous Bag of Words (CBOW) architecture was used considering its suitability to work. After the CBOW model was approved, it was seen that the best results were obtained in the study with a window size of 15, therefore the window size was determined as 15. Since the study includes long sequences, a different version of RNN, LSTM, was used by predicting a speed decrease in the RNN model.
It is seen that the LSTM model starts learning with very high accuracy rates even if a very small number of training tours are performed, and then the accuracy rate increases dramatically as the training tour increases. As expected, after 10 training rounds, the performance improvements were very limited as the model had reached saturation. The best accuracy value obtained after 50 training rounds was obtained as 95.8%. The findings are very important in easily detecting newly produced or lesser-known malware and will guide the design of more advanced anti-malware techniques modeled by machine learning rather than virus signature database-based protection software.