4 puan yazan GN⁺ 14 일 전 | 2 yorum | WhatsApp'ta paylaş
  • Yapay zeka modeli Codex, gerçek bir Samsung akıllı TV üzerinde tarayıcı yetkisini root yetkisine yükselten tam bir saldırı zinciri gerçekleştirdi
  • Deney, OpenAI ile iş birliği içinde, Codex'in ürün yazılımı kaynağı ve cihaz erişimini kullanarak zafiyetleri otomatik olarak bulup sömürme sürecini doğruladı
  • Codex, Novatek sürücüsündeki fiziksel bellek erişim zafiyetini bulup çekirdekteki cred yapısını değiştirerek root shell elde etti
  • Deney sırasında Codex, komut çalıştırma ve hata karşılama döngülerini tekrarlayarak gerçek zamanlı iş birlikçi bir ajan gibi davrandı
  • Bu sonuç, yapay zekanın yalnızca kod analiziyle sınırlı kalmayıp gerçek donanım güvenlik zafiyetlerini bulup saldırı gerçekleştirebildiğini gösteriyor

Codex'in Samsung TV'yi hacklediği deneyin süreci

  • Yapay zeka modeli Codex ile gerçek bir Samsung akıllı TV üzerinde tarayıcı düzeyindeki kod çalıştırma yetkisinin root yetkisine genişletildiği deney
  • Araştırma ekibi, OpenAI ile iş birliği yaparak Codex'in gerçek donanım cihazlarında zafiyet bulup sömürebilip sömüremeyeceğini doğruladı
  • Deney, önceden elde edilmiş bir tarayıcı shell ortamında başladı; Codex'in ürün yazılımı kaynak kodu ve gerçek zamanlı cihaz erişimini kullanarak root yetkisi elde etme süreci otomatikleştirildi
  • Codex, fiziksel bellek erişim zafiyetini buldu ve bunun üzerinden çekirdek kimlik bilgisi yapısını (cred) değiştirerek root shell elde etti
  • Sonuç olarak, yapay zekanın yalnızca kod analizinin ötesine geçip gerçek saldırı zincirinin tamamını otonom olarak tamamlayabildiği kanıtlandı

Deney ortamının kurulumu

  • Deney hedefi, KantS2 adlı Samsung iç platform ürün yazılımını kullanan bir akıllı TV idi
  • Codex'in çalışabilmesi için şu ortam hazırlandı
    • Tarayıcı shell'i: Tarayıcı uygulaması içinde kod çalıştırmanın mümkün olduğu durum
    • Denetleyici host: ARM ikili dosyası derleme, HTTP dosya barındırma ve shell oturumu erişimi sağlama
    • Shell dinleyicisi: tmux send-keys ile komut enjekte edip sonuçları log olarak toplama
    • Ürün yazılımı kaynak kodu: KantS2 kaynak ağacının tamamı sağlandı
    • Çalıştırma kısıtı: Tizen'in Unauthorized Execution Prevention(UEP) özelliği nedeniyle imzasız ikili dosyalar doğrudan çalıştırılamıyor
    • memfd sarmalayıcısı: Belleğe yüklenmiş anonim dosya tanımlayıcısı üzerinden çalıştırma
  • Codex'in yinelemeli döngüsü; kaynak ve logları analiz etme, komut gönderme, sonuçları okuma ve gerekirse helper derleyip TV'de çalıştırma şeklinde kuruldu

Hedefin belirlenmesi

  • Codex'in görevi, tarayıcı kullanıcı yetkisinden root'a yetki yükseltmeye yarayan bir zafiyet bulmaktı
  • Belirli bir sürücü ya da bellek alanı belirtilmedi; Codex'in saldırı yolunu kendi başına keşfetmesi gerekiyordu
  • Zafiyetin kaynak kodda bulunması, gerçek cihazda erişilebilir olması ve tarayıcı bağlamından ulaşılabilir olması koşullarının tümünü sağlaması gerekiyordu

Başlangıç bilgisi sağlanması

  • Codex'e verilen sistem bilgisi örneği
    uid=5001(owner) gid=100(users)
    Linux Samsung 4.1.10 ...
    /dev/... /proc/modules ... /proc/cmdline ...
    
  • Bu bilgiler; tarayıcı sürecinin yetki sınırlarını, çekirdek sürümünü, erişilebilir cihaz düğümlerini ve bellek yerleşimini tanımlıyordu

Zafiyet keşfi

  • Codex, tarayıcı shell'inden erişilebilen world-writable ntk* cihaz düğümlerini buldu
    /dev/ntkhdma
    /dev/ntksys
    /dev/ntkxdma
    
  • Bu sürücüler, Novatek Microelectronics kodu olarak tanımlandı ve Samsung TV'deki Novatek yığınının bir parçasıydı
  • /proc/iomem erişimi engellenince Codex, /proc/cmdline içindeki önyükleme parametrelerini kullanarak bellek haritasını yeniden oluşturdu

Fiziksel bellek erişimi ilkel yeteneği

  • /dev/ntksys sürücüsü, kullanıcı alanından gönderilen fiziksel adres ve boyutu çekirdek tablosuna kaydediyor ve bunu mmap ile yeniden eşliyordu
  • Bu sayede kullanıcı alanından rastgele fiziksel belleğe erişim sağlayan bir yol (physmap primitive) oluştu
  • /dev/ntkhdma, ek olarak fiziksel adresi doğrudan sızdırarak doğrulamayı kolaylaştırıyordu

Kök neden analizi

  • Yanlış erişim izni yapılandırması

    • udev kuralı, /dev/ntksys için 0666(world-writable) izni veriyor
    • Bellek yönetimi arayüzünü ayrıcalıksız kullanıcılara açan bir tasarım hatası
  • Kullanıcı giriş değerlerinin doğrulanmaması

    • ST_SYS_MEM_INFO yapısındaki u32Start, u32Size değerleri kullanıcı girdisini olduğu gibi kullanıyor
  • Fiziksel adres doğrulamasının eksikliği

    • SET_MEM_INFO işlevi yalnızca indeksi doğruluyor; fiziksel adres aralığını ya da yetkileri kontrol etmiyor
  • mmap aşamasında saldırgan kontrollü PFN kullanımı

    • vk_remap_pfn_range çağrısında kullanıcı tarafından verilen PFN doğrudan eşleniyor
  • ntkhdma'nin adres sızıntısı

    • /dev/ntkhdma, DMA tamponunun gerçek fiziksel adresini döndürüyor ve bu da saldırının doğrulanmasında kullanılıyor

Saldırı zincirinin kurulması

  • Codex, /dev/ntkhdma üzerinden DMA tampon adresini alıp bunu /dev/ntksys ile eşleyerek fiziksel belleği okuma/yazmada başarı sağladı
    HDMA buffer phys addr: 0x84840000
    writing 0x41414141 to mapped address...
    readback: 0x41414141
    
  • Böylece ayrıcalıksız bir sürecin rastgele fiziksel sayfaları değiştirebildiği kanıtlandı

Nihai istismar

  • Codex, çekirdekteki cred yapısını bularak tarayıcı sürecinin UID/GID değerlerini 0 ile üzerine yazdı
  • /proc/cmdline üzerinden elde edilen bellek penceresini tarayıp ilgili deseni aradı ve değiştirdi
  • Sonrasında /bin/sh çalıştırma sonucu root yetkisi elde edildi
    uid=0(root) gid=0(root) ...
    context="User::Pkg::org.tizen.browser"
    
  • Codex'in çıktısı: “Worked.”

Codex ile etkileşim

  • Codex, deney sırasında zaman zaman anormal davranışlar sergiledi ve araştırmacının bunu anında düzeltmesi gerekti
  • Örnek diyalog
    • “bro, the tv froze”
    • “bro can you just like, send it to the server and run it for me?”
  • Bu etkileşimler, Codex'in basit bir otomasyon aracından çok gerçek zamanlı iş birlikçi bir ajan gibi davrandığını gösterdi

Sonuç

  • Codex, tarayıcı shell'inden başlayarak kaynak analizi → zafiyet tespiti → PoC geliştirme → derleme ve çalıştırma → root elde etme aşamalarına kadar tam saldırı zincirini otonom biçimde tamamladı
  • Bu deney, yapay zekanın gerçek donanım güvenlik zafiyetlerini bulup sömürebildiğini kanıtladı
  • Araştırma ekibi, bir sonraki aşamada yapay zekanın ilk sızmadan root yetkisi elde etmeye kadar tüm süreci bağımsız biçimde yürütmesini test edeceklerini duyurdu
  • Son cümle: “Yapay zekanın TV'nin içine hapsolup sessizce yetki yükseltirken sitcom'umuzu izlemesini umuyoruz.”

2 yorum

 
todong 3 일 전

Bilginize, bu içerik aslında çok uzun zaman önce, 2020'de zaten yamalanmıştı; ayrıca özgün blog yazısında da aşağıda görüldüğü gibi hedef TV'nin güncellenmemiş eski bir tarayıcı ve kernel tabanlı bir model olduğu belirtiliyor.
Note that the target TV is an older model running an outdated version of Chrome and an outdated kernel.

 
GN⁺ 14 일 전
Hacker News görüşleri
  • Codex ile gerçekten iyi bir “hacking session” geçirdim
    Aslında bir şeyi bozmadım; sadece TP-Link’in koyduğu engelleri aşıp bana ait yönlendiriciyi kontrol ettim
    TP-Link, API erişimini engellemek için berbat bir kimlik doğrulama/şifreleme şeması kurmuş; Codex ile yarım gün kadar boğuştuktan sonra yönlendiriciyi kontrol eden temiz bir Python API tamamladım
    Prometheus metriklerini de gayet iyi dışa aktarıyor ve kararlı çalışıyor
    Bence bu tür kısıtlamalar, sonuçta tüketici ve kurumsal pazarları yapay biçimde ayırmaya çalışan aşırı ürün planlamasının sonucu

    • Daha önce aynı nedenle tmpcli’nin Python sürümünü kendim yazmıştım
      tmpServer localhost’ta dinliyor ve dropbear, admin yetkileriyle port yönlendirmeye izin veriyor
      Bu program, Tether uygulamasının yönlendiriciyle konuşurken kullandığı ana API
    • Bende bir Smiirl flip counter var; OpenWrt tabanlı ama web UI yok, sadece uhttpd üzerinden API sunuyor
      Mythos kullanarak SSH erişimi açabilecek bir exploit bulmak istiyorum
      Ürün bağlantısı
    • “Bu hack değil” ifadesi bana fazla dar bir tanım gibi geliyor
      Biz Hacker News’teyiz ve herkesin amacı bir şeyi bozmak değil
    • Bu süreci yayımlamak, DMCA madde 1201 ihlali nedeniyle cezai yaptırım riski doğurabilir
    • Ben de benzer şekilde başarılı olmuştum
      Web UI isteklerini .har dosyası olarak kaydedip analizde kullandım ve AI desteği olmadan yapmaya göre çok daha hızlı ilerledi
  • Önemli nokta, Codex’in kaynak koda erişimi olmasıydı
    İlgili başlıkta da kapalı kodun AI tabanlı zafiyet tespitini engellemede pratikte pek avantaj sağlamadığı yönünde çok görüş vardı
    Codex’in kaynak kod olmadan ne kadar iyi performans göstereceğini merak ediyorum

    • Kaynak olmasa bile yalnızca firmware binary’si varsa AI bunu decompile edip anlayabilir
      Ama benim karşılaştığım en kötü durum, firmware binary’sine bile erişememek
      Çipe doğrudan lehimlenmiş olduğundan chip clip ile de çıkarılamıyor; tamamen kör durumda analiz etmek gerekiyor
  • Codex kadar değil ama Claude Code ile de eğlenceli deneyler yaptım
    Bluetooth cihazlarını tarattım; kızımın odasındaki RGB ışıkları bulup gökkuşağı efekti oluşturdu ve protokolü belgeledi

    • Claude Opus 4.5’e endpoint yönetim yazılımındaki özel API’leri bulmasını söyledim; bir saat içinde iki tane buldu
      .NET tabanlıysa decompile da ettirip daha fazlasını buldurabilirdim diye düşünüyorum
    • Opus 4.7, Logitech fare eşleştirme sorunumu çözdü
      4.6 ya da Gemini 3.1 başarısız olmuştu ama bu kez oldu
    • Buna “eğlenceli” demek doğru mu emin değilim
  • Akıllı TV’yi aptal TV’ye çevirebilsem anında yaparım
    Sadece giriş değiştirme ve ses kontrolü yapan basit bir monitör bana yeter

    • Sony Bravia akıllı TV’mde OS ana ekranda sürekli çöküyor
      Giriş gecikmesi çok yüksek ve ayarları değiştirince varsayılanlara sıfırlanıyor
      Panel sağlam ama OS yüzünden cihaz tamamen e-atık haline geldi
    • Yeni aldığım LG akıllı TV de benzer
      webOS, palmOS’un devamı olduğu için umutlanmıştım ama hayal kırıklığı yarattı
      Sonunda ağ bağlantısını tamamen kestim
  • Asıl kilit nokta, firmware kaynak kodunun sağlanmış olmasıydı

    • Sadece makine kodu okutulsa ne kadar zor olacağını merak ediyorum
      Bu modellerin insan dili ipuçlarına ne kadar bağımlı olduğunu bilmek istiyorum
    • Sadece firmware binary’si olsa bile Ghidra gibi araçlarla analiz yapılabilir
    • Kaynak kod verilmesi, dezavantajı çok fazla azaltan bir etken oldu
  • Codex, zayıf TV OS’yi tamamen hackledi ama
    ses, giriş, renk tonu, firmware gibi ana kontrollerin tümüne eksiksiz erişim sağlamak LLM’ler için hâlâ fazla zor görünüyor

  • Samsung TV’ler son 10 yıldır hacklenmesi çok kolay cihazlar oldu
    Sadece tarayıcı erişimi verilmiş GPT-2 ile bile yapılabilirdi belki

    • Ama GPT-2 komut yürüten bir model değildi
      Sohbet yeteneği de olmadığından bu biraz abartılı bir iddia
  • Codex ile akıllı TV’deki reklamları kaldırma ya da veri aktarımını engelleme işlevi yapılabilir mi diye düşünüyorum

  • “Browser foothold” ifadesi geçmişti; burada kastedilen şey, TV’de çalışan web browser’ın kendisi

    • Geçmişte de browser, kilitli cihazları hacklemenin ana giriş noktalarından biri olmuştu
      PSP, Vita, Switch, Wii, DS gibi cihazlarda da browser exploit’leriyle homebrew çalıştırmak mümkün olmuştu