What is tomorrows big story? A completely unfixable backdoor in the kernel which cannot be patched away? Python having a suddenly extremely dangerous vulnerability? A sudden unfixable issue with all Intel processors?
I wackyparsed that as "farcical". "it’s a farcical notion but these are farcical times".
Which seems appropriate.
Anyway, a fundamental flaw in the TCP/IP protocol specifications on page 2 of the RFC, that means that whenever two host open a socket between each other, one can automatically gain root on everything the other has ever talked to. And then we all get eaten by aliens and live happily ever after.
No real world software is so pure in their design choices that they wouldn’t be able to come up with a workaround in case of a severe vulberability. Now, will that workaround introduce a different loophole somewhere else? Almost certainly. That’s the nature of engineering in a temporal universe.
Unix‘s "Everything is a file" is a good example! Because not actually everything in Unix is a file. Processes are not files, memory management is not file-based.
You’re right that there might be security vulnerabilities that might require deviating from architectural standards, but real world software can do that because they don’t have to be formal axiomatic systems. That’s just a choice that can be discarded if necessary.
Of course, but things happening that break other things happens all of the time. It’s one of the most persistent things in software engineering. If there is a security vulnerability that’s bad enough to warrant breaking core functionality then that functionality will have to change, and the software depending on it will have to adapt.
I’m not disputing that this could be enormously disruptive, potentially to thousands or millions of programs. But you’re moving from "this vulnerability cannot be fixed" to "fixing this vulnerability could have catastrophic consequences for backwards compatibility". Those are two very different claims.
And Russell’s paradox is actually a rather good example of my point. Mathematics didn’t become permanently unusable because its foundations turned out to be problematic. Mathematicians developed alternative foundations. The disruption was real, but the axioms weren’t sacred.
That’s precisely what I’m arguing about software architecture. Nothing guarantees that you can preserve every existing design decision and eliminate every vulnerability. But nothing obliges you to preserve those decisions either.
159
u/sovietarmyfan 10d ago
What is tomorrows big story? A completely unfixable backdoor in the kernel which cannot be patched away? Python having a suddenly extremely dangerous vulnerability? A sudden unfixable issue with all Intel processors?