DLL Ele Geçirme Güvenlik Açığı Saldırıları, Önleme ve Tespiti

DLL , Dinamik Bağlantı Kitaplıkları(Dynamic Link Libraries) anlamına gelir ve Windows veya başka herhangi bir işletim sisteminde çalışan uygulamaların harici parçalarıdır . Çoğu uygulama kendi içinde tam değildir ve kodu farklı dosyalarda saklar. Eğer koda ihtiyaç varsa ilgili dosya belleğe yüklenir ve kullanılır. Bu, RAM(RAM) kullanımını optimize ederken uygulama dosya boyutunu küçültür . Bu makale, DLL Hijacking'in(DLL Hijacking) ne olduğunu ve nasıl tespit edilip önleneceğini açıklamaktadır.

DLL Dosyaları(Files) veya Dinamik Bağlantı Kitaplıkları Nedir?(Dynamic Link Libraries)

DLL Ele Geçirme

DLL dosyaları Dinamik Bağlantı Kitaplıklarıdır(Dynamic Link Libraries) ve adından da anlaşılacağı gibi farklı uygulamaların uzantılarıdır. Kullandığımız herhangi bir uygulama belirli kodları kullanabilir veya kullanmayabilir. Bu tür kodlar farklı dosyalarda saklanır ve yalnızca ilgili kod gerektiğinde çağrılır veya RAM'e yüklenir. (RAM)Böylece, bir uygulama dosyasını çok büyük olmaktan ve uygulama tarafından kaynak israfını önlemek için kaydeder.

DLL dosyalarının yolu , Windows işletim sistemi tarafından belirlenir . Yol, Global Çevresel Değişkenler(Global Environmental Variables) kullanılarak belirlenir . Varsayılan olarak, bir uygulama bir DLL dosyası isterse, işletim sistemi uygulamanın depolandığı klasöre bakar. Orada bulunamazsa, global değişkenler tarafından ayarlanan diğer klasörlere gider. Yollara bağlı öncelikler vardır ve bu, Windows'un (Windows)DLL'leri(DLLs) hangi klasörlerde arayacağını belirlemesine yardımcı olur . DLL kaçırmanın geldiği yer burasıdır .

DLL Ele Geçirme Nedir?

DLL'ler(DLLs) uzantılar olduğundan ve makinelerinizdeki hemen hemen tüm uygulamaları kullanmak için gerekli olduğundan, açıklandığı gibi bilgisayarda farklı klasörlerde bulunurlar. Orijinal DLL dosyası, kötü amaçlı kod içeren sahte bir DLL dosyasıyla değiştirilirse, (DLL)DLL Hijacking olarak bilinir .

Daha önce de belirtildiği gibi, işletim sisteminin DLL dosyalarını nerede aradığına ilişkin öncelikler vardır. İlk(First) önce uygulama klasörüyle aynı klasöre bakar ve ardından işletim sisteminin ortam değişkenleri tarafından belirlenen önceliklere göre aramaya başlar. Bu nedenle, SysWOW64(SysWOW64) klasöründe bir good.dll dosyası varsa ve birisi bad.dll'yi SysWOW64 klasörüne göre daha yüksek önceliğe sahip bir klasöre yerleştirirse , işletim sistemi, DLL ile aynı ada sahip olduğu için bad.dll dosyasını kullanır. uygulama tarafından talep edilmiştir. RAM'e(RAM) girdikten sonra dosyada bulunan kötü amaçlı kodu çalıştırabilir ve bilgisayarınızı veya ağlarınızı tehlikeye atabilir.

DLL Ele Geçirme nasıl tespit edilir

DLL ele geçirmeyi tespit etmenin ve önlemenin en kolay yolu, üçüncü taraf araçları kullanmaktır. Piyasada bir DLL hack girişimini tespit etmeye ve bunu önlemeye yardımcı olan bazı iyi ücretsiz araçlar bulunmaktadır.

Böyle bir program DLL Hijack Auditor'dır(DLL Hijack Auditor) , ancak yalnızca 32 bit uygulamaları destekler. Bilgisayarınıza yükleyebilir ve hangi uygulamaların DLL(DLL) ele geçirmesine karşı savunmasız olduğunu görmek için tüm Windows uygulamalarınızı tarayabilirsiniz . Arayüz basit ve açıklayıcıdır. Bu uygulamanın tek dezavantajı 64 bit uygulamaları tarayamamanızdır.

DLL ele  geçirmeyi algılamak için başka bir program olan DLL_HIJACK_DETECT GitHub aracılığıyla kullanılabilir . Bu program, herhangi birinin DLL(DLL) ele geçirmeye karşı savunmasız olup olmadığını görmek için uygulamaları kontrol eder . Varsa, program kullanıcıyı bilgilendirir. Uygulamanın iki sürümü vardır - x86 ve x64 , böylece her birini sırasıyla hem 32 bit hem de 64 bit uygulamaları taramak için kullanabilirsiniz.

Yukarıdaki programların yalnızca Windows platformundaki uygulamaları güvenlik açıkları için taradığını ve aslında DLL dosyalarının ele geçirilmesini engellemediğini belirtmek gerekir.

DLL Ele Geçirme nasıl önlenir

Güvenlik sistemlerinizi güçlendirmek dışında yapabileceğiniz pek bir şey olmadığından, sorun ilk etapta programcılar tarafından çözülmelidir. Göreli bir yol yerine programcılar mutlak bir yol kullanmaya başlarsa, güvenlik açığı azaltılacaktır. Mutlak yolu okumak, Windows veya başka herhangi bir işletim sistemi, yol için sistem değişkenlerine bağlı olmayacak ve doğrudan amaçlanan DLL için gidecek , böylece aynı DLL adını daha yüksek öncelikli bir yola yükleme şansını ortadan kaldıracaktır. Bu yöntem de hatasız değildir çünkü sistem tehlikeye girerse ve siber suçlular DLL dosyasının tam yolunu biliyorsa orijinal(DLL) DLL'yi sahte DLL(DLL) ile değiştirirler .(DLL). Bu, orijinal DLL'nin(DLL) kötü amaçlı koda dönüştürülmesi için dosyanın üzerine yazmak olacaktır . Ancak yine, siber suçlunun DLL dosyasını(DLL) çağıran uygulamada belirtilen kesin yolu bilmesi gerekecektir . Süreç siber suçlular için zorludur ve bu nedenle güvenilebilir.

Yapabileceklerinize geri dönersek, Windows sisteminizi daha iyi güvenceye almak(secure your Windows system) için güvenlik sistemlerinizi büyütmeye çalışın . İyi bir güvenlik duvarı(firewall) kullanın . Mümkünse, bir donanım güvenlik duvarı kullanın veya yönlendirici güvenlik duvarını açın. Bilgisayarınızla oynamaya çalışan birinin olup olmadığını anlamak için iyi izinsiz giriş tespit sistemleri kullanın.

Bilgisayarlarda sorun giderme ile ilgileniyorsanız, güvenliğinizi artırmak için aşağıdakileri de gerçekleştirebilirsiniz:

  1. Uzak ağ paylaşımlarından DLL(DLL) yüklemesini devre dışı bırak
  2. WebDAV'dan (WebDAV)DLL dosyalarının yüklenmesini devre dışı bırak
  3. WebClient hizmetini tamamen devre dışı bırakın veya manuel olarak ayarlayın
  4. (Block)Bilgisayarları tehlikeye atmak için en çok kullanıldığı için 445 ve 139 numaralı TCP bağlantı noktalarını (TCP)engelleyin
  5. İşletim sistemi ve güvenlik yazılımı için en son güncellemeleri yükleyin.

Microsoft , DLL yük kaçırma saldırılarını engellemek için bir araç yayımladı . Bu araç, uygulamaların DLL(DLL) dosyalarından güvenli olmayan bir şekilde kod yüklemesini önleyerek DLL ele geçirme saldırıları riskini azaltır .

Makaleye eklemek istediğiniz bir şey varsa, lütfen aşağıya yorum yapın.(If you would like to add anything to the article, please comment below.)



About the author

10 yılı aşkın deneyime sahip bir bilgisayar uzmanıyım. Boş zamanlarımda, bir ofis masasında yardım etmeyi ve çocuklara interneti nasıl kullanacaklarını öğretmeyi severim. Becerilerim pek çok şeyi içeriyor ama en önemlisi, insanların sorunları çözmelerine nasıl yardım edeceğimi biliyorum. Acil bir konuda size yardımcı olabilecek birine ihtiyacınız varsa veya sadece bazı temel ipuçları istiyorsanız, lütfen bana ulaşın!



Related posts