Spotting the Sin During Code Review

In many of the other sins, we recommend code review as a far more effective technique for identifying the sin than testing. In this sin, its just the opposite . Individuals using their own intuition as to how usability and security are going to interact arent likely to ferret out all the problems youll find by getting feedback directly through user testing techniques.

That doesnt mean you cant do anything when auditing code. It just means that we dont recommend using code review in place of doing the appropriate testing.

When youre looking for usability problems that impact security, we recommend doing the following:

  • Follow the UI code until you find the security options. Whats on and off by default? If the code isnt secure by default, theres probably a problem. It might also be a problem if its easy to disable security features.

  • Look at the authentication system. If the user cant properly authenticate the other side of a connection, is there an option to accept the connection anyway? Of course, at this point the user has no idea who is at the other end of the connection. A good example is an SSL connection, where the users software connects to a server, but the name in the certificate says the name of the server is something else, and most users wont ever notice. (This is explained shortly.)

Another thing you might look at here is whether there is an obvious way to reset a password. If so, can the mechanism be used for denial of service? Does it involve humans in the loop that might be susceptible to social engineering?



19 Deadly Sins of Software Security. Programming Flaws and How to Fix Them
Writing Secure Code
ISBN: 71626751
EAN: 2147483647
Year: 2003
Pages: 239

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net