复杂信息系统安全建设一般要从安全原则、等级划分、集成规划、安全模型等框架进行考虑,并从时间分段、空间分层、目标分级的维度进行整体的综合设计。
从时间维度,可将系统生命周期分为规划、建设和运维3个阶段,各阶段需要重点考虑的安全原则如下。
1.安全规划阶段
合规性与风险控制相结合的原则:合规性强调标准化与符合度,风险控制强调系统的特殊性。在规划阶段,只有将合规性与风险控制相结合,才能满足政策法规要求,同时降低安全风险。复杂信息系统安全设计必须遵循标准,如等级保护标准、分级保护标准、ISO 27000标准等,只有符合标准,才能确保系统安全在一定的标准基线之上,同时复杂信息系统又有着特有的计算、存储、通信和部署方式,因此需要针对其特点进行风险分析和控制。
技管并重原则:信息安全3分靠技术,7分靠管理。安全体系是复杂的系统工程,涉及人、技术、管理制度及操作流程等要素,单靠安全技术设备或管理制度都会有漏洞,只有将各种安全技术与运行管理、人员教育培训、安全规章制度策略建设相结合,才能保障安全。
统筹规划与分步实施原则:安全威胁随环境和条件不断变化,安全防护也需要与时俱进。在一个比较全面的安全规划下,需要将统筹规划和分步实施相结合,可先部署网络层安全防护系统,保证系统架构安全,再根据网络自身和安全态势的变化不断增加主机层、应用层和管理层的安全设施,以满足新的安全需求。
同步规划原则:安全工作以“同步规划、同步建设、同步运行”为指导思想,信息系统在新建、改建和扩建时应同步规划和设计安全方案,考虑网络安全问题,预留资金在安全设施采购和安全测评实施方面,确保网络信息安全建设与信息系统建设同步展开。
等级性原则:等级性原则是指规划需要考虑不同安全层次和级别。信息系统按信息保密程度、用户操作权限、网络安全程度、系统实现结构分为不同的安全层次和级别,针对不同级别的安全对象,应提供相应的安全规划,以满足不同层次的安全需求。
2.安全建设阶段
整体性原则:木桶原理即木桶的最大容积取决于最短的一块木板,网络信息安全的木桶原理是指需要从攻击面上对系统进行全面的安全保护。攻击者通常选择从系统中最薄弱的地方开始渗透。复杂信息系统在物理环境、技术设施、操作管理方面的种种漏洞都会导致安全风险,多用户网络系统交互复杂性、数据流动和资源迁移更增加了防护难度。因此,充分、全面、完整地对系统的安全漏洞和安全威胁进行分析、评估、检测(包括模拟攻击)是设计安全体系和系统的必要前提。安全机制设计的首要目标是防范最常用的攻击手段,根本目标是提高整个系统“安全最低点”的防御能力,由此提升系统总体安全防御能力。
同步建设与实施原则:业务系统的稳定和安全运行是核心目标,只有着重在系统建设运行全生命周期同步做好安全建设工作,才能促使安全符合业务发展需要。在系统建设过程中需要同步推进安全建设工作,将安全工作前移,降低运维阶段的压力。安全建设一方面包括安全设施、制度、团队建设,另一方面又需要对建设过程进行安全监督、检查、测评、管理,从规划到验收、从前端到运维实施统一的安全管理制度、技术规范和工作流程,确保系统建设期安全目标的落实。
相对安全原则:任何信息系统都无法保证绝对安全,一方面没有绝对安全的软件和代码,网络安全设备本身也需要定期的维护和升级;另一方面不断曝光的各种安全漏洞也会带来安全风险。因此,网络安全是一个相对的概念,也就是在某个时间点是暂时相对安全的,没有绝对的安全。
最小权限原则:受保护的敏感信息只能在一定范围内被共享。履行工作职责和职能的安全主体,在法律和相关安全策略允许的前提下,为满足工作需要,仅授予其访问信息的适当权限,称为最小化原则。敏感信息的知情权一定要加以限制,是在“满足工作需要”前提下的一种限制性开放。
3.安全运维阶段
闭环管理原则:闭环管理是综合闭环系统、管理的封闭原理、管理控制、信息系统等原理形成的一种管理方法。在复杂信息系统闭环管理中,系统将用户在应用业务时触发的故障告警提交给安全运维工程师,安全运维工程师对故障进行有效解决,同时将故障反馈给系统研发人员或系统维护人员,系统研发人员或系统维护人员可对系统进行修补或升级,从而防止安全故障和告警再次发生。安全运维的闭环管理保证了系统管理的稳定和安全。
统一管控原则:统一管控原则要求在网络发生攻击和破坏事件的情况下,必须尽快恢复服务以减少损失。因此,信息安全系统应该包括安全防护机制、安全检测机制和安全恢复机制。安全防护机制是根据具体系统存在的安全威胁采取的防护措施,以避免非法攻击。安全检测机制是检测系统的运行情况,及时发现和制止对系统进行的各种攻击的机制。安全恢复机制是在安全防护机制失效的情况下,进行应急处理和尽量及时地恢复信息、减少损失的机制。
易操作性原则:所有的安全措施都需要人来完成,如果安全管理措施过于复杂,对人的要求过高,本身就降低了安全性。其次,安全管理措施的实施不能影响系统的正常运行。
可视化与可度量原则:可视化原则是指利用可视化方法让安全管理者有效掌握系统安全信息,让管理效果渗透到系统运行各环节的原则。可视化管理可让安全流程更直观,内部安全信息得到更有效的传达运用,提升安全管理效能。可度量原则指系统各项安全指标可度量,验证这些指标的数据或信息可获取,并且有统一、标准和清晰可度量的指标,杜绝在指标设置中使用模糊且无法衡量的描述。
海因里希法则(Heinrich's Law):海因里希法则又称“海因里希安全法则”“海因里希事故法则”等,是传统安全领域著名的经验法则,由美国安全工程师海因里希提出,即当一个企业有300起隐患或违章时,必然要发生29起轻伤或故障,另外还有1起重伤、死亡或重大事故。这条法则揭示了安全风险和安全事件之间的概率关系,即当安全风险积累到一定程度时,安全事件的发生就从偶然变成必然了。只有及时消除不安全的风险因素,才能防止重大安全事故发生,网络安全领域中消除风险的核心工作就是消除用户的不安全行为和系统的不安全状态。
复杂信息系统规模庞大、体系复杂、类型繁多、地域广泛且动态变化,面临的安全威胁也是复杂多样的。对复杂信息系统的安全需求进行等级划分,有利于展开其安全规划、设计与实施,对复杂信息系统的建设和管理有着重要的指导意义和实践价值。
参考《信息安全等级保护管理办法》,对复杂信息系统建议采取五级划分。
(1)第一级:信息系统遭到破坏后,会对公民、法人和其他组织的合法权益造成损害,但不损害国家安全、社会秩序和公共利益。第一级信息系统运营、使用单位应当依据国家有关管理规范和技术标准进行保护。
(2)第二级:信息系统遭到破坏后,会对公民、法人和其他组织的合法权益产生严重损害,或者对社会秩序和公共利益造成损害,但不损害国家安全。国家信息安全监管部门对该级信息系统安全等级保护工作进行指导。
(3)第三级:信息系统遭到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。
(4)第四级:信息系统遭到破坏后,会对社会秩序和公共利益造成特别严重的损害,或者对国家安全造成严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行强制监督、检查。
(5)第五级:信息系统遭到破坏后,会对国家安全造成特别严重的损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行专门监督、检查。
信息系统安全等级测评是验证信息系统是否满足相应安全保护等级的评估过程,信息安全等级保护则要求不同安全等级的信息系统应具有不同的安全保护能力。
系统生命周期包括规划设计阶段、建设实施阶段、系统交维阶段和系统运维管理阶段,复杂信息系统安全体系要在这些阶段通过集成安全技术和管理手段分步实现。
规划设计阶段。此阶段应重点分析网络环境中存在的安全威胁和复杂信息系统的脆弱性,与系统规划设计同步进行安全规划和设计,从技术和管理、安全合规性和风险控制等多角度提出合理的安全目标和实施方案。可参照ISO 27001、等级保护或分级保护标准,结合风险分析结果对目标进行分解,制订安全方案。
建设实施阶段。此阶段应组建较稳定的安全团队,按照安全规划设计采购、集成、配置安全设备和服务,并同步制订和执行安全保障管理方案,同时应根据系统建设进度调整安全技术和管理措施,以确保安全控制的覆盖率和有效性。
系统交维阶段。在信息系统上线前,应对信息系统进行安全测试,以发现并排除系统的安全隐患。可对系统进行代码审计、系统渗透测试和安全基线检查,同时对接入系统行为进行安全准入和审计管理等。在完成这些工作后,可将安全系统和业务系统同步交维。
系统运维管理阶段。系统交维只是安全体系建设的第一步,在系统进入运行期后,需要同步制订和执行长期安全运维方案,对系统安全进行持续监测、检查、防护,不断调整和完善安全手段和策略,在系统迭代时同步重启相应的安全建设过程,持续提升系统安全和防御能力。
围绕信息系统的6个安全目标,网络安全行业提出了多种安全体系模型。下面分别基于防御模型和攻击模型,简要介绍几种常见的体系模型,并给出一种通用的复杂信息系统安全架构。
1.基于防御模型
1)PDRR模型
PDRR模型是最常见的安全防护模型,由防护(Protection)、检测(Detection)、响应(Response)和恢复(Recovery)4个部分组成。在防护部分,安全人员根据系统已知的所有安全问题制订防御措施,如更新补丁、设置访问控制策略、加密数据等;在检测部分,安全人员通过部署多种检测工具检测网络状况,如入侵检测、系统脆弱性检测、数据完整性检测等,发现可能的攻击行为;在响应部分,在安全防御系统检测到入侵后自动采取防御措施,如关闭端口、中断连接和服务等;在恢复部分,在入侵事件发生后,该模型自动将系统恢复到正常状态,同时更新防御系统。这4个部分构成了一个动态的信息安全周期,如图1-1所示为PDRR模型。
图1-1 PDRR模型
2)WPDRRC模型
WPDRRC模型是我国“八六三”信息安全专家组在原PDRR模型基础上提出的适合中国国情的信息系统安全保障体系建设模型。WPDRRC模型有6个环节和3个要素。6个环节包括预警(Warning)、防护(Protection)、检测(Detection)、响应(Response)、恢复(Recovery)和反击(Counter Attack),它们具有较强的时序性和动态性,能够较好地反映信息系统安全保障体系的预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力。3个要素包括人员、策略和技术,人员是核心、策略是桥梁、技术是保证,其组成如图1-2所示。
图1-2 WPDRRC模型的组成
3)IPDRR模型
IPDRR模型由风险识别(Identify)、安全防御(Protect)、安全检测(Detect)、安全响应(Response)和安全恢复(Recovery)5个模块组成。风险识别模块通过对组织信息化环境的全面分析,识别可能产生网络安全风险的系统、资产和数据;安全防御模块制订并实施相应的网络安全保障措施,以确保提供重要的基础设施服务;安全检测模块制订并实施适当的活动,以识别网络安全事件的发生;安全响应模块制订并实施适当的活动,对检测到的相关网络安全事件采取行动;安全恢复模块制订并实施适当的活动,对网络安全事件受损的任何功能或服务进行还原操作,以保持业务的持续性。
与传统单一被动防御的安全策略相比,IPDRR模型在检测方面自动实时检测能力更强,比传统的IPS或IDS更加积极主动,实现了“事前、事中和事后”的全过程覆盖,由原来以防护能力为核心的模型,转向以检测能力为核心的模型,其组成与架构如图1-3所示。
图1-3 IPDRR模型的组成与架构
2.基于攻击模型的ATT&CK框架
为帮助网络防御者了解网络所面临的安全威胁,基于现实中发生的真实攻击事件和开放源代码,MITRE于2013年创建了一个全球可用的对抗战术和知识技术库,其英文全称为Adversarial Tactics Techniques and Common Knowledge,简称ATT&CK框架。ATT&CK框架根据真实的观察数据来描述和分类对抗行为,将已知攻击者行为转换为结构化列表,并将这些已知的行为汇总成战术和技术,提供了对抗技术的实现步骤,以及检测、预防或缓解对抗技术的常识知识,被全球各地的组织广泛使用。在目前的V8版本中,ATT&CK框架被分为3个部分,其中ATT&CK for Enterprise是针对企业的攻击链;ATT&CK for Mobile是针对移动平台的攻击链;ATT&CK for Industrial Control Systems是针对工控系统的攻击链。相对传统威胁模型,ATT&CK框架的优越性与核心思想可从攻击视角、实践证明和抽象提炼3个方面体现。
攻击视角是指ATT&CK框架使用攻击者的视角,比从纯粹的防御角度更容易理解攻击行动的上下文和潜在对策。虽然很多防御模型(如CIA、CVSS、DREAD模型)会向安全人员显示警报,但不提供引起警报事件的任何上下文,而ATT&CK框架提供了对抗行动与信息之间的关系和依存关系,防御者可以追踪攻击者采取每项行动的动机,并了解这些行动和依存关系,并对攻击行动进行预测。
实践证明是指ATT&CK框架所描述的活动在很大程度上取材于公开的高级持续威胁APT事件,因此可以准确描述正在发生或可能发生的攻击。
抽象提炼是ATT&CK框架与其他威胁模型的重要区别。传统的高级抽象模型,对理解高级过程和攻击者目标很有用,但这些模型不能有效地传达攻击动作之间的关系,以及动作序列和攻击者战术目标之间的关系;与漏洞数据库相关的低级抽象模型详细描述了可利用漏洞的实例,但真实攻击环境与这些软件的使用环境和使用方式相差甚远;而ATT&CK框架可根据抽象分类的战术和技术,对系统中的每个动作进行定义和分类,将攻击者的行为和具体的防御方案有效联系起来。
1)ATT&CK框架的12种战术
ATT&CK框架包含12种战术,具体如下。
(1)初始访问:初始访问是攻击的起点,攻击者会使用不同技术实现初始访问。如攻击者使用鱼叉式附件来实现初始访问,该附件可通过利用某种类型的漏洞(如PowerShell或其他脚本)实现对目标主机的掌控。
(2)执行:执行战术是所有攻击者都会采用的一种战术,因为无论攻击者采用恶意软件、勒索软件还是APT攻击等手段,都是为了成功攻入主机执行操作。
(3)持久化:持久化战术是最受攻击者追捧的技术之一,除勒索软件外,大部分攻击者的存活时间取决于何时被检测系统发现。在攻击者成功执行完持久化战术之后,即便运维人员采取重启、更改访问凭据等措施,持久化技术依然可以让计算机再次感染病毒或维持连接通道。
(4)权限提升:利用系统漏洞达到root级访问权是攻击者的核心目标之一,因为一些攻击技术需要系统级的调用才能正确使用,如Hooking和进程注入。
(5)防御绕过:防御绕过中涉及的技术是12种战术中最多的,攻击者通过使用一些攻击技术欺骗防病毒产品以躲避检查,或者绕过应用白名单,如禁用安全工具、文件删除和修改注册表技术。
(6)凭据访问:凭据,尤其是管理凭据是攻击者最想拥有的,拥有凭据攻击者就可以通过正常渠道登录访问,不需要利用0Day漏洞或冒险采用漏洞入侵。
(7)发现:发现战术是一种难以防御的策略,组织机构要正常运营业务,肯定会暴露某些特定方面的内容,并且由于用户在日常工作中可能会执行多种操作,所以从各种干扰中筛选出恶意活动可能非常困难。
(8)横向移动:攻击者通常会先在系统中寻找一个落脚点,然后开始在网络内各个系统中横向移动,寻找更高的访问权限,以期达成最终目标。例如,针对单个系统的勒索软件也会试图在网络中移动以寻找其他攻击目标。
(9)收集:攻击者为发现和收集实现目标所需的数据而采取的技术。
(10)命令和控制:大多数恶意软件都有一定程度的命令和控制权。非法人员通过命令控制权渗透系统,告诉恶意软件下一步控制目标主机的指令。
(11)数据渗出:攻击者在获得访问权限后,会四处搜寻相关数据,然后进行数据渗透。但并不是所有恶意软件都有这个阶段。例如,勒索软件通常并不会使用数据渗出战术。
(12)影响:攻击者试图操纵、中断、破坏或篡改企业的系统和数据。如攻击者可能破坏特定系统数据和文件,从而中断系统服务和网络资源的可用性,还可能会覆盖本地或远程驱动器上的文件或数据导致存储的数据无法恢复。
在实际中,攻击者并不会使用上述所有的12种战术,而是使用最少数量的战术来攻击目标,因为这可以提高效率并降低被发现的概率。例如,攻击者通过电子邮件中的鱼叉式网络钓鱼链接对管理员的凭据进行“初始访问”;在获得管理员的凭据后,攻击者将在“发现”阶段搜索系统;之后可以在Dropbox文件夹中搜寻敏感数据,由于管理员有访问权限,所以无须“提升权限”;最后攻击者将文件从Dropbox下载到攻击者的计算机完成目标收集。图1-4所示为攻击示例。
图1-4 攻击示例
2)ATT&CK框架的应用场景
ATT&CK框架在很多防御场景中都很有价值,不仅为网络防御者提供了通用技术库,而且为渗透测试和红蓝对抗提供了理论基础,甚至成为网络安全领域公认的一种通用语言,其主要应用场景包括以下4种。
(1)威胁情报。网络威胁情报的价值在于了解攻击者的行为,并利用这些行为来改善防御策略。ATT&CK框架对攻击者进行行为分析并形成文档。通过这些文档,安全人员可以更深入地理解不同攻击者的通用行为,并有效映射到自身的防御体系上。此外,ATT&CK框架为安全人员提供了一种通用语言,这有利于不同的组织机构就不同的报告进行交流和沟通,帮助其组织、比较和分析威胁情报。
(2)检测分析。与传统的检测方法不同,基于ATT&CK框架的检测方法并不是通过识别已知恶意行为后进行拦截的,而是通过不同数据源收集在系统上发生事件的日志和事件数据,然后根据这些数据来识别是否为ATT&CK框架中所描述的可疑行为。进程和命令行监视、文件和注册表监视、身份验证日志和数据包抓取是重要的数据源信息。
(3)攻击模拟。ATT&CK框架提供了一个基于威胁情报的通用对抗行为框架,防御者可以使用该框架来模拟威胁,根据已知的威胁情报预知攻击者将采取的动作和行为。这有助于网络防御者提前发现网络在可见性、防御工具和流程方面存在的缺口,并加以修复。
(4)评估改进。安全评估改进建立在前3个场景的基础之上,在安全工程师和架构师设计防御方案时提供可靠参考。安全评估主要包括以下几个方面:评估防御技术是否能够有效应对ATT&CK框架中的攻击技术和攻击者;确定当前优先级最高且急需弥补的防御方向;修改或新增技术以弥补当前缺口。
3.复杂信息系统安全架构
在研究复杂信息系统的特点并融合IPDRR模型的基础上,本书提出针对复杂信息系统安全体系建设的基本架构,如图1-5所示。
复杂信息系统安全体系的生命阶段分为:基础架构阶段、被动防御阶段,积极防御阶段和威胁情报阶段。为保障复杂信息系统的正常运行,在应对高级恶意程序、DDoS攻击、数据窃取、APT攻击、勒索和欺诈、0Day漏洞威胁等复杂信息系统安全威胁时,利用PPDR模型来保护复杂信息系统的物理安全、网络安全、主机安全、应用安全和数据安全,用于满足信息系统安全体系的建设目标,即“进不来”“拿不走”“看不懂”“改不了”“跑不掉”“打不垮”。
复杂信息系统分布地域广,其物理安全主要从外部环境、基础设施、运行硬件、存储介质等方面为信息系统的安全运行提供基本的后台支持和保证。复杂信息系统网络结构复杂,其网络安全主要为信息系统能够在安全的网络环境中运行提供支持,确保网络系统安全运行,提供有效的网络服务。复杂信息系统设备类型繁多,其主机安全要求在物理、网络层面安全的情况下,提供安全的操作系统和安全的数据库管理系统,以实现操作系统和数据库管理系统的安全运行。复杂信息系统应用海量且多样,其应用安全要求在物理、网络、系统等层面安全的支持下,实现用户安全需求所确定的安全目标。复杂信息系统的数据多源异构,其数据安全则重点关注信息系统中存储、传输、处理等过程中数据的安全性。
图1-5 复杂信息系统安全体系建设的基本架构