Attack Of The RAM Scrapers

The inclusion of RAM scrapers in a recent Verizon Business list of the top data breach attack vectors has prompted a bit of buzz about what exactly RAM scraping is and how much of a threat it poses.

A RAM scraper as identified in the Verizon Business Data Breach Investigation report is a piece of customized malware created to grab credit card, PIN, and other confidential information out of a system's volatile memory. The RAM-scraping breaches in Verizon's report occurred in point-of-sale (POS) servers.

RAM scraping is not really what's new, but what Verizon flagged as the emergent threat trend is RAM scraping in POS devices.

Why go after the data in RAM? Because in many ways it's easier to grab there. Current PCI compliance standards require the end-to-end encryption of sensitive payment card data when being transmitted, received, or stored. Data then is exposed at the endpoints, during processing, when the unencrypted credit card data is resident in the POS device's RAM. That's where the RAM scraper can cherry-pick the data being processed, capturing only those strings related to card identifiers rather than performing bulk data grabs. This minimizes the scraper's presence and, far from incidentally, reduces the prospects of its being detected as a result of dramatically increased server traffic or other illicit activity flags.

One of the incidents Verizon Business's RISK Team investigated was discovered as a result of a spike in credit card fraud reports from a casino: The RAM scraper itself wasn't detected on the server. The scraper dumped the card data to a .dll -- unsubtly named dumper.dll -- in a Windows system subdirectory, where it waited for retrieval by the scraper's owners, who had backdoor access.

RAM scrapers have to get to the RAM in order to access valuable data. POS RAM scrapers enter systems that are either insufficiently protected, such as those that use default credentials or get compromised by trusted partners, according to the Verizon report. And backdoor access or command/control are common features of RAM scraper attacks.

Another often-overlooked vulnerability that leaves the door open for RAM scrapers is lax memory management, notes anonymous PCI DSS blogger PCI Guru. He sees this as one consequence of the vast RAM resources available because of low memory prices.

So while the data exposure is in the RAM, the vulnerability lays somewhere in the system or the system's administration, security experts say. And detecting a RAM scraper can be problematic: Because this malware is customized for each attack, its signatures are less likely to be recognized by antivirus software.

When a RAM scraper is in a server, that means it had to bypass antivirus and firewall defenses. "The main infection vector for RAM scrapers observed within our caseload [was] installation by the attacker after he owns the system [and] effectively bypasses AV. RAM scrapers are also using innocuous file extensions, and attaching themselves to legitimate processes and services," according to a Verizon security blog.

RAM scraping, while not widespread, is mainly a threat to POS systems that aren't properly secured or monitored. The RAM scraper attacks in Verizon's report mainly were found in the retail and hospitality industries. Hospitality and food/beverage businesses accounted for 21 percent of the cases reviewed in the Verizon Business report that kick-started the RAM scraper buzz. RAM scrapers were responsible for 4 percent of the 592 data breaches reviewed between 2004 and 2008, placing scrapers at 14th of the report's top 15 threats. And, obviously, any industry with a POS system would be vulnerable to these types of attacks.

The best way to detect a RAM scraper is via regular traffic and critical file monitoring and log analysis, experts say. Following are eight tips for protecting against RAM scraping, gleaned from the Verizon report:

Monitor disk activity and keep an eye out for file-creation in Windows system and temp subfolders.

Monitor critical file activity..exe files such as RAM scrapers will be flagged when executed.

Tighten server credentials. There's no excuse for default admin credentials on a home computer, much less on systems that process financial transactions.

Bear in mind that end-to-end encryption doesn't include the clear-data processes at the end-points.

Deny, if possible, admin-level credentials to POS and POS support vendors and reset vendor credentials and settings.

Minimize and test the persistence of data in volatile memory. Just because the specs say data persists for a millisecond doesn't make it true.

And while Verizon found POSes at risk of RAM scraping, the technique also could be used against other systems' volatile memory. So it's a good practice to extend monitoring and log analysis to all RAM-equipped devices in the business. You could be surprised at how much data is sitting in the RAM of your network printers, for instance.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Published: 2015-03-31The build_index_from_tree function in index.py in Dulwich before 0.9.9 allows remote attackers to execute arbitrary code via a commit with a directory path starting with .git/, which is not properly handled when checking out a working tree.