I wonder if a sufficiently good smartgrid could TEMPEST sidechannel deduce things out of a computer plugged into it. Like maybe decryption produces noticeable signals in tiny-fraction-of-second power draw to such an extent it starts to seem plausible you can gradually derive keys from it
@mcc I'd be very surprised if any high-frequency data makes it through a decent-quality power supply.
It would depend where it's being measured, I'd think.
At the level of a power utility meter on an apartment or house, I would guess it would probably be lost in other sources of fluctuations - refrigerator cycling on/off briefly, oven. lights flickering or being turned on/off, apartment fans, whatever.
Measured by monitoring directly at your UPS, it sounds pretty plausible, I'd think, based on past results.
@mcc I had a recurring problem of my workstation's GPU putting off emi that was getting picked up by the audio line out, and it was consistent enough that I could tell how much the GPU was under load. I vaguely remember that if you left the game idle the emi would sound a particular way, and if you moved and idled again it would sound a different way; and I could tell when the game would make a scene transition finish loading from it. It was annoying and is what motivated me to getting a USB dac
@aeva @mcc (this happens to me with my electric guitar, which is amusingly enough plugged into my USB dac/input, so I end up hearing the GPU whine regardless. If I was cool, I would put together a GPU demo where the load cycles were done rhythmically and then incorporate this into a song I was playing)
@aeva@gamedev.place @mcc But also I know "constant time" decryption stuff is pretty important. Do they have "constant electric usage / CPU utilization"?
Would you just add a set number of calculations to each decryption to ensure they're drawing the same power load for the same amount of time?
@aud @mcc @aeva constant time crypto is a completely ascientific enterprise developed to divert attention from the fact that any protocol which leaks timing data has an information-theoretic weakness as well and should be refactored to fix the crypto weakness. constant time crypto is the only reason crypto is complex to implement and is a gatekeeping and a backdoor tactic. i am developing my own cryptographic primitives because there are absolutely no examples of easy to audit and easy to build general examples which avoid constant time malapropisms. time will tell if i am wrong
@aeva @mcc i used to determine when LLVM has finished compiling, when the browser had pegged a core, etc by the coil whine on my laptop
funnily enough i have tinnitus, but it has somehow not stopped me from being able to hear sounds quieter than the tinnitus emanating from a power brick meters away from me
One of my friends (I don't think Thor is on the FediVerse though I would love to be proven wrong) is an old CGI wizard and I remember one day while chillin at his place in Santa Cruz (he has since moved to Hawaii) he seemed distressed at the slowness of his network; from another room.
I was, ahem, leeching from some of his NAS.
Little did I know he had segmented his network in such a way (maybe still had some 100Mbps kit?) and was intimately familiar with its response times better than I that such a thing would bother him (I suppose; my then employer was all GbE and faster and I rarely thought much about xfer speeds or hammering on LANs). Whoops.
^_^
Long ago, I could discern when users were logging into my BBS by the hard drive activity clicks and whirs (though naturally, I would send the modem the appropriate Hayes AT commands to keep the speaker off since I didn't want to be bothered with listening to its squawks and such).
Annoyingly, as a user, dialing up to my own BBS remotely; I could also discern the lag and latency contingent upon the screen saver. After futzing around (please just draw A line, nothing more!) I eventually found a screen blanker, and that was the end of me ever using a screen saver again. Clock cycles are precious, on CPUs in the 7MHz range. Well, really, all clock cycles are precious, just too many don't have a tactile sense for such things unless they cultivated it I suppose?
CC: @aeva@mastodon.gamedev.place @mcc@mastodon.social
@mcc if it reaches to the plug, perhaps. but the recent advent of constant-time crypto algorithms has gotten us a lot closer to constant-power. and the average surge protector has enough filtering to defeat even fairly low bandwidth intentional powerline signaling techniques, so the unintentional ones are gonna be pretty challenged.
@mcc hmm... Too smoothed by the power supply.
@mcc *voltage dips by 0.00000029 V*
NSA: "Private key is 4."
But seriously, that's a good question. I do wonder if there would be too much noise from things like the grid itself or even a lamp on the same circuit that could make it impossible to correlate things. Heh. New defense: turn a light on and off when generating GPG keys.
@mcc this is practical for embedded devices
@whitequark @mcc Hrmn. What about similar tricks on a monitor's power supply to try to figure out what updates it's making to the display?
@stibbons @whitequark TEMPEST refers to trying to do this with RF leakage
@whitequark is there any kind of practical device, such as a UPS, which if placed between the device and the wallsocket will remove this possibility?
There are entire papers about using side channels to discern information;
e.g. https://arxiv.org/pdf/2308.01074 (link to PDF titled: "A Practical Deep Learning-Based Acoustic Side Channel Attack on Keyboards") the TL;DR listening to the audio of a users' keystrokes, provides a possibility of guessing your passphrase.
I mostly link to that, because it is from 2023 and has a "Related Work" section with citations to earlier research in such realms going back to the 1950s, so it's a ummm, cheat to actually going back to 20th century attacks. (TEMPEST realms of research are, as far as I know, even older than the 1950s and maybe began due to some CRTs picking up on interference at Bell Labs in observable manners IIRC?)
So I don't think a UPS would thwart such things necessarily? Maybe a possible mitigation for a certain sort of (presumably, power draw based) hint?
Really depends on the attack and what they're targeting.
When I think about UPS devices plugged into walls and sockets for less than standard UPS sorts of computer security stuff; my mind mostly drifts to some of the wild things that forensic folks do to keep a computer on and still get to its memory during incident response sorts of things.
Which is more of an attacking an attacker thing than a mitigation for uhh, an attacker.
Rewinding a little, your attacker being a smartgrid? Maybe a UPS would at least mitigate such things, somewhat?
What comes to mind in such realms has more to do with panopticon promulgating law enforcement officers seeking "grow operations" for weed by relying on grid draw statistics? I want to say I may have even heard a story about [redacted because it was decades ago and my memory is faulty and I don't want to implicate someone who is already of some renown particularly as they are a libre/free open source developer] once getting raided by such cops, only to their dismay discover that [redacted pronoun] was just a nerd with a lot of computers, not grow lights.
@whitequark@treehouse.systems
@teajaygrey @whitequark If you will look, the word "TEMPEST" is used in the OP; implying the question is asking at what point municipal power distribution equipment becomes a practical instrument for a particular *type* of sidechannel attack, rather than asking whether sidechannel attacks have ever been studied at all.
Presumably the power draw is the same in the smartgrid scenario as before, but the smartgrid means there is pre-existing power instrumentation and nothing needs to be installed
Yeah, I can't claim to have paid much attention to smartgrid stuff in years. ;-/
I do remember a colleague once (this is probably over a decade and change ago) suggesting (more accurately: probably had done some "testing" or knew someone who had vulns) something along the lines of using them as an attack vector (such devices are apparently not particularly secure) for potentially triggering bigger brown out type events; which is bad; but not bad in the way that you seem to be positing?
I haven't had to contend with SCADA stuff in a while. Thankfully that is currently above my pay grade and I still contend with insomnia from a past where such things were part of my bailiwick; so I am definitely not current.
@mcc @whitequark Absolutely Any "always-on" UPS should (?) hide that, because they are designed so there will be zero glitches of any kind if the mains go down, so the power is always generated from the battery level.. this should considerably smooth small power glitches at least to the "one cycle" range. I doubt you'd leak much information in the form of "power usage in 50/60 Hz increments" but I suppose possible
@mcc
There are power strips with noise filters for use in audio electronics which should protect against this. Also note the attacker is almost certainly going to need to have a device plugged into the same branch of a power line as your device. something on the other side of the power transformer on the pole is not gonna work very well.
eg.
https://www.amazon.com/Furman-SS-6B-PRO-6-outlet-Surge-Suppressor/dp/B07WZP86CW
@mcc @whitequark there has to be something. The act of storing a small bit of power internally and drawing from that first should remove most information, id think.
@mcc @whitequark You'd then only detect the right* turns.
"Depending on country
@mcc I would doubt the ability to discern anything useful without sampling the wires at ~MHz, which will also be highly attenuated at any distance from the main panel. You'd have to specifically design for this, and the parts would be substantially more expensive, so I don't think it's realistic that smart grid equipment could be repurposed/hijacked to snoop on keys. A sufficiently motivated adversary could sneak one in, but at that point there are more direct things they could have done.