Title of the talk : Gorille : Another approach to binary code analysis
at Grehack : New is not always better
Title of the talk : Gorille : Another approach to binary code analysis
at Grehack : New is not always better
A Morphological Approach to Binary Code Analysis
FPS 2016 – 9th International Symposium on Foundations & Practice of Security
Abstract
Binary code analysis is a complex process which can be performed nowadays only by skilled cybersecurity experts whose workload just keeps increasing. Uses cases include vulnerabilities detection, testing, clustering and classification, malware analysis, etc… We develop a tool named Gorille, which is based on the reconstruction of an high level semantics for the binary code. Control flow graphs provide a fair level of abstraction to deal with the binary codes they represent. After applying some graph rewriting rules to normalize these graphs, our software tackles the subgraph search problem in a way which is both efficient and convenient for that kind of graphs. This technique is described as morphological analysis as it recognizes the whole shape of the malware.
That being said, some pitfalls still need to be considered. First of all, the output can only get as good as the input data. And it is known that static disassembly cannot produce the perfect control flow graph since this problem is undecidable. As a matter of facts, malware heavily use obfuscation techniques such as opaque predicates to hide their payloads and confuse analyses. Dynamic analysis should then be used along with static disassembly to combine their strengths. Another dangerous pitfall feared by every expert is the so-called false positives rate : false alarms that make them waste indeed a precious time assessing the reality of the threat. Shared binary code is not always relevant as many software embed static standard libraries. Gorille’s solution to this issue lies in graph rewriting. By rewriting classic subgraphs into configuration-based special nodes, we even obtain an higher abstraction of the control flow graph.
Inivited talk: Morphological analysis : where are we ? Sept 8th, St Malo
Invited talk at 16th International Workshop on Logic and Computational Complexity (LCC), July 4-5, 2015, Kyoto, Japan – collocated with ICALP/LICS 2015
Foundational and Practical Aspects of Resource Analysis (FOPARA)
Developments in Implicit Computational Complexity (DICE)
Satellite events of ETAPS, London,April 11 2015
1st – 3rd April 2015, Tokyo
Title of my talk : Low Level Code Analysis And Experiments at Nancy’s High Security Lab
NII Shonan Meeting Low level code analysis and applications to computer security,
March 2nd-5th 2015
Organized by
– Jean-Yves Marion, Lorraine University, France
– Akira Mori, AIST, Japan
– Mizuhito Ogawa, JAIST, Japan