p1 hardware based attacks and defenses

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/11

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

12 Terms

1
New cards

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.

2
New cards

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;

3
New cards

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.

4
New cards

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.

5
New cards

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.

6
New cards

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.

7
New cards

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.

8
New cards

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.

9
New cards

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.

10
New cards

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

  1. Prime: aanvaller vult specifieke cachelijnen met eigen array.

  2. Victim runs: AES gebruikt S-box table lookups; die verdringen (evict) bepaalde cachelijnen.

  3. Probe: aanvaller herleest zijn array en meet toegangstijden.

  4. 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.

11
New cards

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.

12
New cards

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.