站内搜索

计算机病毒中的密码算法应用及防御方法

  密码学理论是网络空间安全学科的核心理论和基础支撑,是保证信息安全机密性、完整性和可认证性的重要手段之一,但是密码学理论及密码应用技术的发展是一把“双刃剑”,其在发挥数据保护和认证作用的同时也会被黑客和犯罪分子等用于各类违法犯罪活动,为不法分子躲避安全产品的检测、政府监管和追踪溯源提供了极大的便捷,今后我国的网络安全及公安执法工作将更多地面对来自高技术犯罪的密码加密和数据破解等难题。

  密码技术的应用加大了安防企业和政府对病毒检测及网络攻击防范的工作量和难度,给用户带来巨大的经济损失。密码加密手段滥用带来的国家安全和网络安全问题主要体现在以下 3 个方面:

  (1)保密通信技术的使用。基于密码学加密和认证技术的网络通信协议的应用,为犯罪分子躲避
执法部门的追踪提供了有力帮助。犯罪分子使用加密协议、境外代理进行网络诈骗等犯罪活动,可顺利绕过公安机关的调查取证。趋势科技公司(TrendMicro)的分析报告指出,恐怖分子对 WhatsApp、Telegram 等加密通信软件的使用使其活动更加隐蔽和猖獗,据调查,34% 的恐怖分子使用匿名加密聊天服务 Telegram。对加密流量的还原难度极大,现有研究工作主要集中在加密流量的识别,如 He 等提出了一种针对移动应用加密网络流量识别的方法。

  (2)数据加密及设备解锁难题。智能手机的加密强度更高,厂商解锁手机也很困难。由于无法有效地解密数据,给警方的线索调查和电子数据的取证带来严重阻碍,甚至可能帮助违法者游走在法律之外,如 2016 年美国联邦调查局(FBI)曾强迫苹果公司解锁恐怖分子使用的苹果手机。

  (3)病毒等网络攻击中密码算法的使用。病毒编写者将加密技术用于保护病毒样本不被检测、隐藏通信特征、躲避安全防护设备和加密数据勒索用户等目的。加密手段在计算机病毒等黑客攻击中的广泛应用,给用户数据和财产带来巨大损失,如 2018 年有多家大型医院的医疗数据被 Globelmposter 勒索病毒加密,造成系统瘫痪无法挂号。对称密码、非对称密码以及区块链等技术是勒索病毒常用的方法。
………………

二、密码算法在病毒加壳免杀中的应用

2.1 加壳免杀技术概述

  杀毒软件查杀病毒程序主要是基于特征码匹配。所谓特征码,是指安全人员对捕获到的病毒样本进行分析,提取出该病毒的一组特征。特征码需准确地标识该病毒程序,杀毒软件通过更新特征库即可识别出新出现的病毒程序。免杀,是一种“反杀毒”的技术,通过对病毒样本文件的修改,达到隐藏特征、规避杀毒软件检测的目的。历史上爆发的高危病毒,除了具有极快的传播速度和极强破坏能力,必不可少的还需要具备高水平的免杀防御能力。为了对抗基于特征码匹配的杀毒软件,攻击者创新地推出了多种免杀技术,包括:
(1)修改特征码。利用特征码定位工具 MyCCL等,定位杀毒软件的病毒特征码,并通过篡改清除特征实现免杀。
(2)加花指令。在病毒文件头加入一段汇编指令和在入口点内存地址的乱跳转,使杀毒软件无法准确识别病毒程序,达到免杀的效果。
(3)修改导入表。每个 PE 文件格式的病毒程序一般都有导入表,用于定位动态链接库中 API 函数的地址,查找到导入表函数名并将其移位。
(4)加壳。壳是一种专门负责保护病毒不被修改或反编译的一段程序,它一般是先于病毒运行、拿到控制权,然后完成保护病毒不被查杀的任务。当病毒加壳后,外壳段代码首先开始运行,它把压缩、加密后的病毒文件还原成原始病毒文件,然后按照相应的规则将其加载映射到内存中,再把执行权交还给原始病毒程序。加壳病毒的结构如图1所示。壳分加密壳和压缩壳,通过加壳可以有效地抵抗特征码查杀技术。压缩壳主要是减小病毒文件的大小,如UPX和PECompact等;加密壳,即利用编码及密码算法对病毒文件的特征码区段进行加密,如EncryptPE、EXECryptor和Themida等。随着杀毒软件技术的发展,尤其是虚拟执行技术的出现,杀毒软件对于简单的病毒加壳算法可以实现有效地识别和脱壳,但若有多个加壳算法可随机选择,将会加大脱壳难度,进一步提高病毒免杀效果。
………………

三、密码算法在病毒加密通信中的应用

3.1 计算机病毒通信功能分析

  计算机病毒一般都具有网络通信的功能,以方便接收黑客的指令和传递窃取的用户数据,典型的具有网络通信功能的病毒程序包括特洛伊木马和僵尸网络。木马是由控制端和被控端组成,被控制的用户电脑和黑客远程控制端需要隐蔽通信,往往采用高级加密标准(AdvancedEncryptionStandard,AES)等对称加密算法,或者使用安全套接层(SecureSocketsLayer,SSL)协议加密传输数据。木马设计者通常会采取端口复用、反弹端口、隐蔽通道等技术增强通信的隐蔽性。僵尸网络(Botnet)是由黑客远程控制的大量计算机群,可对目标发起网络攻击。僵尸网络具有分层的网络结构,如图2所示,受感染的用户主机称为“肉鸡”(Bot),攻击者(Botmaster)通过命令与控制服务器(C&C)可以操控多台Bot发起攻击,包括分布式拒绝服务攻击DDoS、盗号木马下载分发、垃圾邮件发送等。僵尸网络可以分为因特网中继聊天(InternetRelayChat,IRC)、超文本传输协议(HTTP)和对等网络(PeerToPeer,P2P)等协议类型。僵尸网络可将通信流量伪装成Web等服务的流量,绕过防火墙以及躲避IDS,增强了僵尸网络隐蔽性和健壮性。

3.2 典型的计算机病毒加密通信算法

  攻击者利用各种方法来加密和隐藏僵尸网络的通信流量,使得僵尸网络更加难以检测,可有效地躲避政府的监管。下面对典型的计算机病毒使用的加密通信算法进行分析。

3.2.1 基于 SSL/TLS 的加密通信

  SSL 协议可保护信息传输的机密性和完整性。

  1999年,SSL被标准化并改名为传输层安全(TransportLayerSecurity,TLS),网络通信开始广泛使用TLS协议。据统计,60%的网络通信采用了TLS协议,但同时,各种恶意程序也逐渐使用TLS协议来增强其通信的保密性,约有10%的恶意程序已经使用了TLS协议。与SSL/TLS协议相结合,僵尸网络开始使用超文本传输安全协议(HTTPoverSecureSocketLayer,HTTPS)对命令和控制信道进行加密,这一趋势将会使得恶意程序变得更加难以探测,因为TLS的使用使普通的深度包检测技术(DeepPacketInspection,DPI)很难发挥作用。Anderson等提出了一种识别恶意代码使用的TLS协议流量的方法,并且通过分析流量的特征可以将恶意代码的家族区分开。Prasse等针对网络病毒程序,提出了一种基于神经网络的HTTPS加密网络流量检测方法。
………………

四、密码算法在勒索病毒对文件加密中的应用

4.1 勒索病毒概述

  勒索病毒是恶意代码的一种,利用钓鱼邮件、网页挂马、漏洞攻击等方式感染用户设备,劫持系统的使用权、破坏数据可用性,通过弹窗、电话、邮件等方式告知勒索信息,要求用户限期通过比特币等方式支付赎金,以恢复设备使用权或解密文件数据。

  2016年,全球新增电脑端勒索病毒样本16.7万个,近500万用户电脑遭到了勒索病毒攻击,其中11.9%的受害者会支付勒索赎金。据FBI发布的信息,2016年第一季度发生的网络勒索事件中,被攻击者支付的赎金超过2亿美元。目前主流的勒索病毒家族包括Cerber、Locky和XTBL等。勒索病毒除了攻击普通用户,为了获得更大数额的赎金,还将目标转向企业和政府部门,如LeChiffre攻陷印度3家银行、国内某央企受到Locky攻击等。2017年2月召开的RSA2017信息安全大会上,会议组织者将“勒索病毒”作为重要议题设定了整天议程。2017年5月,“蠕虫式”勒索病毒“WannaCry”利用美国国家安全局(NSA)泄漏出来的微软MS17-010漏洞大范围传播,波及150多个国家,受害者多达20万个用户,并且还出现了变种。

  勒索病毒发展到今天,越来越多地使用非对称加密算法比如 RSA 等,解密的私钥是存放在攻击者的服务器中,这使得文件解密几乎成了不可能。

4.2 勒索病毒文件加密算法分析

  勒索病毒通过密码算法对用户文件进行加密,并且要保证用户在没有获得解密密钥的情况下无法恢复文件数据。勒索病毒的加密过程包括 3 个方面:密钥生成、文件加密、密钥传输。多种类型的密码算法均被勒索病毒使用,病毒编写者充分掌握和发挥各类密码算法的优势,如:使用加密速度较快的对称加密算法对大量用户文件进行加密,提高加密强度和速度;使用非对称密码算法用于密钥的安全传输。勒索病毒使用的加密算法主要包括以下 4 类:

(1)对称密码算法,加密过程和解密过程使用相同的密钥。其特点是速度快,主要用来对文件加密。常用 AES、3DES、RC4 等算法,其中 AES 算法占绝大多数。
………………

  计算机病毒中的密码算法应用及防御方法 PDF 完整版下载(文字可复制):

https://www.aliyundrive.com/s/y8sTvHUWZNY 提取码: b41w
Copyright © XiakeShu.com 版权所有 | 备案号:浙ICP备11004787号-12