Argus 2.0 wishes
Peter Van Epp
vanepp at sfu.ca
Tue Mar 7 11:20:27 EST 2000
> > Or as a network tool that runs on a stripped down box that really isn't
> > Unix anymore (since Argus is really mostly a state machine that understands
> > the network).
>
> Hmmmm... we still maintain a DOS version of NeTraMet, it's got all the
> packet capture code... Also there is Trinux ( http://www.trinux.org/ )
> which would be a lot more straight forward.
>
I was actually looking at the example code done in the Circuit Cellar
Inc magazine intended for the embedded market. They started with protected
mode boot code (creating gdts and all those lovely Intelisms) and as I recall
moved up to stubs or perhaps an interrupt driven serial driver. Its not clear
to me that we are going to be able to even use C until we are at the TCP
processing stage, I suspect performance will require assembly at the bottom
end. I'm presently researching speeds in preparation for a presentation on what
kinds of performance issues are going to leap out and bite the unwary (for
sure TCP window starvation MTU size, hardware speed issues such as disk speeds
and latency) as we implement CA*net3 at a gigabit in the wide area. Because as
well as the Universities (who have been bitten before) the research network is
going to extend to local hospitals (who probably haven't). As part of that I
looked at my new ASUS motherboard which claims to be able to do a gigabyte per
second to memory. Then I looked at the real specs for a DIMM: 80 nsec cycle
time for 8 bytes of data i.e. around 100 Mbytes per second. At full speed
gigether you can just (maybe) get the data to memory, once (no copies). Now
I'm looking for a motherboard that has interleaved memory. At gig speeds I
think we are going to have to dedicate a page to a packet (or possibly packets
in the same stream to conserve memory) and then do "copies" by manipulating
the page tables rather than trying physical copies. The alternative would be
to build our own hardware with static ram, but I doubt thats viable. It is
going to be exciting finding the bandwith to even get the packets out a second
interface to get to an analysis machine. The saving grace being that we likely
don't have any hardware that can fill a gig pipe, so likely we only have to be
able to deal with routers that will puff up their cheeks and spit a stream out
at wire speed for a few packets. Of course that same router can aggregate a
bunch of 100 meg streams (which we probably can create) and do pretty close
to filling the wire as well. The machines I know of that can deal with this
(i.e. big SGIs) are a little too expensive for IDS systems ...
All that said, I'm not sure that snort isn't the appropriate place to
devote the IDS effort and leave Argus as it stands as an auditing tool that
does a different (but equally needed) job of allowing for long term logging
in affordable disk space rather than try and make it do both (with the
possibility of doing neither well). There looks to be a lot of open source
interest (and thus lots of bodies with knowledge and time) working on snort
from what little I've seen.
Peter Van Epp / Operations and Technical Support
Simon Fraser University, Burnaby, B.C. Canada
More information about the argus
mailing list