universal http denial-of-service. about hybrid creating web-business-logic security doing cool stuff...

19
Universal HTTP Denial-of-Service

Upload: griffin-johns

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Universal HTTP

Denial-of-Service

Page 2: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

About Hybrid• Creating web-business-logic security• Doing cool stuff in AI research• Optimizing acceptance rate for Web-bound

transactions• Minimizing false rejects typical to signature-based

solutions

Page 3: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound
Page 4: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

How Would You Like Your Website? Slow or DEAD?

• Slowloris abuses handling ofHTTP request headers ssslooowly…

• Written by RSnake• Iteratively injects one custom header at a

time and goes to sleep• Web server vainly awaits the

line space that will never come • Stuck in phase I forever. Kinda like Tron

• R-U-Dead-Yet? abuses HTTP web form fields

• Iteratively injects one custom byte into a web application post field and goes to sleep

• Application threads become zombies awaiting ends of posts till death lurks upon the website

• Stuck in phase II forever. Kinda like Tron sequels

Page 5: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

SlowLoris

According to HTTP RFC 2616:

Request = Request-Line

*(( general-header

| request-header

| entity-header ) CRLF)

CRLF

[ message-body ]

Page 6: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

SlowLoris

GET http://www.google.com/ HTTP/1.1

Host: www.google.com

Connection: keep-alive

User-Agent: Mozilla/5.0

X-a: b

X-a: b

X-a: b

X-a: b

X-a: b

X-a: b

Page 7: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

SlowLoris

DEMO

Page 8: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

SlowLoris Mitigation

Page 9: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Patching Apache

• Use Apache Patchto moderate average timeout thresholds(Link at end of presentation)

Page 10: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

According to SpiderLabs:

• ModSecurity >=2.5.13• Add directive: “SecReadStateLimit 5”• Then ModSecurity Alerts like this:

“ [Mon Nov 22 17:44:46 2010] [warn] ModSecurity: Access denied with code 400. Too many connections [6] of 5 allowed in READ state from 211.144.112.20 - Possible DoS Consumption Attack [Rejected] ”

Page 11: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

R-U-D-Y

POST http://victim.com/

Host: victim.com

Connection: keep-alive

Content-Length: 1000000

User-Agent: Mozilla/5.0

Cookie: __utmz=181569312.1294666144.1.1

username=AAAAAAAAAAAAAAAAAAAAAAAAA…

Vulnerability discovered by Tom Brennan

and Wong Onn Chee:

http://www.owasp.org/images/4/43/Layer_7_DDOS.pdf

Page 12: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

R-U-D-Y

DEMO

Page 13: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Waging War Upon SCADA

Page 14: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Waging War Upon SCADA

• Stuxnet operated from within Iran’s nuclear facilities to tamper with uranium-enrichment centrifuges

• R-U-D-Y integrated with SHODAN’s API could allow automatic location and disruption of Web-facing SCADA controllers from any anonymous location on Earth

Page 15: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

R-U-D-Y Mitigation

• Add directive: “RequestReadTimeout body=30”• Add a rule:

SecRule RESPONSE_STATUS "@streq 408“ \ "phase:5,t:none,nolog,pass, \setvar:ip.slow_dos_counter=+1,expirevar:ip. \slow_dos_counter=60"SecRule IP:SLOW_DOS_COUNTER "@gt 5“ \ "phase:1,t:none,log,drop, \msg:'Client Connection Dropped due to high \ # of slow DoS alerts'"

Page 16: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Other (potential?) Attack Vectors

• Complex structures such as: SOAP, JSON, REST• Encapsulated protocols such as: SIP, AJAX

binary streams

Page 17: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

Future Research• Use a protocol fuzzer such as PEACH or SPIKE to explore the entropy of HTTP RFC-compliant input• Use nested and/or broken data structures to detect server-side zombie behavior

If we knew what it was we were doing, it would not be called research, would it?

(Albert Einstein)

Page 18: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

• SlowLoris:http://ha.ckers.org/slowloris/

• Anti-SlowLoris Patch:http://synflood.at/tmp/anti-slowloris.diff

• Mitigation with ModSecurity: http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-mitigating-slow-http-dos-attacks.html

• R.U.D.Y:http://hybridsec.com/tools/rudy/

• Chapters In Web Security:http://chaptersinwebsecurity.blogspot.com

Reference

Page 19: Universal HTTP Denial-of-Service. About Hybrid Creating web-business-logic security Doing cool stuff in AI research Optimizing acceptance rate for Web-bound

[email protected]

Thank You