Each new version of a software product, such as Microsoft Word, brings new features -- whether users want them or not. What many users and sysadmins don't recognize is that each additional feature brings more code, and each new bit of code expands the area of potential vulnerability -- the "attack surface" -- for the application.
Security professionals have been working for years to reduce the attack surface of their applications, principally by disabling unnecessary functionality in an effort to strike a balance between security and usability.
But what exactly is the attack surface of an application, network, or computer system, and how do you measure it? Wikipedia defines it well: "The attack surface of a software environment is the scope of functionality that is available to any application user, particularly unauthenticated users. This includes, but is not limited to, user input fields, protocols, interfaces, and services." Of course, this definition can be easily expanded to include more than just software environments.
Measuring an attack surface is not difficult, provided that you start with a clear understanding of the attack points of the target you're evaluating. The Wikipedia definition includes a short list of attack points, but for a more comprehensive list, Michael Howard wrote an article for the Microsoft Developer Network in 2003 that offers a list used to measure the attack surface of the Windows operating system. He simplified the definition of measuring attack surface to "determining the attackability of a system or its exposure to attack."
Minimizing the attack surface is the next logical step, and is common practice for sysadmins and security professionals through the use of best practices for system hardening and building secure networks. The goal -- and not one that has been easily obtainable in the past with Windows -- is to minimize the entry points for unauthenticated, anonymous users, and to mitigate the amount of damage that could be caused if they gained access.
The standard recommendations for attack surface reduction in Windows systems is to turn off any unnecessary services, disable or delete unnecessary accounts, limit users to the least amount of privilege necessary to do their jobs, enable the firewall, use antivirus, and so on. We've heard this advice for years, but what about choosing an operating system that helps reduce the attack surface by offering a minimal install and unnecessary services enabled by default?
Microsoft has been trying to reduce the attack surface of a default Windows installation since the release of Windows Server 2003 Web Edition. While that probably wasn't the original intent of the Web Edition, it was limited to acting primarily as a Web server and nothing else -- which effectively minimized its attack surface. Only minimal installs of MS SQL Server (MSDE and Express) could be installed, while Exchange could not be installed at all. Even .NET was not included in the default install.
In terms of a minimized attack surface, the real head-turner is the Server Core installation option in Windows Server 2008. Microsoft has created a choice for sysadmins to deploy a minimal system that does not include the typical Windows Explorer and GUI. Instead, when you log in, you are presented with two command prompt windows. There is no Start menu or taskbar. Management is accomplished through command line tools or by connecting from another system via the Microsoft Management Console (MMC).
Security isn't the only benefit of reducing a system's attack surface. Server Core, for example, requires fewer hardware resources because of its reduced footprint, which means sysadmins who are considering Hyper-V for virtualization now can devote hardware resources to virtual machines instead of the underlying server operating system.
The trend is apparent in Windows Server operating systems, the reliance on virtualization, and the realization that reducing the attack surface is critical. That's why the trend should continue among future versions of Windows Server. It's a win-win for sysadmins and security pros, who have less to lock down and disable, making deployment faster and auditing easier.
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.