刘琦
摘 要:随着信息化建设的逐渐深入,信息化对经济社会发展的影响更加深刻。广泛应用的信息系统、高度渗透的信息技术正孕育着新的重大突破。信息资源日益成为重要生产要素、无形资产和社会财富。信息化建设在为业务运转带来便利的同时,其信息安全问题也尤为突出。2017年6月发布的《中华人民共和国网络安全法》中明确提出关键信息基础设施的运行安全,同时落实网络安全监测预警和信息通报制度。在此背景下,该文以信息系统生命周期的角度,深入分析信息系统安全保障体系设计思路,应对日趋严峻的安全形势,支撑信息系统平稳、高效运行。
关键词:信息系统 关键信息基础设施运行安全 信息系统安全保障体系设计
中图分类号:TP309 文献标识码:A 文章编号:1672-3791(2019)03(b)-0004-06
Abstract: With the gradual deepening of informatization construction, the impact of informatization on economic and social development has become more profound. The widely used information system and highly infiltrated information technology are gestating new major breakthroughs. Information resources are increasingly becoming important production factors, intangible assets and social wealth. While information construction is bringing convenience to business operations, its information security issues are also particularly prominent. The "Network Security Law of the People's Republic of China" promulgated in June 2017 clearly stated the operational safety of key information infrastructure, and implemented the network security monitoring and early warning and information notification system. In this context, this paper analyzes the design of the information system security assurance system from the perspective of the information system life cycle, responds to the increasingly severe security situation, and supports the smooth and efficient operation of the information system.
Key Words: Information system; Key information infrastructure runs safely; Information Systems Security System Design
1 概述
1.1 什么是关键信息基础设施
关键信息基础设施是指面向公众提供网络信息服务或支撑能源、通信、金融、交通、公用事业等重要行业运行的信息系统或工业控制系统,且这些系统一旦发生网络安全事故,会影响重要行业正常运行,对国家政治、经濟、科技、社会、文化、国防、环境以及人民生命财产造成严重损失。
关键信息基础设施包括网站类,如党政机关网站、企事业单位网站、新闻网站等;平台类,如即时通信、网上购物、网上支付、搜索引擎、电子邮件、论坛、地图、音视频等网络服务平台;生产业务类,如办公和业务系统、工业控制系统、大型数据中心、云计算平台、电视转播系统等。
可参考表1并结合实际梳理关键业务系统。
1.2 行业安全事件
一直以来,各行业内各类信息安全事件频出,如:伊朗核工业控制系统被震网病毒攻击、乌克兰大停电事件,重要的政府、银行、媒体网站都遭遇空前的黑客攻击。2017年全球突发“勒索病毒”事件疯狂袭击全球公共和商业系统,全球有接近74个国家受到严重攻击。2018年国内多家企业数据泄露,涉及到公民求职简历、快递数据、酒店入住信息等。
1.3 信息系统常见安全问题
信息系统在系统设计开发、测试上线、运行维护及变更退运阶段,不可避免地存在一些安全问题,例如:对于各类内、外部信息安全事件,尚未形成有效的体系来应对包括外部黑客攻击、内部安全事件,日常风险分析、控制,信息安全事件应急演练等。
1.4 体系设计目标
(1)不断完善业务系统自身安全,降低系统上线后被黑客攻击带来的损失风险,保障应用系统的安全运行和数据安全。
(2)充分落实事前、事中、事后安全防护工作,建立健全信息系统的安全能力,对安全能力的有效性及覆盖度进行查漏补缺,确保安全防护机制正常运行。
2 安全体系设计
2.1 安全体系参考模型
2.1.1 安全体系参考模型——SDLC
SDLC(Software Development Life Cycle),即软件生命周期、软件生存周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查,以提高软件的质量(见图1)。
2.1.2 安全体系参考模型——PPDRR
PPDRR模型由5个主要部分组成:安全策略(Policy)、保护(Protection)、检测(Detection)、响应(Response)、恢复(Restore)。PPDRR模型是在整体的安全策略的控制和指导下,综合运用防护工具(如防火墙、身份认证、加密等)的同时,利用检测工具(如漏洞评估、入侵检测系统)了解和评估系统的安全状态,通过适当的响应将系统调整到一个比较安全的状态。保护、检测和响应组成了一个完整的、动态的安全循环(见图2)。
2.2 安全保障体系设计
安全保障技术体系设计参考软件生命周期模型,以信息系统生命周期为主线,结合信息系统安全技术措施,从而规范信息系统在全生命周期的安全活动(见图3)。
系统需求设计阶段:在开发规划、可行性研究、需求分析的阶段,对信息系统的安全需求进行收集、提炼与安全设计。
系统安全开发阶段:对软件设计过程中安全设计进行开发实现,软件代码成果同时符合代码安全规范。
系统安全测试阶段:对信息系统进行全面的安全测试评估,软件源代码进行安全性审计,保障信息系统上线前达到安全要求。
系统上线管理阶段:对开发、测试、上线环境进行安全隔离,上线环境进行严格准入,信息系统上线的应用和设备必须达到安全上线准入要求,要求包括安全基线、安全漏洞、补丁检查、日志审计策略等方面。
系统安全运维阶段:对信息系统安全运维监控与预警、进行日常安全维护和应急响应,保障系统运行安全。
系统变更或下线管理阶段:依据变更或下线流程,对剩余信息的处理,保障数据安全。
3 体系内容概述
3.1 系统需求设计
随着信息化的迅速发展,信息系统在迅速发展壮大的同时,也面临着越来越多的安全威胁,为了保证信息系统的健壮性、保护数据的安全性,有必要全面地规划和设计信息系统的安全功能,尽早地介入到系统的建立过程中。
在应用系统软件开发设计的过程中,应用系统需求设计应该遵循一些基本安全原则(见表2)。
系统设计中需要考虑以下安全需求。
(1)框架安全:互联网有许多开源或不开源的Web开发框架为程序员提供便捷开发,这些框架功能不一,语言各异,开发水平参差不齐,对安全开发的支持度也不同。需要考虑选择最易用、最安全的开发框架。
(2)第三方软件:在开发信息系统的过程中,常借助第三方软件,如Ewebeditor、FCKeditor、Ueditor等。需要在系统需求设计时充分了解第三方软件各版本存在的已知安全问题,避免引入安全漏洞。
(3)输入验证控制:系统应用相当多的成功攻击都是因为输入验证引起的,一切从外部获取的数据都可能是恶意的,如果缺少对数据的验证,将会带来很多安全问题,如SQL注入、跨站点脚本攻击、命令注入等,其根本原因就是因为没有对外部输入的数据进行安全处理。
(4)业务安全控制:不同的信息系统存在不同的业务逻辑,各种各样的业务场景都通过程序来完成,电脑程序、自动化安全测试措施与人工不同,无法主观判断业务逻辑是否合理,因此在系统需求设计时需要考虑到各种逻辑漏洞,做好防控功能。
(5)会话管理控制:会话管理是应用系统用来保持状态会话支持的技术。它是一个用户在服务端验证完身份,他的下一个请求不再导致服务器重新要求验证他的身份的技术,会话标识符在用户通过认证后由服务器产生,客户端在接下来的访问不必再一次进行身份认证,选择安全的会话管理技术是系统安全的必要条件。
(6)系统认证和密码管理:身份验证功能是在服务器确认操作者身份的解决方法,对于信息系统来说,选择合适的身份认证措施至关重要。
(7)授权与访问控制:在信息系统需求设计阶段,需要确定已通过验证的对象可以执行哪些操作以及可以访问哪些资源,错误的授权会导致信息泄露或者数据篡改,需要对信息系统进行深度授权防御设计。
(8)通信安全:对信息系统通信选择合适的加解密设备和通信协议,保障通信安全的同时平衡服务器性能。
(9)异常处理:异常处理又称为错误处理,它提供了处理应用程序运行时出现的任何意外或异常的方法,错误处理时需要考虑不应该泄露有助于恶意用户攻击应用系统的信息。
(10)日志审计:充分设计信息系统日志审计功能,日志可以分为两种,即一种是应用日志,也称之为调试信息或者错误日志,主要是为了跟踪应用程序底层行为,跟踪应用程序内部执行的过程;另外一种是业务日志,主要是为了记录用户的业务操作,提高业务上的抗抵赖性。
(11)數据保护:应该注意敏感数据的加密,选择较强的加密算法,防止数据被盗用后直接使用。
(12)数据库安全:应用系统数据库中存放着大量的运营关键信息、客户数据等资料。而黑客正处心积虑,采取各种入侵手段来企图获得这些数据。保护数据库安全是应该重视对待的问题。
(13)非结构化数据安全:应用系统中经常会对非结构化数据进行操作,包括文件的上传、下载和访问等。不恰当的文件管理可能导致服务器的沦陷,需要关注的是服务器如何处理、解析上传的文件,如果服务器处理逻辑做得不够安全,则可能导致严重的后果。
(14)合规性:合规性主要是为满足行业或监管单位对信息系统的强制型和推荐型安全要求。需要参考相关行业标准、文件进行需求设计。
3.2 系统安全开发
系统安全开发阶段需要保证系统能够按质按量地进行开发,在信息系统安全开发阶段,开发人员在编码过程中,应根据编码规范进行编码,避免常见的不安全代码使用、不安全的框架使用及未经确认业务逻辑使用,严禁在源代码中留有后门。开发人员同时应结合前期系统的安全需求、安全设计的相关安全功能进行充分的测试和验证,并记录测试案例和结果。在开发过程中应当采用代码安全走查的方式对开发过程的安全编码进行检验,在信息系统正式测试前发现的所有代码层面的中高风险问题,开发人员需提前完成整改,并确认整改效果的有效性。在开发过程中所有过程文件(包括源代码),应进行适当的保管,防止机密性及完整性的破坏,开发结束后应统一进行归档保存。
3.3 系统安全测试
在系统安全测试阶段,安全测试应覆盖安全需求和安全设计的各项内容,确保系统能够满足各项安全需求。根据安全需求和安全设计的内容,制定相应的安全测试方案。安全测试方案包括安全测试的对象和范围、案例、预期结果、执行人员、实际结果等内容。
在进行安全测试过程中,如需使用专业工具,应使用该工具的最新版本或更新至最新的代码库,以尽可能全面地发现系统中存在的开发缺陷。安全测试过程中发现的问题,应及时整改。如无法及时整改,应采取其他措施将安全风险降低到可接受范围内。
系统安全测试包括但不限于以下活动。
(1)工具扫描:在系统安全测试阶段,对应用进行工具扫描,以发现可能存在的风险。
(2)应用系统安全检查:对应用系统从软件开发、部署与运行管理、身份鉴别、访问控制、交易安全、数据保密性、备份与故障恢复、日志与审计等方面进行安全评估。
(3)渗透测试:利用已知漏洞和社会工程的方法,模拟入侵攻击,以揭示系统应用可能存在的安全风险。
(4)源代码安全审计:依据CVE公共漏洞字典表、OWASP十大Web漏洞,以及设备、软件厂商公布的漏洞库,结合专业源代码扫描工具对各种程序语言编写的源代码进行安全漏洞定位、分析漏洞风险。
3.4 系统上线管理
在系统上线管理阶段应保证系统建设的标准化,加强应用上线的安全管理,为后续长期维护打下良好的基础。
(1)服务开放端口:系统应用开发的端口服务保证最小化,避免开放不必要的服务端口。
(2)安全测试结果确认:确认系统安全测试阶段安全风险已经降低到可接受范围内。
(3)安全防护确认:确认上线系统纳入安全设备防护,并在上线阶段针对安全策略优化。
(4)安全配置确认:确认业务系统及系统相关设备进行了安全性配置。
3.5 系统安全运维
在系统安全运维阶段,以等级保护标准为参考,结合PPDRR模型,即安全策略(Policy)、保护(Protection)、检测(Detection)、响应(Response)、恢复(Restore),构建事前防护、事中响應、事后审计3道防线措施,同时参考主流攻击者攻击过程TSSIC(思路-Thinking、嗅探-Sniff、扫描-Scan、入侵-Intrusion、控制-Control),以此过程检测信息系统安全防御与攻击过程一一对应,以此保障信息系统的稳定运行(见图4)。
(1)等级保护:安全防护体系以等级保护为指导思想,基础运行环境应符合等级保护要求,如访问控制、入侵防范、安全审计、恶意代码防范等。
(2)第一道防线:通过网络出口、服务器环境的防护措施以及事前安全检测的等措施构成基础防线。
(3)第二道防线:通过安全系统实时防护、实时安全事件的分析响应等措施构成事中响应。
(4)第三道防线:通过对网络日志、运维操作日志、安全日志、数据恢复等措施构成事后恢复和审计。
3.6 系统变更或下线管理
在系统变更或下线过程中,保护关键信息系统的数据保密性与完整性对受到保护的数据信息进行妥善转移、转存、销毁,确保不发生信息安全事件。具体包括以下几方面。
(1)梳理关键数据。业务部门和维护部门梳理出系统涉及的各类数据及建议处理方式,分为业务数据(包括但不限于业务信息数据、生成数据、经营数据等)和维护数据(设备健康度、维护数据、操作日志、配置文件、账号及密码等)。
(2)判定数据处理的意见。业务部门审核制定待变更或下线系统中相关业务数据的处理意见,将数据明确划分为即时销毁、备份后销毁并明确对于备份数据的处理意见。
(3)判定维护处理的意见。维护部门审核制定待变更或下线系统中相关维护数据的处理意见,将数据明确划分为即时销毁、备份后销毁并明确对于备份数据的处理意见。
参考文献
[1] GB/T 22239-2008,信息系统安全等级保护基本要求[S].
[2] GB/T 20271-2006,信息系统通用安全技术要求[S].
[3] GB/T 25070-2010,信息系统等级保护安全设计技术要求[S].
[4] GB/T 20269-2006,信息系统安全管理要求[S].
[5] 国家互联网信息办公室.关键信息基础设施安全保护条例(征求意见稿)[S].
[6] 第二十七届广东省企业管理现代化成果:中广核集团核电信息安全攻防体系建设实践[Z].