Power LED Attack - Computerphile

Поділитися
Вставка
  • Опубліковано 28 чер 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

КОМЕНТАРІ • 497

  • @sean_vikoren
    @sean_vikoren 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +5

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

    • @cameronmonks1561
      @cameronmonks1561 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому

      Who would have analyzed the powerline and where?

    • @absalomdraconis
      @absalomdraconis 10 місяців тому +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 10 місяців тому +3

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

    • @BatterOrWurst
      @BatterOrWurst 10 місяців тому +3

      @@gaborm4767 Russians at the time. US embassies

  • @russell2952
    @russell2952 11 місяців тому +107

    Dr. Pound is naturally gifted at explaining things

    • @MarioGoatse
      @MarioGoatse 11 місяців тому +2

      His name is Dr Octothorp where I’m from

  • @Gvozd111
    @Gvozd111 11 місяців тому +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 11 місяців тому +23

      TEMPEST.

    • @MeiinUK
      @MeiinUK 11 місяців тому +2

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

    • @GrandPoobah4
      @GrandPoobah4 11 місяців тому +15

      Reminds me of the chapter from Cryptonomicon

    • @markzockerzwerg8997
      @markzockerzwerg8997 11 місяців тому +11

      ​@@GrandPoobah4 Van-Eck-Phreaking

    • @philp4684
      @philp4684 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому

      @@VorpalHerring Same on Warface boxes

  • @Huvada
    @Huvada 11 місяців тому +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 11 місяців тому +15

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

    • @maximus6884
      @maximus6884 11 місяців тому +1

      Using a made in china iphone 😂

    • @kendlyduprince
      @kendlyduprince 11 місяців тому

      Sorry the lawyer is a mere child at that level

    • @OutbackCatgirl
      @OutbackCatgirl 11 місяців тому

      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 11 місяців тому +2

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

  • @Pystro
    @Pystro 11 місяців тому +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 11 місяців тому +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 11 місяців тому +15

      Ah, the fix is easy just destroy the LED

    • @davidw8668
      @davidw8668 11 місяців тому

      ​@Canzandridas, yes, better protection is very bad

    • @puucca
      @puucca 11 місяців тому

      Exactly

    • @gblargg
      @gblargg 11 місяців тому +1

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

  • @SystemBD
    @SystemBD 11 місяців тому +35

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

  • @shufflecat3334
    @shufflecat3334 11 місяців тому +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 11 місяців тому +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 6 місяців тому

      Ze Rd DQ. Jv,№

  • @oresteszoupanos
    @oresteszoupanos 11 місяців тому +11

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

  • @gloverelaxis
    @gloverelaxis 11 місяців тому +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 11 місяців тому +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 11 місяців тому +253

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

    • @PIXELamPC
      @PIXELamPC 11 місяців тому +95

      yeah, a capacitor on the led might do the trick

    • @rhysbaker2595
      @rhysbaker2595 11 місяців тому +38

      Simply switch off the LED when processing cryptography?

    • @gianluca.g
      @gianluca.g 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 10 місяців тому +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 10 місяців тому

      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 6 місяців тому

      @@barneylaurance1865 Or you could just use film.

  • @orange_leaf4913
    @orange_leaf4913 8 місяців тому

    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 7 місяців тому

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

  • @Antymatters
    @Antymatters 11 місяців тому +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 11 місяців тому +20

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

    • @jhoughjr1
      @jhoughjr1 11 місяців тому +1

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

    • @666Tomato666
      @666Tomato666 11 місяців тому

      @@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 11 місяців тому +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 10 місяців тому +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 11 місяців тому

    Loved the shirt! Very trippy.

  • @allvods1385
    @allvods1385 6 місяців тому

    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 10 місяців тому +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 11 місяців тому +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 11 місяців тому

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

    • @joshuahillerup4290
      @joshuahillerup4290 11 місяців тому +1

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

    • @jhoughjr1
      @jhoughjr1 11 місяців тому

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

    • @JorgetePanete
      @JorgetePanete 11 місяців тому

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

  • @Happydrumstick93
    @Happydrumstick93 11 місяців тому +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 11 місяців тому +10

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

    • @RafaelKarosuo
      @RafaelKarosuo 11 місяців тому +8

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

    • @viacheslav1392
      @viacheslav1392 11 місяців тому +1

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

    • @ado3247
      @ado3247 11 місяців тому +8

      @@viacheslav1392 by making the voltage smoother

    • @square_wheel
      @square_wheel 11 місяців тому +2

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

  • @Stego27
    @Stego27 11 місяців тому +36

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

    • @Orxenhorf
      @Orxenhorf 11 місяців тому +14

      It would.

    • @7thboss931
      @7thboss931 11 місяців тому +1

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

    • @7thboss931
      @7thboss931 11 місяців тому +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 11 місяців тому +8

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

    • @ShaunHusain
      @ShaunHusain 11 місяців тому +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 10 місяців тому +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 11 місяців тому +5

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

  • @stevelin3659
    @stevelin3659 9 місяців тому

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

  • @CrazyMineCuber
    @CrazyMineCuber 11 місяців тому +4

    Would be interesting if somebody tries to perform this attack on the DNSSEC root key ceremony that is livestreamed to UA-cam. 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 14 днів тому

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

  • @Pumbear
    @Pumbear 10 місяців тому

    Great explanation!

  • @roger_isaksson
    @roger_isaksson 10 місяців тому +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 11 місяців тому +3

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

  • @RobJD
    @RobJD 11 місяців тому +1

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

  • @bernard2735
    @bernard2735 11 місяців тому

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

  • @dmitrystelefona8453
    @dmitrystelefona8453 11 місяців тому +1

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

  • @alimanski7941
    @alimanski7941 11 місяців тому

    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 11 місяців тому +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 Місяць тому

    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 11 місяців тому

    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 11 місяців тому

    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 11 місяців тому

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

  • @zelllers
    @zelllers 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 10 місяців тому

    This is the coolest thing ever!!!

  • @AndyGaskin
    @AndyGaskin 11 місяців тому

    Really fascinating

  • @IlluminatiBG
    @IlluminatiBG 11 місяців тому +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 11 місяців тому +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 11 місяців тому

    Great video.

  • @MrCarni2
    @MrCarni2 10 місяців тому

    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 11 місяців тому +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 11 місяців тому +2

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

    • @thomasb4422
      @thomasb4422 11 місяців тому +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 11 місяців тому

      @@thomasb4422 Exactly!

    • @u2bear377
      @u2bear377 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому

    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 11 місяців тому

    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 11 місяців тому +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 11 місяців тому +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 11 місяців тому

    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 11 місяців тому +2

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

    • @CyclingSteve
      @CyclingSteve 11 місяців тому

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

  • @ashleycrow8867
    @ashleycrow8867 11 місяців тому

    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 11 місяців тому

      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 10 місяців тому

    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 11 місяців тому

    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 11 місяців тому +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 11 місяців тому +17

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

    • @anywhereroam9698
      @anywhereroam9698 11 місяців тому +2

      It can be average away if repeated.

    • @Deipnosophist_the_Gastronomer
      @Deipnosophist_the_Gastronomer 11 місяців тому +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 11 місяців тому +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 11 місяців тому +1

      Just an SMD capacitor would be enough.

    • @tesses50
      @tesses50 11 місяців тому +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 11 місяців тому +1

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

  • @hammerth1421
    @hammerth1421 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 11 місяців тому +1

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

    • @tonelemoan
      @tonelemoan 11 місяців тому

      Erm, no.

  • @fullmuppet
    @fullmuppet 11 місяців тому +3

    Some sort of capacitor would seem to be in order.

  • @cmdlp4178
    @cmdlp4178 9 місяців тому

    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 11 місяців тому

    Yes, please do a moire pattern video!

  • @Atrix256
    @Atrix256 2 місяці тому

    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 7 місяців тому

    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 11 місяців тому

    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 10 місяців тому

    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 11 місяців тому

    where do these guys get the printer paper from 1986?

  • @nenharma82
    @nenharma82 11 місяців тому +13

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

    • @acbthr3840
      @acbthr3840 11 місяців тому +4

      Magnetic fields exist

    • @TheBackyardChemist
      @TheBackyardChemist 11 місяців тому +18

      cheap hardware

    • @mattsadventureswithart5764
      @mattsadventureswithart5764 11 місяців тому +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 11 місяців тому +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 11 місяців тому

      Capacitor across the LED, problem solved.

  • @NeiroAtOpelCC
    @NeiroAtOpelCC 11 місяців тому

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

  • @adriantarver2229
    @adriantarver2229 11 місяців тому +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 11 місяців тому +5

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

    • @pigpuke
      @pigpuke 11 місяців тому

      Big Brother is watching

  • @Kathlanus
    @Kathlanus 10 місяців тому

    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 11 місяців тому

    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 10 місяців тому +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 11 місяців тому +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 11 місяців тому

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

  • @marijngrashoff30
    @marijngrashoff30 11 місяців тому +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 11 місяців тому +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 11 місяців тому

    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 11 місяців тому +1

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

  • @barneylaurance1865
    @barneylaurance1865 10 місяців тому

    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 11 місяців тому

    would love a vid on Moiré patterns and aliasing

  • @GordonjSmith1
    @GordonjSmith1 11 місяців тому

    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 11 місяців тому

    Any video showing this proof of concept really working?

  • @kevinshumaker3753
    @kevinshumaker3753 11 місяців тому +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 11 місяців тому +1

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

    • @u2bear377
      @u2bear377 11 місяців тому

      @@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 11 місяців тому

      @@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 11 місяців тому

    Amazing, scary but damned interesting.

  • @JacobSnover
    @JacobSnover 11 місяців тому

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

  • @Anonymous______________
    @Anonymous______________ 11 місяців тому

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

  • @lancemarchetti8673
    @lancemarchetti8673 11 місяців тому

    Brilliant

  • @JohnWilliams-gy5yc
    @JohnWilliams-gy5yc 11 місяців тому

    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 11 місяців тому

    Very interesting.

  • @bartz0rt928
    @bartz0rt928 11 місяців тому

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

  • @guitaristkuro8898
    @guitaristkuro8898 10 місяців тому

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

  • @NataliaBazj
    @NataliaBazj 11 місяців тому

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

  • @stevojohn
    @stevojohn 4 місяці тому

    Desolder the LED. Job done.

  • @magiman1988
    @magiman1988 11 місяців тому

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

  • @BongoBaggins
    @BongoBaggins 11 місяців тому +2

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

    • @Huvada
      @Huvada 11 місяців тому +1

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

  • @trevinbeattie4888
    @trevinbeattie4888 11 місяців тому +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 11 місяців тому +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 11 місяців тому

      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 11 місяців тому

      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 😂