AiR-ViBeR¶
Aynı yüzeyde duran bir smartphone'un accelerometer'ı tarafından algılanan, fan kaynaklı yüzey titreşimlerini kontrol ederek air-gapped bir bilgisayardan veri exfiltrate et.
Mechanism¶
Note
Bir bilgisayarın soğutma fanları kontrol edilebilir bir RPM'de döner ve
ortaya çıkan mekanik dengesizlik titreşimi chassis'e ve üzerinde durduğu
yüzeye (masa/tezgâh) bağlar. Değişmez nokta: fan RPM'i bir low-frequency
titreşim tonu belirler ve software (embedded controller / thermal
interface'ler üzerinden) fan hızını değiştirebilir, dolayısıyla software
titreşimi kontrol eder. Aynı yüzeyde duran bir smartphone'da bu titreşimlere
duyarlı bir MEMS accelerometer vardır. Kritik olarak, Android/iOS'ta
accelerometer "zero-permission" bir sensor olarak ele alınır — herhangi bir
uygulama onu kullanıcı onayı olmadan örnekleyebilir — bu da alıcıyı gizli
kılar. Bir low-frequency titreşim carrier'ı üzerinden bit'leri encode etmek
(örneğin 0/1'i iki fan-hızı setpoint'ine eşlemek) malware'in iletmesini
sağlar; telefon uygulaması tonu kurtarıp demodüle etmek için accelerometer
stream'ine FFT uygular.
Walkthrough¶
Verici: air-gapped host üzerinde fan hızını modüle eden malware. Alıcı: aynı masada accelerometer'ı okuyan kötü niyetli bir telefon uygulaması.
// Transmitter: B-FSK over fan RPM. Two setpoints -> two vibration tones.
void send_bit(int bit) {
int rpm = bit ? RPM_HIGH : RPM_LOW; // e.g. write to PWM / hwmon
set_fan_speed(rpm); // platform fan-control interface
msleep(SYMBOL_MS); // hold for one symbol
}
# Receiver (Android app): sample accelerometer, FFT, threshold the carrier bin.
def recv():
samples = read_accelerometer(rate_hz=SR, n=SYMBOL_SAMPLES)
spectrum = np.fft.rfft(samples - np.mean(samples))
p_high = abs(spectrum[bin_for(F_HIGH)])
p_low = abs(spectrum[bin_for(F_LOW)])
return 1 if p_high > p_low else 0
Beklenen sonuçlar (makaleden)
Detection¶
Thermal load'la korelasyonsuz, software güdümlü fan-hızı modülasyonunu gözle; fan-control interface'lerine erişimi kısıtla; sürekli periyodik RPM desenlerini izle.
Mitigation¶
Fan-control (embedded controller / hwmon) erişimini kilitle; chassis-yüzey
couplingini mekanik olarak izole et ya da sönümle; güvenli makinelerle aynı
yüzeyde telefonları yasakla; motion sensor'lar için OS düzeyinde rate limiting /
permission-gating.