10 ms·
Open Hardware on Its Own Doesn’t Solve the Trust Problem
- ecesena 7y ago> open hardware is precisely as trustworthy as closed hardware. Which is to say, I have no inherent reason to trust either at all I think the sentence should be rewritten as "closed hardware is precisely untrustworthy as open hardware", meaning that open reveals limits and assumptions while close is pretending there are none and everything is secure, while it's precisely not. The trust imo is not in the product, is in the company or team building the product. > I’m a strong proponent of open hardware, because sharing knowledge is sharing power. This is what, I think, makes a company or team more trustworthy. Not just making a product (even if it's really great and has the ambition to protect millions) but also sharing knowledge with the ambition that more can learn.
- 0xcde4c3db 7y agoOne might quibble over implications, but I think yours is basically the right take. As Bruce Schneier said: "security is a process, not a product".
- jacquesm 7y agoThat may be so but if I have to choose between open source software and closed software I know which one I trust more and I would assume the same goes for open hardware, in spite of the difficulties of transferring trust at the hardware level because of the parties over which you have no control. Of course if your threat model includes parties changing the masks of your chips then all bets are off but in general more openness is better and my implicit trust in people working on open source software and hardware is at a different level than the alternative. If only because the ones seem to be driven by altruistic motives and the alternatives have already been shown many times to be willing to sell their - and your - soul to the devil for a price. Open source hardware would need a verification and inspection method that reliably determines whether or not the manufacturer delivered what they said they would if you want that level of trust. And even then those tools could be compromised and so on. To put it simpler: between say Intel or AMD and 'Bunnie's chip factory' I know which one I would trust more because with Intel and AMD I know for sure that there will be a bunch of misery included and with Bunnie I would at least know that he didn't include it himself and would do his best to avoid others doing it. Trust, eventually, is always going to be in people. I'd love to see his 'non destructive method for the verification of chips' become a reality. It would be at least an interesting exercise to compare that what we have with what we should have. And if funding is an issue, this is exactly the sort of thing where I would be very happy to throw money at a kickstarter.
- ganzuul 7y ago> Trust, eventually, is always going to be in people. Funny thing about trust; you can trust your enemies to behave poorly too. Trust seems to be about predictability first and foremost, and great mathematical work is being done to factor humans out of it. Autonomous vehicles are subject to a formalized version of trust already and engineers are working to get dependent type theory to do verification for them.
- ecesena 7y agoRelated project: https://betrusted.io https://betrusted.io (announced towards the 2nd half of the post)
- klhugo 7y agoExcellent work. I completely agree that today the easiest option to develop safe hardware is using FPGAs. Two things to look forward: 1. Usage of open source FPGA synthesis and implementation tools 2. Usage of open source FPGA chips :) I've already seen some traction happening for open source FPGA tools, but open source FPGA chips are only in my head (as far as I know). I'm a chip designer myself, and for years I have been thinking on kickstarting something to pay for a tapeout of an open source FPGA. If anyone is interested let me know, I live in Ontario/Canada.
- jayjader 7y agoI've seen things like this (https://www.crowdsupply.com/tinyfpga/tinyfpga-bx https://www.crowdsupply.com/tinyfpga/tinyfpga-bx) crop up on CrowdSupply. Not sure how close it is to what you have in mind.
- jacquesm 7y agoHow will you know the mask of your FPGA isn't changed? I think that the idea behind all of this is sound but that at some point we will have to accept that there always will be some remnant of insecurity unless you are willing to create your own fab or build your CPU up out of discrete transistors which can be (1) exhaustively tested and (2) are too simple to contain anything nefarious given that there is no way to know where in a circuit that transistor will end up.
- klhugo 7y agoA couple things: 1. FPGAs are easier to verify cause they are regular structures. 2. How do you insert a backdoor in an FPGA at the supply chain if you don't know what is the exact logic that is going to be uploaded?
- jacquesm 7y ago> How do you insert a backdoor in an FPGA at the supply chain if you don't know what is the exact logic that is going to be uploaded? Popularity of certain open core designs might be one way to gain advance knowledge of how an FPGA might be used. That suggests an interesting option: to scramble the input to an FPGA in such a way that the device will still work but that it is even more unpredictable how its internal connections will be used (otherwise you could take a number of open core designs and arrange for your attack to work with those configurations, which might be detectable in hardware or in the toolchain). Better yet, scramble the bitstream on every boot (but what would do the scrambling?).
- kgwxd 7y agoIdeally, any piece of open hardware would be made by multiple competing companies and they would all be perfectly interchangeable. If one was discovered to be tampered with, you could easily switch, the offending company dies, and maybe some people are actually held accountable so others would be discouraged to try it again. While the industry is still innovating, such an ideal world may not arise, but when things settle down and just about anyone can make a competitive version of any type of chip, it could, but only if we demand open hardware now to allow that competition to start forming.
- nrp 7y agoThe modularity of the supply chain is part of the challenge, as Bunnie illustrated. You could have interchangeability at the chip level or OEM level, but still have the same bad actor tampering at the foundry, chip packaging house, part distributor, SMT factory, FATP factory, 3PL, retailer, or any of the shipping companies between those.
- vardump 7y agoI think there's always another layer of trust issues no matter how trustworthy your system is. It might be you shouldn't even trust the physical environment, even power supply can be used to do evil things. Or radiation, even ambient temperature. Don't forget code itself can affect the environment in unobvious fashion. EDIT: My point is that we need to be aware security will never be a solved problem. We can't also consider security as a software-only issue, but have to have a holistic viewpoint considering the whole system. There's of course the point where risk mitigation is not worth the cost. That's another matter.
- klhugo 7y agoYou are right, but in the scope of chip design we can solve all that. What we can not solve is supply chain trust (how do you now your temp sensor has not been tampered?)
- vardump 7y agoOr your temperature sensor being rendered useless via a clever attack? Perhaps by something as simple as by a clever pattern of temp sensor reads causing your code to think temperature is in safe range for your application? Or causing your code to execute extra multiplies to generate heat to hide a momentary temperature drop. My point is even if you could 100% trust your supply chain and 100% validate your silicon matches your design, there are still residual issues. For example, power supply glitch attacks [0] are nowadays well known, including techniques to make them sufficiently reliable. [0]: https://www.google.com/search?q=power+glitch+attack https://www.google.com/search?q=power+glitch+attack
- jacquesm 7y agoYou should be able to exhaustive test a temperature sensor, it is typically a two lead passive device.
- klhugo 7y agoIt was just a simple example. There are counter-measures WAY more complex than a simple two lead sensor. I was part of a CC certified chip design, and I can tell you we must implement tests for every single countermeasure in the chip. But still you have no means to check whether your sensor/countermeasure hasn't been tampered all together in the supply chain.
- deleted 7y ago[deleted]
- SemiTom 7y agoSingle-source ISAs of the past relied on general industry verification technologies and methodologies, but open-source ISA-based processor users and adopters will need to review the verification flows of the processor and SoC https://semiengineering.com/will-open-source-processors-cause-a-verification-shift/ https://semiengineering.com/will-open-source-processors-caus...
- incompleteness 7y agoI like this subset of the Hardest Problem: trusting other human beings to get enough things right.
- carapace 7y agoI trust my sliderule. (This probably sounds like a snarky joke, so let me qualify it by saying I'm pretty serious.) I'm an "Apocalyptic": I literally believe that these are the "End Times" and that our global civilization is about to tank (in ~10-50 years.) So I'm not so much worried about spooks in my chips as I am about being able to compute effectively at all, at all. In that context, I think pretty seriously about what computer hardware will be available in a post-apocalyptic scenario. In that case chips will likely be worthless due to unavailability of datasheets. The things that will work are sliderules and nomographs[0], henges and other geophysical "calendars", clockwork, fluidics, and relays. You might be able to make discreet transistors. See the Clock of the Long Now mechanism: https://en.wikipedia.org/wiki/Clock_of_the_Long_Now#Design https://en.wikipedia.org/wiki/Clock_of_the_Long_Now#Design (Although a large pitch-drop[1] "water" clock[2] would be more reliable and much simpler.) - - - - Note that, if civilization doesn't collapse, the Trust Problem will become much worse as IoT advances, and, in the limit, nanotech... and you can't trust anything. Within the limits of physics, reality will become permeated with "ghosts", we will haunt the world with our own daemons. The Daemon-Haunted World. ("'The Demon-Haunted World: Science as a Candle in the Dark' is a 1995 book by astrophysicist Carl Sagan, in which the author aims to explain the scientific method to laypeople, and to encourage people to learn critical and skeptical thinking." https://en.wikipedia.org/wiki/The_Demon-Haunted_World https://en.wikipedia.org/wiki/The_Demon-Haunted_World ) - - - - Maybe we will develop massive interlocking computer networks that respect (your idea of) your human rights, but that's certainly not a solid projection from current trends, eh? [0] Image search for nomograph: https://duckduckgo.com/?q=nomograph&t=ffcm&atb=v60-1&iax=images&ia=images https://duckduckgo.com/?q=nomograph&t=ffcm&atb=v60-1&iax=ima... [1] https://en.wikipedia.org/wiki/Pitch_drop_experiment https://en.wikipedia.org/wiki/Pitch_drop_experiment [2] https://en.wikipedia.org/wiki/Water_clock https://en.wikipedia.org/wiki/Water_clock
- ghaff 7y agoSlide rules are very limited computers though. They mostly let you do fairly rapid multiplication and division up to limited precision. Also look up trig values and logs (obviously). Probably a few other things depending on the model and its scales. But really the only thing it buys you is some speed over just pen and paper. (At least assuming you have trig, log, and probably some other tables from a standard math handbook. Which could presumably be derived in a manner I don't recall off the top of my head but likely very painfully.)
- ngneer 7y agoGreat post. A well distilled argument as to the perceived virtues of open hardware and the actual root of the trust problem. The post strikes a great balance between showing the problem of complexity and yet highlighting a feasible step in the right direction. Kudos for not ignoring supply chain issues.
- paul7986 7y agoI just got rid of my Google Home devices; gave them away as Christmas gifts and noticed half of those in the gift exchange didnt want any spying devices either. Overall I really enjoyed using them especially the digital picture frame, but as long as they are spying devices to show you creepy ads (created by Google and Amazon) then Im not interested. I wish Apple would offer comparably tech at a normal price point. If not Apple another company whose is all about privacy and the device only connects to the Internet to download and store daily weather and traffic info. It would be a home network only device that listens when you summon it and it would alert you (via email or text) that a hacker is trying to hack it if it's Internet channel for downloading info is compromised.
- incompatible 7y agoObviously, any device that communicates with an untrusted 3rd party whenever it's turned on is not even trying to be trustworthy. Watching for any unexpected network traffic would be a very basic step in assessing the trustworthiness of a device. I suppose, lacking the kind of efforts that Bunnie is making, the best you can do is start with relatively simple mass produced hardware, purchase it in a way that it can't be tampered with specifically for you, install an open-source OS which doesn't communicate with 3rd parties, check the software checksums. Some applications, like vote counters, may not even need an Internet connection. Creating a secure system to count votes isn't something I'd like to be asked to do.
- eeZah7Ux 7y ago> open hardware is precisely as trustworthy as closed hardware Nice work but the conclusion is absolutely unwarranted: Security is all about mitigating risk. With closed hardware, as much as software, it becomes much easier to implement backdoors but also hide who did it and when. Unsurprising, a lot of closed source comes with spyware functions - look at the phone "app market". By all means an FPGA is better than trusting a SoC, but this does not mean that all hardware is the same. Management Engine is a good counterexample.
- Iv 7y agoWow, that talk on silicon implants was super interesting. I commend him for continuing in this quest for trustable hardware. I more or less gave it up. I fear it wont be really possible until the tech has moved so far that we can produce silicon and PCB at home on open hardware machines...
- catern 7y agoOne idea on how to verify equivalence between a design and a physical chip: If we have the design, could we generate instruction sequences (or, in general, input sequences) and deterministically predict the time required and power consumed to execute those instruction sequences? Then we could fuzz the chip with a bunch of generated code and measure that the consumed time and power matches what we expect. Any backdoor would throw off the measurements. Can anyone who knows hardware better comment on whether there are other kinds of attacks that this wouldn't cover? This idea is inspired by a paper I read once which used a somewhat similar approach for verifying that a hardware system hadn't been infected by persistent firmware malware. The authors had the system compute a function which had a known memory-optimal implementation which required the use of all the persistent memory available in the system (including firmware, etc.). Unfortunately I can't find the paper now.
- darawk 7y agoNot an expert, but AFAIK that is how most "remote attestation" schemes work, so it seems like a viable approach.
- anfilt 7y agoWell math wise its kinda impossible to know if a black box implementation is malicious from outputs alone. Its in a similar vein to the halting problem. Whether side channels such as power work I would have to find the paper, but what your suggesting is impossible at least in general from my understanding. I have also read a few papers also using emf emissions. Although they all certainly would increase attack difficulty. There also the problem of margin of error. Could an attack hide in the allowed tolerances of error. Also if the tolerance is too small a lot genuine/unaltered devices may trigger false positives.
- bunnie 7y agoWhile power signatures are repeatable on a single-chip basis, from chip-to-chip the variation in individual transistor performance will require a tolerance to be applied on the threshold criteria for determining if a given power signature is correct or not across a population of chips. Furthermore, power consumption is also dependent upon temperature and voltage so that will need to be carefully controlled for the measurement. The wider the tolerance on the power measurement, the larger the implant that can be buried. Unfortunately transistor performance can vary quite widely for a single design; recall that a single CPU mask design is often sold in several speed grades. These aren't different designs, they are all the exact same design but then tested to pass at a given frequency and power profile. My intuition is that a simple implant would probably escape power characterization, and larger implants can be left off until a trigger condition is met. That condition could be made so that fuzzing is highly unlikely to hit it, e.g. a particular 64-bit number pattern has to appear in a given register to power on the implant. The technique may be suitable to detect gross anomalous execution in a single well-characterized chip but I feel any robust criteria against false positives would also leave a sufficiently large margin for small implants to slip through undetected.