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
For Cybersecurity to Be Proactive, Terrains Must Be Mapped
Craig Harber, Chief Technology Officer at Fidelis Cybersecurity,  10/8/2019
A Realistic Threat Model for the Masses
Lysa Myers, Security Researcher, ESET,  10/9/2019
USB Drive Security Still Lags
Dark Reading Staff 10/9/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
7 Threats & Disruptive Forces Changing the Face of Cybersecurity
This Dark Reading Tech Digest gives an in-depth look at the biggest emerging threats and disruptive forces that are changing the face of cybersecurity today.
Flash Poll
2019 Online Malware and Threats
2019 Online Malware and Threats
As cyberattacks become more frequent and more sophisticated, enterprise security teams are under unprecedented pressure to respond. Is your organization ready?
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-17545
PUBLISHED: 2019-10-14
GDAL through 3.0.1 has a poolDestroy double free in OGRExpatRealloc in ogr/ogr_expat.cpp when the 10MB threshold is exceeded.
CVE-2019-17546
PUBLISHED: 2019-10-14
tif_getimage.c in LibTIFF through 4.0.10, as used in GDAL through 3.0.1 and other products, has an integer overflow that potentially causes a heap-based buffer overflow via a crafted RGBA image, related to a "Negative-size-param" condition.
CVE-2019-17547
PUBLISHED: 2019-10-14
In ImageMagick before 7.0.8-62, TraceBezier in MagickCore/draw.c has a use-after-free.
CVE-2019-17501
PUBLISHED: 2019-10-14
Centreon 19.04 allows attackers to execute arbitrary OS commands via the Command Line field of main.php?p=60807&type=4 (aka the Configuration > Commands > Discovery screen).
CVE-2019-17539
PUBLISHED: 2019-10-14
In FFmpeg before 4.2, avcodec_open2 in libavcodec/utils.c allows a NULL pointer dereference and possibly unspecified other impact when there is no valid close function pointer.