构建软件安全 从电子游戏行业谈起

作者:新思科技高级技术文章撰写人Fred Bals

全球电子游戏市场价值超过1,000亿美元。现在开发的最复杂的软件中有一些是专门面向视频游戏行业。这些软件的开发会使用到客户端、服务器、Web组件、支付、社交媒体互动和虚拟市场 —— 每个环节都需要确保安全。视频游戏是黑客攻击的目标,尤其是他们会通过作弊和盗版牟利。

网络游戏是黑客攻击的重灾区,损害游戏运营者和玩家的切身利益。比较常见的安全问题包括玩家账号被盗、数据被篡改、游戏充值页面被篡改、或支付接口被篡改等等。这些安全性问题一直都存在,相对其它许多行业,游戏软件开发商更注重软件安全,采取了多样化的方法来对抗攻击。那么游戏行业都采取了哪些保护措施?其它行业有何借鉴的地方呢?

近日,新思科技高级技术文章撰写人Fred Bals与新思科技首席安全顾问Larry Trowell一起探讨了电子游戏行业针对软件安全的举措,从中总结经验。Larry Trowell曾经从事游戏引擎编程、渗透测试游戏和游戏硬件方面的工作。

Fred Bals: 有人说电子游戏行业比许多其它行业更注重软件安全性和可靠性。原因是什么呢?

Larry Trowell: 其中一个原因是他们必须每年都采用更强大的安全措施来与黑客作斗争。他们不得不实施固件签名认证来对抗游戏模组,安装反调试跟踪软件以推迟盗版和降低黑客攻击的几率,并通过运行时完整性检查以应对作弊者。

电子游戏产业与其它行业有所不同的一点是,他们意识到不仅是产品受到攻击,而是整个安全系统失效。游戏会被盗版,作弊层出不穷,系统也会出现漏洞。游戏行业和其它行业的区别在于,他们在攻击成功后有应对计划。他们取消客户端控制、锁定软件、加密内存 —— 他们会采取一切应做的措施来保持安全。但更重要的是他们知道在上述措施不足以应对攻击时需要采取何种备用计划。

Fred Bals: 所以与其它行业相比,电子游戏行业在软件安全方面的表现还是要领先的?

Larry Trowell: 如果电子游戏被认为是领先的,那是因为这个行业曾经推动软件安全的技术突破。起初电子游戏需要防止盗版,所以开发了复杂的版权保护和反调试跟踪软件。这也使得多人游戏时的作弊行为有所减少。当这些技术不能保证结果时,电子游戏行业开始考虑在受到攻击之后应该怎么做,这是软件行业中大多数人不做或者做得不够好的事情。

Fred Bals: 电子游戏行业有哪些举措是值得我们软件安全领域借鉴的?

Larry Trowell: 电子游戏拥有许多安全功能,能在任何可以访问敏感数据或功能的软件中实施。

这里有些例子:

 

服务器端检查

客户端安全性总是会失效。这个教训来之不易,是从电子游戏行业多年来的经验中得出。目前首选的解决方案是定期检查他们所控制的服务器,以确保游戏没有任何修改,按照他们设计好的模式运行。

空中下载更新

这样做可以发现漏洞。这些漏洞需要尽快修补好。如果强制更新可以提升用户体验,那最好采取这种方式。

反调试跟踪

如果黑客可以逐行扫描代码,他们很有可能会找到一种修改方法,从中获利。调试保护可以帮助防止黑客入侵。

代码混淆

代码混淆并不能完全阻止恶意攻击,而是拖延可能被攻击的时间。黑客花越长时间去找到漏洞,软件开发人员就有越多时间去发现漏洞并进行修复。

运行完整性检查

这不仅可以帮助软件开发人员对抗盗版,还能阻止恶意软件注入,以防黑客利用游戏平台侵害用户利益。盗版和恶意软件攻击都会严重影响公司声誉。

最后,要明白安全性是需要成本投入的。并非每个客户/用户都希望增加安全性。但是安全是重要且必要的。将增加产品安全性的成本降到最低的唯一方法是从设计之初就将安全纳入其中。开发人员要了解所要部署的安全技术,确保产品顺利运行时也有安全保障。如果发现其中一种技术存在问题,那么需要确定另一种技术是否可以提供类似的安全性,且问题较少。

无论是在视频游戏还是其它行业中,保护收益和声誉的最佳方式是主动将安全性构建到软件开发生命周期中。