Page 314 - 《软件学报》2021年第5期
P. 314

1538                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                    他们使用 Soloris 平台的 Sadmind 漏洞的 DDoS 攻击为例,该攻击通过多个步骤实施,包括 IP 扫描、Sadmind
                 ping、Sadmind 攻击、安装 DDoS 软件和实施 DDoS 攻击,每个攻击步骤都可能导致网络安全状态的改变.第 1
                 步,初始网络状态表示为 S 0 (H 1 ,none),这意味着攻击者 Alice 没有主机 H 1 的任何特权;然后,攻击者 Alice 通过开
                 放端口 445 对 H 1 进行了 IP 扫描攻击,并获得了 H 1 的用户特权,此网络状态表示为 S 1 (H 1 ,User);此后,如果防御者
                 Bob 从候选策略集中{重新安装侦听器程序,安装补丁,关闭未使用的端口}中选择并实施了防御策略,则网络状
                 态将被转移回 S 0 ;否则,网络可能会继续发展到另一个更危险的状态 S 3 .
                 3.1.3    基于攻击图的预测方法
                    基于攻击图的预测方法是一种经典的网络攻击预测方法,攻击图模型主要利用图网络的结构表示攻击者
                 以及其攻击手段之间的联系,一般以攻击者或者防御者的身份作为实体或者节点,以攻击行为或手段作为图网
                 络的边,表示“实体”之间的逻辑关系,通常表示为元组 G=(S,r,S 0 ,S s ).其中,S 是一组状态,r⊆S×S 是一个过渡关系,
                 S 0 ⊆S 是一个初始集状态,S s ⊆S 是一组成功状态.初始状态表示攻击开始之前的状态,过渡关系表示攻击者可能
                 采取的行动,通常通过攻击者选择动作的概率来对它们进行加权.如果攻击者采取了所有从初始状态过渡到任
                 何成功状态的操作,则攻击成功,成功状态表示系统受到损害.
                    攻击图一般由手动或自动构建,例如使用数据挖掘来生成攻击图,基础的攻击图示例如图 6 所示.在节点中
                 可以看到构成攻击的可能事件,边缘值表示与端节点关联的事件将发生的概率,边缘值称为可预测性.基于攻击
                 图的预测通过遍历图搜索成功的攻击路径,或基于图中边缘的概率值.假设模型当前处于攻击的特定状态,则将
                 该节点标记为初始状态,从初始状态遍历所有可能的路径,例如使用广度优先搜索,并选择成功导致系统妥协的
                 路径作为可能的攻击路径,权重可用于预测最可能的路径,也可以在每个节点中考虑攻击者的最可能动作.
                                                         attacker
                                                             0.7
                                                          M1
                                        root(1)        Apache{1,1}  root(1)
                                           0.7         root(1)  0.5  0.5
                               M4     0.7    M3     0.5   M2            M3     user(3)  M3
                             bmc{3,4}    Ms-office{2,3}  Postgresql{1,2}  Ms-office{1,3}  0.7  linux{3,3}
                                                                                 root(3)
                                                              user(3)  0.5  user(3)
                                                      root(2)                   0.5
                                                  0.7           0.7     M2
                                           user(3)       0.7        Postgresql{2,3}
                                               0.7                            root(3)
                                                          M3      root(2)  0.7
                                         user(4)
                                       0.7              linux{3,3}  0.7
                                                      root(3)  0.7
                                                          M4
                                                        bmc{3,4}
                                                         0.7  user(4)
                                                          M5
                                                        radius{4,5}

                                                         root(5)
                                                        Goal state
                                   Fig.6    An example of how attack graph predict attack behavior [73]
                                              图 6   攻击图攻击行为预测举例         [73]

                    不同种类的多步攻击需要马尔可夫链来表示每种攻击的状态,通过选择与每个入侵的相似阶段相对应的
   309   310   311   312   313   314   315   316   317   318   319