Hacking a Virtual Power Plant
rya.nc
rya.nc
That would be a MAJOR selling point for me, too! Especially because most of the companies that do this for residential are getting a huge portion of the profits using YOUR batteries, rather than getting that profit yourself. Unfortunately, where I live, that is mostly because energy utilities are hostile to anyone except large middlemen installers and their VPPs. It would be simple for them to also allow individuals to sign up for dispatch if they were half-competent. I can't find any companies providing battery systems plus solar that are able to be fully local in my area of the USA, either, even if I wanted to try and go "off grid" using massively overbuilt batteries linked to solar.
I disagree. Anyone using a library should have enough knowledge to use it properly, else they shouldn't be writing serious software. The flip side is that the library should be documented clearly enough to prevent a competent professional developer from making that mistake by accident.
I don't have an issue with a library supporting outdated standards since that can be useful for writing (hopefully temporary) code to interface with legacy systems. Again, as long as it's documented properly, and the devs understand the potential ramifications.
https://makesafetools.com/osha-hierarchy-of-controls/
If software as an industry wants to improve then its practices need to improve. We can do so much better than “be less dumb”.
So putting it in separate legacy modules, removing them from automatic negotiation and putting warnings on them is usually the best option.
> We can do so much better than “be less dumb”.
Yes. But in the end "we only had junior engineers working on this piece of infrastructure" would not fly for Boeing either.
I'm not saying companies should do this for free, btw.
Understanding the boundaries of your own knowledge, where to delegate¹ to someone else or do some research to deepen your knowledge is also not the same as knowing everything.
¹ using libraries is not quite the same as delegation if you can't even assess if you're using them correctly or if they do the right thing. You still have to meet it where it is.
This spooks me. I take this to mean either:
- They are still using the compromised key for validation, meaning if you have access to any old token, you can still mutate that, maybe needing to play around with the issuing times
- They built an allowlist of all permitted tokens, and check that list first. In which case, might as well use random session ids instead of JWTs, and at the same point where the allowlist is being checked, mutate the request to inject a JWT that the backend can use.
Also, kind of curious why the switch to RSA4096 instead of elliptic curves, since they are generally faster / smaller.
One of my suggestions to them was to switch to elliptic curve, but I imagine RSA 4096 "just worked".
I suspect they'll rework it later now that it's not "on fire".
You're probably right that RSA 4096 "just worked", and some library in their stack doesn't have elliptic curve support. And again, if N is small, the verification performance doesn't matter that much.
Nice find and writeup!
Just to say that no proprietary devices should be ever allowed to have remote connections, FLOSS must be mandatory from the early stage of a project to allow third party inspect the codebase not starting with a gazillion SLoC, being de facto unable to understand them, instead of starting from the first SLoC following at the project evolutionary speed.
Nowadays it start to be again damn easy to plan any kind of "unexpected logic" in gazillion of devices, potentially at State intelligence level, from cars to energy systems, TLCs active devices, ... not a new thing at all, but easy enough to be dangerous enough to MANDATE FLOSS if those who care of a nation security have at least an idea of the current role of IT in a society and it's enormous mean attack surface.
But do not think about an actual war on the ground, just try to image the damage you can give to another country let's say creating a cascade blackouts, than a e-payments system one and so on. Cyber warfare happen generally aside/before a "classic" war, not much during it on the frontline.
The energy transition is going to be a fun time for infosec!
Every home might have a 100 amp circuit breaker, but the grid cannot handle every home taking or giving 100 amps at the same time. 2 amps maybe...
AFAIK, all that would happen in this case would be that discharging the batteries would raise the grid voltage, and if it were raised enough, the over-voltage detection on the substation circuit breakers would trip and open these breakers normally. It wouldn't damage the breakers (or anything else at the substation), they're designed to deal with over-voltage events (for instance, when a large block of power consumers suddenly trips offline, the voltage raises until the power plants either throttle down or also trip offline).
https://arstechnica.com/security/2024/08/home-energy-system-...
can someone explain what's meant by this? i presume the private key identified by the author still works, but will stop working after 7 days?
(based on the sample JWT in the first section, the expiry time of the token seems to be 7 days)
I wonder how the old JWTs signed with the 512-bit key still work safely, isn't that 512-bit key cracked??
> Someone once asked me, as commentary on my ability to figure out email addresses, “Are you a Hacker or in sales?”
Just a bit of OSINT and educated guessing.
The bugs I find are usually just ones I stumble across, I don't go looking for them.
Bug bounty programs generally aren't worth the trouble for me anyway - I have to file taxes in both the US and the UK so the paperwork gets really annoying.