BUG RESEARCHER NEDİR?
Herkese merhaba. Bu haftaki yazımın konusu bug researcher. Öncelikle bug researcher teriminin anlamıyla başlayalım.
İngilizce bir terim olan bug researcher’daki bug kelimesi Türkçe’de böcek anlamına gelmektedir. Yazılım alanında ise hata anlamında kullanılmaktadır. Researcher kelimesi ise araştırmacı anlamına gelmektedir. Birlikte incelendiğinde bu iki kelimeden oluşan bug researcher terimi “hata arayan kişi” olarak Türkçe’ye çevrilebilir.
Bug researcherların görevi hata aramaktır. Her kod yapısı gereği bug barındırır. Bug researcherların görevi web sitelerinde ya da web programlarında yer alan bu hataları bulmaktır. Bug researcherlar web sitelerinde (ya da uygulamalarında) hata aramak için gerek duydukları kelimeleri ezberlemişlerdir. Buna rağmen hatayı bulmak zaman alabilir.
Bug researcherlar hatayı programın kodlarında arar. Kodların uzunluğu ve karmaşıklı değişken olabilir. Bu sebeple hataları ayıklamak bazen kolay bazen ise zordur. Benzer şekilde kodu yazan kişi eğer tecrübeliyse koddaki hatalar daha az ve bulunması daha zordur. Acemi yazılımcılar tarafından yazılan kodlarda ise hatalara daha sık rastlanabilir.
Bug researcherlar iyi niyetli olabildiği gibi kötü niyetli de olabilirler. İyi niyetli bug researcherlar genellikle beyaz şapkalı hecker olarak anılan kişilerdir. Bu kişiler belirli bir ücret karşılığında firmalara hizmet vermektedir. Firmaların bünyesinde çalışabildikleri gibi bağımsız olarak da çalışabilmektedirler.
Kötü niyetli bug researcherlar ise siyah şapkalı hecker olarak adlandırılırlar. Sisteme zarar vermek amacıyla ya da verileri izinsiz ele geçirip fidye istemek amacıyla hata arayabilirler. Firma yetkililerinden habersiz geliştirilen bu eylemler sisteme yapılan birer saldırıdır ve siber suç olarak nitelendirilir.
Bug researcherların amacı sistemdeki açıkları aramaktır. Şimdi bahsettiğimiz bu açıkları inceleyelim.
1-SQL INJECTİON
Öncelikle SQL’in olduğuyla başlayalım. SQL yani Structured Query Language Türkçesiyle Yapılandırılmış Sorgu Dili demektir. Geliştirilmesinin temelinde veri tabanı ile etkileşim amaca yatmaktadır.
SQL injection yani SQLi SQL veri tabanını kullanan sistemleri hedef alan bir enjeksiyon saldırısı türüdür. Bu saldırı türü ile web sitesi veya uygulamasındaki kimlik denetleme ve yönlendirme aşamalarını atlamak mümkündür. Saldırganlar başarılı oldukları takdirde veri tabanındaki bilgilere erişim sağlayabilir, bilgileri kopyalayabilir, yeni şeyler ekleyebilir ve hatta silebilirler.
SQL injectionları genel olarak üç katagoride incelemek mümkün. Bunlar Bant içi SQLi (Klasik), Çıkarımsal SQLi (Kör) ve Bant Dışı SQLi’dir.
SQL injection 1998 li yıllarda konuşulan en eski web saldırı türlerinden biridir. Web siteleri ve web uygulamaları için bilinen en tehlikeli ve en yaygın saldırılardan biridir.
2- CROSS SİTE SCRİPTİNG(XSS)
Cross Site Scripting (Siteler Arası Betik Çalıştırma) yani XSS script kodları üzerinden web sitelerine ya da web uygulamalarına saldırmayı hedefleyen bir saldırı türüdür.
Yazılımcı eğer kullanıcıdan aldığı girdi parametrelerini gerekli filtrelerden geçirmezse XSS zafiyetine yol açmış olur. Sistemde XSS zafiyeti olduğu taktirde saldırgan, kullanıcı gibi sisteme girebilir ve kullanıcının yetkisi dahilinde sisteme zarar verebilir.
Saldırganlar XSS saldırılarında cookies (çerezler) adı verilen kullanıcı verilerini kullanırlar. Bu noktada saldırgan cookie’lerden ne kadar doğru yararlanırsa saldırısı o kadar başarılı olacaktır.
3- REMOTE FILE INCLUDE
Türkçesiyle uzaktan dosya dahil etme adından da anlaşılacağı üzere bir web sitesi veya uygulamasına uzaktan bir dosya eklememize olanak sağlayan bir açıktır. RFI açıkları çok tehlikelidir. Saldırganların sisteme istedikleri dosyayı sızdırmalarına izin verir. Bu sayede saldırgan zararlı dosyalarını kullanarak sisteme zarar verir. Çok yaygın olamayan bu açığa sahip olan sistemler çok büyük zarara uğrayabilir.
4- CROSS-SITE REQUEST FORGERY
Cross-site Request Forgery (CSRF) Siteler Arası İstek Sahteciliği olarak Türkçeleştirilebilir. Bu açık sayesine saldırganlar sisteme hedef kullanıcıymış gibi sızabilir. Kullanıcının çerez bilgilerini kullanarak kullanıcıyı taklit eden saldırganlar, kullanıcının izni olmaksızın bilgilerini değiştirebilirler.
Genellikle GET resqueleri ve SESSION işlemlerinin doğru kontrol edilmemesinden kaynaklanan açıklardır. Saldırganlar güvenli olmayan bir bağlantı aracılığıyla kullanıcıların bilgilerine ulaşır. Daha sonra ilgili site veya uygulamaya kullanıcının ele geçirilen bilgilerini kullanarak mağdur rolü oynar. Böylece sisteme sızar.
Bu tarz saldırılarda genellikle banka hesaplar, sosyal medya hesapları gibi platformlar hedeflenir.