Tehlikeli bir matruşka: Poliglot zararlı yazılım dosyaları hakkında bilinmesi gereken her şey

Saldırganlar, cihazların aynı anda iki farklı belge türü olarak okuyabildiği dosyalar hazırlıyor ve bu “iç içe geçmiş bebekler”i kötü amaçlı yazılımları gizlice sızdırmak için kullanıyor. Bu iki yüzlü dosyaları nasıl tespit edip etkisiz hale getirebiliriz?

Tespit edilemeyen kör noktalar: toplu e-posta gönderimlerinde ve hedefli saldırılarda kullanılan poliglot dosya biçimleri

Son yıllarda, poliglot tekniği kullanılarak oluşturulan dosyalar siber saldırılarda giderek daha sık karşımıza çıkmaktadır. Bu dosyalar; saldırganların kötü amaçlı yazılımları e-posta filtrelerinden ve dosya tarayıcılarından geçirmelerine, kimlik avı saldırılarında kurbanları kandırmalarına ve olay soruşturmalarını zorlaştırmalarına olanak tanır. Bunu başarmak için saldırganlar, hangi uygulama tarafından açıldığına bağlı olarak sistemin farklı biçimler olarak yorumlayabileceği bir dosyayı kasten oluştururlar.  Buna klasik bir örnek, hem PNG resmi hem de ZIP arşivi olarak işlenebilen bir dosyadır. Tek yapmanız gereken, dosyanın uzantısını değiştirmek ya da dosyayı açmak için herhangi bir uygulama kullanmaktır.

Bu tür dosyaların oluşturulmasının nasıl mümkün olduğunu, gerçek hayattaki saldırılarda hangi format kombinasyonlarının ortaya çıktığını ve kuruluşların bu tehditten kendilerini nasıl koruyabileceklerini inceleyelim.

Polyglot dosyalarının arkasındaki mantık nedir?

Poliglot dosyaların temelini oluşturan veri biçimleri nadiren alışılmadık türdedir. Her şey, yapısal olarak uyumlu olan yaygın formatların akıllıca birleştirilmesine bağlıdır. Poliglot dosyalar, belirli dosya biçimlerinde aşağıdaki tuhaflıklardan en az birini kullanır:

  • Çoğu dosya biçiminde ilk bayttan itibaren kod çözme gerekir, ancak bazıları sonundan okumayı gerektirir. En net örnek bir ZIP arşividir: Baş kısmının bozuk olması ya da eksik olması, uygulamaların dosyayı okumasını engellemez; çünkü gerekli tüm başlıklar aslında dosyanın sonunda yer alır. Bu durum, saldırganların iki dosyayı kolayca birleştirmesine olanak tanır. Yukarıdaki örnekte, bir PNG ve bir ZIP dosyası verilmiştir. Baş kısmı geçerli bir PNG görüntüsü olarak okunurken, son kısmı ise geçerli bir ZIP arşivi olarak okunur.
  • Birçok dosya biçimi, Rus matruşka bebekleri gibi çalışır: Dışarıdan bakıldığında kullanım amacına uygun belirli bir uzantıya sahip olsalar da, dosyanın içi temel olarak gerekli verileri içeren bir ZIP arşivi niteliğindedir. Bu gruba modern ofis belgeleri (DOCX/XLSX/PPTX), Android kurulum paketleri (APK), Java kütüphane dosyaları (JAR) ve daha pek çok dosya türü dahildir.
  • Bazı formatların katı yapısal gereklilikleri yoktur veya gereklilikleri o kadar esnektir ki, dosyayı işleyen uygulama, aradığı parça başlangıçta olmasa bile onu bulabilir.

Polydet GitHub deposunda, poliglot bir sistem oluşturmak için kullanılabilecek çeşitli dosya kombinasyonlarına ilişkin sayısız örnek yer almaktadır. MITRE sınıflandırmasına göre, bu teknik maskeleme kategorisine girmektedir (T1036.008, Masquerade File Type ).

Bilinen siber saldırılarda yer alan poliglot dosya örnekleri

Kamuya açık zararlı yazılım saldırı kampanyası analizleri, her türden poliglot yazılımı ortaya koymaktadır. Saldırganlar, saldırı senaryosunun tamamını belirli bir dosya türü kombinasyonuna uyacak şekilde uyarlar.

Head Mare grubu, PhantomPyramid kötü amaçlı yazılımını bir ZIP eki olarak gönderdi. Dosya, sonuna eklenmiş küçük bir ZIP arşivini içeren Windows çalıştırılabilir kodundan (EXE) oluşuyordu. Kurban arşivi açtığında, içinde PDF.LNK uzantılı bir dosya bulunuyordu; bu dosya da aynı poliglot eki çalıştırıyordu, ancak bu sefer yürütülebilir bir dosya olarak.

JPCERT tarafından belgelenen saldırıda, saldırganlar başlangıçta PDF formatında olan ve çoğu tarayıcı tarafından PDF olarak algılanan, ancak DOC uzantısına sahip ve Office uygulamalarında kötü amaçlı makrolar içeren geçerli bir DOC dosyası olarak açılan bir dosya oluşturdular.

StrRAT ve Ratty Truva atlarını bulaştıran saldırılarda; imzalı bir Windows yükleyici paketinin (MSI) sonuna zararlı Java kodunun (JAR) eklenmesiyle oluşturulan polyglot bir dosya kullanıldı.

StrelaStealer saldırılarında ise HTML uzantılı bir polyglot kullanıldı: Bu dosya, sonuna sahte (tuzak) bir HTML dokümanı yapıştırılmış bir Windows kütüphanesinden (DLL) oluşuyordu. Arşivdeki bir kısayol dosyayı iki kez çalıştırıyordu: Biri start komutu aracılığıyla (çift tıklamaya eşdeğer şekilde, HTML belgesini gösteren bir tarayıcı açıyordu), diğeri ise rundll32 aracılığıyla (kötü amaçlı DLL’i başlatıyordu).

Simüle edilmiş ancak ustaca tasarlanmış bir saldırıda, araştırmacılar iki sıradan ZIP dosyasını birleştirdiler ve farklı popüler arşivleme araçlarının birleştirilmiş dosyayı farklı şekillerde görüntülediğini tespit ettiler: Bazıları yalnızca ilk arşivi, bazıları ise yalnızca ikinci arşivi gösterirken, bazıları da her ikisini birden, sanki ortak içeriğe sahip tek bir arşivmiş gibi gösterdi. Saldırgan kurbanın altyapısını tanıyorsa ve hangi yazılımı yüklediğini biliyorsa, bu kombinasyonu güvenlik araçlarına bir dosyayı gösterirken kurbana başka bir dosyayı göstermek için kullanabilir.

Saldırganlar, IcedID bilgi hırsızını dağıtan bir saldırı kampanyasında karmaşık bir matruşka tarzı kötü amaçlı yazılım kullandılar. Kimlik avı e-postalarına bir ZIP arşivi eklemişlerdi; bunu açtıklarında bir ISO dosyası ortaya çıktı. Bu ISO dosyası, poliglot tekniği kullanılarak oluşturulmuş bir CHM (Windows Yardım) olarak açıldı. Mağdur, dosyayı standart Windows Yardım aracıyla açtığında, dosya yardım içeriğine yerleşik bir JavaScript betiğini çalıştırdı; bu betik, standart mshta uygulamasını (Microsoft HTML Application Host) başlattı ve onu aynı CHM dosyasına yönlendirdi. Saldırı kampanyasının yaratıcıları, HTA uygulamasını CHM dosyasının içine, dosyanın zararsız bir yardım belgesi olarak okunmasını engellemeyecek şekilde yerleştirdiler. HTA işleyicisi ise kendi payına düşeni yaparak, HTA betiğini bulana dek dosyanın başındaki tüm çöp verileri es geçiyordu.

Güvenlik araçları poliglot dosyaları nasıl işler?

Yukarıdaki örnekler, bu çift okuma hilesinin saldırganların kurbanın bilgisayarına zararlı yazılım yerleştirmesine nasıl olanak sağladığını açıkça ortaya koymaktadır. Peki, e-posta filtreleri ve EDR sistemleri bu tür dosyaları aslında nasıl değerlendirir? Cevap tamamen söz konusu çözüme bağlı olduğundan, bunun kontrol edilmesi gerekir. Bu, ya satıcının teknik belgelerini inceleyerek ya da gerekli tüm önlemler alınmış şekilde kurumsal altyapıda kontrollü bir test gerçekleştirerek yapılabilir.  Genel olarak bakıldığında, her durumda geçerli olan yalnızca iki nokta vardır:

  • Çoğu güvenlik çözümü, bir dosyanın belirtilen uzantısına güvenmez; bunun yerine, dosyanın gerçek yapısını belirlemek için dosyanın başını kontrol eder. Bu nedenle, yukarıda açıklanan saldırıda, DOC uzantılı PDF dosyası zararsız bir PDF olarak analiz edilirken, zararlı makro, yapıştırılmış DOC bölümünde gizlenmişti.
  • Bir dosya başlangıçta zararsız bir şeyse (örneğin bir resim) ve uzantısı da buna uyuyorsa, muhtemelen daha kapsamlı bir analiz yapılmayacaktır. Saldırganlar bunu istismar edebilir: Dosyaya eşlik eden talimatlar, kurbanın dosyayı yeniden adlandırmasını isteyebilir; böylece sistemin davranışı, görüntü yerine ikinci yükle bağlantılı hale gelir.

Bir kuruluşu poliglot dosya saldırılarından nasıl koruyabiliriz?

Poliglot dosyalara karşı savunma yapmak için karmaşık teknik veya organizasyonel çözümler gerekmez; asıl gerekli olan, kurum genelinde sağlam ve tutarlı bir güvenlik kültürü oluşturmaktır:

  • Çalışanların iş istasyonlarında çalıştırmalarına izin verilen uygulamalar için kapalı izin listeleri kullanın. Güncelliğini yitirmiş Windows uygulamalarını, kullanılmayan Microsoft yönetim araçlarını, uzaktan erişim ve dosya aktarım yazılımlarını ve potansiyel olarak tehlikeli veya eskimiş olduğu düşünülen her şeyi hariç tutun.
  • Şüpheli eklentileri arındırarak daha güvenli versiyonlara dönüştüren CDR (İçerik Arındırma ve Yeniden Yapılandırma) ile, bu eklentileri analiz etmek üzere izole bir ortamda çalıştıran detonasyon teknolojisine sahip gelişmiş e-posta güvenlik çözümlerinden yararlanın. Poliglot dosya olduğuna dair dış belirtiler gösteren ekler için (tüm arşiv ve ofis dosyaları, standart dışı uzantılara sahip dosyalar vb.) derinlemesine analiz ayarlayın.
  • Aynı şekilde, EDR çözümünü potansiyel poliglot tehditlere yönelik derinlemesine analizler gerçekleştirecek şekilde yapılandırın.
  • Yukarıdaki örneklerde olduğu gibi, bir işlemin ve işlenmek üzere kendisine aktarılan dosyaların olağandışı kombinasyonları durumunda uyarı veren izleme kuralları oluşturun (örneğin, mshta aracılığıyla açılan bir CHM dosyası veya rundll32 aracılığıyla açılan bir HTML dosyası gibi).
  • Poliglot dosyalarla ilgili temel bilgileri, mevcut güvenlik farkındalığı programına ekleyin. Böylelikle kullanıcılar, bir dosyanın uzantısını değiştirmeleri ya da dosyayı alışılmadık bir şekilde işlemeleri (örneğin, belirli bir uygulamada açmaları) istendiğinde tetikte olurlar.
Tarayıcınızın güvenli olduğunu belirttiği dolandırıcılık sitelerini nasıl tespit edebilirsiniz?

Aldatmanın elli tonu: Gri alan web sitelerinin gizli tehlikeleri

Şüpheli çevrimiçi mağazalar, hızlı kazanç vaat eden kripto yatırımları, gizli abonelikler ve zararlı yazılımlarla dolu tarayıcı uzantıları… Çevrimiçi dolandırıcılık yöntemleri, klasik kimlik avının çok ötesine geçmiş durumda. Bu gri alanda faaliyet gösteren web siteleri ne tür zararlar verebilir ve bunları nasıl tespit edebilirsiniz?

Tarayıcınızın güvenli olduğunu belirttiği dolandırıcılık sitelerini nasıl tespit edebilirsiniz?
İpuçları