3

My question is rather generic. People are likely to downvote the question and admins will be tempted to close it at off-topic etc. But, I couldn't help myself asking the question to seek some fruitful answers.

Numerous software bugs/vulnerabilities/exploits are being found everyday. Security forums and mailing lists are getting overwhelmed by receiving the amount of posts researchers/users/engineers are posting everyday. CVE/NVD databases are getting filled up at lightening speed. What has surprised me for quite a while is how people are finding so many bugs in a short span of time, unless a large number of software are systematically explored/hunted for loopholes. For example, this guy has reported six bugs in this year so far.

As far as the bug-hunting techniques are concerned, what I can think of are the following:

  1. Black-box fuzzing (for both open and closed source products (COTS))
  2. White-box fuzzing (for open source products only)
  3. Symbolic execution guided search (not so scalable, to my knowledge)
  4. Reverse engineering (hectic, quite a lot of man hours involved)
  5. Hitting a bug by-chance (probably applicable to the cases reported by most of the end users)
  6. Code walkthrough (needs access to the source code, suited for internal auditing or open source products)
  7. Static analysis tools that helps in finding bugs of known patterns
  8. Dynamic analysis tools (not much familiar with this)

Still I wonder if any combination of all of the above can lead to discovery of so many bugs at such a rapid rate. Is/Are there any major techniques(s) I am missing?

closed as primarily opinion-based by M'vy, user45139, RoraΖ, Deer Hunter, Stephane Oct 6 '15 at 12:32

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Hi! Welcome to Information Security. The question is interesting, but is, as you say, probably off-topic (too broad and even opinion based). I do not think there is a "special technique" for bug discovery. It's just practice and time, know what to look for and try. – M'vy Oct 6 '15 at 9:08
  • I'm not sure it's so much opinion based - for people working in the 'looking for security vulnerabilities' industry, there may be some very interesting, and factual, insights. – David Scholefield Oct 6 '15 at 9:56
  • 1
    I'm voting to close this question as off-topic because you've listed all the major techniques, and I'm not sure there is a question here. – RoraΖ Oct 6 '15 at 11:33
0

I think this is probably a purely numbers game - there are a lot of people whose sole occupation is looking for security holes. Many of these people work for security consultancies and security service companies, and the kudos of finding and reporting is worth a lot to their brand.

There are some fruitful strategies as well - for example, fuzzing input parameters can often cause unexpected crashes and error messages and these may not be security issues, but they certainly suggest that further investigation would be useful. Chasing product update cycles is also interesting - software updates are surprisingly rich in security issues quite often because they may be released in exceptional circumstances such as time constraints or lower QA testing etc.

In the end though it's just the number of people and the number of hours applied I suspect.

Not the answer you're looking for? Browse other questions tagged or ask your own question.