IEC 60870 5 104 Security Testing and Validation
IEC 60870 5 104 is one of the most widely used communication protocols in industrial control systems. It carries critical telemetry and control information between substations, remote terminal units and central SCADA masters. Because the protocol is used in power transmission and distribution networks, the reliability and security of its implementations are essential.
IEC 60870 5 104 was designed for interoperability and deterministic behaviour. It was not originally built with strong security mechanisms, which means that incorrect parsing or weak validation can introduce serious risks. Attackers may exploit malformed frames, unexpected control sequences or improper timeout processing to influence system behaviour or interrupt operations.
CyTAL supports the secure development and validation of IEC 60870 5 104 implementations. Using ProtoCrawler, we identify parsing faults, connection handling weaknesses, state machine issues and denial of service vulnerabilities that traditional network tests do not uncover.
What is IEC 60870 5 104
IEC 60870 5 104 extends the IEC 60870 5 101 serial protocol for operation over TCP IP networks. It is widely used in energy and utility infrastructure due to its efficiency and predictable timing behaviour. The protocol uses Application Service Data Units carried within Application Protocol Data Units that run on top of a reliable transport layer.
IEC 60870 5 104 supports:
-
Telemetry reporting
-
Remote control commands
-
Time synchronisation
-
Event reporting
-
Cyclic data acquisition
-
Spontaneous and interrogated transmissions
Because it operates within critical infrastructure, even minor implementation flaws can create operational or safety risks.
Architecture and Attack Surface
IEC 60870 5 104 introduces several layers where vulnerabilities may occur.
Transport and Session Handling
IEC 60870 5 104 uses TCP for reliable delivery. Weaknesses appear when systems:
-
Fail to handle connection drops
-
Accept duplicate or unexpected frames
-
Process out of sequence packets
-
Mismanage window sizes
APCI Frame Structure
The Application Protocol Control Information layer controls communication flow. Vulnerabilities often arise from:
-
Incorrect sequence number processing
-
Failure to validate U, S and I format frames
-
Boundary miscalculations
-
Faulty acknowledgement handling
ASDU Parsing and Validation
Application Service Data Units carry control and telemetry messages. Issues include:
-
Length field misinterpretation
-
Invalid type identifiers
-
Missing validation of cause of transmission
-
Incorrect handling of sequence or single data elements
-
Time tag parsing flaws
State Machine Behaviour
IEC 60870 5 104 devices maintain internal states that track communication status. Attackers may exploit:
-
Unexpected control sequences
-
Invalid activation or deactivation flows
-
Timeouts that trigger undesirable behaviour
Operational Impact
Because IEC 60870 5 104 controls real industrial processes, vulnerabilities may lead to:
-
Disrupted telemetry
-
Loss of visibility
-
Control command delays
-
Incorrect remote operations
-
Denial of service in substations or remote units
Common Vulnerabilities in IEC 60870 5 104 Implementations
1. Parsing and Length Validation Errors
Incorrect boundary handling may cause:
-
Crashes
-
Memory corruption
-
Acceptance of malformed frames
-
Unreliable behaviour during high traffic
2. Improper Sequence Number Handling
Incorrect processing leads to:
-
Silent frame loss
-
State desynchronisation
-
Unexpected session resets
3. Faulty ASDU Type Handling
Systems may incorrectly process:
-
Undefined or reserved type identifiers
-
Incorrect cause of transmission values
-
Malformed single point or double point information
-
Unexpected control command structures
4. Timeout and Session Management Flaws
Weaknesses include:
-
Failure to enforce timeouts
-
Misbehaviour under delayed transmissions
-
Repeated session restarts
5. Denial of Service Conditions
Devices may become unresponsive due to:
-
Rapid U frame flooding
-
Oversized ASDUs
-
Resource exhaustion
-
TCP connection storms
Testing IEC 60870 5 104 with ProtoCrawler
ProtoCrawler enables deep and systematic testing of IEC 60870 5 104 behaviour.
Protocol Aware Packet Generation
We generate valid frames and apply targeted mutations that test:
-
APCI header handling
-
ASDU type processing
-
Variable structure qualifier parsing
-
Time tag validation
-
Sequence number enforcement
State Machine Verification
ProtoCrawler evaluates:
-
Activation and deactivation flows
-
Spontaneous and interrogated transmission sequences
-
Session recovery under disruption
-
Proper acknowledgement behaviour
Control Command Testing
We analyse how devices react to:
-
Correct and incorrect control commands
-
Invalid cause of transmission values
-
Edge case telemetry sequences
-
Timing sensitive operations
Stress and Resilience Testing
ProtoCrawler assesses robustness under:
-
High frequency frame injection
-
TCP connection cycling
-
Mixed valid and invalid traffic
-
Large ASDU bursts
Safety Focused Behavioural Analysis
Industrial devices must fail safely. We evaluate:
-
Misoperation resistance
-
Reaction to invalid commands
-
Behaviour under partial communication loss
Integration with Development Pipelines
ProtoCrawler integrates with CI systems to provide continuous protocol assurance during development.
Best Practices for IEC 60870 5 104 Security
Enforce Strict Validation
Check all APCI and ASDU fields, including lengths, types and sequence numbers.
Harden Timeout and Session Logic
Ensure deterministic behaviour under load, delays and unexpected disconnects.
Protect Against Control Abuse
Require validation of all control command sources and states.
Apply Input Rate Limiting
Prevent resource exhaustion by bounding processing rates.
Monitor Communication Patterns
Detect abnormal behaviour such as repeated U frames or unusual telemetry bursts.
Use Secure Network Architectures
Place IEC 60870 5 104 systems within monitored and segmented industrial networks.
Frequently Asked Questions
Q: Why is IEC 60870 5 104 vulnerable?
It was designed for reliability rather than security and relies on correct implementation and secure network architecture.
Q: Can ProtoCrawler simulate full IEC 60870 5 104 sessions?
Yes. ProtoCrawler models APCI and ASDU sequences and tests devices under realistic and edge case conditions.
Q: What issues are most common?
Parsing faults, sequence number errors and session management weaknesses.
Q: Do both master and outstation devices need testing?
Yes. Vulnerabilities may appear in either direction.
Q: How often should IEC 60870 5 104 communication stacks be validated?
During development, after major code changes and as part of regular security testing.
Strengthen Your IEC 60870 5 104 Implementation
CyTAL helps organisations secure industrial communication systems by identifying protocol level weaknesses early. ProtoCrawler provides in depth testing that reveals vulnerabilities long before they impact operational networks.
Contact us to arrange a demonstration or to discuss how ProtoCrawler can support your industrial security strategy.