Browse Definitions :
Definition

software attack surface

The software attack surface is the complete profile of all functions in any code running in a given system that are available to an unauthenticated user.

The more surface there is, the better the chance an attacker or a piece of malware can use various exploits to gain access and run code on the target machine. The software attack surface is particularly at risk in the case of Web applications, which expose the coding to the Internet.

Flawed functions may lead to the compromise of an entire network or other system by allowing an unverified user -- who may be a hacker or a corporate spy -- to steal data or gain further access, perhaps  elevating privileges to administrator level. Individual functions with security flaws can be considered attack vectors; those that may be exploited to gain further access can be seen as vulnerabilities.

 Another consideration in software attack surface is insider threats. Users that authenticate with valid credentials may be able to access unprotected data beyond their authorization levels if access controls are loosely implemented.

Because any running code may have exploitable vulnerabilities, one of the simplest ways to limit the software attack surface is to reduce the amount of code being run at any given time. If a program is not being used or if other installed software can perform the same task, it should be eliminated. Antivirus, hardware and software firewalls can help block access to existing vulnerabilities; operating system and application updates sometimes patch these weaknesses. However, it is better for overall security to minimize the number of vulnerabilities to begin with. To that end, developers are increasingly considering attack vectors in their software design.

Because many attack approaches exploit a combination of attack surface types to gain access to desired resources, a comprehensive attack surface analysis is crucial to proper set up of breach detection systems (BDS), firewall, intrusion prevention systems, data policy and other security measures. Tools available to help guide that analysis include WebInspect, Microsoft attack surface analyzer and CORE Impact.

See also: network attack surface, physical attack surface, social engineering attack surface

This was last updated in January 2015

Continue Reading About software attack surface

SearchCompliance

  • information governance

    Information governance is a holistic approach to managing corporate information by implementing processes, roles, controls and ...

  • enterprise document management (EDM)

    Enterprise document management (EDM) is a strategy for overseeing an organization's paper and electronic documents so they can be...

  • risk assessment

    Risk assessment is the identification of hazards that could negatively impact an organization's ability to conduct business.

SearchSecurity

  • cyber espionage

    Cyber espionage, also called cyber spying, is a form of cyber attack that is carried out against a competitive company or ...

  • virus (computer virus)

    A computer virus is malicious code that replicates by copying itself to another program, computer boot sector or document and ...

  • honeypot (computing)

    A honeypot is a network-attached system set up as a decoy to lure cyber attackers and detect, deflect and study hacking attempts ...

SearchHealthIT

SearchDisasterRecovery

  • risk mitigation

    Risk mitigation is a strategy to prepare for and lessen the effects of threats faced by a business.

  • call tree

    A call tree is a layered hierarchical communication model that is used to notify specific individuals of an event and coordinate ...

  • Disaster Recovery as a Service (DRaaS)

    Disaster recovery as a service (DRaaS) is the replication and hosting of physical or virtual servers by a third party to provide ...

SearchStorage

  • cloud storage

    Cloud storage is a service model in which data is transmitted and stored on remote storage systems, where it is maintained, ...

  • cloud testing

    Cloud testing is the process of using the cloud computing resources of a third-party service provider to test software ...

  • storage virtualization

    Storage virtualization is the pooling of physical storage from multiple storage devices into what appears to be a single storage ...

Close