1/11
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
slides 2-6: list the possible side channels and fault injection options; define side channels, covert channels, fault injection attacks;
Possible side channels (slides 2–5)
Power consumption
Execution time (timing)
Electromagnetic (EM) radiation
Sound (e.g. fan, coil noise)
Temperature (device or environment)
Shared microarchitectural resources (cache, branch predictor), hier laat de aanvaller zijn eigen software parallel lopen met de victim software
Possible fault injection / fault induction methods (slide 4)
Voltage manipulation (glitching)
Temperature manipulation (overheating/cooling)
Clock manipulation (clock glitching)
Radiation / light (EM, laser, alpha/gamma rays)
Definitions
Side channel
Unintended information leakage through physical or microarchitectural effects of computation (not the functional output) that depend on secret data.
Fault injection attack
An attack where the adversary deliberately induces faults in hardware or execution (via voltage, clock, temperature, radiation, …) so that incorrect behavior or side-channel leakage reveals information about secrets.
Covert channel
A side channel used intentionally by cooperating software components to transmit sensitive data in violation of security policies, typically by modulating shared resources and observing their effects.
hint: for all examples mentioned below, explaining how an attack works requires
explaining at least the capabilities that an attacker relies upon as well as
explaining what correlation exists between the type of sensitive data is being stolen/leaked and the observations made by the attacker,
so you should be able to give the goals and capabilities of the attacker as well as the exploited correlation;
time example 1: present and discuss the time-based side-channel attack on simple password checks implemented with strcmp;
Time-based side-channel via strcmp
Goal
Het geheime wachtwoord achterhalen.
Capabilities
Remote toegang tot de password check.
Vrij kiezen van inputs (password guesses).
Nauwkeurige timingmetingen van de uitvoering.
Exploited correlation
Uitvoeringstijd ←> aantal gelijke begintekens tussen input en geheim.
Meer correcte prefixbits ⇒ langere uitvoering.
Attack idea
Kies telkens het teken dat de uitvoeringstijd maximaliseert.
Herhaal per positie ⇒ wachtwoord lekt teken per teken.
time example 2: explain, in general, the various ways in which program execution time can depend on operand values;
Time-based side channel: modular exponentiation (general theory)
Goal
Informatie lekken over een geheim operand (bv. private key bits).
Capabilities
Remote toegang.
Keuze van inputs (bv. ciphertexts).
Nauwkeurige meting van uitvoeringstijd.
Exploited correlations (execution time < - > operand values)
Programuitvoeringstijd kan afhangen van data door:
Control flow: conditionele branches afhankelijk van bits (if/else).
Aantal operaties: extra multiplications bij bepaalde bitwaarden.
Hamming weight / bitpatroon: meer ‘1’-bits ⇒ meer werk.
Branch prediction: onregelmatige bitpatronen ⇒ meer mispredictions.
Cache behavior: data-afhankelijke geheugenaccesses.
Variable-latency instructions: sommige operaties duren langer voor bepaalde waarden.
Algemene les
Als uitvoeringstijd correleert met geheime data, ontstaat een timing side channel.
Dit laat toe de zoekruimte sterk te verkleinen.
time example 3: explain older mechanisms by which information could be obtained about someone's typing rate, and how that information relates to security-sensitive characters being typed;
Time-based side channel: keystroke events (older mechanisms)
Goal
Wachtwoorden of andere gevoelige toetsaanslagen afleiden.
Capabilities
Netwerktoegang en passief sniffen.
Of: lokale user access met leesrechten op process/system info.
Mogelijkheid om timing tussen events nauwkeurig te meten.
Older mechanisms
SSH (vroeger):
Eén netwerkpakket per ingedrukte toets.
Aanvaller observeert pakket-timing ⇒ typing rate.
Unix/Linux process info (slechte configuraties):
Onprivileged users konden timing, EIP/ESP, CPU-tijd lezen via /proc.
Zichtbaar wanneer een proces wacht op keyboard input.
Exploited correlation
Tijd tussen keystrokes ←> type karakter(s).
Typing rate is niet uniform:
Sommige lettercombinaties trager/sneller.
Pauzes, correcties, enter-toets, etc.
Statistische correlatie tussen timingpatronen en mogelijke wachtwoorden.
Gevolg
Zoekruimte van wachtwoorden wordt sterk verkleind via timinginformatie.
power example 1: explain how a simple power attack works;
Simple Power Analysis (SPA)
Goal
Geheime data achterhalen (bv. cryptografische sleutels).
Capabilities
Fysieke toegang of meetopstelling om stroom/verbruik te meten.
Hoge-resolutie power traces tijdens uitvoering.
Kennis van implementatie of typische verbruikspatronen.
Exploited correlation
Vermogensverbruik ←> uitgevoerde instructies/operaties.
Vermogen hangt af van aantal bitflips en type operatie.
Verschillende operaties of operandwaarden veroorzaken herkenbare patronen.
Attack idea
Meet power trace tijdens uitvoering.
Herken patronen die overeenkomen met specifieke stappen (bv. key-dependent branches).
Leid bits van het geheim af uit het waargenomen verbruik.
power example 2:
explain how a differential power attack works;
explain why such an attack (when it is feasible in some scenario) is much harder to defend against than a simple power attack
(i.e., that any correlation suffices between power consumption and internal bits, even if the attacker does not know a priori what the correlation looks like);
briefly discuss the practical issues that make this type of attack feasible only in limited scenarios;
Differential Power Analysis (DPA)
Goal
Volledige geheime sleutel reconstrueren (bv. crypto key).
Capabilities
Veel power traces meten van hetzelfde apparaat.
Keuze of kennis van inputs (chosen / known plaintexts).
Basiskennis van het algoritme (niet van hardware details).
How the attack works
Verzamel veel power traces voor dezelfde sleutel.
Kies een intern bit (b) (afhankelijk van kleine subset key bits).
Voor elke mogelijke subkey-guess:
Bereken (b) hypothetisch per trace.
Splits traces in twee groepen: (b=0) en (b=1).
Neem het gemiddelde per groep en trek ze van elkaar af.
De juiste subkey-guess geeft een duidelijke piek/vallei in het verschil.
Exploited correlation
Power consumption ←> waarde van een intern bit (0 vs 1).
Exacte vorm van de correlatie is niet nodig, ze moet enkel bestaan.
Why harder to defend than SPA
SPA vereist herkenbare, zichtbare patronen.
DPA werkt met statistiek:
eender welke kleine correlatie volstaat;
geen kennis nodig van waar of hoe het lek precies zit.
“Noise” wordt weggefilterd door averaging over veel traces.
Practical limitations
Veel traces nodig.
Traces moeten correct tijd-aligned zijn.
Moeilijk op complexe, snelle CPUs (out-of-order, caches).
Vooral haalbaar op eenvoudige, trage devices (bv. smart cards).
Kerninzicht
Als power ook maar minimaal afhangt van geheime bits, kan DPA die bits statistisch blootleggen.
example 3: explain how an accelerometer can be used to steal sensitive data;
Accelerometer side channel
Goal
Gevoelige input afleiden (bv. getypte wachtwoorden).
Capabilities
Kwaadaardige app draait tegelijk met slachtoffer-app.
Toegang tot accelerometer (vroeger zonder speciale permissies).
Mogelijkheid om sensor-data continu te loggen.
Exploited correlation
Toetsaanslagen veroorzaken kleine, toets-afhankelijke bewegingen.
Accelerometerwaarden (richting/sterkte) ←positie van de getypte toets.
Statistische patronen linken acceleratiesignalen aan specifieke toetsen.
Attack idea
Meet accelerometerdata tijdens typen.
Classificeer signalen per toetsaanslag.
Reconstrueer ingevoerde tekst (volledig of gedeeltelijk).
Kerninzicht
Niet-gevoelige sensoren kunnen toch input lekken via fysische correlaties.
example 4: explain how a multiplier in an simultaneous multithreading core's execution pipeline can be used as a covert channel, including why attackers may want to use such covert channels;
Covert channel via shared multiplier (SMT core)
Goal
Geheime bits doorgeven tussen processen/threads die logisch geïsoleerd zijn.
Security- en privilegegrenzen omzeilen (bv. data lekken naar netwerkproces).
Capabilities
Aanvaller kan code laten draaien op dezelfde SMT-core als slachtoffer/insider.
Beide threads delen execution units (bv. multiplier).
Aanvaller kan eigen uitvoeringstijd meten.
How the covert channel works
Insider encodeert bits via resourcegebruik:
bit = 1 → actief multiplier bezetten (veel MUL-instructies).
bit = 0 → multiplier vrij laten.
Observer voert code uit die de multiplier nodig heeft.
Contention ⇒ langere uitvoeringstijd.
Geen contention ⇒ kortere uitvoeringstijd.
Timingverschil decodeert de verzonden bit.
Exploited correlation
Uitvoeringstijd observer ←> beschikbaarheid multiplier ←> bitwaarde insider.
Gedeelde hardware resource fungeert als communicatiemedium.
Why attackers want covert channels
Rechtstreekse output (bv. netwerk, files) is vaak verboden.
Covert channels laten data lekken ondanks correcte OS-, memory- en privilege-isolatie.
Bruikbaar in cloud/VM-omgevingen met gedeelde hardware.
Kerninzicht
Gedeelde microarchitecturale resources kunnen bewust misbruikt worden als communicatiekanaal, zelfs zonder expliciet datalek.
example 5: explain how an AES shared cache attack works;
AES shared cache attack (Prime+Probe style)
Goal
De geheime AES-sleutel achterhalen.
Capabilities
Aanvaller draait een eigen proces/thread op hardware die caches deelt met het slachtoffer.
Kan cache-timing meten (snelle vs trage geheugenaccesses).
Kennis van AES-implementatie (S-box lookup).
How the attack works
Prime: aanvaller vult specifieke cachelijnen met eigen array.
Victim runs: AES gebruikt S-box table lookups; die verdringen (evict) bepaalde cachelijnen.
Probe: aanvaller herleest zijn array en meet toegangstijden.
Trage accesses ⇒ cachelijn was verdrongen door victim.
Exploited correlation
Toegang tot specifieke S-box entries <> geheime sleutel + plaintext.
Cache-evictions lekken welke S-box indices gebruikt zijn.
Result
Statistische analyse over vele encrypties onthult sleutelbits.
Kerninzicht
Gedeelde caches vormen een high-bandwidth side channel:
geheugen-toegangspatronen lekken cryptografische geheimen, zelfs bij correcte software-isolatie.
Covert channel via phone volume setting
Goal
Gevoelige data lekken (bv. adresboek) naar het netwerk, ondanks permissiebeperkingen.
Capabilities
Twee kwaadaardige apps draaien op hetzelfde toestel.
App A: toegang tot gevoelige data, geen netwerk.
App B: netwerktoegang, geen gevoelige data.
Beide hebben toegang tot volume-instellingen (globale resource).
How the covert channel works
App A encodeert geheime data door volume-niveaus of volumepatronen te zetten.
App B leest periodiek de volume-instelling.
App B decodeert de data en verstuurt ze via het netwerk.
Exploited correlation
Volume-instelling <> gecodeerde bits.
OS behandelt volume als niet-gevoelige, gedeelde staat.
Why attackers want covert channels
Om permissiemodellen te omzeilen.
Om gevoelige data te lekken zonder directe datastromen.
Om security checks te passeren terwijl elke app individueel “legitiem” lijkt.
Kerninzicht
Gedeelde, niet-beveiligde systeeminstellingen kunnen misbruikt worden als betrouwbare communicatiekanalen.
airgaps: explain what airgapping is, why it is normally used, and give and briefly explain some concrete examples of options to use covert channels to bridge air gaps.
Airgapping
What it is
Fysieke en logische isolatie van een systeem: geen netwerkverbinding met andere systemen of het internet.
Why it is used
Bescherming van zeer gevoelige systemen (bv. militaire, industriële, crypto-keys).
Aanname: zonder netwerk is exfiltratie of remote aanval onmogelijk.
Why it fails
Airgaps stoppen netwerkkanalen, niet fysische of gedeelde kanalen.
Malware op het air-gapped systeem kan nog steeds signalen uitsturen.
Covert channels to bridge air gaps (examples)
Electromagnetic
GPU, memory of USB-bus zendt RF-signalen uit.
Ontvangen door nabij toestel (radio, SDR).
Optical
HDD-LED, keyboard-LED, schermhelderheid of QR-codes.
Camera of visuele sensor leest gemoduleerde bits.
Acoustic
Speaker, HDD-geluid, fan noise.
Microfoon decodeert data uit geluidspatronen.
Others
Core insight
Airgapping reduceert het aanvalsoppervlak, maar elimineert geen side/covert channels.
Elk fysisch meetbaar effect kan misbruikt worden als datakanaal.