- 人们总是认为主流社交媒体平台都会自动删除用户上传的照片中的元数据,的确如此,但是,事实上并没有完全删除。这篇文章介绍了如何挖掘社交媒体上上传的照片中残留的元数据,并且能帮您识别是否AI生成的假照片、以及是否被PS过
将照片用于开源情报调查并不是什么新鲜事,但几乎所有这类工作都集中在图像的视觉内容上。鲜为人知的是图像元数据和文件数据对研究目的的高价值。
除了图像的视觉外观之外,图像文件中往往还隐藏着同样有用的附加信息。这些数据类型中最著名的是EXIF数据。EXIF是一个信息金矿,因为它包含了关于相机的信息、设置、有时甚至是位置数据,但如果您在网络或任何类型的社交媒体平台上遇到图像中的EXIF数据,您都会是非常幸运的。
因为大多数平台都会从图像中删除EXIF数据,能找到它是相当罕见的。这意味着使用主要来源的图像总是比经过处理的二手图像更好 —— 但这并不意味着我们应该完全放弃图像元数据。
nixintel 在这篇文章中深入探索了数字取证的世界,并证明了仍然有一些小细节隐藏在网络图像中,可以被挖掘到。
工具
有一些工具可用于从JPEG图像文件中提取数据。这篇文章将介绍3种这样的工具。
Forensically —— 这是一款非常简单的基于网络的图像取证工具,可在浏览器中运行。只需用 “打开文件” 加载一张图片就可以开始分析。“元数据”、“地理标签” 和 “字符串提取” 等选项卡将对获取所需的数据非常有用。
Exiftool —— 这是一个简单但非常强大的工具,用于从许多不同类型的文件中提取元数据,而不仅仅是图像。它可以在 Windows、Mac 和 Linux 上运行。这里有一个简单的安装指南,还有一个有用的 Windows 视频教程。它并不像 Forensically 那样可以立即使用,但是它对于查看被恢复的元数据更有效。
Bless —— Bless 是一款十六进制编辑器,它允许您以最原始的形式查看文件的结构。HxD 也是一个很好的 Windows 十六进制查看器,但任何十六进制编辑器都可以达到这个目的。使用十六进制查看器是检查文件结构的最全面的方法,它可以让您非常精确地检查元数据。
JPEG里面有什么?
每种类型的文件都有自己的数字签名 —— 这是计算机区分.doc 和 .exe 的方法。在 Windows 中,操作系统会查看文件末端的扩展名(如.pdf,.xls),以决定使用什么程序来运行该文件。
每个文件都以十六进制文件签名开始,它告诉操作系统它是什么样的文件。一个.exe文件以 4D 5A 开头,一个.docx文件以 50 4B 03 04 开头,一个JPEG图像文件以 FF D8 开头,以此类推。这里有一份完整的常用签名列表。如果这对您来说完全陌生也不用担心,很快就会清楚了。
这意味着,当计算机在读取数据时,在文件的开头看到 “FF D8”,它就会知道这是一个 JPEG 文件。文件的结尾处有一个相应的 “FF D9” 来标记。以新闻中的一张图片为例。下面是您的电脑如何将图片呈现给您。
下面是电脑如何看到同一张图像。通过用十六进制阅读器打开它,您可以看到的东西(几乎)和电脑看到的一样。请注意,它以文件签名 FF D8 开始,这表明它是一个JPEG文件。
文件以 FF D9 结尾,表示JPEG的结尾:
那么,这与EXIF和其他文件数据有什么关系呢?—— 正如有特定的十六进制字符表示JPEG文件的开始和结束一样,文件中还有其他十六进制模式,表示在哪里可以找到特定种类的信息。
这些都位于文件头中,这是文件的第一部分,在与实际图像本身有关的主要数据之前。这里有一个所有有用的JPEG代码的完整列表,但只有其中几个我们感兴趣的。
FF E1 —— 文件中任何EXIF数据的开始。
FF E2 —— ICC配置文件是一组决定特定设备如何显示颜色的属性。这对开源情报调查来说很重要,因为即使大多数网站删除了EXIF数据,而ICC配置文件通常也会完好无损(假设它一开始就存在的话)。对于某些设备来说(如苹果产品),有时仍有可能通过这些信息来确定设备的制造商。
FF ED —— Photoshop 和 IPTC 数据。该标记表示 Photoshop 处理后产生的元数据的开始。IPTC 数据包含其他信息,如 版权信息、摄影师的详细资料和标题等。即使在未经修改的情况下这些数据往往也不会出现在照片中,但当它出现时,就非常有用。
通过实际示例更容易看到这一点,下面来试一下。
示例:带有EXIF数据的照片
下面这张照片来自最近的CNN文章。 虽然他们并不总是从其网站的图像中删除 EXIF 数据。这里有直接指向图片的链接。
首先,将其保存并上传至 Forensically。以下是 “元数据” 标签显示的内容:
里面有很多有用的细节。ImageDescription 字段也被填充了。在 “字符串提取” 选项卡中也有其他的信息片段:
此JPEG标头中的大量数据使其成为使用十六进制编辑器检查文件的良好测试对象。十六进制格式的文件如下所示:
请注意,EXIF数据是如何在右侧栏中可见的。我们已经知道,一个JPEG的EXIF部分以 FF E1 开始,所以我们可以 Ctrl+F 找到这部分文件。它就在文件签名之后的开头部分:
接下来,可以通过搜索 FF E2 来检查ICC配置文件,在此特定图片中找不到它。但是存在 FF ED 字段(Photoshop和IPTC数据),因此您能知道该文件可能已经被P过了:
文件的十六进制视图提供了最高级别的详细信息,但它并不总是最容易阅读。Forensically 在提取和显示大多数数据方面做得很好,但是在我看来,ExifTool 做得更整洁。此处显示了一些元数据的选择方式:
由于照片已被 Photoshop 处理,Photoshop 活动的创建和修改时间戳被嵌入到图像中。
这些 Photoshop 编辑时间戳与您在计算机中的所有文件上找到的创建/修改/访问的时间戳不同 —— 这些时间戳来自设备自身的文件系统,并非文件头本身的固有部分。
这都是非常有用的,但您已经知道,几乎没有任何网络图像包含EXIF数据,即使存在,也已经有很多像 Jeffrey’s EXIF Viewer 这样易于使用的工具,可以轻松地提取这些数据,那还有什么意义呢?
正如我们看到的那样,并不是所有文件头里面的数据都是EXIF数据,但只要懂得深入挖掘,您就仍然可以找到有用的原始数据碎片,而这些碎片正是EXIF删除工具所忽略的。
我们也会看到,各大平台都会以自己特色的方式删除EXIF数据,这实际上可能会让您更容易识别一张图片的来源。
一切都没有丢失……
几乎每个主要的平台都会删除元数据,但它们都以不同的方式进行。去年 IPTC 做了一个全面的测试,对于许多流行的社交媒体和图像托管平台,它们都是如何处理EXIF和IPTC数据的。正如您所看到的那样,每个平台处理文件的方式都不一样:
有时您可以看到平台如何剥离数据。例如下面这张照片,是在Ebay上出售的一辆自行车,可以查看其文件的十六进制视图,甚至可以告诉您使用的是什么软件:
就在您希望 EXIF FF E1 字段出现的地方,有一个替代问候语 “Processed By eBay with ImageMagick”。ImageMagick 是一个常见的EXIF删除工具(如果您愿意,也可以说它是EXIF伪造工具,但那是另一回事…)。至少您现在知道如何判断一张图片是从Ebay借来的了!
然而并不是所有的网站在删除元数据时都会留下如此明目张胆的痕迹,每个网站的处理方式都不一样。在接下来的文章中将会展示一些热门网站是如何处理图片元数据的,在处理的过程中包含了各自的特色。
首先来看看 Facebook 的下面这张照片。
这张图片的文件名是:88004843_10111606095638101_261759268640784384_o.jpg。这种特殊的文件命名格式来源于 Facebook 存储其数十亿图片的独特方式。
您可以在这里阅读更多关于他们巧妙的 Haystack 存储系统,但 Facebook 上每张图片的文件名实际上是表示 Facebook 庞大生态系统中特定硬盘集群上的一个特定块,而不是与它的账户来源有关。
这样做的结果就是,Facebook 的图片文件名是非常独特的。
下面、使用 ExifTool 来查看该文件本身:
ExifTool Version Number : 10.80
File Name : 84068253_10111506635776461_6848249074852823040_o.jpg
Directory : .
File Size : 371 kB
File Permissions : rw-rw-r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
Profile CMM Type :
Profile Version : 2.0.0
Profile Class : Display Device Profile
Color Space Data : RGB
Profile Connection Space : XYZ
Profile Date Time : 2009:03:27 21:36:31
Profile File Signature : acsp
Primary Platform : Unknown ()
CMM Flags : Not Embedded, Independent
Device Manufacturer :
Device Model :
Device Attributes : Reflective, Glossy, Positive, Color
Rendering Intent : Perceptual
Connection Space Illuminant : 0.9642 1 0.82491
Profile Creator :
Profile ID : 29f83ddeaff255ae7842fae4ca83390d
Profile Description : sRGB IEC61966-2-1 black scaled
Blue Matrix Column : 0.14307 0.06061 0.7141
Blue Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract)
Device Model Desc : IEC 61966-2-1 Default RGB Colour Space - sRGB
Green Matrix Column : 0.38515 0.71687 0.09708
Green Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract)
Luminance : 0 80 0
Measurement Observer : CIE 1931
Measurement Backing : 0 0 0
Measurement Geometry : Unknown
Measurement Flare : 0%
Measurement Illuminant : D65
Media Black Point : 0.01205 0.0125 0.01031
Red Matrix Column : 0.43607 0.22249 0.01392
Red Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract)
Technology : Cathode Ray Tube Display
Viewing Cond Desc : Reference Viewing Condition in IEC 61966-2-1
Media White Point : 0.9642 1 0.82491
Profile Copyright : Copyright International Color Consortium, 2009
Chromatic Adaptation : 1.04791 0.02293 -0.0502 0.0296 0.99046 -0.01707 -0.00925 0.01506 0.75179
JFIF Version : 1.01
Resolution Unit : None
X Resolution : 1
Y Resolution : 1
Current IPTC Digest : 2aa1d117b0d20226dcefbb16249a023f
Original Transmission Reference : GggUWrgwZ9hSQFQXeGJa
Image Width : 1504
Image Height : 1505
Encoding Process : Progressive DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 1504x1505
Megapixels : 2.3
这些数据中的绝大部分都与图像的颜色设置有关。即使是看起来很有趣的字段 “Profile ID” 也是指一个非唯一的颜色配置文件设置,而不是像用户个人资料这样的特定东西。然而,这张 Facebook 图片的独特之处在于 IPTC Digest 哈希值。
当前的 IPTC Digest: 2aa1d117b0d20226dcefbb16249a023f。
这是从与图像相关的 IPTC 数据中得出的唯一哈希值。
我们无法访问IPTC数据本身,但这个哈希值仍然很有用,因为它是一种唯一性的形式。这个数据字段在去年被广泛误报为另一种形式的 “Facebook追踪”,甚至是某种隐写术。
可以肯定的是,Facebook 跟踪你的方式有无数种,但这不是其中之一。IPTC 更类似于一种版权标记的形式,但仅此而已。
作为一个研究者,需要知道的是,如果我从 Facebook 上获取一张图片,并更改文件名,元数据里面的原始 IPTC Digest 仍然没有变化。以下是我将 88004843_10111606095638101_261759268640784384_o.jpg 重命名为 someimage.jpg,再通过 Exiftool 运行时的情况。也是同样的结果:
Current IPTC Digest : 2aa1d117b0d20226dcefbb16249a023f
但是,如果我改变图像中的一个像素并重新保存,所有原始元数据都会丢失:
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : None
X Resolution : 1
Y Resolution : 1
Image Width : 1504
Image Height : 1505
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 1504x1505
Megapixels : 2.3
至少这不是一种非常有效的跟踪方式。
Twitter也会删除元数据,但当文件从苹果设备上传时,它确实会让 ICC Profile 字段(FF E2)和 Photoshop 元数据字段(FF ED)不受影响。下面是 Julia Bayer 发布的一张旧照片作为例子:
在 Forensically 中打开图像并选择 “String Extraction” 会从 FF E2 和 FF ED 字段中提取信息:
那里还有一些原始元数据尚未删除。 使用 Exiftool 可以使其更易于阅读:
ExifTool Version Number : 10.80
File Name : EP4i4PqUUA86HSg.jpeg
Directory : .
File Size : 284 kB
File Modification Date/Time : 2020:02:18 19:34:40+00:00
File Access Date/Time : 2020:02:18 19:34:40+00:00
File Inode Change Date/Time : 2020:02:18 19:34:40+00:00
File Permissions : rw-rw-r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : None
X Resolution : 72
Y Resolution : 72
Profile CMM Type : Apple Computer Inc.
Profile Version : 4.0.0
Profile Class : Display Device Profile
Color Space Data : RGB
Profile Connection Space : XYZ
Profile Date Time : 2017:07:07 13:22:32
Profile File Signature : acsp
Primary Platform : Apple Computer Inc.
CMM Flags : Not Embedded, Independent
Device Manufacturer : Apple Computer Inc.
Device Model :
Device Attributes : Reflective, Glossy, Positive, Color
Rendering Intent : Perceptual
Connection Space Illuminant : 0.9642 1 0.82491
Profile Creator : Apple Computer Inc.
Profile ID : ca1a9582257f104d389913d5d1ea1582
Profile Description : Display P3
Profile Copyright : Copyright Apple Inc., 2017
Media White Point : 0.95045 1 1.08905
Red Matrix Column : 0.51512 0.2412 -0.00105
Green Matrix Column : 0.29198 0.69225 0.04189
Blue Matrix Column : 0.1571 0.06657 0.78407
Red Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Chromatic Adaptation : 1.04788 0.02292 -0.0502 0.02959 0.99048 -0.01706 -0.00923 0.01508 0.75168
Blue Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Green Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
IPTC Digest : d41d8cd98f00b204e9800998ecf8427e
Image Width : 1604
Image Height : 2048
Encoding Process : Progressive DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 1604x2048
Megapixels : 3.3
该图像仍然保留了元数据,该元数据显示它是使用 Apple 设备创建的:
Profile Creator : Apple Computer Inc.
Profile ID : ca1a9582257f104d389913d5d1ea1582
Profile Description : Display P3
Profile Copyright : Copyright Apple Inc., 2017
尽管 Twitter 删除了 FF E1(EXIF) 字段之后的大部分图像元数据,但它仍然保留了其他元数据字段。
这似乎只适用于苹果设备,但这是一个微小的信息碎片,可能对信息验证 ——证明或反驳图像信息 —— 很有用,这种方法经常被忽视很不应该。
Reddit 对来自苹果设备的照片也会留下同样的元数据。下面是一个例子:
尽管删除了所有其他数据,但在此图像中依然能看到相同的来自 Apple 的痕迹:
Profile CMM Type : Apple Computer Inc.
Profile Version : 4.0.0
Profile Class : Display Device Profile
Color Space Data : RGB
Profile Connection Space : XYZ
Profile Date Time : 2017:07:07 13:22:32
Profile File Signature : acsp
Primary Platform : Apple Computer Inc.
CMM Flags : Not Embedded, Independent
Device Manufacturer : Apple Computer Inc.
Device Model :
Device Attributes : Reflective, Glossy, Positive, Color
Rendering Intent : Perceptual
Connection Space Illuminant : 0.9642 1 0.82491
Profile Creator : Apple Computer Inc.
Profile ID : ca1a9582257f104d389913d5d1ea1582
Profile Description : Display P3
Profile Copyright : Copyright Apple Inc., 2017
AI 生成的图像
上一次 OSINTCurious 讨论了像 Facebook 这样的服务是否可以使用图像元数据和文件名来检测虚假的个人资料图片,比如这个目标人是否不存在。以前我们也介绍过用AI生成不存在的人的脸部照片的方法:
- 《完美替身》
为了看看这些图片会产生什么样的元数据,创建了下面这张图片,这是AI创建的,此人并不存在,然后通过 Exiftool 和 Bless 运行它。
很多标准的元数据字段都存在(都是以’FF’开头),但它们都是空白的,实际上不包含任何数据。这肯定是不寻常的,因为大多数真实的个人资料图像至少会包含一些JPEG头信息,而这个图像几乎完全是空白的。
这就足够证明它是由电脑软件而不是相机创建的图像。
这可能是 Facebook 标记用这些图片创建的个人资料的一个方法吗?有可能,但不完全确定。部分原因是有很多活跃的个人资料使用这些图像而没有任何问题,目前无法知道究竟是什么触发了 Facebook 认为某个账户的个人资料不真实。
关于可检索的 Photometadata 类型的信息,建议您阅读这篇详细的指南。⚪️
One thought on “社交媒体照片也能找到元数据痕迹以实现追踪,这件事怎么做?”