Ana teknoloji genel bakış
Black-box uygulama güvenlik testi
Black-box güvenlik analizi sırasında yalnızca istemci tarafı kod kullanılabilir. Sunucu tarafının analizi yalnızca arayüz uç noktalarıyla etkileşim kurarak mümkündür.
Black-box güvenlik açığı testi genellikle üç aşamadan oluşur:
Saldırı yüzeyi numaralandırması: mevcut sunucu tarafı uç noktalarının aranması (API uç noktaları);
Keşfedilen uç noktalara saldırı vektörleri ile isteklerin gönderilmesi;
Sonuçların analizi.
Gelişmiş güvenlik bilinçli tarama
Gelişmiş tarama teknolojimiz, mevcut tüm sunucu tarafı uç noktalarını otomatik olarak keşfetmek için özel olarak tasarlanmıştır ve böylece ilk aşamayı ele alır.
Black-box ortamında sunucu HTTP uç noktalarını keşfetmenin birkaç yolu vardır:
İstemci tarafından hangi isteklerin gönderilebileceğini belirleyerek bunları çıkarsamak;
Sunucuda çalışan yazılımın parmak izi alınması ve ona özgü önceden bilinen uç noktaların kullanılması (örneğin, bilinen WordPress uç noktaları);
Sözlük kullanılarak oluşturulan isteklerle sunucuyu fuzzing yapma ve yanıtları analiz etme — dirbusting olarak bilinen teknik.
API numaralandırması için JavaScript statik analizi
Gelişmiş tarama teknolojimiz, headless tarayıcı ile daha geleneksel dinamik tarama ve güvenlik bilinçli statik tarama ile birlikte istemci tarafı kodun statik analizini kullanır.
Statik analiz teknolojimiz, web uygulaması güvenlik taraması amacıyla önemsiz olmayan değer ve kod yolu analizi ile istemci tarafı JS kodundan sunucu uç noktalarını çıkarsar.
Gelişmiş tarama
Gelişmiş tarama teknolojimizle şunları yapabiliriz:
Ölü, erişilemeyen veya yorumlanmış istemci kodundan sunucu uç noktalarını tespit etmek;
Yalnızca yetkili istemci alanı veya yönetici alanı için aktif olan istemci kodundan sunucu uç noktalarını tespit etmek;
OpenAPI/Swagger API spesifikasyonlarını ve uç noktalar hakkındaki diğer bilgi kaynaklarını analiz ve tarama için başlangıç noktaları olarak kullanmak.
Bu bize piyasadaki en iyi saldırı yüzeyi numaralandırmasını sağlar.
Geleneksel dinamik taramanın tuzakları
Uç nokta aramasının en önemli kalite metriği tamlıktır.
Dirbusting ve parmak izi alma, genel olarak, özellikle standart olmayan, özel yazılmış yazılımlar için tüm uç noktaları belirleyemez.
İstemci tarafından sunucu uç noktalarını çıkarabilmek, black-box tarayıcının yeterli uç nokta kapsamı elde etmesi için hayati önem taşır.
Dinamik tarama
Dinamik tarama, headless tarayıcı kullanarak web sayfası arayüz öğeleriyle otomatik etkileşim, kullanıcı eylemlerini simüle etme ve sunucuya gönderilen istekleri gözlemleme işlemidir.
Dinamik tarama genellikle iyi çalışsa da, bazı uç noktaları keşfedemediği durumlar vardır. Bazen kullanıcı arayüzü tamamen taranmak için çok karmaşıktır. Tüm olası kullanıcı eylemlerini yapmak çok fazla zaman gerektirebilir. Bu gibi durumlarda bir tarayıcı tamamlamadan önce durur ve muhtemelen bazı uç noktaları kaçırır.
Ayrıca, bazen bir uç noktaya erişen JS kodu kullanıcı arayüzünden hiç tetiklenemez — esasen, bu ölü koddur. Bu tür kod hala tarayıcı için ilgi sağlar ve sunucunun çalışan kısımlarına erişebilir. Bu tür uç noktalara gizli uç noktalar diyoruz.