Matasano Security Recommendation #001: Avoid Agents
Thomas Ptacek | December 8th, 2006 | Filed Under: Defenses, Uncategorized
Alan Shimel at StillSecure advocates for a variety of agent-based security systems. Rather than walk into the swamp of a security product marketing debate, I’m going to use his post as an opportunity to make an unambiguous recommendation.
Summary of Recommendations
Enterprise security teams should seek to minimize their exposure to endpoint agent vulnerabilities, by:
Minimizing the number of machines that run agent software.
Minimizing the number of different agents supported in the enterprise as a whole.
Background
Endpoint agents are programs that run silently in the background, usually as Windows Services or Unix daemons, which communicate back to a central management system. Well known examples include:
Systems Management (BMC Patrol, CA Unicenter, Microsoft MOM)
Antivirus (McAfee, Symantec)
Patch Management (Novell ZenWorks, SDS, BigFix)
Data Leakage Prevention
Agent-based architectures are a severe security risk. Risk is amplified as more agent-based products are deployed. In enterprises with pervasive agent deployments, attacks on agents are more threatening than attacks on underlying operating systems.
Rationale
Vulnerabilities
Agent-based architectures share a tendency towards unusually complex and hazardous attack surfaces:
Listening Network Services on Agents
Listening Network Services on Management Servers
Client of Agent Service on Management Server
Confidentiality and Integrity of Agent/Server Protocol
Web Application on Management Server
Javascript on Browser Client of Management Server
Listening Network Services for Management Clients on Management Server
Middleware Frameworks and RPC
Client of Management Server Service on Agent
Display Logic for Agent-Sourced Data on Management Client
Confidentiality and Integrity of Client/Server Protocol
Databases
Often, the complexity of the attack surface in agent-based solutions is concealed by turn-key installation and management features. Servers may use embedded-but-listening database servers such as MSDE/Jet, or tunnel DCOM or CORBA in HTTP POSTs.
Virtually every one of these attack surface features is recognized by the industry as a difficult security challenge independently. Deployed in concert, safety concerns are multiplied.
Threats
The deployment circumstances of agent-based products make them an obvious and lucrative target for attackers:
Agents tend to be installed en-masse. Attacks that offer uniform compromise of all installed agents provide attacks with thousands of hijacked machines.
Even in the absence of an exploit that compromises agent software directly, it is impractical to ensure the security of thousands of endpoints. But every machine running an agent must be secured if the management components are to be shielded from attacks.
In a majority of surveyed agent-based systems, compromise of a single management server allows code execution on every agent, exposing the enterprise to a single point of failure.
Agent implementations are often substantially homogenous, even across operating systems, enabling uniformly effective attacks against desktops, Windows servers, and Unix servers.
Workstations of management operators are high-value IT targets, and compromised agents can inject poisonous data to exploit a myriad of clientside and XSS-style attacks to hijack their machines.
Empirical Evidence
Matasano has surveyed a broad array of different agent implementations, and conducted in-depth penetration tests of more than $4Bn/USD of shipping product and more than ten different vendors. In only one case did a vendor survive a penetration test without a “game-over” vulnerability that would have transformed a deployment into a latent botnet; that vendor had spent tens of millions of dollars over the past year to institute a security development lifecycle and had repeatedly audited its agent-based product.
In almost every other case, we found no evidence to suggest that these high-risk products had ever endured any outside security testing. Classes of vulnerabilities uncovered included:
The full gamut of C/C++ runtime vulnerabilities, including simple stack overflows.
Metacharacter bugs, including protocols with Unix backtic command execution.
Undocumented and unauthenticated protocol commands that enabled command execution or agent reconfiguration.
Untested custom encryption protocols, including unprotected key exchanges, insecure cipher modes, replay attacks and crypto bypass attacks.
Trivial XSS and SQL injection vulnerabilities that could be triggered from any installed agent.
Matasano presented an overview of these findings at the Black Hat Briefings in August of 2006.
Mitigating Factors
Enterprise security teams required to support agent-based software should prioritize the following objectives for 2006/2007:
Move high-value assets off of servers that must run management agents.
Move high-risk agents, such as laptops and Windows desktops, to seperate management domains with seperate management servers and seperate operations teams.
Obtain detailed documentation for all the protocols used by agents, including the security countermeasures employed by those protocols.
Aggressively filter agent protocols, with host-pair specificity, at every network security border where such filtering is practicable.
Isolate agent management deployments to individual network segments or security domains.
Enable SSL protocol options and institute SSL client certificate access control to ensure all protocol participants at least bear a signed certificate.
Downselect candidate agent management applications to those that have undergone documented third-party security testing.
Conclusion
Agent-based architectures are incredibly convenient and can be a significant cost-saver for IT operations teams. Security teams should assume they already support an unweildy variety of agent software platforms, and should assume that they work under substantial organization pressure to support more agents. It’s therefore critical that security teams crystallize a strategy to minimize the security impact these risky products present.
In all circumstances, enterprises should seek to minimize the number of agent installations within their enterprise.
In all circumstances, enterprises should seek to minimize the number of different agent-based vendors their enterprises must support.
Agent-based software should be treated as a high-risk target for attacks. Agent software warrants intensive security testing and analysis and rigorous access control.


Add New Comment
Viewing 26 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks