一、前言
2013年9月,戴尔公司的SecureWorks威胁应对部门(CTU)发现了一种名为“CryptoLocker”的勒索软件,它以邮件附件形式分发,感染计算机并加密近百种格式文件(包括电子表格、数据库、图片等),向用户勒索300美元或300欧元。据统计,仅在最初的100天时间内,该勒索软件就感染了20万至25万个系统。[1]
2014年8月,《纽约时报》报道了这样一则消息:一种名为“ScarePackage”的勒索软件在一个月的时间内感染了约90万部Android手机,该软件不仅会访问手机的摄像头、电话功能,还会在手机屏幕弹出消息,指责手机用户传播色情内容,手机用户只有支付了几百美元的“赎金”才能正常使用手机。[2]
2014年12月,安全公司Sophos和ESET的研究人员发现了一种可以自我复制的勒索软件(VirLock,又称VirRansom),该软件不仅会加密受害主机的文档、图片、音频、视频和压缩文件,同时还会使计算机“锁屏”,并以侵犯著作权为由,向计算机用户索要0.652个比特币[3](根据本文撰写时的比特币兑换价格,约合1027元人民币)。
对于传统的感染式病毒,未安装反病毒软件的用户会因中毒而导致系统程序和应用程序被感染,不过一般可以通过重新安装操作系统和应用程序解决问题;对于远程控制类木马,用户可以采用临时断开网络的办法,暂时摆脱攻击者的远程控制。但是,如果计算机上的照片被勒索软件加密,用户很可能会彻底失去一段美好的回忆;如果被加密的是急需使用而又没有备份的毕业论文、重要资料,恐怕用户也只好向犯罪分子屈服,乖乖地支付赎金。勒索软件为何如此猖狂?它是如何向用户进行勒索的?我们又该如何检测与预防这类威胁?本文将全面介绍勒索软件的传播手段、攻击流程及防御方法,彻底揭开勒索软件的真面目。
1.1 何谓勒索软件
勒索软件(Ransomware)是一种流行的木马,通过骚扰、恐吓甚至采用绑架用户文件等方式,使用户数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财。这类用户数据资产包括文档、邮件、数据库、源代码、图片、压缩文件等多种文件。赎金形式包括真实货币、比特币或其它虚拟货币。一般来说,勒索软件作者还会设定一个支付时限,有时赎金数目也会随着时间的推移而上涨。有时,即使用户支付了赎金,最终也还是无法正常使用系统,无法还原被加密的文件。
1.2 主要传播手段
勒索软件的传播手段与常见的木马非常相似,主要包括以下几种:
1.3 主要表现形式
一旦用户受到勒索软件的感染,表现形式通常包括以下几种:
图 1勒索软件弹出的提示消息
2 勒索软件的分类
根据勒索软件所使用的勒索方式,其主要分为以下三类:
1. 影响用户系统的正常使用的勒索软件
比如PC Cyborg、QiaoZhaz(Trojan/Win32.QiaoZhaz)等,其会采用锁定系统屏幕等方式,迫使系统用户付款,以换取对系统正常使用的权限。
2. 恐吓用户的勒索软件
比如FakeAV(Trojan[Ransom]/Win32.FakeAV)等,会伪装成反病毒软件,谎称在用户的系统中发现病毒,诱骗用户付款购买其“反病毒软件”。又如Reveton(Trojan[Ransom]/Win32.Foreign),会根据用户所处地域不同而伪装成用户所在地的执法机构,声称用户触犯法律,迫使用户支付赎金。
3. 绑架用户数据的勒索软件
这是近期比较常见的一种勒索方式,最典型的是CTB-Locker家族(Trojan[Ransom]/Win32.CTBLocker),其采用高强度的加密算法对用户文档进行加密,只有在用户支付赎金后,才提供解密文档的方法。
根据上述勒索软件的分类方法,结合其具体行为、运行平台,可将勒索软件整理如下表:
表 1 勒索软件分类表
3 勒索软件的演进史
3.1 几种典型勒索软件家族的出现
已知最早的勒索软件出现于1989年,名为“艾滋病信息木马”(Trojan/DOS.AidsInfo,亦称“PC Cyborg木马”),其作者为Joseph Popp。该木马程序以“艾滋病信息引导盘”的形式进入系统,采用替换AUTOEXEC.BAT(DOS系统文件,位于启动盘根目录,文件为文件格式,用于描述系统启动时自动加载执行的命令)文件的方式,实现在开机时记数。一旦系统启动次数达到90次时,该木马将隐藏磁盘的多个目录,C盘的全部文件名也会被加密(从而导致系统无法启动)。此时,屏幕将显示信息,声称用户的软件许可已经过期,要求用户向“PC Cyborg”公司位于巴拿马的邮箱寄去189美元,以解锁系统。作者在被起诉时曾为自己辩解,称其非法所得用于艾滋病研究。
2001年,专门仿冒反病毒软件的恶意代码家族(Trojan[Ransom]/Win32.FakeAV)出现,并于2008年左右开始在国外流行。该恶意代码家族的界面内容为英文,又因为当时国内部分反病毒厂商已经开始采用免费的价格策略,所以该恶意代码家族在国内不容易得逞,对国内影响相对较小。FakeAV在伪装成反病毒软件欺骗用户的过程中,所使用的窗体标题极具迷惑性。据安天CERT统计,其标题有数百种之多,常用标题如表2所示:
表 2 FakeAV常用标题
2005年出现了一种加密用户文件的木马(Trojan/Win32.GPcode)。该木马在被加密文件的目录生成具有警告性质的txt文件,要求用户购买解密程序。所加密的文件类型包括:.doc、.html、.jpg、.xls、.zip及.rar。
2006年出现的Redplus勒索木马(Trojan/Win32.Pluder),是国内首个勒索软件。该木马会隐藏用户文档和包裹文件,然后弹出窗口要求用户将赎金汇入指定银行账号。据国家计算机病毒应急处理中心统计,来自全国各地的该病毒及其变种的感染报告有581例。在2007年,出现了另一个国产勒索软件QiaoZhaz,该木马运行后会弹出“发现您硬盘内曾使用过盗版了的我公司软件,所以将您部分文件移动到锁定了的扇区,若要解锁将文件释放,请电邮[email protected]购买相应软件”的对话框。
3.2 赎金支付方式的变化
早期的勒索软件采用传统的邮寄方式接收赎金(比如Trojan/DOS.AidsInfo),会要求受害者向指定的邮箱邮寄一定数量的赎金。我们也发现了要求受害者向指定银行账号汇款(比如Trojan/Win32.Pluder)和向指定号码发送可以产生高额费用的短信(比如Trojan[rog,sys,fra]/Android.Koler)的勒索软件。直到比特币(比特币是一种P2P形式的数字货币,可以兑换成大多数国家的货币)这种虚拟货币支付形式出现后,由于它可以为勒索软件提供更为隐蔽的赎金获取方式,2013年以来,勒索软件逐渐采用了比特币为代表的虚拟货币的支付方式。可以说,虚拟货币的出现,加速了勒索软件的泛滥。
3.3 移动终端的勒索软件
2014年4月下旬,勒索软件陆续出现在以Android系统为代表的移动终端。较早出现的为Koler家族(Trojan[rog,sys,fra]/Android.Koler)。该家族主要行为是:在用户解锁屏及运行其它应用时,会以手机用户非法浏览色情信息为由,反复弹出警告信息,提示用户需缴罚款,从而向用户勒索高额赎金。近两年的移动平台勒索软件家族样本中,东欧和俄罗斯所占比例最多,达到59%,其次是英、美和中国。从下图可以看到安天从各国捕获的移动终端勒索软件家族的比例,其中simplelock.a类所占比例接近总数的一半。
图 2移动终端的勒索软件
典型的移动终端勒索软件家族如表3所示:
表 3移动终端的典型勒索软件家族
3.4 新的威胁趋势
2015年1月,Cryptowall家族新变种(3.0)被发现使用I2P匿名网络通信,在一天内感染288个用户,该变种在加密受害者的文件后,向其勒索比特币,同时还有直接窃取用户比特币的行为。2月和4月新出现的勒索软件家族TeslaCrypt和Alpha Crypt,被发现利用了Adobe新近修复的Flash安全漏洞。同样利用这些漏洞还有CTB-Locker、CryptoWall、TorrentLocker、BandarChor、Angler等家族。其中最为值得关注的是CTB-Locker,它使用了高级逃逸技术,可以躲避某些安全软件的检测。
2015年4月30日,安天CERT曾接到用户提供的含有CTB-Locker的邮件附件,用户称已将该附件提交至第三方开放沙箱,怀疑其具有专门攻击国产办公系统的行为。经安天CERT分析确认,在该样本中并未发现针对国产办公环境的攻击能力。但随着勒索软件的持续泛滥和攻击手段的花样翻新,不能排除未来会出现专门针对我国办公环境的勒索软件。从目前获取的勒索软件新家族看,多数仍是采用社工手段群发邮件,但这些邮件往往紧随潮流趋势,令人防不胜防。比如:据threatpost报导,CTB_Locker家族已经开始采用包含“Windows 10免费升级”(Upgrade to Windows 10 for free)标题的社工邮件传播。
3.5 小结
从最早的“艾滋病信息木马”到最近出现的Locker勒索软件,二十几年的时间里,虽然勒索软件的新家族层出不穷,但主要的勒索方式仍以绑架用户数据为主。图3展示了1989年到2015年间勒索软件的演进史,在图片左侧标明了几个重要的时间点,从图中可以看出随着Android平台的日益普及,面向移动终端的勒索软件也日渐增多;随着比特币的广泛应用,以比特币代为赎金支付形式的勒索软件也逐渐多了起来。
4 典型勒索软件家族分析
勒索软件的本质是木马,下面以几个典型勒索软件家族为例,详细地介绍其勒索过程,力求揭开勒索软件的真面目。
4.1 Redplus
安天在2006年6月9日捕获了国内最早出现的Redplus敲诈者木马,该木马会隐藏用户的文档文件,向用户勒索70元至200元不等的赎金。Redplus木马运行后首先弹出虚假正版软件的对话框,点击OK后,会弹出勒索窗口。其主要行为流程如下:
图 4 Redplus木马主要行为流程
Redplus木马勒索70元至200元之间的一个赎金数目,并将赎金数编辑到需要发送的短信中,如(赎金数=70,需要发送的短信内容为=000000120209011000061010#70)。
Redplus木马为达到目的,生成的文本文件内容如下:
图 5 Redplus木马生成的文本内容
Redplus木马在本地磁盘根目录下建立一个属性为系统、隐藏和只读的备份文件夹,名为“控制面板.”,同时搜索本地磁盘上的用户文档和包裹文件(包括.xls、.doc、.mdb、.ppt、.wps、.zip、.rar),把搜索到的文件移动到上述备份文件夹中,造成用户常用文档丢失的假象,趁机勒索钱财。
Redplus木马的作者欧阳某某于2007年在广州落网,共借助Redplus木马勒索款项95笔,合计人民币7061.05元。法院考虑到其自首情节,最终判其有期徒刑4年。
4.2 QiaoZhaz
2007年3月1日至2日,安天分别捕获了两个敲诈者病毒,分别命名为QiaoZhaz.c和QiaoZhaz.d。当用户中了QiaoZhaz后,弹出“发现您硬盘内曾使用过盗版了的我公司软件,所以将您部分文件移动到锁定了的扇区,若要解锁将文件释放,请电邮[email protected]购买相应软件”的对话框,当用户点击“确定”按钮后,系统会自动注销,全屏黑屏。QiaoZhaz的行为流程如图6所示。
图 6 QiaoZhaz的行为流程图
由于木马添加了注册表启动项和服务,导致每次开机后点击确定后木马就注销系统。去除“文件夹选项”,使用户无法选择“显示所有隐藏文件”并无法去掉“隐藏受保护的系统文件”“隐藏已知文件类型的扩展名”。去除开始菜单中的“搜索”、“运行”项和“关机”项,使用户不能使用搜索、command命令和关机、注销。修改txt文件关联,当用户试图运行txt文件时,则会激活木马,使用同样的方法修改任务管理器关联,当用户打开任务管理器时就会激活木马。木马把屏保时间修改为60秒,在%system32%文件夹下生成木马屏保文件,当用户60秒不操作计算机时,系统会自动运行木马。该木马利用多种方法保护自身,结束指定的反病毒软件或反病毒工具。
QiaoZhaz.d的行为更加恶劣,它除上述与QiaoZhaz.c相似的行为外,还删除非系统盘外的所有文件,使用户必须使用数据恢复软件才能找回原来的数据。同时在每个磁盘根目录下建立一个名为“警告.h”的文件,以此向用户进行敲诈勒索。
安天在2007年3月6日发布了“敲诈者病毒变种专用注册表修复工具”,是专门针对QiaoZhaz的注册表修复工具。
4.3 CryptoLocker
CryptoLocker在2013年9月被首次发现,它可以感染大部分的Windows操作系统,包括:Windows XP、Windows Vista、Windows 7、Windows 8。CryptoLocker通常以邮件附件的方式进行传播,附件执行之后会使用RSA&AES对特定类型的文件进行加密。并弹出勒索窗体,如图7所示:
图 7 CryptoLocker的勒索界面
完成加密操作弹出付款窗口,需要用户使用moneypak或比特币,在72小时或4天内付款100或300美元,方可对加密的文件进行解密。
加密的文件类型:
*.odt, *.ods, *.odp, *.odm, *.odc, *.odb, *.doc, *.docx, *.docm, *.wps, *.xls, *.xlsx, *.xlsm, *.xlsb, *.xlk, *.ppt, *.pptx, *.pptm, *.mdb, *.accdb, *.pst, *.dwg, *.dxf, *.dxg, *.wpd, *.rtf, *.wb2, *.mdf, *.dbf, *.psd, *.pdd, *.eps, *.ai, *.indd, *.cdr, ????????.jpg, ????????.jpe, img_*.jpg, *.dng, *.3fr, *.arw, *.srf, *.sr2, *.bay, *.crw, *.cr2, *.dcr, *.kdc, *.erf, *.mef, *.mrw, *.nef, *.nrw, *.orf, *.raf, *.raw, *.rwl, *.rw2, *.r3d, *.ptx, *.pef, *.srw, *.x3f, *.der, *.cer, *.crt, *.pem, *.pfx, *.p12, *.p7b, *.p7c |
安天CERT分析人员测试了一个已知的CryptoLocker样本,由于服务器已经无法正常返回,导致网络数据包通信不完整,如图8所示:
图 8 CryptoLocker的网络通信
ESET在2013年12月发表了一篇文章,对新出现的Cryptolocker 2.0与Cryptolocker进行了相关技术的对比,如下表[4]:
由于Cryptolocker所使用的技术在CTB-Locker中基本都包含,并未对该类勒索软件进行深入分析,具体细节请看下面CTB-Locker的分析。
4.4 CTB-Locker
CTB-Locker是Curve-Tor-Bitcoin Locker的缩写,是当前全球影响较大的勒索软件家族,主要通过邮件附件传播,使用高强度的加密算法,加密用户系统中的文档、图片、数据库等重要资料。加密完成后,CTB-Locker会采用弹出窗体和修改桌面背景等方式,提示用户支付赎金,并要求用户在96小时内支付8比特币(约合人民币1万元)赎金,否则将销毁用户文件。该家族在国外一直很活跃,国内也陆续出现受害者。该家族的另一个特点是使用洋葱路由(Tor),通过完全匿名的比特币交易方式获取赎金,这使得该勒索软件的作者难以追踪。
典型攻击流程如图9所示:
图 9 CTB-Locker的攻击流程
安天CERT分析人员随机提取了一个样本,该样本执行后,会弹出窗体要求用户向其支付赎金。
图 10 CTB-Locker的勒索界面
同时,还会修改桌面背景,告诉用户如何下载安装Tor浏览器,以及如何通过Tor浏览器访问其赎金支付页面。
图 11 CTB-Locker要求用户安装Tor浏览器
通过分析该样本,可以了解CTB-Locker的一般执行过程,如图12所示。
图 12 CTB-Locker样本一般执行过程
该样本在文件遍历过程中,一旦发现具有以下后缀的文件时,将对其进行加密操作。
图 13解密后的CTB-Locker文件扩展名数据
加密部分是整个流程中比较关键的一部分,在这里我们会进行重点说明。
首先样本会将要加密的文件以后缀名为.tmp的形式调用函数MoveFileEx移动到临时目录下面。接着根据文件的时间和和当前系统运行的时间等信息,填充一个缓冲区。然后对这个缓冲区计算SHA256。根据计算的SHA256值作为会话私钥(session private key)使用Elliptic curve Diffie-Hellman(ECDH)算法产生一个会话公钥(sessIonpublickey)。再与配置文件中的一个主公钥(master public key)使用ECDH算法产生一个会话共享密钥(session shared secret),对会话共享密钥计算SHA256并将这个值作为AES加密的KEY。相关代码如下:
需要说明的是,这个AES密钥是要保存到该函数的一个参数中给调用者的,但是调用者只是保存了5个AES密钥,这也就是为什么离线模式下CTB-Locker仍然能够解密5个文件的原因。把文件读取出来,然后使用ZLIB压缩后使用AES加密。加密的数据从一个临时文件的头部偏移0x30位置开始写入。文件加密完后会向临时文件的头部写入0x30的数据,其中开头的0x20字节就是会话公钥。文件加密后五个AES加密的密钥,加密文件个数,加密的磁盘等信息会保存在配置文件中。
4.5 移动平台勒索软件
2014年4月,国外开始出现移动平台勒索软件,国内也很快出现了类似软件,并且有愈演愈烈地趋势。目前国内外出现的移动平台的赎金方式有人民币、Q币、美元、卢布等,勒索方式有锁屏、加密文件、加密通讯录等方式。据了解该类软件爆发后国内已经有上千人的手机受到感染。这类勒索软件的发展将对用户手机及资料形成严重威胁。
国内出现的勒索软件通常伪装游戏外挂或付费破解软件,用户点击即会锁定屏幕,需加手机界面留下的QQ号为好友去支付赎金才能解锁。
如图14所示是该类勒索软件的一个真实案例。受害用户手机被锁定,勒索软件作者在手机界面给出QQ号码,要求受害用户加QQ好友并支付一定赎金才能解锁。
用户加该QQ后会提示回答验证问题。在该案例中,可以看到勒索者的相关资料,在用户个人信息中可以看到勒索者的相关身份信息,但无法确保其真实性。
图 14勒索过程示意图
在受害用户加好友以后,勒索软件作者与其聊天,勒索人民币20元,并要求用户转账到指定支付宝账户才给出解锁密码。据了解,该勒索软件作者同时也对其他Android手机用户进行勒索行为,并且在受害用户支付赎金后,未能提供解锁密码。甚至还在勒索软件中加入短信拦截木马功能,盗取用户支付宝和财富通账户。有时,受害用户在多次进行充值、转账等方式后,仍不能获得解锁密,甚至会被勒索软件作者将受害用户加入黑名单。
5 防御:我该做什么
5.1 安全建议与部分解决办法
为了避免受到勒索软件的威胁,安天CERT安全工程师针对不同用户给出如下建议:
5.2 普通用户的防御方法
通过前面的分析可以看出,采用高强度加密方式绑架用户数据的勒索软件,将对用户的数据安全构成严重威胁,做好安全防御显得极为重要。普通用户可下载专门的防御产品如CryptoMonitor(该程序可以根据行为检测结果,在勒索软件试图加密用户数据时将其阻止[5])。
5.3 企业用户的防御方法
对于企业用户来说,针对勒索软件类的安全威胁防护可从预警、防御、保护、处置和审计几个步骤来进行有效防御和处理,保护系统免受攻击,安天的企业安全产品即是从这几方面入手进行防御和处理的。
图 15安天企业安全产品工作流程
6 总结
虽然勒索软件的技术含量不高,但却可以对用户的数据安全造成严重危害,其威胁不可小觑。
2015年5月底,勒索软件Locker的作者公布了其使用的勒索数据库并公开表达了歉意,随后还提供了自动解密程序供受害者使用。据统计,该数据库中共包含62,703条勒索记录。按该软件显示的勒索金额0.1比特币(约合175元人民币)计算,如果这些受害者都支付赎金,作者获得的非法收入可达一千万元。在巨额非法收入的诱惑下,很可能会有越来越多的恶意代码作者开始从事勒索软件的开发;借助比特币等难于追踪的支付方式的保护,勒索软件的作者也会越来越有恃无恐。
“希腊战士跳出木马,杀死睡梦中的守军,打开城门。城外隐藏的军队如潮水般涌入特洛伊城,将城市烧成一片灰烬。此时的特洛伊人懊悔没有听从拉奥孔的劝告,但为时已晚……”对于一般的感染式病毒或木马,即使用户在遭受安全威胁之后再安装反病毒软件,依然可以亡羊补牢,让系统重新处于安全状态。但对于绑架用户数据的勒索软件而言,没有可靠的事前防御和检测能力,面对已经被勒索软件加密的用户数据,侧重于保护系统安全的反病毒软件也无能为力。只有安装侧重于保护数据安全的工具或部署针对企业安全特点的安全产品,才能尽量避免给勒索软件以可乘之机。
原文发布时间为:2016-04-25
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。