20.000$’lık Raspberry Pi ve Hextree RP2350 için bir kazananımız olabilir Hacking Mücadelesi. Mühendis Aedan Cullen halka açıldı RP2350’yi hacklemek Geçtiğimiz günlerde 38. Kaos İletişim Kongresi’nde (38C3) bir sunum yapıldı ve GitHub deposu şimdi videoya eşlik edecek şekilde yayınlandı Burada. Cullen, RP2350 yongasının 53 numaralı pimine voltaj enjeksiyon hatası saldırısı yapmadan önce RP2350’yi ayrıntılı olarak inceledi; bu saldırı, “kalıcı olarak devre dışı bırakılmış” RISC-V çekirdeklerini ve hata ayıklama erişim bağlantı noktasını açarak sırrı okumasını sağladı.
Raspberry Pi, ticari ve endüstriyel müşterilerin ilgisini çekecek ek güvenlik özellikleriyle RP2040’ın halefi olarak Raspberry Pi Pico 2 aracılığıyla RP2350’yi tanıttı. Yeni mikro denetleyiciyi tanıtmak için Hextree ile birlikte çalışarak RP2350 Hacking Challenge’ı tasarladı. Ağustos ayında DEF CON’da duyuruldu. Bu mücadele 31 Aralık 2024’te sona erdi, ancak resmi kazanan duyurusu için 14 Ocak’a kadar beklememiz gerekiyor. Cullen sunumunu 27 Aralık’ta 38C3’te yaptı ve ayrıca bilgisayar korsanlığı sürecinin ve Python kodunun ana hatlarını içeren bir GitHub deposu paylaştı. Ancak kazananın Cullen olup olmadığını bilmiyoruz, dolayısıyla bu 20.000 dolarlık kazanma hack yöntemi olmayabilir.

Spesifik olarak RP2350, Raspberry Pi’nin vurgulamak istediği dörtlü yeni güvenlik özelliğiyle birlikte geliyor. Bunlar Güvenli Önyükleme, TrustZone, Artıklık Yardımcı İşlemcisi (RCP) ve Aksaklık Dedektörleridir. Mücadeleyi hazırlayanlar, başvuran bilgisayar korsanlarına sağlanacak olan bu ‘tamamen güvenli’ çiplerden birine bir sır sakladılar ve ilk kanıtlanabilir başarı öyküsü 20.000 dolar kazanacak ve mücadelenin galibi olmanın şerefini kazanacaktı. Donanım ve/veya yazılım araçlarının kullanıldığı saldırılara rekabet kurallarınca izin veriliyordu, dolayısıyla bu neredeyse her şeyin yolunda olduğu bir durumdu.

Raspberry Pi ve Hextree, sırrı RP2350’nin çip üzerindeki OTP (Tek Seferlik Programlanabilir) belleğinde saklayacaktı; bunun bir kez ayarlanan ancak asla unutulmayan ikili kod olduğu söyleniyor. Gizli kodu OTP’ye yazmak için Picotool kullanıldı. Daha sonra RP2350’nin OTP belleği, Sayfa Kilitleri donanım koruma özelliğinin arkasında kilitlendi ve yukarıdaki tabloya göre ‘erişilemez’ duruma ’13:12′ ayarlandı. Ürün yazılımı da Güvenli Önyükleme etkin olacak şekilde imzalandı ve çip hata ayıklama özelliğini devre dışı bıraktılar, böylece meraklı gözlerin Seri Kablo Hata Ayıklama (SWD) arayüzü aracılığıyla sırrı elde etmesi mümkün olmadı. Ayrıca diğer tüm önyükleme anahtarları devre dışı bırakıldı, RP2350 Arıza Dedektörü açıldı ve ardından en yüksek hassasiyete ayarlandı. Kesinlikle kilitlenmiş gibi görünüyor.
Cullen, bilgisayar korsanlığı sürecine RP2350 veri sayfasını ve belgelerde belirtilen bağımlılıkları inceleyerek başladığını söylüyor. Daha sonra Cullen, OTP’ye özellikle dikkat ederek RP2350’nin nasıl önyüklendiğini ve güvenlik ayarlarını nasıl oluşturduğunu ayrıntılı olarak anlattı.
Cullen’ın ilk fikri OTP’nin kritik bit ayarlarını yanlış okumasını sağlamaktı, böylece çipin güvenli olmayan bir şekilde çalışmasını sağlayabilirsiniz. Cullen, araştırmalarının bir parçası olarak RP2350’nin röntgenini bile çekti ve çip bloklarına açıklamalar ekledi. Ancak bunun sadece bir çıkar arayışı olduğunu ve zorlukların üstesinden gelmek için gerçekten etkili olmadığını vurguluyor.
Araştırma, Cullen’ı OTP (ve USB) işlevlerine bağlı olduğundan USB-OTP_VDD etiketli Pin 53’e odaklanmaya zorladı. Belki de bir bilgisayar korsanı bu işlevleri etkilemek için “bu güç kaynağına dışarıdan müdahale edebilir” diye düşündü. Böylece çipi çıkardı ve Pin 53’ü izole etti (PCB izini fiziksel olarak kesti), böylece yeniden birleştirilmiş bir kart üzerinde ayrı ayrı elektriksel olarak kurcalanmaya hazır hale geldi.
Donanımla değiştirilmiş bu kurulumla Cullen, “istediğim voltajı enjekte etmek” için Pin 53’ü araştırdı ve ne olduğunu kontrol etti. Yan yana karşılaştırmalar için korumasız bir RP2350 kartı el altında tutuldu. Donanım kurulduktan sonra, osiloskoptaki prob okumasına göre güvenli ve güvenli olmayan bir RP2350 çalıştırıldığında normalde neler olduğunu izledi.
Başlangıçta 16 başlangıç OTP okumasına karşılık gelen 16 grup artış görüldü. Cullen daha sonra önyükleme işleminin belirli noktalarında Pin 53’e güç sorunları eklemeyi test etti. Hayal kırıklığı yaratan bir şekilde, hata ayıklama kilitli kaldı. Daha sonra, başlatma sırasında 600 mikrosaniyelik OTP okuma aralığının tamamı boyunca bir aksaklık güç girişinin konumunu taramak için bir Python betiği kullanıldı. Hata ayıklama işlevi kontrol edildi ancak hiçbir zaman kullanılamadı. Bunun üzerine Cullen ipucu bulmak için hata ayıklamanın etkin olduğu, kilidi açılmış RP2350 kartına tekrar baktı.
Ardından, RISC-V çekirdeklerinin güvenli olmayan RP2350’deki aksaklık aracılığıyla ortaya çıkmasıyla ilginç bir şey gözlemlendi. Cullen daha sonra RISC-V hata ayıklama erişim bağlantı noktasının nerede göründüğünü kontrol etmek için başka bir komut dosyası kullandı. Bu teknik aynı zamanda güvenli RP2350’de de tetiklenebilir ve artık güvenli RP2350’ye bir hata ayıklayıcı bağlanabilir ve OTP’den gizli okunabilir!
Gizli yakalandı
‘Kalıcı olarak devre dışı bırakılan’ RISC-V çekirdekleri, bu erişimi mümkün kılmak için aksaklık nedeniyle uyandırılmıştı. Cullen, 0x00030033 arızasının çalışmasının altında yatan tuhaf sebebin, hem Arm hem de RISC-V çekirdeklerini devre dışı bırakması olduğunu, ancak Arm devre dışı bırakma talimatının RISC-V’yi açık bırakarak daha yüksek önceliğe sahip olması olduğunu açıklıyor. Daha da önemlisi, aksaklık Debug_Disable’ı başarıyla siliyor.
Bu hack’in arka planı hakkında daha fazla bilgi için, özellikle de koruma okuma mekanizmasını atlayarak, 38c3 (üstte bağlantılı) sırasında kaydedilen videoyu izlemenizi öneririz. Oturumun sonunda ilginç bir soru-cevap bölümü de var. Katılımcıların sizinkine benzer sorular sorduğunu görebilirsiniz.
Cullen sunumunu üç önemli noktayla tamamladı:
- İnsan iletişim faktörleri çok büyüktür. Sidense [the company behind OTP NV memory tech used] Korumaların nasıl düzgün bir şekilde yapılacağını biliyordu ve RPi bunu kaçırdı.
- Talaş tahribatı içermediği sürece “kalıcı” bir şey değildir. Her sinyalin bir yerinde bir miktar bakır var…
- Size söylemedikleri yerlerde hata yapmayı unutmayın.






