SlideShare uma empresa Scribd logo
1 de 47
Fuzzing
Brute ForceVulnerability
Discovery
Khalegh Salehi
salehi@sorenasecurity.com
SSP, Sorena Secure Processing
A brief introduction on
About me
• Khalegh Salehi
• Software Security & Vulnerability Assessment
• http://khalegh.net
• FoxFuzzing Project
– All-In-One Full Network Protocols & File Format Fuzzing.
SSP, Sorena Secure Processing
Software Security Analyzing
• Static analysis:
– Approach for verifying software (including finding defects) without
executing software
• Source code vulnerability scanning tools, code inspections, etc.
• Dynamic analysis:
– Approach for verifying software (including finding defects) by
executing software on specific inputs & checking results (“oracle”)
• Functional testing, fuzz testing, etc.
• Hybrid analysis:
– Combine above approaches
• Operational:
– Tools in operational setting
• Minimize risks, report information back, etc.
• Themselves may be static, dynamic, hybrid; often dynamic
SSP, Sorena Secure Processing
Software Security Analyzing
• Static analysis:
– Approach for verifying software (including finding defects) without executing software
• Source code vulnerability scanning tools, code inspections, etc.
• Dynamic analysis:
– Approach for verifying software (including finding defects) by executing software on
specific inputs & checking results (“oracle”)
• Functional testing, fuzz testing, etc.
• Hybrid analysis:
– Combine above approaches
• Operational:
– Tools in operational setting
• Minimize risks, report information back, etc.
• Themselves may be static, dynamic, hybrid; often dynamic
SSP, Sorena Secure Processing
Why ?
SSP, Sorena Secure Processing
SSP, Sorena Secure Processing
I see. Let's talk on business...
Software Security Analyzing
• Static analysis:
– Approach for verifying software (including finding defects) without
executing software
• Source code vulnerability scanning tools, code inspections, etc.
• Dynamic analysis:
– Approach for verifying software (including finding defects) by
executing software on specific inputs & checking results (“oracle”)
• Functional testing, fuzz testing, etc.
• Hybrid analysis:
– Combine above approaches
• Operational:
– Tools in operational setting
• Minimize risks, report information back, etc.
• Themselves may be static, dynamic, hybrid; often dynamic
SSP, Sorena Secure Processing
Fuzzing in Wikipedia
“Fuzz testing or fuzzing is a software testing
technique, often automated or semi-automated,
that involves providing invalid, unexpected, or
random data to the inputs of computer program. The program is
then monitored for exceptions such as crashes, or failing built-in
code assertions or for finding potential memory leaks. Fuzzing is
commonly used to test for security problems in software or
computer systems. It is a form of random testing which has been
used for testing hardware or software”
SSP, Sorena Secure Processing
Fuzz testing history
• Fuzz testing concept from Barton Miller’s 1988
class project University of Wisconsin
– Project created “fuzzer” to test reliability of
command-line Unix programs
– Repeatedly generated random data for them until
crash/hang
– Later expanded for GUIs, network protocols, etc.
• Approach quickly found a number of defects
• Many tools & approach variations created since
SSP, Sorena Secure Processing
Fuzzing in brief
• A form of vulnerability analysis and testing
• Many slightly anomalous test cases are input
into the target application
• Application is monitored for any sign of error
SSP, Sorena Secure Processing
Fuzz testing process
SSP, Sorena Secure Processing
©softScheck
Fuzzing Phase
SSP, Sorena Secure Processing
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
Case Study
14
FileFuzz
• Application vs. file type
– One file type  multiple targets
• Vendor history
– Past vulnerabilities
• High risk targets
– Default file handlers
• Windows Explorer
• Windows Registry
– Commonly traded file types
• Media files
• Office documents
• Configuration files
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
15
• Proprietary vs. open formats
– Vendor documents
– Wotsit.org
– Google
• Binary files
– e.g. images, video, audio, office
documents, etc.
– Headers vs. data
• Text files
– e.g. *.ini, *.inf, *.xml
– Name/value pairs
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
FileFuzz
16
• Binary files
– Breadth (All or Range)
• Identify potential weaknesses
FF FF FF FF 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ÿÿÿÿ..Ûþ..Å...è.
D7 FF FF FF FF 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×ÿÿÿÿ.Ûþ..Å...è.
D7 CD FF FF FF FF DB FE 0B 00 C5 00 00 01 E8 03 ; ×ÍÿÿÿÿÛþ..Å...è.
– Depth
• Determine level of
control/influence
D7 CD FD 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íýš..Ûþ..Å...è.
D7 CD FE 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íþš..Ûþ..Å...è.
D7 CD FF 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íÿš..Ûþ..Å...è.
• Text Files
– name = value
file_size = 10
file_size = AAAAA
file_size = AAAAAAAAAA
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
FileFuzz
17
• Command line arguments
– Windows explorer
• Tools…Folder Options…File
Types
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
FileFuzz
18
• Visual
– Error messages
– Blue screen
• Event logs
– System logs
– Application logs
• Debuggers
• Return codes
• Debugging API
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
FileFuzz
19
• Execute
– Automated and repeated
• Monitor
– Library - libdasm
– Capture
• Memory location
• Registry values
• Exception type
• Kill
– Set timeout
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
[*] "crash.exe" "C:Program FilesWordPerfect Office
12ProgramsUA120.exe" 2000 /qt c:fuzzast8.ast
[*] Access Violation
[*] Exception caught at 00403f06 mov eax,[eax+edi*4]
[*] EAX:0014b1b8 EBX:00000005 ECX:00435c00 EDX:0012fbac
[*] ESI:00435c00 EDI:cccccccc ESP:0012fab8 EBP:0012fae8
SSP, Sorena Secure Processing
FileFuzz
20
• Skills
– Disassembly ,Debugging
• Vulnerability types
– Stack, Heap overflow, Integer handling,
etc.
• Overflows
• Signedness
– DoS
• Out of bounds reads
• Infinite loops
• NULL pointer dereferences
– Logic errors
• Windows WMF vulnerability (MS06-001)
– Format strings, Race conditions
Identify target
Identify inputs
Generate fuzzed data
Execute fuzzed data
Monitor for exceptions
Determine exploitability
SSP, Sorena Secure Processing
FileFuzz
21 SSP, Sorena Secure Processing
FileFuzz
FileFuzz is a graphical, Windows based file
format fuzzing tool. FileFuzz was designed to
automate the creation of abnormal file
formats and the execution of applications
handling these files. FileFuzz also has built in
debugging capabilities to detect exceptions
resulting from the fuzzed file formats.
SSP, Sorena Secure Processing
call your guys…
Type of Fuzzers
• File Fuzzers As the name implies, fuzzers that target file formats only. They
do not have the ability to speak any network protocol.
• Network Fuzzers And these are fuzzers that target only network protocols.
There are allot of these as the discovery of network based vulnerabilities
has always attracted allot of attention.
• General Fuzzers Following with our captain obvious theme, these fuzzers
that can target a wide variety of targets, typically both file and network,
and also others via custom I/O interfaces. For example: COM, shared
libraries, RPC, etc.
• Custom or One-off Fuzzers These are custom written fuzzers that target a
specific format or network protocol. Typically these hand written, many
times by testers. Custom fuzzers vary widely on how good their data
mutation/generation is. For the purposes of this document we will not
examine any custom or one-off fuzzers.
• API Fuzzers, Hardware Fuzzers and dozens of Fuzzers, There is not
limitations for subject… (Chapter 5, Page 161-166)
SSP, Sorena Secure Processing
Type of Fuzzers…
There is no limitation of, Intuitively I have to
say…
Where there is a Input, There’s Fuzz…
There is an undeniable fact,
Before start your cool fuzzing, please
formally let me know about your target.
SSP, Sorena Secure Processing
Example
• Standard HTTP GET request
– GET /index.html HTTP/1.1
• Anomalous requests
– AAAAAA...AAAA /index.html HTTP/1.1
– GET ///////index.html HTTP/1.1
– GET %n%n%n%n%n%n.html HTTP/1.1
– GET /AAAAAAAAAAAAA.html HTTP/1.1
– GET /index.html HTTTTTTTTTTTTTP/1.1
– GET /index.html HTTP/1.1.1.1.1.1.1.1
– etc...
SSP, Sorena Secure Processing
Example of
Vulnerable Source Code
#include <stdio.h>
int main( int argc, char *argv[] )
{
char buffer[1024];
strcpy(buffer,argv[1]);
printf("The string is a %s nn",buffer);
return 0;
}
SSP, Sorena Secure Processing
Example of
Simple Fuzzing scheme
import subprocess,time;
for i in range(1,10000):
print i;
subprocess.call(["./ example ","A"*i]);
time.sleep(1); # figure out debugger, crash log, etc.
Go head and run the application via uninvited
arguments such as and not limited to,
./example `python -c “print ‘A’*10000”`
SSP, Sorena Secure Processing
SSP, Sorena Secure Processing
The situation under controls...
Definition of fuzzing
“Fuzzing is a technique for intelligently and
automatically generating and passing into a
target system valid and invalid message
sequences to see if the system breaks, and
if it does, what it is that makes it break”
CODENOMICON
SSP, Sorena Secure Processing
The Solution That Found Heartbleed
 fuzzing(Defensics) was the primary
solution being used when the
Heartbleed flaw was identified.
A security research was running
a routine test of the Fuzzing
(Defensics) feature, SafeGuard, identifying the flaw
that had gone unidentified for over two years and
impacted over 500,000 websites.
SSP, Sorena Secure Processing
CODENOMICON
Fuzzing Approach
Mutation Based - “Dumb Fuzzing”
 Generation Based - “Smart Fuzzing”
 Evolutionary
SSP, Sorena Secure Processing
Mutation Based - “Dumb Fuzzing”
SSP, Sorena Secure Processing
Mutation Based - “Dumb Fuzzing”
• Little or no knowledge of the structure of the inputs is
assumed
• Anomalies are added to existing valid inputs
• Anomalies may be completely random or follow some
heuristics
• Requires little to no set up time
• Dependent on the inputs being modified
• May fail for protocols with checksums, those which depend
on challenge response, etc.
Examples:
• Taof, GPF, ProxyFuzz, etc.
SSP, Sorena Secure Processing
SSP, Sorena Secure Processing
Generation Based - “Smart Fuzzing”
Generation Based - “Smart Fuzzing”
• Test cases are generated from some description
of the format: RFC, documentation, etc.
• Anomalies are added to each possible spot in
the inputs
• Knowledge of protocol should give better results
than random fuzzing
• Can take significant time to set up
• Examples
– SPIKE, Sulley, Mu-4000, Codenomicon, Bestorm
SSP, Sorena Secure Processing
Evolutionary
SSP, Sorena Secure Processing
Evolutionary
• Attempts to generate inputs based on the
response of the program
• Autodafe
– Prioritizes test cases based on which inputs have
reached dangerous API functions
• EFS
– Generates test cases based on code coverage
metrics (more later)
• This technique is still in the alpha stage
SSP, Sorena Secure Processing
Issues & Problems
Mutation based fuzzers can generate an infinite
number of test cases... When has the fuzzer run long
enough?
Generation based fuzzers generate a finite number of
test cases. What happens when they’re all run and
no bugs are found?
How do you monitor the target application such that
you know when something “bad” has happened?
SSP, Sorena Secure Processing
Issues with Fuzzing
What happens when you find too many bugs? Or
every anomalous test case triggers the same (boring)
bug?
How do you figure out which test case caused the
fault?
Given a crash, how do you find the actual
vulnerability
After fuzzing, how do you know what changes to
make to improve your fuzzer?
When do you give up on fuzzing an application?
SSP, Sorena Secure Processing
Products & Frameworks
SSP, Sorena Secure Processing
Products & Frameworks
SSP, Sorena Secure Processing
Dozens of Open-Source Fuzzing Tools & Frameworks
has been collected in FoxFuzzing, there is list of
products with bit information of, are available by
https://github.com/khaleghsalehi/FoxFuzzing/list.pdf
Not(A2
?
SSP, Sorena Secure Processing
Thank you &
References
1. SWE 681 / ISA 681,Secure Software Design & Programming, Lecture 9, Analysis
Approaches & Tools, Dr. David A. Wheeler, 2014-08-17
2. Real World Fuzzing, Charlie Miller, Independent Security Evaluators, ctober 19, 2007,
cmiller@securityevaluators.com
3. Robustness Testing, Discover unknown vulnerabilities with
Testing & QA, Ari Takanen, Codenomicon Ltd.
4. Michael Eddington, Leviathan Security Group, Inc. 2009
5. A Study of Commercially Available Fuzzers: Identification of Undisclosed Vulnerabilities
with the Aid of Commercial Fuzzing Tools. Prof. Dr. Hartmut Pohl and Daniel Baier, B.Sc.
Department of Computer Sciences, Bonn-Rhein-Sieg University of Applied Sciences
6. “Fuzzing for Software Security Testing and Quality Assurance”, Ari Takanen, Jared DeMott,
Charlie Miller Fuzzing for Software Security Testing and Quality Assurance (Artech House
Information Security and Privacy), 2008
7. Fuzzing: Brute Force Vulnerability Discovery Paperback – July 9, 2007 by Michael
Sutton, Adam Greene, Pedram Amini
8. Michael Sutton, Director, iDefense Labs, msutton@idefense.com, Fuzzing
Brute Force Vulnerability Discovery
9. [Slide No. 11.] A Study of Commercially Available Fuzzers: Identification of Undisclosed
Vulnerabilities with the Aid of Commercial Fuzzing Tools. By: Prof. Dr. Hartmut Pohl and
Daniel Baier, B.Sc. Department of Computer Sciences, Bonn-Rhein-Sieg University of
Applied Sciences.
SSP, Sorena Secure Processing
Awesome Books
SSP, Sorena Secure Processing
Fuzzing: Brute Force Vulnerability
Discovery Paperback – July 9, 2007
by Michael Sutton (Author), Adam
Greene (Author), Pedram Amini (Author)
Awesome Books
SSP, Sorena Secure Processing
Fuzzing for Software Security Testing and
Quality Assurance (Artech House Information
Security and Privacy) Hardcover – June 30,
2008
by Ari Takanen (Author), Jared
DeMott (Author), Charlie Miller (Author)
Awesome Books
SSP, Sorena Secure Processing
Open Source Fuzzing Tools Paperback –
December 28, 2007
by Noam Rathaus (Author), Gadi
Evron (Author)
Awesome Books
SSP, Sorena Secure Processing
Violent Python: A Cookbook for Hackers,
Forensic Analysts, Penetration Testers and
Security Engineers Paperback – August 11,
2012
& many so many
books…

Mais conteúdo relacionado

Mais procurados

Pen Testing Explained
Pen Testing ExplainedPen Testing Explained
Pen Testing Explained
Rand W. Hirt
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introduction
gbud7
 

Mais procurados (20)

Pen Testing Explained
Pen Testing ExplainedPen Testing Explained
Pen Testing Explained
 
Lecture #31 : Windows Forensics
Lecture #31 : Windows ForensicsLecture #31 : Windows Forensics
Lecture #31 : Windows Forensics
 
Evil Twin
Evil TwinEvil Twin
Evil Twin
 
Penetration Testing Report
Penetration Testing ReportPenetration Testing Report
Penetration Testing Report
 
In the DOM, no one will hear you scream
In the DOM, no one will hear you screamIn the DOM, no one will hear you scream
In the DOM, no one will hear you scream
 
DVWA BruCON Workshop
DVWA BruCON WorkshopDVWA BruCON Workshop
DVWA BruCON Workshop
 
Introduction to burp suite
Introduction to burp suiteIntroduction to burp suite
Introduction to burp suite
 
Windows Forensic 101
Windows Forensic 101Windows Forensic 101
Windows Forensic 101
 
Thick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfThick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdf
 
A Threat Hunter Himself
A Threat Hunter HimselfA Threat Hunter Himself
A Threat Hunter Himself
 
Burp Suite Starter
Burp Suite StarterBurp Suite Starter
Burp Suite Starter
 
Ch 3: Network and Computer Attacks
Ch 3: Network and Computer AttacksCh 3: Network and Computer Attacks
Ch 3: Network and Computer Attacks
 
Malware Analysis Made Simple
Malware Analysis Made SimpleMalware Analysis Made Simple
Malware Analysis Made Simple
 
Security Analyst Workshop - 20200212
Security Analyst Workshop - 20200212Security Analyst Workshop - 20200212
Security Analyst Workshop - 20200212
 
Bug Bounty for - Beginners
Bug Bounty for - BeginnersBug Bounty for - Beginners
Bug Bounty for - Beginners
 
Super Easy Memory Forensics
Super Easy Memory ForensicsSuper Easy Memory Forensics
Super Easy Memory Forensics
 
Digital Forensic ppt
Digital Forensic pptDigital Forensic ppt
Digital Forensic ppt
 
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introduction
 

Destaque

[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
OWASP
 
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERYFIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
Shreeraj Shah
 

Destaque (11)

Distributed Fuzzing Framework Design
Distributed Fuzzing Framework DesignDistributed Fuzzing Framework Design
Distributed Fuzzing Framework Design
 
Browser Fuzzing with a Twist (and a Shake) -- ZeroNights 2015
Browser Fuzzing with a Twist (and a Shake) -- ZeroNights 2015Browser Fuzzing with a Twist (and a Shake) -- ZeroNights 2015
Browser Fuzzing with a Twist (and a Shake) -- ZeroNights 2015
 
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
 
Introduction to Browser Fuzzing
Introduction to Browser FuzzingIntroduction to Browser Fuzzing
Introduction to Browser Fuzzing
 
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERYFIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
 
Security Testing: Fuzzing
Security Testing: FuzzingSecurity Testing: Fuzzing
Security Testing: Fuzzing
 
[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...
[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...
[2011 CodeEngn Conference 05] Deok9 - DBI(Dynamic Binary Instrumentation)를 이용...
 
Fuzzing sucks!
Fuzzing sucks!Fuzzing sucks!
Fuzzing sucks!
 
The Nightmare Fuzzing Suite and Blind Code Coverage Fuzzer
The Nightmare Fuzzing Suite and Blind Code Coverage FuzzerThe Nightmare Fuzzing Suite and Blind Code Coverage Fuzzer
The Nightmare Fuzzing Suite and Blind Code Coverage Fuzzer
 
0-knowledge fuzzing
0-knowledge fuzzing0-knowledge fuzzing
0-knowledge fuzzing
 
Inc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchipInc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchip
 

Semelhante a Fuzzing

Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
RootedCON
 
Making pentesting sexy ossams - BSidesQuebec2013
Making pentesting sexy ossams - BSidesQuebec2013Making pentesting sexy ossams - BSidesQuebec2013
Making pentesting sexy ossams - BSidesQuebec2013
BSidesQuebec2013
 

Semelhante a Fuzzing (20)

RIoT (Raiding Internet of Things) by Jacob Holcomb
RIoT  (Raiding Internet of Things)  by Jacob HolcombRIoT  (Raiding Internet of Things)  by Jacob Holcomb
RIoT (Raiding Internet of Things) by Jacob Holcomb
 
Fuzzing and You: Automating Whitebox Testing
Fuzzing and You: Automating Whitebox TestingFuzzing and You: Automating Whitebox Testing
Fuzzing and You: Automating Whitebox Testing
 
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
Jaime Blasco - Fighting Advanced Persistent Threat (APT) with Open Source Too...
 
Introduction to Malware Analysis
Introduction to Malware AnalysisIntroduction to Malware Analysis
Introduction to Malware Analysis
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding
 
BSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad GuysBSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad Guys
 
Malware forensics
Malware forensicsMalware forensics
Malware forensics
 
Outpost Security Pro 7.5 - Extended Tour
Outpost Security Pro 7.5 - Extended TourOutpost Security Pro 7.5 - Extended Tour
Outpost Security Pro 7.5 - Extended Tour
 
"Backoff" Malware: How to Know If You're Infected
"Backoff" Malware: How to Know If You're Infected"Backoff" Malware: How to Know If You're Infected
"Backoff" Malware: How to Know If You're Infected
 
Beginners guide on how to start exploring IoT 2nd session
Beginners  guide on how to start exploring IoT 2nd sessionBeginners  guide on how to start exploring IoT 2nd session
Beginners guide on how to start exploring IoT 2nd session
 
100 Security Operation Center Tools.pdf
100 Security Operation Center Tools.pdf100 Security Operation Center Tools.pdf
100 Security Operation Center Tools.pdf
 
SOC-BlueTEam.pdf
SOC-BlueTEam.pdfSOC-BlueTEam.pdf
SOC-BlueTEam.pdf
 
100 Security Operation Center Tools.pdf
100 Security Operation Center Tools.pdf100 Security Operation Center Tools.pdf
100 Security Operation Center Tools.pdf
 
100 Security Operation Center Tools EMERSON EDUARDO RODRIGUES
100 Security Operation Center Tools EMERSON EDUARDO RODRIGUES100 Security Operation Center Tools EMERSON EDUARDO RODRIGUES
100 Security Operation Center Tools EMERSON EDUARDO RODRIGUES
 
ethical Hack
ethical Hackethical Hack
ethical Hack
 
Wm4
Wm4Wm4
Wm4
 
Wm4
Wm4Wm4
Wm4
 
Making pentesting sexy ossams - BSidesQuebec2013
Making pentesting sexy ossams - BSidesQuebec2013Making pentesting sexy ossams - BSidesQuebec2013
Making pentesting sexy ossams - BSidesQuebec2013
 
You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Fuzzing

  • 2. About me • Khalegh Salehi • Software Security & Vulnerability Assessment • http://khalegh.net • FoxFuzzing Project – All-In-One Full Network Protocols & File Format Fuzzing. SSP, Sorena Secure Processing
  • 3. Software Security Analyzing • Static analysis: – Approach for verifying software (including finding defects) without executing software • Source code vulnerability scanning tools, code inspections, etc. • Dynamic analysis: – Approach for verifying software (including finding defects) by executing software on specific inputs & checking results (“oracle”) • Functional testing, fuzz testing, etc. • Hybrid analysis: – Combine above approaches • Operational: – Tools in operational setting • Minimize risks, report information back, etc. • Themselves may be static, dynamic, hybrid; often dynamic SSP, Sorena Secure Processing
  • 4. Software Security Analyzing • Static analysis: – Approach for verifying software (including finding defects) without executing software • Source code vulnerability scanning tools, code inspections, etc. • Dynamic analysis: – Approach for verifying software (including finding defects) by executing software on specific inputs & checking results (“oracle”) • Functional testing, fuzz testing, etc. • Hybrid analysis: – Combine above approaches • Operational: – Tools in operational setting • Minimize risks, report information back, etc. • Themselves may be static, dynamic, hybrid; often dynamic SSP, Sorena Secure Processing Why ?
  • 5. SSP, Sorena Secure Processing
  • 6. SSP, Sorena Secure Processing I see. Let's talk on business...
  • 7. Software Security Analyzing • Static analysis: – Approach for verifying software (including finding defects) without executing software • Source code vulnerability scanning tools, code inspections, etc. • Dynamic analysis: – Approach for verifying software (including finding defects) by executing software on specific inputs & checking results (“oracle”) • Functional testing, fuzz testing, etc. • Hybrid analysis: – Combine above approaches • Operational: – Tools in operational setting • Minimize risks, report information back, etc. • Themselves may be static, dynamic, hybrid; often dynamic SSP, Sorena Secure Processing
  • 8. Fuzzing in Wikipedia “Fuzz testing or fuzzing is a software testing technique, often automated or semi-automated, that involves providing invalid, unexpected, or random data to the inputs of computer program. The program is then monitored for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Fuzzing is commonly used to test for security problems in software or computer systems. It is a form of random testing which has been used for testing hardware or software” SSP, Sorena Secure Processing
  • 9. Fuzz testing history • Fuzz testing concept from Barton Miller’s 1988 class project University of Wisconsin – Project created “fuzzer” to test reliability of command-line Unix programs – Repeatedly generated random data for them until crash/hang – Later expanded for GUIs, network protocols, etc. • Approach quickly found a number of defects • Many tools & approach variations created since SSP, Sorena Secure Processing
  • 10. Fuzzing in brief • A form of vulnerability analysis and testing • Many slightly anomalous test cases are input into the target application • Application is monitored for any sign of error SSP, Sorena Secure Processing
  • 11. Fuzz testing process SSP, Sorena Secure Processing ©softScheck
  • 12. Fuzzing Phase SSP, Sorena Secure Processing Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability
  • 13. SSP, Sorena Secure Processing Case Study
  • 14. 14 FileFuzz • Application vs. file type – One file type  multiple targets • Vendor history – Past vulnerabilities • High risk targets – Default file handlers • Windows Explorer • Windows Registry – Commonly traded file types • Media files • Office documents • Configuration files Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing
  • 15. 15 • Proprietary vs. open formats – Vendor documents – Wotsit.org – Google • Binary files – e.g. images, video, audio, office documents, etc. – Headers vs. data • Text files – e.g. *.ini, *.inf, *.xml – Name/value pairs Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing FileFuzz
  • 16. 16 • Binary files – Breadth (All or Range) • Identify potential weaknesses FF FF FF FF 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ÿÿÿÿ..Ûþ..Å...è. D7 FF FF FF FF 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×ÿÿÿÿ.Ûþ..Å...è. D7 CD FF FF FF FF DB FE 0B 00 C5 00 00 01 E8 03 ; ×ÍÿÿÿÿÛþ..Å...è. – Depth • Determine level of control/influence D7 CD FD 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íýš..Ûþ..Å...è. D7 CD FE 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íþš..Ûþ..Å...è. D7 CD FF 9A 00 00 DB FE 0B 00 C5 00 00 01 E8 03 ; ×Íÿš..Ûþ..Å...è. • Text Files – name = value file_size = 10 file_size = AAAAA file_size = AAAAAAAAAA Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing FileFuzz
  • 17. 17 • Command line arguments – Windows explorer • Tools…Folder Options…File Types Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing FileFuzz
  • 18. 18 • Visual – Error messages – Blue screen • Event logs – System logs – Application logs • Debuggers • Return codes • Debugging API Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing FileFuzz
  • 19. 19 • Execute – Automated and repeated • Monitor – Library - libdasm – Capture • Memory location • Registry values • Exception type • Kill – Set timeout Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability [*] "crash.exe" "C:Program FilesWordPerfect Office 12ProgramsUA120.exe" 2000 /qt c:fuzzast8.ast [*] Access Violation [*] Exception caught at 00403f06 mov eax,[eax+edi*4] [*] EAX:0014b1b8 EBX:00000005 ECX:00435c00 EDX:0012fbac [*] ESI:00435c00 EDI:cccccccc ESP:0012fab8 EBP:0012fae8 SSP, Sorena Secure Processing FileFuzz
  • 20. 20 • Skills – Disassembly ,Debugging • Vulnerability types – Stack, Heap overflow, Integer handling, etc. • Overflows • Signedness – DoS • Out of bounds reads • Infinite loops • NULL pointer dereferences – Logic errors • Windows WMF vulnerability (MS06-001) – Format strings, Race conditions Identify target Identify inputs Generate fuzzed data Execute fuzzed data Monitor for exceptions Determine exploitability SSP, Sorena Secure Processing FileFuzz
  • 21. 21 SSP, Sorena Secure Processing FileFuzz FileFuzz is a graphical, Windows based file format fuzzing tool. FileFuzz was designed to automate the creation of abnormal file formats and the execution of applications handling these files. FileFuzz also has built in debugging capabilities to detect exceptions resulting from the fuzzed file formats.
  • 22. SSP, Sorena Secure Processing call your guys…
  • 23. Type of Fuzzers • File Fuzzers As the name implies, fuzzers that target file formats only. They do not have the ability to speak any network protocol. • Network Fuzzers And these are fuzzers that target only network protocols. There are allot of these as the discovery of network based vulnerabilities has always attracted allot of attention. • General Fuzzers Following with our captain obvious theme, these fuzzers that can target a wide variety of targets, typically both file and network, and also others via custom I/O interfaces. For example: COM, shared libraries, RPC, etc. • Custom or One-off Fuzzers These are custom written fuzzers that target a specific format or network protocol. Typically these hand written, many times by testers. Custom fuzzers vary widely on how good their data mutation/generation is. For the purposes of this document we will not examine any custom or one-off fuzzers. • API Fuzzers, Hardware Fuzzers and dozens of Fuzzers, There is not limitations for subject… (Chapter 5, Page 161-166) SSP, Sorena Secure Processing
  • 24. Type of Fuzzers… There is no limitation of, Intuitively I have to say… Where there is a Input, There’s Fuzz… There is an undeniable fact, Before start your cool fuzzing, please formally let me know about your target. SSP, Sorena Secure Processing
  • 25. Example • Standard HTTP GET request – GET /index.html HTTP/1.1 • Anomalous requests – AAAAAA...AAAA /index.html HTTP/1.1 – GET ///////index.html HTTP/1.1 – GET %n%n%n%n%n%n.html HTTP/1.1 – GET /AAAAAAAAAAAAA.html HTTP/1.1 – GET /index.html HTTTTTTTTTTTTTP/1.1 – GET /index.html HTTP/1.1.1.1.1.1.1.1 – etc... SSP, Sorena Secure Processing
  • 26. Example of Vulnerable Source Code #include <stdio.h> int main( int argc, char *argv[] ) { char buffer[1024]; strcpy(buffer,argv[1]); printf("The string is a %s nn",buffer); return 0; } SSP, Sorena Secure Processing
  • 27. Example of Simple Fuzzing scheme import subprocess,time; for i in range(1,10000): print i; subprocess.call(["./ example ","A"*i]); time.sleep(1); # figure out debugger, crash log, etc. Go head and run the application via uninvited arguments such as and not limited to, ./example `python -c “print ‘A’*10000”` SSP, Sorena Secure Processing
  • 28. SSP, Sorena Secure Processing The situation under controls...
  • 29. Definition of fuzzing “Fuzzing is a technique for intelligently and automatically generating and passing into a target system valid and invalid message sequences to see if the system breaks, and if it does, what it is that makes it break” CODENOMICON SSP, Sorena Secure Processing
  • 30. The Solution That Found Heartbleed  fuzzing(Defensics) was the primary solution being used when the Heartbleed flaw was identified. A security research was running a routine test of the Fuzzing (Defensics) feature, SafeGuard, identifying the flaw that had gone unidentified for over two years and impacted over 500,000 websites. SSP, Sorena Secure Processing CODENOMICON
  • 31. Fuzzing Approach Mutation Based - “Dumb Fuzzing”  Generation Based - “Smart Fuzzing”  Evolutionary SSP, Sorena Secure Processing
  • 32. Mutation Based - “Dumb Fuzzing” SSP, Sorena Secure Processing
  • 33. Mutation Based - “Dumb Fuzzing” • Little or no knowledge of the structure of the inputs is assumed • Anomalies are added to existing valid inputs • Anomalies may be completely random or follow some heuristics • Requires little to no set up time • Dependent on the inputs being modified • May fail for protocols with checksums, those which depend on challenge response, etc. Examples: • Taof, GPF, ProxyFuzz, etc. SSP, Sorena Secure Processing
  • 34. SSP, Sorena Secure Processing Generation Based - “Smart Fuzzing”
  • 35. Generation Based - “Smart Fuzzing” • Test cases are generated from some description of the format: RFC, documentation, etc. • Anomalies are added to each possible spot in the inputs • Knowledge of protocol should give better results than random fuzzing • Can take significant time to set up • Examples – SPIKE, Sulley, Mu-4000, Codenomicon, Bestorm SSP, Sorena Secure Processing
  • 37. Evolutionary • Attempts to generate inputs based on the response of the program • Autodafe – Prioritizes test cases based on which inputs have reached dangerous API functions • EFS – Generates test cases based on code coverage metrics (more later) • This technique is still in the alpha stage SSP, Sorena Secure Processing
  • 38. Issues & Problems Mutation based fuzzers can generate an infinite number of test cases... When has the fuzzer run long enough? Generation based fuzzers generate a finite number of test cases. What happens when they’re all run and no bugs are found? How do you monitor the target application such that you know when something “bad” has happened? SSP, Sorena Secure Processing
  • 39. Issues with Fuzzing What happens when you find too many bugs? Or every anomalous test case triggers the same (boring) bug? How do you figure out which test case caused the fault? Given a crash, how do you find the actual vulnerability After fuzzing, how do you know what changes to make to improve your fuzzer? When do you give up on fuzzing an application? SSP, Sorena Secure Processing
  • 40. Products & Frameworks SSP, Sorena Secure Processing
  • 41. Products & Frameworks SSP, Sorena Secure Processing Dozens of Open-Source Fuzzing Tools & Frameworks has been collected in FoxFuzzing, there is list of products with bit information of, are available by https://github.com/khaleghsalehi/FoxFuzzing/list.pdf Not(A2
  • 42. ? SSP, Sorena Secure Processing Thank you &
  • 43. References 1. SWE 681 / ISA 681,Secure Software Design & Programming, Lecture 9, Analysis Approaches & Tools, Dr. David A. Wheeler, 2014-08-17 2. Real World Fuzzing, Charlie Miller, Independent Security Evaluators, ctober 19, 2007, cmiller@securityevaluators.com 3. Robustness Testing, Discover unknown vulnerabilities with Testing & QA, Ari Takanen, Codenomicon Ltd. 4. Michael Eddington, Leviathan Security Group, Inc. 2009 5. A Study of Commercially Available Fuzzers: Identification of Undisclosed Vulnerabilities with the Aid of Commercial Fuzzing Tools. Prof. Dr. Hartmut Pohl and Daniel Baier, B.Sc. Department of Computer Sciences, Bonn-Rhein-Sieg University of Applied Sciences 6. “Fuzzing for Software Security Testing and Quality Assurance”, Ari Takanen, Jared DeMott, Charlie Miller Fuzzing for Software Security Testing and Quality Assurance (Artech House Information Security and Privacy), 2008 7. Fuzzing: Brute Force Vulnerability Discovery Paperback – July 9, 2007 by Michael Sutton, Adam Greene, Pedram Amini 8. Michael Sutton, Director, iDefense Labs, msutton@idefense.com, Fuzzing Brute Force Vulnerability Discovery 9. [Slide No. 11.] A Study of Commercially Available Fuzzers: Identification of Undisclosed Vulnerabilities with the Aid of Commercial Fuzzing Tools. By: Prof. Dr. Hartmut Pohl and Daniel Baier, B.Sc. Department of Computer Sciences, Bonn-Rhein-Sieg University of Applied Sciences. SSP, Sorena Secure Processing
  • 44. Awesome Books SSP, Sorena Secure Processing Fuzzing: Brute Force Vulnerability Discovery Paperback – July 9, 2007 by Michael Sutton (Author), Adam Greene (Author), Pedram Amini (Author)
  • 45. Awesome Books SSP, Sorena Secure Processing Fuzzing for Software Security Testing and Quality Assurance (Artech House Information Security and Privacy) Hardcover – June 30, 2008 by Ari Takanen (Author), Jared DeMott (Author), Charlie Miller (Author)
  • 46. Awesome Books SSP, Sorena Secure Processing Open Source Fuzzing Tools Paperback – December 28, 2007 by Noam Rathaus (Author), Gadi Evron (Author)
  • 47. Awesome Books SSP, Sorena Secure Processing Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers Paperback – August 11, 2012 & many so many books…