20 Mayıs 2024Hacker HaberleriYazılım Güvenliği / Güvenlik Açığı

Tüm geliştiriciler güvenli ve güvenilir yazılım oluşturmak ister. Uygulamalarına herhangi bir zayıflık veya anti-kalıp sokmadıklarına tam bir güvenle kodlarını yayınlamaktan gurur duymalılar. Ne yazık ki geliştiriciler bugünlerde çoğunlukla kendi kodlarını yazmıyorlar. Tüm yazılımların %96’sı bazı açık kaynaklı bileşenler içerir ve açık kaynaklı bileşenler arasında yer alır. Herhangi bir modern yazılımın %70’i ve %90’ı. Ne yazık ki güvenlik odaklı geliştiricilerimiz için modern güvenlik açıklarının çoğu bu yazılım bileşenlerinden kaynaklanmaktadır.

Yeni güvenlik açıkları ortaya çıktıkça ve kamuya açıklandıkça Yaygın Güvenlik Açıkları ve Etkilenmeler (CVE’ler), güvenlik ekiplerinin geliştiriciden bağımlılıkların farklı sürümlerini içerecek şekilde kodu yeniden düzenlemesini istemekten başka seçeneği yoktur. Yeni özellikleri engellediği ve bileşen sürümlerini geri almak ve hiçbir şeyin bozulmayacağını ummak çıldırtıcı olabileceği için bu durumdan kimse memnun değil. Geliştiricilerin bir yola ihtiyacı var hızlıca Çekme isteğinde bulunmadan önce, kullanmak istedikleri bir bileşenin bilinen bir güvenlik açığına sahip olup olmadığını belirlemelidirler.

Neyse ki geliştiriciler ve güvenlik ekipleri için, CVE’leri yerel olarak, otomatik olarak ve herhangi bir taahhütte bulunulmadan önce taramak artık her zamankinden daha kolay ve hızlı.

Taahhüt edilmeden önce kodunuzda ne olduğunu anlamak

Kaynak Kodu Analizi (SCA) çoğunlukla aşağıdaki tartışmalarda gündeme gelir: Yazılım Malzeme Listesi (SBOM’lar) ve uyumlulukla ilgili konuşmalarda ve normalde kodun asıl yazılmasından çok daha sonra. İle GitGuardian Yazılım Kompozisyon Analizi (SCA)geliştiriciler, işlerinin herhangi bir noktasında sorunları doğrudan terminallerinden tararlar. ggshield, GitGuardian CLI. Kodlayıcılar tek bir hızlı komutla bağımlılığın belirli bir sürümünün bilinen bir güvenlik açığı oluşturup oluşturmadığını test edebilir. GitGuardian bir düzeltmenin mevcut olup olmadığını bile gösterecektir.

Bu örnekte, “go-getter” kütüphanesi için bir gereksinim ekledik ve 1.7.1 sürümünü belirledik. Bir geliştiricinin bu sürümü kullanmasının birçok nedeni olabilir; örneğin eski bir eğitimden kopyalamak veya o kitaplığın işlevselliğini açıklayan çevrimiçi bir gönderi paylaşmak gibi. Basit bir SCA taraması, bu sürümün yalnızca bilinen bir güvenlik açığına neden olmakla kalmayıp, aynı zamanda 1.7.4 sürümünde de bir düzeltmenin sunulduğunu gösterir.

GitGuardian SCA ve Git Kancaları
GitGuardian CLI olan ggshield, koddaki bir güvenlik açığını bulmak için bir SCA taraması gerçekleştiriyor.

Yalnızca yeni değişiklikleri otomatik olarak tara

Kodumuzdaki CVE’leri yerel olarak taramak çok güçlü olsa da yine de manuel bir işlemdir. İnsanlar yaratıcı olma konusunda harikadır, ancak konu bir süreçteki her adımı, özellikle de sıkıcı olanları tutarlı bir şekilde tekrar tekrar yapmak olduğunda pek iyi değiliz. Her geliştiricinin doğrudan favori kaynak kontrol yönetimi aracına yerleştirilmiş eksiksiz bir otomasyon platformuna sahip olması iyi bir şeydir. Git Kancaları.

GitGuardian SCA taraması, Git’in iş akışının ön taahhüt veya ön gönderim aşamasında otomatik olarak tetiklenebilir. Koddaki herhangi bir sorunu yakalamak için ideal zaman, bu sorunun projenizin geçmişine girmeden önceki zamanıdır. Hiçbir zaman gerçekleştirilmezse, güvenlik taramasının daha sonra CI/CD hattında veya üretimde bir sorun tespit etmesi muhtemel değildir. Her gün yeni CVE’ler ortaya çıkarken, bilinenleri kodumuza eklemediğimizden emin olmak için elimizden geleni yapmalıyız.

GitGuardian SCA ve Git Kancaları
Ggshield sca scan ön işleme komutunu otomatik olarak çalıştıran bir ön işleme git kancası

Doğru iş kapsamını tarama

Git hook örneğinde, manuel örnekte kullandığımız gibi “ggshield sca scan all” yerine “ggshield sca scan pre-commit” komutunu kullandığımızı göreceksiniz. SCA taramasının bu çeşidi, taramayı yalnızca geçerli çalışma dizini ile sınırlar; bu, yalnızca son işlemeden bu yana yapılan değişiklikler anlamına gelir. Bu şekilde kod tabanında henüz giderilemeyen güvenlik açıkları varsa değişikliklerinizi engellemezler. Yalnızca bağımlılıklarla ilgili yeni sorunlar belirlenecek ve bu durumda taahhüt durdurulacaktır.

GitGuardian SCA ve Git Kancaları
Ön taahhüt git kancası, bir taahhüt girişiminde bulunulduğunda kritik bir güvenlik açığı bulur ve kodun projeye eklenmesini durdurur.

Bu örnekte, yalnızca taahhüt gerçekleşmemekle kalmıyor, aynı zamanda GitGuardian’dan gelen mesaj bize daha sonraki bir sürümde bir düzeltmenin mevcut olduğunu söylüyor. Geliştiricimizin tek yapması gereken, tanımlanan dosyadaki bir karakteri değiştirmek, onu kaydetmek ve ardından yeni işlemi başarıyla gerçekleştirebilirler.

GitGuardian SCA ve Git Kancaları
Kod güncellendiğinde başarılı bir taahhüt.

Sola kaydırmak sorunları daha erken çözmek anlamına gelir

Güvenlik tüm organizasyonu gerektirse de, geliştirme ekibinizi güvenlik sorunlarını erken bulup ortadan kaldırmak için doğru araçlarla donatmak, daha sonra yazılım teslim sürecindeki birçok baş ağrısını ortadan kaldırabilir. Bir sorunu üretime ne kadar yakın bulursanız, düzeltilmesi de o kadar pahalı olur. İşte bu yüzden yaptık GitGuardian SCA ön-taahhüt Git Hook olarak mevcuttur; böylece her geliştirici, bilinen bir güvenlik açığını üretim hattına ve sonuçta üretime eklemekten kendilerini koruyabilir.

GitGuardian SCA, ekibimizle kısa bir görüşmenin ardından 2 haftalık ücretsiz deneme için kullanılabilir. SCA, GitGuardian’ın ürün paketinin ele aldığı sorunlardan sadece bir tanesidir. Ayrıca bir dizi güvenlik aracını da entegre ediyoruz: Sırların Tespiti, Kamu İzleme, Kod Güvenliği Olarak AltyapıVe Bal belirteci.



siber-2