By Skyler Onken.  Who am I?  What is Fuzzing?  Usual Targets  Techniques  Results  Limitations  Why Fuzz?  “Fuzzing the Web”?  Desired Solution.

Slides:



Advertisements
Similar presentations
Detecting Bugs Using Assertions Ben Scribner. Defining the Problem  Bugs exist  Unexpected errors happen Hardware failures Loss of data Data may exist.
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
An Empirical Study of the Reliability in UNIX Utilities Barton Miller Lars Fredriksen Brysn So Presented by Liping Cai.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Pubman and Selenium tests. What is Selenium Selenium is a suite of Web application test automation tools for any browser on any operating system –Firefox,
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
The Intelligent Fuzzing in TTCN-3 Xu Luo, Wu Ji, Liu Chao Software Engineering Institute Beihang University
Biswajit Mazumder Rohit Hooda Arpan Chowdhary.  What is Fuzzing?  Fuzzing techniques  Types of Fuzzing  Fuzzing explained  Case study and changes:
Automating Bespoke Attack Ruei-Jiun Chapter 13. Outline Uses of bespoke automation ◦ Enumerating identifiers ◦ Harvesting data ◦ Web application fuzzing.
Introduction to InfoSec – Recitation 6 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
Fuzzing Dan Fleck CS 469: Security Engineering Sources:
Embedded Network Controller with Web Interface Bradley University Department of Electrical & Computer Engineering By: Ed Siok Advisor: Dr. Malinowski.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Computer Security and Penetration Testing
1 Security and Software Engineering Steven M. Bellovin AT&T Labs – Research
Introduction to eValid Presentation Outline What is eValid? About eValid, Inc. eValid Features System Architecture eValid Functional Design Script Log.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Automated Testing Nathan Weiss April 23, Overview History of Testing Advantages to Automated Testing Types of Automated Testing Automated Testing.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
A Scanner Sparkly Web Application Proxy Editors and Scanners.
MSDN Webcast - SDL Process. Agenda  Fuzzing & The SDL  Integration of fuzzing  Importance of fuzzing Michael Eddington Déjà vu Security
MICHAEL EDDINGTON Advanced Fuzzing with Peach 2.
Introduction to Application Penetration Testing
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
And Mobile Web Browsers
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
Testing Tools. Categories of testing tools Black box testing, or functional testing Testing performed via GUI. The tool helps in emulating end-user actions.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
A Security Review Process for Existing Software Applications
Comparison of Blackbox and Whitebox Fuzzers in Finding Software Bugs
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Development Strategies for Web Applications Jonathan Babbage National Superconducting Cyclotron Laboratory.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
OWASP Top Ten #1 Unvalidated Input. Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How.
Automated Smoke Testing on the JVM with Geb João SILVA (GS-AIS-EB) 1st Forum 29th of September, 2015 e-Business Section AUTOMATED SMOKE.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Testing Techniques Software Testing Module ( ) Dr. Samer Hanna.
Secure Programming 程式安全 The Software Security Problem Defensive Programming Security Features != Secure Features The Quality Fallacy Static Analysis in.
 Data Fuzzing with TTCN-3 Stephan Pietsch, Bogdan Stanca-Kaposta, Dr. Jacob Wieland, Dirk Tepelmann, Ju ̈ rgen Großmann, Martin Schneider TTCN-3 User.
A Tool for Pro-active Defense Against the Buffer Overrun Attack D. Bruschi, E. Rosti, R. Banfi Presented By: Warshavsky Alex.
Fuzzing And Oracles By: Thomas Sidoti. Overview Introduction Motivation Fuzzable Exploits Oracles Implementation Fuzzing Results.
Vulnerability / Cybersecurity Research Discussion Dwayne Melancon, CISA Chief Technology Officer and VP of Research & Development.
By Brandon Barton & Eric Van Horn. What is Backtrack 4? Operating system Collection of many security tools world’s leading penetration testing and information.
Arklio Studija 2007 File: / / Page 1 Automated web application testing using Selenium
Fuzzing Machine By Nikolaj Tolkačiov.
Content Coverity Static Analysis Use cases of Coverity Examples
Module: Software Engineering of Web Applications
Module: Software Engineering of Web Applications
Testing with Selenium IDE
K. K. Mookhey Network Intelligence India Pvt. Ltd.
Understanding SOAP and REST calls The types of web service requests
A Security Review Process for Existing Software Applications
Introduction to Information Security
Software Quality Assurance
Marking Scheme for Semantic-aware Web Application Security
HTML Level II (CyberAdvantage)
Myths About Web Application Security That You Need To Ignore.
WEB API.
Software System Testing
The role of the test organization in a Security Sensitive project
CS5123 Software Validation and Quality Assurance
Engineering Secure Software
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
And Mobile Web Browsers
Presentation transcript:

By Skyler Onken

 Who am I?  What is Fuzzing?  Usual Targets  Techniques  Results  Limitations  Why Fuzz?  “Fuzzing the Web”?  Desired Solution  Solution  Enumeration Engine  Fuzzing Engine  Client  Demo  Remaining Issues  Future Improvements  Q/A

 Skyler Onken  BYU-Idaho Student (CIT)  Contingent Staff w/ LDS Church (QA)  Penetration Tester w/ SecureGossip Initiative  Security BYU-Idaho Linux User Group  Security+, CEH, ECSA 

 OWASP Definition:  “Fuzz testing or Fuzzing is a Black Box software testing technique, which basically consists in finding implementation bugs using malformed/semi-malformed data injection in an automated fashion.”

 Wikipedia  “Fuzz testing or fuzzing is a software testing technique that provides invalid, unexpected, or random data to the inputs of a program. If the program fails (for example, by crashing or failing built-in code assertions), the defects can be noted.”

 Synonyms  Robustness Testing  Syntax Testing  Negative Testing  White-Noise Testing

 File Formats  Network Protocols  Trust Boundary Crossing Software  Desktop Applications  Client Software  Web Applications  Web Services

 Specification-based  Random data  PRNG  Bit flipping

 Crashes  Memory Leaks  Assertion Failures  Buffer (Stack and Heap based) Overflows  Parsing Errors

 Find simple bugs  Black-Box  Strong dependency on seed

 Another point of view of testing  If its automated, why not?  Recent Fuzzing Successses:  Apple Wireless flaw DoS (MOKB )  Month of Browser Bugs: ▪ IE: 25 ▪ Safari: 2 ▪ Firefox: 2 ▪ Opera: 1 ▪ Konquerer: 1

 Enumeration  Massively deep and expansive  Ajax Problem  Most elements can be bound to dynamic action  Results  Detecting errors is difficult beyond checking return code  Possibly use baselines?

 Rune Hammersland pioneered semi-automation  Join together enumeration and fuzzing  The AJAX problem  Frameworks exist, but lack functionality  Peach  Sulley  RFuzz  Some tools exist, but not automated  Spike  WSFuzz  JBroFuzz  Wfuzz

 Easily and Fully Automated  Web Applications and Services  Reproducible Errors  Easy Reporting  “Fire and Forget”  AJAX

Client/Applet Enumeration engine Fuzzer Server

 Detects target type (app, soap, rest)  Will generate variations of enumerated test cases:  Crawljax (applications) ▪ Implements Selenium Web Driver ▪ Programmatically define HTML tags to exercise ▪ var2=normalValue  SoapUI API (services) ▪ Enumerates the WSDL/WADL for operations/resources

Web Application Fuzzer Crawler SOAP Test Cases

 Modular  Enables intelligence  Utilizes RC4  Reproducible  Handles requests and results  Results: != 200  Output to file; Database pending.

Fuzzing Engine Controller Module 3 Module 2 Module 1 Bad Chars Web Server

 Java Applet

 JVM Memory  Seed  Captchas  Automated Analysis

 Smarter Fuzzing  Automated Analysis  REST  Dictionary Support  DB 