mbeardwell/osint-i3-case-study

GitHub: mbeardwell/osint-i3-case-study

一份OSINT案例研究报告,演示如何从极低信号的公开信息推断目标地理位置与个人身份,强调道德边界与方法论。

Stars: 0 | Forks: 1

# 从最小公共信号中进行位置与身份解析:一项道德 OSINT 案例研究 本仓库包含一个 OSINT 案例研究,演示了如何在信息匮乏的情况下,仅利用公开可访问的数据进行地理位置定位与身份解析。此举旨在作为我作品集的一部分,且与威胁情报、调查技能和网络安全相关。所有个人身份信息 (PII) 均已匿名化处理。 [下载报告](https://raw.githubusercontent.com/mbeardwell/osint-i3-case-study/main/docs/report.pdf) 📥
**摘要**
本案例研究探讨了从极其有限的输入(即在 YouTube 上发布稀疏、非结构化的视频)中重建位置与身份的调查技术。此举旨在支持我的专业作品集,以展示我在低信号调查技术、地理定位以及与网络安全和威胁情报相关的道德开源调查方面的能力。目的是评估在信息匮乏情况下调查方法的可行性。
**道德声明**
本调查仅出于研究和提升调查专业技能的目的而进行。未访问任何私人系统、凭据或受限数据源。所有分析均使用研究时可公开获取的信息进行。未与调查目标或其关联人员发生任何联系。目标被视为匿名案件,所有发现结果现已进行匿名化处理,仅出于教育目的予以披露。 # 引言 本案例研究演示了如何通过分析公开可访问的信息——包括视频片段、社交媒体元数据和卫星图像——在极低信号输入的情况下解析出位置和身份。 在英国,我将使用的调查框架被称为“ I3 ”——即“情报、调查、推理”——它遵循以下信息处理流:
原始数据 $\rightarrow$ 处理后数据 $\rightarrow$ (调查) $\rightarrow$ 情报报告
经过结构化、验证和分析的原始公开数据,通常被称为“ OSINT ”。尽管名为开源情报,但 OSINT 并非决策就绪意义上的情报。它是调查的输入,而不是输出。 在本案例研究中,我使用该框架揭示了位置以及目标 YouTube 化名个人资料的身份。我为此目的选择的个人资料,因其包含最少的指示信息而入选。 我将按照识别出的顺序列出视频拍摄地点,以及视频本身和该地点拍摄时的时间戳。我将逐一解释我是如何获得精确 GPS 坐标的。 本报告已作匿名化处理——地点、视频标题、视频时间戳、个人详细信息以及任何其他识别信息均未包含在内。我使用“色调分离”对原始图像进行了转换,使其更难被用于重新识别其来源。 # 方法论 在本章中,我将从头到尾说明调查过程,展示我是如何缩小多个视频拍摄地点和目标居住地的范围,以及如何确定目标的身份和个人元数据的。 ## 识别拍摄地点与缩小目标居住地范围 ### 视频 A #### 农贸市场 ~08:10
Posterised frame from Video A showing the storefront layout.
Posterised public image confirming feature match.
Comparison of video frame and public image.
通过 Yandex.com 对视频截图进行反向图像搜索提供了许多结果,其中之一我立刻认出是同一栋建筑,在视频中被称为他们的“当地”农贸市场。这为开始解析视频内容中的其他位置提供了一个切入点。 ### 视频 B #### 峡谷小径 ~12:00
Posterised frame from Video B showing the town from the mountain.
Posterised public image confirming feature match.
Comparison of video frame and public image.
在提取了一帧从山上俯瞰城镇的视频截图后,我打开了一个图像编辑工具,并突出了道路和建筑物等关键特征。 在得知视频 A 的拍摄地点后,我打开了 Google Earth,将视图定位到该城镇并指向它。我在软件中的视频 B 截图中直观地识别出了这些特征,并对齐视图使其指向它们,使得视角和位置让我所见的景象与提取的视频截图相似。这帮助我在 Google Earth 的视图位置中确定了视频的大致拍摄地点。 考虑到山坡的陡峭程度,我猜测他们是通过峡谷小径到达该位置的。我搜索了穿过 Google Earth 视图位置的峡谷小径,并在 Google 街景视图中于该视图位置处打开了它。我将该位置的一张 Google 用户提交照片与视频截图在图像编辑工具中并排比较,图像中的关键特征及其透视关系相吻合,从而确认了该视频截图的地点。 ### 视频 C #### 大学所属住宅区 ~00:40 画面显示目标走在人行道上,随后切到他们站在公寓楼外。我在 Google Images 中搜索了“[先前查询的城镇] 的公寓”,并找到了一个租赁房源信息,其地址在视觉上与视频中建筑的外观相匹配。然而公寓外长椅的位置有所不同,因此我无法对这种匹配完全确信。进一步的调查发现,在该地区还有另外三个类似的带共享花园的住宅区,因此我在心里记下画面也可能是在其他三个地方之一拍摄的。 #### 垒球场 ~00:30
Posterised frame from Video C showing subject walking near the complex.
Posterised drone footage frame as it flies through the same location.
Comparison of video frame and drone footage.
既然我已经获得了仅几秒钟后那个较易识别场景的地点,我就可以回到目标走在人行道上的那一幕。由于 Google 街景视图对该区域的覆盖不足,我在 YouTube 上搜索了在稍后场景中住宅区位置附近拍摄的视频。我看到了一些无人机航拍视频,并通过将无人机飞过的建筑物与 Google 街景视图中的建筑物进行比较,跟踪了无人机的飞行路径。在绘制出无人机的飞行轨迹后,我就能确定它在视频 C 中飞过同一截人行道时的具体位置。 ### 再次回到视频 A #### 宠物店 ~10:40 鉴于画面是在宠物店拍摄的,我在 Google Maps 中搜索了早先找到的租赁房源附近的宠物店。在逐一列举后,我发现了一家的用户内部提交照片与视频中的特征相符。 ## 根据先前的观察缩小居住地范围 ### 推断正确的公寓楼 在视频 C 中,从 ~00:30 时目标在其公寓楼外人行道上行走,到 ~00:40 时处于其阳台下方的共享花园区域,这种场景转换暗示他们当时正在走回家。使用地图工具,我标注了行进方向,结合我在网上找到的相同类型的所有四栋公寓楼的群组地图,可以推断他们住在最北端的建筑群中。 ### 缩小范围至仅四间公寓
Posterised frame from Video C showing the view of the garden area from the flat’s balcony.
Posterised satellite photo showing the inferred flat complex.
Comparison of video frame and satellite imagery.
在视频 C 中,有一个镜头是从其中一间公寓的阳台上俯瞰共享花园区域中的目标。将树木、长椅和游乐场等特征与 Google Maps 上的卫星照片相匹配,我可以推断该阳台位于该建筑群最南端公寓楼的右半部分。一张棕色和绿色的长椅相邻,旁边还有一张呈正交摆放的浅色长椅。这些长椅与最南端公寓楼附近的景象大致对应,但在较旧的卫星图像中,它们的方向和位置略有不同。 我观察了花园周围小径的位置以及目标相对于它们的位置,以便在视频 C 的同一阳台镜头中确定其在地图上的位置。这揭示了阳台在建筑群最南端大楼中的大致位置。 通过半透明的图像编辑工具,将大学在线地图叠加在卫星图像上,我推断出与阳台大致位置相对应的公寓编号。Google Maps 没有正确显示公寓编号,因此我在网上找到了拥有该建筑群的大学所发布的地图。关于这些编号如何对应具体公寓,其说明有些晦涩难懂,因此我查看了 Google 街景视图,上面显示了带有公寓编号的标牌。这些数字是垂直递增的,与在线地图上垂直递增的数字相对应。这让我推断出该阳台位于八间公寓之外——一层四间,二层四间。 如果做出进一步的假设,你可以推断出一个可能的公寓编号,然而这些假设并不具有十足的说服力。 ## 解析目标的身份 本节的目标是展示我是如何从低信号的 YouTube 资料过渡到高度清晰的个人元数据的。我已隐去所有个人信息、URL 和截图,以保护目标的隐私。 ### 从化名 YouTube 到个人 LinkedIn 在目标于 YouTube 上最早发布的视频中,其下方的描述链接到了一个 Google Drive 上的 Python Jupyter Notebook 文件。该文件的所有者仍然是化名的,但在 Google 中搜索该文件中的评论,检索到了由个人电子邮件账户上传到 Google Colab 的同一 Notebook——其用户名揭示了所有者的全名。 在 Google Images 中搜索此用户名,找到了一张来自 LinkedIn 资料的肖像。该资料的所有者穿着与目标其中一个视频中相同的大学连帽衫。目标与 STEM(科学技术工程数学)相关的 YouTube 账户,与该 LinkedIn 资料声明其学习 STEM 专业的说法相符。资料照片也与视频中的目标面部特征一致。 ### 从个人 LinkedIn 到个人 Facebook LinkedIn 资料并未透露太多关于目标的信息。它展示了他们的照片和工作经历,但详细程度并没有比 YouTube 资料好多少。使用从 LinkedIn 账户获取的目标姓名,我搜索了 Facebook。该姓名下有 43 个账户,其中一个引起了我的注意,因为此人曾与目标就读于同一所大学。Facebook 的头像与视频中的目标以及 LinkedIn 的头像相匹配。这个 Facebook 账户有可能推断出目标的社交网络和家庭结构,以及他们关联的地点。 ### 解析更多个人元数据 在搜索开放数据库时,我可以利用来自社交媒体账户的信息来确定哪些结果属于该目标。在“ www.fastpeoplesearch.com ”上,已知全名有 15 个结果。根据年龄排除了 11 个,又通过调查配偶排除了另一个,剩下三个潜在结果。其中只有一个与 Facebook 资料位于同一城镇。它列出了一名相关人员,此人的名字也出现在 Facebook 资料的评论者中。 将 FastPeopleSearch 的结果与已知信息合并后,获取了全名、精确到月份的出生日期、个人电子邮件、联系人列表及其关系、旧地址和目前位于某公寓群内的现住址,以及两个社交媒体资料。一条关于入学、结婚、毕业、跨州搬家以及创立 YouTube 频道的时间线也已得出。 ## 工具与技术 在此,我将列出用于开展本次调查和数据收集的工具,以及用于创建报告的工具。 ### 工具 - **Google/Yandex 反向图像搜索**,用于从视频帧中识别位置 - **Google Dorking**,用于精确控制搜索引擎搜索 - **Google Earth 和 Google Maps**,用于与地形/建筑布局以及标牌和公寓编号关联进行视觉比对 - **Google Drive / Colab**,展示公开访问元数据泄露情况 - **LinkedIn & Facebook**,用于开放资料 - **FastPeopleSearch**,作为人物索引 - **ImageMagick**,用于色调分离、调整大小、格式转换 - **Bash 脚本**,用于可复现的图像处理 - **md5sum 和 identify**,用于验证转换并确保一致性 ### 技术 - 从视频片段中进行逐帧推理 - 跨数据格式的视觉特征匹配(视频 $\leftrightarrow$ 卫星 $\leftrightarrow$ 地图) - 利用建筑结构和物体摆放进行手动地理定位 - 元数据枢纽转换(电子邮件用户名跳转至 LinkedIn 资料) - 面部特征与服装关联比对 - 通过数据抑制和抽象进行道德匿名化 - 用于保护隐私的视觉分析色调分离处理 - 基于结构化文档的 Markdown 编写及视觉解释 # 结论 我已经证明,对于一名仅使用公开可访问数据且具备道德底线、动机明确且有能力的行动者来说——更不用说恶意行动者了——将在线虚拟身份与现实世界身份分离的努力可能是不够的。我认识到了结构化公开数据的强大威力,以及坚守强健道德规范的重要性。它还为我提供了在不确定性下进行地理定位、社交图谱解析和高效调查树搜索的实践经验。 本案例研究 exemplifies (例证)了公开可获取的信息如何在低信号环境中 compromises (危及)匿名性和隐私。它 reinforces (强化)了安全审计、最小化元数据以及注重隐私的系统设计的重要性。 # 数据来源 - YouTube 视频上传内容 - 视频内容和描述 - 无人机航拍画面比对 - 公开 Colab 笔记本(链接包含在视频上传元数据中) - 图像搜索引擎 - Yandex 反向图像搜索 - Google Images - 个人元数据 - LinkedIn & Facebook(仅限公开资料) - FastPeopleSearch(美国人物索引) - 地图(常规地图、卫星图和 3D 地图) - 大学提供的在线住宿地图 - Google Maps / Street View / Earth
标签:ESC4, I3调查框架, OSINT, YouTube分析, 代码示例, 伦理调查, 低信号调查, 信息匮乏, 匿名化, 卫星图像分析, 地理位置定位, 威胁情报, 实时处理, 应用安全, 开发者工具, 情报分析, 数据分析, 社交媒体情报, 网络安全, 网络安全, 网络诊断, 网络调查, 视频溯源, 身份溯源, 防御加固, 隐私保护, 隐私保护