Skip to content

POWER-SUPPLaY

Bir bilgisayarın switching power supply'ını switching frequency'sini modüle ederek kaba bir hoparlöre çevir, audio hardware ve özel ayrıcalık olmadan air-gapped (ve hatta audio-gapped) makinelerden veriyi akustik olarak sızdır.

Mechanism

Neden çalışır

Bir PC'nin power supply unit'i (PSU) bir switched-mode power supply (SMPS)'tir: input voltajını yüksek bir switching frequency'de açıp kapatır ve sonucu tekrar DC'ye filtreler. İçerideki capacitor'lar ve transformer'lar fiziksel olarak o switching frequency'de — ve onun harmonik'lerinde — titreşir (tanıdık "coil whine"). Switching frequency sabit değildir: SMPS'nin sağlaması gereken load'u takip eder.

POWER-SUPPLaY'in suistimal ettiği invariant şudur: CPU/workload aktivitesi PSU'nun sağlaması gereken current'i değiştirir, bu switching frequency'sini değiştirir, bu da pasif bileşenlerinin yaydığı duyulabilir tonları değiştirir. CPU load'unu kontrollü bir desende kasıtlı olarak yükseltip düşürerek, unprivileged software PSU'nun akustik emanasyonunu yönlendirebilir ve içine bit'ler encode edebilir — power supply'ı istemsiz, düşük kaliteli bir hoparlör olarak kullanarak. Bu, hoparlörleri kaldırma veya devre dışı bırakma şeklindeki "audio-gap" countermeasure'ını etkisiz kılar, çünkü ses kaynağı herhangi bir audio cihazı değil, bizzat PSU'nun kendisidir.

Walkthrough

Transmitter sıradan bir user-mode process'tir. İkili veriyi encode etmek için PSU switching frequency'sini itmek üzere CPU/core load'unu modüle eder; yakındaki bir receiver (ör. bir smartphone mikrofonu) ortaya çıkan tonları demodüle eder.

Çekirdek primitive, core'lara pinlenmiş kontrol edilebilir bir busy/idle duty cycle'dır:

// Conceptual transmitter: shape PSU load to emit a tone of frequency f for dt.
// Busy loops raise the current draw; sleeps drop it. The duty cycle / repetition
// rate is what the PSU's switching stage tracks and radiates acoustically.
void emit_tone(double f_hz, double dt_s) {
    long period_ns = (long)(1e9 / f_hz);
    struct timespec on  = { 0, period_ns / 2 };
    struct timespec off = { 0, period_ns / 2 };
    double end = now() + dt_s;
    while (now() < end) {
        busy_spin(on.tv_nsec);     // pull load up  -> shifts switching freq
        nanosleep(&off, NULL);     // let load fall  -> shifts it back
    }
}

Bit'ler basit modülasyon ile taşınır (paper bu tonların on/off / frequency-shift keying'ini kullanır):

bit '1' -> emit_tone(F1, T)
bit '0' -> emit_tone(F0, T)   // or silence for OOK

Paper'dan raporlanan channel parametreleri:

emanation band      : 0 - 24 kHz (audible + near-ultrasonic)
max bit rate        : ~50 bit/s
effective distance  : up to ~5 m to a microphone
privileges          : ordinary user-mode process; no root, no HW access
targets             : PC workstations/servers, embedded & IoT devices,
                      including machines with NO audio hardware at all

Warning

Channel düşük bant genişliklidir ve gürültülüdür — bulk transfer'a değil küçük, yüksek değerli secret'lara (keystroke'lar, encryption key'leri, credential'lar) uygundur. Bu bir covert exfiltration channel'ıdır: air-gapped host'un gönderecek veriye sahip bir malware tarafından zaten compromise edildiğini varsayar.

Detection

  • Ekipmana yakın duyulabilir/near-ultrasonic bandın akustik izlemesi yapılı ton desenlerini ortaya çıkarabilir.
  • Davranışsal: ritmik, frekansa-özgü CPU load salınımları (akustik hızlarda busy/idle patlamaları) süren bir process anormaldir ve performance counter'lar / scheduler telemetrisi üzerinden gözlemlenebilir.

Mitigation

  • Zone ayırma / audio-gap hardening tek başına yetersizdir — saldırının amacı tam da budur. Fiziksel countermeasure'lar: hassas air-gapped host'ları shielded/ses-izoleli muhafazalara yerleştir, ya da mikrofon taşıyan cihazları güvenli zone'dan yasakla.
  • Signal jamming: ilgili bantta kasıtlı arka plan akustik gürültüsü.
  • Hardware: daha iyi sönümlenmiş pasiflere / akustik filtrelemeye sahip PSU'lar yayılan SNR'yi azaltır.

References

  • Mordechai Guri. POWER-SUPPLaY: Leaking Data from Air-Gapped Systems by Turning the Power-Supplies Into Speakers. arXiv:2005.00395 — https://arxiv.org/abs/2005.00395