This document summarizes an extensive survey of intrusion detection systems. It discusses the general architecture of IDS, including host-based and network-based systems. It describes different types of attacks (e.g. DoS, probing, user-to-root) and defenses. It analyzes previous work applying data mining techniques like machine learning to improve detection rates and reduce false alarms. A key problem is the massive number of false alarms that overburden security managers; the document aims to investigate solutions to lower the false alarm rate so that real threats are not missed.