[$] A survey of some free fuzzing tools
Many techniques in software security are complicated and require a deepunderstanding of the internal workings of the computer and the software undertest. Some techniques, though, are conceptually simple and do not rely onknowledge of the underlying software. Fuzzing is a useful example: running aprogram with a wide variety of junk input and seeing if it does anythingabnormal or interesting, like crashing. Though it might seem unsophisticated,fuzzing is extremely helpful in finding the parsing and input processingproblems that are often the beginning of a security vulnerability.