14 puan yazan GN⁺ 2025-01-06 | 3 yorum | WhatsApp'ta paylaş
  • Birçok uygulama yapay zeka modellerini doğrudan cihaza entegre ediyor. Bu, hızlı çıkarım ve çevrimdışı erişimin önemli olduğu durumlarda avantaj sağlıyor
  • Ancak model dosyasının cihazın içinde bulunması, kullanıcıların bu dosyayı çıkarıp analiz edebileceği anlamına da geliyor

Hedef

  • Microsoft’un Seeing AI uygulaması, görme engelliler için nesneleri, belgeleri, parayı ve daha fazlasını tanıyıp sesli olarak açıklayan bir “konuşan kamera”
  • Özellikle para birimi tanıma özelliği 17’den fazla para birimini destekliyor ve 225 benzersiz banknotu tanıyor
  • Uygulamanın dağıtım biçimi olan APK dosyasının içinde model yer alıyor, ancak şifrelenmiş bir dosya (currency) halinde bulunuyor
  • Dosya yalnızca basitçe şifrelenmişse, uygulama çalışırken belleği ya da şifre çözme sürecini izleyerek dosya çıkarılabilir

İlk inceleme

  • Android uygulamaları APK dosyaları olarak dağıtılır; bu dosyalar, uygulamanın çalışması için gereken her şeyi içeren arşivlerdir
  • Yapay zeka modelleri genellikle bu tür varlıklarla birlikte saklanır
  • apktool kullanılarak APK decompile edilebilir ve yapısı analiz edilebilir
  • assets klasöründe currency adlı bir dosya bulundu, ancak bu dosya şifreliydi

Daha ileri gitmek

  • Uygulamanın currency dosyasını nasıl çözdüğü tersine mühendislikle incelenebilir
  • com.microsoft.seeingai içinde TensorFlow Lite kullanıldığı doğrulandı
  • org.tensorflow.lite.NativeInterpreterWrapper kullanılarak *.tflite modelleri yüklenebiliyor

Frida kullanmak

  • Frida, neredeyse her işletim sisteminde çalışabilen dinamik bir enstrümantasyon aracıdır; çalışan bir prosese bağlanıp davranışını değiştirebilir
  • Proses çalışırken bağlanarak metot çağrılarını izleyebilir, argümanları ve dönüş değerlerini görebilir ya da metot içeriğini istenen mantıkla değiştirebilir
    • Örneğin checkKey(key) metodunu her zaman true döndürecek şekilde değiştirebilirsiniz
  • Objection, Frida script’lerini bir araya getiren bir CLI aracıdır ve mobil uygulama araştırmalarında faydalıdır
  • org.tensorflow.lite.NativeInterpreterWrapper fonksiyon çağrıları izlenerek model diske dump edildi
    • Uygulama çalışırken .createModelWithBuffer(java.nio.ByteBuffer, long) çağrılıyor; bu sırada aktarılan ByteBuffer büyük olasılıkla şifresi çözülmüş .tflite modelidir
    • Hooking ile bu metot dump alma koduyla değiştirilirse, ilgili model diske kaydedilebilir
  • adb pull komutuyla çıkarılan .tflite modeli (currency.tflite) yerel cihaza alındı
  • Netron gibi araçlarla yüklenip bunun gerçekten bir TensorFlow Lite modeli olup olmadığı (katmanlar, ağırlıklar, bias vb.) doğrulandı
  • Para birimi tanıma modelinin eksiksiz dump’ı başarıyla alındı

CTRL + C; CTRL + V

  • TensorFlow Lite kullanan uygulamalara karşı bu saldırı uygulanabilir
  • Örneğin Adobe Scan, benim gerçekten sık kullandığım harika bir uygulama ve telefon kamerasıyla belge tarama özelliği en iyi yanlarından biri
    • Biri..

Dikkat edilmesi gerekenler

  • Çıkarılan model telif hakkına tabidir; yasal izin olmadan izinsiz kullanım/değişiklikten kaçınılmalıdır
  • Bu yazıdaki yöntemler araştırma amaçlıdır; gerçek kullanımda ilgili mevzuat ile fikri mülkiyet konularının dikkate alınması gerekir

3 yorum

 
yangeok 2025-01-14

Ve model de reverse engineering,,

 
jhj0517 2025-01-06

Vay be, apk dosyasından weight dosyasını çıkarmak mı??
Belirli bir kütüphaneyle sınırlı olsa da gerçekten etkileyici..

 
GN⁺ 2025-01-06
Hacker News görüşleri
  • ML modelini çıkarmak ilk adımdır; veri girişinden önceki dönüşümleri ve çıktı biçimini ele almak ise ikinci adımdır
  • Cihaz üzerinde ML kullanmanın, kullanıcı gizliliğini iyileştirme gibi büyük bir avantajı vardır
  • tflite düşünen uygulama geliştiricileri için, modeli Firebase’de barındırıp iş tamamlandıktan sonra silmek daha güvenli bir yöntemdir
    • Firebase; model güncelleme sürüm yönetimi, A/B testi ve APK boyutunu küçültme gibi özellikler sunar
  • Gboard, herkese açık yaygın kelimeleri öğrenmek ve şifrelenmiş öneriler sunmak için homomorfik şifreleme kullanır
    • Örneğin, Gboard’da bizarre kelimesinin yaygın iki farklı yazımı vardır
  • AI modelleri fikri mülkiyet olarak kabul edilir ve bunları kullanmadan veya değiştirmeden önce sahibinin açık izni gerekir
  • Açık verilerle eğitilmiş açık bir modeli görme engelliler için özgürleştirmiş olmaları takdire değer
    • İlgili makale, kod, eğitim verisi ve model GitHub’dan indirilebilir
    • MIT ve CDLA-Permissive-2.0 lisansları altındadır
  • Başlıca oyuncuların tutumuna göre, modelleri büyük ölçekte indirmek ve ML modelleri eğitmek fikri mülkiyet haklarını ihlal etmez
  • Android uygulamalarından büyük ölçekte model çıkarımı üzerine ilginç bir araştırma makalesi vardır
  • Frida aracı çok kullanışlıdır ve birçok kişi fikri mülkiyet meseleleriyle ilgilenir
    • Bunun, hukuki sorunlardan kaçınmak için modelin nasıl "çalınacağını" tanıtmamaya yönelik bir çaba gibi göründüğü belirtiliyor