We received the following comment via e-mail from Builder.com member Steven B. Kovner:
You are correct that developers are more vulnerable to various attacks, but
have left out some of the other reasons, probably due to space. You probably
could write a book with all the reasons.
Many developers do not keep up on patches. Even if the IT department does,
the developers may have software on their systems that IT does not usually
maintain. IIS is a prime example. In my last job, several people had IIS
installed (primarily for its FTP server function), but I was the only one
who kept it patched. So NIMDA was a big problem. (This was a few years ago.)
Even keeping IIS patched is not enough, because developers need debugging
support and other settings that leave IIS vulnerable. A locked-down IIS is
not suitable for development. A firewall is essential, but a corporate
firewall just blocks outside threats from reaching internal servers; once a
worm has gotten inside the firewall, it spreads.
SQL server is another example. I believe that Microsoft got hit by the SQL
Slammer worm because developers had MSDE (it comes with Visual Studio .NET).
But the initial patch, even if developers had known about it, was not
designed to be installed by people who were not experts in SQL server. The
patch needed to be merged with the initial SQL server installation package
"as described in the SQL server documentation", which was not supplied with
Visual Studio. At home, I gave up and relied on my firewall, which did the
job. But at Microsoft, once one copy of the worm got through somehow (one
misconfigured firewall?), it was all over.
And then there are the large numbers of shared drives developers use; lab
systems that are not properly maintained, but that have access to
developer's systems; the fact that developer's accounts usually need
administrator privilege, etc. (Visual Studio must be installed by the user,
as it makes user-specific settings, but needs administrator privileges to be
installed.)
There are also strange interactions between software. We had trouble with
ClearCase, the antivirus software, and Visual Studio. Visual Studio would
just hang, requiring a reboot (killing the process did not fix the problem)
due to interactions between the AV software and ClearCase. The workaround
was to turn off the AV software! IT did eventually solve the problem.
Few developers understand security (which also leaves security holes in
software). But it also seems companies are not interested in hiring
developers with knowledge in both fields. (At least that has been my
experience for somewhat over a year.)