Home » Learning Center » Task: OVAL SC 

Task: OVAL SC

The Open Vulnerability and Assessment Language (OVAL) is an approach for a standardized description of the (security) state of an IT system. OVAL files describe a vulnerability and define tests to identify the state in which a system is vulnerable. They usually refer to specific version of software products for which a known vulnerability exists.

This means that in order to check for vulnerabilities described in an OVAL definition, information about the current state of the system is needed. This information is collected in a standardized format as well — the OVAL System Characteristics (SC).

There are a number of solutions which perform checks based on OVAL definitions and SC files. OVAL definitions are provided by various vendors. MITRE provides the OVAL Repository with more than 10,000 entries.

OVAL Adoption Program

top^
Greenbone is a official OVAL Adopter and Greenbone Security Manager registered as "Systems Characteristics Producer".

See also: OVAL Adoption Program

Supported are OVAL versions 5.3 to 5.9. Should any wrong, missing or incomplete OVAL element be found, users are encouraged to provide feedback to the Greenbone support team. The OVAL-SC implementation of the Greenbone solution allows to activate updates within a single day therfore provides timely improvements for the users.

Collecting Scan Results as OVAL SCs

top^

During a scan the Greenbone Security Manager collects large amounts of data about the target system. This information is managed in an optimized data pool. Parts of this information are usable as a component of an OVAL System Characteristics.

The creation of OVAL SC files is not enabled by default but has to be explicitly enabled. The following scan configuration can be used to achieve this: collect-oval-sc.xml

Import the scan configuration in the GSM:

The new scan configuration is now shown in the list:

The most comprehensive results of a target system can be collected using authenticated scans. For this you need to create an account on the target system. Ensure that the account has the necessary privileges. For unixoid systems an account with low privileges is usually sufficient, for Windows system administrative privileges are required.

The following example shows the creation of a Linux target. For a Windows target the credential should be set in the SMB field instead of SSH.

Now create the task, which you can start immediately.

The scan itself is very fast (in this example with a single target system 1 second) because the scan configuration is optimized to collect only the specific data need for generating the System Characteristics file.

The results are returned a log information. If you adjust your filter you can see the OVAL System Characteristics in XML formatted for easy readability:

Please note: If you have collected data from a large number of target systems this view may become hard to read.

Exporting OVAL SCs

top^

OVAL SC files are defined in a way that one file can contain only information about one system. Using the Greenbone Security Manager you can collect a large number of System Characteristics from many different systems in one single step.

Because of this we provide two Report Plugins:

  • OVAL-SC.xml (requires GSM 1.4 or later): Produces a single SC file in the XML format.

  • OVAL-SC-archive.xml (requires GSM 1.5 or later): Can be used for an arbitrary number of System Characteristics, which will be collected in a ZIP file. The names of the individual SC files will contain the IP address of the target system.

Import the report format plugins, verify the signature and activate them. For detailed information about this process, please refer to: Feature: Report Formats

You can now download the results in the format you require for further processing. Select the format "OVAL-SC" or "OVAL-SC archive" in the "Full report" line:

The ZIP archives look as follows:

Example: Using OVAL SCs with ovaldi

top^

The MITRE organization not only provides the OVAL standard but also provides a reference implementation for local OVAL checks. The OVAL Interpreter ovaldi is available under an Open Source license.

By using the Greenbone Security Manager to provide OVAL System Characteristics it is easy to use ovaldi on Linux to check a Windows system — or the other way round.

For example, if the target system you tested above was a Debian Linux system, you can now download the official Debian OVAL definitions 2010 and execute the test ("false" means that a condition was not met, i.e. a vulnerability does not exist on the target).

Ovaldi automatically creates a HTML and XML version of the plain text output as shown below: oval-sc-debian-lenny-sample-ovaldi-results.html (110 KByte) and oval-sc-debian-lenny-sample-ovaldi-results.xml (4.4 MByte).

$ cd /tmp
$ ovaldi -m -o /tmp/oval-definitions-2010.xml \
    -i /tmp/oval-sc-debian-lenny-sample.xml \
    -a /usr/share/ovaldi/xml/

----------------------------------------------------
OVAL Definition Interpreter
Version: 5.9 Build: 1
Build date: Mar 10 2011 15:21:36
Copyright (c) 2002-2011 - The MITRE Corporation
----------------------------------------------------

Start Time: Tue Mar 22 11:50:00 2011

 ** parsing /tmp/oval-definitions-2010.xml file.
    - validating xml schema.
 ** checking schema version
     - Schema version - 5.3
 ** skipping Schematron validation
 ** parsing /tmp/oval-sc-debian-lenny-sample.xml for analysis.
    - validating xml schema.
 ** running the OVAL Definition analysis.
      Analyzing definition:  FINISHED
 ** applying directives to OVAL results.
 ** OVAL definition results.

    OVAL Id                                 Result
    -------------------------------------------------------
    oval:org.debian:def:1965                false
    oval:org.debian:def:1966                false
    oval:org.debian:def:1967                false
    oval:org.debian:def:1968                false
    oval:org.debian:def:1969                false
    oval:org.debian:def:1970                false
    oval:org.debian:def:1971                false
    oval:org.debian:def:1972                false
    oval:org.debian:def:1973                false
    oval:org.debian:def:1974                false
    oval:org.debian:def:1976                false
    oval:org.debian:def:1977                false
    oval:org.debian:def:1978                false
    oval:org.debian:def:1979                false
    oval:org.debian:def:1980                false
    oval:org.debian:def:1981                false
    oval:org.debian:def:1982                false
    oval:org.debian:def:1983                false
    oval:org.debian:def:1984                false
    oval:org.debian:def:1985                false
    oval:org.debian:def:1986                false
    oval:org.debian:def:1987                false
    oval:org.debian:def:1988                false
    oval:org.debian:def:1989                false
    oval:org.debian:def:1990                false
    oval:org.debian:def:1991                false
    oval:org.debian:def:1992                false
    oval:org.debian:def:1993                false
    oval:org.debian:def:1994                false
    oval:org.debian:def:1995                false
    oval:org.debian:def:1996                false
    oval:org.debian:def:1997                false
    oval:org.debian:def:1998                false
    oval:org.debian:def:1999                false
    oval:org.debian:def:2000                false
    oval:org.debian:def:2001                false
    oval:org.debian:def:2002                false
    oval:org.debian:def:2003                false
    oval:org.debian:def:2004                false
    oval:org.debian:def:2005                false
    oval:org.debian:def:2007                false
    oval:org.debian:def:2008                false
    oval:org.debian:def:2009                false
    oval:org.debian:def:2010                false
    oval:org.debian:def:2011                false
    oval:org.debian:def:2012                false
    oval:org.debian:def:2013                false
    oval:org.debian:def:2014                false
    oval:org.debian:def:2015                false
    oval:org.debian:def:2016                false
    oval:org.debian:def:2017                false
    oval:org.debian:def:2018                false
    oval:org.debian:def:2019                false
    oval:org.debian:def:2020                false
    oval:org.debian:def:2021                false
    oval:org.debian:def:2022                false
    oval:org.debian:def:2023                false
    oval:org.debian:def:2024                false
    oval:org.debian:def:2025                false
    oval:org.debian:def:2026                false
    oval:org.debian:def:2027                false
    oval:org.debian:def:2028                false
    oval:org.debian:def:2029                false
    oval:org.debian:def:2030                false
    oval:org.debian:def:2031                false
    oval:org.debian:def:2032                false
    oval:org.debian:def:2033                false
    oval:org.debian:def:2034                false
    oval:org.debian:def:2035                false
    oval:org.debian:def:2036                false
    oval:org.debian:def:2037                false
    oval:org.debian:def:2038                false
    oval:org.debian:def:2039                false
    oval:org.debian:def:2040                false
    oval:org.debian:def:2041                false
    oval:org.debian:def:2042                false
    oval:org.debian:def:2043                false
    oval:org.debian:def:2044                false
    oval:org.debian:def:2045                false
    oval:org.debian:def:2046                false
    oval:org.debian:def:2047                false
    oval:org.debian:def:2048                false
    oval:org.debian:def:2049                false
    oval:org.debian:def:2050                false
    oval:org.debian:def:2051                false
    oval:org.debian:def:2052                false
    oval:org.debian:def:2053                false
    oval:org.debian:def:2054                false
    oval:org.debian:def:2055                false
    oval:org.debian:def:2056                false
    oval:org.debian:def:2057                false
    oval:org.debian:def:2058                false
    oval:org.debian:def:2059                false
    oval:org.debian:def:2060                false
    oval:org.debian:def:2061                false
    oval:org.debian:def:2062                false
    oval:org.debian:def:2063                false
    oval:org.debian:def:2064                false
    oval:org.debian:def:2065                false
    oval:org.debian:def:2066                false
    oval:org.debian:def:2067                false
    oval:org.debian:def:2068                false
    oval:org.debian:def:2069                false
    oval:org.debian:def:2070                false
    oval:org.debian:def:2071                false
    oval:org.debian:def:2072                false
    oval:org.debian:def:2073                false
    oval:org.debian:def:2074                false
    oval:org.debian:def:2075                false
    oval:org.debian:def:2076                false
    oval:org.debian:def:2077                false
    oval:org.debian:def:2078                false
    oval:org.debian:def:2079                false
    oval:org.debian:def:2080                false
    oval:org.debian:def:2081                false
    oval:org.debian:def:2082                false
    oval:org.debian:def:2083                false
    oval:org.debian:def:2084                false
    oval:org.debian:def:2085                false
    oval:org.debian:def:2086                false
    oval:org.debian:def:2087                false
    oval:org.debian:def:2088                false
    oval:org.debian:def:2089                false
    oval:org.debian:def:2090                false
    oval:org.debian:def:2091                false
    oval:org.debian:def:2092                false
    oval:org.debian:def:2093                false
    oval:org.debian:def:2094                false
    oval:org.debian:def:2095                false
    oval:org.debian:def:2096                false
    oval:org.debian:def:2097                false
    oval:org.debian:def:2098                false
    oval:org.debian:def:2099                false
    oval:org.debian:def:2100                false
    oval:org.debian:def:2101                false
    oval:org.debian:def:2102                false
    oval:org.debian:def:2103                false
    oval:org.debian:def:2104                false
    oval:org.debian:def:2105                false
    oval:org.debian:def:2106                false
    oval:org.debian:def:2107                false
    oval:org.debian:def:2108                false
    oval:org.debian:def:2109                false
    oval:org.debian:def:2110                false
    oval:org.debian:def:2111                false
    oval:org.debian:def:2112                false
    oval:org.debian:def:2113                false
    oval:org.debian:def:2114                false
    oval:org.debian:def:2115                false
    oval:org.debian:def:2116                false
    oval:org.debian:def:2117                false
    oval:org.debian:def:2118                false
    oval:org.debian:def:2119                false
    oval:org.debian:def:2120                false
    oval:org.debian:def:2121                false
    oval:org.debian:def:2122                false
    oval:org.debian:def:2123                false
    oval:org.debian:def:2124                false
    oval:org.debian:def:2125                false
    oval:org.debian:def:2126                false
    oval:org.debian:def:2127                false
    oval:org.debian:def:2128                false
    oval:org.debian:def:2129                false
    oval:org.debian:def:2130                false
    oval:org.debian:def:2131                false
    oval:org.debian:def:2132                false
    oval:org.debian:def:2133                false
    -------------------------------------------------------


 ** finished evaluating OVAL definitions.

 ** saving OVAL results to results.xml.
 ** running OVAL Results xsl: /usr/share/ovaldi/xml//results_to_html.xsl.

----------------------------------------------------