Power LED Attack - Computerphile

  Рет қаралды 254,283

Computerphile

Computerphile

11 ай бұрын

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 ай бұрын
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 ай бұрын
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 ай бұрын
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 ай бұрын
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 ай бұрын
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 ай бұрын
@@Huvada false, they're wired to the communication activity lines on the UART USB bridge
@cameronmonks1561
@cameronmonks1561 10 ай бұрын
⁠@@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 ай бұрын
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 ай бұрын
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 ай бұрын
​@@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 ай бұрын
​@@gaborm4767: In the 80s? Stereotypical case would be KGB, but really any semi-sophisticated group could have tried it.
@BatterOrWurst
@BatterOrWurst 10 ай бұрын
@@gaborm4767 Russians at the time. US embassies
@Huvada
@Huvada 10 ай бұрын
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 ай бұрын
.. and somehow the Computerphile vid is 12 min but LPL does it in 3:48
@maximus6884
@maximus6884 10 ай бұрын
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 ай бұрын
​@@marcosolo6491he'd have to read the name twice, to confirm it was a Fluke.
@russell2952
@russell2952 10 ай бұрын
Dr. Pound is naturally gifted at explaining things
@MarioGoatse
@MarioGoatse 10 ай бұрын
His name is Dr Octothorp where I’m from
@Gvozd111
@Gvozd111 10 ай бұрын
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 ай бұрын
TEMPEST.
@MeiinUK
@MeiinUK 10 ай бұрын
Crazy that this existed back then. I just saw a laser printer that existed in 1900. Even more crazy.
@GrandPoobah4
@GrandPoobah4 10 ай бұрын
Reminds me of the chapter from Cryptonomicon
@markzockerzwerg8997
@markzockerzwerg8997 10 ай бұрын
​@@GrandPoobah4 Van-Eck-Phreaking
@philp4684
@philp4684 10 ай бұрын
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.
@Pystro
@Pystro 10 ай бұрын
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 ай бұрын
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 ай бұрын
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 ай бұрын
@@pistonsjem And if it was a blue LED, it deserved destruction anyway.
@seedmole
@seedmole 10 ай бұрын
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 ай бұрын
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 ай бұрын
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
@shufflecat3334
@shufflecat3334 10 ай бұрын
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 ай бұрын
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,№
@SystemBD
@SystemBD 10 ай бұрын
Plot twist: The shirt is also a vision-based attack. Your system is now compromised. /joke, of course
@threeMetreJim
@threeMetreJim 10 ай бұрын
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 ай бұрын
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.
@gloverelaxis
@gloverelaxis 10 ай бұрын
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 ай бұрын
Wheeeen twooooo.... grids hit your lens and your sensor does sense that's a Moirééééé 😀
@seeigecannon
@seeigecannon 10 ай бұрын
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 10 ай бұрын
This specific attack feels like it would be more reasonable to fix in hardware than software.
@PIXELamPC
@PIXELamPC 10 ай бұрын
yeah, a capacitor on the led might do the trick
@rhysbaker2595
@rhysbaker2595 10 ай бұрын
Simply switch off the LED when processing cryptography?
@gianluca.g
@gianluca.g 10 ай бұрын
@@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 ай бұрын
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 ай бұрын
@@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.
@katejay9786
@katejay9786 17 күн бұрын
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
@Antymatters
@Antymatters 10 ай бұрын
This reminds me of some work people were doing on generating 3d models using the noises of a 3d printer as it prints.
@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!
@joshuahillerup4290
@joshuahillerup4290 10 ай бұрын
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 ай бұрын
@@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
@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
@Happydrumstick93
@Happydrumstick93 10 ай бұрын
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 ай бұрын
I thought about this too lol, seems easy to protect against
@RafaelKarosuo
@RafaelKarosuo 10 ай бұрын
At least now they know that it wasn´t that useless and just be removed from the BOM to reduce costs
@viacheslav1392
@viacheslav1392 10 ай бұрын
how would the capacitor save you from current change in led...
@ado3247
@ado3247 10 ай бұрын
@@viacheslav1392 by making the voltage smoother
@square_wheel
@square_wheel 10 ай бұрын
​@@ado3247 Smoother but probably leaking some variations that can be measured with more accurate sensors.
@DmitryKiktenko
@DmitryKiktenko 10 ай бұрын
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
@brycemw
@brycemw 10 ай бұрын
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
@Endelin
@Endelin 10 ай бұрын
Finding the actual worst shirt pattern could be a fun video in itself.
@darrenchapman7203
@darrenchapman7203 10 ай бұрын
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.
@wktodd
@wktodd 10 ай бұрын
RF emission may also relate to power consumption, so a simple tranny radio close to the reader may also work.
@jhoughjr1
@jhoughjr1 10 ай бұрын
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 ай бұрын
@@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
@xystem4701
@xystem4701 6 ай бұрын
Always a fan of Professor Pound! He's a wonderful explainer
@LaMirah
@LaMirah 10 ай бұрын
Loved the shirt! Very trippy.
@stevelin3659
@stevelin3659 9 ай бұрын
My brain exploded from the ingenuity from this paper when I heard the word "rolling shutter", this is peak human ingenuity!
@MrSonny6155
@MrSonny6155 10 ай бұрын
I would say the shirt is quite thematically appropiate for a video on video-based attacks.
@bernard2735
@bernard2735 10 ай бұрын
We were so enthralled by what you had to say that no one noticed the moiré 😊
@CrazyMineCuber
@CrazyMineCuber 10 ай бұрын
Would be interesting if somebody tries to perform this attack on the DNSSEC root key ceremony that is livestreamed to KZbin. 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.
@roger_isaksson
@roger_isaksson 10 ай бұрын
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.
@Stego27
@Stego27 10 ай бұрын
I'm surprised video compression doesn't wreak havoc with this approach.
@Orxenhorf
@Orxenhorf 10 ай бұрын
It would.
@7thboss931
@7thboss931 10 ай бұрын
The monitoring would need to be pretty accurate but if you know a little filmography it would be easy to configure
@7thboss931
@7thboss931 10 ай бұрын
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 ай бұрын
Lossless compression shouldn't impact anything and you could always film without any compression
@ShaunHusain
@ShaunHusain 10 ай бұрын
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.
@paulstubbs7678
@paulstubbs7678 10 ай бұрын
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.
@RobJD
@RobJD 10 ай бұрын
I love this magic little hack, with a bit of context, they're basically shouting their secrets.
@realkrzaku
@realkrzaku 10 ай бұрын
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.
@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.
@Pumbear
@Pumbear 10 ай бұрын
Great explanation!
@zelllers
@zelllers 10 ай бұрын
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 ай бұрын
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 ай бұрын
@@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 ай бұрын
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 ай бұрын
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.
@Orxenhorf
@Orxenhorf 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 ай бұрын
Exactly. I stopped watching when I realised he was going to use maths to solve a simple hardware issue.
@thomasb4422
@thomasb4422 10 ай бұрын
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 ай бұрын
@@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 ай бұрын
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.
@dmitrystelefona8453
@dmitrystelefona8453 10 ай бұрын
Just finished another attack vid and this in was in queue, neat.
@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.
@Bbonno
@Bbonno 10 ай бұрын
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 😅
@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 ᵃˡʳᶦᵍʰᵗ
@mastershooter64
@mastershooter64 10 ай бұрын
Well just add artificial noise into the LED so you can easily throw off these attacks!
@anywhereroam9698
@anywhereroam9698 10 ай бұрын
It can be average away if repeated.
@Deipnosophist_the_Gastronomer
@Deipnosophist_the_Gastronomer 10 ай бұрын
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 ай бұрын
@@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 ай бұрын
Just an SMD capacitor would be enough.
@tesses50
@tesses50 10 ай бұрын
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
@losthighway4840
@losthighway4840 10 ай бұрын
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?
@koncinar
@koncinar 10 ай бұрын
So an average gaming computer is just a billboard with your password written all over it 😂
@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.
@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.
@mallxs
@mallxs 10 ай бұрын
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.
@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
@fiftyfat
@fiftyfat 10 ай бұрын
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 ай бұрын
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 ай бұрын
@@suncat530 yes but at least you're not "broadcasting" your code.
@tonelemoan
@tonelemoan 10 ай бұрын
Erm, no.
@legion1791
@legion1791 10 ай бұрын
This is the coolest thing ever!!!
@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.
@danceswithdirt7197
@danceswithdirt7197 10 ай бұрын
Great video.
@Abdullu
@Abdullu 10 ай бұрын
Looking at Mike's hastily wiped whiteboard, I feel like there is a chance of a whiteboard attack.
@AndyGaskin
@AndyGaskin 10 ай бұрын
Really fascinating
@JacobSnover
@JacobSnover 10 ай бұрын
"Even I could write that code" That doesn't give me any hope that I could write it Mike! lol
@hammerth1421
@hammerth1421 10 ай бұрын
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.
@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
@adriantarver2229
@adriantarver2229 10 ай бұрын
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.
@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'...
@nenharma82
@nenharma82 10 ай бұрын
How is this possible with all the power decoupling happening in electronics?
@acbthr3840
@acbthr3840 10 ай бұрын
Magnetic fields exist
@TheBackyardChemist
@TheBackyardChemist 10 ай бұрын
cheap hardware
@mattsadventureswithart5764
@mattsadventureswithart5764 10 ай бұрын
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 ай бұрын
@@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.
@fullmuppet
@fullmuppet 10 ай бұрын
Some sort of capacitor would seem to be in order.
@mrtnsnp
@mrtnsnp 10 ай бұрын
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
@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.
@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?
@Anonymous______________
@Anonymous______________ 10 ай бұрын
Power signal analysis as a side channel attack has been a thing for years.
@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.
@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.
@nettlesoup
@nettlesoup 10 ай бұрын
I'm sure all the commenters here saying "there is no evidence this is being done" and "there's no way this could work" etc. are in no way relying on these exact flaws remaining so they can keep doing their dodgy work!
@oleksiishekhovtsov1564
@oleksiishekhovtsov1564 10 ай бұрын
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
@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.
@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.
@NeiroAtOpelCC
@NeiroAtOpelCC 10 ай бұрын
Cool video. I started out thinking 'This cannot be done' and ended with 'This is a real issue' ...
@kevinshumaker3753
@kevinshumaker3753 10 ай бұрын
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 ай бұрын
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.
@authentic6825
@authentic6825 10 ай бұрын
Yes, please do a moire pattern video!
@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.
@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
@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.
@cidercreekranch
@cidercreekranch 10 ай бұрын
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.
@trevinbeattie4888
@trevinbeattie4888 10 ай бұрын
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 ай бұрын
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 😂
@marijngrashoff30
@marijngrashoff30 10 ай бұрын
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 ай бұрын
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.
@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 ай бұрын
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
@bradzdanivsky
@bradzdanivsky 10 ай бұрын
where do these guys get the printer paper from 1986?
@EMAngel2718
@EMAngel2718 10 ай бұрын
I wonder how well some low pass filters in the electronics could do to fix this
@00Skyfox
@00Skyfox 10 ай бұрын
Simple solution: shut off the LED while the computation is being done. Alternatively if it must be on, run it with a random variable PWM frequency that hides any variations during computation.
@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
@omgitguy
@omgitguy 10 ай бұрын
Just some off-topic feedback: the shirt was OK in 4K resolution and probably in 1440p too.
@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?
@Beregorn88
@Beregorn88 10 ай бұрын
Nice cautionary tale, but I find really hard to believe that it can be ACTUALLY pulled of in the wild. First of all, because the rolling shutter doesn't work the way it was presented in the video: the lines are acquired at different times, but each one of them is still integrated over a 1/60th of a second (or whatever the shutter speed was). Then you have the fact that even with a rolling shutter you are still way too slow compared to the operation speed of, well, basically anything: by the time you have finished a line and moved to the next one, any single operation should be already done and gone. Then you have all the noise sources around the target: the flickering of ambient lights, just to mention one. Then you have the electronic noise of your sensor. Then you have the fact that the signal is too small to be recorded: even if the single operation lasted 20us (which would be an eternity), and even if you were in the ideal recording condition, the signal would be about 0.3 high, when you record an integer between 0 and 255. In fact, if you take the time to properly read the paper, you will find out they did exactly none of that, since, you know, it's physically impossible. What they ACTUALLY did was taking a card reader where, for some reason that I can't fathom, the led indicator was deliberately wired to show the exact time the decryption process started and ended, and, at the same time, used an encryption library where the time needed to perform the whole operation was enough to recover the private key (an exploit 4 years old, and linked to a very precise card manufacturer, but some cheap Chinese producers must have missed the memo). They then took a security camera with a 25x optical zoom, performed extensive calibration on it to recover some specific working parameters and put it in a completely dark room. At that point they just needed to collect the recording of 10500 card swipes and, presto! they were able to obtain the private key of the device...
@Xerxes314
@Xerxes314 10 ай бұрын
Betrayed by the very blinkenlights that celebrate our guru status. Truly a dark day for computer science.
@devjock
@devjock 10 ай бұрын
Capacitor and extra diode across the LED for that authentic incandescent afterglow, and voila, light analysis attack thwarted.
@MichaelKingsfordGray
@MichaelKingsfordGray 10 ай бұрын
Which is why I have, for many decades, included random delays in my cryptographic code.
@guitaristkuro8898
@guitaristkuro8898 10 ай бұрын
Cool. They swipe card and led turns off until the processing is done and door unlocked. No more steady lit.
@ChrisGWGreen
@ChrisGWGreen 10 ай бұрын
Hours of research and awesome nerdiness beaten by a decoupling capacitor
@NetBandit70
@NetBandit70 10 ай бұрын
His shirt isn't a Moire pattern, it's just encoded with data for rolling shutters.
@davidgillies620
@davidgillies620 10 ай бұрын
Put a 100 ohm resistor in series with the LED and a 47uF capacitor across it. That's a low pass filter with a cutoff of about 34Hz.
Acropalypse Now - Computerphile
12:53
Computerphile
Рет қаралды 185 М.
LogJam Attack - Computerphile
18:47
Computerphile
Рет қаралды 178 М.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Рет қаралды 79 МЛН
Последний Закат Кота Макса...
00:21
Глеб Рандалайнен
Рет қаралды 4,7 МЛН
Binary Search Algorithm - Computerphile
18:34
Computerphile
Рет қаралды 154 М.
Designing an 8-bit CPU - 6 - program counter
10:13
Phodopus42
Рет қаралды 1,8 М.
Four Principles of Quantum (Quantum pt1) - Computerphile
17:41
Computerphile
Рет қаралды 61 М.
Cracking Enigma in 2021 - Computerphile
21:20
Computerphile
Рет қаралды 2,4 МЛН
RSA Power Analysis Side-Channel Attack - rhme2
12:07
LiveOverflow
Рет қаралды 50 М.
Taming Kerberos - Computerphile
16:06
Computerphile
Рет қаралды 318 М.
Are we ready to Live in a SILO?
13:41
DamiLee
Рет қаралды 125 М.
Discussing PDF@30 Years Old - Computerphile
14:33
Computerphile
Рет қаралды 94 М.
Every Kind of Bridge Explained in 15 Minutes
17:36
Practical Engineering
Рет қаралды 318 М.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Рет қаралды 79 МЛН