15.04.2018 Views

programming-for-dummies

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

640<br />

Secure Computing<br />

That’s one of the reasons why Microsoft Windows XP (and earlier incarnations<br />

of Windows) has proven so vulnerable to malware and hackers.<br />

Windows was designed under the assumption that only one person would<br />

use the computer and no programs (or people) would deliberately try to<br />

wreck the computer.<br />

Then along came the first wave of computer viruses, followed by a second<br />

wave of computer worms, Trojan horses, and spyware that has cluttered and<br />

clogged most Windows computers as effectively as throwing sand and metal<br />

shavings inside a Formula One race car engine.<br />

Now the assumption is that malware will try to take down computers and<br />

hackers will try to break into them. That’s why secure computing tries to<br />

build security into a program as part of the design process. So not only must<br />

programmers learn the basics of object-oriented <strong>programming</strong> and algorithm<br />

analysis, but they must also learn the practices of secure computing as well.<br />

Patching as an afterthought<br />

Because so many programs were originally designed without security in<br />

mind, it’s no surprise that much computer security work involves analyzing<br />

the security flaws of an existing program and then writing a patch that fixes<br />

those problems.<br />

Every program has flaws, so every program needs patching. Armies of programmers<br />

love probing programs — especially the major ones, like Windows<br />

XP, Linux, Max OS X, and Vista — so they can be the first one to report a possible<br />

flaw in a program. Programmers devote their time to uncovering the<br />

flaws in other programs to enhance their own reputation (which can translate<br />

into better job opportunities), but also <strong>for</strong> the sheer challenge of looking<br />

<strong>for</strong> weaknesses in other people’s programs.<br />

After someone discovers a flaw in a program, other programmers typically<br />

verify that the flaw does exist, examine how the flaw could be exploited as a<br />

security risk, and then write a software patch that fixes that problem (and<br />

hopefully doesn’t introduce any new problems).<br />

Microsoft’s service packs <strong>for</strong> Windows are typically one massive patch to fix<br />

numerous flaws found in Windows. Of course, people find flaws in Linux and<br />

Mac OS X regularly too, but Windows gets the most attention because it’s<br />

been the dominant operating system <strong>for</strong> so many years.<br />

Security in coding<br />

Rather than wait <strong>for</strong> flaws to appear and then waste time patching these<br />

flaws that shouldn’t have been in the program in the first place, another<br />

<strong>for</strong>m of computer security involves making securing programs from the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!