23 Eki, 2023

Web Uygulamalarında Sızma Testi Adımları ve İpuçları

Sızma Testi Nedir?

Sızma testi, bir sistemin veya hedefin gerçek bir saldırıya karşı ne kadar savunmasız olduğunu göstermek için sistemlere, ağlara ve cihazlara yapılan saldırılarda sistemlerin ve ağların güvenliğini belirlemek için kullanılan bir sistem kontrol mekanizmasıdır.

Web Uygulamalarında Sızma Testi Önemi ve Test Türleri:

Web uygulamaları, bir oluşumun kimliğini yansıtan önemli unsurlardan biridir. Bu nedenle, kurumsal bilgi güvenliğini sağlamak amacıyla yapılan sızma testlerinde, ilk olarak göz önünde bulundurulması gereken bölüm, kurumun web uygulamalarıdır. Web uygulamaları üzerinde gerçekleştirilen sızma testleri, testin kapsamına ve uzmana sunulan bilgilere bağlı olarak üç farklı şekilde sınıflandırılabilir. Bu sınıflandırmalar şunlardır: Siyah kutu sızma testleri, beyaz kutu sızma testleri ve gri kutu sızma testleri. 

Siyah kutu testi kısaca uygulamanın arkasında nasıl bir sistem çalıştığını bilmeden test etmektir. Normal bir kullanıcı gibi test ederiz. Fonksiyonların, birimlerin arkasındaki kodun nasıl çalıştığını bilmeden yaptığımız bir testtir. Bu testte önemli olan şeyler girdiler ve çıktılardır. 

Beyaz kutu testi tıpkı ismi gibi beyaz bir kutu içerisinden bakılarak sistemin iç yapısının bilinerek test senaryolarının tasarlandığı tekniktir. Bu yöntemdeki ana amaç siyah kutu yaklaşımına göre kuruma daha fayda sağlanır. Zafiyetleri bulmak kolaylaşır ve önlem alınması için geçen süre de azalmaktadır. Aynı zamanda yanlış bir işlem yapılmadan sisteme zarar verilmeden işlemin tamamlanmasına olanak sağlar.

Diğer bir sızma testi türü olan gri kutu sızma testlerinde ise, hem siyah kutu testi hem de beyaz kutu karması bir testtir. Testte elimizde sistem verileri bulunurken aynı zamanda sistem çalışırken testler gerçekleştirilir. Bu sayede dinamik analiz uygulanır. Bundan dolayı sistem hem çalışma anında dinamik olarak test edilirken iç yapısı da statik analizle incelenir. Bu şekilde hem kaynak kodunun hem de çalışma anındaki davranışların dikkate alındığı kapsamlı bir sızma testi gerçekleştirilmiş olur.

Web Sızma Testi Adımları:

sizma-testi-sureci

Anlaşma Öncesi Etkileşim (Kapsam Belirleme):

Testte kullanılacak yöntem ve araçların açıklanması; sınırlarımız, testin tamamlanması için anlaşılan süre, nelerin test edileceği ve kapsamda belirtilmeyen şeyler için ek desteğin test yaptıracak kuruma bildirilmesi ve onayın alınması.

Bilgi Toplama:‍

Bilgi toplama aşaması (OSINT), kapsamlı bir güvenlik değerlendirmesi yapmak için hedefle ilgili mümkün olan tüm bilgilere ulaşma sürecidir. Bu süreçte internet üzerinde teknik ve teknik olmayan yöntemler kullanılarak, hedef şirket veya sistem hakkında bilgi toplanır. Bu aşamanın amacı bir yol bulduğumuzda saldırı için en uygun rotasyonun oluşturulması ve sağlam bir başlangıç yapmak için gereklidir.

Zafiyet Tarama:

Bu aşamada, hedef web uygulamasındaki yaygın olarak bilinen güvenlik açıklarını anlamak, kontrol altına almak ve ardından aramak amacıyla sızma testi gerçekleştirmek için otomatik araçlar kullanılır. Bu aşamanın amacı, otomatik zafiyet tarama araçlarını kullanarak, hedef sisteme zarar vermeden zafiyetleri tespit etmek ve bu zafiyetleri, bilinen istismar yöntemlerini kullanarak kontrol altına almaktır. Tarama sonuçları, yanlış pozitifleri ve yanlış negatifleri ortadan kaldırmak için bir penetrasyon test cihazı tarafından doğrulanır. Zafiyet tespiti ve analizi sonucunda hedef sistemin tehlikeye girme olasılığı ve senaryosu belirlenir.

‍İstismar:

Hedef sistemin ve güvenliğinin testi, zafiyet taraması sonrasında tespit edilen zafiyetlerden faydalanılmaya çalışılarak gerçekleştirilir. Hedef sisteme erişim sağlamak ve mümkün olduğu kadar fazla bağlantı erişimi elde etmek için güvenlik önlemlerini atlamaya çalışır. Testler, belirlenen güvenlik açıklarından yararlanmak için uygun araçlar kullanılarak veya oluşturularak hedef sistemde gerçekleştirilir. 

İstismar sonrası:

Ele geçirilen makinenin barındırdığı bilgilerin değerinin belirlenmesi ve makinenin ağdaki diğer hedeflerde kullanılması için kontrolünün sürdürülmesi gerekmektedir.

Raporlama:

Raporda testle ilgili tüm teknik detaylara ve test yapılması için üzerinde anlaşılan varlıklar ve bileşenlere yer verilmesi gerekmektedir. Kapsam için anlaşılan seçenek, elde edilen bilgiler, uygulanan saldırı tekniği, kullanılan yöntemler, etki ve risk derecesi ile sistem nasıl iyileştirilir gibi önerilerini içermelidir.

Temizlik:

Temizlik aşamasında sızma testi uygulanırken kullanılan ve sisteme yüklenen bütün uygulamaların kaldırılmasıdır.

Web Uygulama Penetrasyon testlerinde analizi yapılan saldırılar:

Cross-site Scripting (XSS) Saldırıları

SQL Enjeksiyon Saldırıları (SQL Injection)

Bozuk Kimlik Doğrulama ve Oturum Yönetimi (Broken Authentication and Session Management)

Dosya Yükleme Zafiyeti (File Upload Vulnerability)

Sunucularda Önbellek Zehirleme Zafiyeti (Caching Servers Attacks)

Güvenlik Yanlış Yapılandırması (Security Misconfigurations)

Siteler Arası İstek Sahteciliği (Cross Site Request Forgery)

Directory Traversal Saldırıları

Web Uygulama Pentest İpuçları:

  1. Takım Eğitimi

Takım oluşturulurken alanında yetkin kişileri ekiplere alıp ardından kapsam dahilinde bilinmesi gereken püf noktaları bu ekip arkadaşlarına eğitim olarak göstermek işin ilerleyişi ve başarı oranı açısından en önemli ipuçları arasında yer almaktadır. Bu eğitimler, çalışanların güvenlik politika ve prosedürlerini anlamalarına, güvenlik açıklarını tespit etmeye daha duyarlı olmalarına ve güvenlik ihlallerini önlemeye yönelik daha etkin bir şekilde katkıda bulunmalarına yardımcı olacaktır. 

  1. Kapsam Belirleme

Web uygulama güvenlik testi sürecinde özellikle müşteri veya işverenle önceden belirlenen ve yazılı olarak onaylanan kapsamın kesinlikle dışına çıkmamak, çıkılacaksa işverenden onay alınması sıkı bir şekilde uygulanması gereken bir prensiptir. 

  1. Otomasyon Araçları Kullanma

Güvenlik testlerine başlarken otomasyon araçlarını (Burp Suite, Nessus gibi) kullanarak hızlı bir başlangıç yapmak, güvenlik testlerinin verimliliğini artırmak ve başlangıçta tespit edilebilecek temel güvenlik zayıf noktalarını tespit etmek için önemlidir. Bu araçlar, otomatik tarama ve analiz yetenekleri sunar ve böylece manuel olarak tespit edilmesi zor olan potansiyel tehditleri daha hızlı bir şekilde belirlememize olanak tanır.

  1. OWASP Top 10 İnceleme

Web uygulama güvenliği testlerine başlarken, Open Web Application Security Project (OWASP) tarafından belirlenen en yaygın web uygulaması güvenlik açıklarını içeren OWASP Top 10 listesini incelemek kritik bir adımdır. Bu liste, web uygulamalarının karşılaştığı en yaygın güvenlik zayıf noktalarını tanımlar ve bu zayıf noktaların kullanılmasını önlemeye yönelik önlemler sunar.

2017-2021

  1. Veri Girişlerini Kontrol Etme

Web uygulama güvenlik testi sırasında, veri girişlerini kontrol etmek önemlidir. Veri girişleri için örnek vermek gerekirse:

Veri Giriş Sınırları: Veri girişlerinin sınırlarını test etmek gerekmekte taşma veya sınır sorunlarına karşı olası bir saldırıyı engellemek için sınırlandırılmalıdır.

Özel Karakterler: Özel karakterleri (“,’) ekleyerek güvenlik açıklarını tespit edilmesi gerekmekte, örneğin SQL enjeksiyonu karakterleri.

Geçersiz Veriler: Beklenmeyen veya geçersiz verilerle nasıl başa çıkıldığı değerlendirilmeli.

Form Alanları Manipülasyonu: Beklenmeyen veri türleri (img yerine php) veya boyutları göndererek form alanlarının tepkisini test edilmesi.

Uygunsuz İçerik Denemeleri: XSS açıkları için HTML veya JavaScript kodları eklenmesi.

İşlevsiz Veri Gönderme: Boş veya gereksiz verilerle uygulamanın yanıtını incelenmesi.

Uzun ve Karmaşık Girişler: Uygulamanın uzun ve karmaşık verilere nasıl tepki verdiğini değerlendirilmesi.

Bu adımlar biz teste başlamadan aklımızda bulunması gereken ipuçlarından birkaçıdır.

  1. Raporlama İçin İpuçları

    1. Açık ve Kısa Başlık Kullanmak:

    Hazırlanan raporun başlığı, raporun amacını ve içeriğini açıkça ifade etmelidir. Başlığa bakarak raporun ne hakkında olduğunu açıkça anlaşılmalıdır.

    1. Özet Sunmak:

    Raporun başında kısa bir özet sunarak okuyuculara hızlı bir genel bakış sağlanmalıdır. Bu özet, raporun ana bulgularını ve sonuçlarını özetlemelidir.

    1. Doğru ve Nesnel Dil Kullanmak:

    Raporumuzu yazarken, dilimiz açık, doğru ve nesnel olmalı. Ayrıca, teknik terimleri açıklamalıyız veya gerekliyse tanımlamalıyız.

    1. Özgünlük ve Kaynaklar:

    Raporumuzda kullanılan verilerin ve bilgilerin kaynaklarını belirtmeliyiz. Bu raporumuzun güvenilirliğini artırır.

    1. Görseller Kullanmak:

    İstatistikler, grafikler, tablolar ve şema gibi görsel unsurlar kullanarak verileri daha anlaşılır hale getirmeliyiz. Görseller, karmaşıklığı azaltabilir ve önemli bilgileri vurgulayabilir.

    1. Anahtar Noktaları Vurgulamak:

    Anahtar bulguları ve önerileri vurgulamak için metin içinde kalın veya italik yazılarak veya renkli metinler kullanarak dikkat çekebiliriz.

    1. Mantıklı Bir Yapı Kullanmak:

    Raporumuzu mantıklı bir yapıda düzenlemeliyiz. İlk önce ana konuları ele almalı ve ardından bu konuları daha fazla detayla açıklamalıyız. Bu sayede okuyucuların raporu takip etmelerini kolaylaştırmış oluruz.

    1. Teknik Ayrıntıları İyi Bir Dengeyle Sunmak:

    Teknik ayrıntıları verirken, raporumuzun hedef kitlesi göz önünde bulundurarak dengelemeliyiz. Teknik uzmanlar için derinlemesine bilgi sunarken, daha genel okuyucular için açıklayıcı ve anlaşılır olmalıyız.

    1. Somut ve Örneklerle Desteklemek:

    Bir sorunu veya öneriyi somut örnekler ve kanıtlarla desteklemeliyiz. Bu, okuyucuların daha iyi anlamalarına ve kabul etmelerine yardımcı olur.

    1. İletişim Kanallarını Açık Tutmak:

    Raporunuzun sonunda, okuyucuların herhangi bir soru sorması veya daha fazla bilgi alması için iletişim bilgilerinizi eklemeliyiz.

    1. Sonuç ve Özetleme:

    Raporunuzun sonunda, ana sonuçları ve iyileştirme önlemlerini özetleyin. Okuyuculara raporun genel önemini bir kez daha hatırlatın. Bu sayede hem verimli hem de anlaşılır bir rapor yazmış oluruz.

Siber Güvenlik, Dijital Dönüşüm, MSSP, Sızma Testi, KVKK, GDPR, ISO 27001, ISO 27701 ve DDO Bilgi ve İletişim Güvenliği Rehberi başlıklarıyla ilgili teklif almak için lütfen tıklayın.

İçerik Hakkında:
Web uygulamalarında sızma testi önemi, adımları ve test türleri hakkında detaylı bilgiye içeriğimizden ulaşabilirsiniz.
Sosyal Medyada Paylaş:
Facebook
Twitter
LinkedIn
Telegram