Yapay zekadaki (AI) son gelişmeler, tam otomatik güvenlik açığı iyileştirme ruhunu yeniden ateşledi. Sektör, benzersiz ortamınızı ve koşullarınızı dikkate alarak, üretken yapay zeka tarafından desteklenen, kod tabanınızda çalışan özel düzeltme sağlama girişimleriyle patlama yaşıyor. Teknoloji inanılmaz ve şimdiden başarı belirtileri gösteriyor. Geriye büyük soru kalıyor: Onu kucaklamaya hazır mıyız?
GitHub Copilot’u veya alternatiflerden birini kullanan herhangi bir geliştiriciye sorun; yapay zekanın nasıl tonlarca zaman kazandıran bağlama duyarlı kod tamamlama önerileri oluşturabileceğine dair harika örnekler bulacaksınız. Ayrıca, toplu olarak oluşturulmuş alakasız, aşırı karmaşık veya tamamen yanlış önerilerin örneklerini de bulacaksınız.
Hiç şüphe yok ki, daha önce gördüğümüz her şeyden çok daha iyi otomatik kod üretimi üretecek bir teknoloji atılımına tanık oluyoruz. Bununla birlikte, teknoloji, iyileştirme yapbozunun yalnızca bir parçasıdır ve sürece ve insanlara önemli ölçüde ağırlık verilir.
Yeni Teknoloji, Eski Zorluklar
Bir uygulamada yapılan her değişiklik, iyileştirmeler getirmek ve mevcut işlevselliği korumak arasında dengeleyici bir eylemdir. Güvenlik düzeltmeleri de dahil olmak üzere acil değişiklikler, sıkı program kısıtlamaları ve işleri doğru yapmak için güçlü bir baskı getirerek bu sorunu uç noktalara taşır. Yamaları uygulamak, en kötü durumda bir kesinti anlamına gelebilecek beklenmedik sonuçlar doğurabilir.
Yama uygulamayla ilgilenen herhangi bir BT yöneticisine sorun ve kullanıcıların görünüşte zararsız bir yama nedeniyle günlük işlerine devam edemediği, bitmeyen bir korku hikayeleri listesi duyacaksınız. Ancak, bu köşenin okuyucularının kesinlikle farkında olduğu gibi, yalnızca bir ihlalin parçası olarak güvenlik açığından yararlanmak için bir yama uygulamamak da tüm kuruluş için yıkıcı sonuçlar doğurabilir.
İyi yazılım mühendisliği, uygulamayı ve sürdürücülerini kötü değişikliklerden korurken, uygulamada değişiklikleri hızlı bir şekilde uygulama yeteneğini koruyan bir denge bulmaya odaklanır. Bu hedefe ulaşmada, kolayca değiştirilemeyen eski yazılımlar ve sürekli değişen sistem gereksinimleri de dahil olmak üzere, sadece birkaç isim vermek gerekirse, pek çok zorluk vardır.
Gerçekte, yazılımı değiştirme becerisini sürdürmek, her zaman ulaşılamayan zor bir hedeftir ve ekipler, daha fazla iyileştirme gerektiren beklenmedik sonuçlara yol açan bazı değişikliklerin riskini kabul etmek zorundadır. Mühendisler için asıl zorluk, üretken yapay zekanın artık bizim için yapabileceği gerçek kod değişikliğini yazmak değil, önerilen değişikliğin beklenen sonuçları vermesini sağlamakta yatıyor. Güvenlik düzeltmeleri farklı değil.
Uygulama Güvenliği için Çakışan Sorumluluk
Büyük işletmelerde akut hale gelen bir diğer büyük zorluk, sorumlulukların paylaştırılmasıdır. Kuruluş genelinde riski azaltmaktan sorumlu merkezi bir AppSec ekibinin, belirli bir uygulamaya belirli bir düzeltme uygulamanın olası sonuçlarını anlaması beklenemez. Sanal düzeltme eki uygulama ve ağ denetimleri gibi bazı çözümler, güvenlik ekiplerinin geliştirme ekiplerine güvenmeden sorunları çözmesine olanak tanır; bu da hafifletmeyi basitleştirebilir, gerekli mühendislik kaynaklarını azaltabilir veya satın almayı ortadan kaldırabilir.
Politika bir yana, bunun gibi çözümler, sürtüşmeye yol açacak kör araçlardır. Güvenlik duvarları ve Web uygulaması güvenlik duvarları (WAF’ler) gibi ağ denetimleri, BT ve güvenliğin geleneksel olarak çok fazla özerkliğe sahip olduğu ve geliştiricilerin bununla ilgilenmesi gereken bir alandır. Kontrolü üretkenliğin önüne koymak ve geliştiriciler için ek sürtüşmeleri kabul etmek için net bir seçimi temsil ediyorlar.
Uygulama güvenlik açıkları için düzeltmeler, uygulamanın kodunun veya uygulamanın çevre. Uygulamanın kodunu değiştirmek bir geliştirme ekibinin sorumluluğu kapsamında olsa da, ortamı değiştirmek her zaman güvenlik ekiplerinin müdahale etmesi için bir yol olmuştur ve yapay zeka tarafından üretilen düzeltmelerin uygulanması için daha iyi bir yol sunabilir.
Şirket içi dünyada bu, genellikle güvenlik aracılarının iş yüklerini ve altyapıyı yönetmesi anlamına geliyordu. Genel bir bulut sağlayıcısı veya düşük kodlu/kodsuz platform gibi yönetilen ortamlarda, güvenlik ekipleri ortamdaki değişiklikleri tam olarak anlayabilir ve inceleyebilir, bu da uygulama davranışında daha derin müdahaleye izin verir.
Örneğin yapılandırma, bir uygulamanın davranışını kodunu değiştirmeden değiştirebilir, böylece sonuçları sınırlandırırken bir güvenlik azaltması uygulayabilir. Buna iyi bir örnek, veritabanları için yerleşik bekleyen şifrelemeyi etkinleştirmektir. genel veri erişimini engellemeveya düşük kodlu bir uygulama tarafından işlenen hassas verileri maskeleme.
Doğru Dengeyi Kurmak
Ortam değişikliklerinin uygulama üzerinde olumsuz etkileri olabileceğini not etmek önemlidir. Şifrelemenin bir performans maliyeti vardır ve maskeleme, hata ayıklamayı daha zor hale getirir. Ancak bunlar, daha düşük mühendislik maliyetiyle artan güvenlik hafifletme avantajı için giderek daha fazla kuruluşun almaya istekli olduğu risklerdir.
Günün sonunda, bir azaltma mevcut olsa bile, kuruluşların güvenlik açıkları riskini azaltma uygulama riskiyle dengelemesi gerekir. Yapay zeka tarafından oluşturulan hafifletmelerin iyileştirme maliyetini azalttığı açıktır, ancak bunları uygulama riski her zaman olacaktır. Bununla birlikte, sonuçlarından korktuğumuz için düzeltme yapmamak, bizi bu iki risk arasındaki yelpazenin bir ucuna, mükemmel bir dengeden uzak bir yere koyar. Otomatik olarak oluşturulan herhangi bir düzeltmeyi otomatik olarak uygulamak, spektrumun diğer ucu olacaktır.
Uçlardan birini seçmek yerine, hem güvenlik açığı risklerini hem de hafifletme risklerini kabul etmeli ve ikisi arasında bir denge bulmalıyız. Hafifletici önlemler bazen uygulamaları bozabilir. Ancak bu riski kabul etmemeyi seçmek, varsayılan olarak, hafifletme eksikliği nedeniyle güvenlik ihlali riskini kabul etmeyi seçmek anlamına gelir.