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.