Spencer Chin’le konuştuk. HackerOne’da Kuzey Amerika Satış Mühendisliği Direktörü ve Yasemin Landry, Nasdaq Kıdemli Direktörü ve HackerOne penetrasyon test uzmanı. Birlikte yüzlerce kuruluşa yardım ettiler: Dilbilgisi açısından, ZebraVe Jedoksmümkün olan en iyi sonuçları elde etmek için penetrasyon testlerini kapsayıp yürütün. Spencer ve Jasmin’in sunduğu bu ipuçları gerçek dünya deneyimlerine dayanmaktadır ve kuruluşunuzun baştan sona başarılı bir sızma testi gerçekleştirmesine yardımcı olacak şekilde yapılandırılmıştır.
Pentest’ten önce
1. Yedekleme Yapın ve Test Edin
Bazı durumlarda sızma testleri üretim ortamlarında gerçekleştirilir. Böyle bir durumda kuruluşunuzun tüm verilerinin yedeklerini aldığından emin olun ve sızma testi başlamadan önce bir geri yüklemeyi test ederek yedeklerin çalıştığını doğrulayın. Pentestler sırasında kazalar olabileceği ve olacağı için veri restorasyonuna hazırlanmak en iyisidir.
2. Bir Olay Müdahale Planı Oluşturun ve Uygulamaya Hazır Olun
Bazen pentester’lar ya bir olaya neden olabilecek (ki bu nadirdir) güvenlik açıklarını bulur ya da kötü niyetli bir aktörün geçmişte bir güvenlik açığından yararlandığına dair kanıt bulur.
BENBöyle bir durumda olay müdahale (IR) planınızı başlatmanız gerekebilir. IR planınızı iyice test edin ve her ekip üyesinin rollerini ve sorumluluklarını bildiğinden emin olun. Örneğin, sızanlar bir güvenlik açığından yararlanıldığını ve Kişisel Olarak Tanımlanabilir Bilgileri (PII) sızdırmak için kullanıldığını keşfederse, IR planınızın derhal başlatılmaya hazır olması gerekir.
3. Gri Kutu Yap
Pentestinizin kara kutu mu, beyaz kutu mu yoksa gri kutu mu olacağına karar vermek hedeflerinize bağlıdır.
- Kara kutu testi Test edilen varlıklar hakkında çok sınırlı bilgi sağlıyor veya hiç bilgi vermiyor
- Beyaz kutu testi kaynak kodu ve kimlik bilgileri dahil ancak bunlarla sınırlı olmamak üzere, test edilen varlıklar hakkında tam bilgi sağlar
- Gri kutu testi ortada bir yerde
Kuruluşlar genellikle uzaktaki bir saldırganın kendileri hakkında neler keşfedebileceğini ve bir siber saldırı gerçekleştirmek için bu istihbarattan nasıl yararlanabileceklerini simüle etmek için kara kutu değerlendirmesini kullanır. Birçok müşteri, kuruluşunuz hakkında sınırlı bilgiye sahip gerçek bir düşmanı en iyi şekilde simüle edeceğini düşündükleri için kara kutu yaklaşımını tercih eder. Ancak bu, rakiplerin genellikle saldırılarına ayıracakları bir pentester’dan çok daha fazla zamanları olduğu gerçeğini göz ardı ediyor. Pentester’ların birkaç haftalık test süresi vardır, rakiplerin ise sınırsız zamanı vardır.
Gri kutu penetrasyon testi, test uzmanlarına ilgili bilgileri sağlayarak güvenlik açıklarını bulmaya odaklanabilmelerini sağlayarak bu zaman boşluğunu kapatır. Amacınız varlıklarınızdaki güvenlik açıklarını mümkün olan en verimli (ve dolayısıyla en uygun maliyetli) şekilde belirlemekse, gri kutu yaklaşımı en etkili yöntem olacaktır.
Sızma testi ekibinize aşağıdaki bilgileri sağlayın ve gri kutu testinde erişim sağlayın:
- Farklı erişim düzeylerine sahip birden fazla kullanıcı rolü. Birden fazla kullanıcı rolünün sağlanması, test uzmanlarının yetkilendirme kontrollerinin amaçlandığı gibi çalıştığını doğrulamasını sağlar ve genellikle onlara daha fazla varlığı test etme erişimi sağlar.
- Teknoloji yığınına ilişkin bilgiler. Farklı teknolojiler belirli türdeki güvenlik açıklarına karşı daha duyarlıdır.
- Uygulamanın barındırıldığı yer. Saldırı yöntemleri, uygulamanın bulutta mı yoksa şirket içinde mi olduğuna bağlı olarak değişir.
- Pentest ekibini güvenlik duvarınızın (veya WAF) izin verilenler listesine ekleyin. Sızma testi ekibinin hızının sınırlı olmasını veya engellenmesini önleyin ve zamanlarını uygulamayı test etmeye odaklayın.
HackerOne, bu önemli bilgilerin ve hangi varlıkların test edilmesi gerektiğinin toplanmasını kolaylaştırmak için platform içi bir sızma testi kapsam belirleme formuna sahiptir. Kapsam belirleme formu, ayrılan zamandan en iyi şekilde yararlanabilmeleri için ayrıntıların pentest ekibiyle güvenli bir şekilde paylaşılmasını kolaylaştırır.
4. Varlıklarınızın ve Varlık Sahiplerinizin Güncel Bir Envanterini Oluşturun
Bir sızma testi joker karakter alan adını, IP aralığını ve hatta bir şirketin sahip olduğu tüm varlıkları içerebilir. Kapsamdaki tüm varlıkların sahibini bulun. Kritik güvenlik açıklarını mümkün olan en kısa sürede düzeltin. Test uzmanlarının gerektiğinde soru sorabilmesi için kurumsal iletişim bilgilerini atayın ve paylaşın.
HackerOne Varlık Envanteri, tüm varlıklarınızı ve ilgili uygulama güvenlik testlerini geniş ölçekte yönetmek için merkezi bir konum sağlar. Saldırı yüzeyi yönetimi çözümümüz hakkında daha fazla bilgi edinin.
5. Geliştirici Ekibinizde Döngü
Bir etkileşim planlarken geliştirme ekibinizi bir sızma testi yürüttüğünüz konusunda uyarın. Çoğu durumda, güvenlik açığının giderilmesi geliştirme ekibinize düşecektir ve hiç kimse beklenmedik, yüksek öncelikli işlerin kapısında belirmesinden hoşlanmaz.
HackerOne Pentest, iyileştirme çabalarınızı kolaylaştırmak için JIRA, ServiceNow, Github ve Gitlab gibi Yazılım Geliştirme Yaşam Döngüsü (SDLC) araçlarıyla çeşitli entegrasyonlara sahiptir. Bu entegrasyonlar, HackerOne’daki güvenlik açığı raporlarını geliştiricilerinizin kullandığı yerel araçlara aktarmanıza olanak tanır, böylece iş akışlarını değiştirmek zorunda kalmazlar.
HackerOne platformuna yönelik entegrasyonların tam listesine bakın.
6. Bir Kontrol Listesiyle Ortamı Hazırlayın
Yukarıdaki tüm noktaları göz önünde bulundurduktan sonra son adım, test ortamını, pentestin sorunsuz ve zamanında başlaması için hazırlamaktır. Hızlı bir kontrol listesi:
- Ortamın erişilebilir olduğunu doğrulayın.
- Mobil uygulamalar için, test uzmanlarının uygulamayı nasıl aldıklarını anladığından emin olun (Google Play Console/TestFlight vb. kullanarak bir APK/IPA dosyası mı sağlıyorsunuz?).
- Güvenlik duvarlarınızın veya diğer sistemlerinizin izin verilenler listesine sızma testi ekibini eklemeniz gerekiyorsa bu değişikliklerin uygulandığını ve işlevsel olduğunu onaylayın.
- Test uzmanları için gerekli tüm kimlik bilgilerini sağlayın ve işlevsel olduklarından emin olmak için kimlik bilgilerini test edin.
Bir sızma testine başlamadan önce sorulması gereken 12 temel soruyu içeren daha ayrıntılı bir kontrol listesine bakın.
Pentest’ten sonra
Sızma testinizi doğru bir şekilde hazırlamak için yukarıdaki adımları izlediyseniz, güvenlik duruşunuzu iyileştirmenize yardımcı olacak etkili sonuçlara sahip olmalısınız.
7. Güvenlik Ekibinizle Bilgi Alın
Güvenlik açığı raporlarını inceleyin ve bunları, iyileştirme çabalarınızı geliştirmek ve gelecekteki saldırılara yönelik algılama yeteneklerinizde ince ayar yapmak için bir araç olarak kullanın.
Pentest, varlıklarınızın güvenlik açıklarını ve savunma, tespit ve müdahale çabalarınızın ne kadar etkili olduğunu anlamak için harika bir fırsattır. Anlamak:
- Herhangi bir uyarı tetiklendi mi?
- Olaya müdahale düzgün bir şekilde başladı mı?
- Yoksa tamamen karanlıkta mı kaldınız?
Tüm HackerOne Pentest’leri siz ve pentest ekibiniz için ortak bir Slack kanalı oluşturur. Pentest ekibinizle gerçek zamanlı iletişim kurun; testle ilgili sorular sorun ve yanıtlayın, test ilerledikçe güncellemeleri alın ve sonuçta pentestinizden en yüksek değeri elde edin. Bundan yararlanmanın bir yolu, test kullanıcılarıyla pentesti gerçekleştirirken iletişim kurarak test etkinliklerinin ağ günlüklerinizde ve trafiğinizde nasıl göründüğünü görebilmenizdir. Bu, gelecekte saldırıları doğru şekilde tanımlayıp tespit edebildiğinizi doğrulamanıza yardımcı olacaktır.
8. Tarama Araçlarınızı Ayarlamak için Bulguları Kullanın
İdeal olarak şirketiniz, yeni bir sürüm dağıtılmadan önce yaşam döngüsünün geliştirme aşamasında bilinen güvenlik açıklarını yakalamak için Statik Uygulama Güvenliği Testi (SAST) ve Dinamik Uygulama Güvenliği Testi (DAST) araçlarını kullanıyor. Pentest bulgularınıza ve SAST ve DAST tarayıcılarının gözden kaçırdıklarına bağlı olarak, bu araçlara kural eklemeniz veya kuralları güncellemeniz gerekebilir. Bu aynı zamanda Altyapınızı Kod (IaC) olarak tarayan araçlar için de geçerlidir. Çoğu zaman, bir sızma testi yanlış yapılandırmadan kaynaklanan güvenlik açıklarını yakalar ve siz de bunları yakalamak için kurallarınızı ayarlamak isteyeceksiniz.
Tespit cephesinde, Güvenlik Operasyon Merkezinizin (SOC) sızma testi sırasında kaçırılan kötü amaçlı trafiği tespit edebildiğinden emin olmak için Güvenlik Bilgileri Olay Yönetimi (SIEM) aracınızdaki kuralları da gözden geçirmek isteyeceksiniz.
9. Geliştiricilerinizi Güçlendirin
Benjamin Franklin şöyle demiş: “Bir gram önlem, bir kilo tedaviye değer.” Geliştiricilerinize güvenli bir şekilde kod yazma ve güvenlik açıklarından kaçınma konusunda destek vermek, üretimdeki sorunları yakalamaya çalışmaktan çok daha iyi bir yaklaşımdır.
Güvenlik açığı bulgularını güvenli kodlama eğitimi için bir öğrenme aracı olarak kullanın. Bunlar, kuruluşunuzla ilgili olmayabilecek varsayımsal senaryolar değil, varlıklarınızda bulunan gerçek dünyadaki güvenlik açıklarıdır.
10. Güvenlik Açıklarının Doğru Şekilde Düzeltildiğinden Emin Olun
Geliştiricileriniz güvenlik açığını giderdikten ve düzeltmeyi dahili olarak test ettikten sonra, düzeltmenin başarılı olduğunu onaylayan harici doğrulama almak da yararlı olacaktır. Tüm HackerOne sızma testleri, aynı sızma testi ekibinin, güvenlik açıklarının artık istismar edilemez olduğundan emin olmak için güvenlik açıklarını 60 güne kadar yeniden test etmesine olanak tanır. Yeniden test, 60 günlük sürenin sonunda, yeniden test başına 50 ABD doları tutarında nominal bir ücret karşılığında da yapılabilir.
HackerOne: Sızma Testi Ortağı
Bu ipuçları ve püf noktaları, kuruluşunuzun yaklaşan sızma testi etkileşimlerinden en yüksek değeri elde etmenize yardımcı olacaktır. Avantajları hakkında daha fazla bilgi edinin HackerOne ile sızma testi etkileşimlerini yürütmekveya HackerOne’daki uzmanlarla bugün iletişime geçin.