ACM Home Page
Please provide us with feedback. Feedback
binpac: a yacc for writing application protocol parsers
Full text PdfPdf (237 KB)
Source Internet Measurement Conference archive
Proceedings of the 6th ACM SIGCOMM conference on Internet measurement table of contents
Rio de Janeriro, Brazil
SESSION: Pattern matching and parsing table of contents
Pages: 289 - 300  
Year of Publication: 2006
ISBN:1-59593-561-4
Authors
Ruoming Pang  Google, Inc., New York, NY
Vern Paxson  International Computer Science Institute and Lawrence Berkeley National Laboratory, Berkeley, CA
Robin Sommer  International Computer Science Institute, Berkeley, CA
Larry Peterson  Princeton University, Princeton, NJ
Sponsors
SIGCOMM: ACM Special Interest Group on Data Communication
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 72,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1177080.1177119
What is a DOI?

ABSTRACT

A key step in the semantic analysis of network traffic is to parse the traffic stream according to the high-level protocols it contains. This process transforms raw bytes into structured, typed, and semantically meaningful data fields that provide a high-level representation of the traffic. However, constructing protocol parsers by hand is a tedious and error-prone affair due to the complexity and sheer number of application protocols.This paper presents binpac, a declarative language and compiler designed to simplify the task of constructing robust and efficient semantic analyzers for complex network protocols. We discuss the design of the binpac language and a range of issues in generating efficient parsers from high-level specifications. We have used binpac to build several protocol parsers for the "Bro" network intrusion detection system, replacing some of its existing analyzers (handcrafted in C++), and supplementing its operation with analyzers for new protocols. We can then use Bro's powerful scripting language to express application-level analysis of network traffic in high-level terms that are both concise and expressive. binpac is now part of the open-source Bro distribution.


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
 
2
M. Arlitt, B. Krishnamurthy, and J. C. Mogul. Predicting short-transfer latency from TCP arcana: A trace-based validation. In Proceedings of the Internet Measurement Conference (IMC), October 2005.
 
3
Abstract Syntax Notation One (ASN.1). ISOIEC 8824-1:2002.
 
4
 
5
 
6
 
7
N. Borisov, D. J. Brumley, H. J. Wang, J. Dunagan, P. Joshi, and C. Guo. Generic application-level protocol analyzer and its language. Under submission.
 
8
Common Internet File System. http://www.snia.org/tech_activities/CIFS/CIFS-TR-1p00_FINAL.pdf.
 
9
 
10
DCE 1.1: Remote procedure call. http://www.opengroup.org/onlinepubs/9629399/toc.htm.
 
11
DSniff. www.monkey.org/dugsong/dsniff.
 
12
The Ethereal Network Analyzer. http://www.ethereal.com/.
13
 
14
15
16
 
17
M. Handley, C. Kreibich, and V. Paxson. Network Intrusion Detection: Evasion, Traffic Normalization, and End-to-End Protocol Semantics. In Proceedings of USENIX Security Symposium, 2001.
 
18
 
19
V. Jacobson, C. Leres, and S. McCanne. TCPDUMP. ftp://ftp.ee.lbl.gov/libpcap.tar.Z.
 
20
S. C. Johnson. YACC - Yet Another Compiler-Compiler. Computer Science Technical Report No. 32, Bell Laboratories, Murray Hill, New Jersey, July 1975.
21
22
 
23
C. Kreibich. NetDude (NETwork DUmp data Displayer and Editor). http://netdude.sourceforge.net/.
 
24
C. Kreibich. Design and implementation of netdude, a framework for packet trace manipulation. June 2004.
 
25
A. Kumar, V. Paxson, and N. Weaver. Exploiting Underlying Structure for Detailed Reconstruction of an Internet-scale Event. In Proceedings of the Internet Measurement Conference (IMC), October 2005.
26
 
27
 
28
NFR Security. http://www.nfr.com.
29
 
30
 
31
V. Paxson. BRO: A system for detecting network intruders in real time. In Proceedings of USENIX Security Symposium, San Antonio, TX, January 1998.
 
32
V. Paxson, K. Asanovic, S. Dharmapurikar, J. Lockwood, R. Pang, R. Sommer, and N. Weaver. Rethinking hardware support for network analysis and intrusion prevention. In Proceedings of Workshop on Hot Topics in Security (HotSec), Vancouver, B.C., Canada, July 2006.
 
33
NetWare Core Protocol. http://forge.novell.com/modules/xfmod/project?ncp.
 
34
T. H. Ptacek and T. N. Newsham. Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection. Technical report, Secure Networks, Inc., January 1998.
 
35
 
36
The SNORT network intrusion detection system. http://www.snort.org.
37
 
38
C. Shannon and D. Moore. The Spread of the Witty Worm. http://www.caida.org/analysis/security/witty, 2004.
 
39
 
40
 
41
Ethereal OSPF Protocol Dissector Buffer Overflow Vulnerability. http://www.idefense.com/intelligence/vulnerabilities/display.php?id=349.
 
42
Snort TCP Stream Reassembly Integer Overflow Exploit. http://www.securiteam.com/exploits/5BP0O209PS.html.
 
43
Symantec Multiple Firewall NBNS Response Processing Stack Overflow. http://www.eeye.com/html/research/advisories/AD20040512A.html.
 
44
tcpdump ISAKMP packet delete payload buffer overflow. http://xforce.iss.net/xforce/xfdb/15680.
 
45
Separation of concerns. http://en.wikipedia.org/wiki/Separation_of_concerns.
46

CITED BY  7

Collaborative Colleagues:
Ruoming Pang: colleagues
Vern Paxson: colleagues
Robin Sommer: colleagues
Larry Peterson: colleagues