3 ms·
Related: http://techcrunch.com/2015/05/02/and-c-plus-plus-too/ http://techcrunch.com/2015/05/02/and-c-plus-plus-too/ We fail to learn. Heartbleed. GHOST. The A
by V-2 11y ago
Related: http://techcrunch.com/2015/05/02/and-c-plus-plus-too/ http://techcrunch.com/2015/05/02/and-c-plus-plus-too/
We fail to learn. Heartbleed. GHOST. The Android 4.3 KeyStore. Etcetera, etcetera, etcetera.
C was and is magnificent, in its way. But we cannot afford its gargantuan, gaping security blind spots any more. It’s long past time to retire and replace it with another language.
[...]
So please, low-level programmers of the world, I beseech you (while, to be clear, also respecting you immensely): for your next project, try Rust rather than C/C++. There is no longer any good reason for today’s software to be as insecure as it is. Those old warhorses have served us well, but today they are cavalry in an era of tanks. Let us put them out to pasture and move on.
(Personally I'm rather neutral on the issue (I don't work with low-level languages), I just think it's good food for thought.)
- wglb 11y agoThis is advice useful for architects and engineers, and would be preaching to the pen-testing choir. It is necessary for the member of such a security company to think of the software that they learn is first a tool used to attack other software (Metasploit, Burp, hand-written tools such as WWMD, quick one-off, discardable code used during a test), and secondly to develop a deep understanding of how the software under test works. And, as I and others have noted previously in this forum, not all of the dramatically-reported errors are due to the low-level nature of C. Some are glaring implementation-language independent protocol errors.