Proprietary protocols and file formats rely on security through obscurity and the
assumption that attackers cannot modify data they don’t understand to prevent
security vulnerabilities. This is a false assumption. Even if an attacker does not
understand a protocol, unless the decoding routines take active steps to ensure
the integrity of data, these routines are commonly susceptible to buffer overflows,
format string attacks, and other kinds of parsing vulnerabilities.