网站安全的秘诀:从它诞生直至消亡的全周期管理|网络安全
如果待网站开发完成后才着手考虑安全问题,那么消耗的代价是巨大的,只能取得事倍功半的效果,业界一直认可的做法是将安全考虑嵌入到整个软件开发生命周期。
伴随着高校信息化建设的进程,高校网站建设经历了从放到收的发展历程,长期的重建设发展,轻运维安全,使得高校在网站安全管理方面基础薄弱。根据中国高等教育行业网络信息基础数据库(IPDB)的数据,部分理工科高校各类网站的数量已经突破了1000,大量网站应用上线后就疏于日常管理,各类安全漏洞频发。各高校在网站安全管理方面面临着数量大、网站建设和管理不统一,安全管理责任边界不清等问题。网站建设方和管理方往往不一致,网站日常安全维护缺失,高校网站重功能实现、轻日常安全维护,一些已公布的安全漏洞长期得不到修复。
与此同时高校网站还必须面对日益严峻的安全形势,面对来自国家相关部门越来越高的安全工作要求,往往感到挑战与压力巨大。令人欣慰的是,经过短暂的迷茫后,很多高校已经逐步理顺了信息安全管理的相关工作,信息安全管理不再是一项“不出事时看不见”的工作,变得具体而实在,有着扎扎实实的工作内容、实实在在的人员队伍、有条不紊的工作节奏。越来越多的高校意识到,对网站应实行全生命周期的安全管理,大致应包括网站登记备案、网站安全准入检查、网站运行安全监控等环节。
如果待网站开发完成后才着手考虑安全问题,那么消耗的代价是巨大的,只能取得事倍功半的效果,业界一直认可的做法是将安全考虑嵌入到整个软件开发生命周期,也就是secure Software DevelopmentLife Cycle(S SDLC)的方法。EDUCAUSE的SECURITY INITIAL的应用安全建议提出了Web应用安全开发的8个步骤,包括规范建设、人员培训、安全需求分析、确定组织安全角色、将安全作为开发或者购买软件的必需环节、应用实施、运行维护、应用终止。美国国家标准技术研究院(National Institute of Standards andTechnoligy,NIST)的标准规范文件从应用的启动、需求、开发、部署、运行几个阶段提出了相应的安全建议。微软提出了安全软件开发生命周期的方法。
这些标准和建议是很有借鉴意义的,但过于复杂,在信息化过程中完全实现是不现实的。为此,美国的GaryMcGraw教授提出了基于安全接触点的软件安全的工程化方法,Gary McGraw博士总结出了七个接触点,即代码审核、体系结构风险分析、渗透测试、基于风险的安全测试、滥用案例、安全需求和安全操作。无论采用什么样的软件开发方法学,都可以将这些接触点应用到你的开发生命周期中,而不需要完全改变软件开发生命周期。这些接触点从“黑帽子”(攻击和破解)和“白帽子”(防御和保护)两个方面综合地考察软件开发中可能出现的问题,结合了它们的开发生命周期就成为“安全的”开发生命周期。“安全的”开发生命周期能够在每一个开发阶段上尽可能地避免和消除漏洞,同时又保留了熟悉的工作方式。
基于软件的安全控制点和软件安全开发生命周期的方法,我们设计了网站全生命周期安全管理流程如图1所示。
整个流程包括网站登记备案、网站安全准入检查、网站安全漏洞跟踪处理、网站定期安全检测、网站安全事件监控等环节。
网站登记备案
网站登记备案是网站安全管理的起点和基础,登记备案有助于帮助高校掌握网站数量,确定网站的安全责任主体单位,梳理网站的业务和管理信息等。高校网站存在数量大、建设和运行模式多样的特点,我们可将其安全责任细分为主管安全责任、开发安全责任、运行安全责任和使用安全责任,在网站的建设和运行中承担的角色不同,安全责任也不一样。网站建设的发起单位是网站的主管部门,一般是业务部门,承担主管安全责任;网站的开发单位对网站的代码安全负责,承担开发安全责任;网站的运行部门对网站的运行环境的安全负责,承担运行安全责任;网站的使用单位对网站发布的内容安全负责,承担使用安全责任。在网站登记备案实际工作中,能够确定主管单位的网站,建议将主管单位定位网站登记备案的责任主体单位,否则可选择网站的运行单位作为网站登记备案的责任主体单位。在高校,网站的主管单位往往是学校的二级单位,在实际工作中,一些高校在二级单位设置了信息安全联系人和信息安全主管,使得网站的备案主体单位能够切实担负起网站的主管安全责任,取得了良好的效果。
网站安全准入检查
网站安全准入检查的目的是查找并消除软件中存在的安全缺陷,通过对OWASP提出的Web应用程序的十大安全漏洞的分析,我们发现,网站安全漏洞可以分为两类,第一类为应用架构、逻辑方面的缺陷导致的安全漏洞,如失效的访问控制、失效的session管理等,对于这类安全缺陷的发现必须通过人工测试判断才能实现。第二类为应用编码不严谨导致的安全缺陷,如缓冲区溢出、非法输入等,这类缺陷既可以通过人工检查的方法实现,也可以通过自动化的测试工具,如黑盒扫描和白盒扫描的方法来实现。高校应综合采用自动化检查与人工检查相结合的策略,综合采用审查网站的整体设计架构、代码分析、黑盒扫描、渗透测试等多种方法对网站进行上线前的安全检测。
网站安全漏洞跟踪处理
自上世纪90年代起自被关注以来,信息安全漏洞数量、种类一直在不断发展,安全漏洞报告平台的类型也在不断丰富,特别是进入“互联网+”后,除了传统的如CNVD这样的以通报成熟软硬件系统漏洞为主的平台外,还出现了像补天这样的以通报企事业单位信息系统安全漏洞为主的、所谓衔接“白帽子”与企业的安全漏洞平台。高校应有专门的安全管理员负责漏洞的跟踪工作,跟踪的安全漏洞平台既应包括国家信息安全漏洞平台这样的官方平台,也应包括像360补天、教育行业安全漏洞信息平台这样的民间平台。管理员通过定期查看或者获得推送的方式获取漏洞的最新信息,从中筛选出与学校信息系统相关的漏洞信息,并对漏洞信息进行验证,排除误报。来自教育部、公安部门的安全通告、风险提示单等也应纳入此体系,漏洞信息应经过验证后进行后续流程。安全管理员对漏洞的危险等级进行评估,确定漏洞的危险等级,对不同等级的漏洞采取不同的处置措施。
网站定期安全检测
在系统运行阶段,安全管理员应进行网站安全扫描,及时发现网站的安全漏洞,并及时将漏洞信息通告给网站的安全责任单位,由安全责任单位负责组织安全漏洞的修复工作。需要说明的是,从检测技术上来说,网站定期安全检测和网站上线安全检测使用的技术是类似的,只是在网站安全生命周期中的位置有差异。
网站安全事件监控
没有绝对的安全,也没有办法杜绝安全事件的发生,根据纵深防御的原则,高校还应建立网站安全事件监控机制,作为网站安全生命周期中的最后一道防线,定期对网站进行挂马、暗链、篡改等安全事件的监控,并及时处理安全事件。
网站安全是高校信息安全面临的新问题,也是急待解决的问题,也是需要在网站的全生命周期都需要考虑的问题。本文提出了高校网站全生命周期安全模型,此模型已经在清华大学运行了一段时间,取得了良好的运行效果。希望能够抛砖引玉,促使高校的信息化工作者共同努力,确保高校的信息安全。(责编:王左利)
(作者吴海燕为清华大学信息化技术中心,戈金钟为清华大学信息化工作办公室)
本文刊载于《中国教育网络》2018年4月刊