浅谈安全性攻击人为攻击的主要形式和防御

0x01 安全性攻击主要的两种方式

当前,对信息系统(包括硬件、软件、数据、人、物理环境及其基础设施)的攻击来自多方面,这些攻击我们可以宏观地分为人为攻击(主观因素)和自然灾害攻击(客观因素),这两大类的攻击都会对信息安全构成威胁。造成自然灾害攻击的自然因素包括各种自然灾害:如水、火、雷、电、风暴、烟尘、虫害、鼠害、海啸和地震等;系统的环境和场地条件,如温度、湿度、电源、地线和其他防护设施不良造成的威胁;电磁辐射和电磁干扰的威胁;硬件设备自然老化,可靠性下降的威胁等。因为自然灾害往往不可预知和抗力,所以自然灾害发生而造成的攻击通常是不可避免的。虽然自然灾害攻击通常不可预知,但是我们可以做一些防患于未然的措施,比如根据信息系统的重要性对其所处的地方进行自然灾害的预测与报警,根据信息系统所处环境的情况进行隔离保护等。不过往往信息安全安全性攻击的方式主要以的是人为攻击的形式出现,因为精心设计的人为攻击威胁较大,灵活多变而难于防御,所以在这里我们主要讨论人为攻击方式。

0x02 安全性攻击人为攻击

一般而言,人为攻击都是通过寻找系统的弱点,以非授权的方式达到破坏、欺骗和窃取数据信息等目的。由于人为攻击运用的方式往往非常灵活,所以导致人为攻击方法没有规范的分类模式,从攻击的目的来看,可以有拒绝服务攻击(Dos)、获取系统权限的攻击、获取敏感信息的攻击;从攻击的切入点来看,有缓冲区溢出攻击、系统设置漏洞的攻击等;从攻击的纵向实施过程来看,又有获取初级权限攻击、提升最高权限的攻击、后门攻击、跳板攻击等;从攻击的类型来看,包括对各种操作系统的攻击、对网络设备的攻击、对特定应用系统的攻击等。所以说,很难以一个统一的模式对各种攻击手段进行分类,采用不同的分类标准(如攻击手段、攻击目标等)我们可以将攻击形式分为不同的分类,这里我们参照美国国家标准局在2000年9月发布的《信息保障技术框架(IATF) 3.0》版本里的给出的参考,《信息保障技术框架(IATF) 3.0》中将攻击形式大致分为被动攻击、主动攻击、物理临近攻击、内部人员攻击和软硬件配装攻击等5类。

0x03 安全性攻击人为攻击分类

(1) 被动攻击

被动攻击是指在未经用户同意和认可的情况下攻击者嗅探窃听获得信息或数据文件并对其分析,但不对数据信息做任何修改。通常被动攻击包括监听未受保护的通信信息,流量分析,破解弱加密的数据流、敏感信息被动方式收集、获得认证信息(如用户账号和密码等)。

被动攻击.jpg

其中,流量分析的情况比较微妙,现在甲乙两者通过某种加密手段进行通信,如加密屏蔽了信息内容或其他通信量,使得攻击者从截获的消息中无法获得信息的真实内容,但攻击者还能通过观察分析这些数据包的格式或模式,分析通信双方的位置,通信的次数及信息长度等,而这些信息可能对甲乙双者来说是非常敏感的。

网络监听通常的目的是实现数据窃听,比如获取用户账号和密码等,如在telnet、ftp、http、smtp等传输协议中,用户帐户和密码信息都是以明文格式传输的。网络监听是通过一种监视网络状态、数据流程以及网络上信息传输的管理工具实现,它可以将网络界面设定成监听模式,并且可以截获网络上所传输的信息,但是网络监听只能应用于连接同一网段的主机。至于实现的工具有很多,比如著名的Sniffer监听工具。

访问控制是网络安全保护和防范的核心策略之一,非法访问会造成网络资源和信息的泄露。防止非法访问可以通过多种访问控制技术来实现,当然访问控制技术所涉及内容较为广泛,通过包括网络登录控制、网络资源使用权限控制、目录文件权限控制,以及属性安全控制等多种手段。

信息收集是指通过各种方式获取所需要的信息,为了更加有效地实施攻击而在攻击前或攻击过程中对目标主机的所有探测活动。信息收集分为被动式信息收集和主动式信息收集,被动式信息收集是利用第三方的服务对目标进行访问了解,具有基于公开渠道、与目标不直接接触、隐蔽性较好的特,常见的被动信息收集的方式有Google Hacking,DNS分析,whois查询,Shodan查询、ZoomEye Hacking等,一般在一个渗透测试项目下,你需要有多次的信息收集,同时也要运用不同的收集方式,才能保证信息收集的完整性。

被动攻击一般不易被发现,是主动攻击的前期阶段。此外,由于被动攻击不会对被动攻击对象做任何修改,留下的痕迹较少或根本没有留下任何痕迹,因而非常难以检测,所以抗击被动攻击的重点在于预防,具体的措施包括VPN(虚拟专用网络)、采用加密技术保护网络及使用加密保护的分布式网络等。

(2) 主动攻击

主动攻击是指攻击者通过有选择的修改、删除、延迟、乱序、复制、插入数据流或数据流的一部分以达到其非法目的,主动攻击主要涉及某些数据流的篡改或虚假数据流的产生,可能改变信息或危害系统,威胁信息完整性,可用性、真实性和有效性。主动攻击通常易于探测但却难于防范,因为攻击者可以通过多种方式发起,常分为中断、伪造、篡改等。

主动攻击.jpg

中断是指阻断由发送方到接收方的信息流,使接收方无法得到该信息,这是针对信息可用性的攻击。中断攻击方式主要体现为拒绝服务攻击,拒绝服务是指通过向服务器发送大量垃圾信息或干扰信息的方式,导致服务器无法向正常用户提供服务的现象,拒绝服务按其攻击原理分为多种类型,如:SYN Flood、UDP flood等,而分布式拒绝服务攻击是在传统的拒绝服务攻击基础之上产生的一类攻击方式,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动拒绝服务攻击,从而成倍地提高拒绝服务攻击的威力。

篡改是指攻击者修改、破坏由发送方到接收方的信息流,使接收方得到错误的信息,从而破坏信息的完整性。比较出名的例子如VOIP Hacking,在通信会话中插入、修改和删除VoIP包的中间人攻击。

伪造是针对信息的真实性的攻击,攻击者或者是首先记录一段发送方与接收方之间的信息流,然后在适当时间向接收方或发送方重放这段信息,或者是完全伪造一段信息流,冒充接收方可信任的第三方。广义上的伪造具体表现的攻击形式有多种如跨站请求伪造(CSRF)、服务器端请求伪造(SSRF)等。

主动攻击的特点与被动攻击恰好相反,被动攻击虽然难于检测,但可以采用有效的防御策略,而要绝对防止主动攻击是十分困难的。因而应对主动攻击的主要途径是检测,以及能从此攻击造成的破坏中及时地恢复,同时入侵检测系统或工具还具有某种遏制效果,在一定程度上也能起到防止攻击扩大的作用,具体的措施包括入侵检测、安全审计和完整性恢复等。

(3) 物理临近攻击

物理临近攻击是指未授权人以更改、收集或拒绝访问为目的而物理接近网络系统或设备。广义上的物理层次攻击也是现在发展的趋势,表现形式有旁信道攻击,智能家居系统入侵,汽车控制系统入侵,工业控制系统入侵。比如众所周知的震网病毒事件就是典型的工业控制系统入侵事件。

物理层面攻击步骤十分复杂,比如攻击者需要首先获取传感器的度数,操控发送到控制器的参数,最后将指令发送到执行设备上完整流程。实现物理层次攻击通常要求攻击者了解攻击目标的物理结构,具有大量的目标物理构成原理基础知识,具备设施工作原理的知识,更深层次要求攻击者了解目标设施的工程实现文档,了解目标设施的动态行为,以及其工作流程中的每个细节。下图给出了物理攻击一般步骤:

物理攻击步骤.jpg

(4) 内部人员攻击

内部人员攻击分为恶意的和非恶意的,来自IBM的一个专门做安全的研究团队X-Force,一直在做着全球范围安全情报信息收集和分析工作,根据X-Force二季度报告发现,55%的攻击来自内部人员,其中恶意行为占31.5%,疏忽大意导致的占23.5%。通常内部人员知道系统的布局、有价值的数据存放在什么地方及和何种防御工具在运行,所以他们往往能指定针对性的恶意攻击计划实施攻击行为。比较出名的事件索尼被内部人员攻击。

恶意攻击是指内部人员有计划地窃听或损坏信息或拒绝其他授权用户的访问,非恶意攻击则通常是由于粗心、缺乏技术知识或为了”完成工作”等无意间绕过安全策略但对系统产了破坏行为的情况,无目的事件包括:操作失误(操作不当、误用媒体、设置错误)、意外损失(电力线搭接、电火花干扰)、编程缺陷(经验不足、检查漏项、不兼容文件)、意外丢失(被盗、被非法复制、丢失媒体)、管理不善(维护不利、管理松驰)、无意破坏(无意损坏、意外删除等)。

内部人员攻击造成的危害不可小觑,应该制定相应的安全策略防御内部人员攻击,具体的措施包括实施一套专用的数据泄漏保护(DLP)设备或软件,配置防火墙,使用网络内的数据包检查,使用带有内容过滤,安全检测功能的邮件安全产品、控制内部人员USB设备使用、内部人员变更,身份以及权限管理、提升内部人员安全意识等。

(5) 软硬件配装攻击

软硬件配装攻击是指在软硬件生成的工厂内在在产品分发过程中恶意修改硬件或软件。这种攻击可能会给一个产品引入后门程序等恶意代码,以便日后在未授权的情况下访问所需的信息或系统。比较出名的Xcode事件就是因为开发者使用非苹果公司官方渠道的XCODE开发工具开发苹果APP,导致开发正常的苹果APP时会被植入恶意代码,从而导致开发的APP变成具有信息窃取,恶意远程控制功能的恶意程序。针对此事件我们应该养成不要从非官方渠道下载开发工具,下载软件之后进行Hash校验和比对的习惯。

0x03 总结

当然,在现实生活中一次成功的攻击过程可能会综合若干种攻击手段,在不同的入侵阶段使用不同的方法。通常是采用被动攻击手段来收集信息,指定攻击步骤和策略,然后通过主动攻击来达到目的。而我们所能做的就是采取措施保护信息资产,如及时发现并处理安全隐患、识别组织资产和风险、提升人员安全意识、采取恰当的策略和控制措施来消减风险,使信息资产不因偶然或者恶意侵犯而遭受破坏、更改及泄露,保证信息系统能够连续、可靠、正常的运行,使安全事件对业务造成的影响减到最小,确保组织业务运行的连续性。