|
ABSTRACT
This paper describes a toolkit to help improve the robustness of code against DoS attacks. We observe that when developing software, programmers primarily focus on functionality. Protecting code from attacks is often considered the responsibility of the OS, firewalls and intrusion detection systems. As a result, many DoS vulnerabilities are not discovered until the system is attacked and the damage is done. Instead of reacting to attacks after the fact, this paper argues that a better solution is to make software defensive by systematically injecting protection mechanisms into the code itself. Our toolkit provides an API that programmers use to annotate their code. At runtime, these annotations serve as both sensors and actuators: watching for resource abuse and taking the appropriate action should abuse be detected. This paper presents the design and implementation of the toolkit, as well as evaluation of its effectiveness with three widely-deployed network services.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
D. Andersen, D. Bansal, D. Curtis, S. Seshan, and H. Balakrishnan. System Support for Bandwidth Management and Content Adaptation in Internet Applications. In Proceedings of the Fourth USENIX Symposium on Operating System Design and Implementation (OSDI), Februray 2000.
|
| |
2
|
Apache Software Foundation. Apache Web Server. http://www.apache.org/.
|
| |
3
|
|
| |
4
|
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions. In Proceedings of the Fourth USENIX Symposium on Operating System Design and Implementation (OSDI), October 2000.
|
 |
5
|
Dawson Engler , David Yu Chen , Seth Hallem , Andy Chou , Benjamin Chelf, Bugs as deviant behavior: a general approach to inferring errors in systems code, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
| |
6
|
|
| |
7
|
K. Kendall. A Database of Computer Attacks for the Evaluation of Intrusion Detection Systems. Master Thesis, MIT, June 1999.
|
| |
8
|
Linux NIS(YP) Server. http://www.linux-nis.org/nis/.
|
 |
9
|
|
| |
10
|
V. Pai, P. Druschel, and W. Zwaenepoel. Flash: An Efficient and Portable Web Server. In Proceedings of the USENIX '99 Annual Technical Conference, June 1999.
|
 |
11
|
|
 |
12
|
|
| |
13
|
Christoph L. Schuba , Ivan V. Krsul , Markus G. Kuhn , Eugene H. spafford , Aurobindo Sundaram , Diego Zamboni, Analysis of a Denial of Service Attack on TCP, Proceedings of the 1997 IEEE Symposium on Security and Privacy, p.208, May 04-07, 1997
|
| |
14
|
A. Somayaji and S. Forrest. Automated Response Using System-Call Delays. In Proceedings of the 9th USENIX Security Symposium, August 2000.
|
| |
15
|
|
| |
16
|
R. Srinivasan. RPC: Remote Procedure Call Protocol Specification Version 2. Request for Comments (RFC) 1831, August 1995.
|
| |
17
|
C. Villamizar, R. Chandra, and R. Govindan. BGP Route Flap Damping. Request for Comments (RFC) 2439, November 1998.
|
| |
18
|
|
 |
19
|
Matt Welsh , David Culler , Eric Brewer, SEDA: an architecture for well-conditioned, scalable internet services, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
|