Zararlı yazılımların kullandığı sanallaştırma karşıtı yöntemler ve alınabilecek önlemler
Anti-virtualization technique used by malware and measures that can be taken
Yazar: OSMAN TUFAN TEKİN
Danışman: PROF. DR. ALİ AYDIN SELÇUK
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgi Güvenliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Zararlı yazılım analizi yıllar içerisinde çok fazla yol kat etmiştir. Dinamik ve statik olarak ikiye ayırabileceğimiz analiz sürecinde, statik analizin davranışsal sonuçları verememesi sebebiyle dinamik analiz süreçleri gelişmiştir. Kum havuzları, otomatik dinamik analizi çok kısa sürelerde yapıp, analiste raporu sunabilmektedir. Bu sebeple günümüz zararlı yazılımları, tespit edilmemek veya tespit edilse de davranışlarının analiz edilme sürelerini uzatmak için analiz karşıtı yöntemler kullanmaya başlamıştır. Zararlı yazılımların bunu yaparken motivasyonu, her türlü kazançlarını arttırmaktır. Bu sebeple bütün analiz tekniklerinden kaçmak için her geçen gün yeni teknikler geliştirilmekte ve bu geliştirilen tekniklerin zararlı yazılımlar tarafından kullanımı da artmaktadır.
Sanal ortamların kullanımı, zararlı yazılım analizinde aktif bir yer almaktadır. İsteğe bağlı ortam oluşturulabilmesi, kişisel veri barındırmaması ve analiz adımları arasında kolay geçişler sağlanabilmesinden dolayı manuel analizler için vazgeçilmez bir hal almaktadır. Ayrıca kum havuzları için de aynı kolaylıklar sağlandığı için, onlar tarafından da tercih edilmektedir.
v
Zararlı yazılımlar, her iki analiz sürecinde de zararlı olduğunu belli etmemek için birçok yöntem kullanmaktadır. Bu yöntemlerden birisi olan sanallaştırma karşıtı yöntemi, kum havuzları içerisinde de sanal ortamlar kullanıldığı için, bütün analiz karşıtı yöntemler arasında çok geniş bir alan kaplamaktadır. Sanallaştırma için kullanılan ürünlerinin kullandığı sanallaştırma tekniklerinin farklı olması da zararlı yazılım geliştiricileri tarafında bu konu üzerine daha fazla çalışmak için motivasyon olmaktadır. Dolayısıyla birçok sanallaştırma karşıtı teknik şu anda zararlı yazılımlar tarafından kullanılmaktadır.
Sanal ortam tespiti için donanımsal ve yazılımsal olarak kontroller yapılabilmektedir. Donanımsal olarak sistem kaynakları veya donanım bilgileri içerisinde sanallaştırma platformunun imzaları kontrol edilebilir. Yazılımsal olarak da işletim sistemi içerisinden ulaşılabilen sanallaştırma platformlarına ait bilgiler bulunmaktadır. Özellikle sanal makine içerisinde Windows işletim sistemi varsa, Windows'a ait Kayıt Defteri, Windows Management Instrumantation gibi yapılar, içerisinde çok fazla sanallaştırma platformlarına ait imza barındırdıkları için sanal makine tespitini kolaylaştırmaktadır.
Bu çalışmada, sanallaştırma ortamı olarak en çok tercih edilen VMware, işletim sistemi olarak en çok tercih edilen Windows 10 üzerinde zararlı yazılımlar tarafından kullanılan sanallaştırma karşıtı yöntemler incelenmiştir. Bu sanallaştırma karşıtı yöntemlere karşı alınabilecek önlemler anlatılmıştır. Sanallaştırma karşıtı kullanılan bir başka yöntem ise Windows Management Instrumantation'dır. Çoğu kum havuzu tarafından önlem alınmamış bu yöntem incelenmiş ve kancalama tekniği kullanılarak bu yöntemi engelleme yolları anlatılmıştır. Windows Management Instrumantation için kullanılabilecek bir kancalama uygulaması geliştirilmiş ve bu uygulama ile sanallaştırma karşıtı tekniklere önlem alınabileceği gösterilmiştir.

Abstract:
Malware analysis has been improved over the years. In the analysis process, which can be divided into dynamic and static, dynamic analysis processes have developed due to the fact that static analysis cannot give behavioral results. Sandboxes can perform automatic dynamic analysis in very short time and present the report to the analyst. Therefore, today's malware has begun to use anti-analysis methods to be not detected or even if they detected they prolong the analysis times of their behavior. The motivation of malware to do this is to increase all kinds of returns. Therefore, in order to avoid all analysis techniques, new techniques are being developed and the use of these techniques by malware is increasing.
The use of virtual environments is actively involved in malware analysis. It is essential for manual analysis due to the ability to create an optional environment, does not contain any personal data and transition between analysis steps is simple. Also, they preferred by sandboxes since they provide same facilities.
Malware uses many methods to ensure that it is not malicious in both analysis processes. The anti-virtualization method, which is one of these methods, covers a
vii
wide area among all anti-analysis methods since virtual environments are also used in sandboxes. The difference in the virtualization techniques used by the products used for virtualization is the motivation of malicious software developers to work more on this issue. Therefore, many anti-virtualization techniques are currently being used by malware.
Hardware and software controls can be performed for the detection of virtual environment. System resources or the signatures of virtualization platform can be checked by hardware. There is also information about virtualization platforms that can be accessed from within the operating system by software. Structures such as the Windows Registry, Windows Management Instrumentation facilitate the detection of virtual machines since they contain signatures belonging to many virtualization platforms, especially when there is a Windows operating system in the virtual machine.
In this study, anti-virtualization methods used by malware are examined on VMware the most preferred virtualization environment and on Windows 10 the most preferred operating system. Measures that can be taken against these virtualization methods are explained. Another method used against virtualization is Windows Management Instrumentation. This method, which was not taken precaution by most sandboxes, was examined and the ways to prevent this method by using hooking technique were explained. A hooking application has been developed that can be used for Windows Management Instrumentation and it has been shown that anti-virtualization techniques can be taken with this application.