|
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.
Şekil-1 Açıklığa sebep olan kod parçacığı
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 0x0a0a0a0a 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ı
5.
Referanslar
-
http://www.avertlabs.com/research/blog/index.php/2008/12/09/yet-another-unpatched-drive-by-exploit-found-on-the-web/
-
http://www.microsoft.com/technet/security/advisory/961051.mspx
-
http://msdn.microsoft.com/en-us/library/ms752347.aspx
-
http://vil.nai.com/vil/content/v_153557.htm
-
http://vil.nai.com/vil/content/v_130621.htm
-
http://vil.nai.com/vil/content/v_135238.htm
-
http://www.microsoft.com/technet/security/bulletin/ms08-078.mspx
-
http://windowsupdate.microsoft.com
-
http://support.microsoft.com/kb/960714
-
http://blogs.msdn.com/michael_howard/archive/2006/12/12/update-on-internet-explorer-7-dep-and-adobe-software.aspx
-
http://www.microsoft.com/windows/windows-vista/features/IE7-protected-mode.aspx
-
http://www.emergingthreats.net/cgi-bin/cvsweb.cgi/sigs/CURRENT_EVENTS/CURRENT_IE_0Day
-
http://www.shadowserver.org/wiki/pmwiki.php?n=Calendar.20081210
-
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4844
-
http://www.bilgiguvenligi.gov.tr/guvenlik-bildirileri-kategorisi/microsoft-internet-explorer-uzaktan-kod-calistirma-acikligi.html
-
http://www.breakingpointsystems.com/community/blog/patch-tuesdays-and-drive-by-sundays
-
http://blogs.technet.com/msrc/archive/2008/12/16/advance-notification-for-december-2008-out-of-band-release.aspx
-
http://www.securityfocus.com/bid/32721
-
http://www.kb.cert.org/vuls/id/493881
-
http://www.networkworld.com/news/2008/120908-new-web-attack-exploits-unpatched.html?fsrc=rss-security
-
http://secunia.com/advisories/33089/
-
http://secunia.com/blog/38/
-
http://vrt-sourcefire.blogspot.com/2008/12/span-heap-and-esoteric-memory-buggery.html
-
http://vrt-sourcefire.blogspot.com/2008/12/rootkit-takes-advantage-of-ms08-078.html
-
http://www.snort.org/vrt/advisories/vrt-rules-2008-12-11.html
-
http://securitylabs.websense.com/content/Blogs/3263.aspx#
-
http://phreedom.org/presentations/heap-feng-shui/
-
http://research.eeye.com/html/alerts/zeroday/20081209.html
-
http://support.nortel.com/go/main.jsp?cscat=BLTNDETAIL&DocumentOID=814044&poid=
-
http://support.avaya.com/elmodocs2/security/ASA-2008-510.htm
Favori olarak ekle (0) | Görüntüleme sayısı: 2136
Sadece kayıtlı kullanıcılar yorum yazabilir. Lütfen sisteme giriş yapın veya kayıt olun. |