Bir liste, bütün resmi göstermeyebilir
Bir API kataloğu, ekibinizin bildiği servisleri gösterir. Üretimde gözlemlenen trafik ise gerçekten kullanılan rotaları ortaya çıkarır. Bu iki kaynak aynı anda güncellenmiyorsa eski sürümler, dahili servisler veya geçici entegrasyonlar katalog dışında kalabilir. Gölge API incelemesinin başlangıç noktası bu farktır.
OWASP, API envanterinin ve sürüm yönetiminin eksik olmasını ayrı bir risk alanı olarak ele alır. Buradaki amaç yalnızca uç nokta sayısını artırmak değildir; her rotanın sahibi, amacı, erişim modeli ve yaşam döngüsü hakkında güvenilir bilgi toplamaktır.
Önce karşılaştırılabilir bir veri modeli kurun
Aynı servise ait istekleri ortam, host, HTTP yöntemi ve normalize edilmiş yol ile gruplayın. Örneğin /orders/103 ve /orders/104 yolları, gerçekten aynı işlemi temsil ediyorsa /orders/{id} altında değerlendirilebilir. Parametreleri körlemesine kaldırmak ise farklı güvenlik sınırlarını tek bir rota gibi gösterebilir.
OpenAPI belgesindeki yöntem ve yol bilgisi, gözlemlenen envanter için bir karşılaştırma zemini sağlar. Eşleşmeyen bir rota inceleme gerektirir; tek başına saldırı veya açıklık kanıtı değildir. Eksik belge, sürüm farkı ve yakalama kapsamı gibi nedenler de araştırılmalıdır.
Örnek: unutulmuş bir dışa aktarma rotası
Kurgusal bir sipariş servisinde POST /internal/export rotasının trafikte göründüğünü düşünün. Güncel API tanımında bu işlem yer almıyor. İnceleme kaydına ilk ve son görülme zamanı, gözlemlenen kimlik doğrulama, yanıt kodu, ortam ve servis sahibini ekleyin. Ham yanıtta müşteri verisi varsa, inceleme için gerekli alanları maskeleyerek saklayın.
Servis sahibi rotanın zamanlanmış bir iç iş akışına ait olduğunu doğrulayabilir. Sonuç, tanımın güncellenmesi ve erişimin daraltılması olabilir. Rota artık kullanılmıyorsa kontrollü bir kaldırma planı gerekir. Kararı yalnızca istek sayısına bakarak vermeyin.
İncelemeyi bir teslimat rutinine dönüştürün
Her sürümde yeni ve değişen rotaları bir önceki envanterle karşılaştırın. Açıklanamayan farklar için bir sahip ve hedef tarih belirleyin. İnceleme kapandığında yalnızca alarmı susturmak yerine API tanımını, gateway politikasını veya servis yapılandırmasını güncelleyin.
Pasif keşfin kapsama sınırını da kaydedin. Gözlem süresinde hiç çağrılmayan veya yakalama noktasından geçmeyen bir rota görünmeyebilir. Bu nedenle trafik görünürlüğünü kod, ağ geçidi ve servis kataloğu kayıtlarıyla birlikte değerlendirin.
Kaynaklar ve ilgili okuma
Bu yaklaşımı kendi ortamınızda değerlendirmek ister misiniz?
Krepost ile görüşün