Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Threat Intelligence

Xori Adds Speed, Breadth to Disassembler Lineup

A new open source tool, introduced at Black Hat USA, places a priority on speed and automation.

One of the problems in malware analysis is that there's just so much malware to analyze. An automated dis-assembler would help, but that would require writing an automated disassembler — which is what Amanda Rousseau and Rich Seymour did when they built Xori.

In their Black Hat USA presentation, Rousseau and Seymour described the reasoning behind writing Xori, the process of building the software — and the results that come from the effort. "I'm constantly looking at tons and tons of samples and I need to reverse them fast," said Rousseau, senior malware researcher at Endgame, in an interview before the conference. When told by her boss that there were a thousand samples to be analyzed, she decided that automation was the only real answer.

Rousseau enlisted Seymour, a senior data scientist and Endgame, to help with development. He began, he said, with the parser. "I started writing that parser while Amanda was working on disassembly — what you can do on just raw bytes — and we sort of met in the middle," he explained.

Speed, in both process and execution, was a primary objective of Xori, and Seymour said that they were successful in that objective. "Xori can process a thousand samples on a five-year-old computer I had under my desk in 20 minutes," he said, noting that it's not doing complete analysis, but what it is doing is disassembly in far less than the six hours per sample earlier methods required. "It can process [samples] at about a second per sample," he said.

The processing results in a GUI output that presents the sample as a flowchart, or sequence of boxes that show the elements of the malware and the connections between them. Xori doesn't stop there, however. "Besides making that flowchart for you, it also tries to enhance and annotate as much of the code as possible so you don't have to really get into the actual assembly instructions themselves unless you really have to," Seymour explained.

Getting to this point required considerable effort. Asked about the work, Rousseau laughed, saying, "Many, many nights! I couldn't turn off my brain. Every day from 9 am until, oh, 10 pm, doing manual verification, learning the language, learning Rust, period, and trying to learn and trying to read the Intel manual," she said.

Rust itself was a choice that had implications for Rousseau. "It kind of started under the Mozilla umbrella, but it's since blossomed into a really great language and community that rides the line between strict type safety and academic languages, and then sort of the classic C/C++ type programming," she explained.

One major difference between Xori and other disassemblers is that Rousseau and Seymour wrote their tool to provide basic screening of as many samples, in as short a time, as possible. Other disassemblers tend to focus on going deeply into a single sample, no matter how long that effort takes. Now, Rousseau said, "It'll be good to put this out there as open source. Hopefully folks will not be afraid to contribute because I think it really does have a lot of potential."

Related content:

Learn from the industry's most knowledgeable CISOs and IT security experts in a setting that is conducive to interaction and conversation. Early bird rate ends August 31. Click for more info

Curtis Franklin Jr. is Senior Editor at Dark Reading. In this role he focuses on product and technology coverage for the publication. In addition he works on audio and video programming for Dark Reading and contributes to activities at Interop ITX, Black Hat, INsecurity, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Why Cyber-Risk Is a C-Suite Issue
Marc Wilczek, Digital Strategist & CIO Advisor,  11/12/2019
DevSecOps: The Answer to the Cloud Security Skills Gap
Lamont Orange, Chief Information Security Officer at Netskope,  11/15/2019
Unreasonable Security Best Practices vs. Good Risk Management
Jack Freund, Director, Risk Science at RiskLens,  11/13/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
Navigating the Deluge of Security Data
In this Tech Digest, Dark Reading shares the experiences of some top security practitioners as they navigate volumes of security data. We examine some examples of how enterprises can cull this data to find the clues they need.
Flash Poll
Rethinking Enterprise Data Defense
Rethinking Enterprise Data Defense
Frustrated with recurring intrusions and breaches, cybersecurity professionals are questioning some of the industrys conventional wisdom. Heres a look at what theyre thinking about.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-19040
PUBLISHED: 2019-11-17
KairosDB through 1.2.2 has XSS in view.html because of showErrorMessage in js/graph.js, as demonstrated by view.html?q= with a '"sampling":{"value":"<script>' substring.
CVE-2019-19041
PUBLISHED: 2019-11-17
An issue was discovered in Xorux Lpar2RRD 6.11 and Stor2RRD 2.61, as distributed in Xorux 2.41. They do not correctly verify the integrity of an upgrade package before processing it. As a result, official upgrade packages can be modified to inject an arbitrary Bash script that will be executed by th...
CVE-2019-19012
PUBLISHED: 2019-11-17
An integer overflow in the search_in_range function in regexec.c in Oniguruma 6.x before 6.9.4_rc2 leads to an out-of-bounds read, in which the offset of this read is under the control of an attacker. (This only affects the 32-bit compiled version). Remote attackers can cause a denial-of-service or ...
CVE-2019-19022
PUBLISHED: 2019-11-17
iTerm2 through 3.3.6 has potentially insufficient documentation about the presence of search history in com.googlecode.iterm2.plist, which might allow remote attackers to obtain sensitive information, as demonstrated by searching for the NoSyncSearchHistory string in .plist files within public Git r...
CVE-2019-19035
PUBLISHED: 2019-11-17
jhead 3.03 is affected by: heap-based buffer over-read. The impact is: Denial of service. The component is: ReadJpegSections and process_SOFn in jpgfile.c. The attack vector is: Open a specially crafted JPEG file.