当前位置: 首页 > news >正文

以业务行为驱动的反入侵安全能力建设

0x0 背景

        最近听到一些甲方安全领域的专家分享了部分安全建设的经验,对安全运营下的反入侵技术能力建设有了些新的看法,依靠单个/多个异构的安全产品的关联能力形成的安全中台并不能在实际的攻防对抗当中占据主动地位,且很容易达到一个天花板,而真实的有效方案应该是伴随着业务环境变化可以持续生长、动态变化的安全能力平台;

        在之前的文章当中曾描述过大部分的SOC和SIEM的平台仅仅只是将异构的安全告警数据进行数据接入、数据标准化处理后,通过一系列的存储分析后和一些流程工单、通报预警、OA系统、绩效评估、处置响应、SOAR系统进行了打通,成为了一些业务系统依赖的数据源;但后续的各项功能,本质上都是依赖于告警/事件的准确性与数量;也很好理解、如果这个告警/事件一开始就是误报、那么后续的所有旅程都是徒劳甚至有反面效果。如果每天的告警/事件的数量过多,一天有成千上万的告警远远超出现有的工作量那么本身也没有意义;

          所以、在日常的安全运营Job当中,最本质的需求是发现那些真实有效的安全隐患与入侵行为并快速响应处置,而不是从海量的安全告警当中筛选出真实有效的安全告警;而这二者之间,其实有着比较大的差异性;发现真实有效的安全隐患与入侵行为其实有是二个关键的动作:

  1. 有效识别
  2. 快速筛选
  3. 调查处置

0x1如何才有效识别与筛选

        由于自己的一些职业经验是从渗透测试 -> 应急响应 -->反入侵的角色转换,尤其是在做应急响应的阶段接触了大量的病毒类、挂马类、定向攻击类的安全事件,很自然的会从这些事件的响应的行为当中去提取部分检测场景,并添加到安全产品的检测引擎当中去,尤其是一些绕过安全设备检测能力的攻击手法导致设备没有告警的,例如前几年热门的隧道通信、系统进程白利用行为、社交网络钓鱼、精心伪装的鱼叉邮件、隐蔽的内网横向、终端进程隐藏等,大多数的应急事件或多或少都会有一些新的技术收获。

        但是从日常繁忙的应急响应->入侵检测的循环里面跳脱出来的时候,就会思考另外一个安全问题。专业化的入侵者似乎总是能领先一步、安全产品总能悄无声息的绕过,入侵检测的能力只能被动的防守、最好的情况也难道只是快速步步跟随而已吗?从一定程度上来讲如没有没有一种破局的思路,一次次新类型的漏洞预警、变种木马工具检出能力的快速更新、从漏报到规则升级背后也是一种步步亦趋的迫于无奈;

         如果只是从技术的思路出发,这个问题似乎很难回答;常规的攻击手法产生的告警大多数都是误报或者是失败攻击的尝试;现在越来越多的攻击行为日趋隐蔽,也难以被简单的方法有效的识别出来;于是就有一个有趣的现象,安全产品的告警分析后的结论就是没有问题,但是真实情况却是入侵者已经目的达成后安全离场;传统的规则引擎、基于特性场景的聚类分析无法简单的平衡误报率与检出之间的关系;但是如果从业务的视角出发,则思路就会不一样,入侵者占上风的只是对攻击技术、手法的快速更新与研究,通过实际场景的应用快速快速迭代更新,打的只是一个时间差。而业务的视角,能够占据优势的应该是对自己网络环境、与业务的熟系程度与理解,大多数入侵者缺少业务方面的认知在真实的入侵环境下很容易就被发现;比如理论上,人力资源HRBP的个人PC是不会直接访问财务系统的server服务器22端口,客服人员的个人PC也不会短时间发起大量的异常DNS的请求;而这些业务的场景、是攻击者和安全厂商都不知道的,是安全建设者和入侵者之间的业务对抗,而不是安全厂商与入侵者的技术对抗;

        所以如何才有效识别真实有效告警是依赖于安全人员、业务人员、数据分析人员的多方参与、一个在越做越好的平台当中逐步走向100分的过程;从安全人员的角度来看,不同的安全能力以适应不同的层次的威胁,安全人员应该在安全经历用于分析哪些攻击成功概率大、危害性较大、检测难度更高的手工投毒、数据窃取、APT等人工参与成分较多的定向攻击层面,而不是每天应对大量程序自动化的扫描器尝试性攻击告警上;

         比较多的安全建设方已经通过将异构的安全产品,部署在网络、终端、云主机、容器等环境进行监测然后分开运营处置,少部分群体并借由一个大数据平台的数据对接能够实现统一化的运营平台,结合流程、服务的配套完成初步的跑通,基本足以应对/响应日常的漏洞、蠕虫木马、甚至少部分的人工参与攻击,但在针对性较强、潜伏周期较长的定向攻击场景下依然需要自身的业务场景与网络情况量体裁衣,才能掌握主动权;不能仅仅依靠一个或者多安全产品、就能高效准备的识别到这些隐蔽的定性攻击。

0x2 威胁分类做好调查处置

        即使内部具备了对入侵行为有一定的识别能力,但安全告警却无法做到100%的准确不同的安全/事件的误报率、检出率不尽相同,处置不能只有少数的几个简单操作;理论上来讲、攻击复杂度越低的攻击、攻击特征越明显检出率则越高、对应的误报率则越低,当然前提是特征工程的质量基本合格。

        自动化攻击的事件比如常见的永恒之蓝的MS17-010漏洞、包括一些特定类型的激活工具、漏洞扫描工具特征、后门远控(ranmit)、挖矿特征(Miner)类、特定家族的威胁情报IOC等;因为准确性相对较高、故自动化的处置率相对较高,通过与SOAR的联动结合资产属性与业务熟悉基本上少部分可实现自动化处置,常见的操作包含:

  1. 恶意文件隔离
  2. 主机隔离(网络)
  3. 封堵IP/IOC
  4. 全盘病毒查杀
  5. 进程终止(kill)
  6. 删除文件
  7. 清理持久项(服务、注册表、启动项、账号等)
  8. 更改系统配置项目(密码策略、防火墙策略等)
  9. 专杀工具/特定脚本等

        然而一旦涉及到重点资产、业务权重较大的服务器,或者人工参与较多的安全告警时候、则较难通过自动化处置需要人工分析、并结合业务后统一分析处置;一方面由于部分资产承载着较为重要的业务系统,自动化处置的行为无法轻易评估对业务的影响,另外一方面人工参与的安全告警准确性难以单一指标判断;

        资产的属性往往可以通过与CMDB、EDR等系统对接、结合资产台账和人工的梳理能够识别重要性,相对容易一些。而对应人工参与的安全告警与用户自定义的安全告警、则需要提供更多丰富的数据源供安全运营人员分析研判,常用的数据应该包含:

  1. 告警的标准字段、时间、告警名称、分类、攻击字段、五元组等基本属性
  2. 安全告警的举证信息、包括恶意字段、数据包、进程上下文、命令行CMDLine等内容;
  3. 威胁情报信息、针对攻击IP、IOC、恶意文件的丰富举证字段(定性、sandbox)
  4. 安全告警的发生的时间线、规律
  5. 安全告警对应的资产属性、业务情况、脆弱性风险(业务误报)
  6. 异构安全产品的检出情况(交叉验证)
  7. 当前事件主机涉及到的影响面、访问关系与传播链(自动化溯源

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同一个文件&#xff1a;修饰变量声明#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文件之间&#xff1a;修饰函数声明<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.具体的代码实现 四…...

到底什么是线程?线程与进程有哪些区别?

上一篇文章我们讲述了什么是进程&#xff0c;进程的基本调度 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 那么本篇文章我们将了解一下什么是线程&#xff1f;线程与进程有哪些区别&#xff1f;线程应该怎么去编程&#xff1f; 目录 http://t.csdn.cn/ybiwThttp://t.csdn…...

你真的知道如何系统高效地学习数据结构与算法吗?

文章目录前言&#xff1a;什么是数据结构&#xff1f;什么是算法&#xff1f;学习这个算法需要什么基础&#xff1f;学习的重点在什么地方&#xff1f;一些可以让你事半功倍的学习技巧1.边学边练&#xff0c;适度刷题2.多问、多思考、多互动3.打怪升级学习法4.知识需要沉淀&…...

Linux操作系统基础的常用命令

1&#xff0c;Linux简介Linux是一种自由和开放源码的操作系统&#xff0c;存在着许多不同的Linux版本&#xff0c;但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中&#xff0c;比如手机、平板电脑、路由器、台式计算机。1.1Linux介绍Linux出现于1991年&#xff0c…...

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 线程池 在前面我们引入了线程的通信和同步手段&#xff0c;那么为什么还要引入线程池呢&#xff1f; 线程池是一种管理多个线程的技术&#xff0c;它可以减少线程的创建和销毁的开销&#xff0c;提高并发性能。线程池中有一定数量的空闲线程&#x…...

单片机——IIC协议与24C02

1、基础知识 1.1、IIC串行总线的组成及工作原理 I2C总线只有两根双向信号线。一根是数据线SDA&#xff0c;另一根是时钟线SCL。 1.2、I2C总线的数据传输 I2C总线进行数据传送时&#xff0c;时钟信号为高电平期间&#xff0c;数据线上的数据必须保持稳定&#xff0c;只有在时钟…...

案例05-将不必要的逻辑放到前端(发送调查问卷)

目录一&#xff1a;背景介绍背景二&#xff1a;思路&方案重大问题&#xff1a;解决办法优点&#xff1a;三&#xff1a;总结一&#xff1a;背景介绍 本篇博客书写的意义是警示大家不必把不必要的逻辑放到前端。 明确前后端分离的意义。 背景 下面的主要逻辑是&#xff1…...

【每日一题】——矩阵相等判定

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e2; 读书笔记 &#x1f7e1; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...