Yayın: Makine öğrenimi tabanlı android kod karıştırıcı tespiti
Dosyalar
Tarih
Kurum Yazarları
Yazarlar
Sarıbıyık, Sadık
Danışman
Toğay, Cengiz
Dil
Türü
Yayıncı:
Bursa Uludağ Üniversitesi
Dergi Başlığı
Dergi ISSN
Cilt Başlığı
Özet
Android uygulamalarının kaynak kodları decompiler (Dexdump, Dex2jar, Androguard ve Apktool) adı verilen uygulamalar aracılığı ile elde edilebilmektedir. Tersine mühendislik olarak adlandırılan bu yöntem kötücül yazılımların tespit edilmesi, kaynak kodlarda yer alan fikri mülkiyet haklarına konu olan bir yöntem ya da içeriğin elde edilmesi, kaynak kod içerisinde bulunan bir bilgi aracılığı ile saldırı yapılması ve kodların değiştirilerek kullanılması gibi birçok senaryoda karşımıza çıkmaktadır. Uygulama geliştiriciler bu tip problemlere karşı uygulamada yer alan sınıf ve değişken isimlerinin karıştırılması, açık metinlerin şifrelenmesi, gereksiz kod ekleme vb. yöntemleri içeren karıştırma tekniklerini kullanmaktadırlar. Bu yaklaşım temelde doğru amaçlara hizmet etmekle birlikte aynı zamanda kötücül yazılım geliştiriciler tarafından da yoğun olarak kullanılmaktadır. Bu kapsamda bu tip yazılımların tespitinde ilk adım karıştırmanın yapılıp yapılmadığının tespitidir. Tezimizde kod karıştırma tekniklerinden hangilerinin kullanıldığının otomatik ve hızlı bir şekilde belirlenmesine yönelik çalışmalar gerçekleştirilmiştir. Tespitler yapılırken makine öğrenimi tekniklerinden yararlanılmış ve çeşitli algoritma yaklaşımları ile test edilmiştir. IR tekniği için ortalama %94,24. SE tekniği için ise ortalama %92,69 oranında doğruluklarda tespitler yapılmıştır.
Source codes of Android applications can be obtained through applications called decompilers (Dexdump, Dex2jar, Androguard and Apktool). This method, which is called reverse engineering, appears in many scenarios such as detecting malicious software, obtaining a method or content that is the subject of intellectual rights in the source code, attacking through information in the source code, and using the codes by changing them. Application developers can avoid such problems by mixing class and variable names in the application, encryption of clear texts, adding unnecessary code, etc. They use mixing techniques including methods. While this approach basically serves the right purposes, it is also heavily used by malware developers. In this context, the first step in the detection of this type of software is to determine whether mixing is done or not. In our thesis, studies have been carried out to automatically and quickly determine which code mixing techniques are used. While making the determinations, machine learning techniques were used and tested with various algorithm approaches 94.24% for the IR technique. For the SE technique, determinations were made with an accuracy of 92.69%.
Source codes of Android applications can be obtained through applications called decompilers (Dexdump, Dex2jar, Androguard and Apktool). This method, which is called reverse engineering, appears in many scenarios such as detecting malicious software, obtaining a method or content that is the subject of intellectual rights in the source code, attacking through information in the source code, and using the codes by changing them. Application developers can avoid such problems by mixing class and variable names in the application, encryption of clear texts, adding unnecessary code, etc. They use mixing techniques including methods. While this approach basically serves the right purposes, it is also heavily used by malware developers. In this context, the first step in the detection of this type of software is to determine whether mixing is done or not. In our thesis, studies have been carried out to automatically and quickly determine which code mixing techniques are used. While making the determinations, machine learning techniques were used and tested with various algorithm approaches 94.24% for the IR technique. For the SE technique, determinations were made with an accuracy of 92.69%.
Açıklama
Kaynak:
Anahtar Kelimeler:
Konusu
Makine öğrenmesi, Kod karıştırma teknikleri, Bilgi güvenliği, Machine learning, Obfuscation techniques, Information security
Alıntı
Sarıbıyık, S. (2022). Makine öğrenimi tabanlı android kod karıştırıcı tespiti. Yayınlanmamış yüksek lisans tezi. Bursa Uludağ Üniversitesi Fen Bilimleri Enstitüsü.
