- Flipper Zero'nun özel firmwarei son dönemde araçların rolling code güvenliğini tamamen etkisizleştirdiği tespit edildi
- Bu saldırı, önceki RollJam yönteminden farklı olarak, tek bir sinyal yakalamayla tüm düğme işlevlerinin kopyalanmasını sağlıyor
- Saldırıda kullanılan yöntem, sıra türetimi tersine mühendisliği veya geniş bir kod listesindeki kaba kuvvet (bruteforce) yöntemi
- Firmware, sonradan yayımlanan bir makalede açıklanan RollBack saldırı ilkesine dayalı olarak çalışıyor
- Chrysler, Ford, Hyundai dahil birçok üreticinin araçlarını etkiliyor ve basit bir çözüm bulunmuyor
Flipper Zero ile Rolling Code Güvenlik Açığı
YouTube kanalı Talking Sasquach, son dönemde Flipper Zero'ya uygulanmış bir özel firmware ile araç uzaktan açma/kapatma anahtarlarında kullanılan rolling code güvenlik yapısını atlayan bir demoyu yayınladı
Rolling Code Güvenliği ve Eski Saldırı Teknikleri
- Rolling code sistemi, verici (anahtar) ve alıcı (araç) arasında senkronize bir algoritmayla her seferinde yeni, tek kullanımlık bir kod üretir
- Bu yapı, yeniden oynatma (replay) ve yetkisiz erişim saldırılarını engellemek amacıyla benimsenmiştir
- Önceden RollJam adıyla bilinen bir saldırı yöntemi vardı; araç sinyalinin karıştırılarak (jam) yakalanıp yeniden oynatılmasına dayansa da sahada uygulanması zordu
Yeni Ortaya Çıkan Saldırı Yöntemi
- Bu saldırı, yalnızca tek bir buton sinyali yakalanmasıyla kilit, aç-kapa, bagaj açma dahil tüm işlevlerin çoğaltılmasını mümkün kılıyor
- Bu yöntem, ek bir sinyal karıştırma veya başka donanım olmadan yalnızca Flipper Zero kullanılarak gerçekleştirilebiliyor
- Anahtar sinyali yakalandıktan sonra mevcut uzaktan kumanda, senkronizasyondan çıkıp kullanılamaz hale geliyor
Saldırı Prensibi
- Saldırganlar, bir dizinin sızdırılmış olması durumunda veya büyük bir dizi listesine dayalı kaba kuvvet (bruteforce) yöntemiyle rolling code desenlerini tersine mühendislikle çıkarabiliyor
- Bazı uzmanlar bu firmware'in, yakın zamanda yayımlanan bir çalışmada açıklanan RollBack saldırı modelini ödünç aldığını öne sürüyor
- RollBack modeli, yakalanan rolling code'ları belirli bir sırayla tekrar oynatıp senkronizasyon sistemini geri sarma esasına dayanıyor
Etki ve Yanıt Durumu
- Demo videosunda yalnızca bir kez sinyal yakalanarak uzaktan kumandanın tamamının emüle edildiği gözlenebiliyor
- Etkilenen üreticiler arasında Chrysler, Dodge, Fiat, Ford, Hyundai, Jeep, Kia, Mitsubishi, Subaru yer alıyor
- Şu anda yazılım güncellemesi veya hızlı uygulanabilir basit bir düzeltme mevcut değil; bu nedenle en uç çözüm olarak geniş kapsamlı araç geri çağrımı dışında anında uygulanabilecek bir yöntem bulunmuyor
2 yorum
"Dark web yazılımı" gibi dikkat çekici bir kelime seçip iddia etseler de, aslında cihazdaki sensörleri çalıştırmaktan ibaret.
Flipper Zero da profesyonel bir suç ekipmanı değil; sensörlerden oluşan bir paket ve kullanıcı dostu bir işletim sistemi bulunan bir oyuncağa daha yakın bir şey. O şeyin sadece buna karşı kırılabilir olmasıyla övünmek gibi bir şey yok.
Bu seviyede kırılabilecek bir güvenliğe sahip olmak, kapıyı açık bırakıp dolaşmakla aynı şey.
Flipper Zero olmadan da herkes internetten yasal ve meşru yollardan birkaç sensör alıp aynı işi yapabilir.
Hacker News Yorumu
Mevcut piyasada satılan birçok rolling key sisteminin KeyLoq tabanlı olduğunu söyledi; KeyLoq oldukça iyi tasarlanmış bir sistem ama ciddi bir açığı var. “Manufacturer key” denen bir üretici anahtarı var ve uzaktan kumandanın yerinde eşleşmeyi (field pairing) destekleyen cihazların tümü buna ihtiyaç duyar. Bu üretici anahtarı ele geçerse, doğrulayıcıda yalnızca iki örnekle bile sıra anahtarını (sequence key) elde etmek mümkün olur. Üretici anahtarı yoksa durdurma+yeniden oynatma (replay) saldırısı mümkün ama sequence key’i brute-force ile kırmak gerçekçi değil. Ama sahada programlama destekli alıcılar bu “sihirli” üretici anahtarına mutlaka sahip olmalı; bu yüzden bu cihazı alıp anahtarı çıkarabilecek herkes var.
Doğru. KeeLoq şifreleme artık güvenli değil ama Microchip artık AES’e geçmiş durumda. KeeLoq yalnızca otomobillerde değil, garaj kapısı uzaktan kumandalarında da çok kullanılıyor. Bazı KeeLoq alıcılarında bir “öğrenme modu” var; aynı üretici anahtarını kullanan bir KeeLoq vericisinden sinyal gelince bunu kaydediyor. Öğrenme modu PCB’deki bir düğmeyle ya da bir “master” verici ile etkinleştirilebiliyor. https://en.wikipedia.org/wiki/KeeLoq
“Dark web”de yayınlanmış olmasının neden sorun olduğunu anlamıyorum. ABD’de 18 USC 1029/30 kapsamına girebilir ama internette her yerde kullanılabilir. Neden dark web konuları her zaman siyasallaşıp tıklanma işi oluyor, anlayamıyorum. Sonuçta hepsi internet.
Çünkü aslında bir hacker, firmware’i dark web pazarında 1000 dolara satıyor olmasıyla ilgili; bu sefer gerçekten dark web’de satışta olanın doğru olduğundan emin.
Firmware yazarı bunu gerçek bir araç çalma amacıyla onion tabanlı bir foruma (yani dark web’e) yüklemiş olabilir diye tahmin ediliyor.
Bu, interneti İngiltere ve Çin tipi sansürlü ağlar gibi tanımlamak için “internet” kelimesini “newspeak”e çevirmeye benzer bir örnek gibi duruyor.
Bu nedenlerden ötürü, otomobillerdeki “keyless start” özelliğini iyi bulmuyorum. Eski yöntem gibi yalnızca key fob ile arabanın kapısını açıp, marş için gerçek anahtarı kullanmak daha güvenli olur. Güvenlik seviyelerinin daha katmanlı olması daha iyi olur. Eski otomotiv güvenliği tecrübemden biliyorum: otomobil firmalarının, müşterilerinin araçlarının çalınmasını tamamen istemediklerini söylemek zor; çünkü sigorta tazminatı ödenince o kadar çok yeni araç satılıyor.
Bildiğim kadarıyla rolling code algoritması push button start’ta kullanılmıyor, yalnızca key fob fonksiyonunda kullanılıyor. Özellikle Avrupa’da immobilizer düzenlemeleri nedeniyle ve diğer bölgelerde de benzer şekilde. Normalde uzun menzilli key fob ile yalnızca yakın mesafede çalışan start fonksiyonu güvenlik gereği ayrıdır. Avrupa markalarının genel olarak anahtar şifreleme güvenliğinin daha iyi olduğu; sigorta sektörü entegrasyonu, yüksek hırsızlık oranlarıyla doğan regülasyonlar gibi çeşitli etkenlerin sonucuymuş gibi görünüyor.
Belirli bir modelde primin fahiş biçimde yükseldiğini düşünürsek, tüketici Hyundai gibi bir marka seçerken son derece pahalı primlere hazırlıklı olmalı. Bu marka imajı kaybı hiç de ucuz olmayacaktır.
Biraz sert bir konu olabilir ama “güvenli”den çok “güvenlik” daha doğru olur. Suçluların parkta duran aracı kolayca çalabilmesi, toplumsal açıdan aslında daha güvenli hale getirebilir. Böylece bir sürücüye zorla tehdit edip aracı çalma durumu azalır diye düşünüyorum. Gerçekten aracının güvenliğini istiyorsan, eski bir araca sadece amortismanı düşmüş eşyalar koyup kullanmak en iyisidir. Benim arabam da yaşlı, pasla boğuşuyor ama içinde çöp dışında bir şey yok.
“Araba firmaları gerçekten araç çalmayı seviyor” sözüne Hyundai ve Kia’nın da bir şeyler eklemesi gerekir.
DIY olarak basit bir anahtar veya röle ekleyip MFA (çok faktörlü kimlik doğrulama) benzeri güvenlik eklemek için kesinlikle bir yol var. Ama bu, “desync” gibi senkron kopması ya da kilit açma problemlerinde işe yaramaz.
Söz konusu video içinde fazla laf var, somut içerik çok az olduğu için değerlendirmek zor. Gösterilen verilere bakınca sadece mevcut rolling code zafiyetinin iyi sunulmuş bir versiyonu gibi duruyor. https://github.com/jamisonderek/flipper-zero-tutorials/tree/main/subghz/apps/rolling-flaws
Araç haberleşme sinyalleri (a) yayın (broadcast) şeklinde değilse veya (b) insanın algılayamayacağı formatta değilse, böylesi güvenlik problemleri çok daha az olurdu diye düşünüyorum. Örneğin, kapı tutacağında elektriksel bir kontaktör olsa, bir yabancının sinyali dinlemesi veya enjekte etmesi çok zor olurdu. Sinyal işitilebilir bir ses olsaydı, jamming yapanın hemen anlaşılması mümkün olurdu. Pratikte benim için key fob’un uzak mesafeden başlıca kullanımı araç “kilitleme”dir ve “kilidini açma” için büyük bir risk yok.
Sinyal işitilebilir bir sesse ve jamming yapan kişi hemen anlaşılabiliyorsa bu, Doğu Asya’da epey popüler olur. O bölgede bildirim sesleri çok fazladır; çanak çamaşırdan gelen uyarılar, yaya geçidinde çıkan melodiler, çöp kamyonlarının melodi çalması... Japonya bir sesli uyarı ülkesi.
“Sadece kilitlemeyi uzaktan yapıp kilidi açmayı yapmıyoruz” diyor ama kilitleme ve açmada aynı rolling code anahtarı kullanılıyorsa risk eşit olur. Bir otomobil üreticisinin kilitleme ile açma için farklı rolling code anahtarları kullanması daha ilginç olurdu.
Bu durumda, akla es geçer gibi bir şekilde hareket eden siyasetçiler Flipper Zero’yu yasaklamaya çalışacak. Aracın key fob özelliğinin güvenliğinin zaten zayıf olduğu gerçeği de kabul edilmek istenmeyecek gibi.
Haberde, “saldırı için sadece bir buton sinyali yakalamak yeterli; yeniden gönderime gerek olmadan tüm key fob fonksiyonları klonlanıyor” denildiğini görünce, key fob düğmesine asla basmazsam böyle bir saldırıya karşı güvende olur muyum diye merak ettim. Benim kullandığım senaryoda kapı kolu düğmesine basınca yakınlardaki anahtar tanınır, kapı açılır veya kilitlenir.
Araba anahtarını kapıya yakın bir yerde (örneğin evinizin girişindeki gibi) bırakırsanız, anahtar sürekli sinyal yaydığı için suçlu bu sinyali retransmit ederek kapı kolu düğmesine basabilir. Gerçek anahtar olmadan bile aracı açması mümkün olabilir.
Bildiğim kadarıyla fiziksel anahtarla veya benzeri bir yöntemle kapı açarken veya çalıştırırken hala challenge/response (challenge/response) yöntemi kullanılır. Hırsız alarmı ile immobilizer, anahtarın gerçekten doğru olup olmadığını, hack’ mi olmadığını ayırt eder. Haberdeki saldırının tam olarak nasıl olduğu net değil ama bu yöntemin de aşılabileceğini düşünüyorum.
İlginç bir soru. Eğer o fonksiyon NFC veya başka bir özel protokol kullanmıyorsa, yine de saldırıya açık olur.
Rolling code mimarisinin doğası gereği, article’daki ifadeye göre key fob zaman zaman sync’den çıkıp çalışmayı durdurabilir. Böyle bir durumda kullanıcı sıfırlamayı kendisi yapabilir mi, yoksa sadece serviste mi olur, merak ediliyor.
Saldırı nedeniyle orijinal key kullanılamaz hale gelirse gerçek tehdit, birinin parktan anahtar sinyalini yakalayıp bu saldırıyı yapmasıyla, aracı çalmadan kullanıcıyı çektirip yeniden programlatmak gibi büyük bir rahatsızlık yaratması da olabilir.
Benim kullandığım araçlardan bazılarında uzaktan kumanda tamamen ölse bile fiziksel anahtarla kapı açılır ve araç çalıştırılırdı. Gerçekten uzaktan kumandası olmayan ve tek çaresi çekiciye gitmek olan bir araç var mı merak ediyorum.
Bu saldırı aracın içinde bırakılmış önemli eşyaların (değerli şeyler) çalınmasını da mümkün kılar.
Kullanıcı mağazaya girerken kilitleme sinyalini yakalayıp kullanıcı içinde bulunduğu süre boyunca aracı çalabilir.
Daha kötü bir senaryo da, bu yolla saldırganın mağduru bir kriz anında (öldürmeye teşebbüs, kaçırma vb.) aracı sığınak olarak kullanmasını engellemesidir.
Araçlarda neden public key şifreleme kullanılmadığını merak ediyorum. Key fob’da kullanmak için hesaplama yükü çok ağır mı olur?