4 ms·
The author raises an important issue here: many people are lead to believe that using C is inherently unsafe. That's not true, and many of the most secure syste
by coliveira 6y ago
The author raises an important issue here: many people are lead to believe that using C is inherently unsafe. That's not true, and many of the most secure systems in the world were written in C. The other direction also doesn't work: software written in languages like Java can be effectively unsafe.
- pjmlp 6y agoOne of the most secure OSes is ClearPath MCP, zero lines of C on its kernel, rather NEWP. Azure Sphere, Solaris and latest versions of iOS all rely on some variation of hardware memory tagging to tame C exploits.
- astrange 6y agoiOS uses ARM "pointer authentication codes". There's actually a newer extension called ARM "memory tagging extension" and it doesn't use it as far as I know.
- pjmlp 6y agoCorrect, the point being it uses something. It also uses a safe C dialect for iBoot. https://support.apple.com/guide/security/memory-safe-iboot-implementation-sec30d8d9ec1/web https://support.apple.com/guide/security/memory-safe-iboot-i...
- bitwize 6y agoOnce again. We know from 40 years of discovering memory-related vulnerabilities in even the most carefully written, rigorously tested C programs that writing safe C is intractable for real, human software engineers. So yes, C IS INHERENTLY UNSAFE. If you claim otherwise you clearly haven't been paying attention to what's going on.