API envanteriniz güncel değilse, koruduğunuzu sandığınız yüzeyin tamamını görmüyorsunuz demektir.
Çoğu kurumda API envanteri uygulama dokümanlarında, eski şema dosyalarında veya ekiplerin tuttuğu listelerde yaşar. Ancak uygulamalar her sürümde değişir; yeni endpoint'ler eklenir, eski endpoint'ler unutulur, test path'leri production'da kalabilir. Güvenlik ekibi çoğu zaman gerçek trafikte hangi API'lerin aktif olduğunu uygulama ekiplerinden sonra öğrenir.
Bu boşluk shadow API ve zombie endpoint riskini büyütür. Dokümante edilmemiş bir endpoint WAF politikasının dışında kalabilir; artık kullanılmaması gereken bir endpoint hâlâ erişilebilir olabilir. Saldırgan açısından bu alanlar düşük görünürlüklü, zayıf korunan ve keşfedilmeye değer yüzeylerdir.
Yalnızca dışarıdan verilen şema dosyasına güvenmek de yeterli değildir. Şema güncel değilse, gerçek trafikle eşleşmez. Uygulama ekipleri endpoint'i değiştirmiş ama şemayı güncellememiş olabilir; ya da production'da şemada hiç görünmeyen bir path aktif çalışıyor olabilir. Bu durumda koruma politikası, gerçek uygulama davranışına değil eski bir varsayıma dayanır.
Geleneksel negatif güvenlik modeli de bu problemi tek başına çözmez. Bilinen saldırı pattern'lerini engellemek önemlidir; fakat API güvenliğinde asıl güç, izin verilen method, header, parametre, MIME type ve body alanlarını açıkça tanımlamaktır. Pozitif güvenlik olmadan bilinmeyen ama geçerli görünen kötü istekler kolayca içeri sızabilir.
TR7 API Keşfi ve Şema bu boşluğu kapatır: gerçek trafikten API davranışını öğrenir, OpenAPI akışıyla şema üretimi veya şemadan kural üretimi sağlar ve pozitif güvenlik kontrollerini inline uygulamaya taşır.
Yaklaşımımız
TR7, API keşfini trafik öğrenimi, pozitif şema, boyut/derinlik sınırları ve alan bazlı doğrulama ile birlikte uygular.
Trafikten path grouping ile endpoint kalıpları çıkarılır
TR7, gerçek trafik üzerinden path ve method davranışını öğrenerek endpoint kalıpları oluşturabilir. Değişken ID, tarih veya token içeren path'ler normalize edilerek daha okunabilir API envanterine dönüştürülür.
Pozitif güvenlik modeli izin verilen şemayı esas alır
Method, header, query parameter, JSON key, XML element, form field ve MIME type için izin listeleri tanımlanabilir. Politika, yalnızca kötü bilinenleri aramak yerine, beklenen API davranışını açıkça belirler.
Boyut, derinlik ve sayım limitleri kötüye kullanımı sınırlar
Path uzunluğu, path derinliği, header sayısı, query sayısı, JSON derinliği, XML derinliği ve raw body boyutu gibi sınırlar uygulanabilir. Bu limitler, aşırı büyük veya aşırı karmaşık isteklerin kurum servisine ulaşmadan kontrol edilmesini sağlar.
Alan bazlı regex doğrulama veri biçimini kontrol eder
Her header, query parametresi, form alanı veya body alanı için regex doğrulaması tanımlanabilir. E-posta, telefon, ID, ülke kodu veya servis özelindeki formatlar alan seviyesinde kontrol edilir.
Yetenekler
API Keşfi ve Şema, öğrenilen endpoint envanterini uygulanabilir pozitif güvenlik kurallarına dönüştürür.
Trafik tabanlı path grouping gerçek API envanteri üretir
TR7, gelen isteklerden path ve method bilgilerini analiz ederek endpoint kalıpları çıkarabilir. `/api/users/123`, `/api/users/456` gibi path'ler tek bir mantıksal kalıp altında gruplanabilir. Bu yaklaşım, dokümanlarda olmayan ama production'da aktif çalışan endpoint'leri görünür hale getirir. API envanteri varsayıma değil, gerçek trafik davranışına dayanır.
OpenAPI akışıyla öğrenilen yapı şemaya, şema kurala dönüşebilir
TR7, öğrenilen API davranışından OpenAPI uyumlu şema üretme akışını destekleyecek şekilde konumlanır. Ters yönde, kullanıcı tarafından verilen OpenAPI şemasından TR7 kuralları üretilebilir. Bu iki yönlü model, gerçek trafik ile dokümante edilmiş API sözleşmesi arasındaki farkı azaltır. Operatör hem keşif hem enforcement tarafında aynı platformu kullanır.
Allowed methods ile endpoint başına method beyaz listesi uygulanır
Her endpoint için GET, POST, PUT, DELETE, PATCH gibi izin verilen method listesi tanımlanabilir. Örneğin yalnızca GET beklenen bir endpoint'e POST gönderilirse bu davranış politika ihlali olarak ele alınabilir. Method bazlı whitelist, basit ama etkili bir pozitif güvenlik katmanıdır. Yanlış veya kötüye kullanılan endpoint davranışları daha erken yakalanır.
Header ve query parameter whitelist istek yüzeyini daraltır
İzin verilen header ve query parametreleri endpoint bazında tanımlanabilir. Her alan için ad, değer formatı ve regex doğrulaması uygulanabilir. Beklenmeyen header veya parametreler güvenlik skoruna, uyarıya veya engellemeye bağlanabilir. Böylece API sözleşmesi dışında gelen veri kurum servisine kontrolsüz aktarılmaz.
JSON, XML ve form alanları pozitif şemayla doğrulanır
TR7, JSON key, XML element ve form field seviyesinde izin listeleri oluşturabilir. Zorunlu alanlar mustArgs ile tanımlanabilir; bilinmeyen alanlar allowed list dışında bırakılabilir. Bu yapı, yalnızca saldırı imzası aramak yerine beklenen request gövdesini tarif eder. API endpoint'i kendi sözleşmesine daha yakın biçimde korunur. SOAP aynı yoldan kapsanır: bir SOAP zarfı XML'dir, dolayısıyla zarf yapısı, SOAPAction başlığı suistimali ve kötücül yapılar XML olarak denetlenir — şema kontrollerinin yanında SOAPAction enjeksiyonu için özel imzalar da vardır. AJAX için de ayrı bir düzenek gerekmez: bir XHR veya fetch çağrısı JSON ya da form gövdesi olarak gelir ve tam olarak bu kapsamlarda doğrulanır.
MIME type kontrolleri beklenmeyen içerik türlerini engeller
Form ve raw body için izin verilen MIME type listeleri tanımlanabilir. JSON bekleyen bir endpoint'e farklı içerik tipiyle veri gönderilmesi politika ihlali sayılabilir. Dosya yükleme veya form tabanlı API'lerde bu kontrol özellikle önemlidir. İçerik türü, güvenlik kararının doğrudan parçası haline gelir.
Boyut ve derinlik limitleri aşırı payload riskini azaltır
Header, query, form, JSON, XML ve raw body için toplam boyut sınırları uygulanabilir. JSON ve XML nesting depth kontrolleri aşırı derin payload'ların parser ve kurum servisi üzerinde yük oluşturmasını engeller. Key count, value count, per-field length ve duplication count gibi limitler de tanımlanabilir. Bu kontroller, hem güvenlik hem performans açısından koruyucu sınır oluşturur.
Block JSON ve Block XML toggle endpoint gövde tipini sınırlar
Bazı endpoint'lerin JSON veya XML body kabul etmemesi gerekebilir. TR7, endpoint bazında JSON veya XML body kullanımını tamamen kapatacak kontroller sunabilir. Bu sayede beklenmeyen body formatları kurum servisine ulaşmadan durdurulur. Özellikle sade GET endpoint'leri ve form dışı işlem kabul etmeyen servislerde etkilidir.
Per-field regex ile veri biçimi alan seviyesinde doğrulanır
Her header, query parametresi, form alanı veya body alanı için regex tabanlı doğrulama yapılabilir. E-posta, telefon, UUID, numeric ID, ülke kodu veya kurum özelindeki formatlar bu şekilde kontrol edilir. Format dışı değerler yalnızca uygulama hatasına bırakılmaz; edge seviyesinde yakalanır. Bu model, API sözleşmesinin veri biçimi boyutunu da güvenlik politikasına dahil eder.
Shadow API ve zombie endpoint önerileri görünür hale gelir
Trafikten öğrenilen endpoint'ler mevcut dokümante edilmiş API listesiyle karşılaştırılabilir. Dokümanda olmayan aktif endpoint'ler shadow API adayı, kullanılmaması gereken ama hâlâ trafik alan endpoint'ler zombie endpoint adayı olarak işaretlenebilir. Bu öneriler ayrı bir mutlak hüküm değil, operatörün inceleyeceği learning suggestion olarak sunulur. Güvenlik ekibi gerçek API yüzeyini daha hızlı toparlar.
Schema drift detection değişen API davranışını yakalar
Zaman içinde yeni JSON key'leri, yeni query parametreleri veya farklı method kullanımları ortaya çıkabilir. TR7, öğrenilen davranış ile mevcut şema politikası arasındaki farkları görünür hale getirebilir. Bu farklar uygulama sürüm değişikliği, hatalı client veya kötüye kullanım sinyali olabilir. Operatör değişimi kabul edip şemaya ekleyebilir veya politika ihlali olarak ele alabilir.
Compliance raporları aktif endpoint görünürlüğünü güçlendirir
API discovery, belirli dönemlerde hangi endpoint'lerin aktif olduğunu raporlamaya yardımcı olur. "Son 30 günde hangi endpoint'ler trafik aldı?" gibi sorular güvenlik ve uyumluluk ekipleri için önemlidir. Trafik tabanlı envanter, statik dokümandan daha gerçekçi bir denetim zemini sağlar. Kurum, API yüzeyini canlı davranışa göre izler.
Operasyonel derinlik
API keşfi ve şema kontrolleri; path, query, header, form, JSON, XML ve raw scope'larıyla birlikte işletilir.
Yedi şema kapsamı
TR7 şema kontrolleri path, query, header, form, JSON, XML ve raw alanlarını kapsar. Her kapsam kendi limit, whitelist ve doğrulama kurallarına sahip olabilir. Böylece API güvenliği yalnızca body değil, tüm request yüzeyi üzerinden tanımlanır.
Rule type çeşitleri
Şema kuralları complexInput, regex, numeric, boolean ve enumSelect gibi farklı tiplerle tanımlanabilir. Bu sayede basit aç/kapat kontrolleri ile detaylı alan listeleri aynı DSL içinde yönetilir. Operatör kural tipini API davranışına göre seçer.
Hedef kapsamları
Kurallar web application, api endpoint ve application server gibi farklı hedef seviyelerinde uygulanabilir. Bu sayede genel servis politikası ile tek endpoint'e özel şema ayrımı yapılabilir. Kapsam doğru seçildiğinde politika daha az tekrar ve daha net etki alanı üretir.
Learning tree yapısı
Öğrenme modeli path başına node, frequency ve child path bilgisi tutabilir. Host veya servis gruplarına göre özet bilgiler çıkarılabilir. Bu yapı API yüzeyinin hangi bölümlerinin yoğun, seyrek veya yeni olduğunu anlamaya yardımcı olur.
Öneri ve onay akışı
Öğrenilen değişiklikler otomatik uygulanmak yerine admin onayına sunulabilir. Operatör yeni endpoint, yeni alan veya yeni pattern önerisini inceler ve uygun olanları politikaya dönüştürür. Bu model, öğrenmeyi kontrolsüz otomasyon yerine güvenli karar desteği olarak konumlandırır.
Batch log analizi
Geçmiş log dosyaları batch olarak analiz edilerek API davranışı geriye dönük çıkarılabilir. Bu, discovery sürecinin yalnızca anlık trafikle sınırlı kalmamasını sağlar. Eski trafik dönemleri, kampanya zamanları veya saldırı anları ayrıca incelenebilir.
Hangi senaryolarda kullanılır
Shadow API tespiti ve görünürlük kazanımı
Güvenlik ekipleri, gerçek trafikten öğrenilen endpoint listesini mevcut API dokümanıyla karşılaştırabilir. Dokümanda olmayan aktif path'ler shadow API adayı olarak incelemeye alınır.
Mikroservis ağ geçidinde endpoint envanteri çıkarma
Mikroservis ekipleri her servisin endpoint davranışını manuel doküman beklemeden trafik üzerinden görebilir. TR7, path ve method bazlı envanteri güvenlik politikasına dönüştürmeye yardımcı olur.
Compliance audit için aktif API raporu
Uyumluluk ekipleri belirli dönemde hangi endpoint'lerin aktif olduğunu raporlayabilir. Bu, veri işleyen API yüzeyinin denetim sırasında daha net gösterilmesini sağlar.
Production'a açık kalan test endpoint'lerini yakalama
Test veya staging için açılmış endpoint'ler production trafiğinde görünürse learning önerileri içinde fark edilebilir. Operasyon ekibi bu path'leri kapatabilir, kısıtlayabilir veya doğru güvenlik politikasına alabilir.
Sık sorulanlar
Path grouping öğrenmesi nasıl çalışır?
Shadow API ve zombie endpoint önerileri nasıl ortaya çıkar?
OpenAPI ile entegrasyon nasıl işler?
Pozitif güvenlik modeli negatif güvenlikten nasıl farklıdır?
Schema drift detection ne anlama gelir?
Boyut ve derinlik limitleri hangi alanlarda uygulanır?
API yüzeyinizi gerçek trafik üzerinden öğrenin ve koruyun
Trafik tabanlı endpoint envanteri, shadow API görünürlüğü ve pozitif şema kuralları — kendi servislerinizle canlı bir kurulumda gezdirelim.