Betterleaks gizli bilgi tarayıcısı: mimarisi ve anahtarları
Son yıllarda, depolardaki gizli bilgilerin tespiti önemli ölçüde değişti. Eskiden, kodda şüpheli dizeler veya yüksek entropiye sahip anahtarlar aramak yeterliydi. Bugün durum farklı: daha büyük depolar, daha hızlı CI/CD işlem hatları ve her şeyden önemlisi, otomatik araçlar veya yapay zeka modelleri tarafından üretilen kod miktarında artış.
Bunun pratik bir sonucu var: Sorun artık sadece sırları bulmak değil, gerçekten tehlikeli olanı sadece tehlikeli görünenden ayırmak. Birçok ekip, bu tarayıcıların gerçek maliyetinin analiz yapmaktan ziyade yüzlerce yanlış pozitif sonucu incelemekten kaynaklandığını keşfediyor.

Tespit mimarisi: Betterleaks ile neler değişiyor?
Betterleaks tam da bu bağlamda ortaya çıkıyor. Gizli tarama yöntemini tamamen yeniden icat etmeye çalışmıyor, ancak yaygın bir varsayımı sorguluyor: kalıpları tespit etmenin yeterli olduğu varsayımını.
Birçok modern veri deposunda durum böyle değil.
Zach Rice tarafından geliştirilen ve Aikido'nun desteğiyle sürdürülen proje, biraz farklı bir yaklaşım öneriyor. Sadece eşleşmeleri tespit etmeye odaklanmak yerine, bulgunun mantıklı olup olmadığını doğrulamaya çalışıyor ve ardından bunu bir uyarı olarak iletiyor.
Bu küçük bir ayrıntı gibi görünebilir, ancak büyük ekiplerdeki dinamikleri önemli ölçüde değiştirir. Bir tarama sistemi çok fazla alakasız uyarı ürettiğinde, ekibin doğal tepkisi bunları görmezden gelmektir. Ve güvenlikte, görmezden gelinen bir uyarı, hiç uyarı olmamasından daha kötü olabilir.
Bu sorunu çözmek için Betterleaks iki ilginç teknik unsur sunuyor: CEL (Ortak İfade Dili) kullanarak doğrulama ve BPE tokenizasyonuna dayalı "Token Verimliliği" adı verilen bir ölçüt.
Buradaki fikir, gizli gibi görünen her şeyin aslında gizli olmadığıdır. Bazı yüksek entropili dizeler basitçe hash'ler, tanımlayıcılar veya otomatik olarak oluşturulmuş parçalardır. Sistemin amacı bu gürültüyü azaltmaktır.
Proje dokümantasyonunda, BPE tokenizasyonunun CredData veri setinde entropi kullanılarak elde edilen ,4'lük orana kıyasla ,6'lık bir geri çağırma oranı elde ettiği bir karşılaştırmadan bahsediliyor. Herhangi bir kıyaslamada olduğu gibi, bu rakamlar gösterge niteliğindedir. Referans noktası olarak iyi iş görürler, ancak gerçek veri depolarında test etmenin yerini tutmazlar.

Kaynak: GitHub
Fark yaratan bileşenler
Projenin özelliklerini incelemek, net bir yönelim ortaya koyuyor: çok fazla teknik karmaşıklık eklemeden gerçek dünya ortamlarında devreye almayı kolaylaştırmak.
En belirgin unsurlar arasında şunlar yer almaktadır:
- CEL (Ortak İfade Dili) kullanarak kural tanımlı doğrulama
- CredData veri kümesinde entropi yerine BPE tokenizasyonuna dayalı Token Verimliliği Tarama yöntemi, entropiyle elde edilen ,4'lük geri çağırma oranına karşılık ,6'lık geri çağırma oranı elde etmiştir.
- Tamamen Go ile yazılmış bir uygulama (CGO veya Hyperscan bağımlılığı yok).
- Çift/üçlü kodlanmış gizli bilgilerin otomatik olarak işlenmesi
- Daha fazla sağlayıcı için genişletilmiş kural seti
- Daha hızlı depo analizi için paralelleştirilmiş Git taraması
Bu liste sadece teknik iyileştirmelerden oluşmuş gibi görünse de, asıl ilginç olan bunların günlük kullanım üzerindeki etkileridir.
Örneğin, yerel bağımlılıkları olmayan tam bir Go uygulaması, CI/CD işlem hatlarına entegrasyonu büyük ölçüde kolaylaştırır. Birçok ekipte, bu gibi küçük ayrıntılar, bir aracın kullanılıp kullanılmayacağını veya bir depoda unutulup unutulmayacağını belirler.
BPE tokenizasyonu ayrıca farklı bir yaklaşım da sunuyor. Bir zincirin rastgeleliğini ölçmek yerine, modern kimlik bilgilerinin gerçekte nasıl yapılandırıldığını daha yakından yansıtan token kalıplarını analiz ediyor.
Tarayıcı bir şey bulduğunda ne olur?
Betterleaks potansiyel bir sırrı tespit ettiğinde, süreç orada bitmez.
Öncelikle, bağlam CEL'de tanımlanan kurallar kullanılarak değerlendirilir. Bu, ek koşulların eklenmesine olanak tanır: örneğin, formatın beklenen sağlayıcıyla eşleşip eşleşmediğinin kontrol edilmesi veya örneklerde veya kurgusal verilerde sıkça görünen kalıpların elenmesi.
Bu adım önemsiz gibi görünse de, önemli bir pratik etkiye sahiptir. Yanlış pozitifler sadece zaman kaybına yol açmakla kalmaz, aynı zamanda ekibin uyarı sistemine olan güvenini de azaltır.
Bir diğer ilginç yön ise, birden fazla kez kodlanmış gizli bilgilerin otomatik olarak işlenmesidir. Bazı veri depolarında, kimlik bilgileri base64 veya diğer kodlama şemaları kullanılarak dönüştürülmüş halde görünür, bu da tespit edilmelerini zorlaştırır.
Yine de, bazen gözden kaçan bir şeyi hatırlamakta fayda var: hiçbir tarayıcı insan incelemesinin yerini tamamen alamaz. Bir sırrı tespit etmek sadece başlangıçtır; onunla ne yapılacağına (iptal etmek, döndürmek, görmezden gelmek veya araştırmak) karar vermek bağlamsal bir karar olmaya devam eder.
Yönetişim ve insan merkezli yaklaşım/Yapay Zeka
Betterleaks, MIT lisansı altında yayınlanmaktadır ve Royal Bank of Canada, Red Hat ve Amazon gibi kuruluşlardan dış katkılar içermektedir.
Proje aynı zamanda modern depolarda giderek daha belirgin hale gelen bir gerçekliğe de uyum sağlamayı amaçlıyor: geliştiriciler tarafından yazılan kod ile otomatik araçlar tarafından üretilen kodun karışımı.
Bu bağlamda, araç hem insan tarafından işletilen iş akışlarında hem de tüm depoları inceleyen otomatik sistemlerde iyi performans göstermeyi amaçlamaktadır. Bu, giderek artan kullanım ile uyumludur. otomasyon ve araçlar kod analizi yapan veya otomatik incelemeler üreten.
Yol haritası ayrıca ilginç fikirler de içeriyor: entegrasyon ile Git'in ötesindeki veri kaynaklarıBulguların sınıflandırılması ve sağlayıcı API'leri aracılığıyla otomatik iptal mekanizmaları için dil modeli desteği.
Bu, ilginç bir tartışmayı gündeme getiriyor. Kimlik doğrulama iptalinin otomatikleştirilmesi, bir olaya müdahale süresini kısaltabilir, ancak aynı zamanda sınıflandırma sisteminin doğru olmasına da güvenmek anlamına gelir.
Otomatik iptal işlemi başarısız olursa veya yanlışlıkla tetiklenirse, operasyonel etkileri önemli olabilir.
Pratik çıkarımlar ve sınırlamalar
Operasyonel açıdan bakıldığında, Betterleaks, yanlış pozitifleri azaltmak ve dağıtımları basitleştirmek isteyen ekipler için cazip bir çözümdür.
Ancak bazı sınırları da akılda tutmak önemlidir:
- Geri çağırma ölçütleri kullanılan veri setine bağlıdır ve veri depoları arasında önemli ölçüde değişiklik gösterebilir.
- Anahtar iptali gibi işlemlerin otomatikleştirilmesi ek kontroller ve denetim kayıtları gerektirir.
- Gizli tarayıcılar, daha geniş bir strateji içindeki savunma katmanlarından sadece birini oluşturmaktadır.
Çoğu durumda, böyle bir aracı benimseme kararı, teorik doğruluğundan ziyade daha basit bir şeye bağlıdır: ekibin iş akışına iyi entegre olup olmamasına.
Çok fazla sürtünme yaratan yüksek hassasiyetli bir tarayıcı genellikle terk edilir. Makul derecede hassas ve entegrasyonu kolay olan bir tarayıcı ise genellikle muhafaza edilir.
Bu anlamda Betterleaks bir denge kurmaya çalışıyor. Tüm yanlış pozitifleri ortadan kaldırmayı veya mevcut güvenlik süreçlerinin yerini almayı vaat etmiyor, ancak gürültüyü azaltmayı ve modern süreçlere entegrasyonu kolaylaştırmayı hedefliyor.
Proje GitHub'da mevcuttur. ve Gitleaks tarafından kullanılan yaklaşımın bir evrimi olarak sunuluyor; amaç, otomasyonun, analiz aracıların ve dil modelleri tarafından üretilen kodun geliştirme akışının düzenli bir parçası olduğu depolara uyum sağlamaktır.




















