Güvenlik Denetimleri için Biyos Firmasını Nasıl Yeniden Keşfedin
Ters mühendislik BIOS Yazılımları, bir sistemin en düşük güven tabakalarını denetim altına almakla görevli güvenlik profesyonelleri için kritik bir beceridir. İşletim sistemi, bir bilgisayardaki en ayrıcalıklı infaz ortamlarından birini temsil eder. Bu katmandaki tek bir kırılganlık, kapsamlı güvenlik analizi için gerekli olan temelleri telafi edebilir.Bu kılavuz, güvenlik denetimleri için BIOS bilgisayarlarını tersine çevirmeye yönelik bir yaklaşım sunar.
BIOS ve UEFI Şirketware
“BIOS” terimi tarihsel olarak Temel Giriş/Output System'e atıfta bulunur, daha büyük disk boyutları destekleyen ve sürücü ve uygulama desteği ile modüler bir mimari sunar. Modern sistemler büyük ölçüde UEFI'ye geçiş yaptı (NVRAM, SPI flaş veya benzeri) işletim sistemi üzerinde çalışır ve işletim sistemi ile daha sofistike bir özelliktir.
Bir güvenlik perspektifinden, Yazılım en yüksek ayrıcalık seviyesine sahiptir (örneğin -2 veya Sistem Yönetimi Modu). Bu nedenle, Windows çekirdeği tarafından tespit edilen tüm hafıza, donanım cihazlarına ve CPU kayıtlarını, herhangi bir ters mühendislik çabasındaki ilk adımdır.For more background, Stealth, or Hardware- level backdoors. Security denetimleri.(39)Bu nedenle BIOS'ta belirtilen güvenlik denetimlerine odaklanabilecek güvenlik denetimlerine odaklanılabilir.[TFLT:0T:0Forward Forum.
Neden Güvenlik Denetimleri için Ters Mühendis Firması?
Firmaware ters mühendislik, geleneksel OS seviyesi taramalarının tespit edemeyeceği açıklıkları ortaya çıkarmak için yapılır. Ortak bulgular sert kodlanmış kimlikler, güvensiz güncelleme mekanizmaları, SMI eller'deki akışlar ve güvenlik kontrolleri gibi güvenlik özelliklerini tersine çevirmek için güvenlik kontrolleri doğrulanabilir ve kriptografikleri doğru bir şekilde uygulayabilir ve hatta yedeklenmelerini sağlar. Güvenlik denetimleri bu sorunları önceden belirlenmiş olan bu sorunları keşfetmeyi amaçlamaktadır.
Firmaware Analizi için Temel Araçlar
Başarılı bir ters mühendislik akışı, sağlam bir dizi özel araçlara dayanıyor. Aşağıda denetim sürecinde rollerinin açıklaması ile kategorize edilen bir listedir.
Firmaware Ekstraksiyon ve Dumping
- [FONT=0]Flashrom[DÜT:1] – Okuma, yazma ve yazma için Open-source aracı.Psing flash memory cipsleri. Supports a wide range of chips and can throw the entire Hardware image from the motherboard via host CPU or a Hardware programr.
- [FONT:0)UEFITool[[[Dönetici:0))[FONTITools:0)UEFITool[[Dönetici:0))[FONTI Hardware images.It can ekstra, insert, and replace Software volumes, files, and section, it necessary for structural analysis.
- [FONT=0]SPI programcı donanım – Özel donanım (e.g., Dediprog, Bus Korsan) doğrudan SPI flash çiplerini anneboard'da okumak, herhangi bir bilgisayar seviyesindeki kısıtlamaları atlamak.
Hex Editors and Binary Analysis
- [FONT=0)010 Editör[DFLT:1) – Gelişmiş hex editörü, ikili şablonlarla parseware yapıları (örneğin, GUID Partition Table, Hardware hacimleri) parlayabilir.
- [FONT:0]HxD[[DÜT:1] – ancak hızlı denetim ve desen aramaları için hex editörü yetenekli.
- [FONT:0)binwalk[[Dönetici:0)[[[Dönetici:0))[[[Dönetici:0)))[[[[Dönetici:0))))))) – Kombinasyon için komut satırı aracı ve bilgisayar görüntülerinde gömülü dosyaları tanımlamak için (özellikle Linux tabanlı bilgisayar için kullanılır, ancak bazı BIOS modüllerine de uygulanabilir.
Decompilers ve
- [FONT:0)Ghidra[DÜDÜDÜDÜDÜDÜDÜŞÜNÜSÜŞÜNÜŞÜNÜye Olmayanlar İçin Açık kaynaklı Ters mühendislik çerçevesi NSA tarafından geliştirilmiştir. Birçok mimariye (x86, x64, ARM, vb.) ve güçlü bir dekompiler içerir.
- [FONT:0]IDA Pro[DÜT:1) - Endüstri standart ticari dislokasyonlar, özellikle 64-bit UEFI modüllerinde analiz etmek için temel olarak.
- [FONT=0)Binary Ninja) - Modern bir arayüz ve güçlü analiz yetenekleri ile Alternatif ticari dislokasyon.
Debugging ve Donanım Interfaces
- [FONT=0)JTAG – Donanım silme arayüzü (IEEE 1149.1) CPU'yu durdurmak, hafızayı incelemek ve en düşük seviyedeki bilgisayar yürütmesi ile adım atmak için kullanılır.
- [FONT:0)UART/serial konsol[[Dönetici: 1 ) - Birçok anne, röval çıkış veya hatta interaktif bir kabuk sağlayabilecek bir seri liman ortaya çıkar.
- [FONT:0)Software emülatörleri[Döneticiler[Döneticiler) QEMU (UEFI Donanım desteği ile) fiziksel donanım olmadan kontrol edilen bir ortamda bilgisayar modüllerini çalıştırmak için kullanılabilir.
Her bir araç güçlü yönlerine sahiptir. Tipik bir iş akışı Flashrom veya bir donanım programı görüntü elde etmek için UEFITool to parse its structure, Ghidra or IDA Pro for code disassembly, and often a debugger for dynamic analysis. For those new to Ghidra, the official.
Step-by-Step Process for Ters Engineering BIOS Firmware
Aşağıdaki adımlar yapısal bir metodoloji oluşturur. Belirli bir bilgisayar görüntü ve denetim hedeflerine dayanan düzeni uyar.
1. Firmaware Image'i satın alın
İlk adım, Yazılımın meşru bir kopyasını elde etmektir. İki ana yöntem var:
- [[Döneticiden [Döneticiden] veya tüm bilgisayar görüntülerini genellikle içeren bir BIOS/UEFI güncelleştirme paketini indirin. Bunlar genellikle kapsüller olarak sağlanır (.cap, .bin, .rom) veya executable updaters.
- [FONT:0) Fiziksel donanımdan [Dönetici:0)[Döneticileri ile) veya dış bir SPI programı, doğrudan anaboard'dan flaş hafızasını atlatmak için, bu yöntem, herhangi bir runtime modifikasyonu dahil olmak üzere cihazı çalıştıran gerçek bilgisayar versiyonunu yakalar.
Her zaman beklenen çekleri veya satıcı-provided hashes kullanarak elde edilen görüntünün bütünlüğünü doğrulayın.Temli bir laboratuvar ortamında çapraz-kontaminasyondan kaçınmak için çalışır.Testaj için güvenli bir yerde ham çöpü kurtarın.
2. Firmaware Structure
UEFITool veya bir hex editörünün tasarımını anlamasını sağlayın. Çoğu modern bilgisayar UEFI spesifikasyonu izler, birden fazla yazılım içeren bir Şirket Donanımı (FFS)'den oluşur.Her bir hacim GUID'ler tarafından belirlenen dosyalara ayrılır.
- [FONT:0)SEC (Güvenlik Aşaması)) – İlk konfigürasyondan sorumlu olan güvenin kökü.
- [FONT:0)PEI (Pre-EFI Başlangıç)) - erken CPU/memory kurulumunu durdurun.
- [FONT=0)DXE (Driver Execution Environment))[FONT=Sistem Yönetimi Modu) kodu.
- [FONT=0)NVRAM değişkenleri [Dönetici: UEFI konfigürasyonu için Persist depolama (örneğin, Güvenli Boot anahtarları).
- [FONT:0)UEFI sürücüleri ve uygulamaları[[Dönetici: 1 ) – çıkartılabilir ve sökülebilecek dosyaları.
Şüpheli veya yanlış adlandırılmış GUID'ler ile özel dikkat edin, çünkü bunlar arka kapı veya test kodunu gösterebilir. UEFITool bağımsız olarak analiz edilebilir. UEFITool, UEFITool'ı kullanarak ayrıntılı bir kılavuz kullanılabilir.
3. Anahtar Modülleri
PEI ve DXE modüllerini Bilgisayardan alıntılayın ve onları Ghidra veya IDA Pro. Güvenlik-kritik işlevleri işleyen modüllere odaklanın:
- [[Döntgen:0)Güvenli Parmak doğrulama modülleri) - bootloaders üzerinde imzaları doğrulama kodu arayın.
- [FONT:0]Firmware update hizmetleri[[Döntilmiş: 1) Yeni bir bilgisayar flaşa yazan görevi analiz edin. Eksik imza çekleri veya geri dönüş açıklıkları kontrol edin.
- [FONT=0)SMM modülleri) - Sistem Yönetimi Modu kodu ayrı bir adres alanında çalışır. Analyze SMI handlers for buffer overflows or yeteneği için keyfi kodu uygulamak.
- [FONT=0)Hardware ilkleştirme kodu[[Dönetici: 1) - Bu hafıza kontrolleri ve PCIe köprüleri yapılandırma güvenlik özelliklerini (örneğin, IOMMU, hafıza yeniden denge) doğru bir şekilde gerçekleştirir.
Ne zaman söküldüğünde, giriş noktasını tanımlayın ve kontrol akışını takip edin. Karmaşık algoritmaların analizini basitleştirmek için yalvarın.Buffer uzunlukları kontrol etme, kullanım için [[ENFLT:0) yerine kriptografik imza doğrulamanın yokluğu.
4. Sertcoded Sırları ve Backdoors için arama
Firmaware görüntüleri genellikle zor kodlanmış kimlikler, kriptografik anahtarlar veya yanlışlıkla sollanan arka kapı anahtarları içerir. ortak dizeleri aramak için bir hex editörü kullanın:
- Varsayılan şifreler (örneğin, "admin", "password", satıcı varsayılanlar).
- Donanım testi komutları veya debug arabirimleri (örneğin, UART menüsü acil).
- Özel anahtarlar (RSA özel anahtarlar, symmetric şifreleme anahtarları).
- Özel davranışları tetikleyen özel büyü dizeleri.
Ayrıca, NVRAM değişken alanı sızıntı anahtarlar veya yapılandırma verileri için kontrol edin. Bazı Donanım görüntüleri, seri veya ağ arabirimleri aracılığıyla tam hafıza erişimi açığa çıkaran, satıcıya etki ve rapor belge.
5. Analyze Firmaware Update Mechanisms
Güncelleme süreci, aşağıdaki güvenlik özelliklerini doğrulamak için güncelleme modülüdür.
- Güncelleme kriptografik olarak imzalanır ve imza doğrulama doğru yapılır (örneğin, "success" bir yola giren başarısızlıklar için kontrol edin).
- Güncelleme ücreti, flaş için yazılmasından önce bütünlük için kontrol edilir.
- Rollback koruması uygulanır - bilinen açıklarla eski versiyonları yeniden kaldırılamaz.
- Güncelleme süreci güvenli bir bağlamda (örneğin, SMM içinde) çalışır ve OS tarafından kesintiye uğramaz.
Donanım görüntü başlığı ve imzayı doğrulamanın kod yolunu tanımlayın. bir güncelleştirme sırasında rastgele kod yürütmesine izin verebilecek kapsül başlıklarının parsing of Capsule Titles.
6. Güvenli Çığ ve Öngörük Çığlık Uyumu
UEFI Hardware için, Secure Boot'in doğru şekilde uygulandığını doğrulayın.Sessiz Platform Modül (TPM) PCR'nin kritik bileşenlerinin düşmesine izin veremem.Ana Sayfanın nasıl yüklendiğini ve doğrulandığını kontrol edin.
Kontrol sırasında keşfedilmemiş olan ortak Vulner yükümlülükleri
Yayınlanmış araştırma ve kamu açık veritabanları temelinde, aşağıdaki açıklıklar genellikle bilgisayarda bulunur:
| Vulnerability Type | Example Impact | Common Location |
|---|---|---|
| Buffer overflow in SMI handler | Arbitrary code execution in SMM (ring -2) | DXE SMM drivers |
| Insecure firmware update (no signature check) | Attacker can install a backdoored firmware | Update capsule parsing |
| Hardcoded cryptographic keys | Decrypting or signing traffic/firmware | PEIM or DXE modules |
| Debug interfaces left enabled | Full memory read/write via JTAG/UART | Hardware init phase |
| Incorrect Secure Boot policy | Allows unsigned bootloaders to execute | Secure Boot driver |
Her bulgu, ciddiyetle ve tekrarlanabilirlik tarafından sınıflandırılmalıdır. OWASP Firmaware Security Test Yöntemiology, bu tür açıkları kategorize etmek ve rapor etmek için mükemmel bir çerçeve sunar (bakınız:0).OWASP Firmaware Security Test Yöntemiology).
Yasal ve Etik Bakışlar
Ters mühendislik bilgisayarları entelektüel mülkiyet yasalarına tabi olabilir, son kullanıcı lisans anlaşmalarına (EULAs) ve ihracat kontrollerine tabi olabilir. Güvenlik denetimlerini yapmadan önce donanım satıcısından asla açık bir izin alınamaz, özellikle sonuçlar açıklanabilir.Güvenlik araştırmalarına ilişkin ihlaller dahilinde çalışın.
Ek olarak, fiziksel donanımın çıkarılması doğru şekilde yapılmadığı takdirde garanti veya hasar donanımını geçersiz kılar. Doğru elektrostatik deşarj önlemleri kullanın ve güç uygulamadan önce çip yönlendirmeyi doğrulayın. Donanımlı denetimlere güvenmezseniz, yazılım ekstraksiyon yöntemlerine güvenebilirsiniz (vendor güncelleştirmeleri).
Başarılı Bir Firmaware Denetimi için En İyi Uygulamalar
Ters mühendislik çabanızın etkinliğini arttırmak için aşağıdaki uygulamaları benimsemek:
- [FONT:0]Bir kum kutulu bir ortam[Dönetici:0)[[Dönemli bir analiz VM veya hava-gapped makinesi kullanın.Sistem analizi araçlarını herhangi bir üretim ağından ayırt edin.
- [FONT:0]Maintain achain of Query) – Her adım: Bilgisayarın nasıl satın alındı, kontrolleri, analiz araçları kullanılmış ve bulguları. Bu, herhangi bir yasal bağlamda takdir için kritiktir.
- [[Dönetici:0) Bilinen iyi desenlerle başlayın[[Dönetici: 1 ) - Hedef bir görüntüye karşı hedef bilgisayarla karşılaştırın (örneğin, satıcıdan temiz bir sürüm). Farklılıklar değişiklikler veya kırılganlıkları vurgulayabilir.
- [FONT:0) Birden çok dislokatör kullanın[[Dönderler[[Döncüler 1 ) – Ghidra ve IDA Pro arasında kod yapıları yanlış yorumlamaktan kaçınmaya karar verir.
- [FONT:0] Satıcı ile işbirliği[Dönetici: 1)[Döneticiler, birçok satıcının bounty programları var ve sorumlu açıklama kanalları. Raporlama bulguları erken daha hızlı düzeltmelere ve potansiyel ödüllere yol açabilir.
Bu bina için bir bilgisayar analizi laboratuvarı, güvenli bir şekilde dekore edilmiş ve kurtarılabilir olan özel bir SPI programına yatırım yapmayı düşünün.TheETHFLT:0ConFlashrom resmi web sitesi listeleri desteklenen donanım ve detaylı belgeler sunar.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Güvenlik denetimleri için mühendislik BIOS sistemi talep edici bir disiplindir. Platformun en derin katmanında açıklığı ortaya çıkarır, işletim sistemi bile kötü niyetli bir aktivite tespit edemez.Bu alanda yetenekli ters mühendisler için ihtiyaç, sadece doğru araçları ve dikkatli bir şekilde yükselterek, modern bilişim sistemlerinin güvenliğini önemli ölçüde belirleyebilirsiniz.