Sızma Testi (Penetration Test) Nedir?

batuhanunalir

👑Tanınmış üye
Yazar
📅Katılım
27 Tem 2025
💬Mesajlar
1,002
🎭Tepki puanı
148
🏆kupalar
63
🌟Puan
802
💵Bakiye
0TL

Sızma Testi (Penetration Test) Nedir? Web Sitesine Ne Zaman Yapılmalıdır?​

Bir web sitesi yayına alındığında tasarımının düzgün çalışması ve sayfaların hızlı açılması tek başına yeterli değildir. Kullanıcı hesapları, yönetim paneli, veritabanı bağlantıları ve ödeme işlemleri gibi bileşenlerin de güvenli olması gerekir. Yazılımda bulunan bir güvenlik açığı, saldırganların kullanıcı bilgilerine erişmesine, yetkisiz işlemler gerçekleştirmesine veya hizmeti kullanılamaz hâle getirmesine neden olabilir.

Bu riskleri belirlemek için kullanılan yöntemlerden biri sızma testi (penetration test) uygulamasıdır. Sızma testi, bir sistemin güvenliğini değerlendirmek amacıyla önceden belirlenen kapsam ve izinler dahilinde kontrollü saldırı senaryolarının uygulanmasıdır. Amaç, gerçek saldırganlar bu zayıflıklardan yararlanmadan önce güvenlik açıklarını tespit etmek ve düzeltme çalışmalarına yol göstermektir.

Sızma testi yalnızca büyük şirketlerin ihtiyaç duyduğu bir çalışma değildir. E-ticaret siteleri, üyelik sistemleri, kurumsal web uygulamaları, API hizmetleri ve kullanıcı verisi işleyen platformlar da bu testlerden yararlanabilir.

Sızma Testi Nasıl Çalışır?​

Sızma testi sırasında güvenlik uzmanları, saldırganların kullanabileceği yöntemleri kontrollü bir ortamda değerlendirir. Ancak bu süreç rastgele denemeler yapmaktan ibaret değildir. Öncelikle testin hangi sistemleri kapsayacağı, hangi yöntemlere izin verildiği ve hangi işlemlerin kesinlikle yapılmayacağı belirlenir.

Ardından sistem hakkında bilgi toplanır, olası güvenlik zayıflıkları incelenir ve doğrulanabilen bulguların etkisi değerlendirilir. Testin sonunda tespit edilen sorunlar, risk seviyeleri ve önerilen düzeltmeler bir rapor hâlinde sunulur.

Örneğin bir web sitesinde kullanıcıların yalnızca kendi hesaplarına ait siparişleri görüntülemesi gerekir. Eğer uygulama, başka bir siparişin kimliğini değiştiren kullanıcının o siparişe erişmesini engelleyemiyorsa yetkilendirme hatası bulunabilir. Yetkili bir sızma testi bu tür sorunları kontrollü şekilde ortaya çıkarabilir.

Burada önemli olan, bir açığın yalnızca varlığını göstermek değil, oluşturduğu riski güvenli biçimde kanıtlamak ve nasıl giderileceğini açıklamaktır.

Sızma Testi Türleri Nelerdir?​

Sızma testleri hedef sisteme ve testin amacına göre farklı türlere ayrılır.

1. Web uygulaması sızma testi​

Web uygulaması sızma testi, internet üzerinden erişilebilen uygulamaların güvenliğini değerlendirmek için yapılır. Kullanıcı girişleri, oturum yönetimi, erişim izinleri, dosya yükleme alanları ve veri işleme mekanizmaları incelenebilir.

Bu testlerde kimlik doğrulama hataları, yetkilendirme eksiklikleri, güvensiz yapılandırmalar ve yaygın web güvenliği açıkları araştırılır. Özellikle kullanıcı hesabı bulunan ve kişisel veri işleyen sitelerde uygulama güvenliği kritik öneme sahiptir.

2. Ağ sızma testi​

Ağ sızma testi, kurumun ağ altyapısını ve ağ üzerinden erişilebilen servislerini değerlendirir. Açık portlar, gereksiz çalışan servisler, zayıf erişim kontrolleri ve hatalı ağ yapılandırmaları incelenebilir.

Testin iç ağdan mı yoksa dış ağdan mı gerçekleştirileceği önceden belirlenmelidir. Dış ağ testi, internet üzerinden erişilebilen sistemlere odaklanırken iç ağ testi, kurum ağına erişim elde edildiğinde karşılaşılabilecek riskleri değerlendirebilir.

3. API sızma testi​

API'ler, web sitelerinin ve mobil uygulamaların diğer sistemlerle veri alışverişi yapmasını sağlar. Ancak yanlış tasarlanmış bir API, kullanıcıların yetkileri dışında verilere erişmesine veya izin verilmeyen işlemleri gerçekleştirmesine yol açabilir.

API sızma testinde kimlik doğrulama, nesne ve işlev seviyesinde yetkilendirme, veri doğrulama, hız sınırlamaları ve hata mesajları incelenebilir. Özellikle mobil uygulamaların arka planda kullandığı API'ler, uygulamanın arayüzünden bağımsız olarak değerlendirilmelidir.

4. Mobil uygulama sızma testi​

Mobil uygulamalar cihaz üzerinde veri saklayabilir, uzaktaki API'lerle iletişim kurabilir ve kullanıcı oturumlarını yönetebilir. Bu nedenle yalnızca uygulamanın ekranlarını incelemek yeterli değildir.

Mobil uygulama testlerinde yerel veri saklama yöntemleri, ağ iletişimi, kimlik doğrulama mekanizmaları, uygulama izinleri ve sunucu tarafındaki kontroller değerlendirilebilir. Android ve iOS uygulamaları için test kapsamı kullanılan teknolojiye ve uygulamanın mimarisine göre değişir.

5. Bulut ve altyapı sızma testi​

Bulut sistemlerinde yanlış erişim izinleri, açık servisler, hatalı ağ kuralları ve gereğinden fazla yetkiye sahip hesaplar önemli riskler oluşturabilir. Bulut sızma testi, izin verilen kapsam dahilinde bu risklerin değerlendirilmesine yardımcı olur.

Bulut sağlayıcısının hizmet şartları ve test politikaları da dikkate alınmalıdır. Her bulut ortamında her türlü saldırı simülasyonuna izin verildiği varsayılmamalıdır.

Black Box, Gray Box ve White Box Test Nedir?​

Sızma testleri, test uzmanına başlangıçta verilen bilgi miktarına göre de sınıflandırılır.

Black box (kara kutu) testinde uzman, sistemin iç yapısı hakkında sınırlı bilgiyle çalışır. Bu yaklaşım, dışarıdan sisteme erişmeye çalışan bir saldırganın karşılaşabileceği durumu modellemeye yardımcı olur.

Gray box (gri kutu) testinde test uzmanına belirli bilgiler ve sınırlı erişim sağlanır. Örneğin standart bir kullanıcı hesabı verilerek bu hesabın yetkilerinin aşılmasının mümkün olup olmadığı incelenebilir.

White box (beyaz kutu) testinde kaynak kodu, mimari belgeler veya yapılandırmalar gibi daha ayrıntılı bilgiler kullanılabilir. Bu yöntem, dışarıdan kolayca fark edilmeyen tasarım ve uygulama hatalarının incelenmesini kolaylaştırabilir.

Bu yaklaşımlardan biri her koşulda en iyi seçenek değildir. Hangi yöntemin tercih edileceği testin amacı, bütçesi, sistemin karmaşıklığı ve beklenen güvence seviyesine bağlıdır.

Sızma Testi ile Güvenlik Açığı Taraması Arasındaki Fark​

Güvenlik açığı taraması, bilinen zayıflıkları ve yanlış yapılandırmaları otomatik araçlarla tespit etmeye odaklanır. Sızma testi ise bulunan bir zayıflığın gerçekten nasıl bir güvenlik etkisi oluşturabileceğini kontrollü biçimde değerlendirmeyi amaçlar.

Örneğin bir tarama aracı, sunucuda güncel olmayan bir bileşen bulunduğunu bildirebilir. Sızma testi uzmanı ise kapsam dahilinde bu bileşenin hedef sistem açısından ne kadar risk oluşturduğunu araştırabilir.

Bu iki yöntem birbirinin alternatifi değildir. Düzenli güvenlik açığı taramaları sürekli kontrol için kullanılırken sızma testleri daha kapsamlı değerlendirme sağlayabilir. Risk seviyesi yüksek sistemlerde her iki yöntemin birlikte uygulanması faydalıdır.

Bir Web Sitesine Ne Zaman Sızma Testi Yapılmalıdır?​

Sızma testi için tek bir geçerli takvim bulunmaz. Test sıklığı sistemin hassasiyetine, değişikliklerin büyüklüğüne ve maruz kalınan risklere göre belirlenmelidir.

Aşağıdaki durumlarda sızma testi yapılması özellikle değerlendirilebilir:

  • Yeni bir web sitesi veya uygulama yayına alınmadan önce.
  • Ödeme sistemi, kullanıcı girişi veya yetkilendirme altyapısı önemli ölçüde değiştirildiğinde.
  • Yeni bir API veya dış sistem entegrasyonu eklendiğinde.
  • Bulut altyapısı veya ağ mimarisi değiştirildiğinde.
  • Kritik bir güvenlik açığı hakkında yeni bilgiler ortaya çıktığında.
  • Daha önce yaşanan bir güvenlik olayının ardından.
  • Kurumun risk yönetimi, sözleşme veya mevzuat gereksinimleri doğrultusunda.
Düzenli aralıklarla test yapılması da önemlidir. Ancak geçen yıl gerçekleştirilen bir testin bugün aynı güvenlik seviyesini garanti ettiği düşünülmemelidir. Yazılım güncellemeleri, yeni özellikler ve altyapı değişiklikleri yeni riskler ortaya çıkarabilir.

Sızma Testi Nasıl Yapılır?​

Profesyonel bir sızma testi genellikle birkaç temel aşamadan oluşur.

Kapsam belirleme ve izin alma​

İlk aşamada hangi alan adlarının, IP adreslerinin, uygulamaların ve API'lerin test edileceği belirlenir. Testin tarihleri, kullanılabilecek yöntemler, acil durumda iletişim kurulacak kişiler ve sistemlere zarar verebilecek işlemlere ilişkin sınırlar yazılı olarak netleştirilir.

Bir web sitesini internette görüntüleyebilmek, o siteye sızma testi yapma yetkisi vermez. Test yalnızca sistem sahibinin veya yetkili tarafın açık izniyle ve belirlenen kapsam dahilinde yürütülmelidir.

Bilgi toplama​

Uzmanlar, izin verilen kapsamda hedefin mimarisini, kullanılan teknolojileri ve dışarıya açık bileşenlerini inceler. Bu aşamanın amacı test sürecini planlamak ve değerlendirilmesi gereken alanları belirlemektir.

Güvenlik zayıflıklarını belirleme​

Uygulama davranışı, yapılandırmalar ve erişim kontrolleri incelenerek olası güvenlik açıkları belirlenir. Otomatik tarama araçları kullanılabilir ancak bulguların doğrulanması gerekir.

Kontrollü doğrulama​

Tespit edilen sorunların etkisi, sistemin bütünlüğünü ve kullanılabilirliğini koruyacak biçimde değerlendirilir. Gereksiz veri indirme, verileri değiştirme veya hizmet kesintisi oluşturabilecek işlemlerden kaçınılmalıdır.

Raporlama ve düzeltme​

Test raporunda bulgunun açıklaması, etkilenebilecek bileşenler, risk seviyesi, kanıtlar ve önerilen çözüm adımları yer almalıdır. Raporun ardından geliştirme ekibi düzeltmeleri uygular ve gerekli durumlarda yeniden test yapılır.

Sızma Testi Raporunda Neler Bulunmalıdır?​

İyi hazırlanmış bir rapor, yalnızca güvenlik açıklarının isimlerini sıralamamalıdır. Teknik ekiplerin sorunu anlayıp düzeltebilmesine yardımcı olacak ayrıntıları içermelidir.

Raporda genellikle yönetici özeti, test kapsamı, kullanılan yöntemler, tespit edilen bulgular, risk değerlendirmesi ve düzeltme önerileri bulunur. Bulguların önem derecesi belirlenirken olası etki ve istismar edilebilirlik birlikte değerlendirilmelidir.

Ayrıca test sırasında karşılaşılan sınırlamalar belirtilmelidir. Örneğin bazı servisler kapsam dışında bırakılmışsa raporun bütün altyapının güvenli olduğunu kanıtladığı ileri sürülmemelidir.

Düzeltmeler tamamlandıktan sonra yeniden test yapılması, sorunun gerçekten giderilip giderilmediğini doğrulamak açısından önemlidir.

Sızma Testi Fiyatını Neler Etkiler?​

Sızma testi fiyatı; uygulamanın büyüklüğüne, test edilecek bileşen sayısına, kullanıcı rollerine, API kapsamına ve gerekli uzmanlık seviyesine göre değişir. Tek sayfalık basit bir web sitesiyle çok sayıda entegrasyona ve farklı yetki seviyelerine sahip bir platformun test gereksinimleri aynı değildir.

Teklif değerlendirilirken yalnızca fiyata odaklanılmamalıdır. Test kapsamı, teslim edilecek rapor, bulguların doğrulanması, düzeltme sonrasında yeniden test imkânı ve test ekibinin deneyimi de göz önünde bulundurulmalıdır.

Web Sitesi Güvenliği İçin Sızma Testi Yeterli midir?​

Sızma testi, sistemin belirli bir zamandaki güvenlik durumunu değerlendirmeye yardımcı olur ancak tek başına bütün riskleri ortadan kaldırmaz. Test sırasında fark edilmeyen açıklar, daha sonra eklenen özellikler veya yeni keşfedilen zafiyetler varlığını sürdürebilir.

Bu nedenle güvenli yazılım geliştirme, güncel yazılım kullanımı, erişim kontrolü, günlük izleme, yedekleme ve düzenli güvenlik açığı taramaları birlikte yürütülmelidir. Sızma testi bu sürecin önemli bir parçasıdır; bütün güvenlik çalışmalarının yerine geçmez.

Web sitesini düzenli olarak değerlendirmek, sorunları önceliklendirmek ve bulunan açıkları zamanında düzeltmek, saldırı riskini azaltmanın en etkili yollarından biridir. Özellikle kullanıcı verileri ve finansal işlemler içeren sistemlerde güvenlik testleri, geliştirme ve bakım planının doğal bir parçası olarak ele alınmalıdır.
 

Benzer konular

💬Cevaplar
0
👁️‍🗨️Görüntüleme
91
💬Cevaplar
0
👁️‍🗨️Görüntüleme
79
💬Cevaplar
0
👁️‍🗨️Görüntüleme
96
💬Cevaplar
0
👁️‍🗨️Görüntüleme
101
💬Cevaplar
0
👁️‍🗨️Görüntüleme
93
💬Cevaplar
0
👁️‍🗨️Görüntüleme
63
💬Cevaplar
0
👁️‍🗨️Görüntüleme
90

Günün trendleri

Geri