How to Develop Securely
An anonymous reader writes "This column explains how to write secure applications; it focuses on the Linux operating system, but many of the principles apply to any system. In today's networked world, software developers must know how to write secure programs, yet this information isn't widely known or taught. This first installment of the Secure programmer column introduces the basic ideas of how to write secure applications and discusses how to identify the security requirements for your specific application. Future installments will focus on different common vulnerabilities and how to prevent them."
A hacker is a computer expert or enthusiast. So I'm a hacker?
(Well, ok, perhaps it's more complicated than that, but that's a good start)
You are not alone. This is not normal. None of this is normal.
then you don't know enough about programming to be considered an expert by the rest of us.
There's often an obsession attached to the definition by those of us that consider ourselves hackers. If you stay up until 4 am with school the next morning, working on a program for no profit or wage, you can consider yourself a hacker.
Exceptions include VB programmers, or |-|@X0Z, and those that break into computers using exploits written by others, where targets are chosen because of apparent vulnerability, aka script kiddies.
Breaking into computers is NOT an essential part of hacking, that's a misunderstanding by the media. Then again, is "ya'll" a valid contraction in the south-east?
You can't judge a book by the way it wears its hair.
There are a lot of exceptions to the "if you break into systems" rule.
You can't judge a book by the way it wears its hair.
http://packages.debian.org/testing/utils/flawfinde r.html
------ Take away the right to say fuck and you take away the right to say fuck the government.
Use a safer language, one that has bounds checks and restricts the use of pointers. It wouldn't solve everything but it would eliminate a large class of exploitable bugs.
Mea navis aericumbens anguillis abundat
The article is not about developing secure software, it merely talks about security issues to consider when developing software, but it doesn't give any actual answers about how to do it. It only helps identifying the problem, not providing an answer for it.
When these first processors (8088) were designed, nobody was aware of the possible implications with respect to security. And that is still the problem with many software/hardware engineering issues.
a cracker is a hacker but a hacker aint a cracker
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
If you know the size requirements for your strings (or vectors or whatever std containers) beforehand consider the reserve() member function. Eliminating ill behaviour due to running out of memory (assuming you avoid the creation fo temporaries) then also enables your proofs just as in C. And it speeds things up too.
Someone once told me that C/370 used activation records instead of a stack, like PL/I. Come to think of it, there's no reason you have to use the hardware stack pointer on the x86, except for hardware interrupts.
Mea navis aericumbens anguillis abundat
This was a talking head article. What we don't need is more talking heads telling us and the world what programmers need. What we do need is a better understanding amongst programmers so that they take greater pride in their work. It is no coincidence that the software I represent is generally bug and vulnerability free and has been for years: The people who wrote it are dedicated and took great pride in it.
Writing good software is the same as writing secure software, said a good friend of mine who just happened to be the clever chap who nabbed the fellow behind Melissa and sent the Washington Post to Anaconda after ILOVEYOU. He's right.
A good programmer will never allow a buffer overflow. It's just not done. A good programmer will not assume his program is going to be used as advertised. An IT manager I used to work with began all his own reviews of software by banging on the keyboard with his fists and throwing the keyboard to the floor. The programs were not allowed to crash or do anything stupid. Several developers thought this was unfair, but of course it was not. It was just good thinking.
You have to perhaps develop a feeling for what can go wrong, but getting into particulars here is not what is needed. Good instincts are what is needed.
If you don't have the instincts, and the dedication, then all the advice of all the talking heads in the world will not help you. They'll still make money hand over fist selling their blather to the suckers, but software will still be leaky.
radsoft.net