随着互联网和智能手机的快速发展,市场的需求也发生 很大变化。本来一些应用软件只是在银行或者财经的机构内部 使用话,安全性、保安性要求相对比较容易控制,现在很多开 始在智能手机APP使用。原本机构使用的系统,现在面向大众 开放,要如何才能保证安全性?
在香港,由于系统的漏洞,发生过很多次安全性事件, 例如:由于医院系统安全性不足,病人的信息被黑客偷盗导致 泄漏。
举些例子,大家就能意识到整个系统安全性的挑战,比 如有些病人由于某些原因不便公开自己的病情。特别是名人的 话,这个信息一旦泄漏会照成不小的风波。那么这个医院是否 有保护病人个人信息的政策?这个牵涉到每个文档的读取权 限,哪些可读,哪些不可读。
另外,一些交易软件上,参与者如何确保自己的个人信 息不会被他人盗取。例如信用卡信息。这也是一个系统需要兼 顾到的。假如香港医管局,有新政策出台时,系统如何依据新 政策进行修改,这个都是需要考虑的。
如果你是软件开发者,我们说,单单靠最终的系统测 试、验收测试去确保产品质量,效果不好。想要取得好的效果,就需要尽早发现缺陷,比如利用前 期的单元测试,确保单元的质量。这个道理大家应该听过也理 解。而做好软件开发的安全性,道理也类似的,我们不可能单靠最后对软件产品的动态测试—— 黑盒测试,来找出软件系统保密性上的漏洞。虽然现在工具越来越多,功能越来越强,但是单靠黑盒测试,而不知道系统本身架构的需求 测试假定,他的有效性会很有限。从这个角度往前一步看,在写完代码后,可以通过扫描代码是否有漏洞,进一步暴露安全性 问题。
依据这个思路,往开发的前期去看,前期是否把安全性需求弄清楚,有没有把相关的安全性需求写在需求文档中,后面对应开发和测试。 再往前,是看公司是否有安全性方面的指南?
前期防范比后期监测效率高——在我们的培训中,会把这个概念,用互动练习的形式和大家分
享。
在整个迭代开发的过程中,我们除了要考虑安全性,也同时间要考虑设计的易用性。
例如我们使用智能手机上的银行系统软件APP,来进行转钱的操作,在很多关卡都要进行验 证,那么就大大提高了安全性。但是会让用户觉整个界面很不友好,不好用,后面就会放弃使用, 最后导致客户丢失。
电影《偷龙转凤》( How to Steal a Million(1966) 主演:奥黛丽.赫本)有个画面,男女主角 要从博物馆偷回雕像,但是整个博物馆的保安都做得很好,主角最后用什么方法把雕像偷到手呢? 就是几次故意把系统扰动,每次警察都会过来查看,但是每次雕像都在原地好好的。警车出动让周 围的居民都很烦扰,最后博物馆的保安觉得系统发出假警报,就把安全系统关掉。这时候,主角们 再去博物馆把雕塑轻松偷了回来。
还有个例子,在二战期间,苏联为了做好情报的保密性,有一批专家对情报系统做了复杂的设 置,由于电文保密性太好,军官破解比较费劲。最后军官放弃了新的系统,仍旧使用用老的方法, 但是又很容易被敌人破解。
上面的例子说明,保安做得很严密,但是难用,会没有效果。
我们知道一个系统特别注重保密性、安全性,会导致系统繁琐,易用性就会打折扣,用户使用 起来就会不方便。如何平衡2者就很重要。
将来我们提供相关的培训,来帮助大家进一步了解和做好这方面的工作。by Edmond Sai-Kit SUNG CMMI