苏再添,张莹莹,黄志炜
(厦门市美亚柏科信息股份有限公司,福建 厦门 361008)
随着社会信息化的快速发展,网络违法犯罪案件日益增多,暗网也逐步走进大众的视野。
以冰山举例,普通民众通过谷歌、百度等搜索引擎能检索到的浮于冰山水面之上的网络信息,称之为“表层网络”(Surface Web)[1],也称“明网”。而在冰山水面之下,有大量未被索引的“深层网络”(Deep Web)信息,比如邮箱邮件、朋友圈照片等。暗网(Dark Web)则是深层网络的子集,具有匿名性及不可追溯性,只能通过特定软件,授权或对电脑做特别设置才能登录访问。
犯罪分子为了逃避打击,在暗网里进行毒品交易、淫秽色情、人口贩卖等非法活动[2],对社会和公众安全造成了严重威胁,因此执法部门对暗网的取证需求也愈发迫切。
暗网是在匿名网络的基础之上创建,洋葱路由(The Onion Router,TOR)、隐形互联网计划(Invisible Internet Project,I2P)和自由网(Freenet)是匿名网络的典型代表,其中TOR网络的规模最大[3]。
TOR 诞生于美国海军研究实验室,起初为了避免敌国监控,确保情报通讯安全而研究,后因经费等原因逐步从军方走向民间,为暗网的建立奠定了重要的基础[4]。TOR 是一个三重代理,也就是说TOR 每发出一个请求会先经过TOR 网络的3 个节点,它通过一系列的匿名代理节点对网络流量进行加密传输,执法人员无法通过普通网络流量追踪到原始用户。
在暗网上通常采用比特币等虚拟数字货币进行交易,比特币不依赖于国家政府发行,不受银行金融体系监管,无法追踪资金流向,成为助长暗网犯罪的重要工具。
由于暗网与生俱来的隐匿特性,常被用来进行个人行为的网络黑客服务、数字货币交易和售卖非法禁售物品(毒品、武器)等。尤其是近几年暗网犯罪事件频繁发生,国外摧毁了一些较大的暗网交易平台,国内也频频发生暗网相关的违法犯罪案件。虽然这些网站触犯法律,但由于暗网匿名技术的特点,查封关停非常困难。
在2013 年曝出的暗网黑市“丝绸之路”的创始人被抓事件,该黑市仅在两年左右的时间就拥有了90 万名的注册用户并且完成了价值总和1.2 亿美元的地下交易。如图1 所示是暗网上毒品交易相关的内容。
图1 “丝绸之路”暗网交易平台
在2019 年10 月,公安局网安部门侦破了一起通过暗网售卖银行开户、手机注册信息高达500 万余条的案件。该犯罪嫌疑人通过即时通讯软件结识某安全工程师,以40 万元的价格向该安全工程师购买银行开户、手机卡注册等各类的公民个人信息350 万余条,并使用暗网售卖给其他人,非法牟利70 余万元。
根据洛卡德交换原理,凡走过必留下痕迹,暗网也不例外。在国内,访问暗网需要借助VPN 等翻墙软件,并通过复杂的匿名软件才能登录浏览(如TOR 洋葱浏览器),同时由于暗网网站的特征规律,通常也会在内存中留下访问痕迹,而资金交易则需要通过比特币等虚拟货币来完成[5]。
因此可以通过VPN 取证、内存取证、TOR浏览器取证、数字货币取证、网络流量取证、镜像网站取证等多种方法途径,尝试构建关于暗网违法犯罪活动的完整证据链条。
VPN 主要具有隐藏真实网络IP 地址,绕过网络审查,避开国内防火墙访问境外网站,模拟地理位置,绕开网站访问的地理限制等特性。因此,在国内通常需要借助VPN作为代理访问暗网。
VPN 取证主要涉及到服务端取证和客户端取证两部分。
4.1.1 服务端取证
(1)信息搜集
VPN 服务器大多在外地或者境外,因此一般都会采用远程取证的形式。在远程取证前要先向相关人员取得VPN 服务器的管理员口令,并且保证证据有效的前提下登录服务器、查看在线用户并立即修改管理员口令,防止其他人员恶意破坏证据。紧接着就需要提取系统时间、内存、网络状态、系统进程、端口、开机启动项、通信数据等容易丢失的数据制作成镜像文件进行内存取证。
(2)关键数据提取
提取易失数据后,还需要提取VPS 服务器中部署的VPN 相关数据。VPN 程序部署成功后会产生配置文件、日志文件等。从这些文件中可以提取到保护VPN 的地址、证书配置信息、共享密钥认证信息、客户端连接后的IP 地址段、认证用户名、密码以及当前连接服务器使用VPN 的用户等。
4.1.2 客户端取证
VPN 客户端的重要信息都保存在配置文件中,以常见的shadowsocks 为例,shadowsocks 配置信息保存在gui-config.json 文件中,可以直接解析到VPN 类型、服务器地址、上行数据、用户名以及密码等重要信息。
取证结果如图2 所示。
图2 VPN 取证结果展示
内存取证作为计算机取证科学的重要组成部分,是指从计算机物理内存和页面交换文件中查找、提取、分析易失性证据,是对传统的基于文件系统取证的重要补充,是对抗网络攻击或网络犯罪的有力武器。当系统处于活动状态时,物理内存中保存着关于系统运行时状态的重要信息,比如解密密钥、口令、打开文件、进程信息、网络连接、系统状态信息等。
针对暗网的内存取证主要包括两个方面:内存镜像提取和内存关键数据检索。
4.2.1 内存镜像提取
FTK Imager 是一款专门用于创建电子证据文件、计算哈希值等功能的简易工具,再加上其支持各种操作系统和文件系统,并采取全文检索式的信息搜索技术,让取证人员可以快速地找到所需的电子证据。下面简要介绍提取内存镜像的过程:
(1)启动FTK Imager 应用程序;
(2)点击文件选择捕捉内存,弹出内存捕获窗口,支持自定义保存路径和文件名;
(3)点击捕获内存即可获取文件名为memdump.mem 的当前系统内存文件。
具体操作方法如图3 所示。
图3 FTK 取证内存镜像操作
4.2.2 内存关键数据检索
检索memdump.mem 内存文件中的关键数据,可以选择HxD 或者Winhex 等十六进制查看工具,然后使用暗网域名关键字“onion”进行搜索,就能查找到浏览暗网的相关痕迹信息。检索结果如图4 所示。
图4 关键字检索
4.2.3 内存转储文件分析
程序在计算机上运行之前,首先需要被加载到内存中,内存取证就变得非常重要,这意味着所有被创建、检查或删除的程序或数据都将被保存到内存中。这其中包括图像、所有网页浏览活动、加密密钥、网络连接或进程的代码片段。在许多情况下,这些证据只能在内存中找到。
检索内存转储数据,可以使用Volatility 进行内存取证,它提供了许多内存信息提取的命令。例如,可以使用volatility -f *.vmem plist 查找跟VPN、TOR 浏览器、比特币钱包等可疑进程。如果当前进程中没有找到,可以使用volatility -f*.vmem connscan 命令查找之前终止的和当前活动的连接,该命令可以列出主机正在进行的通信,同时可以使用volatility -f *.vmem sockscan确认这些通信的入站连接是否安全。
TOR 浏览器的功能非常强大,它可以帮助用户突破几乎所有的网络限制,所以经常被犯罪分子用来浏览非法信息、进行非法交易。
TOR 浏览器取证主要涉及以下两个方面:本地数据取证和线上监控平台取证。本地内存信息可以用来提取内存中注册表信息和浏览器信息。本地注册表信息中可以提取到应用的安装时间和执行时间。本地缓存中可以提取到历史记录、下载记录、收藏夹和表单信息,这些信息可以用来做事件还原。线上监控平台则可以监控到暗网上违法交易信息发布等,可以第一时间通知受影响的企业或个人,并结合本地数据取证确定犯罪嫌疑人等。
4.3.1 历史记录
历史记录是用户浏览时的痕迹,通过分析历史记录,可以间接了解用户在上网时的浏览行为,历史记录保存在places.sqlite 文件中,使用数据库工具打开places.sqlite 文件。浏览网页时地址栏url 链接保存在moz_places 表中,具体信息如图5 所示。
图5 TOR 历史记录
4.3.2 下载记录
TOR 浏览器下载记录里会保存用户下载文件的源网站地址、文件保存路径、文件大小等信息,主要保存在places.sqlite 文件中的moz_annos 表中,具体信息如图6 所示。
图6 TOR 下载记录
4.3.3 收藏夹
收藏夹通常是用户感兴趣或经常访问的地址集合,获取和分析收藏夹信息是很有价值的信息。这部分重要的信息主要有信息类型、页面标题、链接等。收藏夹数据保存在places.sqlite 文件,使用数据库工具打开文件,表moz_bookmarks 和moz_places 保存有关收藏夹的信息,具体信息如图7 所示。
图7 TOR 收藏夹
4.3.4 表单信息
表单信息通常是用户在浏览网页时输入的信息。分析表单信息可以获取到有价值的数据,例如账号、邮箱、手机号等。该部分数据保存在formhistory.sqlite 文件中,使用数据库工具打开后,查看moz_formhistory 表,重要的字段包括表单名称、表单值等信息,如图8 所示。
图8 TOR 表单信息
取证结果如图9 所示。
图9 TOR 取证结果
4.3.5 线上监控平台取证
针对暗网的线上监控平台,在github 上已经有比较多的开源工具。比较好用的一款监控工具是DarkNetChinese, 线上监控暗网主要采用爬虫技术,实时监控违法的交易信息。暗网的监控原理是使用TOR 软件开放一个暗网代理,使用该代理即可像访问明文网站一样编写网页爬虫,具体效果如图10 所示。
图10 DarkNetChinese 暗网监控工具
数字货币具有数据公开透明、身份隐私保密、记录不可篡改、交易无法抵赖、去中心化网络和分布式共识等特性。
比特币作为区块链加密货币的先行者,深受游走在法律边缘的人士欢迎,并且区块链具有较好的匿名性,常常被用于掩盖犯罪行为,非法获利。数字货币取证主要以比特币(BTC)核心钱包为例,比特币核心钱包是比特币以及其它加密货币参考的开源客户端,是一款可以查询余额和交易比特币的软件。
主要证据包括日志信息、钱包信息、本地同步区块记录等。
4.4.1 日志信息
比特币核心钱包安装路径下可以直接找到该文件(Debug.log),从文件中可以获取到每次加载个人钱包的时间,钱包中的地址数据条数等,具体数据如图11 所示。
图11 BTC 核心钱包日志信息
4.4.2 钱包信息
新建钱包后会在比特币核心钱包的目录下创建一个跟钱包名同名的文件夹,在文件夹里会保存一个存储钱包交易数据的文件wallet.dat。重要信息如图12 所示:
tx:交易数据;
destdata:比特币地址数据(直接明文存储);
purpose:比特币地址数据(包括创建后删除的比特币地址,直接明文存储)。
图12 BTC 核心钱包信息
4.4.3 本地同步区块记录
比特币钱包客户端在首次登录时需要同步最近一段时间的区块记录,可以解析到本地同步区块中所有交易记录,能够在离线的环境下为取证提供有力的支撑。
比特币交易过程,产生的交易数据文件保存在:../bitcoin/blocks(相对路径),重要信息如图13 所示:
图13 BTC 核心钱包交易信息
Bitcoin 区块记录的目录结构如表1 所示。
表1 Bitcoin 区块记录
BTC 取证结果如图14 所示。
图14 BTC 取证展示
暗网流量在传输过程中会进行数据加密、混淆等操作,造成识别难度增大。针对典型暗网系统,分别从协议设计和实现机制分析,研究匿名通信系统中通信数据流的缓存、封装和调度机制,并对数据包的分布、流量、统计、属性等不同层面特性进行综合分析,筛选出匿名通信流量的可区分特性。在此基础上,可以采用合适的机器识别算法,实现对匿名通信流量的快速、精准在线识别。
暗网网络流量取证,是从大量的历史留存的暗网流量中分割和提取网络流量行为,依据流量行为对数据流进行特定的分类,可以分为暗网服务端流量和暗网客户端流量。
4.5.1 暗网服务端流量取证
暗网服务端流量分析,主要分析典型匿名通信系统TOR 节点的选择算法,使用节点注入方式枚举在线桥节点,并根据协议特征来区分客户端、正常匿名入口节点和桥节点。通过数据分析推算枚举所有节点的时间,并根据数据分析结果部署,以达到最优的资源配置和最快的桥节点捕获速率。此外,在获取部分桥节点的基础上,通过对受控网络的监控,分析出入流量中存在的桥节点网络连接特征,从而关联更多的桥节点。
针对服务端流量取证,更多地是分析出目标网络流量的关键特征,过滤出需要的网络流量,采用可视化或者其他技术手段更方便快速地完成取证。
4.5.2 暗网客户端流量取证
暗网客户端的流量分析,主要通过研究暗网采用的安全传输和匿名协议,深入分析上层应用的暗网通信包长、时间间隔以及并发匿名链路数量等提取流量特征。同时,重点针对HTTP等典型暗网通信流量,通过被动和主动方式采集并预处理流量数据,提取特征生成指纹,建立所关注目标站点的指纹库,使用高效分类模型将未知暗网流量与指纹库中的数据进行匹配,分析出可能的暗网通信目的端。
暗网登录需要额外工具,并且网站域名比较复杂,导致暗网访问者相对表层网要少得多。由于暗网中复杂安全机制的设计,暗网访问速度明显要比表层网慢,一定程度上削弱了用户访问暗网的兴趣。因此,暗网并不适合作为大量犯罪团伙之间消息传播的主力军,而更像是“后备军和应急部队”。犯罪团伙将需要的资源备份到镜像网站上,通过匿名论坛、聊天室或者邮箱发布镜像网站链接地址。
镜像网站取证,主要就是镜像网站的仿真。
4.6.1 镜像网站仿真取证
(1)仿真服务器镜像
仿真服务器镜像包括系统重建、仿真网络验证、虚拟网卡设置等。
(2)分析服务器
分析服务器要查看网站信息、网站框架实现方法、对应站点启动方法、站点部署方法等来实现正常启动站点访问网站。
(3)还原网站及数据库
还原网站需要找到站点配置数据,包括网站路径、网站结构和网站配置文件等。还原数据库需要找到数据库配置、账号密码等信息。
(4)导出后台管理中的涉案数据
网站还原后,可以根据需要将离线网页数据进行证据固定,以备后续使用。
由于暗网的匿名性及不可追溯性特点,互联网黑灰产等违法犯罪活动对匿名访问网络的需求增大,暗网已经成为此类人群上网的首选。当前从技术来说对暗网的屏蔽和封杀存在很多困难,但对于使用暗网进行违法犯罪行为的证据链相对固定,我们可以从各个角度进行研究进而有效追踪犯罪嫌疑人的身份。
互联网不是法外之地,暗网也是如此。通过简要阐述暗网的概念和特点,以及现有暗网犯罪证据链的分析,提出了暗网取证的方法和思路,并从VPN 取证、内存取证、TOR 浏览器取证、数字货币取证、网络流量取证、镜像网站取证等几个方面进行取证实践验证,可以快速还原案发现场、追溯犯罪嫌疑人的有效身份。暗网取证技术的不断完善,对执法机关打击暗网犯罪具有重要的现实意义。