• No results found

Integrating Web Application Security into the IT Curriculum

N/A
N/A
Protected

Academic year: 2021

Share "Integrating Web Application Security into the IT Curriculum"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

Integrating Web

Integrating Web

Application Security into

Application Security into

the IT Curriculum

the IT Curriculum

James Walden

James Walden

Northern Kentucky University

(2)

Topics

Topics

1.

1.

Why should we teach web application security?

Why should we teach web application security?

2.

2.

What material do we need to cover?

What material do we need to cover?

3.

3.

How should we cover that material?

How should we cover that material?

4.

(3)

Is Web Hacking Really That Easy?

(4)

Vulnerability Growth

Vulnerability Growth

1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 0 0 0 2 0 0 1 2 0 0 2 2 0 0 3 2 0 0 4 2 0 0 5 2 0 0 6 2 0 0 7 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 6 0 0 0 7 0 0 0 8 0 0 0 9 0 0 0 C E R T V u l n e r a b i l i t i e s V ul ne ra bi lit ie s

(5)

Web Vulnerabilities Dominate

(6)

Reasons for Attacking Web Apps

(7)

Firewalls Don’t Protect Web

Firewalls Don’t Protect Web

Apps

Apps

Firewall Port 80 HTTP Traffic Web Client Web Server Application Application Database Server telnet ftp

(8)

Browser Malware Bypasses Firewall

(9)

Goals

Goals

1.

1.

Identify and explain common vulnerabilities.

Identify and explain common vulnerabilities.

2.

2.

Explain security implications of client-side

Explain security implications of client-side

technologies like Javascript and ActiveX.

technologies like Javascript and ActiveX.

3.

3.

Detect security vulnerabilities in web

Detect security vulnerabilities in web

applications using appropriate tools.

applications using appropriate tools.

4.

4.

Design and implement web applications that

Design and implement web applications that

do not contain common vulnerabilities.

do not contain common vulnerabilities.

5.

5.

Deploy and configure a web application in a

Deploy and configure a web application in a

secure manner.

(10)

Topic Outline

Topic Outline

1.

1.

Web Application Input

Web Application Input

2.

2.

Client-side Technologies

Client-side Technologies

3.

3.

Input-based Attacks

Input-based Attacks

4.

4.

Injection Attacks

Injection Attacks

5.

5.

Cross-site Attacks

Cross-site Attacks

6.

6.

Authentication

Authentication

7.

7.

Secure Programming

Secure Programming

8.

(11)

Web App Security in IT2005

Web App Security in IT2005

Web Application Security

IPT5 Software Security IAS6 Security Domains WS5 Web Security IAS11 Vulnerabilities

(12)

Labs

Labs

1.

1. WebGoat exercises on specific vulnerabilities.WebGoat exercises on specific vulnerabilities. 2.

2. Using a testing proxy to solve more advanced Using a testing proxy to solve more advanced

WebGoat exercises.

WebGoat exercises. 3.

3. Assessing an application using a web vulnerability Assessing an application using a web vulnerability

scanner.

scanner. 4.

4. Assessing a web application using a testing proxy.Assessing a web application using a testing proxy. 5.

5. Reviewing the code of an application using a static Reviewing the code of an application using a static

analysis tool.

analysis tool. 6.

6. Deploying a web application firewall.Deploying a web application firewall.

Participating in the international CTF competition.

(13)

WebGoat

(14)

Tools

Tools

Web Proxies

Web Application Firewalls

Static Analysis

(15)

Web Proxies

(16)

Altering Form Parameters

(17)

Fuzz Testing

Fuzz Testing

Fuzz testing

Fuzz testing consists of consists of

 Sending unexpected input.Sending unexpected input.  Monitoring for exceptions.Monitoring for exceptions.

(18)

Web Application Firewalls

Web Application Firewalls

What is a WAF?

What is a WAF?

 Web monitoring.Web monitoring.  Access control.Access control.

 Behind SSL endpoint.Behind SSL endpoint.

A/K/A

A/K/A

 Deep packet inspection.Deep packet inspection.  Web IDS/IPS.Web IDS/IPS.

 Web App Proxy/Shield.Web App Proxy/Shield.

mod_security

mod_security

 Open source.Open source.

 Embeds in Apache.Embeds in Apache.  Reverse proxy.Reverse proxy.

(19)

Vulnerability Scanners

Vulnerability Scanners

1.

1. Spiders site.Spiders site. 2.

2. Identifies inputs.Identifies inputs. 3.

3. Sends list of Sends list of

malicious inputs to

malicious inputs to

each input.

each input. 4.

(20)

Static Analysis

Static Analysis

Automated assistance for code auditing

Automated assistance for code auditing

Speed: review code faster than humans can

Speed: review code faster than humans can

Accuracy: hundreds of secure coding rules

Accuracy: hundreds of secure coding rules

Results Tools  Coverity  FindBugs  Fortify  Klocwork  Ounce Labs

(21)

Labs

Labs

 WebGoat exercises on specific vulnerabilities.WebGoat exercises on specific vulnerabilities.  Using a Using a testing proxytesting proxy to solve more advanced to solve more advanced

WebGoat exercises.

WebGoat exercises.

 Assessing an application using a web Assessing an application using a web vulnerability vulnerability

scanner

scanner..

 Assessing a web application using a Assessing a web application using a testing proxytesting proxy..  Reviewing the code of an application using a Reviewing the code of an application using a static static

analysis

analysis tool. tool.

 Deploying a Deploying a web application firewallweb application firewall..

(22)

Approaches

Approaches

1.

1. Students evaluate and fix their own code.Students evaluate and fix their own code.

 Students learn about their own coding mistakes.Students learn about their own coding mistakes.  Scale of project limited to what students can write.Scale of project limited to what students can write.

2.

2. Students evaluate and fix your code.Students evaluate and fix your code.

 Write a web application designed for teaching students.Write a web application designed for teaching students.

3.

3. Students evaluate and fix someone else’s code.Students evaluate and fix someone else’s code.

1.

1. Use a web application designed for teaching.Use a web application designed for teaching. 2.

2. Analyze an open source web application with known Analyze an open source web application with known

vulnerabilities reported in NVD or other bug db.

(23)

Teaching Applications

(24)

Future Directions: AJAX

Future Directions: AJAX

Security

Security

Asynchronous Javascript and

Asynchronous Javascript and

XML

XML

 Expanded server side API.Expanded server side API.

 Server API calls can be issued in Server API calls can be issued in

any order by attacker; cannot

any order by attacker; cannot

assume calls issued in order by

assume calls issued in order by

your client.

your client.

 Larger amount of client state.Larger amount of client state.  Client/server communication Client/server communication

using data (XML/JSON) rather

(25)

Future Directions: Web Sec Class

Future Directions: Web Sec Class

1.

1. Web Application InputWeb Application Input

2.

2. Client-side TechnologiesClient-side Technologies

3.

3. Service Oriented ArchitecturesService Oriented Architectures

4.

4. AJAXAJAX

5.

5. Input-based AttacksInput-based Attacks

6.

6. Injection AttacksInjection Attacks

7.

7. Race ConditionsRace Conditions

8.

8. Cross-site AttacksCross-site Attacks

9.

9. AuthenticationAuthentication

10.

10. Secure ProgrammingSecure Programming

11.

(26)

Conclusions

Conclusions

1.

1. Defense is shifting from network to application Defense is shifting from network to application

layer.

layer.

Firewalls, anti-virus, SSL input validation, WAF

Firewalls, anti-virus, SSL input validation, WAF

2.

2. Students need to learn to identify vulnerabilities.Students need to learn to identify vulnerabilities.

 Static analysis of source code.Static analysis of source code.

 Web proxies and scanners for testing.Web proxies and scanners for testing.

3.

3. Students need to learn to remediate vulnerabiliites.Students need to learn to remediate vulnerabiliites.

1.

1. Web application firewalls for immediate short-term fixes.Web application firewalls for immediate short-term fixes. 2.

References

Related documents

(A) The solubility of n – alcohol in water decreases with an increase in molecular weight (B) The solubility of n – alcohol in water increases with an increase in molecule

Welcome to the world of electronic evidence (e-evidence) investigations using computer forensics, mobile forensics, and social forensics tools according to legal

Este zoo no dispone de una visita guiada en tren como es el caso de nuestro nuevo proyecto pero tiene unos precios bastante inferiores a las que posee el parque, lo que puede atraer

The University of Pittsburgh Medical Center (UPMC) has a tie-up with a local daycare center that has a full day kindergarten program. But the rates for these facilities

Indeed the centrality of parenting and bisexual identities, level of sexual identity salience, and experiences of parenting self-efficacy or guilt, bisexual self-esteem or shame,

The Detailed Engineering Phase involves engineering activities as follows o Verification of FEED / Basic Design.. o Carrying out Pre-engineering Survey,

The focus of research is a 13-week EFL course for 25 first-year college students, specifically designed to enhance their future visions of themselves as L2 users (Dörnyei

For this special issue on neuroscience in forensic psychiatry and psychology of the International Journal of Forensic Mental Health, we included both research and theoretical