信息安全中心安全沙龙 目录
1
信息安全中心安全沙龙 目录
1
信息安全中心安全沙龙 目录
2
目 录
--------------------------技术理论-------------------------
API 安全 ................................................. 5
一、什么是 API...........................................................................................................................................5
二、API 安全形势......................................................................................................................................5
三、OWASP API Top 10............................................................................................................................8
四、API 安全治理...................................................................................................................................11
展望..............................................................................................................................................................13
容器安全 ................................................ 15
一、容器的起源.......................................................................................................................................15
二、容器技术的特点 .............................................................................................................................16
三、容器的应用场景 .............................................................................................................................17
四、容器安全风险与攻击面................................................................................................................18
区块链基础知识(一) .................................... 21
一、区块链简介.......................................................................................................................................21
二、区块链主要特征 .............................................................................................................................23
三、区块链技术的演化发展................................................................................................................23
四、区块链发展趋势 .............................................................................................................................24
系统访问控制 ............................................ 26
一、访问控制在系统安全中的作用..................................................................................................26
二、相关概念...........................................................................................................................................26
三、UGO 自主访问控制..........................................................................................................................28
四、ACL 自主访问控制..........................................................................................................................29
五、BLP 强制访问控制..........................................................................................................................29
六、BiBa 强制访问控制........................................................................................................................29
Cyber Kill Chain 模型介绍................................. 31
一、产生背景...........................................................................................................................................31
二、阶段介绍...........................................................................................................................................31
三、防御策略...........................................................................................................................................33
四、网络杀伤链视角下的网络入侵案例.........................................................................................35
SHA3 哈希算法介绍 ...................................... 38
一、海绵函数概述..................................................................................................................................38
二、RadioGatun.......................................................................................................................................38
三、Keccak................................................................................................................................................41
信息安全中心安全沙龙 目录
3
https 双向认证及自签实现 ................................. 49
一、https 工作原理...............................................................................................................................49
二、双向认证...........................................................................................................................................49
三、自签实现...........................................................................................................................................51
四、性能影响...........................................................................................................................................53
企业业务数字安全(二)..................................... 54
一、黑灰产业链.......................................................................................................................................54
(一)黑灰产业链组织形式 ......................................................................................................54
(二)工具组..................................................................................................................................54
(三)信息组..................................................................................................................................57
(四)变现组..................................................................................................................................57
二、黑灰产业链运作流程....................................................................................................................58
(一)账户.......................................................................................................................................58
(二)羊毛党”薅羊毛”流程..................................................................................................58
动态蜜网 ................................................ 59
一、背景介绍...........................................................................................................................................59
二、动态蜜网架构..................................................................................................................................59
三、诱饵应用...........................................................................................................................................61
四、动态蜜网技术设计.........................................................................................................................62
Web 3.0 ................................................. 63
一、何为 Web3.0 .....................................................................................................................................63
二、落地技术...........................................................................................................................................63
三、Web3.0 隐私解决方案——skiff ..............................................................................................65
安全多方计算及加法同态加密 .............................. 67
一、隐私计算...........................................................................................................................................67
二、安全多方计算(MPC)..................................................................................................................67
三、加法同态加密..................................................................................................................................69
--------------------------实战渗透-------------------------
云函数应用 .............................................. 72
一、常用代理工具..................................................................................................................................72
二、云函数之目录扫描.........................................................................................................................75
三、云函数之端口扫描.........................................................................................................................79
四、云函数之隐藏 webshell ..............................................................................................................82
五、云函数之隐藏 CS ............................................................................................................................83
六、scf-proxy 项目...............................................................................................................................89
逆向工程 Windows(一).................................. 93
信息安全中心安全沙龙 目录
4
一、PE 文件简介 .....................................................................................................................................93
二、加脱壳基本原理 ...........................................................................................................................106
越权漏洞简介 ........................................... 109
一、越权漏洞简述................................................................................................................................109
二、漏洞检测.........................................................................................................................................111
三、防守策略.........................................................................................................................................113
参考文献 ..................................................................................................................................................114
Django 漏洞简介 ........................................ 115
一、ORM.....................................................................................................................................................115
二、CVE-2021-35042 ...........................................................................................................................117
三、基础的安全实践 ...........................................................................................................................118
redis 未授权访问漏洞利用 ................................ 119
一、Redis 介绍......................................................................................................................................119
二、Redis 未授权访问漏洞利用 .....................................................................................................119
三、ssrf+Redis 未授权漏洞利用...................................................................................................122
WAF-Bypass 之 SQL 注入绕过云锁 ........................ 125
一、Bypass 云锁 MySQL 注入 ............................................................................................................125
(一) MySQL 特性......................................................................................................................125
(二) 超大数据包绕过...........................................................................................................126
(三) 畸形的 boundary 绕过................................................................................................131
二、Bypass 云锁 SQLServer 注入...................................................................................................133
(一) SQLServer 特性 ............................................................................................................133
(二)GET 方法传输 POST 数据绕过 绕过原理.................................................................135
(三)多行注释符替代空格绕过【未成功】....................................................................136
(四)注释符与回车符结合绕过...........................................................................................140
5
信息安全中心安全沙龙 API 安全
API 安全
作者:陈依阳
一、什么是 API
• 通过定义一组函数、协议、数据结构,明确应用程序中各个组件之间通信与数
据交互方式。将 Web 应用、操作系统、数据库以及计算机软硬件的能力以接口的
形式提供给外部使用。
• API 技术解决的是程序之间的连接问题
• API 提供能力,调用方不用访问源码或理解程序内部工作机制
二、API 安全形势
发展趋势
目前随着互联网、物联网等快速发展,越来越多的开发者会使用 API 接口为
客户提供各种微服务并通过云原生应用快速部署容器进行快速迭代开发。因此无
论是在互联网访问网络资源或者通过物联网进行系统应用的控制都会利用 API
接口。
为了让客户获得更好的服务体验,银行机构正在采用、甚至迁移到 API 式的
敏捷模型中,以实现高效、强适应性的金融安全架构。
医疗保健行业的从业人员通过各种可用的 API,向患者和客户提供集成化的
医疗保健服务,并能提高自身产品的互操作性。
6
信息安全中心安全沙龙 API 安全
零售商正在使用 API 为其客户提供更加智能化的电子商务平台,例如:多元
化的移动支付应用等。
面临着挑战
据统计,API 请求已占所有应用请求的 83%,预计 2024 年 API 请求命中数将
达到 42 万亿次。与此同时,针对 API 的攻击成为了恶意攻击者的首选,相对于
传统 WEB 窗体,API 的性能更高、攻击的成本更低,有专家预测,到 2024 年 API
滥用将使得针对 API 的攻击成为最常见的攻击方式。之所以 API 安全问题如此严
重,主要是因为 API 安全面临着如下挑战:
1.应用和逻辑迁移上云,暴露更多攻击面
随着云计算技术的广泛应用,越来越多的 Saas 被迁移上云,在为更多的用
户提供服务的同时,也将 API 暴露到云中,相对于传统数据中心的单点调用,东
西向和南北向都可能成为 API 的攻击面。
2.创新强调速度和灵活,忽略构建 API 安全
敏捷开发模式是当今主流开发模式,敏捷开发强调个体和互动、工作的软件、
7
信息安全中心安全沙龙 API 安全
客户合作、响应变化,虽然提升了创新速度和灵活性,但是对于如何构建 API 安
全性却缺少合适的方法,导致在软件构建过程中难以顾及 API 安全。
3.API 接口对外不可见,引发多种攻击隐患
由于 API 是由程序员书写,除了编写代码的程序员,很少有人意识到这些
API 的存在,缺少维护的 API 经常容易被忽略,然而恶意攻击者却可以利用网络
流量、逆向代码、安全漏洞等各种手段找到不设防 API 并实施攻击。
4.组织经常低估 API 风险,造成安全措施遗漏
人们通常会假设程序会按照想象中的过程运行,从而导致 API 被攻击的可能
性以及影响被严重低估,因此不去采取充分的防护措施。此外,第三方合作伙伴
系统的 API,也容易被组织所忽视。
面临着威胁
据权威报告显示,以 API 为目标的攻击是以 HTML 应用为目标攻击的三倍,
部分攻击造成了严重的业务中断,攻击者利用弱身份认证、授权和注入漏洞实施
攻击的方法仍然普遍,而利用 Json、XML 等基于解析器的攻击以及第三方 API 集
成带来的风险正在增加,经综合分析,API 的攻击类型包括:
1.凭证类攻击
据统计,2018-2020 期间,有 1000 亿次的凭证盗用攻击,而且每年攻击的复
杂度和数量都在持续增加,凭证盗用攻击的代价高达 2280 万美元,平均每 30 秒
就有一位凭证盗用的受害者。攻击者通过购买、钓鱼、漏洞利用等方式获得 API
登录凭证,继而利用僵尸网络接入客户站点 API,盗取客户数据或者个人信息。
2.可用性攻击
当 API 端点对外暴露,攻击者就可以利用 DDOS 或者攻击 API 解析器,造成
API 无法提供相应服务。对于 DDOS,除了部署常规防 DDOS 设备以外,还要关注
合作伙伴 API 的 DDOS 攻击承受能力,如果仅仅依靠合作伙伴的安全措施,原始
API 就得不到保护。而针对 API 解析器的攻击则更具有针对性,可能造成哈希值
冲突或者反序列化异常,进而拒绝 API 请求。
3.漏洞利用攻击
漏洞利用是所有应用程序面临的安全威胁,API 也不能例外。通过在 API 的
函数参数、Json、XML 等有效负载嵌入恶意代码,实施目录转换、命令注入、SQL
注入、XSS、绕过身份认证和授权等常见的 API 攻击手段,达到敏感数据窃取或
破坏系统的目的。更进一步,API 攻击已经工具化,攻击者能够利用工具搜集用
于攻击的域名和 API 列表,再使用其他工具查找或删除敏感数据。
8
信息安全中心安全沙龙 API 安全
API 相关常见数据安全问题
1.数据滥用风险
例如第三方超出业务需要,私自大量缓存、调用接口数据;接口返回超出最
小必要原则的敏感个人信息字段;高敏感级别字段(例如《个人金融信息保护技
术规范》定义的 C3 级别个人金融信息)未按规定脱敏或脱敏策略不一致。
2.数据泄露风险
例如数据接口权限漏洞被外部攻击者利用窃取敏感数据;或者内部员工利用
遗留后门接口获取敏感数据。
3.隐私合规风险
例如隐私数据采集未经用户授权;隐私数据接口违规开放给第三方等。
API 安全一旦出现问题,可能导致的是百万、千万、甚至亿级的个人信息泄
露,使企业面临违反《网络安全法》第四十二条“网络运营者应当采取技术措施
和其他必要措施,确保其收集的个人信息安全,防止信息泄露、毁损、丢失”的
合规风险。由此可以看出,API 安全应当作为一项重要抓手,用于管控组织级别
的数据安全与个人信息安全风险。
三、OWASP API Top 10
A1:失效的对象级授权
预防措施:
• 基于用户策略和继承关系来实现适当的授权机制
• 使用随机且不易推测的 IDs (UUIDs)
A2:失效的用户身份认证
一、 API 安全治理
9
信息安全中心安全沙龙 API 安全
预防措施:
• 凭据重置、忘记密码端应被视作认证端点,在暴力破解、请求频率限制和
锁定保护上同等对待
• 使用标准认证、令牌生成、密码存储、多因素认证
A3:过度的数据暴露
预防措施:
• 不要依赖客户端来过滤敏感数据
• 检查 API 的响应,确认其中仅包含合法数据
A4:资源缺失 & 速率限制
预防措施:
• 对用户调用 API 的频率执行明确的时间窗口限制
• 在突破限制时通知客户,并提供限制数量及限制重置的时间
A5:失效的功能级别授
10
信息安全中心安全沙龙 API 安全
预防措施:
• 强制执行机制应拒绝所有访问,要求显式授予特定角色才能访问每个功能
• 确保常规控制器内的管理功能根据用户的组和角色实施授权检查
A6:批量分配
预防措施:
• 不要自动绑定输入数据和内置对象
• 在设计时准确定义您将在请求中接受的模式、类型和模型,并在运行时强
制执行
A7:安全配置错误
预防措施:
• 防止异常追踪和其他有价值的信息被传回攻击者,定义和强制使用统一的
API 响应格式,包括错误信息
• 在所有环境中持续评估配置和设置有效性的自动化过程
A8:注入
11
信息安全中心安全沙龙 API 安全
预防措施:
• 将数据与命令和查询分开
• 严格定义所有输入数据:模式、类型、字符串模式,并在运行时强制执行
A9:资产管理不当
预防措施:
• 对集成服务进行清点并记录重要信息,如它们在系统中的角色、交换了什
么数据(数据流)及其敏感性
• 采用开放标准自动生成文档,包括在 CI/CD 管道中构建的文档
A10:日志和监控不足
预防措施:
• 所有失败的安全策略,如日志中失败登录尝试,拒绝访问,输入验证失败,
都要接受检查
• 配置一个监控系统,以持续监视基础设施、网络和 API 功能
四、API 安全治理
API 风险调查
1.溯源定位
通过将告警的源地址与资产数据进行匹配,以及提取 APIurl 中的账号等参
数信息,来识别出告警主体的更多信息。如果是来自内部的操作,则可以直接定
位到当事的操作员工,以及所在团队或者营业部。
12
信息安全中心安全沙龙 API 安全
2.告警聚集性挖掘
通常来说,我们需要特别关注聚集性的告警。在溯源定位完成之后,我们利
用聚类分析,将告警从多个维度进行聚类,挖掘告警的聚集性和作案的团伙性。
如是否存在营业部聚集、是否存在地理位置聚集、是否存在对某一类数据的聚集
等,并将其呈现在面板上。
3.情报印证
API 告警的背后,是疑似 API 被滥用和数据被泄露。我们将告警中涉及的数
据与外部泄露情报进行自动比对,如果比对印证成功,则 API 被滥用和数据被泄
露的实锤加大,同时也省去了大量人工调查环节的证据搜索时间。
4.行为链路梳理
一个真实的风险事件,可能会伴随着一系列的异常行为。如通过频繁调用
API 接口获取了大量个人隐私数据,后续可能会出现数据外发的 DLP 事件,或者
之前已申请离职,意图将敏感数据带走等。因此对于一条告警,我们会搜索告警
时点前后的重要行为,并将其展现到调查面板中。
API 管理
首先,对全部 API 进行全面文档化管理,为了规避 API 变动频繁的困难,推
荐使用开源自动化管理工具,在 API 变更时添加描述性说明,自动生成最新 API
文档,同时自动检查流量以发现和分析未知或更改的 API,以便快速响应基于 API
的攻击。其次,梳理 API 之间的调用链,梳理 API 之间的调用关系,找出僵尸
API,防止安全防护措施遗漏,该步骤也可通过工具完成。最后,对 API 实施契
约测试和白盒测试,减少漏洞存在的可能性
API 安全防护措施
13
信息安全中心安全沙龙 API 安全
API 管理
从发现、保护和分析三个维度,制定 API 安全检视列表,持续对 API 进行安
全检视,以此发现隐患,制定策略、实施防护。在发现维度检视 API 开发、测试
和部署的安全措施是否全面。在保护维度,检视用户标识、DDOS 攻击防护措施、
数据校验黑白名单是否完整。在分析维度,检视 API 风险评估、API 审计日志是
否充分。
展望
随着信息技术的快速发展,API 安全防护也在持续演进过程中,最初 API 安
全防护解决无效输入、DOS 攻击、认证绕过等攻击,现今的防护重点则落地在缓
14
信息安全中心安全沙龙 API 安全
冲区溢出、XSS、SQL 注入等漏洞防护,安全防护的措施也从单个漏洞防护升级为
网关、应用系统防护。未来,多向量、自动化工具、武器化人工智能类的攻击将
成为 API 攻击的主流,相应的,安全防护措施也需加强系统化、自动化、深度学
习、智能化能力,向以体系对抗体系,以智能防护智能的方向演进。
15
信息安全中心安全沙龙 容器安全
容器安全
作者:苗子羿、邓静静
一、容器的起源
今天我们要说的容器技术是怎么一个概念呢?早期,大家都认为硬件抽象层
基于 hypervisor 的虚拟化方式可以最大程度上提供虚拟化管理的灵活性。各种
不同操作系统的虚拟机都能通过 hypervisor(KVM、VM 等)来衍生、运行、销毁。
然而,随着时间推移,用户发现 hypervisor 这种方式麻烦越来越多。为什么?
因为对于 hypervisor 环境来说,每个虚拟机都需要运行一个完整的操作系统以
及其中安装好的大量应用程序。但实际生产开发环境里,我们更关注的是自己部
署的应用程序,如果每次部署发布都需要搞一个完整操作系统和附带的依赖环境,
那么这让任务和性能变得很重和很低下。
基于上述情况,人们就在想,有没有其他什么方式能让人更加的关注应用程
序本身,底层多余的操作系统和环境我可以共享和复用?换句话来说,那就是我
部署一个服务运行好后,我再想移植到另外一个地方,我可以不用再安装一套操
作系统和依赖环境。容器是一种沙盒技术,主要目的是为了将应用运行在其中,
与外界隔离;及方便这个沙盒可以被转移到其它宿主机器。通俗点的理解就是一
个装应用软件的箱子,箱子里面有软件运行所需的依赖库和配置。开发人员可以
把这个箱子搬到任何机器上,且不影响里面软件的运行。
16
信息安全中心安全沙龙 容器安全
Linux Container 容器技术的诞生(2008 年)就解决了 IT 世界里“集装箱
运输”的问题。Linux Container(简称 LXC)它是一种内核轻量级的操作系统层
虚拟化技术。Linux Container 主要由 Namespace 和 Controlgroup 两大机制来
保证实现。那么 Namespace 和 Controlgroup 是什么呢?刚才我们上面提到了箱
子,箱子的作用是可以对货物进行打包隔离,进行区分和搬运。那么 Namespace
也是一样的作用:做隔离。光有隔离还没用,我们还需要对货物进行资源的管理。
同样的,航运码头也有这样的管理机制:货物用什么样规格大小的集装箱,货物
用多少个集装箱,货物哪些优先运走,遇到极端天气怎么暂停运输服务怎么改航
道等等... 通用的,与此对应的 Controlgroup 就负责资源管理控制作用,比如
进程组使用 CPU/MEM 的限制,进程组的优先级控制,进程组的挂起和恢复等等。
二、容器技术的特点
容器的特点其实我们拿跟它跟硬件抽象层虚拟化 hypervisor 技术对比就清
楚了,我们之前也提到过,传统的虚拟化(虚拟机)技术,创建环境和部署应用
都很麻烦,而且应用的移植性也很繁琐,比如你要把 vmware 里的虚拟机迁移到
KVM 里就很繁琐(需要做镜像格式的转换)。那么有了容器技术就简单了,总结下
容器技术主要有四个特点:
• 极其轻量:只打包了必要的 Bin/Lib;
17
信息安全中心安全沙龙 容器安全
• 秒级部署:根据镜像的不同,容器的部署大概在毫秒与秒之间;
• 易于移植:一次构建,随处部署
• 弹性伸缩:开源、方便、好使的容器管理平台有着非常强大的弹性管理
能力。
三、容器的应用场景
容器技术的诞生其实主要解决了 PAAS 的层的技术实现。容器技术主要应用
在哪些场景呢?目前主流的有以下几种:
1、容器化传统应用。容器不仅能提高现有应用的安全性和可移植性,还能
节约成本。
每个企业的环境中都有一套较旧的应用来服务于客户或自动执行业务流程。
即使是大规模的单体应用,通过容器隔离的增强安全性、以及可移植性特点,也
能从 Docker 中获益,从而降低成本。一旦容器化之后,这些应用可以扩展额外的
服务或者转变到微服务架构之上。
持续集成和持续部署 (CI/CD) 通过 Docker 加速应用管道自动化和应用部
署,交付速度提高至少 13 倍。
2、现代化开发流程快速、持续且具备自动执行能力,最终目标是开发出更可
靠的软件。
通过持续集成(CI)和持续部署(CD),每次开发人员签入代码并顺利测试之后,
IT 团队都能够集成新代码。作为开发运维方法的基础,CI/CD 创造了一种实时
反馈回路机制, 持续地传输小型迭代更改,从而加速更改,提高质量。CI 环境通
常是完全自动化的,通过 git 推送命令触发测试,测试成功时自动构建新镜像,
然后推送到 Docker 镜像库。通过后续的自动化和脚本,可以将新镜像的容器部
署到预演环境,从而进行进一步测试。
3、微服务 加速应用架构现代化进程。
应用架构正在从采用瀑布模型开发法的单体代码库转变为独立开发和部署
18
信息安全中心安全沙龙 容器安全
的松耦合服务。成千上万个这样的服务相互连接就形成了应用。Docker 允许开
发人员选择最适合于每种服务的工具或技术栈,隔离服务以消除任何潜在的冲突,
从而避免“地狱式的矩阵依赖\"。这些容器可以独立于应用的其他服务组件,轻松
地共享、部署、更新和瞬间扩展。Docker 的端到端安全功能让团队能够构建和运
行最低权限的微服务模型,服务所需的资源(其他应用、涉密信息计算资源等)会
适时被创建并被访问。
4、IT 基础设施优化 充分利用基础设施,节省资金。
Docker 和容器有助于优化 IT 基础设施的利用率和成本。优化不仅仅是指削
减成本,还能确保在适当的时间有效地使用适当的资源。容器是一种轻量级的打
包和隔离应用工作负载的方法,所以 Docker 允许在同一物理或虚拟服务器上毫
不冲突地运行多项工作负载。企业可以整合数据中心,将并购而来的 IT 资源进行
整合,从而获得向云端的可迁移性,同时减少操作系统和服务器的维护工作。
四、容器安全风险与攻击面
这里以 Docker 为例,来学习学习容器基础设施中存在的一些风险问题。
下图是 Docker 官方给出的架构图,里面包括了 Docker 客户端、Docker
容器所在的宿主机和 Docker 镜像仓库三个部分。其中宿主机包括了 Docker 守
护进程、本地容器和本地镜像,Docker 守护进程(dockerd)的作用是侦听 Docker
API 请求和管理 Docker 对象。
19
信息安全中心安全沙龙 容器安全
容器镜像存在的风险
1、不安全的第三方组件
例如开发者在代码中引入了存在漏洞版本的 log4j2 组件,然后将其打包
成了业务镜像。这样即使代码没有漏洞,但因为引入了不安全的第三方组件也变
得有漏洞了。
再比如开发者在 Django 镜像的基础上,编写了自己的 Python 代码,然后
将其打包成镜像。这样如果在 Django 镜像里引用了不安全的第三方组件或
者 Django 自身存在漏洞,自己打包的镜像也同样会受到影响。
2、不安全的镜像
在公共镜像仓库比如 Docker Hub 里,会存在一些有漏洞的镜像或者恶意
镜像,如果使用了这些镜像那就存在风险了。
3、敏感信息泄露
如果开发者为了开发、调试方便,可能会将数据库账号密码、云服务密钥之
类的敏感数据打包到了镜像里,那别人获取到这个镜像后,就会导致敏感信息泄
露了。
活动中的容器存在的风险
1、不安全的容器应用
在使用容器时,往往会需要进行端口映射,比如把 MySQL 的 3306 端口映
射出来,如果 MySQL 被配置了弱密码,那就存在被利用的风险了。
除此之外,如果一个 Web 服务端口被映射出来,同时这个 Web 服务存在漏
洞,那么也同样是存在风险的。
2、不受限制的资源共享
20
信息安全中心安全沙龙 容器安全
容器运行在宿主机上,容器必然要使用宿主机的各种 CPU、内存等资源,如
果没有对容器进行资源使用限制,那么就存在宿主机被资源耗尽的风险。
3、不安全的配置与挂载
如果为容器设定了不安全的配置,会导致容器本身的隔离机制失效,容器的
两大隔离机制如下:
• Linux 命名空间(NameSpace):
实现文件系统、网络、进程、主机名等方面的隔离
• Linux 控制组(cgroups):
实现 CPU、内存、硬盘等方面的隔离
如果设定了以下配置就会导致相应的隔离机制失效:
• —privileged:使容器内的 root 权限和宿主机上的 root 权限一致,
权限隔离被打破
• —net=host:使容器与宿主机处于同一网络命名空间,网络隔离被打破
• —pid=host:使容器与宿主机处于同一进程命令空间,进程隔离被打破
• —volume /:/host:宿主机根目录被挂载到容器内部,文件系统隔离被打破
其他风险
1、容器网络风险
虽然默认情况下,容器内部的网络与宿主机是隔离的,但是每个容器之间是
彼此互相连通的,理论上在容器之间是存在内网横向的风险的。
2、宿主机操作系统风险
容器通常与宿主机共享内核,也就是说如果宿主机内核存在漏洞,意味着容
器可能也会存在相同的漏洞。
例如如果宿主机存在脏牛漏洞,那么拿到容器权限后,使用脏牛漏洞就可以
获得宿主机权限,实现容器逃逸。
3、软件自身的漏洞
Docker 自身存在的一些漏洞,比如 CVE-2019-14271、CVE-2019-5736 等都
可以导致容器逃逸,这些也都是风险点,后面会对这些漏洞进行尝试复现。
21
信息安全中心安全沙龙 区块链基础知识(一)
区块链基础知识(一)
作者:楼胤成、高诗茜
一、区块链简介
根据工信部《中国区块链技术发展与应用白皮书》,区块链的定义为区块链
技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成
和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本
代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范
式。从本质上说,区块链是一种高度可信的数据库技术,提供了一种在不可信网
络中进行信息与价值传递交换的可信机制。
以现实情况做类比,我们可以把区块链类比为家谱。两者同样具备去中心化、
开放性、自治性、信息不可篡改性、匿名性、历史可追溯性。而与嫡长子继承制
类似,区块链也具有最长链原则。在区块链中,每一个区块都必须引用其上一个
区块,因此最长的链是最难以推翻和篡改的,所以节点永远认为最长链才是有效
的区块链。
22
信息安全中心安全沙龙 区块链基础知识(一)
而在区块链的链式结构中,hash 函数的作为极为重要。链式结构的形成依
赖于哈希链,每个区块的区块头中具有纪录前一个区块哈希值的字段。如图所示,
以此可以形成从创始区块到当前区块的完整链式结构。区块中还有一个字段叫做
“默克尔根(Merkle 根)”,即为 Merkle 树的根,Merkle 树本质上也是一个哈希
树。
除了区块之间形成了一个链式结构,交易之间也形成了一个链式的结构。交
易(transaction)。交易是指一个用户用比特币向另一个用户进行支付的过程。
不过,比特币的交易并非简单的支付货币本身。以交易 2 为例,假设用户 1 要向
用户 2 转账 100 元,交易单中其实包含以下六种信息:一是交易单的 ID;二是
资金的来源,即交易单 1 的 ID;三是用户 0 对资金的签名,以证明是他把 100 给
用户 1 的;四是资金的去向,即用户 2 的账号(公钥);五是资金的数额,六是
用户 1 的签名(即用户 1 用自己私钥进行的数字签名),以证明是他自己签发的
交易。由于每笔交易单都记录了该笔资金的前一个拥有者、当前拥有者以及后一
个拥有者,我们就可以依据交易单实现对资金的全程追溯。这也是比特币的典型
特征之一。最后,当每一笔交易完成时,系统都会向全网进行广播,告诉所有用
户这笔交易的实施。
提到区块链,就离不开它最成功的应用:比特币。2008 年 11 月,化名为中
本聪的学者发表了奠基性的论文《比特币:一种点到点的现金系统》,首次提出
了比特币的概念,借助 POW 工作量证明机制,构建了基于密码学,而不是基于可
信第三方的货币系统。2009 年 1 月,比特币发行、交易和账户管理系统开始运
行,创世区块(Genesis Block)诞生。我们在右下角图中的标红部分可以看到,
23
信息安全中心安全沙龙 区块链基础知识(一)
创世区块被建立的时间,以及首批被挖出来的 50 个比特币。
比特币和区块链之间的具体关系是:区块链是比特币的底层技术和基础架构,
比特币是区块链的一个成功应用,两者并不是同一概念。比特币是一种全球化的
加密数字货币,关注加密货币价值波动进行投资的群体,被称为“币圈”。而区
块链是经密码加密的完备分布式总账,关注区块链技术的群体,被称为“链圈”。
两个圈子交集较少,但容易使得大家在阅读新闻报道时产生混淆。
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识
算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由
自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架
构与计算范式,最终实现由信息互联向价值互联的进化。
二、区块链主要特征
第一个特征是分布式结构。区块链构建在分布式网络基础之上,账本并不是
集中存放在某个服务器或数据中心,也不是由第三方权威机构来负责记录和管理,
而是分散在网络中的每一个节点,每一节点都有一个该账本的副本,所有副本同
步更新,体现了去中心化的特点。
第二个特征是建立信任。区块链技术通过数学原理和程序算法,使系统运作
规则公开透明,实现交易双方在不需要借助第三方权威机构(如央行等)信用背
书下通过达成共识建立信任关系。
第三个特征是公开透明。区块链对任何可以上网的人是开放的、透明的。任
何人都可以加入区块链,也能查询区块链上的区块记录;同时所有用户看到的是
同一个账本,能看到这一账本所发生和记录的每一笔交易。比如下图所示的交易
细节,便可在 etherscan.io 网站上查到。
第四个特征是时序且不可篡改。区块链采用带有时间戳的链式区块结构存储
数据,具有极强的可追溯性和可验证性;同时,由密码学算法和共识机制保证了
区块链的不可篡改性。
三、区块链技术的演化发展
24
信息安全中心安全沙龙 区块链基础知识(一)
区块链技术的演化发展经过了三个阶段,分别被称为区块链 1.0,2.0 和 3.0
阶段。
区块链 1.0 是指以比特币、莱特币等为代表的去中心化数字货币,涉及与转
账、汇款和数字化支付相关的密码学货币应用。
其工作原理是:通过共识层的工作量证明生成新区块,并通过网络层向全网
广播。经全网节点验证通过后,将奖励分配给相关节点,并将新生成的区块与之
前区块通过哈希方式链接在一起。 若要修改某个历史区块中的交易内容,则必
须将该区块之前的所有区块的交易记录及密码学证明进行重构,而当区块达到一
定的高度时几乎难以篡改。
区块链 2.0 是以以太坊(Ethereum)为代表的智能合约,是超越以比特币为
代表的区块链 1.0 数字货币之外,在经济、市场和金融全方面的应用,包括股票、
债券、期货、贷款、抵押、产权、智能财产等。若将区块链 1.0 看作“全球账簿”,
区块链 2.0 则可看作“全球计算机”,其实现了区块链系统的图灵完备,可以在
区块链上传和执行应用程序,并且程序的有效执行能得到保证,在此基础上实现
了智能合约的功能。
区块链 3.0 向联盟链的方向发展。联盟链能有效管控信息扩散范围、具有多
角色富权限管理、互信环境保障高频交易、监管机构有能力有效介入。如超级账
本项目是 Linux 基金会管理下的合作项目,目的是要共同建立并维系一个跨产业
的、开放的、分布式账本技术平台。如我行的应收款链平台,也是采用联盟链的
思想。
四、区块链发展趋势
趋势一:区块链行业应用加速推进,从数字货币向非金融领域渗透扩散。
趋势二:企业应用是区块链的主战场,1 联盟链/私有链将成为主流方向。
趋势三:应用催生多样化的技术方案区块链性能将不断得到优化。
趋势四:区块链与云计算的结合越发紧密 BaaS 有望成为公共信任基础设施。
趋势五:区块链安全问题日益凸显, 安全防护需要技术和管理全局考虑。
25
信息安全中心安全沙龙 区块链基础知识(一)
趋势六:区块链的跨链需求增多,互联互通的重要性凸显。
趋势七:区块链竞争日趋激烈,专利争夺成为竞争重要领域。
趋势八:区块链投资持续火爆,代币众筹模式累积风险值得关注。
趋势九:区块链技术与监管存在冲突但矛盾有望进一步调和(数字人民币)。
趋势十:可信是区块链的核心要求,标准规范的重要性日趋凸显。
26
信息安全中心安全沙龙 系统访问控制
系统访问控制
作者:方茜
一、访问控制在系统安全中的作用
对数据和计算资源访问过程的控制,确保信息系统提供的信息和计算服务的
安全。访问控制需要鉴别,同时支持机密性和完整性保护的实现。防止非法用户
读取未授权的信息,同时防止非法用户篡改未授权的信息。
二、相关概念
访问控制有三要素,主体、客体和控制策略。
主体是资源访问的具体请求者,又称发起者(Initiator),可能是某一用户,
信息系统中更多是用户启动的进程、服务和设备等。
客体是指被访问资源的实体,又称目标(Target),所有可以被操作的信息、
资源、对象都可以是客体。
控制策略体现了主体对客体的授权行为,也是客体对主体某些操作行为的认
可。Linux 文件访问控制,将控制策略作为文件属性的一部分。
审计在访问控制中的作用
1.用于监测访问控制机制的运行状态
审计用于记录访问控制中安全相关的事件
2.审计记录的保护
审计记录需要防篡改:是一次写入,不能篡改的
3.审计记录的效率
审计记录数量会很大
4.确保审计记录存储的可行性需要考虑
一个典型的例子是仅记录对文件的首次和最后一次访问
访问控制策略与实施机制
访问策略:体现了客体对主体的授权行为,在系统安全策略级上表示授权
访问控制实施:是访问控制策略的软硬件底层实现
访问控制实施机制与访问控制策略分离:允许访问控制实施机制的重用,访问控
制策略有调整需求(修改规则集规则),访问控制实施机制基本保持稳定。
27
信息安全中心安全沙龙 系统访问控制
访问控制矩阵是授权在一个时间节点的静态抽象表示,其中一行代表一个主
体,一列代表一个客体,一个元素表示一个主体被授权的对客体的操作,它可以
直观地表示主体与客体的关系,对于推导和描述访问控制策略具有重要意义。但
是由于访问控制矩阵是一个稀疏矩阵,对于一个大型的访问控制系统来说,访问
控制矩阵过于庞大。
图表 1 访问控制矩阵
访问控制列表是目标对象的属性表,它给定每个用户对给定目标的访问权限,
其本质上是访问控制矩阵的列。采用访问控制列表,一个目标的拥有者或管理者
可以很容易地废除以前授予的许可,并且可以按需扩展。但是如果访问控制列表
太大或经常改变,维护访问控制列表会成为最主要的问题。
图表 2 访问控制列表
访问控制能力是用户的一个标签,它授权用户以特定方式访问特定的目标,
其本质上是访问控制矩阵的行。它的优点是可以在系统间传递,缺点是目标拥有
者或者管理者不容撤销。
28
信息安全中心安全沙龙 系统访问控制
图表 3 访问控制能力
访问控制主要类型分为三种,自主访问控制、强制访问控制和基于角色的访
问控制。自主访问控制是合法用户以用户或用户组的身份访问访问策略规定的客
体,而强制访问控制是主体和客体按照安全级别的对应规则实现访问控制,最后
一种基于角色的访问控制是用户通过饰演不同的角色获得角色所拥有的的访问
许可权。
三、UGO 自主访问控制
Linux 系统中(Linux 系统中万物皆文件),实现了一种十分简单、常用但有
效的自主访问控制模式——基本 UGO 自主访问控制,就是在每个文件上附加一段
有关访问控制信息的二进制位,如下图所示:
这些二进制位反映了不同类别用户对该文件的存取方式,即文件的拥有者
(User,Owner)、文件拥有者同组的用户(Group)和其他用户(Other),所以
称这个方式为 UGO 自主访问控制。该二进制位可以看做是一个简化的访问控制列
表,赋予普通用户特殊权限或修改文件权限。
UGO 自主访问控制中用户账号管理可以帮助系统管理员对使用系统的用户
进行跟踪,并控制他们对系统资源的访问,也可以帮助用户组织文件,并为用户
提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令,系统采
用基于口令的方式认证用户身份,用户在登录时键入正确的用户名和口令后,就
能够进入系统和自己的主目录。用户账号管理工作主要涉及用户账号的添加、修
改和删除。添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户
号、用户组、主目录和登录 Shell 等资源。
每个用户都有一个用户组,Linux 系统可以对一个用户组中的所有用户进行
集中管理,即用户组管理。不同 Linux 系统对用户组的规定有所不同,如果
29
信息安全中心安全沙龙 系统访问控制
Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同时创
建。 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实
际上就是对/etc/group 文件的更新。
随着对系统安全性要求的提高,UGO 访问控制逐渐不能满足需,最大问题在
于控制粒度过粗(系统安全需要增加访问控制的粒度,但是控制粒度的增加会带
来效率的降低)。例如,当文件属于 security 组,该组的成员都对文件都有 r-x
权限。但是如果我们需要为其中的某个用户 tux 添加 w 权限。在上述模式中,
Linux 管理员不得不为 tux 再添加一个组,并设置相应的权限,显然这样的操作
不是很方便,操作员需要添加很多组,并加以区分,复杂的操作可能引入安全隐
患。
四、ACL 自主访问控制
ACL 是相对 UGO 更为精细的访问控制机制,能够对具体的用户个体或者用户
组进行授权管理,在 UGO 之后。ACL 访问控制的内存实现是通过对存储 ACL 访问
控制信息和对访问控制的权限检查,ACL 实体数据结构对应于一条 ACL 控制记录,
一个文件的 ACL 属性由多个这样的 ACL 实体构成,描述文件的 ACL 属性
就是 posix_acl 数据结构。利用 Inode 结构,将一个 ACL 属性与具体文件相
关联,然后再用 Inode_permission()对读写进程的文件访问进行访问控制。
自主访问控制的不足之处在于文件所有者拥有指定文件的访问权限,将文件
访问权限授予可以信任的用户访问文件,文件所有者基于它们的辨别力判断是否
授予访问权给特定用户,如果一个用户被授权访问,那么该用户的所有程序都将
可以访问授权的资源;其次,用户被授权的程序可能含有恶意软件,恶意软件可
以以授权用户的身份进行客体资源访问。“不能识别自然人与计算机程序之间最
基本的区别”是自主访问控制方案共同的弱点。
五、BLP 强制访问控制
BLP 模型关注多级安全中的机密性保护,只用于限制信息的流动和共享,不
关注完整性和可用性。客体被分成安全级别依次降低的:绝密、机密、秘密和公
开等级别,主体也被制定不同的安全级别。BLP 不支持访问管理,也不支持策略
定制,其安全规则是为了确保机密信息不会从高安全级别流向低安全级别。BLP
有两条强制访问控制规则,一是主体不能读取安全级别高于它的客体(no readup),二是主体不能写安全级别低于它的客体(no write-down)。
六、BiBa 强制访问控制
Biba 安全模型关注多级安全系统中的信息完整性保护,是 BLP 安全模型的
对偶模型。信息完整性的目标是确保数据和程序的可信性,阻断错误的和非授权
30
信息安全中心安全沙龙 系统访问控制
的改变,具体包括:防止非授权的用户改动数据和程序、防止授权用户进行错误
或者非授权的修改以及确保数据和程序的一致性。
Biba 强制访问控制有五条,分别是:
1.Strict Integrity Policy
高安全级别的主体不能读取低安全级别的客体,低安全级别的主体不能写高
安全级别的客体,主体只能调用完整性安全级别低的主体。
2.The low-watermark policy for subjects
该策略修改了严格模型的 Simple Integrity Condition 规则,使得高可信
主体可以读取非可信主体,但是读取完成后,高可信主体的安全级别将为与低可
信主体等同。
3.The low-watermark policy for objects
任意完整性级别的主体可以修改任意完整性级别的客体,如果客体被一个完
整性安全级别低于它的主体访问了,则客体安全级别降低到修改它的主体的水平。
4.The low-watermark integrity audit policy
允许任何主体修改任何客体,但是需要将修改操作记录在一个审计日志中。
5.The Ring Policy
任意安全级别的主体可以读取任意安全级别的客体的内容。该策略对于读的
规则的放松使得间接地低安全级别修改高安全级别存在可能
31
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
Cyber Kill Chain 模型介绍
作者:李丁炜
一、产生背景
洛克希德·马丁公司借用军事领域的“杀伤链”概念,结合对大量网络攻击、
尤其是 APT 类攻击案例的分析成果,从攻击者的角度出发,以分段式任务模型描
述网络入侵攻击的过程,具体描述了开网络攻击从最早的侦察跟踪阶段,到最终
的达成目标阶段,对网络攻击的各个阶段生命周期进行了系统性的阐述。
二、阶段介绍
Cyber Kill Chain(网络杀伤链)模型包括 7 个有序的步骤,具体为:侦察
跟踪、武器构建、载荷投递、突防利用、安装植入、通信控制、达成目标,如图
1 所示。只有当攻击者完成了第 7 步工作,前面的 6 步才真正产生意义。
图 1 网络杀伤链 7 步骤
32
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
(一) 侦查跟踪阶段
在侦查跟踪阶段攻击者的工作是识别目标对象。侦察可以是静默状态的,也
可以是是主动状态的。在此阶段,攻击者会选择攻击目标,并制定攻击计划,同
时将尝试尽可能收集被攻击者的相关信息,侦察阶段的活动示例有:收集被攻击
者的邮箱地址、查看与被攻击者相关的主页(例如:企业网站、社交网站等)、
通过公开的媒体收集信息(例如:报纸、电视新闻等)。
(二) 武器构建阶段
在武器构建阶段攻击者将进行攻击前的准备工作,针对攻击目标的系统和防
护措施,选择已有恶意软件和制作专用的恶意软件,现在很多的恶意软件已经可
以通过自动化/半自动化的系统进行生产。由于系统的复杂性,在这一阶段,攻
击者有可能与外部恶意软件生产者合作。需要注意的是,“后门”往往是武器化
常用的手段。
(三) 载荷投递阶段
在载荷投递阶段,攻击者将完成把已经生产好的恶意软件投放到目标网络中。
常用的攻击手法包括“钓鱼”、“水坑“等。武器化有效载荷最常见的传送媒介包
括网站、可移动磁盘和电子邮件,这是安全团队可以阻止攻击的最重要阶段。
(四) 漏洞利用阶段
在漏洞利用阶段,攻击者通过网络的弱点以及被攻击者的安全意识不足问题,
实现对被攻击者的访问,以获取敏感数据,例如密码文件,证书,甚至 RSA 令牌。
如果攻击已进行到此阶段,则系统为遭到破坏,数据处于危险之中。
(五) 安装植入阶段
在安装植入阶段,攻击者将安装能够避过安全软件检查或杀灭的工具,这些
工具可以用于获得被攻击者的访问权限和后续攻击活动,例如:在 web 服务器上
安装 webshell、部署后门工具、部署键盘/鼠标捕获工具等。这也是可以使用
HIPS(基于主机的入侵防御系统)等系统阻止攻击的另一个重要阶段。
(六) 命令与控制阶段
在命令与控制,攻击者已经通过对被攻击者网络植入恶意软件获得了控制被
攻击者网络的能力,开启通信通道,用于控制被攻击者的网络,通常这些控制手
段是隐蔽的,隐藏于最常见的 web、邮件、DNS 协议中。攻击者为了隐藏自己的
真实身份,通常会采用跳板的方式,即级联的受害者链进行远程控制。
(七) 目标达成阶段
在本阶段,既然攻击者已经控制了受害者的网络,那么接下来的工作就是完
成其目标了,例如:破坏受害者的网络与信息、盗取业务信息、盗用受害者身份
进行活动,以及提升权限进行更深度的破坏活动等。
33
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
三、防御策略
在网络杀伤链模型中,由于只有当攻击者完成了第 7 步工作,前面的 6 步才
具有真正产生意义,并且攻击者往往只有完成了前 6 步的工作才能来到第 7 步,
因此,在攻击者发起第 1-6 步时执行相应的行动对于网络攻击的防御具有重要意
义。
(一) 侦查跟踪阶段
这一阶段,防护者可以通过主动检测尝试发现攻击者的“侦察“行为,侦察
可以是静默状态的,也可以是是主动状态的,在攻击者采用静默状态时,被攻击
者往往很难发现他们的对手,例如:攻击者收集被攻击者的邮箱地址;采用主动
状态时,被攻击者可以从中发现攻击者的痕迹,例如:攻击者访问被攻击者的社
交网络时可能会留下痕迹,从相应日志中可以获知攻击者的部分信息,如 IP 地
址等。防护者可以采取以下行动:
• 收集各类设备、系统日志用于分析;
• 尽可能地收集网络流量信息,用于威胁分析;
• 采用 UEBA 的分析方法,发现潜在的威胁者;
• 利用威胁情报,匹配访问访问源、身份等信息。
(二) 武器构建阶段
虽然防护者在攻击者发起攻击之前无法检测武器化的信息,但这一阶段仍然
很重要。随着威胁情报服务商的出现,防护者可以使用威胁情报跟踪恶意软件的
发展,从而为选择网络安全合作伙伴提供输入,对可能出现的恶意软件进行推测,
从而节约后续部署拦截工具的时间,实现高效拦截。另外,由于恶意软件的研发
者的知识、习惯通常有一定的模式,对恶意软件开发者进行研究,也可以为拦截
恶意软件提供信息。防护者可以采取的行动包括:
• 分析恶意软件,研究恶意软件工作原理;
• 分析恶意软件开发者行为习惯和模式;
• 分析恶意软件的时间线,推断使用者的专业能力;
• 利用威胁情报,判断 APT 攻击。
(三) 载荷投递阶段
对于防护者而言,这是最重要的阶段,也是进行拦截的第一个阶段,这个阶
段也是衡量一个企业的网络安全有效性的重要指标,即是否能够在交付阶段对攻
击者进行有效拦截。在这一阶段,防护者的活动可以包括:
• 分析载荷投递的手段,例如:钓鱼邮件、U 盘等;
• 分析载荷投递的启动时间;
• 分析被攻击的人员、设备/设施信息;
34
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
• 推断恶意软件制作者;
• 推断攻击者的目标物以及攻击者;
• 收集攻击信息,用于未来可能出现的司法阶段。
(四) 漏洞利用阶段
在这一阶段,如果攻击者采用 0-day 攻击,对于防护者是个挑战,但对于非
0-day 攻击,防护者应当注意传统的安全防护措施还是非常有效的。在此前提下,
防护者能够做的是尽量利用传统的加固措施增加防护措施的弹性,通过以纵深防
御思路为基础的框架,增加补偿性安全措施,对目标物进行防护。防护者可以采
取的行动包括:
• 采用最小权限原则;
• 采用权限冲突/约束机制;
• 定期进行漏洞扫描;
• 定期进行渗透测试,包括外部渗透测试和内部渗透测试;
• 关注开发安全和所交付的软件的安全性。
(五) 安装植入阶段
在安装植入,防护者可以通过对终端设备的日志进行分析来发现潜在的威胁,
并在此阶段分析恶意软件,以优化终端设备的保护。在该阶段,防护者可以采取
的行动包括:
• 使用基于主机的 IPS;
• 检测可能出现恶意软件的介质;
• 在检测到恶意软件时告警,并进行必要的拦截;
• 进行权限管理,分析恶意软件所需的最小权限;
• 对可执行文件进行签名管理;
• 分析恶意软件属性,包括版本、编译时间等;
• 使用威胁情报加强未知威胁的防护,例如:恶意软件的 MD5、SHA1、SHA256
等。
(六) 命令与控制阶段
命令与控制阶段是防护者进行拦截的最后一个机会,一旦让攻击者通过 C2
阶段,将会给企业带来直接损失。在本阶段,防护者的目的是对 C2 通道进行阻
断,使得攻击者无法向攻击目标物的恶意软件发出相应指令,从而做到对目标物
的防护。在该阶段,防护者可以实施的活动包括:
• 采用白名单/黑名单等措施加强网络访问控制;
• 分析恶意软件,从而发现 C2 的来源设施,并并进行反制;
• 采用代理机制进行通信,例如:http、DNS 等。
35
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
(七) 目标达成阶段
攻击者对受害者的访问的时间越长, 受害者的损失就越大。受害者在这一阶
段需要评估其损失,并评估使用司法手段的必要性,为司法取证采集必要的信息
(例如:日志、数据流)。受害者可以采取的活动包括:
• 检测数据泄漏;
• 检测未授权使用;
• 评估企业损失;
• 采集日志;
• 检测横向移动;
• 采集网络流信息;
• 重现攻击;
• 采取司法手段;
• 优化应急响应、网络安全策略、流程、技术。
四、网络杀伤链视角下的网络入侵案例
从网络杀伤链的视角,依据网络杀伤链 7 个阶段对一起典型的企业入侵事件
进行分析,流程如图 2 所示。
图 2 入侵流程
(一) 侦查跟踪阶段
这一阶段,攻击者的目的为:寻找可能目标;收集目标信息;评估攻击成本。
攻击者采用的攻击手段有:网络搜索;扫描、嗅探;采集特定信息。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 防火墙、IDS 日志,邮件记录;
36
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
• 入侵攻击前有来自对端的扫描行为日志记录;
• 有冒名电话、邮件询问邮箱、人员信息。
(二) 武器构建阶段
这一阶段,攻击者的目的为:确定攻击方式;完成攻击准备(掌握进攻性武
器)。
攻击者采用的攻击手段有:检视所拥有的攻击手段和技术优势;研究攻击目
标;准备工具、环境。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 防火墙、IDS、Web 应用、邮件系统日志;
• 外网应用的账号口令猜解登录记录;
• 员工邮箱的账号口令猜解登录记录;
• 防火墙的账号口令猜解登录记录。
(三) 载荷投递阶段
这一阶段,攻击者的目的为:成功传递恶意代码至目标环境内。
攻击者采用的攻击手段有:通过应用、网络漏洞投送恶意代码;通过邮件、
水坑网站投送恶意代码;通过 U 盘投送恶意代码。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 员工收到伪造的内部邮件;
• 邮件附件包括 word 伪装的 exe 程序;
• exe 程序已做免杀。
(四) 漏洞利用阶段
这一阶段,攻击者的目的为:触发恶意代码,获得系统控制权限。
攻击者采用的攻击手段有:执行恶意代码;获取系统控制权限。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 员工打开了 exe 程序;
• exe 程序释放一系列恶意程序,包括计划任务文件、伪装的木马程序;
• 木马远程访问攻击者的 C&C 服务器接受指令。
(五) 安装植入阶段
这一阶段,攻击者的目的为:植入后门并持续保持系统控制权。
攻击者采用的攻击手段有:在 web 服务器安装 webshell;在服务器或终端
植入后门;保持后门持久性。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 逆向分析恶意程序;
• 存在计划任务文件定时激活木马;
37
信息安全中心安全沙龙 Cyber Kill Chain 模型介绍
• 木马程序加载后门模块 Bundle.rdb,将模块代码注入到系统进程
svchost.exe 中;
• 木马程序访问其他进程内存读取数据。
(六) 命令与控制阶段
这一阶段,攻击者的目的为:实现远程通信控制,为进一步入侵打基础。
攻击者采用的攻击手段有:与外部 C&C 通信控制服务器建立通信连接;利用
web、DNS、邮件协议隐藏通信通道;不定期确定恶意程序的活动状态。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 流量分析发现 svchost.exe 访问 C&C 服务器;
• 样本分析发现利用邮件、DNS 进行通信的隧道;
• 日志分析确定攻击者不定期上线。
(七) 目标达成阶段
这一阶段,攻击者的目的为:破坏系统正常运行;窃取系统数据;敲诈勒索。
攻击者采用的攻击手段有:进行进一步渗透;删除、修改、窃取有价值的目
标数据;清理攻击痕迹。
对杀伤链进行还原,在以下信息中可以发现攻击痕迹:
• 员工内网 VPN 账号被盗;
• 各类日志反应攻击者以此为跳板,通过 VPN 接入企业内网,并执行猜解、
扫描、嗅探等工作;
• 计算机上有攻击者上传的其他攻击工具,如键盘记录、口令猜解、扫描
等,并有成功记录。
38
信息安全中心安全沙龙 SHA3 哈希算法介绍
SHA3 哈希算法介绍
作者:金子遥
一、海绵函数概述
海绵结构是由三个部份组成:一个内存状态 S,包含 b 个位元;一个能置换
或者转换内存状态,固定大小的迭代函数 f;一个填充函数 Pad。
海绵函数在生成哈希值时分为“吸收”和“挤出”两个部分。“吸收”部分
可以输入不限长度的字符串,“挤出”部分每轮挤出固定个数的字。
二、RadioGatun
(一) 数据填充
海绵结构的数据填充分为两种方式
(1)简单填充:用 pad 10* 表示,用一个 1 后面跟若干个 0 进行填充,
0 的个数是使得总长度为分组长度整倍数的最小值;
(2)多重位速率填充:用 pad 10*1 表示,用一个 1 后面跟若干个 0,再
跟一个 1 进行填充, 0 的个数是使得总长度为分组长度整倍数的最小值。
RadioGatun 算法的块长度为 3 个字,因此需填充至 3B 的倍数。
1.迭代函数
迭代函数如下图所示,共有 3 个 for 循环函数。其中 p 为输入块,每个大小
为 3B;z 为输出块,每个大小 2B。
39
信息安全中心安全沙龙 SHA3 哈希算法介绍
1.1 输入循环
第一个循环为输入循环
第一步调用输入函数 F,并与初始状态(或上一轮的结果进行异或);
第二步将异或后的结果输入轮函数;
如果仍有输入块,则重复前两步。
1.2 Mangling 函数
第二个循环进行空白轮函数,目的是进一步打乱数据的状态
官方文档中定义空白轮为 16 轮
1.3 输出函数
第三个循环输出哈希值
输出位数 Lc 取决于使用算法的版本 Lw;
为确保安全,Lc=19Lw,例如 64 位版本的输出为 1216bit。
输出函数每次输出 2B 的哈希值,64 位版本就需要运行 78 次输出函数。
2.子函数
2.1 轮函数
40
信息安全中心安全沙龙 SHA3 哈希算法介绍
2.2 Mill 函数
2.3 输入函数
2.4 输出函数
3.轮函数图示
41
信息安全中心安全沙龙 SHA3 哈希算法介绍
三、Keccak
(一)数据填充
海绵结构的数据填充分为两种方式
1.简单填充:用 pad 10* 表示,用一个 1 后面跟若干个 0 进行填充, 0
的个数是使得总长度为分组长度 r 整倍数的最小值;
2.多重位速率填充:用 pad 10*1 表示,用一个 1 后面跟若干个 0,再跟
一个 1 进行填充, 0 的个数是使得总长度为分组长度整倍数的最小值。
填充后的长度 n 为比特率 r 的整数倍;若原来即为整数倍,也需要填充 r 位
的数据。
(二)数据分组
分组长度被称为存储状态 S,长度为 b,b∈{25,50,100,200,400,800,
1600}
S=比特率 r+容量 c
(三)吸收阶段
吸收阶段生成 S 的函数为:
42
信息安全中心安全沙龙 SHA3 哈希算法介绍
即输入 r bit 的数据块,后面填充 c bit 长度的 0,与上一次的 S(或初始
值全 0)进行异或,得到新的 S。
介绍吸收阶段的函数前,需要先介绍存储结构 S 到状态矩阵 A 的转换:
例如 b=1600 时,z 轴一共有 64 个面
W 是面数,l 影响每次吸收执行轮函数的次数。
矩阵存储图示
矩阵转换表
右图为矩阵各个部分的名称
43
信息安全中心安全沙龙 SHA3 哈希算法介绍
需要注意的是,状态矩阵的 xy 面的原点不在左下角
矩阵组成部分
矩阵存储图示
1. 轮函数
轮函数 Rnd 共有 5 个子函数。
1.1 θ函数
θ函数是计算某一比特对应两列的奇偶校验值,再与该比特异或的过程。
44
信息安全中心安全沙龙 SHA3 哈希算法介绍
1.2 ρ函数
ρ函数对 25 个 Lane 进行循环移位。
1.3 π函数
π函数对 25 个 Slice 进行换位.
45
信息安全中心安全沙龙 SHA3 哈希算法介绍
1.4 χ函数
χ函数将每一位与行中其他两位进行异或
1.5 ι函数
ι函数修改一个 Lane 中的某些比特,不影响其他 Lane。
右图为ι函数中的 RC 函数。
46
信息安全中心安全沙龙 SHA3 哈希算法介绍
2. Keccak-p 函数
Keccak-p[b,nr]函数的作用是对状态矩阵 A 进行多次轮函数迭代。
3. Keccak-f 函数
Keccak-f[b]函数是 Keccak-p[b,nr]函数的特殊化,即 nr=12+2l 的情况。
此时每次吸收都固定做 12+2l 轮的轮函数
(四)挤出阶段
定义输出函数 SPONGE:SPONGE[f, pad, r](N, d)
挤出阶段每次输出前 d 个字符,然后运行一次函数 f。
47
信息安全中心安全沙龙 SHA3 哈希算法介绍
1.SPONGE 函数
2.Keccak-c 函数
3. SHA3
(五)函数整理
48
信息安全中心安全沙龙 SHA3 哈希算法介绍
49
信息安全中心安全沙龙 https 双向认证及自签实现
https 双向认证及自签实现
作者:白艳东
一、https 工作原理
HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络
协议,要比 HTTP 协议安全,可防止数据在传输过程中不被窃取、改变,确保数
据的完整性。相较 HTTP 增加了中间人攻击的成本。
二、双向认证
单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后
建立安全通信通道。对于非公开的企业服务器,使用单向认证无法保证仅对有权
限的用户开放,便需要使用双向认证。
50
信息安全中心安全沙龙 https 双向认证及自签实现
双向通信客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还
需要把客户端的公钥证书上传到服务器端给服务器端进行验证,双方都认证通过
后,才开始建立安全通信通道进行数据传输。
客户端验证服务器证书的合法性包括:
1.证书有效期
2.发行 CA 机构是否可靠
3.返回的公钥能否正确解开返回证书的数字签名
4.证书域名与服务器域名是否匹配
服务端验证客户端证书的合法性包括:
1.证书有效期
2.返回的客户端公钥能否正确解开返回证书的数字签名
3.判断客户端证书是否由服务端预埋 CA 签发