Polyglot
Top Cited Papers
- 28 October 2007
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 317-329
- https://doi.org/10.1145/1315245.1315286
Abstract
Protocol reverse engineering, the process of extracting the application-level protocol used by an implementation, without access to the protocol specification, is important for many network security applications. Recent work [17] has proposed protocol reverse engineering by using clustering on network traces. That kind of approach is limited by the lack of semantic information on network traces. In this paper we propose a new approach using program binaries. Our approach, shadowing, uses dynamic analysis and is based on a unique intuition - the way that an implementation of the protocol processes the received application data reveals a wealth of information about the protocol message format. We have implemented our approach in a system called Polyglot and evaluated it extensively using real-world implementations of five different protocols: DNS, HTTP, IRC, Samba and ICQ. We compare our results with the manually crafted message format, included in Wireshark, one of the state-of-the-art protocol analyzers. The differences we find are small and usually due to different implementations handling fields in different ways. Finding such differences between implementations is an added benefit, as they are important for problems such as fingerprint generation, fuzzing, and error detection.Keywords
This publication has 16 references indexed in Scilit:
- PanoramaPublished by Association for Computing Machinery (ACM) ,2007
- MinosACM Transactions on Architecture and Code Optimization, 2006
- Semi-automated discovery of application session structurePublished by Association for Computing Machinery (ACM) ,2006
- Unexpected means of protocol inferencePublished by Association for Computing Machinery (ACM) ,2006
- The species per path approach to SearchBased test data generationPublished by Association for Computing Machinery (ACM) ,2006
- ArgosACM SIGOPS Operating Systems Review, 2006
- Improving network applications securityPublished by Association for Computing Machinery (ACM) ,2005
- Violating Assumptions with FuzzingIEEE Security & Privacy, 2005
- ACASPublished by Association for Computing Machinery (ACM) ,2005
- Secure program execution via dynamic information flow trackingPublished by Association for Computing Machinery (ACM) ,2004