网络安全中的欺骗攻击与防御技术

news2024/12/25 9:23:55

在Internet上计算机之间相互进行的交流建立在两个前提之下:认证、信任。

认证是网络上的计算机用于相互间进行识别的一种鉴别过程,经过认证的过程,获准相互交流的计算机之间就会建立起相互信任的关系。信任和认证具有逆反关系,即如果计算机之间存在高度的信任关系,则交流时就不会要求严格的认证。而反之,如果计算机之间没有很好的信任关系,则会进行严格的认证。

欺骗实质上就是一种冒充身份通过认证骗取信任的攻击方式。攻击者针对认证机制的缺陷,将自己伪装成可信任方,从而与受害者进行交流,最终攫取信息或是展开进一步攻击。

本文介绍一下比较流行的4种欺骗攻击:IP欺骗、ARP欺骗、DNS欺骗、Web欺骗。

IP欺骗

最基本的IP欺骗有3种:简单的IP地址变化、源路由攻击、利用Unix系统的信任关系。这三种IP欺骗技术都是早期使用的,原理比较简单,因此效果也十分有限。

本文主要讲一下IP欺骗的高级应用:TCP会话劫持

会话劫持就是接管一个现存动态会话的过程,换句话说,攻击者通过会话劫持可以替代原来的合法用户,同时能够监视并掌握会话内容。此时,攻击者可以对受害者的回复进行记录,并在接下来的时间里对其进行响应,展开进一步的欺骗和攻击。会话劫持结合了嗅探及欺骗技术。

在一般的欺骗攻击中攻击者并不是积极主动地使一个用户下线来实现他针对受害目标的攻击,而是仅仅装作是合法用户。此时,被冒充的用户可能并不在线上,而且它在整个攻击中不扮演任何角色,因此攻击者不会对它发动进攻。但是在会话劫持中,为了接管整个会话过程,攻击者需要积极攻击使被冒充用户下线。

这里补充一下知识点:TCP的序列号机制。简单地说,序列号用来说明接收方下一步将要接收的数据包的顺序。也就是说,序列号设置了数据包放入数据流的顺序,接收方就可以利用序列号告诉发送方哪些数据包已经收到,哪些数据包还未收到,于是发送方就能够依此重发丢失的数据包。

数据传输过程中序列号和应答号之间的关系是:第二个数据包(B->A)的SEQ = 第一个数据包(A-> B)的ACK;第二个数据包(B->A)的ACK = 第一个数据包(A-> B)的SEQ +第一个数据包(A-> B)的传输数据长度。

因此序列号和应答号是完全有可能预测的,只需要获取最近的会话数据包,就可以猜测下一次通话中的SEQ和ACK。这一局面是TCP协议固有缺陷造成的,由此带来的安全威胁也是无法回避的。

TCP会话劫持的过程:

step1:发现攻击目标

首先,通常攻击者希望这个目标是一个准予TCP会话连接(例如Telnet和FTP等)的服务器。其次,能否检测数据流也是一个比较重要的问题,因为在攻击的时候需要猜测序列号。这就需要嗅探之前通信的数据包,对于交换网络环境,可能还需要使用ARP欺骗(后文会讲)。

step2:寻找动态会话

与大多数攻击不同,会话劫持攻击适合在网络流通量达到高峰时才会发生的首先,他有很多供选择的会话;其次,网络流通量越大则被发现的可能就越小。如果只有一个用户进行连接并数次掉线,那么就很有可能引起那个用户的怀疑。但是,如果网络流通量很大并且有很多的用户进行连接,那么用户们很有可能忽略掉线后面隐藏的问题,也许只是认为这是由于网络流通过大而引起的。

step3:猜测序列号

TCP区分正确数据包和错误数据包仅通过它们的SEQ/ACK序列号。序列号却是随着时间的变化而改变的。因此,攻击者必须成功猜测出序列号。通过嗅探或者ARP欺骗,先发现目标机正在使用的序列号,再根据序列号机制,可以猜测出下一对SEQ/ACK序列号。

同时,攻击者若以某种方法扰乱客户主机的SEQ/ACK,服务器将不再相信客户主机正确的数据包,从而可以伪装为客户主机,使用正确的SEQ/ACK序列号,现在攻击主机就可以与服务器进行连接,这样就可以劫持一个会话连接。

step4:使客户主机下线

攻击者获得了序列号后,为了彻底接管这个会话,他就必须使客户主机下线。使客户主机下线最简单的方式就是对其进行拒绝服务攻击,从而使其不再继续响应。服务器会继续发送响应给客户主机,但是因为攻击者已经掌握了客户主机,所以该机器就不再继续响应。

step5:接管会话

既然攻击者已经获得了他所需要的一切信息,那么他就可以持续向服务器发送数据包并且接管整个会话了。在会话劫持攻击中,攻击者通常会发送数据包在受害服务器上建立一个账户,甚至留下某些后门。通过这种方式,攻击者就可以在任何时候轻松进入系统了。

TCP会话劫持的危害:就其实现原理而言,任何使用Internet进行通信的主机都有可能受到这种攻击。 会话劫持在理论上是非常复杂的, 但是利用简单适用的会话劫持攻击软件,技术门槛的降低导致了很多“少年攻击者”的诞生。

IP地址欺骗的防御:

  • 防范地址变化欺骗:1 限制用户修改网络配置;2 进行入口过滤,不允许任何从外面进入网络的数据包使用单位的内部网络地址作为源地址;3 进行出口过滤,离开本单位的任何合法数据包须有一个源地址,并且它的网络部分与本单位的内部网络相匹配。
  • 防范源路由欺骗:设置路由器禁止使用源路由
  • 防范信任关系欺骗:不使用信任关系或不允许通过外部网络使用信任关系
  • 防范会话劫持攻击:1 进行加密,如果攻击者不能读取传输数据,那么进行会话劫持攻击也是十分困难的;2 使用安全协议,像SSH(Secure Shell)这样的协议或是安全的Telnet都可以使系统免受会话劫持攻击;3 限制保护措施,允许从网络上传输到用户单位内部网络的信息越少,那么用户将会越安全,这是个最小化会话劫持攻击的方法。

ARP欺骗

首先说背景知识,ARP(Address Resolution Protocol):地址解析协议,用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826]。属于网络层的协议。

在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。

ARP协议有两种数据包,一种是ARP请求包,一种是ARP应答包。ARP请求包通过发送一个目的IP来获取该IP对应的MAC地址,ARP应答包是对应IP收到请求包后把自己的MAC地址发送给需求者。同时,每台主机、网关都有一个ARP缓存表,ARP缓存表用于存储其它主机或网关的IP地址与MAC地址的对应关系。

ARP欺骗攻击就是利用ARP协议本身的缺陷进行的一种非法攻击,目的是为了在全交换环境下实现数据监听。当主机收到一个ARP应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。ARP欺骗正是利用了这一点。

如上图所示,主机A和网关C在正常通信,此时主机B想进行ARP欺骗攻击,它首先给主机A发送ARP reply数据包,说C的IP对应的MAC地址是自己的MAC地址,这样A想发给C的数据包就会发给自己;同样,给网关C发送ARP reply数据包,说A的IP对应的MAC地址是自己的MAC地址,这样C回复给A的数据包也会发给自己。这样主机B就成为了A和C之间的中间人,通过ARP欺骗实现了中间人攻击。

ARP欺骗攻击在局域网内非常奏效,其危害有:致使同网段的其他用户无法正常上网(频繁断网或者网速慢);使用ARP欺骗可以嗅探到交换式局域网内所有数据包,从而得到敏感信息;ARP欺骗攻击可以对信息进行篡改,例如,可以在你访问的所有网页中加入广告;利用ARP欺骗攻击可以控制局域网内任何主机,起到“网管”的作用,例如,让某台主机不能上网。

ARP欺骗的防范:

  • MAC地址绑定,使网络中每一台计算机的IP地址与硬件地址一一对应,不可更改。
  • 使用静态ARP缓存,用手工方法更新缓存中的记录,使ARP欺骗无法进行。
  • 使用ARP服务器,通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
  • 使用ARP欺骗防护软件,如ARP防火墙。
  • 及时发现正在进行ARP欺骗的主机并将其隔离。

DNS欺骗

DNS的全称是Domain Name Server即域名服务器,当一台主机发送一个请求要求解析某个域名时,它会首先把解析请求发到自己的DNS服务器上。DNS的功能是提供主机名字和IP地址之间的转换信息。DNS服务器里有一个“DNS缓存表”,里面存储了此DNS服务器所管辖域内主机的域名和IP地址的对应关系。

首先我们要知道DNS的工作原理:

上图中有三台主机:客户主机、http://nipc.com域DNS服务器和http://dhs.com域DNS服务器。其中http://nipc.com域DNS服务器直接为客户主机提供DNS服务。下面对这四个过程进行解释。

1)客户主机软件(例如Web浏览器)需要对http://www.dhs.com进行解析,它向本地DNS服务器(http://nipc.com域)发送域名解析请求,要求回复http://www.dhs.com的IP地址;

2) 由于本地DNS服务器的数据库中没有http://www.dhs.com的记录,同时缓存中也没有记录,所以,它会依据DNS协议机器配置向网络中的其他DNS服务器提交请求。这个查询请求逐级递交,直到http://dhs.com域的真正权威DNS服务器收到请求(这里省略了寻找http://dhs.com域DNS服务器的迭代过程,假定本地DNS服务器最终找到了所需要的信息);

3) http://dhs.com域DNS服务器将向http://nipc.com域DNS服务器返回IP查询结果(假定为1.2.3.4);

4) http://nipc.com域的本地DNS服务器最终将查询结果返回给客户主机浏览器,并将这一结果存储到其DNS缓存当中,以便以后使用。在一段时间里,客户主机再次访问http://www.dhs.com时,就可以不需要再次转发查询请求,而直接从缓存中提取记录向客户端返回IP地址了。

经过上面几步,客户主机获得了它所期待的http://www.dhs.com网站的IP地址,这样整个域名解析过程就结束了。

当客户主机向本地DNS服务器查询域名的时候,如果服务器的缓存中已经有相应记录,DNS服务器就不会再向其他服务器进行查询,而是直接将这条记录返回给用户。而入侵者欲实现DNS欺骗,关键的一个条件就是在DNS服务器的本地Cache中缓存一条伪造的解析记录

回到上面那个例子,假如http://dhs.com域DNS服务器返回的是经过攻击者篡改的信息,比如将http://www.dhs.com指向另一个IP地址5.6.7.8,http://nipc.com域DNS服务器将会接受这个结果,并将错误的信息存储在本地Cache中。在这条缓存记录的生存期内,再向http://nipc.com域DNS服务器发送的对http://www.dhs.com的域名解析请求,所得到的IP地址都将是被篡改过的。

一般来讲,攻击者无法直接控制DNS服务器,但他可以控制该服务所在网络的某台主机,并可以监听该网络中的通信情况。这时候,黑客要对远程的某个DNS服务器进行欺骗攻击,所采用的手段很像IP欺骗攻击:

首先,黑客要冒充某个域名服务器的IP地址;其次,黑客要能预测目标域名服务器所发送DNS数据包的ID号。DNS数据是通过UDP协议传递的,在DNS服务器之间进行域名解析通信时,请求方和应答方都使用UDP 53端口,因此需要确定DNS报文格式头部的ID域,来确定对应的会话过程。

在一段时期内,DNS服务器一般都采用一种有章可循的ID生成机制,例如,对于每次发送的域名解析请求,依次将数据包中的ID加1。如此一来,攻击者如果可以在某个DNS服务器的网络中进行嗅探,他只要向远程的DNS服务器发送一个对本地某域名的解析请求,通过嗅探得到的来自目标DNS服务器的请求数据包(因为远程DNS服务器肯定会转而请求本地的DNS服务器),攻击者就可以得到想要的ID号了。

还是看上面的例子,http://nipc.com域的DNS服务器向http://dhs.com域的DNS服务器请求解析,如果攻击者所伪造的DNS应答包中含有正确的ID号,并且抢在http://dhs.com域的DNS服务器之前向http://nipc.com域的DNS服务器返回伪造信息,欺骗攻击就将获得成功。下图为一次DNS攻击完整过程的图示。

DNS欺骗的防范:

  • 使用最新版本DNS服务器软件并及时安装补丁。
  • 关闭DNS服务器的递归功能:DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其它服务器获得查询信息并将它发送给客户机,这两种查询方式称为递归查询,这种查询方式容易导致DNS欺骗。
  • 限制区域传输范围:限制域名服务器做出响应的地址、限制域名服务器做出响应的递归请求地址、限制发出请求的地址。
  • 限制动态更新。
  • 采用分层的DNS体系结构。

Web欺骗

Web站点给用户提供了丰富多彩的信息,Web页面上的文字、图画与声音可以给人深刻的印象。在计算机世界中,我们往往都习惯各类图标、图形,代表各类不同的含义。人们往往还会在事件的时间先后顺序中得到某种暗示。如果在单击银行的网页时username对话框同时出现了,用户自然会认为应该输入在该银行的账户与口令。如果你在单击了一个文档链接后,立即开始了下载,那么你很自然地会认为该文件正从该站点下载。然而,以上的想法不一定总是正确的。

Web欺骗是一种电子信息欺骗,攻击者创造了一个完整的令人信服的Web世界,但实际上它却是一个虚假的复制。虚假的Web看起来十分逼真,它拥有相同的网页和链接。然而攻击者控制着这个虚假的Web站点,这样受害者的浏览器和Web之间的所有网络通信就完全被攻击者截获。

攻击者能够监视被攻击者的网络信息,记录他们访问的网页和内容。当被攻击者填完一个表单并发送后,这些数据将被传送到Web服务器,Web服务器将返回必要的信息,但不幸的是,攻击者完全可以截获并使用这些信息。在得到必要的数据后,攻击者可以通过修改受害者和Web服务器两方任何一方数据,来进行破坏活动。攻击者可以修改受害者的确认数据,攻击者还可以修改Web服务器返回的数据。

Web欺骗能够成功的关键是在受害者和真实Web服务器之间插入攻击者的Web服务器,这种攻击常被称为“中间人攻击“。攻击者改写Web页中的所有URL地址,使它们指向攻击者的Web服务器不是真正的Web服务器。

工作流程如下:

  • 用户访问伪造过的http://www.hacker.net/;
  • http://www.hacker.net/向http://www.dhs.com/请求文档;
  • http://www.dhs.com/向http://www.hacker.net/返回文档;
  • http://www.hacker.net/改写文档中的所有URL;
  • http://www.hacker.net/向用户返回改写后的文档

防范Web欺骗的方法:

  • 配置网络浏览器使它总能显示目的URL,并且习惯查看它。
  • 检查源代码,如果发生了URL重定向,就一定会发现。不过,检查用户连接的每一个页面的源代码对普通用户来说是不切实际的想法。
  • 使用反网络钓鱼软件。
  • 禁用JavaScript、ActiveX或者任何其他在本地执行的脚本语言。
  • 确保应用有效和能适当地跟踪用户。无论是使用cookie还是会话ID,都应该确保要尽可能的长和随机。
  • 培养用户注意浏览器地址线上显示的URL的好习惯。培养用户的安全意识和对开发人员的安全教育。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1011850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

振弦传感器信号转换器在岩土工程监测中的注意事项

振弦传感器信号转换器在岩土工程监测中的注意事项 振弦传感器是岩土工程中常用的一种监测设备,用于监测土体和岩体的振动情况。而振弦传感器信号转换器则是将传感器所获得的振动信号转换为人类可读的数据,以方便监测人员进行数据分析和工程决策。 然而&a…

[php] 文件上传的一个项目emmm

项目完整地址 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>上传文件</title><link href"./css/bootstrap.min.css" rel"stylesheet"><style>font-face {fo…

亚马逊云科技创新加速周:以数智化手段加速中国企业出海之旅

近年来&#xff0c;越来越多的中国企业正在走向国际市场&#xff0c;中国企业如何在出海浪潮下稳重求进&#xff1f;9月18日-9月22日&#xff0c;新一期亚马逊云科技合作伙伴加速周将为您带来“智荟出海”专题。“智荟出海计划”是亚马逊云科技发布的一项合作计划&#xff0c;旨…

Golang 基础面试题 01

Golang 面试题合集.png 背景 在之前的文章中分享了 k8s 相关的面试题&#xff0c;本文我们重点来讨论和 k8s 密切相关的 Go 语言面试题。 这几年随着云原生的兴起&#xff0c;大部分后端开发者&#xff0c;特别是 Java 开发者都或多或少的想学习一些 Go 相关的技能&#xff0c;…

Postman使用_接口导入导出

文章目录 Postman导入数据Collections导出数据Environments导出数据Postman导出所有数据 Postman导入数据 可以导入collections&#xff08;接口集&#xff09;、Environments&#xff08;环境配置&#xff09;通过分享的链接或导出的JSON文件导入数据&#xff08;还可以从第三…

微信小程序——认识微信小程序

认识小程序 小程序与普通网页开发的区别 运行环境不同 网页运行在浏览器环境中&#xff0c;小程序运行在微信环境中API不同 由于运行环境不同&#xff0c;所以小程序中&#xff0c;无法调用DOM和BOM的API。但是&#xff0c;小程序中可以调用微信环境提供的各种API&#xff0c…

C++之生成详细汇编代码(二百一十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Python绘制柱状图之可视化神器Pyecharts

文章目录 安装Pyecharts绘制基本柱状图自定义柱状图调整柱状图颜色添加数据标签调整柱状图样式添加动画效果堆叠柱状图横向柱状图 更多类型的柱状图堆叠柱状图百分比堆叠柱状图极坐标柱状图 结论 &#x1f389;欢迎来到AIGC人工智能专栏~Python绘制柱状图之可视化神器Pyecharts…

让AI为您自动生成独特的商品标题,商品描述和营销文案

做外贸的朋友你知道吗&#xff1f;AI可为您自动生成独特的商品标题&#xff0c;商品描述和营销文案 AI生成的商品标题是一项强大的工具&#xff0c;尤其在外贸和跨境电商行业中&#xff0c;它可以帮助您轻松创造引人注目的标题&#xff0c;吸引潜在客户。以下是一个针对外贸和…

JDK 动态代理

动态代理机制 Java 里面&#xff0c;动态代理是通过 Proxy.newProxyInstance()方法来实现的&#xff0c;它需要传入被动态代理的接口类 // 生成代理文件写入磁盘 System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");ITrad…

DP专题5 不同路径||

题目&#xff1a; 思路&#xff1a; 这道题&#xff0c;思路跟 不同路径| 思路一样&#xff0c;只是不同的是&#xff0c;有障碍物这一块&#xff0c;我们的二维dp数组初始化的时候&#xff0c;要注意&#xff0c;机器人只能向右和向下&#xff0c;所以初始化第一行和第一列的…

黑龙江省DCMM认证、CSMM认证、CMMM认证、知识产权等政策奖励

2023年8月28日 为深入落实党的二十大精神&#xff0c;认真落实省第十三次党代会关于创新龙江建设的部署要求&#xff0c;全面贯彻新发展理念&#xff0c;融入和服务构建新发展格局&#xff0c;实施创新驱动发展战略&#xff0c;着力建设创新龙江&#xff0c;不断塑造振兴发展新…

基于Yolov8网络进行目标检测(二)-安装和自定义数据集

关于Yolov8的安装在前一个环节忽略了&#xff0c;其实非常简单&#xff0c;只需要以下两个步骤&#xff1a; 1、安装pytorch pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 2、安装ultralytics pip install ultralytics 为什…

功率放大器驱动压电陶瓷有哪些应用

功率放大器在压电陶瓷材料领域的应用。首先&#xff0c;介绍了压电陶瓷的基本概念和特性。然后&#xff0c;阐述了功率放大器的基本原理和分类。接着&#xff0c;分析了功率放大器在压电陶瓷材料领域的应用&#xff0c;包括声波发生器、超声波清洗器、超声波切割器、医疗超声波…

企业架构LNMP学习笔记44

小工具&#xff1a; memcached_tool.php软件&#xff0c;可以查看memcached运行状态、key&#xff08;item&#xff09;的数量、内存使用量等。 1&#xff09;上传memcached_tool.php到web服务器上&#xff1a; 上传到虚拟机主机可以访问的目录即可。需要php的运行环境&…

C语言——指针进阶(三)

目录 一.前言摘要 二.排序函数qsort的模拟实现 三.指针和数组笔试题解析 一.前言摘要 讲述关于strlen和sizeof对于各种数组与指针的计算规则与用法。另外还有qsort函数的模拟实现&#xff08;可以排序任意类型变量&#xff09; 二.排序函数qsort的模拟实现 目标&#xff1a;…

如何选择适合企业的SQL开发工具

在当今数字化时代&#xff0c;数据是企业的核心资产之一。随着数据规模和数据类型的不断增长&#xff0c;数据库管理变得愈发复杂和关键。许多企业用户在数据库管理方面都面临着一系列难题&#xff1a; 核心数据库被随意变更&#xff1a;核心库的波动通常会对企业核心业务产生重…

还没用熟 TypeScript 社区已经开始抛弃了

根据 rich-harris-talks-sveltekit-and-whats-next-for-svelte 这篇文章的报道&#xff0c; Svelte 计划要把代码从 TS 换到 JS 了。 The team is switching the underlying code from TypeScript to JavaScript. That and the update will then allow the team to incorporate…

Enhancer-轻量化的字节码增强组件包

一、问题描述 当我们的业务发展到一定阶段的时候&#xff0c;系统的复杂度往往会非常高&#xff0c;不再是一个简单的单体应用所能够承载的&#xff0c;随之而来的是系统架构的不断升级与演变。一般对于大型的To C的互联网企业来说&#xff0c;整个系统都是构建于微服务的架构…

金和OA GetSqlData.aspx 远程命令执行漏洞

一、漏洞简介 金和OA协同办公管理系统C6软件共有20多个应用模块,160多个应用子模块,涉及的企业管理业务包括协同办公管理、人力资源管理、项目管理、客户关系管理、企业目标管理、费用管理等多个业务范围,从功能型的协同办公平台上升到管理型协同管理平台,并不断的更新完善…