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

ความคิดเห็น • 495

  • @sean_vikoren
    @sean_vikoren 10 หลายเดือนก่อน +355

    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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +5

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

    • @cameronmonks1561
      @cameronmonks1561 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      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 10 หลายเดือนก่อน +107

    Dr. Pound is naturally gifted at explaining things

    • @MarioGoatse
      @MarioGoatse 10 หลายเดือนก่อน +2

      His name is Dr Octothorp where I’m from

  • @Gvozd111
    @Gvozd111 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +23

      TEMPEST.

    • @MeiinUK
      @MeiinUK 10 หลายเดือนก่อน +2

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

    • @GrandPoobah4
      @GrandPoobah4 10 หลายเดือนก่อน +15

      Reminds me of the chapter from Cryptonomicon

    • @markzockerzwerg8997
      @markzockerzwerg8997 10 หลายเดือนก่อน +11

      ​@@GrandPoobah4 Van-Eck-Phreaking

    • @philp4684
      @philp4684 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      @@VorpalHerring Same on Warface boxes

  • @Pystro
    @Pystro 10 หลายเดือนก่อน +237

    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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +15

      Ah, the fix is easy just destroy the LED

    • @davidw8668
      @davidw8668 10 หลายเดือนก่อน

      ​@Canzandridas, yes, better protection is very bad

    • @puucca
      @puucca 10 หลายเดือนก่อน

      Exactly

    • @gblargg
      @gblargg 10 หลายเดือนก่อน +1

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

  • @SystemBD
    @SystemBD 10 หลายเดือนก่อน +36

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

  • @shufflecat3334
    @shufflecat3334 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 5 หลายเดือนก่อน

      Ze Rd DQ. Jv,№

  • @Huvada
    @Huvada 10 หลายเดือนก่อน +584

    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 10 หลายเดือนก่อน +15

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

    • @maximus6884
      @maximus6884 10 หลายเดือนก่อน +1

      Using a made in china iphone 😂

    • @kendlyduprince
      @kendlyduprince 10 หลายเดือนก่อน

      Sorry the lawyer is a mere child at that level

    • @OutbackCatgirl
      @OutbackCatgirl 10 หลายเดือนก่อน

      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 10 หลายเดือนก่อน +2

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

  • @gloverelaxis
    @gloverelaxis 10 หลายเดือนก่อน +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

  • @oresteszoupanos
    @oresteszoupanos 10 หลายเดือนก่อน +11

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

  • @seeigecannon
    @seeigecannon 10 หลายเดือนก่อน +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).

  • @orange_leaf4913
    @orange_leaf4913 7 หลายเดือนก่อน

    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 6 หลายเดือนก่อน

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

  • @ReidBallardIII
    @ReidBallardIII 10 หลายเดือนก่อน +253

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

    • @PIXELamPC
      @PIXELamPC 10 หลายเดือนก่อน +95

      yeah, a capacitor on the led might do the trick

    • @rhysbaker2595
      @rhysbaker2595 10 หลายเดือนก่อน +38

      Simply switch off the LED when processing cryptography?

    • @gianluca.g
      @gianluca.g 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +28

    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 9 หลายเดือนก่อน

      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.

  • @Antymatters
    @Antymatters 10 หลายเดือนก่อน +27

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

  • @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

  • @LaMirah
    @LaMirah 10 หลายเดือนก่อน

    Loved the shirt! Very trippy.

  • @DmitryKiktenko
    @DmitryKiktenko 9 หลายเดือนก่อน +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

  • @Endelin
    @Endelin 10 หลายเดือนก่อน +4

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

  • @stevelin3659
    @stevelin3659 9 หลายเดือนก่อน

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

  • @Happydrumstick93
    @Happydrumstick93 10 หลายเดือนก่อน +52

    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 10 หลายเดือนก่อน +10

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

    • @RafaelKarosuo
      @RafaelKarosuo 10 หลายเดือนก่อน +8

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

    • @viacheslav1392
      @viacheslav1392 10 หลายเดือนก่อน +1

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

    • @ado3247
      @ado3247 10 หลายเดือนก่อน +8

      @@viacheslav1392 by making the voltage smoother

    • @square_wheel
      @square_wheel 10 หลายเดือนก่อน +2

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

  • @wktodd
    @wktodd 10 หลายเดือนก่อน +20

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

    • @jhoughjr1
      @jhoughjr1 10 หลายเดือนก่อน +1

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

    • @666Tomato666
      @666Tomato666 10 หลายเดือนก่อน

      @@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 10 หลายเดือนก่อน +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

  • @Pumbear
    @Pumbear 10 หลายเดือนก่อน

    Great explanation!

  • @katejay9786
    @katejay9786 15 วันที่ผ่านมา

    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

  • @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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

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

    • @joshuahillerup4290
      @joshuahillerup4290 10 หลายเดือนก่อน +1

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

    • @jhoughjr1
      @jhoughjr1 10 หลายเดือนก่อน

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

    • @JorgetePanete
      @JorgetePanete 10 หลายเดือนก่อน

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

  • @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

  • @Stego27
    @Stego27 10 หลายเดือนก่อน +36

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

    • @Orxenhorf
      @Orxenhorf 10 หลายเดือนก่อน +14

      It would.

    • @7thboss931
      @7thboss931 10 หลายเดือนก่อน +1

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

    • @7thboss931
      @7thboss931 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +8

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

    • @ShaunHusain
      @ShaunHusain 10 หลายเดือนก่อน +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.

  • @bernard2735
    @bernard2735 10 หลายเดือนก่อน

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

  • @AndyGaskin
    @AndyGaskin 10 หลายเดือนก่อน

    Really fascinating

  • @CrazyMineCuber
    @CrazyMineCuber 10 หลายเดือนก่อน +4

    Would be interesting if somebody tries to perform this attack on the DNSSEC root key ceremony that is livestreamed to TH-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.

  • @MrSonny6155
    @MrSonny6155 10 หลายเดือนก่อน +5

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

  • @danceswithdirt7197
    @danceswithdirt7197 10 หลายเดือนก่อน

    Great video.

  • @RobJD
    @RobJD 10 หลายเดือนก่อน +1

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

  • @dmitrystelefona8453
    @dmitrystelefona8453 10 หลายเดือนก่อน +1

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

  • @legion1791
    @legion1791 10 หลายเดือนก่อน

    This is the coolest thing ever!!!

  • @alimanski7941
    @alimanski7941 10 หลายเดือนก่อน

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

  • @Orxenhorf
    @Orxenhorf 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +2

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

    • @thomasb4422
      @thomasb4422 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      @@thomasb4422 Exactly!

    • @u2bear377
      @u2bear377 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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.

  • @roger_isaksson
    @roger_isaksson 9 หลายเดือนก่อน +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.

  • @mindstorms8888
    @mindstorms8888 10 หลายเดือนก่อน

    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 10 หลายเดือนก่อน

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

  • @paulstubbs7678
    @paulstubbs7678 10 หลายเดือนก่อน +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.

  • @mastershooter64
    @mastershooter64 10 หลายเดือนก่อน +17

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

    • @anywhereroam9698
      @anywhereroam9698 10 หลายเดือนก่อน +2

      It can be average away if repeated.

    • @Deipnosophist_the_Gastronomer
      @Deipnosophist_the_Gastronomer 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +1

      Just an SMD capacitor would be enough.

    • @tesses50
      @tesses50 10 หลายเดือนก่อน +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

  • @realkrzaku
    @realkrzaku 10 หลายเดือนก่อน +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.

  • @PuerinTheHunter
    @PuerinTheHunter 10 หลายเดือนก่อน

    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?

  • @zelllers
    @zelllers 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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

  • @IlluminatiBG
    @IlluminatiBG 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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.

  • @jimbobbyrnes
    @jimbobbyrnes 10 หลายเดือนก่อน

    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.

  • @ashleycrow8867
    @ashleycrow8867 10 หลายเดือนก่อน

    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 10 หลายเดือนก่อน

      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

  • @ashleycrow8867
    @ashleycrow8867 10 หลายเดือนก่อน

    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

  • @MrCarni2
    @MrCarni2 9 หลายเดือนก่อน

    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

  • @koncinar
    @koncinar 10 หลายเดือนก่อน

    So an average gaming computer is just a billboard with your password written all over it 😂

  • @Bbonno
    @Bbonno 10 หลายเดือนก่อน +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 😅

  • @authentic6825
    @authentic6825 10 หลายเดือนก่อน

    Yes, please do a moire pattern video!

  • @losthighway4840
    @losthighway4840 10 หลายเดือนก่อน +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?

  • @JacobSnover
    @JacobSnover 10 หลายเดือนก่อน

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

  • @cannaroe1213
    @cannaroe1213 10 หลายเดือนก่อน

    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 ᵃˡʳᶦᵍʰᵗ

  • @mallxs
    @mallxs 10 หลายเดือนก่อน +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.

  • @rich1051414
    @rich1051414 10 หลายเดือนก่อน

    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.

  • @fiftyfat
    @fiftyfat 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +1

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

    • @tonelemoan
      @tonelemoan 10 หลายเดือนก่อน

      Erm, no.

  • @Atrix256
    @Atrix256 หลายเดือนก่อน

    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.

  • @Abdullu
    @Abdullu 10 หลายเดือนก่อน +1

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

  • @nenharma82
    @nenharma82 10 หลายเดือนก่อน +13

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

    • @acbthr3840
      @acbthr3840 10 หลายเดือนก่อน +4

      Magnetic fields exist

    • @TheBackyardChemist
      @TheBackyardChemist 10 หลายเดือนก่อน +18

      cheap hardware

    • @mattsadventureswithart5764
      @mattsadventureswithart5764 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      Capacitor across the LED, problem solved.

  • @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.

  • @fullmuppet
    @fullmuppet 10 หลายเดือนก่อน +3

    Some sort of capacitor would seem to be in order.

  • @NeiroAtOpelCC
    @NeiroAtOpelCC 10 หลายเดือนก่อน

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

  • @barneylaurance1865
    @barneylaurance1865 9 หลายเดือนก่อน

    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.

  • @hammerth1421
    @hammerth1421 10 หลายเดือนก่อน +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.

  • @cidercreekranch
    @cidercreekranch 10 หลายเดือนก่อน +2

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

    • @CyclingSteve
      @CyclingSteve 10 หลายเดือนก่อน

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

  • @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.

  • @GordonjSmith1
    @GordonjSmith1 10 หลายเดือนก่อน

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

  • @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?

  • @bradzdanivsky
    @bradzdanivsky 10 หลายเดือนก่อน

    where do these guys get the printer paper from 1986?

  • @bunnybreaker
    @bunnybreaker 10 หลายเดือนก่อน

    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.

  • @Adityarm.08
    @Adityarm.08 10 หลายเดือนก่อน

    Very interesting.

  • @Kathlanus
    @Kathlanus 9 หลายเดือนก่อน

    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.

  • @lancemarchetti8673
    @lancemarchetti8673 10 หลายเดือนก่อน

    Brilliant

  • @carpemkarzi
    @carpemkarzi 10 หลายเดือนก่อน

    Amazing, scary but damned interesting.

  • @barneylaurance1865
    @barneylaurance1865 9 หลายเดือนก่อน

    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.

  • @adriantarver2229
    @adriantarver2229 10 หลายเดือนก่อน +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.

  • @Anonymous______________
    @Anonymous______________ 10 หลายเดือนก่อน

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

  • @oleksiishekhovtsov1564
    @oleksiishekhovtsov1564 10 หลายเดือนก่อน +5

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

    • @pigpuke
      @pigpuke 10 หลายเดือนก่อน

      Big Brother is watching

  • @tlniec
    @tlniec 10 หลายเดือนก่อน

    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

  • @kevinshumaker3753
    @kevinshumaker3753 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +1

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

    • @u2bear377
      @u2bear377 10 หลายเดือนก่อน

      @@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 10 หลายเดือนก่อน

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

  • @jonny2085
    @jonny2085 10 หลายเดือนก่อน

    would love a vid on Moiré patterns and aliasing

  • @mrtnsnp
    @mrtnsnp 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

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

  • @EMAngel2718
    @EMAngel2718 10 หลายเดือนก่อน +1

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

  • @ashleycrow8867
    @ashleycrow8867 10 หลายเดือนก่อน

    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

  • @marijngrashoff30
    @marijngrashoff30 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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.

  • @trevinbeattie4888
    @trevinbeattie4888 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      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 10 หลายเดือนก่อน

      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 😂

  • @pppkenken6610
    @pppkenken6610 10 หลายเดือนก่อน

    Rich idea thanks

  • @magiman1988
    @magiman1988 10 หลายเดือนก่อน

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

  • @bartz0rt928
    @bartz0rt928 10 หลายเดือนก่อน

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

  • @JohnWilliams-gy5yc
    @JohnWilliams-gy5yc 10 หลายเดือนก่อน

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

  • @ChrisGWGreen
    @ChrisGWGreen 10 หลายเดือนก่อน

    Hours of research and awesome nerdiness beaten by a decoupling capacitor

  • @amalsal9559
    @amalsal9559 10 หลายเดือนก่อน

    Wow!

  • @stevojohn
    @stevojohn 3 หลายเดือนก่อน

    Desolder the LED. Job done.

  • @heaslyben
    @heaslyben 10 หลายเดือนก่อน

    This reminds me of Van Eck phreaking and all the delicious paranoia of the Cryptonomicon!