安全产品概述

防火墙

防火墙的核心功能是过滤掉有害的流量,在专用网络和公共网络之间建立保护屏障。防火墙过滤通常基于一系列规则,如 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命令进行探测。就定义规则:如果日志源是 WinEventLog EventCode 是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响应)

后续有时间再补充...

相关推荐
叶落阁主19 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954483 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954483 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star3 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954483 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher5 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行8 天前
网络安全总结
安全·web安全
red1giant_star8 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全