Second, we introduce the design and implementa-
tion of a forensic tool called RAMAS, which consists
of a collaborative and extensible framework for anal-
ysis of communication records from volatile memory.
RAMAS is able to extract such records from mul-
tiple web-based messaging applications and display
the extracted records on a user-friendly timeline. RA-
MAS is designed in a modular fashion so as to accom-
modate an ever-growing number of applications and
allow collaborative development and maintenance of
the system by independent forensic analysts. This
goal is achieved through the implementation of ex-
traction modules: each module contains a set of (sim-
ple) rules that allow RAMAS to extract the records of
a specific application and represent them on a com-
mon application-independent format (Section 3).
Lastly, we present an experimental evaluation
of our framework. To this end, we used RAMAS
for conducting analysis over the data extracted from
memory chips with sizes typically found in commod-
ity hardware. Our evaluation shows that RAMAS is
efficient, e.g., it can process communication records
spawning from six different applications, in an 8 GB
memory dump, in roughly about three minutes. We
also enact a use case for demonstrating the usefulness
of our framework’s evidence presentation capabilities
which may help digital investigators in uncovering so-
phisticated correlations among evidence from several
applications or across memory images (Section 4).
2 DIGITAL FORENSICS STUDY
This section presents the digital forensics study that
we carried out in order to assess the existence of com-
munication records in physical memory produced by
web-based messaging applications. This study lays
the ground for the subsequent development of a foren-
sic tool for automatic extraction of such records.
2.1 Goals of the Forensics Study
More concretely, the goal of this study is to check
whether and in which conditions communication
records can be obtained from memory dumps. In par-
ticular, our research is driven by two key questions:
How are messages represented in memory? The
programmers of web-based messaging applications
are free to implement them using a range of differ-
ent technologies. Some design decisions comprise the
choice of front-end and back-end programming lan-
guages (ex. Javascript, PHP), others involve select-
ing the data representation format of communication
records (ex. JSON, XML, binary). This heterogeneity
in data representation and platforms may impact the
way communication records are loaded into memory
and contribute for the absence of a common model of
the structure of communication records among differ-
ent implementations of browsers and operating sys-
tems. This implies that a tool developed for analyz-
ing this kind of evidence would exhibit the additional
complexity of having to take into account such differ-
ences between record structures, even when analyzing
a single application. We aim to assess whether there is
a common model which allows for the interpretation
of textual web-application data lingering in memory.
How long do messages persist in memory? The
persistence of in-memory data structures may be af-
fected by the browser where the web-based messag-
ing application runs. First, we must ascertain whether
the browser runtime environment imposes limitations
on the ability to recover communication records from
physical memory. In particular, to provide the inter-
action with web-applications, web-browsers rely on
different layout engines (ex. Blink, Gecko) which af-
fect the way a browser hosts, renders or executes web
content. Similarly, several implementations of oper-
ating systems target different platforms (ex. worksta-
tion, mobile) and are expected to apply disparate low-
level mechanisms for performing memory manage-
ment. Furthermore, different user interactions may
trigger the erasure or replacement of potential evi-
dence in volatile memory. For instance, data pertain-
ing to a given web-application may be evicted shall a
user navigate to a different browser tab or terminate
her browsing session. Finally, modern browsers im-
plement private browsing execution modes which en-
ables users to browse the web while disabling both the
browsing history and web cache. This feature is im-
plemented by popular browser vendors and is known
under different aliases, such as Incognito, InPrivate or
PrivateBrowsing. We must evaluate whether the use
of private browsing may compromise the existence of
digital artifacts lingering in memory.
2.2 Experimental Methodology
To investigate whether and in which conditions mes-
sages can be obtained from memory, we performed
an experimental study of several web-based messag-
ing applications. In particular, we analyzed digi-
tal artifacts concerning IM records for Facebook’s
chat, Facebook Messenger’s chat, Skype, Twitter’s
Direct Messages, Google Hangouts, WhatsApp, Tele-
gram, and Trillian. We also analyzed communication
records of three email web-clients: Outlook, a generic
Roundcube email client, and Gmail.
These applications were tested on different brow-
SECRYPT 2017 - 14th International Conference on Security and Cryptography
44