Tüketici Cihazlarından Nasıl Türlüp Analyze Firmaware
Firmaware Ekstraksiyon ve analiz, donanım güvenliği, gömülü sistemler geliştirme ve kırılgan araştırma içinde kritik bir disiplini temsil eder.Bu, yönlendiricilerden ve akıllı ev merkezlerinden IoT sensörlerine kadar uzanan ve tüm donanıma güvenen teknolojilerden yararlanarak, tüm donanıma dayalı olarak depolanan düşük seviyeli yazılımlar, iletişim ve temel işlevleri kontrol eder.Bu sayede güvenlik araştırmacılarının statik güvenlik kontrolleri tespit etmesine ve dinamik güvenlik analizlerini tespit etmelerine olanak sağlar.
Firmaware Architectures ve Storage Media
Modern tüketici cihazları, çeşitli anti-volatile bellek türlerinde, her biri kendi erişim özellikleri ve ekstraksiyon sorunları ile mağaza bilgisayarı depolamaktadır: En yaygın depolama medyası şunları içerir:
- [FONT:0)SPI Flash (Serial Peripheral Interface): [Döneticiler, akıllı ev merkezleri ve IoT cihazları, küçük ayak izi ve düşük pin sayısı nedeniyle, 256 KB'den 4 MB sektöre kadar sık sık sık organize edilmiştir. SPI flash, bir programcıyla veya yazılım komutları aracılığıyla, CPU erişim sağlarsa yazılım komutları aracılığıyla okumak için nispeten kolaydır.
- [FONT:0)NAND Flash: [Dönetici: 0,3,0) Daha yüksek kapasiteli cihazlarda bulunan, ağ video kayıtları, akıllı TV ve bazı gelişmiş yönlendiriciler. NAND flash daha yüksek yoğunlukta (128 MB 8 GB veya daha fazla) ancak kötü blok yönetimi nedeniyle daha karmaşık kullanım gerektirir, seviyeleme ve hata düzeltme kodu (ECC) gereklilikleri.
- [FONT=0)NOR Flash:[Dönetici cihazlarda kullanılan ve bazı mikrokontrolörler. NOR rastgele erişim ve hızlı okuma hızlarına izin verir, ancak düşük kapasiteli diskoparlama ( MB-16 MB) için daha pahalıdır.
- [FONTC ve SD NAND: Bir kontrol cihazı ve aşınma seviyesi mantığı iç içe içeren bir kontrol çözümü vardır. Standart blok cihazlar olarak görünürler ve genellikle akıllı telefonlarda, tabletlerde ve tek kişilik bilgisayarlarda kullanılabilirler.
- [FONT:0) On-Chip Flash ile Mikrokontrolörler: Birçok küçük IoT cihazı, entegre flaş bellek ile MCU içerir. Ekstralar genellikle debug arabirimleri (SWD, JTAG) veya bootloader açıklarını gerektirir.
Depolama tipini anlamak, uygun ekstraksiyon yönteminin belirlenmesinde ilk adımdır. Örneğin, SPI flaş kullanan bir yönlendirici basit bir klip programıyla alınabilir, eMMC kullanarak akıllı bir TV anaboard'u söküp eMMC pinlerine bağlanabilir.
Firmaware Ekstraksiyon için Hazırlanma
Başarılı Ekstraksiyonlama sistemi, cihazı zarar vermek veya yanlış anlamayı önlemeye dikkat gerektirir. Essential preparatory adımları şunları içerir:
- [FONT=0]Device Dokümantasyon ve Topluluk Kaynakları: Veri tabloları, şemalar ve üçüncü taraf kaynaklardan gelen videolar. OpenWrt forum gibi online topluluklar, r/embedd altreddit ve Şirketware Security Gitositories genellikle popüler cihazlar için ayrıntılı pinout ve ekstraksiyon prosedürleri içerir.
- [FONT=0)Hardware Tools:[Dönetici yöntemine bağlı olarak, bir SPI flash programına ihtiyacınız olabilir (örneğin, CH341A, Bus Korsan), ana çip ve flaş arasında bir J-Link, OpenOCD.
- [FONT:0)Software Tools:[Dönetici:[Dönetici için) Yükler, GNU binutils (objdump, stringler), Yazılım-mod-kit (örneğin paketsiz dosya sistemi görüntüleri için), ve Ghidra veya IDA Pro gibi bir dislektif çerçeve.
- [FONT:0)Basic Electronics Knowledge:[Dönetici:[Dönetici:0)Basic Electronics Knowledge:[Dönetici:0)[Dönetici:0)))The Familiarity with soldering, desoldering, and define IC pinouts is essential for Hardware-based ekstraksiyon. An gerilim seviyelerini anlamak (3.3V vs. 1.8V for modern cips için) ve ESD ve kısalar için risklerini belirlemek.
- [FONT:0) Güvenli Kullanım Uygulamaları:[Dönetici:[Dönetici:0) Açık elektroniklerle çalışmadan önce her zaman kendinizi her zaman kendinizi bir magnating lens kullanın ve iyileştirici bileşenler için uygun aydınlatma kullanın.Eğer bir klip programı kullanarak, okumadan önce bir multimeter veya oscilloskop ile uyumlu olun.
Firmaware for Extracting için yöntemler
Firmaware yazılım yoluyla elde edilebilir ( güncelleştirme dosyaları veya debug arabirimleri) veya doğrudan donanım bağlantıları aracılığıyla elde edilebilir.Seçim cihazın erişilebilirliği, güvenlik korumaları ve araştırmacının beceri seviyesine bağlıdır.
Yazılım tabanlı Ekstraksiyon: Firmaware Update Files
Birçok tüketici cihazı, üreticinin web sitesi veya OTA (over-the-air) mekanizması aracılığıyla resmi bir programlama sağlar ve cihaza fiziksel erişim gerektirmez. Update dosyaları genellikle asurFLT:0,FLT:1).
Bu dosyalarla çalışmak için, üreticinin destek sayfasından en son güncellemeyi indirin.Bir hex editörü veya komut satırı araçlarını [[Üyetim: 4) ve [[Döneticileri incelemek için 5 ) kullanın.
- [FONTX: [Döneticileri tarafından kullanılan bir başlıktır.) veya [[FONTX:[FONTT:0))
- [FONT:0)U-Boot Görüntü: [Dönetici: [Dönetici: 0,8|CRC) ve yük adresi ve giriş noktası ile bir başlık içerir.
- [FONT=0)UbiFSFS veya SquashFS: Birçok gömülü Linux cihazlar tarafından kullanılan Compresif dosya sistemleri. SquashFS sihirli şu anda US $ 9'dur ve UBI başlıkları ile başlıyor.
Binwalk ([DÜ:0)GitHub) gibi araçlar otomatik olarak bilinen imzalar ve gömülü dosyaları tarayabilir. Örneğin, çalışan GÜNCELT:11) tüm dosyaları ve dosya sistemlerini yeniden üretecektir.Theware-mod-kit ().GitHub)
Donanım bazlı Ekstraksiyon: UART, JTAG ve SPI
Güncelleme dosyaları şifrelendiğinde, genel olarak mevcut değildir veya analiz için yetersiz, donanım ekstraksiyonu gereklidir. Üç birincil donanım arayüzü şunlardır:
UART (Universal Asynchronous Alıcı/Transmitter)
UART, çoğu gömülü cihazlarda mevcut bir seri iletişim arayüzüdür, genellikle debug log veya boot konsol erişim için kullanılır. UART pins (TX, RX, GND ve bazen VCC) cihazı veya işletim sistemi kabuğu ile etkileşime girmenizi sağlar.Eğer bootloader komutları ortaya koyarsa, flaş hafızayı veya özel görüntüleri atabilirsiniz. UART ekstraksiyonu doğrudan yüklemez ve bozulmaz bileşenleri gerektirmez. Common baud oranları 115200 veya 57600; aletler gibi araçlar bağlantı kurar.
JTAG (Joint Test Action Group)
JTAG, CPU'nun debug limanına doğrudan erişim sağlar, hafıza okuma / yazma ve eğitim basamakları ile gizlenmiştir.Bir JTAG adaptörüne (örneğin, USB, OpenOCD ve kayıt) dahil olmak üzere tüm hafıza haritasını okuyabilirsiniz ve OpenOCD veya JTAGenum ([TAG) gibi yazılımları kullanarak gizli tutabilir veya kontrol edilebilir.
SPI Flash Doğrudan Okuma
Dış SPI flash çipleri olan cihazlar için, fiziksel olarak yükleme veya bir programcı ile içeriği basit bir şekilde okumak için çipin üzerine klipler ([Dönetici veya 16-pin) CH341A gibi bir programcıya ek olarak, hedef çipin doğru bir şekilde kullanılmasını sağlayın ve programlayıcının standart olduğunu unutmayın. Flashrom () Bu yöntem, genellikle bu modern kayıtta bulunan bazı dosyaları kullanarak, bu verileri kullanarak bir miktar düzeltme veya düzeltmesi engelleyici olarak kullanabilir.
Diğer Donanım Teknikleri
Daha zorlu cihazlar için, araştırmacılar hata enjeksiyonu (zarar), yan kanal analizi veya ölmeye kadar çiplerin silinmesini kullanabilirler. Bu gelişmiş teknikler uzman ekipman (örneğin, lazer kesiciler, elektromanyetik problar) gerektirir ve genellikle sadece yüksek ücretli güvenlik araştırmalarında kullanılır.
Analyating Extracted Firmware
Bir bilgisayar çöpü (veya güncelleme dosyası) elde ettikten sonra, analiz aşaması başlar. Bu işlem ikilinin yapısını tanımlar, dosya sistemlerini çıkarır, ters-mühendislik kodunu döndürür ve açıkları arar. Aşağıdaki adımlar yapılandırılmış bir iş akışı sağlar.
Binwalk ve Strings ile ilk denetim
Taklit dosyaları, sıkıştırma algoritmaları ve dosya sistemleri görüntüler ortaya koymak için ham çöplükten binwalk. Binwalk'in imza veritabanı, SquashFS, JFFS2, CramFS, Gzip, LZMA ve ELF executables gibi ortak formatları kapsar. komutlar tüm kodlar bir dizin içine eklenebilir veya şifreler ile aramayı önerebilir.
Filesystem Sınavı ve Dağıing
Çoğu gömülü Linux cihazları, dosyaları göz önünde bulundurmak için bir okuma-sadece dosya sistemi (SquashFS) kullanır ve web sunucusu için dosya sistemini (JFFS2 veya UBI) yapılandırmak için.Broadwalk kullanarak, Squash dosyasını taramak için arayabilirsiniz: derinlemesine kırılganlık araştırmaları için, ana kesintiye uğratılabilir (örneğin, Ghidra ([Dönetici:0)Ghidra web sitesi) veya IDA Pro. CPU mimarisini dosya başlığından veya enjeksiyon şifrelerinden (örneğin, MIPS veya Xtensa) kontrol etmeden veya kontrol eder. Eğer bu tür durumlarda, diskolektif araçlar giriş noktalarına yardımcı olabilir, programlama fonksiyonlarını ve görev kontrol bloklarını kullanın.Spazeme başlangıcındaki yükleme adresini kullanın - sadece çekirdek ve tüm görevleri içeren monolithic görüntüyü tekrar kullanarak. Emulation, fiziksel donanım olmadan kontrollü bir ortamdaki bilgisayarların güvenli bir şekilde yürütülmesine izin verir. QEMU (özel CPU mimarisi için sistem modu ile), Fuzzware veya Avatar2 framework, ağ dosyalarını satın alabilir. Linux tabanlı bir bilgisayar için, gelişmiş bir sistem modeli ve cihazı ile birlikte uygulamanız gerekebilir. Firmaware emulation genellikle statik analizin, belirli girişler tarafından başlatılan bellek yolsuzlukları ve ağ hizmetleri aracılığıyla açığa çıkan kimlik doğrulama açıklarını ortaya çıkarır. Ancak, birçok cihaz, diskoyu kaldırmak veya kablolama gerektiren özel periferilere sahiptir. Tüketici Sistemlerindeki yaygın kırılganlık sınıfları şunları içerir: Hedeflenen açıklar için belgelenmeleri önemlidir. keşiften sonra, üreticiye veya CVE gibi platformlarda rapor ederek sorumlu açıklama uygulamalarını takip edin. Firmaware Ekstraksiyon ve analiz güvenlik araştırma şemsiyesi altında kalır, ancak yasal çerçeveler yetkilendirme ile değişir. Birçok ülkede, ABD'de Dijital Millennium Copyright Yasası (DMCA) veya Bilgisayar Dolandırıcılığı ve Kötüleştirici Yasası uygulamanız için kullanılabilir. Ancak, muafiyetler geçicilik için tersine mühendislik için vardır ve akademik çalışma için her zaman cihazınızdan açık izin almanız veya şahsen sahip olduğunuz cihazlarla birlikte çalışmanızı sağlar. Etik araştırma uygulamaları şunları içerir: Birçok üretici şimdi sorumlu açıklamayı ödüllendiren otobüsleri destekliyor. bounty olmadan bile iyi niyetli bir kırılgan raporu profesyonel itibarı inşa ediyor. Tüketici cihazlarından alıntı ve analiz etmek, yazılımları donanım hackleme ile ters çeviren çok adımlı bir süreçtir. Depolama ortamına başlayın, uygun ekstraksiyon yöntemi (günümüzdeki dosyaları, UART, JTAG veya SPI okuma), ve statik ve dinamik analiz yoluyla ilerleme, araştırmacılar kritik güvenlik açıklarını ortaya çıkarabilir ve cihaz çalışmasına derin bir anlayış kazandırabilir. Başarı, yasal sınırlara dikkat edin.Disassembly ve Statik Analiz
Emulation ile Dinamik Analiz
Vulner yükümlülüklerini belirlemek
Yasal ve Etik Bakışlar
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç