Top Vulnerabilities in Cross-Platform Applications
C1. Backup Software
C1.1 Description
Backup software is a valuable asset for any organization. The software typically runs on a large number of systems in an enterprise. In recent years with the growth in data size, the trend has been to consolidate the backup function into few servers, or even a single server. The hosts requiring the backup service communicate with the backup server over the network. This may be a push where the client sends data to the server or a pull where the server connects to each client in turn, or a combination of both. During last year, a number of critical backup software vulnerabilities have been discovered. These vulnerabilities can be exploited to completely compromise systems running backup servers and/or backup clients. An attacker can leverage these flaws for an enterprise-wide compromise and obtain access to the sensitive backed-up data. Exploits have been publicly posted and several malicious bots are using the published exploit code.
C1.2 Operating Systems and Backup Software Affected
All operating systems running backup server or client software are potentially vulnerable to exploitation. The affected operating systems are mainly Windows and UNIX systems.
The following popular backup software packages are known to be affected by vulnerabilities
- Symantec Veritas NetBackup/Backup Exec
- Symantec Veritas Storage Exec
- Computer Associates BrightStor ARCServe
- EMC Legato Networker
- Sun StorEdge Enterprise Backup Software (formerly Solstice Backup Software)
- Arkeia Network Backup Software
- BakBone Netvault Backup Software
C1.3 CVE Entries
CVE-2004-1172,
CVE-2004-1389,
CVE-2005-0260,
CVE-2005-0349,
CVE-2005-0357,
CVE-2005-0358,
CVE-2005-0491,
CVE-2005-0496,
CVE-2005-0581,
CVE-2005-0582,
CVE-2005-0583,
CVE-2005-0771,
CVE-2005-0772,
CVE-2005-0773,
CVE-2005-1009,
CVE-2005-1019,
CVE-2005-1018,
CVE-2005-1272,
CVE-2005-1547,
CVE-2005-2051,
CVE-2005-2079,
CVE-2005-2080,
CVE-2005-2535,
CVE-2005-2611,
CVE-2005-2715,
CVE-2005-2996,
CVE-2005-3116
C1.4 How to Determine If You Are Vulnerable
- Use any Vulnerability Scanner to detect vulnerable backup software installations.
- If you are using aforementioned backup software, it is recommended to update to the latest version. Monitor your backup software vendor site and subscribe to the patch notification system if they have one, and some of general security related sites such as US-CERT, CERT, SANS (Internet Storm Center) for new vulnerability announcements relating to your chosen backup software.
- The typical ports used by backup software:
- Symantec Veritas Backup Exec
- TCP/10000 TCP/8099, TCP/6106
A listing of ports used by Veritas backup daemons is available here.
- CA BrightStor ARCServe Backup Agent
- TCP/6050, UDP/6051, TCP/6070, TCP/41523, UDP/41524
- Sun and EMC Legato Networker
- TCP/7937-9936
- Arkeia Network Backup
- TCP/617
- BakBone Netvault Backup
- TCP/20031 and UDP/20031
C1.5 How to Protect against These Vulnerabilities
- Ensure the latest vendor supplied software patches are installed on the clients and servers.
- The ports being used by backup software should be firewalled from any untrusted network including the Internet.
- Data should be encrypted when stored on backup media and while being transported across the network.
- Host/Network based firewalls should be run to limit the accessibility of a systems backup software to ensure that only the appropriate backup hosts can communicate on the backup server ports
- Segregate network to create a separate backup network VLAN.
- Backup media should be stored, tracked and accounted like other IT assets to deter and detect theft or loss.
- Backup media should be securely erased, or physically destroyed at the end of its useful life.
C1.6 References
- Computer Associates Advisories
-
- Symantec Veritas Advisories
-
- EMC Legato and Sun Advisories
-
- Arkeia Advisory
-
- BakBone Advisory
-
C2. Anti-virus Software
C2.1 Description
Anti-virus software is seen as a required basic tool within the "defense-in-depth" toolbox to protect systems today. Anti-virus software is now installed on almost all desktops, servers and gateways on various platforms to combat virus outbreaks.
During the past year, there has been a shift in focus to exploit security products used by a large number of end users. This includes anti-virus and personal firewall software. The discovery of vulnerabilities in anti-virus software is not limited to just desktop and server platforms. Gateway solutions could also be affected. Compromising a gateway could potentially cause a much larger impact since the gateway is the outer layer of protection and the only protection against some threats in many small organizations.
Multiple buffer overflow vulnerabilities have been discovered in the anti-virus software provided by various vendors including Symantec, F-secure, Trend Micro, Mcafee, Computer Associates, ClamAV and Sophos. These vulnerabilities can be used to take a complete control of the user's system with limited or no user interaction.
Anti-virus software has also been found to be vulnerable to "evasion" attacks. By specially crafting a malicious file, for instance, an HTML file with an exe header, it may be possible to bypass anti-virus scanning. The evasion attacks can be exploited to increase the virus infection rate.
C2.2 Operating Systems Affected
Any system installed with anti-virus software or virus scan engine meant to scan malicious code could be affected. This includes solutions installed on desktops, servers and gateways. Any platform could be affected including all Microsoft Windows and Unix systems.
C2.3 CVE Entries
- AhnLab
- CVE-2005-3029, CVE-2005-3030
- Avast!
- CVE-2005-2384, CVE-2005-2385
- AVIRA
- CVE-2005-2957
- BitDefender
- CVE-2005-3154
- ClamAV
- CVE-2005-2450, CVE-2005-2920
- Computer Associates
- CVE-2005-1693
- HAURI
- CVE-2005-2720, CVE-2005-2670, CVE-2005-2041
- F-Secure
-
CVE-2004-2405,
CVE-2005-3664,
CVE-2005-0350
- Kaspersky
-
CVE-2005-3663,
CVE-2005-3664,
CVE-2005-3142
- Mcafee
- CVE-2005-0643, CVE-2005-0644
- Sophos
- CVE-2005-2768
- Symantec
- CVE-2005-0249
- Trend Micro
- CVE-2005-0533
- ZoneAlarm
- CVE-2005-1693
C2.4 How to Determine If You Are Vulnerable
If you are running any release of any anti-virus software that has not been updated to the latest version, you are likely to be affected.
C2.5 How to Protect against Anti-virus Software Vulnerabilities
- Ensure that all of your antivirus software is regularly and automatically updated.
- Regularly check your vendor website for upgrades, patches and security advisories. A list of anti-virus vendors is provided in the References below. Note that the list may not be exhaustive.
- If you have deployed anti-virus software on gateway and desktops, it is recommended to use different anti-virus vendor solutions for gateway and desktop. In the event one is vulnerable, it will not result in a single point of failure.
C2.6 References
Below is a list of anti-virus vendors to check for upgrades, patches and security advisories.
- Anti-virus Security Advisories
-
- Anti-virus Evasion Issues
-
- Other Anti-virus Resources
-
C3. PHP-based Applications
C3.1 Description
PHP is the most widely used scripting language for the web. According to some reports, 50% of the Apache servers world-wide have PHP installed. A large number of Content Management Systems (CMS), portals, Bulletin Boards, Discussion Forums are written in PHP. There has not been a single week during the last year that a problem was not reported in some software using PHP. The typical vulnerabilities that have been exploited during the past year are:
- Vulnerabilities in the PHP package itself. Exploit code is available for some of these vulnerabilities.
- Remote File include vulnerabilities in the applications using PHP. These are very common and easy to exploit. These flaws allow an attacker to run code of his choice on the vulnerable web server.
- Remote Command Execution vulnerabilities in the applications using PHP. These are easy to exploit and the discoverers typically post a proof of concept code on the Internet. Santy worm resulted from such a vulnerability in the popularly used bulletin board- phpBB.
- SQL Injection vulnerabilities in the applications using PHP. These are easy to exploit and are actively used to recover password hashes for administrators of the PHP applications.
- Remote Code Execution vulnerabilities in libraries implemented using PHP. For instance, PHP XML-RPC and Pear XML-RPC libraries are used by a number of software projects. Lupper worm is exploiting remote code execution vulnerabilities in these libraries.
The last three types of vulnerabilities result from lack of sanitization of user-supplied input. The availability of web scanning tools has automated the process of finding these vulnerabilities.
C3.2 Affected Software
Web servers that are not running the latest version of PHP package. If you are running other PHP software that is not at its latest version, the web server is most likely vulnerable.
C3.3 CVE Entries
CVE-2004-0594,
CVE-2005-3389,
CVE-2005-3390
Note: These do not include the large number of CVE entries associated with a PHP-based applications.
C3.4 How to Determine If You Are at Risk
Scanning the web servers periodically with Vulnerability Scanners is your best bet since the number of vulnerabilities in PHP applications reported every week can be difficult to keep track of, and especially if you are running a large number of PHP-based applications on your servers.
C3.5 How to Protect against PHP Vulnerabilities
- Apply all vendor patches for PHP and PHP-based applications.
- Frequent web scanning is recommended in environments where a large number of PHP applications are in use.
- Use the following PHP Configuration that is safer:
- register_globals (should be off)
- allow_url_fopen (should be off)
- magic_gpc_quotes (should be off for well written software, should be on for poorly written PHP 3 and PHP 4 scripts,)
- safe_mode and open_basedir (should be enabled and correctly configured)
- Configure Apache mod_security and mod_rewrite filters to block PHP attacks.
- Use tools like Paros Proxy for conducting automated SQL Injection tests against your PHP applications.
- Upgrade to PHP 5 as it will eliminate many latent PHP security issues.
- Follow the "Least Privilege" principle for running PHP using tools like PHPsuExec, php_suexec orsuPHP from suPHP.
- Use any Intrusion Prevention/Detection Systems to block/alert on malicious HTTP requests.
C3.6 References:
- PHP Vulnerabilities
-
- Hardened PHP Project
-
- OWASP Webpage (Contains tools and documents for testing Web Application Vulnerabilities)
-
- PHP Security Features
-
C4. Database Software
C4.1 Description
Databases are a key element of many systems storing, searching or manipulating large amounts of data. They are found in virtually all businesses, financial, banking, customer relationship and system monitoring applications.
Due to the valuable information they store such as personal or financial details, the databases are often a target of attack. Since databases are extremely complex applications and are normally a collection of a number of programs, this results in a large number of attack vectors. The most common vulnerabilities in most database systems found today can be classified into:
- Buffer overflows in processes that listen on well known TCP/UDP ports
- SQL Injection via the web front end of the database
- Databases running in default configuration with default usernames and passwords
- Databases running with weak passwords for privileged accounts
There are many different database systems available. Some of the most common are Microsoft SQL Server (proprietary, runs on Windows), Oracle (proprietary, runs on many platforms), IBM DB2 (proprietary, runs on multiple platforms), MySQL and PostgreSQL (both open source and available on many platforms).
All modern relational database systems are port addressable, which means that anyone with readily available query tools can attempt to connect directly to the database, bypassing security mechanisms used by the operating system. For example, Microsoft SQL server can be accessed via TCP port 1433, Oracle via TCP port 1521, IBM DB2 via ports 523 and 50000 up, MySQL via TCP port 3306, and PostgreSQL via TCP port 5432.
During the past year, Oracle has issued cumulative updates that patch hundreds of vulnerabilities. Hence, even if all the vulnerabilities corrected via a cumulative patch are not of critical nature, the administrators are forced to apply the patches to correct a few critical issues.
Proof of concept exploits for many database flaws are readily available on the Internet.
C4.2 Operating Systems Affected
The open source databases are available on virtually every operating system in common use today. Most commercial DBMS also run on multiple platforms
C4.3 CVE Entries
These are the entries released since July 2004. Earlier vulnerabilities can be found in previous editions of the Top 20.
- Oracle
-
CVE-2004-0637,
CVE-2004-0638,
CVE-2004-1338,
CVE-2004-1363,
CVE-2004-1364,
CVE-2004-1365,
CVE-2004-1366,
CVE-2004-1369,
CVE-2004-1370,
CVE-2004-1371,
CVE-2005-1495,
CVE-2004-1774
Note: All CVEs from Oracle Cumulative Patch Updates have not been listed here.
- MySQL
-
CVE-2004-0627,
CVE-2004-0628,
CVE-2004-0836,
CVE-2005-0684,
CVE-2005-1274,
CVE-2005-2558
- PostgreSQL
-
CVE-2005-0244,
CVE-2005-0247
- IBM DB2
-
CVE-2004-0795,
CVE-2004-1372
C4.4 How to Determine If You Are Vulnerable
Because databases are often distributed as components of other applications, it is possible for a database to have been installed without administrators realizing it. Databases may therefore remain unpatched or in vulnerable default configurations. It is not sufficient to check a simple list of the applications that have been installed! This was graphically demonstrated when the SQL Slammer worm attacked the Microsoft Data Access Component (MDAC), which is included in many applications.
Perform a vulnerability scan on systems to determine whether DBMS software is available, accessible and vulnerable. You can use any vulnerability scanners or tools from database vendors such as MySQL Network Scanner, Microsoft SQL server tool.
C4.5 How to Protect Against Database Vulnerabilities
- Ensure that all DBMS are patched up to date. Unpatched or outdated versions are likely include vulnerabilities. Check vendor sites for patch information. Remain up to date with the vulnerabilities and alerts announced by the vendors:
- Ensure that the DBMS and applications have been secured:
- Use minimal privileges.
- Remove/change default passwords on the database's privileged and system accounts before deploying the system on the network.
- Use stored procedures where possible.
- Remove/disable unnecessary stored procedures.
- Set length limits on any form fields.
- There are several useful resources to help secure DBMS mentioned in the references section.
- Use firewalls or other network security devices to restrict network access to the ports associated with database services.
- Do not trust user input! Ensure that the applications linked to databases clean all user input at the server side to avoid attacks such as SQL injection (see http://www.sans.org/rr/whitepapers/securecode/23.php)
C4.6 References
- SANS Reading Room on Database Security
-
- Oracle
-
SANS Comprehensive Security Checklist for Oracle
CIS Oracle Benchmark Tool
Oracle security information can be found at
- MySQL
-
SecurityFocus step-by-step guide to securing MySQL
MySQL Security
- PostgreSQL Security Guide
-
- Microsoft SQL Security Guide
-
- IBM DB2
-
C5. File Sharing Applications
C5.1 Description
Peer to Peer File Sharing Programs (P2P) are used by a rapidly growing user base. These applications are used to download and distribute data such as music, video, graphics, text, source code etc. P2P applications are also used legitimately for distribution of OpenSource/GPL binaries and ISO images of bootable Linux distributions. However, often times the data is either of a questionable nature or is copyrighted.
P2P programs operate through a distributed network of clients, sharing directories of files or entire hard drives of data. Clients participate by downloading files from other users, making their data available to others and coordinating file searches for other users.
Most of the P2P programs use a set of default ports but they can automatically or manually be set to use different ports if necessary to circumvent detection, firewalls, or egress filters. The trend seems to be moving towards the use of http wrappers and encryption to easily bypass corporate restrictions.
The main risks arising from P2P software are:
- Remotely exploitable vulnerabilities in P2P applications that can be used to compromise P2P clients or servers.
- Viruses and bots use P2P shared folders for spreading by copying malicious files into these folders with enticing filenames.
- P2P software is generally bundled with spyware and adware software. This increases the spyware/adware infection in an organization.
- Attackers can masquerade malicious files as legitimate music or video files. When the users download these files, their system can be infected and used as a "bot".
- P2P shares typically have no passwords or weak passwords, a flaw that can be exploited to infect the share with malicious files.
- An organization can be liable to lawsuits for copyright infringement.
- P2P traffic can contribute substantially to overall bandwidth and make other mission-critical applications slower. This can be especially threatening to quality of service for voice and video traffic in an organization.
Exploit code is available for some of the buffer overflow vulnerabilities in the P2P software. According to Symantec's research, in the second half of 2004, 6% of internet attacks tried to exploit vulnerabilities in eDonkey and another 5% in Gnutella.
The number of threats using P2P, IM, IRC, and CIFS within Symantec's top 50 malicious code reports has increased by 39% over the previous six-month period.
C5.2 Operating Systems Affected
There are versions of P2P software available for all Windows operating systems currently in use, along with versions for Linux, UNIX and MacOS systems.
C5.3 CVE Entries
CVE-2004-1114,
CVE-2004-1286,
CVE-2004-1892,
CVE-2004-2433,
CVE-2005-0595,
CVE-2005-1806
C5.4 How to Determine If You Are Vulnerable
Detecting P2P activity on the network can prove to be challenging.
- It is possible to detect P2P software running on your network by monitoring traffic for common ports used by the software or by searching traffic for certain application layer strings commonly used by P2P software. Please see the end of this item for a listing of ports often used by P2P.
- There are a number of applications and services that can assist in detection or prevention of P2P traffic. Some host based intrusion prevention software can prevent the installation or execution of P2P applications.
- Network based Intrusion Detection/Prevention products can detect/prevent P2P traffic from entering or leaving the network or monitor the P2P traffic.
- Monitoring your WAN connections with applications such as NTOP can also reveal P2P traffic.
- You may also wish to scan network storage locations for content commonly downloaded by users, including *.mp3, *.wma, *.avi, *.mpg, *.mpeg, *.jpg, *.gif, *.zip, *.torrent, and *.exe.
- Monitoring volumes for sudden decreases in free disk space can also be useful.
- Scanners often have a plug-in to detect running P2P applications, and for Microsoft Windows machines, SMS can be used to scan for executables that are installed on workstations.
C5.5 How to Protect against P2P Software Vulnerabilities
- Regular users should not be permitted to install software, especially peer to peer applications. To prevent regular users from installation of unauthorized software, it is recommended to deny Administrative level privileges for regular users. To prevent accidental installation of unauthorized software by Administrator level users, tools like Microsoft DropMyRights can be used for securing of any Web browsers and mail clients. In Active Directory environments, Software Restriction Group Policies can be used in order to block known types of binaries from execution.
- Egress filtering should restrict access to any ports not required for business purposes, although as more P2P applications move to http, this will prove less effective.
- Monitor your network for P2P traffic and address violations of policy through appropriate channels. That can be achieved by monitoring of firewall, IDS logs. Enterprise solutions are available for detection and blocking of unauthorized P2P and IM connections.
- On individual workstation tools like Microsoft PortQry and Port Reporter can be used to monitor and log unusual network activity.
- Use enterprise-wide anti-virus and antispyware products and ensure that updates are performed daily.
- Use host-based firewalls in addition to perimeter firewalls. Windows XP and Windows 2003 include Windows firewall, which provides adequate protection if properly configured. A variety of third-party host based firewalls (ZoneAlarm, Sygate, Outpost) provide additional functionality and flexibility. Windows 2000, XP and 2003 systems can use IPSec policies in order to provide port filtering of unnecessary network traffic. In Active Directory environments, IPSec policies and Windows Firewall configuration (for Windows XP SP2 and Windows 2003 SP1) can be managed centrally through Group Policies.
- Disable Simple file sharing feature of Windows XP, if not explicitly required: Start - Settings -Control Panel - Folder Options - Tab View - Disable (uncheck) setting Use Simple File Sharing - Apply - OK.
- Monitor systems for presence of unknown executables and unauthorized modification of system files. Software products like Tripwire (there are commercial and open source versions of the product) can be used to detect changes in files.
Common protocols and ports used by peer-to-peer applications
| P2P Service |
Default/primary port or port range, TCP |
Default/primary port or port range, UDP |
| BearShare |
6346 |
|
| Bittorrent |
2181, 6881-6999 |
|
| Blubster |
|
41170-41350 |
| eDonkey |
4661-4662 |
5737 |
| eDonkey2000 |
4661-4662 |
4665 |
| eMule |
4661-4662,4711 |
4665,4672 |
| Gnutella |
6346/6347 |
6346/6347 |
| Grouper |
8038 |
8038 |
| Kazaa |
1214 |
1214 |
| Limewire |
6346/6347 |
6346/6347 |
| Morpheus |
6346/6347 |
6346/6347 |
| Shareaza |
6346 |
6346 |
| WinMx |
6699 |
6257 |
C5.6 References
- US DHS Information Bulletin "Unauthorized Peer-to-Peer (P2P) Programs on Government Computers"
- http://www.dhs.gov/interweb/assetlibrary/IAIP_UnauthorizedP2PProgramsGovtComp_041905.pdf
- Federal Law Enforcement Announces Operation D-Elite, Crackdown on P2P Piracy Network: First Criminal Enforcement Against BitTorrent Network Users
- http://www.usdoj.gov/criminal/cybercrime/BitTorrent.htm
- Cyber Security Tip ST05-007 - Risks of File-Sharing Technology
- http://www.us-cert.gov/cas/tips/ST05-007.html
- Risks of P2P File Sharing
- http://www.ftc.gov/bcp/workshops/filesharing/presentations/hale.pdf
- Symantec Internet Security Threat Report - Trends for July 04- December 04
Volume VII, Published March 2005
- http://ses.symantec.com/pdf/ThreatReportVII.pdf
- Securing Windows XP Professional in a Peer-to-Peer Networking Environment
- http://www.microsoft.com/technet/security/smallbusiness/prodtech/windowsxp/sec_winxp_pro_p2p.mspx
- Identifying P2P users using traffic analysis - Yiming Gong - 2005-07-21
- http://www.securityfocus.com/infocus/1843
- Sinit P2P Trojan Analysis
- http://www.lurhq.com/sinit.html
- How to block specific network protocols and ports by using IPSec (MS KB article 813878)
- http://support.microsoft.com/kb/813878
- Using Software Restriction Policies to Protect Against Unauthorized Software
- http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx
- Availability and description of the Port Reporter tool (MS KB article 837243)
- http://support.microsoft.com/kb/837243
- New features and functionality in PortQry version 2.0 (MS KB article 832919)
- http://support.microsoft.com/default.aspx?kbid=832919
- Log Parser 2.2
- http://www.microsoft.com/technet/scriptcenter/tools/logparser/default.mspx
- Browsing the Web