3 ms·
"The dam operated just fine even with the vulnerabilities in its software." IMO the key thing to keep in mind is that twenty years ago, it was very common to h
by blincoln 11y ago
"The dam operated just fine even with the vulnerabilities in its software."
IMO the key thing to keep in mind is that twenty years ago, it was very common to have systems that were truly "air-gapped" from everything else. E.g. in the 1980s or 1990s, someone probably had to operate that dam's SCADA system from a particular console in a particular room.
"As we get more connected we require to maintain the software."
Yes. As soon as everyone started networking everything together - and especially after they started putting everything on the internet - those old systems become a dangerous liability. IMO it is effectively impossible to have a truly fixed-design system continue to operate in a reliable way when it exists in a changing environment. Computing systems are too complex for any designer to understand all of the possible conditions in advance.
While it's true that if nothing goes wrong, the dam will probably continue to operate correctly, if it's now attached to a network, then there are all sorts of things that can make those vulnerabilities an issue later:
- Obviously there's the possibility of someone tampering with it for malicious purposes. Maybe they're a foreign government who wants to destabilize the US. Maybe they're a malicious stock trader who wants to short the stock of the dam owner.
- If it's a really poorly-written system from the 1980s, it probably crashes if it receives input beyond a certain length, because of e.g. a buffer overflow. Maybe someone mistypes an IP address in a configuration field and suddenly a database client tries to connect to it and triggers that bug.
- Does it represent time in some way? If so, is it going to enter unexpected territory when whatever counter it uses flips over? If it's old enough that the author is dead, it's probably using a 32-bit integer at most, and so is susceptible to the same kind of problem as legacy Unix systems.
Etc.
IMO, as soon as computing systems start to be networked together, they have to be treated more like plants in a garden than machines in a factory - if there isn't a "gardener" keeping things under control, it will turn into a disaster. It's still a deterministic system, but it's one in which the number of variables is far too high (IMO) to effectively plan out every possible contingency and response in advance. Maintenance can be minimized, but not eliminated.