Fansmitter¶
Hoparlörsüz, air-gapped bir bilgisayardan CPU/GPU/chassis fan hızını modüle ederek akustik olarak veri sızdır; fan'ın blade-pass tonu yakındaki bir mikrofon tarafından yakalanır.
Mechanism¶
Neden çalışır
Güvenli ("audio-gapped") makinelerde, akustik exfiltration'ı bloklamak için
çoğu zaman hoparlör yoktur. Ama hâlâ fan'ları (CPU, GPU, chassis) vardır
ve software fan RPM'ini regüle edebilir. Dönen bir fan, blade pass frequency
(BPF)'sinde — kabaca RPM/60 × number_of_blades — bir ton yayar ve RPM değiştiğinde
bu ton kayar.
Bu akustik covert channel'ın leak/transmit/decode invariant'ı:
- Leak/encode: malware, secret bit'leri iki (veya daha fazla) fan hızına map'ler. Fan'ı diyelim ki düşük bir RPM ile yüksek bir RPM arasında değiştirmek, iki ayrı BPF tonu üretir — akustik taşıyıcının bir frequency-shift / on-off keying'i.
- Transmit: fan'ın mekanik gürültüsü, air gap boyunca ses olarak yayılır.
- Decode: yakındaki bir mikrofon (örn. bir akıllı telefon) sesi kaydeder, bir FFT yapar, BPF tonunu takip eder ve frekansları bit'lere geri demap'ler.
Throughput çok düşüktür (ayarlara/mesafeye göre dakikada birkaç bit ile saniyede birkaç bit arasında), ama audio-gap varsayımını yener.
Walkthrough¶
Transmitter, bit'leri encode etmek için fan RPM'ini sürer (kavramsal; gerçek kontrol PWM/hwmon interface'i veya vendor firmware üzerinden olur):
# Conceptual: B-FSK by switching fan PWM between two duty cycles.
# Linux example via lm-sensors / hwmon pwm (paths are hardware-specific):
PWM=/sys/class/hwmon/hwmon2/pwm1 # 0-255 fan duty
enable_manual() { echo 1 > ${PWM}_enable; }
send_bit() { [ "$1" = "1" ] && echo 200 > $PWM || echo 90 > $PWM; sleep 2; }
enable_manual
for b in $BITSTREAM; do send_bit "$b"; done # '1'=high RPM tone, '0'=low
Receiver, sesi kaydeder ve baskın düşük-frekans tonunu takip eder:
# Conceptual receiver: detect BPF tone, threshold to bits.
import numpy as np
spec = np.abs(np.fft.rfft(window)) # FFT of an audio window
tone = freqs[np.argmax(spec[bpf_band])] # dominant blade-pass tone
bit = 1 if tone > tone_threshold else 0
Beklenen demodülasyon (kavramsal)
Detection¶
- Anormal, pattern'lı fan-speed modülasyonu için akustik monitoring; fan RPM değişikliklerini thermal load ile ilişkilendirmek (açıklanamayan RPM dalgalanmaları şüphelidir).
Mitigation¶
- Güvenli ekipmanın yakınında mikrofon/telefon yasaklamak; fansız tasarımlar veya sabit hızlı fan'lar kullanmak; programatik fan kontrolünü yasaklayan software politikaları; odada akustik jamming/white noise.