On Sun, 13 Jun 2010, Vadim Zhukov wrote:

> No, no, it's me who is excluding this way. :) Moving packets through
> userland and reimplementing states in the app is not the simpliest,
> most reliable and - last but not least - fastest way, IMHO. Please
> prove me if I'm wrong.

Well, in a sense, proxying is the most reliable in that it ensures that
there is no exploitable ambiguity of interpretation between the inspector
and the receiver of traffic. This is well described in Ptacek and Newsham's
"Insertion, Evasion, and Denial of Service: Eluding Network Intrustion
Detection"[1].

AFAIK you patch doesn't seem to deal with the trivial case of where the
data to inspect spans more than one packet so it isn't reliable even with
non-adverserial traffic.

The fact that doing this right is exceedingly difficult is why it doesn't
exist in PF already.

-d

[1] http://www.icir.org/vern/Ptacek-Newsham-Evasion-98.ps

Reply via email to