Security Basics mailing list archives

RE: Programming


From: "Rocky Heckman" <rocky.he () g-wizinnovations com>
Date: Sat, 12 Feb 2005 10:39:43 +1100

Hi Ben, 
A lot of people have responded and suggested things like Python, and
Assembler, Java, and even Cobol. However it appears they missed the main
point of your message. 

You said you wanted to learn programming to increase your knowledge about
security.  While the above mentioned languages will help you learn
programming, they won't help with your knowledge of security. 

If security is your target, you need to start with C and pick up Perl.
Programs written in C/C++ are the primary targets for serious attackers and
the ones that most commonly have severe security holes. If you understand
them, you'll begin to see why they have problems and how to fix them.  

You'll want Perl because it's used to automate a lot of attack tasks and
feed input to C programs.  You'll use it for quite a few things. 

Once you have that figured out, and you feel like getting down to the real
nuts and bolts, learn Assembler. The most efficient, tight code used by
professional malicious hackers is written in Assembler. 

Now, if you do want to learn programming for programming's sake, Python is a
great way to learn OO based programming. In my opinion, for learning the
light and dark side of programming for security related reasons, Java
doesn't do anything for you. You can write fairly secure code with it, but
it won't show you how the bad guys are exploiting things.  Cobol is a
non-contender in any situation.  While it was good in its day, it has
nothing to offer in the way of security training. 

RH


-----Original Message-----
From: dayz () planet nl [mailto:dayz () planet nl] 
Sent: Wednesday, 9 February 2005 7:17 Late
To: security-basics () securityfocus com
Subject: Programming

Hi,

I want to begin with learning programming to increase my knowledge about
security, but I don't know where to begin. Can someone tell me which
programming language is good to start with, and pherhaps what book
and/or online guides I should take a look at?
It would be nice that if I learn a programming language that it
shouldn't be much work to understand another one.

I am on Linux and Windows.

Thanks for the help.

Regards,

Ben



Current thread: