Yapay zeka destekli yazılım geliştirmede insan gözetiminin sürdürülmesi


Bu Help Net Security’de, Harness’ta Saha CTO’su olan Martin Reynolds, AI’nın yazılım geliştirme ve dağıtımının güvenliğini nasıl artırabileceğini tartışıyor. Ancak, AI tarafından üretilen koda artan bağımlılık, güvenli yazılım teslimatını sağlamak için insan gözetimi ve entegre güvenlik uygulamaları gerektiren yeni riskler ortaya çıkarıyor.

Yapay zeka tarafından üretilen kod

Yazılım geliştirme ve dağıtımının güvenliğini artırmak için yapay zekadan nasıl daha fazla yararlanılabilir?

Yapay zeka, kod değişikliklerini otomatik olarak analiz etmek, kusurları ve güvenlik açıklarını test etmek ve herhangi bir etki riskini belirlemek için kullanılabilir. Yapay zeka ayrıca herhangi bir dağıtım sorununu geri almak için de kullanılabilir.

Dahası, Generative AI bir adım daha ileri gidebilir – geliştiriciler için canlı bir asistan olarak hareket edebilir. Büyük Dil Modelleri (LLM’ler) gibi araçlar, geliştiricilerin yalnızca daha hızlı yeni kod oluşturmasına yardımcı olmakla kalmaz, aynı zamanda herhangi bir güvenlik açığını hemen sınıflandırmasına ve analiz etmesine de yardımcı olabilir. Herhangi bir güvenlik birikimi ve kritik sorun, önemli ölçüde azaltılmış emekle hızlı bir şekilde ele alınabilir.

Yapay zeka tarafından üretilen kodla ilişkili potansiyel güvenlik riskleri nelerdir?

Daha fazla geliştirici kod yazmalarına yardımcı olması için Generative AI’ya güvendikçe, gönderilen kodun hacmi bir büyüklük sırasına göre artıyor. Geliştiricilerin güvenlik sorunlarını test etmek ve düzeltmek için üstlendiği manuel emeğin bu büyümeyle paralel olarak artacağını bekliyoruz. Başka bir deyişle, daha fazla kod üretildikçe, geliştiricilerin teslim ettikleri her kod satırındaki sorunları test etmek, güvenliğini sağlamak ve düzeltmek için gereken işi sürdürmeleri daha da zorlaşıyor.

Geliştiriciler kodu güvenlik sorunları açısından etkili bir şekilde kontrol edemezlerse, herhangi bir kusur ve güvenlik açığının üretime sızması ve bunun sonucunda işletmelerin daha fazla kesinti ve ihlalle karşılaşması daha olasıdır. Yapay zeka tarafından oluşturulan kodun yeni güvenlik açıkları ortaya çıkarması değil; bu, daha fazla kodun mevcut açıklardan geçmesi anlamına gelir. Bu, hataların ve güvenlik açıklarının üretime sızma riskini artırır ve bu da geliştiriciler için büyük bir baş ağrısı yaratabilir. Örneğin, Log4J ilk keşfedildiğinde, işletmelerin kuruluşları üzerindeki tam etkiyi tespit edip düzeltmeleri aylar sürdü. Üretken Yapay Zeka’nın elemesi gereken daha fazla kod oluşturmasıyla, geliştiriciler çok daha büyük ve giderek artan bir samanlıkta aynı iğneyi bulmak zorunda kalacaktı.

Kuruluşlar GitHub Copilot veya Amazon CodeWhisperer gibi yapay zeka kod tamamlama araçlarını kullanarak bu riskleri nasıl azaltabilir?

Bu tür kod oluşturma araçları riskin bir kısmını azaltmaya yardımcı olabilir, ancak tüm çözümü oluşturmaz. Sorun, ek işlerin çoğunun test ve dağıtım gibi alt akış aşamalarında gelmesidir. AI destekli yardımcı pilotlar kod oluşturmayı hızlandırmaya yardımcı olsa da mükemmel değildir ve yine de yazılım teslimatının sonraki aşamalarında geliştiricilerin iş yüküne katkıda bulunabilir. Araştırmalar, AI yardımcı pilotlarının %40 oranında yazılım hatalarına neden olduğunu göstermektedir. Sonuç olarak, bu kod oluşturma araçlarının kullanımıyla elde edilen herhangi bir üretkenlik, geliştiricilerin test ve güvenliğe harcaması gereken döngülerdeki artışla hızla telafi edilebilir.

Bunun yerine, GitHub Copilot ve Amazon Code Whisperer gibi platformlar, iyi yönetilen Sürekli Teslimat (CD) ile desteklenen bir Dahili Geliştirici Platformu (IDP) ile birlikte kullanılmalıdır. Bir IDP, derlemeden güvenliğe ve dağıtıma kadar her bir sürecin tek bir birleşik görünümünü sağlayarak yardımcı olacaktır. Bu, geliştiricilerin yazılım teslimatının her yönü üzerinde kontrol ve gözetimi elinde tutmasına yardımcı olur, böylece gerektiğinde hızlı bir şekilde harekete geçebilirler. Bu IDP’ler ayrıca güvenilir, otomatikleştirilmiş boru hatlarına olan ihtiyacı destekleyen modern DevOps uygulamaları kullanılarak en iyi şekilde desteklenir. Bu şekilde, kuruluşlar geliştiricilere AI’ya erişim sağlayarak onları güçlendirebilir, ancak tüm işletme için iyi yönetilen ve güvenli bir şekilde.

Yapay zeka tarafından üretilen kodlarla çalışırken insan gözetimi ne kadar önemlidir?

Yapay zeka ve otomasyon herhangi bir güvenlik riskini azaltmak için hayati önem taşıyan araçlar olsa da, insanların kontrolü elinde tutması zorunludur. Teknolojinin kendi kendini yönetmesine izin verilirse, hataların ve güvenlik açıklarının üretime girme riski gerçektir. Bu amaçla, kritik geliştiricileri hala SDLC içinde olup biten her şeyin görünürlüğüne ve kontrolüne sahiptir.

Bu, AI kod üretimini yönetmek için kullanılan politikaların kontrolünün sürdürülmesini ve güvenlik açıklarının fark edilmeden kalmamasını sağlamak için tüm boru hatlarının görünürlüğünün sağlanmasını içerir. IDP’ler, geliştiricilere AI’nın yazılımı güvenli bir şekilde teslim etme çabalarına yardımcı olduğundan ve zarar vermediğinden emin olmak için ihtiyaç duydukları görünürlüğü ve kontrolü sağlamada uzun bir yol kat eder.

Kuruluşlar, yapay zeka tarafından üretilen kodun güvenliğini ve doğruluğunu sağlamak için hangi en iyi uygulamaları hayata geçirmelidir?

Şirketlerin AI tarafından üretilen kod riskini azaltmak için atabileceği birkaç adım vardır. İlk olarak, kuruluşlar güvenliğin SDLC’nin her aşamasına entegre edilmesini sağlamalıdır. Bu, her bir testi, doğrulamayı ve kontrolü otomatikleştirebilen güvenli, yönetilen boru hatlarına sahip olmayı içerir. Otomatik test yalnızca verimliliği artırarak geliştiricilere potansiyel olarak herhangi bir sorunu tespit etmek için daha fazla zaman sağlamakla kalmaz, aynı zamanda herhangi bir kusuru otomatik olarak işaretleyerek hiçbir kodun çatlaklardan sızmamasını sağlar. İşletmeler ayrıca tüm yazılım teslimat sürecine yönelik bir politika-kod yaklaşımı benimseyebilir. Bu, kullanılabilirlik, performans ve güvenlik açısından katı standartları karşılayamayan herhangi bir kodun üretime girmesine izin verilmemesini sağlayacaktır.

İşletmelerin atması gereken bir diğer önemli adım, güvenli yazılım dağıtım uygulamalarını kendi dört duvarlarının ötesine genişletmektir. SolarWinds ve MoveIT olaylarında görüldüğü gibi, işletmelerin yalnızca kendi Yazılım Geliştirme Yaşam Döngülerini güvence altına almaları yeterli değildir. Geliştirici ve güvenlik ekiplerinin, kuruluş içinde kullanılan herhangi bir açık kaynaklı yazılım bileşeninin ve üçüncü taraf eserinin izlenmesini ve kontrolünü otomatikleştirmenin bir yoluna sahip olması gerekir. Bu, kullanımda olan herhangi bir harici bileşenin envanteri görevi gören bir Yazılım Malzeme Listesi (SBOM) oluşturma yeteneğini içerir. Ayrıca, SLSA çerçevesini kullanarak titiz kod tasdikini de içermelidir.

Son olarak, kuruluşlar yazılım geliştirme ve güvenliğe yönelik yaklaşımlarında sola kaydırmayı benimseyebilir. SDLC içinde güvenliği ve testi daha erken entegre etme ihtiyacını vurgular. Geliştiricilere, otomatik güvenlik tarayıcıları ve IDP’lerin yardımıyla ihtiyaç duydukları bilgileri çok daha erken vererek, herhangi bir güvenlik sorunu üretime geçmeden önce hızla düzeltilebilir. Dahası, sola kaydırma güvenliği, geliştirme, operasyonlar ve güvenlik ekipleri arasında daha fazla iş birliğini teşvik eder. Güvenlik uzmanlarını en başından dahil etmek, güvenlik gereksinimlerinin daha iyi iletişimini ve anlaşılmasını teşvik eder.



Source link