一种基于BF-DT-CUSUM算法的电网工控系统DDoS攻击检测方法
2015-05-28费稼轩张涛马媛媛周诚
费稼轩,张涛,马媛媛,周诚
(国网智能电网研究院,江苏 南京 210003)
1 引言
智能电网[1]通过采用双向流动的电力与通信网络,将传感、嵌入式处理、数字通信等信息网络技术应用到电力系统, 支持电流和信息在网内所有用户和节点间双向流动,使得智能电网工控系统的各个部分连接在一起,并进行自动可靠的电力传输与控制,显著提升了电力系统的可观性、可控性、顽健性与自愈性[2]。 智能电网工控系统安全是智能电网建设中必须要解决的关键问题,目前电网安全主要在于电网基础设施安全和网络安全。网络安全是智能电网工控系统要解决的重中之重, 由于网络的异构性、复杂性以及大规模化使得安全问题变得更加有挑战性[3,4]。先进基础设备,量测设备的引进可以使得电网更加稳定但同时也会引入更多的网络安全风险。
通信网络安全在智能电网工控系统建设中显得更加突出,在信息时代网络通信安全本来就非常严重,在信息通信网中存在的安全风险与隐私问题也同样存在于智能电网工控系统通信网络中。 例如伊朗Bushire(布什尔)核电站的控制系统曾在2010 年9 月遭到非法攻击者发起Stuxnet(震网)蠕虫病毒攻击[5],引发严重后果及不良影响,大大延迟了伊朗的核进程。这些安全威胁引发了人们对智能电网工控系统安全的恐慌和思考,如何检测各种针对智能电网工控系统的攻击行为,已经成为智能电网工控系统安全、稳定运行急需解决的问题[6,7]。
信息网络中的各种漏洞和脆弱性使得攻击者可以有更多的途径入侵电力网络系统,如拒绝服务攻击、数据窃听、信息泄露、非法注入控制命令等,给攻击者提供了渗透电力信息网络甚至危害物理系统的更多途径和可能。分布式拒绝服务(distributed denial of service,DDoS)攻击[8]是一种基于拒绝服务(denial of service,DoS)的特殊式拒绝服务攻击,是一种分布、协作的大规模攻击方式。DoS 攻击只要一台计算机就能实现,而DDoS 攻击是利用一批受控制的计算机发起攻击。DDoS 攻击的攻击者不需要直接对目标进行攻击,只需要控制大量的僵尸主机,就可以很容易地从不同站点并发地发起攻击,攻击来势迅猛,令人难以防备,因此,DDoS 攻击对于智能电网工控系统具有很大的破坏性。
本文希望通过研究智能电网工控系统安全体系结构,分析信息网络中的各种漏洞和脆弱性引发的侵入攻击,着重针对存在于智能电网工控系统中的DDoS 攻击,提出一种智能电网工控系统中的DDoS 侵入攻击检测方法,提高对侵入攻击的检测准确性和精度。
2 相关工作
针对智能电网工控系统面临的安全威胁, 许多研究者和机构提出不同的网络安全方法来进行安全监测与监控。入侵检测系统(intrusion detection system,IDS)和流量分析技术[9]是目前应用最广泛的信息网络攻击检测方法之一,通过监视和分析网络流量以检测出带有异常行为的数据分组和用户。 Cisco 公司在《智能电网安全白皮书》[10]中提出了通过对智能电网中网络流量和设备状态进行实时监测和融合分析,保证数据传输和处理、设备调度和控制、业务运行的安全性。Liang 等人[11]提出了电力二次系统安全防护的DDoS 攻击原理及防御技术,结合DDoS 攻击的特点,分析了安全防护系统中可能受到DDoS 攻击的风险, 最后对电力二次系统安全防护体系中的DDoS 攻击防御技术进行了探讨, 但该方法在遭受入侵攻击过程中,不能实时过滤攻击流量。
为了检测威胁数据入侵,Sun 等人[11]提出将信息网络的报警事件和电力系统的错误数据关联,以检测入侵和攻击行为,Huang 等人[12]提出了一种基于CUSUM(cumulative sum)的最小检测时延的防御方法,Liu 和Wang 等人[13,14]将分布式状态估计应用到了威胁数据检测方面以提高检测精度并降低计算量。 然而,攻击者可以利用系统对误差的容错裕量, 设计特殊的攻击从而逃避系统的检测。 Liu 和Kosut 等人[15,16]通过分析电力系统的状态估计,发现如果按照一定策略同时修改多个节点的数据, 可以使得电网SCADA(supervisory control and data acquisition)系统的状态估计结果保持平衡,躲避故障检测。 然而随着攻击手段的不断增多,电网攻击可能产生的影响也越来越大,这些安全方法难以对威胁的严重性进行准确估计,并且由于缺少对控制命令物理意义的理解,无法检测格式正确但数据被篡改的通信。 此外,高误报率也是部分信息安全检测技术的一个大问题,这也导致很难确定和定位攻击事件。
根据上面的分析,本文提出了一种基于BloomFilter 地址统计的动态阈值更新的改进型CUSUM(BF-DT-CUSUM)DDoS 异常流量识别算法, 以检测智能电网工控系统的入侵攻击事件。 在数据采集阶段中,利用基于BloomFilter 的路由转发地址映射统计方案收集电网流量数据和更新存储的历史数据, 在数据聚集判定阶段, 利用改进EWMA(exponent weighted moving average) 动态阈值更新算法计算阈值并判定目标地址是否遭到攻击, 利用改进型CUSUM 算法检测DDoS 攻击入侵。 该方法能够提高攻击检测的准确性及在线检测速度,降低运算开销。
3 基于BloomFilter 地址统计的动态阈值更新的改进型CUSUM(BF-DT-CUSUM)DDoS入侵攻击检测算法
3.1 CUSUM 算法描述
CUSUM 算法在异常监控领域得到广泛的使用, 其作用是检测一个统计过程均值的变化,主要基于随机序列的概率分布会伴随变化发生这一统计学事实。该算法的核心数学形式化描述如下:
令 x1,x2,…,xt为独立的 N(0,1)分布,xt+1,xt+2,…为独立的N(δ,1)分布,其中 t 为未知变点,对于给定的 x1,x2,…,xn,设t=v(v 其中,Φ 代表标准正态分布的分布密度函数。 假设变量x1,x2,…,xt与xt+1,xt+2,…有偏移,那么其对数似然统计量满足: 假设检测时发生向上偏移(δ>0),则Λn等价于: 定义1 设n-1 个观测值未发生均值偏移并给定门限阈值 h(即 Zi≤h,i=1,2,…,n-1), 如果在时段 n 满足,或 xn+xn-1-δ>h,或或这共计n 种情况的任意一种,则认定这个过程发生了均值偏移。 此为CUSUM 算法的主要数学表述,在实际检测中设定报警门限阈值h, 在第n 个观察点发现首次出现Zn≥h,则认为在过程n 以前的统计量发生了均值偏移并进行报警。 在IPv4 地址体系中,IP 地址被分为4 段,每段的值可取十进制的 1 到 255。 依照 BloomFilter 算法设置一个由4 个独立散列函数组成的4×256 表结构来跟踪时间段t 内通过路由器到达不同目的地址的IP 包数。 当一个IP 包进入路由器后,其目的地址被4 个独立的散列函数(针对IP地址的4 段分别映射)分别映射到各自不同的256 个域中的某一个(对每一段的值进行映射),此时保存在被映射域(共4 个,每个散列函数对应一个)中的变量ai,j(1≤i≤256,1≤j≤4)加 1。 其映射方法如图 1 所示。 图1 基于BloomFilter 的地址映射统计示意 传统 EWMA(exponentially weighted moving average,指数加权移动平均) 算法是常用统计阈值生成方法之一,该算法从全期平均和移动平均方法发展而来,其特点在于对先前得到的流量值赋予不同的权值,依照权值对新的阈值加以计算,在n 时段结束后,其基本阈值计算式如下: 其中,hn表示第n+1 时段检测时所使用的预测阈值,xn表示n 时段收集到的对象值,β 为数据更新系数 (一般取值 0.01~0.03),随着 n 的增大,先前的 x 对 h 的影响会逐步减小。该方案在统计对象长时间处于较低数值状态下所计算的阈值较小,猝发性的网络特点导致某个统计值的突发性变大会导致由于低阈值而产生误报。 本文设计的方案在传统EWMA 算法上新增可以选择一个自然数m, 记录预测阈值之前的m 次实际数据采集值,求出其标准差作为新阈值的调整项,最终该标准项取值的正负取决于如下思路:假设数据变化存在惯性,即当计算第n 次阈值时,会检测第n-1 次和第n-2 次收集到的实际数据值,若第n-1 次的流量大于第n-2 次的流量则调整项取正,反之取负。 如果n 为了保存计算出的阈值,需要一个与收集流量数据形式相同的4×256 表结构用于存储。 每次计算出新的阈值后,新的数据将覆盖先前保存的阈值信息。 考虑到CUSUM 算法的检测步骤需求, 发现均值偏移时,该xn+1作为非法数值,将不参与后续阈值更新。 此时δn表示某个 IP 地址转发数据量均值,α 取值范围是0.01~0.03,用于调整不同网络环境下的识别参数。 为了完成攻击识别,给出如下定义。 定义2 在本文设计的DDoS 攻击识别模型中, 在检测时段t-1,如果满足: 而在检测时段t,发生: 则认为时间段t 中发生DDoS 异常攻击, 其中ht-2、ht-1为利用第2.3 节中给出的方法计算的流量阈值,λ 为门限调整倍数,其取值范围为10≤λ≤20。 本系统部署于路由器,系统主要分为2 个模块,其一为数据采集模块,主要利用BloomFilter 算法收集流量数据和更新存储的历史数据; 另一个模块为数据聚集判定模块,利用改进EWMA 算法计算阈值并利用改进CUSUM 算法判定目标地址是否遭到攻击。 其关键步骤包括: 步骤 1 分配存储历史数据 x 的 m 个 BloomFilter 散列表; 生活如同巨大的幻术。明知如此,步步还需艰难持重,全神贯注。我们渴望做一场离经叛道的嬉戏,如履薄冰,如蹈高空,并且最终不知所踪。爱是和真相共存的幻术。随时老去,随时死去。即便如此,为探寻和得到爱,为获得生命的真实性所付出的代价,依旧是这个幻术中最令人迷醉和感动的核心。 步骤2 分配存储上一次报警阈值hn-1的BloomFilter散列表; 步骤3 分配存储当前报警阈值hn的BloomFilter 散列表; 步骤4 分配记录当前时段检测流量的BloomFilter散列表。 每当检测时段结束,攻击检测的关键步骤包括: 步骤 1 利用式(9)~式(12)计算识别参数 δn,Zn,Sn,Yn; 步骤2 比较Yn及如果满足式(14)则认为发生DDoS 攻击,并跳过步骤3、步骤4; 步骤3 利用当前数据xn替代历史数据散列表最旧的数据xn-m+1,如果n 步骤 4 基于 n 和m 的大小关系利用式(7)或式(8)计算新的报警阈值并更新上一次报警阈值散列表和当前报警阈值散列表; 步骤5 进入下一个检测周期。 攻击检测的主要流程如图2 所示。 本文设定的系统在电力系统内部仿真环境进行了仿真, 这里采用多台傀儡机实现大规模TFN-DDoS 攻击,并在路由端记录每一分钟内转发的数据分组数量(每秒完成一次检测周期),其结果如图3、图4 所示。 图2 基于BF-DT-CUSUM 算法的DDoS 攻击检测示意 图3 日志记录转发数据分组与拦截情况示意 低强度 DDoS 攻击(如图 3(a)所示)中,平均总数据分组在 700 左右,预设攻击数据分组为 660 个,每次约有650 个数据分组被拦截,而发生大规模 DDoS 攻击(如图 3(b)所示)时,每秒有 1 万个攻击的数据分组被接收(另有4 000 个正常数据分组),这些数据分组全部被丢弃。 图4 给出了在图3(b)条件下的开始DDoS 攻击1 min内总的接收/发送数据分组示意(攻击于第25 s 开始),可见在起始攻击阶段,识别算法未发现存在攻击,总接收数据分组数量与转发数量一致, 而到约28 s 识别算法发现存在DDoS 攻击,并在30 s 开始拦截数据分组,从而导致DDoS 攻击被有效防御。 针对智能电网工控系统中的入侵攻击检测问题,本文提出了一种基于BloomFilter 地址统计的动态阈值更新的改进型CUSUM(BF-DT-CUSUM)DDoS 异常流量识别算法。通过分析智能电网工控系统安全体系结构,结合电网流量特性与DDoS 攻击特征, 提出了一种基于BloomFilter算法和 CUSUM 算法的动态阈值 DDoS 被攻击地址检测模型,和一种存在上限并包含调整项和缓冲流量项的改进型EWMA 动态阈值生成算法,该方法中调整区间长度因子大小可变, 该调整项正负性由流量变化惯性决定。仿真实验表明该算法能够提高入侵攻击检测的准确性以及在线检测速度,并降低运算开销,该算法可以作为嵌入式模块,安装在核心路由器中,提高电力网络的总体性能。 图4 高强度DDoS 攻击起始1 min 内数据分组转发情况示意 [1]FANG X, MISRA S, XUE G L, et al. Smart grid-the new and improved power grid: a survey [J]. IEEE Communications Surveys & Tutorials, 2012, 14(4): 944-980. [2]WANG W Y, LU Z. Cyber security in the smart grid: survey and challenges [J]. Computer Networks, 2013, 57 (5):1344-1371. [3]METKE A R, EKL R L. Security technology for smart grid networks [J]. IEEE Transactions on Smart Grid, 2010, V1(1):99-107. [4]LINE M B, TONDEL I A, JAATUN M G. Cyber security challenges in smart grids [C]// The 2nd IEEE PES International Conference and Exhibition on Innovative Smart Grid Technologies (ISGT Europe), December 5-7, 2011, Manchester,United Kingdom. New Jersey: IEEE Press, 2011: 1-8. [5]FALLIERE N, MURCHU L O, CHIEN E. W32stuxnet dossier[R]. 2011. [6]CHEN T M. Stuxnet, the real start of cyber warfare? [J]. IEEE Network, 2010, 24(6): 2-3. [7]LU Z, LU X, WANG W, et al. Review and evaluation of security threats on the communication networks in the smart grid [C]// The 2010 Military Communications Conference(MILCOM 2010), October 31-November 3, 2010, San Jose,USA. [S.l.: s.n.], 2010: 1830-1835. [8]DOULIGERIS C, MITROKOSTA A. DDoS attacks and defense mechanisms: classification and state-of-the-art [J]. Computer Networks, 2004, (44): 643-666. [9]VALDES A, CHEUNG S. Intrusion monitoring in process control systems [C]// The 42nd Hawaii International Conference on System Sciences(HICSS’09), January 5-8, 2009, Hawaii,USA. Washington: IEEE Computer Society, 2009: 1-7. [10]Systems C. Security for the smart grid [R]. San Jose: Cisco,2009. [11]LIANG Z Q, FAN Y. Principles and defense techniques of DDoS attacks in electricity auxiliray system security protection[J]. Computer Security, 2010(9): 70-72. [12]SUN Y A, GUAN X H, LIU T, et al. A cyber-physical monitoring system for attack detection in smart grid [C]// IEEE INFOCOM 2013, April 26-May 1, 2013, Hong Kong, China.Washington: IEEE Computer Society, 2013. [13]YI H, EEMALIFALAK M, NGUYEN H, et al. Bad data injection in smart grid: attack and defense mechanisms [J].IEEE Communications Magazine, 2013, 51(1): 27-33. [14]LIU T, YUN G, DAI W, et al. A novel method to detect bad data injection attack in smart grid [C]// The 2013 IEEE Conference on Computer Communications Workshops(INFOCOM WKSHPS), April 14-19, 2013, Turin, Italy.Washington: IEEE Computer Society, 2013: 49-54. [15]WANG D, GUAN X H, LIU T, et al. Extended distributed state estimation: a detection method against tolerable false data injection attacks in smart grids [J]. Energies, 2014, 7(3):1517-1538. [16]KOSUT O, JIA L Y, THOMAS R J, et al. Malicious data attacks on the smart grid [J]. IEEE Transactions on Smart Grid,2011, 2(4): 645-658. [17]LIU Y, NINE P, REITER M K. False data injection attacks against state estimation in electric power grids [J]. ACM Transactions on Information and System Security, 2011, 14(1):1301-1333.3.2 基于BloomFilter 的路由转发地址映射统计方案
3.3 改进型EWMA 动态阈值更新算法
3.4 基于改进型CUSUM 的DDoS 攻击识别算法
4 系统实现与系统测试
4.1 系统实现环境与步骤
4.2 系统测试
5 结束语