Memory Dump Analysis Project Report - Edited1
Memory Dump Analysis Project Report - Edited1
Memory Dump Analysis Project Report - Edited1
Student Name
Institutional Affiliation
Professor’s Name
Course Name
Due Date
2
1. Introduction
1.1 Overview
In digital forensics, time is a crucial factor, especially when working with the system memory or
RAM. So, compared to other forms of system memory, RAM is very volatile, which implies that
it keeps data temporarily, and this information can change if the computer or the device is
switched off or restarted. Thus, in the course of time, various system activities like working
processes, network interactions, or interrupts can change the contents of memory and wipe out
Such changes in RAM may significantly affect a forensic investigation as volatile data contains
active processes, network connections, open files, encryption keys, and other artifacts relevant to
a case. It can be crucial for reconstructing what happened, establishing the continuity of threats,
For this project I analyzed two memory dumps to understand how system memory (RAM)
changes over time. Memory dumps take snapshots active in RAM related to data in RAM such
as processes, network connections, cached data, and sensitive information. It was by playing
around with the dumps that I got to learn about the volatility of memory and how data structures
in RAM grow over time. Such analysis is key in digital forensics, cybersecurity, and even system
diagnostics.
A memory dump, also, a core dump, is a snapshot of a system’s memory at a given time.
Memory dump entails information about: malware, security breaches, system states, memory
contents (Bachchas, 2023). There are three categories of memory dumps; complete memory
dumps that records all the contents of the system memory when the computer stops inexpertly,
3
small memory dumps file in the occasion of a computer failure and a mini-dump which is a
Among the tools used to create a memory dump of windows machine is FTK Imager. The
creation steps are as follows: download and install ftk imager, click file, select capture memory,
choose a destination path and file name, decide whether to include the page file, decide whether
to create AD1 file, and click capture memory and this will write all information in RAM to a
1.2 Objectives
The primary goal was to compare two memory dumpsaction at different points in time (which is
a snapshot of the total memory that the computer is using), in this case: TS1 and TS2 to
determine:
4.Metadata around each dump to get an idea of what happened and when, e.g. file size, most
Understand the impact of time and memory size on the volatility of evidence
4
Table of Contents
1. Introduction 2
1.1 Overview 2
1.2 Objectives 3
2.Assignment Task 5
3.Sequential Process with Explanations 9
3.1 Data collection and preprocessing: Step 1 10
3.2 Step 2: You will compute the similarity 10
3.3 Step 3: Entropy Analysis 11
3.4 Step 4: Consider Reading Strings Often 12
3.5 Step 5: Metadata Extraction 12
4. Conclusion 13
4.1 Challenges and Solutions: 13
5. References 15
5
2.Assignment Task
In this assignment, I have to examine both TS1 and TS2 memory dumps to find some significant
1.Measure similarity measure how much data in your memory stay the same over time
3.Locate strings that are frequent which may give hints of running processes, cached files and
memory artefacts.
4.Metadata relating to each dump – what the data represent, and the role of file size and
This project highlighted the analysis of RAM as an important part if one is to capture and
analyze volatile data. RAM is crucial for gathering forensic evidence because it captures the
information about live processes that are running, current open network connections, and
sensitive information that only exists temporarily during the operation of a particular system.
Compared to data residing in storage during a particular time span, memory analysis shows the
Through the examination of the RAM dump, I was able to obtain insight into the state of the
system as to the currently running processes, cached files, and even potentially sensitive
Sure! Here are the extra subsections finding justification for every question regarding the choices
made and their data analytics procedure based on the information you've shared.
6
In this project, I opted to employ RAM (random access memory) analysis because it provided a
more comprehensive approach to examining volatile data. RAM retains essential forensic
connections and ephemeral data only present while the computer system is operational. Analysis
grounded in storage typically entails data that is more permanent in nature; however, these
analyses are primarily based on what resides within storage, resulting in an unblemished
Through the examination of the memory dump, I was able to discern and thus determine the
system's condition, including running processes, cached files and potentially sensitive
I chose TS1 as the primary memory dump for analysis (100 MB) rather than TS2 (50 MB) due to
its significantly larger size. The substantial difference in these sizes suggested that TS1 offered a
more comprehensive and lucid representation of the system's active memory, uncovering a
greater number of processes and cached data. Although TS1 was a larger option for analysis, it
also provided an almost complete view of the system state, which would facilitate precise results
However, it seemed that TS1 depicted an earlier system snapshot—barring any modifications—
dating back to 2014; thus, this created an intriguing contrast with the more recent TS2. This
particular comparison presented a valuable opportunity to observe how the system state might
7
RS1 and RS2 represent fixed memory reference states in this project, with RS1 set at 4 GB and
RS2 calculated as a scaled value of 16 GB. They serve to establish a baseline and an expanded
memory reference for comparison or performance measurement in the analysis. TS1 and TS2 are
time-based metrics, with TS1 set to 10 minutes as an initial waiting or processing duration, and
TS2 derived as 160 minutes through a scaling of TS1. These values (RS1, RS2, TS1, and TS2)
enable the project to standardize memory and time benchmarks, creating a consistent framework
for analyzing memory dump data and assessing how memory and time utilization vary across
different states or conditions in the system. Utilizing them offers a structured approach to
evaluate and compare memory usage and processing time under defined scenarios. evolve over
time and to unveil insights regarding the volatility of memory, as well as the progression of the
system.
I started with the memory dumps of TS1 and TS2. Due to the size of TS1 I had to break the
entire dump up into memory managed pieces so that it was no performance concern. Every new
dump was downloaded and processed so I could actually look at them without running out of
system memory.
Similarity Calculation
Comparison between TS1 and TS2 was based on CRC32 hash of each chunk on both dumps.
This hash-based data chunk comparison was fast and discriminated matches and duplicate blocks
of data. 0.00% similarity result meant the two dumps contained no common blocks of data. This
emphasized, indeed, how much RAM data is changeable with a few seconds passing.
9
Entropy Analysis
Then I did entropy on both dumps, and randomlyness would be calculated for each file. Entropy
numbers show data structure and higher values mean more randomness which means encrypted
or compressed data. Average entropy was 3.77 in TS1 and little more for TS2, the entropy was
3.96. Low entropy indicates structured as well as random information as would be found in
Next I took the 10 most common strings from each memory dump. The strings with frequent
pattern can be used to denote cached content or memory locations. TS1’s most common strings
were control characters and short ASCII strings encoding in-memory memory or looping data.
TS2 being small shows the same short sequences but fewer such, supporting system/application
data structure.
Metadata Extraction
Finally, I extracted metadata for each dump, including file size and last modification date. TS1
must have produced a more extensive system snapshot owing to its bigger size of 780 MB and
older timestamp (back in 2014). In contrast, TS2 is small at 50 MB and more recently edited to
be relatively smaller. The differences in such metadata provided context while interpreting the
other analyses, helping me make sense of why similarity is low and entropy values could differ.
What I Did: I chunk loaded dumps of TS1 (100 MB) and TS2 (50The MB) for ease processing.
12
Reason: these files were quite large so I was able to process these files in chunks to avoid high
memory consumption. Sampling pieces from each chunk also aided in performance optimization.
Insights: The large difference in size between TS1 and TS2 suggested that TS2, which can
impact both similarity and entropy calculations, may only contain a fraction of MM (Zlib —
WE DID: I computed the similarity between TS1 and TS2 by hashing each chunk (with a fast
Reason: It is needed when working with huge files and it is much faster than MD5 or SHA-1
because we are actually doing chunk based comparisons so we need it fast -- CRC32 Hashes
Results: TS1 and TS2 were 0.00% similar between one another (i.e. no identical chunks). This
indicates that data in RAM changed considerably between the times these dumps were taken due
to differences in state, memory usage and activity of applications, maybe the current one.
Step 2: Calculate Entropy for Each ChunkStep 3: Average Entropy Values in Each DumpAction
Reason: Entropy is used to calculate how random is your data, larger the entropy more the
randomness in data. It may offer a hint as to whether the data will be encrypted or compressed
Findings:
TS1-Entropy(3.77)TS2-Entropy(3.96)
Decent Entropy (Even Higher in TS2) — This indicates TS2 might have a lot more random or
volatile data, too bad both values are in the mid-range typical in memory dumps.
Measures: I pulled all ASCII printable sequences on each go chunk to perceive any signatures or
artifacts.
Using this particular strength which common strings should indicate useful information (cache
file paths, IP, App data) reasoning for this (Matplotlib, 2012).
Findings:
TL — The often strings were control characters (` s, s, s) short text series k and k which are used
TS2: Strings that were similar, though fewer because of the small file size. Such a pattern is
What You Did: Getting file size / file modified data for each dump file
Rationale: Metadata can give the dates/times in which dumps were captured as well as the
Findings:
TS1 was 100 MB and last modified in 2014, showing it might be an archived dump.
15
TS2 was 50 MB and modified on current date, suggesting it was a recent snapshot of the
This difference in size and modification date aligns with the observed dissimilarity and unique
4. Conclusion
Through this specific memory dump analysis, it was also the first time that the volatility of RAM
16
content at a given time has been evaluated over time. Other analyses comparing TS1 and TS2
showed small data overlap between two time points and a SR value of 0.00% indicating strong
transiency for memory data across time points. Entropy analysis did indicate moderate
randomness for both dumps TS2 but the latter demonstrated slightly higher entropy possibly
because of more dynamic or active data. As far as automated analysis is concerned this is
frequent string analysis of common control characters and sequences, which almost invariably
Size and Performance: For large memory dumps, high memory and CPU was needed for
Identifying meaningful patterns in known frequent strings and entropy required careful analysis
(Markić et al., 2020). Control characters and patterns of repetitive text are representations of
Overall Observations:
The reason for this is that memory dumps can vary extremely between different times or
different sessions with the same OS so a similarity score of 0 makes complete sense here!
Entropy and highly ordered strings help us understand the structure and randomness in memory
data; however, that depends on the measured data and file size.
Through the project, I gained a deeper understanding of memory volatility and how it impacts
digital forensics. This exercise illustrated the dynamic nature of RAM, emphasizing the
17
5. References
Weidemann, H. L., & Stear, E. B. (2004). Entropy analysis of parameter estimation. Information
https://docs.python.org/3/library/zlib.html
Matplotlib.org. https://matplotlib.org/
Python. (2020). The Python Standard Library — Python 3.8.1 documentation. Python.org.
https://docs.python.org/3/library/index.html
https://www.sciencedirect.com/topics/computer-science/memory-dump-file
Www.sciencedirect.com. https://www.sciencedirect.com/topics/psychology/dynamic-
nature-of-memory
Markić, I., Štula, M., Zorić, M., & Stipaničev, D. (2020). Entropy-Based Approach in Selection
https://doi.org/10.3390/e23010031
Bachchas, K. S. (2023, May 14). RAM dump: Understanding its importance and the process.
Cybersecurity.att.com. https://cybersecurity.att.com/blogs/security-essentials/ram-dump-
understanding-its-importance-and-the-process