| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP/IP协议栈--ipv4安全隐患 -> 正文阅读 |
|
[网络协议]TCP/IP协议栈--ipv4安全隐患 |
TCP/IP协议栈 --ipv4安全隐患在TCP/协议栈中 绝对多数协议灭有提供必要的安全机制 如:
? TCP/IP协议栈中各层都有自己的协议 由于这些协议在开发之初并未重点考虑安全因素 缺乏必要的安全机制 因此 针对这些协议的安全威胁及攻击行为越来越频繁 TCP/IP协议栈的安全问题也越来越凸显 应用层:漏洞 缓冲区溢出攻击 WEB应用的攻击 病毒及木马 传输层:TCP欺骗 TCP拒绝服务 UDP拒绝服务 端口扫描 网络层:IP欺骗 Smurf攻击 ICMP攻击 地址扫描 链路层:MAC欺骗 MAC泛洪 ARP欺骗 物理层:设备破坏 线路监听 ? 常见的网络安全问题物理设备破坏:指攻击者直接破坏网络的物理设备 比如服务器设备 或者网络的传输通信设备等 设备破坏攻击的目的主要是为了中断网络服务 设备破坏攻击防范:主要靠非技术的因素 比如建造坚固的机房 指定严格的安全管理制度 对于需要铺设在外部环境中的通信电缆等 采用各种加强保护措施及安全管理措施 线路侦听 针对物理层网络设备:集线器,中继器,无线网络 对线路侦听的防范 对于网络中使用集线器 中继之类的 有条件的话置换设备为交换机等 对于无线网络 使用强认证及加密机制 这样窃听者即使能获取传输信号 也很难把原始信息还原出来 MAC地址欺骗:MAC地址欺骗是一种非常直观的攻击 即攻击者将自己的MAC地址更改为受信任系统的地址 对于MAC攻击的防范措施:在交换机上配置静态条目,将指定的MAC地址始终与特定的端口绑定 ? MAC泛洪 MAC泛洪攻击利用了:交换机的MAC学习机制 MAC表项的数目限制 交换机的转发机制 MAC泛洪攻击的防御:配置静态MAC转发表 配置端口的MAC学习数目限制 ARP欺骗 由于局域网的网段内信息交换不是根据IP地址进行的 而是根据MAC地址进行传输 所以 当MAC地址在主机的MAC地址缓存列表中伪造一个不存在的MAC地址(或欺骗性的MAC地址),这样就会导致网络不通 或都跟错误的对象主机通信 IP地址欺骗攻击(IP Spoofing) 节点之间的信任关系有时是根据IP地址建立起来的 攻击者使用相同的IP地址可以模仿网络中的合法主机 访问关键信息 IP欺骗攻击的整个步骤:
? Smurf攻击 是以最初发动这种攻击的程序名“Smurf"来命名的 是拒绝服务(DDOS)攻击的一种 它是通过独占网络资源 使其他主机不能进行正常访问 从而导致网络瘫痪的 这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统 引起目标系统拒绝为正常系统进行服务 Smurf攻击通过使用将回复地址设置为受害网络的广播地址的ICMP应答请求数据包 来淹没受害主机 最终导致该网络的所有主机都对此ICMP应答请求做出答复 导致网络阻塞 更加复杂的Smurf将源地址改为第三方的受害者 最终导致第三方崩溃 ? ICMP重定向与不可达攻击 ICMP重定向报文是ICMP控制报文中的一种 在特定情况下 当路由器检测到一台机器使用非优化路由的时候 它会向该主机发送一个ICMP重定向报文 请求主机改变路由 路由器也会把初始数据报向它的目的地转发 ICMP虽然不是路由协议 但是有时它也可以指导数据包的流向(使数据流向正确网关)ICMP协议通过ICMP重定向数据包(类型5,代码0:网络重定向)达到这个目的 攻击者可以利用ICMP重定向报文破坏路由 并以此增强其窃听能力 除了路由器 主机必须服从ICMP重定向 如果一台机器向网络中的另一台机器发送了一个ICMP重定向消息 这就可能引起其他机器具有一张无效的路由表 ? IP地址扫描攻击 攻击者运用ICMP报文探测目标地址 或者使用TCP/UDP报文对一定地址发起连接 通过判断是否有应答报文 以确定哪些目标系统确实存活着并且连接到目标网络上 IP地址扫描往往不是攻击者的最终目的 攻击者通过IP地址扫描操作 获取目标网络的拓扑结构和存货系统 为实施下一步攻击做准备 ? TCP欺骗 TCP欺骗大多发生在TCP连接建立过程中 利用主机之间某种网络服务的信息关系建立虚假的TCP连接 可能模拟受害者从服务器端获取信息 例:A信任B C是攻击者 1.C先破坏掉B 2.C用B地址作为源地址向A发SYN报文; 3.A回应SYN/ACK报文 从A发给B 携带序列码S; 4.C收不到该序列码 但为了完成握手必须以S+1作为序列码进行应答 这时C可以通过以下两种方法得到序列码S:
5.C使用得到的序列码S回应A 握手完成 虚假连接建立 ? TCP拒绝服务--SYN Flood攻击 SYN报文是建立TCP连接的第一个报文 攻击者通过大量发送SYN报文(通常源IP地址被修改成虚假不存在的),造成大量无法完成的TCP握手连接,占满队列 ? UDP拒绝服务--UDP Flood攻击 攻击者通过向服务器发送大量的UDP报文 (被攻击者需正在应用某种使用UDP协议的服务),占用服务器器的链路带宽 导致服务器负担过重而不能正常向外提供服务 端口扫描攻击防范 PORT SCAN攻击通常使用一些软件 向被攻击主机的一系列TCP/UDP端口发起连接请求 根据应答报文判断主机是否使用这些端口提供服务 缓冲区溢出攻击(buffer overflow) 是针对程序设计存在的缺陷 向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行 并获取程序乃至系统的控制权 缓冲区溢出原指当某个数据超过了处理程序限制的范围是 程序出现的异常操作 造成此现象的原因有:存在缺陷的程序设计 ? 缓冲区溢出攻击原理 缓冲区溢出攻击者利用编写不够严谨的程序 通过向程序的缓冲区写入超过预定长度的数据 造成缓存的溢出 从而破坏程序的堆栈 导致程序执行流程的改变 缓冲区溢出的危害
针对WEB应用的攻击
含有恶意代码的网页 利用浏览器的漏洞 威胁本地系统 如:跨站脚本攻击、
利用Apache/IIS/NGINX...的漏洞 利用CGI实现语言(PHP/ASP/Perl...)和实现流程的漏洞
典型WEB应用由三层构成:
被动攻击 ? 主动攻击 ? 中间人攻击 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 20:49:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |