Table 5: Comparison of artifacts stored in IconCache.db, Prefetch, Shortcut, SRUDB.dat, Amcache.hve and UserAssist.
Full execution
file path
Installed
timestamp
Last run
timestamp
Run
count
Uninstall
timestamp
Traces of
deleted applications
Traces of Windows
Store App runs
IconCache.db X × × × × ? ×
Prefetch X × X X × X ?
Shortcut (.lnk) X X X × × × ×
SRUDB.dat X × X X × × X
Amcache.hve X X X × X X ×
UserAssist X ? X X ? X X
a
X– can be determined, ×– cannot be determined, ?– may or may not be determined
the applications are deleted from the system, Prefetch
files do not record timestamp of deletions of applica-
tions. It is important to note that UserAssist key run
count differs from Prefetch run count, as UserAssist
key is user-specific. The SRUDB.dat file in Windows
8 was first investigated in (Khatri, 2015), as a forensic
resource that can be useful in tracking in tracking ex-
ternal or deleted applications, Windows store app runs
and user process mapping. However, the information
in this database lasts only for one month. By combin-
ing information from SRUDB.dat and Prefetch file for
a certain application, forensic analysts can estimate
how long the process was running and know the user
who launched it. The Amcache.hve is a registry hive
file that can reveal information such as install times-
tamp of applications, full execution path, timestamp
of the last time certain application was run, traces
of deleted applications, including the timestamp of
deletions. However, the run count of applications is
not recorded in this artifact. Fortunately, the UserAs-
sist key records more information of program execu-
tions than any other source considered. For example,
UserAssist key can provide information of an appli-
cation’s run count and the traces of deleted applica-
tions including the timestamp of deletions for portable
executable files, package applications and Windows
store apps, which cannot be gathered from any other
considered source. Nevertheless, the UserAssist key
cannot always reveal the timestamps when the certain
application was installed or uninstalled from the Win-
dows system. Thus, forensic analysts are suggested
to combine and correlate the information from above-
mentioned sources for better tracking of program ex-
ecutions.
6 CONCLUSIONS
Program execution analysis often proves to be a
meaningful effort that unravels the story of what hap-
pened on a system, including the furtive behaviors
meant to complicate the investigations. The UserAs-
sist key records information related to programs exe-
cuted on a Windows system that can be helpful while
investigating cases related to digital forensics and in-
cident response.
The number and type of UserAssist key entries
can reveal a lot more about a user who is using Win-
dows system. For instance, if the UserAssist key en-
tries are relatively less (about ten to fifteen) then in-
vestigator can infer that the system is relatively new
and only a few applications have been executed. Typ-
ically, this condition may be of a normal Windows
user. In contrast, if the UserAssist key entries are rel-
atively more than of a normal user then analysts can
infer that the system has been extensively used and
numerous different applications have been executed
over a short or long period of time. This situation is
indicative that the user is a technical user. Thus, the
number and type of UserAssist key entries can help in
identifying users- profiling the user’s technical capa-
bilities. For example, the existence of programming
applications such as Perl, Ruby or Python would be
indicative that the user is highly technical while the
existence of vulnerability analysis programs such as
Metasploit, netcat, nmap can reveal the nature and
possibly, the intention of the Windows user.
The paper presents the binary structure of UserAs-
sist key in modern Windows and compares it with that
in older version of Windows (e.g., Windows XP). A
number of experiments were conducted to investigate
the behavior of UserAssist key when applications are
executed from different sources, such as external de-
vice, Windows store, and shared network. The be-
havior of UserAssist key will have direct implications
on forensic investigations involving program execu-
tion analysis as a subject of interest. The UserAs-
sist key records a great deal of information that can
be extremely useful evidence in digital investigations,
where program execution analysis is of investigators’
prime interest. The information from UserAssist key,
such as run count and focus time can provide clue on
the frequency and the total time an evil program was
executed on the system in question. We found that
evidence of program execution persisted in UserAs-
sist key even after the target applications have been
removed from the system. Further, we discussed that
UserAssist key can be a useful resource for profiling
SECRYPT 2017 - 14th International Conference on Security and Cryptography
428