Greybox Automatic Exploit Generation for Heap Overflows in Language

Total Page:16

File Type:pdf, Size:1020Kb

Greybox Automatic Exploit Generation for Heap Overflows in Language Greybox Automatic Exploit Generation for Heap Overflows in Language Interpreters Sean Heelan Balliol College University of Oxford A thesis submitted for the degree of Doctor of Philosophy Hilary 2020 Acknowledgements First and foremost, I would like to thank my supervisors, Prof. Tom Melham and Prof. Daniel Kroening, for their invaluable support and assistance during my research. I am grateful for the guidance they provided, but also for the freedom they gave me to pursue my scientific interests. I would like to thank my colleagues in the research group for their insights and discussions over the past few years, especially John Galea, Martin Nyx Brain and Youcheng Sun. I am also thankful to Prof. Kasper Rasmussen, Prof. Cas Cramers and Prof. Alex Rogers who took part in my various internal examinations. I am indebted to Thomas Dullien for hours of discussion on the topic of exploit generation and, equally importantly, for never needing much convincing to go surfing. The papers I have written during my DPhil have benefited from reviews and input from a number of people, both inside and outside of academia. I am eternally grateful to the anonymous reviewers from the USENIX Security, ACM CCS, and IEEE S&P conferences, as well as Dave Aitel, Bas Alberts, Rodrigo Branco, and Mara Tam, for their detailed feedback and assistance in improving my work. On a personal note, I would like to thank my parents, John and Bernadette, for their continued support, without which I wouldn’t have even started a DPhil, let alone finished one. To the good friends I made during my time in Oxford, and in particular Rolf, Emma, Dan, Anna, Sara and Roman, I would like to say thank you for the conversations, dinners, late nights, early mornings, and everything else that made my time here memorable. Finally, I would like to thank the Department of Computer Science in Oxford, as well as Balliol College, for hosting me over the past few years and providing an intellectually stimulating and enjoyable environment. Abstract This dissertation addresses the problem of automatic exploit generation for heap- based buffer overflows in language interpreters. Language interpreters are ubiquitous within modern software, embedded in everything from web browsers, to anti-virus engines, to cloud computing platforms, and, within interpreters, heap-based buffer overflows are a common source of vulnerability. Automatic exploit generation for such vulnerabilities is a largely open problem. In the past decade, greybox methods that combine large scale input generation with feedback from instrumentation have proven themselves to be the most successful approach to detecting many types of software vulnerabilities. Despite this, prior to the start of my research they had not been a significant component of exploit generation systems. Greybox approaches are attractive as they tend to scale far better than whitebox approaches when applied to large software. However, end-to- end exploit generation is too complex and multi-faceted a task to approach with a single greybox solution. During my research I have analysed the exploit generation problem for heap-based overflows in language interpreters in order to break it down into a set of logical sub-problems that can be addressed with separate greybox solutions. In this dissertation I present these sub-problems, greybox algorithms for each, and demonstrate how the solutions for the sub-problems can be combined to generate an exploit. The most significant of the sub-problems that I address is the heap layout problem, for which I provide a detailed analysis, two different greybox solutions, and methods for integrating solutions to this problem into both manual and automatic exploit generation. The presented algorithms form the first approach to automatic exploit generation for heap overflows in interpreters. They also provide the first approach to exploit generation in any class of program that integrates a solution for automatic heap layout manipulation. At the core of the approach is a novel method for discovering exploit primitives—inputs to the target program that result in a sensitive operation, such as a function call or a memory write, using attacker-injected data. To produce an exploit primitive from a heap overflow vulnerability, one has to discover a target data structure to corrupt, ensure an instance of that data structure is adjacent to the source of the overflow on the heap, and ensure that the post-overflow corrupted data is used in a manner desired by the attacker. I present solutions to address these three tasks in an automatic, greybox, and modular manner. Contents List of Abbreviations xi 1 Introduction 1 1.1 Motivation . .1 1.2 Problem Definition . .4 1.3 Contributions . .5 2 Background 7 2.1 General Background Material . .7 2.1.1 Exploitation of Heap-based Overflows . .7 2.1.2 Symbolic Execution and Language Interpreters . 12 2.1.3 Greybox Program Analysis . 15 2.2 Literature Review . 16 2.2.1 AEG for Stack-Based Overflows . 17 2.2.2 AEG for Heap-based Overflows . 17 2.2.3 Assisting Exploit Development and Payload Generation . 18 2.2.4 Data-Only Attacks . 18 2.2.5 Theory of Exploitation . 19 2.2.6 Manual Exploit Development . 19 3 A Greybox Approach to the Heap Layout Problem 21 3.1 Introduction . 21 3.1.1 An Example . 22 3.2 Heap Allocator Mechanisms . 25 3.2.1 Relevant Allocator Policies and Mechanisms . 26 3.2.2 Allocators . 30 3.3 The Heap Layout Manipulation Problem in Deterministic Settings . 31 3.3.1 Problem Restrictions for a Deterministic Setting . 32 3.3.2 Heap Layout Manipulation Primitives . 33 3.3.3 Challenges . 37 3.4 Automatic Heap Layout Manipulation . 39 3.4.1 SIEVE: An Evaluation Framework for HLM Algorithms . 40 vii viii Contents 3.4.2 SHRIKE: A HLM System for PHP . 42 3.5 Experiments and Evaluation . 48 3.5.1 Synthetic Benchmarks . 49 3.5.2 PHP-Based Benchmarks . 53 3.5.3 Generating a Control-Flow Hijacking Exploit for PHP . 54 3.5.4 Research Questions . 55 3.5.5 Generalisability . 56 3.5.6 Threats to Validity . 57 4 A Genetic Algorithm for the Heap Layout Problem 59 4.1 Introduction . 59 4.2 Genetic Algorithm . 60 4.2.1 Target-Agnostic Operation . 62 4.2.2 Individual Representation . 63 4.2.3 Population Initialisation . 66 4.2.4 Genetic Operators . 66 4.2.5 Evaluation and Fitness . 67 4.2.6 Selection . 69 4.2.7 Implementation . 70 4.3 Experiments . 70 4.3.1 Research Questions . 70 4.4 Analysis and Discussion . 71 4.4.1 The Success Rate of EvoHeap on Synthetic Benchmarks . 71 4.4.2 The Success Rate of EvoHeap on PHP Benchmarks . 74 4.4.3 The Speed of EvoHeap on Synthetic Benchmarks . 74 4.4.4 The Speed of EvoHeap on PHP Benchmarks . 76 4.4.5 Answers to Research Questions . 77 5 A Greybox Approach to Automatic Exploit Generation 79 5.1 Introduction . 79 5.1.1 Model, Assumptions and Practical Applicability . 81 5.2 System Overview and Motivating Example . 82 5.3 Primitive Discovery . 86 5.3.1 Vulnerability Importing . 87 5.3.2 Test Preprocessing . 87 5.3.3 New Input Generation . 88 5.3.4 Heap Layout Exploration . 89 5.3.5 Primitive Categorisation and Dynamically Discovering I/O Relationships . 91 5.4 Exploit Generation . 93 Contents ix 5.4.1 Primitive Transformers . 93 5.5 Solving the Heap Layout Problem . 97 5.5.1 Automatic Injection of SHRIKE Directives . 98 5.6 Exploit Generation Walk-through . 99 5.7 Evaluation . 106 5.7.1 Implementation . 106 5.7.2 Exploitation . 107 5.8 Assisted Exploit Generation . 111 5.9 Generalisability and Threats to Validity . 114 6 Conclusion 115 6.1 Future Work . 116 6.1.1 Greybox AEG . 116 6.1.2 Heap Layout Manipulation . 118 6.1.3 General AEG . 119 Appendices References 127 x List of Abbreviations AEG ...... Automatic Exploit Generation CFI ...... Control-Flow Integrity GA ....... Genetic Algorithm HLP ...... Heap Layout Problem HLM ...... Heap Layout Manipulation KLoC ..... Kilo-Lines of Code LoC ...... Lines of Code OOB ...... Out Of Bounds ROP ...... Return-Oriented Programming xi xii Failure is central to engineering. Every single calcu- lation that an engineer makes is a failure calculation. Successful engineering is all about understanding how things break or fail. — Henry Petroski 1 Introduction 1.1 Motivation The phrase “Software is Eating the World” refers to the phenomenon by which many of the most successful companies across diverse industries are now essentially software companies [1]. Whether in entertainment, finance, retail, marketing, communications, or a host of other areas, software provides the core value of a significant number of the world’s companies. And, while software eats the world, bugs and vulnerabilities are eating software. There is by now a long list of famous software bugs that have caused death, destruction, disruption and massive financial loss. To point out just a few incidents: 1. June 3rd 1985, a software flaw causes a Therac-25 radiation therapy machine to deliver a massive dose of radiation to a patient, severely injuring them. The same flaw would later cause the deaths of three other patients, and injure others [2]. 2. February 5th 1991, an arithmetic error causes an American Patriot Missile battery to fail to track and destroy an incoming missile, resulting in the deaths of 28 American soldiers [3, 4] 3. June 4th 1994, the first Ariane 5 rocket explodes shortly after launch due to an error in its representation of floating point numbers [5]. 4. August 14th 2003, a race condition causes an error monitoring system to malfunction, eventually resulting in a power blackout to 55 million people across the American Northeast [6].
Recommended publications
  • Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts
    Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts Lorenz Breidenbach, Cornell Tech, IC3, ETH Zurich; Philip Daian, Cornell Tech, IC3; Florian Tramer, Stanford; Ari Juels, Cornell Tech, IC3, Jacobs Institute https://www.usenix.org/conference/usenixsecurity18/presentation/breindenbach This paper is included in the Proceedings of the 27th USENIX Security Symposium. August 15–17, 2018 • Baltimore, MD, USA 978-1-939133-04-5 Open access to the Proceedings of the 27th USENIX Security Symposium is sponsored by USENIX. Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts∗ Lorenz Breidenbach Philip Daian Florian Tramer` Ari Juels [email protected] [email protected] [email protected] [email protected] Cornell Tech, IC3,† Cornell Tech, IC3† Stanford Cornell Tech, IC3,† ETH Zurich¨ Jacobs Institute Abstract ble security problem. Vulnerability reward programs— bug bounties Bug bounties are a popular tool to help prevent soft- a.k.a. —have become instrumental in orga- ware exploits. Yet, they lack rigorous principles for set- nizations’ security assurance strategies. These programs ting bounty amounts and require high payments to attract offer rewards as incentives for hackers to disclose soft- economically rational hackers. Rather than claim boun- ware bugs. Unfortunately, hackers often prefer to exploit ties for serious bugs, hackers often sell or exploit them. critical vulnerabilities or sell them in gray markets. We present the Hydra Framework, the first general, The chief reason for this choice is that the bugs eli- principled approach to modeling and administering bug gible for large bounties are generally weaponizable vul- bounties that incentivize bug disclosure.
    [Show full text]
  • Exploring Coordinated Disclosure SHEDDING LIGHT on PERCEPTIONS and EXPERIENCES in HOW SOFTWARE VULNERABILITIES ARE REPORTED
    Exploring Coordinated Disclosure SHEDDING LIGHT ON PERCEPTIONS AND EXPERIENCES IN HOW SOFTWARE VULNERABILITIES ARE REPORTED COMMISSIONED BY SEPTEMBER 2019 ©COPYRIGHT 2019 451 RESEARCH. ALL RIGHTS RESERVED. About this paper A Black & White paper is a study based on primary research survey data that assesses the market dynamics of a key enterprise technology segment through the lens of the “on the ground” experience and opinions of real practitioners — what they are doing, and why they are doing it. ABOUT THE AUTHOR DAN KENNEDY RESEARCH DIRECTOR, VOICE OF THE ENTERPRISE: INFORMATION SECURITY Daniel Kennedy is the Research Director for Information Security for 451 Research’s Voice of the Enterprise (VoTE) quantitative research product, where he is responsible for managing all phases of the research process. He is an experienced information security professional who has written for both Forbes online and Ziff Davis, has provided commentary to numerous news outlets including The New York Times and The Wall Street Journal, and his personal blog Praetorian Prefect was recognized as one of the top five technical blogs in information security by the RSA 2010 Conference. COMMISSIONED BY VERACODE 2 Table of Contents Executive Summary 4 Key Findings 4 Methodology 5 Brief History of Vulnerability Disclosure 5 Today’s Perceptions of Disclosure 8 Figure 1: Vulnerability disclosure preferences � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 8 Vulnerability Disclosure as a Public Good 8 Solicited Versus Unsolicited Testing 9 Disclosure
    [Show full text]
  • Penetration Testing of Web Applications in a Bug Bounty Program
    Penetration Testing of Web Applications in a Bug Bounty Program Pascal Schulz Faculty of Health, Science and Technology Computer Science 15hp Leonardo Martucci Donald F. Ross 140604 Penetration Testing of Web Applications in a Bug Bounty Program PASCAL SCHULZ Department of Mathematics and Computer Science Abstract Web applications provide the basis for the use of the "World-Wide-Web", as people know it nowadays. These software solutions are programmed by a numerous amount of devel- opers all over the world. For all this software, it is not possible to guarantee a 100 percent security. Therefore, it is desirable that every application should be evaluated using penetra- tion tests. A new form of security testing platforms is provided by bug bounty programs, which encourage the community to help searching for security breaches. This work intro- duces the currently leading portal for bug bounties, called Bugcrowd Inc. In addition, web applications, which were part of the program, were tested in order to evaluate their security level. A comparison is made with statistics provided by leading penetration testing compa- nies, showing the average web application security level. The submission process, to send information about vulnerabilities, has been evaluated. The average time it takes, to receive an answer regarding a submission has been reviewed. In the end, the findings are retested, to evaluate, if the bug bounty program is a useful opportunity to increase security and if website operators take submissions serious by patching the software flaws. Keywords: Penetration Testing, Bug-Bounty Program, Web Application Analysis. iii This thesis is submitted in partial fulfillment of the requirements for the Bachelor’s degree in Computer Science.
    [Show full text]
  • Byos Bug Bounty Program: Las Vegas 2019
    Byos Bug Bounty Program: Las Vegas 2019 White Paper Document version: 1.0 August 21st, 2019 Byos Bug Bounty Program - Las Vegas 2019 White Paper - © 2019 Mkit North America Inc. All rights reserved - ​byos.io Page 1 of 14 1.0 - Introduction 3 2.0 - Findings 5 2.1 - Critical Vulnerabilities 5 2.1.1 - Timing ARP Spoof attack 5 2.2 - High Vulnerabilities 6 2.2.1 - SQL Injection 6 2.2.2 - Authentication bypass (JWT) 7 2.2.3 - Authentication Bypass (Remember Me) 8 2.3 - Medium Vulnerabilities 9 2.3.1 - Persistent XSS 9 2.4 - Low Vulnerabilities 10 2.4.1 - Unicode in SSID 10 2.4.2 - CSRF 11 2.4.3 - Outdated libraries 12 3.0 - Conclusion 12 4.0 - Footnotes 14 Byos Bug Bounty Program - Las Vegas 2019 White Paper - © 2019 Mkit North America Inc. All rights reserved - ​byos.io Page 2 of 14 1.0 - Introduction 1.1 - Summary Over the course of 3 days, more than 20 security researchers from North America, South America, and Europe participated in our company’s first bug bounty event. The event was by invitation only. 1.2 - Objective The overall objective of the bug bounty program is to validate the security claims of the Byos Portable Secure Gateway and to discover any existing vulnerabilities in the product and its features. Additional benefits include: ● Practising the company’s internal vulnerability handling process ● Increasing our security team’s awareness of how attackers approach the security mechanisms of the product ● Learning and validating security development best practices by having active feedback from researchers ● Gathering external expert opinions on the product’s feature-set, benefits and use-cases 1.3 - Time and Location The Bug Bounty took place during August 8-9-10, 2019, in Las Vegas, NV (USA).
    [Show full text]
  • Software Bug Bounties and Legal Risks to Security Researchers Robin Hamper
    Software bug bounties and legal risks to security researchers Robin Hamper (Student #: 3191917) A thesis in fulfilment of the requirements for the degree of Masters of Law by Research Page 2 of 178 Rob Hamper. Faculty of Law. Masters by Research Thesis. COPYRIGHT STATEMENT ‘I hereby grant the University of New South Wales or its agents a non-exclusive licence to archive and to make available (including to members of the public) my thesis or dissertation in whole or part in the University libraries in all forms of media, now or here after known. I acknowledge that I retain all intellectual property rights which subsist in my thesis or dissertation, such as copyright and patent rights, subject to applicable law. I also retain the right to use all or part of my thesis or dissertation in future works (such as articles or books).’ ‘For any substantial portions of copyright material used in this thesis, written permission for use has been obtained, or the copyright material is removed from the final public version of the thesis.’ Signed ……………………………………………........................... Date …………………………………………….............................. AUTHENTICITY STATEMENT ‘I certify that the Library deposit digital copy is a direct equivalent of the final officially approved version of my thesis.’ Signed ……………………………………………........................... Date …………………………………………….............................. Thesis/Dissertation Sheet Surname/Family Name : Hamper Given Name/s : Robin Abbreviation for degree as give in the University calendar : Masters of Laws by Research Faculty : Law School : Thesis Title : Software bug bounties and the legal risks to security researchers Abstract 350 words maximum: (PLEASE TYPE) This thesis examines some of the contractual legal risks to which security researchers are exposed in disclosing software vulnerabilities, under coordinated disclosure programs (“bug bounty programs”), to vendors and other bug bounty program operators.
    [Show full text]
  • Web Cache Entanglement: Novel Pathways to Poisoning
    Web Cache Entanglement: Novel Pathways to Poisoning James Kettle - [email protected] - @albinowax Caches are woven into websites throughout the net, discreetly juggling data between users, and yet they are rarely scrutinized in any depth. In this paper, I'll show you how to remotely probe through the inner workings of caches to find subtle inconsistencies, and combine these with gadgets to build majestic exploit chains. These flaws pervade all layers of caching - from sprawling CDNs, through caching web servers and frameworks, all the way down to fragment-level internal template caches. Building on my prior cache poisoning research, I'll demonstrate how misguided transformations, naive normalization, and optimistic assumptions let me perform numerous attacks, including persistently poisoning every page on an online newspaper, compromising the administration interface on an internal DoD intelligence website, and disabling Firefox updates globally. Outline Introduction Methodology Unkeyed Query Detection Exploitation - XSS Exploitation - Redirect Cache Parameter Cloaking Akamai Ruby on Rails Unkeyed Method Fat GET Gadgets Key Normalization Key Magic Tricks Encoded XSS Cache Key Injection Relative Path Overwrite Internal Cache Poisoning Tooling Defence Conclusion Introduction Caches save copies of responses to reduce load on the backend system. When a cache receives a HTTP request, it calculates the request's cache key and uses that to identify whether it has the appropriate response already saved, or whether it needs to forward the request on to the back-end. A cache key typically consists of the request method, path, query string, and Host header, plus maybe one or two other headers. In the following request, the values not included in the cache key have been coloured orange.
    [Show full text]
  • Bug Bounty Hunting Essentials
    Bug Bounty Hunting Essentials Quick-paced guide to help white-hat hackers get through bug bounty programs Carlos A. Lozano Shahmeer Amir BIRMINGHAM - MUMBAI Bug Bounty Hunting Essentials Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Gebin George Acquisition Editor: Shrilekha Inani Content Development Editor: Abhishek Jadhav Technical Editor: Mohd Riyan Khan Copy Editor: Safis Editing Project Coordinator: Jagdish Prabhu Proofreader: Safis Editing Indexer: Tejal Daruwale Soni Graphics: Tom Scaria Production Coordinator: Shantanu Zagade First published: November 2018 Production reference: 1301118 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78862-689-7 www.packtpub.com mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career.
    [Show full text]
  • Om D-Uppsatser Layout
    Don’t let my Heart bleed! An event study methodology in Heartbleed vulnerability case. Ioannis Lioupras Eleni Manthou External supervisor: Ross Tsagalidis, Swedish Armed Forces Department of informatics IT Managment Master thesis 1-year level, 15 credits SPM 2014.16 Don’t let my Heart bleed! -An event study methodology in Heartbleed vulnerability case. Abstract Due to the rapid evolution of technology, IT software has become incredibly complex. However the human factor still has a very important role on the application of it, since people are responsible to create software. Consequently, software vulnerabilities represent inevitable drawbacks, found to cost extremely large amounts of money to the companies. “Heartbleed” is a recently discovered vulnerability with no prior investigation that answers questions about the impact it has to the companies affected. This paper focuses on the impact of it on the market value of the companies who participated in the vulnerability disclosure process with the help of an event study methodology. Furthermore our analysis investigates if there is a different affection to the value of the company based on the roles those companies had in the process. Our results suggest that the market did not punish the companies about the existence of vulnerability. However the general negative reaction of the market to the incident reflects the importance of a strategic vulnerability disclosure plan for such cases. Keywords: software vulnerability, IT risk management, disclosure policies, event study methodology 1. Introduction Vulnerabilities nowadays are a widely existing and challenging topic. The number of vulnerability disclosure incidents rising continuously the last years. Only in 2013, 6.787 1 vulnerabilities were disclosed which is the highest number of all the previous years according to Internet security threat report (2014).
    [Show full text]
  • Productivity and Patterns of Activity in Bug Bounty Programs: Analysis of Hackerone and Google Vulnerability Research
    See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/335092518 Productivity and Patterns of Activity in Bug Bounty Programs: Analysis of HackerOne and Google Vulnerability Research Conference Paper · August 2019 DOI: 10.1145/3339252.3341495 CITATIONS READS 3 966 3 authors, including: Luca Allodi Marco Cremonini Università degli Studi di Trento University of Milan 42 PUBLICATIONS 439 CITATIONS 88 PUBLICATIONS 1,563 CITATIONS SEE PROFILE SEE PROFILE Some of the authors of this publication are also working on these related projects: Simulating and analysis of the spreading dynamic of COVID19 View project Epidemic spreading View project All content following this page was uploaded by Marco Cremonini on 05 March 2020. The user has requested enhancement of the downloaded file. Productivity and Patterns of Activity in Bug Bounty Programs: Analysis of HackerOne and Google Vulnerability Research Donatello Luna Luca Allodi Marco Cremonini Tribunale di Busto Arsizio Eindhoven University of Technology University of Milan Busto Arsizio, Varese, Italy Eindhoven, Netherlands Milan, Italy donatello@luna:it l:allodi@tue:nl marco:cremonini@unimi:it ABSTRACT August 26–29, 2019, Canterbury, United Kingdom. ACM, New York, NY, USA, In this work, we considered two well-known bug bounty programs 10 pages. https://doi:org/10:1145/3339252:3341495 - HackerOne and Google Vulnerability Research - with the goal of investigating patterns of activity and comparing productivity of 1 INTRODUCTION security researchers. HackerOne and Google’s programs differ in Bug bounty programs have become a popular initiative in cyber- many ways. HackerOne is one of the largest and most successful security, not just limited to tech companies willing to have a con- bug bounty programs, with heterogeneous membership of security trolled vulnerability discovery program for their software prod- researchers and software producers.
    [Show full text]
  • How to Get Started Into Bug Bounty Complete Beginner Guide ( Part 1 Web Pentesting )
    How to Get Started into Bug Bounty Complete Beginner Guide ( Part 1 Web Pentesting ) Hello guys, after a lot of requests and questions on topics related to Bug Bounty like how to start. I researched a lot for collecting best resources for you Bug bounty. I am starting from basic as prerequisites to tips and labs along with report writing skills. I have also included some of my personally recommend tips. Let’s get started Linkedin ID – Sandeep Kumar www.hackittech.com Hacking is now an accepted profession in which He/She can earn an honest and decent living. Not only are there many pen testing jobs within organizations, providing these “startup” hackers with a place to legitimately fine-tune those skills and abilities , but we also have a new breed of testing –Bug Bounties. 1) What is Bug Bounty ? Let me explain you in a very simple way .. A reward or money offred to a person who finds the bugs (error) or vulnerability in a website or computer program and report it to the company in a responsible way. 2) What you need to know before starting a bug bounty program Scope - *.example.com Focus - payment processing Exclusions - 3rd party sites Organization-wide awareness Environment - prod vs staging Access - shared credentials or self-signup Decide - Private or Public? Learn - Internet, HTTP, TCP/IP , Networking ,Command-line, Linkedin ID – Sandeep Kumar www.hackittech.com Linux , Web technologies, java-script, PHP, java , At least 1 programming language 3) Skills required to be a bug bounty hunter Some of the key areas to focus that are part of OWASP Top 10 which are: o Information gathering o SQL Injection o Cross-Site Scripting (XSS) o Server Side Request Forgery (SSRF) o Local & Remote file inclusion o Information Disclosure o Remote Code execution (RCE) After understanding these vulnerabilities you can begin reading others reports ,POCs on the bug bounty platforms like Hackerone to figure out the common testing techniques.
    [Show full text]
  • An Empirical Study of Vulnerability Rewards Programs Matthew Finifter, Devdatta Akhawe, and David Wagner, University of California, Berkeley
    An Empirical Study of Vulnerability Rewards Programs Matthew Finifter, Devdatta Akhawe, and David Wagner, University of California, Berkeley This paper is included in the Proceedings of the 22nd USENIX Security Symposium. August 14–16, 2013 • Washington, D.C., USA ISBN 978-1-931971-03-4 Open access to the Proceedings of the 22nd USENIX Security Symposium is sponsored by USENIX An Empirical Study of Vulnerability Rewards Programs Matthew Finifter, Devdatta Akhawe, and David Wagner University of California, Berkeley finifter, devdatta, daw @cs.berkeley.edu \{ \} Abstract costly zero-day disclosures. Monetary rewards provide an We perform an empirical study to better understand two incentive for security researchers not to sell their research well-known vulnerability rewards programs, or VRPs, results to malicious actors in the underground economy which software vendors use to encourage community or the gray world of vulnerability markets. Third, VRPs participation in finding and responsibly disclosing soft- may make it more difficult for black hats to find vulnera- ware vulnerabilities. The Chrome VRP has cost approx- bilities to exploit. Patching vulnerabilities found through imately $580,000 over 3 years and has resulted in 501 a VRP increases the difficulty and therefore cost for mali- bounties paid for the identification of security vulnerabili- cious actors to find zero-days because the pool of latent ties. The Firefox VRP has cost approximately $570,000 vulnerabilities has been diminished. Additionally, expe- over the last 3 years and has yielded 190 bounties. 28% rience gained from VRPs (and exploit bounties [23,28]) of Chrome’s patched vulnerabilities appearing in secu- can yield improvements to mitigation techniques and help rity advisories over this period, and 24% of Firefox’s, identify other related vulnerabilities and sources of bugs.
    [Show full text]
  • Scaling a Bug Bounty Program
    SCALING A BUG BOUNTY PROGRAM Catalin Curelaru Who am I? var p = new Person(); p.Name = "Catalin Curelaru"; p.Developer = false; // sys eng & networking background p.Tasks = new List<String>() { "Product Security Operations Stuff @ Visma", "CTI, Bug Bounty, DAST, IM/IR", @CatalinCurelaru "340+ Dev teams", "4900+ Devs, 37 Countries", "20-30 Acquisitions/year", "Chapter Leader @ OWASP Timisoara" }; p.Passions = new List<String>() { "cycling", “reading”, “breaking stuff on BB” }; Once upon a time... In a galaxy far far away.. Just kidding! Bug Bounty, what is it? & Bug Bounty - What? ␥ Hackers from around the world ␥ Hackers with specialized skills (Eg. Expert Java hacker) ␥ Continuous Testing the security of the applications for $$$ ␥ Legal Permission to hack ○ (respect policies, rules and do not do harm) ␥ Pay only for vulnerabilities found ○ depending on criticality ␥ Public AND/OR Private Programs ␥ Managed OR NOT Why? ␥ Great and proven way of battle testing security ␥ The strength lies within the number of eyes and expertise ␥ More researchers = More findings = Better security Keep calm and expect us ␥ Tests performed continuously, not only once a year We live in a crowdsourced security era #changehappens The world is changing.. Private vs Public BB Private Public ❖ Invite-only program; ❖ Hundreds of thousands of ❖ A pool of hackers invited hackers ❖ Very good quality of the ❖ Receive submissions from the entire community reports ❖ Self sign in ❖ Disclosure visible only for the invited hackers ❖ Disclosure publicly available ➔ Average
    [Show full text]