安全产品概述

防火墙

防火墙的核心功能是过滤掉有害的流量,在专用网络和公共网络之间建立保护屏障。防火墙过滤通常基于一系列规则,如 IP 地址、域名、协议、端口号、关键字等,对入站和出站的流量进行过滤。这些规则也称为访问控制列表(ACCESS CONTROL LIST,ACL,访问控制列表)。

Ps:ACL是一组自定义规则,定义了哪些流量或资源是允许/拒绝的。不仅用于防火墙,路由器、交换机、应用程序文件访问控制等都有应用。防火墙规是专门用于网络防护的一种 ACL 实现形式(子集)。如下。

 参考视频:https://www.youtube.com/watch?v=kDEX1HXybrU

IDS/IPS

入侵检测系统(Intrusion Detection System,IDS)监控网络流量并对可疑行为进行告警。常见的情况有两种,一种是配置在防火墙内,另一种是附加设备,从网络设备中拷贝出流量,进行流量分析,对有恶意行为的进行告警。

后来就有个观点认为,既然已经是恶意流量了,就应该进行拦截,在IDS基础上就发展出了入侵防御系统(Intrusion Prevention System,IPS)。既然要拦截,就不能对流量进行拷贝,而需要部署在流量传输的路上线。后来就发展成和防火墙相结合。也可以部署在防火墙后面。防火墙是基于网络层和传输层的IP、端口等信息进行过滤,而IPS可以在应用层分析数据包的内容。

IDS有两种主要类型:NIDS(Network-based IDS)网络入侵检测系统、HIDS(Host-based IDS)主机入侵检测系统。NIDS部署在网络设备上(交换机、路由器等)监控整个网络的流量。HIDS则专注于单个主机或设备,监控主机上的活动,包括系统日志、应用程序等。

参考视频:https://www.youtube.com/watch?v=wQSd_piqxQo

WAF

WAF(Web Application Firewall,Web应用防火墙)。传统防火墙是位于OSI模型的下层(第三层和四层,即Network和Transport),目的是保护整个网络。而WAF位于上层(第七层,Application),主要针对Web应用程序进行保护。

IPS和WAF有什么区别?IPS是基于签名(SIG,Signature)的,对于已知的漏洞或者攻击,签名就是已知的。IPS需要使用会话和用户,也就是说无法自动识别用户和相应的访问权限。WAF能够识别应用和用户会话。WAF支持协议(HTTP、HTTPS、FTP、SMTP、DNS等)

 参考视频:https://www.youtube.com/watch?v=p8CQcF_9280

NGFW

NG是Next Generation的缩写,意味下一代。NGFW就是下一代防火墙。Gartner对它的定义如下。意思就是它是一个深度的包检测防火墙,不仅是检测、阻断端口、协议等,还增加了应用层检测、IPS、外部情报等功能。另外,防火墙也可以提供url过滤,邮件扫描、DLP功能。

"An NGFW is a deep-packet inspection firewall that moves beyond port/protocol inspection and blocking to add application-level inspection, intrusion prevention, and bringing intelligence from outside the firewall."

Zero Trust

以前,内部网络受防火墙(包括上面提到的IPS、WAF等)保护,防火墙作为边界将企业内部网络(可信区域)和外部公共网络隔离,防御边界外部的攻击。但是随着这些年云计算的发展,应用与服务上云。用户可以远程办公。使用的设备也不再是企业内部设备,可能是自己的移动设备。传统边界安全的理念不再合适。

而且边界安全理念中面临一个很大的问题就是横向移动。如果攻击者能从边界中找到一个弱点从而获得访问权限,那么攻击者就可以访问边界内的其他资源。因为可信区域内的用户默认都是安全的,不会再对用户行为做监测。这就造成了对用户的过度信任(给予的权限过大)。所以零信任提出了对每个访问请求执行最小访问权限。基于对程序的评估授予执行任务所需的最小特权。

由于这些问题的存在,零信任Zero Trust被提了出来。它本身不是一个产品,而是一种理念或安全架构。使用不同的安全技术和产品进行构建。授权决策不再仅仅基本网络位置、用户角色或属性等传统静态访问控制模型,而是通过持续的安全监测和信任评估,进行动态、细粒度的授权。

零信任的一个原则之一:Never Trust, Always Verify(相当于No Trust)。无论用户在何处(办公区域内,家中或其他公共场所),无论使用什么样的设备,都需要证明自己的身份。每个请求都要持续、动态的验证Verify。

SDP(Software Defined Perimeter,软件定义边界)

流程

参考视频:

https://www.youtube.com/watch?v=Y3DjoTiOiOU
https://www.youtube.com/watch?v=DLQAbJm4gFM
https://www.youtube.com/watch?v=_yGGZj9wkaU  (SDP)

UEBA

User and Entity Behavior Analystics(UEBA,用户实体行为分析)。它是由UBA(User Behavior Analystics,用户行为分析)演化而来的。假设我们拥有所有产品的日志,包含了源地址、目标地址、时间、用户等信息,数据量大很难通过人工的方式从中挑选出异常行为。

利用用户行为分析UBA技术可以将日志提取分析成如下形式,直接显示出哪些用户存在异常。

日志中包含了许多遥测数据,数据可能来自单独的系统、数据库、网络设备等。UBA相当于一个漏洞,用机器学习的方式来寻找模式和异常。比如有些用户每天下载50条数据,突然开始下载5w条数据。或者用户本来两三天登录一次,突然开始一天登录几十次。或者登录用户的IP开始变化。或者对用户进行分组,他们本质上都是行为极为相似的,但是突然有一个人开始偏离这个组的行为。也可以通过用户的操作序列中查找异常,比如用户刚创建了一个用户,就将用户删除了。这种就是异常行为。利用上述这些规则就可以通过机器学习来查找异常,然后对用户进行分类,哪些是正常用户,哪些是异常用户。通过对高风险用户进行分类,查看排名前几名的用户,快速定位。

同样,UBA技术也可以应用于实体Entity,也就叫做UEBA。Entity表示路由器、交换机、服务器等非人的东西。

参考视频:https://www.youtube.com/watch?v=j29XwVsMW-s

 

SIEM

SIEM(Security Information and Event Management system,安全信息事件管理系统)。它是一种从网络上的各种端点/网络设备收集数据、将它们存储在一个集中位置并对其进行关联的工具

SIEM会从各个数据源中获取日志。以上图为例,将数据源分为以主机为中心的日志源、以网络为中心的日志源。前者包含Windows和Linux的常见日志。以Windows为例,包含用户访问文件、用户身份认证、编辑注册表、Powershell执行等。Linux日志主要为:/var/log/httpd, /var/log/cron, /var/log/auth.log, /var/log/secure, /var/log/kern等。后者包含主机间的通信,如SSH连接、FTP访问、网络流量、VPN日志等。

还有一个核心环节,是如何将这些日志进行提取和采集。每个SIEM的解决方案不同,常见的包括a. 代理/转发器,如将Splunk安装在端点上。b.Syslog。该协议用于从各类系统(如Web服务器、数据库等)收集数据并实时发送到目标地。c. 手动上传。d. 端口转发。监听某些配置端口,将后端点将数据转发到监听端口上的SIEM实例。

然后将这些日志用仪表盘展示。包含告警信息、失败登录尝试列表、时间采集的数量、告警触发的规则等。

分析人员可以创建关联规则,一旦命中规则就会产生告警。例如,一般攻击者在漏洞利用阶段可能用whoami命令进行探测。就定义规则:如果日志源是 WinEventLogEventCode 是4688,并且 NewProcessName 包含whoami,则触发警报WHOAMI command Execution DETECTED

 参考:TryHackMe | Cyber Security Training

VPN

VPN(Virtual Private Network,虚拟专用网络)用于远程设备和私有网络之间建立安全通信。在用户设备和VPN服务器之间建立加密隧道Tunneling。数据发送到VPN服务器上后解密,然后转发到目标服务器。目标服务器只会看到VPN服务器的IP地址,而不是用户的真实地址。能够防止防止欺骗、劫持重放、中间人等攻击。

隧道有很多类型:GRE(Generic Routing Encapsulation,通用路由封装)、IPSec VPN(IP Security)和SSL VPN(Secure Sockets Layer,安全套接字层)等。

 参考视频:https://www.youtube.com/watch?v=_wQTRMBAvzg

SASE

随着云计算的发展,企业访问从专用网络逐渐转到Sass和基于云的服务。

Security Access Service Edge 安全服务访问边缘。区别于传统的VPN。

参考视频:

https://www.youtube.com/watch?v=Opy9D-8eyVg
https://www.youtube.com/watch?v=jHVe_SoQ7q0

EDR

传统的木马、病毒等攻击都是用杀毒软件进行查杀。杀毒软件主要以特征匹配为基础,基于病毒库特征查询进行杀毒,传统杀毒软件的查杀方式如下:

1. 计算病毒、木马等文件的MD5值,和特征库的MD5进行匹配。完全匹配即命中

2. 匹配文件内容中特定的二进制串(也称为“特征码”),一般是恶意代码部分。

3. 规则匹配。匹配多个二进制串的组合,用正则描述匹配规则,如A&(B|C)。

在防御APT和新型病毒的场景下效果甚微。如果本地特征库规模受限、运算资源受限的情况下更是无法满足需求。另外,杀毒软件一般对恶意文件采用文件隔离的处置方式,一旦文件隔离失败,就会对整个内网造成威胁。EDR(Endpoint Detection and Response,端点检测和响应)的出现正是弥补传统杀软无法解决的问题。

EDR本身分为了两个阶段,Protect(预防,感染前)和Detect(检测,感染后)。Protect阶段,就是传统防病毒/杀毒软件干的事情,利用机器学习进一步强化传统杀软。但即使是最好的杀毒引擎也只能防范部分病毒。所以一旦进入到感染后阶段,就需要对病毒进行检测。检测主要关注文件执行后的行为,因为文件被加密和混淆可能躲避检测规则,但是后续的行为不会变。

图片下方的整体的时间条叫Dwell Time,表示停留时间(在系统中攻击而没被检测到的时间)=MTR(平均检测时间)+ MDR(平均修复时间)。EDR和XDR的目的都是为了更快的检测和响应,来缩短攻击的停留时间。EDR针对端点,XDR则在EDR的基础上扩展了其他网络攻击面,如防火墙、云等。

基于行为的检测,现在多采用沙箱这种动态检测技术,通过模拟运行病毒文件来捕获病毒的动态可疑行为。虽然捕获出的特征极具说服力,但是沙箱本身对于资源的消耗很大,所以一般部署在云端或者终端,而不会部署在网关设备中。另外,从流程上讲,一般先经过传统的杀软检测逻辑,即检测静态的MD5、特征码或匹配规则等,再经过沙箱,这样可以降低一部分性能消耗。

参考视频:https://www.youtube.com/watch?v=SFFdbeogLFc

IOC和IOA

IOA(Indicator of Attack,攻击指标),IOC(Indicator of Compromise,威胁指标)。这两个概念主要应用于终端安全。

攻击一般指实际的恶意行为。攻击者一般会对目标服务器植入恶意文件或病毒等,方便后续做持久化、扩大攻击面或者进一步利用。传统终端安全一般是对病毒或恶意文件进行查杀,相当于对攻击的后果进行处置。IOA的概念是主动的,去发现正在进行的攻击,来减轻最终的后果。而IOC被描述为网络安全已被破坏的证据。例如恶意文件的md5值、攻击者IP、病毒的签名、僵尸网络服务器的域名等。

crowdstrike用一个故事对IOA和IOC的解释很有意思。假设有一个盗贼要抢银行,他抢银行的整个过程可能是先驾车行驶到银行附近,找到合适的停车位置,然后走进金库,破解密码,拿走钱后驾车逃跑。IOA并不关注他开的是什么车,用了什么工具,IOA关注的是这一系列的操作:破解密码、进入金库等,记录盗贼抢银行的关键行为。不是所有的行为都代表会抢银行(例如将车停到银行附近),所以IOA是对特定的操作才会触发,而这些特定的操作是攻击过程的必须行为。IOC则关注的是盗贼驾驶的车是紫色货车,带着灰色的帽子。这些都是在事后可以回溯和定位盗贼的证据。但是如果后面有个人驾驶红色小轿车,带着牛仔帽,那这些已知的IOC就不会起到作用。

IOA是对行为进行记录,而行为本身包括很多类型,例如网络通信、数据操作、账户行为、执行命令等。简单来讲,就是对主机常安装的服务器、数据库、浏览器、办公软件、应用等进行梳理,监控在其进程下执行的操作。

举例来说,如果攻击应用系统(如apache、nginx、php-cgi等)、数据库(mysql、oracle、postgres、sqlserver、redis等)、语言进程(java、python),在这些应用场景下如果起了进程,执行了curl、ifconfig、nc、ping等危险操作,就可能会被记录下来。

很多IOA是以规则进行定义的,常见的包含json、xml、yaml等格式。举例如下

{
  "ioa_rule": {
    "id": "ioa-2024-001",
    "name": "Detect ipconfig Execution in Java Process",
    "description": "This rule detects the execution of the ipconfig command within a Java process, which might indicate an attempt to gather network configuration information maliciously.",
    "severity": "high",
    "created_at": "2024-05-18T10:00:00Z",
    "updated_at": "2024-05-18T10:00:00Z",
    "enabled": true,
    "conditions": [
      {
        "type": "process_creation",
        "process_name": "java.exe",
        "command_line": "ipconfig"
      }
    ],
    "actions": [
      {
        "type": "alert",
        "message": "ipconfig command executed within a Java process."
      },
      {
        "type": "block",
        "process_name": "java.exe",
        "command_line": "ipconfig"
      }
    ]
  }
}

IOC规则举例。假如在溯源时从定时任务中发现有powershell,powershell外连的url可能为http://t.abcd.com/v.js。那么这个url就会成为一条IOC规则,而下载的数据的MD5也会成为一条IOC规则。同样如果是Domain、IP等信息也会成为IOC。

url http://t.abcd.com/v.js
C2 39.109.123.174
IP 212.66.52.88
MD5 d8109cec0a51719be6f411f67b3b7ec
File C:\Windows\SysWow64\winrdlv3.exe

参考链接:
https://www.crowdstrike.com/cybersecurity-101/indicators-of-compromise/ioa-vs-ioc/

恶意样本查询网站:VirusTotal

输入样本信息,下面会提示样本名,如Sales_Receipt 5606.xls。这个hash值就可以当作一个IOC规则。

但是IOC规则很容易被变种绕过,例如可以通过将字符串附加到文件末尾来更改文件的哈希值,从而绕过IOC。

XDR

三大核心:集成、分析和响应。集成阶段:将网络安全设备中的数据集成到一个平台上,可以监控syslog、snmp等遥测数据。分析和检测阶段:对不同类型的数据和不同供应商的数据进行标准化和关联,并利用机器学习/ai相关算法寻找数据中的异常值。响应阶段:根据发现的异常,通过相关的安全设备进行响应,如通过防火墙设备封堵IP、阻止邮件服务器中的域名。

简单来说,XDR是根据接收到的遥测数据,利用机器学习算法做出决策,然后利用相关安全设备进行响应。

痛苦金字塔Pyramid Of Pain

Kill Chain杀伤链

它包括目标识别、攻击目标的决策和命令,以及最终摧毁目标。该框架定义了网络空间中对手或恶意行为者使用的步骤。步骤如下。

待补充产品

Snort引擎。

SOAR。EDR和XDR都是为了检测和响应威胁。MDR是托管检测和响应的服务,利用多种技术为客户提供7*24小时防护。包含安全分析、主动威胁猎捕、自动事件响应(SOAR)。

NTA/NDR(比NTA多个R响应)

后续有时间再补充...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JSON格式

JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。JSON 就是一种字符串格式,这种格式无论是在前端还是在后端,都可以很容易的转换成对象,所以常用于前后端数据传递 说明: JSON的语法 ​ var obj“{‘属性名’:‘…

Vue3.0项目实战(三)——大事件管理系统首页 layout 架子与文章分类的实现

目录 1. 首页 layout 架子 [element-plus 菜单] 1.1 基本架子拆解 2. 登录访问拦截 2.1 需求 2.2 vue3 和 vue2 中的 Vue-Router 区别 3. 用户基本信息获取&渲染 4. 退出功能 [element-plus 确认框] 5. 文章分类页面 - [element-plus 表格] 5.1 基本架子 - PageCo…

Tomcat Request Cookie 丢失问题

优质博文:IT-BLOG-CN 一、问题描述 生产环境偶尔(涉及到多线程处理)出现"前端传递Cookie为空"的告警,导致前端请求丢失,出现请求失败问题。告警内容如下 前端传递Cookie为空 告警内容:服务端获取request Cookie为空&…

大屏地图区域显示、复选框多选打点,自定义窗体信息(vue3+TS)

效果图: NPM 安装 Loader: npm i amap/amap-jsapi-loader --save 并设置 key 和安全密钥: import AMapLoader from amap/amap-jsapi-loader;//引入高德地图window._AMapSecurityConfig {securityJsCode: "「你申请的安全密钥」"…

[数据集][目标检测]百事可乐可口可乐瓶子检测数据集VOC+YOLO格式195张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):195 标注数量(xml文件个数):195 标注数量(txt文件个数):195 标注类别…

前端登录鉴权——以若依Ruoyi前后端分离项目为例解读

权限模型 Ruoyi框架学习——权限管理_若依框架权限-CSDN博客 用户-角色-菜单(User-Role-Menu)模型是一种常用于权限管理的设计模式,用于实现系统中的用户权限控制。该模型主要包含以下几个要素: 用户(User)…

【VSCode v1.93.0】手动配置远程remote-ssh

开发环境 VS Code版本:1.93.0 (Windows) Ubuntu版本:20.04 使用VS Code 插件remote-ssh远程访问Ubuntu服务器中的代码,若Ubuntu无法联网,在连接的时候会报错: Could not establish connection to "xxxx": F…

店匠科技携手Stripe共谋电商支付新篇章

在全球电商行业蓬勃发展的背景下,支付环节作为交易闭环的核心,其重要性日益凸显。随着消费者对支付体验要求的不断提高,以及跨境电商的迅猛发展,支付市场正经历着前所未有的变革与挑战。在这一充满机遇与竞争的领域,店匠科技(Shoplazza)凭借其创新的嵌入式支付解决方案—— Sho…

【Obsidian】同步插件 Remotely Save 的应用介绍

背景 引言,大多数的笔记软件数据都存储在云端,这样如果是没网络,或者笔记服务器崩溃故障,那么你就无法访问自己的笔记了,前段时间的语雀系统崩溃,不知道你有没有了解? 所以笔记在自己手里&…

第四届“长城杯”网络安全大赛 暨京津冀网络安全技能竞赛(初赛) 全方向 题解WriteUp

战队名称:TeamGipsy 战队排名:18 SQLUP 题目描述:a website developed by a novice developer. 开题,是个登录界面。 账号admin,随便什么密码都能登录 点击头像可以进行文件上传 先简单上传个木马试试 测一下&…

ComfyUI-图片表情控制工作流整合包,相关软件包及工作流均已打包好,一键启动即可

前言 本期给大家带来基于LivePortrait的ComfyUI图片表情控制工作流,还可以通过控制表情变化及参考视频生成动态肖像。 此工作流操作简单,相关ComfyUI软件包、模型、节点、工作流均已打包在内,一键启动即可。 # 配置要求: 建议电…

基于 TiDB 资源管控 + TiCDC 实现多业务融合容灾测试

导读 随着金融行业的不断发展,多个业务系统的整合成为了趋势,分布式数据库的应用也愈发广泛。为了应对多业务融合带来的复杂性,金融机构需要在保障各业务系统高效运行的同时,确保 IT 系统的高可用性和稳定性。本文将介绍 TiDB 如…

媒体服务器软件BUG说明及改进方案

媒体服务器软件BUG说明及改进方案 一、BUG描述二、问题分析三、改进方案四、实施计划五、预期效果六、总结一、BUG描述 在当前版本的媒体服务器中,存在一个关于静音媒体流处理的问题。具体表现为:当主叫连续发送静音帧到媒体服务器时,媒体服务器并未将这些静音帧转发给被叫…

2. Python之注释及缩进以及print和input函数使用

一. Python代码中的注释及缩进 Python中注释有单行注释,多行注释,声明注释 单行注释使用符号#,从#开始,后面到本行末尾都是注释内容。多行注释可以使用’‘’ ‘’三个引号,三个引号内的内容都是注释声明注释&#x…

相机内存卡格式化了照片怎么恢复?格式化恢复详解

摄影爱好者们都知道,相机内存卡是记录我们美好瞬间的重要媒介。然而,在使用过程中,有时我们会因操作不当或设备故障,不小心格式化了内存卡,从而导致珍贵的照片丢失。面对这种情况,我们该如何恢复这些被格式…

深入FastAPI:掌握使用多个关联模型的高级用法[Union类型]

在FastAPI中,响应模型可以声明为Union类型,这允许你为同一个端点定义多种可能的响应模型。这种灵活性使得API可以根据不同的情况返回不同类型的数据结构。 例如,根据请求中的查询参数或数据库中的数据,一个API端点可能有时返回一…

STM32 HAL DMA 中断碰到的问题

流程 串口收数据—>dma搬运到变量—>空闲中断----->接收完成 配置 dma中断全部去掉 串口中断开启 freertos中断全部去掉 时钟配置 代码 开启中断 // DMA 空闲检查 void receives_uaru_7(void) {RXU7 0;//清除中断标志HAL_UARTEx_ReceiveToIdle_DMA(&hua…

【学习笔记11】如何找到twitter中自己的cookie?

步骤 在浏览器中打开twitter网站,按下CtrlShiftI(i)按下面步骤以此点击 参考 如何找到自己的Facebook XS Cookie和X/Twitter Auth_Token? 一張圖秒懂

二、Maven工程的创建--JavaSEJavaEE

1、idea创建Maven JavaSE工程: 2、idea创建Maven JavaEE工程: (1)手动创建 (2)插件方式创建 在idea里安装插件JBLJavaToWeb; 选择需要生成的项目文件后,右击: 项目…

【实战篇】MySQL为什么有时候会选错索引?

场景分析 1 如下数据库表: CREATE TABLE t (id int(11) NOT NULL AUTO_INCREMENT,a int(11) DEFAULT NULL,b int(11) DEFAULT NULL,PRIMARY KEY (id),KEY a (a),KEY b (b) ) ENGINEInnoDB;然后,我们往表 t 中插入 10 万行记录,取值按整数递…