Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Internet Explorer XML Databinding Açıklığı
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Internet Explorer XML Databinding Açıklığı

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Internet Explorer XML Databinding Açıklığı
    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]
2.    Etkilenen sistemler

*

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
4.1 Sistemlerin yamanması

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]
4.2 Başka web tarayıcılarının kullanılması

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.
4.3 Internet Explorer için DEP özelliğinin devreye alınması

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]
4.4 Saldırı tespit/önleme sistemlerinin güncellenmesi

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.
4.5 Zaafiyeti sömüren sitelere erişimin kısıtlanması

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
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.156 Saniyede Yüklendi.