Skip to content

GSMem

Multi-channel memory bus'tan leak olan GSM-band radyo dalgalarına data modüle ederek, air-gapped bir bilgisayardan yakındaki (rooted) bir mobil telefona data exfiltrate et.

Mechanism

Neden çalışır

Bir CPU her data'yı system bus üzerinden RAM'e sürdüğünde, bus trace'leri istem dışı anten gibi davranır ve electromagnetic enerji yayar. Multi-channel memory sistemlerinde birkaç memory channel uyum içinde switch eder ve toplam emisyonun GSM cellular band'lerinde (kabaca 850–900 MHz) ölçülebilir spectral gücü vardır — stok bir mobil telefonun baseband'inin zaten dinlediği aynı band'ler.

GSMem (Guri et al., USENIX Security 2015) bu tesadüfi sızıntıyı, herhangi bir radyo hardware'i olmadan kasıtlı bir covert transmitter'a dönüştürür:

  • Carrier: memory bus'ı geniş SIMD write'ların sıkı bir loop'uyla döverek, malware emisyon enerjisini seçilen bir GSM frekansının yakınında yoğunlaştırır. Paper, traffic'i doğrudan memory'ye zorlamak için x86 streaming-store instruction'ı MOVNTDQ'yu (bir non-temporal 128-bit move) kullanır, cache'i bypass ederek bus'ın gerçekten toggle etmesini sağlar.
  • Modulation: channel binary amplitude-shift keying (B-ASK) ile key'lenir. Bir 1 göndermek için loop data transfer eder ve bus emisyonunu yükseltir; bir 0 göndermek için idle kalır ve emisyon düşer. Receiver bir on/off amplitude pattern'i görür.
  • Receiver: küçük bir "GSMem-Receiver" çalıştıran yakındaki bir mobil telefon, raw baseband signal-strength (RSSI-benzeri) örneklerini okur ve amplitude pattern'ini tekrar bit'lere decode eder. En güçlü sonuçlar modified/rooted baseband firmware'ine sahip bir telefon kullanır, ancak stok bir düşük seviye telefon bile receiver olarak davranabilir.

Channel bir cellular frekansta amplitude olduğu için, air gap'i geçer ve "odada Wi-Fi yok, Bluetooth yok ve network kablosu yok, dolayısıyla hiçbir şey dışarı çıkamaz" varsayımının yanından sıyrılır.

Walkthrough

Transmitter, isolated makinedeki bir userspace loop'tur; özel privilege veya peripheral gerekmez. Kavramsal olarak:

// Conceptual GSMem transmitter (illustrative, x86-64).
// '1' bit -> drive the memory bus hard (high emission)
// '0' bit -> stay idle (low emission)
#include <emmintrin.h>

void send_bit(int bit, volatile char *buf, size_t len) {
    if (bit) {
        // Saturate the multi-channel memory bus with non-temporal stores
        // so the data path -- not the cache -- actually toggles.
        for (size_t i = 0; i < len; i += 16)
            _mm_stream_si128((__m128i *)(buf + i), _mm_set1_epi8(0xFF)); // MOVNTDQ
    } else {
        nanosleep(/* one bit period of silence */, NULL);
    }
}

Receiver telefonda çalışır ve baseband signal strength'i örnekler, sonra onu B-ASK symbol stream'ine threshold'lar:

[GSMem-Receiver]  tuned to ~800-900 MHz GSM band
sample RSSI ........ ▁▁▇▇▁▇▁▁▇▇▇▁  -> 0 0 1 1 0 1 0 0 1 1 1 0
threshold + clock recovery -> bytes -> "PASSWORD: ..."
Rapor edilen sonuçlar (paper'dan)
Effective bit rate:        1 - 2 bits/sec
Range, standard phone:     1 - 5.5 meters
Range, dedicated receiver: > 30 meters
Carrier band:              GSM 850 / 900 MHz
Payload examples:          identifiers, passwords, encryption keys
                           (small secrets exfiltrated within minutes)

Warning

Throughput çok düşüktür (1–2 bps), bu yüzden GSMem bir bulk exfiltration path'i değil, bir credential/key trickle channel'ıdır. Ayrıca target makinenin zaten infect edildiğini ve compromised/işbirliği yapan bir telefonun birkaç metre içinde olduğunu varsayar — air gap, çökerttiği tek bariyerdir.

Detection

  • Radio monitoring: korunan makinelerin yakınında GSM band'lerini izleyen bir spectrum analyzer veya SDR, sıradan memory aktivitesinin üretmediği karakteristik periyodik ASK pattern'ini işaretleyebilir.
  • Host behavior: legitimate bir workload olmadan non-temporal store'ların sürekli sıkı loop'ları anomalous'tur ve performance-counter veya behavioral monitoring ile yakalanabilir.

Mitigation

  • Zone separation / "red-black" fiziksel mesafe: paper'ın ana karşı önlemi, hiçbir receiver'ın (veya telefonun) hassas ekipmanın emisyon menzili içinde olmaması için bir keep-out radius'u enforce etmektir.
  • Host'un veya odanın etrafındaki Faraday shielding / TEMPEST enclosure'ları leak olan carrier'ı zayıflatır.
  • Güvenli alanlardan kişisel cep telefonlarını yasakla — receiver zayıf halkadır ve telefonlar üzerindeki policy kontrolleri channel'ın uzak ucunu ortadan kaldırır.
  • İlgili band'lere enjekte edilen signal jamming / noise, noise floor'u zayıf B-ASK sinyalinin üstüne çıkarır.

References