> The fun times of security semantics! Old debates never die...
Vulnerabilities are a subset of software engineering bugs. As the name implies, they are defined strictly by the impact they have; if a bug does not render the victim appreciably susceptible to anything that would be of value to external attackers, it is not a security problem. Now, there are two points to be made: 1) "Value to the attacker" is a broad and fuzzy term that also covers emotional gratification (by just causing hardship to a disliked party) - so loss of availability should be often treated as a security glitch (well, you could also say a "reliability glitch" and start another argument); but the important thing is, not all bugs that cause a crash will cause noticeable loss of availability - i.e., no service is denied or deferred to third parties. For example, crashing a sshd or ftpd child handling my own connection is not interesting by itself, unless events leading to the crash, or the crash itself, impose a significant and repeatable resource strain. Crashing a keep-alive httpd child might be marginally more expensive, and hence maybe a limited security concern. 2) "Appreciably susceptible" is just as hard to quantify when dealing with high loss, but low probability scenarios; there were quite a few bugs that likely affected very few or no users (e.g., many of the publicly reported command-line overflows in non-suid programs), but a hypothetical scenario where it would matter could be constructed (in the aforementioned case, say, really bad PHP / CGI scripting). Most people dismiss such vulnerability reports, but it's difficult to draw the line. Anyway... bottom line is, any attempts to formalize the criteria are bound to fail (and have mostly failed in the past), and common sense is the best tool we have. /mz _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/
