Skip to content

CTRL-ALT-LED

Caps/Num/Scroll-Lock klavye LED'lerini yakıp söndürerek data encode eden, yakındaki bir kamera veya light sensor tarafından okunan bir air-gap optical exfiltration.

Mechanism

Air-gapped bir host'ta zaten yerleşik olan malware, üç standart klavye indicator LED'ini (Caps-Lock, Num-Lock, Scroll-Lock) OS/USB-HID interface'i üzerinden state'lerini toggle ederek modüle eder — klavye hardware'i veya firmware'inde değişiklik gerekmez.

Note

Bit'ler LED'lerin on/off (ve timing) pattern'ine encode edilir. Channel tamamen optical'dır ve network monitoring ile DLP sistemlerine görünmezdir. Programatik bir LED state değişikliği, transition başına bir veya daha fazla bit taşıyan, doğrudan gözlenebilir bir photon emission'ıdır ve görüş hattındaki bir optical receiver tarafından decode edilir.

Walkthrough

  1. Collect. Implant hedef data'yı (key'ler, credential'lar) toplar.
  2. Modulate. Data'yı bir bit stream'e serialize eder ve bir modulation/framing protokolü (preamble + payload) kullanarak klavyenin USB-HID SetReport/LED interface'i üzerinden LED state değişikliklerini sürer.
  3. Parallelize. Üç LED, daha yüksek toplam throughput için üç channel verir.
  4. Receive. Görüş hattındaki bir optical receiver flicker'ı kaydeder ve decode eder.

Ölçülen oranlar: özel bir light sensor ile LED başına ~3000 bit/s'ye kadar; smartphone kameralarıyla >120 bit/s (frame-rate sınırlı). Test edilen receiver'lar arasında light sensor'lar, remote/security/extreme kameralar ve smartphone kameraları var (evil-maid / insider senaryosu).

Detection

Endpoint'lerin kamera/optical monitoring'i; OS/HID katmanında anormal yüksek frekanslı LED toggling'e alert verme.

Mitigation

Air-gapped makinelerin yakınında kamera/kayıt cihazlarına yönelik policy yasakları; klavye LED'lerini kapatma, sökme veya devre dışı bırakma; software LED kontrolünü engelleyen HID/driver kısıtlamaları.

References