独家供稿:移动Labs
通过前面15讲,
相信大家对业务安全都有了一个初步的体系化认识,也知道了业务安全的分析、设计、测评的方法。可能大家之前已经非常熟悉“狭义业务安全”这个我定义的词汇了,在后面的几讲里面我会再介绍“广义业务安全”的概念及与之紧密联系的检测技术。
正如第2讲中提到的业务涉及的各个层面,一个业务系统中包含软件、硬件、服务(业务逻辑);而各个方面均可能存在安全问题。例如A业务的主机中存在操作系统漏洞,那么无论是在服务的逻辑错误、还是软件与硬件中存在缺陷都应该算是该产品的安全保障内容。
而且在所有的安全渗透、检查、评估中,对系统承载平台的检查一直都是一个重点。例如一些公开的xx平台的漏洞中,有较大的一部分也是web容器或操作系统的漏洞(如弱口令等)。因此,从实践安全的角度上看,广义业务安全对整个系统的安全性的评价更为全面。
对广义的业务安全来分析来说,我认为是可以按照主机、网络、业务逻辑等几个方面来进行分割,分别进行。其中可能在少部分地方存在交叉,但不影响分析的结果。如何尽量全的分析出业务系统存在的安全风险呢?我认为应该从如下几个方面进行。
(1)可以使用扫描器对主机、web方面进行扫描,这方面工作可以在上线前或上线后进行,而且差异不大。这类扫描一般非常迅速,现有的扫描器对一个数十个IP、数千个页面的中大型系统进行扫描,只需要数小时的时间。
(2)基线审查。扫描器是从外部进行黑客模式的检查,但如果作为业务的开发或运维方,为了更深层次解决一些问题,如果有可能的话,除了使用扫描器检查安全问题外,我认为应该还在上线前和上线后定期从内部进行一次配置核查/基线审查。这个工作虽然简单,但其实对安全加固的作用非常大。
(3)应该对业务系统进行流程核查,这方面的工作我建议最好在业务/新功能上线前系统性做一次,可以定期进行一些复查。重点关注的就是业务的入口、业务的逻辑、业务的数据存储等。
(4)如有需要,可以进行一些特殊的测试。例如有些系统需要具有较强的防病毒能力,需要使用专用的病毒库进行安全测试;一些系统可能需要源代码安全检测,则需要使用源代码检测工具等。
(5)需要定期对业务运行环境进行分析,以防外部环境的变化对系统的安全发生改变。这方面我在后面会举一个例子来说明这类的安全问题。
综上,广义的业务安全分析并不是一件非常复杂的事情,关键是将业务的各个维度划分清楚,然后分块执行;在检测过程中发现的问题可能存在少量交叉,最终在进行整合时予以除重即可。
《业务安全粟论》发到15期的时候,博客的访问量超过了10万,作为纯技术文章的blog,我觉得已经非常不错了。感谢各位编辑、读者的支持~
好了,今天就先到这里,下期再见。
粟栗
加载中,请稍候......