Ç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.
TR7, API keşfini trafik öğrenimi, pozitif şema, boyut/derinlik sınırları ve alan bazlı doğrulama ile birlikte uygular.
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.
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.
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.
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.
API Keşfi ve Şema, öğrenilen endpoint envanterini uygulanabilir pozitif güvenlik kurallarına dönüştürür.
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.
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.
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.
İ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.
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.
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.
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.
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.
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.
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.
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.
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.
API keşfi ve şema kontrolleri; path, query, header, form, JSON, XML ve raw scope'larıyla birlikte işletilir.
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.
Ş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.
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.
Öğ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.
Öğ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.
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.
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 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.
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.
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.
Trafik tabanlı endpoint envanteri, shadow API görünürlüğü ve pozitif şema kuralları — kendi servislerinizle canlı bir kurulumda gezdirelim.