LLM kaynaklı risklere her gün bir yenisi ekleniyor. Bu yazımızda en güncel yapay zeka riskleri arasındaki popüler konulardan biri olan gerçek zamanlı JavaScript üretimi konusunu Unit42’nin geçtiğimiz haftalarda yayınladığı dosyası üzerinden tartışacağız.
Bir web sitesini ziyaret ettiğinizi düşünün. Sayfa tamamen normal görünüyor. Zararlı bir kod yok, şüpheli bir bağlantı yok. Ancak saniyeler içinde ekranınız, kurumsal bir giriş sayfasına benzeyen kişiselleştirilmiş bir ‘phishing’ arayüzüne dönüşüyor.
Bu bir illüzyon gibi geliyor olabilir; ama değil. Bu yeni saldırı modeli, üretken yapay zekâ sistemlerinin artık saldırı zincirinin aktif bir parçası olarak kullanılabildiğini gösteriyor. Bu yaklaşımda saldırganlar, zararlı JavaScript kodunu önceden barındırmak yerine, büyük dil modellerinden (LLM) gerçek zamanlı olarak üretip doğrudan kurbanın tarayıcısında çalıştırabiliyor.
Bu yöntem, web güvenliği açısından önemli bir kırılma noktası.
Zararlı Kod Artık Dosya Değil, Bir “Hizmet”
Geleneksel web tabanlı saldırılarda kötü amaçlı kod genellikle bir sunucuda barındırılır, gizlenir ve kullanıcının tarayıcısına indirildikten sonra çalıştırılır. Güvenlik sistemleri de dosya imzaları, davranış analizi ve sandbox kontrolleri ile bu kodu yakalamaya çalışır.
Bu yeni modelde ise ortada taranabilecek bir zararlı dosya bulunmaz. Bunun yerine:
Zararlı JavaScript kodu, bir LLM’e gönderilen metinsel komutlar aracılığıyla talep edilir.
Model tarafından üretilen kod parçacıkları güvenilir bir LLM servisinin alan adı üzerinden döner.
Bu parçalar, kurbanın tarayıcısında çalışma zamanında birleştirilip çalıştırılır.
Yani zararlı içerik ne sunucuda hazır halde bulunur ne de ağ trafiğinde açıkça görülür. Kod, yalnızca çalıştırıldığı anda var olur. Bu da klasik güvenlik mimarilerinin dayandığı “önceden var olan zararlı nesneyi tespit etme” yaklaşımını ciddi biçimde zorlar.
Unit 42 araştırmacıları, bu yöntemi göstermek için bir kavramsal kanıt (PoC) geliştirdi. Senaryoda saldırı zinciri üç temel aşamada ilerliyor.
İlk adımda saldırgan, aktif bir kimlik avı kampanyasından veya zararlı bir web sayfasından örnek alarak hedeflediği işlevi belirliyor. Amaç; kullanıcıdan kimlik bilgisi toplamak, sayfayı kurumsal bir markaya benzetmek veya verileri arka planda dışarı aktarmak olabiliyor.
İkinci adımda saldırgan, bu zararlı JavaScript işlevlerini doğrudan kod olarak değil, metinsel tanımlar şeklinde LLM’e sorulacak komutlara dönüştürüyor. Dikkatli prompt mühendisliği ile modelin güvenlik kısıtlamalarını aşmak mümkün olabiliyor. Örneğin doğrudan “kimlik bilgilerini dışarı aktaran kod yaz” talebi engellenirken, “bir formdan verileri arka planda sunucuya gönderen bir AJAX fonksiyonu oluştur” gibi masum görünen istekler kabul edilebiliyor.
Üçüncü aşamada bu komutlar, kullanıcı tarafından ziyaret edilen web sayfasının içine gömülüyor. Sayfa yüklendiğinde tarayıcı, popüler ve güvenilir bir LLM API’sine istek gönderiyor. Dönen kod parçacıkları tarayıcı içinde birleştiriliyor ve çalıştırılıyor. Sonuçta kullanıcı, gerçekçi ve kişiselleştirilmiş bir kimlik avı sayfası ile karşı karşıya kalıyor.
Önemli olan şu: Ağ üzerinden taşınan içerik başlangıçta tamamen zararsız görünüyor.
Neden Bu Kadar Zor Tespit Ediliyor?
Bu teknik, mevcut savunma mekanizmalarını birden fazla noktada zorluyor.
Her ziyaret için üretilen kod farklı olduğu için saldırı yüksek derecede polimorfik hale geliyor. Yani her kurban için sözdizimi farklı ama işlevi aynı olan yeni bir kod ortaya çıkıyor. Bu durum imza tabanlı tespiti neredeyse işe yaramaz hale getiriyor.
Üretilen kod güvenilir bir LLM servisinin alan adından geldiği için ağ trafiği çoğu zaman normal kabul ediliyor. Güvenlik sistemleri “meşru bir AI servisiyle iletişim” gördüğü için alarm üretmeyebiliyor.
Zararlı içerik çalışma zamanında oluşturulduğundan statik analiz araçları ortada inceleyecek payload bulamıyor. Kod, yalnızca tarayıcı içinde ve çalıştığı anda var.
Ayrıca saldırganlar kodu metne çevirerek sakladıkları için bu da bir tür gelişmiş gizleme (obfuscation) yöntemi haline geliyor. Metin olarak görünen içerik, LLM aracılığıyla tekrar çalıştırılabilir koda dönüştürülebiliyor.
Gerçek Dünya Senaryosu: LogoKit Örneği
Bu çalışmada araştırmacılar, gerçek dünyada görülen gelişmiş bir kimlik avı kampanyası olan LogoKit’i temel aldı. Orijinal saldırıda statik bir JavaScript dosyası, zararsız görünen bir formu inandırıcı bir kimlik avı sayfasına dönüştürüyordu ve girilen bilgileri saldırgan sunucusuna iletiyordu.
PoC senaryosunda ise bu statik kod kaldırıldı. Yerine, aynı işlevleri yerine getirecek kod parçalarının LLM tarafından dinamik olarak üretilmesi sağlandı. Başlangıçta iletilen sayfa tamamen temiz olduğu için ağ tabanlı güvenlik kontrollerini doğal olarak aşabildi.
Araştırmacılar, basit yeniden ifade yöntemleriyle LLM güvenlik kısıtlamalarının nasıl aşılabildiğini de gösterdi. Ayrıca modelin deterministik olmayan çıktıları sayesinde her istekte farklı, ama işlevsel olarak eşdeğer kod üretildi. Bu da saldırının çeşitliliğini ve gizlenme kabiliyetini artırdı.
Saldırı Yüzeyi Genişliyor
Bu yaklaşım yalnızca tarayıcı içi kimlik avı sayfalarıyla sınırlı değil. Aynı yöntemle zararlı yazılım bileşenleri üretmek, komuta-kontrol (C2) kanalları kurmak veya ele geçirilmiş sistemlerde dinamik olarak zararlı kod oluşturmak teorik olarak mümkün.
Ayrıca LLM servislerine doğrudan tarayıcıdan erişmek yerine, araya güvenilir alan adlarına sahip arka uç proxy sunucular veya CDN’ler koymak da mümkün. WebSockets gibi alışılmadık iletişim kanalları da bu zincire eklenebilir. Bu durum, güvenilir görünen altyapıların kötüye kullanım riskini daha da artırıyor.
Savunma Tarafında Ne Değişmeli?
Bu tehdit modeli, güvenliğin ağ ve dosya seviyesinin ötesinde, doğrudan tarayıcı çalışma zamanı seviyesinde alınmasını gerektiriyor. Çünkü saldırının asıl gerçekleştiği yer artık kullanıcının tarayıcısı.
Davranış tabanlı analiz burada kritik hale geliyor. Çalışma anında hangi script’in ne yaptığı, hangi veriye eriştiği ve nereye gönderdiği gibi davranışlar izlenmeden bu tür saldırıları yakalamak zorlaşıyor.
Kurum içinde onaylanmamış LLM servislerinin kullanımının sınırlandırılması da önemli bir önlem olabilir. Bu tek başına yeterli olmasa da saldırı yüzeyini daraltır.
Bununla birlikte araştırma, LLM platformlarında daha güçlü güvenlik kısıtlamalarına ihtiyaç olduğunu da ortaya koyuyor. Dikkatli prompt mühendisliği ile mevcut korumaların aşılabilmesi, hem sağlayıcılar hem de kullanıcı kurumlar için önemli bir uyarı niteliğinde.
Yapay Zekâ Destekli Saldırılar Çağı Başladı
Bu ve benzeri çalışmalar, yapay zekânın savunma tarafının yanı sıra, saldırı tarafında da oyunun kurallarını değiştirdiğini gösterir nitelikte. Zararlı kod artık sabit bir dosya olmaktan çıkıyor ve talep üzerine üretilen, her seferinde değişen bir çıktı haline geliyor.
Bu yeni dönemde en etkili savunma yaklaşımı, zararlı davranışı tam gerçekleştiği noktada, yani tarayıcı içinde tespit edebilen çalışma zamanı analizleri olacak.
Quasys olarak bu alandaki tüm güncel bulgularını yakından takip etmeye devam ediyor, müşterilerimizin güvenlik mimarilerini bugün ve yarının yapay zekâ destekli tehditlerine karşı hazırlıklı hale getirmeye odaklanıyoruz. Güvenlik mimarinizi yarına hazırlamak adına deneyimli uzmanlarımızla info@quasys.com.tr üzerinden hemen iletişime geçebilirsiniz.
