Siber Saldırı
B. Candan, E. Servi, K. Hocaoğlu
Temel Siber Saldırı Terimleri
Bir sonraki bölümümüzde bir arabaya gerçekleştirilen siber saldırı deneyini konu alacağız. Araç hackleme yazısını oluşturmamızda bize yardım eden Sasan Jafarnejad'a teşekkür ederiz. Bu bölümü anlamak adına siber saldırı, siber savunma konularında bilmeniz gereken; diğer yazıyı daha kolay anlamanızı belli başlı temel kavramları ve açıklamalarını sizlerle paylaşıyoruz. Tabi ki bu kavramlar oldukça özet açıklanacak. Konuya tam vakıf olmak için internette detaylı araştırmalar yapmanızı öneririz.
Backdoor (Arkakapı)
Korumalı bir sisteme giriş ancak ön kapıdan girerek tarif edilir. Şirketler sistemleri içerisinde backdoor Türkçe karşılığı olarak arka kapı sistemini de kullanabilmektedirler. Bu sayede kimlik doğrulama işlemleri atlanıp doğrudan sisteme giriş yapılabilir. Backdoor sistemi genellikle gizlice kullanılır, ortaya çıkması halinde hackerlar tarafından kullanılabilir.
Brute force (Kabakuvvet)
Brute force yani kaba kuvvet saldırısı şifreyle korunan bir sisteme girmenin tartışmasız olarak en kolay ve ilk denenen yoludur. Basit şifreler deneme yanılma yoluyla kolaylıkla ortaya çıkabilmektedir. Bu teknikle sistemde genellikle parolayı elde etmek için otomatik bir deneme yanılma yöntemi vardır. Ancak modern sistemlerin çoğu bu sisteme karşı kendini korumak için farklı yöntemler barındırır. Bu da deneme yanılma yoluyla sisteme girişi çok zorlaştırır hatta imkânsız hale getirir. Orta düzey korunmuş sistemlerde bile kaba kuvvet tekniğiyle bir şifreyi kırmak bile şifrenin güncellenmediği varsayılırsa onlarca yıl sürebilir.
Exploit
Exploit yolu bilgisayar sistemindeki zayıflıklar ve hatalardan yararlanılan, onları istismar eden bir yoldur. Ancak sistemdeki bütün zayıflıklar istismara yol açmaz. Bu yolu şöyle düşünürsek, diyelim ki kapınız arızalı ya kapıyı açık bırakıyorsunuz ya da kapıyı kilitlemek durumunda kalıyorsunuz, bunların ikisi de kusurdur ancak açık bırakmak hırsızlara davetiye çıkartan bir zayıflık ve kilitli kapınızın zorlanması ise istismardır. Sistemde herhangi bir açıklık zafiyete yol açabilir.
Hacker
Bu terim yanlış bir anlayışla bilgisayar sistemlerine kaçak olarak giren ve yasa dışı yollarla uğraşan kişi olarak algılanıyor. Gerçekte Hacker (bilgisayar korsanları) basitleştirici ya da programlanabilir sistemlerin ayrıntılarını keşfetmeyi ve yeteneklerini genişletmeyi seven insanlardır. Hackerlar beyaz şapkalılar ve siyah şapkalılar olarak temelde ikiye ayrılırlar. Beyaz şapkalı hackerler kötü niyetleri olmayan ve kötü niyetli korsanların saldırılarından sistemleri koruyan hackerlardır. Siyah şapkalı hackerler ise kötü niyetli hackerlardır.
Man-in-the-middle (MiM)
Türkçesi ortadaki adam saldırısı olarak çevrilebilir. Birinin kendisini sistemdeki iki kişinin arasına sokup gizlice onları taklit ettiği bir saldırı türüdür. Bu sayede saldırgan iletişimi kesebilmekte veya istediği gibi yönetebilmektedir. Bu tip bir saldırıda kişiler dinlenebilir, iki taraf arasındaki mesajlar ve bilgiler ele geçirilebilir, veri akışı manipüle edilebilir.
Penetration Testing/ Pentesting
Bu sistem Türkçe sızma tekniği olarak adlandırılmaktadır. Eviniz, ofisiniz ya da fabrikanız için bir güvenlik sistemi kurduysanız, saldırganlara karşı güvenli olduğundan emin olmak isterdiniz, değil mi? Sistemin güvenliğini test etmenin bir yolu insanları kullanmak, onlara nüfuz etmek, zaaflarından yararlanarak kasten onları hacklemektir. Pentesting bir profesyonel beyaz şapkalı tarafından uygulandığında olası kötü niyetli saldırılara karşı önlem alma şansı elde edersiniz.
Sniffing
Sniffing özel bir yazılım kullanarak bir ağ üzerinden gidip gelen verileri yakalamanın bir yoludur. Veriler yakalandıktan sonra hackerlar özellikle şifreler gibi faydalı bilgileri ele geçirebilir. Bu saldırı yolu tehlikeli bir yol olarak kabul edilir çünkü algılanması zordur ağın içerisinden ve dışarısından gerçekleşebilir.
Social Engineering
Bütün hackerlık işlemleri Matrix filmindeki gibi yeşil bir ekrana bakılarak yapılmaz. Bazen internette insanların zaaflarından yararlanarak onları ikna etmek ve kandırmak, e-posta göndermek, telefon görüşmesi yapmak başkası gibi davranmak kadar kolaydır. Bu sistem Türkçede sosyal mühendislik olarak adlandırılır. İnsanların karar süreçlerini değiştirmek üzerine kurulu bir sistemdir. Telefon dolandırıcılıklarını örnek gösterebiliriz [20].
1. Araba Siber Saldırı Deneyi: Bağlantıda Güvenlik Açığı Oluşması
Bu bölümde sizler için çok önemli bir deneyin makalesinden alıntılar yapacağız. Elektrikli araçlar elektriğin temel öğesi olan 1 ve 0’lardan motor gücünü aldığı için elektrikli aletlerin maruz kalabileceği her türlü siber saldırının türevlerine maruz kalabilir. Çalışmamızın bu kısmında Sasan Jafarnejad ve arkadaşlarının makalesinden yararlandık [21].Özet
Birbirine bağlanabilen, gözlem ve aracın durum kontrolü için yerleşik sistemlere uzaktan kontrol sağlanan otomobiller gitgide büyüyen bir pazardır. Bu gibi özellikler araç sahibinin aracı hakkındaki bilgisini kolaylaştırmak ve güçlendirmek için yapılmaktadır. Fakat bu, aynı zamanda aracın emniyet ve güvenliğine etki edilmektedir. Araçlar henüz tam olarak bağlantıya hazır olmamaktadır. Zira kontrol sistemine çeşitli saldırılar hala mümkündür.Bu makalede, son zamanlarda üretilen elektrikli araçlara gelebilecek mümkün saldırı senaryolarını ve bunların gerçek zamanlı sürüşe etkilerini analiz edilmektedir. Açık Araç İzleme Sistemi kullanarak otonom sürüş sağlamak için aracın emniyet açısından kritik bileşenlerinin davranışını değiştirmek için çalışmalarda bulunulmuştur. Dahası, kurulumun potansiyelini canlandırabilmek için, bu gibi araç sistemlerini uzaktan internetle kontrol edebilecek yeni bir mobil uygulama geliştirilmiştir. Modern gömülü sistemlerde güvenlik açığı analizi sağlanmıştır.
Giriş
Her gün evimizde ve dışarıda kullandığımız birçok ürün gittikçe daha fazla bağlantılı ve uzaktan kontrol edilebilir olmaya başladı. Günümüzün yüksek hızlı ve yüksek kapsamalı mobil ağları, daha önceden yerel ve manuel giriş gerektiren bu ürünlere artık erişim sağlayarak, davranışlarını etkilememize ve otomatikleştirmemize imkân tanımaktadır. Motorlu araçlar Nesnelerin İnterneti (IoT) ağına en son eklenen ve dolayısıyla bu teknolojinin etki ve değiş tokuşunun değerlendirilmesi için ele alınması gereken önemli bir konudur.Bağlanabilirlik modern araçlarla buluşunca, araçları bir akıllı telefonla kontrol edebileceğimiz bir senaryoyu resmedebiliriz. Dahası, bu makalede de sunduğumuz gibi, otonom araçlar ve kendi kendini sürebilen arabalar bir sonraki akıllı adımı temsil etmektedir. Araç elektroniklerinin gitgide karmaşık bir hal almasıyla birlikte, Elektronik Kontrol Ünitelerinin (ECU) sayıları ve bunların arabanın farklı alt sistemlerini izlemedeki önemi son on yıl içinde giderek büyümüştür. Ek olarak, modern araçların başka aygıtlarla kablosuz arayüzleri kullanarak iletişim kurabiliyor olması arabanın dahili ağını güvenlik açıklarına potansiyel olarak maruz bırakılmaktadır. Bizim inancımız, modern arabalarda kullanılan şuan ki son teknoloji ürünü dahili iletişim sistemlerinin harici saldırı tehditleriyle henüz başa çıkamayacağı yönündedir.
Bu makalede, arabanın dahili ağına erişim sağlayabilen açık kaynaklı bir donanım ve yazılım platformu sunulmaktadır. Görülüyor ki dahili ağ mimarilerinde var olan güvenlik mekanizmalarının yetersizliği büyük bir sorun ve şimdilerde birçok araç kablosuz iletişim kapasiteleriyle donanımlıdır. Dahili ağın yapısı göz önüne alındığında, uzaktan erişimimiz aracın kritik güvenlik sistemlerini tehlikeye maruz bırakabilmiştir.
İlgili Çalışmalar
Gömülü araba sistemlerindeki güvenlik açıklarını keşfetmek ve güvenliği arttıracak çözümleri tasarlamak için birçok çalışma gerçekleştirildi. Studnia ve arkadaşları yapmış oldukları çalışmada, bu güvenlik sorunlarının incelemesini yapan bütün farklı yaklaşımların bir genel bakışını sağlamaktadır ve güvenliği arttırmak için önerilen çözümleri listelenmektedir [1].Otomotiv elektroniği mimarisinin karmaşıklığı göz önüne alındığında, Wolf , Kleberger ve arkadaşlarının yapmış oldukları çalışmalarda, sistematik manipülasyon ve zorla giriş gibi farklı saldırıların bir taksonomisini sağlar[2][3]. Koscher ve arkadaşlarının yaptıkları çalışmada yerel saldırıcıdan korunmayan dahili otomotiv bilgisayar ağına fiziksel olarak erişilebildiğini yazarlar ileri sürmektedir[4]. Burada, Elektronik Kontrol Ünitesine (ECU) kötü niyetli kod gömen ve kazadan sonra kendini ve kanıtlarını tamamen silen bir saldırı gibi, farklı alt sistemlerdeki özgün zayıflıklara nüfuz edebilen bir saldırı düzenlenebilmektedir. Biz bu fikri, uzaktan aracın dahili kontrol sistemlerini ele geçirerek ve bu gibi saldırıların tekrar etme olasılığını keşfetmekte, bu sayede sistem bir adım daha ileri götürülmektedir. Checkoway , Moalla ve arkadaşlarının yapmış oldukları çalışmalarda farklı güvenlik açıklarının, muhtemel saldırıların bir incelemesini sunmakta ve birbirine bağlanabilir araçların güvenlik mücadelesiyle ilgili bir görünüm sağlamaktadır [5][6]. Araç alt sistemlerine yapılması mümkün olan saldırıları oldukça pratik bir yaklaşımla inceleyen, dikkate değer bir çalışma olan Miller ve arkadaşları bir Ford Escape’in ve bir Toyota Prius’un birkaç kritik alt sistemlerinin güvenliğinin nasıl manipule ve kontrol edilebileceğini detaylıca tartışılmaktadır [7].
Bir yıl sonra aynı yazarlar, 20 farklı araç için olası sızma senaryolarını değerlendirerek uzak saldırıların derinlemesine bir araştırmasını sunmaktadır [8]. Iban˜ez-Guzman ve arkadaşları son ABD ve Avrupa araştırma projelerindeki otonom araç teknolojisindeki gelişmelerden bir genel bakış sunmakta ve mevcut gömülü sistemlerin zayıf noktalarına dikkat çekmektedir [9]. Son yıllarda, bu zayıflıkların üstesinden gelebilmek için birçok çözüm önerildi. CANAuth ve LibraCAN , kriptografinin basit yapı taşları bazlı CAN, veriyolu için iki yayın kimlik doğrulama protokolüdür[10][11].
Bu çalışmada, açık kaynaklı donanım ve yazılım temelli, arabanın dahili ağına uzaktan erişim sağlayabilen yeni bir mekanizma tanımlanmaktadır. Bunun yanında yapısı göz önüne alındığında bu mekanizmanın nasıl motor kontrolleri gibi kritik emniyet sistemlerini tehlikeye maruz bıraktığını canlandırılmaktadır.
Arkaplan
Deneysel kurulum ve sorun beyanını sunmadan önce ilk olarak bu çalışmada kullanılan konseptler hakkında bilgiler şu şekildedir:Elektronik Kontrol Ünitesi (ECU)
Bir Elektronik Kontrol Ünitesi (ECU) bir aracın bir ya da daha fazla alt sistemini kontrol eden gömülü sistemi belirtir. ECU’nun bir çeşidi motorun (yanmalı, hibrit ya da elektrikli) çalışma zamanı parametrelerini belirleyen Motor Kontrol Modülüdür (ECM). ECMler her bir devirde motora enjekte edilen yakıtın ince kontrolüne müsaade etmesi amacıyla seksenlerde tanıtılmıştır. Modern ECUlar diğer şeylerin arasında hava girişini, yakıt enjeksiyonunu, torku kontrol ederek çeşitli sensör verileri toplar. Bunlar, kapı kontrol ünitesinden insan bilgisayarı arayüzü ve hız sabitleme sistemlerine kadar birçok özelliğe sahip olabilir. Fabrikanın tanımlamasına göre bu gibi sistemlerin bozulmadan çalışması hayati öneme sahiptir. Bu gibi bileşenlere yapılacak kötü niyetli bir kurcalama arabanın sürüş esnasındaki davranışına ciddi şekilde etki edebilmektedir ve potansiyel bir kazaya öncülük edebilmektedir.Denetleyici Alan Ağı (CAN)
Düğüm olarak da anılan araba bileşenleri, geçmişte her bir sistemin iletişim kurması için birbirinden bağımsız olarak bağlanırdı ve bu devasa uzunlukta elektrik kablolarının kullanımıyla sonuçlanırdı. Bu durum arabanın maliyetinin ve ağırlığının artmasına ve bakımın daha zor olmasına neden oldu. Bu konuya binaen Robert Bosch GmbH Denetleyici Alan Ağını (CAN) geliştirdi. CAN, araçta saniyede maksimum 1 Megabit kadar olan kısa mesaj alışverişi yapmak için mikro denetleyicilere müsaade eden (genellikle ECUlar) çoklu bir ana seri veri yoludur. CAN veri yolu üzerindeki bütün aygıtlar genellikle bükülmüş bir çift kablo yoluyla bağlıdır ve her mesaj veriyolu üzerindeki her aygıta yayınlanır. Mesajların kaynağı ve hedefi için herhangi bir kimlik kavramı bulunmamaktadır. Her mesaj, mesajın amacını ve önceliğini tanımlayan bir kimliğe (ID) sahiptir. Öncelikler tahkim metoduna dayanılarak çözümlenir. CAN veriyolunda dört farklı mesaj çeşidi bulunmaktadır: veri çerçevesi, uzak çerçeve, hata çerçevesi ve aşırı yükleme çerçevesi. İlk iki çeşit sırasıyla düğümler arasındaki veri yükünü yayınlamak ve belirli bir düğümden verinin aktarımını talep etmek için kullanılmaktadır. Hata çerçevesi, göndericiden bu mesajı yeniden iletmesini istemek için bir mesajda hata tespit eden bir düğüm tarafından gönderilmektedir. Aşırı yükleme çerçevesi mesajlar arasında fazladan gecikme istemek için meşgul bir düğüm tarafından gönderilmektedir. CAN standardı tarafından belirlenen merkezi bir koordinasyon olmadığından düğümler ağa etki etmeden eklenip çıkabilmektedir.CANopen
CAN standardı (ISO11989) OSI katmanlarını 1 ve 2 olarak tanımlar. Fakat pratikte mühendislere büyük yardımı dokunan donanım (CAN kontrolleri) tarafından işlenir. Ancak CAN tabanlı esnek ve yüksek derecede yapılandırılabilir gömülü ağ, daha yüksek katman protokolü kullanılmadan mümkün değildir ve CANopen varolan çözümlerden biridir. CANopen bir dizi aygıt ve uygulama profillerini belirtir. Aygıt profilleri mantıksal bir cihazın arayüzünü, uygulama profilleri ise bir dizi sanal cihaz arayüzünü belirtir. CANopen aygıtları bir veya birkaç sanal aygıt sağlayabilir. Aynı profil setini uygulayan cihazlar kısmen veya tamamen değiştirilebilir. Bu CANopen aygıtlarının esnek entegrasyonuna izin verir ve birden fazla aygıt arasında uyumlu çalışabilmeye ve değiştirilebilmeye imkân tanır.Her CANopen aygıtı bir Nesne Sözlüğü (OD) tarafından tanımlanır. Bir OD her biri 16 bitlik bir dizin tarafından ele alınan nesnelerin bir grubunu tanımlar. Her nesnedeki verinin özgün unsurlarına erişim sağlamak için 8 bitlik bir alt dizin kullanılır. OD ağda aygıtı ve davranışını tanımlayan bütün parametreleri kapsar. Her alt dizin Nesne Adı, Adı, Türü, Nitelik, M / O ile tanımlanan bir nesneyi gösterir. Nitelik nesne erişim haklarını tanımlarken M/O bu hakların zorunlu mu yoksa isteğe mi bağlı olduğunu belirler.
CANopen, ağ yönetimi, zamanlama, senkronizasyon ve acil durumlarla başa çıkma gibi farklı hedeflere ulaşmak için birkaç iletişim nesnesi tanımlar. Fakat en hayati iletişim nesneleri Servis Veri Nesnesi (SDO) ve İşlem Veri Nesnesidir (PDO). SDO, bir düğüme, dizinini ve alt dizinini bilen bir başka aygıttaki OD nesnelerine okuma ve / veya yazma erişimi sağlar. Bu durumda, ilk düğüm alıcı ve hedef aygıt sunucu olur. PDO gerçek zamanlı veri transferi için kullanılır. SDO’da bir düğüm nesneyi okuma veya yazma talebinde bulunurken, PDO’da veri belirli aralıklarla ya da bir olay tarafından tetiklenmesiyle yayınlanır.
Deneysel Kurulum
Bütün deneylerde, fabrika standartlı Renault Twizy 80 kullanıldı. Twizy sürücüyle birlikte iki kişilik kompakt elektrikli ve dört tekerlekli araçtır. Twizy’e monte edilmiş olan motor kontrol ECU, elektrikli araçlar için sistem bileşenleri ve motor kontrolleri üreten Sevcon adlı şirket tarafından üretilmektedir. Twizy’e monte edilen asıl model bir Sevcon Gen4 kontrollerdir.Twizy yazılımında değişiklikler yapmak için OVMS’ye direkt erişim sağlayan ek bir arka koltuk bilgisayarıyla donatılmıştır. Alışılmamış bir araç olmasına rağmen Twizy, modern arabalarla benzer sistem mimarisine sahip olduğundan, modern arabaların basitleştirilmiş bir sürümü olarak görülebilir. Bizim çalışmamız için en önemli gereklilik, farklı bileşenler arasında iletişim kurabilmek için bir standart CAN veriyolunun olmasıdır.
Dahili CAN veriyoluna erişimi Yerleşik Tanılama (OBD) portundan sağlanır. Son on yılda arabalardaki ECU sayısının artması göz önüne alındığında, üreticiler araçlarına, teknisyenlere alt sistemlerin durumunu almaları ve hataları belirlemek için yardımcı olması amacıyla kendi kendine teşhis olanağı eklemeye başladılar. OBD ya da daha sık kullanılan tabiriyle OBD-II (Avrupa’da EOBD) standartlaşmış bir arayüz ve hem Birleşik Devletler ’de hem de Avrupa’da sırasıyla 1996’dan ve 2001’den beri yasalarca zorunludur. CAN veriyolu ve eklenmiş sistemlerle etkileşim sağlamak için çeşitli araçlar herhangi bir gereklilik olmadan alınabilir. Biz deneylerimiz için OVMS’yi tercih ettik. Araç açık kaynaklı, açık donanımlı ve GPRS/GSM modülüyle, bir GPS ve aygıtı yapılandırmaya izin veren bir seri port ile donatılmıştır.
Bu araç aslında orijinal olarak üst düzey bir elektrikli araç olan Tesla Roadster sahipleri tarafından geliştirilmiştir. Araç, kullanıcının araba bataryasının durumunu, en son bilinen GPS konumunu gözlemlemeye ve kapıların kilit durumu ya da ısıtma sistemi gibi arabanın bazı özelliklerini akıllı telefonundan kontrol etmesine olanak tanımaktadır. Bir USB ya da Bluetooth adaptörüyle kıyaslandığında, OVMS CAN veriyoluyla etkileşim menzilini hücresel ağ kullanarak uzatmaya imkân tanıyor. Dahası, OVMS’nin açık kaynaklı doğasından dolayı kaynak kodu çevrimiçi ve açık olarak erişilebilir[12]. Biz bunu hem Twizy’nin dahili sistemlerinin nasıl çalıştığı hakkında bilgi sahibi olmak için, hem de bir deneysel platform olarak kullandık.
OVMS modülünün üzerindeki bir seri bağlantı noktasının varlığı göz önüne alındığında, arka koltuk bilgisayarını deneylerimizi hızlandırmak ve GSM sinyal alımına bel bağlamaktan kaçınmak için Wi-Fi vekil sunucusu olarak kullandık. İkisi arasındaki bağlantı bir USB’den RS-232 adaptörüyle yapıldı. Bu kurulumda modül çıkış mesajlarının hücresel ağ yerine seri porttan gönderildiği hata ayıklama modunda başlamaya ihtiyaç duymaktadır. Bu, bizim arka koltuk bilgisayarına Wi-Fi yoluyla bağlanmamıza ve OVMS’ye seri port yoluyla direkt olarak mesaj yollamamıza olanak tanıdı. Seri terminal uygulamasıyla çalıştırmaktansa C’de OVMS Kontrolleri adında, arka koltuk bilgisayarında kurulu bir program geliştirdik. Bu bizim modül ile iletişimi otomatikleştirmemize ve aksi halde zaman isteyen ve gereksiz olacak görevleri yapmamıza imkân tanıdı.
Seri porta ek olarak, kişi OVMS ile kısa mesaj yoluyla veya internet aracılığıyla mevcut mobil uygulamaları kullanarak etkileşim sağlayabilir (iOS ve Android). Mobil uygulamaları kullanırken modül, OVMS ve alıcı arasındaki komutları iletmek için internet vekil sunucusu olarak hareket eden kamuya açık bir sunucuya bağlanır. Bir varsayılan sunucu kolaylık için Tesla Motors Club tarafından barındırılmaktadır. İnternet üzerinden giden mesajlar Base64 kodlama şeması kullanır ve RC4 akış şifresiyle şifrelenir [13]. Gecikmeyi azaltmak ve daha yüksek derecede bir esnekliğe sahip olmak için biz kendi sunucumuzu yerel olarak harekete geçirdik. Proje esnasında OVMS için birkaç yeni özellik geliştirdik. Bu özellikleri uzaktan kullanmak için yeni bir web arayüzü ve OVMS Android uygulamasının özel bir sürümünü geliştirdik. Bu iki arayüzü kullanarak modüle kolaylıkla akıllı telefonlardan ve tarayıcı aracılığıyla standart bilgisayarlardan erişilebilir.
Güvenlik Açıklarından Yararlanma
Önceki bölümde belirtildiği gibi Twizy’e ait ana ECU Sevcon Gen4 kontrolleridir. Şimdi bunun mimarisinden ve ana yapılandırma parametrelerine erişimi nasıl başardığımızdan bahsedeceğiz. Sevcon, Gen4 CANopen’ı daha yüksek katman protokolü olarak kullanır ve bazı nesnelerin kimlik doğrulama düzeyi olmadan kullanılmasını önleyen farklı erişim hakları seviyelerini belirtir. Sevcon Gen4’ün parametrelerinin ayarlanması (Sevcon Gen4 kullanım kılavuzunu inceleyiniz ) nesnelerle ilişkili değerlerin okunması ve yazılmasıyla yapılır[14]. Bu amaçla ilgili sık kullanılan araçlar tescilli bir bilgisayar yazılımı ya da profesyonel bir el aygıtıdır. Bunun yanı sıra; CANopen protokolüyle iyi anlaşılmışsa ve etkili kullanılırsa işlemler data tabloları manuel olarak değiştirilerek de yapılabilir. Erişilebilirliğin 5 seviyesi ve her seviye için farklı giriş kimliği vardır. Erişim seviyeleri Tablo 1’de listelenmiştir. İlk seviyede kullanıcı kimlik doğrulamasından geçmez ve sadece çok sınırlı nesne kümesine erişim sağlayabilir. Erişilen seviye ne kadar yüksek olursa o kadar fazla nesne manipüle edilebilir (örnek: yapılandırma değişti). Kimlik doğrulama, yükü kimlik doğrulama nesnesinin ID’sini ve şifresini içeren bir veri penceresi gönderilerek yapılabilir. Sonuç olarak doğru şifreye sahip herhangi biri Sevcon Gen4’Ün OD’sinin tamamına erişim sağlayabilir.Erişim Seviyeleri
Erişim Seviyesi | Kullanım Şekli |
1 | Kullanıcı (varsayılan) |
2 | Servis Mühendisi |
3 | Satıcı |
4 | Üretici Mühendislik |
5 | Sevcon Mühendislik |
Brute-Force Saldırı (Kaba Kuvvet Saldırısı)
Sevcon Gen4’ü serbestçe yeniden yapılandırabilmek için kişi, tercihen yüksek seviyeye ait (örnek: 4 ya da 5) doğru şifreye erişim sahibi olmalıdır. Diğer bütün korumalı sistemlerde olduğu gibi konu şifre bulmaya geldiğinde brute-force şifre kırma yöntemlerinin en basitidir. Fakat uygulaması ne kadar kolay olsa da sadece kısa şifrelere uygulandığında elverişli bir yöntem olmaktadır. Sevcon Gen4’ün şifresinin sadece 2 bit uzunluğunda olduğu bilindiğinde bu tercih edilen bir yaklaşımdır. ECU’da bütün 65536 kombinasyonu denemek için OVMS’ye gerekli rutinleri uyguladıktan sonra programı çalıştırabildik. Bütün erişim seviyelerinin giriş kodlarını bulmak için brute force rutini yaklaşık 11 saat sürdü. Bu oldukça hızlı olmasına rağmen, OVMS ile arka koltukta çalışan bilgisayardaki brute force yordamımız arasındaki bağlantı nedeniyle bir gecikme yaşandı. Dahası, bütün erişim seviyelerini tek seferde kontrol ettik, başka bir deyişle, şifre alanını 5 kere test ettik.Kavramın İspatı
Sevcon Gen4’ün teknik belgelerini çalıştıktan ve bütün erişim seviyeleri için olan şifreleri elde ettikten sonra birkaç deney belirledik. Sevcon Gen4 için özel olarak değil, tüm Sevcon ürünleri için genel bir format olan yalnızca bir ana OD'ye erişebildik. Ana OD, tüm sözlükler ve sınırlamaları hakkında bilgi içeren bir referans nesnesidir. Twizy için hangi parametrelerin kullanımda olduğu belirlemek için kontrollerin yapılandırmasını okuduk. Daha sonra bu parametreleri aracın davranışını ne kadar etkilediğini gözlemlemek için birer birer değiştirmeyi denedik.Motorda ince ayar yapmak ve sistemin davranışını değiştirmek için dikkate alınacak birçok parametre var. Burada, arabayı otonom olarak hareket ettirmemize imkân veren iki parametre sunulmaktadır..
Gaz Kontrolü: Varsayılan olarak Sevcon Gen4 gaz pedalının pozisyonundan gelen voltajı elektrik motorunun güç çıkışını kontrol eden ölçülü bir sayısal değere çevirir. Kontrollerin bütün parametrelerine erişime sahip olarak, bu çevrim fonksiyonunu aracın varsayılan davranışını manipüle etmek için değiştirebiliriz. Şekil 3’de gösterildiği üzere herhangi bir giriş voltajını istediğimiz sayısal değer olarak çevirmek için fonksiyonun parametrelerini değiştirdik. Bu örnekte giriş voltajı (yatay eksen) ne olursa olsun gaz (dikey eksen) için çıkış değeri yüzde 70lerdedir. Varsayılan çevrim çizgisi mavi, değiştirilmiş çevrim çizgisi ise kırmızı renkte. Bu modifikasyon gaz pedalına basmayı etkili bir şekilde simule eder ve aracın hızlanmasında kullanıcının kontrolünü ortadan kaldırır.
Boolean düğmesi
İleri | Geri | Davranış |
0 | 0 | Tork yok |
0 | 1 | Negatif tork |
1 | 0 | Pozitif tork |
1 | 1 | İzinsiz |
Vites Durumu: Birlikte aracın vites durumunu tanımlayan iki Boolean (1 ya da 0 mantığı) düğmesi belirledik. Biri ileri yönde karşılığa denk gelirken diğeri geri yönde karşılığa denk gelir. Varsayılan olarak bu değerler direksiyonun yanındaki fiziksel düğmelerden ayarlanır. Tablo 2’de Sevcon Gen4’ün dahili mantıksal fonksiyonunu ve bunların, aracın sürüş modunu nasıl belirlediğini gösteriyor (örneğin tork, pozitif, negatif, natural).
Programlama yoluyla bu değerleri ayarlayarak aracın vites durumunu otomatik olarak değiştirebildik ve bunun sonucunda da aracın sürüş yönünü değiştirebildik.
Fren: Bir önceki bahiste tarif edilen teknik frende de kullanılabilir. Motora yalnızca negatif tork uygulanarak araç yavaşlayacaktır. Biz bunu deneyimizde araç yavaş hızda, 30 km/s’nin altında giderken aracı durdurmak için kullandık. Negatif tork yüksek hızda giderken aracı durdurmaya yeterli olmayacağından bu durum yüksek hızda test edilmedi. Bir başka endişe ise priz frenleme olarakta anılan bu metodun çok fazla ısı üretmesi ve motorun işleyişini tehlikeye atması [15].
Uzaktan Kumanda
Bu modülü kullanarak pratikte neyin uygulanabilir olduğunu gösterebilmek için yukarıda belirtilen exploitleri (sömürmeleri) doğrudan OVMS modülünde uygulamaya karar verdik. Aracın dinamikleri üzerinde daha kolay kontrol sahibi olmak için OVMS alıcısına birkaç klavye kısa yolu uyguladık. Deneme aşamasında tespit edilen güvenlik açıklarından yararlanarak, modül aracı uzaktan ve otonom bir şekilde ileri ve geri yönde sürebilir. İstemci tarafından gönderilen ileri ve geri gaz değerleri, Sevcon Gen4 tarafından kabul edilebilir maksimum gaz değerinin yüzdesi olarak ifade edilir. Gecikme ve güvenilirlik sorunlarından kaçınmak için rutinleri direkt olarak OVMS’de uyguladık. İstemci uygulamaları (Android ve Web uygulaması) basit komutları göndermek için tek başına kullanıldı.Android ve Web Uygulaması: Senaryomuzu canlandırmak için iki istemci uygulaması uygulandı: Android mobil uygulaması ve bir web uygulaması. Geliştirdiğimiz uzaktan kumanda özelliklerini de içermesi için OVMS tarafından sağlanan mevcut mobil uygulamayı modifiye ettik. Ayrıca istemci uygulamalarının özel komutlarını kabul etmesi amacıyla OVMS donanım yazılımını da modifiye ettik.
2. TARTIŞMALAR
Bu bölümde potansiyel saldırı senaryolarını sunacağız, çözümler önereceğiz ve gelecekteki uygulamaları tartışacağız. İlk olarak, Sevcon Gen4’e sadece araba çalışırken erişim sağlanabildiğini not etmekte fayda var (örneğin kontak çalışırken). Dolayısıyla, bir saldırı sadece araba çalışır durumdayken mümkün. Twizy’nin pencere ya da kapı kilitleri olmadığı ve torpidonun içindeki OBD-II portuna özgürce erişilebildiği göz önüne alındığında OVMS gibi bir sistemi bir saldırganın sahibi fark etmeden kurması kolaydır. Sevcon Gen4 bazıları Twizy’de kullanılmayan birçok kritik güvenlik araç fonksiyonunu merkezde toplamaktadır.. Örneğin, ana OD direksiyon servo motorları ve fren ışıklarını yöneten nesnelerin varlığını gösteriyor. Fakat Twizy’nin yardımlı direksiyonu olmadığından bu özelliklerin güvenlik açıklarından yararlanılamaz. Miller ve arkadaşlarının yaptığı çalışmada gösterildiği gibi durum böyle olsaydı, direksiyon üzerinde tam kontrol mümkün olurdu ve saldırgan yüksek hızlarda tehlikeli dönüşler yapabilirdi ya da diğer araçlarla ve yoldaki unsurlarla çarpışabilirdi. Ayrıca bütün Sevcon Gen4 kontrolleri için şifrenin aynı olduğunu gözlemledik. Sonuç olarak bir kere CAN veriyoluna bağlandığında saldırganın, aracın alt sistemleri üzerinde kontrol sağlamasına engel olacak güvenlik önlemleri yok. Yerleşik sistemin güvenliği sadece saldırganın motor kumandasına erişmek için şifreyi bilip bilmediğine dayanıyor.Mümkün Saldırı Senaryoları: Sistemimizin potansiyelini canlandırmak ve modülün bazı kullanım örneklerini göstermek için birkaç saldırı senaryosu tarif edildi.
Şu saldırı senaryolarını tanımladık:
● Arabayı ileri ya da geri gitmeye zorlamak.
● Hızı sınırlamak (örnek: otoyolda çok yavaş hız).
● Aracın motoruna zarar vermekle sonuçlanacak emniyetsiz motor ve voltaj parametreleri ayarlamak.
● Motor yönünü rastgele değiştirmek.
● Sürücünün yanlış manevra yapmasına neden olacak şekilde kandırarak yanlış veri göstermek için gösterge paneliyle etkileşime girmek.
● Gaz pedalı girişinin dönüştürme fonksiyonunu değiştirmek ya da tersine çevirmek.
Tasarlanan saldırı senaryoları saldırgan tarafından uzaktan aktif edilebilir ya da hız veya dahili GPS’den alınan konum bilgisi üzerine modül tarafından otomatik tetiklenebilir(örneğin önceden belirlenmiş bir bölgeyken ya da hız belirli bir değerin üstündeyken).
Muhtemel Çözümler
Özellikle CAN veriyolu üzerinde olmak üzere otomotiv ortamındaki güvenlik problemlerini çözmek için çok fazla deneme yapıldı. Çözümlerin önemli bir kategorisi kimlik doğrulama için kriptografiyi öneriyor. Örneğin önerilen çözümler aslında oldukça etkilidir [10][11][16]. Fakat yine de, ECU’larda kullanılan bütün işlemciler bunları kapsayacak kadar güçlü değil. Bu sorunu çözmek için Donanım Güvenliği Modülleri (HSMs) önerildi. HSM’nin asıl amacı ECU’nun donanımında sadece şifreleme amaçlı yer almaktı [7]. Her ne kadar HSM güvenlik yüküyle başa çıksa da bu çok daha yüksek maliyetlere yol açan yeni ve gelişmiş ECU tasarımı gerektirmektedir. Uzun vadeli çözüm için kriptografik çözümler, en iyi adaydır fakat bu geçiş yakın zamanda gerçekleşmeyecektir. Bu nedenle mevcut araçlara rahatça entegre edilebilecek uygun çözümler bulmak önemlidir.Twizy ve Gen4 hakkında bahsetmeye değer olan konu brute-force saldırıları engelleyen mekanizmanın yetersiz olmasıdır. Örneğin Miller ve arkadaşlarının yaptığı çalışmalarda Toyota Prius’un zaten challenge-response kimlik doğrulama protokolü kullandığı ve saldırganın sisteme brute-force denemesi yaptığında on denemeden sonra başarısız olduğu gösterilmiştir.
Diğer bir çözüm kategorisi, tıpkı bilgisayar ağları için Saldırı Tespit Sistemlerindeki (IDSs) gibi ağdaki anormallikleri tespit etmeye dayanmaktadır. Örneğin Asaj ve arkadaşları zamanı ve frekansı kullanırken .Brosterandve arkadaşları ise mesajların entropi anormalliklerini tespit ve gözlem için kullanılıyor. Bildiğimiz kadarıyla sadece anomali bazlı çözümler ağ yapısında herhangi bir ek değişiklik gerektirmeden CAN veriyolu üzerindeki saldırıyı etkili bir şekilde tespit edebilir ve muhtemelen tepki verebilir.
Araçlarda güvenilir bir güvenlik sağlamak için geçici bir çözümün yalnızca anormallikleri ve imza tabanlı saldırıları tespit etmekle kalmayıp aynı zamanda aracın ve ECU'ların mevcut durumunu da aktif olarak denetleyen daha karmaşık IDS uygulamasına dayandığını düşünüyoruz. Örneğin Twizy’de Gen4’ün yapılandırma OD’lerine yazma erişimine ilişkin bir gözlem şüpheli bir olayı haber vermelidir. Eğer bu araç hareket ederken meydana gelirse, IDS buna tepki verebilir ve sürücüye olay hakkında bilgi veren bir alarmı tetikleyebilir.
Diğer Uygulamalar
Daha önce gösterdiğimiz üzere, Sevcon Gen4 kontrollerindeki bu güvenlik kusurlarının yeni uygulamaların geliştirilmesine öncülük etmesi öngörülebilir. Geliştirmelerimizle desteklenmiş OVMS'yi kullanarak Twizy makul bir maliyetle otonom bir araca dönüştürülebilir. Ek sensörler (örnek: Lidar) ve aktüatörler (örnek: fren ve dönüş için) gibi başka ekipmanlar da tam fonksiyonel otonom bir araç yapmak için gereklidir. Bu ön çalışmada bizi otomatikleştirilmiş sürüş alanında bir adım daha öteye götürecek olan ve bir araçta en önemli sistem olan güç aktarım sistemlerinin elektronik olarak kontrol edilebileceğini kanıtladık.SONUÇ VE GELECEK ÇALIŞMALAR
Bu makalede bir aracın dahili sistemleriyle etkileşime girebilen ve araca uzaktan erişim sağlayabilen bir deneysel platformu sunduk. Bu platform bir Renault Twizy 80, bir Açık Araç Gözlem Sistemi (OVMS) ve iletişim arayüzü olarak kullanılan bir Android mobil uygulamasından oluşuyor. Bu çalışmanın amacı, taşıtın kritik güvenlik sistemlerini uzaktan kontrol etmekti. Aracın davranışını manipule etmek amacıyla OVMS’yi kullanarak Sevcon Gen4 kontrollerine erişim sağladık ve yeniden yapılandırdık. Satışa hazır donanımla, aracın işletme moduyla etkileşime girmemize izin veren hayati motor parametrelerini kontrol etmenin mümkün olduğunu gösterdik (örnek: aracı yavaşlatma veya durdurma, yürürken vitesi tersine çevirme). Bunu yaparak çalışır durumdayken aracın birçok parametresini exploit etmemize ve değiştirmemize müsaade eden eksik koruma mekanizmalarını fark ettik (örnek: vites, gaz, hız sınırlaması vb.). Canlandırma amacıyla araçla uzaktan etkileşim kurabilecek bir web arayüzü ve Android mobil uygulaması hayata geçirdik. Gerçek yaşam koşullarında aracın davranışını uzaktan değiştirmenin etkilerini canlandırdık ve bu tür saldırıların arkasındaki tehlikelere dikkat çektik.Gelecek çalışmamız fren ve dönüş için sensörler ve aktüatörleri de içeren ek ekipmanları araca eklememizden oluşacak. Nihai amacımız düşük maliyetli tamamen bağlantılı ve otomatik bir elektrikli araç üretmektir.
Kaynakça
[1] I. Studnia, V. Nicomette, E. Alata, Y. Deswarte, M. Kaˆaniche, and Y. Laarouchi, “Survey on security threats and protection mechanismsinembeddedautomotivenetworks,”inDependable Systems and Networks Workshop (DSN-W), 2013 43rd Annual IEEE/IFIP Conference on. IEEE, 2013, pp. 1–12.
[2] M. Wolf, A. Weimerskirch, and T. Wollinger, “State of the art: Embedding security in vehicles,” EURASIP Journal on Embedded Systems, vol. 2007, no. 1, p. 074706, 2007.
[3] P. Kleberger, T. Olovsson, and E. Jonsson, “Security aspects of the in-vehicle network in the connected car,” in Intelligent Vehicles Symposium (IV), 2011 IEEE. IEEE, 2011, pp. 528– 533.
[4] K. Koscher, A. Czeskis, F. Roesner, S. Patel, T. Kohno, S.Checkoway,D.McCoy,B.Kantor,D.Anderson,H.Shacham et al., “Experimental security analysis of a modern automobile,” in Security and Privacy (SP), 2010 IEEE Symposium on. IEEE, 2010, pp. 447–462.
[5] S.Checkoway,D.McCoy,B.Kantor,D.Anderson,H.Shacham, S. Savage, K. Koscher, A. Czeskis, F. Roesner, T. Kohno et al., “Comprehensive experimental analyses of automotive attack surfaces.” in USENIX Security Symposium, 2011.
[6] R. Moalla, H. Labiod, B. Lonc, and N. Simoni, “Risk analysis study of its communication architecture,” in Network of the Future (NOF), 2012 Third International Conference on the. IEEE, 2012, pp. 1–5.
[7] C. Miller and C. Valasek, “Adventures in automotive networks and control units,” in DEF CON 21 Hacking Conference. Las Vegas, NV: DEF CON, 2013.
[8] “A survey of remote automotive attack surfaces,” Black Hat USA, 2014.
[9] J.Iban˜ez-Guzman,C.Laugier,J.D.Yoder,andS.Thrun,“Autonomous driving: Context and state-of-the-art,” in Handbook of Intelligent Vehicles. Springer, 2012, pp. 1271–1310.
[10] A. Van Herrewege, D. Singelee, and I. Verbauwhede, “CANAuth-a simple, backward compatible broadcast authentication protocol for CAN bus,” in ECRYPT Workshop on Lightweight Cryptography 2011, 2011.
[11] B. Groza, S. Murvay, A. Van Herrewege, and I. Verbauwhede, “Libra-can: a lightweight broadcast authentication protocol for controller area networks,” in Cryptology and Network Security. Springer, 2012, pp. 185–200.
[12] Open vehicles monitoring system. [Online]. Available: https: //github.com/openvehicles [13] OVMS Protocol Guide, 2013, v2.5.1.
[14] Sevcon Gen4 Applications Reference Manual, 2009, rev 3.0. [Online]. Available: http://www.thunderstruck-ev.com/ Manuals/Gen4 Product Manual V3.0.pdf
[15] C.Richard,WhatisPlug/DynamicBrakingforseriesmotors?, ALLTRAX, jan 2007, technical Note 008.
[16] O. Hartkopp, C. Reuber, and R. Schilling, “Macan-message authenticated can,” in 10th Int. Conf. on Embedded Security in Cars (ESCAR 2012), 2012.
[17] M. Wolf and T. Gendrullis, “Design, implementation, and evaluation of a vehicular hardware security module,” in Information Security and Cryptology-ICISC 2011. Springer, 2012, pp. 302–318.
[18] M. Mu¨ter and N. Asaj, “Entropy-based anomaly detection for in-vehicle networks,” in Intelligent Vehicles Symposium (IV), 2011 IEEE. IEEE, 2011, pp. 1110–1115.
[19] I.Brosterand, A.Burns,“Ananalysablebus-guardianforeventtriggered communication,” in Real-Time Systems Symposium, 2003. RTSS 2003. 24th IEEE. IEEE, 2003, pp. 410–419.
[20] https://motherboard.vice.com/en_us/article/mg79v4/hacking-glossary
[21] S. Jafarnejad, L. Codeca, W. Bronzi, R. Frank and T. Engel, "A Car Hacking Experiment: When Connectivity Meets Vulnerability,"
2015 IEEE Globecom Workshops (GC Wkshps), San Diego, CA, 2015, pp. 1-6.