An interview with Marcus Ranum CEO of NFR on Intrusion Detection, Linux, and Security.
Recently I got an opportunity to speak with Marcus Ranum,
Founder and Chief Technical Officer for Network Flight Recorder,
developers of network intrusion detection products. He has specialized in Internet security since he built the first commercial
firewall product in 1990. He has acted as chief architect and implementor
of several other notable security systems including the TIS Firewall Toolkit, TIS
Gauntlet firewall, whitehouse.gov, and the Firewalls
FAQ. Marcus frequently lectures on Internet security issues, and is
co-author of the "Web Site Security Sourcebook" with Avi Rubin and Dan
Geer.LinuxSecurity.com: How
did you get started with security? What were some of the bigger
challenges you faced as you tried to be one step ahead of your black-hat
adversaries? Marcus Ranum: I
got started when I was working in sales support for Digitial Equipment
Corp, and my boss made me take over management of one of our corporate
Internet gateways. It wasn't really a firewall, in those days, but over
the course of a couple years I evolved it into a pretty tough firewall
which later became a commercial product (the DEC SEAL). My interest was
always in building large-scale distributed systems and doing network
management. Security was just something that snagged me, sucked me in,
dragged me under, and has never let me go. To me the biggest challenge
has always been keeping up with what the bad guys are doing while keeping
my hands clean. There are a lot of security folks who play on both sides
of the fence; their excuse is that they need to do that to learn what the
enemy is doing. In reality, I think that's just a pose they adopt that
lets them have the benefits of being a hacker without the downside of
getting in trouble if they get caught. I've tried all my career to be
living proof that you can be a security professional without having a
background as a "black hat" or "gray hat" hacker but it still boils my
blood that I get 2 or 3 e-mails a week from hotmail.com addresses asking
for hints how to break through firewalls, etc. It's very disappointing,
especially now that some conferences (SANS, Interop, etc.) are teaching "how to hack"
classes and promoting hacking as something that's fun and cool. LinuxSecurity.com: Can we start with
having you explain what an intrusion detection system actually is, and a
mention of the various types? What is the difference between misuse
detection and anomaly detection? Host-based and network-based? Marcus Ranum: An intrusion detection
system is a security system designed to detect unauthorized accesses (or
suspicious activity) within a system or a network. Host-based intrusion
detection systems tend to focus on what's happening within the host
itself. Network-based intrusion detection systems generally operate at an
IP level, trying to infer attacks against the network from traffic and its
contents. The host-based approach tends to focus on logs, application
states, and kernel information for its data sources, while the
network-based approach tends to focus on packets. Of course, there is
always some crossover: some network-based systems look for host problems,
and some host-based intrusiond detection systems latch the bottom of the
host's IP stack and look at packets. Anomaly detection and misuse
detection are the two primary approaches for analyzing the data the
intrusion detection system deals with. In the misuse detection approach,
the intrusion detection system has a knowledge base of "signatures" that
represent known attack patterns. The system matches events against the
signature database, as it sees them. This is a very predictable approach -
if your knowledge base is good, and your pattern matching ability is good,
then you will reliably detect known problems. On the other hand, if you
don't know what a particular attack looks like, you can't detect it. So
misuse detection systems may miss a new attack; they're much like
antiviral software in that regard. Just like antiviral programs, misuse
detection systems are easy to deploy, and very effective. Anomaly
detection systems are based on statistical analysis - they try to
determine what looks "unusual" based on the types of events seen in the
network beforehand. Anomaly detection approaches often emphasize training,
neural networks, statistical margins of error, etc. This approach is less
predictable than misuse detection, since it depends on learning what's
going on - and the system makes "inferences" about the significance of
events. One of the biggest problems with statistical methods is that they
can tell you if something is "unusual" but they can't tell you what it
means. That's left as an exercise for the user. For that reason alone,
many network administrators find misuse detection to be more valuable: it
tells you what things mean because it's got that knowledge base to
compare against. In real life, most intrusion detection systems use
both anomaly detection and misuse detection, since neither approach is
perfect in itself - you can get pretty good coverage by trying a bit of
everything. I've been predicting for a long time that eventually the
host-based versus network-based paradigm will break down as well: there
are some things that each type of system is especially good at, and an
intrusion detection system designer would have to be a fool to ignore
that. LinuxSecurity.com: The
phrase "defense in depth" describes a method of providing multiple layers
of security to a system in an effort to reduce the risk of compromise
should any one of those layers become subverted. My experiences have been
that many of those not familiar with this concept, or have been deluded by
marketspeak, think especially that an IDS is a panacea. Once it's
implemented, it may be the case that a guy that previously worked in the
tech support group is the one responsible for monitoring the GUI-based
point-and-click front-end and calls someone when he thinks there's a
problem. Can you explain what role an IDS should play in an
organization? Marcus Ranum:
I hate the picture you portray: of an organization that is deluded by
marketing and which doesn't take security seriously enough that their
staff have the time and wherewithal to understand and pay attention to
what's going on in the network. I know that there are a lot of sites out
there like that, but it's awfully depressing to contemplate. Where
would intrusion detection fit in an organization? Well, if they're
concerned about security and want to do things right, they'll be
monitoring traffic for unusual signs on the interior of their firewall,
and on critical interior segments. Mission critical machines will also be
running intrusion detection. Typically, all of the intrusion detection
systems will report to a central console that is staffed by someone who
can make the first approximation of what's significant and who will have
the ability to call in the troops if something is clearly amiss. This
means that the organization will have to have an incident response plan, a
call tree for emergencies, and sufficient training to know whether or not
a particular attack represents, as Captain Nemo says, "an accident or an
incident." LinuxSecurity.com:
What are the hurdles that must currently be overcome with today's IDS
boxes? What are some of the new features coming in the next revisions of
IDS's? Marcus Ranum: The main
hurdles have to do with reducing the number of false positives (false
alarms) while successfully handling greater and greater data rates. Some
of our customers are running sustained throughputs of 500+mb/sec - it's
hard to collect that kind of traffic and examine it closely. So one of the
new features I think most IDS will have is tight coupling between
network-oriented traffic capture and host-based security analysis.
LinuxSecurity.com: How and why did
you design the NFR operating system as a derivative of OpenBSD, the BSD distribution reportedly
developed explicitly with security as a focus? Marcus Ranum: We really wanted to move away from
operating systems entirely, but it's difficult. To us the choice of
OpenBSD was one of convenience - one of my staff has a good relationship
with some key members of the OpenBSD team so we just naturally gravitated
in that direction. But in today's world, you can't assume that things will
stay the same: we use virtually none of OpenBSD in our appliance - only
the bootstrap loader, some device drivers, and the kernel/file system. We
wanted to be able to swap operating systems any time. We think we could
replace the operating system in a matter of a month or so, if we had
to. LinuxSecurity.com: I
understand you have a few sound reasons why your product doesn't run using
Linux as a base. Can you explain why that is, and why you're only now
revisiting Linux? Will we have IDS administrative console access soon on
Linux? Marcus Ranum: The main
reason is that we don't really care about operating systems; since our
product comes with its own operating system built into it, we're very
happy in the operating system department. There's no reason to switch or
support another operating system other than if we wanted to be trendy.
Since our users have no access to operating system features, they can't
tell if it's BSD or Linux or whatever - they shouldn't care. Of course,
you always run into die-hards who are disgruntled when you're not
supporting whatever it is they particularly like. From our perspective,
that's like complaining that your car's microcontrollers aren't running
Linux. Who cares what they're running? We've got command line tools for
accessing the IDA from UNIX or Windows machine; they work fine under
Linux. We keep exploring the idea of writing an X-Window based GUI, but
our experience is that UNIX users are happy with command line, and Windows
users are happy with GUI only. So we think things are pretty well covered
in that department. LinuxSecurity.com: What do you think about the
concept of having the IDS box interact directly with the firewall, and
provide the ability to block off the offending address as it's happening?
Obviously this could cause a denial of service in and of itself, but is
this type of proactive measure being worked on? Marcus Ranum: That kind of thing has always
made me nervous, but our customers ask for it all the time. I still
believe that passive approaches are the only ones that are truly viable
(interfacing with a router/firewall is "passive" while sending reset
packets and network unreachables, etc, is "active"). The trend I believe
we'll see in the future is centralizing of information into places where a
human can react/manage the process as an intelligent participant. That's
going to be an interesting and active area of research in the future, I
predict. LinuxSecurity.com:
What do you think of the idea of incorporating the intrusion detection
software directly into the network router, instead of a dedicated device
for this purpose, such as NFR? Marcus
Ranum: I think it's a neat idea in principle but it doesn't
and won't work very well in practice. The reasons are a little subtle, but
let me explain a few of them: To do intrusion detection "right" at a
network layer, you have to do TCP stream reassembly. The fact that many of
the commercial IDS out there don't do it now is an embarrassing little
secret they'd like to keep, but it's really important since the bad guys
know lots of ways around IDS that don't reassemble streams. But stream
reassembly is hard (which is why some of the products out there don't do
it) and it's also CPU and memory intensive. Router makers are extremely
sensitive to things that are going to require extra RAM or a bigger CPU,
so they've got a problem if you want to push IDS into that platform. My
guess is that the IDS capabilities will be minimal (mostly for marketing
purposes) or you'll see something that is really an IDS that also happens
to know how to route - and it'll be a lot slower than a "real" router or
switch. Let me give you an example: if you're trying to capture and
reassemble an 80% saturated FDDI, you're looking at about 17,000
packets/sec - they won't all come in sequence so you're going to have to
buffer packets. You can eat 100MB of RAM in no time at all and I don't see
a lot of routers with that kind of spare real estate. Another problem with
the idea of putting an IDS into a router or switch is log retention. IDS
like to keep records of what they saw; hard disks are the only reliable
way to do that. I don't see a lot of routers with ultra-wide SCSI disks in
them. If I did, I'd be building IDS on them! :) LinuxSecurity.com: I
understand you no longer make the source code available to your product.
Wouldn't it be possible to release the source code under an Academic
Source License, as well as provide a binary-only commercial evaluation
copy for those who are interested in purchasing it? Marcus Ranum: We actually have (under limited
circumstances) made source available for researchers in the community,
gratis. The whole issue is painful for me because I come from an "open
source" background (as a friend says, "I was 'open source' when 'open
source wasn't cool.') but I've had too much intellectual property ripped
off. There's already one product on the market that I believe is highly
derivative of NFR - some chump's going to make a lot of money on that
product, without so much as a "thank you" to the real innovators. I know a
lot of people think I'm "anti open source" (which is silly, since I was
posting source code before most of them had even heard of the Internet)
but really I've had some nasty experiences with rip-offs that has soured
me on the concept. There are a couple of guys who made tens of millions of
dollars by ripping off the firewall toolkit (another of my 'open source'
products) - after a while it gets irritating. Another problem I had with
making source code available was that we had a lot of people who refused
to read the README files, and ate a ton of our time with questions that
we'd already expended considerable effort to answer. That made it hard for
us to get work done! To top it off, people would ignore the README that
explained that our commercial product was a whole different (and much more
well-rounded!) solution, and they'd compare our source code "do it
yourself" toolkit against our competitors' commercial offerings. I hate to
say it, but being 'open source' hurt us really badly in a number of ways.
So we're careful now. LinuxSecurity.com: I read your new column in
the last issue of ;login, the
USENIX and SAGE magazine, where you talked about
how protocols and technologies are becoming more and more complex, yet
seem to have increasingly less security, as a tradeoff for ease-of-use.
Set-top boxes, xDSL, and cable modems are all adding to this fertile
environment for attackers. What do you think our future is like? How can
we design secure systems, yet make them easy enough for the uninitiated to
use? Marcus Ranum: I don't
think so. I think things are going to get infinitely worse before they get
better (if they ever do) There's just too much shovelware out there. I
saw a great example a few months ago: a web-cam that's a completely "hands
off" appliance. Turns out it runs Linux inside, and a web server and a
little FTP server. The web server has buffer overruns and the FTP server
allows FTP bounce attacks. Of course the guys who built it were trying to
make a camera, not a secure system, but I wonder how many of those are
sitting out on people's DMZ networks... LinuxSecurity.com: It's been said that the only
way we are going to resolve the distributed denial of service is for
upstream providers to perform source address IP spoof protection, as well
as diligent, educated administrators to do their part in preventing their
systems from becoming compromised. In the bandwidth consumption attacks
such as smurf, it's often difficult to determine legitimate from
illegitimate traffic. What role do you see intrusion detection systems
playing in the prevention and reporting of on-going attacks? I believe
that one of the important roles IDS will fill is by increasing the level
of accountability on the Internet. We've already had customers catch
hackers that were using their sites as jump-off points. Consistently, the
hackers were surprised to find out that someone was watching who did what,
and when. Well, it's unfortunate, but I think the days of anonymous
Internet use are numbered. LinuxSecurity.com: Many of today's commercial
firewall products include hooks to perform virus scanning, LDAP
authentication and other "conveniences" that certainly seem to be more
than a firewall should be responsible for. This ultimately resulted in a
buffer overflow, of all things, on a firewall recently reported to
bugtraq. Do you think these add-ons provide value-add to the consumer, or
are an inexcusable attempt by the firewall vendors to create "the only
security device you'll ever need"? What do you think the eventual
polymorphism of firewalls will be in the next few years? Marcus Ranum: I think that was one of my old
products. :( The hole was added after I'd left over managing the product,
though. I tend to be extremely fussy about having anyone else's code on my
products, for exactly that reason. I don't believe security can be built
piecemeal through acquisition: it has to be consistently designed, by
someone who is familiar with the system and who is interested in making
the most secure product, not the most feature-rich. Firewalls are an
interesting problem. There are some fundamental problems with the entire
firewall concept which, fortunately, the bad guys have not taken
advantage. I believe that within the next few years, they will. Then I'm
not sure what happens to the idea of firewalls. It bugs the hell out of me
since I don't have a solution, either. It's one reason I got out of the
firewall business back in '95 when I did. Marcus, I'd like to thank
you for having this interview. We all very much look forward to seeing
the projects you're working for the future, and hope to see you at the
next computer security conference!
Only registered users can write comments. Please login or register. Powered by AkoComment! |