勒索软件防护入门

news-image

 

谈到勒索软件防护,我们可以从着重关注两大方面:预防缓解

在预防层面,我们要力求做到万无一失,从源头尽量降低勒索软件攻击发生的可能性。

在缓解层面,我们提前做好充分准备,以便在攻击发生时能够有效应对。通过这种方式,一旦攻击发生时(注意是“当”,而不是“如果”),我们就能迅速恢复。

为了防止勒索软件攻击,需要落实所有网络安全最佳实践步骤——尤其要覆盖所有与贵司数据和网络有任何连接的员工以及整合的业务合作伙伴。

在今天这篇文章中,我们从所有员工和整个公司都应遵守的基础要点开始,然后依次介绍备份、进阶和高级步骤,目标是构建更强的抗风险能力。

 

预防基础:

你像往常一样登录电脑,但屏幕上只显示锁屏,设备无法正常启动。屏幕上出现一条信息,要求你支付比特币或现金。刚刚,你的设备遭遇了勒索软件攻击,这是所有设备面临的最大问题。 

 

什么是勒索软件?

勒索软件是一种恶意软件或病毒,它会锁定你电脑的全部功能,或者加密其中所有数据,直到你支付赎金解锁或解密。

一个勒索软件的例子是 “Ded cryptor”,它会锁住你设备上的所有文件,直到支付赎金为止。另一个非常知名的勒索软件是 “WannaCry”,它会加密你所有文件,使其无法访问,并要求支付一定数量的比特币来解密。

此类网络攻击是当今网络世界中最大的威胁之一,勒索软件受害者的数量正在迅速增加。

 

Locker Ransomware
- 锁屏型勒索软件

最常见的勒索软件形式是“锁屏型”(Locker)和“加密型”(Crypto)。

锁屏型(LOCKER)勒索软件会锁定你电脑的全部功能,迫使你支付赎金以重新获得控制权。

加密型(CRYPTO)勒索软件则会加密你最重要的数据,并威胁如果不按攻击者要求支付赎金,就销毁这些关键文件夹。

 

Crypto Ransomware- 加密型勒索软件


勒索软件感染系统的途径

黑客向你的电脑投放勒索软件最常见的方式,是发送伪造邮件、鱼叉式钓鱼邮件,或引导你访问伪造网站,让你自己下载恶意软件。

勒索软件传播的另一种常见方式,是当用户尝试通过所谓的“破解版”免费获取软件时,在后台被偷偷安装勒索软件。

一些较为知名的勒索软件包括:Locky、WannaCry、Bad Rabbit、Shade/Troldesh、Jigsaw、CryptoLocker、Petya、GoldenEye、GrandCrabe、B0r0nt0k、Dharma Brr、Fair、MADO 等。

针对以上这些勒索软件,大多已经有对应的解密工具,但每天仍在不断出现新的勒索软件!

 

Ransomware payment demand interface

- 勒索软件付款界面示例
 

你并非束手无策!

尽管看上去令人畏惧,但你依然可以采取一系列措施来预防此类攻击。

 

基础级防护措施 

\\1. 加强安全意识培训

最重要的是让你自己以及所有员工了解这种威胁,并意识到其可能对业务造成的后果。

公司内部的 IT 安全部门应定期关注并通报最新出现的威胁。绝大多数威胁只要能及时获知,并尽快应用厂商提供的补丁,都可以被提前阻断。

你可以在以下网站了解最新威胁信息: 

 

网络钓鱼是传播勒索软件病毒最常见的方式之一,因此要向员工重点讲解其可能造成的后果。

实践证明,定期向员工发送模拟钓鱼邮件,是一种非常有效的做法。通过这种方式,你可以发现哪些员工需要补充培训。

要模拟这类攻击,你可以使用免费的 usecure 服务,或者委托专业公司进行测试与培训。
https://www.usecure.io/en/free-employee-phishing-test

培训员工如何设置安全密码,并向他们解释为什么不应使用姓名、生日、以及诸如“123”之类的简单数字作为密码。
除了提升安全性,你还可以将密码管理器纳入日常实践,用来存储重要密码并生成新密码。一些知名的密码管理器包括 KeePassTeampass,以及我们的首选之一 Bitwarden

如果不确定该如何对员工进行培训,最好的办法是聘请专门从事安全意识培训的网络安全公司来协助你。


\\ 2. 定期备份数据

防范勒索软件攻击最重要的措施之一,就是定期备份你的数据。这样即使数据被加密,你仍然有备用副本可用。
那应该备份什么?


所有难以重新创建的内容都应纳入备份范围,包括: 

  • 网站(HTML、CMS)
  • 邮件服务器上的原始邮件
  • 媒体文件(图片、视频、音频)
  • 自定义数据(配置文件、后端文件、自定义脚本等)

 

在确定需要备份的内容后,你还需要决定采用何种备份类型:

  • 文件系统备份:适合备份配置文件、邮件、自定义脚本等。这类备份通常被称为“快照备份”,可以在某一时间点制作系统的完整副本。
  • 数据库导出(dump):适用于备份 SQL 数据库,因为它会生成可读文件,后续可以导回 SQL 服务器。

 

接下来,我们讨论备份的时间和存放位置。

 

何时备份?

对于每天都会变动且十分关键的数据,例如邮件服务器、网上商城订单等,应每天备份一次。
用于开发或后端的服务器,每次执行关键操作前后都应进行备份。
其他系统至少应每月备份一次。


备份存放在哪里?

备份可以存放在以下三种位置:

  • 与生产环境相同的服务器上
  • 与生产环境不同的其它服务器上
  • 外部位置(公司自有或第三方服务器)

从安全角度看,最佳实践是专门部署一台备份服务器,这样即便生产服务器遭到入侵,你仍然在独立服务器上拥有安全的备份。

Rsync 常用于文件系统备份。它只同步发生变更的文件,因此效率很高,大幅缩短备份时间。你可以很方便地配置目标备份位置,并设置手动或自动备份。

 

Rsync 手动备份:
  1. 首先在备份服务器上安装 Rsync
    # sudo apt-get install rsync
  2. 运行命令访问需要备份的服务和文件,然后指定备份存储路径。包括:具有备份访问权限的用户、被备份服务器 IP、</absolute path folder to backup/>(要备份的文件路径)、</absolute path to local storage/>(本地存储备份的路径)。
    # rsync -ahvz @:</absolut parth folder to backup/> </absolut path to local storage/>
  3. 输入所选用户的密码:

Enter the password for chosen user

 

Rsync 自动备份:
  1. 先在备份服务器上安装 Rsync
    # sudo apt-get install rsync
  2. 生成 SSH 密钥以便更方便访问服务器
    # ssh-keygen
  3. 使用以下命令将备份服务器上的公钥复制到生产服务器。这里的用户需具备访问和写入生产服务器的权限,后面是生产服务器 IP。
    # scp ~/.ssh/id_rsa.pub @:~/.ssh/uploaded_key.pub
  4. 配置使用 SSH 密钥登录生产服务器。同样需要有访问和写入生产服务器权限的用户及其 IP。
    # ssh @ 'echo `cat ~/.ssh/uploaded_key.pub` >> ~/.ssh/authorized_keys'
  5. 在备份服务器上创建一个文件夹用于存放从生产服务器复制过来的文件
    # mkdir ~/backup_server1/
  6. 创建备份命令(以下为可自行修改的示例)。用户为具有访问和写入生产服务器权限的账号,后面是生产服务器 IP。
    # rsync -ahvz --delete --link-dest=~/backups/server_1 @:~/public ~/backups/public_$(date -I)
  7. 随后将该命令加入 cron 计划任务,在你希望的时间自动执行
    # crontab -e
  8. 在 cron 中添加如下内容 
    # 0   3   *   *   *   rsync -ahvz --delete --link-dest=~/backups/server_1 @:~/public ~/backups/public_$(date -I)

 

现在,这条备份命令会在你设定的时间自动运行,并自动备份你指定的数据。

若需恢复备份,只需将备份服务器中的文件复制回生产服务器即可。

Rsync 的完整文档可参见:https://linux.die.net/man/1/rsync

在 Windows 系统,你可以使用 EaseUS 提供的免费备份软件,对中小企业而言非常实用:
https://www.easeus.com/backup-software/tb-free.html?x-clickref=1101lh3Ycrd8

 

\\ 3. 使用防病毒软件

定期更新防病毒软件,并使用它扫描工作站,修复检测出的安全问题。

如果你没有购买 Sophos 等付费防病毒软件,也可以考虑部分主流厂商提供的免费解决方案:

https://www.bitdefender.com/solutions/free.html

https://www.kaspersky.com/free-antivirus

 

\\ 4. 三思而后行

在点击邮件中的任何链接或访问未知网站之前,请务必三思。这样可以有效降低落入黑客骗局的风险。

 

\\ 5. 使用阻止弹窗的浏览器插件

在浏览器中安装弹出窗口拦截插件。弹出式窗口是意外安装恶意软件的常见途径之一。

在你使用的浏览器中打开扩展(插件)商店,搜索并安装 Adblock Plus(ABP)。该插件能够拦截大部分垃圾弹窗。

 

\\ 6. 使用强密码

始终使用强密码,可以防止黑客通过暴力破解获取你的账号访问权限。

为了保证每个密码都安全且各不相同,又无需将它们写在纸上,最好的办法是使用密码管理器。密码管理器不仅可以集中存储重要密码,还可以在需要时生成新密码,大大降低密码被暴力破解成功的可能性。

以下是几款免费的密码管理器:


\\ 7. 仅从可信网站下载

你要使用的软件应只从官方或已验证的网站下载,不要从来历不明的第三方来源获取,这些来源经常被植入恶意文件。

 

\\ 8. 不要泄露个人信息

如果你收到可疑的短信、邮件或电话,请不要回复,也不要提供个人信息。为实施攻击,黑客往往会先尽可能多收集你的信息,以便后续更容易骗过你。

 

\\ 9. 测试用户安全意识

除了定期培训外,定期对员工进行测试也非常重要。这样可以检查每位员工的安全意识水平,并确定哪些员工需要额外培训。

定期测试对很多公司来讲并不容易,搭建相关系统也较为复杂。因此,你可以使用一些免费服务商提供的钓鱼邮件测试,让他们为你的员工发送模拟钓鱼邮件。

例如你可以使用 https://www.knowbe4.com/phishing 来测试员工,或者聘请外部公司,根据你的邮件设计或登录页面需求,量身定制测试。

 

#### 中级勒索软件防护 ####
 

\\ 1. 限制管理员权限

日常使用电脑时,你和你的员工都不应使用具有管理员权限的账号登录,这样可以最大程度限制潜在损害范围。


在 Windows 中限制管理员权限,只需将终端用户账号从管理员组中移除:

  1. 在域控制器上,右键需要限制的组,然后选择“Create a GPO in this domain and Link it here...”
  2. 为新建的组策略命名
  3. 右键刚创建的组策略,选择 Edit(编辑)
  4. 进入“Computer Configuration >> Preferences >> Control Panel Settings >> Local Users and Groups”
  5. 在该处右键,选择“New >> Local Group”
  6. 按如下方式配置设置:

 

Admin rights customization

- 管理员权限设置示例

 

上述设置会将管理员组中的所有用户移除,只保留你明确指定的用户。

  • 最后更新 GPO 即可生效。在 CMD 或 PowerShell 中输入:
    # gpupdate /force

 

对于 Linux 用户,只需创建一个 “admin” 组,并仅给予该组用户 sudo 权限:

  1. 创建 admin 组 
    # sudo groupadd admin
  2. 将管理员用户加入 admin 组
    # sudo usermod -a -G admin
  3. 限制仅 admin 组用户可使用 sudo(su)命令
    # sudo dpkg-statoverride --update --add root admin 4750 /bin/su


现在只有 admin 组中的用户才可以执行 su 命令。

 

\\ 2. 邮件过滤

为公司邮箱创建合适的过滤规则,以拦截垃圾邮件、钓鱼邮件和其他恶意邮件。如果条件允许,优先使用公司邮件网关上的过滤功能。

不同厂商的邮件网关在过滤规则方面有所不同,每位厂商都会提供详细的配置文档以及各项过滤功能如何提升安全性的说明。


以下是几款常用邮件网关的相关文档:


如果使用 Google Gmail,可按以下步骤创建过滤器:

1. 在右上角点击齿轮图标,然后选择“See all settings”(查看所有设置)。

See all settings

 

2. 选择“Filters and Blocked Addresses”(过滤器和被封锁的地址)。

Filters and Blocked Addresses
- 邮件设置示例

 

3. 点击“Create a new filter”(创建新过滤器),会出现一个新窗口。

4. 例如,可以在发件人(From)里写入“*@microsoftRS.co.me”,或在“Has the words”(包含以下字词)中输入“Important”。这样就可以过滤所有来自“microsoftRS.co.me”域的邮件,或所有包含“Important”字样的邮件。

5. 设置好条件后,单击“Create filter”(创建过滤器),再勾选要执行的操作,比如将其移到指定文件夹,或直接删除。


\\ 3. 定期打补丁

定期为系统和软件打补丁,可以减少系统遭受已知攻击的风险。

系统打补丁相对复杂,在开始前需要完成以下几步:

  1. 列出你需要打补丁的内容(操作系统、软件等)
  2. 确定执行更新和打补丁的时间(通常是周末早晨等业务影响较小的时段)
  3. 在计划时间的前一天下载补丁

 

完成上述步骤后即可开始打补丁。务必在打补丁前进行备份,并在打完补丁后检查系统是否正常工作。

下面以自动更新 Ubuntu 服务器为例:

1. 在服务器上安装自动更新组件“unattended-upgrades”
# sudo apt install unattended-upgrades

2. 安装后需要启用并启动该服务。
# sudo systemctl enable unattended-upgrades
# sudo systemctl start unattended-upgrades

3. 编辑配置文件以定义需要更新的内容
# nano /etc/apt/apt.conf.d/50unattended-upgrades

配置文件示例:

 

Ubuntu configuration

- Ubuntu 配置示例

4. 为启用自动更新,需要新建自动更新配置文件。
# touch /etc/apt/apt.conf.d/20auto-upgrades 

5. 使用文本编辑器修改自动更新配置文件
# nano /etc/apt/apt.conf.d/20auto-upgrades 

自动更新配置示例:

Example of the automatic upgrade file

其中 “Update-Package-Lists” 和 “Unattended-Upgrade” 赋值为 1 表示开启自动更新,0 表示关闭。
“AutocleanInterval” 用于设置自动清理旧软件包的时间间隔(天数)。

6. 通过以下命令测试配置是否有效 
# sudo unattended-upgrades --dry-run --debug

test configuration simply run
- 自动升级示例
 

完整文档参见:https://wiki.debian.org/UnattendedUpgrades

你也可以使用一些可信厂商的补丁管理系统,例如:

 

\\ 4. 注意文件扩展名

将电脑设置为显示文件扩展名,确保你打开的文件确实是你想要的。黑客常常会把病毒伪装成普通的 PDF 文件,实际上它是可执行文件。

在 Windows 中显示扩展名非常简单:打开“文件资源管理器”,点击“查看”(View),勾选“文件扩展名”(File name extensions)即可。

 

Show file type extensions by default in Windows
- 在 Windows 中显示文件扩展名


\\ 5. 禁用自动播放(AutoPlay)

关闭 Windows 的 AutoPlay 组件,避免插入光盘、U 盘等介质时自动运行其中内容。


在 Windows 中,点击键盘上的 Windows 键或任务栏中的 Windows 图标,在搜索栏中输入“AutoPlay Settings”(自动播放设置),打开后即可选择完全关闭自动播放,或为每种设备设置合适的默认操作。

 

#### 高级反勒索软件防护 ####

 

\\ 1. 网络分段

网络分段是指在企业网络内部划分多个子网。通过网络分段,可以限制恶意病毒和威胁的传播范围,同时提升整体网络性能。 

要进行合理的网络分段,首先需要识别关键资源和重要数据。

例如,最佳实践是将服务器与终端用户分属不同 VLAN,将灾备(DR,Disaster Recovery)环境完全独立出来,确保其免受各类威胁的影响。对于需要通过互联网访问的服务,可以放置在单独的 DMZ(非军事区)区域,而数据库则放在专门受控的内部区域。

通过部署内部防火墙,可以进一步加强分段效果,比如精确控制访问数据库的主机和端口。这样一来,即使攻击者攻陷了某台终端电脑,也难以轻易接触到你的核心数据。

对于刚开始实施网络分段的企业来说,这个过程可能较为复杂。如果缺乏足够经验和技术人员,建议聘请网络专家来设计与实施。

 

\\ 2. 应用白名单

应用白名单是保护企业网络免受各类病毒(包括勒索软件)攻击的最有效措施之一。其安全思路是:经过良好实施后,企业可以精确规定哪些应用、软件、脚本可以在用户电脑或服务器上运行。

许多厂商已经在其防病毒产品中集成了这一功能,例如 Sophos 的防病毒代理就能让系统管理员统一控制普通用户可以使用或运行哪些程序。举例来说,销售部门的员工通常不需要运行任何 Python 脚本,因此禁止他们执行这类脚本,可以大幅降低被 Python 编写的恶意代码攻击的机率。

要成功部署应用白名单,需要详细分析各岗位的工作内容,从而判定不同部门所需的程序、软件等。

 

\\ 3. 制定灾难恢复(DR)计划

灾难恢复计划包含公司在发生安全事件时需要执行的政策、流程和工具,目的是让公司尽快恢复到可正常运行的状态。 

即使是网站或系统短时间不可用,也可能在一小时内给企业带来数万甚至更高成本,因此有必要准备备用系统,以便在问题完全解决前保持基本业务运转。

最理想的方式,是为生产系统建立副本,以便在必要时可以整体或部分替代。灾难恢复站点(DR Site)通常是公司关键系统的完整或部分备份环境。

 

灾难恢复站点主要分为三种类型:
- 热站(HOT Site): 

热站是与生产环境完全一致的副本,其最大优势是与生产环境实时同步,并可并行运行。一旦生产系统遭受攻击或无法使用,热站可以在几分钟内接管业务,从而将业务中断时间降至最低。但由于成本较高,通常只用于最关键的系统。

- 温站(WARM Site):

温站介于冷站和热站之间。与热站不同,温站仅包含安装好必要软件的服务器,但通常不包含完整数据库。要从温站启动系统,仍需完成额外配置、连接以及数据库恢复。因此,温站多用于非关键系统。其部署和维护成本远低于热站,但恢复为可用状态所需时间更长。

- 冷站(COLD Site):

冷站大致只提供基础设施,如制冷系统、电源供应和额外硬件资源。当生产系统负载过高或遇到问题时,可使用冷站支撑或迁移负载。冷站的搭建和投入时间较长,但成本也最低。

 

\\ 4. 零信任模型(Zero Trust)

零信任是一种安全理念,其核心思想是:组织对内部与外部的任何人、任何设备都不默认信任,而是要求在获得访问权限前全部经过验证。在传统 IT 架构中,不在网络中的人员很难获得访问权限,而一旦进入网络的用户通常会被默认信任;而在零信任模型中,没有任何默认信任,所有访问请求都必须验证。

这一模型被广泛认为是当前 IT 安全的最佳实践之一,但在任何组织中落地实施都相当困难。我们将在未来的内容中更深入地讨论这一主题。

 

遭遇勒索软件攻击时该怎么办?

 

\\1. 发现被感染设备并立即隔离

一旦发现任何设备可能被感染,要立刻断开网线、拔掉 WiFi 适配器,并将其关机。 

勒索软件会在网络中传播,因此,一旦确认某些设备被感染,就必须尽快将它们与其余基础设施隔离。在确定共享文件夹是否被感染之前,建议暂时关闭所有共享目录。

 

\\2. 找到感染源

在成功隔离所有受感染设备之后,需要确定勒索软件的来源。先排查所有未安装最新操作系统版本、或使用了存在已知漏洞应用的设备;同时,与员工沟通,确认是否有人收到可疑邮件、不小心点击了可疑链接,以及谁最先出现勒索软件的迹象。

 

\\3. 通知全体员工

向所有员工通报当前威胁。通过群发邮件提醒大家留意任何异常行为。如果条件允许,最好亲自走访各个部门,与员工面对面说明威胁情况。

 

\\4. 从备份中恢复

成功控制损失并通知所有员工后,恢复数据与系统的最佳方式(也是避免支付赎金的最佳途径)就是通过备份进行恢复。 

如果你一直有定期备份,那么将系统恢复到攻击前的状态就不会太困难。支付赎金拿到解密密钥后,你永远无法保证攻击者不会再次启用加密程序,再次向你索要赎金;通过将系统恢复到攻击发生前的状态,才能最大程度确保环境已经彻底清除恶意程序。

 

\\5. 切记不要支付赎金

虽然看起来支付赎金像是最省事的办法,但不要这么做,因为没人能保证攻击者会为你解锁数据。相关研究表明,只有大约 20% 的支付赎金案例最终成功解锁数据。此外,你也无法确定系统中是否仍残留恶意组件,攻击者是否会在未来某个时间点再次重新启用勒索程序,要求你支付更多赎金。

 

如果下面这些方法对你有效,那运气很不错:

作为替代方案,如果你已经安装了防病毒软件,也可以尝试使用一些知名厂商提供的免费工具来清除勒索软件。

 

Ransomware Decryption

- 勒索软件解密工具示例

 

Microsoft
https://www.microsoft.com/en-us/download/details.aspx?id=54264&

Kaspersky
https://noransom.kaspersky.com/&

AVG
https://www.avg.com/en-gb/ransomware-decryption-tools#apocalypse

TrendMicro
https://esupport.trendmicro.com/en-us/home/pages/technical-support/1105975.aspx

Avast
https://www.avast.com/ransomware-decryption-tools

McAfee
https://www.mcafee.com/enterprise/en-us/downloads/free-tools/interceptor.html

 

结语:

希望你能顺利地做好预防和准备工作,应对勒索软件威胁。如果你需要专业协助,可以联系 SEIRIM,了解我们的勒索软件预防与防护服务,帮助你的企业保持安全。

 

 

author-image
author-image
about the author

Stephen Schroeder

about the author

Stephen Schroeder

Stephen Schroeder is a seasoned cybersecurity expert with over a decade of experience in the field. Holding a Master's degree in Computer Science from MIT, he has worked with numerous Fortune 500 companies to bolster their digital defenses.

Ready to Get Secure?

The SEIRIM team of professionals is at your service to design, develop and deliver better cybersecurity for your organization.

let’s connect
get latest updates

Similar Articles

2024-03-28 - 网络安全

年度权威网络安全威胁摘要报告精选

2023年度网络安全威胁与情报趋势年度综述。