- 11 Haziran 2024’te, Kia araçlarda yalnızca plaka üzerinden aracın temel işlevlerini uzaktan kontrol etmeyi mümkün kılan bir güvenlik açığı keşfedildi
- Saldırganlar, kurbanın adı, telefon numarası, e-posta adresi, fiziksel adresi gibi kişisel bilgileri sessizce elde edebiliyordu
- Bu açık kullanılarak saldırgan, araç sahibinin haberi olmadan kendisini aracın görünmeyen ikinci kullanıcısı olarak ekleyebiliyordu
- Açığın etkisini göstermek için bir demo aracı geliştirildi, ancak bu araç gerçekten yayımlanmadı ve kötüye kullanılmadı
- Bu açık daha sonra giderildi, araç yayımlanmadı ve Kia ekibi bu açığın kötü niyetli şekilde istismar edildiğine dair bir bulgu olmadığını doğruladı
Etkilenen araçlar
- 2025’ten 2014’e kadar çeşitli Kia modelleri etkilendi
- Modele bağlı olarak uzaktan kilitleme/açma, uzaktan çalıştırma/durdurma, uzaktan korna/farlar, uzaktan kamera gibi işlevler mümkündü
Güvenlik açığının ayrıntıları
Yaklaşık 2 yıl önce, 12’den fazla otomobil üreticisinde güvenlik açıkları bulduk. 15 milyondan fazla aracı uzaktan konumlandırmayı, stop ettirmeyi, kilidini açmayı ve çalıştırmayı mümkün kılan kritik sorunlar keşfettik - Paul Roberts
- Aradan epey zaman geçtiği için, daha önce açık bulduğumuz üreticilerin sitelerine yeniden bakmaya karar verdik
- Kia’nın owners sitesi ve mobil uygulaması, internet üzerinden araca kontrol komutları gönderebildiği için ilgi çekiciydi
- Web sitesi komutları bir proxy sunucu üzerinden backend API’ye iletiyor, uygulama ise API’ye doğrudan erişiyordu
- owners web sitesinde kapı kilidini açma isteği gönderen HTTP isteği örneği:
POST /apps/services/owners/apigwServlet.html HTTP/2 Host: owners.kia.com Httpmethod: GET Apiurl: /door/unlock Servicetype: postLoginCustomer Cookie: JSESSIONID=SESSION_TOKEN; - Sunucu,
JSESSIONIDkullanarak birSidoturum kimliği oluşturuyor ve bunu backend API’ye şu şekilde iletiyordu:GET /apigw/v1/rems/door/unlock HTTP/1.1 Host: api.owners.kia.com Sid: 454817d4-b228-4103-a26f-884e362e8dee Vinkey: 3ecc1a19-aefd-4188-a7fe-1723e1663d6e Sidbir oturum belirteciydi,Vinkeyise şasi numarası (VIN) ile eşlenen bir UUID idi
Bayi altyapısındaki açık
- Ayrıca Kia bayi web sitesine de baktık. Çünkü yeni araç satın alındığında Kia’nın müşteri bilgilerini nasıl işlediğini merak ediyorduk
- Bayi sitesinde yeni araç kaydı için müşteriye gönderilen e-postadaki URL’yi inceledik:
https://kiaconnect.kdealer.com/content/kDealer/… - Daha önce hiç görmediğimiz
kiaconnect.kdealer.comalan adı dikkat çekiciydi - Yukarıdaki URL’de
tokenparametresi bir VIN anahtarıydı; bayi tarafından üretilen tek kullanımlık bir erişim belirteciydi.vinparametresiyle belirtilen aracı değiştirebiliyordu - URL yüklendiğinde, belirtecin geçerliliğini kontrol eden bir HTTP isteği gönderiliyordu:
POST /apps/services/kdealer/apigwServlet.html HTTP/1.1 Host: kiaconnect.kdealer.com { "token": "985a49f0-1fe5-4d36-860e-d9b93272072b", "vin": "5XYP3DHC9NG310533", "scenarioType": 3, "loginPref": null } - Bayi sitesindeki istek URI’sinin owners sitesindekiyle aynı biçimde
/apps/services/kdealer/apigwServlet.htmlolması ilginçti - İstekleri bayiler için iç API’lere ileten bir proxy olduğunu tahmin ettik
- JavaScript kodunu incelediğimizde bayi araç sorgulama, hesap sorgulama, kayıt, iptal gibi yalnızca çalışanlara yönelik işlevleri yerine getiren API çağrıları gördük
- Sahibi olduğumuz bir aracın VIN’i ile API uç noktalarına erişmeyi denedik, ancak 401 Unauthorized hatası aldık. Bayi belirteciyle çalışmıyordu
Normal hesapla bayi API’sine erişim
- Bunun üzerine bayi web sitesinde normal bir hesap açıp bir erişim belirteci oluşturduk ve bununla API’ye erişmeyi denedik. Çünkü owners sitesiyle API biçimi benzer görünüyordu
- Bayi sitesinde, owners sitesindekiyle aynı yöntemle kullanıcı kaydı yapmayı denedik ve başarılı olduk
- Giriş yapıp erişim belirteci aldıktan sonra, daha önce erişilemeyen VIN sorgulama API’sini çağırdığımızda yanıtta araç sahibinin adı, telefon numarası ve e-postası yer alıyordu
- Bu, oluşturduğumuz normal hesapla bayi portalında kimlik doğrulayıp değiştirilmiş kanal başlıklarını kullanarak tüm bayi API’lerine erişebildiğimiz anlamına geliyordu
Araca yetkisiz erişim
- Saatlerce JavaScript kodunu analiz ettikten sonra araç kaydı, iptal ve değiştirme uç noktalarının nasıl çalıştığını anladık
- Aşağıdaki 4 adım izlenerek kurbanın aracına erişilebiliyordu:
- Bayi belirteci oluşturmak ve HTTP yanıt başlığındaki
tokendeğerini çıkarmak - Kurbanın e-postasını ve telefon numarasını öğrenmek
- Sızdırılan e-posta ve VIN ile mevcut sahibin erişim yetkisini değiştirmek
- Saldırganı aracın yeni sahibi olarak eklemek
- Bayi belirteci oluşturmak ve HTTP yanıt başlığındaki
- Kurban tarafında, aracına erişildiğine veya yetkilerin değiştirildiğine dair hiçbir bildirim görünmüyordu
- Saldırgan, birinin plakasından VIN’i öğrendikten sonra API üzerinden kurbanı gizlice takip edebiliyor, kapıları açma, aracı çalıştırma, korna çalma gibi komutlar gönderebiliyordu
Kavram kanıtı gösterge paneli geliştirme
- Açığın ciddiyetini göstermek için, saldırganın (1) bir Kia aracın plakasını girip (2) sahibin kişisel bilgilerini çekebildiği ve ardından (3) araç kontrol komutlarını çalıştırabildiği bir kavram kanıtı gösterge paneli hazırladık
Exploitsayfasında araca yetkisiz erişim deneniyor,Garagesayfasında ise komut verilip konum takibi yapılıyordu- Kilitli kiralık bir Kia otomobil üzerinde test yaptık ve yazının en üstündeki videoda, aracı akıllı telefonla hackledikten sonra uzaktan kapıları kilitleme/açma, motoru açma/kapatma, korna çalma ve konum takibi gibi işlemlerin yapıldığını görebilirsiniz
Sonuç
- Meta’nın geliştirme sürecinde yanlışlıkla birinin Facebook hesabının ele geçirilmesine yol açabilecek bir kod değişikliği yapabilmesi gibi, otomobil üreticileri de aracınızda bu tür açıklar oluşturabilir
- Otomobillerde güvenlik açıkları bulunmaya devam edecek
Zaman çizelgesi
- 06/07/24 16:40 UTC - Kia ekibine açığın nasıl bildirileceği soruldu
- 06/10/24 13:21 UTC - Kia ekibinden yanıt alındı
- 06/11/24 22:41 UTC - Güvenlik açığı bildirildi
- 06/12/24 18:20 UTC - Ciddiyet nedeniyle ticket bildirim e-postası gönderildi
- 06/14/24 18:00 UTC - Kia ekibi, konuyu incelediklerini söyledi
- 06/18/24 16:41 UTC - Ciddiyet nedeniyle ticket bildirim e-postası ve araç ekran görüntüleri gönderildi
- 06/20/24 02:54 UTC - Ticket bildirim e-postası ve plaka girilerek erişim sağlandığını gösteren ekran görüntüsü gönderildi
- 08/12/24 12:30 UTC - Ticket bildirim e-postası üzerinden durum güncellemesi istendi
- 08/14/24 17:41 UTC - Kia ekibi açığın giderildiğini ve test edildiğini bildirdi
- 09/26/24 08:15 UTC - Açığın giderildiği doğrulandıktan sonra kamuya açıklandı
GN⁺ görüşü
- Bu, otomobil hack’lemenin artık gerçek olduğunu gösteren sarsıcı bir örnek. Bağlantılı araçlar yaygınlaştıkça bu tür açıklar daha da ciddi hale gelecek
- Bu olay, otomobil üreticilerinin güvenlik farkındalığındaki eksikliği ve zayıf sistem tasarımını açık biçimde gösteriyor. Yazılım açık yönetimi ve kod incelemesi gibi güvenli geliştirme yaşam döngüsü (SSDLC) uygulamalarının acilen devreye alınması gerekiyor
- Araçların uzaktan kontrol teknolojileri kullanım kolaylığı sağlarken aynı zamanda saldırı yüzeyini de genişletiyor. Teknoloji, güvenlik ve mahremiyet arasında denge kurulması önemli olacak
- Kişisel bilgilere dayalı kimlik doğrulamanın sorunları da bu olayla ortaya çıktı. Sadece plakayı bilerek aracı ele geçirebilmek fazlasıyla zayıf bir yaklaşım. Biyometrik doğrulama veya çok faktörlü kimlik doğrulama gibi daha güçlü yöntemlere ihtiyaç var
- Kullanıcıların kendi araçlarının güvenlik durumunu fark edebilmesi ve kontrol edebilmesi gerekiyor. Kimin araca eriştiğini ve hangi komutları verdiğini bildiren uyarı özellikleri gerekli
4 yorum
Vay, bu korkunç.
Araç sahiplerine, araç ile internet arasındaki bağlantıyı fiziksel olarak kesebilecekleri bir seçeneğin mutlaka sunulması gerektiğini düşünüyorum.
Tarife yapısını merak ediyordum; meğer temel hizmeti yıllarca ücretsiz sunup bu şekilde abone yapıyorlarmış..
Hacker News görüşleri
Kia'nın ABD'deki araçlarında immobilizer'ı devre dışı bırakma kararı ülke genelinde bir araç hırsızlığı sorununa yol açtı
Güvenlik açığı bulunan Kia araç veritabanını tarayıp yakındaki Kia araçlarını gösteren ve kilidini açan bir "ride share" uygulaması yapılabilir
Herkes bayi olarak kaydolabiliyor ve bayiler satmadıkları araçların bilgilerini de sorgulayabiliyor; sorun da bu
Habere göre başlangıçta yalnızca Kia ve bayiler araçları takip edebiliyordu, ancak artık "yetkisiz" kişiler de takip edebiliyor
Sorun, Kia'nın araçlar ve sahipleri hakkında çok fazla veri tutuyor olması
Kia aracı sahibi olan birinin kardeşi, araç hırsızlığı nedeniyle ruh sağlığı açısından olumsuz etkileniyor
Aracı etkinleştirmek için çevrimiçi hesap oluşturmayı gerektiren bir araç satın alınmayacağı söyleniyor
Şu anda piyasada bağlantı özellikleri olmayan yeni araç yok
Bir Kia sahibi olarak, açığın kapatılmış ve kötü niyetli şekilde istismar edilmemiş olmasına seviniyor
Araçların internete bağlanmaması gerektiği düşünülüyor