BAS,Breach Attack Simulations,Breach And Attack Simulations,入侵和攻击模拟。
我第一次知道这个概念是在学习CISSP的时候,然后我只知道BAS是通过模拟攻击者对系统进行攻击和入侵来验证安全控制的有效性,我以为可能就是漏扫吧。今天有BAS的厂商过来宣讲,因此我对BAS有了新的理解。
我不确定这个厂商的BAS系统是否实现了BAS这个概念的所有属性,我也不确定我的理解是否完全正确。
BAS是怎么工作的
以远端扫描系统漏洞为例:
1,在攻击端装一个Agent
2,在受害端装一个Agent
3,攻击端Agent发送检测系统漏洞的Payload
4,受害端Agent会监听收到的Payload
5,对比发送的Payload跟收到的Payload(可能在受害端做也可能在Master那里做)
如果一模一样(也可能是其他对比策略),那么认为中间的防护措施(比如IPS)失效了。
BAS与漏扫的区别
1,漏扫针对的是漏洞,BAS针对的是弱点/风险(比如检测是否可以修改注册表)。
2,漏洞验证目标有没有漏洞,BAS验证Payload从起点到终点这个路径中的防护措施有没有做生效(阻断/替换/过滤之类)。
3,漏扫可能会对业务造成影响,BAS不会对业务造成影响,因为完全可以使用靶机进行验证。
4,一个问题,BAS会使用多种方式进行验证(比如使用10种命令执行绕过WAF的方式,然后发现有3种方式WAF没有识别到,然后给出加固建议)
5,BAS会包含大量的规则,覆盖更多的攻击手法(像ATTCK中的所有过程)。
BAS适合什么样的公司
1,有预防性的控制措施(比如WAF、IPS、EDR等具备阻断这种功能的设备)
2,这类控制措施覆盖多个维度
3,有对安全设备进行运营的人
商业的BAS产品通常覆盖很多维度,比如网络安全、主机安全、应用安全、云安全等,如果你只在应用安全这个维度有预防性的控制措施,那么其他场景的验证就对你来说没有什么用了。
BAS可以帮助运营安全设备的人员生成可衡量的指标,以更好的优化、展示(工作量)。
**我的一些想法
**
感觉BAS系统增加验证问题是否真实存在的功能会更好,然后分段输出结果,然后用户可以自己选择是否开启验证是否真实存在。
第一段:中间防护无效/有效。
第二段:问题真实存在/问题不存在。