Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by aeorgnoieang on Friday May 12, 2017 @05:29PM
(#14328098)
Maybe you really think it's just as simple as mandating exactly what you wrote here. But I'd imagine you'd agree that even doing this would have real and significant costs, which means tradeoffs are going to have to be made, e.g. some people won't receive medical care they otherwise would.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by srtjstjsj on Saturday May 13, 2017 @02:30AM
(#14329776)
> some people won't receive medical care they otherwise would.
which is what happens when your whole computing network is remote-killed
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by mark-r on Friday May 12, 2017 @04:24PM
(#14327587)
The problem is that the technology stack required by modern equipment is too large to be satisfied by anything but a general-purpose OS. Good luck trying to get a mathematically proven OS.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by lazaroclapp on Friday May 12, 2017 @04:53PM
(#14327850)
Pretty sure you can build an X-Ray/MRI control software in Rust on top of seL4, and do lightweight verification (or, even better: hardware breakers of some sort) around issues like "will output lethal doses of radiation". That is a general purpose enough kernel and a general purpose enough programming language, without having to drag in tens of millions of lines of code intended for personal GUI systems... Then for malware issues you simply don't plug that device directly into the internet, nor allow it to run any new code (e.g. your only +X mounted filesystem is a ROM and memory is strictly W^X).
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by panic on Sunday May 14, 2017 @07:15AM
(#14335134)
Rust has a lot of nice safety features, but the compiler hasn't been formally verified at all.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by lazaroclapp on Tuesday May 16, 2017 @07:06PM
(#14354132)
Yeah, I am aware. The problem is that using, say, CompCert might result in less security in practice, since although the compiler transformations are verified, code written in C is usually more prone to security issues. It also puts the burden of proving memory safety on the developer, which is a requirement for proving nearly anything else. I don't know Rust well enough to know if this applies for sure, but I think it is a lot less to ask from the manufacturer that they produce a proof of the form "assuming this language's memory model holds, we have properties X, Y and Z" and then just hope the compiler is sane, versus requiring a more heavy-weight end to end proof. Also, eventually there might be a mode for certified compilation in Rust/Go, at which point you get the best of both worlds.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by steveklabnik on Sunday May 14, 2017 @07:52AM
(#14335234)
This is true, but work is in progress, and some parts of the standard library already have been. And some of that work has found bugs too: https://github.com/rust-lang/rust/pull/41624
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by em3rgent0rdr on Friday May 12, 2017 @11:23PM
(#14329408)
https://sel4.systems/ is a formally verified microkernel.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by skybrian on Friday May 12, 2017 @05:04PM
(#14327923)
Does this distinction between critical and non-critical systems make sense for medical equipment? Displaying the information to humans (doctors and nurses) is probably life-critical. If the display is broken, it's not working.
It's not like medical devices have an entertainment system like cars and airplanes.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by amluto on Friday May 12, 2017 @11:37PM
(#14329430)
The display and the business end of the equipment are critical and should not be network-connected (or even have USB ports, for that matter). The part that uploads to whatever big server should have updates all the time. The critical bit should either be connected to the non-critical bit by a genuinely one-way link (e.g. unidirectional fiber) or should use a very small, very carefully audited stack for communication.
This is all doable, but it adds a bit of BOM cost and changes the development model.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by 7952 on Saturday May 13, 2017 @05:58AM
(#14330183)
An alternative would be to expose these subsystems on a network and have strict API's, encryption, and authentication between them. This would allow you to audit/update components individually rather than the whole device. So your display would act as a networked display and only have a very limited set of functions.
Re:Cyberattacks in 12 Nations Said to Use Leaked N.S.A. Hack...
by kpil on Saturday May 13, 2017 @05:53AM
(#14330171)
Yep. That worked fine for the Iranian uranium centrifuge guys...
Life critical systems should be small, fully open stack, fully audited, and mathematically proven to be correct.
Non-critical systems, secondary information reporting, and possibly even remote control interfaces for those systems should follow industry best practices and try to do their best to stay up to date and updated.
Most likely many modern pieces of medical technology have not been designed with this isolation between the core critical components that actually do the job and the commodity junk around them that provide convenience for humans.