eMMC RPMB Kimlik Doğrulama Açığı

Mobil Adli Tıp & Güvenlik Analizi

eMMC RPMB Kimlik Doğrulama Açığı:
Kapalı Kaynak TEE Ortamında
Güvenlik Zafiyeti ve Veri Kurtarma

Teknik servis uzmanları için derinlemesine teknik analiz — RPMB exploit mekanizması, Qualcomm QSEE mimarisi ve silinmiş akıllı telefon verisinin geri kazanılması

● Teknik Servis Akademisi ● Mobil Adli Tıp● eMMC / UFS Güvenliği ● Akademik Düzey Analiz

256
bit HMAC-SHA256 Doğrulama Anahtarı
30
Hatalı deneme sonrası veri silme tetikler
1×
Cihaz ömrünce anahtar programlama
4 KB
Tipik RPMB bölüm boyutu

Giriş

Neden Bu Konu Teknik Servis Uzmanları İçin Kritik?

Akıllı telefonlar artık salt bir iletişim aracının çok ötesine geçmiş durumda. Kişisel veriler, finansal bilgiler, kurumsal yazışmalar ve benzersiz kullanıcı kimlikleri bu cihazlarda barındırılıyor. Bu gerçek, cihaz üreticilerini katmanlı güvenlik mekanizmaları geliştirmeye zorlamakta; teknik servis uzmanlarını ise zaman zaman kendi müşterilerinin verilerine bile erişemeyen bir konuma düşürmektedir.

Bunun tam ortasında, çoğu teknisyenin adını pek de duymadığı ama olası her profesyonel veri kurtarma senaryosunda karşılaşabileceği bir bileşen yer almaktadır: Replay Protected Memory Block — kısaca RPMB.

🔬

Araştırma Kaynağı Bu makale, Elsevier’in Forensic Science International: Digital Investigation dergisinde DFRWS EU 2024 kapsamında yayımlanan, Fukami, Buurke ve Geradts imzalı hakemli akademik çalışmanın teknik servis perspektifinden genişletilmiş bir analizidir.

Peki ne zaman gerçekten bu soruna takılırsınız? Senaryo şu şekilde gelişebilir: Parola kırma denemeleri sırasında cihazın veri silme rutinini yanlışlıkla tetiklersiniz. Flash belleğin tam bir yedeğini alıp geri yüklersiniz, ne var ki cihaz yine de açılmaz. İşte tam bu noktada, sorunun aslında flash verisiyle değil, eMMC içindeki küçük ama son derece kritik RPMB bölümüyle ilgili olduğunu fark edersiniz.

“Sistemin güvenliği, yalnızca en zayıf halkası kadar güçlüdür. RPMB kimlik doğrulaması ne kadar sağlam görünse de donanım katmanındaki açıklar, tüm güvenlik katmanlarını işlevsiz kılabilir.”

Temel Kavramlar

RPMB Nedir? Kimlik Doğrulama Mekanizması Nasıl Çalışır?

Replay Protected Memory Block (RPMB), JEDEC standartları kapsamında modern depolama aygıtlarına — başta eMMC (embedded Multi Media Card) ve UFS (Universal Flash Storage) — entegre edilmiş, kimlik doğrulamalı ve tekrar saldırılarına karşı korumalı özel bir bellek bölümüdür.

RPMB Yazma İşlemi Nasıl Gerçekleşir?

RPMB bölümüne her yazma işlemi, katı bir protokol zincirine tabidir. Bu zincirin kırılması, yazmanın reddedilmesine yol açar:

  1. 1
    Paylaşımlı Anahtar (Pre-shared Key): Akıllı telefon fabrikadan çıkmadan önce eMMC çipine ve ana işlemciye özgü bir kimlik doğrulama anahtarı programlanır. Bu anahtar, cihazın ömrü boyunca değiştirilemez niteliktedir.
  2. 2
    HMAC-SHA256 Hesaplama: Ana işlemci (host), yazmak istediği veriyi ve mevcut yazma sayacı değerini bu anahtarla şifreleyerek bir HMAC mesaj doğrulama kodu üretir.
  3. 3
    Sayaç Doğrulama: eMMC çipi gelen mesajı alır, kendi sakladığı anahtar ile HMAC’yi yeniden hesaplar ve iletilen sayacın kendi dahili sayacıyla eşleşip eşleşmediğini kontrol eder.
  4. 4
    Yazma İzni: Yalnızca her iki doğrulama da başarıyla tamamlandığında yazma işlemine onay verilir. Herhangi bir uyumsuzluk, işlemi kesinlikle reddeder.
  ┌─────────────────────────────────────────────────────────────────────┐
  │                     RPMB YAZMA PROTOKOLÜ                            │
  ├────────────────────────┬────────────────────────────────────────────┤
  │   ANA İŞLEMCİ (HOST)   │             eMMC ÇİPİ                      │
  ├────────────────────────┼────────────────────────────────────────────┤
  │ 1. Veri hazırla        │                                            │
  │ 2. Sayaç değerini oku  │◄──── Sayaç okuma isteği ──────────         │
  │ 3. HMAC hesapla │                                                   │
  │    (veri + sayaç +key) │                                            │
  │ 4. Mesajı gönder ──────┼──►  5. HMAC doğrula (kendi anahtarıyla)    │
  │                        │     6. Sayaç eşleşiyor mu?                 │
  │                        │     7. ✓ Evet → Yaz, sayacı artır          │
  │                        │        ✗ Hayır →Reddet, hata döndür        │
  └────────────────────────┴────────────────────────────────────────────┘
💡

Teknik Servis Notu RPMB yazma sayacı, eMMC çipinin harici arayüz üzerinden sıfırlanamayan dahili bir bölgesinde tutulur. Bu sayede yetkisiz bir kullanıcı sayacı geriye döndürüp eski bir iletişimi tekrar oynatarak veri değiştirme girişiminde bulunamaz — en azından teoride böyle tasarlanmıştır.

Uygulama Alanları

RPMB Akıllı Telefonlarda Nerelerde Kullanılır?

🔄

Anti-Rollback Koruması

Yazılım sürüm bilgisi RPMB’de tutularak, bilinen güvenlik açıklarına sahip eski sürümlere düşürme işlemleri engellenir. Sürüm kontrolü başarıyla geçilmeden yeni bir kurulum tamamlanamaz.

🔐

Hatalı Giriş Sayacı

Parola deneme sayısı RPMB’ye yazılır. Belirli bir eşik aşıldığında sistem otomatik olarak veri silme (wipe) rutinini başlatır. Saldırgan RPMB’ye yazamadığı için sayacı sıfırlayamaz.

🛡️

Güven Kökü Depolama

Android Verified Boot (AVB) gibi sistemlerde açılış zincirini doğrulayan ortak anahtarlar RPMB’de saklanabilir. Bu sayede bootloader değiştirilmesi tespit edilebilir hale gelir.

🔑

Şifreli Depolama Yönetimi

Tam Disk Şifreleme (FDE) senaryolarında, şifre çözme anahtarının türetilmesinde kullanılan kritik değerler RPMB’ye bağlanarak yetkisiz kurtarma girişimleri engellenir.

Vaka Analizi

Hedef Cihaz: Blackphone 2 ve Araştırma Arka Planı

Araştırmanın çıkış noktası, kendi başına ilgi çekici bir hikâyeye sahip.adli tıp analiz laboratuvarında çalışan araştırmacılar, Blackphone 2 üzerinde kaba kuvvet parola kırma yöntemi geliştirirken yanlışlıkla cihazın veri silme rutinini tetikler. Flash belleğin yedeğini geri yüklediklerinde cihazın yine de açılmadığını fark edince yoğun bir ters mühendislik sürecine girerler.

BileşenTeknik DetayÖnem/risk
İşlemci (SoC)Qualcomm Snapdragon 615 (MSM8939)

Standarda

aykırı üretim

İşletim SistemiSilent OS 3 (Android 6.0.1 Marshmallow tabanlı)risk yaratmıyor
Depolama ÇipiHynix eMCP H9TQ26ADFTMCUR (eMMC + DRAM tek pakette)

Standarda

aykırı üretim

ŞifrelemeTam Disk Şifreleme (FDE), AES-XTS algoritması

Standarda

aykırı üretim

Güvenli OrtamQualcomm Güvenli Yürütme Ortamı (QSEE)

Standarda

aykırı üretim

RPMB Boyutu4 KB (mmcblk0rpmb)Orta
Üretim Yılı2015 (güvenlik/gizlilik odaklı cihaz)eski güvenlik yaması
⚠️

Önemli Not Blackphone 2, güvenlik ve gizlilik odaklı bir cihaz olarak özellikle tasarlanmıştır. Bu analizin bulguları yalnızca bu cihazla sınırlı kalmayıp, Qualcomm Snapdragon ailesi kullanan ve benzer RPMB anti-rollback implementasyonuna sahip pek çok akıllı telefon için geçerli olabilmektedir.

Güvenlik Mimarisi

Güvenilir Yürütme Ortamı: Qualcomm QSEE’nin Anatomisi

Bir akıllı telefonun içinde aslında iki ayrı işlemci “dünyası” koşturmaktadır. Bu kavramı anlamadan RPMB güvenlik açığını kavramak mümkün değildir. Qualcomm TrustZone teknolojisi, aynı fiziksel işlemci üzerinde birbirinden kesin çizgilerle ayrılmış iki ortam oluşturur:

  ┌──────────────────────────────────────────────────────────────────────┐
  │                   TrustZone ARM Mimarisi                             │
  ├───────────────────────────┬──────────────────────────────────────────┤
  │  REE (Normal Dünya)       │  TEE (Güvenli Dünya)                     │
  │  Rich Execution Env.      │  Trusted Execution Env.                  │
  ├───────────────────────────┼──────────────────────────────────────────┤
  │  EL0: Kullanıcı alanı     │  EL0: Güvenilir Uygulamalar (TA)         │
  │  EL1: Linux Çekirdeği     │  EL1: QSEE Çekirdeği                     │
  │  EL2: Hypervisor          │                                          │
  │                           │                                          │
  ├───────────────────────────┴──────────────────────────────────────────┤
  │            EL3: Secure Channel Monitor (En Yüksek Ayrıcalık)         │
  │        ← SMC (Secure Monitor Call) aracılığıyla mesajlaşma →         │
  ├──────────────────────────────────────────────────────────────────────┤
  │  TZASC: TrustZone Address Space Controller (Veri Yolunda Ayırıcı)    │
  └──────────────────────────────────────────────────────────────────────┘

QSEE: Qualcomm’un Kapalı Kaynak Güvenli İşlem Ortamı

QSEE (Qualcomm Secure Execution Environment), kaynak kodu kamuya açık olmayan, yüksek ayrıcalıklı güvenli işletim sistemidir. Parola kontrolü, şifre çözme anahtarı türetme ve RPMB okuma/yazma işlemlerinin tamamı bu ortamda gerçekleşir. Normal Android işletim sistemi, QSEE’ye yalnızca özel bir çekirdek aygıtı (/dev/qseecom) üzerinden SMC çağrıları aracılığıyla ulaşabilir.

🔒

Bellek Yalıtımı

MMU (Bellek Yönetim Birimi) ve TZASC sayesinde güvenli dünya belleğine normal dünyadan fiziksel erişim mümkün değildir. Veri yolu düzeyinde de ayrıştırma uygulanır.

🔑

Donanım Bağlı Anahtar (HBK)

Anahtar türetme işlemleri, yalnızca QSEE içinden erişilebilen ve fiziksel olarak işlemciye kodlanmış Donanım Bağlı Anahtar (Hardware Bound Key) kullanılarak gerçekleştirilir.

⚡

Kripto Motoru (CE)

AES şifreleme/çözme işlemleri, yalnızca QSEE’nin erişebildiği ayrı bir Kripto Motoru üzerinde gerçekleştirilir. Android işletim sistemi bu motora hiçbir zaman doğrudan ulaşamaz.

vold: Android Hacim Daemon’ı ve Şifre Doğrulama Akışı

Kullanıcı parolasını girdiğinde sahne arkasında şu süreç işler: Android’in vold (Volume Daemon) süreci, libQSEEComAPI.so paylaşım kütüphanesi aracılığıyla QSEE’ye QSEECOM_IOCTL_CREATE_KEY_REQ isteği gönderir. QSEE bu isteği değerlendirerek üç olası sonuçtan birini döndürür:

Dönüş Değeri (Hex)Ondalık KarşılıkAnlamıEylem
0x000000000Doğru parolaŞifre Çözme Başlar
0xFFFFFFF9−7Geçersiz parola denemesiSayaç Artırılır
0xFFFFFFF6-10Maksimum deneme aşıldıVeri Silme Tetiklenir

QSEE İç Mekanizması

Anahtar Türetme ve RPMB’nin Şifreleme Sürecindeki Rolü

İşte konunun teknik servis açısından en kritik noktasına geliyoruz. QSEE, FDE (Tam Disk Şifreleme) anahtarını ve hatalı parola sayacını keystore adı verilen şifreli bir veri yapısında tutar. Bu yapı, flash bellekteki ssd bölümünde saklanır. Peki RPMB bu noktada devreye nasıl giriyor?

Keystore Kimlik Doğrulama Zinciri

Keystore’un HMAC’si yalnızca şifreli veri üzerinden değil, aynı zamanda RPMB bölümündeki anti-rollback sayacını da kapsayacak şekilde hesaplanır. Bu tasarımın anlamı şudur: Saldırgan eski bir keystore yedeklemesini geri yüklediğinde, RPMB’deki sayaç değeri artık bu yedeğin üretildiği andaki değerle örtüşmeyecektir. Sonuç olarak HMAC doğrulaması başarısız olacak ve FDE anahtarı bir daha hiç yüklenemeyecektir.

  ┌──────────────────────────────────────────────────────────────────┐
  │              KEYSTORE KİMLİK DOĞRULAMA AKIŞI                     │
  ├──────────────────────────────────────────────────────────────────┤
  │                                                                  │
  │  QSEE Başlatılır                                                 │
  │       │                                                          │
  │       ▼                                                          │
  │  RPMB'den anti-rollback sayacı okunur ──────────────────────┐    │
  │       │                                                     │    │
  │       ▼                                                     │    │
  │  flash'tan keystore şifreli verisi okunur                   │    │
  │      │                                                      │    │
  │      ▼                                                      │    │
  │  HMAC = SHA256(şifreli_veri + RPMB_sayacı + HBK)   ◄────────┘    │
  │      │                                                           │
  │      ├──► HMAC eşleşiyor? →Keystore çözülür →FDE anahtarı yüklenir
  │      │                                                           │
  │      └──► HMAC eşleşmiyor? → KRİTİK HATA → Şifre çözme imkânsız  │
  │                                                                  │
  │           30 yanlış deneme sonrası:                              │
  │  • FDE anahtarı keystore'dan silinir                             │
  │  • Keystore yeniden şifrelenerek flash'a yazılır                 │
  │  • RPMB anti-rollback sayacı 1 artırılır                         │
  └──────────────────────────────────────────────────────────────────┘
🚨

Kritik Güvenlik Unsuru RPMB kimlik doğrulama anahtarı, donanım bağlı anahtar (HBK) ile AES algoritması kullanılarak dinamik olarak üretilir ve hiçbir zaman kalıcı bellekte saklanmaz. Her ihtiyaç duyulduğunda yeniden türetilir. Bu tasarım, eMMC çipinin değiştirilmesi durumunda anahtarın bir daha programlanamayacağını ima eder.

eFuse Denetimi ve Tek Seferlik Programlama

QSEE her başlatıldığında eMMC’nin RPMB kimlik doğrulama anahtarının programlı olup olmadığını denetler. Eğer programlanmamışsa, önce bir eFuse değerini sorgular. eFuse, anahtarın daha önce hiç programlanıp programlanmadığını gösterir. Yalnızca hiç programlanmamış bir eMMC’ye anahtar yazılabilir. Bu mekanizma, saldırganın boş bir eMMC takarak anahtar programlama sürecini izlemesini engellemek amacıyla tasarlanmıştır.

Donanım Mühendisliği

eMMC Donanım Analizi: Çip İçini Okumak

Araştırmacılar, yazılım katmanında RPMB’nin nasıl kullanıldığını anladıktan sonra asıl soruyu sordular: Kimlik doğrulama anahtarı fiziksel olarak nerede tutulur?

Hynix eMCP Çipinin Mimarisi

Blackphone 2, eMMC ve DRAM’ı tek bir paket içinde barındıran Hynix H9TQ26ADFTMCUR eMCP çipini kullanmaktadır. Bu çip mimarisinde dikkat çeken bir ayrım vardır: Flash bellek kontrolörü ve DRAM, standart arayüz pinlerine bağlıyken, ham NAND flash bellek dieleri bu pinlere değil, teknik pinlere (technical pins) bağlanmıştır.

📡

Standart Arayüz Pinleri

eMMC kontrolörü ve DRAM bu pinler üzerinden SoC ile iletişim kurar. JEDEC standardına göre komut setini destekler. Dışarıdan erişilebilir.

🔌

Teknik Pinler (Teknik Pinler)

Ham NAND flash bellek dieleri yalnızca bu pinler aracılığıyla erişilebilir. Normal kullanımda dışarıya açık değildir; ancak fiziksel müdahaleyle bağlanabilir.

🔭

Radyografi Analizi

Çip içi yapı, X-ışını görüntüleme ile belirlenmiştir. Her dieyin elektriksel izleri takip edilerek eMCP’nin tam pin haritası çıkartılmıştır.

Anahtar Programlama Sırasında İletişim İzleme

Araştırmacılar, teknik pinlere bir mantık analizörü bağlayarak, mmc-util paketi ile test eMMC’sine anahtar programlanırken kontrolör ile NAND dieleri arasındaki iletişimi kaydettiler. Elde ettikleri bulgular son derece aydınlatıcıydı:

NAND KomutuKomut KoduAçıklamaONFI Standardı
Sayfa Programı0x80Kimlik doğrulama anahtarının flash sayfasına yazılmasıTanımlı
Hedef Adres0x0E00Anahtarın yazıldığı NAND flash sayfa adresiAdrese özel
SLC ModuÜretici özelKritik sistem verisi için güvenilir tek bit/hücre depolamaÖzel Komut gerekli

İstismar Analizi

RPMB Kimlik Doğrulama Anahtarının Ham Bellekten Çıkartılması

Teorik güvenlik ile pratik güvenlik arasındaki uçurumu gösteren en çarpıcı bulgulardan biriyle karşılaşıyoruz. JEDEC standardı, RPMB kimlik doğrulama anahtarının okunaksız ve değiştirilemez bir “tek seferlik programlanabilir” kayıtta tutulmasını şart koşar. Gerçeklik ise çok daha farklıdır.

Düz Metin Anahtar Depolama: Kritik Güvenlik Açığı

Araştırmacılar, teknik pinlere bir flash bellek okuyucu bağlayarak ham NAND verisi aldılar. Elde edilen ham veri, XOR tabanlı bir karıştırma (scrambling) deseniyle şifreli geldi. Scrambling desenini çözümlemek için, tüm baytları 0x00 olan boş bir referans eMMC kullanıldı. Desen kaldırıldığında ortaya çıkan sonuç şaşkınlık verici oldu:

🔍 Scrambling Kaldırıldıktan Sonra Ham Flash Verisi
// Referans eMCP üzerinden elde edilen düz metin veri örüntüsü
// (Gerçek adres: 0x0E00 offset bölgesi)
... 00 00 00 00 00 00 00 ...
[PASS] 31 32 33 34 35 36 37 38  // "12345678" ASCII
       39 30 31 32 33 34 35 36  // "90123456"
       37 38 39 41 42 43 00 00  // "789ABC" + dolgu
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// Kimlik doğrulama anahtarı [PASS] bayrağından
// hemen sonra DÜZMETN olarak saklanmaktadır!
// Herhangi bir şifreleme veya gizleme YOKTUR.
⛔

Güvenlik İhlali: Düz Metin Anahtar Depolama Kimlik doğrulama anahtarı, NAND flash belleğinde herhangi bir gizleme ya da şifreleme uygulanmaksızın düz metin olarak saklanmaktadır. [PASS] bayrağının hemen ardından okunabilir biçimde bulunmaktadır. Chip-off analizi yetkinliğine sahip her teknik uzman, bu anahtara fiziksel olarak erişebilir.

Diğer Üreticilerde Benzer Bulgular

Araştırmacılar, aynı tekniği farklı üreticilerin eMMC çiplerine uyguladıklarında benzer zafiyetleri tespit ettiler. Her model farklı bir adres kullanmaktadır, bu nedenle ilgili adresin belirlenmesi için anahtar programlama sürecinin sniffing ile izlenmesi gerekmektedir:

ÜreticiModelDurumNotlar
HynixH9TQ26ADFTMCURSavunmasızAnahtar düz metin, [PASS] bayrağı sonrasında
SAMSUNGKLMAG2GE4A-A001SavunmasızFarklı adres; anahtar başarıyla çıkartılmış
SanDiskSDN8DE4-16GSavunmasızFarklı adres; anahtar başarıyla çıkartılmış

Pratik Uygulama

Silinmiş Durumdaki Akıllı Telefondan Veri Kurtarma: Adım Adım

Araştırmacılar, tüm bu teorik bulguları somut bir kurtarma deneyi ile sınadılar. Blackphone 2 üzerinde kasıtlı olarak veri silme rutini tetiklendi ve ardından cihaz kademeli olarak çalışır duruma geri getirildi.

Donanım Hazırlık Aşaması

  1. 1
    eMCP Söküm: Sıcak hava tabancasıyla eMCP çipi PCB’den kaldırıldı. SD adaptör üzerinden Linux bilgisayara bağlandı. Tüm bölümler (mmcblk0, mmcblk0boot0/1, mmcblk0rpmb) NIST yönergelerine uygun şekilde görüntülendi (baseline).
  2. 2
    RPMB Anahtarı Çıkartma: Teknik pinler flash bellek okuyucuya bağlandı. RPMB kimlik doğrulama anahtarı, referans eMCP ile aynı adresten başarıyla elde edildi.
  3. 3
    ISP Pin Kurulumu: eMCP PCB’ye yeniden lehimlendi. Aynı anda CLK, CMD ve D0 eMMC hatları ince tellerle ISP (In System Programming) pinlerine uzatıldı. Bu sayede çipi sökmeden RPMB bölümüne doğrudan okuma/yazma yapılabilir hale geldi.

Veri Silme Rutininin Tetiklenmesi

Yazılım tarafında bootloader kilidinin açılabilmesi için, devinfo bölümündeki 0x10 ve 0x18 offset değerleri 0x01 olarak değiştirildi. Qualcomm EDL (Emergency Download Mode) üzerinden sızdırılan bir programlayıcı kullanıldı. Magisk ile özel bir boot imajı oluşturularak ADB root kabuğu elde edildi.

💻 ADB Üzerinden Otomatik Parola Deneme Komutu
# ADB root kabuğunda çalıştırılan parola deneme komutu
vdc cryptfs checkpw <parola>
# 30 yanlış denemeden sonra QSEE tarafından dönen değer:
# 0xFFFFFFF6 (-10) → Veri silme rutini tetiklendi
# Cihaz yeniden başlar ve tüm kullanıcı verisi silinir

Veri Silme Sonrası RPMB Değişimi

Veri silme öncesi ve sonrası RPMB bölümünün karşılaştırılması, son derece kritik bir bulguyu ortaya koydu:

RPMB OfsetiSilme ÖncesiSilme SonrasıAnlam
0x20C0x100x11Anti-rollback sayacı 1 artırıldı
Diğer ofsetlerDeğişmediDeğişmediYalnızca sayaç güncellendi

Başarısız Kurtarma Denemesi: Flash Yedekten Geri Yükleme

Araştırmacılar önce yalnızca 29 GB boyutundaki ana eMMC bölümünü yedeğinden geri yüklediler. Cihaz boot ekranına kadar geldi, doğru parola girildi, ancak işletim sistemi kullanıcıya şifre çözme başarısızlığını bildirdi. Bu beklenmedik bir sonuç değildi — aksine ters mühendislik bulgularının mükemmel bir doğrulamasıydı:

🔍

Analiz: Neden Flash Yedek Yetmez? QSEE, keystore HMAC’sini hesaplarken RPMB’deki anti-rollback sayacını da kapsar. Yedekteki keystore 0x10 sayacıyla uyumlu HMAC içerirken, RPMB’de artık 0x11 sayacı bulunmaktadır. Bu uyumsuzluk, QSEE’nin kimlik doğrulamasını başarısız kılmakta ve FDE anahtarının kripto motoruna yüklenmesini engellemektedir.

Başarılı Kurtarma: RPMB Verisini de Geri Yüklemek

  1. 1
    Tam eMMC Geri Yükleme: Ana eMMC bölümünün tamamı (29 GB) tekrar baseline yedeğinden geri yüklendi.
  2. 2
    RPMB Verisi Yazma: ISP pinleri üzerinden, daha önce çıkartılan RPMB kimlik doğrulama anahtarı kullanılarak RPMB bölümü de orijinal haline (0x20C = 0x10) geri yazıldı.
  3. 3
    Sonuç: Cihaz başarıyla açıldı. Doğru parola ile kullanıcı verilerine eksiksiz biçimde ulaşıldı. Yazma sayacı artışına rağmen QSEE müdahaleyi hiç tespit etmedi.
✅

Kritik Bulgu: Yazma Sayacı Kontrol Edilmiyor QSEE, RPMB yazma sayacını her seferinde eMMC’nin kendisinden okur ve bellekte günceller. Herhangi bir saklı değerle karşılaştırma yapmaz. Bu tasarım, saldırganın manipüle edilmiş RPMB verisi yazmasının ardından sayaç değişikliğini tümüyle gizlemesine olanak tanır.

Güvenlik Açıkları

Tespit Edilen Güvenlik Zafiyetlerinin Sistematik Analizi

Araştırma sürecinde üç temel güvenlik açığı net biçimde ortaya konulmuştur. Bunları katmanlı bir şekilde değerlendirmek, benzer cihazları inceleyen teknik servis uzmanları için kritik bir çerçeve oluşturmaktadır.

#Güvenlik AçığıKatmanKötüye Kullanım SenaryosuRisk
1RPMB kimlik doğrulama anahtarının düz metin depolanmasıDonanımChip-off ile anahtar elde edilir; RPMB’ye keyfi yazma yapılabilir

Standarda

aykırı üretim

2RPMB yazma sayacının doğrulama sonrası kontrol edilmemesiYazılım (QSEE)Sayaç artışına rağmen manipülasyon tespit edilmez

Standarda

aykırı üretim

3Anahtar türetiminde eMMC’ye özgü tanımlayıcı (CID) kullanılmamasıYazılım (QSEE)Doğru anahtarla başka bir eMMC çipi programlanabilirYÜKSEK

JEDEC Standardı ile Gerçek Uygulama Karşılaştırması

 

JEDEC der: Kimlik doğrulama anahtarı, harici arayüz üzerinden okunamaz, yazılamaz ve silinemez bir kayıtta tutulmalıdır.

 

Gerçek: Anahtar, NAND flash’ta düz metin olarak saklanmaktadır. Bazı ticari ürünlerde RPMB anahtarı silinebilir ve yazma sayacı sıfırlanabilir durumda bile bulunmaktadır.

 

JEDEC der: Yazma sayacı yalnızca başarılı kimlik doğrulamalı yazma işlemlerinde artırılır; replay saldırılarını önler.

 

Gerçek: QSEE, yazma sayacını her seferinde eMMC’den yeniden okur; saklı bir referans değeri tutmaz ve karşılaştırma yapmaz.

Güvenlik Önerileri

Güvenlik Açıklarını Kapatmaya Yönelik Öneriler ve Olası Çözümler

Araştırma ekibi bulgularını Haziran–Temmuz 2023’te Silent Circle ve SK Hynix’e sorumlu açıklama (responsible disclosure) ilkeleri çerçevesinde bildirmiştir. Belgelenen açıkların kapatılması için üç katmanlı bir yaklaşım önerilmektedir:

💾

Donanım Düzeyi: eFuse Depolama

RPMB kimlik doğrulama anahtarı, flash bellek kontrolörü içindeki değiştirilemez kalıcı bellekte (eFuse) saklanmalıdır. Okunamaz nitelikte bir kayıt olduğu sürece chip-off analizi ile elde edilmesi imkânsız hale gelir.

🆔

Yazılım Düzeyi: CID Tabanlı Anahtar Türetme

RPMB kimlik doğrulama anahtarı, her eMMC çipine özgü Card Identification (CID) kaydından türetilmelidir. Bu sayede anahtar belirli bir donanıma bağlanır; farklı bir çipe programlanması anlamsız hale gelir.

🔢

Protokol Düzeyi: Sayaç Denetimi

SoC, RPMB yazma sayacının referans değerini kalıcı belleğe kaydetmeli ve her doğrulamada bu değerle karşılaştırmalıdır. Manipülasyon tespiti için sayaç hiçbir zaman yalnızca eMMC’nin bildirdiği değere dayandırılmamalıdır.

ℹ️

Teknik Servis Uzmanları İçin Pratik Not Google, Samsung ve Xiaomi gibi üreticilerin daha yeni cihazları da RPMB bölümünü aktif olarak kullandığı bilinmektedir. Benzer chip-off analiz yetkinlikleri, bu cihazlara da uygulanabilecek olup farklı adres yapıları ve scrambling desenleri için ek araştırma gerekmektedir.

Sıkça Sorulan Sorular

Teknik Servis Uzmanlarının En Çok Sorduğu Sorular

RPMB kimlik doğrulama anahtarını çıkartmak için hangi donanım gereklidir?
Temel ihtiyaçlar şunlardır: sıcak hava istasyonu (eMCP söküm için), mantık analizörü (programlama sırasında flash iletişimini izlemek için), flash bellek okuyucu (SLC modu destekli; örneğin Rusolut VNR), eMCP-SD adaptör ve ince tel ile mikrohavya (ISP pin uzatma için). Yazılım tarafında ise mmc-utils paketi ve Linux tabanlı bir sistem yeterlidir. İşlem, iyi bir mikro lehimleme yetkinliği gerektirmektedir.
Her eMMC çipinde RPMB kimlik doğrulama anahtarı aynı adreste mi bulunur?
Hayır. Hynix, Samsung ve SanDisk çiplerinin her birinde farklı NAND adresleri kullanılmaktadır. Bu nedenle hedef adresin tespiti için, anahtar programlama sürecinin bir mantık analizörü ile izlenmesi ve CLE/ALE sinyal desenleri üzerinden Page Program komutlarının (0x80) takip edilmesi gerekmektedir. Adres bir kez tespit edildikten sonra aynı model çipler için tekrar kullanılabilir.
RPMB kimlik doğrulama anahtarı elde edildikten sonra hangi veriler değiştirilebilir?
Anahtar elde edildikten sonra RPMB bölümüne tam yazma yetkisi kazanılır. Bu durum şunlara olanak tanır: anti-rollback sayacını istenilen değere ayarlama, hatalı parola deneme sayacını sıfırlama, yazılım sürüm kısıtlamalarını düşürme (anti-rollback bypass) ve yedeği geri yükledikten sonra RPMB verisiyle tam senkronizasyon sağlama. JEDEC standardının öngördüğü “tamper-resistant” niteliği pratikte büyük ölçüde işlevsiz kalmaktadır.
Bu yöntem UFS (Universal Flash Storage) kullanan yeni cihazlarda da çalışır mı?
JEDEC standardı, RPMB konseptini UFS için de tanımlamıştır. Ancak UFS çiplerinin iç yapısı, fiziksel arayüz ve scrambling mekanizmaları farklıdır. Mevcut araştırma doğrudan eMMC hedeflemektedir. Bununla birlikte, araştırmacılar Google/Samsung/Xiaomi’nin yeni cihazlarının RPMB bölümünü aktif kullandığını gözlemlemiş ve bu cihazların benzer analiz tekniklerine tabi tutulabileceğini belirtmiştir. UFS analizi için ek araştırma gerekmektedir.
Scrambling deseni olmadan NAND flash verisi okunabilir mi?

Ham olarak okunan NAND verisi, XOR tabanlı bir scrambling deseniyle maskelenmiş gelir. Bu desen, tüm baytları 0x00 olan boş bir referans eMMC çipi kullanılarak veya matematiksel ters mühendislik yöntemleriyle çıkartılabilir. İlk yöntem daha hızlıdır; boş sektörler üzerinden bir sayfalık desenin belirlenmesi, kurtarma işlemi için genellikle yeterlidir.
📚 Akademik Kaynaklar

  1. Fukami, A., Buurke, R., Geradts, Z. — “Kapalı kaynaklı bir TEE uygulamasında RPMB kimlik doğrulamasının istismar edilmesi,” Forensic Science International: Digital Investigation , Cilt 48, Mart 2024, DFRWS EU 2024.
  2.  “Gömülü Çoklu Ortam Kartı (e·MMC) Elektrik Standardı (5.1)”, JESD84-B51
  3. Android Açık Kaynak Projesi — Keymaster Fonksiyonları, source.android.com
  4. Western Digital — “Tekrar Oynatma Korumalı Bellek Bloğu (RPMB) – Protokol Güvenlik Açıkları,” Teknik Rapor, 2020.

🔍 Anahtar Kelimeler

eMMC, RPMB, RPMB kimlik doğrulama, Qualcomm, QSEE, TrustZone güvenlik anti-rollback koruması ,TEE güvenlik açığı, mobil adli tıp, cep telefonu tamir, flash bellek chip-off, NAND, scrambling HMAC-SHA256 Blackphone 2 veri kurtarma, ISP pin, eMCP donanım analizi ,JEDEC standart, Tam Disk Şifreleme ,FDE Hynix eMMC, Samsung eMMC, UFS güvenlik, keystore ,şifreli depolama, veri silme, bypass,cep telefonu tamir kursu

© 2026 Mert Cep Telefonu Tamir Kursu | Bu makale, DFRWS EU hakemli akademik çalışmasından derlenerek teknik servis uzmanları için genişletilmiştir.

error: İçerik korumalıdır.Bilgi için MERT CEP TELEFONU TAMİR KURSU !!