[ad_1]
Log4j, çoğu geliştiriciyi yazılım tedarik zinciri güvenlik sorununa uyandıran soğuk su kovasıydı.
Yazılım geliştirme ve üretim ortamımızı saplantı haline getirme konusunda onlarca yıl harcadık. Ama birinin masasının altında oturan yamasız Jenkins kutuları üzerine inşa ediyoruz. Tüm bu zamanı çalışma zamanlarımızı korumak için harcıyoruz, ardından amatör araçları kullanarak onlara dağıtıyoruz.
Yapı ortamlarımız, üretim ortamlarımız kadar güvenli değildir.
Son 12 ayda SolarWinds’ten Codecov saldırısına, Travis CI sırları sızıntısına kadar birçok yüksek profilli saldırıya yol açan şey buydu. Altyapımızı korumada o kadar iyi olduk ki saldırganlar daha kolay bir yol aradı ve bunu tedarik zincirinde açık bıraktığımız kapılarda buldu.
Çevre güvenliğinden içeri giremez misin? Sadece bir açık kaynak bağımlılığı veya kitaplık bulun ve bu şekilde girin. Ardından tüm müşterilere dönün. Bu, modern yazılım tedarik zinciri hack’idir.
Yazılım için güven köklerine ihtiyacımız var
Bugün insanlar için güven köklerimiz var. İki faktörlü kimlik doğrulamamız var, tanımlama sistemlerimiz var. Bunlar bir kişinin kimliğine kefil olacak şeylerdir. Ve donanım aynı şeye sahiptir. Şifreleme anahtarlarımız var. Önyüklendiğinde kurcalanmadığına güvenebileceğimiz donanımımız var.
İnternet kullanıcıları olarak bile güven köklerimiz var. URI’lerimiz, URN’lerimiz ve URL’lerimiz var – internette gezindiğimiz sitelerin kimliklerini, adlarını ve konumlarını birbirine bağlayan ad alanları. SSL sertifikaları, tarayıcılarımıza sitelerin güvenli olduğunu söyler. DNS güvenlik duvarları, önbelleğimizin kötü isteklerle yüklenmediğinden emin olmak için kullanıcının özyinelemeli çözümleyicileri arasında yer alır. Bütün bunlar perde arkasında oluyor ve on yıllardır milyarlarca internet kullanıcısını desteklemede inanılmaz derecede etkili oldu.
Ancak bugün yazılım artefaktları için buna sahip değiliz.
Geliştiriciler örtük olarak çok fazla güveniyor
Cloud Native Computing Foundation (CNCF) yapı merkezinden Prometheus’u (popüler bir açık kaynak gözlemlenebilirlik projesi) yüklemek kadar sıradan bir olaya katılın. Helm kurulumunuzu yapar ve ardından çekilen tüm görüntülere bakar ve kümenizi çalıştırmaya başlarsanız, basit bir kurulumdan çalışan birçok kapsayıcı görüntüsü görürsünüz. Geliştiriciler, bir sürü farklı insan ve sisteme bir sürü şey emanet ediyor. Bunların her biri kurcalanabilir, saldırıya uğrayabilir veya kötü niyetli olabilir.
Bu, Sıfır Güven’in tam tersidir – hakkında hiçbir şey bilmediğimiz düzinelerce sisteme güveniyoruz. Yazarları tanımıyoruz, kodun kötü amaçlı olup olmadığını bilmiyoruz ve her görüntünün kendi eserleri olduğundan, tüm tedarik zinciri özyinelemeli. Yani sadece eserlere değil, aynı zamanda bu eserlerin bağımlılıklarına güvenen insanlara da güveniyoruz.
Ayrıca depoları işleten kişilere de güveniyoruz. Bu nedenle, depo operatörlerinin güvenliği ihlal edilirse, güvenlik sağlayıcılar artık güven çemberinizin bir parçasıdır. Bu depolardan birini kontrol eden herhangi biri bir şeyi değiştirebilir ve size saldırabilir.
Sonra inşa sistemleri var. Derleme sistemleri saldırıya uğrayabilir ve kötü amaçlı kod ekleyebilir. Aynen öyle oldu Güneş Rüzgarları. Görüntülerin operatörlerini ve görüntüleri barındıran sistemleri işleten kişileri bilseniz ve onlara güvenseniz bile, bunlar güvensiz bir şekilde oluşturulmuşsa, bazı kötü amaçlı yazılımlar eklenebilir. Ve yine baştan aşağı özyinelemeli. Bağımlılığı sürdürenler, kullandıkları yapı sistemleri, barındırıldıkları yapı yöneticileri – hepsi zayıflar.
Bu nedenle, geliştiriciler yazılım paketleri yüklediğinde, ister güvenmek isterlerse istemesinler, dolaylı olarak güvendikleri birçok şey vardır.
Yazılım tedarik zinciri güvenlik sorunları
Yazılım tedarik zinciri güvenliğinde sahip olabileceğiniz en kötü strateji, bugün pek çok geliştiricinin yaptığı gibi hiçbir şey yapmamaktır. Her şeyin üretim ortamlarında çalışmasına izin veriyorlar. Hangi eserlerin çalışabileceğine dair bir güvenliğiniz yoksa, nereden geldikleri hakkında hiçbir fikriniz yoktur. Bu kötünün en kötüsü. Bu hiç dikkat edilmiyor.
İzin verilenler listesine özel etiketler bir sonraki seviyedir. Kubernetes ile ilgili en iyi uygulamalarla ilgili bazı eğiticileri gözden geçirirseniz, kurulumu oldukça kolaydır. Tüm görüntülerinizi tek bir konuma iterseniz, en azından işleri o konumla sınırlayabilirsiniz. Bu hiçbir şey yapmamaktan çok daha iyi, ama yine de harika değil, çünkü o zaman oraya itilen her şey şimdi güven çemberinizin içinde, o dikenli tel çitin içinde ve bu gerçekten Sıfır Güven değil. İzin verilenler listesine özel depolar, izin verilenler listesine özel etiketlerle aynı sınırlamalara sahiptir.
Tedarik zinciri güvenliğindeki imza şemaları bile aynı problemin üstesinden geliyor. Şimdi imzalanan her şey, nereden geldiğine bakılmaksızın çalışır hale gelir ve bu da birisini yanlış şeyi imzalaması için kandırmaya veya bir sertifikayı iptal edememeye bağlı tonlarca saldırıya yol açar.
Doğru soruları sormaya başlama zamanı
Diyelim ki ofisinizin dışındaki kaldırımda yürüyorsunuz ve yerde oturan bir USB flash sürücü buldunuz. Umarım herkes, o sürücüyü kesinlikle ofisinize götürmemeniz ve iş istasyonunuza takmamanız gerektiğini bilir. Yazılımdaki herkes (haklı olarak) “Hayır!” diye bağırmalıdır. Gerçek saldırılar bu şekilde gerçekleşti ve dünyanın dört bir yanındaki güvenlik kuruluşları, eğitimin bir parçası olarak bu uyarıyı tüm çalışanlara çakıyor.
Ama nedense koşmadan önce iki kere düşünmeyi bile bırakmıyoruz. docker pull
veya npm install
, bunların rastgele bir USB çubuğu takmaktan tartışmasız daha kötü olmasına rağmen. Her iki durumda da güvenmediğiniz birinden kod alıp çalıştırmayı içerir, ancak Docker kapsayıcısı veya NPM paketi sonunda onu üretim ortamınıza kadar getirecektir!
Bu tedarik zinciri güvenliği evriminin özü, bir endüstri olarak güvenmekten uzaklaşıyor olmamızdır. nerede yazılım ürünleri geliyor ve güvenin köklerini bulmak için çok daha fazla zaman harcıyor. ne eserdir.
Bu ikili dosyayı kim yayınladı? Nasıl inşa edildi? Aracın hangi sürümü kullanıldı? Hangi kaynaktan inşa edildi? Bu koda kim imza attı? Herhangi bir şey tahrif edildi mi? Bunlar sorulması gereken doğru sorular.
Önümüzdeki hafta, tedarik zinciri güvenliği için yeni bir güvenlik yığını oluşturan hızla gelişen açık kaynak ortamına bakacağız ve geliştiricilerin güvenin köklerinden, kökene ve TPM’ye (Güvenilir Platform Modülü) anlaması gereken temel kavramları açıklayacağız. ) tasdik.
Dan Lorenc CEO’su ve kurucu ortağıdır. Zincir koruma. Daha önce personel yazılım mühendisiydi ve Google’ın Açık Kaynak Güvenlik Ekibinin (GOSST) lideriydi. Minikube, Skaffold, TektonCD, Sigstore gibi projeler kurmuştur.
–
New Tech Forum, ortaya çıkan kurumsal teknolojiyi benzeri görülmemiş bir derinlikte ve genişlikte keşfetmek ve tartışmak için bir alan sağlar. Seçim, önemli olduğuna inandığımız ve InfoWorld okuyucularının en çok ilgisini çeken teknolojileri seçmemize dayalı olarak özneldir. InfoWorld, yayın için pazarlama teminatı kabul etmez ve katkıda bulunan tüm içeriği düzenleme hakkını saklı tutar. Tüm sorularınızı [email protected] adresine gönderin.
Telif Hakkı © 2022 IDG Communications, Inc.
[ad_2]
Kaynak : https://www.infoworld.com/article/3663689/software-developers-have-a-supply-chain-security-problem.html#tk.rss_all