Güvenlik Testi nedir?
GÜVENLİK TESTİ , bir yazılım uygulamasındaki güvenlik açıklarını, tehditleri, riskleri ortaya çıkaran ve davetsiz misafirlerin kötü niyetli saldırılarını önleyen bir Yazılım Testi türüdür. Güvenlik Testlerinin amacı, çalışanların veya kurum dışındakilerin elinde bilgi, gelir, itibar kaybı ile sonuçlanabilecek yazılım sistemindeki olası tüm boşlukları ve zayıflıkları tespit etmektir.
Güvenlik Testi Neden Önemlidir?
Güvenlik Testinin temel amacı , sistemdeki tehditleri tespit etmek ve potansiyel güvenlik açıklarını ölçmektir, böylece tehditlerle karşılaşılabilir ve sistem çalışmayı durdurmaz veya istismar edilemez. Ayrıca, sistemdeki olası tüm güvenlik risklerinin tespit edilmesine yardımcı olur ve geliştiricilerin sorunları kodlama yoluyla çözmelerine yardımcı olur.
Bu eğitimde öğreneceksiniz-
- Güvenlik Testi nedir?
- Güvenlik Testi Türleri
- Güvenlik Testi nasıl yapılır
- Güvenlik Testi için Örnek Test Senaryoları
- Güvenlik Testi Metodolojileri / Yaklaşımları / Teknikleri
- Güvenlik Testi Rolleri
- Güvenlik Test Aracı
- Mitler ve Güvenlik Testinin Gerçekleri
Güvenlik Testi Türleri:
Açık Kaynak Güvenlik Testi metodoloji kılavuzuna göre yedi ana güvenlik testi türü vardır. Aşağıdaki şekilde açıklanmaktadır:
- Güvenlik Açığı Taraması : Bu, bir sistemi bilinen güvenlik açığı imzalarına karşı taramak için otomatikleştirilmiş yazılım aracılığıyla yapılır.
- Güvenlik Taraması: Ağ ve sistem zayıflıklarının tanımlanmasını içerir ve daha sonra bu riskleri azaltmak için çözümler sunar. Bu tarama, hem Manuel hem de Otomatik tarama için gerçekleştirilebilir.
- Sızma testi : Bu tür testler, kötü niyetli bir bilgisayar korsanının saldırısını simüle eder. Bu test, harici bir bilgisayar korsanlığı girişimine karşı olası güvenlik açıklarını kontrol etmek için belirli bir sistemin analizini içerir.
- Risk Değerlendirmesi: Bu test, organizasyonda gözlemlenen güvenlik risklerinin analizini içerir. Riskler Düşük, Orta ve Yüksek olarak sınıflandırılır. Bu test, riski azaltmak için kontroller ve önlemler önerir.
- Güvenlik Denetimi: Bu, güvenlik açıkları için Uygulamaların ve İşletim sistemlerinin dahili bir incelemesidir. Kodun satır satır incelemesi yoluyla da bir denetim yapılabilir.
- Etik hackleme: Bir Organizasyon Yazılım sistemlerini hacklemektir. Kendi kazançları için hırsızlık yapan kötü niyetli bilgisayar korsanlarının aksine, amaç sistemdeki güvenlik açıklarını ortaya çıkarmaktır.
- Duruş Değerlendirmesi: Bu, bir kuruluşun genel bir güvenlik duruşunu göstermek için Güvenlik taraması, Etik Hacking ve Risk Değerlendirmelerini birleştirir.
Güvenlik Testi nasıl yapılır
Güvenlik testini yazılım uygulama aşamasından veya dağıtımdan sonra ertelersek, maliyetin daha fazla olacağı her zaman kabul edilir. Bu nedenle, önceki aşamalarda SDLC yaşam döngüsüne güvenlik testini dahil etmek gerekir.
SDLC'deki her aşama için benimsenecek ilgili Güvenlik süreçlerine bakalım.
SDLC Aşamaları | Güvenlik Süreçleri |
---|---|
Gereksinimler | Gereksinimler için güvenlik analizi ve kötüye kullanım / yanlış kullanım durumlarını kontrol etme |
Tasarım (değiştir | kaynağı değiştir) | Tasarım için güvenlik riskleri analizi. Güvenlik testleri dahil Test Planının Geliştirilmesi |
Kodlama ve Birim Testi | Statik ve Dinamik Test ve Güvenlik Beyaz Kutu Testi |
Entegrasyon Testi | Kara Kutu Testi |
Sistem Testi | Kara Kutu Testi ve Güvenlik Açığı taraması |
Uygulama | Sızma Testi, Güvenlik Açığı Taraması |
Destek | Yamaların etki analizi |
Test planı şunları içermelidir:
- Güvenlikle ilgili test senaryoları veya senaryoları
- Güvenlik testiyle ilgili Test Verileri
- Güvenlik testi için gerekli Test Araçları
- Farklı güvenlik araçlarından çeşitli test çıktılarının analizi
Güvenlik Testi için Örnek Test Senaryoları:
Güvenlik testi senaryolarına bir göz atmanızı sağlayacak Örnek Test senaryoları -
- Parola, şifrelenmiş biçimde olmalıdır
- Uygulama veya Sistem geçersiz kullanıcılara izin vermemelidir
- Uygulama için çerezleri ve oturum süresini kontrol edin
- Finans siteleri için Tarayıcı geri düğmesi çalışmamalıdır.
Güvenlik Testi Metodolojileri / Yaklaşımları / Teknikleri
Güvenlik testinde farklı metodolojiler izlenir ve bunlar aşağıdaki gibidir:
- Tiger Box : Bu bilgisayar korsanlığı genellikle bir dizi işletim sistemi ve bilgisayar korsanlığı araçlarına sahip bir dizüstü bilgisayarda yapılır. Bu test, sızma testi uzmanlarının ve güvenlik test uzmanlarının güvenlik açıkları değerlendirmesi ve saldırılar gerçekleştirmesine yardımcı olur.
- Kara Kutu : Test Cihazı, ağ topolojisi ve teknolojisi ile ilgili her şeyi test etme yetkisine sahiptir.
- Gri Kutu : Test yapan kişiye sistem hakkında kısmi bilgi verilir ve beyaz ve kara kutu modellerinin bir karışımıdır.
Güvenlik Testi Rolleri
- Bilgisayar korsanları - Bilgisayar sistemine veya ağa yetkisiz erişin
- Krakerler - Verileri çalmak veya yok etmek için sistemlere sızın
- Etik Hacker - Kırılma faaliyetlerinin çoğunu, sahibinin izni ile gerçekleştirir
- Senaryo Çocuklar veya paket maymunlar - Programlama dili becerisine sahip Deneyimsiz Hackerlar
Güvenlik Test Aracı
1) Hırsız
Intruder, kullanımı kolay, kurumsal düzeyde bir güvenlik açığı tarayıcısıdır. BT altyapınızda 10.000'den fazla yüksek kaliteli güvenlik kontrolü çalıştırır ve bunlarla sınırlı değildir: yapılandırma zayıflıkları, uygulama zayıflıkları (SQL enjeksiyonu ve siteler arası komut dosyası oluşturma gibi) ve eksik yamalar. En son tehditler için akıllıca önceliklendirilmiş sonuçların yanı sıra proaktif taramalar sağlayan Intruder, zamandan tasarruf etmenize yardımcı olur ve her büyüklükteki işletmenin bilgisayar korsanlarından korunmasını sağlar.
Özellikleri:
- AWS, Azure ve Google Cloud bağlayıcıları
- Dış saldırı yüzeyinizi azaltmak için çevreye özel sonuçlar
- Yüksek kaliteli raporlama
- Slack, Microsoft Teams, Jira, Zapier entegrasyonları
- CI / CD ardışık düzeninizle API entegrasyonu
2) Owasp
Açık Web Uygulama Güvenliği Projesi (OWASP), yazılım güvenliğini artırmaya odaklanan dünya çapında kar amacı gütmeyen bir kuruluştur. Proje, çeşitli yazılım ortamlarını ve protokollerini test etmek için birden fazla araca sahiptir. Projenin amiral gemisi araçları şunları içerir:
- Zed Attack Proxy (ZAP - entegre bir sızma testi aracı)
- OWASP Bağımlılık Kontrolü (proje bağımlılıklarını tarar ve bilinen güvenlik açıklarına karşı kontrol eder)
- OWASP Web Test Ortamı Projesi (güvenlik araçları ve dokümantasyon koleksiyonu)
3) WireShark
Wireshark, daha önce Ethereal olarak bilinen bir ağ analiz aracıdır. Paketi gerçek zamanlı olarak yakalar ve bunları insan tarafından okunabilir biçimde görüntüler. Temel olarak, ağ protokolleriniz, şifre çözme, paket bilgileriniz vb. Hakkında en küçük ayrıntıları sağlayan bir ağ paket analizcisidir. Açık kaynaktır ve Linux, Windows, OS X, Solaris, NetBSD, FreeBSD ve birçok diğer sistemler. Bu araç aracılığıyla alınan bilgiler bir GUI veya TTY modu TShark Yardımcı Programı aracılığıyla görüntülenebilir.
4) W3af
w3af, bir web uygulaması saldırı ve denetim çerçevesidir. Üç tür eklenti vardır; Sitedeki güvenlik açıkları için birbirleriyle iletişim kuran keşif, denetim ve saldırı, örneğin w3af'daki bir keşif eklentisi, güvenlik açıklarını test etmek için farklı url'leri arar ve daha sonra güvenlik açıklarını aramak için bu URL'leri kullanan denetim eklentisine iletir.
Mitler ve Güvenlik Testlerinin Gerçekleri:
Mitler ve güvenlik testi gerçekleriyle ilgili ilginç bir konu hakkında konuşalım:
Efsane # 1 Küçük bir işletmemiz olduğu için bir güvenlik politikasına ihtiyacımız yok
Gerçek: Herkesin ve her şirketin bir güvenlik politikasına ihtiyacı vardır
Efsane # 2 Güvenlik testine yatırımın geri dönüşü yoktur
Gerçek: Güvenlik Testi, verimliliği artırabilecek ve kesinti süresini azaltabilecek iyileştirme alanlarına işaret ederek maksimum verim sağlar.
Efsane 3 : Güvenli hale getirmenin tek yolu fişten çekmektir.
Gerçek: Bir kuruluşu güvence altına almanın tek ve en iyi yolu "Mükemmel Güvenlik" bulmaktır. Bir duruş değerlendirmesi yapılarak ve iş, hukuk ve endüstri gerekçeleriyle karşılaştırılarak mükemmel güvenlik sağlanabilir.
Efsane 4 : İnternet güvenli değil. Sistemi korumak ve işi kurtarmak için yazılım veya donanım satın alacağım.
Gerçek: En büyük sorunlardan biri, güvenlik için yazılım ve donanım satın almaktır. Bunun yerine, kuruluş önce güvenliği anlamalı ve sonra onu uygulamalıdır.
Sonuç:
Güvenlik testi, bir uygulama için en önemli testtir ve gizli verilerin gizli kalıp kalmadığını kontrol eder. Bu tür testlerde, test uzmanı saldırganın bir rolünü oynar ve güvenlikle ilgili hataları bulmak için sistemin etrafında oynar. Yazılım Mühendisliğinde verileri her şekilde korumak için Güvenlik Testi çok önemlidir.