LANDESK uses Vulscan and vulnerability definitions to determine what patches are needed on a client machine. These results are then reported to the core server and patches can be installed on the client machines
Vulscan scanning process
When vulscan is run, by default it will use the currently installed and configured Distribution and Patch settings. These settings will tell vulscan what to scan for, be it type(s) or a group. What to scan for, or the settings to use can be changed via the command line, or as part of a scheduled task.
Once vulscan has determined what it will scan for, it will request the needed definitions from the core. They are delivered as a compressed file of XML data. The XML data is the vulnerability information and contains the information needed to determine if a machine is vulnerable to any number of vulnerabilities. Vulscan will check file versions, registry values and a number of items to determine the status of a machine.
Vulnerability Definitions
The vulnerabilities definitions are in the form of compressed XML data. Each definition is named according to the vulnerability released from the vendor. They contain any number of detection rules and associated patches. For example MS10-036 is a vulnerability in Microsoft Office shared code. Therefore it affects a wide variety of configurations from Microsoft Word Viewer to Office 2007 Enterprise. Each of the possible configurations or patches has a detection rule that allows vulscan to determine the status of the machine. What is important is that a single vulnerability visible in the console may consist of multiple detection rules and even multiple patches. These rules and associated patches are populated using information made available by the vendor of the vulnerable product such as Adobe or Microsoft.
Vulnerability is determined by checking file versions, file existence, registry values, or through a custom script as specified in the vulnerability definition. Once a machine is determined vulnerable the needed patch is identified and the results are sent back to the core.
Sometimes the vulnerability in LANDESK can differ slightly from other tools. For more information on this see: Windows Update and LANDesk Have Different Severity Levels for Same Vulnerability
Troubleshooting
If you think that LANDESK is not detecting correctly there are a few things you can do. Usually detection will either indicate a machine is vulnerable when it isn't, or it will fail to detect a machine that should be vulnerable.
Vulscan Log
The single most important resource in troubleshooting detection is the vulscan log. For complete information on reading and understanding the vulscan log take a look at the following article: How to read a vulnerability scan (vulscan.log) log file
Finding the correct vulscan log is important. Run vulscan e to open the vulscan log folder on the client machine. Otherwise the files are at:
Windows XP, 2003
- C:\Documents and Settings\All Users\Application Data\vulscan\
Windows Vista, 2008, 7, 8, 2012
The vulscan logs will be named vulscan.log then vulscan.1.log up to vulscan.10.log. Vulscan.log is the most recent with vulscan.1.log through vulscan.10.log representing the previous scans. Occasionally other vulscan logs may be present due to simultaneous attempts to run vulscan. They will usually be named vulscan.PID_XXXX.log or vulscan_instanceX.log
The best way to determine which log contains the task or information you need is to look at the Command line option near the top of the log:
Command line: /repair "vulnerability=FIREFOX3v3.6.7" /agentbehavior=LDMS9_22 /taskid=23
The above command line is running a repair of a Firefox vulnerability using the Distribution and Patch settings with ID 22 and is run by the task with and ID of 23. The command line will help you determine what task, or what type of scan was run. A blank command line indicates that the scan was run as part of the regularly scheduled vulnerability scan. For information on vulscan command lines see: About Vulscan switches for Windows clients
Once you have the correct vulscan log, look for the vulnerability in question.
Processing vulnerability MS10-032
Checking vulnerability MS10-032, rule index 0
Should reboot before repairing windows2000-kb979559-x86-enu.-z7Svg.exe returned: 0
VUL: 'MS10-032' not detected. No affected platforms were found. Patch is NOT installed
Checking vulnerability MS10-032, rule index 1
Should reboot before repairing windowsxp-kb979559-x86-enu.-scWKg.exe returned: 0
VUL: 'MS10-032' not detected. No affected platforms were found. Patch is NOT installed
Checking vulnerability MS10-032, rule index 2
Should reboot before repairing windowsxp-kb979559-x86-enu.-scWKg.exe returned: 0
VUL: 'MS10-032' not detected. No affected platforms were found. Patch is NOT installed
Checking vulnerability MS10-032, rule index 3
Should reboot before repairing windowsserver2003.windowsxp-kb979559-x64-enu.-aqeyw.exe
returned: 0
VUL: 'MS10-032' not detected. No affected platforms were found. Patch is NOT installed
Checking vulnerability MS10-032, rule index 4
File OSVERSION version within specified
Prod Windows Server 2003 Service Pack 2 (ID:MS7756H1) verified OSVERSION,
found: 5.2.3790.2
File C:\WINDOWS\system32\win32k.sys version less than 5.2.3790.4702
Should reboot before repairing windowsserver2003-kb979559-x86-enu._2kIiA.exe returned: 1
VUL: 'MS10-032' DETECTED. Reason 'File 'C:\WINDOWS\system32\win32k.sys' version
is less than the minimum version specified.'. Expected '5.2.3790.4702'.
Found '5.2.3790.4571'. Patch required 'windowsserver2003-kb979559-x86-enu._2kIiA.exe'.
Above you can see the section of a log where it is processing the vulnerability MS10-032. There are 5 rules (numbered 0-4). Rules 0-3 did not apply because they are for other OSes. Rule 4 applies because it is for Windows 2003 SP2. It then moves on to check the file wind32k.sys to see if it has the correct version. Since the version is less than the required, this vulnerability, MS10-032 is detected, and the patch needed is listed. (windowsserver2003-kb979559-x86-enu._2kIiA.exe)
For any detection problems, this log information can be useful in determining why it is detecting as vulnerable and if it should be or not.
Non-vulnerable machine showing as detected
There are a number of reasons that a machine may detect vulnerable when it isn't. After a patch has been installed, some files may not be fully installed until the machine is rebooted. LANDESK will not recognize this until the machine is rebooted AND another vulscan has scanned for that vulnerability to determine it is no longer vulnerable. Also sometimes LANDESK will think vulnerable software is installed that isn't.
- To resolve this, make sure the following has been done:
- Reboot the machine
- Rescan the machine, making sure that the vulnerability in question was scanned
- Verify that the vulscan log shows the vulnerability as scanned and DETECTED. When it shows as detected, look at why and determine if in fact it should be detecting or if maybe something unexpected is on the client or was left behind on the client.
- If the log indicates that the vulnerability is DETECTED and it truly shouldn't be, open a case with LANDESK Support and provide them with the vulscan log and information about the vulnerability. We can then work on determining if there is a problem with the detection rules and work on correcting any problem.
Vulnerable machines not showing as detected
Occasionally another scan or tool will indicate that a machine is vulnerable to something, but LANDESK will not have the machine as vulnerable. This can result from a difference in detection. Some tools will look for the patch installation information indicating that a patch was installed. If a newer patch that patched the needed files has been installed they may indicate the machine is vulnerable. LANDESK will do the same "patch installed" detection, but will not use that to determine a machine's vulnerability instead using other registry keys and file versions whenever possible. This and other differences in detection can produce differing results.
- If you suspect LANDESK is not detecting a vulnerability that it should be
- Find the vulnerability in the console and double click to open it.
- Check the box next to Status and verify that it says Scan
- Select the Description tab. Open the link in the More Information at: box in an internet browser
- Get the vulscan log from the client machine in question and look through the log for the vulnerability information
- Review the rules and detection results in the log and compare it to the information on the page open with more information about the vulnerability. Be especially aware of any patches that supersede the patch in question.
- If you are able to determine that the machine really should be vulnerable, collect the log(s) and open a case with LANDESK support. When you do, please make sure to indicate what detection rule isn't working right or may be missing and reference any technical documentation from the vendor that helped you determine this. LANDESK support will verify the issue and work to get the definition updated so that it detects properly.
Tip: In order to easily navigate to the logs and settings directories for the vulnerability scanner, the following commands can be used at the Run line in Windows:
Conclusion
LANDESK vulnerability detection will sometimes report unexpected or even incorrect information. When that happens, consulting the vulscan log and reviewing the results from each detection rule in the vulnerability will enable you to determine better what is going on and how to fix it.