小米的“动态图片”功能似乎有隐患

2023-04-19 10:18:57 +08:00
 ershierdu
拍摄一张动态图片(类似于 iOS 的 Livephoto ),在 QQ 发给别人(勾选原图),对方下载后在自己的 MIUI 系统相册里可以播放这个动态图片。个人认为这样的设计非常不合理,动态图片携带了拍摄前后的视频、音频,这些环境信息很可能包含用户隐私。

讨论:
1.猜测原因是小米把动态信息封装在 jpg 文件里了[1],qq 发原图时会把这些信息保留,所以接收后能正常识别。
2.在微信上没有复现,猜测是微信修改了图片的 header 。但因为接收的图片大小和原图基本一致,我感觉动态图片的信息还在,也许别有用心的人是有办法恢复的?
3.印象中苹果的 Livephoto 没有这个问题(没有专门测试过,记错的话请指正)。iOS 版的微博可以发 Livephoto ,但用户是明确知道自己发了 Livephoto 的,也可以针对单张照片关闭这个功能。像 MIUI+QQ 这种场景,用户没有任何感知,太危险了…


[1]小米的动态照片怎么存到硬盘里才能保证下次导回手机依旧是动态照片? - 七色逆光的回答 - 知乎
https://www.zhihu.com/question/460458171/answer/2158384000
4072 次点击
所在节点    全球工单系统
22 条回复
yfugibr
2023-04-19 10:21:56 +08:00
啊?我有点没看懂,这不是你自己拍的动态图片吗?自己发出去为什么要怪别人?

“我拍了段视频发出去,别人居然能看到,这太不合理了,应该给我自动转成图片”?
renmu
2023-04-19 10:23:06 +08:00
没看懂,你正常发拍摄的照片就不会包含用户隐私了?不包含 gps 等信息了
xloger
2023-04-19 10:27:57 +08:00
没理解,你这操作相当于把你手机里的一个文件传输给别人,然后因为别人可以读取文件里的内容所以觉得有隐私泄露?

你要说也是 QQ 的问题,它没有识别出动态图片的格式然后没对其做特殊操作和预览。然后如果微信没复现是微信的毛病吧。

总而言之,我觉得按你的描述,问题最大的是微信,其次是 QQ ,最后才是小米。
xloger
2023-04-19 10:34:29 +08:00
突然想到个问题,我对于「动态图片」的格式不太了解。请问它跟视频有啥区别,有啥场景?(是更方便么?)

然后如果这种动态图片是一种公开的协议,那我还是上述评价。如果是个小米自己定的协议,那它的问题就比较大了。但发送原图相当于文件传输我认为还是一个可以理解的操作。
ershierdu
2023-04-19 10:35:26 +08:00
@yfugibr
1. 我觉得核心是用户感知的问题。以 iOS Livephoto+微博为例,我选择图片的时候明确知道这张是 live ,并且可以关闭。但在 MIUI+QQ 的场景中,没有任何一个地方指明我会把这个信息携带出去。考虑到 MIUI 也没办法在第三方软件中添加指示,我觉得 MIUI 把往外发的图片的动态信息去掉才是合理的。

2. “我拍了段视频发出去,别人居然能看到”,问题是这个视频是通用的 jpg 格式,而除了 MIUI 之外的所有软件都把它当静态图片看…
ershierdu
2023-04-19 10:39:53 +08:00
@renmu
1. 我觉得动态信息比 gps 之类的敏感得多。我经常拍完照片就把手机放下,所以动态图片的后端会拍到旁边的东西。此外,音频也会把别人正在说的话录下来。
2. GPS 信息是 jpg 格式中相对通用的域,而小米这似乎是魔改了 jpg 格式(不太确定),其他软件都没有感知。而且很多软件已经做了分享时自动抹掉 GPS 信息的功能了。
icyalala
2023-04-19 10:43:23 +08:00
iOS 动态图片实际上就是一张 jpg + 一个 mov ,没什么特殊的。
楼主可以发个小米的实际样张大家分析一下。
yfugibr
2023-04-19 10:48:44 +08:00
@ershierdu #5 懂你意思了,那这个存粹就是 QQ 的问题(除非 MIUI 默认开启动态照片并且没有明确提示用户),QQ 没有对动态照片作相应的标识,也不支持预览,算是功能不完善。MIUI 没有义务,也不应该擅自把动态照片转换成普通照片(如果用户就是想发动态照片呢?)
这个动态照片应该是 MVIMG 或者说 animated jpg ,格式方面具体我也不是很懂,但并不是 MIUI 私有的(至少谷歌相机和谷歌相册都是支持的)。
ershierdu
2023-04-19 10:48:45 +08:00
@xloger
小米这个动态图片不是通用的,只有小米手机上能看。我不知道它是不是魔改了 jpg 格式,如果是的话,锅是在小米这边的…我觉得这更像是一个用户体验上的问题吧,而不是软件 bug ,但是隐患比较严重…

动态图片就是你拍一张照片,它会把拍摄前、后的一小段时间录制下来。以苹果的 Livephoto 为例,有几个好处:
1. 如果拍照时表情、姿势有问题,或者没对上焦,可以把照片调整为 live 里的其他帧,拍照容错率更高
2. 以前在 v2 看过一句话,大意是:多年以后会看相册,发现图里的人能动起来,这种感受是很不一样的…
520discuz
2023-04-19 10:52:42 +08:00
是的 很多不懂的人以为自己发的是静态图片 没想到这张静态图片还包含前后 1 秒左右的动态画面 的确容易暴露
aLazarus
2023-04-19 10:57:56 +08:00
动态图片可以保存拍照前的几秒钟视频,也就是如果你不小心在拍照前,手机取景框里出现了自己的隐私,那隐私也会被包含进动态照片了
IvanLi127
2023-04-19 11:00:01 +08:00
好家伙。。我一直以为相册存的那个图片文件就是纯粹的图片,看来这功能得关了。。从来没想过发出去的居然是动态照片。
whileFalse
2023-04-19 11:35:47 +08:00
小米的手机怎么这样啊!小米 sb
哦,原来是 google 弄出来的,那没事了
azui999
2023-04-19 13:34:39 +08:00
你这个问题,苹果能复现么?
ershierdu
2023-04-19 14:26:43 +08:00
@azui999
试了一下,无法复现。我记得 Livephoto 是分成两个文件保存的,一个是.jpg (新系统是.heic )保存静态信息,一个.mov 保存动态信息。
另外,如果从相册里直接分享图片,iOS 是有关闭 live 的开关的(主要针对 iMessage 这种原生支持 Livephoto 的 app 吧,大部分 app 本身就不会接收.mov 的部分)
https://support.apple.com/en-us/HT207310
azui999
2023-04-19 14:51:30 +08:00
@ershierdu #15 哦哦,我想起来了,我 ios 用爱思导出的时候,我记得都给我导出成视频了,要不就是苹果专用格式,看来就是你说的分开的,所以社交媒体分享也不会有问题,既然谷歌改变了 jpg 图片的文件结构,那应该给小米提问题,让他加上标识,我记得苹果都是有标识的,这让我想起来,原来往那个图片里塞种子还是塞什么玩意来着,能正常看图片,然后用特殊手段从图片中分离出别的文件,那就看提了这个问题,小米给不给解决了,小米上新功能还是蛮积极的,估计后面安卓的都会上这个功能.
chrosing
2023-04-19 15:00:47 +08:00
小红书上传的图片就可以播放图片已经 mov 的图片动态。我之前还纳闷怎么有苹果的动态图片
pianjiao
2023-04-19 17:22:26 +08:00
小米图片 发送隐私,发送的时候抹除图片相关信息 ,包括 地理位置 等
pianjiao
2023-04-19 17:23:07 +08:00
手机型号,拍摄参数。 设置路径 相册-设置-安全分享
pianjiao
2023-04-19 17:23:55 +08:00
还有 发送的时候 将 HEIF 图片转为 jpeg 图片发送

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/933665

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX