Sırlar, saklanmak veya en azından yalnızca belirli ve sınırlı sayıda kişi (veya sistem) tarafından bilinmek içindir. Aksi takdirde, bunlar gerçekten sır değildir. Kişisel yaşamda açığa çıkan bir sır, ilişkilere zarar verebilir, sosyal damgalanmaya yol açabilir veya en azından utanç verici olabilir. Bir geliştiricinin veya uygulama güvenlik mühendisinin profesyonel yaşamında, sırların ifşa edilmesinin sonuçları güvenlik ihlallerine, veri sızıntılarına yol açabilir ve aynı zamanda utanç verici olabilir. Kaynak kodunu ve kod depolarını tespit etmek için araçlar mevcut olsa da, düz metin, belgeler, e-postalar, sohbet günlükleri, içerik yönetim sistemleri ve daha fazlasındaki sırları belirlemek için çok az seçenek vardır.

Sırlar Nelerdir?

Uygulamalar bağlamında sırlar, bir uygulamanın çalışması için ihtiyaç duyduğu ancak yetkisiz kullanıcılara ifşa edilmemesi gereken parolalar, API anahtarları, kriptografik anahtarlar ve diğer gizli veriler gibi hassas bilgilerdir. Sırlar genellikle güvenli bir şekilde saklanır ve gerektiğinde uygulama tarafından programlı olarak erişilebilir.

Sırların kullanılması, uygulamaların güvenliğini sağlamanın önemli bir yönüdür. Bu hassas bilgi parçalarına yetkisiz erişim, güvenlik ihlallerine ve diğer kötü niyetli faaliyetlere yol açabilir. Sırları korumak için geliştiriciler, sistem yöneticileri ve güvenlik mühendisleri, yalnızca yetkili kullanıcıların erişebilmesini sağlamak için şifreleme, güvenli depolama ve erişim kontrol mekanizmaları gibi çeşitli güvenlik teknikleri kullanır. Ek olarak, parolaları ve anahtarları düzenli olarak değiştirmek ve sırlara erişimin kapsamını yalnızca uygulamanın çalışması için gerekli olanlarla sınırlamak gibi en iyi uygulamaları uygularlar.

Yazılım Tedarik Zincirindeki Sırlar

Sırlar, dağıtıma kadar işbirliğini ve aradaki her şeyi kapsayan yazılım tedarik zinciri güvenliğinin kritik bir bileşenidir.

Erişim anahtarı veya parola gibi bir sır, genellikle bir saldırgan ile hassas veriler veya sistemler arasında duran tek şeydir. Bu nedenle, bu sırları gizli ve güvende tutmak esastır. Sırlar ifşa edildiğinde, bir kuruluşta önemli finansal ve itibar kaybına neden olabilecek yıkıcı bir veri ihlaline yol açabilir.

Sırlar, yazılım tedarik zinciri saldırılarının sık görülen bir hedefidir. Saldırganlar genellikle kurumsal sistemlere, verilere veya sunuculara erişim elde etmek için sırları hedefler. Yanlışlıkla bir kamu kaynağına sızdırmışlarsa bu sırları kolayca elde edebilirler. Yazılım tedarik zinciri güvenliğindeki sırların korunması, saldırganların kurumsal sistemleri ve verileri tehlikeye atmak için bunları kullanmamasını sağlamak için çok önemlidir. Uygun gizli yönetim, kritik sistemlere ve verilere yetkisiz erişimin önlenmesine yardımcı olarak kuruluşları tedarik zinciri saldırılarına karşı koruyabilir.

Sırları Nasıl Gizli Tutarsınız?

Sızan sırlara karşı korunmak için aşağıdaki uygulamaları kullanabilirsiniz:

  1. Sırları depolamak için ortam değişkenlerini kullanın: Sırları kodunuza kodlamak yerine, bunları ortam değişkenlerinde saklayın. Bu, gizli dizileri yönetmeyi kolaylaştırır ve yanlışlıkla bir kod havuzuna kaydedilmemelerini sağlar.
  2. Bir .gitignore dosyası kullanın: Gizli diziler içeren dosyaların Git tarafından izlenmesini engellemek için bir .gitignore dosyası oluşturun. Bu, hassas bilgilerin yanlışlıkla bir kod havuzuna kaydedilmesini önleyecektir. Yukarıdaki #1’i takip ediyorsanız, sırların bir ortam değişkeni dosyasında saklandığından ve bu dosyanın .gitignore’da belirtildiğinden emin olun.
  3. Gizli dizi yönetimi aracı kullanın: Gizli dizi yönetimi aracı, uygulama veya sistem sırlarını güvenli bir şekilde depolamaya ve yönetmeye yardımcı olabilir. Bu, sırların şifrelenmesini ve yalnızca yetkili kullanıcılar tarafından erişilebilir olmasını sağlar.
  4. Şifreleme kullanın: sırları kod havuzlarında saklamadan önce şifreleyin. Bu, ekstra bir güvenlik katmanı sağlar ve saldırganların hassas bilgilere erişmesini zorlaştırır.
  5. İki faktörlü kimlik doğrulama (2FA) kullanın: Yetkisiz erişimi önlemek için kod havuzları için 2FA’yı etkinleştirin. Bu, ekstra bir güvenlik katmanı ekler ve saldırganların bir kod deposuna yetkisiz erişim sağlamasını zorlaştırır.

Bu en iyi uygulamaları takip ederek, kod havuzlarımızda ve kaynak kontrol yöneticilerimizde yanlışlıkla hassas bilgilerin açığa çıkmasına karşı kendinizi koruyabilirsiniz. Peki ya içerik yönetim sistemleri, düz metin belgeleri, e-postalar, sohbet günlükleri ve diğer dijital varlıklar gibi diğer sistemler? Olumsuz bir depoda saklanıyor mu?

Checkmarx’tan Çok Fazla Sır Tanıtmak

Too Many Secrets (2MS), insanların parolalar, kimlik bilgileri ve API anahtarları gibi hassas bilgilerinin halka açık web sitelerinde ve iletişim hizmetlerinde görünmesini engellemeye yardımcı olmaya adanmış açık kaynaklı bir projedir. 2MS bugün Confluence’ı destekliyor ve yakında Discord için destek ekleyeceğiz. Ayrıca, diğer iletişim veya işbirliği platformlarına da kolayca genişletilebilir.

2MS’i kurmak ve çalıştırmak son derece hızlı ve basittir. Go’da yerleşik olarak ihtiyacınız olan tek şey depoyu klonlamak, projeyi oluşturmak ve ikili dosyayı platformunuzda çalıştırmaktır. Aşağıda, OSX’te (Bash 5.1.16 kullanarak) çalışmaya başlarken kullandığım komutların listesi yer almaktadır:

# demleme kurulumu git

# git klonu https://github.com/Checkmarx/2ms.git

#cd 2ms

# git inşa et

# ./2ms –confluence https://.atlassian.net/wiki –confluence-spaces –confluence-username –confluence-token

2MS, bir sır algılama motoru üzerine inşa edilmiştir (şu anda gitleaks) ve popüler platformlarla etkileşime geçmek için çeşitli eklentiler içerir. Bu, açık kaynak topluluğundaki herkesin oldukça kolay bir şekilde katkıda bulunabileceği, geliştirebileceği ve 2MS’yi genişletebileceği anlamına gelir.

Daha fazla bilgi edin

Birlikte çalışarak, daha güvenli bir dijital dünya yaratabiliriz. Daha fazla bilgi edinmek veya projeyi kendiniz indirmek için şu adrese gidin: https://github.com/Checkmarx/2msGitHub’da mevcut.

Not: Bu makale, Checkmarx’ta Baş Ürün Müdürü olan Bryant Schuck tarafından ustalıkla yazılmış ve katkıda bulunmuştur.



siber-2