Akademik araştırmacılar, bir yazılım projesinin kaynak koduna, insan gözden geçirmelerinin tespit edemeyeceği şekilde, bir yazılım projesinin kaynak koduna enjekte eden "Trojan Kaynağı" diyen yeni bir saldırı yöntemi hakkında ayrıntılı bilgi verdiler.
Truva kaynağı, savunmasız ikili dosyalar oluşturmak için derleyiciyi değiştirmeyi gerektirmeyen basit bir numaraya dayanır.
Yöntem, bugün en yaygın kullanılan programlama dillerinden bazılarıyla çalışır ve rakipler tedarik zinciri saldırıları için kullanabilirler.
Cambridge Üniversitesi'nden Araştırmacılar, Birleşik Krallık, birinci taraf yazılımını ve tedarik zincirlerini karşılayabilecek "Trojan kaynağı" saldırılarını açıkladı ve gösterdi.
Sağladıkları örnekler C, C ++, C #, JavaScript, Java, Pas, Go ve Python'da bir saldırganın KAYNAK KODU dosyalarının KULLANIM KOŞULUKLARININ KOŞULUKULU'yu hedefleyebileceği projeler içindir.
"Hile, kodlama düzeyinde kaynak kodundaki belirteçleri yeniden düzenlemek için Unicode kontrol karakterlerini kullanmaktır", "Truva kaynağını keşfeden Araştırmacılardan biri olan Nicholas Boucher'ı ortaya koyuyor.
"Kaynak kod dosyalarının kodlanmasını manipüle etmenin yollarını keşfettik, böylece insan izleyicileri ve derleyiciler farklı mantık görüyorlar. Özellikle zararlı bir yöntem, Unicode yönelitini kullanır, "Gerçek mantığının bir anagramı olarak kodu görüntülemek için karakterleri geçersiz kılar", "Trojan kaynak saldırısı yönteminin test edilmesinin arkasındaki diğer araştırmacıyı açıklar.
Yorumlar ve dizelerde gömülü kontrol karakterlerini kullanarak, bir tehdit aktörünün mantığını mantıksız bir güvenlik açığı yaratacak şekilde değiştirmek için kaynak kodunu yeniden sıralayabilir.
Araştırmacılar, bunun bir şekilde elde edilebileceğinin, içeriğin görüntülendiği yönü dikte etmek için çift yönlü metin (örneğin LRI -Litt-sağ ayırma ve RLI-to-soldanolat) için Unicode kontrolleri kullanılarak olduğunu göstermiştir. Bu yöntem şimdi CVE-2021-42574 olarak izlenir.
İki yönlü (BIDI) kontrolleri LRI ve RLI'yi görünmez karakterlerdir ve onlar sadece olanlar değildir. Bu talimatları enjekte ederek, bir derleyici, bir insanın gördüğüden tamamen farklı olan kodu derleyebilir.
Aşağıdaki resimde, dize içindeki RLI / RLI denetimlerini kullanarak, ikinci satır, insan gözü derleyicinin görmezden geleceği bir yorum olarak okurken derlenir.
Unicode Bidi'nin enjekte edilmesi karakterleri yorumlara ve dizelere geçersiz kılar, bir rakip ", karakterlerin ekran sırasının, gerçek mantıktan ayrılan mantık sunduğu çoğu modern dillerde sözdizimsel olarak geçerli bir kaynak kodu üretebilir."
Bir başka yol, iki farklı karakterin "sıfır" numarası ve "O," harfi veya küçük harf "L" ve büyük harf "i gibi benzer bir görsel gösterime sahip olan bir homoglif saldırısıdır (CVE-2021-42694). "
Aşağıda örneklenen bir homoglif truva kaynağı saldırısında, insan gözü her iki fonksiyonun da aynı olduğunu görecek, derleyici latince "H" ile Kiril "H" arasında ayrım yapar ve kodu iki farklı fonksiyona sahip olarak değerlendirir, bu nedenle sonuç aynı Ol.
Bir kağıda [PDF] Yeni Trojan kaynak saldırı yöntemini ayrıntılandıran araştırmacılar, çift yönlü (BIDI) geçersiz kılma karakterlerinin çoğu, çoğu tarayıcı, editör ve işletim sistemlerinde kopya / yapıştır eylemiyle devam ettiğini vurgulamaktadır.
Araştırmacılar, Trojan kaynak saldırısını birden fazla kod editörüne ve programlamada yaygın olarak kullanılan web tabanlı havuzlara karşı test etti ve yöntemlerinin çoğu üzerinde çalıştığını buldu.
BIDI kullanma ilkesinin ardından, yeniden düzenlendiğinde geçerli olan kod oluşturmak için geçerlidir, araştırmacılar kaynak kodunun sömürülmesine izin veren en az üç teknik bulundu:
Trojan kaynağına karşı savunmanın bir yolu, dil spesifikasyonlarında ve dilleri uygulayan derleyicilerde metin yönelitesi için kontrol karakterlerinin kullanımını reddetmektir.
"Çoğu ayarda, bu basit çözelti yeterli olabilir. Bir uygulama, BIDI geçersiz kılmasını gerektiren bir uygulama yazdırmak istiyorsa, geliştiriciler potansiyel olarak tehlikeli karakterleri kaynak koduna sokmak yerine, kaçış dizileri kullanarak bu karakterleri oluşturabilirler"
25 Temmuz'da, araştırmacılar, Trojan kaynak saldırısı yöntemi tarafından etkilendiği ve 99 günlük bir ambargoya açıklama süresi belirlediği birçok ürün bakımını bilgilendirdi.
CERT Koordinasyon Merkezi ayrıca, savunma uygulayan satıcılar için ortak bir iletişim platformu sağlayarak Koordined Açıklamaya yardımcı bir rapor aldı.
Raporlarını takiben araştırmacılar, 11 alıcıdan beşinden beşinci böcek ödüllerinde ortalama 2,246 dolar aldı, ancak 11 tanesi bir böcek ödül programı vardı.
Şu anda, birden fazla derleyici, neredeyse iki düzine yazılım tedarikçisinin tehdidin farkında olmasına rağmen, Trojan kaynak saldırı yöntemini durduramıyor.
Birçok bakıcı hala bir yama uygulamak için, iki araştırmacı hükümetleri ve şirketleri tedarikçilerini tanımlar ve gerekli savunmaları benimsemeye basar.
"Trojan kaynak güvenlik açığının neredeyse tüm bilgisayar dillerini etkilediği gerçeği, sistem genelinde ve ekolojik olarak geçerli bir platform platformu ve CrossVendor'ın yanıtlarının karşılaştırılması için nadir bir fırsat kazandırıyor"
Araştırmacılar, kod depolarını koruyan üç şirketin şu anda Trojan kaynağına karşı savunmaları dağıttıklarını ekledi.
GitHub'daki bir depoda, Trojan kaynak saldırısının ne kadar tehdidin ne kadar olduğunu gösteren konsept--konsept (POC) komut dosyaları sunar.
Yanlış yapılandırılmış apache hava akımı sunucuları Binlerce kimlik bilgilerini sızdırmaz
Android uygulaması güvenlik kusurlarını bulmak için Facebook açık kaynaklar aracı
ABD Govt Siteleri Gösteren Porno, Viagra reklamları ortak bir yazılım satıcısı paylaşın
Yeni Windows Güvenlik Güncellemeleri Ağ Yazdırmayı Break
Github, 'TAR' ve NPM CLI'sinde 7 kod yürütme güvenlik açıkını bulur
Kaynak: Bleeping Computer