Vulnerabilities / Threats
7/24/2013
01:11 AM
50%
50%

Visualization Helps Attackers Spot Flaws In Software's Armor

Using data visualization techniques, researchers make memory and randomization flaws easier to recognize, spotting vulnerabilities in anti-exploitation technology such as ASLR and DEP

Simple data visualization techniques can be used to find weaknesses in the software technologies designed to protect operating systems from exploitation, according to a pair of researchers who will present their findings at Black Hat USA next week.

Click here for more of Dark Reading's Black Hat articles.

The researchers, Georg Wicherski and Alexandru Radocea of security startup CrowdStrike, used space-filling fractals known as Hilbert Curves--the most famous of which are the heat maps for visualizing the Internet's address space--to map out memory page tables, using brighter colors to indicate more dangerous areas. The technique can help researchers better see problems in anti-exploitation techniques such as address-space layout randomization (ASLR) and data-execution prevention (DEP), Wicherski says.

"We wanted to find ways to make these concepts more accessible to more researchers," he says. "How do you see what is randomized, what is not randomized, and what is a potential vulnerability?"

Using the techniques, the researchers found that Android and other versions of Linux have flaws on the ARM architecture that significantly weaken exploitation mitigations. On ARM, the whole Linux kernel memory area is both writable and executable, allowing any memory-corruption bug to overwrite the kernel code, Wicherski says.

"You don't have to do any advanced exploitation techniques on ARM at all," Wicherski says.

The researchers also plan to demonstrate some weaknesses of iOS using visualizations of the operating system's address space.

To produce the maps, the researchers first categorized areas of memory by their permissions, whether each one was writable, executable or both. Attackers look for pages that are writable and executable and in a consistent location, because they can write their own malicious code to that section of memory and then execute it.

[Attackers cheated two widely respected Microsoft security features to wage targeted attacks via a previously unknown flaw in Internet Explorer. See New IE Zero-Day Attack Bypasses Key Microsoft Security Measures.]

Technologies like data-execution prevention (DEP) attempt to virtually separate the parts of memory to which data can be written and the parts of memory that can be executed. Address space layout randomization (ASLR) makes it hard for attackers to know where a certain section of memory will be located. Analyzing the implementation of these technologies can be hard, but visualization can help researchers spot patterns that they might not otherwise detect, says Ollie Whitehouse, associate director of the NCC Group, a security testing and compliance firm.

"Being able to identify pages that are both readable and writable is important," Whitehouse says. "The way that they did it is innovative, because humans are very visual and good at pattern recognition, so giving them visual representations of these problems can work extremely well."

The technique does not work against logic flaws or other types of code analysis. Yet, it could be a useful way for developers to visualize the way their code uses memory and more easily spot implementation flaws, says CrowdStrike's Wicherski. Vulnerability researchers can also use it to gauge the relative strength of a program's mitigations.

"If you have a new operating system that you want to attack and you want to understand how these mitigations work there and how effective they are, you can use this as a real tool," he says.

In addition, the technique could help developers that are not intimately familiar with how to identify and find memory flaws and weaknesses to see problems with their code, says NCC Group's Whitehouse.

"If you take security problems into the visualization realm, you open them up to people who might not be hardcore reverse engineers and security software analysts," he says.

Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message. Robert Lemos is a veteran technology journalist of more than 16 years and a former research engineer, writing articles that have appeared in Business Week, CIO Magazine, CNET News.com, Computing Japan, CSO Magazine, Dark Reading, eWEEK, InfoWorld, MIT's Technology Review, ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Printers: The Weak Link in Enterprise Security
Kelly Sheridan, Associate Editor, Dark Reading,  10/16/2017
20 Questions to Ask Yourself before Giving a Security Conference Talk
Joshua Goldfarb, Co-founder & Chief Product Officer, IDDRA,  10/16/2017
Why Security Leaders Can't Afford to Be Just 'Left-Brained'
Bill Bradley, SVP, Cyber Engineering and Technical Services, CenturyLink,  10/17/2017
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
Security Vulnerabilities: The Next Wave
Just when you thought it was safe, researchers have unveiled a new round of IT security flaws. Is your enterprise ready?
Flash Poll
The State of Ransomware
The State of Ransomware
Ransomware has become one of the most prevalent new cybersecurity threats faced by today's enterprises. This new report from Dark Reading includes feedback from IT and IT security professionals about their organization's ransomware experiences, defense plans, and malware challenges. Find out what they had to say!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2017-0290
Published: 2017-05-09
NScript in mpengine in Microsoft Malware Protection Engine with Engine Version before 1.1.13704.0, as used in Windows Defender and other products, allows remote attackers to execute arbitrary code or cause a denial of service (type confusion and application crash) via crafted JavaScript code within ...

CVE-2016-10369
Published: 2017-05-08
unixsocket.c in lxterminal through 0.3.0 insecurely uses /tmp for a socket file, allowing a local user to cause a denial of service (preventing terminal launch), or possibly have other impact (bypassing terminal access control).

CVE-2016-8202
Published: 2017-05-08
A privilege escalation vulnerability in Brocade Fibre Channel SAN products running Brocade Fabric OS (FOS) releases earlier than v7.4.1d and v8.0.1b could allow an authenticated attacker to elevate the privileges of user accounts accessing the system via command line interface. With affected version...

CVE-2016-8209
Published: 2017-05-08
Improper checks for unusual or exceptional conditions in Brocade NetIron 05.8.00 and later releases up to and including 06.1.00, when the Management Module is continuously scanned on port 22, may allow attackers to cause a denial of service (crash and reload) of the management module.

CVE-2017-0890
Published: 2017-05-08
Nextcloud Server before 11.0.3 is vulnerable to an inadequate escaping leading to a XSS vulnerability in the search module. To be exploitable a user has to write or paste malicious content into the search dialogue.