编者按
TECHNICAL STUDIES
随着互联网技术的发展,Web服务已经成为现代人生活中不可缺少的一部分。同时,违法网站也日渐猖獗,其数量和种类与日俱增。由于网络犯罪成本低、隐匿性强,网页取证迎来新的难题。在案发现场勘察进行网页固定时,由于违法网站通常规模小、变化快,若取证耗时过长,则可能面临网站关闭、迁移或数据销毁等情况。当前大多取证产品灵活性较差,无法同时兼顾取证速度和完整度,甚至在遇到陌生网站时无法获取网页内容。
国投智能全资子公司厦门市美亚柏科信息安全研究所,作为国内电子数据取证行业龙头企业,高度重视网页取证的技术研究,经多年沉淀,特推出本专题文章,分析网页取证现状,探究基于交互式指令系统和指令模板化的取证方案。
本文为《基于指令系统和模板化的网页取证研究》上篇,主要阐述网页取证技术现状以及基于指令系统的网页取证技术。
引言
随着互联网技术迅猛发展,Web服务已经与我们的生活息息相关。通常,Web服务可使用网页交互来体验,各种类型的站点提供了囊括衣、食、住、行等各方面的服务。在Web服务使用人数的爆炸性增长的同时,我国网站数量也是不断增加。截至2023年,中国的站点数量达到了383万个,而网页数量更是达到了3350亿个。互联网技术的传播速度快、成本低、隐匿性强、用户基数大等特点为广大网站开发者提供了便利,但也受到了不法分子的重点关注,从而衍生了涉黄、涉毒、谣言、非法交易、盗版侵权、诈骗、薅羊毛、网络水军等违法行为。为了谋取私利,有些针对互联网的非法行为甚至威胁到国家安全。在中国,平均每天有近70万名网民遭受不同程度的网络违法犯罪的侵害。网络违法犯罪所造成的直接经济损失达2890亿元,受害者人均蒙受的直接经济损失约1200元,超过全球黑市大麻、可卡因和海洛因等毒品走私的总额。因此,研究如何进行网页取证具有极大的价值与必要性,它将是守卫网络安全的一把利剑。
1.网页取证技术现状
1.1 取证持续性问题
爬虫技术是一把双刃剑,它既利于构建庞大的互联网生态,也能被用于非法用途,比如非法信息获取,涉及灰黑产等,严重时甚至会干扰网站的正常运营。因此,部分网站会采取一定措施来限制爬虫行为。由于网站的数据源集中在云端后台,且数据的供给规则也由该网站制定,后台可以根据浏览器端的行为临时改变常规的数据供给策略,也就是所谓的反爬机制,目的是为了让爬虫程序无法正常运行。
反爬机制的规则由各网站自行制定。它可以是回复错误信息、降低请求的数据回复频率,或者直接中断回复,也可以是用户层面的禁言、封号等手段。这些反爬手段对取证流程影响很大,甚至可能导致取证中断。
一般而言,网站的规模越大,反爬机制越严格;业务关系利害越大,反爬机制越严格;而海外的规模较大的网站普遍比国内网站的反爬机制更严格。由于成本的限制,也存在相当一部分中小网站是没有反爬机制的。
1.2 取证需求差异性问题
由于网站的框架和技术不断更新迭代,且网页的提供的服务模式具有行业差异,网页所呈现的信息也是五花八门,从而衍生了不一样的取证需求。比如针对涉黄网站,侧重点在于网页截图固定和视频固定;而针对涉赌网站,侧重点在于后台人员、资金往来、统计信息等内容的固定;又或者针对社交言论类网站,侧重点在于发帖信息、转发、评论等信息提取或截图固定;而针对邮箱类网站,侧重点在于邮件的截图固定或EML文件固定。网络犯罪的种类繁多,也造成了取证重点的不同。
因此,在各式各样的违法场景下,如何快速的生成有效的策略性取证方案也是一大难点。
1.3 普遍性效率不高
为了满足取证需求,市面上大体有两种不同的流程:纯手动工具取证和自动化工具取证。
纯手动工具取证即利用截图工具、录屏工具、计算哈希工具,使用手动的方式去满足远勘取证流程。此方法比较简单灵活,但针对量大的数据提取比较吃力甚至行不通。
自动化工具取证即借助爬虫程序等自动化工具进行网页取证,其快速便捷的特性将取证的流程简单化,通常可以一键获取多方面的网站数据。但这种方式也普遍存在3点不足:
1)固定速度失控可能导致隐患。使用自动化程序容易过于追求固定速度而导致触发反爬机制、服务器资源耗尽崩溃等问题。而如果为避免触发反爬机制而放缓固定速度,可能会因为速度过慢导致取证周期过长,存在违法网站数据被销毁的隐患。
2)灵活性较差。取证模板化存在模板开发难度较高、周期长的问题,而且仅能针对特定的网站进行定制化开发,难以满足多样的陌生取证场景。
3)功能还不够完善。市面上很多工具只能满足数据提取,没有截图、录屏等功能,甚至没有符合远勘标准,司法有效性存疑。
2.基于指令系统网页取证技术
2.1 指令系统背景
基于网页取证目前遇到的问题,需要一套拟人化自动化取证流程。流程由各个子操作组成,子操作高度独立,不仅功能全面,并且支持自定义拼接,以满足差异化取证。正因此指令系统呼之欲出。
一个完整的网页取证任务可以细分到针对页面元素的每一步操作,将每一步的逻辑单独拆分出来供用户拼接使用,可以形成一套网页取证的流程。根据业务逻辑拆分出的片段被称为指令,而供用户根据网页内容进行指令拼接的系统被称为指令系统。
2.2 指令统一化技术
指令是满足用户需求的基本单位,是将取证的业务流程碎片化的结果。指令系统即允许用户对指令进行操作和拼接的平台,用户可以通过指令系统,将一条一条细节化的指令根据不同业务场景进行自由搭配,以达到适配陌生场景的目的。
单条指令的对象可以是网页元素,支持操纵元素用于数据提取,模拟点击等;也可以是模拟人的行为,支持等待延时等;也可以是鼠标、键盘等输入设备,用于配置自动化输入等;也可以是业务功能集,比如触发页面截图、数据保存输出、文件下载等。某类指令还需要支持循环执行,比如循环点击翻页,循环枚举页面元素,循环加载链接等。当然,不同的指令也需要支持差异化的配置以兼容更多的需求,比如针对翻页指令,可以配置翻页数;针对延时指令,可以配置延时的时长。
目前,单个指令已覆盖诸多层面,可以对页面元素等进行多种操作。已实现指令的种类和描述如图2:
图2 指令的种类和描述
指令序列是指令的组合,用于顺序地执行所有指令。在大部分场景下的某一时段内,无论是否使用相同的浏览器,同一指令序列在相同网址下执行都具有一致性,因此也衍生出指令序列的分享、管理等功能。而指令系统将用户操作浏览器的行为过程进行抽象,形成一系列的指令,通过组合指令的方式得到一指令序列,并通过自动化执行指令序列满足特定的网页数据提取需求。
指令系统需要提供人性化的交互技术,主要难点在于针对网页元素的操纵交互。可以利用浏览器开放的插件技术,将指令系统功能面板注入到目标页面环境中,借助浏览器的元素选择器功能或者采用监听页面元素关联鼠标移动点击等事件的方式,定位元素并获取到元素的位置等信息,再配置好需求操作后生成了一个元素指令。原理如图3:
图3 生成指令原理
用户在编辑好指令序列后,可以将其作为本次任务的设置直接开始取证,也可以将其模板化,作为该网站的一套固定取证规则,提升指令的复用性。
2.3 指令模板化技术
模板化意味着将某个预先设计好的流程自动化执行,模拟人工取证时的所有步骤并自动执行。取证模板可以用于针对该网站进行全面的信息提取,而数据采集的规则由开发者事先制定,用户无需进一步对数据提取进行操作。市面上的取证产品不乏预先编写好的模板,但由于其需要专业人员进行脚本开发,若遇到陌生网站则需要花费一定时间来生成新的模板。而在指令系统中,用户可以在没有编程基础的情况下使用简单的逻辑对指令进行排序,编辑好的指令序列即可生成一个新的模板,大大降低了模板开发的门槛和时间成本。
通常来说,越是常见、知名或取证需求量大的网站,越有模板化的价值。因为这些网站通常较为稳定,在模板化后不易因网站关闭、迁移等问题而导致模板的失效。同时,这些知名网站的模板可以在遇到取证需求前就已开发完毕,不必在需要取证时紧急进行模板开发,以节约时间,避免耗时带来的风险。而取证需求量大的网站由于需要反复进行固定,取证次数较多,模板带来的效益也远远大于取证次数少的网站。在用户发现某网站在一段时间内需要反复进行取证时,模板化则成为了一个十分必要的流程。使用指令系统进行可视化的指令拼接可以简单、快速生成针对性强的取证规则,并可以将其固化为模板,进一步优化和平衡了网页取证的时间和场景化的能力。
2.4 高可持续的提取技术
网页数据提取一般分为两种方式,一种是页面爬虫,一种是接口爬虫。当发现感兴趣的数据时,页面爬虫技术会无差别加载整个网页的数据,而接口爬虫会针对性的通过请求接口获取局部高精准数据。虽然接口爬虫速度单次更快,但对于服务器后台来说,页面爬虫显然更为友好,仿佛人在浏览页面一样。而接口爬虫容易失控,不仅容易被识别为爬虫,而且如果不限制请求频度,甚至会耗尽后台资源导致宕机。另外,接口爬虫需要通过监听网络流量分析接口及业务参数,没有普适性。因此采用基于页面爬虫技术的拟人化爬取方案是高可持续性的重要保障!
2.5 高效的双模式提取方案
一个高效网页数据提取方案,需要支持指令序列快速生成、指令快速调试修复、提取迅速并可验证的环境。因此同时兼容前后台模式的提取方案呼之欲出。
前台模式下,指令序列所执行的环境是用户所在的浏览器。在前台模式的任务执行过程中,用户可以直观的感受到指令与浏览器交互过程,比如看到页面不断翻动、滚动、点击等,也可以很直观地找到脚本执行时的异常中断情况。因此,通过不断调整指令序列,试验配置提取部分数据,可以快速得到与手动操作行为一致、满足取证需求的自动化脚本。
当然,前台模式大多伴随着界面资源的渲染,无形中增加了性能的损耗。在以数据提取为主的场景下,用户可以使用后台模式固定,其执行的环境是在静默创建的浏览器进程中。后台模式固定下,界面的渲染过程被跳过,设备性能都集中处理数据提取,特别是在数据量达到几千上万页时,网页固定的速度有了近十倍的提升。但因为固定过程都是在后台静默执行,所以比较难以掌控整个过程。正因此,通常使用前台模式创建、调试好指令序列脚本,再切换成后台模式进行实际任务的固定成了较佳的兼容性方案。前后台模式原理如图4:
图4 前后台模式原理
在网页取证技术现状、基于指令系统的网页取证技术探讨的基础上,下篇将继续探讨指令系统应用模式、指令系统结合的实践与结果。
热文
热文
热文
热文
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...