不久前,雷锋网宅客频道编辑听到一个消息,说是我们的老熟人阿里安全猎户座实验室的安全专家五达中选了世界著名黑客大会 Black Hat USA 2018 的一个议题,据说还是去码神器什么的。
编辑想起用过很多次的一张“流量型图片”:
如果这项技术真的存在,有些司机不需要靠想象力看片了。
不过,五达连连摆手,不是一个东东,你想多了。
原来,图片或者视频经打码之后,许多信息已经丢失,目前也有超分辨率的方法进行恢复。但让传说中议题中选率只有20% 的黑客大会 Black Hat 青睐的是,五达提出了一项去除视频水印的技术,他的理论很简单,有一些服务提供商的水印可以被主动消除,如原创视频作者可以在自己的视频流中预置一个反向水印,抵消服务提供商的水印。让议题评审团惊讶的是,几乎谁都能想到的理论在他手中变成了工程化产品。
从另一个角度看,这也是一种看片神器,我们不用再忍受上面这种虐待眼睛的视频了。
8 月 9 日深夜,五达在议题开讲前两小时,隔着一个太平洋和编辑探讨了这个看片神器的神奇之处。
现在,没点儿其他才艺傍身,都不好意思说自己是黑客。五达在清华上学时曾是乐团的一员,主要负责拉二胡,当然,现在换成了“敲键盘”。几个月前,工作后分散到各地的团友们来了一次乐团聚会,五达相当重视这次重聚,拿着专业设备录制了乐团的合奏表演视频,为了内部分享更方便,五达将这个视频上传到了某视频网站留存,结果精心制作的视频却被搬运到其他平台,并被打上了不同平台的水印。
前二胡演奏者、现任黑客五达秉承“追求完美”的艺术精神,觉得这事冲击了自己的阈值,于是决定开始反击。
他想出了两种理论上存在的消除水印的技术:
1.预处理:在内容一侧,预置一些反向水印,这样传上视频平台后,如果再被盖上水印,就被擦掉了。
2.后处理:收到视频之后,在用户侧设置一个客户端,把水印擦掉。
预处理借鉴了通信领域“预失真”的概念:人为地加入一个特性与包括功放在内的系统非线性失真恰好相反的系统,进行互相补偿,不存在稳定性问题,并有较大的频带宽度。
如图所示,输入信号在进入功率放大器前,通过使用预失真技术,在整个功率变化范围内进行放大增益和相位变化的补偿。如果这种预失真特性能够随功率放大器输出功率的变化而变化,那么由温度、电源电压、管子老化等因素引起的性能变化就可以得到补偿。
简单来说,就是红娘小五介绍小张和姑娘小王相亲,小五自己判断了下小王的心理预期,发现小张在某些点上不符合小王的预期,但经过了红娘小五的包装后,这些“不足”得到了“修正”,小王与小张一见面,小王对小张很满意。
所以,五达要做的就是“红娘”的工作,找出原始视频像素点以及水印“Logo”像素点,两者相减,就得出了一个可以修正的值。
[图1]
[图2]
[使用图1和图2提取出的高精度的、带透明度信息的水印]
[预处理示意图:原视频-打上水印后的视频-预先准备的补丁-两相抵消后的视频]
后处理技术则没有这么复杂,它相当于已经把原视频下载下来,已经知道原来视频的像素点,所以即使视频被打上了水印,还原一下就好。
通过五达的实验,他发现,后处理消除水印的效果几乎能到100%,但是预处理的优势在于“未卜先知”式的实时处理,在处理速度和受众体验上,有不可比拟的优势。
在上一个案例中,后处理的效果是这样的:
在上面这个案例中,预处理和后处理效果差不多。但在其他案例中,预处理的效果和后处理的效果可能就有差别了。
[五达贡献了自己的大头照,演绎水印还原效果,第一排最右为预处理效果,第二排为后处理效果]
[在这种底色上打上 skype 的水印后,预处理和后处理效果差不多]
[在“五达”的大头视频上打上 skype 的水印后,预处理的结果上还是可以看到模糊的水印]
这衍生了第一个问题:水印的深浅与可被消除的效果有关,水印多深可被消除呢?
以不同的位置“姿势”再来试几次:打上预设水印-上传到视频平台被覆盖上水印-预处理效果VS后处理效果
看到上述对比,你一定发现了第二个问题——水印在不同的位置(色彩)上,预处理的效果不一样?那么到底像素点如何决定预处理的“消除水印”效果?
为了回答上面两个问题,下面进入公式阶段,不要怕,五达认为,这是小升初的考试水平。
每个像素点的取值范围是0-255,如果值=(0,0,0) ,则代表黑色,值=(255,255,255),则代表白色。
五达在提取logo像素点信息时,用到了一个公式:
[P’:预处理像素;P:原像素; X:提取的logo 的像素; α:提取的 logo 的像素的系数(代表水印的不透明度)]
通过计算,α 取值与可被还原的色彩区域的关联如下:
简单来说,就是视频平台强行加上的水印越不透明,那么原视频的信息丢失得越多,使用预处理技术,水印可被消除的几率越小。
再通过一番计算,五达给出了一个可以恢复的源头像素点的取值范围(127-255,127-255,127-255)。
左图中没有被标白的剩余色彩部分就是可以恢复的源头像素点。也就是说,只要在这些区域打上的水印,大概率上可以经过预处理技术被消除。
“ 给大家一个建议,就是如果你是一个视频的原创作者,并且你想要把这个视频的水印通过预失真的方式抵消掉,你要怎么做,像上面这张图一样‘在天空之下’,你录制的时候留出上面一片天,我把它称之为‘天下录’。”五达说。
如果打水印的视频平台对此不爽,要反制一把,可以怎么做?五达提出,这种“邪恶”的平台完全可以用两种叠加的透明度不一的水印覆盖在一起。
“计算出来的结果如上图所示,没有交集,不管你选一个什么样的颜色,都没有办法把这个图片完全给抵消掉。要么可以把三角形全抵消掉,留下黑色的。要不就可以全用白的,把那个黑的…”
这种“邪恶的反制”,自己都感觉怕怕哒,五达思考了一夜,也没想出“尽善尽美”的二次消除的好办法。
甚至还会出现一种更可怕的情况。五达说:“如果我录一个视频,视频的第一帧是这么预抵消的,我把这个视频发到平台上,这时用户会以为我这个视频是一张静态图片,用户再一点,点开之后是视频,但这个视频的后续内容完全可以替换成其他内容。”
这意味着,一张看上去静态的图片下可能“包罗万象”,黄赌毒、广告等内容可以藏身其中。
技术原理阐述完毕,编辑心中还是有一个疑问。
比如,视频原创者有时为了保护自己的权益,甚至和第一发布平台合作,会主动在原视频上打上水印。说白了,消除水印到底有没有必要?
五达:“所以在这种情况下,我们应该提倡使用不可见水印技术,该有版权保护就用版权保护。国外的一些视频网站上早就用上了这种现代化的视频版权保护的手段,而不是我们这么粗暴,直接盖上那么大一块,别的网站转载就盖上更大的一块,盖来盖去,用户的体验差。数字版权保护发展了几十年,结果没有人去用,反而去用这么恶心的办法。”
唉,说起“盖来盖去”,还真有位皇帝是此恶习的集大成者:
不过,如五达所说,不可见的数字水印其实在专业领域早已不是什么新鲜技术,它不仅能够帮助内容生产商追踪盗版信息,甚至还在军事情报战领域发挥着作用。这种水印需要用信号处理的方法在数据中嵌入隐蔽标记(肉眼不可见),只有通过专用的检测器或特殊方法才能提取出有效信息。
而离我们最近的生活体验是,一些企业内网为了防止员工泄密。。。。或者通过不可见水印追踪泄密者。
不追求更好的技术,强迫视频原创者和用户接受“盖章”的极差的用户体验,让黑客五达忍不了,在他心中,用户应该有“觉醒”的意识,主动拥抱更好的变化。他相信,这也是 BlackHat 选择让他第三次站上这个舞台分享研究成果的原因。
我问五达,这个成果是否会在阿里内部进化成商业化产品,他给出了一个否定的答案。
我再问他,这个研究接下来还会有其他进展吗?他答,其实没什么可做的了。
我不甘心,问:你对自己哪一项技术研究最满意。
五达兴奋地说:“我还真有一个。你再问一次,我郑重地回答你。”
我:“五达老师,请问到目前为止,你对自己哪项研究最满意,觉得做得最好?”
五达:“下一个。”
(五达引用了他的供应商前老板乔布斯的话)
我听到了五达在电话那头得意的笑声。
--
如果你想获取五达此次在Black Hat USA 2018上演讲的完整 PPT 或是欣赏他所在乐团录制的合奏视频,欢迎关注雷锋网宅客频道的微信公众号“宅客频道”,回复“看片神器”即可下载。
雷锋网注:部分信息参考自“我们都爱黑科技”。