图数据库在安卓取证中的应用

使用图数据库进行安卓智能手机上的证据关联

摘要

如今,智能手机已成为日常生活中流行的通信设备,是人们之间进行通信的主要工具。此外,智能手机还保存了个人的各种活动信息,其中包括许多隐私信息,如通讯录、短信消息、图片、视频、通话记录、位置日志、网页浏览历史、电子邮件等等。这些文档反映了个人的行为、活动或私人活动的信息,如果有足够的合法证据证明某人有罪,则这些信息在法庭上可作为有价值的数字证据。因此,移动设备也是一个重要的渠道和分析工具,对智能手机中存储的内容和数据关联性进行调查,是调查人员从中获取证据的重要手段。本文介绍了从安卓智能手机中获取数字证据所使用的方法和技术,并指出了从这类智能手机中获取数字证据在法律和技术方面所面临的困难。

关键词 :证据关联 · Mobile取证 · Graph数据库

1 引言

从智能手机中收集和分析证据对于调查至关重要,因为它提供了有价值的信息 [1,8]。然而,调查人员目前仍以手动方式从智能手机中进行信息收集。此外,调查人员在智能手机上看到的信息是离散的。需要对所收集的信息进行关联和建立关系,以形成有效证据。而且,智能手机有多种类型,格式各异,难以确定调查过程中所需的具体信息,因为它无法展示信息在活动链条中的流程。因此,找出手机中各条信息之间的关系是一项具有挑战性的任务。

图数据库用于在链接图中存储和可视化信息。本文中,作者构建了一个图数据库,用于收集和分析来自安卓设备的信息,以帮助调查人员通过连接信息片段,将声音和感官证据关联起来,以揭示非法行为。输入数据是从安卓设备内的应用程序中收集的信息集合,这些设备中的对象参与了非法行为,并在实施非法行为过程中被用作通信媒介。

为了实现这一目标,作者需要回答以下问题:如何从安卓设备中提取信息,以及如何将原始提取的信息组织并可视化为图数据库。随后,调查人员可通过查询证据图数据库来发现新信息,从而加速调查过程,并帮助调查人员全面掌握情况,减少其工作量。

本文的组织结构如下:下一节我们将回顾数字移动取证领域以及使用图数据库进行复杂安全场景建模的相关研究。第三节介绍从安卓设备中提取信息的过程。第四节描述数据合成过程。第五节介绍证据图数据库的构建。第六节展示如何利用我们建模的图进行证据提取。第七节对全文进行总结。

2 相关工作

安卓取证是当今一个重要的话题,因为安卓及其工具的普及[6,7]。图数据库是一项具有悠久传统的历史的研究,它被应用于语义网、社交网络等多个领域[4]。近年来,随着产业调研的发展,图数据库被用于表达证据信息之间的关系。

示意图0

2.1 证据收集与合成过程

对移动设备的调查已进行很长时间[3]。收集和综合证据的过程包括信息从移动设备中提取数据,然后将所有收集到的数据合成为图数据库(见图1)。在这些研究中[1–7],作者对移动调查领域进行了非常深入的综述,并涵盖了该领域的主内容。在本节中,我们从这些文章中考察了三项相关工作[8,10,11]。

在[8]中,作者重点研究了在智能手机上广泛使用的三种社交网络应用程序(Facebook、Twitter和MySpace)的证据管理分析。测试在三种流行的智能手机上进行:BlackBerry手机、iPhone手机和安卓设备。测试过程包括在每台设备上安装社交网络应用程序,检查用户常见行为,并对在比利时手动收集的各套镜像进行证据分析。该分析旨在检测这些应用程序收集的行为是否可存储在设备的内部存储器中。如果可以,则可通过设备逻辑镜像获取并提取用户特征和位置。结果表明,在BlackBerry手机中未发现任何痕迹,但在iPhone手机和安卓手机中保存了大量有价值的信息,调查人员可将其恢复。

最近,有一个项目致力于使用图数据库实现通用的ICT风险模型[9]。在这项工作中,作者通过多个步骤对APT威胁进行建模,并构建一个图来表示攻击过程。通过查询该图,作者可以找到积极信号,从而判断正在发生APT攻击。

在[10]中,作者提出了一种用于移动设备在线内存取证自动分析的方法。作者研究了设备RAM的行为,该分析在实时通信应用所收集证据的分析方面非常有用。多种具有不同参数的媒体场景得到了仔细分析。测试结果表明,消息发出方手机在消息来源为外部时具有一致性更高。在作者的实验中,从发出消息中获取证据的收集率达到100%。对于来自外部的消息,根据在不同情况下考虑的各种参数,收集百分比在75.6%到100%之间变化。因此,在实际情况中,利益相关者可以依次发送消息并持续发送多条消息1,证据收集方能够捕获支持高级研究普查的大部分数据。

在[11]中,作者调查了一个特定示例,即故意恶意激活电话设备以进行间谍活动。具体而言,恶意代码可以自动激活摄像头,进而偷偷开启麦克风或实施窃听。

3 从安卓设备进行信息提取

所有安卓应用的数据库存储默认位于内部存储器的 /data/application_name/databases 目录中。然而,根据需求,应用程序也可以将数据保存在外部存储的 /SDCard 目录。此外,数据还可以从台式计算机进行保存,而无需根权限权限通常位于 /SDCard 。这两个目录的区别在于,“ /data/data/applicationname/databases ”目录是私有的,受安卓系统保护,只有根权限和所有者才能访问。相比之下, /SDCard 目录是外部数据存储,其中的数据不受保护,因此普通用户可以访问、编辑或删除。因此,普通用户无法知道短信消息、通讯录、通话记录等数据库是如何存储的,他/她只能通过自己的应用程序查看数据。

为了获得根权限,安卓用户需要对设备进行获取根权限操作。这可能导致用户获得最高权限,从而使安卓设备不再受到保护。因此,为了保护根权限,建议用户安装根权限管理应用以防止非法的根权限访问。此类应用中的流行代表是超级用户应用。在获得根权限后,安卓数据提取变得简单。数据提取有多种方法,在本文中我们介绍两种常用的方法:

  • 使用文件管理器应用并为其分配根权限。通过此应用,我们可以将数据保存到SD卡,然后复制到台式计算机。
  • 使用安卓调试桥(ADB)。这是一种命令行工具,可实现安卓设备与计算机之间的通信。该工具可在 <sdk>/platform-tools/ 中找到,或下载ADB驱动。安装ADB后,为了与安卓设备通信,必须在安卓设备上启用ADB调试模式,并为ADB分配根权限。以下两个命令展示了如何从安卓设备导出彩信、短信数据并复制到台式计算机:
adb shell su root dd if=/data/data/com.android.providers.telephony/databases/mmssms.db of=/sdcard/mmssms.db
adb pull /Sdcard/mmssms.db C:/WorkStarion/sms.db

命令 adb shell su root 使用根权限访问手机; dd if=<path to source files> of=<path to destination file> 命令是数据复制命令;命令 adb pull 是将数据从设备拉取到台式计算机的命令。对于彩信/短信应用程序,其包名为 com.androidproviders.telephony ,并使用 /databases 目录保存数据库文件 mmssms.db 。其他数据库如通话日志、联系人、电子邮件可以以类似方式提取。

获取根权限的设备允许调查人员查询安卓设备中的所有信息。然而,获取根权限设备的副作用可能导致设备变砖或遭受恶意软件攻击。此外,获取根权限会导致设备保修失效,更重要的是会影响设备的合法性。因为此处提到的设备是作为证据存在的,如果调查人员有权获取根权限并对设备进行过多干预,将导致证据失去其合法性。因此,我们必须在获取根权限前仔细考虑,并以非常谨慎和周全的方式进行操作。

另一种间接的数据提取方式对设备造成的副作用较小,即使用第三方应用程序进行数据提取。该应用程序类似于普通应用程序,安装在设备上并请求足够的权限用于提取调查所需的数据,例如短信读取权限、通话记录访问权限、通讯录读取权限。此类应用程序的典型代表是专用于取证活动的AFLogical OSE。该应用程序可将通话记录、联系人和短信提取为csv格式并保存到 /Sdcard 目录。用户可以使用 adb pull 命令将数据从手机保存到台式计算机。

4 移动设备中的数据合成

从移动设备中提取数据后,我们开始对数据进行整合。为了跟踪一段时间内活动的进展及其关系,我们将提取的信息整合成一个公共数据库(见图1)。这些信息包括多种类型,如短信消息、通话记录、电子邮件、位置等。

4.1 通话记录

成功提取通话记录后,我们收集了多台移动设备的通话记录。为了区分它们,必须使用 Linux awk 命令为每条通话记录添加其对应的电话号码,因为在通话记录中所有者号码并未体现。

awk 'BEGIN{FS = OFS = ",", }{$(NF+1) = NR==1 ? "本机号码" : "932870887 和 963270532"} 1' CallLog.csv > CallLog1.csv

4.2 短信日志

与通话记录类似,我们需要将本机号码添加到每个短信数据库中。因为在短信数据库中不会显示本机号码。我们使用了 Linux 中的 awk 命令:

awk 'BEGIN{FS = OFS = ",", }{$(NF+1) = NR==1 ? "本机号码" : "932870887"} 1' 短信.csv > SMS1.csv

不同 Android 版本之间的短信数据库结构存在许多差异。因此,我们仅从以下列中提取信息:地址、日期、类型、正文和号码,然后使用 awk 命令将其合成为公共表:

awk 'FNR==1 && NR!=1 {next;}{print}' 短信*.csv > AllSMS.csv

5 构建证据图数据库

获得合成数据库后,我们将其转换为图数据库以进行可视化。在本研究中,我们使用 Neo4j 作为平台来展示该数据库。

5.1 GrapCall 通话记录和短信

为了创建通话记录的关系表,我们使用 Neo4j 命令将 AllCallLogs.csv 中的数据导入图数据库:

LOAD CSV FROM 'file:///home/dmtuantv/aflogical-data/AllCallLogs.csv' AS re
CREATE (r:relation {
  号码1: re[1],
  date: re[2],
  duration: re[3],
  type: re[4],
  姓名1: re[6],
  号码2: re[9]
})
RETURN r;

类似地,创建短信日志的关系表:

LOAD CSV FROM 'file:///home/dmtuantv/PhoneData/AllSMS.csv' AS sms
CREATE (n:sms {
  address: sms[0],
  date: sms[1],
  type: sms[2],
  body: sms[3],
  number_own: sms[4]
})
RETURN n;

5.2 操作图数据库

创建图数据库后,我们使用一些 Neo4j 查询来优化表格,以获取更有用的数据,例如:(见图2)

  • 此命令创建一个号码表,其中包含 number1 列中的所有号码:
    cypher MATCH (r:relation) WITH DISTINCT r.号码1 AS num CREATE (n:numbers 号码: num) RETURN n;

  • 此命令将本机号码插入到号码表中:
    cypher MATCH (r:sms) WITH DISTINCT r.number_own AS num CREATE (n:numbersms 号码: num) RETURN n;

  • 此命令创建 nsms 表,用于省略地址与本机号码之间的重复号码:
    cypher MATCH (n:numbersms) WITH DISTINCT n.number AS num CREATE (m:nsms 号码: num) RETURN m;

  • 我们可以从 sms 表和 nsms 表创建发送关系。此命令创建所有发送过短信的号码的发送关系:
    cypher MATCH (n:nsms), (r:sms), (n1:nsms) WHERE n.number = r.address AND n1.number = r.number_own AND r.type = '1' CREATE (n)-[:SEND {日期: r.date, 正文: r.body}]->(n1)

  • 此命令创建所有号码的接收关系:
    cypher MATCH (n:nsms), (r:sms), (n1:nsms) WHERE n.number = r.address AND n1.number = r.number_own AND r.type = '2' CREATE (n)<-[:SEND {日期: r.date, 正文: r.body}]-(n1)

示意图1

6 证据图提取

将信息组织成图数据库后(见图3),我们便可以在其上开始查找信息,例如:

  • 查找 2015年5月20日 的信息。我们必须将日期格式从 dd/mm/yyyy 转换为时间戳格式:
    cypher MATCH ()-[r]->() WHERE r.date='14454.*' RETURN r;

  • 过滤重复的呼入和呼出电话:
    cypher MATCH (n:numbers), (r:relation), (n1:targetNumber) WHERE n.号码 = r.号码1 AND n1.号码 = r.号码2 AND r.类型 = '3' CREATE (n)-[:Missed {日期: r.日期}]->(n1) RETURN n, n1;

示意图2

7 结论与未来工作

本文介绍了使用编程方法追踪安卓设备上的证据以及利用图数据库进行证据表示的调查与技术。其创新之处在于,作者通过图数据库将信息片段进行关联,从而展示证据。这种直观表达将有助于调查过程,特别是使专业调查人员能够更深入地探索与其案件相关的细节。

总之,文章《使用图数据库进行安卓智能手机上的证据关联》已实现了其目标,即信息提取并将数据以图数据库形式呈现,同时提供了用于证据发现的示例查询。我们相信,该论文的贡献将有助于节省调查人员调查的时间。

由于操作系统的持续发展、移动操作系统的多样性以及用户(尤其是故意犯罪的用户)的警惕性不断提高,智能手机上的证据搜寻正变得越来越困难。此外,制造商开始通过加密智能手机数据来增强系统安全,并且不提供应警方请求解密的机制。这增加了移动设备上证据调查的复杂性。这些挑战将成为移动设备证据搜寻中的重要课题,并将成为研究人员感兴趣的课题。

内容概要:本文围绕“光伏-储能-数据中心”系统的容量优化配置展开研究,旨在通过构建数学模型并结合Matlab编程实现,对园区内光伏发电、储能设备与数据中心算力负荷之间的多能互补关系进行协同优化。研究综合考虑可再生能源出力的波动性、储能系统的充放电特性以及数据中心的动态用电需求与算力调度特性,建立以最小化综合成本、降低碳排放强度、提升能源自给率等为目标的多目标优化模型,并采用先进的智能优化算法(如粒子群、灰狼、鲸鱼等)进行求解,从而确定光伏装机容量与储能系统配置的最优方案。文中提供了完整的Matlab代码实现流程,涵盖数据预处理、模型构建、算法求解与结果可视化全过程,属于综合能源系统与信息基础设施深度融合的前沿交叉课题。; 适合人群:具备电力系统、能源工程、自动化或计算机等相关专业背景,熟悉Matlab编程与基本优化算法原理,从事新能源利用、绿色数据中心、综合能源系统规划与低碳调度等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握光伏-储能-数据中心耦合系统的建模思路与多能流协同机制;② 学习基于Matlab的多目标容量优化配置方法与智能算法应用技巧;③ 为工业园区、数字经济园区及绿色数据中心的能源系统规划、节能减排与可持续运行提供科学决策依据和技术解决方案。; 阅读建议:建议结合所提供的Matlab代码,深入理解目标函数设计、约束条件设定及算法实现细节,可通过调整负荷参数、改变气候数据、引入新的优化目标或约束条件等方式进行拓展性实验,以深化对系统特性的认知并提升实际科研与工程应用能力。
内容概要:本文档聚焦于“考虑源网荷储协调的主动配电网优化调度方法”的Matlab代码复现研究,属于电力系统与综合能源系统领域的高水平科研资源。文档系统阐述了融合电源侧、电网侧、负荷侧及储能系统(源-网-荷-储)协同优化的主动配电网调度模型,旨在通过先进的数学优化方法提升电力系统的经济性、可靠性与低碳化水平。研究内容涵盖多时间尺度调度架构、不确定性建模(如新能源出力波动)、鲁棒优化或分布鲁棒优化(DRO)等核心技术,并依托Matlab平台完成模型构建与仿真验证。同时,文档列举了多个前沿研究方向,如光储充一体化、主从博弈、微电网双层优化、电氢耦合系统、电动汽车集群调度等,体现出其在现代智能电网与综合能源系统优化调度中的代表性与前瞻性。; 适合人群:具备电力系统基础理论知识和Matlab编程能力,从事能源、电气工程、自动化、可再生能源等方向研究的研究生、科研人员及工程技术人员,特别适合致力于优化建模、智能算法应用与综合能源系统仿真的研究人员。; 使用场景及目标:① 复现高水平期刊论文中的主动配电网优化调度模型;② 掌握源网荷储协同优化的建模方法与Matlab实现技术;③ 借助所提供的完整代码资源开展二次开发、算法改进或新场景拓展,服务于科研创新、项目申报与学术论文撰写。; 阅读建议:建议结合文档中提及的相关文献与案例,按照目录结构循序渐进地学习,重点理解模型构建的逻辑框架与代码实现的关键细节,并利用附带的百度网盘资源获取全部代码与数据文件,通过动手实践加深对优化算法与工程应用的理解。
内容概要:本文围绕《考虑光伏-储能-数据中心多能互补的园区容量优化配置(Matlab代码实现)》这一技术资源,系统研究了工业园区内光伏发电、储能系统与数据中心之间的能量协同与容量优化问题。通过构建融合可再生能源出力不确定性、负荷波动及数据中心算力负荷特性的数学优化模型,采用Matlab编程实现多能互补系统的容量配置求解,旨在提升能源利用效率、降低运营成本与碳排放,并增强园区能源系统的稳定性与经济性。文中综合运用分布鲁棒机会约束(DRCC)、N-1安全准则、鲁棒优化等先进建模方法,确保方案在复杂运行环境下的可行性与可靠性,适用于综合能源系统(IES)的规划与调度研究。; 适合人群:面向具备电力系统、能源系统或优化算法基础的研究生、科研人员及工程技术人员,尤其适合熟悉Matlab编程及YALMIP、CPLEX等优化工具的专业人士;对于从事智慧园区、绿色数据中心或低碳能源系统研究的人员亦具有较高参考价值。; 使用场景及目标:①支撑科研项目中对含数据中心的智慧园区进行多能互补建模与仿真分析;②用于撰写学位论文、期刊投稿中的案例验证与算法对比;③指导实际工程中光伏与储能容量的科学规划与配置决策;④深入学习分布鲁棒优化、N-1安全约束等高级方法在能源系统中的集成应用。; 阅读建议:建议结合提供的Matlab代码逐模块解析模型实现过程,重点关注目标函数构建、约束条件设定及求解器接口调用逻辑。推荐对照“顶级EI复现”案例,掌握工业级建模规范,并尝试复现关键结果以加深理解。同时可延伸学习文中关联的多时间尺度调度与协同优化策略,全面提升综合能源系统的研究与实践能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值