AirHopper¶
Video/display kablosundan FM radyo sinyallerini modüle edip yakındaki bir cep telefonunun FM alıcısında alarak air-gapped bir PC'den veri exfiltrate et.
Mechanism¶
Note
Bir bilgisayarın video subsystem'i istemeden çalışan bir radyo vericisidir. GPU ile monitör arasında pixel verisini taşıyan kablo (VGA/DVI/HDMI) pixel clock'ta — onlarca ila yüzlerce MHz — sürülür ve tam olarak ticari FM yayın band'inin (88–108 MHz) içine düşen harmonikler yayar. Gösterilen pixel desenini, refresh timing'i ve hangi dot-clock harmoniğine bineceğini seçerek malware o emisyonun amplitude ve frequency'sini kontrol eder. Bit'leri emisyonun açık/kapalı (ya da A/B frequency) modülasyonu olarak encode etmek display'i, hiç ek hardware gerektirmeyen software-defined bir FM vericisine dönüştürür. Sıradan bir smartphone zaten bir FM alıcı çipi (ve kulaklık kablosunda anten) içerir, dolayısıyla alıcı metrelerce ötede bir cepte duran, hazır ve halihazırda ele geçirilmiş bir cihazdır. Değişmez nokta: emanation gücü software'in ekrana ne çizdiğinin deterministik bir fonksiyonudur, dolayısıyla software iletebilir.
Walkthrough¶
Verici, yalıtılmış workstation üzerindeki malware'dir; alıcı ise FM tuner'ını kullanan bir telefondaki hileli bir uygulamadır.
-
Pick a carrier. İyi SNR'a sahip bir video-clock harmoniği bulmak için telefonda FM band'ini tara (tipik pixel clock'lar için genellikle 100 MHz civarında).
-
Generate the emission. Tam ekran yatay-şerit desenleri render et; dönüşümlü şerit frekansları spektral enerjiyi kaydırır. Kavramsal bir encoder:
// Draw a striped frame whose spatial frequency sets the radiated tone.
// Toggling between two patterns => binary FSK on the FM carrier.
void emit_bit(int bit) {
int period = bit ? 4 : 8; // stripe period in pixels
for (int y = 0; y < HEIGHT; y++)
for (int x = 0; x < WIDTH; x++)
framebuffer[y*WIDTH + x] = ((x / period) & 1) ? 0xFFFFFF : 0x000000;
present_frame(); // hold for one symbol period
}
- Modulate. Carrier'ı audio-modüle et (orijinal çalışma A-FSK / audio tonları gösterir), böylece telefonun demodüle edilmiş FM audio'su veri stream'ini taşısın, ardından üzerine byte'ları frame'le ve FEC-encode et.
Beklenen sonuçlar (makaleden)
Network'ten yalıtılmış bir host'tan, operatörün kötü niyetli olduğunu hiç bilmediği bir telefona keystroke'ları, parolaları ve küçük key'leri exfiltrate etmek için yeterli.Detection¶
Hassas host'ların yakınında FM band'inde anormal, veriyle korelasyonlu emisyonlar için spectrum izleme; RF shielding (TEMPEST tarzı muhafazalar); güvenli alanlarda cep telefonlarını yasaklama; ve "audio/video gap" politikaları. Display emanation'ı azaltmak (shielded kablolar, daha düşük kontrastlı desenler) noise floor'u yükseltir.
Mitigation¶
Faraday-kafesli odalar, yalıtılmış makineler ile alıcı yeteneğine sahip herhangi bir cihaz arasında zon ayrımı, malware'in en başta tutunmasını önlemek için host hardening ve yüksek güvenlikli tesislerde FM band'ini signal-jamming.