Senjay,某企业安全架构师。有多年安全技术建设经验,专注于应用安全、数据合规及安全运营技术等信息安全技术领域研究。全栈开发能力,曾主导研发交互式缺陷定位技术的安全自动化平台并获得相关专利。安全技术爱好者。
一、引言
安全建设的发展阶段,分为合规驱动建设阶段、实战驱动建设阶段和算法驱动建设阶段。其分别侧重基础安全信息化建设(1个安全平台+N个安全产品)、数据化和自动化以及基于算法模型的风险控制。
笔者结合了SDL、IPDRR来设计实战驱动建设阶段风险管控体系,或称风险收敛体系。
为更好应对愈演愈烈的网络安全形势,企业根据自身安全文化特点和目标,在不同安全建设阶段选择合适的自动化技术打造DevSec非常关键。而在技术选型之前,安全负责人应该清晰认知当前发展阶段和提前了解自身企业的业务文化并设定能适配业务文化的安全文化建设目标。有了目标才能更好的、清晰的进行愿景设计,包含产品愿景、技术愿景与团队发展愿景。
愿景设计与产品技术选型息息相关,一定程度上决定了产品的可持续发展空间和团队技术发展空间, 对团队技术型人才的育留起关键作用。而DevSec自动化技术选型,产品愿景是解决安全左移的风险修复成本问题和安全工程师重复劳作的效率问题;技术愿景是实现“低侵入、低误报、低脏数据”的自动化风险发现和面向安全工程师具备细粒度且高灵活的配置与调度空间;团队愿景是借助产品的能力,使安全团队的作业模式,从人才输出型枯燥的渗透测试、安全运营中更多的倾向人才输入型有趣的漏洞研究。
二、Devsec自动化关键技术选型
IAST,污点分析技术
BAS,模拟攻击工作站
《Hype Cycle for Security Operations, 2021》
三、IAST,污点分析技术
1、污点分析定义
污点源(sources):即外部可控的具有攻击特征数据的入口(如:对外的接口变量)。
污点汇聚点(sinks):经污染后直接产生安全危害的代码语句(污点数据传播到高危函数)。
无害处理(sanitizers):可称清洁函数、净化函数或过滤函数,污点经过此函数处理后不再具备攻击特征的代码片段。
污点标记(tainted tag):标记出污点数据。
污点路径:污点源到污点汇聚点的传播路径。
动态污点分析技术:即追踪污点数据(即污点变量)在程序运行过程中的传播路径(即堆栈信息),检测程序是否非法使用过污点数据,从而确定是否存在未知及已知的漏洞。
2、动态污点分析过程
污点分析处理过程可以分成3个阶段,污点输入、污点传播、污点汇聚。
(1) 污点输入阶段:识别污点源和汇聚点
(2) 污点传播阶段:污点传播分析
(3) 污点汇聚阶段:无害处理的识别与处理效果分析,污染研判
3、污点分析示例
(1)污点路径:
(2)污点标记与污点传播路径:
(3)污点数据被无害处理:
4、污点传播分析与程序语句分析
污点传播分析就是分析污点数据(污点变量)在程序中的传播路径。先完成污点标记,标记出污点源和污点汇聚点,然后跟踪其传播路径并进行程序语句分析,最终的目标是判断污点数据是否成功传播至污点汇聚点,造成污染成功,以评估是否存在漏洞。
污点传播分析分为显式流分析和隐式流分析。显式流分析是分析污点标记是如何随程序中变量之间的数据依赖关系传播的。隐式流分析是分析污点标记如何随程序中变量之间的控制依赖关系传播。
污点传播技术分析也存在欠污染(under-taint),过污染(over-taint)的问题,欠污染是污点数据标记跟踪缺失的问题,过污染是需要跟踪的污点数据标记多导致路径分析嵌套层数过多的问题。此类问题需要结合实际场景和目的进行综合分析。
5、动态污点分析工作流
(1)应用程序及插桩agent启动后,插桩agent可自动遍历并识别接口信息
(2)污点信息标记,输出污点路径数据(污点源/污点汇聚点)
(3)数据上报自动化平台
应用程序正常业务交互时:
(4)接口调用监控,记录接口运行时的请求报文
(5)根据污点路径数据,模拟应用程序运行,根据污点库中的污点规则进行污点数据投递,记录并上报污点变量传播路径的堆栈日志
(6)自动化平台进行污点路径数据分析,包含污点路径分析及程序语句分析,并转译为中文,增加运营人员的漏洞判断的易读性
(7)污点汇聚检查功能,污染研判(漏洞检查)
污点分析工作流图示:
污点路径数据分析图示:
三、攻击模拟工作站基本原理
2、团队进入漏洞研究的基础阶段
3、BAS模拟攻击系统功能架构与红蓝对抗引擎设计
4、攻击模拟工作流
(1)根据渗透方案,红队发起攻击任务。
(2)工作站模拟攻击,进行内外网自动化渗透。
(3)蓝队根据攻击事件预案进行应急处置。
(4)红蓝对抗复盘,扫清视野盲区。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...