半导体行业观察中国台湾地区黑客团队“HITCON”连续第三年出征号称世界黑客大赛的“DEF CON CTF 2016决赛”,但今年他们的对手不只是各个国家及地区的选手,还包括“电脑”!如果说,今年 3 月韩国棋王李世乭对战人工智能 AlphaGo 是围棋史上新的篇章,那么 DEF CON 2016 也很可能也将写下黑客史上新的一页,而当电脑比世界各国的黑客更厉害,那么很可能,今后我们再也不用害怕被黑客入侵、攻击了。
在 HITCON 团队出发前往美国比赛前夕,科技新报专访到 HITCON 成员、同时是中国台湾地区资安防护龙头趋势科技的资安威胁研究员梁伟明(Lucas),以及趋势科技近接威胁防预研究核心技术研发部协理林孜穗,跟我们分享这场 DEF CON 首次加入“电脑”队伍的“人机大赛”将怎么比、有什么看头,以及带领我们一探“自动化找漏洞”,这项连美国国防部都在研究的计划,究竟是什么神祕的玩意。
世界黑客大赛 DEF CON 比找漏洞,抢先攻击别人别人的漏洞
DEF CON CTF 2016决赛在 8 月 5 日至 7 日开赛,这次将由来自全球 14 支人类组成的黑客队伍以及 1 支电脑自动化系统,展开攻防大战。
比赛采攻防抢旗赛(Capture the flag, CTF)模式,每队拥有一台电脑,大会分批发布几个程序做为题目,队伍在收到程序后开始找漏洞,找到后,就可以立即修补漏洞,并同时写出攻击程序攻击其他队伍的电脑,成功攻进就算“抢旗”,拿到分数;但也可能碰到别人已经修补好漏洞而攻不进去,得不到分数;或者太晚发现漏洞、太晚修补漏洞而让电脑被其他队伍入侵“抢旗”,遭到扣分。整体来看,就是一个比技术、速度、想法的黑客竞赛。
来解释一下“漏洞”是什么。漏洞其实是就是 BUG,是工程师在写程序时,没写好的地方,轻则在使用者给予指令时,程序不知道该怎么处理而造成电脑宕机,严重则会被有心人士/黑客所利用,入侵这个程序,甚至取得电脑权限,然后做尽各种他们想做的坏事,这类漏洞叫做“安全性漏洞”,也是所有资安公司软件公司最担心的事情。
找漏洞的三阶段演进:人工、自动化、人工智能
凡是人写的程序就会有漏洞,至于要怎么在由数千行、甚至千万行的程序码中找出漏洞,总不可能逐行去检查吧?
梁伟明说明,找漏洞有三个方法:
第一种是完全靠人工,去写一些工具或程序,里面可能夹带程序设计时没想过会发生的状况,像是档案很大的图片档或是奇怪的 JavaScript,然后再随机丢给程序,看他会不会宕机,就能找出有没有漏洞。比较有经验的人,他会依照不同程序的特性、比较可能发生的漏洞,丢不同类型的指令,这样就能更容易找出漏洞。
第二种是自动化。同样是靠人工先写一些可以测试程序的工具或程序,然后由电脑系统自己丢各种不同的指令给程序,看会不会宕机;更进阶一点的自动化系统,还可以做 Code Tracing(追溯程序码)这个步骤,然后依据不同的程序中不同的功能,丢不同的指令来寻找可能的漏洞。
第三种是电脑利用人工智能的方式包含 Machine Learning 或 Deep Learning,研究各种漏洞的模式(Pattern),最后能在 Code Tracing 之后,找出程序的漏洞。
▲趋势科技的资安威胁研究员梁伟明(Lucas),连续三年被 HITCON 团队征招去参战世界黑客大赛“DEF CON”,今年也将出发。他擅长找漏洞,也在开发“自动化找漏洞系统”,对这次 DEF CON 的“电脑”对手相当了解。(科技新报摄)
电脑也会找漏洞、补漏洞?美国国防部投入研究
在 DEF CON 跟人类队伍斗智的电脑队伍就是上述第二种:自动化找漏洞系统。而这支队伍,会由 8 月 4 日 DARPA 举办的 CGC 竞赛的冠军队伍出线,到 DEF CON 场上,电脑要在在设计系统的人完全不操作的情况下,自己接收大会来的题目,然后找漏洞、修补漏洞、写攻击程序。
在今年的 DEF CON 之前,或许没什么人听过 Cyber Grand Challenge(CGC)。这是由美国国防部高级研究计划局(DARPA)从 2013 年开始举办的比赛,要知道, 21 世纪的战争已经不只是坦克、战斗飞机、阿兵哥的驳火厮杀,还要加上网络上的攻防战,因为不论是电脑中的国家机密、军事机密、商业机密,还是家中 IOT 设备记录下的个人隐私,都是国防系统应该要保卫的东西,然而网络攻击愈加严重,过去完全靠资安专家人工找漏洞的方式,已完全无法应付迅速成长的电脑应用以及随之而来的漏洞,因此 DARPA 希望能靠动化的系统去解决这个问题,终极目标是打造可以防御的网络环境。
今年的 CGC 共有全世界 100 多个团队报名参加,经过 3 次初赛后,只有 7 队进入决赛,而决赛中获得冠军的队伍,将获得 200 万美元奖金,并前往 DEF CON 跟来自 14 个国家及地区的黑客精英较劲。
有人说,这是资安界、黑客界的“人机大赛”,就像今年 3 月韩国棋王李世乭对战人工智能 AlphaGo 一样;有人用电影《魔鬼终结者 》里用来防御网络最后却攻击人类的“天网”(Skynet)来形容电脑队伍。毕竟过去 CGC 都只有电脑跟电脑打,这次 CGC 冠军队伍竟然要踏进黑客界最高殿堂 DEF CON 要踢馆,引起不小的话题。
趋势科技梁伟明:自动化找漏洞系统还不够成熟
那这场人机大赛,是黑客菁英会获胜,还是电脑再夺下一城呢?梁伟明本身擅长找漏洞,同时又是自动化找漏洞系统的工程师,在他看来,自动化找漏洞的系统还不够成熟,在找漏洞的技术上还不如人类。他解释,基本上现在自动化找漏洞的系统还没有加入人工智能、Machine Learning 等技术,因为漏洞的发生并没有明确的模式足以让电脑去学习并发展出人工智能;再来也因为程序码相当复杂,短则几百行、长则几千万行,电脑自动化系统短时间内无法分析完,复杂的可能要个花个把月才能分析。在看过进入 CGC 决赛 7 支队伍其中 3 队公布的系统架构图,大部分都属简单的自动化设计,只由电脑随机丢指令去找漏动。
不过 DEF CON 的比赛结果梁伟明也难以定论,因为如果题目出得像 CGC 初赛那样,属于简单、程序很小、数量多,而且多是电脑解过的题目,那么电脑赢面就非常大,因为电脑虽然不够聪明,但他运算速度会很快、解题也会很快,不过对其他参赛队伍来说,比赛也会因此很无聊;但如果题目出得像以往一样很复杂,那么人类对伍的赢面则非常大。
题目到底会维持 DEF CON 原有水准或是出比较适合现阶段 CGC 程度的题目还不知道,但已知竞赛环境针对 CGC 而作出调整,像是大会提供每队的电脑从原本的 Linux 操作系统变成 CGC 用的DECREE(DARPA Experimental Cybersecurity Research Evaluation Environment)操作系统,这么一来就是从 200 多个指令集变成只有 7 个,函式库(library)也删除了。
梁伟明因此笑说,这次虽说是去比赛,但比较像当测试员,“我们就是 CGC 的李世乭”。
趋势科技:以半自动化出发累积漏洞模式,等待机器学习技术到位时机
不过不管比赛结果怎样,自动化找漏洞系统是否赢过人类,这都还是个持续发展中的技术。在梁伟明任职的趋势科技,不仅以人工找漏洞,也开始研究自动化找漏洞系统,因为找到漏洞,就可以反馈到产品里,提供使用者资讯安全防护。
但是否考虑加入 Machine Learning 技术,挑战第三阶段的找漏洞方式,林孜穗说,像 AlphaGo 这类围棋对战的人工智能系统,也是一步一步从 5X5 的棋盘再到 19X 19,中间过了几十年;而在自动化找漏洞系统这方面,目前连全自动化都还没实现,那人工智能找漏洞系统就更不用说要等到哪一年了,与其现阶段砸钱买 1000 台电脑,倒不如发展半自动化系统有效率的去找漏洞,并在过程中累积足够的漏洞模式,待哪天学界的人工智能技术成熟后,趋势科技累积的知识、工具、模式就能派上用场。
(首图来源:截取自 DEF CON 官方网站)
如需获取更多资讯,请关注微信公众账号:半导体行业观察
相关文章