以实战攻防视角,全方位解读企业信息安全体系构建方法
大家下午好!很高兴 TGO 鲲鹏会能够来到西安。今天,我将主要从攻防视角,为大家谈谈企业的信息安全建设。
网络安全法已经出台很久,但是人们的网络安全意识却始终不到位。在座的各位都是技术领导者,只有各位从自身做起,重视信息安全,相关建设方案才能实施下去,否则在企业内部就会受到很大的阻力。
邓永凯现场分享
下面,我将从几个方面来讲解,为什么我们要重视企业信息安全建设,怎么依据具体的安全场景调整安全建设方案?
企业为什么要重视信息安全建设?主要有以下几点。
黑客攻击的频繁发生,会导致各种后果严重的网络安全恶性事件,在这里,我们尤其需要注意的是网络安全法的实施。网络安全法从 2016 年 11 月发初稿,到 17 年 6 月 1 日正式实施,它规定企业要对用户的数据安全负责。如果因为网络攻击使用户数据蒙受损失,企业也要一并受到惩处。这说明,网络安全已经是有政策引导的国家级问题,而且不再是企业和用户的个人问题。
在这方面,我建议首先以业务为导向,要求业务线上的产品必须进行安全测试,用产品引导对安全的重视;其次是第三方合作,我建议 SDK 必须保证安全,不然一旦出了问题,所有的业务都要受影响;再者是第三方需求,即增加安全类产品的闪光点,让它不仅能保障你的数据安全、资产安全,更能吸引用户,让用户放心,要做到这点,我们可以寻求由评估机构给出的安全报告。
下面我们将着重分享第二点,即企业安全威胁攻防。攻防,顾名思义就是网络攻击与防御的推演,我们将通过案例讲解企业遇到的网络安全问题,以及如何防御攻击和减少损失。
企业面临的常见威胁有:
输入威胁
内部威胁
外部威胁
输出威胁
当企业购买服务器、设备时,引用了第三方数据,使用了第三方框架,就有可能从外部引入安全问题,因为服务器、路由器、交换机存在后门的情况经常出现。
来自内部人员的安全隐患也有很多,比如管理不到位、网络混乱、安全开发缺失、运维安全工作做得不够充分等。
外部的商业竞争、经济利益、供应链攻击也经常带来严峻的网络安全问题。
企业输出技术文档,开发一个项目,但项目可能已经被别人利用了。那么如果你的输出有问题,就会引发连锁反应。
第三方组件经常存在一些经典漏洞,影响非常之大。比如 Wannacry 漏洞,该漏洞曾让很多企业和政府部门受到攻击,以至于现在仍有被这个漏洞勒索的受害者。前段时间,陕西高速公路所有电脑都因为该漏洞受到攻击,导致高速瘫痪,这是多么大的危害!
由此看来,第三方组件漏洞绝不是小问题,通过组件的漏洞可以直接控制你的服务器。像 Struts2 则影响操作系统,如 Windows 操作系统,每一个月第二个礼拜二都会打补丁,补丁永远打不完,非常容易遭到黑客的攻击。
那么怎么防止第三方组件的漏洞问题呢?办法也有很多,比如说关闭操作系统自动更新;也可以部署一些安全设备,监控组件的使用记录,并及时打补丁等。
当我们谈及安全开发,需要清楚所有的程序和软件都出自人力,只要是人力开发出来的程序都可能存在安全问题,那么怎样才能做到安全开发?关键是要从萌芽状态解决安全问题,要求开发商一定要有黑客思维,要关注逻辑是否 OK,要具备观察从架构到细节全链路的意识。
其实漏洞产生的本质,就是某个单元数据没有处理。
这里我们简单列举了一些已发现的、常规的软件系统的漏洞。
上图是一个简单的 SQL 注入漏洞,会导致用户数据泄漏。
上图展示的是区块链领域的安全问题,传统领域的代码如果出现问题,可能不会造成特别大的影响,因为尚有很多防护手段可以使用。但是区块链有正常合约,正常合约中的内容一旦发布到系统上,上线后就不能改,如果出现问题将是灾难性的。
而且在区块链正常合约代码审计中,一行代码可以价值数亿。一行代码可能只因做了一个简单的运算,却没有判断它的精度,就被黑客发送了一个交易,将代金币瞬间归零。
再举一个例子,现在比特币的价格是是 1 万美元以上,但有一天 14 点 45 分,突然有家交易所的比特币价格跌到了 0.32 美元。这家交易所同步的是亚马逊服务器数据,但是在日本的服务器出现了问题,导致交易所取 K 线数据的时候取不到,K 线的逻辑乱了。最终成交价格随意取,有人拿 0.32 美元成交了 100 个比特币。
为什么举这个例子?还是代码的问题。如果调用别人的数据,需做逻辑判断,但他没有做,所以系统崩溃了。交易所发现问题之后,将所有业务都中断了。在如今的时代,如果代码出现问题,不止影响你自己的业务逻辑,更影响整个企业的业务运转,造成惨重的经济损失。
企业到一定程度之后必须规范开发流程,要有自己的安全编码规范;开发人员也要有相应的安全意识,定期做代码交叉测试。当然也可以请专业团队做代码审计,帮你找出代码里面的逻辑缺陷。
有时候安全问题不是代码有什么问题,而是人的安全意识有缺陷,导致很多不应该出现的信息直接暴露在黑客的眼睛下。比如说企业资料、企业代码,很多人贪图方便直接将其放在云上。这时,如果出现问题,你的企业代码很可能直接暴露在互联网上,其中包括很多敏感信息,不仅会危害到个人,更会间接危害到企业。
举个常见的例子,很多企业直接把代码放到 Github ,结果很多账号信息可以直接搜索出来。前段时间 B 站全站代码都被人放到了网站上,后果非常严重。
上图同样是前几天发生的例子。图中是一条供应链波长,他在日志里面打印了服务器的资料,然后将怎么链接服务器的方法公布,导致黑客轻易就可以控制他的服务器。
如今有一类黑客行为叫做“薅羊毛”。
今年 1 月份,拼多多出现一个问题,一晚上被人薅走了 200 亿。它的后台错误上线了一种优惠券,是 100 块钱的无门槛优惠券,导致那天晚上全中国的人都去薅羊毛。背后的原因就是后台操作错误,上线了不该上线的优惠券。
还有一个例子,使用苹果手机在 APP Store 付费的时候,40 块钱以下小额支付不需要验证,漏洞又出现了。黑客可以随便绑一个假的信用卡,买 40 块钱以下的东西,而且是先发货,无需验证。苹果每一季度才结算一次,这样黑客就有三个月的时间薅羊毛。当然了,苹果也有反薅羊毛的机制,只是道高一尺魔高一丈,后来又出现了手机墙,你封我,我就刷机。最后薅羊毛行为造成的危害已经相当严重,公安机关立案追查羊毛组织。
早期的微信其实没有现在这么安全,你的密码我可以随意重置,因为微信的验证码是四位数字,安全人员几秒钟就可以破解。这种问题在技术人员来看很简单,可经常会出现。也许你觉得自己的代码不会出问题,但在黑客的眼里却是漏洞百出,每一千行代码里至少有 4 个问题。
我们最近在做的项目是一个虚拟货币钱包,当时出现了一个漏洞。如果用户用这个钱包存代币,想转多少就转多少。这种逻辑问题非常考验一个程序员的功底,没有非常完美的方案能解决逻辑问题,只能依靠程序员的经验和安全开发的意识来提升。
现在供应链攻击越来越多,开发、交付、使用等环节都有供应链流程,都有被攻击的风险。这些是比较有意思的供应链攻击的案例:远程终端管理工具 Xshell 被植入后门代码;“方程式”组织硬盘固件程序攻击;刚买了新的服务器,CPU 和内存达到百分之百,很多人会在原始的 Docker 中添加恶意的库。
APT 攻击通常被称为安全领域最高级别的攻击。黑客一般会通过社会工程学发起攻击,比如鱼叉邮件、办公软件。
我们做安全领域的技术人,推广业务非常困难。客户常说,我没有出过问题,你给我推广什么业务?虽然网络安全法颁布以后稍微好一点,但国内的安全意识普遍还是不够高,很多企业和政府部门服务器或业务基本还是在裸奔的状态。
因此我们呼吁大家能把自己企业的安全防护问题提上日程,随着业务规模越来越庞大,构建安全防护体系会越来越麻烦。
企业安全团队对成员素质的要求很高,非常考验工程师的渗透测试能力、代码审计能力、运维能力、风控把握能力,特别是学习能力和抗压能力,很多人就戏称企业的安全部门是专业背锅部门。
如果一个企业要去做安全体系架构,那么它首先要注重知识积累,学习别人的经验,收集自己的安全资产,包括服务器资产、数据资产等,思考保护策略,最后才能落地实践。
同时,在一个企业里推动安全防护工作的建设是非常困难的,大企业有大企业的推动方法,小企业有小企业的推动方法,可以大概分为自下而上和自上而下。当然,如果管理人员重视安全问题会更好推动;相反,从下往上推广就会非常困难。
最后,感谢大家的支持和倾听,谢谢大家!
感谢中国国际技术转移中心西安示范区总裁 & APEC 未来之声中国区执行秘书长郝昭为本次活动现场带来的致辞。同时,也感谢本次活动共创伙伴智优沃对科技领导者社区建设和 TGO 鲲鹏会的鼎力支持。