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
Russia Hacked Clinton's Computers Five Hours After Trump's Call
Robert Lemos, Technology Journalist/Data Researcher,  4/19/2019
Why We Need a 'Cleaner Internet'
Darren Anstee, Chief Technology Officer at Arbor Networks,  4/19/2019
Sensitive Data Lingers on Used Storage Drives Sold Online
Ericka Chickowski, Contributing Writer, Dark Reading,  4/25/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-11538
PUBLISHED: 2019-04-26
In Pulse Secure Pulse Connect Secure version 9.0RX before 9.0R3.4, 8.3RX before 8.3R7.1, 8.2RX before 8.2R12.1, and 8.1RX before 8.1R15.1, an NFS problem could allow an authenticated attacker to access the contents of arbitrary files on the affected device.
CVE-2019-11539
PUBLISHED: 2019-04-26
In Pulse Secure Pulse Connect Secure version 9.0RX before 9.0R3.4, 8.3RX before 8.3R7.1, 8.2RX before 8.2R12.1, and 8.1RX before 8.1R15.1 and Pulse Policy Secure version 9.0RX before 9.0R3.2, 5.4RX before 5.4R7.1, 5.3RX before 5.3R12.1, 5.2RX before 5.2R12.1, and 5.1RX before 5.1R15.1, the admin web...
CVE-2019-11540
PUBLISHED: 2019-04-26
In Pulse Secure Pulse Connect Secure version 9.0RX before 9.0R3.4 and 8.3RX before 8.3R7.1 and Pulse Policy Secure version 9.0RX before 9.0R3.2 and 5.4RX before 5.4R7.1, an unauthenticated, remote attacker can conduct a session hijacking attack.
CVE-2019-11541
PUBLISHED: 2019-04-26
In Pulse Secure Pulse Connect Secure version 9.0RX before 9.0R3.4, 8.3RX before 8.3R7.1, and 8.2RX before 8.2R12.1, users using SAML authentication with the Reuse Existing NC (Pulse) Session option may see authentication leaks.
CVE-2019-11542
PUBLISHED: 2019-04-26
In Pulse Secure Pulse Connect Secure version 9.0RX before 9.0R3.4, 8.3RX before 8.3R7.1, 8.2RX before 8.2R12.1, and 8.1RX before 8.1R15.1 and Pulse Policy Secure version 9.0RX before 9.0R3.2, 5.4RX before 5.4R7.1, 5.3RX before 5.3R12.1, 5.2RX before 5.2R12.1, and 5.1RX before 5.1R15.1, an authentica...