Internet Explorer XML Databinding Açıklığı |
Yanıt Yaz |
Yazar | |
megabros
Security Professional Kayıt Tarihi: 08-06-2009 Konum: Turkey Status: Aktif Değil Points: 752 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı megabros
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 24-08-2009 Saat 00:14 |
9 Aralık 2008 tarihinde McAfee [1] ve 12 Aralık 2008 tarihinde Microsoft firmaları [2] tarafından Internet Explorer (IE) yazılımın tüm versiyonlarında çok ciddi bir açıklık duyurulmuştur. Bilgisayar kullanıcılarının kötü niyetli bir web sitesini Internet Explorer ile ziyaret etmeleri , bilgisayarlarının saldırganlar tarafından ele geçirilmesi için yeterli olmaktadır. Bu makalede; açıklığın yapısı, örnek bir saldırı ve saldırı önlemleri ele alınacaktır. 1. Açıklığın yapısıAçıklık, Interner Explorer yazılımının IE veri kaynaklarına bağlanma (databinding) fonksiyonunda bulunmaktadır. Databinding fonksiyonu IE nin çeşitli veri kaynaklarına (ADO.NET, XML verisi, WEB Servisleri..) bağlanarak bu verileri dinamik olarak web sayfalarında göstermesini sağlamaktadır. [3] Bu fonksiyonda uzaktan kod çalıştırılmasına izin veren geçersiz işaretçi referansı (invalid object pointer reference) açıklığı vardır. IE’nin kullandığı bir nesne serbest bırakıldıktan sonra hafızada kullanmış olduğu alan temizlenmemektedir. Bu da IE nin zaafiyet oluşturacak şekilde kapanmasına sebep olmaktadır. Hataya sebep olan fonksiyonlar oledb32.dll ve mshtml.dll kütüphanelerinde bulunmaktadırlar. Yaygın olarak kullanılan saldırı metodlarında bir web sayfası içindeki XML etikerleri (tag) ile databinding fonksiyonu çağırılmakta ve bu etiketlerin IE tarafından işlenmesi sırasında yukarıda bahsedilen geçersiz işaretçi referansı ( invalid object poitner reference ) açıklığı ortaya çıkmaktadır. Saldırganlar özel hazırlanmış web sayfaları içinde açıklığa sebep olan XML etiketlerini kullanarak uzak sistemlere sızabilir ve oturum açmış kullanıcı hakları ile kurbanların bilgisayarlarında istedikleri programı çalıştırabilirler. Yukarıdaki kodda iç içe iki SPAN etiketinin kullanılması açıklığın tetiklenmesine sebep olmaktadır. * Birinci SPAN etiketi, IE’nin XML dokümanındaki veri kaynağından alınan verinin HTML olarak şekillendirmesini sağlamaktadır. İkinci SPAN etiketi de aynı işlemi birinci SPAN etiketinin içinde gerçekleştirmektedir. Bunun sonucunda, ilk <image > SRC etiketinin adres kısmının, ilk 4 byte lik kısmının üzerine yazılmasına sebep olan yığın bozulması (heap corruption ) oluşmaktadır. Yukarıdaki şekilde de görüldüğü gibi adres kısmının ilk 4 byte’lık kısmında ਊ ਊ karakterleri bulunmaktadır. Bu karakterler on altılık düzende 0×0a0a0a0a adresine karşılık gelmektedir. Bu adres IE tarafından kullanıldığı ve kolay ulaşılabildiği için heap spraying denilen saldırılarda sıkça kullanılmaktadır. Bu noktadan sonra saldırganlar heap spraying tekniği ile saldırı kodlarını (shellcode), IE nin kullanmış olduğu hafıza bölgesine yükleyerek, saldırı kodlarının çalıştırılmasını sağlamaktadırlar. Bu kodlar o an sistemde oturum açmış kullanıcı hakları ile çalışmaktadırlar. Bundan dolayı günlük işlemlerde yönetici yetkisinde bir kullanıcı ile sisteme oturum açmak yerine , sistemde değişiklik yapma hakkı olmayan, daha az yetkiye sahip normal bir kullanıcı ile sisteme oturum açarak işlem yapılması tavsiye edilmektedir. Bu saldırının çalışması için iki gereksinim vardır: * Hafızada istenen bir yeri istenen içerikle doldurabilmek. Bizim örneğimizde IE nin kullanmış olduğu hafıza bölgesine saldırı kodlarını (shellcode) yazabilmek. Hafızaya yüklenen saldırı kodunu (shellcode) çalıştırabilmek. İkinci madde ile ilgili önlem olarak akla Microsoft Windows sistemleriyle birlikte gelen DEP (Data Execution Prevention) özelliği gelmektedir. DEP, programların (örn. IE ) kullandığı hafızanın veri olarak işaretlenen kısımlarındaki saldırı kodlarının çalıştırılmasını engelleyerek saldırıları önleyebilmektedir. Bizim örneğimizde saldırgan, sisteme saldırı kodlarını yükleyebilse bile DEP, çalıştırılmasını engelleyeceği için saldırı gerçekleşmemiş olur. DEP özelliği ,Windows işletim sisteminde varsayılan olarak açık gelmemektedir. Yukarıda anlatılan tipteki saldırılardan korunabilmek veya bu saldırıların etkisini azaltabilmek için DEP, IE için devreye alınmalıdır. Yukarda bahsedilen saldırı çeşidi databinding fonksiyonunun XML etiketleri kullanılarak sistemlere saldırılmasını ele almaktadır. Ama açıklık sadece XML kodları ile yayılmamaktadır. XML etiketleri kullanmadan da databinding fonksiyonu sömürülerek sistemlere saldırılabilir. Bir başka saldırı yöntemi de Microsoft Ofis yazılımları içinde yerleştirilen ActiveX kodlarının kullanılmasıdır. Bu yöntemde kurbanın zararlı web sitesini ziyaret etmesi gerekmez. E-posta veya anında mesajlaşma yazılımları (MSN,Yahoo,Gtalk,Skype) ile gönderilen MS Word veya Excel belgesinin açılması, sistemin ele geçirilmesi için yeterli olmaktadır. Bu saldırıdan korunabilmek için MS Ofis yazılımlarının güncellenmesi, bilinmeyen kişiler tarafından gönderilen eklentilerin açılmaması ve alınan her belgenin antivirus yazılımları ile taranması tavsiye edilmektedir. Antivirüs firmaları bu açıklığı kullanan virus/wormların hızla yayıldığını bildirmektedirler. McAfee firması antivirus imzalarında bu saldırı Exploit-XMLhttp.d , JS/Exploit-BO.gen, Downloader-AZN ve türevleri olarak görünmektedir. [4][5][6] * Windows 2000 SP4 üzerinde çalışan Internet Explorer 5.0 , 5.01, 5.5 , 6.0 ve 6.0 SP1. Windows XP SP2 ve SP3 , Windows XP Pro (32/64 bit ), Windows XP Pro (32/64 bit ) SP2 , Windows 2003 Server SP1 ve SP2 (32/64 bit) üzerinde çalışan Internet Explorer 6. Windows XP SP2 ve SP3 , Windows XP Pro (32/64 bit ), Windows XP Pro (32/64 bit ) SP2 , Windows 2003 Server SP1 ve SP2 (32/64 bit) , Windows Vista ve Windows Vista SP1 (32/64 bit), Windows Server 2008 (32/64 bit) üzerinde çalışan Internet Explorer 7. Windows XP SP2 ve SP3 , Windows XP Pro (32/64 bit ), Windows XP Pro (32/64 bit ) SP2 , Windows 2003 Server SP1 ve SP2 (32/64 bit) , Windows Vista ve Windows Vista SP1 (32/64 bit), Windows Server 2008 (32/64 bit) üzerinde çalışan Internet Explorer 8 beta 2. 3. Örnek bir saldırı Açıklığın ne kadar ciddi olduğunu göstermek için örnek bir saldırı gerçekleştireceğiz. Saldırı adımları şunlardır: * Bu saldırıda önce http://10.8.2.4/ie7.html adresinde saldırgan web sitesini hazırlayacağız. Bu sayfada açıklığa sebep olan XML etiketleri bulunacaktır. Daha sonra kurban bilgisayardan (IP adresi 10.8.99.13 ) hazırlamış olduğumuz web sitesini IE ile ziyaret edeceğiz. Sadece web sayfasının açılması ile saldırgan kurban bilgisayara uzaktan erişim sağlayacaktır. Daha sonra kurbanın masaüstüne saldırının kanıtı olarak benioku.txt dosyası oluşturacağız. Saldırı videosuna buradan ulaşabilirsiniz. Örnek saldırımızda sadece kurbanın masaüstüne benioku.txt dosyası oluşturduk , fakat kötü niyetli bir saldırganın böyle bir saldırı sonucunda uzaktaki bir bilgisayarda yapabileceklerine birkaç örnek: * Her türlü bankacılık, msn/yahoo/skype, kurumsal e-posta, kablosuz ağ… şifrelerinin çalınması Kişisel e-postalar, adres defteri, fotoğraflar, özel dosyalar gibi hassas bilgilerin ele geçirilmesi Sisteme virüs,trojan,keylogger gibi zararlı programların yüklenmesi. Sisteme yönetici yetkisinde yeni kullanıcıların eklenmesi veya mevcut kullanıcıların silinmesi. Uzak Masaüstü bağlantısı (RDP) , VNC gibi herhangi bir uzaktan yönetim programınınyüklenerek uzaktan erişim sağlanması. Böylece sistemlere daha sonra yama uygulansa bile saldırganların sisteme hala erişimi olacaktır. Tüm hard disklerin silinmesi formatlanması veya bilgileri kullanılamaz hale getirilmesi 4. Önlemler Microsoft firması açıklık duyudulduktan 8 gün sonra 17.12.2008 tarihinde ms08-78 numaraları yamayı yayınladı. Konu ile ilgili firmanın duyurusuna http://www.microsoft.com/technet/security/bulletin/ms08-078.mspx adresinden ulaşılabilir. [7] Internete bağlı sistemlerin http://windowsupdate.microsoft.com adresinden bu yamayı yüklenmesi tavsiye edilmektedir. Internete doğrudan bağlı olmayan sistemler için http://support.microsoft.com/kb/960714 adresinden yamaların indirilerek sistemlere uygulanması tavsiye edilmektedir. [9] Bu açıklığın olmadığı bir tarayıcının kullanılması bu saldırıyı önleyecektir. Kullanılabilecek alternatif web tarayıcılardan bazıları Firefox , Opera , Google Chrome , Safari olarak sayılabilir. Bu özellik ve nasıl devreye alınacağı ile ilgili ayrıntılı bilgi http://blogs.msdn.com/michael_howard/archive/2006/12/12/update-on-internet-explorer-7-dep-and-adobe-software.aspx adresinden edinilebilir. [10] [11] Saldırı Tespit/Önleme Sistemlerinin imza veritabanlarını güncelleyerek saldırı ile ilgili imzaların eklenmesi ve saldırıların kurum bünyesine girmeden saldırı önleme sistemleri tarafından engellenmesi. Yayınlanan saldırı kodları için Snort imzaları http://www.emergingthreats.net/cgi-bin/cvsweb.cgi/sigs/CURRENT_EVENTS/CURRENT_IE_0Day adresinden elde edilebilir. [12] Diğer saldırı tespit sistemlerinin yamaları da üretici firmaların sayfalarından edinilebilir. Yaygın kullanılan saldırılarda saldırının ikinci aşamasında ele geçirilen sistemin saldırganların web sitelerine bağlanarak zararlı kodların indirilmesi sağlanmaktadır. Güvenlik duvarları gibi sınır koruma bileşenleri üzerinde bu sitelere erişimin engellenmesi Sitelerin listesi http://www.shadowserver.org/wiki/pmwiki.php?n=Calendar.20081210 adresindedir. [13]
4.6 IE8 için databinding özelliğinin devre dışı bırakılması 4.7 Internet Explorer için XML island özelliğinin devre dışı bırakılması 4.8 OLEDB32.DLL dosyasının unregister edilmesi ya da ACL uygulanması Saygılar.. Düzenleyen megabros - 24-08-2009 Saat 00:15 |
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Açık Forumda Anketlerde Oy Kullanma |