Bu makalenin başlığı muhtemelen bir memenin başlığına benziyor. Bunun yerine bu, GitGuardian mühendislerinin yeni HasMySecretLeaked hizmetinin mekanizmalarını uygularken çözmeleri gereken gerçek bir sorundur. Geliştiricilerin, sırlarının (şifreler, API anahtarları, özel anahtarlar, kriptografik sertifikalar vb.) halka açık GitHub depolarına girip girmediğini öğrenmelerine yardımcı olmak istiyorlardı. Halka açık GitHub depolarında bulunan geniş bir sır kütüphanesini ve geçmişlerini nasıl tarayıp, hassas bilgileri ifşa etmenize gerek kalmadan bunları sırlarınızla nasıl karşılaştırabilirler? Bu makale size nasıl yapılacağını anlatacak.
Birincisi, eğer bir bitin kütlesini bir elektronunkine eşit olarak ayarlarsak, bir ton veri, standart Dünya yerçekiminde yaklaşık 121,9 katrilyon petabayt veri veya MacBook Pro depolama yükseltmelerinde 39,2 milyar milyar milyar ABD doları (hepsinden daha fazla) olacaktır. dünyadaki para). Dolayısıyla bu makale GitGuardian’ın bir “ton” GitHub genel taahhüt verisini taradığını iddia ettiğinde, bu gerçek değil mecazidir.
Ama evet, GitHub’dan bir “ton” genel taahhüt ve özeti taradılar, taahhüt geçmişlerini dolaştılar ve şunu buldular: milyonlarca sırlar: şifreler, API anahtarları, özel anahtarlar, şifreleme sertifikaları ve daha fazlası. Ve hayır, “milyonlarca” mecazi değildir. 2022’de tam anlamıyla 10 milyonun üzerinde sayı buldular.
GitGuardian, geliştiricilerin ve işverenlerinin, milyonlarca sırrı yayınlamadan, mevcut ve geçerli sırlarının bu 10+ milyon arasında olup olmadığını görmelerini, tehdit aktörlerinin bunları bulmasını ve toplamasını kolaylaştırarak ve çok sayıda cinlerin ortaya çıkmasına izin vermeden nasıl mümkün kılabilirdi? bir sürü şişeden mi çıktı? Tek kelime: parmak izi.
Dikkatli bir değerlendirme ve testten sonra, sırrı şifreleyen ve karma hale getiren bir gizli parmak izi protokolü geliştirdiler ve ardından sadece kısmi bir karma GitGuardian ile paylaşıldı. Bununla, hash’i tersine çevirecek ve şifresini çözecek kadar bilgi sahibi olmadan potansiyel eşleşme sayısını yönetilebilir bir sayıyla sınırlandırabilirler. Güvenliği daha da sağlamak için, istemci tarafına şifreleme ve sırrı karma haline getirme araç setini yerleştirdiler.
HasMySecretLeaked web arayüzünü kullanıyorsanız, hash’i yerel olarak oluşturmak için bir Python betiğini kopyalayabilir ve çıktıyı tarayıcıya koyabilirsiniz. Sırrın kendisini tarayıcı tarafından iletilebilecek herhangi bir yere koymanız gerekmez ve betiği çalıştırmak için açtığınız terminal oturumunun dışına hiçbir şey göndermediğini kendinize kanıtlamak için 21 kod satırını kolayca inceleyebilirsiniz. Bu yeterli değilse Chrome’da veya başka bir tarayıcıda F12 geliştirici araçlarını açın ve web arayüzünün hangi bilgileri yukarı yönde gönderdiğini izlemek için “Ağ” paneline gidin.
Açık kaynaklı ggshield CLI’yi kullanıyorsanız hmsl komutunu kullandığınızda neler olduğunu görmek için CLI’nin kodunu inceleyebilirsiniz. Daha fazla güvence mi istiyorsunuz? Neyin aktarıldığını görmek için Fiddler veya Wireshark gibi bir trafik denetçisi kullanın.
GitGuardian’ın mühendisleri, kendilerine güvenen müşterilerin bile bir API anahtarını veya başka bir sırrı web sayfasındaki bir kutuya yapıştırma konusunda endişeli olacağını biliyordu. Hizmeti kullanan herkesin hem güvenliği hem de gönül rahatlığı için mümkün olduğunca şeffaf olmayı ve sürecin mümkün olduğunca büyük bir kısmını müşteri kontrolüne bırakmayı seçtiler. Bu, pazarlama materyallerinin ötesine geçerek hsml komutunun ggshield belgelerine kadar uzanır.
GitGuardian, HasMySecretLeaked denetleyicisini kullanan kişilerin, sırların sızdırılıp sızdırılmadığını görmek için gerçek sırları paylaşmak zorunda kalmamalarını sağlamak için ekstra çaba harcadı. Ve karşılığını aldı. Yayına çıktığı ilk birkaç haftada 9.000’den fazla sır kontrol edildi.
Sırlarınız zaten kamuya açıklanmışsa, bilmek bilmemekten daha iyidir. Henüz sömürülmemiş olabilirler, ancak bu muhtemelen sadece bir zaman meselesi. Web üzerinden HasMySecretLeaked denetleyicisi aracılığıyla günde en fazla beş tanesini ücretsiz olarak kontrol edebilirsiniz ve GitGuardian shield CLI’yi kullanarak daha da fazlasını yapabilirsiniz. Sırlarınızın sızdırılıp sızdırılmadığını görmek istemiyorsanız bile müşterilerinizin, bilginin kendisini paylaşmadan hassas bilgileri paylaşmalarını kolaylaştırma çabalarınıza ilham vermek için kodlarına ve yöntemlerine bakmalısınız.