
SunSpec Model 64412 — DER Cyber Exploitation
SunSpec Model 64412 is a cybersecurity test model defined by the SunSpec Alliance and Sandia National Laboratories for use in DER security research and conformance testing. It does not represent a physical inverter or energy device. Over Modbus TCP, the model exposes a set of writable flag registers that simulate specific cyber-exploitation attack modes against DER equipment: measurement falsification (voltage, frequency, current, reactive power, power factor, apparent power), nameplate data spoofing, settings manipulation, and common-model identity falsification. It is used by test labs and security engineers to verify that DER management systems detect and respond correctly to manipulated Modbus data.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 45, read and write
- Brand
- SunSpec
- Last updated
Registers (45)
45 read, 43 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | Read | ||||
| damanipulation | Read and write | ||||
| falsifydeviceidentity | Read and write | ||||
| measpalwaysnameplate | Read and write | ||||
| measqalwaysminimum | Read and write | ||||
| measqalwaysmaximum | Read and write | ||||
| measqalwayszero | Read and write | ||||
| measzerop | Read and write | ||||
| measinvertq | Read and write | ||||
| measlowv | Read and write | ||||
| meashighv | Read and write | ||||
| measlowl1v | Read and write | ||||
| meashighl1v | Read and write | ||||
| measlowf | Read and write | ||||
| meashighf | Read and write | ||||
| measlowamps | Read and write | ||||
| meashighamps | Read and write | ||||
| meashighs | Read and write | ||||
| measlows | Read and write | ||||
| meashighq | Read and write | ||||
| measlowq | Read and write | ||||
| measlowpf | Read and write | ||||
| measlowreversedpf | Read and write | ||||
| nameplatehighp | Read and write | ||||
| nameplatelowp | Read and write | ||||
| nameplatehighs | Read and write | ||||
| nameplatelows | Read and write | ||||
| nameplatehighq | Read and write | ||||
| nameplatelowq | Read and write | ||||
| nameplatehighnomv | Read and write | ||||
| nameplatelownomv | Read and write | ||||
| nameplatelowamps | Read and write | ||||
| nameplatelowvarmaxinj | Read and write | ||||
| nameplatelowvarmaxabs | Read and write | ||||
| nameplatelowpf | Read and write | ||||
| settingshighnomv | Read and write | ||||
| settingslowamps | Read and write | ||||
| settingshighp | Read and write | ||||
| settingslowp | Read and write | ||||
| settingshighvamax | Read and write | ||||
| settingshighvarmaxinj | Read and write | ||||
| settingshighvarmaxabs | Read and write | ||||
| changecommonmodelid | Read and write | ||||
| changecommonmodellength | Read and write |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Verify that your monitoring portal raises alerts when measurement registers report implausible zero active-power values.
- Test whether anomaly-detection logic flags artificially high or low voltage readings injected via measlowv or meashighv.
- Confirm that nameplate spoofing flags such as nameplatehighp or nameplatelows do not silently corrupt site capacity calculations.
- Validate that settings manipulation flags like settingshighvamax are detected before they influence DER dispatch decisions.
- Check that falsified common-model identity registers trigger device-authentication warnings in your integration pipeline.
Installation
Enable Modbus TCP on the DER test device or simulation platform and note its IP address and TCP port, typically 502.
Connect the simulation host to the same LAN segment as the ModbusCloud Gateway and confirm IP reachability with a ping.
In your ModbusCloud portal, add a new device, import the SunSpec Model 64412 template, and assign the correct unit ID matching the simulator.
Perform a spot-read of register address 0 (id) and verify the returned value matches 64412 to confirm the correct model block is mapped.
Things to watch for
Why do all flag registers return zero even after writing?
Model 64412 flag registers are only active when the underlying simulation platform or test harness is running and has accepted the write. Confirm the simulator is started and the Modbus unit ID in the portal matches the simulator's slave address. A stale TCP connection may also cache the previous value: cycle the Gateway connection.
The gateway connects but no model block is found. What now?
SunSpec devices present their model map starting at holding register 40001 (offset 0). If the simulator places Model 64412 later in the map, discovery must walk all preceding model blocks first. Check that the simulator's SunSpec map is complete and ends with the standard end model (ID 65535). Restarting the discovery scan in the portal usually resolves this.
Why does writing a flag register produce a Modbus exception code?
Some simulation platforms restrict writes to flag registers while an active test sequence is running. Pause the running test scenario before writing individual flags. Also confirm you are using function code 16 (Write Multiple Registers): function code 6 (Write Single Register) can be rejected by stricter SunSpec implementations.
Is it safe to write attack-mode flags on a live production DER device?
No. Model 64412 is a test and research model. Writing its flags on a real DER device could falsify measurement data reported to the utility, trigger protection relays, or violate grid codes. Only use this template on isolated lab or simulation environments. Never apply it to a production installation.
Knowledge base articles for this device

SunSpec Modbus: one register map for many inverters
SunSpec Modbus is the open register map SMA, Fronius, SolarEdge and Kostal share. The layout, int+SF vs float, the TCP port per brand and reading a mixed fleet.
Fronius Modbus: read a Symo GEN24 over Modbus TCP
Fronius Modbus explained: enable Modbus TCP on the Symo GEN24 on port 502, choose between int+SF and float, read the right SunSpec registers and scale them correctly. Practical guide for solar installers.
SMA Modbus: reading a Sunny Boy over Modbus TCP (installers)
SMA Modbus explained: enable the Modbus TCP server on port 502, choose between the SMA profile (unit ID 3) and SunSpec (unit ID 126), read the right registers, and handle the NaN values at night. Practical guide for installers.
Want to see how it works?








