Live data from Hacker News

“I Want to Know What Code Is Running Inside My Body”

backchannel.com

181–190 of 217 posts

Re: “I Want to Know What Code Is Running Inside My Body”

#181

We hear a lot about how digital obsolescence is a growing problem, and almost all of it refers to not being able to access your old family photos and movies, or maybe old documents and spreadsheets. But what happens when your pacemaker is obsolete, the source code is long lost, and no-one knows how to update it? Is this problem being addressed in any real way? 50 years in the future some of today's devices may still…

The pacemaker or ICD generator is replaced when the battery is exhausted, typically 8–10 years. The procedure is not a big deal, it is commonly outpatient and done under local. Outside of some durable orthopedic implants, few implants will survive in the body for 50 years: it is a very hostile environment.

Re: “I Want to Know What Code Is Running Inside My Body”

#182
post #170

Earlier quoted context omitted.

SIL usually deals with complete systems and deals with probability that the system will deviate from it's designed behavior, whether such designed behavior is actually correct is somewhat orthogonal problem that is often mostly ignored. (same thing applies to attempts to apply formal proofs to software). The wikipedia article lists some of the problems with SIL rating itself, and I've personally seen multiple instanc…

Interesting points about the automotive world.... and I absolutely agree with you about the certification problems with a mix of safe/non-safe components. I've never heard the 2xN = 1x(N+1) argument, but will that improve for >2 ? e.g. triply-redundant systems? I think the root problem there is the "wishful thinking" isn't it?

The 2xN = 1x(N+1) argument is usually presented as being somehow directly derived from IEC 61508, which is certainly non-sense. I've even seen reasoning along the lines of "it runs on Windows NT, thus it's inherently SIL2, there are two redundant IPCs running that code, so it's SIL3".

As for dual-redundant vs. triply-redundant it highly depends on whether shutting the system down on failure of one redundant component is desirable outcome, both railway signaling and most industrial systems can and are designed that way, but for systems where that is not possible (either because they need some non-trivial actions to get into safe state or because the whole SIL dance is about keeping the thing running at all costs for business/legal reasons) the dual-redundancy actually decreases the reliability, because additional components handling the redundancy also have their own failure probability (and in many systems does fail more often than whatever it is supposed to protect from failure, especially in master-slave systems that attempt to detect which of the halves had failed and respond to that by failover to the other one).

Interesting approach that is often used for road traffic signalling and general industrial control is that there is second control system, that only checks that outputs of the primary control system are consistent (for traffic signals, it is trivial boolean function of the outputs, usually implemented in hardwired circuitry) and shuts the whole thing down when they are not.

Re: “I Want to Know What Code Is Running Inside My Body”

#183
post #163
post #157

Earlier quoted context omitted.

Obscurity is one possible layer, but it's not very good. Obscurity has a cost for anyone working with the system. Obscurity don't scale. Things that are commonly used should not use obscurity. Somebody who mass produces computing equipment or software that many use can't use obscurity because it's economically efficient for attackers to look past obscurity. It's also unproductive to advice others to use some obscurin…

Passwords are obscurity, are they not? And in the end, so are 2048 bit RSA keys. It's just a prime-number needle in the haystack. Look enough places/try enough passwords, and you will find it.

You can change a password, and you can calculate how hard it is to for an attacker to obtain a randomly generated password.

It is much harder to formalise how hard it is for an attacker to find out what algorithm you use, so it is risky relying too much on him not being able to do so.

Re: “I Want to Know What Code Is Running Inside My Body”

#184
post #74

Earlier quoted context omitted.

Medical device software is subject to a level of rigor in development process that little else is. Exactly what patient need do you believe open source would meet that is not being met by the current closed-source development process?

> Medical device software is subject to a level of rigor in development process that little else is. How do you know this?

Spent 15+ years developing code for medical devices. I doubt very much that opening the source would have much impact on quality.

For starters, without access to the hardware and understanding what it's supposed to be doing, how do you know if the code is right or not?

Let me clarify that I'm not opposed to open sourcing the code, once issues around Trade Secrets are handle. But I don't think it would have even remotely the impact this group believes. The vast majority of device problems I've seen were system issues, not just a coding error.

Re: “I Want to Know What Code Is Running Inside My Body”

#185
post #43

Earlier quoted context omitted.

Medical device software is subject to a level of rigor in development process that little else is. Exactly what patient need do you believe open source would meet that is not being met by the current closed-source development process?

What happens in closed source development model if pacemaker company ceases to develop one or goes belly up?

Manufacturer must support the product for 10 years after the last sale. In the case that they go belly up, that I don't have experience with, but it's likely that another company would step in to fill the role. Support can be quite lucrative.

Re: “I Want to Know What Code Is Running Inside My Body”

#186
post #172

Earlier quoted context omitted.

Security by obscurity is not security, I think that's the main objection behind the phrase. Inherently, a system does not become more secure by postponing its subversion. If you have broken security, fix it. If you don't, obscurity is unnecessary. It's qualitative versus quantitative. Security is a quality, which means it can become absolute: the complete absence of security holes. Obscurity, on the other hand, is qu…

the discussion on security comes about because the problem discussed is about messaging security (or lack of) on the pacemaker itself.... not about any bugs (or lack of) in the pacemaker software. No layer of security is ever perfectly implemented, mathematically perfect tho the algorithms may be.... this is the key point that defence-in-depth acknowledges... and hence is the key point that obscurity addresses. Buyin…

> I would damn-sure prefer the apparent "lock" to be hidden rather than in plain sight

I would prefer the lock be visible to me over either situation. Otherwise, how would I know how easy is it to bypass?

Re: “I Want to Know What Code Is Running Inside My Body”

#187
post #137

Earlier quoted context omitted.

Security by obscurity is in practice almost always a bad idea. 1# security by obscurity gives a false sense of security. Under no circumstance should obscurity be used as a deciding factor behind a management decision. 2# security by obscurity cost money and time, and should only be used when all real form of security measures has been implemented. Even the military are currently not always implementing multi-token a…

I agree with your numbered points, but not the conclusion that its always a bad idea. Its common sense that I can't pick a lock if I cant find the lock. This says nothing about the quality of the lock or what is behind the lock.

If I make a lock for myself, then it makes sense to keep it hidden. If I'm buying a lock from someone else, I'd like to know where it is, so it makes less sense to keep it hidden, at least from me and my agents.

Re: “I Want to Know What Code Is Running Inside My Body”

#188
post #28

Does anyone know if at least the FDA is allowed to review the source code for pacemakers? Or is it a complete blackbox? Personally I would be appalled if even the FDA is not allowed to.

With or without a warrant...? EDIT: Not sure what's up w/ the downvotes. There are well-established ways for regulatory agencies (whether FDA, FCC, etc) to obtain firmware for devices -- and it almost always involves a warrant under extraneous circumstances -vs- proactively receiving proprietary code.

I believe the downvotes are because the FDA has to approve medical devices before they are marketed, and GP was referring to the possibility that the FDA would review the source code in connection with device approval. (It reviews most other aspects of the device's functioning, after all.) Definitely no warrant required in that context.

Re: “I Want to Know What Code Is Running Inside My Body”

#189
post #50

Earlier quoted context omitted.

Does the FDA have the knowledge and experts to really understand if the firmware is good or bad though?

That's a tough one to answer. The cynic in me says probably not. That they're so focused on pharmaceuticals and "analog" medical devices that they haven't developed those capabilities. But I also know that the FDA is a massive organization, and there's no reason they couldn't hire for this specific purpose. But then the cynic says that government pay grades may not be up to snuff. See the HCA rollout and subsequent r…

> But then the cynic says that government pay grades may not be up to snuff.

If they really wanted to, they could sidestep the pay issue as every other government agency does, by hiring contractors.

Re: “I Want to Know What Code Is Running Inside My Body”

#190
post #166

Earlier quoted context omitted.

Well sure, but there are still good and bad security systems. How does the cost/benefit of obscurity compare to alternatives?

that would be an interesting study... but one that is impractical I think.

Well until there's evidence of it's effectiveness I'm going to avoid using obscurity. I know how to achieve an acceptably low break-in rate using mathematically valid encryption etc.. Defense in depth shouldn't be an excuse for using practices you haven't evaluated the effectiveness of at all.
Post reply on HN