1. 什么是APT?
APT(Advanced Persistent Threat)是指高级持续性威胁,本质是针对性攻击。 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式,APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流程和目标系统进行精确的收集。在此收集的过程中,此攻击会主动挖掘被攻击对象受信系统和应用程序的漏洞,利用这些漏洞组建攻击者所需的网络,并利用零日漏洞进行攻击。**以窃取核心资料为目的,针对和客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的"恶意商业间谍威胁"。**这种行为往往经过长期的经营与策划,并具备高度隐蔽性。
APT攻击是一类针对企业和政府重要信息资产的,对信息系统可用性、可靠性构成极大挑战的信息安全威胁。 APT变化多端、效果显著且难于防范,因此,渐渐成为网络渗透和系统攻击的演进趋势,近来备受网络安全研究者关注。APT一般受国家或大型组织操控,受国家利益或经济利益驱使,由具有丰富经验的黑客团伙实施,具有技术性强、持续时间长、危害性较大等特点,是近年来出现的新型综合性网络攻击手段。
2. APT 的攻击过程?
APT攻击可以大致分为探测期、入侵期、潜伏期、退出期4个阶段,这4个阶段通常是循序渐进的
1. 探测期:信息收集
探测期是APT攻击者收集目标信息的阶段。攻击者使用技术和社会工程学手段收集大量关于系统业务流程和使用情况等关键信息,通过网络流量、软件版本、开放端口、员工资料、管理策略等因素的整理和分析,得出系统可能存在的安全弱点。另外,攻击者在探测期中也需要收集各类零日漏洞、编制木马程序、制订攻击计划等,用于在下一阶段实施精确攻击。
2. 入侵期:初始攻击,命令和控制
攻击者突破安全防线的方法可谓五花八门,如采用诱骗手段将正常网址请求重定向至恶意站点,发送垃圾电子邮件并捆绑染毒附件,以远程协助为名在后台运行恶意程序,或者直接向目标网站进行SQL注入攻击等。尽管攻击手段各不相同,但绝大部分目的是尽量在避免用户觉察的条件下取得服务器、网络设备的控制权。(在受害者的网络植入远程管理软件,创建秘密访问其设备的网络后门和隧道;利用漏洞和密码破解来获取受害者计算机的管理员权限,甚至是Windows域管理员账号。)
3. 潜伏期,后续攻击,横向渗透,资料回传
攻击者成功入侵目标网络后,通常并不急于获取敏感信息和数据,而是在隐藏自身的前提下寻找实施进一步行动的最佳时机。(攻击者利用已控的目标计算机作为跳板,在内部网络搜索目标信息。)当接收到特定指令,或者检测到环境参数满足一定条件时,恶意程序开始执行预期的动作,(最初是内部侦察,在周边有信任关系的设备或Windows域内收集信息)取决于攻击者的真正目的,APT将数据通过加密通道向外发送,或是破坏应用服务并阻止恢复,令受害者承受极大损失。(攻击者扩展到对工作站、服务器等设备的控制,在之上进行信息收集)。 资料窃取阶段,攻击者通过跳板访问关键服务器,在利用0day漏洞等方式攻击服务器,窃取有用信息。然后将窃取道德数据,应用、文件、邮件等资源回传,攻击者会将这些资源重新分割成细小的碎片逐步以不同的时间周期穿给自己。
4. 退出期:清理痕迹
以窃取信息为目的的APT类攻击一旦完成任务,用户端恶意程序便失去了使用价值;以破坏为目的的APT类攻击得手后即暴露了其存在。这两种情况中为了避免受害者推断出攻击的来源,APT代码需要对其在目标网络中存留的痕迹进行销毁,这个过程可以称之为APT的退出。APT根据入侵之前采集的系统信息,将滞留过的主机进行状态还原,并恢复网络配置参数,清除系统日志数据,使事后电子取证分析和责任认定难以进行
3. 详细说明APT的防御技术
防范方式:
使用威胁情报。这包括APT操作者的最新信息;从分析恶意软件获取的威胁情报;已知的C2网站;已知的不良域名、电子邮件地址、恶意电子邮件附件、电子邮件主题行;以及恶意链接和网站。威胁情报在进行商业销售,并由行业网络安全组共享。企业必须确保情报的相关性和及时性。威胁情报被用来建立"绊网"来提醒你网络中的活动。
建立强大的出口规则。除网络流量(必须通过代理服务器)外,阻止企业的所有出站流量,阻止所有数据共享和未分类网站。阻止SSH、FTP、Telnet或其他端口和协议离开网络。这可以打破恶意软件到C2主机的通信信道,阻止未经授权的数据渗出网络。
收集强大的日志分析。企业应该收集和分析对关键网络和主机的详细日志记录以检查异常行为。日志应保留一段时间以便进行调查。还应该建立与威胁情报匹配的警报。
聘请安全分析师。安全分析师的作用是配合威胁情报、日志分析以及提醒对APT的积极防御。这个职位的关键是经验。
防御之道:
传统的安全技术对于APT攻击显得无能为力,当前的主要解决思路:
基于未知文件行为检测的方法。一般通过沙箱技术罪恶意程序进行模拟执行,通过对程序的行为分析和评估来判断未知文件是否存在恶意威胁。
基于终端应用监控的方法,一般采用文件信誉与嘿白名单技术在终端上检测应用和进程。
基于大数据分析的方法,通过网路取证,将大数据分析技术和沙箱技术结合全面分析APT攻击。
涉及到的关键技术:
URL异常检测:
URL异常检测,深度分析URL内User-Agent字段以及HTTP状态码来判断网站是否异常,以及网站中是否有恶意文件的下载链接,
Email异常检测:
Email异常检测,通过对邮件的包头,发件人和邮件内附件或者链接检查,分析是否有恶意软件或链接存在。
沙箱检测技术:
沙箱检测技术,模拟Linux、Windows,Android环境,将可以文件放在沙箱离模拟运行,通过自动观测、自动分析、自动警告发现未知威胁。沙箱同时又叫做沙盘,是一种APT 攻击 核心防御技术,该技术在应用时能够创造一种 模拟化的环境来隔离本地系统中的注册表、内存以及对象,而实施系统访问、文件观察等可以通过虚拟环境来实施操作,同时沙箱能够利用定向技术在特定文件夹当中定向进行文件的 修改和生成,防止出现修改核心数据和真实注册表的现象,一旦系统受到APT 攻击,实现的虚拟环境能够对特征码实施观察和分析,从而将攻击进行有效的防御。在实际应用过程中, 沙箱技术能够充分发挥防御作用,但是由于其消耗本地资料过多,导致工作处理过程周期过长,对此要进一步加强其应用效率的提升,从而有效区分和处理软件与文件,有效提升自身的应用效率,充分防御来自于外界的APT攻击。
信誉技术:
信誉技术,安全信誉主要是评估互联网资源和有关服务主体在安全性能方面的指数和表现,而信誉技术在应用过程中能够以一种辅助的方式来检测APT 攻击,并针对性建设信誉数据库,其中包括威胁情报库、僵尸网络地址库、文件 MD5 码库以及WEB URL 信誉库,能够作为辅助支撑技术帮助系统提升检测APT 攻击, 比如常见的木马病毒和新型病毒等,一旦遇到不良信誉资源能够利用网络安全设备进行过滤和阻断。在此过程中,信誉库能够充分发挥自 身优势,有效保护系统相关数据和信息,提升 安全产品的安全防护指数,依照实际情况来分析,信誉技术已经广泛应用到网络类安全产品当中,并且通过安全信誉评估策略服务和信誉过滤器等功能为信息系统的安全提供有效保 障。
异常流量分析技术:
异常流量分析技术,异常流量分析技术在应用过程中主要以一种流量检测方式和分析方式对有关流量信息实施提取,并且针对其中的带宽占用、CPU/ RAM、物理路径、IP 路由、标志位、端口、 协议、帧长、帧数等实施有效的监视和检测,并且融入节点、拓扑和时间等分析手段来统计 流量异常、流量行为等可能出现的异常信息, 从而依照分析的结果和数据来对可能出现的 0 DAY 漏洞攻击进行准确识别。同时,异常流量分析技术进一步融入了机器学习技术和统计学技术,能够以科学化、合理化的方式来对模型实施建立。与传统的网络防御技术相比,异常流量分析技术能够充分发挥自身优势,以一 种数据采集机制来保护原有系统,并且对出现的异常行为进行有效的追踪,分析历史流量数据,从而有效确定异常流量点,最终起到防御APT攻击的目的。
大数据分析技术:
大数据分析技术在防御APT 攻击时,要充分发挥大数据分析技术的优势,针对网络系统中出现的日志 数据和SOC安全管理平台中出现的日志数据, 利用大数据分析技术能够实施有效的分析和研 究,并通过态势分析、数据挖掘、数据统计技术,对大量历史数据进行分析,获取其中存在的 APT 攻击痕迹,从而以一种弥补方式来对 传统安全防御技术实施加强。同时,大数据分析技术要想发挥自身作用,需要提升自身数据分析和数据采集能力,并积极融合全自动相应系统,从而快速监控不同区域中的数据信息, 改变出现的信息孤岛所导致的调查分析问题。
4. 什么是对称加密?
对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密。
加密过程如下 :明文 + 加密算法 + 私钥 => 密文
解密过程如下:密文 + 解密算法 + 私钥 => 明文
对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。 其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为"对称"的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。
如果你不是很理解,就看这个通俗易懂的例子:
甲对乙说,我这有一把锁,以后我们互相传消息,就把消息放盒子里,然后用这个锁锁上再传,这个锁有两把一模一样的钥匙,咱俩一人一把,说完甲把钥匙递给了乙。
5. 什么是非对称加密?
非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。
被公钥加密过的密文只能被私钥解密,过程如下 :
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
由于加密和解密使用了两个不同的密钥,这就是非对称加密"非对称"的原因。非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
如果你不是很理解,就看这个通俗易懂的例子:
甲对乙说,我这里有A型号锁,对应钥匙A,我给你一大箱子A锁,但是钥匙A不给你,以后你给我发消息就用A锁锁在盒子里给我,然后我自己用钥匙A就能打开看。
乙对甲说,我这里有B型号锁,对应钥匙B,我给你一大箱子B锁,但是钥匙B不给你,以后你给我发消息就用B锁锁在盒子里给我,然后我自己用钥匙B就能打开看。
6. 私密性的密码学应用?
私密性是密码学中的一个基本概念,它指的是确保只有授权的用户才能访问加密数据。以下是一些私密性的密码学应用:
对称加密算法:对称加密算法使用相同的密钥对数据进行加密和解密,可以确保加密数据只能被知道密钥的用户解密。常见的对称加密算法包括AES、DES、3DES等。
非对称加密算法:非对称加密算法使用不同的密钥对数据进行加密和解密,其中一个密钥是公开的(公钥),而另一个密钥是私有的(私钥)。这种算法可以确保加密数据只能被知道私钥的用户解密。常见的非对称加密算法包括RSA、ECC等。
散列函数:散列函数可以将任意长度的数据转换为固定长度的散列值,这个散列值通常用于验证数据的完整性和真实性。只有知道原始数据的用户才能生成相同的散列值。常见的散列函数包括MD5、SHA-1、SHA-2等。
数字签名:数字签名是通过使用私钥对数据进行签名来验证其完整性和真实性的一种机制。数字签名可以确保数据没有被篡改或者被其他人伪造,只有知道私钥的用户才能进行签名。常见的数字签名算法包括RSA、DSA等。
总之,私密性是密码学中的一个基本概念,可以通过各种密码学算法来保护数据的机密性和完整性。这些算法通常用于保护敏感信息,例如密码、金融交易数据、医疗保健记录等。
7. 非对称加密如何解决身份认证问题?
非对称加密是一种使用不同的密钥进行加密和解密的加密方式。在非对称加密中,有一个密钥是公开的(公钥),而另一个密钥是私有的(私钥)。
非对称加密可以解决身份验证的问题,因为只有持有私钥的用户才能生成数字签名或者解密使用公钥加密的消息。这种机制可以确保消息的完整性和真实性,因为只有持有私钥的用户才能生成数字签名。
以下是使用非对称加密解决身份验证的一些实际应用:
数字签名:数字签名是使用私钥对数据进行签名来验证其完整性和真实性的一种机制。只有知道私钥的用户才能进行签名,这可以确保签名是可信的,同时确保数据没有被篡改或者被其他人伪造。数字签名常用于身份验证、电子文档、金融交易等领域。
SSL/TLS:SSL/TLS协议使用非对称加密和对称加密的组合来确保通信的机密性和完整性。在SSL/TLS握手过程中,服务器会将其公钥发送给客户端,然后客户端使用该公钥对会话密钥进行加密,从而确保只有服务器可以使用其私钥来解密密钥。这种机制可以确保通信是安全的,并且服务器的身份是可信的。
SSH:SSH协议使用非对称加密和对称加密的组合来确保远程登录的机密性和完整性。在SSH握手过程中,服务器会将其公钥发送给客户端,然后客户端使用该公钥对会话密钥进行加密,从而确保只有服务器可以使用其私钥来解密密钥。这种机制可以确保通信是安全的,并且服务器的身份是可信的。
总之,非对称加密可以使用数字签名、SSL/TLS、SSH等机制来解决身份验证的问题,确保通信是安全的,并且服务器的身份是可信的。
8. 如何解决公钥身份认证问题?
公钥身份认证是一种使用数字证书进行身份验证的机制,其中数字证书是由数字证书颁发机构(CA)签发的,证明了证书中公钥的所有者的身份。
在使用公钥身份认证时,需要确保证书的真实性和可信度。以下是一些解决公钥身份认证问题的方法:
使用受信任的证书颁发机构:为了确保数字证书的真实性和可信度,可以使用被广泛信任的证书颁发机构(CA)签发的证书。这些CA已经通过了严格的安全审核,并获得了广泛的信任。
使用证书撤销列表(CRL):如果证书失效或被撤销,CRL是一种机制,它记录了所有已撤销的证书的信息。可以使用CRL来检查数字证书的状态,以确保其仍然有效。
使用在线证书状态协议(OCSP):OCSP是一种在线协议,它允许应用程序向证书颁发机构查询证书的状态。可以使用OCSP来检查数字证书的状态,以确保其仍然有效。
使用双因素认证:双因素身份认证需要使用两种或以上的身份验证机制来验证用户的身份。例如,使用数字证书和用户密码的组合来进行身份验证,可以增加身份认证的安全性。
9. 简述SSL工作过程
SSL(Secure Sockets Layer)是一种用于保护数据传输安全的协议,现在已经被TLS(Transport Layer Security)取代。以下是SSL的工作过程:
握手阶段:客户端向服务器发送一个握手请求,其中包括一个加密套件列表、协议版本等信息。服务器在加密套件列表中选择一种加密方式,并发送一个数字证书,该证书包含了服务器的公钥和服务器的身份信息。客户端使用数字证书验证服务器的身份,并生成一个随机数(Client Random)。客户端还会生成一个用于加密会话密钥的密钥,称为"会话密钥",并使用服务器的公钥进行加密,然后将该密钥发送给服务器。
密钥交换阶段:服务器使用自己的私钥解密客户端发送的会话密钥,并使用该密钥生成一个对称加密算法所需的密钥。服务器还会生成一个随机数(Server Random),然后将这些信息使用约定的加密算法加密后发送给客户端。
数据传输阶段:客户端和服务器使用协商的加密套件和对称加密密钥对数据进行加密和解密,然后在网络上进行传输。在每个数据包中,都会包含一个消息认证码(MAC),以确保数据完整性和身份验证。
终止阶段:会话结束时,客户端和服务器会互相通知,并销毁会话密钥。如果需要建立新的会话,将重新进行握手阶段。
总之,SSL使用公钥加密算法来验证服务器的身份,并使用对称加密算法保护数据的机密性和完整性。在SSL的工作过程中,握手阶段、密钥交换阶段、数据传输阶段和终止阶段分别起着重要的作用。