64167USERASSIST

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Program Execution Analysis using UserAssist Key in Modern Windows

Bhupendra Singh and Upasna Singh


Department of Computer Science and Engineering, Defence Institute of Advanced Technology (DU), 411025, Pune,
Maharashtra, India

Keywords: UserAssist, Windows Registry Forensics, User Activity Analysis, Program Execution Analysis, Malware
Analysis.

Abstract: The construction of user activity timeline related to digital incident being investigated is part of most of the
forensic investigations. Sometimes, it is desirable to know the programs executed on a system, and more
importantly, when and from where these programs were launched. Program execution analysis is very mean-
ingful effort both for forensic and malware analysts. The UserAssist key, a part of Microsoft Windows registry,
records the information related to programs run by a user on a Windows system. This paper seeks thorough
investigation of UserAssist key, as a resource for program execution analysis. In this paper, the binary struc-
ture of UserAssist key in modern Windows (Windows 7/8/10) is presented and compared with that in older
versions of Windows (e.g., Windows XP). Several experiments were carried out to record the behavior of
UserAssist key when programs were executed from various sources, such as USB device, Windows store and
shared network. These artifacts were found to persist even after the applications have been uninstalled/deleted
from the system. In the area of program execution analysis, the paper highlights the forensic capability of
UserAssist key and compares it with that from similar sources, such as IconCache.db, SRUDB.dat, Prefetch,
Amcache.hve and Shortcut (.lnk) files, in order to summarize what information can and cannot be determined
from these sources.

1 INTRODUCTION terns of anti-forensic tools designed to delete artifacts


or prevent artifacts can also be determined using the
In digital forensic investigations, it is sometimes es- NTFS USN change journal (Lees, 2013) (Talebi et al.,
sential to carry out program execution analysis on a 2015). The authors in (Singh and Singh, 2016a) have
suspected system to know recently run programs and shown the traces of recently accessed files and run ap-
their execution history. Program execution analysis plications in Jump Lists on Windows 10 system. They
is helpful in detection of anti-forensic tools executed demonstrated that the traces of run applications per-
to thwart forensic examinations. Malware programs sist even after the applications are removed from the
have to run before hiding or sending data remotely, system. In (Wong, 2007), the author has described
thus, program execution analysis may be an impor- that numerous artifacts related to run programs on
tant asset to identify them. The UserAssist key, a part Windows system are recorded in UserAssist registry
of Windows registry, is a very useful resource in the key. According to (Carvey, 2016), not all applica-
area of program execution analysis to analyze what tions create their existence in the Windows registry.
programs were recently run and their executions his- For instance, some peer-to-peer applications do not
tory (Carvey, 2005), (Carvey, 2011). The information rely on registry to store information, instead, they use
obtained from UserAssist key can also be leveraged configurations files due to the fact that these appli-
in construction of forensic timeline of user activities. cations are cross-platform and Java-based. The au-
Program execution analysis and their usefulness thors in (Mee and Jones, 2005), (Carvey and Altheide,
in forensic investigations have been widely discussed 2005), and (Mee et al., 2006) have investigated the
in various literature published. The evidence of run- UserAssist key to identify the external devices that
ning programs on a Windows system can be found have been connected to the system in order to run a
in numerous log files including Prefetch, Pagefile.sys, malware program or an anti-forensic tool. In (Col-
Event logs, NTFS USN journal, Registry keys, Jump lie, 2013), the author has examined the evidential po-
Lists etc. (Eterovic-Soric et al., 2017). The pat- tential of Windows IconCache.db file and found that

420
Singh, B. and Singh, U.
Program Execution Analysis using UserAssist Key in Modern Windows.
DOI: 10.5220/0006416704200429
In Proceedings of the 14th International Joint Conference on e-Business and Telecommunications (ICETE 2017) - Volume 4: SECRYPT, pages 420-429
ISBN: 978-989-758-259-2
Copyright © 2017 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
Program Execution Analysis using UserAssist Key in Modern Windows

IconCache.db file stores artifacts related to executable and their analysis in Windows XP and Windows 7
files when they are present on or run from USB con- have been widely discussed in (AccessData, 2008)
nectable devices. Further, The author in (Lee and (Pullega, 2013).
Lee, 2014) identified the structure and highlighted The next subsections describe about the GUIDs
the importance of IconCache.db file in forensic in- and their meaning, followed by the comparison of bi-
vestigations. The authors demonstrated that Icon- nary data structure of UserAssist key in different ver-
Cache.db file stores full file paths for executable files sions of Windows.
that have been run, viewed, or installed on a Windows
system. In (Khatri, 2015) the author examined the 2.1 Windows XP and Vista
SRUDB.dat file in Windows 8, as a new database for
tracking user activities and linking launched programs In Windows XP and Vista, UserAssist keys bi-
by users. The author has demonstrated the usefulness nary data contains information for the applications
of SRUDB.dat database in forensic investigations by launched by a user only via Windows Explorer. In
tracking Windows store app runs, tracking processes these versions of Windows, following GUIDs key
run from external media devices, tracing deleted pro- were observed beneath UserAssist key which are
cesses and anti-forensic tools. In (Singh and Singh, common across the same platform:
2016b), the authors demonstrated the traces of run ap-
• {0D6D4F41-2994-4BA0-8FEF-
plications in Windows Amcache.hve registry hive and
620E43CD2812}- A key that appears to be
their utilization in forensic investigations.
specific to Internet Explorer 7 (IE7).
• {5E6AB780-7743-11CF-A12B-
00AA004AE837}- IE favorites and other IE
2 UserAssist KEY IN WINDOWS toolbar objects.
• {75048700-EF1F-11D0-9888-
Microsoft Windows OS implements various logging 006097DEACF9}- A list of applications,
and error reporting mechanisms to have a record files, links, and other objects that have been
of how system is being used. This information is accessed.
logged at numerous hidden locations on hard drive to
make OS more interactive and user-friendly. These Below is the list of few frequently used UEME-
logs can serve as forensic “nuggets” to analysts to strings in Windows XP (Pullega, 2013):
exploit. The UserAssist key, a part of Windows • UEME CTLSESSION: This entry is for the ses-
registry, was first introduced in Windows NT4 and sion ID, it does not hold data about executed pro-
continued in later versions of Windows including grams.
Windows 10. The UserAssist key is maintained by
• UEME UIQCUT: This entry counts the programs
Microsoft in each user’s NTUSER.DAT hive file at
launched via Quick launch menu shortcut.
the following file path (on all versions of Windows):
Software\Microsoft\Windows\CurrentVersion • UEME UISCUT: This entry counts the programs
\Explorer\UserAssist or, on live com- launched via Desktop shortcut.
puter system, at \HKCU\Software\Microsoft • UEME RUNCPL: This entry keeps data about ex-
\Windows\CurrentVersion\Explorer \UserAssist. ecuted control applets (.cpl).
Beneath the UserAssist key, there are atleast two
• UEME RUNPATH: This entry keeps data about
subkeys (same across platform, but may be more in
executed programs.
different version of Windows) which represent glob-
ally unique identifiers (GUIDs). Each GUID key con- • UEME RUNPIDL: This entry keeps data about
tains a subkey called ‘Count’ under which the ac- executed PIDLs.
tual values are stored in obfuscated manner (Stevens, • UEME UITOOLBAR: This entry keeps data
2010). There is no available Microsoft document about clicks on the Windows Explorer Toolbar
detailing inside the method and the purpose of ob- buttons.
fuscating the values inside Count subkey; however,
In Windows XP and Vista, it is easier to de-
researchers (AccessData, 2008) in forensic commu-
termine how an application was launched. For
nity have identified that these values can be decoded
instance, the path information for cmd.exe when
into readable format using ROT-13 algorithm. There
decoded using ROT-13 method, was recorded un-
are publicly available script and GUI tools (Stevens,
der UserAssist key value as UEME RUNPATH:
2006) (Carvey, 2013) (Zimmerman, 2015) to parse
C\Windows\system32\cmd.exe.
the UserAssist key. The UserAssist key, its subkeys,

421
SECRYPT 2017 - 14th International Conference on Security and Cryptography

2.2 Windows 7 and Higher Versions For instance, the path information for cmd.exe
when decoded using ROT-13 method, is recorded
On a Windows 7 system, only two GUID keys (differ- under UserAssist key value as 1AC14E77-02E7-
ent from Windows XP) were observed as below: 4E5DB744-2EB1AE5198B7\cmd.exe. Unlike in
1. {CEBFF5CD-ACE2-4F4F-9178- Windows XP, UEME RUNPATH: strings appeared
9926F41749EA}- A list of applications, files, to be missing in modern Windows. However, new
links, and other objects that have been accessed. GUIDs were introduced to keep track of applica-
tions how they were launched. 1AC14E77-02E7-
2. {F4E57C4B-2036-45F0-A9AB- 4E5DB744-2EB1AE5198B7 GUID corresponds to
443BCFE33D9F}- Lists the shortcut links C:\Windows\System32. Table 2 presents the List of
used to start programs. known folders and their associated GUIDs in modern
However, on Windows 8 and higher versions, nine Windows.
GUID keys including above two keys, were ob-
served under UserAssist key. The UEME-strings
are reduced in Windows Vista and further re- 3 METHODOLOGY
duced in Windows 7 and higher versions. Only
two UEME-strings: UEME CTLCUACount:ctor and The following subsections describe the objective of
UEME CTLSESSION are remained in Windows 7-10. the study, research methodology, tools, and the exper-
iments formulated in accordance with the objective.
2.3 Structure of Binary Data
3.1 Objective
The most significant change of UserAssist keys in
Windows 7 was a new format for binary data. In Win- The objective of this study is to investigate the behav-
dows 7, the size of the binary data was observed to be ior of the UserAssist key, as a result of installing or
72 bytes as opposed to 16 bytes in Windows XP/Vista launching applications from various possible ways. It
(Stevens, 2010). This structure appears to be same will also examine the artifacts being created and re-
in modern Windows (Windows 7-10). Figure 1 illus- tained in UserAssist key when application are exe-
trates the binary structure of a UserAssist key entry in cuted from Window store (in Windows 8+) and shared
Windows 10 Pro v1607 system and compares it with network. The effects of anti-forensic activities on
that in Windows XP (refer to, Table 1). The newly UserAssist key are also taken into consideration.
added fields can significantly effect the investigations,
as the new binary structure contains a great deal of
3.2 Research Methodology
information. The first four bytes identifies a session
that appears to vary across same platform. The next
The research in this article was approached through
four bytes starting at offset 4, represents a counter that
observation and experimentation. For analyzing the
increments upon program execution. Thus, this at-
behavior of UserAssist key, several experiments were
tribute can supply background information on the fre-
conducted on six test computers (three hosts and
quency applications have been executed on the sys-
three virtual machines) running different versions of
tem. For a certain application, this value differs from
Windows system including Windows 7 Professional
corresponding Prefetch file run count, as UserAssist
SP1, Windows 8 Pro and Windows 10 Pro v1607.
key is user-specific while Prefetch is not. On a Win-
The clean environment for each virtual machine
dows XP/Vista machine, the run count starts with the
was created using VMWare Workstation v11.1.0.
number ‘5’ as default value. So if we are manually
NTUSER.DAT file from each virtual machine was ex-
parsing this data, remember to subtract 5 from the run
tracted from virtual hard disk using FTK imager while
counter when dealing with these machines. The new
the same from each host machine was extracted using
structure can reveal the focus time (in milliseconds)
a live boot USB of Ubuntu 16.04 LTS following the
an application had. This can provide information of
system shutdown. This is authors opinion that this is
how long a program (benign or evil) was being ex-
the best method to analyze the behavior of UserAs-
ecuted on the system by a particular user. The last
sist key due to the fact that installing (and hence for
execution timestamp (in FILETIME) when decoded
analysis) any forensic tool, such as FTK, Encase etc.
can provide the date and time when the application
would modify the content of UserAssist key.
was last time executed.
In modern Windows, the UserAssist key also
keeps track of applications how they were launched.

422
Program Execution Analysis using UserAssist Key in Modern Windows

Figure 1: Binary data structure of a UserAssist key entry in Windows 10 Pro v1607 system.

Table 1: Comparison of UserAssist key binary data structure in older and modern Windows.

Binary data structure in Windows XP Binary data structure in Windows 7-10


Size Size
Offset Description Offset Description
(bytes) (bytes)
0-3 4 Identifies a session 0-3 4 Identifies a session
4-7 4 Run count (starts at 5) 4-7 4 Run counter (starts at zero)
Last execution timestamp
8-15 8 8-11 4 Focus count
(in FILETIME)
Total time an application
12-15 4
had focus (milliseconds)
16-59 44 Unknown
Last execution timestamp
60-67 8
(in FILETIME)
68-72 4 Always ‘0x00000000’

Table 2: List of known folders and their associated GUIDs in modern Windows.
GUIDs Corresponding Folders
1AC14E77-02E7-4E5D-B744-2EB1AE5198B7 C:\Windows\System32
6D809377-6AF0-444B-8957-A3773F02200E C:\Program Files
7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E C:\Program Files (x86)
F38BF404-1D43-42F2-9305-67DE0B28FC23 C:\Windows
0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8 C:\ProgramData\Microsoft\Windows \Start Menu\Programs
9E3995AB-1F9C-4F13-B827-48B24B6C7174 %AppData%\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned
A77F5D77-2E2B-44C3-A6A2-ABA601054A51 %AppData%\Roaming\Microsoft\Windows \Start Menu\Programs
D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27 C:\Windows\SysWOW64

Table 3: Software tools used in study.


Software tool Version Developer Purpose
VMWare Workstation 11.1.0 VMWare To create a virtual machine of Windows operating systems
FTK imager 3.4.2.6 AccessData To extract NTUSER.DAT file from virtual hard disk
Registry Explorer 0.8.1.0 Eric Zimmerman To parse and view the contents of offline NTUSER.DAT file
UserAssist 2.6.0.0 Didier Stevens To parse and view contents of UserAssist key of a live system
Registry Editor 5.00 Microsoft To modify or delete registry subkeys and values
DCodea 4.02a DCode Solutions To calculate date/time values from binary data
HxD Hex Editorb 1.7.7.0 Mael Horz To view/modify raw content of Amcache.hve file
a Available from: http://www.digital-detective.net/digital-forensic-software/free-tools/
b Available from: https://mh-nexus.de/en/hxd/

423
SECRYPT 2017 - 14th International Conference on Security and Cryptography

3.3 Tools Used in Study Windows 10. Following the installation, these appli-
cations were run for multiple times and finally unin-
The software tools used in this research and their pur- stalled from the system.
pose are summarized in Table 3.
3.4.3 Experiment 3 - Running Portable
3.4 Experiments Applications

A number of experiments were formulated to ascer- This experiment was conducted to know whether in-
tain information required for the objective. These ex- formation related to program executions are stored
periments were performed on both type of systems to in UserAssist key when portable programs are exe-
validate the results highlighted in the subsequent sec- cuted from external devices and shared network. We
tion. Below are the research questions that need to executed portable applications from a USB device
answer through experiments and observations: and a shared network. To perform the experiment,
the public folder containing various portable applica-
• What information is stored when host-based ap- tions (in example, rufus1.4.12.exe) within user’s pub-
plications are executed? lic profile of a computer with computer-name as John
• What are the effects of installing or uninstalling was shared over a network. Subsequently, in another
applications on UserAssist key? computer, these applications were executed from the
shared folder.
• What information is stored when portable appli-
cations are run from various sources such as USB 3.4.4 Experiment 4 - Anti-forensic Attempts
drives and shared network?
• What are the effects of anti-forensic attempts per- This experiment was designed to observe the behavior
formed on UserAssist key? of UserAssist key when anti-forensic attempts such as
• What are the effects of creating a new user ac- modification and deletion of certain or all UserAssist
count? entries are carried out by a suspected user in order to
hide/delete the traces of run applications. Users can
3.4.1 Experiment 1 - Running Host-based modify or delete any entry from UserAssist key using
Applications the Registry Editor (regedit.exe) application by right-
clicking the entry and selecting ‘Modify Binary Data’
This experiment was performed to determine the ef- or ‘Delete’ option. Users can also use UserAssist tool
fects on UserAssist key when host-based applica- to delete particular entries or all. In one experiment,
tions are run on a Windows system. For this, we we modify binary data of certain entries including run
executed different host-based applications, such as count, focus count, focus time, and last timestamp of
Notepad, Wordpad, Run, Microsoft Edge, Windows execution. In other experiment, we deleted certain
Media Player etc. via all possible ways of launching. entries from UserAssist key and executed the appli-
Note that the applications used are merely examples cations for which the entries were deleted. Before
and can be substituted with countless others. These deleting any entry, we noted binary data of that en-
possible ways of launching a host-based application try to see the changes in binary data after the dele-
(Notepad, for our analysis) and its effects on UserAs- tion. One more experiment was conducted in which
sist key are provided in subsection 4.1. all UserAssist entries were deleted from the system
to know how entries in UserAssist key are populated
3.4.2 Experiment 2 - Installing and Uninstalling when applications are executed.
Applications
3.4.5 Experiment 5 - Adding a New User
For conducting this experiment, we installed differ- Account
ent user applications from various sources, such as
USB device, Windows store etc., and subsequently This experiment was conducted to investigate the ef-
launched them to know whether the UserAssist key fects of creating a new user account in different ver-
for these applications behaves differently from host- sions of Windows system including Windows 7 Pro-
based applications. To show our analysis, we consid- fessional SP1, Windows 8 Pro and Windows 10 Pro
ered an executable (MyPublicWiFi.exe, for example) v1607. A standard user account on each considered
which was installed with default settings from a USB system was created without signing in with Microsoft
device and a Windows Store App (Facebook, for ex- account (for Windows 8 and 10). NTUSER.DAT file
ample) which was installed from Windows Store in from each virtual machine was extracted from virtual

424
Program Execution Analysis using UserAssist Key in Modern Windows

hard disk using FTK imager following the system Action #6: Notepad via Taskbar. For this,
shutdown. For parsing and viewing UserAssist key, notepad application is added to Taskbar by
UserAssist tool was used. clicking Notepad >‘Pin to Taskbar’ and sub-
sequently run from Taskbar. When Notepad
is first time launched via Taskbar then run
4 RESULTS count increments by one for 1AC14E77-02E7-
4E5D-B744-2EB1AE5198B7\notepad.exe entry
This section describes outcomes of the experiments and new entry 9E3995AB-1F9C-4F13-B827-
designed in the previous section. 48B24B6C7174\TaskBar\Notepad.lnk is created
with run count as 1, and focus counter as 0 and focus
time as 1.
4.1 Running Host-based Applications Action #7: Notepad via MFU Start Menu Item.
When the application is run using clicking notepad in
Below are the possible ways of launching a host- Most used list, then UserAssist key behaves same as
based application (Notepad, for our analysis) and for Start Menu.
their effect on UserAssist key.
Action #1: Click Notepad via Start Menu.
4.2 Installing and Uninstalling
When Notepad application is run via Start Menu then
two entries are created; one beneath ‘Count’ subkey Applications
of {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}
and other beneath ‘Count’ subkey of {F4E57C4B- The results of the conducted experiment are as fol-
2036-45F0-A9AB-443BCFE33D9F}. When lows:
decoded, first entry is created as 1AC14E77-02E7- • If an application is installed on a system,
4E5D-B744-2EB1AE5198B7\notepad.exe, while a UserAssist key entry beneath the ‘Count’
other entry is created as A77F5D77-2E2B-44C3- subkey of {CEBFF5CD-ACE2-4F4F-9178-
A6A2-ABA601054A51\Accessories\Notepad.lnk. 9926F41749EA} GUID key is created for that
The subsequent runs of the considered application application. The value name for the entry when
update the binary data of both entries but differently. decoded using ROT-13, represents the complete
For instance, focus time in first entry is the total time file path from where the application was installed.
Notepad applications had focus, in contrast, focus The run counter value was found one while focus
time in other entry was always appeared as zero. time and focus counter values were observed as
Action #2: Notepad via Shortcut. When zero. The last execution timestamp represents
the application is run using by doble-clicking the date and time the application was installed.
%AppData%\Roaming\Microsoft\Windows Figure 2, illustrates that MyPublicWiFi.exe appli-
\StartMenu\Programs\Accessories \Notepad.lnk cation was installed from D drive at timestamp
then behavior of UserAssist key was found to be 25/01/2017 3:46:30 PM (in time zone of local
same as for Action #1. system).
Action #3: Run Directly by Double- • When any user application, following the instal-
clicking on Notepad.exe. When notepad ap- lation, is run for the first time then two more
plication is run directly by double-clicking on UserAssist entries are created for that applica-
C:\Windows\System32\notepad.exe, then informa- tion. The value name of the entry which is
tion is updated only for 1AC14E77-02E7-4E5D- created beneath {CEBFF5CD-ACE2-4F4F-9178-
B744-2EB1AE5198B7\notepad.exe entry. 9926F41749EA} GUID key signifies file path
Action #4: Notepad >‘Run as Administrator’ where the application was installed. While,
via Start Menu. When notepad application is run the entry which is created beneath {F4E57C4B-
as administrator then for entry 1AC14E77-02E7- 2036-45F0-A9AB-443BCFE33D9F} GUID key
4E5D-B744-2EB1AE5198B7\notepad.exe run count signifies the file path to Shortcut (.lnk) file
increments by three, while for entry A77F5D77- for that application (for our analysis, refer
2E2B-44C3-A6A2-ABA601054A51\Accessories first and second entries in Figure 2). Sub-
\Notepad.lnk, run count increments only by one. sequent runs of an application always update
Action #5: Notepad via Start Menu >Run... the binary data for key under {CEBFF5CD-
dialog. When notepad application is run via ACE2-4F4F-9178-9926F41749EA} GUID; how-
Start Menu >Run... dialog, then information ever, it may not always update the binary data
is updated only for 1AC14E77-02E7-4E5D-B744- for key under {F4E57C4B-2036-45F0-A9AB-
2EB1AE5198B7\notepad.exe entry. 443BCFE33D9F} GUID, due to that fact that the

425
SECRYPT 2017 - 14th International Conference on Security and Cryptography

Figure 2: Parsing UserAssist key using UserAssist tool.

application can be run by other ways instead of • The information related to portable applications is
double-clicking the .lnk file. also recorded under {CEBFF5CD-ACE2-4F4F-
• It was observed that when a user application is 9178-9926F41749EA} GUID of UserAssist key.
launched by the possible ways as listed in Action • The decoded value names refer the complete
#1, behavior of the UserAssist entry for that ap- file path from which the portable applications
plication is reported same as for host-based appli- were executed including the computer-name of
cations. the shared computer over a network (e.g., refer to
• When any user application is uninstalled from the Figure 3).
system then the UserAssist entry associated with • USB drive properties such as drive name and se-
that application still persists at the same loca- rial number is not recorded in UserAssist key.
tion. If the application was uninstalled by Control
• Only the drive letter was observed in the value
Panel >Programs and Features >Uninstall, then
names of the UserAssist key but not the drive
binary data for that UserAssist entry is not up-
name.
dated with new timestamp. In contrast, if the ap-
plication was uninstalled by selecting the ‘Unin- • Other important information such as last execu-
stall’ option on the application selected for dele- tion timestamp and frequency of execution are
tion in Start Menu (or Start Menu >Uninstall), also recorded that can be helpful in timeline anal-
then binary data is updated to record the new ysis to reconstruct the event.
timestamp. Thus, the UserAssist key may or may
not be helpful in determining the uninstall times- 4.4 Anti-forensic Attempts
tamp for the user applications.
• If any Windows store app is installed on a system, Following are the observed effects of anti-forensic at-
no UserAssist entry is created for it even after the tempts performed on UserAssist entries:
system reboot or shutdown. The UserAssist entry • When an entry from UserAssist key is deleted, it
for the installed app is created only when the app was not recreated upon Windows restart or shut-
is run for the first time. Subsequent runs of the app down.
update the binary data for the UserAssist entry as
usual. • Entries were recreated only when the applications
associated with those entries were executed fol-
• When any Windows store app is uninstalled from
lowing the deletion.
the system then the UserAssist entry associated
with that app still persists at the same location • The modifications in binary data of entries per-
and is not updated with new timestamp. Thus, sisted until the applications associated with those
only last execution timestamp but not the unin- entries were not executed again.
stall timestamp could be determined for Windows • The run count, focus count and focus time values
store apps from UserAssist key. were reset when entries were recreated (refer to,
Table 4).
4.3 Running Portable Applications
• On subsequent runs of applications, binary data of
Below are the results when the portable applications entries were updated as usual.
are run from a shared network, or a USB drive: • When all entries are deleted from UserAssist key,
then entries are populated when the applications

426
Program Execution Analysis using UserAssist Key in Modern Windows

Figure 3: Artifacts of program run from a shared network in UserAssist key.

Table 4: Changes to binary data in UserAssist key entry for WordPad application.
Activities Timestamp Run count Focus time
Run wordpad.exe 25/01/2017 10:43:21 AM 12 67162
Run again 25/01/2017 10:46:11 AM 13 69012
Delete UserAssist
entry@11:48, run 25/01/2017 10:49:32 AM 1 2926
wordpad.exe@11:49
Run again 25/01/2017 10:51:22 AM 2 4571

are first time executed following the deletions. sics community. This section presents and com-
The information in binary data was reset. pares the forensic capabilities of such resources in-
vestigated in published research articles and blog
4.5 Adding a New User Account posts. Six sources of program executions namely,
IconCache.db (Collie, 2013) (Lee and Lee, 2014),
The observed effects of adding a new user account are Shortcut (Singh and Singh, 2016a) (Parsonage, 2008),
as follows: Prefetch (Wade, 2010), SRUDB.dat (Khatri, 2015),
• Setting up a new user account in a Windows sys- Amcache.hve (Singh and Singh, 2016b) and UserAs-
tem results in creation of NTUSER.DAT hive file sist key are taken into consideration..
in their profile. The location of UserAssist key The IconCache.db files store information of file
was observed same as for original users. paths of applications that have been installed, run,
• The contents of new UserAssist key was found copied or viewed by a user on Windows systems. The
different from the UserAssist key for the original information related to timestamp of installed or ex-
user. ecuted applications is not recorded in IconCache.db
• The last execution timestamp in entries of de- files. Shortcut (.lnk) files record information related
fault applications was observed same which is the to applications including created, accessed and mod-
timestamp of setting up the new user account. ified timestamps (in UTC), full file path, drive type,
serial number, and the volume name from which the
• The creation of new user account did not affect the
applications were run. However, Shortcut (.lnk) files
content of UserAssist key for the original user.
do not store any information related to run count of
applications. A Prefetch file can provide information
of file path from which the application was executed,
5 DISCUSSION timestamps of the first and the last execution, and the
number of times certain application has been executed
The research into the forensic usefulness of various on system (Wade, 2010). However, Prefetch files are
resources related to program execution analysis in not always created for Window store apps as many
Windows has been conducted actively in digital foren- apps are not associated to an executable file. Also, if

427
SECRYPT 2017 - 14th International Conference on Security and Cryptography

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

428
Program Execution Analysis using UserAssist Key in Modern Windows

the user’s technical capability, based on the number Parsonage, H. (2008). The meaning of link files in forensic
and the type of applications installed on the system. examinations. Computer Forensic misCellany.
The paper also provides the comparison of foren- Pullega, D. (2013). Userassist forensics (timelines, interpre-
sic capabilities of various sources of program execu- tation, testing, & more). http://www.4n6k.com/2013/
tion analysis, namely, IconCache.db, Prefetch, Short- 05/userassist-forensics-timelines.html. [accessed 29-
Dec-2016].
cut (.lnk), SRUDB.dat, Amcache.hve, and UserAs-
Singh, B. and Singh, U. (2016a). A forensic insight into
sist. This is intended to help analysts to combine and windows 10 jump lists. Digital Investigation, 17:1–
correlate the information from these sources for better 13.
tracking of applications. However, analysts are sug- Singh, B. and Singh, U. (2016b). Leveraging the windows
gested to corroborate the findings from other sources, amcache.hve file in forensic investigations. The Jour-
such as Jump Lists, AppCompatFlags, AppCompat- nal of Digital Forensics, Security and Law: JDFSL,
Cache, Event Logs, Pagefile.sys, and USN Journal. 11(4).
Stevens, D. (2006). Userassist. https://blog.
didierstevens.com/programs/userassist/. [accessed
02-Dec-2016].
REFERENCES Stevens, D. (2010). Windows 7 userassist registry keys.
https://intotheboxes.files.wordpress.com/2010/04/
AccessData (2008). Understanding the userassist intotheboxes 2010 q1.pdf. [accessed 02-Feb-2017].
registry key. https://ad-pdf.s3.amazonaws.com/ Talebi, J., Dehghantanha, A., and Mahmoud, R. (2015). In-
UserAssist%20Registry%20Key%209-8-08.pdf. [ac- troducing and analysis of the windows 8 event log for
cessed 12-Jan-2017]. forensic purposes. In Computational Forensics, pages
Carvey, H. (2005). The windows registry as a forensic re- 145–162. Springer.
source. Digital Investigation, 2(3):201–205. Wade, M. A. (2010). Decoding prefetch files for forensic
Carvey, H. (2011). Windows registry forensics: Advanced purposes. Harris Corporation.
digital forensic analysis of the windows registry. El- Wong, L. W. (2007). Forensic analysis of the windows reg-
sevier. istry. Forensic Focus, 1.
Carvey, H. (2013). Regripper. https://code.google.com/ Zimmerman, E. (2015). Registry explorer/recmd version
archive/p/regripper/downloads. [accessed 26-Jan- 0.7.1.0. https://ericzimmerman.github.io/. [accessed
2017]. 26-Jan-2017].
Carvey, H. (2016). Windows registry forensics: Advanced
digital forensic analysis of the windows registry. El-
sevier, 2nd edition.
Carvey, H. and Altheide, C. (2005). Tracking usb storage:
Analysis of windows artifacts generated by usb stor-
age devices. Digital Investigation, 2(2):94–100.
Collie, J. (2013). The windows iconcache.db: A resource
for forensic artifacts from usb connectable devices.
Digital Investigation, 9(3):200–210.
Eterovic-Soric, B., Choo, K.-K. R., Mubarak, S., and Ash-
man, H. (2017). Windows 7 antiforensics: A review
and a novel approach. Journal of Forensic Sciences.
Khatri, Y. (2015). Forensic implications of system resource
usage monitor (srum) data in windows 8. Digital In-
vestigation, 12:53–65.
Lee, C.-Y. and Lee, S. (2014). Structure and application of
iconcache.db files for digital forensics. Digital Inves-
tigation, 11(2):102–110.
Lees, C. (2013). Determining removal of forensic artefacts
using the usn change journal. Digital Investigation,
10(4):300–310.
Mee, V. and Jones, A. (2005). The windows operating sys-
tem registry–a central repository of evidence. In Pro-
ceedings from e-crime and computer evidence confer-
ence, volume 2005.
Mee, V., Tryfonas, T., and Sutherland, I. (2006). The win-
dows registry as a forensic artefact: Illustrating evi-
dence collection for internet usage. digital investiga-
tion, 3(3):166–173.

429

You might also like