恶意软件是危害设备或数据的不良软件的统称。下面讲解主要类型,以及无论类型如何都共通的防御方式(不含攻击步骤)。
恶意软件的类型
名称有很多,但真正需要了解的只是大致有哪些种类——因为如下文所述,防御方式是共通的。
病毒
寄生到正规文件上,一旦运行便自我复制并扩散感染。无法独立行动。
蠕虫
独立自我复制,并跨网络自动扩散。在疏于加固的网络中会爆发式蔓延。
木马
伪装成有用的正规软件混入,然后在后台进行恶意行为。特征是「你自己把它装进去」。
勒索软件
加密文件并索要赎金。如今通常还伴随数据窃取,即双重勒索(→专门文章)。
间谍软件
悄然潜伏而不被察觉,窃取按键输入·凭据·浏览记录等。
僵尸程序 / 僵尸网络
远程操控受感染的机器,把大量机器捆在一起用于攻击。指令来自 C2(→C2)。
实际上,一个恶意软件同时具备其中几种特征并不罕见(例如:作为木马混入,作为间谍软件窃取数据,最后投放勒索软件)。正因如此,与其花时间纠结「这是哪种类型?」,不如把预防·检测·恢复的防御做扎实来得实用。
恶意软件、病毒、勒索软件与后门的关系
这几个词常被并列使用,但它们并不在同一层级。恶意软件是统称,另外三个是其中的种类或功能。
| 术语 | 含义 | 如何区分 |
|---|---|---|
| 恶意软件 | 不良软件的统称 | 包括下面三者 |
| 病毒 | 通过寄生到其他文件上传播的恶意软件 | 无法独立运行;宿主文件运行时扩散 |
| 勒索软件 | 加密文件并索要赎金的恶意软件 | 会留下勒索信,主动现身 |
| 后门 | 绕过认证、隐藏起来的再次进入通道 | 既可能作为恶意软件被植入,也可能以设置或账户的形式被制造出来 |
「杀毒软件(防病毒软件)」这个名称是历史沿袭下来的,实际产品检测的远不止病毒。
主要感染途径
恶意软件不会凭空出现,它是经由一组可预测的途径进来的。这里只列出高层次的途径(不含具体手法)。
无论哪一种,途径都是人与运营上的缝隙——随手打开、放着软件不更新、不核实来源。下文的防御能挡住其中的大部分。
防御(类型各异,要做的事却一样)
你不需要为每种类型准备单独的对策。要做的是组合好对恶意软件普遍有效的三项防御。
防止感染:更新·可疑文件·MFA
定期更新操作系统与软件,别让已知的漏洞一直不修补。不要打开意料之外的附件·宏或链接。用多因素认证(MFA)保护主要账户,让凭据被盗也不等于立刻被攻破(→ 如何选择 MFA)。
加上检测层:杀毒软件 / EDR
用杀毒软件(含操作系统自带)拦截已知威胁,在需要更多时用 EDR 监控行为,把未知的恶意软件也一并捕捉(→ 什么是 EDR)。不过检测并不完美——绝不要只依赖它。
限制损害:最小权限
日常工作不要以管理员身份运行。把权限保持在最小,意味着即便有东西真的运行起来,它也无法扩散太远——一台设备或一个账户不会连锁波及到全部。
能够恢复:备份
最后的防御是备份。尤其对勒索软件而言,离线/不可篡改的副本加上定期的还原测试决定了结果(→ 备份与恢复的基础)。
传统杀毒软件(比对已知)
- 通过比对已知恶意软件的「指纹(特征码)」来检测
- 轻量高效,对广泛流通的威胁有效
- 对未知/刚做出来的变种容易漏检
- 常被误解为「装上就安全」
EDR(监控行为)
- 依据可疑的行为(异常的加密·对外通信)而非文件名来检测
- 能察觉未知的攻击以及「对正规工具的滥用」
- 留有记录,可用于感染后的调查与遏制
- 但仍不能替代预防(更新)与恢复(备份)
本站的观点:记住类型并不是防御策略
攻击者会不断改变名称与外表。追逐「本月的恶意软件名称」并不会让你的防御变强。对所有类型都有效的,是把预防·检测·恢复组合起来。本站对自身也采用同样的原则:持续更新依赖包以防止感染,机器监控 CVE 以进行检测,并让配置可再生成以便恢复。防御恶意软件并不特殊,它只是这些基础的延伸。
实例:Emotet
在日本造成最大危害的恶意软件之一是 Emotet。JPCERT/CC(日本的国家级 CERT)从 2019 年前后起多次发出警告,在一度沉寂之后,自 2021 年 11 月起又再次观测到其活动。
- 入侵方式
- 带宏的 Word 或 Excel 附件、加密码的 ZIP 文件、邮件正文中的链接。用户启用宏或打开链接时就会被感染
- 感染之后
- 从设备中窃取邮件内容和联系人,再利用它们冒充真实的业务伙伴继续发送邮件
- 扩散方式
- 受害者的业务伙伴和熟人会收到看似真人回复的邮件
- 检查手段
- JPCERT/CC 发布了检查工具 EmoCheck
Emotet 的教训是:即使邮件看起来像熟人的回复,基本功依然有效——不要启用附件中的宏,对意料之外的附件,通过其他渠道向发件人确认。另一个例子:在 Coincheck NEM 被盗事件中,据报道,发给员工的邮件中携带的恶意软件是入侵的第一步。
如何检查自己的设备
Windows:保护历史记录与扫描
打开「设置」中的「Windows 安全中心」→「病毒和威胁防护」。查看保护历史记录中有无检测记录,并从「扫描选项」运行完全扫描。如果什么都没发现却仍然怀疑,可以在同一画面运行 Microsoft Defender 脱机扫描,在不启动 Windows 的状态下检查电脑。
查看开机自启项与扩展
检查任务管理器的「启动应用」选项卡和浏览器的扩展列表,看有没有不是你安装的东西。如果有,就禁用并删除。
手机:应用与配置描述文件
Android 上运行 Google Play 保护机制的扫描,并删除来源不明的应用。iPhone 上在「设置」→「通用」→「VPN 与设备管理」中检查有无你不认识的描述文件。
也检查一下账户
查看邮箱、社交媒体和网上银行的登录历史,并检查邮件的自动转发规则。即使恶意软件已从设备上清除,被盗的密码仍然有效,所以要从另一台安全的设备上修改密码。
「我装了杀毒软件,所以没事」并不成立
最常见的错误,就是完全依赖一个检测工具。检测总会漏掉一定比例,一旦有东西漏过去,就再没有其他东西在保护你。
有效的做法是组合多项防御:用预防削减总量(不打开·勤更新),用检测(杀毒软件/EDR)抓住剩下的,再用恢复(备份)消除仍然漏进来的东西造成的损害。不倚赖任何单独一层,正是恶意软件防御的起点。
出处(一手资料)
- JPCERT/CC「マルウェアEmotetの感染再拡大に関する注意喚起」(日语) — jpcert.or.jp(感染途径、EmoCheck)
- Microsoft Support, "Virus and threat protection in the Windows Security app" — support.microsoft.com(扫描与脱机扫描)
接下来阅读
- 看到「你的电脑已感染」的弹窗?如何关闭技术支持诈骗页面,以及已经打了电话该怎么办
- 术语:什么是勒索软件(危害最大的类型·双重勒索)· 什么是 C2(指挥控制服务器)(僵尸程序如何被操控)
- 术语:什么是 EDR(凭行为检测未知)· 什么是 IOC(入侵指标)(感染的痕迹)
- 入门:备份与恢复的基础(事故后如何恢复)· 安全最低限度检查清单(预防·检测·恢复的基础)
- 案例:Coincheck NEM 被盗事件(2018)(鱼叉式钓鱼投递的恶意软件窃取了热钱包私钥,这是约 5.3 亿美元损失的第一步)