互联网企业安全高级指南读书笔记之入侵感知体系

主机入侵检测

开源 HIDS

OSSEC、Mozilla InvestiGator 和 OSquery

OSSEC 是典型的 B/S 架构,通常一个 Server 集群最多配置 2000 台 agent 接入。在此基础上,OSSEC 也支持在开发插件、采集数据、解析/检测规则三个方面的功能扩展

Mozilla InvestiGator 具备了现代 HIDS 架构的雏形,但是整体上 MIG 偏向事后的取证,而不是实时的入侵检测

OSquery 适合有一定 IDC 规模的企业,安全团队有一定的开发能力,并且对入侵检测有基于大数据理解的环境

自研 HIDS

agent 功能
基线安全

在 Linux 系统下以读取解析文本配置为主,辅以某些二进制文件的 ELF 格式解析;Windows 系统通过读取注册表和组策略信息完成采集

采集数据包括但不限于:

  • 系统版本,Linux 发行版版本、Linux 内核版本、Linux 内核热补丁、Windows 补丁(微软官方补丁公告中注册表项)信息
  • Linux 系统账户、Windows 账户权限、权限组、最后登录时间
  • 系统关键文件 MD5
  • 应用服务版本
  • 第三方应用服务版本
  • webapp 版本
日志采集

采集的日志内容如下:

  • Linux 系统日志
    • syslog 默认日志
    • 系统服务登录记录
    • 系统账户登录记录
  • Windows 系统
    • 应用服务日志
    • 安全日志
    • 系统日志
  • Webserver
  • 扩展插件日志
进程信息
  • 周期性遍历/proc。这是风险最小的方案,部署适配性最强。但缺点明显,实时性无法得到保障,且性能差
  • 用户态 Hook Libc 函数。相比前面一种方案,风险相对高一点,特别在多线程进程中要注意安全性。但其部署适配性也特别高,同时性能也是各种方案最好的,建议
    作为首要选择。虽然 libc hook 方式可能有被绕过的风险,但如果对抗主要集中在 Web 入侵场景,基本是无需担心的
  • 利用 LSM 模块接口。如果对抗必须深入系统级攻防,那么通过内核态获取进程数据就非常必要了。但是为了安全性、适配性考虑,采用 LSM(Linux security module)开发接口就是较佳的选择。Fackbook 安全团队开发的 osquery 就是使用了 LibAudit 获取 execve 调用信息
  • 内核态 syscall HOOK,安全类的开发最惯性的思维就是内核态 HOOK,反倒不是什么新鲜的招式。但是这样的方案未必都适合大范围使用,作为一个可能要大量部署的安全系统来说,不是一个最佳选择。在 Linux 环境里各种发行版和内核版本差异很大,以至于需要维护多个兼容性版本,同时稳定性也难以保证。这类方案通常是开发一个 LKM 模块实现

建议字段:
image_1c6fddn23s9f1tak1ht8h0s8nm55.png-199kB
image_1c6fdf4951k4b1oj61at0rndip5i.png-365.9kB

小技巧:
image_1c6fdi4sgrca57g1fa21akb1h1o5v.png-358kB

网络连接信息
  • /proc/net/raw RAW 套接字信息
  • /proc/net/tcp TCP 套接字信息
  • /proc/net/udp UDP 套接字信息
Webshell

inotify 文件监控,Linux 系统中公认的技术就是 inotify,在 BSD 和 macOS 里类似的是 kqueue。Linux 内核从 2.6.13 开始引入 inotify,可以通过

 % grep INOTIFY_USER /boot/config-$(uname -r)
 CONFIG_INOTIFY_USER=y

来查看系统是否支持

DB 审计

DB 保护是重中之重

数据传输
  • syslog 转发,默认使用 UDP 514 端口,数据量较大或者数据量波动可能会丢失数据,敏感信息也可能因明文传输而泄露
  • 数据直传
  • 数据接收 Server

值得注意的是:

  • 避免数据传输波峰“雪崩效应”
  • 敏感数据脱密与加密
  • 做好数据传输环境的前后链对账,出现漏报时能够及时追查到可能导致数据丢失的环节
控制管理
健康度监控

image_1c6febo564vgg3c10iiv7k1kov6c.png-350.5kB

自杀机制

安全在极端情况下,出现故障时必须为业务稳定牺牲,系统资源消耗超标功能模块要暂停甚至自杀

部署与更新
  • 海量环境影响
    • 发布前必须通知业务方,有应急预案和回滚手段
    • 灰度发布,未经一个可靠的时间周期稳定运营验证,不得批量部署
    • 节假日前不部署
    • agent 更新由 Server 端推送任务完成
  • 安全性
    • 控制(更新)指令仅允许选择固话的指令,严禁预留命令执行接口
    • 更新包必须经过第三方安全工程师审核之后上传至更新 Server 保存
    • 控制指令下发时必须由第三方审核批准才可执行

Webshell 检测

Webshell 通常是一个文件,静态文件的扫描检测是常见做法,但由于攻防技术的对抗发展,静态文件的变形越来越多

静态检测

image_1c6fcggbkm2e1jt0lbo28t1rvp3h.png-208.4kB

可用维度

image_1c6fcjfqaocp1pj3sehj9gqfg3u.png-322.2kB

多维度检测

image_1c6fckvqq1lmibrh10t813ptnje4b.png-480.1kB

流量监控

入侵场景
image_1c6fcpcib117c1bsll4m1kpf1tf44o.png-491kB

https://github.com/xti9er/LogForensics/blob/master/LogForensics.pl 是一个 Webserver 日志分析脚本

RASP

运行时应用自身防护

PHP

image_1c6fc6sf81893bcsratu41sfh34.png-351.3kB

PHP 代码解释为 opcode 之后再交由 Zend 引擎执行

image_1c6fc5g4l1i3n1mvtcia52hd8i2n.png-446.6kB

检测模型

image_1c6fc3u1l1gpt1qsg5041sk79c32a.png-155.9kB

Java

技术架构
  • 修改 rt.jar
  • JVMTI
检测模型
  • 基于高危行为组合的检测模型
  • 基于调用栈的检测模型

数据库审计

旁路型

通过网络设备镜像流量,审计设备解码组包 DB 流量,并存储分析,通过模型检测和追溯可疑和高危事件

主机型

审计产品部署到 DB Server 主机上

代理型

image_1c6fb00561863148586e15391ikhm.png-284.4kB

攻击检测

主要针对两类问题:

  • SQL 注入拖库
  • 操作违规审计

对 SQL 攻击的检测面临各种变形 SQL 语句的绕过,但通过语法解析器的还原,任何伪装都必须褪去

将原始 SQL 请求使用语法解析器(Python 的 sqlpare 模块)格式化之后的语句,可以清晰地看到 SQL 语句被递归拆分成了 function+parameter 的展现形式

其实 SQL 注入就是本该只允许输入 parameter 的地方被恶意插入了 function 调用且被执行

入侵检测数据分析平台

功能模块

image_1c6fbevtp1dk319rvapm10q8qq113.png-470.6kB

分析能力

现在的攻击往往不易触发单点的安全策略和检测,需要更多纬度和大视角的数据分析

  • 单点事件描述数据的行为分析
  • 上下文事件关联分析

image_1c6fbm55d1qn9ee1548kq3120l1g.png-449.9kB

实战示例

image_1c6fbqim11uu05l6p4n128t1t111t.png-298.8kB

某个高权限进程的父进程为低权限,则告警。不过仍然有一些细节:

  • 同样的情况在正常情景下有哪些,如何去除误报?
  • 向前追溯还是向后追溯更容易实现?
  • 提权除了上述场景,还有哪些?

入侵检测数据模型

战场纵深

image_1c6f9h56f1kin13ei1n476bk1p439.png-512.2kB

高维防守

无论什么入侵行为,都对应着更高一纬度的系统功能和能力支持,尽量不要和攻击者在低纬度针尖对麦芒地对抗

策略实践

  • 网络层:检测符合 RFC 1867 标准的上传 CGI 行为
  • CGI 层:关注 fopen 等写 CGI 文件的 API 事件
  • 系统用户态:检测系统层面的 API 调用行为
  • 系统内核态:通过内核 inotify 事件来发现 CGI 创建行为

近身防守

要解决一个入侵场景,在指定策略之前做好足够的分析并提炼其最核心的技术点,贴近此特征指定策略效果就非常好

互联网企业安全建设思路 互联网企业安全高级指南 互联网企业安全建设落地实践 互联网企业落地等保2.0实践分享 工业互联网安全战略落地与推进建议 工业互联网安全实践与趋势分析 工业互联网时代的安全挑战与对策 从大型互联网企业零信任实践之路谈如何构建立体化的防御体系 等保2.0体系互联网合规实践白皮书 工业互联网体系架构 电信和互联网行业数据安全治理白皮书 电信和互联网大数据安全管控分类分级实施指南 传统型互联网公司在零信任建设上的思考 工业互联网的安全实践 数据驱动的工业互联网自适应防护框架 互联网网关最佳实践安全策略 工业互联网安全战略落地与推进建议 工业互联网安全架构白皮书 工业互联网企业网络安全分类分级指南 传统金融业务与互联网金融并存模式下的数据安全设计 电子认证在互联网司法服务中的作用 工业互联网数据安全白皮书 互联网医院平台化运营探索与实践 混合云下的DevOps在vivo互联网的探索落地 工业互联网及其驱动的制造业数字化转型 面向能源互联网的数据安全防护策略与创新技术思考 大型互联网平台SDL实践:业务风险深度评估 “互联网+”时代的 数据安全 互联网个人信息安全保护指南 移动互联网应用(App)收集个人信息基本规范 移动互联网医疗安全风控白皮书 “互联网+行业”个人信息保护研究报告 如何构建企业自身的工业互联网安全可视化体系 筑牢新基建时代工业互联网安全防线 工业互联网主要解决三大问题 构建可视、可管、可控的互联网 互联网行业高弹性系统构建最佳实践 下一代互联网安全解决方案 筑牢下一代互联网安全防线-IPV6网络安全白皮书 社区电商互联网甲方安全体系 威胁情报在互联网行业的应用 新一代工业互联网发展模式与成功实践:数据驱动的新价值网络 智能安全从边缘开始 保护企业免受互联网威胁的全新模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值