Use of AI algorithms in design of Web Application Security Testing Framework HITCON Taipei 2006.

Slides:



Advertisements
Similar presentations
Module XII Web Application Vulnerabilities
Advertisements

Incident Handling & Log Analysis in a Web Driven World Manindra Kishore.
HI-TEC 2011 SQL Injection. Client’s Browser HTTP or HTTPS Web Server Apache or IIS HTML Forms CGI Scripts Database SQL Server or Oracle or MySQL ODBC.
©2009 Justin C. Klein Keane PHP Code Auditing Session 3 – Tools of the Trade & Crafting Malicious Input Justin C. Klein Keane
Hands-On Ethical Hacking and Network Defense Second Edition Chapter 5 Port Scanning.
Hands-On Ethical Hacking and Network Defense Chapter 5 Port Scanning.
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
Hacking techniques automation Yarochkin Fyodor. Guard-Info Meder Kydyraliev O0o.nu sec. Singapore.
Server-Side vs. Client-Side Scripting Languages
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Academic Advisor: Dr. Yuval Elovici Technical Advisor: Dr. Lidror Troyansky ADD Presentation.
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Introduction to eValid Presentation Outline What is eValid? About eValid, Inc. eValid Features System Architecture eValid Functional Design Script Log.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Chapter 6: Hostile Code Guide to Computer Network Security.
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
INTRODUCTION TO WEB DATABASE PROGRAMMING
ArcGIS Workflow Manager An Introduction
Chapter 6: Packet Filtering
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Penetration Testing James Walden Northern Kentucky University.
Adrian Crenshaw. Darknets  There are many definitions, but mine is “anonymizing private networks ”  Use of encryption.
Software Security Testing Vinay Srinivasan cell:
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Interception and Analysis Framework for Win32 Scripts (not for public release) Tim Hollebeek, Ph.D.
1 Topic 2: Lesson 3 Intro to Firewalls Summary. 2 Basic questions What is a firewall? What is a firewall? What can a firewall do? What can a firewall.
ArcGIS Server for Administrators
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
AppSec USA 2014 Denver, Colorado CMS Hacking 101 Hacking and Securing Popular Open Source Content Management Systems.
Second Line Intrusion Detection Using Personalization DISA Sponsored GWU-CS.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Web Applications Testing By Jamie Rougvie Supported by.
Module 7: Advanced Application and Web Filtering.
Vulnerability Scanning Vulnerability scanners are automated tools that scan hosts and networks for known vulnerabilities and weaknesses Credentialed vs.
Web Security Group 5 Adam Swett Brian Marco. Why Web Security? Web sites and web applications constantly growing Complex business applications are now.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
REST By: Vishwanath Vineet.
Firewalls. Intro to Firewalls Basically a firewall is a barrier to keep destructive forces away from your computer network.
Module: Software Engineering of Web Applications Chapter 3 (Cont.): user-input-validation testing of web applications 1.
WebWatcher A Lightweight Tool for Analyzing Web Server Logs Hervé DEBAR IBM Zurich Research Laboratory Global Security Analysis Laboratory
IPS Infrastructure Technological Overview of Work Done.
Puppetnets: Misusing Web Browsers as a Distributed Attack Infrastructure Paper By : V.T.Lam, S.Antonatos, P.Akritidis, K.G.Anagnostakis Conference : ACM.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
T Project Review Magnificent Seven Final demonstration
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
ArcGIS for Server Security: Advanced
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Web Application Hacker’s Toolkit
TMG Client Protection 6NPS – Session 7.
Module: Software Engineering of Web Applications
Presentation by: Naga Sri Charan Pendyala
Module: Software Engineering of Web Applications
Web Development Web Servers.
Secure Software Confidentiality Integrity Data Security Authentication
Software testing
Server Concepts Dr. Charles W. Kann.
Processes The most important processes used in Web-based systems and their internal organization.
Marking Scheme for Semantic-aware Web Application Security
PHP / MySQL Introduction
Lecture 1: Multi-tier Architecture Overview
Webscarab, an introduction.
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Presentation transcript:

Use of AI algorithms in design of Web Application Security Testing Framework HITCON Taipei 2006

Or a “non-monkey” approach to hacking web applications By fyodor and meder

“No. we are not writing another web scanner!!”

Agenda Why hacking web applications What scanners do. Why they are useless (or not) What else could be done, but isn’t (yet) Introduction to YAWATT  User-session based approach  Distributed  Intelligent (or not?)  Modular  More than “application security scanner” coverage

This work background STIF, STIF2 automation – agent-based cooperative automated hacking environment

So, why going for the web They learnt to configure their firewalls They learnt to disable services they don’t want They finally know how to use nmap (and even nessus!!) …. But they still want web And they can’t learn to code

So why web applications Applications get complex Multilayered frameworks make it even more fun Amount of web application based services grow Number of web application programmers increase (home brewed web applications) but …

Web application remains a larger hole into one’s network Web application programmers skills aren’t usually the best Firewalls are there – just to let you in application firewalls can stop limited number of web application attacks, but are useless when it comes to detection of logical vulnerabilities IDS systems aren’t smart enough to pick up on Application attacks

Scanners.. use of.. checking for enumeration... YES checking for exectution... YES checking if we can drop table YES checking if we can drop database.. YES.. CANNOT CONNECT TO APPLICATION

Scanners - summary Nessus et all – don’t see web applications beyond the underlying software configuration Libwhisker/nikto – signature based. Relatively primitive. Efficient for default bugs Wikto/e-Or – session aware, coding flaws scanner Kavado/Appscan/Webinspect/N- Stalker/Watchfire Appscan – intelligent scanners. Session aware. Closed “blackbox” (some allow scripted plugins)

Why scanners ain’t enough Single-host based Commercial scanners are black-box (not extendable, non-correctable) Little or no control on “hacking” process Not easily extendable on the fly with new ‘automation” modules Often primitive, signature based logic

What would we like to have Maximum automation of web hacking process Minimum of code writing. Autonomous functionality Knowledge transfer Ability to add ‘hacks’ on the fly Deal with uncertainty in “intelligent way” Learn from valid user session data

Other good things to have Be able to test new class of bugs (i.e. session hijacking) Be able to attack web application from multiple-locations (bypass IP restrictions, improve brute-forcing process) Be able to automate testing of application logic bugs Be able to make intelligent guesses

Introducing YAWATT method

User sessions User sessions – collections of user request/response pairs (url, name/value pairs, session information and selective HTTP protocol data) Classified user session data include semantic classification of URL, parameters, responses and HTTP protocol data (server type, backend system(s) if visible, “unusual” HTTP headers content)

User sessions User session data can be obtained from:  Proxy servers (burp, paros,..)  Web server logs  Browser automation scripts (i.e. WATIR framework)  Spiders (burp)

Less code, more automation Application content is learnt from user sessions (data feeders) Additional application information could be gathered by agent’s plugins (i.e. directory splitting tests) User session data is classified by:  Semantic and functional classification of URL  HTTP protocol classificators (server type, cookies..)  Session classificators  Input data classification – type, semantics  Output classification (application error detection, redirects, “bogus’ responses etc) Test-case suites and executed in groups  Stateless tests  Stateful tests  Mixed

Classification process as new data arrives into the system

Go Intelligent Main components: Web application components (URL) classification Semantic classification for web application input data LSI based mapping and comparison of web content In response analysers. Use of external search engines Limited “binary analysis” of downloaded files (decoding pdf, doc, rtf (other formats later)

Knowledge Transfer to machine Possibility to create new classification rules on the fly (and let the system re-learn from it) Possibility to ‘reclassify’ application responses Possibility to add new ‘testing’ plugins on the fly

How is URL classification used Vulnerability scenario testing – uses ‘classificators’ subscribtion mechanism. For example: login page tester will need ‘login’, ‘executable’ and ‘session’

How does input data semantics identification happen

How the classified user session data is used

Additional research directions Other ideas to work on:  Detection of “hidden” parameters  Identification of “hidden” urls  Identification of “negative” and ‘positive” responses  Detection of application failures, redirects  Evaluation and priority based execution for plugins

A note on distributed architecture Cooperative Agents Infrastructure  Design cooperative agent system  Multi-platform  Portable

Distributed architecture

Distributed architecture (another look)

What distributed approach gives us: DDoS – EASY!!! Distributed brute-forcing. Bypassing IP based restrictions, bandwidth limitations IDS – more tricks Bypass packet filtering restrictions an agent behind the firewall!

Communication framework Modified version of spread  Robust  Reliable message delivery  Portable (windows/unix)  Available in C/C++ and Java flavours. Bindings exist for Python, Ruby!

In progress Agents communicate with message Task distribution algorithms – in progress

More on intelligence Aside from application vulnerabilities, other things of interest are:  addresses, user ids that could be seen within web content  Domain names (within web pages, comments, binary files, etc)  Building ‘target-oriented’ dictionary files (used by brute-force cracking modules)

Other good things Add your plugin code on the fly (attack automation plugins via subscription mechanism, classification plugins etc):  Can’t be simpler:

Look mah, no hands! No reload is needed, plugins executed next time the new data is processed

beyond normalities of average application scanner Integration and use of other tools to collect and analyse data (search engine queries,..) Integration with other tools (script in python or ruby, or hack “plugin” in java or C) If you like your favourite application hax0r tool – you still can use it (and feed the data to us!)

Other remainders: Direct interaction with analyst (not fully implemented yet):

Other remainders: Data lookup and data mining services for plugins (via mySQL database wrapping DataMiner).

Other ‘nice to have’ things in progress Propogation module: manual or automated agent installation on vulnerable server (controlled worm spreading capability!)

Demo Code is spaghetti (sorry about that) Will demonstrate functional bits

Questions and Answers Sample questions, pick one: ; ) Why another web hacking tool? Can you do X too..?

Thanks Thanks for your patience The code, slides and docs will be available in a while:

Xcon plug XCon2006 the Fifth Information Security Conference will be held in Beijing, China, during August 22-24, Speaking: abit late, but you can try: Attending: should be possible and interesting No politics! ;-) Thanks!