Yazarlar:
(1) Amit Seal Ami, Bilgisayar Bilimleri Bölümü, William & Mary Williamsburg, Virginia, ABD ve bu yazar bu makaleye eşit katkıda bulunmuştur ([email protected]);
(2) Syed Yusuf Ahmed, Bilgi Teknolojileri Enstitüsü, Dhaka Üniversitesi, Dhaka, Bangladeş ve bu yazar bu makaleye eşit katkıda bulunmuştur ([email protected]);
(3) Radowan Mahmud Redoy, Bilgi Teknolojileri Enstitüsü, Dhaka Üniversitesi, Dhaka, Bangladeş ve bu yazar bu makaleye eşit katkıda bulunmuştur ([email protected]);
(4) Nathan Cooper, Bilgisayar Bilimleri Bölümü, William & Mary Williamsburg, Virginia, ABD ([email protected]);
(5) Kaushal Kafle, Bilgisayar Bilimleri Bölümü, William & Mary Williamsburg, Virginia, ABD ([email protected]);
(6) Kevin Moran, Bilgisayar Bilimleri Bölümü, Central Florida Orlando Üniversitesi, Florida, ABD ([email protected]);
(7) Denys Poshyvanyk, Bilgisayar Bilimleri Bölümü, William & Mary Williamsburg, Virginia, ABD ([email protected]);
(8) Adwait Nadkarni, Bilgisayar Bilimleri Bölümü, William & Mary Williamsburg, Virginia, ABD ([email protected]).
6 Gelecekteki Çalışmalar ve Sonuç, Teşekkür ve Referanslar
Yazılım mühendisleri, yazılım geliştirme döngülerinde kripto-API kötüye kullanım dedektörlerini (veya kripto-dedektörlerini) iyimser bir şekilde benimserken, bu ivmeye, kripto-dedektörlerin pratikte kriptoAPI kötüye kullanımlarını bulma konusundaki etkinliğinin titiz bir şekilde anlaşılması eşlik etmelidir. Bu demo makalesi, Statik Kripto-API kötüye kullanım dedektörlerini (MASC) değerlendirmek için Mutasyon Analizi adlı aracımızın teknik ayrıntılarını ve kullanım senaryolarını sunmaktadır. Kripto API'sinin kötüye kullanım durumlarının derlenebilir varyantlarını anlamlı bir şekilde örneklendirmek için kullanılabilecek 12 adet genelleştirilebilir, kullanıma dayalı mutasyon operatörü ve Ana Kapsam, Benzerlik Kapsamı ve Kapsamlı Kapsam olmak üzere üç mutasyon kapsamı geliştirdik. MASC'yi kullanarak dokuz büyük kripto dedektörünü değerlendirdik ve 19 benzersiz, belgelenmemiş kusur keşfettik. MASC'yi yapılandırılabilir ve kullanıcı dostu olacak şekilde tasarladık; kullanıcı, oluşturulan mutasyonların doğasını değiştirmek için parametreleri yapılandırabilir. Ayrıca MASC, hem Komut Satırı Arayüzü hem de Web tabanlı ön uçla birlikte gelir ve bu da onu farklı uzmanlık seviyelerindeki kullanıcılar için pratik hale getirir.
Kod: https://github.com/Secure-Platforms-Lab-WM/MASC
Yazılım mühendisleri, oluşturdukları, geliştirdikleri ve bakımını yaptıkları yazılım ve hizmetlerde kriptografik API'lerin doğru kullanımını sağlamak için onlarca yıldır kripto dedektörlerine güveniyorlar [6]. Bu tür kriptodedektörler, IDE'lere (örneğin, Eclipse IDE için CogniCrypt eklentisi [8]), Oracle Corporation [9, 17] gibi kuruluşların test paketine ve Sürekli Entegrasyon/Sürekli Dağıtıma (CI) entegre edildikleri için yazılım mühendisliğinde her yerde bulunurlar. /CD) boru hatları [12, 18]. Ek olarak, GitHub gibi barındırma sağlayıcıları, GitHub Code Scan Initiative [10] gibi kripto-dedektörleri resmi olarak tedarik etmektedir. Başka bir deyişle, yazılım ve hizmetlerin güvenliği giderek daha fazla kripto dedektörlere bağımlı hale geliyor. Bununla birlikte, kripto dedektörlerinin performansını değerlendirmek için manuel olarak seçilmiş kıyaslamalara güveniyoruz; bu tür kıyaslamaların eksik, yanlış olduğu ve sürdürülmesinin pratik olmadığı bilinmektedir [16]. Bu nedenle, kriptodetektörlerin etkinliğini güvenlik odaklı bir perspektiften belirlemek, kripto-API'nin hacmi ve çeşitliliği ile farklı kötüye kullanım kalıplarına göre ölçeklenebilecek güvenilir ve gelişen bir değerlendirme tekniği gerektirir.
Statik Kripto-API kötüye kullanım dedektörleri (MASC) çerçevesini değerlendirmek için Mutasyon Analizi oluşturmak amacıyla mutasyon test tekniklerini bağlamsallaştırdık. MASC'nin orijinal prototip uygulamasında [3], Java için kripto-API kötüye kullanım durumlarının mutasyonlarını başlatmak için dahili olarak 12 genelleştirilebilir, kullanıma dayalı mutasyon operatöründen yararlandı. Mutasyon operatörleri, Java Şifreleme Mimarisi'nin (JCA) [11] tasarım ilkelerine ve farklı beceri ve niyetlere sahip kullanıcılardan oluşan bir tehdit modeline (Bölüm 4.1) dayalı olarak tasarlanmıştır. MASC, bu mutasyona uğramış kötüye kullanım vakalarını Java veya Android tabanlı uygulamalara üç mutasyon kapsamına (enjeksiyon bölgeleri) enjekte eder: Benzerlik Kapsamı (MDroid+ [13, 14]'ten genişletilmiştir), Kapsamlı Kapsam (𝜇SE'den genişletilmiştir [4, 5, 7]) ve bağımsız olarak geliştirilen Ana Kapsam'ı, böylece kripto API'sinin kötüye kullanımını içeren mutasyona uğramış uygulamalar oluşturur. Endüstri ve akademiden dokuz kriptodedektörü değerlendirerek MASC'nin prototip uygulamasının pratikliğini gösterdik ve kripto dedektörlerinin kapsam içi sağlamlığını tehlikeye atan daha önce belgelenmemiş, bilinmeyen 19 kusur keşfettik. MASC'nin metodolojisinin tüm ayrıntıları, tasarım hususları, yeni kusurların bulunmasına yol açan kripto dedektörlerinin değerlendirilmesi, açık kaynak uygulamalarında bulunan kusurların pratik etkisi (dolayısıyla mutasyon operatörlerinin uygulanabilirliği) ve bulguların tartışılması şu adreste mevcuttur: orijinal araştırma makalesi [3].
Bu yazıda, güvenlik araştırmacıları, geliştiriciler ve kullanıcılar gibi kripto dedektörlerinin paydaşlarına genişletilebilirlik, kullanım kolaylığı ve sürdürülebilirlik odaklı MASC çerçevesinin olgun bir uygulamasını sunuyoruz. Ayrıntılı olarak açıklamak gerekirse, yeni geliştirilen eklenti mimarisi sayesinde, MASC kullanıcıları artık mevcut kod tabanının derinliklerine (11𝐾+ kaynak kod satırı) dalmadan, MASC'ye kolayca takılabilen kendi mutasyon operatörlerini oluşturabilirler. Ayrıca, MASC'nin orijinal prototip uygulaması, kripto dedektörlerinin yarı otomatik değerlendirmesini içerirken, biz, kripto dedektörlerinin fiili SARIF [15] formatlı çıktısını kullanarak MASC'nin iş akışını otomatik hale getirdik. Ayrıca, kullanıcıların giriş engelini azaltması için MASC uygulamasının web tabanlı bir ön yüzünü oluşturduk. Son olarak, MASC'nin sürdürülebilirliğini ve genişletilebilirliğini artırmak için MASC'nin açık kaynak kod tabanını yeniden yapılandırdık ve yeniden düzenledik; bu, hem MASC geliştiricileri hem de açık kaynak meraklıları için gelecekteki katkıları ve iyileştirmeleri kolaylaştıracak. Bu eklemeler ve geliştirmelerle, MASC'nin mevcut, açık kaynak uygulamasının, mevcut kripto dedektörlerindeki kusurların bulunmasında ve dolayısıyla bunların iyileştirilmesinde kullanılmasını umuyoruz.
Katkı : Kripto dedektörlerini değerlendirmek için mutasyon testi tekniklerinden yararlanan, kullanıcı dostu bir çerçeve olan MASC'yi, temel tekniklerin, tasarım hususlarının ve iyileştirmelerin ayrıntılarıyla birlikte sunuyoruz. MASC'nin yeni, temel özellikleri şunlardır: Kripto Dedektörlerinin Otomatik Değerlendirmesi: MASC, Ana Kapsam dahilinde uçtan uca otomatikleştirilmiş bir iş akışında kripto dedektörlerini değerlendirmek için kullanılabilir.
Kripto-dedektörlerin Özelleştirilebilir Değerlendirmesi: Bir kullanıcı, kripto-API kötüye kullanım örnekleri oluşturmak için mutasyon operatörlerini belirterek kripto-dedektörlerin değerlendirmesini özelleştirebilir.
Özel Operatörler için Eklenti Mimarisi : MASC, güvenlik araştırmacılarının, geliştiricilerin ve kullanıcıların, öğrenmelerini ve anlamalarını gerektirmeden Ana Kapsama doğrudan takılabilen kendi özel mutasyon operatörlerini oluşturarak doğrudan kripto dedektörlerini değerlendirmeye başlamalarına yardımcı olur. MASC'ın iç detayları hakkında.
Son Kullanıcılar için Kullanıcı Dostu Ön Uç : Orijinal prototip uygulamasının komut satırı arayüzünü geliştirmenin yanı sıra, son kullanıcılar için yerel olarak çalıştırılabilen açık kaynaklı, web tabanlı bir ön uç oluşturup sunuyoruz. Ön uçta, paydaşların mutasyon operatörleriyle etkileşime girebileceği ve mutasyona uğrayan kripto API'sinin kötüye kullanımı hakkında bilgi edinebileceği ek bir oyna-test-öğrenme arayüzü olan MASC Lab bulunur.
Araç ve Veri Kullanılabilirliği: MASC çerçevesinin prototip uygulaması, komut dosyaları ve kripto dedektörlerinin değerlendirilmesinin sonuçları,
orijinal makalede [3] açıklandığı gibi, MASC Artifact'inde [1] mevcuttur. Ayrıca, MASC'nin aktif olarak sürdürülen, olgun uygulamasının kod tabanı, kapsamlı belgeler ve örneklerle birlikte ayrı olarak mevcuttur [2].