Re: Open source firewalls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



RVK wrote:

Proxies can be a good way of filtering but it can't avoid buffer overflows.

Yes they can - did you read and udnerstand my previous post at all?
A proxy _can_ avoid a buffer overflow by noticing the
anomalously large data item and simply refuse to pass
it on to the real server!  The proxy can terminate the tcp
connection and throw away the data.

It can only increase it. More code more bugs.

Of course the proxy can be buggy too, but it is easier to
avoid problems there:
1. The server was written to perform a service, perhaps with
   security thrown in later.  (Yes, that's bad design.)
   A firewall proxy is written for security, so buffer overflows
   are usually avoided in the firewall proxy itself.  Because this
   is exactly what the firewall writer is thinking about.
2. The proxy may be much smaller and simpler than the server
   it protects, it is therefore much easier to audit for security
   problems.
3. Fixing the server is indeed best, but not necessarily an option.
   It could be proprietary, or written in a unknown language.

If it is running on a hardware firewall as a service then its more

"Hardware firewall" ???

dangerous as once it is compramised then IDS signatures also can be deleated :-). No use of IDS the right ?

A compromised firewall is of no use - sure.  So what? That applies
to any firewall, any IDS, or any server for that matter.

So the best way is either make your code free of buffer overflows or

Yes, but the server may not be "my code" at all.  Can't you see that
problem?  It may very well be someone elses code.  I may not have the
source, or the source may be useless for a number of reasons,
such as:
1. being written in a language I don't understand
2. Have a licence that forbids change
3. Need compilers/tools I don't have
4. Being such a nasty mess that writing a proxy is much easier
   than fixing the bloated ill-designed server code one
   unfortunately depends on for the time being.

In these cases, I can still protect my server with a proxy firewall,
although I can't fix the server itself.

use some library which controls the attack during any buffer overflow or use Stack Randomisation and Canary based approaches.

A library that controls any buffer overflow doesn't exist at all.

Stack randomization helps but don't solve all cases, the attacker
simply need code to search for randomly moved parts he need, pad with
a few megabytes of NOPs and things like that.  Of course, a proxy
can easily detect megabytes of NOPs and kill that connection . . .

Helge Hafting

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux