Adam Outler · Aug 11, 2012 at 07:30 am

LiME Forensics Kernel Module for Raw Memory Snapshots

Raw access to memory is useful while performing data forensics or while hacking devices.  Sometimes you need a snapshot of memory to be able to analyze what is going on with locked bootloaders, get a snapshot of a memory location to track down a bug, or just to figure out the proper memory location of your Angry Birds score. This is where Linux Memory Extractor, a.k.a. LiME Forensics, comes in. LiME is a loadable kernel module that allows you to access to the full range of device memory. As soon as the kernel module is loaded into memory, it basically takes a snapshot, allowing for very efficient debugging.

I asked Joe Sylve, the author of LiME Forensics to explain the benefeits of LiME over traditional tools like viewmem:

To answer your questions, the tools were designed with different uses in purpose.  LiME is designed to acquire a full dump of the physical memory layout of RAM for forensic analysis or security research.  It does it all in kernel space and can dump an image either to the local file system or over TCP.  It’s designed to give you as close of a copy of physical memory as possible, while minimizing it’s interaction with the system.
It appears viewmem is a userland program which reads a range of virtual memory addresses from a memory device, such as /dev/mem or /dev/kmem and prints the contents to stdout.  I’m not sure that it does more than simply using dd on one those devices would.
This is less acceptable in forensics for several reasons.  First of all, /dev/mem and /dev/kmem are being phased out and more and more devices aren’t shipping with those devices.  Secondly, /dev/mem and /dev/kmem limit you to reading from the first 896MB of RAM.  Also, the tool is causing several context switches between userland and kernelland for every block of memory read and is overwriting RAM with it’s buffers.
I’d say each tool has their use.  If you just need to know the contents of an address that’s within the first 896MB of RAM and your device has /dev/mem and /dev/kmem and you don’t care about capturing a forensically sound image, then viewmem (or dd) would be useful.  However, LiME was not designed specifically for that use case.

The most important thing, for you memory hackers out there, is that viewmem relies on the /dev/mem and /dev/kmem devices.  Since the /dev/mem and /dev/kmem devices allow direct access to device memory, they are a vulnerability.  These Linux devices are being phased out, as they have been the targets of multiple exploits as of late.  LiME not only replaces the viewmem utility, it does it better.

Manufacturers take note: By locking down features that developers want, you promote the development of better tools.

Source: LiME Forensics & Inteview with Author Joe Sylve

[Image Credit: LiME Presentation by Joe Sylve]
_________
Want something on the XDA Portal? Send us a tip!
TAGS:

Adam Outler

AdamOutler is an editor on XDA-Developers, the largest community for Android users. Electronics Tech/ Developer View AdamOutler's posts and articles here.
Mike McCrary · Jul 31, 2015 at 03:56 pm · 1 comment

CloudPlayer: DIY HiFi Music Streaming Solution

In our Helpful Guide to Music Streaming Services, we mentioned several different services that offer ways to stream catalogs of music directly to your device. While each service has their benefits and drawbacks, the common theme among them is to give you access to a vast library of music without the need to store your own, and charge you a monthly fee for the privilege. But what if you already had access to your own catalog of music? Sure, there...

XDA NEWS
GermainZ · Jul 31, 2015 at 01:03 pm · 1 comment

Optimize Battery Life with This Useful App

Battery life is an important aspect of your smartphone, especially if you use it for more than just calls on the go. Since you're on XDA, you probably do and want to get the most out of your battery. Now, you can't magically expand its size but no matter how much its capacity is, you should make sure it's not draining faster than it should be. Your phone's processor runs at different frequencies when you're using the device. The CPU...

XDA NEWS
Mario Tomás Serrafero · Jul 31, 2015 at 11:00 am · 3 comments

The OnePlus 2 & The Year of Smartphone Compromises

We are very close to entering the last third of 2015, and we have now seen many of the biggest flagship lines issue their latest iterations. Phones like the LG G4 and Galaxy S6 were some of the most anticipated devices in smartphone history, and the hype surrounding the M9 and OnePlus 2 had us discussing for weeks. But for the most part, the awe has vanished.   There is a feeling that virtually all of us at the XDA office...

XDA NEWS