以业务行为驱动的反入侵安全能力建设
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语言跬步积累 🌈座右铭:广积粮,缓称…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
