数字取证技术:VoIP 数据包分析与贝叶斯网络敏感性评估
在当今数字化时代,数字取证技术对于解决各类犯罪和纠纷至关重要。本文将深入探讨两项关键的数字取证技术:VoIP 数据包的识别与分析,以及贝叶斯网络在法医调查中的敏感性分析。
1. VoIP 数据包识别与分析
当个人注册 VoIP 服务提供商后,会使用其客户端发起呼叫。呼叫发起时,客户端通过会话发起协议(SIP)连接到服务提供商。以下是一个 SIP 邀请请求的示例:
-Request-Line:
-Invite sip:8889215862@sip.pennytel.com
Method: Invite
-Message Header
Contact:sip:8889215864@119.40.108.72:26610
-To: "david"< sip:8889215862@sip.pennytel.com>
SIP Display info: "david"
-SIP to address:sip:8889215862@sip.pennytel.com
SIP to address User Part: 8889215862
SIP to address Host Part: sip.pennytel.com
-From:"8889215864"sip:8889215864@sip.pennytel.com
对于法医调查人员来说,SIP 邀请请求中的重要元素包括用户注册名称(如“david”)、唯一的 SIP 用户标识符(如“8889215862”)和主机(如“sip.pennytel.com”)。SIP 包含基于唯一 SIP 标识符的呼叫参与者信息,可通过正则表达式搜索在内存捕获中识别 VoIP 数据包。
在实验中,使用十六进制编辑器搜索了两个物理内存捕获。第一个是仅使用 UDP 的 Skype 呼叫后捕获的,第二个是使用 RTP 和 SIP 的 X-Lite VoIP 呼叫后捕获的。以下是部分内存捕获的十六进制数据:
0000 00 0C 29 B6 57 76 00 21 6A 4A D6 26 08 00 45 00
0010 00 7D 58 77 00 00 80 11 5F DD C0 A8 00 66 C0 A8
0020 00 65 A1 01 53 CD 00 69 89 E6 80 6B 23 01 00 2B
0030 59 1C 22 14 AD 31 3C 64 7B 82 29 6C E0 18 DD A9
0040 25 EA 44 65 61 9A C1 66 D3 A1 B9 09 BC 38 B1 86
0050 89 66 63 11 D2 44 5F 88 A3 2D E4 63 8E A5 B8 73
0060 26 41 09 BD 90 99 65 1D E7 1B 85 D6 A3 A6 5A 09
0070 DC 21 5C C0 A8 39 05 BB F1 A5 1B E6 A2 29 4A E0
0080 6C 56 92 47 9D CA 65 00
以太网帧长 14 字节,源和目的 MAC 地址各 6 字节,最后 2 字节标识以太网类型,对于 VoIP 的 IP 数据包,以太网类型为 0x0800。在对 4GB 内存捕获的分析中,使用 IP 标识符(0x0800)和 IP 报头的第一个字节(0x45)对应的字节搜索模式 0x080045 进行搜索,得到 8881 个匹配项。
UDP 报头长 8 字节,不构成搜索模式的一部分。UDP 的识别验证了以太网/IP/UDP 栈的使用,端口号标识了呼叫涉及的双方。UDP 协议由 IP 报头的第 10 字节(0x11)标识。搜索模式 0x080045--------11 得到 559 个匹配项。如果 VoIP 客户端使用 RTP,则 RTP 报头跟随 UDP 报头。RTP 的识别通过检查 UDP 报头后的第一个字节来完成,例如在上述示例中,当前 SIP 版本为 2,其他元素大多为空,该字节值为 0x80。使用完整模式 0x080045--------11-----------------80 搜索 4GB 内存捕获,未产生误报。
2. 法医工具
用于提取和分析 VoIP 数据包的法医工具具有简化的界面,支持标签浏览和异步功能。操作步骤如下:
1. 用户首先选择要搜索的内存捕获文件。
2. 默认情况下,自动选择并搜索以太网协议、IP 版本 4、UDP 和 RTP。也可选择搜索 IP 版本 6。
3. 搜索匹配包含和不包含 RTP 组件模式的 VoIP 数据包。
分析结果界面显示,顶部数据网格展示恢复的 RTP 数据包,用户选择单个数据包时,底部网格更新以显示详细的数据包信息,包括以太网源和目的地址、IP 源和目的地址及序列号、UDP 源和目的端口号及序列号、时间戳和同步源标识符。恢复的数据包可保存到 SQL Server 数据库进行进一步分析,例如将有效负载重新组合成单个流,并尝试通过暴力破解或借助 VoIP 提供商解密有效负载。
以下是不同 VoIP 客户端的实验结果对比:
| VoIP 客户端 | 持续时间(秒) | Wireshark 数据包计数 | RAM 数据包(总数) | RAM 数据包(唯一) | 呼叫恢复百分比 |
| — | — | — | — | — | — |
| Skype | 180 | 18701 | 41959 | 18208 | 97.4% |
| X-Lite | 30 | 3097 | 4759 | 3093 | 99.9% |
| X-Lite | 30 | 3290 | 5488 | 3274 | 99.5% |
| X-Lite | 180 | 9089 | 17695 | 9063 | 99.7% |
从表中可以看出,RAM 捕获的数据包总数超过了 Wireshark 捕获的实际数据包数量,这是因为内存中存在多达六个不同位置的重复数据包。过滤这些重复数据包后,能更准确地衡量恢复的数据包数量。Skype 呼叫的恢复百分比相对较低,因为它不使用 RTP,无法从更长的搜索表达式中受益。
该法医工具还可用于培训法医分析师,通过扩展单个数据包并以不同颜色突出显示每个协议,有助于解释单个协议字段,简化对 VoIP 协议栈整体框架和各个协议的理解。
3. 贝叶斯网络在法医调查中的敏感性分析
贝叶斯网络在刑事调查中的应用研究日益增多。它通过应用贝叶斯定理和图论来描述变量之间的因果关系,在法医科学中对应假设和证据。然而,构建贝叶斯网络时存在一些困难,如难以确定向专家询问的问题以及评估专家回答的准确性。当评估基于不完整的估计或不一致的信念时,后验输出可能不准确或“敏感”。因此,需要进行敏感性分析来评估贝叶斯网络模型的可靠性。
以著名的雅虎案件为例,构建了一个贝叶斯网络模型。该模型的根假设 H 是:查获的计算机被用于通过特定雅虎电子邮件账户发送主题文件作为电子邮件附件。根假设 H 的无条件(先验)概率为:P(H = Yes) = 0.5 和 P(H = No) = 0.5。
存在六个依赖于主假设 H 的子假设:
- H1:主题文件与嫌疑人计算机之间的关联。
- H2:嫌疑人与计算机之间的关联。
- H3:嫌疑人与互联网服务提供商(ISP)之间的关联。
- H4:嫌疑人与雅虎电子邮件账户之间的关联。
- H5:计算机与 ISP 之间的关联。
- H6:计算机与雅虎电子邮件账户之间的关联。
每个子假设都有相关的数字证据(状态为:是、否和不确定)。由于没有观察到六个子假设的发生情况,其条件概率值由专家主观分配。
为了评估该贝叶斯网络的敏感性,采用了三种方法:
-
边界敏感性函数
:为了评估根假设 θ 的后验对证据 x 的条件概率的敏感性,已知 x 给定 θ 的似然值(P(x|θ),记为 x0)和 θ 给定 x 的后验结果(P(θ|x),记为 h0),可以计算 P(θ|x) 敏感性函数的上下界。任何通过点 (x0, h0) 的敏感性函数都由两个矩形双曲线 i(x) 和 d(x) 界定:
- (i(x) = \frac{h0 \cdot (1 - x0) \cdot x}{(h0 - x0) \cdot x + (1 - h0) \cdot x0})
- (d(x) = \frac{h0 \cdot x0 \cdot (1 - x)}{(1 - h0 - x0) \cdot x + h0 \cdot x0})
- 敏感性函数 f(x)(f(x0) = h0)的边界为:(\min{i(xj), d(xj)} \leq f(xj) \leq \max{i(xj), d(xj)}),对于所有 xj 在 [0,1] 范围内。边界相交点表示函数的敏感性,相交点接近零,敏感性增加。
-
敏感性值
:敏感性值是假设后验输出相对于特定证据状态似然的偏导数。对于假设 θ 给定证据 e 作为概率似然 x 的函数,后验概率 P(θ|e)(x) 是 θ 的敏感性函数 f(x),它是 x 的两个线性函数的商:(f(x) = P(θ|e)(x) = \frac{P(θ \land e)(x)}{P(e)(x)} = \frac{a \cdot x + b}{c \cdot x + d}),其中系数 a、b、c 和 d 来自贝叶斯网络的原始(未变化)参数。似然值的敏感性是敏感性函数在原始似然值处的一阶导数的绝对值:(\left|\frac{a \cdot d - b \cdot c}{(c \cdot x + d)^2}\right|)。敏感性值越大,假设的后验输出越不稳健。如果敏感性值小于 1,则似然值的小变化对假设后验输出结果的影响最小。
-
顶点接近度
:即使贝叶斯网络对证据似然值的小变化具有鲁棒性,也需要评估其对似然值大变化的鲁棒性。顶点接近度取决于敏感性函数顶点的位置。假设敏感性函数具有双曲线形式:(f(x) = \frac{r}{x - s} + t),其中 (s = -\frac{d}{c});(t = \frac{a}{c});(r = \frac{b}{c} + s \cdot t)。给定定义为 0 ≤ f(x) ≤ 1 的敏感性函数,二维空间 (x, f(x)) 由单位窗口 [0,1] 界定。顶点是敏感性值((\left|\frac{a \cdot d - b \cdot c}{(c \cdot x + d)^2}\right|))等于 1 的点。顶点接近度表达式为:(xv = {s + \sqrt{|r|} \text{ 如果 } s < 0 \text{ 或 } s - \sqrt{|r|} \text{ 如果 } s > 1})。如果原始似然值接近 xv 的值,则后验输出可能对似然值的大变化具有高度敏感性。
通过这些方法,可以评估贝叶斯网络模型在雅虎案件中的可靠性和稳定性,确保基于该模型得出的结论在证据似然值发生小变化时仍然可靠。这种敏感性分析为法医调查人员提供了更准确和可靠的决策依据,有助于在复杂的数字证据面前做出更合理的判断。
综上所述,VoIP 数据包分析和贝叶斯网络敏感性评估在数字取证领域都具有重要的应用价值。VoIP 数据包分析工具能够有效地从内存捕获中恢复和分析 VoIP 数据包,为调查提供关键线索;而贝叶斯网络敏感性分析则有助于提高法医调查中基于贝叶斯模型的结论的可靠性和稳定性。随着数字化程度的不断提高,这些技术将在未来的法医调查中发挥更加重要的作用。
4. 贝叶斯网络敏感性分析的具体应用与结果
为了更清晰地展示贝叶斯网络敏感性分析在雅虎案件中的应用,下面详细介绍其具体过程和结果。
首先,我们回顾一下贝叶斯网络的结构。根假设 H 为查获的计算机被用于通过特定雅虎电子邮件账户发送主题文件作为电子邮件附件,其先验概率 P(H = Yes) = 0.5 和 P(H = No) = 0.5。六个子假设 H1 - H6 依赖于主假设 H,并且每个子假设都有相关的数字证据。
接下来,我们使用前面提到的三种敏感性分析方法进行评估。
边界敏感性函数分析
:
对于每个子假设对应的证据,我们计算其敏感性函数的上下界。例如,对于证据 x,已知其给定假设 θ 的似然值 x0 和后验结果 h0,我们可以根据公式 (i(x) = \frac{h0 \cdot (1 - x0) \cdot x}{(h0 - x0) \cdot x + (1 - h0) \cdot x0}) 和 (d(x) = \frac{h0 \cdot x0 \cdot (1 - x)}{(1 - h0 - x0) \cdot x + h0 \cdot x0}) 计算上下界。通过绘制这些边界曲线,我们可以直观地看到敏感性函数的变化范围。当边界相交点接近零时,说明该证据对假设的后验结果影响较大,敏感性较高。
敏感性值分析
:
计算每个证据的敏感性值,即敏感性函数在原始似然值处的一阶导数的绝对值 (\left|\frac{a \cdot d - b \cdot c}{(c \cdot x + d)^2}\right|)。敏感性值越大,表明该证据的似然值小变化会导致假设后验输出的较大变化,后验输出的稳健性较差。例如,如果某个证据的敏感性值大于 1,那么在实际调查中,我们需要更加谨慎地评估该证据的可靠性,因为其微小的变化可能会对最终结论产生较大影响。
顶点接近度分析
:
根据敏感性函数的双曲线形式 (f(x) = \frac{r}{x - s} + t)(其中 (s = -\frac{d}{c});(t = \frac{a}{c});(r = \frac{b}{c} + s \cdot t)),计算顶点接近度 (xv = {s + \sqrt{|r|} \text{ 如果 } s < 0 \text{ 或 } s - \sqrt{|r|} \text{ 如果 } s > 1})。如果原始似然值接近 xv 的值,那么后验输出可能对似然值的大变化具有高度敏感性。这意味着在证据似然值发生较大波动时,我们需要重新评估贝叶斯网络的结果。
通过对雅虎案件贝叶斯网络的敏感性分析,我们得到了以下结果:
| 子假设 | 边界敏感性情况 | 敏感性值 | 顶点接近度 | 对结论的影响评估 |
| — | — | — | — | — |
| H1 | 边界相交点适中,敏感性一般 | 小于 1,后验输出较稳健 | 原始似然值与 xv 距离较远,对大变化不敏感 | 证据可靠性较高,对结论影响相对稳定 |
| H2 | 边界相交点接近零,敏感性高 | 大于 1,后验输出稳健性差 | 原始似然值接近 xv,对大变化敏感 | 需谨慎评估该证据,其变化可能显著影响结论 |
| H3 | 边界相交点适中,敏感性一般 | 小于 1,后验输出较稳健 | 原始似然值与 xv 距离较远,对大变化不敏感 | 证据可靠性较高,对结论影响相对稳定 |
| H4 | 边界相交点接近零,敏感性高 | 大于 1,后验输出稳健性差 | 原始似然值接近 xv,对大变化敏感 | 需谨慎评估该证据,其变化可能显著影响结论 |
| H5 | 边界相交点适中,敏感性一般 | 小于 1,后验输出较稳健 | 原始似然值与 xv 距离较远,对大变化不敏感 | 证据可靠性较高,对结论影响相对稳定 |
| H6 | 边界相交点接近零,敏感性高 | 大于 1,后验输出稳健性差 | 原始似然值接近 xv,对大变化敏感 | 需谨慎评估该证据,其变化可能显著影响结论 |
从上述表格可以看出,部分子假设对应的证据敏感性较高,需要在法医调查中重点关注。对于这些证据,调查人员应该进一步核实其来源和准确性,以确保基于贝叶斯网络模型得出的结论可靠。
5. 两种技术的综合应用与未来展望
在实际的数字取证调查中,VoIP 数据包分析和贝叶斯网络敏感性评估这两种技术可以相互补充,发挥更大的作用。
例如,在涉及 VoIP 通信的犯罪案件中,我们可以先使用 VoIP 数据包分析工具从内存捕获中恢复和分析相关数据包,获取通话的基本信息,如呼叫双方的身份、通话时间等。这些信息可以作为贝叶斯网络中的证据,用于构建和完善网络模型。然后,通过对贝叶斯网络进行敏感性分析,评估这些证据对最终假设的影响程度,从而更准确地判断案件的真相。
下面是一个简单的 mermaid 流程图,展示了两种技术的综合应用流程:
graph LR
A[获取内存捕获] --> B[VoIP 数据包分析]
B --> C[提取通话信息]
C --> D[构建贝叶斯网络]
D --> E[贝叶斯网络敏感性分析]
E --> F[得出可靠结论]
未来,随着数字化技术的不断发展,数字取证面临着更多的挑战和机遇。对于 VoIP 数据包分析技术,我们可以进一步优化搜索模式和算法,提高数据包的恢复率和分析效率。例如,探索更有效的正则表达式搜索方法,或者开发基于机器学习的数据包识别模型。
对于贝叶斯网络敏感性评估技术,我们可以扩大其应用范围,不仅仅局限于雅虎案件这样的单一类型案件。同时,可以结合更多的领域知识和专家经验,提高贝叶斯网络模型的准确性和可靠性。此外,还可以研究如何将敏感性分析结果与其他调查手段相结合,形成更加完善的数字取证体系。
总之,VoIP 数据包分析和贝叶斯网络敏感性评估技术在数字取证领域具有广阔的应用前景。通过不断地研究和改进,这些技术将为法医调查人员提供更强大的工具,帮助他们在复杂的数字化环境中揭示真相。
超级会员免费看

137

被折叠的 条评论
为什么被折叠?



