Microsoft Windows作業系統(OS)繼續主導桌面計算市場份額,超過80%的人在全球範圍內使用這一平臺(1)。因此,該作業系統仍然是世界範圍內許多數字取證檢查中的一個突出的特徵,了解作業系統特性是確定嫌疑人在這些平臺上的行為的關鍵。 最近20年Microsoft Windows作業系統的取證分析產生大量的學術評論和文獻,從內存分析到註冊表和作業系統特性(2-6)。Garfinkel(7)將1997 - 2007年的時期稱為為「黃金時代」,部分原因是「微軟Windows的廣泛使用,特別是Windows XP。」。自千禧年以來,微軟已經發布了七款主要的典型的商業作業系統版本,也就是Windows 2000、ME、XP、Vista、7、8和10,數字取證人員經常遇到這些系統。在許多情況下,取證人員的任務是解讀作業系統特定的特性,這些特性表示用戶行為(例如,記錄的最近目的地、系統註冊表內容[8],跳轉列表[9]和預讀[10]內容)來確定用戶的行為和責任歸屬。
微軟通常被認為是一個易於取證的作業系統,後續的主要更新版本會帶來新的作業系統特性,這些版本必須及時進行檢查和逆向工程。這可確保以健壯、可靠的方式正確理解各種證據,用於任何後續檢查。Windows 10引入新時間線功能就是這種情況。在2018年4月的Windows版本1803中發布(11)(4月之前可能通過Windows Insider程序提供),「時間線」功能旨在為用戶提供使用作業系統時的行為的圖形描述。時間線功能是「連接設備平臺服務」(CDPSvc)的一部分,這是一項Windows服務,為PC和智慧型手機等設備提供了一種在彼此之間發現和發送消息的方法(12)。要啟用跨設備體驗,用戶必須使用Microsoft帳戶或Azure Active Directory帳戶登錄(13)。Microsoft將時間線描述如下:
「此功能位於任務欄中,增強了任務視圖功能,可以顯示你當前正運行的應用和過去的活動。默認情況下,時間線會顯示你從今天早些時候或者過去某個特定日期起操作內容的快照。你可以通過帶注釋的滾動條找到自己在時間線中所處的位置,如果你不想通過滾動來實現,也可以搜索自己想要繼續進行的項目或活動。」(14)
時間線被設計成記錄最多30天的用戶活動(15)。關於微軟時間線記錄的內容,在撰寫本文時,沒有確切的指導,但微軟用戶體驗項目經理Tom Alphin通過YouTube(16)表示,在初始版本中,將為Edge瀏覽器(包括Bing.com搜索)、Phote,News、Sports、Weather Maps、基本Office套件信息和常規文件打開行為記錄事件。 然而,其他應用程式可以通過修改其代碼來使用此功能。
時間線功能可以補充數字取證人員更清晰地識別可疑用戶在其設備上的操作的能力。在可操作時(時間線可以關閉),其被動收集用戶交互來提高可用性和用戶體驗,提供了記錄的操作的來源,包括Edge網際網路訪問歷史、文檔(例如,Word和Excel)以及圖片交互。這些信息在諸如涉及兒童色情圖像的犯罪中可能是至關重要的,其中存儲的與非法圖片文件交互的記錄可以幫助推斷誰擁有這些文件。當時間線記錄與時間線後臺資料庫中存儲的用於記錄和存儲時間線信息相關的元數據一起解釋時,可以顯示有關用戶如何使用其設備的詳細信息。由於時間線活動記錄通常存儲多天,儘管潛在的證據時間段已經確定,時間線記錄可以通過識別用戶的非法行為來進行問責。時間線是設計用於與用戶交互的功能,並且隨著參與度的增加,取證人員在調查中存儲和獲取的潛在的豐富的相關數據資源的機會也大大增加。儘管Windows系統(Windows 10或者更早的版本)的用戶活動記錄可以通過現有的作業系統特性類型(如本文前面提到的那些),時間線功能提供了用戶交互信息的集中資料庫,取證人員可以進行查詢,作為現有信息的補充和交叉參考。因此,時間線功能擴充了現有的作業系統特性組合,數字取證人員可以用來識別用戶在其設備上的行為,作為取證調查的一部分。
目前,沒有關於時間線檢查的正式學術評論,只有三篇博客文章提供了指導(17-19),本文從法律角度檢查了時間線服務,討論了這個功能和底層日誌資料庫。
隨著時間線在Windows版本1803中發布,所有測試都在此平臺上進行。 為了測試時間線的功能,在我們的測試系統上創建了獨特的測試文件(可識別的文件名)並進行了交互,記錄了任何交互的時間和日期。 因此,可以識別在隨後的時間線調查中包含了這些數據。可以提取和查詢或實時訪問時間線的資料庫,我們使用「DB Browser for SQLite」v3.10(可在https://sqlitebrowser.org/下載)立即查看系統更改。 測試是迭代的,每次檢查時間線的各個功能以區分用戶行為的原因和結果(例如,打開單個文件),結果同時在另外的運行Windows版本1803的系統上確認為可重複的。
首先必須區分時間線記錄的「Tile類型」的差異。 通常,它們可以被分類為兩種類型之一,「進程區塊」(PT)或「活動區塊」(AT)。雖然時間線定位為跟蹤您在系統上的操作的工具,但實際上它是混合系統,還能夠執行基本的任務管理器類型的行為,可以在進程間切換以及需要的時候終止進程。PT是活動區塊,顯示用戶系統上當前正在運行的進程。 相比之下,AT可以被認為與「快捷方式」類似,允許用戶定位感興趣的特定活動類型。 與快捷方式一樣,AT不是動態的; 因此,如果AT在創建AT時指向位於用戶桌面上的文檔或文件,該文件隨後被移動,則AT將無法再加載此文件。
用戶可以選擇將時間線活動上傳到Microsoft雲,這允許時間線中的項目可以在登錄到同一Microsoft帳戶的多個系統之間同步; 例如,在一臺Windows 10 PC上訪問Office365上的文檔可以在另一臺PC上看到並繼續(假設兩個設備都可以訪問該文件)。儘管目前,時間線主要是Windows 10的一項功能,但微軟打算將時間線作為一種跨平臺服務,可以將各種設備和服務的活動整合在一起。 目前,Android上的「Microsoft Launcher」和iOS上的Edge瀏覽器應用程式都可以為時間線提供活動以及訪問其他適當的條目(20)。
時間線功能的配置由用戶用來定製操作功能的作業系統設置來控制。默認情況下,可以通過「開始」按鈕>「設置」>「隱私」>「活動歷史記錄」找到啟動時間線使用的時間線設置。時間線可以收集和顯示來自本地PC的操作以及連接到該設備的帳戶中的活動(圖1)。也可以通過組策略「計算機配置」>「管理模板」>「系統」>「OS策略」來配置相同的設置。
圖 1時間線設置和啟動 開始按鈕->設置->隱私->活動歷史記錄
一旦激活,時間線會在SQLite資料庫ActivitiesCache.db及其相關的ActivitiesCache.wal裡保存信息(關於.wal的技術討論參見[21,22]),這兩個文件的位置是\Users\%USERNAME%\AppData\Local\ConnectedDevicesPlatform\。應該注意的是,圖1中提到的設置有效地控制了時間線活動是否存儲在ActivitiesCache.db資料庫中。 對那些通過雲共享的時間線活動,用戶必須使用微軟帳號登錄,並啟用了同步設置。 ActivitiesCache.db資料庫由八個表和一個名為SmartLookup的資料庫視圖組成,該視圖聚合了其他表中的一些數據(如圖2所示)。
圖 2ActivitiesCache.db資料庫
在調查時,可以分別在%LOCALAPPDATA%\ConnectedDevicesPlatform文件夾中查看這些設置。 根據連接到時間線的帳戶設置,子文件夾結構可能會有所不同。為了提供一個示例,其中時間線附加到本地用戶,時間線文件夾的結構為L.(圖3下部)。如果帳戶與Microsoft帳戶同步,則資料庫文件夾會維護一個帳戶標識符(稱為CID)字母數字字符串(圖3上部),該字符串可以通過對系統註冊表的分析(NTUSER.DAT\Software\Microsoft\IdentityCRL\UserExtendedProperties)與帳戶相關聯。
圖 3微軟帳號和本地用戶文件結構的對比的示例
最後,如果用戶維護學校或商業帳戶(例如,Office 365,Azure Active Directory),則資料庫文件夾名稱以AAD為前綴。[<securityidentifier(SID)>]。 (通過檢查NTUSER.DAT\Software\Microsoft\OneDrive\Accounts可以將SID與帳戶相關聯。)當用戶從本地帳戶切換到Microsoft帳戶時,L.<ACCOUNTNAME>將被刪除並且在相應的Microsoft帳戶文件夾下創建一個新的目錄(如果它之前不存在)。L. <ACCOUNTNAME>的ActivitiesCache.db中的任何先前條目現在都出現在連結到Microsoft帳戶的新ActivitiesCache.db中並同步到雲。從微軟帳戶切換到本地帳戶,Microsoft帳戶相關資料庫仍然可用並保存時間線數據。即使用戶使用本地帳戶登錄,如果以前使用Microsoft帳戶進行登錄,該帳戶的ActivitiesCache.db條目也會顯示在用戶的時間線中。應該注意的是,應該檢查嫌疑系統上與時間線功能相關的所有文件夾和資料庫。
無論與Timeline關聯的帳戶類型如何,Timeline文件夾都包含文件CDPGlobalSettings.cdp,它是一個JSON文件,其中根對象的AfcPrivacySettings鍵是一個可用於標識這些設置的對象(如圖4 所示)。
圖 4CDPGlobalSettings.cdp示例 分別為不同步到雲端(左邊)所有設置打開(中間)收集數據和雲同步關閉(右邊)
當用戶選擇刪除與電子郵件地址相關聯的帳戶活動時(圖1中的開/關切換),時間線功能將不在其界面中顯示AT信息。 此外,此信息不會記錄在ActivitiesCache.db資料庫中。 相比之下,基本PT信息會被記錄。 舉例來說,如果用戶啟動Firefox瀏覽器,則會存儲此信息的記錄。 (PT信息在主表的說明部分中詳細討論)即使用戶與時間線以AT形式記錄的文件類型交互,儘管時間線界面中未顯示此信息,但ActivitiesCache.db資料庫記錄此事件。 如果用戶恢復此設置以允許顯示活動,則AT信息將重新出現給用戶。
提取和解析ActivitiesCache.db中存儲的內容在ActivitiesCache.db資料庫中,有兩個補充表,表示連結到時間線使用的元數據((Metadata和ManualSequence - 參見圖5)和取證人員感興趣的三個主要表,用於記錄時間線中記錄的活動(Activity, ActivityOperation和Activity_PackageId- 圖6)。 下面將都依次討論。
圖 5Metadata(上邊)和ManualSequence(下邊)示例
圖 6三個主要感興趣的表: Activity, ActivityOperation和Activity_PackageId
Metadata表包括創建資料庫的最後日期和時間(使用UTC或Z [23]的典型時區設置),ManualSequence表包括記錄的最後一個ETag(請參閱後面有關Activity,ActivityOperation和Activity_PackageId表的討論)。作為此元數據的結果,可以推斷基本時間線使用,並且由於ETag值是遞增的,它提供了自時間線第一次實現以來發生的事件數量的指示。
關於主時間線活動的記錄,表Activity, ActivityOperation和Activity_PackageId 在下面的章節中將單獨討論。
主表說明
為了解釋三個主要表(Activity,ActivityOperation和Activity_PackageId)的內容,首先必須從高層次來考慮典型的時間線交互發生時發生了說明。時間線活動(創建AT/PT)通常記錄在Activity表,並且在刪除這些內容時(用戶刪除過期的tile)信息記錄到ActivityOperation表。整個過程中,Activity_PackageId表搜集與該事件有關的進程/包/應用程式信息(圖7)
圖 7當時間線活動發生時,三個主要的表(Activity,ActivityOperation和Activity_PackageId)如何交互
Activity_PackageId 表Activity_PackageId表由四個欄位組成,ActivityId,Platform,PackageName和ExpirationTime。 Activity_PackageId表包含「事務」,它發生在時間線中,並通過ActivityID欄位連結到其他兩個表,該欄位包含可與Activity和ActivityOperations表條目相關聯的唯一GUID。 「Platform」欄位指示與事件關聯的活動/應用程式類型(表1)。 對於每個Timeline事件,唯一的ActivityId與多個Activity_PackageId表條目相關聯。
表 1platform欄位條目類型--參考24查看額外來自微軟的技術信息
platform值
描述
x_exe_path
獨立程序(不是安裝的)的路徑
afs_crossplatform
一個同步到雲的條目
host
未知。測試顯示該值常常為空。但是為相應的應用程式記錄了對Edge和Office 365的引用。但是這個值在Activity表裡也顯示了同樣多的條目
packageid
未知
似乎常常是某一個程序的記錄後就緊跟一條為packageid的記錄,其他欄位都跟前一條一樣
windows_win32
安裝的軟體(非UWP程序)
windows_universal
UWP程序
android
Android程序
ios
iOS應用程式
msa
微軟應用程式
web
Web應用程式
ExpirationTime欄位使用UNIX時間戳,顯示從最初觸發事件的時間起30天(恰好2,592,000秒)。此值似乎由功能決定,該功能旨在存儲最多30天的活動。 按日期順序排序ExpirationTime欄位可提供系統上已執行應用程式的時間表。 鑑於ExpirationTime是在觸發事件時創建的,還可以通過將時間戳回溯30天來確定某些用戶操作的時間。
Activity表Activity表包含有關AT和PT的活動。當在系統上發生新的「本地」或「雲同步」事件時,該事件屬於時間線的範圍,該事件被記錄在活動表中並被分配ID值和初始ETag。連續條目保留ID,修改ETag。 該值看起來類似於活動順序,當事件按ETag排序時,可以確定系統事件發生的順序。 雖然ETag以數字順序出現,但它們通常不是連續的(例如,1,2,5,7而不是1,2,3,4)。 AT和PT事件都記錄在Activity表中。 為了解釋典型的Activitytable條目,表2提供了關鍵欄位的示例。
表 2 activity表的關鍵欄位
id
關聯Activity_PackageId表的GUID值
AppId
AppId欄位是一個JSON格式的記錄,下面提供的是執行藍信程序的例子
[{"application":"12932068880859273246","platform":"afs_crossplatform"},{"application":"D:\\Program Files (x86)\\LanxinSoftCustom\\main\\LxMainNew.exe","platform":"windows_win32"},{"application":"D:\\Program Files (x86)\\LanxinSoftCustom\\main\\LxMainNew.exe","platform":"packageId"},{"application":"","platform":"alternateId"},{"application":"","platform":"windows_universal"}]
有時候,上面顯示的路徑是是GUID的格式,這是Windows使用的表示那些標準的文件夾比如'Program Files'的文件夾ID,例如'{6D809377-6AF0-444B-8957-A3773F02200E}\\WinRAR\\WinRAR.exe'
PackageIdHash
對包含字母和數字的獨一無二的描述特定事件類型的字符串。比如所有與WinRAR.exe相關的項都是同樣的值。好像是可執行程序的'QuickXorHash'25值
PlatformDeviceId
Activity和ActivityOperation中的PlatformDeviceId可以在用戶的NTUser.dat的SOFTWARE\Microsoft\Windows\CurrentVersion\TaskFlow\DeviceCache找到,它用來顯示時間線視圖的一個Tile的原始設備*(PC、Laptop、tablet、phone等),時間線看到的設備名稱來自特定的DeviceID的DeviceModel的值,這個值是從HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SystemInformation的SystemProductName的值,這個值一般是製造商填寫,如果是組裝機的話,一般為空
AppActivityId
格式看起來是GUID\<文件hash>,但是我們不能確認在不同的機器上GUID是否相同。所有具有相同<文件hash>的項目都與同樣的文件相關。當創建了一個文件,它的AT會在Payload欄位完整描述(參見後面的Payload欄位)。這個欄位提供了原始文檔的名字。後面任何關於這個文件的操作都不會指向這個名字。因此要確定後面的關於這個文件的操作,必須參考AppActivityId記錄來找到第一條記錄。
對於Edge瀏覽器,AppActivityId值可能僅僅是一個網站訪問或者搜索的URL
ActivityTypeStatus/OperationType
Activity表的ActivityStatus欄位和ActivityOperation表的OperationType欄位只有從1-3共3個值,描述了相關Tile的狀態,如下:
1 - Active(意思是說它還是一個應用程式)
2 - Updated (意思是這個記錄是從之前的Active記錄的更新)
3 - Deleted(意思是這個Tile已經被刪除)
ActivityType
如果值是5,是說文件/應用程式被打開。如果值是6,是說文件/應用程式是在當前屏幕的焦點
LastModifiedTime
測試表明這個欄位是關於與特定應用程式相關的事件(比如進程稱為焦點)最後一次發生的時間
ExpirationTime
設置為從LastModifiedTime開始的30天後
Payload
Payload的值是JSON格式記錄,包含創建的應用程式/文件的細節。有兩個典型的類型。當事件的ActivityType(上面討論過)的值是5,Payload記錄將維護「displayText」,顯示進程/文件的名稱信息。下面是一個例子:
{"displayText":"藍信Beta","activationUri":"ms-shellactivity:","appDisplayName":"藍信Beta","backgroundColor":"black"}
當事件的ActivityType的值是6(上面討論過,這是個焦點事件),Payload記錄將不再維護「displayText」,取而代之是「activeDurationSeconds」顯示用戶與這個事件一起的秒數。下面是一個例子:
{"type":"UserEngaged","reportingApp":"ShellActivityMonitor","activeDurationSeconds":37,"shellContentDescription":{"MergedGap":600},"userTimezone":"Asia/Shanghai"}
一些應用程式比如MS Edge同時包含shellContentDescription欄位,這是另外一個JSON欄位,還有FileShellLink欄位,這是使用QuickXorHash算法編碼的欄位。
StartTime
StartTime記錄(UNIX Epoch格式)表示可執行程序按下的時間
EndTime
如果不為空,測試表明要麼這個值是0,要麼就是LastModifiedTime。只有ActivityType值為6的項目具有EndTime,表明這個程序不再處於焦點
ETag
每個事件都有一個ETag索引值,以數字表示可以顯示時間線活動的先後順序
經過測試,我們的觀察結果表明,AT和PT的創建信息存儲在Activity表中,被用戶從時間線中刪除的AT和PT(右鍵單擊「刪除」 - 圖8)可以在ActivityOperation表中找到。
圖 8刪除一個AT事件]
ActivityOperation表維護與Activity表相同的主鍵欄位。 同樣重要的是要注意,刪除AT不會以任何方式影響原始文件(例如,不更改其文件系統元數據)。刪除AT後,將從Activity表中複製其記錄,然後將這些記錄添加到ActivityOperation表中,並為其分配新的ETag值和新的ActivityStatus/Operation-Type值(圖9)。
圖 9刪除AT的例子,可以看到生成了新的OperationType值
是否保留這些記錄取決於計算機上活動的帳戶類型。時間線被配置為與本地帳號關聯,刪除區塊的ActivityOperation表記錄會一直保存到Expiration Time,然後會被刪掉,時間線被配置同步到微軟帳戶,那麼這些記錄只會早ActivityOperation表裡臨時排隊,直到下次同步(可能在Expiration Time到達之前),然後會被刪掉。
在Windows時間線設置中,本地用戶帳戶還可以選擇將時間線相關活動「全部清除」。在執行此操作後,時間線圖形用戶界面將從中刪除所有區塊信息,但此信息仍保留在ActivitiesCache.db中。
從AT中重新訪問文件
考慮這個場景,為一個Word處理文件創建了一個AT,然後為了某個時間,用戶點擊時間線上的AT重新訪問這個文件。這個事件在Activity表裡檢查AppAcitivityId欄位來識別AT。使用表2中提到的過程,可以識別特定活動的時間線記錄(本例中是WordPad),但是某個AT在未來被執行時,文檔的名字沒有嵌入到Payload欄位裡。相反,APPActivityId欄位維護帶有文件唯一標識的GUID(比如ECB32AF3-1440-4086-94E3-5311F97F89C4\c951d1424a770a2e1e8233a11e7da17ea1d8209d)。這個標識符在AT第一次被創建時生成(活動區塊生成事件(FAT)的ActivityType的值為5)。關聯這兩個值可以映射和識別這個AT未來的執行。
由於時間線功能被設計為在30天的周期內運行,因此有必要檢查在此之後ActivityCache.db資料庫中發生的情況。 由於時間線功能基於設備本地時間運行,因此手動將系統時鐘延長至未來30天會產生以下影響:
當用戶訪問設備上的特定文件夾時,此信息不會在時間線上記錄顯示為PT。沒有存儲文件夾名稱信息; 因此,無法通過時間線確定Windows資源管理器訪問了某個文件夾,Shellbag分析仍將是此背景下的主要證據來源。這在訪問回收站功能時也適用,也不存儲特定的回收站記錄。
為了提取和處理存儲在ActivitiesCache.db中的信息,本文提供了一個SQL查詢,可用於提取存儲在Activity,ActivityOperation和Activity_PackageId表中的數據,以提供通過時間線發生並已在ActivitiesCache.db中捕獲的「系列事件」 。 完整的SQL查詢可以通過GitHub在https//<ANONYMOUS FOR REVIEW SUB-MISSION>.github.io/@@@@@@/和附錄S1中獲得。圖9-11演示了我們的SQL查詢的輸出(圖12)。
圖 10解析ActivityCache.db的例子
圖 11AT被從時間線刪除的例子
圖 12打開的文件和相關應用程式的例子
測試表明,時間線ActivitiesCache.db及其相關文件包含用戶信息,可以使用SQL解析和查詢工具提取和解釋這些信息。 這項工作演示了用來區分時間線捕捉的用戶事件所需的程序,包括以下內容:
區分時間線捕獲的AT和PT的信息以及如何解釋此信息,將其連結到用戶活動的能力;
如何區分與時間線關聯的本地帳戶和雲同步帳戶;
對ActivitiesCache.db中的表結構的分析,可以查詢以提取信息;
從時間線中刪除內容的影響以及此類操作對ActivitiesCache.db的影響;以及
當設備上處於「焦點」的應用程式。
分析結果證明了時間線分析作為在Windows 10取證調查環境中表示用戶-系統交互的證據來源的潛在價值。 如果在Windows 10系統上發生對關鍵證據文件的訪問(需要安裝1803更新),如果處於活動狀態,時間線可以捕獲並記錄此信息,從而提供可能的罪責記錄。 此外,還確定了時間線調查的局限性,注意何時數據會從ActivitiesCache.db中刪除,特別是在AT/PT刪除和雲同步帳戶的情況。 因此,時間線ActivitiesCache.db可以作為數字取證人員的額外信息來源,以識別用戶如何使用他們的系統,並且此內容應成為任何取證調查的一部分。
這個技術貼首次從取證角度研究了2018年5月發布的Windows版本1803提供的時間線功能。由於該特性被設計為增強用戶體驗和提供任務重新執行的效率,這種行為記錄在調查中必然對取證人員非常有用。我們的工作檢查了時間線功能,提供了對下面的用來維護使用記錄的ActivityCache.DB資料庫的文檔化檢查。我們演示了用來解析記錄內容和識別刪除的AT/PT記錄的能力,並且在附錄S1提供了一個SQL查詢以幫助取證人員解析這個系統功能。雖然這項工作提供了理解時間線功能的基礎,但應該進行更多的研究,因為微軟設想未來的開發者將在他們的產品代碼裡引入時間線交互和活動可移植性。因此,隨著越來越多的應用程式涉及時間線功能,因此時間線數據的取證價值會越來越大。
參考資料Statista. Global market share held by operating systems for desktop PCs,from January 2013 to February 2018; https://www.statista.com/statistics/218089/global-market-share-of-windows-7/ (accessed May 11, 2018).
Carvey H. Windows Forensics and incident recovery (The Addison-Wes-ley Microsoft Technology Series). Boston, MA: Addison-Wesley Profes-sional, 2004.
Carvey H. The Windows Registry as a forensic resource. Digital Investi-gation 2005;2(3):201–5.
Ruff N. Windows memory forensics. J Comput Viro 2008;4(2):83–100.
Casey E, Bann M, Doyle J. Introduction to Windows Mobile Forensics.Digital Investigation 2010;6(3–4):136–46.
Carvey H. Windows forensic analysis DVD toolkit. Burlington, MA:Syngress, 2018.
Garfinkel SL. Digital forensics research: the next 10 years. Digital Inves-tigation 2010;7(Suppl):S64–73.
Carvey H. Windows Registry Forensics: advanced digital forensic analy-sis of the Windows Registry. Burlington, MA: Elsevier, 2011.
Singh B, Singh U. A forensic insight into Windows 10 Jump Lists. Digi-tal Investigation 2016;17:1–13.
Shashidhar NK, Novak D. Digital forensic analysis on prefetch files. I JInf Secur Sci 2015;4(2):39–49.
Microsoft. Windows 10 release information; https://www.microsoft.com/en-us/itpro/windows-10/release-information (accessed May 11, 2018).
Microsoft. Connected devices platform protocol, version 3; https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-CDP/[MS-CDP].pdf (accessed May 24, 2018).
Showe J. Build cross-device apps, powered by Project Rome; https://github.com/Microsoft/project-rome/blob/master/cross-device_app_configuration.md(accessed May 24, 2018).
Microsoft. Get help with timeline; https://support.microsoft.com/en-my/help/4230676/windows-10-get-help-with-timeline (accessed May 11, 2018).
Microsoft. Make the most of your time with the new Windows 10update; https://blogs.windows.com/windowsexperience/2018/04/27/make-the-most-of-your-time-with-the-new-windows-10-update/ (accessed May11, 2018).
Youtube. Windows 10 Timeline (demo): check out how it works and itsfeatures; https://www.youtube.com/watch?v=uxSy02Mk6WA (accessedMay 11, 2018).
Caithness A. Windows 10 Timeline forensic artefacts; https://cclgroupltd.com/windows-10-timeline-forensic-artefacts/ (accessed May 11,2018).
Zimmerman E. Introducing WxTCmd!; https://binaryforay.blogspot.co.uk/ (accessed May 11, 2018).
Salt4n6. Windows 10 Timeline – initial review of forensic artefacts;https://salt4n6.wordpress.com/2018/05/03/windows-10-timeline-forensic-artefacts/amp/ (accessed May 11, 2018).
YouTube. Technology keynote: Microsoft 365: a powerful developmentplatform: Build 2018; https://www.youtube.com/watch?v=rlzZiDgfPz8(accessed May 24, 2018).
SQLite (n.d.). Write-ahead logging; https://www.sqlite.org/wal.html (ac-cessed May 24, 2018).
SQLite (n.d.). Temporary files used by SQLite; https://www.sqlite.org/tempfiles.html (accessed May 24, 2018).
Alia E. HistoryItem resource type; https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/v1.0/resources/projectrome_historyitem.md (accessed May 29, 2018).
Microsoft. Build cross-device apps powered by Project Rome; https://developer.microsoft.com/en-us/graph/docs/concepts/cross-device-app-configuration (accessed May 29, 2018).
Microsoft. Code snippets: QuickXorHash algorithm; https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash (accessedJune 26, 2018).