一、名词解释:啥是 “恶意软件”?(本文来自互联网,作者不详,有删节)
“恶意软件” 也称为 “流氓软件”,洋文叫做 “Malware”(Malicious Software 的简写式),维基百科的条目在 “这里”。
顾名思义,这是一种对用户而言存在恶意的软件。
“恶意软件” 的范围很广,有些对用户的危害较小 (比如广告),有些的危害比较大 (比如今天要聊的勒索软件)。
二、名词解释:恶意软件的分类 (基于传播方式)
“恶意软件” 可以根据不同的 【维度】 来进行分类。如果根据 【传播方式】 来分类,大致可以归纳出如下几种:
捆绑形式
这种类型的恶意软件,通常是捆绑在某些正常软件中,以此来获得传播。
举例:
想当年,360 的老板周鸿祎就是靠 “3721 上网助手”(后改名 “雅虎助手”) 起家的。这个 3721 在当时真可谓臭名昭著。它就是靠捆绑的方式 (捆绑在某些免费共享软件中),来获得巨大的装机量。
病毒形式 (viruses)
“病毒” 这玩意儿,大伙儿应该比较熟悉了 (尤其是经历过 DOS 时代的 PC 老用户)。
“病毒” 的主要特色是 “传染性”——“文件型病毒” 可以从一个文件扩散到另一个文件;“引导型病毒” 可以从一个磁盘 (硬盘/软件) 扩散到另一个磁盘。
蠕虫形式 (worms)
“蠕虫” 这个概念,熟悉的人就比较少了。
“蠕虫” 也具备传染性 (导致很多人把 “病毒” 跟 “蠕虫” 混淆)。这两者的差别在于——蠕虫的传染是 【主动】 且 【实时】,不需要人为介入;而病毒的传染相对而言是被动的 (需要人为介入)。
比如说:文件型病毒要想获得传播机会,前提是:病毒所感染的宿主文件要被用户打开,病毒才能得到运行机会;相比之下,蠕虫可以在 【无人介入】 的情况下,通过网络在电脑主机之间进行扩散 (而且这种扩散可以实现 【指数级增长】)。
举例:
这次的 “WannaCry 勒索软件” 就是以蠕虫形式传播。
木马形式 (trojan horses)
“木马” 相比 “病毒” 和 “蠕虫” 的主要差别就是——木马 【不】 具有传染性。
举例:
一款很高级的木马,名叫 “黑暗幽灵”。
逻辑炸弹形式 (logic bomb)
“逻辑炸弹” 这个概念,即使在信息安全行业中,听说的人也不多。
“逻辑炸弹” 也是 【不】 具有传染性的 (这点与 “木马” 类似)。它跟 “木马” 的差别在于:
木马是 【外来】 的——必须通过某种方式 (比如:系统漏洞、欺骗) 侵入电脑主机;而 “逻辑炸弹” 通常是由 【内部人员】(比如软件系统的开发人员或维护人员) 植入到软件系统中。
为了通俗地理解,你可以把 “逻辑炸弹” 想象成某种数字化的定时炸弹——在达到某个特定的逻辑条件时就会被触发,然后执行破坏性的动作。
举例:
(为了让大伙儿加深印象,说一个国外的知名案例)
某公司的程序员负责维护本公司的人事系统。此人担心自己有一天会被解雇,所以就在人事系统中植入一个 “逻辑炸弹”。
这个 “逻辑炸弹” 每天都会去判断人事系统中的解雇人员名单,一旦名单中包含此人的名字,逻辑炸弹就 “引爆”——把整个服务器的硬盘格式化掉。
三、“勒索软件” 可以组合不同的传播类型
刚才俺介绍 “恶意软件的类型”,聊了很多种。有些同学会纳闷——为啥其中没有提及 “勒索软件” 捏?
因为 “勒索软件” 这个名词是根据恶意软件的 【行为】 来命名的。而前面俺介绍 “恶意软件的类型”,是根据 【传播方式】 来谈分类。
实际上,前面提到的 【每一种类型】,都可以制作成 “勒索软件”——可以有木马形式的勒索软件 (这种是最常见的),可以有蠕虫形式的勒索软件 (比如这次的 WannaCry),也可以有病毒形式以及逻辑炸弹形式。
四、“勒索软件” 增多的主要原因——更诱人的经济效益
如今这个世道,道德高尚的黑客 (hacker) 越来越少,而人品低劣的骇客 (cracker) 却越来越多。(关于这两者的差别,可以参见旧博文——《每周转载:关于黑客文化和黑客精神》)。
骇客们 (cracker) 大都是追求经济利益的。所以勒索软件的作者,毫无疑问都是骇客 (cracker) 而 【不会是】 黑客 (hacker)。
“勒索软件” 增多是因为——基于 “勒索软件” 来赚钱,越来越好赚了。为啥捏?俺总结了如下几个原因:
◇打击面非常广
如今网上的技术菜鸟实在太多了,大部分网民完全没有信息安全的意识。比如说:很多人用一台没有任何安全防范的 Windows 电脑上网浏览 (这种行为被戏称为 “裸奔”);还有很多人会轻易相信网络钓鱼邮件。
所以,勒索软件的作者,日子实在太好过了。比如说:他们可以先搭建一个网页挂马的网站;然后大范围群发钓鱼邮件,诱骗菜鸟点击这个挂马的网址;总会有很多让菜鸟中招 (被植入木马);植入的木马悄悄地在系统中寻找有价值的文档,并进行加密;等到加密得差不多了,就弹出一个界面提醒菜鸟要交赎金啦。
由于菜鸟的基数很大;所以中招的受害者,基数也很大;哪怕受害者中只有一小部分人愿意支付赎金,对勒索软件的作者而言,也是一笔不菲的横财。
◇网络匿名技术 (“暗网” 及其它)
如今的 “网络匿名术” 已经越来越发达。
在这种情况下,勒索软件的作者如果善于匿名化,即使他/她通过网络跟受害者沟通 (交涉赎金),警方也很难定位到他/她的真实身份。
◇比特币
在比特币诞生之前的时代,勒索软件如果想拿钱,通常需要让受害者把钱 (赎金) 转账到自己的户头。如此一来,恶意软件作者就暴露了自己的账户,从而大大增加了被捕的危险性。
有了比特币之后,恶意软件的作者 【无需】 再使用传统的银行帐号,大大增加警方追捕的难度。
◇兼谈 【技术的两面性】
曾经有读者指责俺普及的这些匿名化教程,会助长网络犯罪。
任何技术都具有两面性——既可以用来行善,也可以用来作恶。就好比菜刀可以用来切菜,也可以用来砍人。如果因为某项技术可以被用于作恶,就企图禁止该技术——这种想法是极其愚蠢滴!
换一个角度来谈:在信息时代,技术的进步/发展是无法阻挡的。比如:当年美国唱片联盟 (RIAA) 想要打击 BT 下载,结果如何捏?BT 下载依然火爆。
在如今这个信息时代,与其花很多脑力/精力去 【对抗】 技术进步,还不如想着如何去 【适应】 技术进步。
五、“勒索软件” 未来的进化
下面聊的某些特性,可能已经在少数勒索软件中出现了;还有一些特性,虽然目前尚未面世,但是毫无疑问,将来会有某些骇客想到这些点子。
俺写这个章节,出发点是:警告大伙儿 (尤其是菜鸟) 关于勒索软件的危险性;但从另一个角度——某些恶意软件的作者也会从本章节得到启发。这又是一个尴尬的 【两面性】。
◇更智能地选择加密对象
将来的勒索软件必然会更狡猾——它们能分析哪些文件是值得加密的,哪些是没必要加密的。比如说,Windows 上的 exe 文件 (可执行文件) 通常是 【没必要】 加密的。相反,Office 文档 (Word、Excel、PowerPoint) 显然更值得加密。
具备这点的勒索软件,加密的效率会更高 (因为加密的文件数大大降低了)。很有可能,你尚未察觉到任何异常,它已经把全部 【有价值的文件】 都加密完了。
◇【透明地】 加密
更智能的勒索软件,可以做到 【透明加密】(技术行话叫做 “on-the-fly encryption”)。
具备此特性的勒索软件,先要在系统中安装驱动 (文件过滤型驱动),并在驱动中进行动态加密/解密。也就是说,当用户想要打开文件的时候,动态解密 (文件照样能打开),当保存文件的时候,动态加密 (存储在磁盘上的 【文件内容】 是密文)。
能实现此功能的勒索软件,可以让加密文件的 【文件名】 保持原样,连 【文件修改时间】 也保持原样,再加上文件也能正常打开/保存。因此受害者几乎不可能发现异样。因为此特点,这类勒索软件可以潜伏很久 (潜伏期很长)。
(顺便说一下:一旦实现 【透明加密】,即使你用哈希校验工具计算被加密文件的散列值 (比如:MD5、SHA1、SHA256),得到的依然是正常的值。因为哈希校验工具也要通过文件驱动,才能得到文件内容)
当它已经加密了 【足够多】 的文档,并且这些文档对用户而言都是 【有价值】。然后在某一天,勒索软件把上述那个 (动态加密/解密的) 驱动卸载,并彻底销毁解密密钥,然后就可以弹出一个勒索赎金的界面。
“潜伏期很长” 还 【不是】 此类勒索软件的杀手锏。它更危险之处在于:可以让受害者的 【备份策略失效】。
啥意思捏?因为受害者无法察觉到 【透明加密】,所以受害者还是会如往常一样进行文件备份 (备份到 “网盘、外置硬盘”)。结果捏,备份出去的文件已经是被加密的了 (已经废了)。
◇劫持网络帐号
如今的网民,越来越依赖于各种网络服务的帐号,比如 “邮箱帐号、聊天帐号、社交帐号、游戏帐号 ......”。所以,帐号势必成为骇客们眼中的高重要目标 (越重要就越能够拿到赎金)。
假如说,你能够在 PC 上修改你的某个帐号密码/用户密码,那么这台 PC 上的木马,同样也可以做到。
(请注意:大部分修改密码的界面,都 【不要求】 输入 “人机验证码”。这就大大方便了木马程序来进行类似的操作)
◇对于 “劫持网络帐号”,【两步验证机制】 是可以被搞定滴
聊完 “帐号劫持”,肯定有些同学会跟俺提:两步验证机制。很多人 (包括 IT 技术人员)【误以为】“两步验证机制” 是坚不可摧滴。其实不然!
俺的观点是:两步验证机制 (安全界的术语叫 “双因素认证”),确实有用,但也不是 100% 安全 (再次唠叨:绝对的安全是不存在滴)。
比如说:很多 “两步验证机制” 是基于 “短信发送验证码”。假如说,你的手机上被植入了一个很高级的木马,那么该木马完全有可能访问到短信内容。因此该木马就可以发起一个 “修改用户密码” 的操作,并顺利通过 “两步验证”。
◇针对企业的威胁——基于 【逻辑炸弹】 形式的勒索软件
前面聊的几个,都是针对个人用户 (桌面系统 或 移动系统/手持设备)。下面再来聊另一种形式——针对企业用户 (内部业务系统)。
在前面的章节,俺已经扫盲了 “何为逻辑炸弹”,此处就不再罗嗦。
“逻辑炸弹” 因为是 【企业内部人员】(以下简称 “内鬼”) 设置的,所以就可以做得非常隐藏。比如说:有些逻辑炸弹可以做到 【源代码级】,只有通过源代码审查才 【有可能】 发现。
“逻辑炸弹” 的另一个特点是:可以设置成——潜伏足够长时间。也就是说,当逻辑炸弹引爆的时候,制作它的内鬼或许早已离开这家公司,隐藏了逻辑炸弹的业务系统,在足够长的时间之后,已经有足够多的人经手过。这就会导致警方非常难排查作案者。
针对企业用户的勒索软件,本来就可以勒索更高的赎金 (企业相比个人,支付能力更强)。而基于 “逻辑炸弹” 的勒索软件,又不同于其它类型的勒索软件。因为逻辑炸弹是 【内鬼】 设置的 (内鬼很清楚企业内部系统中,哪些是最要害的)。因此,在引爆之后,这类逻辑炸弹可以加密企业服务器中最重要的那些业务数据;甚至有可能的话,连备份服务器上的数据一起加密掉。这种情况下,这个内鬼就可以勒索 【天价】 的赎金。
六、如何防范 “勒索软件”?
◇针对 【个人用户】 而言
要防范 “勒索软件”,本质上就是要防范 【入侵】。因为勒索软件首先要入侵你的系统,之后才有可能对你构成某种威胁;有了威胁,才有可能勒索赎金。所以,你需要了解的是:【如何防范入侵】。
◇针对 【企业用户】 而言
企业用户不同于个人用户——企业用户需要防范两种勒索软件的来源——分别来自 “内鬼” 与 “外部骇客”。在企业面临的各种勒索软件威胁中,危险性最高的组合是:内鬼设置的 【基于逻辑炸弹的勒索软件】。
那么,如何防范捏?
老实说,这是一个非常大的话题 (足以单写一个系列教程)。考虑到俺的大部分读者都 【不是】 企业的高层管理者。这方面聊太多,也没啥人愿意看 (白白浪费俺的口水)。所以在这里仅仅提几个要点:
1、检查机制
所谓的 “检查机制” 就是说:要有一套机制来检查系统中的重要部分。
比如说 “代码评审”(code review) 就属于这类——评审有助于发现不怀好意的程序员做的手脚。
2、审计机制
(此处所说的 “审计/audit” 指的是 【安全审计】)
管理方面比较成熟的企业,应该有内部的安全审计。有些安全审计有助于在 【事前】 发现内鬼;即使无法在 “事前” 发现内鬼,安全审计也有助于 【事后追溯】(查出是谁干的)。
3、分权机制
良好的分权机制,首先是可以降低内鬼植入勒索软件的概率;退一步讲,就算被植入了,良好的分权机制也可以降低勒索软件引爆之后的破坏性。
比如说:如果有两台服务器,一台运行的是业务系统,另一台用来 【备份】 前者的业务数据。那么,这俩台服务器的管理员 【不能】 是同一人。
4、员工素质
前面提的这些机制,最终都需要落实到 【人】。所以 “员工素质” 是前面所有这些机制的基础与保障。越庞大的企业系统,【人】 就越发成为最大的弱点。这也就是为什么——在入侵企业的过程中,【社会工程学】 手法总是屡试不爽 (不了解 “社会工程学” 的读者,可以看 “这里” 的扫盲)。
顺便插一个八卦:
因为曝光了 “棱镜门丑闻” 而享誉全球的斯诺登,原先只是 NSA(美国国安局) 的某家外包公司的雇员。他本来是没有足够的权限来接触到这么多 NSA 的机密材料。但是他很善于使用 【社会工程学】,于是就获得足够多的权限。
七、关于 “防范勒索软件” 的几个观念上的 【误区】
◇误区之 1:交了赎金就可以拿回文件 (文件解密)
这个其实是 【不一定】 滴。
如今的勒索软件有很多种,其作者也各不相同。有些作者拿了赎金就闪人了,才不管你的死活。
如果你交了钱还拿不回文件,那就是典型的 “赔了夫人又折兵”。
如果你真的想通过交赎金的方式拿回文件,也要先设法跟勒索软件的作者建立某种沟通方式,然后讨论出一种类似于 【分期付款】 的形式。比如说:你先支付 20% 的赎金,让对方解密 20% 的文件 (你可以把加密文件发给对方,让对方解密完再发回),然后你再给 20% 赎金,对方再解密 20% 文件 (以此类推)。在这种形式之下,即使对方耍流氓,你的现金损失也小很多。
◇误区之 2:装了杀毒软件,就不会中招
有这个想法的同学太天真啦。
如果是基于特征库的检测方式,无法检测 【新出现】 的恶意软件;
如果是基于行为的检测方式,很容易误判 (误报),而且有些恶意软件依然无法检查出来。
◇误区之 3:苹果系统 (macOS/iOS) 不会中招
有这个想法的同学也比较天真。针对苹果系统的勒索软件已经出现了 (包括:macOS 和 iOS)。
顺便从 【经济学】 的角度聊一下:
【苹果的】PC,其平均价格明显高于 【非苹果】 的 PC。这体现出:从总体而言 (平均而言),苹果 PC 用户的 “支付意愿” 强于非苹果的 PC 用户。勒索软件的作者,在考虑经济效益的时候,多半会把这点作为参考因素。
◇误区之 4:Linux 系统不会中招
并没有哪种系统的绝对安全的——Linux 也不例外。关键是看 【入侵成本】 与 【潜在收益】 的比例。套用经济领域的一个热门词汇就是 【投资回报率】——骇客在尝试入侵之前,也是要评估 “投资回报率” 滴 🙂
对 Linux 系统而言,更大的吸引力在于 【企业内部服务器】。如果某个企业内部服务器上存储了重要的 【业务数据】,那么这个服务器的价值会远远高于个人的 PC 或移动设备。
◇误区之 5:隔离的内网不会中招
光靠 “内网物理隔离” 是 【远远不够】 滴。而且,内网隔离有时候甚至会起到 【反作用】。因为那些在隔离内网的操作人员,会获得一种 【虚假的安全感】,他们反而会疏于防范 (比如很多人 【误以为】:隔离内网的主机不需要设置主机防火墙)。
另外,
前面俺多次提到 【内鬼】 的威胁。但是千万不要误以为:只有内鬼才会威胁到企业内网。实际上,高明的外部骇客,可以通过 APT(advanced persistent threat) 的方式,逐步渗透到企业内网,最终依然能攻陷重要的内部服务器 (关于这种手法。
有用~