常见的网络攻击类型

网络攻击是针对计算机信息系统,基础设施,计算机网络或个人计算机设备的任何类型的攻击行为,网络攻击使用各种方法来窃取,更改或破坏数据或信息系统。

在本文中,将描述几种最常见的对信息系统的网络攻击类型:

? 拒绝服务(DoS)和分布式拒绝服务(DDoS)攻击 (Denial-of-service)

? 中间人(MitM)攻击 (Man-in-the-middle)

? 网络钓鱼攻击 (Phishing and spear phishing)

? Drive-by攻击

? 密码攻击

? SQL注入攻击

? 跨站点脚本(XSS)攻击 (Cross-site scripting)

? 窃听攻击(Eavesdropping)

? 恶意软件攻击 (Malware)

常见的攻击模式枚举和分类

可以访问CAPEC网站去查看大多数的网络攻击模式, CAPEC 是 common attack pattern enumeration and classification 的缩写。目前,列举了大概500多种攻击。可以访问网站https://capec.mitre.org/data/definitions/2000.html 去了解每种攻击的详细信息。如下图所示:

1543330011319078.png

拒绝服务(DoS)和分布式拒绝服务(DDoS)攻击 (Denial-of-service)

拒绝服务攻击会耗尽系统的资源,使其无法响应服务请求。 DdoS(distributed denial-of-service)攻击也是对系统资源的攻击,但它是从被攻击者控制的恶意软件感染的大量其他主机启动的并发动攻击的。

与旨在使攻击者获得或增加访问权限的攻击不同,拒绝服务攻击不会为攻击者提供直接的收益的好处。 但是,如果受攻击的资源属于商业竞争对手的,那么肯定有益于攻击者的利益。 DoS攻击的另一个目的是使系统脱机,以便可以启动不同类型的攻击。 

有不同类型的DoS和DDoS攻击; 最常见的是 Ping-of-death攻击等

Ping-of-death攻击

此类攻击使用IP数据包来“ping”目标系统,其IP数据包大小超过65,535字节。由于 不允许使用此大小的IP数据包,因此攻击者会对IP数据包进行拆分, 一旦目标系统重新组装数据包,就会遇到缓冲区溢出和其他的程序崩溃等。

可以通过使用防火墙阻止Ping of death攻击,该防火墙将检查碎片化的IP数据包以获得最大大小。

中间人(MitM)攻击 (Man-in-the-middle)

当攻击者在客户端和服务器的通信之间插入自身作为中间人时,就会发生MitM攻击。 以下是一些常见类型的中间人攻击:

会话劫持(Session hijacking)

在这种类型的MitM攻击中,攻击者窃取了客户端和网络服务器之间的会话。 当服务器继续会话时,攻击者将其计算机IP地址替换为可信的客户端,而服务器则认为它正在与可信的客户端通信。 例如,攻击过程可能如下:

? 客户端连接到服务器;

? 攻击者的计算机获得对客户端的控制权;

? 攻击者的计算机断开客户端与服务器的连接;

? 攻击者的计算机用自己的IP地址替换客户端的IP地址; 

? 攻击者的计算机继续与服务器对话,服务器认为它仍在与可信的客户端通信

1543330164193546.png

1543330219130136.png

IP欺骗 (IP Proofing)

攻击者使用IP欺骗来说服系统正在与已知的可信实体进行通信,并为攻击者提供对系统的访问权限。 攻击者向服务器发送包含已知可信主机的IP源地址而不是其自己的IP源地址的数据包。 服务器可能会接受该数据包并对其采取行动。

重播 (Replay)

当攻击者拦截并保存旧消息然后尝试重新发送旧消息时,就会发生重放攻击,从而冒充其中一个参与者。 可以使用会话时间戳或随机数(随机数或随时间变化的字符串)来避免此种类型的攻击。

目前,没有单一的技术或配置可以阻止所有类型的MitM攻击。 通常情况下,加密和数字签名证书可有效防范MitM攻击,尤其是配置了双向认证的系统,可以确保通信的机密性和完整性。

网络钓鱼攻击 (Phishing and spear phishing)

网络钓鱼攻击是发送看似来自于可靠来源的电子邮件的做法,目的是获取个人信息或影响用户执行某些操作。该攻击可能涉及将恶意软件加载到目标用户的计算机上的电子邮件的附件,也可能提供一个非法网站的链接,可以诱骗用户下载恶意软件或提交用户的个人信息。

Spear网络钓鱼是一种非常有针对性的网络钓鱼活动。攻击者会花时间对目标进行研究,并创建与个人相关的信息,因此,Spear网络钓鱼可能很难识别,甚至很难防御。攻击者进行Spear网络钓鱼攻击的最简单方法之一就是电子邮件欺骗,即电子邮件“发件人”部分中的信息被伪造,使其看起来好像来自用户认识的人,例如用户的管理层或合作伙伴公司。诈骗者用来增加其伪造消息的可信度来取得信任;另一项技术是网站克隆 – 攻击者复制合法网站以欺骗用户输入个人身份信息或登录凭据。

为了降低被网络钓鱼的风险,可以使用以下技术:

“三思而行” – 不要相信接受的电子邮件是真正的交易,不要在有压力的情况下,仓促点击邮件,停下一分钟并分析电子邮件;

将鼠标悬停在链接上 – 将鼠标移到链接上,但不要单击它,只需将鼠标光标悬停在链接上,看看实际上会将您带到哪里;

分析电子邮件标头 – 电子邮件标头定义电子邮件如何到达您的地址。 观察“Reply-to”和“Return-Path”参数;

Drive-by攻击

Drive-by下载攻击是传播恶意软件的常用方法。攻击者寻找不安全的网站,并在其中的页面上将恶意脚本植入HTTP或PHP代码中。此脚本可能会将恶意软件直接安装到访问该网站的用户的计算机上,或者可能会将受害者重定向到攻击者控制的网站。访问网站或查看电子邮件或弹出窗口时可能会发生Drive-by下载。与许多其他类型的网络安全攻击不同,Drive-by攻击并不依赖用户做任何事情来主动开始攻击 – 不必单击下载按钮或打开恶意电子邮件附件即可受到感染。Drive-by攻击可以利用由于更新失败或缺少更新而导致安全漏洞的应用程序,操作系统或Web浏览器。

为了免受Drive-by攻击,需要使浏览器和操作系统保持最新,并避免访问可能包含恶意代码的网站。坚持使用用户通常使用的网站 。不要在您的设备上保留太多不必要的程序和应用程序。拥有的插件越多,Drive-by攻击可以利用的漏洞就越多。

密码攻击

由于密码是对信息系统用户进行身份验证的最常用机制,因此获取密码是一种常见且有效的攻击方法。可以通过查看用户的桌面,“嗅探”与网络的连接以获取未加密的密码。

Brute-force(暴力密码猜测):意味着通过尝试不同的密码并且使用随机方法去尝试与人名,职称,爱好或类似项目相关的某些逻辑来破解密码;

在字典攻击(dictionary attack)中,利用密码字典用于尝试访问用户的计算机和网络。例如复制包含密码的加密文件,将相同的加密应用于常用密码的字典,并比较结果。

为了保护自己免受字典或暴力密码猜测攻击,需要实施帐户锁定策略,该策略将在几次无效密码尝试后锁定帐户。可以按照这些帐户锁定最佳做法进行正确设置。

SQL注入攻击

SQL注入已成为数据库驱动的网站的常见问题。当攻击者 通过从客户端到服务器的输入数据对数据库执行SQL查询时,就会发生这种情况。 SQL命令被插入到数据输入中,以便运行预定义的SQL命令。成功的SQL注入攻击可以从数据库中读取敏感数据,修改(插入,更新或删除)数据库数据,对数据库执行管理操作(如关闭),恢复给定文件的内容,在某些情况下,甚至可以向操作系统发出命令。

例如,网站上的Web表单可能会请求用户的帐户名,然后将其发送到数据库,以便使用动态SQL提取相关的帐户信息,如下所示:

“SELECT * FROM users WHERE account ='”+ userProvidedAccountNumber +“';”

虽然该SQL适用于正确输入帐号的用户,但却为攻击者留下了一个漏洞。例如,如果某人决定提供“‘ or ‘1’ = ‘1’”的帐号,则会产生以下查询字符串:

“SELECT * FROM users WHERE account = ‘’ or ‘1’ = ‘1’;”

因为'1'='1'始终计算为TRUE,所以数据库将返回所有用户的数据,而不是单个用户。

此类网络安全攻击的漏洞利用SQL的安全漏洞,如果网站使用动态SQL,则SQL Inject  可能生效。SQL注入在PHP和ASP应用程序中非常常见。 

为了保护应用免受SQL注入攻击,可以坚持使用存储过程(确保这些过程不包括任何动态SQL)和Prepared statements(参数化查询)。 此外,在应用程序级别,可以验证输入数据以防止SQL Inject  攻击。

 跨站点脚本(XSS)攻击 (Cross-site scripting)

XSS攻击使用第三方Web资源在受害者的Web浏览器或可编写脚本的应用程序中运行脚本。 攻击者将带有恶意的JavaScript的片段注入网站。 当受害者从网站请求页面时,网站将攻击者的恶意片段作为HTML主体的一部分发送到受害者的浏览器,该浏览器执行恶意脚本。 例如,XSS可能会将受害者的cookie发送给攻击者的服务器,攻击者可以将其提取并用于会话劫持。 当XSS用于利用其他漏洞时,会发生危险的后果。 这些漏洞可以使攻击者不仅可以窃取cookie,还可以记录击键,捕获屏幕截图,发现和收集网络信息,以及远程访问和控制受害者的计算机。

1543330417232263.png

虽然可以在VBScript,ActiveX和Flash中利用XSS,但XSS攻击最广泛使用的是JavaScript – 主要是因为JavaScript在网络上得到广泛支持。

为了防御XSS攻击,开发人员可以验证用户在HTTP请求中输入的数据。 确保在将任何内容回送给用户之前验证,过滤或转义所有数据 。 将特殊字符(如?,&,/,<,>和空格)转换为各自的HTML或URL编码的等效字符。 为用户提供禁用客户端脚本的选项。

窃听攻击 (Eavesdropping attack)

窃听攻击通过拦截网络通路而发生。 通过窃听,攻击者可以获取用户可能通过网络发送的密码,信用卡号和其他机密信息。 窃听可以是被动的或主动的:

被动窃听 – 攻击者通过监听网络中的消息传输来检测信息;

主动窃听 – 攻击者通过伪装成可信任的单位并向发送者发送查询来主动抓取信息。 这称为探测(probing),扫描或篡改。

数据加密是防止窃听攻击的最佳对策。

恶意软件攻击

恶意软件可以被描述为未经用户同意而安装在系统中的有害软件。 恶意软件可以将自己附加到合法代码并传播; 它可以潜伏在有用的应用程序中或通过Internet复制自己。 以下是一些最常见的恶意软件类型:

宏病毒 – 这些病毒感染Microsoft Word或Excel等应用程序。 宏病毒附加到应用程序的初始化序列。 打开应用程序时,病毒会在将控制权转移给应用程序之前执行指令。 病毒复制自身并附加到计算机系统中的其他代码。

特洛伊木马 (Trojans)– 特洛伊木马或特洛伊木马程序隐藏在有用的程序中,通常具有恶意功能。 病毒和特洛伊木马之间的主要区别在于特洛伊木马不会自我复制。 除了对系统发起攻击外,特洛伊木马还可以建立一个可以被攻击者利用的后门。 例如,可以对特洛伊木马进行编程以打开端口,以便黑客可以使用它来侦听然后执行攻击。

结论

本文列举了一些攻击者用来破坏信息系统的几种最常见的网络安全攻击。 攻击者有许多选择,例如DDoS攻击,恶意软件感染,中间人拦截和暴力密码猜测等,试图获取对关键基础架构和敏感数据的未授权访问。

解决这些潜在的安全威胁的措施各不相同,但大体上包括保持信息系统和防病毒数据库的最新状态,培训员工,将防火墙配置设置为仅需要的特定端口可以被访问,使用 IT环境中的最小权限模型,定期备份,并持续审核IT系统是否存在可疑活动。可以查看CAPEC网站来了解更多的网络攻击模式和解决方案。

常见的网络攻击类型

发表评论

邮箱地址不会被公开。 必填项已用*标注

÷ 六 = 1

滚动到顶部