-----Original Message-----
From: caleb.dods (at) bell (dot) ca [email concealed] [mailto:caleb.dods (at) bell (dot) ca [email concealed]]
Sent: Monday, September 20, 2004 12:56 PM
To: security-basics (at) securityfocus (dot) com [email concealed]; secprog (at) securityfocus (dot) com [email concealed]
Subject: Inspecting Code for Security
I have a background in programming and code inspection. However our inspections were not targeted at security, instead they looked for logic errors, over complex code, missing comments, etc.
With security in mind what things other things should I be looking for in a code inspection? I can think of the following, but I'm sure there are others:
- buffers that could be overflowed
- ensuring all input is validated (checked to ensure it is of the proper
type & format)
- ensuring passwords & other encrypted date is not stored unencrypted in memory
- ensuring strong encryption is used
- ensuring no easter eggs / backdoors are left in the code
- ???
Actually, there's an article I wrote a year or so ago on this very subject, check it out at:
http://msdn.microsoft.com/msdnmag/issues/03/11/SecurityCodeReview/defaul
t.aspx
[Writing Secure Code] http://www.microsoft.com/mspress/books/5957.asp
[Protect Your PC] http://www.microsoft.com/protect
[Blog] http://blogs.msdn.com/michael_howard
[On-line Security Training] http://mste/training/offerings.asp?TrainingID=53074
-----Original Message-----
From: caleb.dods (at) bell (dot) ca [email concealed] [mailto:caleb.dods (at) bell (dot) ca [email concealed]]
Sent: Monday, September 20, 2004 12:56 PM
To: security-basics (at) securityfocus (dot) com [email concealed]; secprog (at) securityfocus (dot) com [email concealed]
Subject: Inspecting Code for Security
I have a background in programming and code inspection. However our inspections were not targeted at security, instead they looked for logic errors, over complex code, missing comments, etc.
With security in mind what things other things should I be looking for in a code inspection? I can think of the following, but I'm sure there are others:
- buffers that could be overflowed
- ensuring all input is validated (checked to ensure it is of the proper
type & format)
- ensuring passwords & other encrypted date is not stored unencrypted in memory
- ensuring strong encryption is used
- ensuring no easter eggs / backdoors are left in the code
- ???
Thanks
[ reply ]