Security Products Development. Leon Juranic leon@defensecode.com



Similar documents
Web Application Security

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

NSFOCUS Web Vulnerability Scanning System

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

Performing a Web Application Security Assessment

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Application Code Development Standards

Executive Summary On IronWASP

SANDCAT THE WEB APPLICATION SECURITY ASSESSMENT SUITE WHAT IS SANDCAT? MAIN COMPONENTS. Web Application Security

Aiming at Higher Network Security Levels Through Extensive PENETRATION TESTING. Anestis Bechtsoudis. abechtsoudis (at) ieee.

Web Application Penetration Testing

Web application testing

Web Application Security Payloads. Andrés Riancho Director of Web Security OWASP AppSec USA Minneapolis

Acunetix Website Audit. 5 November, Developer Report. Generated by Acunetix WVS Reporter (v8.0 Build )

Intrusion detection for web applications

CS 558 Internet Systems and Technologies

Chapter 1 Web Application (In)security 1

(WAPT) Web Application Penetration Testing

Penetration Testing: Lessons from the Field

Web Applications The Hacker s New Target

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner. HA5 3PU / UK

Web Security Testing Cookbook*

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Learning security through insecurity

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

Penetration Testing Lessons Learned. Security Research

Acunetix Web Vulnerability Scanner. Manual V6.5. By Acunetix Ltd.

WEB APPLICATION VULNERABILITY STATISTICS (2013)

Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft

How To Write A Web Application Vulnerability Scanner And Security Auditor

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Java Program Vulnerabilities

Acunetix Web Vulnerability Scanner. Manual. v5.0. By Acunetix Ltd.

Revisiting SQL Injection Will we ever get it right? Michael Sutton, Security Evangelist

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

ASL IT Security Advanced Web Exploitation Kung Fu V2.0

Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM

Cross-Site Scripting

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Rational AppScan & Ounce Products

Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins

Integrating Web Application Security into the IT Curriculum

Web Intrusion Detection with ModSecurity. Ivan Ristic

Web Application Security Considerations

Improving Web Vulnerability Scanning. Daniel Zulla

Introduction to Computer Security

Lecture 15 - Web Security

HP WebInspect Tutorial

Application security testing: Protecting your application and data

Client vs. Server Implementations of Mitigating XSS Security Threats on Web Applications

WebCruiser Web Vulnerability Scanner Test Report. Input Vector Test Cases Cases Count Report Pass Rate. Erroneous 200 Responses %

Acunetix Web Vulnerability Scanner. Getting Started. By Acunetix Ltd.

Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only

Top Ten Web Attacks. Saumil Shah Net-Square. BlackHat Asia 2002, Singapore

Using Nessus In Web Application Vulnerability Assessments

Automatic vs. Manual Code Analysis

QualysGuard WAS. Getting Started Guide Version 3.3. March 21, 2014

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Security Solutions & Training. Exploit-Me. Open Source Firefox Plug-Ins for Penetration Testing

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

Figure 9-1: General Application Security Issues. Application Security: Electronic Commerce and . Chapter 9

What is Web Security? Motivation

Evaluation of Penetration Testing Software. Research

Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper

Secure in 2010? Broken in 2011! Matias Madou, PhD Principal Security Researcher

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

WEB APPLICATION HACKING. Part 2: Tools of the Trade (and how to use them)

Web Vulnerability Scanner v10 Product Manual

The Dark Side of Ajax. Jacob West Fortify Software

Web Vulnerability Scanner v9 User Manual

Sample Report. Security Test Plan. Prepared by Security Innovation

Ruby on Rails Secure Coding Recommendations

NSFOCUS Remote Security Assessment System. Overview

Web Application Worms & Browser Insecurity

Application Security Testing

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

2,000 Websites Later Which Web Programming Languages are Most Secure?

Last update: February 23, 2004

Web Applications Testing

Web App Security Audit Services

How to hack a website with Metasploit

PTSv2 in pills: The Best First for Beginners who want to become Penetration Testers. Self-paced, online, flexible access

Thomas Röthlisberger IT Security Analyst

CCM 4350 Week 11. Security Architecture and Engineering. Guest Lecturer: Mr Louis Slabbert School of Science and Technology.

Strategic Information Security. Attacking and Defending Web Services

Integrated Threat & Security Management.

Smashing Web Apps Applying Fuzzing to Web Applications and Web Services. Michael Sutton, Security Evangelist

Integrigy Corporate Overview

Web Vulnerability Scanner v8 User Manual

SAST, DAST and Vulnerability Assessments, = 4

Adobe Systems Incorporated

Web security. Live hacking demo. Rick van Tol Arthur Donkers Paul van Maaren Eilko Bos.

Transcription:

Security Products Development Leon Juranic leon@defensecode.com

Security Products Development Q: Why I picked this boring topic at all? A: Avoidance of any hackingrelated topics for fsec (khm.) :)

Security Products Development For last 4-5 years, I've been working on commercial security products This is my story on security products development - Idea - Motivation - Obstacles - Goals - Results

Security Products Development Why would someone start to develop commercial security tools on his own? Main reason - I was never thrilled to use other people's software. - Ego stuff? Possible. - Money? Definitely.

Security Products Development For last 13 years, I coded my own security tools: - port scanners - vulnerability scanners - fuzzers - exploits - shellcodes - network exploitation tools - misc. junk - etc. I have this retarded obsession that I have to know it under the hood, in details... Few years ago, I decided it's time to make some money on it. :)

Security Products Development I decided to go for Web Application security. Why? Simple - ROI. "Cool" hacking stuff takes much more resources... - Buffer overflows are kinda rare these days - High profile b0fs are hard to find (takes time) - Low-hanging fruits are mostly gone - Hard to exploit (takes time) - Buffer Overflows - Questionable ROI

Security Products Development On the other side... Web Applications Security - Good ROI Everyone has at least one website Web Apps are mostly vulnerable as hell (more than 80% of web sites vulnerable) Nowadays, more than 60% of server-side intrusions are result of poor web apps

Security Products Development "Did they get you to trade? Your heroes for ghosts". - Pink Floyd Sellout? No... Simple shift of focus from "hard core" resource consuming hacking stuff, to more cost-effective security research/audit Attacking the weakest link (Web Apps)

WASC 2010 WEB APP VULNS

WASC 2010 WEB APP VULNS

Security Products Development GOAL: To create products that will be able to discover vulnerabilities in web applications like I'm doing it manually To summarize knowledge and experience gained over the years, and transform it to security products

Security Products Development In past 4-5 years, I've coded engines/tools: Web Security Scanner (Black-Box) Web Application Source Code Security Analysis Scanner (White-Box)

Web Security Scanner

Web Security Scanner I've started to work on my own Web Security Scanner Tool for fully automated black-box security audit of web applications Simple: Just set it to target URL and hit start Goal: To discover all security vulnerabilities present in target web application/web site

Web Security Scanner BENCHMARK-LIKE-GOAL: To develop a tool that will discover 0days in popular web apps. GOAL: Comprehensive, effective and fast GOAL: It has to be simple to use GOAL: Nice, and user-friendly GUI

Web Security Scanner Web Security Scanner components under the hood: Crawling engine Security testing (attack) engine Reporting engine Brute-force engine All components equally important

Web Security Scanner Crawling GOAL: To crawl and record every single link and form on website Problems: Various technologies used on modern web sites HTML, JavaScript, Flash, AJAX, JSON, etc. etc. - You have to cover ALL of them - If you miss single link/file, you could miss critical security vulnerability How to write something effective, but still nonintrusive

Web Security Scanner Crawling Problems: You don't want to crash http server or cause DoS on it Authentication (Basic, Digest, NTLM, Form, Cookie) Security testing of links and forms (POST, GET, HEAD, PUT) Testing Cookies, link rewrite... Exclusions (sometimes you don't want to scan everything) HTTP/1.0, HTTP/1.1 etc.

Web Security Scanner Testing GOAL: Identify security vulnerabilities in links/forms/scripts previously collected in crawling engine Problems: You have to create test cases for every possible security vulnerability class SQL Injection, XSS, Command Execution, File Disclosure, etc. etc. etc. Over 40 vuln. classes Special modules for Blind SQL Injections and stuff

Web Security Scanner Testing Problems: Hidden resources brute-force (files, dirs, backup) Support for all known security vulnerabilities Various technologies (Apache, IIS, PHP, Java, ASP. Net, ASP, CF, etc.) Various OSes (Linux, Windows, *BSD, Solaris, etc.) You have to create huge database of security checks Most tests based on response analysis and error messages JavaScript emulation engine Flash engine

DEMO

Web Application Static Source Code Security Analysis Scanner

Web App Static Source Code Security Analysis Web Application Static Source Code Security Analysis Scanner (White-Box) Tool to discover security vulnerabilities in web application source code GOAL: To discover all security vulnerabilities present in target web application source code GOAL: Low, very low false positive rate

Web App Static Source Code Security Analysis It has to be effective It has to be simple to use It has to be fast BENCHMARK-LIKE-GOAL: To develop a tool that will discover 0days in popular web apps. If it can't discover really complex vulnerabilities - no use of it. :)

Web App Static Source Code Security Analysis Under the hood: Code analysis engine Data flow analysis engine Tainted input recognition engine Security scanning and validation engine

Web App Static Source Code Security Analysis I had two choices - lexer or parser. I did it with parser Simple - Easier to implement, and less work :)

Web App Static Source Code Security Analysis Problems: I really can't list them all.. :) Various programming languages So we have to cut them down to most popular (market share) ASP.Net, Java, PHP, VB.Net, ASP Various coding practices/styles Third-party frameworks Simple pattern matching for simple vulnerabilities is just not acceptable

Web App Static Source Code Security Analysis - Market Share

Web App Static Source Code Security Analysis How it works in a few short steps... 1. Analyze code files/includes/libraries 2. Discover all custom classes/methods/ functions/entry points 3. Simulate code execution 4. Track and follow user input through code 5. Discover vulnerable functions 6. Decide is it false positive 7. If not, report that stuff. :)

DEMO

Conclusion Don't do it! :) It's never ending game... If you really want to do it right, you have to give up on: Common sense!!! Sleep!!! Time... Results Still waiting... :)