Inverter <-> Portal Security

11 comments started 2024-03-11 last 2024-03-12
BugsCloud PortalGivEnergy ProductsHybrid
R
#1 rjp

(NOT the usual open WiFi portal problem...)

What I've seen of the comms between inverters and the web portal is a little concerning and I suspect would allow attackers to send random data to the GE portal backend. Has anyone else raised this with GE - and is there a dedicated email for raising security issues?

#2 hoggy

Not that I'm aware of specifically. Nor bug bounty program. So think it's best if you send to the usual "support" one and highlight it as a security issue. It will presumably make it's way to Paul.
Not sure what you've found but at least you've done your bit/tried in that instance (I know the dongle has / had a few interesting quirks when I first started playing with one so it might already be known.)

R
#3 rjp

Cheers. I've emailed support. I won't go into details, but it's basic enough that I'd be surprised if I'm the first to flag it.

R
#4 Rubikcube

At worst an attacker could only corrupt the data and/or take down the portal. You should have a plan for how you would manage and control your equipment without using the portal.

Two options are Home Assistant with GivTCP or my android app.

R
#5 rjp

Rubikcube
Corrupting the data and/or taking down the portal is bad enough, but third party systems can also use the portal API to read data and control your inverter: They could make control decisions based on that corrupted data.

R
#7 rjp

That's neat. Does it block firmware updates too?

I'm contemplating writing some code that acts as a kind of modbus middle-man, sitting between the inverter and portal/givtcp/apps. This could manage matching command/response pairs better to prevent modbus packets being spammed out to clients that aren't expecting them, and hopefully manage retries and packet rate control to prevent the "Inverter Timeout" messages we see when using the portal and GivTCP simultaneously.

R
#8 Rubikcube

rjp Does it block firmware updates too?

Probably. Firmware updates seem to start by sending a command to make the dongle download the firmware. However nothing is certain as there may be more than one way to update firmware.

Braced for 100 entries in the firewall log on 31st March as someone thought 100 is a good retry limit for changing the time.

R
#9 Rubikcube

rjp modbus packets being spammed out to clients

Good luck. Bus protocols are conceptually different to client-server. The master/slave terminology doesn't really help. Conductor/musician would be better; think of an orchestra, the conductor is in charge but each musician can hear all the other musicians.

R
#10 rjp

Rubikcube I'll need luck! Modbus TCP defines unit and transaction ID fields specifically for this but the givenergy variant seems to pretty much ignore them.

In this case it's more like one musician and many conductors!

R
#11 Rubikcube

It's the Givenergy version of the Chinese version of the Schneider version of modbus. 🙂