Akıllı cihazların hızla gelişen dünyasında, güvenlik kritik bir endişe kalır. Nesnelerin İnterneti (IoT) sensörleri ve akıllı ev merkezlerinin tıbbi implantlar ve endüstriyel kontrolörler için ayrıntılı bir incelemesine izin verir ve bu cihazlar kötü niyetli aktörler için giderek daha çekici bir saldırı yüzeyi oluşturur.
Firmaware - Donanımı kontrol eden düşük seviyeli yazılım - tarihsel olarak siyah bir kutu olarak muamele edildi, bağımsız doğrulama için birkaç mekanizma ile (örneğin Mirai botnet, VPNFilter ve IoT-hedepreed yazılım) bugün, araçları ve tekniklerin nasıl uygulandığını araştırıyor.
Ters Mühendislik Nedir?
Ters mühendislik, iç çalışmalarını anlamak için bir cihazın bilgisayarına yerleşmesini içerir - genellikle orijinal tasarım belgelerine veya kaynak koduna erişmeksizin. Akıllı cihaz güvenliği bağlamında, bu işlem, zararlı aktörler tarafından sömürülebilecek gizli özellikleri, güvenlik kusurları ve potansiyel arka kapılarını ortaya çıkarmaya yardımcı olur. Analiz ederek, araştırmacılar güvenlik açıklarını doğrulayabilirler ve genel olarak dayanıklılık iddialarını güçlendirebilir.
Ters mühendislik tek bir etkinlik değil, bir dizi teknik.ETHFLT:0)Stat analizi), devre dışı bırakmadan, devre dışı bırakma ve bellek doğrulama modellerini kullanarak, ağ iletişimlerini ve hafıza erişim modellerini kullanarak, aynı zamanda doğrulayıcıları tespit etmek için bilgisayarları (veya bölümleri) aynı zamanda doğrulayan iki değişkeni karşılaştırır.
Ters mühendislik, donanım güvenliği araştırmalarında derinden kökler barındırıyor.Bunnie (Andrew Huang) gibi öncüler tarafından yapılan erken çalışma, tüketici elektroniklerinin sistematik olarak, aksaklık ve bilgisayar ekstraksiyonu ile tam olarak anlaşılabileceğini gösterdi. Bugün, alan kurulmuş metodolojilerle profesyonel bir disipline olgunlaşmıştır, açık kaynaklı araç zincirleri ve REcon ve sertwear gibi özel akademik konferanslar.
Statik Analiz Temelleri
Statik analiz bir bellekten çıkarılmıştır, bir bilgisayar güncellemesi dosyası veya bir çıkarılabilir çip. ilk kez alınanlar ) ve [[Döneticileri [Döneticileri:0)) ve [Döneticileri, yüksek çözünürlükte bulunan ve/veya kontrol edilenler için (Döneticileri) aşağıdaki gibi yüksek çözünürlükte bulunan bir koda sahiptir.
ARM için MIPS, RISC-V ve Xtensa mimarlıkları ( IoT'de komon), statik analiz hafıza haritalarını, periferik adres alanlarını anlamak ve hizmet rutinlerini kesmek için genellikle özel senaryolar yazmaktadır.
Dinamik Analiz ve Emulation
Dinamik analiz, kodun gerçekte nasıl işlediğini ortaya koyar.ETHFLT:0)Emulation) gibi çerçeveler ve )QEMU[FLT|D|D|kullanıcı / Windows|[Döneticileri veya sistem-mode)) bir bilgisayar işlemleri sırasında bilgisayar korsanları çalıştırmaya izin verir.
Tam sistem emulation zor olabilir çünkü donanım genellikle tam donanım davranışına bağlıdır (tim, kesme, kayıt düzeni sağlar).Üye Olmayanlar Analizi Aracın (FAT)[FLT][Döneticileri ve SoC, yüksek sadakatle ilgili yazılım modelleriyle bir araya getirir.|)Firmware Analysis Toolkit (FAT)[FLT)[FLT)[FLT)[FLT)[D)[D)[D)[D)
Firmaware Ters Mühendislik Adımları
Tipik bir bilgisayar ters-mühendislik akışı, önceki bir dizi iyi tanımlanmış aşamalara kırılabilir.Her aşama daha önce inşa edilir ve buerasyon yeni bilgiler ortaya çıkmaktadır.
1. Firmaware Ekstraksiyon
Bir bilgisayar imajı elde etmek ilk ve sık sık en zorlu adımdır. Ortak kaynaklar şunları içerir:
- [FONT=0)Uygun-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
- [FONT=0)Yön flaşları [Dönemliler, SPI programcıları, JTAG/SWD debug arayüzleri veya |Döneticileri kullanarak bellek fişlerini okutmak için].
- [FONT:0)Over-the-air-air trafiği[Dönetici:0]Man-in-the-Middle (MITM) proxyleri aracılığıyla yakalanan veya ağ üzerinden güncelleme paketlerini ele alarak.
- [FONT:0]Bootloader çöpleri [Döntgen: 1] U-Boot veya benzer bootloaders'den, debug konsollarını kullanarak çıkar.
Görüntü elde edildikten sonra kriptografik bütünleme kontrolleri - imzalar veya çekler gibi - doğrulanmış veya atılmalıdır. Araştırmacılar genellikle daha fazla analize izin vermek veya değiştirmek gerekir.
2. Statik Analiz
Çekildikten sonra, bilgisayar statik olarak dağıtılır. Bu şunları içerir:
- [FONT:0)Entropy tarama[[Dönder, şifreli veya rastgele görünümlü bölümler tespit etmek için).
- [FONT=0]File sistemi (Dönetici)[Dönetici:0) veya ROMFS, CramFS veya ROMFS görüntülerini izole etmek için.
- [FONT=0)Executable kimlik[[[Dönetici: 1))[[FONT=0)))[[[FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=TR][/FONT=FONT=))
- [FONT:0] URL'leri bulmak için, IP adreslerini, gizli anahtarları ve hata mesajlarını bulmak için sürekli olarak [Dönlendirme ve geri yükleme[[Dönlendirmeler:0).
Benzerlik Ghidra veya IDA Pro. Araştırmacılar, her modülün amacı ile yapılır ve Linux'u gömülü olarak yapılandırır.(0)busybox[FLT] 1 ikili genellikle zengin bir komut kaynağı ve dosya-manipulation kusurları oluşturur. Proprietary RealTime İşletim Sistemleri (RTOS)
3. Dinamik Analiz
Bir emilen ortamdaki bilgisayarla koşmak gerçek zamanlı davranışı gözlemleyebilmektedir. Tipik dinamik analiz adımları şunları içerir:
- [FONT:0)Boot-up serisi izleme[[[Dönetici: 1 ) - log çıktı izlemek, ağ hizmeti başlar ve dosya sistemi akarlar.
- [FONT:0]Traffic Interception[[Dönetici:0] Bir sanal ağ arayüzü (örneğin QEMU'da) HTTP, MQTT, CoAP ve diğer IoT protokolleri kullanarak.
- [FONT:0]Fuzning[[[DÜT:1) – maruz arabirimlere (web formlar, komut enjeksiyon noktaları, ikili ⁇ s) maruz kalma veya hafıza yolsuzluklarını tetiklemek için malformasyon girişleri gönderiyor.
- [FONT=0)Memory izleme[[[Dönetici:0)Köpücü hataları tespit etmek için, aşırı akışlar veya ücretsiz desenlerden sonra kullanın.
Emulation platformları like aFRT:0)Firm-AE) Bu adımların birçoğunu otomatikleştirin, yüzlerce bilgisayar örneği hızla değerlendirmelerine izin verebilir. Ancak, özel donanıma özel periferiler (örneğin, sensör I2C otobüsleri, özel radyo yığınları) donanıma veya manuel stubbing gerektirir.
4. Vulnerability Tanımlanabilir
Her iki statik ve dinamik analizin amacı, kullanılabilir zayıf yönleri belirlemektir. Common kategoriler şunları içerir:
- [[Dönemli sırları [Dönder: 1)) - gömülü şifreler, API jetleri veya kriptografik anahtarlar (önemli veya yapılandırma dosyalarında bulunur).
- [FONT:0)Insecure protokolleri[[Dönemli Telnet, düz metin HTTP, varsayılan kimlikler veya zayıf şifreleme (örneğin, DES, MD5, şifre olarak kullanılır).
- [FONT:0]Memory yolsuzluk[[Dönem: 1))[Dönder:))[[Döncüler, tam akışlar, ve ağ bağlantılarındaki aşırı akışlar.
- [FONT:0]Command enjeksiyonu[[DÜT:1] - teşhis edilmemiş kullanıcı girişi doğrudan doğruya doğrulanmıştır: “Ücretsiz kullanıcı girişi, [[Üyetim: 0: 5) veya kabuk komutları.
- [FONT:0]Firmware update vulnerabilities[[Dönetici: 1) - teslim edilmemiş veya yetersiz olarak paylaşılan güncellemeler, geri bildirim hataları veya bütünlük kontrolü eksikliği.
- [FONT:0]Privilege escalation[[Dönetici: 1 ) - kritik dosyalarda zayıf izin ayarları, setuid binerler veya zorunlu erişim kontrolleri (SELinux, AppArmor).
Otomatik statik analiz araçları (örneğin, [[Dönetici:0)Firmwalker[Dönetici:2)EmbKind), [[Dönetici[Dönetici[Dönetici: 4) düşük kaliteli meyve verebilir, ancak manuel inceleme karmaşık mantık kusurları için gereklidir.
5. Mitigation Development
Güvenlikler tespit edildiğinde, bir sonraki adım, ürün üreticileri ile çalışan araştırmacılar için, bu genellikle şunları içerir:
- [FONT=0)Binary patching[[Dönetici: 1)) – Bir güvenlik kusurunu düzeltmek için iki bileşen değiştirmek (örneğin, bir şifreyi değiştirmek, giriş doğrulamayı eklemek).
- [FONT:0]Kod- Seviye düzeltmeler[[Dönetici: 1 ) - kaynak kodu mevcutsa, kök nedenlerini karşılayan bir yama sağlar.
- [FONT:0]Configuration zorlaştırma[Dönetici: 1 ) - güvenli varsayılan varsayılanlar, rahatsız edici debug arabirimleri (JTAG, seri konsolu) ve HTTPS'yi teşvik etmek.
- [FONT:0) Güvenlik güncelleme önerileri[[[Dönetici: güvenli çizme ve sertifika pinning.
Üreticiler ayrıca aritFLT:0)Secure Development Lifecycle (SDL))'i, düzenli bilgisayar güvenlik değerlendirmelerini, tehdit modellemesini ve post-release monitoring. Ters mühendislik bulguları genellikle bir sonraki nesil donanım için gelişmiş güvenlik gereksinimlerine beslemeye teşvik edilir.
Güvenlik için Ters Mühendislik Faydaları
Ters mühendislik, bilgisayar güvenliğini geliştirmek için birkaç avantaj sağlar. Basit kırılganlık algılamasının ötesinde, tüm ürün hatları ve endüstri uygulamalarını etkileyebilecek daha derin mimari öngörüler verir.
Proaktif Vulnerability Discovery
Bir ürün kitlesel dağıtıma ulaşmadan önce, güvenlik araştırmacıları kötü niyetli aktörlerin onları istismar etmeden önce güvenlik açıklarını tespit edebilir ve yardımcı olabilirler.Bu proaktif yaklaşım, ihlalden sonra olay yanıtlarından çok daha uygun. Örneğin, [[Ücretsiz:0)CISA “ Tasarım tarafından güvenli”[FLT 1: 1 inisiyatifi, güvenlik araştırmacılarıyla güvenlik açıklamalarını ve çalışmalarını tersine çevirerek yayınlamaya teşvik eder.
Satış veya Güvenlik Davalarının Doğrulaması
Pazarlama malzemeleri genellikle “askeri-düşük şifreleme”, “banka düzeyinde güvenlik” veya “tamperyatik bir anahtar” gibi özelliklere sahiptir.Bu doğrulama, gerçek güvenlik kontrollerini doğrulamak için bir hedef yöntemi sunar.
Tedarik Zinciri Güvenliği
Akıllı cihazlar genellikle üçüncü taraf bileşenleri içerir - örneğin kablosuz çipler, ses kodlar veya kriptografik kütüphaneler - ki bu, son ürün üreticisi tarafından kullanılan kablosuz bir çipe geri dönülebilir. Ters mühendislik, sadece iki taraflı bluza eklenerek tespit edilebilir.Örneğin, 2021'de araştırmacılar, SEO'da )
Güvenli Tasarım
Ters mühendislik sadece kusurları bulmakla ilgili değildir; aynı zamanda neyin işe yaradığını da ortaya çıkarabilir. İyi satın alınan donanım (örneğin Apple HomeKit veya Google Nest cihazları), güvenlik araştırmacıları etkili tasarım modelleri belgeleyebilir: ayrıcalıklı ayrılıklar, en az saldırı yüzeyi, sağlam güncelleme mekanizmaları ve donanım destekli anahtar depolama.Bu modeller daha sonra endüstride kabul edilebilir.
Meydanlar ve Etik Bakışlar
Ters mühendislik değerli bir araçtır, önemli zorluklar sunar - teknik, yasal ve etik. Sorumlu uygulayıcılar bu durumu zarar ve saygı entelektüel mülkten kaçınmak için dikkatle hareket ederler.
Teknik Meydanlar
Firmaware ters mühendislik, montaj dillerinin derin bilgilerini (ARM, MIPS, RISC-V, x86, 8051, MSP430), RTOS içleri ve donanım arabirimleri. Modern donanım giderek daha obfuscated - şifreleme, çekler kullanarak, analog giriş sensörlerini veya radyo-tabugging hilelerini kullanarak, araştırmacıların ilk ters yazılımları tersine çevirmelerini gerektiren özel talimatlar kullanarak.
Yasal Çerçeveler
Ters mühendislik ekipmanının yasallığı, ABD'de, Dijital Binyıl Copyright Yasası (DMCA) güvenlik araştırmasına muafiyetleri içerir, ancak sınırlar hala Avrupa Birliği'nin ticaret sırlarının korunmasıyla ilgili olarak tartışılmaktadır (2016/943), bazı üreticilerin ABLA'ları için ters mühendisliklerini yasaklamaktadır.
Bununla birlikte, artan sayıda mahkeme, kamuya ait güvenlik araştırmalarının faydalarını tanıdı.TheurFLT:0) Güvenlik Araştırmacısı Güvenli Liman) tarafından önerilen yazılımcı Alliance) Google, Apple ve Intel dahil olmak üzere birçok büyük üretici için yasal korumalar için savunuyor.
Etik Sorumluluklar
Etik ters mühendislik birkaç temel ilkeyi takip eder:
- [FONT:0]Obtain the Hardware yasal olarak[DÜT:1) - resmi kanallar aracılığıyla, kendi sahip olduğunuz cihazlardan veya açık izinle.
- [FONT:0]Handle açıkları sorumlu olarak[Dönetici: 1) – ilk önce satıcıya açıklamalarını ve herhangi bir kamu açıklamasından önce bir yama için makul bir süre izin verin.
- [FONT:0) Silahsız bulgular değil [[Dön 1: 1] – Son kullanıcılara zarar verebilecek veya dağıtabilecek sömürü kodu asla geliştirmez.
- [FONT=0]Respect mahremiyet[[DÜT:1] - Cihazın üzerinde saklanabilecek veya analiz edilmemiş kullanıcı verilerini (örneğin, ses kayıtları, konum tarihi) güvenlik analizi için kesinlikle gerekli olmadıkça ve onayınız var.
- [FONT:0) Belgeler ve açıkça iletişim[Dönemli: 1 ) - diğer araştırmacılara ve satıcılara güvenlik sağlamanın bir şekilde metodoloji ve bulguları yayınlar.
Üreticilerle işbirliği, tersine çeviri açıklama yerine, çoğu zaman en iyi sonuçları verir. Birçok IoT güvenlik gelişimi - zorunlu güvenli boot, otomatik güncellemeler ve sertifika pinning gibi - yapıcı ters mühendislik araştırma ortaklıklarından kaynaklanmaktadır.
Gerçek Dünya Vaka Çalışmaları
TPLI-posta
2019 yılında, araştırmacılar, popüler bir TP-Link akıllı fişin ve cep telefonu arasındaki yerel iletişimin, aynı Wi-Fi ağı üzerindeki bir saldırganı tersine çevirerek, aynı Wi-Fi ağı üzerinde bir araya getirdiler.
Tıbbi İmplant Vulner yükümlülükleri
Güvenlik araştırmacıları, McAfee[[DÜT:1) ve [[Dönetici:2)IOActive) ters motorlu insülin pompa ve hız makinesi, uzaktan saldırgan bir radyo bağlantılarını değiştirebileceğini ortaya koydu.Bu, FDA'nın tıbbi cihazlarda kablosuz güvenlik kurallarına uyması ve daha sonra modellerde şifreleme ve karşılıklı kimlik doğrulamayı benimsemesi için kılavuzları talep etti.
Industrial Controller Rootkit
[FOITON[Dönetici:0)TRITON[Dönetici:0) Havalimanları (Süresel) Kontrollü sistem (Z) Kontrollüler, Sensörleri güvenlik mantığını atlatabilecek özel bir ücret yükü analiz etti - daha sonra savunma stratejileri ve yamalar geliştirmek için kullanılan bir teknik.Bu durum kritik altyapı donanımlarında doğrulanma ve anomali tespiti için gerekliliğini vurguladı.
Firmaware Ters Mühendislikin Geleceği
Alan hızla gelişiyor, araçlama, bilgisayar gücü ve endüstri işbirliğinde ilerlemeler tarafından yönlendiriliyor. Birkaç trend bir sonraki bilgisayar güvenlik araştırmasını şekillendiriyor.
AIAssisted Analiz
Makine öğrenme modelleri - özellikle de büyük derleyici yazılımları üzerinde eğitilmiş olanlar - şimdi kod işlevlerini sınıflandırmak, kırılganlık türlerini tahmin edebilir ve hatta rakiplerin manuel analizlerini tamamen değiştiremeyeceği varsayılan çıktı üretebilir.|Ahlaklar gibi araçlar). ve [[Döneticiler:2An)gr).
Şirketware'in Formal Verification of Firmware
Hükümet ajansları ve akademik laboratuvarlar resmi doğrulamanın kullanımını araştırıyorlar - Yazılımların güvenlik özelliklerini karşıladığını kanıtlıyor - resmi bir modele karşı doğrulanabilir, tersine mühendislik gibi girişimler:0)DARPA HACMS) (Yüksek Sigortalı Cyber Askeri Sistemler) programı, UAVs ve tıbbi pompalar için doğrulanabilir.
Standartlaştırılmış Güvenlik Testi Çerçeveleri
Endüstride kullanılan yazılımlar, tasarımdaki tüm tasarımların ve diğer tüm kullanım alanlarının, diğer yandan da, bu standartların nasıl doğrulanmış olması gerektiği konusunda bilgi sahibi olacaktır.The NISTANST:4Özel Yayınlama 800-193).
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Akıllı cihaz bilgisayarlarını analiz etmek için ters mühendislik kullanmak, üreticilerin güvenli çizme, şifreleme, güncelleme mekanizmaları ve tedarik zinciri gözetiminde iyileştirmelerine olanak tanıyan zayıflıkları ortaya çıkarabilir - araştırmacılar, aksi takdirde saklı kalacağınız zayıflıkları ortaya çıkarabilirler. Bu bilgi sadece üreticilerin güvenli bir şekilde kaldırma, şifreleme, güncelleme mekanizmalarına yönelik iyileştirmelerine ve tedarik zinciri gözetimine olanak tanır.
Ancak, tersine mühendislik, yasal sınırlar ve etik normlara saygı göstermekle sorumlu olarak yapılmalıdır. Alan, daha büyük şeffaflık ve işbirliğine doğru ilerliyor, birçok satıcıyla, araştırma topluluğunu bug bounty programları ve koordineli açıklama anlaşmalarıyla proaktif olarak ele almak zorundadır. Akıllı cihazlar daha da ikna edici hale gelir - evlerde, hastanelerde, fabrikalarda ve şehirlerde - tersine mühendislik rolü sadece önemli bir öneme sahip olacaktır.
Bu başlangıç için, kaynakların zenginlikleri vardır: [FONTT:0]).OWASP IoT Güvenlik Rehberliği), [[ŞUygunluk Analizi Araçkit) ve aynı zamanda doğal olarak güvenli olmayan bir gelecek yaratmaya yardımcı olabilir.