应急响应模型


应急响应模型

PDCERF模型

Prepare(准备):准备用来检测的工具和人

Detection(检测与分析):

紧急事件监测,包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志,不正常或者是执行了越权操作的用户

甚至还有管理员的报告(收到的邮件和短信), 从这些数据中判断出受灾面积和攻击者入侵的点

Containment(抑制缓解):

首先先控制受害范围,不要让攻击的影响继续蔓延到其他的IT资产和业务环境,切记不要直接一股脑的投入全部精力到封堵后门。

紧接着要做的是去寻找根源原因,彻底解决,封堵攻击源,把业务恢复到正常水平

Eradication(攻击根除)

Recover(业务恢复)

Follow-Up(事件跟踪)

根据各种监控去确定没有其他的攻击行为和攻击向量,紧接着就是开会反省此次事件,写报告,持续改进工作流程

马斯洛层次

对于防御模型来说 ,描绘了防御模型的建立和迭代

LV0:不设防:也就是没有任何安全措施

LV1:认为自己是安全的

通过一些较为基础的安全措施做到基础的ACL,并且系统不存在任何的明显的漏洞。

但是不具备复杂时间的应急响应,需要购买安全服务。

这里评价的标准是:有一个信息安全团队并且保证交付的代码、服务器的环境没有明显的漏洞,并且做过渗透测试。

LV2:基本的应急响应:有攻防的能力

并且可以在不依赖外部安全服务的情况下做到能对大型信息安全突发事件进行抢救和修复,但是安全防护的体系并没有完全建立。

这里评价的标准是:有一个攻防能力较强的安全团队,并且具备应急响应的能力。

LV3:安全体系建立

到了这个阶段,安全工作应该具有一个完善的体系,能够覆盖全生命周期,开发与运维的环境有一个必要的流程,

在一些业务和资产的架构上都会考虑安全问题,检测和安全防护手段能够根据不同的攻击场景针对性的调整。

这里的评价标准包括:具备一个完整的纵深防御体系并且能够覆盖日常的应急响应和安全防护。

LV4除了保证基本的架构、应用和数据的安全之外,还能够在业务层面上也具有一个系统化的安全解决方案

这时候对抗的方式不仅仅来自于平时攻击的时间,还要关注业务逻辑方面的安全和跟高级别的攻击者(比如高级攻击者和黑产团队)的对抗。

这里需要建立更高强度的风控体系和域安全措施,诸如安全域、账号体系、基础服务等。

LV5:高级安全手段

以上层次基本上满足了吃饱吃好的要求,到了这个阶段就是前面说的吃出逼格、吃出花样的时候了。

这个阶段要引进业界先进的技术诸如态势感知、威胁情报体系、机器学习、深度学习、

人工智能等业界前沿的技术来加入到安全管控体系中,也就是我们常说的最佳实践。

这里要具备完整的纵深防御体系,要具备和攻击者精确对抗,能够完全了解谁在攻击我们,

并且优化攻击拦截的成功率、及时性、准确性和自动化程度。

ROI(投资回报率)

评价企业安全建设做的好与坏的标准就是ROI(投资回报率)也就是能够利用较低的成本来防御较高成本的网络攻击

举个例子,别人打你一波DDoS需要花10块钱,而你防御住这个10块钱的攻击和对你造成的影响只有1毛钱,这说明攻击防御是有效的;反之,如果你防御这些攻击对你造成的影响和防御成本是100块钱,这样你的ROI就有问题了,防御可能需要继续优化或者重新思考。

对于一个安全负责人来说,影响投资回报率的因素如下:

系统化:具备一个系统化的蓝图,对安全建设有着大局观和感性认知

管理体系化:这里详细说其实是两部分,也就是工具链建设(管理工具)和团队建设(管理人)

体系化有助于安全建设,并且能够增加响应能力。

机遇与风险并存:做安全一定要能接受风险,并不是一个checklist的问题**

checklist只能帮助你去建设并不能彻底杜绝安全问题,安全问题是人祸,一定程度上也会存在“天灾”。

安全定位:要知道自己几斤几两,企业现有的安全措施在整个行业来说是什么水平,如何提高水平。

能力匹配:安全团队的发展一定要跟得上公司的扩张速度,不能该激进的时候保守。

大局观:安全不是一个团队的事情,是整个公司的事情,与各部门积极配合和沟通是必要的。

威胁建模

Spoofing(假冒)

Tampering(篡改)

Reputation(否认)

Information Disclosure(信息泄露)

DoS(拒绝服务)

Elevation of Privilege(提权)

应急响应流程

主要有两大方面,系统入侵排查和日志分析

Linux入侵排查思路

账号安全

先查看基础用户信息文件(/etc/passwd,/etc/shadow,/etc/group)

1、查询特权用户特权用户(uid 为0)

awk -F: ‘$3==0{print $1}’ /etc/passwd

2、查询可以远程登录的帐号信息

awk ‘/$1|$6/{print $1}’ /etc/shadow

3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限

more /etc/sudoers | grep -v “^#|^$” | grep “ALL=(ALL)”

4、禁用或删除多余及可疑的帐号

usermod -L user #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头

userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除

查看历史命令

cat ~/bash_history >> history.txt

检查网络连接

netstat -antlp|more

#查看 PID 所对应的进程文件路径

ls /proc/$PID/exe

file /proc/$PID/exe

检查异常进程

ps aux | grep pid

检查开机启动项

系统运行级别示意图:

运行级别 含义
0 关机
1 单用户模式,可以想象为windows的安全模式,主要用于系统修复
2 不完全的命令行模式,不含NFS服务
3 完全的命令行模式,就是标准字符界面
4 系统保留
5 图形模式
6 重启动

#系统默认允许级别

vi /etc/inittab

id=3:initdefault #系统开机后直接进入哪个运行级别

当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可

ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

#S开头代表加载时自启动

检查定时任务

ls -al /var/spool/cron/*

cat /etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

#查看目录下所有文件

more /etc/cron.d/*

/etc/anacrontab

/var/spool/anacron/*

anacrontab是啥

检查服务

chkconfig –list #查看服务自启动状态,可以看到所有的RPM包安装的服务

#源码包安装的服务位置

/user/local/

检查异常文件

1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性

2、针对可疑文件可以使用stat查看创建修改时间

3、发现WebShell、远控木马的创建时间

如何找出同一时间范围内创建的文件?

find ./ -iname “*” -atime 1 -type f

#找出 ./ 下一天前访问过的文件

检查系统日志

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志文件 说明
/var/log/cron 记录系统定时任务相关的日志
/var/log/message 记录Linux操作系统常见的系统和服务错误信息(首要检查对象)
/var/log/btmp 记录错误登录(登陆失败)日志;使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次成功登录时间,使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;用last命令来查看
/var/log/utmp 只记录当前登录用户的信息;使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码

#查询ssh登录记录

more /var/log/secure

#安装软件的日志-> Centos

/var/log/yum.log

#安装软件的日志-> Ubuntu

/var/log/apt/

/var/log/syslog:只记录警告信息,常常是系统出问题的信息;

syslog是Linux系统默认的日志守护进程

默认的syslog配置文件是/etc/sysctl.conf文件

syslog不可以使用vi等工具直接查看,它是二进制文件,使用 lastlog 查看

默认Centos,Fedora不生成该日志文件,但可以配置让系统生成该日志文件

/etc/rsyslog.conf文件中加上:*.warning /var/log/syslog

该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息

正确清空syslog日志的方式

cat /dev/null > /etc/init.d/syslog

WebShell检测

常见的检测方法有基于主机的流量-文件-日志检测关键字(危险函数)匹配语义分析

更多检测方法可以在知网搜索相关文献

网站被植入WebShell的应急响应流程

1、定位时间和范围**:扫描WebShell位置,D盾、河马等工具;定位文件创建的时间;检查Web根目录.htaccess文件

2、Web日志分析:例如查看access.log(Apache日志)在文件创建的时间的节点是否有可以上传

3、漏洞分析:分析可能存在漏洞的地方,复现漏洞GetShell。

4、漏洞修复:清除WebShell并修复漏洞

5、对系统和Web应用进行安全加固

查杀工具

杀软-Clamav

chkrootkitrkhunter

河马webshell查杀

GScan自动化检测脚本


Author: Free04kSec
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Free04kSec !
 Current
应急响应模型 应急响应模型
应急响应模型PDCERF模型 Prepare(准备):准备用来检测的工具和人 Detection(检测与分析): 紧急事件监测,包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志,不正常或者是执行了越权操作的用户 甚至还有管理
2020-09-21 Free04kSec
Next 
权限提升 权限提升
Windows上常见的权限分类: User:普通用户权限; Administrator:管理员权限; System:系统权限。 Linux上权限分类: User:普通用户权限; www-data:Web服务的权限,比User还要低,一
2020-09-17 Free04kSec
  TOC