Patch management: Filling security holes
Rupert Goodwins Patches are now a major part of any system administrator's life - but what is the most effective way to keep network security up to date without it becoming a full-time job? Nobody knows when the first patch was issued, but it was almost certainly shortly after the first release of the first software package. No matter how much testing is done in-house, the real world and real users always exercise applications in ways the writers never foresaw or tested: even the largest software company can't afford the time or resources to exhaustively check complex products -- which is not to say they can't do better. Patches will be with us always. At its simplest, where a software company sends out a small piece of code that must be transplanted into the body of the ailing software, patching takes a few moments. This doesn't scale well. Ask anyone responsible of late for collections of Windows machines, as soon as there are multiple machines with multiple configurations, even deploying and checking a single patch can take a long time. When there are multiple patches, patch management threatens to become a full-time job. And multiple patches are becoming the norm: the CERT security advisory team reported over 4,000 vulnerabilities in 2002, fuelling a veritable industry of patching that is variously estimated to cost businesses and governments up to $1.5bn worldwide. The nature of patches Patch management must be owned by a person or a group with responsibility for receiving advisories, checking them in the context of the company and triaging them into must-do, might-do and reject. The patching process has to be integrated with standard system administration techniques if it itself is to be properly managed. It is not in itself risk-free, therefore it should be assessed as part of risk management and treated as any other network-wide change. Not every patch is critical, and not every patch is appropriate for all systems -- if the fix is for a service that isn't deployed, then the benefits from applying it will be outweighed by the time to apply it and the risk that the patch itself may have knock-on effects. However, this approach isn't useful unless you have a full inventory of your system, including each computer's operating system and applications complement, the versions of each package and the services that are actually running. You must also know what patches have already been applied -- or not -- and who's responsible for each computer. In many companies, this discipline is imperfectly observed with an attitude that as long as every computer's got regularly updated antivirus (AV) protection and there's a decent corporate firewall then nothing too bad can happen. Such approaches are dangerously outdated: threats such as the Blaster worm will bypass AV protection by attacking vulnerabilities directly in the operating system, and just one infected computer can compromise everything behind the firewall. If you don't know where it is, who to call to turn it off or what's missing from its system, it can take far too long to root out the culprit. Taking a full inventory must be the first priority.
|
Rupert Goodwins Patches are now a major part of any system administrator's life - but what is the most effective way to keep network security up to date without it becoming a full-time job? Once you know the who, what and where of your systems, you'll be in a position to start assessing patches as they become available. Does the patch affect any of your computers? A buffer overrun in SNMP may be very serious, but only if SNMP is in use: it may be quicker, easier and more effective to make sure that you have disabled the service. Microsoft is finally moving to a model where services default to off when installed, but most of us are still running systems with unused yet active components. Locking down is cheaper and more effective than fixing up. Controlled testing This process would seem ideal for patch management software, and there are many packages that promise to help. However, to date the situation is overly complex: Microsoft itself has around eight different patch management tools, not all of which agree with each other. The company is working towards integrating these tools into two or three main applications, and to further integrate these into its main system management software. But for now, patch managers have to consider Windows Update -- where the clients themselves detect and install patches -- alongside the Baseline Security Analyzer, Office Update, the Office Update Inventory Tool, and the Software Update Service (SUS) -- which lets managers check and control patch deployment by server. Lately, Microsoft has integrated SUS with its System Management Server 2003, which can automate patch roll-out, make patches mandatory after a specified period, and report on which users have been patched and which remain untouched. Outside Microsoft, the patch management industry is serviced by a small group of companies. The tools they provide cover much more than just the Windows environment -- every large application and operating system needs similar care -- but none as yet is capable of coping with everything. Companies to investigate include BigFix, Ecora, Kintana, Novadigm, Shavlik Technologies, Patchlink and On Technology, and always consult your application and OS vendors for recommendations. A serious business
|