İşlem kodu analizi ile çizge tabanlı zararlı yazılım tespiti
Graph-based malware detection using opcode analysis
Yazar: SİBEL GÜLMEZ
Danışman: PROF. DR. İBRAHİM SOĞUKPINAR
Gebze Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Siber Güvenlik Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgisayar güvenliği = Computer security ; Siber güvenlik = Cyber security

Özet:
Teknolojinin hızlı ilerleyişi ve sanallaşmanın artmasıyla birlikte çevrimiçi güvenliğimiz sorgulanır hale gelmiştir. Hemen her türlü bilginin paylaşıldığı veya saklandığı dijital ortamlar saldırganların hedefi olmuş ve siber saldırılar büyük bir tehdit haline gelmiştir. Bu tehditler arasında en tehlikelilerden biri zararlı yazılımlardır. Zararlı yazılımlar, siber saldırganlar tarafından izinsiz ve tehlikeli işlemler gerçekleştirmek için programlanmış yazılımlardır. Bu yazılımlar maliyeti yüksek saldırılar gerçekleştirebilmektedir ve bu nedenle tespit edilmeleri büyük bir önem kazanmaktadır. Tespit etmek için ilk adım zararlı yazılımların doğasını anlamaktır. Statik ve dinamik analiz adı verilen iki farklı analiz yöntemi aracılığıyla zararlı yazılımlar incelenip ayırt edici özellikler veya örüntüler elde etmek mümkündür. Dinamik analiz gerçek zamanlı bir incelemeyi gerektirir ve bu nedenle zaman ve kaynak ihtiyacı daha fazladır. Statik analiz ise yazılımların kaynak kodlarına erişip bunlar üzerinde özellik çıkarımı yapmayı hedeflemektedir. Bu tez çalışması kapsamında statik analizden yararlanılarak yazılımların işlem kodu dizilerine ulaşılmış ve bu diziler çizgelere dönüştürülmüştür. Çizgeler üzerinde yapılan incelemeler sonucunda düğümlerin derecelerini temel alan bir tespit yöntemi önerilmiştir. Önerilen yöntem ZAYÇAT olarak isimlendirilmiştir. ZAYÇAT, %98'e varan bir tespit oranına sahiptir ve paketli zararlı yazılımları paketlerini açmaya ihtiyaç duymadan tespit edebilmektedir.

Abstract:
With the rapid advancement of the technology and the increase in virtualization, the online security has become questionable. Digital platforms where all kind of information are shared, has become the target of the attackers and the cyber attacks has become a major threat. Malware is one of the most dangerous threats among them. Malware is a software which is written by a cyber attacker to perform unauthorized and dangerous operations. These softwares might perform costly attacks and therefore to detect them is becoming crucial. To detect them, the first step would be to understand the nature of the malware. Through two different analysis method called static and dynamic analysis, it is possible to examine malware and extract distinctive features and patterns. Dynamic analysis requires a real-time analysis and therefore it consumes more time and resource. Static analysis aims to access the source codes of the softwares and feature extracting through them. In this thesis research, opcode sequences of the softwares' are obtained through static analysis and then transformed to the graphs. As a result of the examination made on these graphs, a detection method that based on the degrees of nodes' is proposed. The proposed method is named ZAYCAT. ZAYCAT has a detection rate of up to %98 and it is able to detect packed malware without the need of unpacking.