Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security Pen-Test
[Top] [All Lists]

RE: code analysis

Subject: RE: code analysis
Date: Mon, 20 Jun 2005 22:28:28 +0200
Hi,

Every programmer can produce insecure code in any programming language. This is 
starting to be addressed by vendors who supply programmers with safe version of 
popular libraries and compiler generated safeguards (like stack protection for 
example in Immunix, ProPolice and MS VC.NET). Secondly if the user can somehow 
supply input data to application than this is the area of code that can be 
vulnerable and needs to be analyzed. Things like insecure handling of files or 
use of high privileges, storing passwords in clear text in memory can be 
implemented in basically any language so Delphi and Modula-2 are no exception 
here. While I never touch Modula, Delphi/Pascal can be vulnerable to buffer 
overflows if you are interested in this particular class of vulnerabilities; 
besically just look at memory management for variables to know if particular 
language is vulnerable to buffer overflows or not. 

I am not aware of any static scanning tool like RATS or ITS4 that provides 
support for Delphi or Modula-2 however it should be quite easy in case of RATS 
and flawfinder to add such support - thanks to Python you can do it in one 
night probably. However you need to know programming language to design 
scanning rules for it. 

If you don't know those languages that your next best bet might be dynamic 
analysis of binary form. Both Delphi and Modula-2 are compilers so simply look 
at native code generated by those tools and try to do assessment at this level. 
At the end both languages need to use system API at some point so you can use 
it as your starting point. Keep in mind however that - as far as I remember - 
Borland compilers are not always using typical Win32 API for certain windows 
related operations. I think Delphi MessageBox is one of such examples.

Best Regards,
Aleksander Czarnowski
AVET INS



-----Original Message-----
From: huber_geo@hotmail.com [mailto:huber_geo@hotmail.com]
Sent: Monday, June 20, 2005 4:58 PM
To: pen-test@securityfocus.com
Subject: code analysis


Hello,

In addition to doing security audits for my clients, 
I occasionally am asked to to code reviews for 
products my clients are thinging of using.  Normally 
the code is in C, asm or C++ which I have no 
problem with.  However, the most recent code base 
I have been tasked to review has substantial parts 
written in Bordand Delphi and Modula-2 which I have 
no experience with.  So I am looking for leads for 
the following questions:

1) are are the security vulnerabilites associated 
   with each of the above languages.  For example, 
   do these languages have the potentail for 
   buffer overflows?

2) are there any auditing tools (ala RATS or 
   flawfinder) for these languages.

Thanks for your help.  Additionally, if this is 
not an appropriate forum for these questions, 
could you direct me to a better one?

thanks,
George Huber


<Prev in Thread] Current Thread [Next in Thread>