Siber Güvenlik

Güvenlik ekipleri yapay zekâ destekli akışlardaki vahşi kodu nasıl dizginler

Güvenlik ekipleri yapay zekâ destekli akışlardaki vahşi kodu nasıl dizginler

Satış müdürü, potansiyel müşterileri yönlendirmek için yapay zekâ destekli bir akış oluşturuyor. Bu akış müşteri kayıtlarına bağlanıyor, gelen talepleri özetliyor ve güncellemeleri paylaşılan bir kanala gönderiyor. Akış zaman kazandırıyor, manuel işi azaltıyor ve kısa sürede ekibin günlük rutinine giriyor. Aynı kurumda çalışanlar, mevcut süreçlerin destekleyebileceğinden daha hızlı şekilde kullanışlı uygulamalar, ajanlar ve otomasyonlar geliştiriyor.

Güvenlik alanında çalışıyorsanız bu başarı yeni sorular getiriyor. Akış hangi kimlik bilgilerini kullanıyor? Hangi kayıtlara erişebiliyor? Çıktısını kim görebiliyor? Bilgi yanlış şekilde açığa çıkmaya başlarsa ne olduğunu izleyebilir ve erişimi durdurabilir misiniz?

Vahşi kod, kullanışlı geliştirmelerin sahiplenme, güvenlik ve bakım süreçlerinden daha hızlı yayılmasıyla kök salıyor. Bu sadece onaylanmamış yazılımların başka bir adı değil. Çalışanlar mevcut ürünleri benimsemiyor, yeni yetenekler yaratıyor. Küçük bir deney, güvenlik bunun var olduğunu bilmeden operasyonel bir bağımlılığa dönüşebiliyor.

Risk sadece üretilen koddaki açıklarla sınırlı değil. Amacına uygun çalışan kod bile fazla erişimle çalışabilir veya veriyi yanlış kitleye açabilir:

Aşırı izinler. Bir akış küçük bir kayıt kümesine ihtiyaç duyuyor ancak çok daha fazlasını okuyup değiştirebilecek kimlik bilgileriyle çalışıyor.

Hassas veri açığa çıkması. Bir çalışan ajanı ihtiyaç duymadığı bilgiye bağlıyor ya da çıktısını çok geniş bir şekilde paylaşıyor. Hassas bilgiler ayrıca model isteklerine veya günlük kayıtlara da sızabiliyor.

Beklenmeyen eylemler. Bir ajan, eylem için uygun bir onay sınırı olmadan kayıtları veya izinleri değiştirebiliyor.

Sahipsiz erişim. Kullanışlı bir akış, yaratıcısı rol değiştirip ayrıldıktan sonra da çalışmaya devam ediyor ve izinlerini gözden geçirecek açık bir sahibi bulunmuyor.

Soruşturma boşlukları. Bir şey yanlış gittiğinde güvenlik, akışı hangi kimliğin çalıştırdığını, neye eriştiğini veya neyin değiştiğini kolayca tespit edemiyor.

Çalışan eğitimi, sandbox’lar ve yapay zekâ yönlendirme komiteleri iyi bir başlangıç ama tek başlarına vahşi kodu kontrol etmeye yetmiyor. Daha sürdürülebilir yaklaşım kontrolleri ortamın kendisine yerleştiriyor: çalışanların neye bağlanabileceği, uygulamalarının ve ajanlarının ne yapabileceği ve bu çalışmaların çalışırken nasıl izleneceği.

Neden geleneksel çözümler yetersiz kalıyor

Eğitim, sandbox’lar ve yönlendirme komitelerinin hepsinin bir rolü var. Hata, bunlardan güvenlik belki hiç karşılaşmayacağı yazılımları yönetmesini beklemek ya da çalışmaya başladıktan sonra ne olacağını kontrol edebileceğini sanmak. Bir politika neyin olması gerektiğini anlatır. Güvenliğin ayrıca neyin olabileceğine sınır koyan kontrolleri, neyin olduğu konusunda kanıtı ve müdahale yolu da gerekir.

1. Eğitim iyi uygulamayı anlatır, uygulatamaz

Bir yapay zekâ politikası neyin izinli olduğunu açıklayabilir. Eğitim iyi uygulamaları tanıtabilir. Hiçbiri bir raporlama akışı geliştiren kişinin hassas veriyi işleme ya da üretim yazılımı çalıştırma sınırını aştığı anı fark edeceğinin garantisi değil.

Yapay zekâ daha fazla çalışanı yazılım geliştirmeye dahil ettikçe, kuruluşlar en az ayrıcalık, gizli bilgi yönetimi ve test ortamlarını üretimden ayırma gibi uygulamaları daha erişilebilir kılma fırsatına sahip. Politikalar beklentileri belirleyebilir ama çalışanların bunları günlük işte uygulaması için pratik rehberlik ve yerleşik güvencelere de ihtiyacı var.

Hatta riski fark eden çalışanlar bile son teslim tarihleri ve daha hızlı hareket etme baskısıyla karşı karşıya. Onaylı yol yavaş ya da karışık olduğunda kuralları bilmek uymayı kolaylaştırmıyor.

Eğitim insanların daha iyi karar vermesine yardımcı olur. Güvenli olmayan bir bağlantıyı ya da yetkisiz bir eylemi engelleyen tek şey olmamalı.

2. Sandbox’lar deneyi korur, geleceğini koruyamaz

Yalıtılmış bir ortam istemleri, modelleri ve üretilen kodu test etmek için faydalı. Ancak bir prototipin değeri çoğu zaman gerçek iş sistemleri ve verilerine ulaşmasına bağlı.

Bir prototip canlı iş sistemlerine bağlandığında, test ortamının ötesine uzanan kontrollere ihtiyaç duyar. İzinler, izleme ve değişiklik incelemeleri sadece deney süresince değil, çalışma yaşamı boyunca da sürmeli. Başarılı bir test, üretim akışının hangi veriye erişmesi gerektiği ya da hangi eylemlere izin verilmesi gerektiğini belirlemez.

Tines’te saha CTO’su Brad Rumph’ın dediği gibi: “Sandbox’lar tasarım sorununu çözer, çalışma zamanı sorununu olduğu gibi bırakır.”

Başarılı bir deneyin işleme geçişi için yönetilen bir yolu hâlâ gerekir. Bu yol olmadan yalıtım zor soruları erteler, çözmez.

3. Komiteler göremediklerini inceleyemez

Yönlendirme komiteleri yön belirleyebilir, sorumluluk oluşturabilir ve yüksek riskli kullanımlar hakkında karar verebilir. Ancak inceleme döngüleri çalışanların yazılım oluşturup dağıtma hızıyla her zaman uyuşmaz.

Bir komite bir riskli uygulamayı yasaklarken çalışanlar aynı sonuca ulaşmanın başka bir yolunu bulabilir. Denetim ayrıca mühendislikte yoğunlaşabilir; burada zaten yerleşik kontroller var, oysa finans, insan kaynakları veya operasyonlardaki geliştirmeler gözden kaçabilir.

Sorun komitenin kalitesi değil. Her geliştirmenin kullanışlı hale gelmeden önce görünür olmasına dayanan bir model. Onay süreci, güvenliğin hassas verilere ve ayrıcalıklı eylemlere yeni yollar keşfetmesinin tek yolu olmamalı.

Çalışmanın gerçekleştiği yere güvenlik kontrollerini koyun

Alternatif, kontrolleri çalışanların işlerini oluşturmak, çalıştırmak ve sürdürmek için kullandığı ortama yerleştirmek.

Herkesten bağımsız olarak güvenli bir işletim modeli oluşturmasını istemek yerine güvenlik ekipleri BT ve sistem sahipleriyle birlikte paylaşılan sınırları tanımlar, bunları yaşam döngüsü boyunca tutarlı şekilde uygular ve iş ihtiyaçları ve riskler değiştikçe günceller.

Üç ilke bunu pratik hâle getirir.

1. Dağıtım öncesi yönetin ve sonrasında da yönetmeye devam edin

Çalışanlar iş sistemlerini bağlamadan önce izin verilen veri kaynaklarını, eylemleri ve erişimi tanımlayın. Bu kontrolleri akış yayına alındığında da koruyun.

İzinler akışın yapması gerekeni yansıtmalı, yaratıcısının erişebildiği her şeyi değil. Sonuç doğuran eylemler uygun olduğunda insan onayı gerektirmeli. Bir ajana ne yapmaması gerektiğini söyleyen bir istem erişim kontrolü değildir.

Oluşturma, yürütme ve izlemeyi birbirine bağlayın. Onaylanmış bir geliştirme, biri kullanmaya başladığında operasyonel bir kör noktaya dönüşmemeli.

2. Onaylı yolu en kolay yol yapın

Çalışanlara bir kısıtlama listesi yetmez. Gerçek sorunları hızlıca çözmelerine izin veren bir ortam verin.

Bu, erişilebilir geliştirme deneyimleri, onaylı sistemlere faydalı bağlantılar ve fikirden işleme kadar net bir yol anlamına gelir. Kurumsal yönetici kontrolleri riskli alternatifleri sınırlayabilir ama onaylı seçenek de çalışanların ihtiyaçlarını karşılamalı.

Yönetim her adımda sürtünme ekliyorsa kullanıcılar işi bitirmek için geçici çözümler seçer. Paylaşılan güvenceler rutin gereksinimleri karşılamalı ki güvenlik ekipleri daha derin incelemeyi hassas erişim ve sonuç doğuran eylemlere ayırabilsin.

Yapay zekâ bir uygulama ya da ajan oluşturmaya yardımcı olabilir. Hangi iş verisinin açığa çıkabileceğini ya da ajanın hangi eylemi yapabileceğini yapay zekâya karar ettirmemeli. Güvenlik ekipleri bu sınırları sistem ve verilerden sorumlu kişilerle açıkça belirlemeli.

3. Soruşturma ve müdahale yeteneğini tasarıma dahil edin

Güvenlik bir akışın amaçlandığını yaptığı şeyi değil, gerçekten ne yaptığını anlamalı.

Sahiplik, yürütme kimlikleri, ilgili eylemler ve değişiklikler izlenebilir olmalı. Bu kayıtlar gereksiz şekilde hassas bilgiyi günlüklerde yakalamadan korunmalı.

Bir akış operasyonel bir bağımlılık hâline gelmeden önce kimlerin durdurabileceğini, erişimini nasıl iptal edeceğini ve etkilediğini nasıl belirleyeceğini netleştirin. Sonuç doğuran değişiklikleri gözden geçirmek ve davranış beklentiden sapınca yanıt vermek için insan yargısı hâlâ gerekli.

Uygulamada bu nasıl görünüyor

Yönetilen bir ortam önemli güvenlik sorularının ayrı bir soruşturma olmadan yanıtlanabilir olmasını sağlamalı:

Sorumlu sahiplik. Akışın sahibi kim ve hangi kimlikle çalışıyor?

Kontrollü erişim. Ne okuyabilir, neyi değiştirebilir ve nereye gönderebilir? Hangi eylemler onay gerektirir ve bu nerede uygulanır?

Korunan yürütme. Akış adımları yalıtılmış mı ve kimlik bilgileri kodda açığa çıkmak yerine çalışma zamanında enjekte ediliyor mu? Bu korumalar uygun şekilde kapsamlandırılmış izinlerin yerine geçmemeli, tamamlamalı.

İzlenebilir etkinlik. Güvenlik neyin çalıştığını, neye eriştiğini ve neyin değiştiğini tespit edebilir mi?

Net müdahale. Bir şey yanlış gittiğinde güvenlik ekipleri yürütmeyi nasıl durdurur ve erişimi nasıl iptal eder?

Bu kontroller her riski ortadan kaldırmaz. Çalışanların her kuralı hatırlamasına ve güvenliğin her sorunu olaydan sonra keşfetmesine olan bağımlılığı azaltır.

Daha fazla kişi üretmeye devam ederken kontrolü koruyun

Çalışanlar yapay zekâ ile değerli üretim yolları bulmaya devam edecek. Amaç bu iyileştirmelerin başlangıçtan itibaren görünür, desteklenebilir ve güvenli olmasını sağlamak.

Bir güvenlik uygulayıcısı olarak her çalışan yapımı uygulamanın bakımını üstlenmeniz gerekmez. Hassas sistemlere dokunan akışların uygun erişimi, sorumlu sahipleri ve soruşturulabilir etkinlikleri olduğuna dair güvene ihtiyacınız var.

Yerleşik yönetim bu korumaları dağıtım sonrası temizlik çalışması yerine günlük üretimin parçası hâline getirir. Çalışanlara sorun çözme alanı verirken güvenliğe uygulanabilir sınırlar ve bir şey yanlış gittiğinde yanıt yolu sağlar.

Bu, Tines’in düşüncesi: ekiplere yapay zekâ destekli uygulamalar, ajanlar ve otomasyonlar oluşturma alanı verirken, bu çalışmanın nasıl yürütüldüğünün kontrolünü güvenlikte tutmak. Çerçeve ve hazırlık kontrol listesi için daha yakından bakmak üzere Taming wild code: The IT leader’s guide to AI code sprawl başlıklı kılavuzu indirin.

Kaynak: The Hacker News

Paylaş:

Yapay zekâ asistanları için: bu haberin Markdown (.md) sürümü