EresusSecurity
Araştırmalara Dön
Backdoor Threats

ONNX Hedef Yapı Güvensizlikleri (Arbitrary Code Execution / DoS)

Ecenur ÜzeJunior Sızma Testi Uzmanı
10 Nisan 2026
Güncellendi: 27 Nisan 2026
7 dk okuma

Genel Bakış

Dünya standartlarındaki ONNX (Open Neural Network Exchange) uzantısı, (mesela bir PyTorch ağını en uç performans sınırında sunuculara yaygınlaştırabilmek adına) modellerin her marka bilgisayarla evrensel formda uyumlu geçiş sağlamasını hedefler. ONNX kodlanırken klasik sömürü yöntemlerinin aksine (Pickle dışlanıp) ağırlık matrisleriyle beraber sadece formülleri barındıran katı "Protobuf" sınırlarıyla örülmüştür.

Her ne kadar bu durum sektöre büyük bir yalan olan "ONNX Uzantısı Asla Hacklenemez" imajını bahşetmişse de, gerçek bir yanılsamadan ibarettir. Eresus ortamınızda baş gösteren PAIT-ONNX-100 kırmızı alarmı sömürünün boyutlarını teşhir eder: Korsan grup dosyanın en derin "metadata" çekirdeklerindeki veri yollarının içine dışarı uzanmayı arzulayan ölümcül siber komutlar gömmüştür ve sizin o meşhur okuma kütüphanenizi zehirliyordur.

Eski nesil bazı ONNX paket (parser) çözücülerinde yer alan kodlarda (örneğin kısıt konulmadan kullanıcıya sağlanan Python setattr() argümanları formlarında), makineye matematiksel olarak kusursuz gözüken siber ONNX dosyaları içerisinden o saniyede Python kök kütüphanesini manipüle eden harici komut hırsızlıklarına olanak yaratılır.

Saldırı Nasıl Gerçekleşiyor (How The Attack Works)

Saldırganlar, sistem içi entegrasyon formüllerinin (onnx.load()) çekirdeklerini parçalarlar. O temiz paketin içine ustalıkla sıkıştırdığı kural boşluklarını (Attribute Spoofing veya ../../ yönlendirmeli dış dosya taramalarını) kasten okutturarak bilgisayarı enfekte edilmiş makineye dönüştürürler.

sequenceDiagram
    participant Attacker as Küresel Siber Hücre
    participant ML_Registry as Endüstri Model Siteleri
    participant ONNX_Loader as Kurban Makine Kütüphanesi (`onnx.load`)
    participant OS_Env as Entegreci Sistem Ana Hattı

    Attacker->>Attacker: Sahte ve tehlikeli köke hedefli (`setattr` zaafiyetli) `.onnx` formulu basar
    Attacker->>ML_Registry: Oltaya çekici bir model adı koyarak ('NesneTanima_Hizli.onnx') kurbanlara yayar 
    ONNX_Loader->>ML_Registry: Şirket kurbanı modeli güvenli sanıp ortam havuzuna sokar
    ONNX_Loader->>ONNX_Loader: Matematik dizgesini (Schema) okuyan komut sahte boyut verisini yutar
    ONNX_Loader->>ONNX_Loader: Sistem içindeki değişken Objeler otonomiyle kontrolü korsana verir
    ONNX_Loader->>OS_Env: Sistemin köküne sinsi Linux RCE komut bloğu atılır ya da dışarı C+ verisi okutulur
    OS_Env-->>Attacker: Makine tamamen korsana boyun eğerek köleleşir.

Önemli Noktalar

  • Hak Edilmemiş Güven İlizyonu: Günümüzde deneyimli olanlar bide birçok "Siber Güvenlik Uzmanı" .onnx objelerinin içinde asla kod betiği olamaz (Sadece Protobuf sayısıdır) inancıyla Antivirüs istisnalarında devasa model dosyalarına tamamen sırtını dönerler.
  • Değişkenleri Kirletme (setattr attacks): Sömürü dizgelerinde korsan; modelle alakalı okunacak objenin sınır değerlerini öyle şaşırtır ki; bellekte C++ ve Python mimarisine etki eden ve yan yollar izleyen kod objeleri (Custom Extensions variables) baştan yazılıp hack yeteneği doğurur.
  • Dış Kaynak Emirleri (External Data Directives): Devasa boyutlu olan ONNX setleri birbirine birleşik zincir dosyalar halinde gelir. Zafiyet açıldığı durumlarda dış sistem rotaları ../../ kurnazlıklarıyla işletenin kendi şirket dosyalarını ezerek baştan yazıp sızmasını sağlar (Path Traversal ve Zip-Slip mantığı).

Etkisi

Bir zafiyet avcısı, Python ya da C++ dil tabanlı ONNX çözümleme mantığındaki engellerin kilidini açtığında, şirket verilerinizdeki tam kök komuta zincirine anında bağlanmış (Arbitrary Code Execution - ACE) olur. Sızıntı verinin model içine sızmasından veya daha çıkarıma girmeden hemen önceki (Inference öncesi) zayıflıktan peyda olur; yani korsan kalıcılığını aylar önce kökler demektir. Ele geçirilen cihaz kurumsal bilgileri sessizce deep web forumlarına sağan bir aracıya, veritabanı yutan virüs fabrikasına yahut Edge AI aygıtlarından kurulu muazzam bir DDoS savaş ordusuna dönüşebilir.

En İyi Çözüm Pratikleri

  • Acil Kütüphane Yamalamaları: Şirket yazılımcılarınız cihaz ana hatlarındaki (örn. onnx veya onnxruntime) ana çözüm paketlerini gözleri kapalı dahi olsa mutlaka son jenerasyon update formlarına sokmalıdır. ExternalDataInfo türevi manipülasyonlarla sistemi kandıran kurnaz saldırılar modern güncelleme kayıtlarında derhal eritilir.
  • Sıfır Güven Varsayımı (Zero-Trust Validation): Modeller klasik bir ONNX (Protobuf) mimarisi standartlarını görünüşte sağlıyor diye sızdırmazlık hissiyle otomatik load() onay döngüleri içine daldırmayın. Tüm test sahnelerinizi hiçbir işletim yetkisi olamayan sandboxed (İzole-Kapsüllenmiş) kapılarda dış etkilerden habersiz yalıtın.
  • Dış Veri Rotalarını Betonlaştırın: Modeller aktif yoldan (.pb bağlamlarında) dış ağları çağırıyorsa asla idari (Administrator yetkisi) yollarını sunucudan aktarmayın ki kötü ameller sahte haritalandıramalar üretip sistem rotalarınızı çiğneyemesin.

İyileştirme (Remediation)

Şirket kalkanına düşmüş kırmızı renkli bir PAIT-ONNX-100 işareti; Eresus Sentinel panellerinin dış ağlardan sahtecilik emri veren (.onnx maskeli) ölümcül nesne enjeksiyon ataklarını bloklayarak asıl sisteme yansımasını fiziken kestiğini fısıldar. Kodların ağ portları ile beraber yüklemeyi koordine ettiği cihazları sunucu altyapınızdan tecrit edin ve yalıtın. Şirket aranjmanlarını (S3, Artifactory verileri) taratarak bu kirli dosyaların izine rastladığınız her bir sanal bulut kümesini infaz menzilinden derhal temizletin. Kullanılan setattr kanca manipülasyonlarına (ve onnxruntime yetersiz sürüm güncellemelerine) set çekecek şirket siber prosedürü yönergelerinizi kesin dille tebliğ edin.

İleri Okumalar ve Kaynaklar (Further Reading)

Esnek sanılan formüller arasındaki kritik istismar açığı senaryolarını ekibinizle tartışma zeminine taşıyın:


📥 Eresus Sentinel Meta Matrislerini Daha Doğmadan Yargılar! "Bunda kod okuma yok ki güvende..." şeklindeki yanılgılarla asıl makine öğrenim projelerinizi devasa RCE tehlikesi ortasında bırakmayın. Eresus Sentinel, çalışmadan aylar önce .onnx ikili dosyalarını (binaries) arka alan mimariniz için temel algoritma mantığı nezdinde haritalandırıp çürütür. Model daha çalışma sırasına yazılmadan cihaz kütüphanelerine (Örn. setattr manipülasyonu) kod kancası atmayı planlayan objeleri tarayıp, operasyonel sahtekarlıkları bloklar. Uç teknolojide eksiksiz izleme zırhı kazanın.

Daha Fazla Bilgi | Demo Randevusu Alın

SSS

Bu risk sadece prompt injection ile mi sınırlı?

Hayır. AI güvenliğinde prompt injection önemli bir başlangıçtır ama tek başına resmi anlatmaz. Retrieval katmanı, tool izinleri, model artefact güveni, loglarda hassas veri, kullanıcı yetkisi ve entegrasyon sınırları birlikte değerlendirilmelidir.

İlk teknik kontrol ne olmalı?

Önce sistemin hangi veriye eriştiği, hangi aksiyonları alabildiği ve bu aksiyonların hangi kimlikle çalıştığı haritalanmalıdır. Bu harita olmadan yapılan test genellikle birkaç prompt denemesinden öteye geçemez.

Ne zaman profesyonel destek gerekir?

AI uygulaması müşteri verisine, iç dokümana, üretim API’lerine veya otomatik aksiyon alan agent akışlarına erişiyorsa profesyonel güvenlik incelemesi gerekir. Bu noktada risk artık model cevabı değil, kurum içi yetki ve veri sınırıdır.

Uygulama Notları

AI güvenliği incelenirken ilk soru modelin ne cevap verdiği değil, sistemin hangi yetkiyle ne yapabildiğidir. Aynı prompt güvenli görünebilir; fakat arka tarafta CRM, dosya deposu, ticket sistemi veya SQL aracı bağlıysa risk seviyesi tamamen değişir.

Pratik değerlendirme için ekip şu dört katmanı ayrı ayrı yazmalıdır:

  • Kullanıcıdan gelen giriş ve sistem prompt sınırları.
  • Retrieval kaynağı, index yetkisi ve hassas veri filtresi.
  • Tool çağrıları, API token kapsamı ve onay mekanizması.
  • Log, izleme, alert ve olay müdahale akışı.

Karar Çerçevesi

AI uygulaması yalnızca metin önerisi veriyorsa risk daha çok veri sızıntısı ve yanlış yönlendirme üzerinden okunur. Uygulama tool çağırıyor, dosya yazıyor, ticket açıyor, ödeme başlatıyor veya müşteri kaydı güncelliyorsa değerlendirme agent runtime güvenliğine döner.

Bu ayrım önemlidir çünkü prompt filtreleri runtime yetki hatasını çözmez. Filtre modeli ikna etmeye çalışır; güvenli runtime ise agent yanlış ikna edilse bile neye erişemeyeceğini belirler.

Profesyonel Destek Eşiği

Aşağıdaki durumlardan biri varsa konu artık yalnızca iç kontrol maddesi değildir:

  • Production verisi veya müşteri hesabı etkilenebilir.
  • Yetki sınırı birden fazla rol ya da tenant üzerinden çalışır.
  • Bulgu zincirlenince veri sızıntısı, kalıcı erişim veya operasyon kesintisi doğurabilir.
  • Ekipte test kanıtını yeniden üretecek ve remediation önceliği çıkaracak zaman yoktur.

Eresus Security bu noktada bulguyu sadece raporlamakla kalmaz; istismar kanıtı, etki analizi, remediation sırası ve retest kriteriyle birlikte ele alır. Böylece ekip “ne açık?” sorusundan “neyi, hangi sırayla kapatmalıyız?” kararına geçer.

Ek Kontrol Soruları

  • Bu risk hangi varlıkları etkiliyor?
  • Hangi kullanıcı rolleri bu akışa erişebiliyor?
  • Aynı sorun başka endpoint veya entegrasyonda tekrar ediyor mu?
  • Bulgunun müşteri verisine etkisi var mı?
  • Loglardan olayın izi sürülebiliyor mu?
  • Düzeltme sonrası retest nasıl yapılacak?
  • Geçici önlem ile kalıcı çözüm ayrıldı mı?
  • İş etkisi teknik ekibin dışında da anlaşılır mı?
  • Benzer hata için önleyici kontrol eklenebilir mi?
  • Ekip bu kontrolü release sürecine bağlayabilir mi?
  • Gerekirse bağımsız doğrulama için hangi kanıtlar hazırlanmalı?
  • Sonraki sprintte hangi iç bağlantı ve servis sayfası desteklemeli?

İlgili Araştırmalar