Software is vital to our economy and way of life as part of the critical infrastructure for the modern world. Too often cost and complexity make it difficult to manage software effectively, leaving the software open for attack. To properly manage software, enterprises need to maintain accurate software inventories of their managed devices in support of higher-level business, information technology, and cybersecurity functions. Accurate software inventories help an enterprise to:
While some vendors provide tools to manage licenses, updates, patches, and configurations for their products, organizations need to monitor and use many such tools to address the range of products their enterprises deploy. This multiplicity of tools creates an environment where human error and a lack of resources can limit an enterprise’s ability to support the active management of software, preventing timely patching, and allowing configurations to drift and software licenses to be inefficiently utilized. Instead, a single mechanism is needed that can help organizations to understand the state of all software across their enterprise regardless of vendor.
Software Identification (SWID) Tags, defined by the ISO/IEC 19770-2:2015 standard, promise to be an important step towards such a goal. SWID Tags provide a transparent way for organizations to track the software installed on their managed devices. SWID Tag files contain descriptive information about a specific release of a software product. The SWID standard defines a lifecycle where a SWID Tag is added to an endpoint as part of the software product’s installation process and deleted by the product’s uninstall process. When this lifecycle is followed, the presence of a given SWID Tag corresponds directly to the presence of the software product that the Tag describes. The National Institute of Standards and Technology recommends adoption of the SWID Tag standard by software producers, and multiple standards bodies, including the Trusted Computing Group (TCG) and the Internet Engineering Task Force (IETF) utilize SWID Tags in their standards.
NIST plans to continue to promote the incorporation of the SWID Tag standard and associated guidelines in other international consensus standards (such as IETF and TCG efforts), the broad adoption of SWID tagging within the software community, and the use of SWID Tag information in the creation of cybersecurity reference data and security automation content. Additionally, NIST is working to incorporate SWID Tag data into the vulnerability dataset provided by National Vulnerability Database (NVD), and has incorporated use of SWID Tag data into Security Content Automation Protocol (SCAP) version 1.3. These efforts are part of the Software Identification (SWID) Tagging project, which is an initiative of the Computer Security Division’s Security Automation Program (SAP). The SAP is focused on standardizing the exchange of security posture information supporting the management of software, vulnerabilities, patches, and secure configurations for computing devices.