Yazılım Güvenliği, Yeni ve Gelişen Güvenlik Açıklarına Karşı Sürekli Tetikte Kalmayı Gerektiriyor
AS Operasyon Direktörü Tim Kenney tarafından
İşletmelerin Yazılıma İhtiyacı Var ve Günümüzün Yazılımları Açık Kaynakla Oluşturuldu.
Modern işletmeler, organizasyonlarını yürütmek için özel yazılımlara ihtiyaç duyar. Bugün, yeni yazılımların %90’ından fazlası paket adı verilen açık kaynaklı bileşenler üzerine kuruludur. Geliştiriciler, endüstri için dönüşüm yaratan ürünlerini oluşturmak için neredeyse sınırsız bir dizi açık kaynak paketine erişebilir. Neredeyse her kuruluş açık kaynak geliştirmeyi benimsemiştir; Google, Microsoft ve IBM gibi en büyükleri bile. Geliştirmeyi daha hızlı, daha kolay ve ekonomik hale getirir. Bir işletmenin yazılım ihtiyaçları büyüyebilir: muhasebe, bordro, veri tabanı yönetimi, varlık yönetimi, iletişim sistemleri, web siteleri, ödemeler ve satış yönetimi bunlardan sadece birkaçı. Bazı sektörler, cihazlarla (IoT) arayüz oluşturan özel yazılımlar gerektirir ve bu cihazlar yazılım içerir. Siz ve müşterileriniz, ürün ve hizmetlerinizi sunmak için bu sistemlere ihtiyacınız var.
Saldırı Vektörleri Yazılımınızın İçinde Gizlenmiş Olabilir
Ne yazık ki, bu sistemlerin her biri bir kuruluş için bir güvenlik riskini temsil eder. Genellikle, özel yazılım oluşturmak için kullanılan açık kaynaklı bileşenlerde güvenlik açıkları gizlenir. Bu, modern gelişimin dezavantajıdır. Fidye yazılımı saldırıları, dolandırıcılık amaçlı finansal işlemler ve sızdırılmış gizli kişisel verilerin tümü, işletmeniz için bir itibar ve finansal risk oluşturur. Kötü aktörler, işletmeniz veya satıcılarınız tarafından hata bekliyor. Birçok işletme, ağlarını saldırılara karşı güçlendirmeye ve kullanıcılarını kimlik avı saldırılarına ve parola korsanlığına karşı korumaya odaklandı. Bunlar iyi uygulamalar olsa da, en büyük saldırılardan bazılarının, işletmelerin çalıştırdığı yazılımlardaki veya cihazlarda çalışan yazılımlardaki güvenlik açıklarından bazılarının tekrarlanan temel nedenini atlayarak, farkında olmadan sistemlerini ve verilerini riske atıyorlar.
Bu gizli güvenlik açıklarının sonuçları çok pahalı olabilir. Equifax, yama uygulanmamış bir açık kaynak modülüyle başlayan veri ihlalinin, bilgisayar korsanlarının Temmuz 2017’nin ortalarında sunucularına erişmesinden bu yana şirkete yaklaşık 2 milyar dolara mal olduğunu söyledi. Geliştiriciler, Apache Struts açık kaynak paketini kullanmıştı. Bu paket için bir güvenlik açığı 7 Mart 2017’de açık kaynak kitaplığında yamalandı, ancak Equifax’taki geliştiriciler yamayı aylarca uygulamadı ve yanlışlıkla onları bir saldırıya açık bıraktı.
Yamasız sistemler, en büyük yazılım şirketleri için bile bir sorun teşkil eder. 2021’de, açık kaynak güvenlik açıkları nedeniyle Facebook’un 533 milyon kullanıcı verisinin güvenliği ve Linkedin’in 500 milyon kullanıcı profilinin güvenliği ihlal edildi. Son zamanlarda, birçok yazılım paketinin günlük kaydı için kullandığı bir yardımcı program olan Log4J paketinde çok ciddi bir güvenlik açığı bulundu. Apple’ın Icloud hizmeti, Microsoft’un Minecraft’ı gibi savunmasızdı. Ancak sorun yalnızca sunucularda veya PC’lerde çalışan yazılımlarla sınırlı değil, cihazları da etkiliyor. Başka bir güvenlik açığı olan NAME:WRECK’in 100 milyondan fazla cihazda olduğuna inanılıyor. Siemens, GE ve Lockheed Martin gibi şirketler de dahil olmak üzere birçok şirket tavsiyelerle öne çıktı. Bunların hepsi yüksek profilli örnekler, ancak bunun gibi olaylar her gün ülke genelinde her büyüklükteki şirkette yaşanıyor.
Geliştirme sırasında kontrol edin ve kontrol etmeye devam edin
Riskler önemlidir, ancak aşılmaz değildir. İyi haber şu ki, açık kaynak paketleri, onlarla çalışan daha fazla insan anlamına geliyor ve güvenlik açıkları hızla bulunup rapor ediliyor. Bu paketlerde bir güvenlik açığı bulunduğunda, Ulusal Güvenlik Açıkları Veritabanı (NVD), Ortak Güvenlik Açıkları ve Etkilenmeler (CVE) veya GitHub Sorunları gibi diğerleri gibi bazı genel veritabanları aracılığıyla genellikle düzeltme bilgileriyle paylaşılır. Yeni güvenlik açıkları herhangi bir zamanda gönderilebilir. Dün güvenli olan bugün güvenli olmayabilir. Güvenlik açıkları, gelecekte kullanmak üzere kendi yazılımlarını kurabilen kötü bir oyuncunun sisteminizin tüm kontrolünü ele geçirmesine izin vermek kadar ciddi olabilir. Geliştiricilerin güvenli paketleri kullandıklarından emin olmaları için otomatik araçlar vardır. Bu araçlara Yazılım Kompozisyon Analiz Araçları (SCA) adı verilir. Bu araçlar, tüm bileşenleri içeren ve bilinen güvenlik açıklarını da içerebilen bir Yazılım Malzeme Listesi (SBOM) oluşturabilir.
Ek olarak, başka bir güvenlik açığı türü olan yazım hatasına karşı dikkatli olunmalıdır. Typosquatting, kötü niyetli bir aktörün popüler bir pakete benzer ancak güvenlik açıkları olan bir depoya açık kaynak paketi yerleştirmeye çalışmasıdır. Belki bir sürüm numarası veya tek bir harf değiştirilir. Bu paketler, meşru paket gibi çalışabilir. Bazı SCA araçları bu olası güvenlik açıklarını vurgulayabilir.
Geliştiriciler, kendi kodlarında kalite güvence ekibiniz tarafından yakalanmayabilecek hatalar yapabilir. Bu hatalar/hatalar güvenlik sorunlarına yol açabilir ve gözden kaçması kolay olabilir. Tek bir giriş alanını kontrol etmemek, SQL enjeksiyonu olarak bilinen bir güvenlik açığı aracılığıyla bir veritabanını açığa çıkaran bir kusura yol açabilir. Tarayıcı tabanlı uygulamalar, bir web sitesinin kullanıcıdan gelen girdiyi, daha sonra kontrol etmeden oluşturduğu çıktı içinde kullandığı, siteler arası komut dosyası oluşturma olarak bilinen başka bir yaygın saldırı biçimine karşı hassastır. API’ler de bu saldırılara açıktır. Bu tür saldırılar, modern Dinamik Uygulama Güvenlik Testi (DAST) çalıştırılarak azaltılabilir. OWASP Zap, böyle bir aracın açık kaynaklı bir versiyonudur.
İnteraktif Uygulama Güvenlik Testi (IAST), Statik Uygulama Güvenlik Testi (SAST) ve Çalışma Zamanı Uygulama Kendi Kendini Koruması (RASP) gibi geliştirme uygulaması sırasında geliştirici güvenliği için ek araçlar vardır. Bunlar, geliştiricilerinizin ilgilenmesi gereken araçlardır, ancak temel kaynak koduna erişmeden çalıştıramazsınız.
BT uzmanları ve yazılım mühendisleri için SCA ve DAST, herhangi bir yazılımı hayata geçirmeden önce yazılım sistemleri için minimum bir güvenlik önlemi olarak düşünülmelidir. Ek olarak, herhangi bir zamanda yeni güvenlik açıkları keşfedildiği için bu testler periyodik olarak yeniden yapılmalıdır. Bu sürekli bir süreçtir. Satıcılarınızdan yazılım veya aygıtlar için yazılım malzeme listesini alabiliyorsanız, bu bileşenler ve sürümler üzerinde açık kaynaklı bir güvenlik açığı testi gerçekleştirebilirsiniz ve yapmalısınız. Satıcılarınızı sorumlu tutmak için bunu her zaman talep etmelisiniz. Benzer şekilde, güvenlik açıklarından haberdar olabilmeniz için teslim edilen yazılımınıza ve API veya dahili Web uç noktasına sahip tüm IoT cihazlarına karşı bir DAST testi yapmak en iyi uygulama olacaktır.
Özetle: Riski azaltmak için güvenli bir şekilde oluşturun, doğrulayın, teslim edin, test edin ve düzenli aralıklarla test etmeye devam edin.
yazar hakkında
Tim Kenney, COOS, COO. Tim Kenney, yazılım güvenliğini demokratikleştirme görevinde. SOOS Başkanı ve COO’su olarak Tim ve ekibi, tüm geliştiricilerin kod güvenlik açıklarını belirlemek ve düzeltmek için ihtiyaç duydukları araçlara sahip olmasını sağlayarak, yazılımı herkes için daha güvenli hale getirmeye kendini adamıştır. SOOS’a liderlik etmeden önce Tim, çevrimiçi market ve büyük veri alanında bir öncü olan MyWebGrocer’ın Başkanı ve CTO’suydu. Ayrıca GE Healthcare Information Systems ve IDX’te eski bir Ar-Ge Başkan Yardımcısı olarak sağlık teknolojisinde derin köklere sahiptir. Ömür boyu bir Vermontludur ve uzmanlığını çok çeşitli alanlarda Vermont Eyalet Hükümeti ile sık sık paylaşır ve Vermont Bilgi Teknolojisi Liderlerinin yönetim kurulu üyesidir. Onu Twitter’da çevrimiçi bulun: @soostech, www.SOOS.io, https://www.linkedin.com/in/tim-kenney-vt/