热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

OSI模型及其对应下的安全问题

OSI模型及其对应下的安全问题首先,要想了解OSI参考模型下,各层的漏洞。我们先来认识OSI参考模型因为每层模型都有其对应的格式和规则,也就是协议。而协议的指定也是有漏洞的。就像一

OSI模型及其对应下的安全问题

首先,要想了解OSI参考模型下,各层的漏洞。我们先来认识OSI参考模型

image-20211024173408520

因为每层模型都有其对应的格式和规则,也就是协议。而协议的指定也是有漏洞的。就像一直流传的一句话:“没有永久安全的系统,只有没被尚未发现的漏洞”。所以,要先熟悉各层对应的机理和协议。才能更好的把握每层可能出现的漏洞。

 


应用层攻击


针对应用程序的设计漏洞进行的

[1​]  https://www.x-mol.com/paper/1288185784577998848/t 针对应用程序的设计漏洞进行的

逻辑漏洞是由于应用程序逻辑实现中的缺陷导致的,因此应用程序逻辑不是预期的逻辑。这种漏洞模式取决于应用程序的设计和业务逻辑。

商业应用程序中没有针对应用程序逻辑漏洞的特定且通用的模式。在这项研究中,引入了一种名为FINAD的方法,该方法使用活动流图(AFG)来检测应用程序逻辑漏洞,以发现已实现的应用程序与其设计之间的不兼容性。

在这项工作中,AFG首次由活动图(AD)和控制流程图(CFG)组成。对不同常见类型的应用程序逻辑漏洞的研究表明,可以通过对AFG进行静态分析来检测到大多数此类漏洞。FINAD方法独立于语言,并且可以用于任何编程语言的漏洞检测,前提是AD可用,并且可以创建程序的CFG。FINAD for PHP语言的实现显示了其在CVE漏洞数据库中检测已知逻辑漏洞的有效性。


对应用协议漏洞的攻击


SSL 漏洞 ("Heartbleed 漏洞")

[2]  https://blog.51cto.com/u_14857544/2634158 SSL 漏洞 (Heartbleed 漏洞)

SSL标准包括“心跳”选项,该选项为SSL连接一端的计算机提供了一种方法来再次检查线路的另一端是否仍然有人。 此功能很有用,因为某些Internet路由器在空闲时间过长时会断开连接。 简而言之,心跳协议的工作方式如下:

心跳消息分为三个部分:请求确认,简短的随机选择消息(在这种情况下为“banana”)以及该消息中的字符数。 只需假定服务器确认已收到请求,然后将消息鹦鹉化。

Heartbleed***利用了服务器过于信任这一事实。 当有人告诉它消息包含6个字符时,服务器会自动发送回6个字符作为响应。 恶意用户可以利用服务器的轻信:


DNS攻击

DNS 劫持和在途攻击。这些攻击可将网站的入站流量重定向到伪造的站点,从而收集敏感的用户信息并使企业承担主要责任。


防御 DNS 威胁

采用 DNSSEC 协议

[3​]  https://www.cloudflare.com/zh-cn/learning/dns/dns-security/ dns攻击防御

此签名过程类似于人们用笔签署法律文件;此人签署别人无法创建的唯一签名,并且法院专家能够查看该签名并验证文件是否由该人签署的。这些数字签名可确保数据未被篡改。

DNSSEC 在 DNS 的所有层中实施分层数字签名策略。例如,在 “google.com”查找中,根 DNS 服务器将为 .COM 域名服务器签写一个密钥,然后 .COM 域名服务器将为 google.com 的权威性域名服务器签写一个密钥。


钓鱼攻击

通过伪造合法的 Web 站点来试图欺骗 Web 用户以盗取私人信 息。

通常情况下,没有疑心的用户会收到一封听上去很紧急的(并且看起来真实的)电子邮件,告诉他们现在xxxx出现了问题,必 须要立即解决以免帐户中止。

电子邮件中将包括一个 URL,指向一个外观跟实际站点一模一样的 Web 站点。复制合法的电子邮件与 Web 站点很容易,但是随后会更改所谓的后台,也就是接收被收集的数据的目标系统。

该电子邮件提示用户登录到站点并确认一些帐户信息。黑客会接收用户提供的数据,如登录名、密码、信用卡号或社会保险号。


缓冲区溢出

http协议未对请求头部做字节大小限制,导致可以提交大量数据因此可能导致恶意代码被执行。


CSRF

Web应用对某些请求未对来源做验证,导致登录用户的浏览器执行黑客伪造的HTTP请求,并且应用程序认为是受害者发起的合法请求的请求。黑客利用CSRF攻击可以执行一些越权操作如添加后台管理员、删除文章等。


对应用数据的攻击


SQL注入

Web应用未对用户提交的数据做过滤或者转义,导致后端数据库服务器执行了黑客提交的sql语句。黑客利用sql注入攻击可进行拖库、植入webshell,进而入侵服务器。


XSS跨站

Web应用未对用户提交的数据做过滤或者转义,导致黑客提交的Javascript代码被浏览器执行。黑客利用xss跨站攻击,可以构造恶意蠕虫、劫持网站COOKIE、获取键盘记录、植入恶意挖矿js代码。


命令注入

Web应用未对用户提交的数据做过滤或者转义,导致服务器端执行了黑客提交的命令。黑客利用登入注入攻击,可以对服务器植入后门、直接反弹shell入侵服务器。


木马后门

Web应用未对用户提交的数据做过滤或者转义,导致木马代码执行。黑客利用木马后门攻击,可以入侵服务器。


对应用操作系统平台的攻击等

操作系统不同,底层实现的原理不同,所采用的漏洞利用也不同


应用权限的访问控制被攻破


目录遍历

Web应用对相关目录未做访问权限控制,并且未对用户提交的数据做过滤或者转义,导致服务器敏感文件泄露。黑客利用目录遍历攻击,可获取服务器的配置文件,进而入侵服务器。


本地文件包含

Web应用对相关目录未做访问权限控制,并且未对用户提交的数据做过滤或者转义,导致服务器敏感文件泄露。黑客利用本地文件包含漏洞,可以获取服务器敏感文件、植入webshell入侵服务器。


远程文件包含

Web应用未对用户提交的文件名做过滤或者转义,导致引入远程的恶意文件。黑客利用远程文件包含漏洞,可以加载远程的恶意文件,导致恶意代码执行、获取服务器的权限。


身份认证和会话管理被攻破


COOKIE伪造方法

1.跳过浏览器,直接对通讯数据改写。 2.修改浏览器,让浏览器从本地可以读写任意域名COOKIE 3.使用签名脚本,让浏览器从本地可以读写任意域名COOKIE 4.欺骗浏览器,让浏览器获得假的域名


预防方法

1.不要在公共场合登录自己重要的用户名和密码。 2.COOKIE+ip等信息加密。 3.COOKIE+ip+动态。


会话劫持

是一种结合了嗅探和欺骗在内的攻击方法。在一次正常的通信中,攻击者作为第三者参与其中或对数据进行修改。从而干涉两台机器之间的数据传输,例如监听敏感数据、替换数据等。由于攻击者已经介入其中,他能轻易知道双方传输的数据内容,还能根据自己的意愿去左右它。这个“中转站”可以是逻辑上的,也可以是物理上的,关键在于它能否获取到通信双方的数据。


跨站点的执行代码漏洞

在一个服务器下,部署了多个网站,而没有进行权限的隔离。当其中一个站点被攻击者攻破时,从而使得攻击者能横向攻击其他站点。


弹出漏洞

在主流网络浏览器Internet Explorer(IE)、Mozilla/Mozilla Firefox、Opera、Safari、Konqueror中发现的安全漏洞(英文),攻击者可“抢占”著名可靠网站的弹出式窗口,在窗口中显示第三方网站的网页(内容)。

要想“成功地”突破此安全漏洞进行攻击,必须把用户引诱到攻击者的网站。也就是说,(1)首先,在用户的浏览器里显示攻击者的网页;然后(2)在别的浏览器窗口显示可靠网站的网页。在这种状态下,一旦用户信赖的网站上显示了弹出式窗口,(3)就能够在此窗口中显示(并非可靠网站的网页)攻击者指向的网页(右图为Secunia公开的流程图,点击放大)。 如果恶意利用此安全漏洞,攻击者就能进行网络欺诈。比如“在弹出式窗口中显示链接到攻击者网站上的假冒窗口,让用户输入个人信息”


错误处理不当

对于服务器及程序错误处理,没能使用模糊方式,而是使用测试时的正常报错,导致攻击者可以利用报错信息对目标进行漏洞利用


不安全存储

不仅局限于没有对密码等需要保护的字段进行加密之外,还包括加密算法太弱,很容易就可以破解。

如:弱口令,加密算法太弱

首先,对于需要保护的字段一定不能直接存储或输出,需要使用加密算法等。

防御

[4]  https://blog.csdn.net/quiet_girl/article/details/50608959 安全测试之不安全的加密存储

对于已经使用加密算法的字段,一定要注意尽量使用强一些的加密算法,伪随机数等过于简单的算法,也会对网站的安全造成巨大威胁。


高级爬虫

爬虫自动化程度较高可以识别setCOOKIE等简单的爬虫防护方式。


常规爬虫

爬虫自动化程度较低,可以利用一些简单的防护算法识别,如setCOOKIE的方式。


不安全配置管理等

防范手段:

针对服务器的访问控制权限进行严格划分分配,防止管理员权限过大,可以采用基于角色的访问控制策略,保证用户的最小特权化。对服务器系统及时修补补丁,保证信息系统的一个安全状态,并对系统内用户行为和安全事件进行审计记录。

 


表示层

针对表示层的攻击主要是针对格式翻译和数据处理来进行的,攻击方式有Unicode攻击和计算溢出攻击。

防范手段:在系统设计层面,应考虑拥有足够充足的缓冲区,保证数据不会溢出被修改、覆盖。严格而控制服务器上文件和文件夹的权限,对登录用户和后台管理人员的权限进行合理的分配,防止服务器文件和文件夹被非法利用。


会话层

针对会话层的攻击主要是利用或者窃取合法用户的COOKIE和session,然后冒用或者利用合法用户的身份,以达到非法授权访问的目的,其主要攻击目标为攻击COOKIE和token,常见的攻击方式有XSS(跨站脚本攻击)和CSRF(跨站请求伪造)。

防范手段:针对会话层的攻击防范,主要是针对用户登录的COOKIE信息进行利用或盗取。为减少并防止该类攻击事件的发生。首先是应当在用户登录时,可采用双因子的认证方式,确认用户信息,并在cookice设置中启动httponle属性,并在代码层面添加随机产生的token认证,认证用户数据包信息,防止用户身份认证信息被窃取并盗用。


传输层

针对传输层的攻击主要是利用TCP/UDP协议进行攻击,而利用TCP协议攻击主要是利用TCP协议的三次握手机制,向目标主机或者服务器发送大量连接请求但是不对其进行响应,使得占用大量目标服务器主机资源,造成瘫痪的攻击方式,常见的攻击方式由Flooding洪泛攻击、ACK flooding洪范攻击等,而利用UDP的攻击主要是利用流量攻击,使用UDP的不可靠性,大量发送数据包,造成目标拒绝服务的目的,常见的攻击方式有UDP flooding洪泛攻击。

防范手段:在这里也可以通过部署抗DDOS防御系统进行防护,并扩大带宽,对数据包进行筛选、防护。


网络层来看

针对网络层的攻击也是目前互联网上常见的几种主要的攻击方式,如Smurf攻击(通过将回复地址设置为受害网络的广播地址,使用数据包淹没目标主机)、ICMP路由欺骗攻击、IP分片攻击、ping of death(死亡之ping)、IP欺骗伪造攻击,其通性都是通过制造大量的无用数据包,对目标服务器或者主机发动攻击,使得目标对外拒绝服务,可以理解为DDOS或者是类DDOS攻击。

防范手段:可以通过扩大带宽并部署DDOS防御系统来防御拒绝攻击,对于攻击发生过的IP和确认安全的IP,可以通过设置防火墙上IP白名单和黑名单对通信主机的地址进行限制、绑定,防止欺骗行为的发生。


细分:

[5]  https://zhuanlan.zhihu.com/p/27292715 网络层攻击 


Syn-flood

利用TCP建立连接时3次握手的“漏洞”,通过原始套接字发送源地址虚假的SYN报文,使目标主机永远无法完成3次握手,占满了系统的协议栈队列,资源得不到释放,进而拒绝服务,是互联网中最主要的DDOS攻击形式之一。

网上有一些加固的方法,例如调整内核参数的方法,可以减少等待及重试,加速资源释放,在小流量syn-flood的情况下可以缓解,但流量稍大时完全不抵用。防御syn-flood的常见方法有:syn proxy、syn COOKIEs、首包(第一次请求的syn包)丢弃等。


ACK-flood

对于虚假的ACK包,目标设备会直接回复RST包丢弃连接,所以伤害值远不如syn-flood。DDOS的一种原始方式。


UDP-flood

使用原始套接字伪造大量虚假源地址的UDP包,目前以DNS协议为主。


ICMP-flood

Ping洪水,比较古老的方式。


数据链路层

针对数据链路层的攻击常见的是对基于mac地址的伪装欺骗,在数据链路层有两个重要的协议ARP(地址解析协议)和RARP协议(反向地址解析协议),常见的攻击方式就是ARP欺骗(ARP伪装),其攻击原理为攻击者利用自己伪造的mac地址来告诉被攻击者自己是对方想要访问的身份,显而易见这个身份是攻击者自己伪造的,从而欺骗被攻击者将数据流量转发到自己伪造的身份地址上,进而获取数据,达到欺骗的目的。

防范手段:对于系统和通信网络中关键的设备进行ARP地址绑定,可以在Windows中输入arp-s gate-way-ip gate-way-mac固化ARP表,也可以通过安装ARP防护软件-ARPGuard,对ARP信息进行防护。


物理层

针对其网络硬件和基础设施来进行物理破坏或者是强行改变路由器,比如说要去攻击一个公司,就把他们公司的网线剪掉,让他们无法访问外网。

防范手段:保护物理线路的可靠性,对于物理设备的接入采用双线、双设备接入,保证物理线路和物理设备的可靠性,并处于监管的状态。


文章借鉴来源:



  1. https://www.x-mol.com/paper/1288185784577998848/t



  2. https://blog.51cto.com/u_14857544/2634158



  3. https://blog.csdn.net/quiet_girl/article/details/50608959



  4. https://zhuanlan.zhihu.com/p/27292715



  5. https://kamisec.github.io/2017/06/OWASP-top-10-%E5%A4%B1%E6%95%88%E7%9A%84%E8%BA%AB%E4%BB%BD%E8%AE%A4%E8%AF%81%E5%92%8C%E4%BC%9A%E8%AF%9D%E7%AE%A1%E7%90%86/




原文链接:https://www.cnblogs.com/epheseren/p/15456184.html



推荐阅读
  • 开源系统的便利性显而易见,但其潜在的安全漏洞也不容忽视,PHPCMS同样面临这一挑战。对于普通网站而言,确保PHPCMS的安全性至关重要。以下几点是需要特别关注的配置事项:1、后台登录地址的安全设置;2、文件权限管理的严格控制;3、定期更新与补丁安装。通过这些措施,可以有效提升系统的整体安全性。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 如何在益和VA中配置安全策略:应用管理设置的详细指南 ... [详细]
  • 蚂蚁安全天穹实验室在GeekPwn国际极客大赛中刷新历史纪录,荣登榜首
    蚂蚁安全天穹实验室在GeekPwn国际极客大赛中刷新历史纪录,荣登榜首 ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • Nmap端口检测与网络安全性评估
    Nmap 是一款强大的网络扫描工具,能够高效地进行主机发现、端口扫描和服务识别。它不仅能够检测网络中活跃的主机,还能详细列出这些主机上开放的端口及其对应的服务和版本信息。此外,Nmap 还具备操作系统指纹识别和硬件地址探测功能,为网络安全评估提供了全面的数据支持。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 本文针对Bugku平台上的“MD5碰撞”挑战进行详细解析。该挑战要求参赛者通过分析MD5哈希函数的碰撞特性,解决页面提示的输入问题。文章首先介绍了靶场链接和题目背景,随后详细描述了解题思路和步骤,包括如何利用已知的MD5碰撞实例来绕过验证机制,最终成功完成挑战。通过本分析,读者可以深入了解MD5算法的安全缺陷及其在实际应用中的潜在风险。 ... [详细]
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
  • 面部识别技术面临关键转折点:伦理与应用的平衡挑战
    面部识别技术正面临一个关键的转折点,其伦理与应用之间的平衡问题日益凸显。近日,该技术再次遭遇重大事件。本周二,由90个倡议组织组成的联盟发布了一份联合声明,呼吁全球范围内暂停使用面部识别技术,直到制定出明确的监管框架。这一举措反映了社会各界对隐私保护和技术滥用的担忧,同时也引发了关于如何在保障公共安全和维护个人隐私之间找到合理平衡的广泛讨论。 ... [详细]
  • 微软发布紧急安全更新,所有Windows 10版本均面临影响!
    微软于周五紧急发布了两项安全更新,旨在解决Windows 10所有版本中Windows Codecs库和Visual Studio Code应用存在的安全隐患。此次更新是继本周初发布的月度例行安全补丁之外的额外措施,凸显了这些问题的紧迫性和重要性。这些漏洞可能被攻击者利用,导致系统权限提升或远程代码执行等严重后果。建议用户尽快安装更新,以确保系统的安全性。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 紧急修复:开源加密库 Libgcrypt 及 GnuPG 模块中的高危安全漏洞
    针对开源加密库 Libgcrypt 和 GnuPG 模块中发现的高危安全漏洞,开发团队已迅速发布紧急补丁。此次更新旨在修复最新版本中存在的严重安全问题,确保用户数据的机密性和完整性。建议所有使用这些库的开发者和组织尽快应用此更新,以避免潜在的安全风险。 ... [详细]
author-avatar
手机用户2502923697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有