Detecting android obfuscation methods with LSTM


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Orta Doğu Teknik Üniversitesi, Enformatik Enstitüsü, Siber Güvenlik Anabilim Dalı, Türkiye

Tezin Onay Tarihi: 2022

Tezin Dili: İngilizce

Öğrenci: BULUT ULUKAPİ

Asıl Danışman (Eş Danışmanlı Tezler İçin): Cihangir Tezcan

Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu

Özet:

Yazılım geliştirmede, gizleme, kaynak kodunun insanlar tarafından anlaşılmasını zorlaştıracak şekilde kasıtlı olarak tasarlanmasıyla analiz ve tersine mühendisliğin başarılmasının zor hale getirilmesi anlamına gelir. Gizleme yöntemleri, programın orijinal işlevselliğini korurken kaynak kodunu sözdizimsel olarak değiştirir. Gizleme, Android geliştirme ortamına da entegre edilmiştir ve hem yazılım hem de kötü amaçlı yazılım geliştiricileri tarafından yaygın olarak kullanılmaktadır. Uygulama geliştiricileri fikri mülkiyet haklarını korumak için gizleme yöntemleri kullanırken, kötü amaçlı yazılım geliştiricileri bunları tespitten ve dijital adli tıptan kaçmak için kullanır. Gizleme tekniklerinin yaygın kullanımı, uygulama klonlama, yeniden paketleme, üçüncü parti kitaplık ve kötü amaçlı yazılım tespit etmeye odaklanan araştırmacılar ve analistler için zorluklar sunar. Bu nedenle, güvenilir, etkili ve otomatik algılama sistemleri oluşturmak için gizleme yöntemlerini tespit etmek çok önemlidir. Bu çalışmada, belirli bir uygulamanın bulanık olup olmadığını tespit etmek için Doğal Dil İşleme (NLP) teknikleri ve Uzun Kısa Süreli Bellek (LSTM) kullandık. Bunun için açık kaynaklı bir Android uygulama deposu olan F-Droid'den uygulamalar topladık ve bunları dokuz farklı gizleme tekniği kullanarak gizledik. Farklı gizleme yöntemlerini tespit etmek için deneyler yaptık ve umut verici sonuçlar elde ettik. Ayrıca modelin belirli gizleme yöntemlerini tespit etmede diğerlerinden daha başarılı olduğunu gözlemledik.