三个在编程中最容易忽略的安全性措施
近日,由于很多应用基于非官方渠道下载的Xcode打包的APP,被嵌入了恶性代码,将很多软件包括多个知名软件推向了风口浪尖,在iOS上造成如此大范围影响的安全事件,还是极少见的。但是,事情已经发生,也许已经造成严重损失,也许还没有产生太恶劣的后果,不管哪种,总归要面对,要本着对用户负责的态度妥善解决。很多厂商应该已经在抓紧修复这个问题,但是有一些却还在说风凉话,比如网易云音乐。
网易云音乐作为此次问题的当头炮,声明却是那么对用户不负责,故意弱化甚至试图隐藏问题。
这就是问题后的声明,作为一名网易云音乐的铁杆粉心也是凉了半截。简单的可以翻译为:虽然我们愚蠢又无能,也不知如何收拾残局,但不知道为什么,好像敌人暂时没动静了。这件事就当没发生,就当没发生!【本句调侃引自微博@祝佳音】
好了,说明和调侃就说到这,造成这种忽视最基本安全措施的局面的原因,基本就是一线编程人员忽视,又缺乏审查造成的,另外,和大跃进式的培养零基础编程人员也是有很大关系的。目前国内很大一片一线编程人员都是通过各种急速培训出来的,他们在学习的过程中很少被提到的一方面就是代码安全!因此,这一部分走上一线编程岗位时,也必定将这个弱点带入他所开发的软件。
那我们来巩固一下编程中最基本的三个安全性措施,最最基本,也是现在很多编程人员极度忽略的方面。
第一,使用官方渠道下载的开发工具
这就是这几天XcodeGhost火爆流行的原因,很多人因为官方的下载太慢,会选择网上随便搜索一个下载,却不知已被恶意嵌入和监控,这是开发的最根本的防线,这一道防线没做好,问题当然会接踵而至。当然,iOS之外,Android 由于众所周知的原因,国内很难下到原版开发工具,编译出来的软件有没有这方面问题,还需我们仔细检测,所以,此条可以作为编程准则,每位技术都需铭记在心。
第二,了解自己软件的所有请求
还是以XcodeGhost事件为例,就算用了带有病毒的开发工具,如果实时提醒自己在开发的时候要注意检测软件的所有请求,那也许也会避免如此大范围的爆发。
互联网的优越性在于有各种各样取之不尽的第三方库,方便编程人员嵌入,提高开发效率,但并不是每一个库都是干干净净的,很难知道是不是有某一个不安分的家伙在某个墙角旮旯干着坏事呢。但是如果编程者记着查看请求这个事的话,那就会及时发现不该有的请求,起码保证这部分的安全。有很多软件可以方便做这个事,比如 Charles,paros 。
第三,请求加密啊亲!
虽然,加密这个小事,很多人懒得说,但是,我不得不说,国内超级多的软件,请求都是明文在跑啊!我就在写这篇文章的时候,我怕对于这条不好找例子,但是我完全错了,随便扒拉了俩软件玩,就有一个给了我例子,正好用上,如下图
这是一个登录操作,用户名,密码都一览无余,这是国内上亿用户规模的软件的日常,是哪一个就不说了。也许,是开发排期太紧,没时间做加密,也许,是根本就没有这个意识,没出事则已,等到出事就晚啦!
本篇文章没有高大上深的东西,只是想提醒一下开发者不要忽略最最基本的安全措施!共勉!