|Type||Privately held company|
|Products||Robustness Testing Tools, Situation Awareness Tools|
|Services||Security Testing Services, Network Analysis Services|
|Type||Computer security, Fuzzing, Robustness testing, Network Analysis|
Codenomicon is a private company founded in late 2001, and develops robustness testing tools (also called fuzzing tools) for manufacturers, service providers, government/defense and enterprise customers. The company has raised Venture money mid-2000s and has been profitable since 2008, with more than 40% growth in sales each year. In 2011, the company acquired Clarified Networks, a situation awareness company.
Codenomicon is also known for having t-shirts that say "GO HACK YOURSELF", which they usually have at their booth during security conferences. This comes from the goal of Codenomicon to enable testers and system administrators to find their own zero-day vulnerabilities, instead of depending on external security consultants, and special hacker skills.
The product line of Codenomicon consists of a suite of 200+ independent network protocol testing solutions called DEFENSICS. Each protocol fuzzer can be licensed separately, or as a suite of protocols related to a specific technology such as IPTV, VoIP, Routing, Bluetooth, and several other communication domains.
These tools have roots in the research done at the University of Oulu in the Secure Programming Group (OUSPG). Whereas since 1999 the PROTOS project produced free software for testing about 10 protocols, Codenomicon has added support for much wider test coverage for about 200+ protocols, and is providing those tools under commercial licensing. PROTOS tools are still widely used. PROTOS and Codenomicon testing approach, called robustness testing, is based around the idea of proactive protocol testing by injecting unexpected anomalies into the protocol message sequences, structures and data types; in essence, fuzzing with some intelligence behind the generated test data.
DEFENSICS includes test suites for 200+ protocols industry standard networks protocols such as SMTP, SNMP, BGP, IPv6, SSH and SIP. In addition there are also test suites for various Bluetooth profiles and Wireless LAN. Codenomicon has also built nearly 100 customer proprietary fuzzers for special interfaces such as device API's and complex banking systems.
Codenomicon AppCheck is an application security scanner that identifies 3rd party code associated with an application. Based on detected third party code, AppCheck enumerates known vulnerabilities (with associated CVE identifiers) affecting detected code and flags software licenses (such as AGPL, GPL, BSD) associated with detected code. In addition to supporting Android, iPhone and BlackBerry mobile applications, AppCheck supports scanning Windows (32/64 bit), Linux Intel (32/64 bit), ARM, PPC and several other architectures. AppCheck operates purely on supplied binary and does not require source code of the scanned application. It’s available as an online managed service or as an on-site appliance.
Robustness testing is a model based fuzzing technique and over all Black box testing, an extension of syntax testing, that systematically will explore the input space defined by various communication interfaces or data formats, and will generate intelligent test cases that find crash-level flaws and other failures in software. The technique was first described in a University of Oulu white paper on robustness testing published in 2000, by Kaksonen et al., and Licentiate Thesis by Kaksonen, published in 2001. Fault injection and specification mutations were other names they used for the same approach.
Codenomicon's Defensics Product line is also known as a "Fuzzer that does not fuzz" - means - it uses smart anomalies instead of random Fuzzing structures. This enables fast test execution, extensive test documentation and better test coverage. Defensics tools address all fields in the protocols with all effective combinations of anomalies. Traditional fuzzing lacks this capability as with random inputs that would take too much time to be effective in fast paced test cycles.
Codenomicon and its founders have been developing fuzzing tools since 1996.
The first ideas for the engine were based on ideas the founders had while working at OUSPG, where systematic fuzzing was first used to break ASCII/MIME contents in email clients and web services. Later, the same technique was applied to ASN.1 structures in such protocols as SNMP, LDAP and X.509.
After Codenomicon was founded in 2001, its DEFENSICS product line has grown to cover over 200 industry-standard network protocols and file formats, including wireless interfaces such as Bluetooth and WLAN. DEFENSICS for XML provides an added capability for testing common XML-based protocols and file formats more efficiently than before.
- "Codenomicon Newsletter 2010/12". Codenomicon.com. Retrieved 2011-11-03.
- "Acquisition Expands Codenomicon’s Offering of Proactive Defense Solutions. News on EON". Eon.businesswire.com. 2011-05-23. Retrieved 2011-11-03.
- "Codenomicon history". Codenomicon.com. Retrieved 2011-11-03.
- "Codenomicon Test Suite Catalogue". Codenomicon.com. Retrieved 2011-11-03.
- "OUSPG". Ee.oulu.fi. Retrieved 2011-11-03.
- "PROTOS". Ee.oulu.fi. Retrieved 2011-11-03.
- "Codenomicon DEFENSICS Test Suites". Codenomicon.com. Retrieved 2011-11-03.
- "LWN Security". Lwn.net. Retrieved 2011-11-03.
- "Kaksonen R., Laakso M., Takanen A. Vulnerability Analysis of Software through Syntax Testing. White paper. OUSPG 2001". Ee.oulu.fi. Retrieved 2011-11-03.
- "Kaksonen, Rauli. A Functional Method for Assessing Protocol Implementation Security (Licentiate thesis). Published in 2001 by Technical Research Centre of Finland, VTT Publications 447. 128 p. + app. 15 p. ISBN 951-38-5873-1 (soft back ed.) ISBN 951-38-5874-X (on-line ed.)." (PDF). Retrieved 2011-11-03.
- "Kaksonen R., Laakso M., Takanen A.. "Software Security Assessment through Specification Mutations and Fault Injection". In Proceedings of Communications and Multimedia Security Issues of the New Century / IFIP TC6/TC11 Fifth Joint Working Conference on Communications and Multimedia Security (CMS'01) May 21-22, 2001, Darmstadt, Germany; edited by Ralf Steinmetz, Jana Dittmann, Martin Steinebach. ISDN 0-7923-7365-0". Ee.oulu.fi. Retrieved 2011-11-03.
- Takanen, Ari (2009-08-11). "The Fuzzer That Does Not Fuzz". Crashatatime.blogspot.com. Retrieved 2011-11-03.
- Mime bugs in Netscape.
- "The buzz on the bug - How does the e-mail security bug affect Solaris users? By Stephanie Steenbergen, SunWorld staff". Sunsite.uakom.sk. 1998-08-01. Retrieved 2011-11-03.
- "CERT Advisory CA-2001-18 Multiple Vulnerabilities in Several Implementations of the Lightweight Directory Access Protocol (LDAP)". Cert.org. Retrieved 2011-11-03.
- "Edmund Whelan. SNMP and Potential ASN.1 Vulnerabilities. December 2002. SANS Institute InfoSec Reading Room.". Retrieved 2011-11-03.
- XML Security and Fuzzing. http://www.codenomicon.com/labs/xml/
- "Bryan Burns, Jennifer Granick, Steve Manzuik, Dave Killion, Paul Guersch, Nicolas Beauchesne. Security Power Tools. Published by O'Reilly". Books.google.com. Retrieved 2011-11-03.
- "Viide J., Helin A., Laakso M., Pietikäinen P., Seppänen M., Halunen K., Puuperä R., Röning J. "Experiences with Model Inference Assisted Fuzzing". In proceedings of the 2nd USENIX Workshop on Offensive Technologies (WOOT '08). San Jose, CA. July 28, 2008". Ee.oulu.fi. Retrieved 2011-11-03.
- Official website
- AlwaysOn as an 100 Top Private Company Award Winner
- eSecurity DEFEND THEN DEPLOY.
- Codenomicon Introduces DEFENSICS for WLAN
- Codenomicon Offers Preemptive Security and Quality Testing
- CODENOMICON DEFENDS AGAINST NETWORK DATA STORAGE THREATS
- Jolt Productivity Award 2008
- Dr. Dobbs interview with Ari Takanen: Fuzzing, Model-based Testing, and Security http://www.drdobbs.com/security/207000941
- Dr. Dobbs article on Automated Penetration Testing Toolkit Released (based on Codenomcion press release) http://www.drdobbs.com/security/224600546
- Codenomicon Advisories
- CERT-FI Advisory on XML libraries
- CERT-FI Vulnerability Advisory on GnuTLS