Bu makalenin başlığı muhtemelen bir memenin başlığına benziyor. Bunun yerine bu, GitGuardian mühendislerinin yeni uygulamalarının mekanizmalarını uygularken çözmeleri gereken gerçek bir sorundur. HasMySecretSızdırılan hizmet. 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, bir gizli parmak izi protokolü bu sırrı şifreler ve karma hale getirir ve ardından yalnızca kısmi bir karma GitGuardian ile paylaşılır. 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.
Eğer kullanıyorsanız HasMySecretSızdırılan web Arayüzde, 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.
Eğer kullanıyorsanız açık kaynak ggshield CLI hmsl komutunu kullandığınızda neler olduğunu görmek için CLI 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 komutu için ggshield belgeleri.
GitGuardian, insanların kendi uygulamalarını kullanmasını sağlamak için ekstra çaba harcadı. HasMySecretSızıntı denetleyicisi Sızıntı olup olmadığını görmek için gerçek sırları paylaşmanıza gerek yok. 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. Günde beşe kadar ücretsiz olarak kontrol edebilirsiniz. HasMySecretSızıntı denetleyicisi Web aracılığıyla ve hatta daha fazlasını kullanarak GitGuardian kalkanı CLI. 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.