GeekPwn 极棒大会主舞台
0
大家好,我是谢幺。
老浅友都知道,自浅黑科技开播以来,每年10月24日我们都会参加GeekPwn极棒大赛。当观众。
GeekPwn的官方全称是“极棒国际安全极客大赛”,所谓“安全极客”,在我的语境里其实就是“黑客”的意思。也许是因为“黑客”这个词蒙冤已久,成见太深,为了保平安,主办方才用的“安全极客”。
GeekPwn极棒是一个风光的舞台,每年选手们在台上破解各种东西,手机、智能门锁、路由器、智能音响……主持人惊呼,观众鼓掌,聚光灯照在身上,一群记者围着采访... …当然,这仅仅对挑战成功的选手而言。
在这个舞台上,每年也有不少项目当场“翻车”。那些选手也许付出了同等的努力,却因为各种突发原因挑战失败,黯然离场,没有奖金,自费参赛,没有采访。
翻车年年有,今年特别多,所以我想拿出来聊一聊。
1
时间回到1024那天,昏暗的观众席,我,史中,木子并排坐,眼前明亮的舞台上正在进行第一个破解挑战项目:「有物理防护和硬件加密的双重保护,为什么我的虚拟货币还是丢了?」
简单翻译过来就是:破解两个智能保险箱和一块加密硬盘,拿到里头的密钥。之所以扯上虚拟货币,是因为现实世界中,确实有人会这样保管加密货币的密钥。
左边是选手,右边是要破解的保险箱
主持人蒋昌建宣布挑战开始,倒计时20分钟,三位选手站到电脑前,一位开始劈里啪啦敲键盘,一位站在旁边协助,另一位戴上蓝色橡胶手套。
如果按照“正常剧情”,他们会先破解A品牌智能保险柜,拿到里头纸条上的第一串密码,再破解另一个B品牌智能保险柜,拿到里头的加密硬盘,再现场破解它,拿到第二串密码。
就是这两个保险箱
据评委透露,最后一个破解加密硬盘的过程“相当精彩”,因为涉及到硬件层面的破解,要现场电焊,视觉效果很好。
不像纯软件破解项目,观众只能看到选手啪啪啪敲键盘。不知道的还以为选手在玩金山打字通。
咳咳……让我们回到严肃的比赛现场。随着挑战进行,会场里响起诡异而阴森的音乐,颇有些谍战片的气氛。
不到两分钟,戴手套的选手默默走到舞台右侧的两个保险箱前,轻轻点按密码。
”啊?这么快?”主持人蒋昌建惊呼。
观众席,中哥扭头对我说:“今年看样子还挺顺利。”我说这毕竟是第一个项目,主办方肯定得把最稳的一匹的放在第一个,开门红嘛……
话音刚落,台上传来一个声音:“选手好像遇到了一些网络问题……”台上的评委说。
吓得我们两个毒奶赶紧闭嘴了。
原来刚才选手并不是过来破解,而是发现智能保险柜连不上网,过来看看啥情况。
五分钟过去了。怕冷场,评委和主持人不停地说话。三位选手依然站在电脑前,脸色开始不太淡定,蓝色橡胶手套也摘下。
又一个五分钟过去了,又一个五分钟过去了,保险箱还没破开,硬盘没拿到。
观众席,我身边的一位媒体老师也调侃:“哈哈,我要是这保险柜的厂商,肯定要出一篇稿子宣传一下,连极棒选手都破解不了。”
这让我想到当年央视的《正大综艺》,一个老外挑战撞碎钢化玻璃的吉尼斯纪录,结果拱了半天就撞碎一块,给中国的钢化玻璃打了个结实的广告。
“中国的钢化玻璃质量太好了”
“5、4、3、2、1……倒计时结束,很遗憾,挑战失败。”主持人蒋昌建说:“我们依然要给他们掌声鼓励”,现场响起掌声,聚光灯打在三位选手身上,他们还没缓过神,就依次和主持人握手,下台。
他们当时的尴尬,大概就好比你是一位秋名山车神,想当众展示飙车神技,结果过了20分钟,车引擎没点着,观众还给你鼓掌和安慰。
“啥情况?不应该啊?”
按照常理,他们肯定有能力破解这几款设备,并且一定是成功给主办方演示过(不然不会让他们上台),可是他们在台上呆了20分钟,啥也没发生。
有问题,肯定哪里出了问题。
2
本以为第一个项目只是意外,结果意外接连发生,相当意外。
第二个项目是今年极棒主推的项目之一:极棒首创的利用AI技术特制口罩来欺骗人脸识别算法的CAAD挑战赛决赛。
简单来说,就是戴上口罩,骗过AI人脸识别系统,让它把张三认成李四。
四组选手登台,来头不小,有的来自清华北大这样的顶尖高校,也有的来自蚂蚁集团这样的头部科技公司,现场观众的心理预期一下子拔高。
挑战项目有三关: 第一关是在150秒内,选手利用提前自制的特殊口罩,骗过舞台左边自动贩卖机的“白盒”人脸识别算法,让它误以为是主持人蒋昌建,再跑到舞台右边,骗过自动取款机的“黑盒”人脸识别算法,让它误以为是特斯拉创始人埃隆·马斯克。
评委在演示流程
这里顺道科普一句,所谓“黑盒”是指选手不知道系统内部识别人脸的运作方式,而“白盒”则是指它的内部运作模式和算法是公开的。就好比你要跟黑盒、白盒两个人打架,“白盒”的武功门派和招数你是知道的,“黑盒”是不知道招数的,所以通常认为黑盒更难。(但是也不一定,说不定黑盒装得很神秘,其实菜得一逼)
第二第三关难度依次递增,口罩遮住脸的面积由第一关的3/4依次降为2/3和1/2——遮住的部分越少,伪装难度越高。
同时,伪装的目标也变成了“黑寡妇”、“美国队长”、“川建国”和“普京”——外国人的脸和选手差异更大,更难伪装。
第一组选手上场,倒计时150秒开始。
咚咚咚… …诡异而阴森的背景音又响起… …不得不说这舞台灯光音效做的还挺好。
气氛烘托得挺好,但是比赛结果让人大跌眼镜:四组选手只有一组挑战成功第一关,成功骗过人脸识别系统,其他三组的伪装全部扑街,要么机器毫无反应,要么人脸识别置信度始终在0.4上下徘徊(要超过0.5才能通过),眼看着150秒倒计时结束,宣告失败。
AI认为选手是蒋昌建的置信度是0.466238
比赛中途,台上评委几次要求重新挑战,并且重启机器和现场灯光,以降低环境干扰,可是试了好几次,结果差不多。
评委的种种举措让观众席的我意识到一个问题:选手在台上的表演一定跟之前他们测试的情况差别很大。
一组选手正在尝试伪装成马斯克
最终,由于第一关只有一个队伍通过,所以第二关和第三关没有继续进行,观众们没有机会看到选手用口罩变脸“川建国”。
从初赛一路筛选出来的最优秀的4组选手,难道就这?不应该啊。
直觉告诉我,肯定是哪里出了问题。
3
下午,“5G网络劫持”项目登台,选手来自我们的老朋友腾讯玄武实验室。
也许是被上午一路翻车的阵势吓到,他们跟主办方申请把演示过程挪到场外。
按照“正常剧情”,他们将在不触碰目标手机的情况下,劫持手机和附近5G基站的通信网络,给目标手机下发一条任意号码和内容的短信——这意味着黑客利用这个漏洞的人可以冒充你妈、银行、警察蜀黍或者别的任何一个号码给你发短信。
挑战开始,倒计时20分钟。
根据现场评委的描述,他们这次发现的漏洞相当厉害,属于基础通信协议的设计缺陷,这意味着这个漏洞并不存在于某个具体的设备,而是广泛存在于基站和手机之间的“交流方式”上。
就像我们之前提过的“插座打架”问题,你很难说是插座还是插头有毛病,而是整体设计的遗留问题。
这也就是说,不论目标用的哪款手机、也无论是移动、电信还是联通的网络,不论基站是哪个厂家生产的,都在这个漏洞的射程里。
… …咚咚咚… …诡异而阴森的背景音又响起… …(气氛还是要造一下的)
可是十分钟过去了,现场大屏幕里,两位选手开始皱眉,抿嘴,破解进度似乎陷入停滞。
选手要求场外评委重启了一次目标手机,问题依然没解决,他们似乎一直在交涉着什么。
评委手上是目标手机
“选手可能遇到了一些困难,提出了一些不太合理的要求。”场外评委诸葛建伟说,选手要求检查一下目标手机,看看出了啥问题。但立即被场内的评委“TK教主”于旸拒绝:“按照规则,选手不能接触目标手机。”
时间又过去几分钟,距离倒计时结束越来越近,比赛项目似乎没有进展,选手再次提出想把目标手机连上电脑看看出了啥问题。
“等一下,等一下!诸葛(建伟),选手他们是要求插上线是嘛?这个肯定是不行的!”数据线连上的前一秒,被场内的评委TK厉声喝住。
右下角是场内直播台
我猜当时坐在内场的TK内心一定很纠结,因为这俩选手来自玄武实验室,说直白点就是TK教主门下的小弟,TK本人也一定亲眼看过他们成功破解。可是,现在他是极棒的评委,必须得保证公平公正。
“选手你可以让评委帮你看看出了什么问题,但是选手自己绝对不能接触手机。”他说。
20分钟倒计时结束。
“那么我们宣布,这个项目挑战失败。”TK说完,若有所思,似乎还在琢磨,到底哪儿出了问题。怎么搞的,怎么搬到场外也翻车?
“TK教主”于旸(右一)
4
要来了要来了,“形同虚设的车锁”项目开始了。顾名思义,某款智能汽车,搭载蓝牙车钥匙,可是不巧,蓝牙系统偏偏有个漏洞,选手可以在不用钥匙,不接触车的情况下直接用一部手机打开车门。
评委在场外停车锁门,车钥匙送到会场里,选手上场,倒计时20分钟开始。
据场内评委介绍,如果不出意外,整个过程大约在5~8分钟左右,只需一台手机,手起机落门开锁。
可是不到2分钟,选手的表情就开始凝重起来。
熟悉的一幕出现了——“信号出了点问题。”选手怎么也连不上汽车的蓝牙——连不上蓝牙,也就没办法进行下一步的破解。
… …咚咚咚… …诡异而阴森的背景音响起… …(音效师傅又上班了)
红色的倒计时一秒一秒地跑着,选手站在原地猛滑手机,有些不知所措。
5
一切像是有预兆。
开场致辞时,极棒创始人“大牛蛙”王琦提前打了预防针:“假如现场挑战出现各种意外甚至事故,希望大家能谅解……”
从2014年开始,几乎每年的极棒都不可避免地出现各种意外,王琦都被搞怕了,每年结束时,他都连连跟现场观众和选手道歉。
有一年比赛地点选在香港的邮轮上,结果船出了海,信号不好,许多项目受影响,之后极棒再没上过船。
最初,大家怀疑是有些厂商害怕自家产品被现场破解,爆出负面新闻,于是趁着比赛进行时临时关掉产品服务器,或者派人来现场干扰——但这只是猜想,没人拿出证据,也没逮到现场干扰的人。
后来极棒干脆把所有破解的目标产品的品牌都打上码,减少厂商们的顾虑。
可是现场“翻车”的情况依然存在。
“这是一场所见即所得的比赛,没有排练,没有预演,一切都是真实的……所以待会儿挑战无论成功或失败,大家都要给予选手掌声鼓励……”蒋昌建主持过至少三届极棒大赛,他也有经验。
今年极棒的头一天晚上,我提前去过现场,当时导演正好在走台,调试灯光,他指着头顶招呼灯光师傅:“这个灯明天要关一下,别影响选手。”他也有经验。
可是“黑天鹅”还是出现了。
这个场子像是有一个幽灵笼罩,随时给选手们套上一个“翻车buff”。
6.啥情况?
谢幺:“真相有很多个!”
1)玄(dao)学(mei)
当天下午,为了证明实力,玄武实验室拉着一群记者,当着我们的面又完整演示,过程非常顺利,3分钟不到就完成,一洗“翻车之耻”。
用号码20201024发送的短信:Hacked by tencent xlab
“我只能用玄学来解释了。”玄武实验室的马卓告诉我,上场之前他们自己试了起码有十七八遍,一次也没失败过。
“哪怕是正式上场前的两三分钟前我们都还在试,都是成功的。”可是等到倒计时一开始,目标手机的信号就莫名其妙开始断断续续,就跟没网似的。
等到倒计时结束,宣布挑战失败,又过了几分钟再试,又好了,见鬼!
“看来这真的只能用玄学来解释了。”我当时甚至怀疑是他们起的这个队名影响了运势。
“有没有可能是摄像师直播用的摄像机或者别的无线传输设备干扰?”我问马卓。
照现在看来,如果正式上场前后都能成功,唯独正式上场时失败,那直播摄像机的无线设备很可疑。
“我们没有证据,所以不能这么说,虽然也不排除可能性。”马卓说。
2)现场观众影响
第一个上台尝试破解保险箱和加密硬盘的选手邓丁通告诉我:“刚一上台时我用电脑连WiFi,图标转了七八秒才连上。”当时他就感觉哪里不太对,“通常密码是对的,一两秒就能连上。”但当时已经站在舞台上,就没想那么多。
比赛倒计时开始后,他们发现网络非常卡,“发一个数据包到服务器响应需要30秒左右。”后来路由器重启了一次,有一段时间短暂连上了一会儿网,“后面就怎么都上不了。”
他说,下台后他们很不甘心,把保险箱搬到后台的过道再次尝试,发现保险柜一分钟不到就破开了。弄得他们不知道该开心还是难过。。。。。。
邓丁通当时拍的照片
怕我不信,他还发来视频
看比赛时,我和一个无线电安全领域的朋友聊起翻车这事,他掏出手机,打开一个软件:“你自己看看现场有多少设备的无线信号干扰。”
邓丁通告诉我:“原本他打算把破解两款保险箱和破解加密硬盘分成三个项目报名,但是为了现场效果,就把加密硬盘锁进保险柜,做成连环破解,没想到……”他说为了准备硬盘破解的项目,他提前两个月就开始准备,结果因为保险柜没打开,白费了两个月功夫。
在破解蓝牙车锁的项目里,选手也一度连不上目标汽车的蓝牙,当时选手就猜测,可能是汽车车锁的蓝牙被附近围观的吃瓜群众给抢先连上了,又或者是受到路边的共享单车蓝牙锁信号的干扰。
可是在工作人员尝试清场之后问题依然没解决。(当然也有可能是围观群众并没有按要求老老实实关掉手机蓝牙)。
当天上午,还有一个黑进4G信号基站的项目,尽管最终成功了,却历经波折。
正常剧情是:现场摆了一个皮基站(专业术语真的就叫皮基站,是一种比微基站更小的基站……)选手先黑进这个4G基站,再劫持连接了这个基站的目标手机的网络数据。
结果一上来,现场观众的手机信号也被“吸附”上去,而这个皮基站只能承载40多个设备,直接把目标手机的信号给“挤”掉了,连不上网了。
选手内心OS:当时我就慌了啊……
等好不容易连上,选手又发现基站还连着很多现场观众的手机,目标手机的数据被淹没在观众老爷们上网的数据流里。
“有聊微信的,有上网页的……”选手说可以看到许多观众的网络数据,但不敢乱翻……怕侵犯隐私。
主持人蒋昌建赶紧招呼现场观众和台上的工作人员关掉手机,选手和评委又临时想了个主意:把基站和桌子放进铁桌子底下,利用桌子铁网形成的简易“法拉第笼”来屏蔽信号干扰,这才让项目顺利进行下去,最终演示成功。
当天还有一个外场项目也受到吃瓜群众的影响。
选手的目标是用一台自制小设备干扰特斯拉自动驾驶系统的毫米波雷达,让汽车直接撞墙。
最初的几次尝试,汽车的自动驾驶系统开到离墙3~5米处就会自动停下来。选手当时挺懵逼:啥情况?试验的时候好像不是这样。
后来他猜测可能是站在附近围观的群众太多,从而触发了特斯拉的图像视觉系统。
旁边还有不少人骑车路过
根据现场的描述,特斯拉的自动驾驶系统对于正前方的物体主要以毫米波雷达作为决策依据。是直接开过去,还是刹车,主要是雷达说了算,但是一些情况下,图像视觉系统的决策比重会提高。
在工作人员把围观观众疏散之后,选手比了个OK手势,示意开始。
其实还是有一些观众
这一次,汽车顺利撞墙。
3)灯光
至于那些和光学有关的项目,炫酷的舞台灯光、屏幕光基本是他们的克星。
就拿下面这张“CAAD口罩变脸”项目的照片来说,选手的脸在人脸识别系统的摄像头里大半边都是白的,严重曝光过度。
蒋昌建老师表示:幸好没成功,这TM也太丑了。。。
具体对比赛有啥影响呢?这里简单科普一下“口罩变脸”的原理。
众所周知,AI识别人脸是通过特征点来识别的,大概就像这样:
这意味着,要让人脸识别系统把选手误认成蒋昌建,并不需要真的相似,只需要命中足够多的特征点即可。
顺道说一嘴,其实人类也是通过特征点来辨认的,只是一般情况下大家没意识到罢了。比方说下面这两个人,如果拿去跟真人照片来对比,哪哪都不像,可你一眼就能认出他们是谁——因为命中了你脑子里“人脸识别系统”的关键特征点。
比赛现场有一组的口罩完全是花的,几乎看不出是人脸,但它依然能让人脸识别系统辨认成某个人的脸,就是因为戳中了AI人脸识别系统的“点”。
可是,现场的舞台灯光和屏幕光会改变这些特征点。
一位来自清华大学的选手告诉我,对他们来说,如果只是找到一张图片,直接扔到人脸识别系统里骗过AI,一点都不难,可一旦要把图案打印在口罩上,再通过一个摄像头去采集口罩上的图像,情况就变得复杂和失控。
“不同口罩材料的反光程度、颜料的色差,都有影响”,而且,图片打印在口罩上,要考虑口罩和脸的弧度,再加上现场灯光的影响,很多关键特征点就会发生改变。
在现实中,哪怕是同样一张脸,同样的灯光,仅仅是照射角度不同,最后呈现出来的样子都可能差别很大,更别说舞台上完全不可控的灯光。
2017年的极棒大赛上,选手小灰灰用一张A4纸破解虹膜识别系统,当时他就很机智地用了一个纸箱子,把手机塞进纸箱子里识别,避免了现场光线的干扰。
以上干扰因素仅仅是我的个人猜测,很难证实也很难证伪。总之,种种原因把2020年极棒舞台上的成功或失败永远烙印在时间轴上。
7
在极棒会场,一个朋友见到极棒的创始人大牛蛙“王琦”,跟他打招呼:“今年比赛办挺好啊”,王琦叹了口气微微摇头:“嗨,太糟糕了”,礼貌性地寒暄两句,就扭头出去抽闷烟了。
作为创办者,他对它有期待,每年都不够满意。“对不起,我们这次做得太差了!”“今年有我们(主办方)的问题”……他每年都这么说。
但其实作为观众,老实说,我觉得整体观感还不错——正是因为有成功有失败,所以才有悬念,才有看头。就像徒手攀岩,它的魅力就来自于稍稍失足就粉身碎骨。高空走钢丝如果挪到地面一米,就没人看了。
从另一个角度来看,“翻车”证明极棒足够真实。
人们总喜欢把黑客和摇滚在精神层面联系起来,真·摇滚绝不假唱,哪怕会声嘶力竭破嗓跑音。在这个意义上,黑客的舞台也应该是这样,有成功有失败,有意外,但必须真实。这一点极棒做到了。
中哥知道我要写极棒翻车的车,羞射地叮嘱我:“你可别伤了大牛蛙的心哟。”
那就干脆聊聊他吧~
大牛蛙王琦2014年开始做极棒,他一直想让黑客“破圈”,被广泛大众认识和理解,想让网络安全意识渗透到厂商和普罗大众的意识里。
他也一直在思考怎么定义黑客,“既不想神化黑客,也不想放大威胁”,去年年底他想到一个词:医生。他觉得黑客可以是医生。
“漏洞并不是因为黑客的出现才存在,恰恰是因为黑客的出现而被修复。”他说。
刚开始的几年,极棒被一些厂商认为是“乱搞”、“砸场子”、“爆负面”,后来也慢慢被安全行业和厂商接受,央视还和极棒合作推出首部黑客纪录片《我是黑客》。
“极棒”把黑客破解做成一场“秀”,一场有主持人解说、有现场观众,有直播的演出,这是开创性的。翻车的本质也在于此,它承载的东西太多了,既是比赛,又是表演,又要代表一个群体做自我表达,还要兼顾商业……
他们要把实验室里的技术研究搬到环境复杂的舞台上,要兼顾比赛的公平性、要考虑观赏性,要合规,还要和厂商、网络安全监管部门沟通协调漏洞如何处理 … … 很难尽善尽美。
但他们就这么一年一年,一点一点摸着石头往前趟水。宝宝心里苦,但宝宝不说。
今年开场致词时,大牛蛙说现在网络安全已经成为大学毕业薪酬最高的专业,“这里我不想太谦虚,这里面应该有一点点极棒的功劳。”
他说:“这个世界总有这样或那样的缺陷或漏洞,我们必须承认,我们这个世界并不完美。”
我们也得承认和接受极棒的不完美。翻车嘛,很正常,翻翻更健康。
事实上,极棒赛场上“翻过的每一辆车”,都是它的勋章,是它在用肉身排雷的铁证,是它为网络安全“破圈”走向大众做的努力,受过的伤。
也许若干年后,极棒的主办方会把现场的干扰问题统统解决好,每个项目都顺利进行,黑客展示的舞台也越来越多,那时我也许还会想念刚办没几年时,那个让众多黑客翻车的舞台。
8
选手也在慢慢适应舞台。
这些安全极客们以前只是埋头倒腾技术,做出个PoC(概念验证程序),能证明漏洞存在就行,未来要出圈,让更多人了解、理解自己的职业,就得要多考虑现实环境中的复杂性。
邓丁通偷偷告诉我,今年双十一,他下单了一台手持频谱仪,以后参加活动都先检测一下现场信号是否有干扰。
但是这些设备能不能100%确保下次不翻车呢?不知道。
所以我觉得明年各位黑客朋友如果上极棒,可以先烧一柱香。
顺便提一嘴:
1.B站和腾讯视频都有比赛回放视频,搜“GeekPwn2020”可看,时长约11小时。
2.文中图片有我自己拍的,也有现场摄像师拍的,也有的截取自腾讯视频回放,所以有的高清有的是AV画质。
3.极棒有个云安全挑战赛,这次的冠军队名是一串Emoji,有没有浅友能破译出来啥意思?欢迎留言,抽取答对者送出GeekPwn贴纸、纪念口罩、斜挎包和主题钥匙扣~