3 ms·
> Investing in mitigations is not free. The time and effort it takes to develop them is not available for constructing bug-free code. I feel like this is a bit
by usefulcat 4y ago
> Investing in mitigations is not free. The time and effort it takes to develop them is not available for constructing bug-free code.
I feel like this is a bit of a false dichotomy. Writing bug-free code is one approach to getting bug-free software. Attempting to detect UAF at run time is another approach. And there are many other options beyond those two (static analysis, sanitizers, testing, ...).
In theory, we need only the ability to write bug-free code. If we could do this reliably, repeatedly, in a reasonable amount of time and at a large scale (Chromium, in this case), then there would be no value in investing in any of these other approaches.
In practice, fixing every last bug in a large codebase can take a truly immense amount of time. And that is for a codebase that is not changing at all (including bug fixes!), which certainly does not describe Chromium or most large projects for that matter.
Given all that, it's entirely reasonable to think about how one can find the most bugs with the least amount of effort. And that's basically what this is--another form of automated bug detection. I really don't think it's intended as a substitute for correct code.
- fefe23 4y agoYou misconstrued my argument. I'm not advocating for "fixing all the bugs". On the contrary. I argue that retrofitting security does not work. I argued that we need to find a way to construct secure software, not to make existing insecure software more secure retroactively. We have tried writing shitty software first and then try to make it more secure for decades now. The track record is not good. We should try something else. Like constructing secure software from the start.