Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Turns out this is a really, really trivial problem to solve in hardware. Delegating it to their peripheral microcontroller is not a hardware solution, it's just the same software nonsense.

Security is hard in software because from the undecidable halting problem it immediately follows that any non-trivial property of software (such as "does the micro firmware turn the LED on when the camera is on") can also not be decided.

There is no halting problem in hardware. But I hear they have very, very cheap switches nowadays that could easily control the power to the camera and a parallel LED.



First:

> immediately follows that any non-trivial property of software (such as "does the micro firmware turn the LED on when the camera is on") can also not be decided.

Any non-trivial property of arbitrary software, you mean.

It is entirely possible to prove that some software is or isn't "secure", for however you define secure. It's just not possible to do that for arbitrary software.

It is entirely possible to (for example) write your micro firmware with an integrated proof that non-trivial properties (like the LED/camera thing you mention) are satisfied.

Second:

> There is no halting problem in hardware.

Actually, there is, kind of. Have you heard of the arbitrator problem? Long story short, analog behavior may propagate arbitrarily far into any digital system. You can make it less common, but you cannot get rid of it. Also: any non-trivial property of arbitrary hardware is also isn't provable. (Otherwise you could solve the halting problem, again)


I am curious about your assertion that there is no halting problem in hardware.

I've seen advertisements for automated circuit design tools that will convert a C program into the schematic for a chip that does the same thing, only in hardware.

That leads me to believe that hardware must have the halting problem as well. However I only have a passing understanding of the halting problem. Can you enlighten me?


Hardware does have the halting problem. (As you could very easily make your hardware be a CPU with ROM that is "run program, then assert" - if the program halts, it'll assert. Hence - halting problem)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: