下边基于这次攻击演示我们介绍一下网络安全的一些常识和术语。
任何对组织业务具有价值的信息资产,包括计算机硬件、通信设施、IT 环境、数据库、软件、文档资料、信息服务和人员等。
网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断的状态。从广义上说,网络安全包括网络硬件资源及信息资源的安全性。从用户角度看,网络安全主要是保障个人数据或企业的信息在网络中的机密性、完整性、可用性,防止信息的泄漏和破坏,防止信息资源的非授权访问。对于网络管理者来说,网络安全的主要任务是保障合法用户正常使用网络资源,避免病毒、拒绝服务、远程控制、非授权访问等安全威胁,及时发现安全漏洞,制止攻击行为等。从教育和意识形态方面,网络安全主要是保障信息内容的合法与健康,控制含不良内容的信息在网络中的传播。
是一种包含互联网、通信网、物联网、工控网等信息基础设施, 并由人-机-物相互作用而形成的动态虚拟空间。网络空间安全既涵盖包括人、机、物等实体在内的基础设施安全, 也涉及到其中产生、处理、传输、存储的各种信息数据的安全。随着云计算、大数据、物联网、量子计算等新兴技术的迅猛发展,网络空间安全面临着一系列新的威胁和挑战。例如2018年3月17日,英国《卫报》爆出英国的数据分析公司Cambridge Analytica(剑桥数据分析)在美国大选中为川普服务。网络空间安全问题的影响力不再局限于数据篡改、系统控制和信息泄露等「狭义」网络安全问题,真实世界和社会的行为可以被来自其「数字孪生」世界的特定组织所操控。备受追捧的特斯拉电动汽车自动驾驶功能是另一例真实世界和「数字孪生世界」直连的案例,在这个案例里,特斯拉借助云计算、人工智能技术使得无人驾驶成为一项颇具吸引力的卖点,但该功能自诞生以来屡次被曝光多种类型的网络安全漏洞,这些漏洞一旦被攻击者利用,轻则使车辆迷失路线,重则造成驾驶失控、车毁人亡。我们的真实世界正在经历的各种数字化转型、升级和联网浪潮,不仅仅需要大数据、人工智能、云计算、5G 等这些新技术的持续推动力,更离不开网络安全技术在每一项新技术背后的保护力加持。没有网络安全的基础保障,网络空间安全无从谈起。
上边提到的“永恒之蓝”就是windows系统的漏洞
漏洞又被称为脆弱性或弱点(Weakness),是指信息资产及其安全措施在安全方面的不足和弱点。漏洞一旦被利用,即会对资产造成影响
指负责应用程序的程序员或供应商所未知的软件缺陷,尚未公开的漏洞,永恒之蓝在没有被公开就是0day
刚被官方公布的漏洞就是1day,刚被公布得了漏洞会有一个打补丁的时间差,这个时间差可以被黑客利用
后门是一种用于获得对程序或在线服务访问权限的秘密方式,一般是绕过安全控制而获取对程序或系统访问权的方法。上边的meterPeter就是一种后门程序。我们可以用它很方便的进行目标系统的访问
exp;指的是漏洞利用程序,我们在上面敲得exploit的命令就是执行永恒之蓝的漏洞利用程序来攻击目标win7
它在黑客眼里就是漏洞利用。有漏洞不一定就有Exploit(利用),有Exploit就肯定有漏洞。我们几乎每隔几天就能听到最近有一个新发现的可以被利用(exploit)的漏洞(vulnerability),然后给这个漏洞打上补丁。而事实上,这里面的内容比你想象的要多,因为你不可能知道所有软件的漏洞,而且那些可利用的漏洞也只是被少数人所了解。 漏洞是存在于一个程序、算法或者协议中的错误,可能带来一定的安全问题。 但不是所有的漏洞都是能够被利用来攻击(exploitable)的,理论上存在的漏洞,并不代表这个漏洞足以让攻击者去威胁你的系统。一个漏洞不能攻击一个系统,并不代表两个或多个漏洞组合就不能攻击一个系统。例如:空指针对象引用(null-pointer dereferencing)漏洞可以导致系统崩溃(如果想做拒绝服务攻击就足够了),但是如果组合另外一个漏洞,将空指针指向一个你存放数据的地址并执行,那么你可能就利用此来控制这个系统了。一个利用程序(An exploit)就是一段通过触发一个漏洞(或者几个漏洞)进而控制目标系统的代码。攻击代码通常会释放攻击载荷(payload),里面包含了攻击者想要执行的代码。exploits利用代码可以在本地也可在远程进行。一个远程攻击利用允许攻击者远程操纵计算机,理想状态下能够执行任意代码。远程攻击对攻击者非常重 要,因为攻击者可以远程控制他/她的主机,不需要通过其它手段(让受害者访问网站,点击一个可执行文件,打开一个邮件附件等等),而本地攻击一般都是用来提升权限 。
攻击是指由威胁源所实施的、导致安全事件发生的行为,它是 漏洞利用 和 实现威胁 的过程,一旦攻击得手即会造成影响。
安全策略是指在某个安全区域内,所有与安全活动相关的一套规则,它声明哪些行为是能做的、被允许的,哪些行为是不能做的、被禁止的。这些规则是由此安全区域中所设立的一个安全权利机构建立的,并由安全控制机构来描述、实施或实现的社会工程学。
安全机制是一种用于解决和处理某种安全问题的方法,通常分为预防、检测和恢复三种类型。网络安全中绝大多数安全服务和安全机制都是建立在密码技术的基础之上的,它们通过密码学方法对数据信息进行加密和解密来实现网络安全的目标要求。
信息安全可以分为Soft Security和Hard Security 两个部分。所谓的“硬安全”,主要就是具体的安全IT 技术(比如:防火墙、入侵检测、漏洞扫描、抗拒绝服务……),这些东西都是专家安全公司在搞,离绝大多数的读者可能比较遥远。而“软安全”主要涉及管理、心理学、文化、人际交往等方面,与具体的IT 技术可能没有关系。今天所说的“社会工程学”,实际上就是“软安全”,如果你看过电影《没有绝对的安全》的话,电影中主人公没有花一分钱搞到了肯德基的一份午餐就是利用社会工程学的典型例子。通俗地讲,社会工程学就是:利用人性之中的弱点(贪婪、恐惧、性欲……)等心理学上的弱点来影响别人,最终达到自己不可告人的目的。
APT是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的“恶意商业间谍威胁”。这种行为往往经过长期的经营与策划,并具备高度的隐蔽性。APT的攻击手法,在于隐匿自己,针对特定对象,长期、有计划性和组织性地窃取数据,这种发生在数字空间的偷窃资料、搜集情报的行为,就是一种“网络间谍”的行为。
APT攻击是一个集合了多种常见攻击方式的综合攻击。综合多种攻击途径来尝试突破网络防御,通常是通过Web或电子邮件传递,利用应用程序或操作系统的漏洞,利用传统的网络保护机制无法提供统一的防御。除了使用多种途径,高级定向攻击还采用多个阶段穿透一个网络,然后提取有价值的信息,这使得它的攻击更不容易被发现。
卡巴斯基遭APT攻击,全球知名网络安全公司卡巴斯基实验室遭遇APT攻击长达数月未察觉,实施攻击的病毒Duqu2.0是现金为止最为复杂的蠕虫病毒,被广泛应用与各种APT攻击事件中。
网络安全要素
保密性—confidentiality
完整性—integrity
可用性—availability
可控性—controllability
不可否认性—Non-repudiation
保密性(confidentiality)与Integrity(完整性)和 Availability(可用性)并称为信息安全的CIA三要素。
保密性
保密性:确保信息不暴露给未授权的实体或进程。
目的:即使信息被窃听或者截取,攻击者也无法知晓信息的真实内容。可以对抗网络攻击中的被动攻击
完整性
只有得到允许的人才能修改实体或进程,并且能够判别出实体或进程是否已被修改。完整性鉴别机制,保证只有得到允许的人才能修改数据 。可以防篡改。
可用性
得到授权的实体可获得服务,攻击者不能占用所有的资源而阻碍授权者的工作。用访问控制机制,阻止非授权用户进入网络。使静态信息可见,动态信息可操作,防止业务突然中断
doss攻击:拒绝式服务攻击,就是破坏可用性。
可控性
可控性主要指对危害国家信息(包括利用加密的非法通信活动)的监视审计。控制授权范围内的信息流向及行为方式。使用授权机制,控制信息传播范围、内容,必要时能恢复密钥,实现对网络资源及信息的可控性。
不可否认性
不可否认性:对出现的安全问题提供调查的依据和手段。使用审计、监控、防抵赖等安全机制,使得攻击者、破坏者、抵赖者“逃不脱",并进一步对网络出现的安全问题提供调查依据和手段,实现信息安全的可审查性
所谓的网络安全威胁是指可能破坏某一网络资源的机密性、完整性以及可用性等安全基本要素的来源或原因。例如对于数据库中的数据来说, SQL 注入攻击就是一种网络威胁。一旦攻击得手,被攻击者就可能会被窃取机密数据从而导致数据的机密性被破坏。
使用 威胁模型分析(Threat Model Analysis, TMA) 可以帮助确定产品、应用程序、网络或环境中存在的风险和可能的攻击路径。TMA 的目标是确定哪些威胁需要缓解以及如何缓解。具体来说,威胁模型对于帮助企业应对安全威胁具有五个方面的具体作用:
当前普遍采用的威胁模型包括:微软 STRIDE 模型、微软 DREAD 模型、卡耐基梅隆大学的 OCTAVE 模型等。威胁模型是多种多样的,但是建立过程却大致相同,基本上可以分为四个步骤,分别是:明确目标、分解系统、识别威胁、评估威胁。
微软 STRIDE 模型
从上表可以看出,STRIDE 模型正好是对应着安全属性而设计建模的,将威胁与提供威胁防护的特性相对照。
假冒
当一个恶意用户假扮成一个信任实体进入系统,而计算机又不能区分时,这类安全威胁属于假冒,又称为身份欺诈;
篡改
用户获得对一台计算机或某个系统的未经授权的访问权限,然后修改计算机或系统的操作、配置或数据,这种情况属于篡改。篡改可能是恶意的,也可能是无意的;
否认
系统管理员或者安全代理不能证实一个用户(恶意用户或者其他用户)是否已经执行了某种操作,这种情况属于否认,也称为抵赖;
信息泄露
未经授权的用户可以查看私有或保密数据;
拒绝服务
拒绝服务威胁包括任何能够导致系统关闭或者组织访问计算机资源的攻击。拒绝服务攻击可能引起计算机应用程序或者操作系统停止运行、 CPU 忙于长时间无意义的计算、系统内存被消耗以至应用程序和造作系统的功能被削弱、网络带宽降低或者完全被扼杀等后果;
提升权限
提升权限是指用户获得的访问权限超过系统管理员赋予他们的权限。权限提升给恶意用户发起其他任何类型安全威胁的攻击创造了机会。
漏洞管理相关标准
漏洞标准是关于漏洞命名、评级、检测、管理的一系列规则和规范,是信息安全保障体系的重要组成部分,是对漏洞进行合理、有效管控的重要手段,为信息安全测评和风险评估提供了基础。
美国的安全研究机构与组织先后推出了一系列有影响力的标准,其中,CVE 、CVSS 等 7 个标准已被国际电信联盟(ITU)的电信标准化部门(ITU-T)纳入到了其 X 系列(数据网、开放系统通信和安全性)建议书中,成为了 ITU-T 推荐的国际漏洞标准。如下表格列出了这 7 个标准及其建议书编号:
为了实现「可度量的安全」和「可执行的安全」标准,除了上述 7 个标准之外还有一些相关安全标准被设计提出。例如:威胁情报领域的威胁情报交换格式标准 STIX 、恶意软件分类和特征标准 MAEC 和可扩展配置检查清单描述标准 XCCDF 等。这些标准在公布之后并非一成不变,有些标准在发展的过程中被整合到其他相关标准之中。例如:CybOX 就已经被整合到了 STIX 2.0 标准之中。
借用这些标准的主要制定者 mitre.org 的一张图来概括这些标准在「安全测量」和「安全管理」架构中所扮演的角色,如下图所示:
CVE
CVE 的全称是 Common Vulnerabilities & Exposures ,中文翻译对应「公共漏洞曝光」。 CVE 就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得 CVE 成为了安全信息共享的“关键字”。CVE 开始建立是在 1999 年 9月,起初只有 321 个条目。在 2000 年 10 月 16 日,CVE 达到了一个重要的里程碑——超过 1000 个正式条目。截止 2018 年 4 月 25 日,CVE 共计收录了 100053 个正式漏洞。
CNVD, NVD 与 CNNVD
国家信息安全漏洞共享平台(China National Vulnerability Database,简称CNVD) 由国家互联网应急中心、国家信息技术安全研究中心于2009年10月牵头发起,由国家互联网应急中心(简称 CNCERT )具体组织运作,联合国内重要信息系统单位、基础电信运营商、网络安全厂商、软件厂商和互联网企业建立的信息安全漏洞信息共享知识库。
建立 CNVD 的主要目标即与国家政府部门、重要信息系统用户、运营商、主要安全厂商、软件厂商、科研机构、公共互联网用户等共同建立软件安全漏洞统一收集验证、预警发布及应急处置体系,切实提升我国在安全漏洞方面的整体研究水平和及时预防能力,进而提高我国信息系统及国产软件的安全性,带动国内相关安全产品的发展。由 CNVD 牵头制订的 中国互联网协会漏洞信息披露和处置自律公约 是安全研究人员和组织在发现漏洞后应遵守和执行的一个重要指导原则。
NVD(National Vulnerability Database)是美国的国家漏洞数据库,其角色和作用同我国的 CNVD。
国家信息安全漏洞库,英文名称"China National Vulnerability Database of Information Security"(简称 CNNVD ),于2009年10月18日正式成立,是 中国信息安全测评中心 为切实履行漏洞分析和风险评估的职能,负责建设运维的国家信息安全漏洞库,面向国家、行业和公众提供灵活多样的信息安全数据服务,为我国信息安全保障提供基础服务
以「破壳」漏洞为例
2014 年 9 月 24 日 GNU Bash 被公布存在远程代码执行漏洞,并在接下来的几天时间里先后出现了「官方发布漏洞补丁」、「补丁被绕过,发现新漏洞」、「新漏洞再被补丁」、「新补丁再次被绕过,发现新漏洞」…… 此次安全事件之后,相关 6 个有 CVE 编号的 Bash 漏洞被业界统称为「Shellshock」(中文译名:「破壳」)漏洞。「破壳」漏洞对应的第一个 CVE 漏洞编号为 CVE-2014-6271。
ATT&CK 模型是在洛克希德-马丁公司提出的 网络杀伤链(Cyber Kill Chain)模型 的基础上,构建了一套更细粒度、更易共享的知识模型和框架。目前(2021年5月) ATT&CK 模型分为三部分,分别是ATT&CK for Enterprise , ATT&CK for Mobile 和 ATT&CK for ICS 。 ATT&CK for Enterprise描述了攻击者为破坏在企业网络和云中采取的战术和技术, ATT&CK for Enterprise 由适用于Windows 、 Linux 和 macOS 系统的技术和战术部分共同组成。 ATT&CK for Mobile 包含适用于移动设备的战术和技术。 ATT&CK for ICS 适用于工业控制系统网络中的战术和技术。
但是, ATT&CK 的战术跟洛克希德·马丁的网络杀伤链不一样,并没有遵循任何线性顺序。相反,攻击者可以随意切换战术来实现最终目标。没有一种战术比其它战术更重要。企业组织必须对当前覆盖范围进行分析,评估组织面临的风险,并采用有意义措施来弥合差距。
除了在杀伤链战术上更加细化之外, ATT&CK 还描述了可以在每个阶段使用的具体技术,而杀伤链模型则没有这些内容。从视觉角度来看, ATT&CK 矩阵按照一种易于理解的格式将所有已知的战术和技术进行排列。攻击战术(阶段)展示在矩阵顶部,每列下面列出了单独的技术。一个攻击序列由一系列战术所组成,每种战术至少包含一个具体技术(类别),并且通过从左侧(初始访问)向右侧(影响)移动,就构建了一个完整的攻击序列。一种战术可能使用多种技术。例如,攻击者可能同时尝试鱼叉式网络钓鱼攻击中的钓鱼附件和钓鱼链接。
ATT&CK 在网络空间安全的多种应用场景中都很有价值。开展任何防御活动时,可以应用 ATT&CK 分类法,描述攻击者及其行为。 ATT&CK 不仅为网络防御者提供通用技术库,还为渗透测试和红队提供了技战术基础。提到对抗行为时,这为防御者和红队成员提供了通用描述语言。企业组织可以使用多种方式来使用 ATT&CK 。以下列举一些常见的应用场景: