天天看点

Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)

1.恶意软件的两个组成部分

  • 传播机制(propagation mechanism)
  • 有效载荷(payload)

传播机制指的是恶意软件如何从一个系统传播到另外一个系统中。有效载荷则指的是恶意软件具体的恶意动作,不同的恶意软件对象可以携带不同的有效载荷。

Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

2.恶意软件按照传播机制分类

恶意软件可以分类为病毒,蠕虫,木马:

  • 病毒:以人为操作的方式,从一个系统传播到另外一个系统的恶意软件。人为操作,如打开E-mail附件,打开一个恶意的网站等。病毒不会主动传播,除非有人的相关动作触发。所以最好的方式是教导用户防止病毒的基本知识。
  • 蠕虫:以自动的方式,从一个系统传播到另外一个系统的恶意软件,不需要人为的操作触发。蠕虫病毒可以寻找并利用系统的漏洞,即使用户不做任何事情,系统也会被感染。一旦蠕虫感染了新的一台设备,它将以这台新的设备为基石,感染到其与之网络相连的设备。所以最好的防御方法是,保持系统为最新版本,及时打补丁。
  • 木马:假冒为合法的应用的一部分,当用户下载安装后,应用正常运行,但是木马程序随之幕后运行,执行一些用户不知道危险动作。最好的抵御方式是使用应用控制解决方案,其可将系统上运行的软件限制在由管理员特别批准的标题和版本中。远程访问木马(Remote access Trojans,或者称为RAT),是木马中的一个类别,可以给黑客提供远程访问和控制被感染系统的能力。
    Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

二、恶意软件的有效载荷(malware payload)

1.恶意软件按照有效载荷分类:

  • 广告软件(Adware):广告软件是具有显示广告这一特定目的的恶意软件,但广告软件不是为内容所有者创造收入,而是为恶意软件作者创造收入。广告软件根据其向用户显示广告的机制而有所不同。一些广告软件将搜索查询重定向到一个由恶意软件作者控制的搜索引擎,或者恶意软件作者有一个附属机构,甚至取代了网站内的合法网页内容。
  • 间谍软件(Spyware):在用户没有允许的情况下收集用户的信息,并发送回间谍软件的制作者,用于其他目的,例如获取账号密码等(Logging keystrokes),搜索系统的硬盘和云存储等以获取敏感信息。广告软件和间谍软件经常来自于下载其他软件时的捆绑(Potentially unwanted programs,或者称为PUPs)。
  • 勒索软件(Ransomware):封锁掉用户正常使用的重要文件,直到用户像勒索软件的制作者付赎金,再发送密钥给用户解锁。例如WannaCry软件。
  • 加密软件(Cryptomalware):通过控制用户的计算机,并利用用户的计算机资源去挖矿,获取加密货币以获利。
    Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

2.抵御恶意软件的方法:

  • 反病毒软件;
  • 及时给系统打上安全补丁;
  • 提高用户防护恶意软件的意识。

三、了解后门(backdoors)和逻辑炸弹(logic bombs)

1. 一些恶意软件讲自身嵌入到其他程序中,而不是单独存在,常见有如下两个类型:

  • 后门:保证自身或者其他人能够在未来依旧能够连接到系统中,通常都目的并不坏,大多是软件创作者方便自己登陆系统,或者其客户无法登陆自己的系统,供应商能够通过其他方式登陆到其中。但是一旦后门被一些别有用心的人掌握,则会对系统造成巨大的威胁。后门通过几种不同的机制出现。有时,它们是硬编码的账户,有一个特定的用户名和密码,将永远允许访问一个系统;在其他情况下,有一些默认密码,用户可能不记得或不知道如何更改;或者,后门也可能是系统存在未知的访问渠道,有办法在不通过正常认证程序的情况下获得对系统的访问。
  • 逻辑炸弹:在特定条件下执行嵌入到软件中的代码,例如到达了具体的时间,在文件中查询到了具体的内容,或者是收到了API的对应回复,这些都可以被认定为具体的触发事件。
    Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

2.常见防御方法:

  • 使用防恶意软件的控制器;
  • 按时修改默认的密码,删除掉废弃的账号;
  • 监察自己机构使用的软件是否发现后门,或者逻辑炸弹的公告。

四、审视高级恶意软件(malware)

一些厉害的恶意软件开发者知道如何避免相关防御软件对恶意软件的查杀,从而设计了高级的恶意软件,例如:

  • 系统权限获取器(Rootkits):初步设计是为了权限升级,黑客可以获取目标系统的一个普通账户,然后通过rootkits对其进行提权。现在也被用来描述旨在隐藏系统中其他软件的软件技术。 Rootkits提供各种有效载荷。这些包括后门、僵尸网络代理、广告软件或间谍软件。它们的设计也不总是公开的恶意的。一些rootkits旨在作为受版权保护的内容的反盗取机制。
    Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行
    操作系统被设计为Ring protection mode,rootkie可以运行在user mode(低权限),或者kernel mode(高权限)中。在user mode运行的Rootkits容易编写,不容易检查;而在kernel mode中的Rookits不容易编写,且容易被检查到。
  • 无文件病毒(Fileless viruses):无文件病毒是另一种形式的恶意软件,旨在避免被简单的杀毒软件发现。它们通过从不向磁盘写入任何数据,包括它们自己也不在磁盘,而在内存中运行。最常见的就是JavaScript code的执行;其也可以将自身拷贝一份到Windows系统的注册表,从而修改Windows的结构,让系统重启后能够直接加载其进入内存中。

五、了解僵尸网络(botnets)

僵尸网络是用于恶意目的的僵尸计算机的集合。它们是一个受感染系统的网络。黑客在创建僵尸网络时,首先用恶意软件感染一个系统,可以通过各种手段来完成,例如蠕虫。然后再依次感染到整个系统的中的所有设备。

Security+ 学习笔记1 恶意软件一、对比病毒(Viruses)、蠕虫(Worms)、木马(Trojans)二、恶意软件的有效载荷(malware payload)三、了解后门(backdoors)和逻辑炸弹(logic bombs)四、审视高级恶意软件(malware)五、了解僵尸网络(botnets)六、恶意脚本(Malicious script)执行

一旦形成僵尸网络,其中的设备则需要等待僵尸网络的操作者发布命令,再执行。黑客常常将僵尸网络贩卖或者租借给他人去完成一些非法活动,例如诈骗、DDoS攻击、挖矿等。

通常黑客不能直接与其僵尸网络通信,发布命令,因为容易被安全系统检测到。因此,黑客会通过一些工具去隐藏自己的真实地址。使用的工具包括Internet relay chat、IRC channels、Twitter accounts等。需要注意的是,这些连接必须保持高度冗余,因为安全检测系统会检查并切断相应的连接。

六、恶意脚本(Malicious script)执行

1.脚本也就是操作者给计算机发布的一系列有顺序的命令的合集,如下是常见的使用脚本的方式:

  • Shell Script:运行在命令行,并且集成在操作系统里。方便脚本开发者操作文件和其他和操作系统完成多步奏任务。
  • Application Scripts:运行在应用软件中,并且也集成在对应的应用中,可以按照一定的方式与应用交互。
  • Programming Languages:主要的目的是让开发者能够创建通用的代码,来完成任何想要完成的任务。

2.脚本也以恶意的意图使用,黑客可以利用脚本做如下的事情:

  • 创建后门;
  • 修改文件许可、文件内容;

3.常见的脚本:

  • Bash:一种Shell Script脚本,使用在Linux和Mac system上(已经集成)。
  • PowerShell:同样是一种Shell Script脚本,应用在Windows系统上。
  • Macros:宏脚本,在一个应用程序环境中运行,允许在该应用程序中实现任务的自动化。Visual Basic for Applications,或称VBA,是最常见的宏脚本语言,因为它被微软的Office Productivity Suite使用。
  • Python:程序脚本语言。

参考资料来源:

https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

继续阅读