Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to...

20
Vulnerabilities

Transcript of Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to...

Page 1: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerabilities

Page 2: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerabilities

• flaws in systems that allow them to be exploited

• provide means for attackers to compromise hosts, servers and networks

Page 3: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerabilities

• 2 flavors

• bugs – programming mistakes

• Errors in code that could cause a system to hang to an insecure state or allow root access• Incorrect firewall/router/IDS rules

• flaws – improper design

• failing to account for all possibilities in design leads to code with vulnerable ‘features’

Page 4: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerabilities

• 2-edged sword

• publishing vulnerabilities and patches is only way to fix problem

• once published – the network of hackers is aware of the vulnerability

• patch management is a MAJOR security problem!

Page 5: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerabilities

• ‘Security by Obscurity’

• attempts to use secrecy to prevent knowledge of vulnerabilities

• vendors of proprietary code are often accused of this

• zero-day attack

• attack takes place during the window between when a vulnerability becomes known and a patch is discovered

Page 6: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Between a ‘rock and a hard place’

• what do you do if you discover a vulnerability in a product and a patch is not available?

• do you keep it secret until a patch is developed?

• this leaves customers vulnerable• the vendor may not work to fix it since there is no pressure

• do you publicize it to put pressure on the vendor?

• knowing that by doing so you have notified all of the hacker community

Page 7: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Between a ‘rock and a hard place’

Example 1:

• In 2009 Microsoft announced vulnerability in SMB subsystem that could leave servers vulnerable to DOS attack

• there was no patch yet

• IT managers had two choices

• disable SMB – meaning some systems would not work

• wait for patch and pray there would not be an incident

Page 8: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Between a ‘rock and a hard place’

Example 2:

• in 2008 a Mass. Dist. Judge ordered MIT students to NOT present information at DefCon regarding a vulnerability in the MTA ‘CharlieTicket’ system

• judge said intent was not to silence students but enforce a reasonable period during which a fix could be found

• the gag order was overturned, but not until after DefCon had concluded

http://www.informationweek.com/news/security/vulnerabilities/210002185

Page 9: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability Management

• many strategies for managing vulnerabilities

• vulnerability scanners• vulnerability notification• vulnerability information online through CERT• vulnerability and penetration testing services

• these go hand-in-hand with adequate patch management

Page 10: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability Scanners• programs that scan a network, host or application for known vulnerabilities

• Types• port scanner – looks for open ports (nmap)• network enumerator – provides information on groups, usernames, shares and services (nmap and nessus)• network vulnerability scanner – looks for vulnerabilities in network resources and servers (nessus, SAINT)• Web application security scanner – looks for vulnerabilities in Web servers and scripts (SAINT, Metasploit Pro)• Database security scanner – Looks for vulnerabilities in DBMS and SQL code (Safety Lab Shadow)

Page 11: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability Notification• many vendors will either mail a notification or post to a Web site when a vulnerability has been found and how to patch it

• services exist that maintain vulnerability lists for multiple products and will provide notification

• with many of these you provide a list of the software and versions in your organization

Page 12: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability Notification• examples

• Vupen Security vulnerability services

http://www.vupen.com/english/services/

• SecureNet Solutions vulnerability notification service

http://www.securenetsol.com/am_trial_terms.html

• Secundia CSI free for home users

http://secunia.com/vulnerability_scanning/personal/

Page 13: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability Notification

• CERT (Computer Emergency Response Team) at CMU

• provides weekly list of known vulnerabilities

• organization security team matches inventory of software and versions to this list

http://www.cert.org/advisories/

http://www.us-cert.gov/cas/bulletins/

Page 14: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Threats – the counterpart to vulnerabilities• Threats exploit vulnerabilities

• vulnerability – you left your car unlocked• threat – criminals going through shopping center parking lots looking for unlocked cars

• Fortinet’s FortiGuard Center Threat Research and Response Center provides Threat reports and advisories

http://www.fortiguard.com/

• Awareness of threat landscape can help to prioritize vulnerabilities

Page 15: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Top 3 Application Vulnerabilities1 – Buffer overflow

• software may not enforce array bounds• can allow buffers (arrays used for I/O) to overflow and overwrite code area• some malware works this way ‘smashing the stack’• mainly aimed at systems that allow code to be executed with privileged rights

• best addressed in design and programming• patches can often fix this in vendor-supplied software

http://www.windowsecurity.com/articles/Analysis_of_Buffer_Overflow_Attacks.html

http://www.youtube.com/watch?v=kZZgNnhxA_4 (6 min)

Page 16: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Top 3 Application VulnerabilitiesAccording to CERT

2 – cross-site scripting

• code is injected into communications from a Web site• most ‘drive-by’ malware uses this method• often relies on social engineering to get user to follow link (Banks are especially targeted)

• Web script writers can validate input and clense output• script disabling (although not always practical)• use of least-privilege account

http://www.ibm.com/developerworks/tivoli/library/s-csscript/

Page 17: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Top 3 Application VulnerabilitiesAccording to CERT

3 – SQL injection

• commands passed through Web form to SQL DBMS• can exploit lack of security and gain control of server

• solution is to add code to validate input

http://www.youtube.com/watch?v=jMQ2wdOmMIA (3 min)

Page 18: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Vulnerability ManagementGartner defines 6 steps for vulnerability management

• Define policy• Baseline the environment• Prioritize vulnerabilities• Mitigate vulnerabilities• Maintain and monitor

Page 19: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Patch Management• requires coordinated effort

• knowing which patches are available• testing patches• scheduling patch installation

http://www.patchmanagement.org/pmessentials.asp

• however – many systems remain unpatched

• some applications (such as firefox) push patches

• others (such as adobe) allow users to decide

Page 20: Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.

Patch Management• although recognized as a major security problem – patch management is seen as a burden by traditional IT management

• it sucks up resources• it adds nothing to the bottom-line

http://www.computerworld.com.au/article/44872/patch_management_burdens_customers/?fp=16&fpid=0