de Herve, 2017 - Google Patents
Reverse-engineering of binaries in a single execution: a lightweight function-grained dynamic analysisde Herve, 2017
View PDF- Document ID
 - 7944297970430704279
 - Author
 - de Herve F
 - Publication year
 
External Links
Snippet
In this thesis, we propose a new dynamic approach to analyze binary programs. The context  of this work is reverse-engineering binaries with motivations related to security:  understanding malwares, detecting vulnerabilities, etc. Concretely, we focus on retrieving … 
    - 238000004458 analytical method 0 title abstract description 149
 
Classifications
- 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
 - G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
 - G06F21/55—Detecting local intrusion or implementing counter-measures
 - G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
 - G06F21/562—Static detection
 - G06F21/563—Static detection by source code analysis
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/36—Preventing errors by testing or debugging software
 - G06F11/3604—Software analysis for verifying properties of programs
 - G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/36—Preventing errors by testing or debugging software
 - G06F11/3668—Software testing
 - G06F11/3672—Test management
 - G06F11/3688—Test management for test execution, e.g. scheduling of test suites
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/36—Preventing errors by testing or debugging software
 - G06F11/362—Software debugging
 - G06F11/3636—Software debugging by tracing the execution of the program
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/36—Preventing errors by testing or debugging software
 - G06F11/3604—Software analysis for verifying properties of programs
 - G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
 - G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
 - G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
 - G06F21/577—Assessing vulnerabilities and evaluating computer system security
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F9/00—Arrangements for programme control, e.g. control unit
 - G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
 - G06F9/44—Arrangements for executing specific programmes
 - G06F9/455—Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/36—Preventing errors by testing or debugging software
 - G06F11/362—Software debugging
 - G06F11/3648—Software debugging using additional hardware
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
 - G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
 - G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
 - G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F8/00—Arrangements for software engineering
 - G06F8/40—Transformations of program code
 - G06F8/41—Compilation
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F9/00—Arrangements for programme control, e.g. control unit
 - G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
 - G06F9/44—Arrangements for executing specific programmes
 - G06F9/445—Programme loading or initiating
 - G06F9/44589—Programme code verification, e.g. Java bytecode verification, proof-carrying code
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
 - G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
 - G06F21/12—Protecting executable software
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F8/00—Arrangements for software engineering
 - G06F8/70—Software maintenance or management
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/07—Error detection; Error correction; Monitoring responding to the occurence of a fault, e.g. fault tolerance
 - G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING; CALCULATING; COUNTING
 - G06F—ELECTRICAL DIGITAL DATA PROCESSING
 - G06F11/00—Error detection; Error correction; Monitoring
 - G06F11/30—Monitoring
 - G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
 
 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| Evans et al. | Control jujutsu: On the weaknesses of fine-grained control flow integrity | |
| Shoshitaishvili et al. | Sok:(state of) the art of war: Offensive techniques in binary analysis | |
| Peng et al. | {X-Force}:{Force-Executing} binary programs for security applications | |
| Slowinska et al. | Howard: A Dynamic Excavator for Reverse Engineering Data Structures. | |
| Zeng et al. | Obfuscation resilient binary code reuse through trace-oriented programming | |
| Reps et al. | Improved memory-access analysis for x86 executables | |
| Thakur et al. | Directed proof generation for machine code | |
| Zhang et al. | IntPatch: Automatically fix integer-overflow-to-buffer-overflow vulnerability at compile-time | |
| Sun et al. | Validating the {eBPF} verifier via state embedding | |
| Wang et al. | Translingual obfuscation | |
| Fratantonio et al. | Shellzer: a tool for the dynamic analysis of malicious shellcode | |
| Reps et al. | A next-generation platform for analyzing executables | |
| Alder et al. | Pandora: Principled symbolic validation of Intel SGX enclave runtimes | |
| Li et al. | Dynamic analysis and debugging of binary code for security applications | |
| Miller et al. | Crash analysis with BitBlaze | |
| Reps et al. | There’s Plenty of Room at the Bottom: Analyzing and Verifying Machine Code: (Invited Tutorial) | |
| Smith et al. | Redir: Automated static detection of obfuscated anti-debugging techniques | |
| Graf | Information Flow Control with System Dependence Graphs-Improving Modularity, Scalability and Precision for Object Oriented Languages | |
| De Goër et al. | Now you see me: Real-time dynamic function call detection | |
| Bertani et al. | Untangle: Aiding global function pointer hijacking for post-cet binary exploitation | |
| Yan et al. | Fast PokeEMU: Scaling generated instruction tests using aggregation and state chaining | |
| Yadegari | Automatic deobfuscation and reverse engineering of obfuscated code | |
| Lopes | Discovering vulnerabilities in webassembly with code property graphs | |
| de Herve | Reverse-engineering of binaries in a single execution: a lightweight function-grained dynamic analysis | |
| Hauser et al. | Sleak: Automating address space layout derandomization |