首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EXIF--你可能想象不到的信息泄露

EXIF--你可能想象不到的信息泄露

原创
作者头像
霸王猪
修改2018-09-20 18:07:54
3.4K0
修改2018-09-20 18:07:54
举报
文章被收录于专栏:后台日记后台日记

用户是幸福的,因为他们根本不知道他们的隐私信息在不经意之间泄露。

这些天在重温《不朽法医》,里面有一集是关于网络时代根据网上用户的碎片信息抓捕罪犯的。刚好也在看朋友圈的照片,有感而发,想到了手机照片的信息泄露。

手机拍摄的照片信息泄露主要来源于照片的EXIF(Exchangeable Image File format)信息。EXIF是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。常见的数据项如下:

项目

信息(举例)

制造厂商

Canon

相机型号

Canon EOS-1Ds Mark III

图象方向

正常(upper-left)

图象分辨率X

300

图象分辨率Y

300

分辨率单位

dpi

软件

Adobe Photoshop CS Macintosh

最后异动时间

2005:10:06 12:53:19

YCbCrPositioning

2

曝光时间

0.00800 (1/125) sec

光圈值

F22

拍摄模式

光圈优先

ISO感光值

100

Exif信息版本

30,32,32,31

图象拍摄时间

2005:09:25 15:00:18

图象存入时间

2005:09:25 15:00:18

曝光补偿(EV+-)

0

测光模式

点测光(Spot)

闪光灯

关闭

镜头实体焦长

12 mm

Flashpix版本

30,31,30,30

图象色域空间

sRGB

图象尺寸X

5616 pixel

图象尺寸Y

3744 pixel

GPS经度

116/1, 19/1, 5169/100

GPS维度

39/1, 58/1, 3543/100

GPS海拔

33066/515

从上表可以看见,透露的信息已经足以大概定位一个人。

下面我们来尝试一下,人肉自己拍的一张照片。

步骤1: 掏出手机,随意拍摄一张照片

步骤2:将这张照片通过微信文件传送,以原图的方式传输到电脑上。

步骤3:写几行代码读取这张照片的exif信息,以下以PHP代码为例:

$image = "/Users/UserA/Pictures/WechatIMG30.jpeg";

$exifInfo = exif_read_data($image, 0, true);
//格式化数据信息,方便肉眼查看
foreach ($exifInfo as $key => $section) {
    foreach ($section as $name => $val) {
        if (is_array($val)){
            $val = implode(", ", $val);
        }
        echo "$key.$name: $val\n";
    }
}

步骤4:使用php exifInfo.php 查看,信息如下:

FILE.FileName: WechatIMG30.jpeg
FILE.FileDateTime: 1537426941
FILE.FileSize: 1639310
FILE.FileType: 2
FILE.MimeType: image/jpeg
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS
COMPUTED.html: width="4032" height="3024"
COMPUTED.Height: 3024
COMPUTED.Width: 4032
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.ApertureFNumber: f/2.2
COMPUTED.Thumbnail.FileType: 2
COMPUTED.Thumbnail.MimeType: image/jpeg
IFD0.Make: Apple
IFD0.Model: iPhone SE
IFD0.Orientation: 6
IFD0.XResolution: 72/1
IFD0.YResolution: 72/1
IFD0.ResolutionUnit: 2
IFD0.Software: 11.3
IFD0.DateTime: 2018:09:20 15:02:00
IFD0.YCbCrPositioning: 1
IFD0.Exif_IFD_Pointer: 204
IFD0.GPS_IFD_Pointer: 1646
THUMBNAIL.Compression: 6
THUMBNAIL.XResolution: 72/1
THUMBNAIL.YResolution: 72/1
THUMBNAIL.ResolutionUnit: 2
THUMBNAIL.JPEGInterchangeFormat: 2050
THUMBNAIL.JPEGInterchangeFormatLength: 6871
EXIF.ExposureTime: 1/33
EXIF.FNumber: 11/5
EXIF.ExposureProgram: 2
EXIF.ISOSpeedRatings: 125
EXIF.ExifVersion: 0221
EXIF.DateTimeOriginal: 2018:09:20 15:02:00
EXIF.DateTimeDigitized: 2018:09:20 15:02:00
EXIF.ComponentsConfiguration:
EXIF.ShutterSpeedValue: 2297/454
EXIF.ApertureValue: 7983/3509
EXIF.BrightnessValue: 4489/1661
EXIF.ExposureBiasValue: 0/1
EXIF.MeteringMode: 5
EXIF.Flash: 16
EXIF.FocalLength: 83/20
EXIF.SubjectLocation: 2015, 1511, 2217, 1330
EXIF.MakerNote: Apple iOS
EXIF.SubSecTimeOriginal: 777
EXIF.SubSecTimeDigitized: 777
EXIF.FlashPixVersion: 0100
EXIF.ColorSpace: 1
EXIF.ExifImageWidth: 4032
EXIF.ExifImageLength: 3024
EXIF.SensingMethod: 2
EXIF.SceneType:
EXIF.ExposureMode: 0
EXIF.WhiteBalance: 0
EXIF.FocalLengthIn35mmFilm: 29
EXIF.SceneCaptureType: 0
EXIF.UndefinedTag:0xA432: 83/20, 83/20, 11/5, 11/5
EXIF.UndefinedTag:0xA433: Apple
EXIF.UndefinedTag:0xA434: iPhone SE back camera 4.15mm f/2.2
GPS.GPSLatitudeRef: N
GPS.GPSLatitude: 39/1, 58/1, 3543/100
GPS.GPSLongitudeRef: E
GPS.GPSLongitude: 116/1, 19/1, 5169/100
GPS.GPSAltitudeRef:
GPS.GPSAltitude: 33066/515
GPS.GPSTimeStamp: 7/1, 1/1, 5915/100
GPS.GPSSpeedRef: K
GPS.GPSSpeed: 0/1
GPS.GPSImgDirectionRef: T
GPS.GPSImgDirection: 52248/523
GPS.GPSDestBearingRef: T
GPS.GPSDestBearing: 52248/523
GPS.GPSDateStamp: 2018:09:20
GPS.UndefinedTag:0x001F: 65/1

首先,我们作为一个非摄影专业人员来看下都有哪些信息是我们可以提取,并且可能会泄露隐私的。

如果想深入了解EXIF并知道EXIF相关的协议,可以查看参考2里的链接地址。

IFD0.Make: Apple

IFD0.Model: iPhone SE

IFD0.Software: 11.3

IFD0.DateTime: 2018:09:20 15:02:00

苹果手机,型号iPhone SE, IOS版本11.3, 拍摄时间为2018:09:20 15:02:00。手机型号软件版本信息被泄露了。

IFD0.Orientation: 6

这个照片的方向,6:The 0th row is the visual right-hand side of the image, and the 0th column is the visual top. 意味你需要将脖子逆时针旋转90°看照片。

EXIF.UndefinedTag:0xA434: iPhone SE back camera 4.15mm f/2.2

使用的是后置摄像头

GPS.GPSLatitudeRef: N

GPS.GPSLatitude: 39/1, 58/1, 3543/100

GPS.GPSLongitudeRef: E

GPS.GPSLongitude: 116/1, 19/1, 5169/100

这是我认为最可怕的东西,经纬度信息,对应着东经116.331,北纬39.9765。让我们来看看这个坐标偏差有多大,在google map里用得到的经纬度查询,定位如图:

经纬度定位图
经纬度定位图

和我真实的地址,偏差在400米以内,好可怕。如果泄露了地理位置信息,那么被人肉的范围就缩到很小。下面还有:

GPS.GPSAltitude: 33066/515

海拔62米左右。这已经大概算出我在几层楼高的地方。如果出现海拔略高,并且刚好周边有个非常高的建筑,那基本上可以判断在哪栋楼的第几层了。

GPS.GPSSpeedRef: K

GPS.GPSSpeed: 0/1

GPS.GPSImgDirectionRef: T

GPS.GPSImgDirection: 52248/523

可以看到我拍照时,速度是0km/h,方向是100°左右。如果我在开车,那就可以知道我拍照瞬间的车速多少,往哪个方向开。

一张很随意的照片,如果以原图的方式发布到网上,在不查看照片视觉内容的时候,就已经可以泄露手机型号,操作系统版本,精度在400米以内的地理位置,海拔,速度和方向。而这些信息都是线下可以和真实人物结合的敏感信息。

最关键的是,这些信息都是在用户不经意的时候泄露了,大部分网民应该都发过自己手机里拍摄的照片。而有多少用户有考虑过照片里的信息泄露呢?甚至说,有多少用户知道照片EXIF信息可以携带这么多照片内容除外的信息?

幸运的是,不少软件在传输照片时,出于带宽成本考虑,会在本地将图片压缩,抹除大部分EXIF信息。这压缩的过程,降低了信息泄露的风险。

总结:用户隐私保护,任重而道远。

参考:

  1. https://en.wikipedia.org/wiki/Exif
  2. Exchangeable image file format for digital still cameras: Exif Version 2.3 http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf

相关的佚闻趣事:

In December 2012, anti-virus programmer John McAfee was arrested in Guatemala while fleeing from alleged persecution in Belize, which shares a border. Vice magazine had published an exclusive interview on their website with McAfee "on the run" that included a photo of McAfee with a Vice reporter taken with a phone that had geotagged the image.The photo's metadata included GPS coordinates locating McAfee in Guatemala, and he was captured two days later.

详情:https://www.cbsnews.com/news/john-mcafee-arrested-in-guatemala-for-illegal-entry/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档