◆王灏汉
Web浏览器客户端取证技术的探索与应用
◆王灏汉
(北京电子科技学院 北京 100070 )
本文通过分析历史记录、WebCacheV01.dat、Index.dat等文件,搜寻用户在浏览器中留下的上网痕迹,从而推断用户所进行的网络活动。基于此,对Web浏览器客户端的取证手段进行研究,探寻在无痕模式下的取证方式。
Web浏览器;取证技术;无痕模式
随着信息化的发展及以网络环境的复杂多变,泄密风险越来越高,黑客攻击、盗窃国家秘密等案件类型、数量都在逐年增加,使得保密管理面临的挑战越来越大。因此,系统、翔实、便捷的保密督查技术和手段对于网络安全、计算机取证方面起到了至关重要作用[1],这对于公安系统更好地打击犯罪,处理网络刑事案件,保密行政管理部门、国家安全部门更好地进行保密督查活动意义重大。
网络取证的研究开始得较早[2],杨文静等(2007)开展基于数据融合和数据挖掘技术的网络取证技术的研究[3],李洁等(2015)进行了模拟DDoS攻击场景下的云取证模型的研究[4],为取证技术研究打下的很好基础。Web取证是当前计算机电子取证研究的一个重要方向。相对于传统的单台计算机取证分析,Web取证涉及客户端、服务器端、多个操作系统、网络设备等,需要综合取证分析[5]。浏览器客户端取证不仅是目前运用最为广泛的Web取证方式[6],也是技术手段以及分析工具数量最多、最为全面的方式[7]。并且,新刑事诉讼法也对证据的内容做出了规定,规定证据包括视听资料、电子数据,电子数据被独立出来作为一种证据种类,这赋予了电子证据明确的法律地位。
在信息全球化背景之下,在法律框架下,Web取证已经逐渐成了目前新的网络环境下解决保密督查难题的重要手段[7]。因此,围绕Web浏览器客户端取证技术进行探索与应用进行研究,对于Web取证有理论意义和实用价值。
计算机取证是指运用计算机辨析技术,对计算机犯罪行为进行分析以确认罪犯及计算机证据,并据此提起诉讼。也就是针对计算机入侵与犯罪,进行证据获取、保存、分析和出示,是一个对受侵计算机系统进行扫描和破解,以对入侵事件进行重建的过程。不同的专家学者对计算机取证的定义不同:
Lee Garber为计算机取证下的定义是:计算机取证是分析和提取硬盘、光盘、软盘、Zip和Jazz磁盘、内存缓冲以及其他形式的存储介质中的数据,从而发现犯罪证据的过程[8]。
Judd Robbins给出的概念是:计算机取证是将计算机调查和分析技术应用于潜在的、有法律效力的证据的确定和提取。
系统管理审计和网络安全协会SANS则归结为:计算机取证是使用软件和工具,按照一些预先定义的程序,全面地检查计算机系统,以提取和保护有关计算机犯罪的证据。
Web取证属于计算机取证的一部分,对其中每个设备的取证需要按照计算机取证标准流程进行。计算机取证遵循的原则、涉及的技术、取证过程和应当注意的事项、原则上都适用于Web取证。
Web取证主要涉及两方面取证:服务器端的取证工作和客户端的取证工作。此外,在Web取证过程中,往往还会涉及相关网络设备的取证工作[7]。计算机取证与Web取证的系统框架如图1所示。
浏览器端使用ESE数据库保存相关数据信息,Web取证就是通过其中的访问记录、cookie数据、URL信息以及缓存文件记录等信息进行取证的。在客户机系统上,它们都被保存在数据文件中。有的访问记录、cookie数据以及缓存文件记录是以Index.dat数据格式分别保存在各自对应的文件目录内,有的保存在系统统一目录下的 WebcacheV01.dat文件中。而Web浏览器客户端取证就是对这些Index.dat文件、WebcacheV01.dat文件以及其他日志文件进行分析,从而获取其中有用的信息。
图1 计算机取证与Web取证系统框架图
对浏览器历史记录的分析是Web取证常见的技术支持,并且也是其重要的组成部分。主要目的在于检查并分析计算机用户通过网络浏览器在互联网上查看了哪些内容,在互联网上进行了哪些活动。一些关键证据有时会隐藏在嫌疑人的在线搜索、电子邮件及网页浏览历史记录中。因此,在涉及网络信息泄密案以及一些通过Web浏览器造成的泄密案件中,浏览器历史记录分析能够锁定或排除犯罪嫌疑人,理清整个泄密时间的来龙去脉,对督查工作和保密管理中的泄密案件的查处工作都起到了很大的帮助。在其他案件中,浏览器历史记录分析也能够帮助确定嫌疑人的大致行为轮廓,甚至有时在与计算机网络无关的泄密案件中,浏览器历史记录也能提供重要信息。
目前,常见的历史记录分析工具比比皆是,包括Browser History Spy、MANDIANT Web Historian、Chrome History Manager等等,都是Web取证工作中不错的选择。其中,Browser History Spy是一个允许调查收集、显示和分析网络历史数据的工具,支持多种操作系统,支持Firefox、Chrome和IE浏览器。它可以自动检测正确的历史数据库文件基于浏览器和当前的用户配置;当不得不从另一个系统恢复历史数据时,还可以手动指定不同浏览器的不同历史文件。现以Browser History Spy为例,对IE浏览器的历史记录进行分析和进一步探究。
首先,将Browser History Spy下载下来,查看详细信息如图2所示。
打开界面可以清晰地看到支持的三类浏览器选项栏,前面两种(火狐和谷歌)都需要指定历史信息的位置及确切的目录,而IE浏览器会自动识别版本信息和历史记录的位置,不用手动指定。可以一键查询,点击后直接出现所有历史记录信息的表单(如图3所示)。
图3中显示列出来的所有历史记录是按照名称进行分类的,在相同URL的类别中又以时间升序排列,相当清晰直观地看到所有的历史记录,其中包括了Website URL(网址)、Website Title(网站标题)便于后期督查工作的开展。另外,每一条记录都赋予了直接的超链接,双击可进入当时用户浏览的界面。同时,该款软件还融合了多种功能,包括添加历史记录信息、删除历史记录信息和表单另存为生成额外的数据文件。
图2 Browser History Spy详细信息
图3 Browser History Spy的历史记录结果
Index.dat文件是一个由Internet Explorer和资源管理器创建的文件。该文件的功能就像一个数据库,随系统启动。它的功能在于收集个人信息,就像网址,搜索字符串和最近打开的文件。它的职责就像数据库中的索引。简单来说,当IE开启自动完成,每一个浏览过的网址将被收录进Index.dat,IE浏览器据此匹配用户输入的字符。Index.dat也同样存在于IE的历史纪录、缓存和cookies[9]。
在Windows客户机系统中Index.dat是被隐藏的系统文件,通常情况下不易被删除,这也是它能够作为浏览器取证来源的一个重要原因。Index.dat活动记录包含三种数据记录类型,分别是URL、LEAK和REDR。Cookie记录和历史URL记录为URL类型,Cache记录则具有三种类型中的任意一种。URL和LEAK类型包含了丰富的信息,如记录类型、记录长度、最后修改时间、用户名、网页信息以及缓存文件路径信息,而REDR类型则只包含了单一的网页数据[10]。因此,在我们进行保密督查工作时,通过分析Index.dat文件将为取证方面带来不可忽视的帮助。
Index.dat文件可以根据IE浏览器中设置的路径来查找(见图4),文件路径在C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternet FilesContent.IE5中。
一方面,它们不能通过文件资源管理器一级一级地打开,因为在路径C:UsersAdministrator路径下,如果不选择显示隐藏的项目是没有AppData(AppData是一个隐藏文件夹)这个文件夹的;在路径C:UsersAdministratorAppDataLocal MicrosoftWindows下也没有TemporaryInternet Files文件夹,更没有其子目录下的Content.IE5(即我所需要的Index.dat文件的存放位置),甚至选择显示隐藏项也无法显示出来,只有在目录中直接输入具体路径才能打开它(图5)。
图4 Index.dat文件位置
图5 TemporaryInternet Files文件夹下的cookie、index等文件
另一方面,Index.dat文件也难以被删除,通过常规手段(如:清除Cookies、删除Temporary Internet Files)是无法达到目的的。当然,启动系统到DOS状态下进行删除、切换用户删除其他用户文件下的Index.dat文件等方式也行,但这些方法都比较麻烦,而且没办法彻底清除。甚至就算打开无痕模式,也只是删除部分明显的图片文件、cookie文件、表单文件,但根本的“.dat”文件依然保留在计算机中。由此可见,Index.dat文件在实际应用中是非常有力可靠的电子证据。
另外,Index.dat文件都是二进制文件。虽然无法直接打开查看其中数据和重要信息,但是可以通过相应的处理工具打开。目前,可以应用在Index.dat文件上进行操作的工具也很多,比如Index.dat Analyzer、Index.dat Viewer、Index.dat Suite等等。其中,Index.dat Analyzer是一款用来查看、检查、删除Index.dat文件内容的工具,具有较为强大且齐全的功能,是各款软件中较为典型的Index.dat分析工具。
本文以Index.dat Analyzer为例,进行Index.dat文件的分析。
首先,下载Index.dat Analyzer软件,在此以2.5版本为例进行探索。下载后打开主页,选择Index.dat文件路径(即C:UsersAdministratorAppDataLocalMicrosoftWindows TemporaryInternet FilesContent.IE5),就可以读取到原本无法直接打开的Index.dat文件了(图6)。打开后发现文件中包含多个上述提到的URL、LEAK和REDR类型记录,并且可以清楚地看到每条记录的名称、类型、创建时间、进入时间等信息。
同时,Index.dat Analyzer还支持分别更进一步地查看每条记录的详细信息。双击进入,可以观察到(例如该URL类型记录)的具体位置、地址、以及时间信息(图7)。除此之外,Index.dat Analyzer还支持常见的增、删、查、改等相关功能,在分析Index.dat文件方面确实有不少独到之处。
在Web浏览器的取证过程中,挖掘尽可能丰富的用户个人信息是十分重要的,借助对index.dat文件结构的了解,可以快速、有效、全面地读出文件里面的活动记录。通过对index.dat文件结构的研究与分析,更是能充分发挥其在取证过程中的重要作用,从而对科学地开展保密督查工作提供重要技术支持与有效助力。
图6 Index.dat Analyzer中查看到的Index.dat文件
图7 URL记录的详细信息
WebcacheV01.dat文件与Index.dat文件类似,它们作为ESE数据库的一种文件类型,都是用来储存IE浏览器历史记录的。区别在于WebcacheV01.dat文件用于版本10以上的IE浏览器,而之前版本的历史痕迹都是储存在Index.dat文件中的。并且,与Index.dat文件同时存在于多个文件目录中不同,WebcacheV01.dat文件只存在Webcache目录之中;也不像Index.dat文件只记录URL、LEAK和REDR类型的记录,WebcacheV01.dat中的记录要复杂得多。
WebcacheV01.dat文件中数据信息的存储以单个表的方式进行保存,而每张表的位置都和前一张表的大小有关。通常这些表的大小都是固定的,而所有表的入口就是表头数据中的0x EC[6]。WebcacheV01.dat数据量很大,种类也比Index.dat复杂。在Webcache V01.dat文件中不仅有Web浏览器的cookie、访问的网站、DOM Storage,甚至Windows应用程序也可以使用它来存储cookie和DOM Storage。
另外,WebcacheV01.dat文件也同Index.dat文件一样难以被删除。在本地计算机工作过程中WebCacheV01.dat是被taskhost.exe程序锁定的,也就是我们通常所说的计划任务程序。只有在该账户注销后,WebcacheV01.dat文件才会被释放,正如前文讨论Index.dat文件的删除方法时提到的,通过切换账户才能互相删除。
因此,基于WebcacheV01.dat文件的记录完整性、客观性、难以破坏性,WebcacheV01.dat文件同样成了如今在Web取证过程中一种重要的取证对象。有关WebcacheV01.dat文件的分析工具也同样丰富,包括有ESEDatabaseViews、WebCacheV01.dat Viewer在内的多种由国外研发的软件。在此,我以ESE Database Views这款典型的分析工具为例,来对WebcacheV01.dat文件进行分析。
下载ESE Database Views 1.16版本,打开后直接选择打开ESE Database中的WebCache文件,可以看到很多表单,除了有Web浏览器的各种记录表单以外,还有计算机文件系统的一些历史记录表单,我的数据库中总计22张表单(含空表单)。其中,DependencyEntry表单记录的是Web浏览器的URL相关记录(图8),可以看到访问次数、端口号、修改时间和具体的URL等信息,相当直观便捷。
图8 DependencyEntry表单
除了像前两个软件那样有记录大的URL信息的表单外,ESEDatabaseViews还拥有细化到每一个脚本、每一张图片、每一点信息的记录表单(图9)。它们不仅仅是给出了具体的URL信息、各种时间轴,甚至还缓存了图片、脚本等的文件信息,双击即可查看记录的详细信息(图10),文件大小、文件名、哈希值等。
图9 详细记录表单
图10 双击某htm记录后的详细信息
另外,ESEDatabaseViews软件和常见的查看软件相同,具有读的常见功能,并能把数据导出保存。作为一款功能强大且齐全的分析软件,ESEDatabaseViews可以说是对分析WebCacheV01.dat文件大有助力,扩展了Web浏览器的取证手段,提高了电子证据的完整性与可靠性,从而变相加强了Web取证在保密督查方面应用中的重要地位,提高了保密督查工作的效率。
在分析index.dat文件过程中,搜索该文件时发现,计算机目录C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporary Internet Files下(win10系统在C:Users AdministratorAppDataLocalMicrosoftWindowsINetcache)还存在除了隐藏的Content.IE5文件夹以外的许多临时文件。虽然这些文件不如index.dat文件和WebCacheV01.dat文件的针对性强,不如它们记录的全面性和难以删除性,但是这些临时文件依然有一定的分析价值,在Web浏览器的取证过程中还是起到了一定的作用。
通过观察发现,这些Temporary Internet Files目录下的临时文件大部分都是Java Script的脚本文件以及一系列的png、jpg格式的图片文件,除此之外还有少量的txt文本文件和htm网页文件。介于htm文件已经在前文分析得足够多,而JavaScript文件并不方便进行可视化的分析。因此,本设计主要对图片信息进行分析,类似的临时文件可采取同样的分析方式方法。在此,应用了一款名为WebCacheImageInfo的软件对网络活动过程中的缓存的历史图片进行分析。
下载并打开WebCacheImageInfo软件,选择好对应的路径后(即Temporary Internet Files文件目录),软件将进行自动搜索。查看结果如图11所示,其中包括了图片的来源网址、浏览器类型、图片浏览软件以及时间等信息。除此之外,点击所需图片记录,还能直接预览该图片,这一点是其他分析软件所不具备的。这就为Web取证带来了更直观、更便捷的渠道来进行搜证,从而大大节省了取证工作的时间成本,提高了工作效率。
图11 WebCacheImageInfo的运行结果
无痕浏览是指不留下上网浏览记录的互联网浏览方式。在隐私浏览过程中,浏览器不会保存任何浏览历史、搜索历史、下载历史、表单历史、cookie或者Internet临时文件。目前,大多数浏览器都支持无痕浏览技术,用户可以根据自己的需求选择是否开启无痕模式。尽管这样的技术手段为大多数用户带来了更灵活、更人性化的体验,进一步满足的广大受众群体的需求,但是这样一来,也为犯罪分子实施泄密、窃密等罪行提供了温床。犯罪分子简单通过开启无痕浏览便能抹除掉所有网上活动的痕迹,轻而易举便能销毁对自己不利的证据,为破案工作、督查工作、管理工作都带来了巨大阻挠与新的难点。因此,对在无痕模式下如何进行Web取证的探讨具有深刻意义。
当下,应对无痕浏览的主要手段是数据恢复。当cache文件以及日志文件被计算机操作系统或犯罪分子删除的时候,只要磁盘管理系统尚未进行重新分配磁盘空间,写入的数据未覆盖原有数据,磁盘上依然存在着这些已删除文件数据,而这些数据可能存在于磁盘的未分配存储空间上,我们就可以通过读取未分配磁盘区域物理镜像来恢复或提取数据[7]。对于IE浏览器来说,历史记录数据存储在前文所述的index.dat或WebCacheV01.dat文件中,其中包括Cookie数据、历史记录和缓存文件,index.dat文件会存储在不同的子目录中。当index.dat文件被删除时,原数据不会清除,而是会被移动到磁盘未分配区域,只要数据没有被重写,就可以恢复出完整的历史数据记录。
目前这样的通过读取磁盘信息来恢复文件的工具、恢复数据的工具比比皆是,在此本设计不对恢复手段作进一步探讨,而是验证网络上的另一种观点:无痕浏览的记录依然保存在数据库文件WebCacheV01.dat中[4]。在上文对index.dat文件的分析过程中提到,开启IE浏览器的无痕模式不会造成index.dat文件的删除,而是不会将cookies、临时文件等保存在Temporary Internet Files文件夹下,因此不能对2.5中所述的类似临时文件进行直观分析。但是,对index.dat文件、WebCacheV01.dat文件的分析或许是行得通的。
应用示例:打开IE浏览器并开启无痕浏览(图12),并进行正常上网活动(除特殊情况外,其余使用无痕模式浏览网页)。之后查看IE历史记录(图13)并与打开ESE Database Views软件后的结果进行比对。
图12 IE浏览器无痕模式开启
图13 查看IE浏览器的历史记录
对比IE浏览器的历史记录可以发现,在实验过程中无痕浏览的百度页面没有记录在历史记录中。因此根据前文推测,有关百度的一系列网页浏览过程中的cookies、历史信息、临时文件等都没有保留下来,那么它们将作为变量可与ESE Database Views软件进行对比。打开ESE Database Views软件,查看WebCacheV01.dat文件,打开记录有详细信息的Container_6表单查看(图14)。可以看到,确实存在与百度有关的记录并且数量不少,但只是部分信息并不全面,不包括标志性的主页URL等信息。
图14 ESE Database Views中有关百度的信息
尽管信息不够完整不够全面,但是这样的部分信息依然具有一定的取证价值。重要的是,实验结果佐证了历史信息不会从WebCacheV01.dat文件删除的结论,无痕浏览并非真正“无痕”。这为取证过程中遇到的“无痕”问题提供了重要解决思路和技术突破口,也开拓了Web取证中重要的研究方向。
本文通过分析历史记录、WebCacheV01.dat、Index.dat等文件,搜寻用户在浏览器中留下的上网痕迹,从而推断用户所进行的网络活动。基于此,对Web浏览器客户端的取证手段进行了研究,并探讨了在无痕模式下的取证方式。
在科技水平迅猛发展的社会大背景下,网络世界中的违法行为、违规行为在所难免,无论是泄密事件还是刑事案件都迫切地需要相应的督查手段、破案手段,Web取证手段是其中至关重要的一种手段。作为主流的Web取证方式,浏览器取证显然在传统道路上行之有效。虽然市面上的浏览器种类繁多,层出不穷,但作为网页浏览的客户端,其实都同根同源,大同小异。从老版IE浏览器可分析的Index.dat到新版保存的WebCacheV01.dat,再到别的浏览器的各式各样的临时缓存文件,无外乎都是运营商给历史记录提供的一种保存方式。通过对它们的分析,找到历史痕迹,便是电子取证的主要思路之一,不仅是当下最主要的方式,也是最可靠最快捷的方式。
[1]徐东华.保密监督检查的管理思想溯源及其启示[J].保密科学技术,2018(07):44-47.
[2]任伟,金海.网络取证技术研究[J].计算机安全,2004(11):65-67.
[3]杨文静,苏力华,田绪安.基于数据融合和数据挖掘技术的网络取证体系的研究[J].现代电子技术,2007(09):59-61.
[4]李洁,许鑫,陈宇,张丁文.模拟DDoS攻击场景下的云取证模型的研究[J].信息网络安全,2015(06):67-72.
[5]徐伟.基于Web浏览器活动的犯罪分析和证据采集[J].现代电子技术,2018,41(08):96-99.
[6]郭岩,白硕,于满泉.Web使用信息挖掘综述[J].计算机科学,2005(01):1-7.
[7]夏荣.Web取证分析技术研究与应用[J].信息网络安全,2015(09):201-205.
[8]杨仲林.泄露上网隐私的“幕后黑后”——全面认识Index.dat文件[J].电脑应用文萃,2005(08):92.
[9]聂明辉.基于ESE数据库文件分析的IE浏览器取证技术研究[J].警察技术,2016(04):72-75.
[10]陶姿邑,毕善为.浏览器取证技术[J].计算机系统应用,2014,23(05):8-15.