基于记忆的关键信息基础设施安全检测技术
2019-12-04李娟崔甲施蕾
李娟, 崔甲, 施蕾
(中国信息安全测评中心,北京 100085)
中国互联网络信息中心(CNNIC)第43次《中国互联网络发展状况统计报告》显示,截至2018年12月,我国网民规模为8.29亿,互联网普及率达59.6%. 而Web服务平台凭借其便捷性、可扩展性和成本低廉等优势,在关键信息基础设施的Web应用上得到了快速发展. 因此,在政府、金融、电信、教育、医疗等[1]关键信息基础设施的信息门户和业务平台上,Web应用已经得到了广泛的普及,如电子政务、电子商务等. 调查发现,政府机关与企业单位都已经将业务应用架设在Web平台上.
目前,随着Web2.0、社交网络、微博等一系列基于Web环境的新型互联网产品的广泛应用,与此同时,Web业务的迅速发展也引起了恶意攻击者的强烈关注. 根据Gartner的最新调查显示,信息安全攻击有75%都是发生在Web应用而非网络层面上. 同时,数据也显示,2/3的Web站点都相当脆弱易受攻击[2]. 实际上,绝大多数企业将绝大部分的投资花费在网络和服务器的安全上,没有从真正意义上保障脆弱的Web应用业务,尤其对于国家关键信息基础设施,给攻击者以可乘之机[3].
随着关键信息基础设施互联互通的发展,针对关键信息基础设施的新型应用攻击技术手段层出不穷. 面对如此严峻的网络安全形势,现有检测技术与防护技术针对大量的Web应用攻击,往往显得力不从心.
因此,结合传统的网络入侵检测技术与Web应用防护技术,本文提出了一种基于记忆的安全检测技术,Web入侵检测系统(Web intrusion detection systems,WebIDS). 在新的网络安全形势下,提供对关键信息基础设施的一种更加有效的检测技术.
1 传统安全防护技术分析
1.1 IDS和WebIDS的区别
传统IDS主要面向于网络层,针对发生在Web应用的75%的信息安全攻击,检测效率与检测质量比较低下. WebIDS与传统IDS运用的区域不同, WebIDS专门用于应用层. 其具体区别如下.
① 在检测方式上:传统的基于网络型IDS,根据IDS规则库实时检测单个方向数据包,难以发现碎片化的、持续性的攻击. 其缺点有以检测单向数据包为主;对延迟性较高的应用层会话检测效果不佳,如HTTP会话等.
而新型的基于Web的IDS,一则实时分析应用层中的双向数据包,对于应用层的数据进行影响判定攻击的威胁级别;而且采用关联分析技术,对磁盘阵列中的全流量镜像历史数据做大数据分析,可以对单个数据源进行纵向分析.
② 在规则复杂度上:传统的基于网络型IDS,应用基于特征的上千种规则,规则较简单,匹配速度快;而新型的基于Web的IDS,采用大量复杂的正则表达式规则和多会话关联分析分析算法,规则数量极少,便于匹配.
③ 在攻击比例上:传统的基于网络型IDS,主要基于整个信息安全攻击的25%以下 (针对网络及操作系统);而新型的基于Web的IDS,是面向于整个信息安全攻击的75%以上(针对Web).
1.2 WAF和WebIDS的区别
WAF是传统IPS在Web细分领域的替代品,属于防御型技术范畴,针对海量的Web应用数据,难以达到精确的攻击检测. 而WebIDS是传统的IDS在Web细分领域的替代品,属于检测性技术范畴. 总体区别如下.
① 在部署模式上:WAF主要采用串联方式,容易成为整个链路瓶颈,出现单点故障;而WebIDS采用旁路方式,不会改变网络拓扑结构.
② 在检测方式上:WAF与防火墙类似,以屏蔽端口、屏蔽包含特定的攻击特征字符串的连接为技术目标. 而WebIDS与IDS类似,以识别复杂攻击为技术目标,对各种Web攻击事件按影响范围进行分类统计.
③ 在规则复杂度上:WAF要求数据延迟不能超过0.1 s,因此检测策略很少;而且一般只检测单向数据包,难以缓存持续时间长的复杂的应用层会话;此外,WAF较少使用复杂的检测逻辑及耗费大量性能的正则表达式及语法规则集.
而WebIDS由于采用旁路部署方式,数据分析时间、报警延迟可以超过3 s,甚至10 s,可以设置检测策略更多,并且可缓存几十兆的应用层会话;此外,WebIDS采用多核并发检测技术,可检测双向数据包,不受检测逻辑复杂的影响.
2 基于记忆的安全检测技术
频繁发生的网络安全事件,不仅对广大互联网用户造成财产损失和心理伤害,而且严重危害我国关键信息基础设施健康发展. 在当前的大数据时代,应用攻击特点如下:
① 在大数据时代,可以获得和某现象相关的所有数据,而不只是少量样本;
② 由于掌握非常多的数据,可以处理更多的混杂、不突出的攻击;
③ 利用大数据,不仅可以分析攻击是什么,而且可以预测攻击为什么.
基于记忆的WebIDS检测模型中的记忆主要体现在:基于攻击链的全周期检测技术,把特定攻击针分步骤、分阶段的关联检测;通过对双向数据与历史数据,做大数据的攻击关联检测.
2.1 基于攻击链记忆的WebIDS检测机制
Web应用攻击周期指的是攻击者实现入侵过程的3个阶段. 攻击者对Web应用系统进行攻击时:首先需要通过漏洞扫描等探测手段发现漏洞;再根据漏洞探测结果开展网络攻击;最终获得目标系统控制权限.
基于记忆的WebIDS检测模型由漏洞扫描识别引擎、漏洞触发识别引擎、系统受控识别引擎3个模块组成,用于对应Web应用攻击周期的3个过程.
① 单向分析过程:漏洞扫描识别引擎通过特征匹配、行为匹配等方法,对漏洞扫描行为进行识别,检测到攻击者的扫描行为后,系统将该扫描事件记录到日志中,以供后期攻击行为建模;
② 双向分析过程:漏洞触发识别引擎通过流量异常检测、攻击行为分析、漏洞库特征匹配、攻击特征匹配等方法,判断漏洞是否存在并是否正在被攻击者利用,并将记录攻击者漏洞利用事件;
③ 关联分析过程:系统受控识别引擎通过多会话关联分析、数据泄漏规则、攻击行为建模等方法[5],对系统受控事件进行检测,向安全管理人员发送紧急报警信息.
2.2 基于大数据分析记忆的WebIDS检测原理
① 基于旁路监听及全流量镜像技术.
基于记忆的WebIDS检测模型利用旁路监听及全流量镜像技术,即可实时获取并保存所有HTTP请求及响应的数据包,供攻击检测模块进行应用攻击的分析处理.
② 采用全流量数据压缩技术.
基于记忆的WebIDS检测模型采用了网站增量去重和差异压缩备份算法,可保存长时间的完整的Web双向数据. 当发现攻击行为时,不仅可以进行攻击回溯,还可以利用自定义检测策略对历史数据重新检测及筛选.
③ 攻击行为判定算法.
据调查,传统的IDS存在大量的误报日志,导致管理员对攻击预警麻木懈怠,当遇到真正的攻击威胁时,常常不能第一时间着手解决问题.
基于记忆的WebIDS检测模型采用了攻击影响判定技术,对各种Web攻击事件按影响范围进行了分类统计[6]. 通过对HTTP请求的分析,将其中可疑的攻击行为记入可疑攻击事件(提示级别). 通过对HTTP会话双向数据流的追踪和分析,将确认Web攻击成功的攻击行为记入确认攻击事件(高危级别). 系统可以灵活配置报警级别及频次. 对于确认攻击日志,可做到实时报警,使得报警准确率超过90%.
2.3 基于记忆的WebIDS检测技术实验模型
① 模型编程应用框架.
基于记忆的WebIDS检测模型在检测过程中,实时的检测数据,及时发现攻击,是一个流(streaming)计算过程. 使用kafka作为消息总线,Storm进行实时计算,Hadoop存储数据和批量计算. 考虑到学习成本,使用Spark作为统一的数据处理引擎,既可以实现批处理,也可以使用spark streaming实现近实时的计算.
② 模型检测实践.
基于记忆的WebIDS检测模型,在攻击路径上不同层面的数据来建立联系[7-8]. 可以采用很简单的二步验证,如一个Http层出现的SQLi payload,相同的payload同时出现在SQL层的异常,即形成一个确认的SQLi攻击;同理,一个Http层的异常相同的payload出现在了命令日志层面的异常中,即形成一个确认的RCE(远程命令执行).
3 结束语
基于记忆的关键信息基础设施安全检测技术,结合基于旁路监听及全流量镜像技术、采用全流量数据压缩技术、攻击行为判定算法与多种编码还原与抗混淆技术,通过漏洞扫描识别引擎、漏洞触发识别引擎、系统受控识别引擎3个模块组成,用于对应Web应用攻击周期的3个过程. 可以对Web数据进行双向分析即时数据及历史数据,检测各种碎片化、持续性的攻击手段,提高系统的检出率和准确度,从而快速发现和定位潜伏的安全威胁;能在黑客利用攻击时,同步感知各种漏洞;提供威胁可视化展示,实时了解和掌握网络风险状况.