以业务行为驱动的反入侵安全能力建设
0x0 背景
最近听到一些甲方安全领域的专家分享了部分安全建设的经验,对安全运营下的反入侵技术能力建设有了些新的看法,依靠单个/多个异构的安全产品的关联能力形成的安全中台并不能在实际的攻防对抗当中占据主动地位,且很容易达到一个天花板,而真实的有效方案应该是伴随着业务环境变化可以持续生长、动态变化的安全能力平台;
在之前的文章当中曾描述过大部分的SOC和SIEM的平台仅仅只是将异构的安全告警数据进行数据接入、数据标准化处理后,通过一系列的存储分析后和一些流程工单、通报预警、OA系统、绩效评估、处置响应、SOAR系统进行了打通,成为了一些业务系统依赖的数据源;但后续的各项功能,本质上都是依赖于告警/事件的准确性与数量;也很好理解、如果这个告警/事件一开始就是误报、那么后续的所有旅程都是徒劳甚至有反面效果。如果每天的告警/事件的数量过多,一天有成千上万的告警远远超出现有的工作量那么本身也没有意义;
所以、在日常的安全运营Job当中,最本质的需求是发现那些真实有效的安全隐患与入侵行为并快速响应处置,而不是从海量的安全告警当中筛选出真实有效的安全告警;而这二者之间,其实有着比较大的差异性;发现真实有效的安全隐患与入侵行为其实有是二个关键的动作:
- 有效识别
- 快速筛选
- 调查处置
0x1如何才有效识别与筛选
由于自己的一些职业经验是从渗透测试 -> 应急响应 -->反入侵的角色转换,尤其是在做应急响应的阶段接触了大量的病毒类、挂马类、定向攻击类的安全事件,很自然的会从这些事件的响应的行为当中去提取部分检测场景,并添加到安全产品的检测引擎当中去,尤其是一些绕过安全设备检测能力的攻击手法导致设备没有告警的,例如前几年热门的隧道通信、系统进程白利用行为、社交网络钓鱼、精心伪装的鱼叉邮件、隐蔽的内网横向、终端进程隐藏等,大多数的应急事件或多或少都会有一些新的技术收获。
但是从日常繁忙的应急响应->入侵检测的循环里面跳脱出来的时候,就会思考另外一个安全问题。专业化的入侵者似乎总是能领先一步、安全产品总能悄无声息的绕过,入侵检测的能力只能被动的防守、最好的情况也难道只是快速步步跟随而已吗?从一定程度上来讲如没有没有一种破局的思路,一次次新类型的漏洞预警、变种木马工具检出能力的快速更新、从漏报到规则升级背后也是一种步步亦趋的迫于无奈;
如果只是从技术的思路出发,这个问题似乎很难回答;常规的攻击手法产生的告警大多数都是误报或者是失败攻击的尝试;现在越来越多的攻击行为日趋隐蔽,也难以被简单的方法有效的识别出来;于是就有一个有趣的现象,安全产品的告警分析后的结论就是没有问题,但是真实情况却是入侵者已经目的达成后安全离场;传统的规则引擎、基于特性场景的聚类分析无法简单的平衡误报率与检出之间的关系;但是如果从业务的视角出发,则思路就会不一样,入侵者占上风的只是对攻击技术、手法的快速更新与研究,通过实际场景的应用快速快速迭代更新,打的只是一个时间差。而业务的视角,能够占据优势的应该是对自己网络环境、与业务的熟系程度与理解,大多数入侵者缺少业务方面的认知在真实的入侵环境下很容易就被发现;比如理论上,人力资源HRBP的个人PC是不会直接访问财务系统的server服务器22端口,客服人员的个人PC也不会短时间发起大量的异常DNS的请求;而这些业务的场景、是攻击者和安全厂商都不知道的,是安全建设者和入侵者之间的业务对抗,而不是安全厂商与入侵者的技术对抗;
所以如何才有效识别真实有效告警是依赖于安全人员、业务人员、数据分析人员的多方参与、一个在越做越好的平台当中逐步走向100分的过程;从安全人员的角度来看,不同的安全能力以适应不同的层次的威胁,安全人员应该在安全经历用于分析哪些攻击成功概率大、危害性较大、检测难度更高的手工投毒、数据窃取、APT等人工参与成分较多的定向攻击层面,而不是每天应对大量程序自动化的扫描器尝试性攻击告警上;
比较多的安全建设方已经通过将异构的安全产品,部署在网络、终端、云主机、容器等环境进行监测然后分开运营处置,少部分群体并借由一个大数据平台的数据对接能够实现统一化的运营平台,结合流程、服务的配套完成初步的跑通,基本足以应对/响应日常的漏洞、蠕虫木马、甚至少部分的人工参与攻击,但在针对性较强、潜伏周期较长的定向攻击场景下依然需要自身的业务场景与网络情况量体裁衣,才能掌握主动权;不能仅仅依靠一个或者多安全产品、就能高效准备的识别到这些隐蔽的定性攻击。
0x2 威胁分类做好调查处置
即使内部具备了对入侵行为有一定的识别能力,但安全告警却无法做到100%的准确不同的安全/事件的误报率、检出率不尽相同,处置不能只有少数的几个简单操作;理论上来讲、攻击复杂度越低的攻击、攻击特征越明显检出率则越高、对应的误报率则越低,当然前提是特征工程的质量基本合格。
自动化攻击的事件比如常见的永恒之蓝的MS17-010漏洞、包括一些特定类型的激活工具、漏洞扫描工具特征、后门远控(ranmit)、挖矿特征(Miner)类、特定家族的威胁情报IOC等;因为准确性相对较高、故自动化的处置率相对较高,通过与SOAR的联动结合资产属性与业务熟悉基本上少部分可实现自动化处置,常见的操作包含:
- 恶意文件隔离
- 主机隔离(网络)
- 封堵IP/IOC
- 全盘病毒查杀
- 进程终止(kill)
- 删除文件
- 清理持久项(服务、注册表、启动项、账号等)
- 更改系统配置项目(密码策略、防火墙策略等)
- 专杀工具/特定脚本等
然而一旦涉及到重点资产、业务权重较大的服务器,或者人工参与较多的安全告警时候、则较难通过自动化处置需要人工分析、并结合业务后统一分析处置;一方面由于部分资产承载着较为重要的业务系统,自动化处置的行为无法轻易评估对业务的影响,另外一方面人工参与的安全告警准确性难以单一指标判断;
资产的属性往往可以通过与CMDB、EDR等系统对接、结合资产台账和人工的梳理能够识别重要性,相对容易一些。而对应人工参与的安全告警与用户自定义的安全告警、则需要提供更多丰富的数据源供安全运营人员分析研判,常用的数据应该包含:
- 告警的标准字段、时间、告警名称、分类、攻击字段、五元组等基本属性
- 安全告警的举证信息、包括恶意字段、数据包、进程上下文、命令行CMDLine等内容;
- 威胁情报信息、针对攻击IP、IOC、恶意文件的丰富举证字段(定性、sandbox)
- 安全告警的发生的时间线、规律
- 安全告警对应的资产属性、业务情况、脆弱性风险(业务误报)
- 异构安全产品的检出情况(交叉验证)
- 当前事件主机涉及到的影响面、访问关系与传播链(自动化溯源
0x3 业务驱动的威胁运营对抗
安全建设应该是以保护业务的思路出发、但是很多安全产品在规划设计的时候其实并没有这些的思路,更多的都以威胁对抗的思路出发,最后在真实的实际环境当中验证后的确能够应对常规的自动化攻击、单在高级威胁领域要么没有对应能力,要么就是海量的误报让真实的告警淹没,与狼来了的剧本类似、日常误报太多最后就失去了信任。
没有一个安全产品可以100%检出所有安全威胁,也没有一个安全产品或者方案可以在不同的用户群体下发挥100%的效果;安全能力更应该需要安全厂商与安全建设方的业务人员、共同努力后的量体裁衣才能真正提高组织的应对不同威胁的能力,把安全工作越做越好。
相关文章:
以业务行为驱动的反入侵安全能力建设
0x0 背景 最近听到一些甲方安全领域的专家分享了部分安全建设的经验,对安全运营下的反入侵技术能力建设有了些新的看法,依靠单个/多个异构的安全产品的关联能力形成的安全中台并不能在实际的攻防对抗当中占据主动地位,且很容易达到一个天花板…...
Unity3d C#使用DOTween插件的Sequence实现系列动画OnComplete无效和颜色设置无效的问题记录
前言 最近在弄一个文字动画效果的动画,使用了DOTween插件的Sequence来实现,主要就是对一个Text进行的文字打字、缩放和颜色设置等动画,功能是先对Text实现打字的动画,打字完成后,延时几秒对文字进行缩小、颜色变淡&am…...
【蓝桥杯-筑基篇】排序算法
🍓系列专栏:蓝桥杯 🍉个人主页:个人主页 目录 前言: 一、冒泡排序 二、选择排序 三、插入排序 四、图书推荐 前言: 算法工具推荐: 还在为数据结构发愁吗?这款可视化工具,帮助你更好的了解…...
编辑器进化 VSCode + Vim
本文作者为 360 奇舞团前端工程师VSCode 是一款非常流行的代码编辑器。它支持多种编程语言,拥有丰富的插件和调试功能,不论是处理前端工程还是后端工程,VSCode 都能提供给开发者优秀的用户体验。鉴于 VSCode 超高的流行度,我会默认…...
LearnOpenGL-高级OpenGL-6.天空盒
本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject 文章目录天空盒介绍如何采样OpenGL纹理目标例子0:天空盒效果环境映射反射例子1:Cube…...
Printk打印内核日志
一、背景 Linux 内核中提供了内核日志打印的工具printk。它的使用方式C语言中的printf是类似的。接下来我们介绍一下printk的使用方式。本文以打印Binder中的日志为例,进行演示。 printk的方法声明和日志级别binder驱动中增加 打印代码android系统中查看日志信息 …...
界面控件DevExpress WPF 202计划发布的新功能合集
DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。本文将介绍今年DevExpr…...
Spring Cloud Alibaba 微服务2,注册中心演变 + Nacos注册中心与配置中心
目录专栏导读一、什么是Nacos?二、注册中心演变及其设计思想1、RestTemplate调用远程服务2、通过Nginx维护服务列表(upStream)3、通过Nacos实现注册中心4、心跳版Nacos三、Nacos Discovery四、Nacos核心功能1、服务注册2、服务心跳3、服务同步…...
Navicat 图形化界面工具
Navicat 介绍 Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、SQL Server等不同类型的数据库 目录 Navicat 介绍 Navicat 下载 Navicat 安装 Navicat 使用 Navicat连接MySQL数据库 Navicat创建数据库和表 Navicat 下载 1、点击这…...
2023年网络安全比赛--attack(新)数据包分析中职组(超详细)
一、竞赛时间 180分钟 共计3小时 任务环境说明: 1 分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出恶意用户第一次访问HTTP服务的数据包是第几号,将该号数作为Flag值提交; 2.继续查看数据包文件attack.pcapng,分析出恶意用户扫描了哪些端口,将全部的端口号…...
C语言之extern(七十)
extern同一个文件:修饰变量声明#include <stdio.h>int add(){extern int x,y;return x y; }int main(){printf("%d\n", add()); }int x 10; int y 20;extern文件之间:修饰函数声明<1>.add.cint sum(){extern int x ;extern in…...
树的前中后序的Morris遍历
目录 一.Morris遍历 1.什么是Morris遍历 2.基本思想 3.Morris遍历的优点和缺点 4.知识回顾----二叉树的线索化 二.中序Morris遍历 1.中序Morris遍历的分析 2.中序Morris遍历的思路 3.具体的代码实现 三.前序Morris遍历 1.前序Morris遍历的思路 2.具体的代码实现 四…...
到底什么是线程?线程与进程有哪些区别?
上一篇文章我们讲述了什么是进程,进程的基本调度 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 那么本篇文章我们将了解一下什么是线程?线程与进程有哪些区别?线程应该怎么去编程? 目录 http://t.csdn.cn/ybiwThttp://t.csdn…...
你真的知道如何系统高效地学习数据结构与算法吗?
文章目录前言:什么是数据结构?什么是算法?学习这个算法需要什么基础?学习的重点在什么地方?一些可以让你事半功倍的学习技巧1.边学边练,适度刷题2.多问、多思考、多互动3.打怪升级学习法4.知识需要沉淀&…...
Linux操作系统基础的常用命令
1,Linux简介Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。1.1Linux介绍Linux出现于1991年,…...
Jasypt加密库基本使用方法
目录 1 Jasypt简介... 2 基础知识回顾... 3 Jasypt基本加密器... 4 JasyptPBE加密器... 5 Jasypt池化加密器... 6 Jasypt客户端工具... 7 JasyptSpringboot基本用法... 8 JasyptSpringboot自定义加密器... 9 JasyptSprin…...
C++并发编程之五 高级线程管理
文章目录5.1.1 线程池5.1.1 线程池 在前面我们引入了线程的通信和同步手段,那么为什么还要引入线程池呢? 线程池是一种管理多个线程的技术,它可以减少线程的创建和销毁的开销,提高并发性能。线程池中有一定数量的空闲线程&#x…...
单片机——IIC协议与24C02
1、基础知识 1.1、IIC串行总线的组成及工作原理 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 1.2、I2C总线的数据传输 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟…...
案例05-将不必要的逻辑放到前端(发送调查问卷)
目录一:背景介绍背景二:思路&方案重大问题:解决办法优点:三:总结一:背景介绍 本篇博客书写的意义是警示大家不必把不必要的逻辑放到前端。 明确前后端分离的意义。 背景 下面的主要逻辑是࿱…...
【每日一题】——矩阵相等判定
🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟢 读书笔记 🟡 C语言跬步积累 🌈座右铭:广积粮,缓称…...
Linux防火墙的关闭
查看防火墙的状态打开终端输入如下命令systemctl status firewalld如图所示:running表示防火墙目前处于打开状态输入命令进行关闭防火墙:systemctl stop firewalld如图所示正常的用户是没有权限的,需要输入管理员的密码才能够进行关闭防火墙。…...
Request和Response的概述
⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章⭐作者主页:︶ㄣ释然⭐如果觉得文章写的不错,欢迎点个关注😉有写的不好的地方也欢迎指正,一同进步😁Request和Respo…...
常见的Web安全漏洞:SYN攻击/CSRF/XSS
一、SYN攻击(属于DOS攻击) 什么情况下被动方出现SYN_RCVD状态?(flood攻击服务) 客户伪造 ip 端口, 向服务端发送SYN请求。完成2次握手,第三次服务端 等待客户端ACK确认,但由于客户不存在服务端一直未收到确认&#…...
【STC15单片机】 超声波模块的使用
目录 1 基于STC15F2K60S2的超声波测距代码 1.1 基本注意事项 1.1.1 跳线帽接法 1.1.2 晶振设置 1.2 板载超声波工作原理 1.2.1 原理总结 1.2.2 超声波代码思路 1.3 STC15单片机代码部分 1.3.1 定时器0&定时器1初始化 1.3.2 超声波ultrasonic.c ultrasonic.h文件配…...
SpringBoot 动态操作定时任务(启动、停止、修改执行周期)增强版
前段时间编写了一篇博客SpringBoot 动态操作定时任务(启动、停止、修改执行周期,该篇博客还是帮助了很多同学。 但是该篇博客中的方法有些不足的地方: 只能通过前端控制器controller手动注册任务。【具体的应该是我们提前配置好我们的任务&am…...
快排函数 -- qsort函数(Quick Sort)
文章目录🔎1.qsort函数简介💡1.1.函数原型💡1.2.参数含义🔎2.比较函数介绍🔎3.比较函数使用案例💡3.1.整型数组💡3.2.浮点型数组💡3.3.结构体类型 - 字符串🔎4.利用冒泡排…...
条形码和二维码
前言:需要的包的相关文档 1. Barcode:https://pypi.org/project/python-barcode/0.8.1/ 2. Qrcode:https://pypi.org/project/qrcode/ 3. Zbar: https://pypi.org/project/pyzbar/ 4. Opencv: https://docs.opencv.org/3.4.11/ 5. OpenC…...
大数据-学习实践-5企业级解决方案
大数据-学习实践-5企业级解决方案 (大数据系列) 文章目录大数据-学习实践-5企业级解决方案1知识点2具体内容2.1小文件问题2.1.1 SequenceFile2.1.2 MapFile2.1.3 小文件存储计算2.2数据倾斜2.3 YARN2.3.1 YARN架构2.3.2 YARN调度器2.3.2 YARN多资源队列配置和使用2.4Hadoop官方…...
破解吲哚花菁素IR-808 N3,IR-808 azide,IR-808叠氮,酯溶性染料修饰叠氮基团,相关知识
基础产品数据(Basic Product Data):CAS号:N/A中文名:IR-808叠氮英文名:IR-808 N3,IR-808 azideIR-808结构式(Structural):详细产品数据(Detailed …...
面试官:MQ的好处到底有哪些?
💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…...
深圳专业制作网站的公司哪家好/网站运营课程
原文:Best Practices for Speeding Up Your Web Site 26 开发灵巧的事件处理程序 Develop Smart Event Handlers tag:javascript 如果有太多的事件处理逻辑部署在DOM树的不同元素上,它们的频繁执行会拖慢页面的响应速度。而使用事件委托是一…...
做网站能做职业吗/seo博客教程
f5 刷新页面 page——load事件,用if(!IsPostBack)也可以避免F5 刷新...
网站被k换域名 老域名能不能跳转/手机网站制作软件
具体分析见算法导论第十五章,代码如下: #include<iostream> using namespace std; //p为矩阵链,p[0],p[1]代表第一个矩阵,p[1],p[2]代表第二个矩阵,length为p的长度 //所以如果有六个矩阵,length7&a…...
郎溪网站建设/人民网疫情最新消息
今天在安装zblog的时候出现了提示“release.xml不存在!”导致无法正常安装的问题: 解决后发篇文章分享下,如果遇到同样问题可以尝试按照本文操作下。 先说解决办法: 重新去zblog官方下载最新版的安装程序重新上传安装即可解决。 问题原因…...
iis网站开发/网推平台有哪些比较好
快捷键:Ctrl Alt s,进入Settings >Editor>Live Templates>output中添加一个项,选择第一个Live Template 点击Define,勾选Everywhere后确定才能在自己想要的地方快速调用出来: 如下,在xml中一样…...
电子网站有哪些/网络营销推广公司名称
前言Redis提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。Redis中的list是我们经常使用到的一种数据类型,根据使用方式的不同,可以…...