TK教主:关于“白帽子”的法律和道理
雷锋网按:本文来自公号皮相,由TK教主授权雷锋网 (搜索“雷锋网”公众号关注) 专栏发布。
在很多年前,当“Hacker”这个词被滥用,一些 Hacker 为了把自己和媒体中被称作“Hacker”的网络犯罪者——特别是没什么技术含量的——区分开,提出了“White Hat”和“Black Hat”的说法,国内通常译作“白帽黑客”和“黑帽黑客”。而“白帽子”在当今中国的语境中,又进一步特化了,特指向各个漏洞报告平台、厂商 SRC 提交漏洞的人。自“白帽子”诞生起,相关的争论就从来没有停止过。
先说说法律。
我国法律中和攻击入侵有关的主要是《刑法》第二百八十五、二百八十六两条,以及相关司法解释。这两条主要看: 有没有越权控制系统,有没有越权获得数据,有没有破坏系统可用性 。
常规端口扫描通常不会被认为是违法。那么漏洞扫描呢?通过获取版本号探测漏洞的方法显然也不算违法。但有些漏洞扫描需要在对方系统上实际执行命令才能判断漏洞是否存在,例如“Shellshock”。这种情况从理论上说,存在一个短暂的越权执行过程,但由于并未真正去试图控制系统,所以在实践中,通常不认为属于“非法控制”。
发送 "news.php?id=2-1" 这样的请求去探测是否存在 SQL 注入显然不算违法。而探测发现可能存在 SQL 注入,实际去尝试获取数据以判断是否真的存在漏洞,这种行为就比较模糊了。如果获取的数据是表的字段名、结构,不涉及用户数据,相对还好。 而如果获取了用户数据,特别是用户名、密码,即“身份认证信息”就可能触犯《刑法》。
《刑法》第二百八十五条第二款:
违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
达到“情节严重”才是犯罪,那什么是情节严重呢?在《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》中是这样说的:
非法获取计算机信息系统数据或者非法控制计算机信息系统 ,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节严重”:
(一)获取支付结算、证券交易、期货交易等网络金融服务的身份认证信息十组以上的;
(二)获取第(一)项以外的身份认证信息五百组以上的;
(三)非法控制计算机信息系统二十台以上的;
(四)违法所得五千元以上或者造成经济损失一万元以上的;
(五)其他情节严重的情形。
实施前款规定行为,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节特别严重”:
( 一)数量或者数额达到前款第(一)项至第(四)项规定标准五倍以上的 ;
(二)其他情节特别严重的情形。
明知是他人非法控制的计算机信息系统,而对该计算机信息系统的控制权加以利用的,依照前两款的规定定罪处罚。
也就是说, 入侵获取 10 组以上金融证券行业的用户身份认证信息,或 500 组以上一般系统的用户身份认证信息,或入侵了 20 台系统,就可以判刑了 。如果获取 50 组以上金融证券行业的用户身份认证信息,或 2500 组以上一般系统的用户身份认证信息,或入侵了 100 台系统,就可以判三年以上。
所以,在测试网站漏洞的过程中,想避免触犯《刑法》,就要注意获取的信息种类和数量,也不要去植入后门。
再讲讲道理。
在今天,一个存储了大量有价值数据的网站,一定会被盯上,一定会有人尝试入侵。一定,一定,一定。
而安全是四维的,不是三维的。对绝大多数网站来说,即使此时此刻的入侵难度很大,但在一段不算长的时间内(比如说一年),被至少成功入侵一次的概率则非常大。因为新漏洞总会不断被发现,而程序员、系统管理员的工作不会永远完美无缺。
而如果有人和入侵者一样,也去不断尝试入侵这些网站,并且发现漏洞后及时告知网站,实际上就成为了恶意入侵的竞争者,很多漏洞可以在被恶意利用前被发现和修复。
在大多数国家,都有网络入侵的相关法律,然而从 Microsoft 到 Facebook ,从腾讯到小米,很多公司都成立了 SRC,鼓励大家帮助寻找自己网站的漏洞。而这些寻找漏洞的过程,如果严格按照法律条文去抠字眼,很多可能都有问题。
(Facebook 定制的“White Hat”银行卡,用来给向他们报告漏洞的人发奖金)
有些人说“向厂商的 SRC 提交漏洞是合法的”。其实,合法不合法,看检测漏洞的行为本身,和提交给谁没关系。只不过建了 SRC 的厂商自然希望大家去提交漏洞,所以即使行为违反了法律,厂商通常也不会去报案,砸自己 SRC 的牌子。
法律通常都滞后于现实,而且往往滞后很多。上面提到的相关法条,是 2009 年《刑法》第七修正案中才加上的,司法解释是 2011 年才出来的。这些法条在当前形势下是否是最有利于维护信息安全的,还需要立法者去思考。但作为厂商,总是会选择在当前形势下最有利于把安全做好的方式。
厂商为什么要鼓励大家“入侵”自己的网站呢?因为没办法。对,没办法。在当前形势下,这可能是最好的选择。如果单纯靠法律就能解决安全问题,何必多此一举。
所有厂商在安全上基本都有这样的心路历程:
第一阶段,心存侥幸,觉得自己没那么倒霉,觉得世界上没那么多恶意入侵者。
第二阶段,被搞了一次后,同时明白了自己没那么幸运,必须解决安全问题,尤其是这次被搞的那个安全问题。但是既然被搞了一次,不会有两枚炮弹落到同一个地方吧?
第三阶段,又被搞了,很愤怒,去报案,一定要抓到入侵者,然而现实往往是无情的。于是终于意识到需要整体上做安全。去和同行交流,但还是试图不走寻常路,认为自己不用像别的厂商一样,应该能找到一种简单易行省钱省力的方法。
第四阶段,被搞了很多次后,终于认命了。开始引入大家踩了无数坑,吃了无数亏才总结出来的经验和方法,安全工作慢慢走上正轨。建立 SRC,鼓励大家报告自己的漏洞。虽然安全部门和产品、市场、法务等其它部门在这一点上还有分歧。
国内很多大企业都走到了第四阶段,但还有很多还处于前几个阶段。他们觉得只要捂住眼下的问题,然后勒令内部严查一下,事情就解决了。他们还没明白的道理是:钱不投入在安全上,迟早会十倍百倍千倍地送给黑产。
上周一个朋友找我,说他们公司做的是一种比较小众的交易平台,但没想到也被盯上了,去年被搞走十几亿,所以现在开始重视安全。像他们这种情况,其实还是幸运的。因为他们的钱是被一种能感知的方式搞走的,遭受损失后,就会开始重视安全。
然而,很多入侵是悄无声息的,弄走钱的方式是不知不觉的。比如把你的数据卖给你的竞争对手,让对手掌握主动掌握先机。归根结底,还是等于通过入侵把你的钱弄走了。但你没感觉,你只会觉得竞争对手一下变强了。即使因此企业倒闭,都不知道是怎么搞的。这种企业会长期停留在安全的幻觉中,认为一切报告漏洞的人都是麻烦制造者。
这些“麻烦制造者”可能确实很麻烦,他们不太考虑企业感受,特别想证明自己发现的问题很严重。但是,无论有没有他们,真正的网络犯罪者都一样会存在,一样会默默地去入侵系统,去窃取数据,换成钱。而如果没有这些“麻烦制造者”,会有更多企业沉浸在安全的幻觉中,真正的网络犯罪实施起来则会更轻松。
每一朵乌云都有一道金边,每一顶白帽都有一道黑边。希望“白帽子”能学习一些法律,保护好自己;希望企业能想明白道理,知道自己真正的敌人是谁。
雷锋网注:转载请联系授权,并保留作者和出处,不得删减内容。