郭 健,沈 杰
(中国移动通信集团山西有限公司 太原030000)
安全审计是一种根据一定的安全策略记录,分析历史操作事件及数据,及时发现系统中存在的违规操作和安全漏洞的信息安全保护技术。电信运营商业务支撑系统的安全审计平台通过采集、记录、管理、分析用户对业务支撑系统高敏感度(非常重要和重要)数据的关键操作,对人员的登录过程、关键操作等行为进行审计和分析,最终建立并完善针对“自然人→资源”访问过程的完整审计管理,实现安全事件实时告警和安全事故责任追踪。
在业务支撑系统中,安全审计系统通过有效的审计分析手段和方法,检查、发现并预警各种异常和违规行为。在信息安全领域审计系统中,关联是指将系统中所有的事件,按照相关性综合到一起进行观察;分析是核心功能和关键技术。关联分析是指对网络或系统全局的安全事件数据进行自动、连续分析,通过特征对业务场景操作流的上下文进行关联,根据用户定义的、可配置的规则识别具有威胁、复杂的攻击模式,从而确定安全事件的真实性,对事件进行分级并对事件进行有效响应。关联分析是与实际业务操作贴合紧密并且具有一定智能程度的分析手段,可以用来提高安全审计的可靠性、效率以及可视化程度,并为安全管理和应急响应提供技术手段。如违规创建账号后,利用该账号执行业务操作的行为;又如将用户敏感数据导出为主机文件后,对该文件的下载行为等。
在关联分析中,关注的日志范围涉及业务日志的各个层面。山西省审计软件上线后,每天产生的日志量多达2 GB,在这数量庞大的日志中进行关联分析变得非常困难。
(1)分析性能很难有效保证
一次简单的关联就需要对海量日志中的每一条进行交叉遍历,不仅分析耗时长,对系统资源占用大,而且容易出错。
(2)分析策略很难制定
业务是不断发展的,分析的策略也需要不断改变,但审计管理员很难对每个系统的业务流程都足够熟悉,这增加了审计落地的难度。需要研究一种智能关联分析技术解决以上问题。
在实际使用审计系统过程中发现,违规操作和异常行为只占海量日志中的很小部分。通过对这类小概率事件进行深入挖掘,回溯此类事件的产生场景、操作过程和特征,建立知识库,形成系统自学习的智能分析体系。
小概率模型基于如下假设:合法的日常操作是多数的,非法的操作是少数的,某种操作行为的数量非常少,以至于低于某个阈值时,就有可能是非法的。所以小概率分析模型可以找出数量低于特定阈值的操作行为。
在如上假设的基础上,先统计过去发生的操作记录的执行次数。操作记录由操作(operation)、参数(option)、对象(object)三者组合而成,简称3O。每次操作就是operation与option和/或object的任意组合,即把统计结果与事先给定的违规阈值(illegal threshold)进行比较,如果发生次数小于等于该阈值,则认为该操作记录是一条疑似违规记录,把这条疑似违规操作放入疑似违规操作表sus_violation_record中,这个阶段称为“查找”。
得到“疑似违规操作记录库”后,用每个操作对应的session ID(一次会话的唯一标识)回溯在此操作之前所有相关的操作集合,如所在session里所有的操作记录、user在这给定时间段内的操作记录、所在IP主机的操作记录等。这样就得到了若干疑似违规操作流,这个阶段称为“回溯”。
得到疑似违规操作流后,对于不在违规操作库中的记录,需要由安全专家确认是否为真正的违规操作。如果是,则保存到违规操作表violation_record中;如果不是,则丢弃。这个阶段称为“确认”。
如果疑似违规操作已在表violation_record中,则自动增加其发生次数;对于不在表violation_record中的记录,用户确认的添加到表中,没确认的丢弃,这个过程称为“修改”。
小概率分析模型的执行过程由查找、回溯、确认、修改4个阶段组成。
小概率分析是软件系统的一种自学习行为,需要用户事先设定关联分析策略及违规阈值和回溯时间范围,在知识库建立的初始阶段需要管理员参与完成分析和知识积累。小概率分析服务程序分为4个子模块:统计、回溯、确认、监控。
(1)统计
统计指定的时间段内日志中所有操作发生的次数,并从小到大进行排序,然后根据管理员指定的关联分析策略中的阈值筛选出疑似违规操作,最后将疑似违规操作的具体信息保存到疑似违规数据表中。
(2)回溯
得到疑似违规操作库后,由管理员判断是否需要进行回溯。根据该疑似违规操作对应的时间、用户名等字段进行回溯,回溯结束后得到若干个违规操作流。如假设违规阈值是3,操作create user(创建用户)的发生次数是2,则create user操作为疑似违规操作,用户对该操作进行回溯得到两个操作流,然后进入操作流确认模块。
(3)确认
确认工作需要经验丰富的业务系统管理员参与完成,管理员根据经验判断操作流是否为违规的操作过程。确认结束后得到两类操作流:一类是违规操作流,另一类是安全操作流。在确认过程中,完整的操作流有可能会很长,特别是设定的回溯时间段比较长时,需要对日志流进行归并处理,或者过滤掉安全的操作,如‘cd./’和‘ls’,再展现给用户进行确认,从而减少了用户参与的难度,提高了操作流的质量。
(4)监控
使用违规操作流对用户的操作过程进行监控,用违规操作库中的操作流对用户的操作过程进行实时匹配。匹配程度比较高便认为用户正在进行危险的操作,生成相关的告警信息。
小概率分析模型的实现步骤分为4个阶段:查找、回溯、确认、修改。下面就第一次运行和例行运行两种情况通过“以脚本方式导出DB2数据库表到主机文件”为例,介绍小概率分析模型的设计过程。
(1)第一次查找
分析审计数据库中的所有操作记录,首先从表中取出一条记录详情(3O),对3O进行预处理(去掉operation、option、object三者之间多余的空格),用表map保存统计结果,用3O做这条记录的主键,记录发生次数,并在表operation_session中记录主键及每一次的执行所在的user_session_ID。对于不存在的主键,添加到表map中,并将发生次数置1,并在表operation_session中记录主键及每一次执行所在的user_session_ID。得到所有操作记录的统计结果后,发生次数小于阈值的操作被认为是疑似违规操作,把这些疑似违规操作放入表violation_record中。
为了避免查找过程的发生日期重叠,需要记录下本次查找所跨越的时间范围。因为操作日志表名一般以日期命名,查找结束后,将查找的第一个与最后一个表的表名作为起始时间戳和结束时间戳,以此来标识该次查找跨越的时间范围,下一次查找只能从上次查找结束时间戳的下一个表开始查找。
统计得到疑似违规操作表后,循环遍历所有操作记录进行回溯。
(2)例行性查找
系统例行每天查找一次,即当天查找昨天的日志记录,称为例行查找。例行查找过程中对操作记录进行统计,方法与系统第一次运行时统计过程一样,唯一不同之处是过滤疑似违规操作时参考例行查找阈值。利用例行查找阈值过滤得到疑似违规操作表,紧接着对疑似违规操作表进行回溯。
遍历疑似违规操作表,读取一条疑似违规操作A,取得与记录A对应的所有user_session_ID;因为统计的是一段时间内的操作,重复操作每一次执行时对应的user_session_ID不同,为方便回溯,记录下每次执行时记录A所在的user_session_ID;对每一个user_session_ID做一次回溯。如对于A_session_ID_1,查找到与A_session_ID_1对应的相关信息(如user name、IP、date and time),利用这些相关的信息进行回溯。
回溯原则如下所述。
(1)第一次回溯
在查找阶段所对应的操作记录中进行回溯,分析A_session_ID_1的所有操作,寻找该用户在A之前(包含记录A)所有的操作。
(2)例行性回溯
在例行查找所对应的操作记录内,回溯A_session_ID_1对应的user,分析该用户在A之前(包含A)执行的所有操作。
重复回溯完记录A对应的所有user_session_ID后,记录A回溯结束,可以得到一个记录所对应的若干个操作流。接着遍历回溯下一条记录B。回溯遍历结束后,便得到了疑似违规操作流。将所有的疑似违规操作流保存到表T_NEED_CONFIRED_****_**_**中,供管理员做进一步确认。
第一次确认和例行性确认的过程相同,都是逐行分析表T_NEED_CONFIRED_****_**_**。例如,需要管理员确认的操作流见表1。
表1 需要管理员确认的操作流
疑似违规操作经确认后成为违规操作,进入表violation_record中。表violation_record中的操作经确认为非违规操作,则从表violation_record中剔出。
安全审计系统小概率分析模型技术具有以下特点。
·不仅提高了关联分析的准确性,而且审计分析的内容与山西省实际业务紧密贴合。
·建立了智能的自学习系统和完善的知识库,审计管理员不需要进行大量的策略配置工作,也不需要对每一个业务都非常熟悉。
·提高了审计系统关联分析的效率,使审计工作实时化、常态化。
安全审计系统小概率分析模型上线使用一段时间后,初步建立了分析知识库,审计管理员配置策略的工作强度大大降低,系统能自动进行常用的关联分析,包括只查询不办理、金库场景等,审计内容与日常业务生产贴合更紧密。
例如,针对只查询不办理场景,能够深入分析、核实、查证各种异常与违规操作的行为。包括应用资源的客户资源查询、业务关键操作等,包括缴费(充值)管理、异地缴费业务、开/过户、订购变更、营业停/复机、积分兑换、补/换卡等内容。审计工作不完全依赖于CRM管理员,审计管理员也可以通过审计系统对相关业务操作进行直观的管理,比如,对于一手机号在非正常工作时间进行业务查询后,第二天又进行了补/换卡操作,审计系统在30 min内就能产生告警信息,并且告警信息准确不需要经过CRM管理员和审计管理员反复确认,也不会对审计系统的性能造成太大影响。而在此功能没有上线前,因为需要审计的操作数据量很大,在审计中发现违规操作十分困难;同时,审计系统需要定期执行计划任务,核查时间依赖于任务的触发周期,实时性很难保证。
总之,应用小概率分析模型技术极大地提高了安全审计系统的智能关联分析功能,有利于安全事件的实时告警和安全事故的责任追踪,提高了IT安全管理水平和效率。
1 中国移动通信集团公司.中国移动业务支撑网4A安全技术规范2.0,2010
2 中国移动通信集团公司.中国移动业务支撑网数据安全管理办法,2011
3 刘必雄,杨泽明,吴焕等.基于集群的多源日志综合审计系统.计算机应用,2008,28(2)
4 邓小榕,陈龙,王国胤.安全审计数据的综合审计分析方法.重庆邮电学院学报(自然科学版),2005,17(5)
5 韩正平,蔡凤娟,许榕生.网络安全信息关联分析技术研究与应用.计算机应用研究,2006(10)