Haberler

Yapay Zekâ Ajanlarının Tersine Mühendislik Yapmasını Zorlaştıran Yeni Araç Geliştirildi

Yapay zekâ ajanlarının ticari yazılımların ikili dosyalarını analiz ederek işlevlerini yeniden oluşturabilmesi, yazılım geliştiricilerini yeni koruma yöntemleri aramaya yöneltiyor. Timo Zhang tarafından geliştirilen Blind LLM Agents (BLA) projesi, kod analizini zorlaştırmak için şaşırtma teknikleri, şifreleme ve bütünlük kontrollerini bir araya getiriyor. Araç, yazılımların çalışma davranışını değiştirmeden yapay zekâ destekli tersine mühendislik süreçlerinin maliyetini artırmayı hedefliyor.

Blind LLM Agents Yapay Zekâ Destekli Kod Analizini Hedefliyor

Blind LLM Agents, özellikle büyük dil modelleriyle çalışan kodlama ajanlarının yayınlanmış yazılımları inceleyerek kaynak kodun işleyişini çözmesini zorlaştırmak üzere tasarlandı. Projenin geliştiricisi Timo Zhang, The Register’a yaptığı açıklamada mevcut kod gizleme yöntemlerinin çoğunlukla insanlara ve geleneksel statik analiz araçlarına göre geliştirildiğini belirtti. Zhang’a göre anlam ilişkilerini değerlendirebilen yapay zekâ ajanları, klasik koruma yöntemlerini aşarak uygulamaların çalışma mantığını kısa sürede yeniden oluşturabiliyor.

Günümüzde kodlama ajanları, dağıtılmış yazılım paketlerini, komut satırı araçlarını ve WebAssembly (WASM) bileşenlerini analiz ederek uygulamaların işlevlerini çözümleyebiliyor. Bu yetenek, geliştiricilerin kendi yazılımlarını incelemesini kolaylaştırırken ticari ürünlerin izinsiz biçimde taklit edilmesi riskini de artırıyor. Reverse Engineer Anything (REA) gibi çerçeveler, yapay zekâ ajanlarının tersine mühendislik işlemlerini otomatikleştirebildiği örnekler arasında bulunuyor.

Yapay zekâ destekli yeniden geliştirme çalışmaları da bu tartışmayı büyütüyor. İki kişilik Artcraft ekibi, geçen ay Adobe Photoshop, Illustrator, Premiere Pro, Lightroom, After Effects, InDesign ve Acrobat Pro uygulamalarına alternatif olarak yedi açık kaynaklı yazılım yayınladı. Ekip, Anthropic Opus 5.5 kullanılarak Rust diliyle sıfırdan geliştirildiğini belirttiği uygulamaları temiz oda yöntemiyle hazırlanmış yeniden uygulamalar olarak tanımlıyor. Ancak yapay zekâ kullanılarak yeniden geliştirilen yazılımların fikrî mülkiyet açısından otomatik olarak hukuki güvence kazandığına ilişkin kesin bir sonuç bulunmuyor.

Timo Zhang, BLA’nın yeni bir uygulama geliştiren araç olmadığını, mevcut yazılımların dağıtıma hazır sürümlerini daha dayanıklı hâle getirdiğini söylüyor. Proje, farklı koruma yöntemlerini bir dönüşüm işlem hattında birleştirerek yapay zekâ ajanlarının kod yapısını ve işlevsel ilişkileri çözmesini zorlaştırıyor.

BLA’nın kullandığı başlıca teknikler şunlardan oluşuyor:

  • İsim değiştirme: Kod içerisindeki değişken, işlev ve diğer tanımlayıcıların anlaşılmasını zorlaştırıyor.
  • Kod yollarını bölme: İşlem akışını farklı bölümlere ayırarak uygulamanın mantıksal yapısının takip edilmesini güçleştiriyor.
  • Şifreli metin dizileri: Tohum değerlerinden türetilen şifreleme yöntemiyle uygulama içerisindeki metinleri koruyor.
  • Derleme çeşitlendirmesi: Farklı derlemelerde değişen kod yapıları oluşturarak analiz süreçlerini zorlaştırıyor.
  • WASM dışa aktarma adlarını değiştirme: WebAssembly bileşenlerinin dışarıya açtığı işlevlerin tanımlanmasını güçleştiriyor.
  • Sahte kod ve bütünlük kontrolleri: Analiz sırasında yanıltıcı yapılar ekliyor, uygulamanın değiştirilip değiştirilmediğini denetliyor.

Proje ayrıca koruma kapsamını değerlendiren bir test matrisi kullanıyor. Bu yapı, hangi güvenlik önlemlerinin gerçekten uygulandığını ve hangi alanlarda doğrulanabilir koruma sağlanamadığını gösteriyor. Zhang, BLA’nın uygulamanın davranışını korurken tersine mühendislik için gereken çabayı artırmayı amaçladığını belirtiyor.

Zhang, projenin etkinliğini değerlendirmek için kırmızı takım testleri ve CrackMe olarak bilinen tersine mühendislik görevlerinden yararlandıklarını aktarıyor. CrackMe testleri, araştırmacıların korunan dosyalardan belirli anahtarları veya gizli değerleri çıkarmaya çalıştığı güvenlik denemelerini kapsıyor.

BLA ayrıca REA adlı tersine mühendislik ajanına karşı da test ediliyor. Zhang’ın açıklamasına göre sistem, koruma uygulanmış yazılımların analiz girişimlerine ne ölçüde direnç gösterdiğini ölçüyor. Sürekli entegrasyon (CI) süreçleri savunma puanını takip ediyor, bütünlük kontrollerinin kapsamını doğruluyor ve uygulamanın koruma öncesi davranışıyla aynı şekilde çalışıp çalışmadığını denetliyor.

Geliştirici, BLA’nın yazılımları kırılmaz hâle getirdiğini iddia etmiyor. Projenin amacı, yapay zekâ destekli analiz girişimlerinin maliyetini yükseltmek ve otomatik kod çözümleme süreçlerine ek engeller eklemek. Geleneksel etkileşimli tersine mühendislik araçları olan Ghidra ve Frida karşısında da kesin koruma garantisi sunulmuyor.

BLA, yapay zekâ sistemlerinin yazılım ve veri üzerindeki etkilerini sınırlamaya çalışan diğer projelerle aynı geniş tartışmanın içinde yer alıyor. Poison Fountain, yapay zekâ eğitim verilerini zehirlemeye yönelik yaklaşımıyla öne çıkarken Anubis, botların ve otomatik veri kazıma araçlarının web sitelerine erişimini zorlaştırmayı amaçlıyor.

Ancak BLA’nın hedefi bu projelerden farklı. Araç, eğitim verilerini değiştirmek veya web trafiğini engellemek yerine dağıtılmış yazılım paketlerinin yapay zekâ ajanları tarafından analiz edilmesini güçleştirmeye odaklanıyor. Bu yaklaşım, ticari yazılımların kaynak kodu açık olmasa bile ikili dosyalar üzerinden incelenebildiği bir dönemde geliştiricilere ek bir koruma katmanı sunmayı amaçlıyor.

Yapay zekâ ajanlarının kod anlama ve yeniden oluşturma yetenekleri geliştikçe yazılım koruma yöntemlerinin de değişmesi bekleniyor. BLA, geleneksel kod gizleme tekniklerini yapay zekâ odaklı tehditlere göre yeniden düzenleyen deneysel yaklaşımlardan biri olarak konumlanıyor. Aracın gerçek dünyadaki etkinliği ise farklı yazılım türlerinde ve daha gelişmiş tersine mühendislik yöntemleri karşısında yapılacak bağımsız testlerle daha net ortaya çıkacak.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu