| |
| ▲ | crote 3 hours ago | parent | next [-] | | > And you cant rewritte 50 years of C in Rust You don't have to. Google already showed that the vast majority of memory safety bugs are in newly-written C code. Stop writing new C code (which the industry already seems to be moving towards) and the problem will eventually solve itself - even with plenty of C code still around. Besides, very few (if any) pieces of code have been around for anywhere close to 50 years. Over time components naturally get refactored or rewritten for all sorts of reasons. And if you're rewriting anyways, why not switch to a more secure language? Don't allow C for rewrites and over the years every C component will eventually be replaced by a non-C one without forcing a big C-to-Rust rewrite. | | |
| ▲ | panick21_ 2 hours ago | parent [-] | | Can you show me that research? Also, nothing new in C is just not happening, there is massive amounts of things that will not switch for decades. Why not just switch to a slightly different compiler and core, and then you make all your old code safe without verifying it. And your new code in whatever language is also safe. Also it helps with debugging. Also it helps you enforce security constraints on higher level. CHERI also gives you features you can build more on-top off. The silicon area and the performance hit are pretty minor, if it 'just' works for most code and most open source code just works, many people will want to use it. Yes most bugs are new code, but plenty of bugs aren't and with CHERI I can be much more confident in running all that stuff. Specially older code that isn't as well used and tested as say Linux kernel. |
| |
| ▲ | rwmj 4 hours ago | parent | prev | next [-] | | However you can do what Airbus do and formally prove your C code and use a formally proven toolchain like compcert to compile it. Or you can take a performance hit and add bounds checking to the C code[1]. Aircraft systems are probably the best chance that CHERI has, and that's pretty niche, small runs and very expensive, and still better solved in software. [1] I literally wrote the paper on this back in 1996: https://www.doc.ic.ac.uk/~phjk/BoundsChecking.html | | |
| ▲ | pjmlp 2 hours ago | parent [-] | | Most people on HN would run screaming away if they had to follow high integrity computing processes on their daily C programming. If they think programming with Modula-2 and Object Pascal is programming with a straightjacket, good luck with MISRA, Frama-C, DOD and ISO certifications for reliable C code. | | |
| ▲ | leoc 18 minutes ago | parent | next [-] | | Right: unfortunately it really is a bit much to dismiss CHERI as a no-hope effort to boil the seas if the alternative plan is to rewrite everything in formally verified C (even if you'd also try to move some of it into GC languages instead). | | |
| ▲ | rwmj 10 minutes ago | parent [-] | | The alternative is you use a compiler that adds bounds checking. It's possible to do this with C, with fine object granularity (even separate stack objects), and even preserve compatibility with existing non-bounds checked library code / system calls. When I did it back in 1996 there was a large overhead to doing that, but compilers can do much better these days. And anyway you have to compare the overhead to the cost of designing and building your own small run CPU and eshewing mainstream processors, which is also huge. https://www.doc.ic.ac.uk/~phjk/BoundsChecking.html |
| |
| ▲ | ykonstant an hour ago | parent | prev [-] | | For the record, I found programming in MISRA C guidelines really fun; but then again, I did it out of personal interest. If I had to do it professionally, I guess the pressure would be less pleasant. |
|
| |
| ▲ | mort96 4 hours ago | parent | prev | next [-] | | I haven't exactly seen an outpouring of consumer demand for CHERI. | | |
| ▲ | sph 4 hours ago | parent | next [-] | | Is there an outpouring of hardware offer for CHERI? I'm a random nobody, but I'm sitting on this design for a message-passing platform that can only truly perform in a world where processes live in a single address space, which requires CHERI hardware to be feasible (or secure) at all. CHERI would open many doors in operating system design and security, and it's stagnant because it's not a real thing yet, there's no CPU one can buy that supports it in any way outside of research. Without CHERI, we're stuck with security models from the 1970s. Most people are fine with 1970s design, but the OS research world has been itching for something like this for decades. | | |
| ▲ | leoc an hour ago | parent | next [-] | | Right: it's not clear whether the availability of some $300 US CHERI SBCs would be enough to carry CHERI to glory, but it would obviously generate a significant pop of awareness, support and grassroots activity. For their part the antis could then transition seamlessly from "nobody wants it lol" to "all these enthusiasts are so annoying and out of touch with reality lol" as is traditional. Instead, AFAICT, the CHERI leadership seems to be convinced that the next step is to present the business case for CHERI to people at or just below CxO level https://www.youtube.com/watch?v=FJhS2i7KVtI . Imagine how far Rust (or, earlier and further afield, Linux) adoption would have got if it had relied solely on having an academic-led consortium present a business case to CxOs, instead of being pushed along by internal pressure from mid-level technical staff who had used it themselves and were crazy about it. | |
| ▲ | pjmlp 2 hours ago | parent | prev [-] | | Tell ARM about it, https://cheri-alliance.org/discover-cheri/cheri-products/mor... | | |
| ▲ | leoc an hour ago | parent [-] | | It's a lot better than things apparently used to be, but what CHERI really needs to develop a grassroots is a board that runs CheriBSD ( https://www.cheribsd.org/ ) and is actually available for a few hundred US dollars cash down, not a board of which you can apply to, maybe, have a single unit eventually allocated to you if you are deemed worthy. Even taking for granted that they only have a small supply which has to be allocated on a non-commercial basis for now, they should be beating down the doors of guys like Jeff Geerling and Wendell Wilson from Level1Techs and thrusting eval boards in their hands, not sitting on their throne waiting to hear entreaties. |
|
| |
| ▲ | panick21_ 2 hours ago | parent | prev [-] | | I'm not saying end consumer, I mean companies who have to insure safety and reliability. That is also behind adoption of things like Rust and many other trends. CHERI gives you that and more. But its still very new and radical, and a lot of work needs to happen all over the place to make it practical. Once you have micro-controllers and software it makes sense in lots of niches, and then it can expand. For example, Google OpenTitan project. There is no reason not to use Cheri if the open source core supports it. |
| |
| ▲ | fragmede 4 hours ago | parent | prev [-] | | > And you cant rewritte 50 years of C in Rust. How many tokens do you think that would cost? |
|