Power LED Attack - Computerphile

Sdílet
Vložit
  • čas přidán 28. 06. 2023
  • Extracting a secret key by simply watching the flickering of an LED? Sounds implausible but that's what we're discussing with Dr Mike Pound!
    Author’s page on the attack:
    Video-Based Cryptanalysis (nassiben.com)
    Paper: bit.ly/C_PowerLED
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computer Science at the University of Nottingham: bit.ly/nottscomputer
    Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

Komentáře • 497

  • @sean_vikoren
    @sean_vikoren Před 11 měsíci +360

    Back in the day, the sound of the drive was a powerful debugging tool for programmers.
    You could literally hear a bad sort.

  • @DataCab1e
    @DataCab1e Před 11 měsíci +690

    Reminds me of the early days, when "transmit" and "receive" status lights were wired directly to those lines, and transmission rates were a lot lower. Data could be intercepted literally just by recording those lights.

    • @dgo4490
      @dgo4490 Před 11 měsíci +48

      It reminds me of the days of analog lines, where dial-less (receive calls only) phones could still be hacked to dial by pulsing the numbers on the close line switch, which is how the analog rotary dial does it as well.

    • @Huvada
      @Huvada Před 11 měsíci +31

      On Arduino’s they still are wired directly to the communication lines :p on the atmega based nano anyways. Correction in response to Catelyn’s comment: this is only true on Arduino using the CH340 chip, which is the case for many clones. The official Arduino nano does not have this problem and uses normal activity LEDs that blink independent from content. I didn’t realize I had a clone schematic in front of me, my bad!

    • @major__kong
      @major__kong Před 11 měsíci +14

      Reminds me of the day when we used to send Morse using light guns. You could read the message just by reading the lights. How insecure :-)

    • @catgirlQueer
      @catgirlQueer Před 11 měsíci +5

      @@Huvada false, they're wired to the communication activity lines on the UART USB bridge

    • @cameronmonks1561
      @cameronmonks1561 Před 11 měsíci +25

      ⁠@@major__kongreminds me of the days when we use to send information by talking to people in person. You could just listen. How insecure :).

  • @BatterOrWurst
    @BatterOrWurst Před 11 měsíci +102

    I worked for IBM Office Products in 1980. Selectric typewriters bound for US embassies had to have a capacitor and a heavy flywheel installed to prevent powerline analysis of the characters being typed.

    • @nixonkutz3018
      @nixonkutz3018 Před 11 měsíci +6

      I was thinking a similar thing is at play with the LED - there some impedance in the LED itself and the circuit that drives it, resulting in essentially a low-pass filter that *has* to cutoff far below the MHz of the CPU. Furthermore, the intensity & color of LEDs is typically controlled by PWMing a current source - again, limiting the rate at which the LED can change intensity.

    • @gaborm4767
      @gaborm4767 Před 11 měsíci

      Who would have analyzed the powerline and where?

    • @absalomdraconis
      @absalomdraconis Před 10 měsíci +1

      ​@@nixonkutz3018 : You can fight against the "inertia" of an LED by forcing the current going into it. This itself has a limit on it's effectiveness, but does get you frequency improvements, and in the simplist examples will be present in power LEDs without being intended.

    • @absalomdraconis
      @absalomdraconis Před 10 měsíci +3

      ​@@gaborm4767: In the 80s? Stereotypical case would be KGB, but really any semi-sophisticated group could have tried it.

    • @BatterOrWurst
      @BatterOrWurst Před 10 měsíci +3

      @@gaborm4767 Russians at the time. US embassies

  • @russell2952
    @russell2952 Před 11 měsíci +107

    Dr. Pound is naturally gifted at explaining things

    • @MarioGoatse
      @MarioGoatse Před 11 měsíci +2

      His name is Dr Octothorp where I’m from

  • @Gvozd111
    @Gvozd111 Před 11 měsíci +301

    I was studying cybersecurity in Kyiv Polytechnic. One of the thing they developed in 80s and 90s was a device that can pick up radiation from tube computer monitor and produce near perfect image from another room. This cannot be done with LCD but picking up radiation from computer itself is still valid attack vector (exactly the same principle as mentioned in the video). So there are special radiation blocking boxes that computer should be placed in. They also told us methods of picking up vibrations from window glass to listen to conversations inside. Kinda wish now that I took more of those classes, I was more into math and crypto back then

    • @peterfireflylund
      @peterfireflylund Před 11 měsíci +23

      TEMPEST.

    • @MeiinUK
      @MeiinUK Před 11 měsíci +2

      Crazy that this existed back then. I just saw a laser printer that existed in 1900. Even more crazy.

    • @GrandPoobah4
      @GrandPoobah4 Před 11 měsíci +15

      Reminds me of the chapter from Cryptonomicon

    • @markzockerzwerg8997
      @markzockerzwerg8997 Před 11 měsíci +11

      ​@@GrandPoobah4 Van-Eck-Phreaking

    • @philp4684
      @philp4684 Před 11 měsíci +7

      Back in the 1980s, my brother and I had a small portable TV - the sort with the aerial on top and a channel tuning dial instead of preset channel buttons. One day, we were scanning through the frequencies, and we picked up a fairly clear signal from our next door neighbour playing Green Beret on his C64.

  • @seedmole
    @seedmole Před 11 měsíci +104

    I saw the paper on this the other day, very cool stuff. I never realized that the rolling shutter meant that a video camera actually captures *more* samples per second than audio recorders at standard audio sample rates. I've always understood that there would be circumstances where electrical leakage could reveal sensitive info, and I've always wondered what precisely was responsible for the flickering of my network switch's LED.. makes sense that these two concepts are related. The missing factor for me was definitely that rolling shutters could give a quick enough sample rate to capture the data needed to do this operation.
    Also processing time-based attacks are useful in certain videogame contexts. The one that comes to mind is in Path of Exile, where you can farm certain low percentage things very quickly by paying attention to how long areas take to load: if the area loads quickly, leave and open a new instance of it, because that means none of the additional low-probability things are present; if it takes longer than usual, then the server had to process the generation of those additional things and you should stay in the zone until you find them.

    • @VorpalHerring
      @VorpalHerring Před 11 měsíci +6

      Your PoE example reminded me of how in Fate Grand Order, when you are rolling the Gacha you can reliably guess whether a given roll is the new Servant you are trying to get before the animation even starts just because there is a noticeable delay at the start where it has to load assets for the new Servant.

    • @jamesphillips2285
      @jamesphillips2285 Před 11 měsíci +6

      Activity LEDs on network gear are not as useful now that they started blinking as a steady rate to avoid leaking information.

    • @fss1704
      @fss1704 Před 11 měsíci

      @@VorpalHerring Same on Warface boxes

  • @Huvada
    @Huvada Před 11 měsíci +585

    This the Lock Picking Lawyer, and today we’re going to exploit the presence of an LED on this cheap Chinese lock to open it.

    • @FasutonemuMyoji
      @FasutonemuMyoji Před 11 měsíci +15

      .. and somehow the Computerphile vid is 12 min but LPL does it in 3:48

    • @maximus6884
      @maximus6884 Před 11 měsíci +1

      Using a made in china iphone 😂

    • @kendlyduprince
      @kendlyduprince Před 11 měsíci

      Sorry the lawyer is a mere child at that level

    • @OutbackCatgirl
      @OutbackCatgirl Před 11 měsíci

      i was literally scrolling past a lpl video before i clicked on this. lo and behold, top comment is this.

    • @4.0.4
      @4.0.4 Před 11 měsíci +2

      ​@@marcosolo6491he'd have to read the name twice, to confirm it was a Fluke.

  • @Pystro
    @Pystro Před 11 měsíci +238

    To everyone who writes an "Ah, the fix is easy just do this" comment; the problem isn't this specific vulnerability. The problem that this is one of dozens or hundreds of attack vectors into dozens or hundreds of possible algorithms, each made from thousands of lines of code. And each one showing more hard to imagine ways to utilize side channel information. Any one of them is easy to fix, if you are aware of it. And any diligent software or hardware engineer who is qualified to work on cryptography stuff *will* attempt to fix as many of these issues as they are aware of. It's the "being aware" part and the sheer number of possible issues that's the problem.

    • @Manoplian
      @Manoplian Před 11 měsíci +33

      Adding on to this, it's possible for someone to harden their security against every single known side channel attack, but if someone thinks of a new one, then suddenly all existing infrastructure is vulnerable.

    • @pistonsjem
      @pistonsjem Před 11 měsíci +15

      Ah, the fix is easy just destroy the LED

    • @davidw8668
      @davidw8668 Před 11 měsíci

      ​@Canzandridas, yes, better protection is very bad

    • @puucca
      @puucca Před 11 měsíci

      Exactly

    • @gblargg
      @gblargg Před 11 měsíci +1

      @@pistonsjem And if it was a blue LED, it deserved destruction anyway.

  • @SystemBD
    @SystemBD Před 11 měsíci +35

    Plot twist: The shirt is also a vision-based attack. Your system is now compromised.
    /joke, of course

  • @shufflecat3334
    @shufflecat3334 Před 11 měsíci +52

    This must explain some readers I've seen which seem to turn off their LED while authenticating. The job of the LED is to advertise to users that the device is powered and working, once cryptography is occurring the LED has already done its job and can be powered off for the brief moment the CPU needs power.

    • @pokepress
      @pokepress Před 11 měsíci +7

      I’ve also heard of some similar light-based “spy” techniques being potentially thwarted using noise on the power going to the light.

    • @JH-tc3yu
      @JH-tc3yu Před 6 měsíci

      Ze Rd DQ. Jv,№

  • @oresteszoupanos
    @oresteszoupanos Před 11 měsíci +11

    Wheeeen twooooo....
    grids hit your lens
    and your sensor does sense
    that's a Moirééééé 😀

  • @gloverelaxis
    @gloverelaxis Před 11 měsíci +6

    this is such creative hacking; i love it! using the rolling shutter effect to sacrifice visual resolution for time resolution is just so ingenious

  • @seeigecannon
    @seeigecannon Před 11 měsíci +7

    That is neat. A camera makes sense for static analysis. For a more realtime analysis a photo diode can be used and plugged straight into an oscilloscope. I found one with a 200pS response time for $15 on Digikey (part number 1601-C30737MH-230-80A-ND).

  • @ReidBallardIII
    @ReidBallardIII Před 11 měsíci +253

    This specific attack feels like it would be more reasonable to fix in hardware than software.

    • @PIXELamPC
      @PIXELamPC Před 11 měsíci +95

      yeah, a capacitor on the led might do the trick

    • @rhysbaker2595
      @rhysbaker2595 Před 11 měsíci +38

      Simply switch off the LED when processing cryptography?

    • @gianluca.g
      @gianluca.g Před 11 měsíci +30

      @@PIXELamPC Uhm no, that's security through obscurity. The real fix is to use an algorithm which always perform a square and a multiply for each bit of the private key, even if the multiply part is not used (bit = 0).

    • @drkastenbrot
      @drkastenbrot Před 11 měsíci +21

      there are basic mitigations in hardware but nothing you can really do to truly prevent someone from seeing fluctuations in processor power. its down to the software to add nops to take the discernible pattern out of power consumption.

    • @somdudewillson
      @somdudewillson Před 11 měsíci +121

      @@gianluca.g Uh... no, that's not security through obscurity. Knowing that the power led is filtered doesn't make the system any less secure - it's still removed an attack vector.

  • @threeMetreJim
    @threeMetreJim Před 11 měsíci +29

    A useful application of flickering lights and rolling shutter would be to modulate room lighting so that, say, if a photograph of a secret document was released, you would know exactly where the picture was taken and be able to narrow down suspects.

    • @janoschabr
      @janoschabr Před 10 měsíci +4

      Something similar already exists with the background hum heard in analog audio. Although there it isn't done on purpose.
      Tom Scott has a video called "The hidden background noise that can catch criminals" where he explains exactly this.

    • @barneylaurance1865
      @barneylaurance1865 Před 10 měsíci

      If the photographer knew that was being used they could defeat it either by using a longer exposure or by using flash. Or simply by retyping the document and not sharing the original photo.

    • @halbronk7133
      @halbronk7133 Před 6 měsíci

      @@barneylaurance1865 Or you could just use film.

  • @orange_leaf4913
    @orange_leaf4913 Před 8 měsíci

    Really enjoyed this video. Started watching computerphile in high school and now I’ve graduated university. I thought I had chosen a nice medium from the course page and videos from my two fave which is art and technology. But as the course got further and further away from what I initially enjoyed, I kind of lost my sense of self in my practice but watching this today I remember why I fell in love with this field in the first place!

  • @xystem4701
    @xystem4701 Před 7 měsíci

    Always a fan of Professor Pound! He's a wonderful explainer

  • @Antymatters
    @Antymatters Před 11 měsíci +27

    This reminds me of some work people were doing on generating 3d models using the noises of a 3d printer as it prints.

  • @wktodd
    @wktodd Před 11 měsíci +20

    RF emission may also relate to power consumption, so a simple tranny radio close to the reader may also work.

    • @jhoughjr1
      @jhoughjr1 Před 11 měsíci +1

      It “may”. Most likely not in any real design.

    • @666Tomato666
      @666Tomato666 Před 11 měsíci

      @@jhoughjr1 capturing noise from the microphone running on the same laptop is enough, yes, radio will work just as well as this power LED attack

    • @migueldelag
      @migueldelag Před 11 měsíci +1

      @@666Tomato666 wow read this, and tried putting my ear on the bottom of my laptop and scrolled with the trackpad, you can listen the cpu computing, no joke

  • @DmitryKiktenko
    @DmitryKiktenko Před 10 měsíci +1

    Adding low-pass filter in form of capacitor will filter out rapid changes in brightness and ruin analysis approach. Also there could be lots of other noise in power signal from power source and converters, other ICs on the same power line, etc. However, the paper gives unusual view angle on hardware, thank you for telling the story, it was interesting to learn of

  • @LaMirah
    @LaMirah Před 11 měsíci

    Loved the shirt! Very trippy.

  • @allvods1385
    @allvods1385 Před 6 měsíci

    The attack is so clever ! From the idea of using the LEDs to using the fact that pixels are not synchronized, it's very bright

  • @darrenchapman7203
    @darrenchapman7203 Před 10 měsíci +2

    Try a solar cell, small amplifier and speaker, feed the output of the solar panel into the amplifier while pointing the panel at distant car headlights, a lens and enclosure will help to focus the light, you should hear the music that the driver is listening to, the louder they have it the higher the amplitude expressed by their lights. I did this experiment back in the late 1980s with a radioshack solar cell and intercom and a lens while using my own car as the light source the song playing at the time was Boys in town, Divinyls.

  • @joshuahillerup4290
    @joshuahillerup4290 Před 11 měsíci +24

    Another problem with trying to fix this, is even if the developers of a cryptographic library does take steps to avoid these attacks, they can't always be sure that some consumer of the library won't have something in their toolchain that optimizes away the fix

    • @cameron7374
      @cameron7374 Před 11 měsíci

      Time to dynamically link all of your crypto libraries and to never compile them from source.

    • @joshuahillerup4290
      @joshuahillerup4290 Před 11 měsíci +1

      @@cameron7374 and never use bytecode, all of which is a problem if you're on a less than common architecture

    • @jhoughjr1
      @jhoughjr1 Před 11 měsíci

      It’s actually not hard to fix at all and have seen ZERO evidence of it being done outside a lab.

    • @JorgetePanete
      @JorgetePanete Před 11 měsíci

      since the standard is Rust just use the black box to make the compiler not optimize it

  • @Happydrumstick93
    @Happydrumstick93 Před 11 měsíci +53

    It would suck if someone went through all this effort - making a device to do this analysis, figuring out how to break into the server room... Only for them to find out someone put a capacitor across the LED essentially making this entire attack void.

    • @lucrativelepton
      @lucrativelepton Před 11 měsíci +10

      I thought about this too lol, seems easy to protect against

    • @RafaelKarosuo
      @RafaelKarosuo Před 11 měsíci +8

      At least now they know that it wasn´t that useless and just be removed from the BOM to reduce costs

    • @viacheslav1392
      @viacheslav1392 Před 11 měsíci +1

      how would the capacitor save you from current change in led...

    • @ado3247
      @ado3247 Před 11 měsíci +8

      @@viacheslav1392 by making the voltage smoother

    • @square_wheel
      @square_wheel Před 11 měsíci +2

      ​@@ado3247 Smoother but probably leaking some variations that can be measured with more accurate sensors.

  • @Stego27
    @Stego27 Před 11 měsíci +36

    I'm surprised video compression doesn't wreak havoc with this approach.

    • @Orxenhorf
      @Orxenhorf Před 11 měsíci +14

      It would.

    • @7thboss931
      @7thboss931 Před 11 měsíci +1

      The monitoring would need to be pretty accurate but if you know a little filmography it would be easy to configure

    • @7thboss931
      @7thboss931 Před 11 měsíci +1

      If you’ve seen Tom Scott’s video on MP4 compression I’m pretty sure it would be fine with 3 colors

    • @Ghi102
      @Ghi102 Před 11 měsíci +8

      Lossless compression shouldn't impact anything and you could always film without any compression

    • @ShaunHusain
      @ShaunHusain Před 11 měsíci +3

      Ah heh didn't make it to part of the vid where they explained using the offset in time from rolling shutter/rows of pixels as a means of amplifying the effective sample rate but think photoresistor and oscilloscope could work fine too in terms of upping the sample rate.

  • @brycemw
    @brycemw Před 10 měsíci +2

    There are so many attacks like this because you can even end up in situations where the amount of power used is not just based on the number of computations but even the contents of registers etc because a register full of 1s takes more power than one full of zeros

  • @MrSonny6155
    @MrSonny6155 Před 11 měsíci +5

    I would say the shirt is quite thematically appropiate for a video on video-based attacks.

  • @stevelin3659
    @stevelin3659 Před 9 měsíci

    My brain exploded from the ingenuity from this paper when I heard the word "rolling shutter", this is peak human ingenuity!

  • @CrazyMineCuber
    @CrazyMineCuber Před 11 měsíci +4

    Would be interesting if somebody tries to perform this attack on the DNSSEC root key ceremony that is livestreamed to CZcams. You can actually see the led’s blinking on their HSM when they are putting in their smart cards. Although it is not as zoomed in as the paper suggested.

  • @Veptis
    @Veptis Před 15 dny

    This is the kind of paper (and hack con talk) I would love to see more off.

  • @Pumbear
    @Pumbear Před 10 měsíci

    Great explanation!

  • @roger_isaksson
    @roger_isaksson Před 10 měsíci +1

    A tiny cap between the series resistor and LED would make an effective low-pass filter that would mitigate this. Add a ferrite in series as well to add another tap to the filter.

  • @Endelin
    @Endelin Před 11 měsíci +3

    Finding the actual worst shirt pattern could be a fun video in itself.

  • @RobJD
    @RobJD Před 11 měsíci +1

    I love this magic little hack, with a bit of context, they're basically shouting their secrets.

  • @bernard2735
    @bernard2735 Před 11 měsíci

    We were so enthralled by what you had to say that no one noticed the moiré 😊

  • @dmitrystelefona8453
    @dmitrystelefona8453 Před 11 měsíci +1

    Just finished another attack vid and this in was in queue, neat.

  • @alimanski7941
    @alimanski7941 Před 11 měsíci

    The same group at Ben Gurion University who put out this paper produces quite a lot of research in the same vein. Interesting concepts.

  • @paulstubbs7678
    @paulstubbs7678 Před 11 měsíci +2

    This kind of reminds me of an early chip, the MC6805K1 I used, it only had 512 bytes of flash, so when I wrote some code for it I quickly ran out of space, I ended up with a string of calculations that all got run in a line, one after the other, as there was no room for the conditionals to do otherwise. I just used the results I needed at various times and ignored the others, doing this in a security box as mentioned would help confusing the attackers.
    Also many years ago I got a touch close to some gear used by the military for secure comms, it used a shunt mode power supply, so no matter what it was doing it always drew the exact same current, monitoring the power would reveal nothing. They knew all about this one 35+ years ago, so why this modern junk without remidiations known about for like absolute ages.

  • @katejay9786
    @katejay9786 Před měsícem

    The idea of a computer basically announcing "I FOUND A 1!!! I'M GONNA STORE IT SOMEWHERE SUPER SECRET FOR U" is really funny to me

  • @PuerinTheHunter
    @PuerinTheHunter Před 11 měsíci

    It's been a long time since I've seen that continuous feed paper, with those perforations on the sides.
    Is he still using matrix printers over there?

  • @mindstorms8888
    @mindstorms8888 Před 11 měsíci

    Wow that was super clever to use the rolling shutter.
    As an EE, that means to add more decoupling capacitors to the mcu and led driver circuit. Just one more attack vector to think of

    • @pigpuke
      @pigpuke Před 11 měsíci

      Or, just disable the LED, don't have it on constantly, etc. Many ways to protect against this.

  • @zelllers
    @zelllers Před 11 měsíci +5

    Reminds me of that side channel attack to an air gapped network using air temperature and ambient air sensors built into the servers.

    • @gblargg
      @gblargg Před 11 měsíci +1

      Wow, did it cause the transmitter to heat up (by doing CPU-heavy tasks), then read that as the server next to it heating up despite no change in its load?

    • @zelllers
      @zelllers Před 11 měsíci +3

      @@gblargg I don't remember the details, it was a theoretical attack but not something found in the wild. I think the scenario was an insider that compromised the HVAC control system and also implanted software in the air gapped server. They could then open a VERY low bitrate communication channel, something like 40 bits per hour I think

  • @legion1791
    @legion1791 Před 10 měsíci

    This is the coolest thing ever!!!

  • @AndyGaskin
    @AndyGaskin Před 11 měsíci

    Really fascinating

  • @IlluminatiBG
    @IlluminatiBG Před 11 měsíci +10

    Super interesting. However, a possible solution for this specific problem is quite easy to get - store both the original value x and the temporary result to an array of 2 (or two registers in assembly). Then on each loop shift the exponent by 1, and extend the LSB to integer to get the index within the array and multiply (no conditional jump required). You will multiply by original number if 0: x * x^t = x^(t+1) or by the temporary result of 1: x^t * x^t = x^(2*t). Not only it is the same number of operations, but uses only one multiplication per loop (but also one additional bitwise-and operation per loop).
    Interestingly, there are a lot of problems like this, where writing an algorithm with imperative language, especially using if/else can reveal data to side-channels like the one in this paper, but writing homogeneous implementations (where number of instruction executed on each unit is the same), suitable for the way GPU works avoids this problem.

    • @kurt7020
      @kurt7020 Před 11 měsíci +1

      Yeah - right up until the instructions generated by *someone else's* compiler outputs not-what-you-thought-it-would. The problem is obvious, the solution is simple - never happens.

  • @danceswithdirt7197
    @danceswithdirt7197 Před 11 měsíci

    Great video.

  • @MrCarni2
    @MrCarni2 Před 10 měsíci

    I've got two ideas off the top of my head to fix this vulnerability, would these work well in practice? I'm aware that more practical approaches have been commented so far but I'm curious whether these are viable at all.
    a) for devices like personal computers or servers which usually come with a power led, one could design software that handles cryptographics so that it would also run some junk maths in parallel on another thread because it is typical for these kinds of machines to have more than one core
    b) for dedicated small devices like an ATM, or some kind of a peripheral where it could be expected for a cpu to only have a single core, one could design the hardware to accommodate for heightened security because they are expected to handle cryptographics all the time, so it would make sense to put a door in front of the power led and only open it when it is needed to be seen when the machine is repaired, serviced, or under maintenance

  • @Orxenhorf
    @Orxenhorf Před 11 měsíci +10

    One smoothing capacitor on the LED and the entire attack is all but impossible. Any remaining power fluctuations would be many, many -instructions- operations long. Proper usage in the logic circuitry would also mask it to ridiculously low levels.

    • @CyclingSteve
      @CyclingSteve Před 11 měsíci +2

      Exactly. I stopped watching when I realised he was going to use maths to solve a simple hardware issue.

    • @thomasb4422
      @thomasb4422 Před 11 měsíci +5

      also a PC is already filled with lots of smoothing capacitor. There are some on the CPU, some next to VRMS, some in the PSU, and there's even an inductor in the VRMs. Absolutely no direct correlation between the CPU power consumption ( a 1000Mhz CPU runs one clock cycle every picosecond!) and the power usage of the system (which fluctuates in milliseconds)

    • @mytube001
      @mytube001 Před 11 měsíci

      @@thomasb4422 Exactly!

    • @u2bear377
      @u2bear377 Před 11 měsíci +8

      @@thomasb4422 A system running the secret key calc algorithm is not always a personal computer.
      It could be a mere smartcard lock.

    • @Richardincancale
      @Richardincancale Před 11 měsíci +1

      Yup - came to say this. A 0.1 cent 100nF capacitor across the LED will give it a time constant of tenths of a second making such an attack impossible. Look at the interior light in your car as it fades down when you close the door - just a cheapo capacitor, nothing sophisticated.

  • @realkrzaku
    @realkrzaku Před 11 měsíci +2

    It's anything but practical. It assumes a lot of things, that the processor does nothing but encryption/decryption all the time or most of the time, that you know what kind of encryption and the specific implementation it uses, that a high resolution, high framerate and a very high zoom camera is available or that you can get into there with a camera of your own and put it right on the led. And by the time you can get close enough with a camera to an led that you can read that leds fluctuation when the device is reading a smart card (seems the only use case for this), you can just yank the card out of that persons hand or something, because you're already suspicious enough. It's interesting, but it's not at all feasible nor practical. It's basically a fun fact.

  • @cannaroe1213
    @cannaroe1213 Před 11 měsíci

    4:52
    There are loads of variants of this, including two variants that are in this paper ᵃˡʳᶦᵍʰᵗ
    One of the ones in the paper is, how long the signature process takes, for ECC DSA, can divulge, with enough of these, what the secret key is ᵃˡʳᶦᵍʰᵗ
    Because basically it informs us of how many leading zeros there are, in the RNG that was used in the signature ᵃˡʳᶦᵍʰᵗ

  • @jimbobbyrnes
    @jimbobbyrnes Před 11 měsíci

    Could you use one of those wireless amp meters to measure the current itself? No led needed just measure the quiescent current number and compare to every button press.

  • @mallxs
    @mallxs Před 11 měsíci +1

    Power leds used to work different in the old days. (adleast in the Northstar)
    It was a led with a RC net work and it is powered from a interupt routine every time interfal.
    This would not give a way any internal working and also shows the OS is stil running correct.

  • @Bbonno
    @Bbonno Před 11 měsíci +2

    Miele dishwashers don't have anything you can plug a data cable in to: the technician talks to it using blinking LEDs (for logs, status, run counts etc). He uses keeps the reader in place with a magnet.
    I think this but if kit is ideal for this attack 😅

  • @rich1051414
    @rich1051414 Před 11 měsíci

    So now we are going to get 'secure LEDs' with a capacitor in parallel and a resistor in series? To explain in programming terms, that's functionally a brightness interpolation or low pass filter for led brightness.

  • @cidercreekranch
    @cidercreekranch Před 11 měsíci +2

    Would adding a large smoothing capacitor to the LED circuit prevent this type of attack?

    • @CyclingSteve
      @CyclingSteve Před 11 měsíci

      Yes. And it would be far simpler in the long run.

  • @ashleycrow8867
    @ashleycrow8867 Před 11 měsíci

    would you need a different algorithm for that based on if it's in the US or the EU? cause the frequency of the power grid is different so there'd be flickering from that too that you'd need to adjust for no?

    • @ashleycrow8867
      @ashleycrow8867 Před 11 měsíci

      actually, you'd probably need to adjust whatever algorithm you're using based on the model of card reader you're looking at already so you could adjust for that too

  • @sandy_knight
    @sandy_knight Před 10 měsíci

    Surely IRL the server's CPU will be processing multiple threads from different processes at the same time, so unless you know what all those other services/requests are how do you filter it out?
    Related(?): I can tell when a compile finishes and whether it was successful from my PC fan.

  • @ashleycrow8867
    @ashleycrow8867 Před 11 měsíci

    last time I worked with hardware was in school but I remember the Routers and switches we used there had 2 flickering lights over every Ethernet port that would flicker if data is transmitted so I was always wondering if they just wired the binary of the data transmitted through the LEDs and if I could read off the package sent by looking at the lights

  • @losthighway4840
    @losthighway4840 Před 11 měsíci +2

    This seems like something that while possible in a lab, is impossible in reality. There are many processes running on the hypothetical computer that is performing these computations, and you'd have no way of isolating the processes from a black box perspective. If the attack is just limited to smart card readers, it seems like it's an electrical circuit design problem. Maybe put the led on a capacitor?

  • @mastershooter64
    @mastershooter64 Před 11 měsíci +17

    Well just add artificial noise into the LED so you can easily throw off these attacks!

    • @anywhereroam9698
      @anywhereroam9698 Před 11 měsíci +2

      It can be average away if repeated.

    • @Deipnosophist_the_Gastronomer
      @Deipnosophist_the_Gastronomer Před 11 měsíci +1

      Have the LED always flash in such a way as to generate a specific key. Whenever somebody uses that key in the card reader, instead of opening the door, your system releases the bees.

    • @leftaroundabout
      @leftaroundabout Před 11 měsíci +1

      @@anywhereroam9698 averaging out the noise is only any use if you can exactly align the signals, else you average away the signal along with the noise. So if there is randomness on the timing too, that's pretty much impossible. There may still be other ways of getting around it, but the noise definitely makes things a lot more difficult for an attacker.

    • @DripDripDrip69
      @DripDripDrip69 Před 11 měsíci +1

      Just an SMD capacitor would be enough.

    • @tesses50
      @tesses50 Před 11 měsíci +1

      if you can manipulate the led why not shut it off during crypto and turn it back on when done (some things need simple answers)
      this would not help the power snooping attack though just so we are clear

  • @Abdullu
    @Abdullu Před 11 měsíci +1

    Looking at Mike's hastily wiped whiteboard, I feel like there is a chance of a whiteboard attack.

  • @hammerth1421
    @hammerth1421 Před 11 měsíci +1

    That's more of an issue with dedicated encryption hardware like smart cards. A modern CPU with let's say 8 cores and hyperthreading is so incredibly noisy that you could never read actual data from it via power consumption. The only thing you can see there are the load insertion and load release transients from really heavy operations like MMX or AVX starting and stopping.

  • @fiftyfat
    @fiftyfat Před 11 měsíci +5

    The LED are like the different sound that would play when your typed your CC code and the melody played would reveal your code, they got rid of the sound, they can get rid of the LED

    • @suncat530
      @suncat530 Před 11 měsíci +1

      you may be able to get rid of the LED, but you can't get rid of changing power consumption or timing discrepansies without changing the code itself

    • @fiftyfat
      @fiftyfat Před 11 měsíci +1

      @@suncat530 yes but at least you're not "broadcasting" your code.

    • @tonelemoan
      @tonelemoan Před 11 měsíci

      Erm, no.

  • @fullmuppet
    @fullmuppet Před 11 měsíci +3

    Some sort of capacitor would seem to be in order.

  • @cmdlp4178
    @cmdlp4178 Před 9 měsíci

    Programming languages need support for branchless programming: It is not just useful to avoid wrong branch prediction, it is also useful in cryptographic implementations like this exact case of the square multiply algorithm.

  • @authentic6825
    @authentic6825 Před 11 měsíci

    Yes, please do a moire pattern video!

  • @Atrix256
    @Atrix256 Před 2 měsíci

    Maybe it'll become standard practice to add capacitors to power LEDs to low pass filter these things. I wonder what else you could do to thr circuit to obfuscate the power usage?
    Some way to add noise to the led current seems like it'd be useful.

  • @chiraldude
    @chiraldude Před 7 měsíci

    The one problem with this is how to know when the processor is processing a crypto task vs something else. CPUs do lots of things besides crypto. Do you just record hours of video then process the data looking for something that resembles a private key?

  • @bunnybreaker
    @bunnybreaker Před 11 měsíci

    I thought this was going to be about hacking smart devices that had IR receivers on the power LED, but it was way more interesting than I could have expected.

  • @barneylaurance1865
    @barneylaurance1865 Před 10 měsíci

    I suppose a difficulty with writing code to always do the same thing whatever the input is that general purpose compilers, CPUs, virtual machines etc etc are all engineered to be efficient, meaning if they can detect that code is doing something that provably doesn't affect the "output" (not thinking of side channels as output) they will skip over that code to save time and power.

  • @bradzdanivsky
    @bradzdanivsky Před 11 měsíci

    where do these guys get the printer paper from 1986?

  • @nenharma82
    @nenharma82 Před 11 měsíci +13

    How is this possible with all the power decoupling happening in electronics?

    • @acbthr3840
      @acbthr3840 Před 11 měsíci +4

      Magnetic fields exist

    • @TheBackyardChemist
      @TheBackyardChemist Před 11 měsíci +18

      cheap hardware

    • @mattsadventureswithart5764
      @mattsadventureswithart5764 Před 11 měsíci +15

      Hardware being specced downwards to make the people holding the purse strings happier.
      Engineers design something super-fast-amazing, the boss gets hold of the design and says "Why do we have x, y and z in this, when a, b and are much cheaper." Boss begins with why, but it isn't actually a question.

    • @Huvada
      @Huvada Před 11 měsíci +5

      @@mattsadventureswithart5764yup. Besides, I wonder if manufacturers considered it a realistic issue that ever crossed their minds. And if it did, if it was worth it for the budget. This stuff is maybe something that you have to cover if your lock is in the absolute top bracket of security where price doesn’t have relevance. But in the competitive market of consumer level locks, or even low security industries, the cost isn’t justifiable to your boss.

    • @Charles20112011
      @Charles20112011 Před 11 měsíci

      Capacitor across the LED, problem solved.

  • @NeiroAtOpelCC
    @NeiroAtOpelCC Před 11 měsíci

    Cool video. I started out thinking 'This cannot be done' and ended with 'This is a real issue' ...

  • @adriantarver2229
    @adriantarver2229 Před 11 měsíci +2

    While such an attack is clever, it's less likely to be used "In the wild" so to speak. Of course, its possible when having just physical access to any given device, but then time also can play a big factor as well. Regardless, very interesting.

  • @oleksiishekhovtsov1564
    @oleksiishekhovtsov1564 Před 11 měsíci +5

    This is insane, I was literally just checking out "Power Analysis Attacks" at the library and now this pops up

    • @pigpuke
      @pigpuke Před 11 měsíci

      Big Brother is watching

  • @Kathlanus
    @Kathlanus Před 10 měsíci

    This is both fascinating and terrifying. But I wonder if it is hard on a hardware level to take care of this. In theory all you have to do is ever so slightly vary the power to the LED continuosly. So that the variance in it's brightness is both random and permanent. Then it is not only harder to tell when the system is doing hard calculations, but it would also scramble the signal on the LED. Maybe an antenna and an operational amplifier could help with that. If the antenna is hooked up to the op-amp. And the op-amp is the last step in the power delivery to the LED, the EM-Field in the area should influence the LED. Should be quite random then.

  • @tlniec
    @tlniec Před 11 měsíci

    No surprise that this is possible in principle, but interesting that a practical implementation was actually demonstrated.
    Then again, even things that seem extremely far-fetched can be achieved when an attacker has sufficient motivation and resources!

    • @gubunki
      @gubunki Před 10 měsíci +1

      unlikely, i mean cpu have multiple process running on a single core, but u also have multiple cores, and the computers have gpu too and other parts that add noise, so really doubt this can be done

  • @mrtnsnp
    @mrtnsnp Před 11 měsíci +1

    Dimming the LED with pulse width modulation will probably mess up this attack rather efficiently, as long as the pulse frequency interferes well enough with the pace of the computations.

    • @DasEtwas
      @DasEtwas Před 11 měsíci

      PWM for lighting is usually in the kHz range, which wouldn't interfer much besides sometimes "turning off" the windows of attacks

  • @marijngrashoff30
    @marijngrashoff30 Před 11 měsíci +1

    Power leds are already being used to capture data spesificly the rubber ducky can use the capslock led on the keyboard to gather data

    • @zwe1l1nkehaende
      @zwe1l1nkehaende Před 11 měsíci +3

      Yes, but in that case the rubber ducky uses the LED to transmit the signal by controlling it. So the transmission via LED is on purpose, while the rubber ducky need a seperate vulnerability to gain control of the LED. In this case the LED is the vulnerability.

  • @ashleycrow8867
    @ashleycrow8867 Před 11 měsíci

    just make the LED flicker randomly every time it does something, it both signifies the user that something is indeed happening and it would work around this kinda, unless your random noise generator for the flickering uses the CPU state as input but that's a whole other issue

  • @EMAngel2718
    @EMAngel2718 Před 11 měsíci +1

    I wonder how well some low pass filters in the electronics could do to fix this

  • @barneylaurance1865
    @barneylaurance1865 Před 10 měsíci

    A lot of photographers will know the problem of using an electronic shutter in a room with LED lighting - depending on the quality of the lighting you can easily get banding in the photo as the rolling shutter makes the the PWM dimming of the LED show up as light and dark bands.
    Not great for photos of people at a party - but this is turning it on its head and making the bands the entire point of the photo.

  • @jonny2085
    @jonny2085 Před 11 měsíci

    would love a vid on Moiré patterns and aliasing

  • @GordonjSmith1
    @GordonjSmith1 Před 11 měsíci

    Every secret leaves a footprint. It is either the. surprise appearance of information, or the surprise lack of information, but a secret is always 'visible'...

  • @vrjb100
    @vrjb100 Před 11 měsíci

    Any video showing this proof of concept really working?

  • @kevinshumaker3753
    @kevinshumaker3753 Před 11 měsíci +2

    If a card is read 'flat' just put the LED in the area the card covers to be read, which hides it, and do an audio beep to indicate the card is approved or not. If it is a plug the card in, put the LED under the slot for the card. If it is a slide/swipe, only light an LED if fail or success, not as power on indication.

    • @zockertwins
      @zockertwins Před 11 měsíci +1

      or just put a capacitor in the LEDs circuit to smooth out the signal

    • @u2bear377
      @u2bear377 Před 11 měsíci

      @@zockertwins When all the capacitor bank of the system's power supply cannot suppress power fluctuations by varying CPU load then a cap for the LED won't fix it.

    • @fusseldieb
      @fusseldieb Před 11 měsíci

      @@u2bear377 Wrong. Small capacitors in picofarad range do filter high frequencies, while normal microfarad caps only filter low frequencies. You kinda need both. Also, for such applications the SMD pF cap would need to be placed RIGHT next to the LED, as close as possible.

  • @carpemkarzi
    @carpemkarzi Před 11 měsíci

    Amazing, scary but damned interesting.

  • @JacobSnover
    @JacobSnover Před 11 měsíci

    "Even I could write that code" That doesn't give me any hope that I could write it Mike! lol

  • @Anonymous______________
    @Anonymous______________ Před 11 měsíci

    Power signal analysis as a side channel attack has been a thing for years.

  • @lancemarchetti8673
    @lancemarchetti8673 Před 11 měsíci

    Brilliant

  • @JohnWilliams-gy5yc
    @JohnWilliams-gy5yc Před 11 měsíci

    PCI-SIG : You have been told...
    PCI-SIG: The 12VHPWR is a side-channel mitigation security feature, never a design flaw.

  • @Adityarm.08
    @Adityarm.08 Před 11 měsíci

    Very interesting.

  • @bartz0rt928
    @bartz0rt928 Před 11 měsíci

    Relatedly but maybe more fictional: can you do a video on Van Eck phreaking?

  • @guitaristkuro8898
    @guitaristkuro8898 Před 10 měsíci

    Cool. They swipe card and led turns off until the processing is done and door unlocked. No more steady lit.

  • @NataliaBazj
    @NataliaBazj Před 11 měsíci

    I don't get: did the authors of the paper successfully achieve something in practice?

  • @stevojohn
    @stevojohn Před 4 měsíci

    Desolder the LED. Job done.

  • @magiman1988
    @magiman1988 Před 11 měsíci

    Similarly the noise cooling fans emit leak a lot of data. Fun stuff

  • @BongoBaggins
    @BongoBaggins Před 11 měsíci +2

    So now we can expect Norton to start selling smoothing capacitor circuits for a million pounds each

    • @Huvada
      @Huvada Před 11 měsíci +1

      They won't sell it to you, it's going to be a subscription model.

  • @trevinbeattie4888
    @trevinbeattie4888 Před 11 měsíci +4

    One thing I don’t understand is how an observer would know that the computer is calculating a cryptographic key as opposed to performing some other CPU-intensive operation?

    • @Huvada
      @Huvada Před 11 měsíci +7

      This method requires the attacker to have technical knowledge of the lock. You already have to know how it processes the key and how it shows up on the LED in order to use the exploit. So I imagine the attacker can tell de difference between the different CPU tasks. Or monitor it for so long that patterns become obvious. This is a super specific exploit, you'll have to approach each system differently.

    • @karapuzo1
      @karapuzo1 Před 11 měsíci

      You can't. You have to know what the system is doing up to a nanosecond and/or initiate the process yourself (probably multiple times). This might only be a practical attack on hardware you have full control of like a nicked crypto wallet.

    • @ch33rfulness
      @ch33rfulness Před 11 měsíci

      Because, like any other hack on the existing hardware around, inside information is leaked.
      I’ve worked on securing engine electronic control units and by the time we were planning a future release, we were finding out that our previous version was already “open” by some “clever guys”, located in “non-friendly” countries.
      Honestly, after doing a lot of investigation (we’ve even purchased some “official” products which were attacking our product), we’ve concluded that somehow there’s some sort of a leak from the inside (lots of engineers have access to such a project and the teams are spread over multiple countries).
      I mean, there was no way that someone, without inside knowledge, would’ve managed to find a workaround so quickly.
      It’s a mouse and cat around the clock race. Quite stressful 😂