Exploit (İngilizce’de to exploit – “kötüye kullanmak”), bir program, donanım veya elektronik olan herhangi bir şeyin içinde bulunan hata veya açıktan dolayı beklenmedik ve istediksiz davranış göstermesine neden olan, bir program veya bir dizi koda denir. Bilgisayar sistemini ele geçirme buna örnek olarak gösterilebilir.
Genel Bakış
Bir Exploit genellikle Açığa Gösteriş olarak yazılır ve Internet’de yayınlanır. Bu yapılan uzman dilinde “Proof of Concept” olarak adlandırılır. Bunun sayesinde, Software Üreticisi hızlı bir şekilde açığı bilmeli ve gerekeni yapmalı. Exploitin niteliği teorik olarak exploit olarak adlandırılıyor. Ekseriya exploitler devreye giriyor,mesela bir bilgisayar program kodu ile Data birbirinden ayırmazsa. Böylece mesela bir Buffer Overflow Saldırganın kodu yanlış hafızaya yazılır ve programın uygulamasında manipule edilir. Bir başka yöntem ise Format String saldırılarıdır, filtre edilmemiş User komutu format fonksiyonu printf() olarak verilir.
Exploit Çeşitleri
Yerel bilgisayarda çalıştırılan exploitler:
Kullandığın bilgisayarda bir herhangi .exe veya .gif vs. dosyalar çalıştırıldığında devreye girer ve yerel bilgisayarda yüklü olan açığa sahip programlar(software) içinde Shellcode’u çalıştırır ve kötü amaçlı kodu enjekte eder. Bunun sayesinde saldırgan bilgisayar üzerinde yüksek haklara sahip olur.
Karşı bilgisayardan çalıştırılan exploitler:
İnternet’ten veya bir yerel ağdan üzerinden çalıştırılan exploitlerdir. Bilgisayarda bulunan güvenlik açıklarını kullanarak, saldıraya açık(vulnerable) sisteme erişim sağlanır.
Hizmeti engellemek için yapılan saldırılarda kullanılan exploitler:
İngilizce de DoS(Denial of Service Attack) adıyla geçen exploit türüdür. Hedefi sunucu veya bilgisayarı durdurmak veya yavaşlatmak için yapılan saldırılardır.
Komut çalıştırılarak yapılan exploitler:
Program kodu ile hedef sistemde uygulanır. Böyle bir exploit’in doğru şekilde çalıştırılabilmesi için programcı veya saldırgan, saldırılacak olan programı iyi bilmesi gerek. Bu bilgileri açık-kaynaklı bir program ile test ederek edinir. Tehlikeli bir exploit türüdür. Bu exploit sayesinde tüm sistem ele geçirilebiliyor.
SQL enjekte edilerek yapılan exploitler:
Bu exploit, SQL kodunu kullanan herhangi bir site veya programda gerçekleştirilebilir. Bu exploit sayesinde kişi veritabanındaki bütün verileri alabilir, düzenleyebilir en kötüsü (yedek alınmamış ise) silebilir. İnternet’teki çoğu site SQL ile desteklenen veritabanları ile yönetilmektedir. Popüler ve tanınan çoğu site buna karşı önlemler almıştır.
Sıfır-günlük(daha yeni çıkmış manasında) exploitler:
Bu tür exploitler, program veya script’in çıktığı gün çıkarlar. Hacker ve benzeri kişiler, program/script’in yeni sürümü çıktığı anda onun içinde açık ararlar ve bulduklarında gün içerisinde internete yayarlar.
Karşı Önlem
Çeşitli Teknik korunmalar var, messela hafıza korunması. Bunlar sadeçe belirli Kullanım tekniklerini önler, fakat bir Güvenlik açıgından korunma imkânsız. Kısmen olarak Intrusion Detection System sayesinde bir saldırı tespit edilebilir veya intrusion prevention systemsayesinde belki bir Saldırı önlenebilir. Genel Problem ise yanlıs Programlama. Tek çare ise Işlem Hatasından kaynaklanan Güvenlik açıklarını geliştirmede önleme.


Eline sağlık
bu makaleyi 2007 yilinda ben yazdim