← Back to context

Comment by m4x

3 hours ago

How does this actually work, in practice? If you have read access to sensors, then there's a non-air-gapped network between the control systems and the internet.

If your network isn't air gapped, then it's vulnerable, and attackers will side step the "read only" path to affect control system changes.

It's being called a data diode (diodes usually allows current in one direction only).

It can be implemented with a fiber optics cable with only the transmitter on the secure side, a laser+photo cell for real air gap, cutting the rx cable in a rs232 or having a microcontroller with an output pin connected to another controllers input pin. By handling it with hardware instead of software you get a very secure partition between the trusted and untrusted side.

It's used to monitor for example industrial systems and power plants.

Wikipedia calls it unidirectional network: https://en.wikipedia.org/wiki/Unidirectional_network

  • Yes, this is exactly the kind of approach I'm referring to when I say it's possible (though not trivial to implement), but it still doesn't prevent attacks. Air France 447 crashed with extraordinary loss of life because the pilots responded incorrectly to reported sensor readings. Any scenario where authorised staff are able to affect changes in a control system is vulnerable. The attack vectors just change to suit the target system.

    • AF447 wasn't a security breach. You're talking about an entire separate class of human-machine interaction problem that has little relevance to the lack of security around access to OT operational surfaces.

  • All fancier than a camera pointed at the thermostat readout I’m sure but is the laser & photocell anywhere close to similar in concept?

System a emits telemetry. System b reads telemetry and exposes to the internet.

You can't drive my car simply by pointing a webcam on the steering wheel.

  • Sure, but think through the details. There are ways to expose telemetry through an otherwise air gapped system, but it is actually not easy to implement correctly.

    My position is that if there's any connection, of any practical type, between the control system and the outside world, an attacker will be able to find ways to break things.

    Even if it just boils down to "an attacker made our dashboards report numbers wrong and so we closed a valve to prevent an issue that didn't exist, and inadvertently destroyed our own product", the outcome is the same.

Difference between a smart thermostat for your ac and an Arduino temperature sensor next to your AC thermostat?

There're different devices. You put online some but not the others.

Temperature sensor is a sensor. Refrigeration compressor motor is an actuator.

GPS positioning of a car is a sensor. Motor to turn the wheel is an actuator.

Aircraft altimeter is a sensor. Motors to control control surfaces are actuators.

And so on.

  • Sure, but as stated in reply to a sibling comment, you then just hack the read-only system to mis-report sensor state and interfere with operations that way instead. Or use one of a million other approaches. Attacks won't follow your rules.

    • I think this comes down to the implementation of a particular system. But in general, since control system (the one that controls things through actuators) is NOT online, one can't interfere with it through online channels. They can interfere with sensors and fake readings reported online for example, probably, but not the ones used by the control system as it's offline.

      1 reply →