Re: No need for AV tools on Linux, eh?
- From: Ian Malone <ibmalone@xxxxxxxxx>
- Date: Fri, 18 Feb 2011 17:55:57 +0000
On 14 February 2011 21:54, Rick Stevens <ricks@xxxxxxxx> wrote:
On 02/14/2011 11:23 AM, Joe Zeff wrote:
On 02/14/2011 10:03 AM, James Mckenzie wrote:
I've found very obvious buffer overflow conditions and failures to enforce changes of variable types in publically available code bases.
It's been years since I did any C programming, and my memory of it is
dusty (as Ziva David once phrased it) but I do remember that there are
two, very similar functions for copying strings. One copies as many
bytes as you give it, the other copies only as many as you specify if
there are "too many" given. Just using the second instead of the first
would prevent most of the easier buffer overflow exploits, if not all.
By now, I'd think that would be automatic, but then, I'm not a
programmer any more.
You're talking about "strcpy()" (copy until you see the NULL) and
"strncpy()" (copy until you see the NULL, but no more than N bytes).
To derail discussion slightly, this doesn't really fix the problem,
just shifts it to a different place (keeping track of lengths and
dynamically handling data), the problem being that people for whatever
reason, be it laziness or time pressure or something else) make poor
assumptions about the data combined with the traditional C string
handling not being great.
There are a few GNU extensions which make life much simpler, I spent a
while some time ago fixing some code which made heavy and buggy use of
static buffers for strings with a liberal application of stuff like
getline and asprintf, which is easy to do and reduces your potential
problems to memory leaks (which on most systems will die when your
application does). If you have licensing problems with glibc or need
to work on a non-gnu platform then these are pretty easily implemented
from their specs. While C hasn't moved as far as C++ or modern
languages (you have to work at allowing a buffer overrun in Python),
James Mckenzie is right, this shouldn't happen any more. Unfortunately
it still does.
--
imalone
--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
- Follow-Ups:
- Re: No need for AV tools on Linux, eh?
- From: Joe Zeff
- Re: No need for AV tools on Linux, eh?
- References:
- Re: No need for AV tools on Linux, eh?
- From: James Mckenzie
- Re: No need for AV tools on Linux, eh?
- From: Joe Zeff
- Re: No need for AV tools on Linux, eh?
- From: Rick Stevens
- Re: No need for AV tools on Linux, eh?
- Prev by Date: Re: Yum update remove some driver or software.
- Next by Date: Re: Yum update remove some driver or software.
- Previous by thread: Re: No need for AV tools on Linux, eh?
- Next by thread: Re: No need for AV tools on Linux, eh?
- Index(es):
Relevant Pages
|