应急响应概念与流程
概念
根据《中华人民共和国突发事件应对法》(2024年修订),突发事件是指“突然发生,造成或者可能造成严重社会危害,需要采取应急处置措施予以应对的自然灾害、事故灾难、公共卫生事件和社会安全事件”。该法明确规定“国家建立健全突发事件应急响应制度”,应急响应级别按照突发事件的性质、特点、可能造成的危害程度和影响范围等因素分为一级、二级、三级和四级,一级为最高级别。
国家标准GB/T 37228-2018《公共安全 应急管理 突发事件响应要求》进一步规定了突发事件响应的基本要求,旨在实现响应组织内部“有效的应急指挥、信息管理、协调和合作”。
应急响应是指为应对突发事件或安全事件,组织所采取的一系列有计划、有步骤的预防、监测、处置和恢复活动,其目的是控制事态发展、减轻危害影响、恢复常态秩序,并从事件中汲取经验以提升未来应对能力。
流程
NIST SP 800-61 四阶段模型
| 阶段 | 任务 |
|---|---|
| 准备 | 该阶段允许组织和应急响应团队为事件处理做好准备,并尽可能降低事件发生的概率。主要工作包括:建立应急响应组织架构与职责分工、制定应急响应策略和程序、获得必要的资源和工具、组建和培训应急响应队伍。准备阶段的投入直接决定了后续各阶段的效率与效果。 |
| 检测与分析 | 该阶段的核心任务是及时发现安全事件并准确评估其范围和影响。主要工作包括:通过安全监控系统(IDS/IPS、SIEM、EDR等)持续收集和分析各类安全事件征兆与告警信息;对告警进行分级分类,确认是否为真正的安全事件;确定事件影响范围和受影响的资产;记录所有发现并持续向相关人员报告分析进展。此阶段的关键挑战在于在海量告警中准确识别真实威胁,避免误报和漏报。 |
| 遏制、根除与恢复 | 该阶段是应急响应的核心执行环节。遏制(Containment)旨在阻止事件进一步扩散,包括将受影响系统隔离、阻断恶意网络流量、临时关闭高风险服务等;根除(Eradication)要求彻底清除攻击媒介,如删除恶意软件、修复被利用的漏洞、重置被攻破的账户凭证等;恢复(Recovery)则将受影响系统安全地恢复到正常运行状态,包括从可信备份中还原数据、逐步恢复上线服务、持续监控以防复发。 |
| 事后活动 | 该阶段着眼于从事件中学习和改进。主要工作包括:组织事件复盘会议(Lessons Learned),回顾事件从发生到处置的全过程,梳理根本原因和处置过程中的不足;编写事件总结报告,记录事件时间线和关键决策;更新应急响应策略、流程和工具;依据复盘结果完善安全控制措施和人员培训计划。该阶段的核心价值在于将每次事件的经验转化为组织安全能力的持续提升。 |
PDCERF 六阶段模型
| 阶段 | 任务 |
|---|---|
| 准备 | 与NIST模型类似,在事件发生前建立完善的应急响应能力体系。包括组建应急响应团队(CSIRT)、明确角色与职责、制定应急响应预案(IRP)和标准操作程序(SOP)、部署必要的安全监控与取证工具、开展定期的应急演练和培训。 |
| 检测 | 通过安全监控工具和外部情报渠道主动识别安全事件的早期信号。包括:分析安全设备告警、用户异常行为报告、系统性能异常等;对可疑活动进行初步研判,判定是否构成安全事件;一旦确认事件发生,立即启动响应流程并通知相关责任人。 |
| 遏制 | 在确认事件后立即采取措施限制事件影响范围,防止损害进一步扩大。短期遏制措施包括断开受感染主机的网络连接、临时关闭受影响服务等;长期遏制措施则涉及部署补丁、更新访问控制策略、强化边界防护等,为后续根除创造安全的环境。 |
| 根除 | 彻底清除事件根源,消除攻击者在环境中的立足点。主要工作包括:删除恶意软件和后门程序、修复被利用的系统漏洞和应用漏洞、清理持久化机制(计划任务、注册表项、WMI事件等)、重置所有被攻破的账户和凭据。必要时需对系统进行全面重建以确保彻底清除威胁。 |
| 恢复 | 将受影响的系统和业务安全、有序地恢复到正常运行状态。包括:从经过验证的干净备份中恢复数据、按优先级逐步恢复系统上线、在恢复过程中实施更严格的监控和审计、进行安全验证测试确认系统已完全修复、通知用户和利益相关方业务已恢复正常。 |
| 跟踪/总结 | 事件处置结束后的总结与改进活动。包括:召开事件复盘会议,分析事件根因、响应过程中的得失和需要改进的环节;编写详细的事件总结报告并归档;更新应急响应计划和制度文件;根据经验教训调整安全策略和投资方向;必要时启动法律追责或保险理赔程序。该阶段体现PDCERF模型的闭环改进理念。 |
应急响应基础知识与工具
基础知识
安全事件分类分级
GB/T 20986-2023《信息安全技术 网络安全事件分类分级指南》由国家标准化管理委员会于2023年5月23日发布,2023年10月1日正式实施,替代了此前的指导性技术文件GB/Z 20986-2007,标志着我国网络安全事件分类分级工作从技术指导正式升格为国家标准。该标准由全国网络安全标准化技术委员会(TC260)归口,适用于网络运营者以及相关部门开展网络安全事件研判、信息通报、监测预警和应急处置等活动,是当前我国网络安全应急响应体系建设的基础性技术规范。
事件分类
GB/T 20986-2023 将网络安全事件划分为以下十大类别:
| 分类 | 说明 |
|---|---|
| 恶意程序事件 | 指由恶意代码(Malware)引发,对信息系统及其中数据造成破坏或非法控制的网络安全事件。典型形态包括计算机病毒、蠕虫、特洛伊木马、勒索软件、挖矿程序、僵尸网络客户端及间谍软件等。 |
| 网络攻击事件 | 指攻击者通过网络对信息系统实施主动攻击,导致系统服务异常、数据受损或权限失陷的安全事件。典型形态包括分布式拒绝服务攻击(DDoS)、高级持续性威胁(APT)、供应链攻击、网络钓鱼(Phishing)、SQL注入、跨站脚本(XSS)及后门利用等。 |
| 数据安全事件 | 指因人为或系统原因导致数据的保密性、完整性或可用性遭到破坏的安全事件。典型形态包括数据泄露、数据篡改、数据窃取、数据投毒、数据滥用、数据丢失及数据非法跨境传输等。 |
| 信息内容安全事件 | 指利用信息网络传播法律法规禁止或危害社会公共利益的有害信息内容的安全事件。典型形态包括宣扬暴力恐怖与极端主义内容、传播虚假信息与谣言、网络欺诈信息、色情低俗内容、煽动颠覆国家政权言论及侵犯公民个人信息合法权益的违规内容等。 |
| 设备设施故障事件 | 指因信息系统硬件设备、通信线路、电力供应或物理环境等基础设施损坏或失效,导致系统功能降级或服务中断的安全事件。典型形态包括服务器硬件损坏、存储设备故障、网络链路中断、电力供应中断、机房空调失效及物理破坏等。 |
| 违规操作事件 | 指内部或外部人员未按照安全策略和操作规程使用信息系统而引发的安全事件。典型形态包括权限滥用与越权操作、误操作导致的数据或系统损害、未授权使用计算资源、私自搭建无线网络、私自外联互联网及违反安全基线配置等。 |
| 安全隐患事件 | 指信息系统中存在的可能被攻击者利用的安全脆弱性,尚未被实际利用但已构成潜在威胁的安全事件。典型形态包括已知但未修补的系统漏洞与应用漏洞、安全配置缺陷与基线偏离、弱口令与认证机制缺陷、未加密传输及缺少必要的安全防护措施等。 |
| 异常行为事件 | 指信息系统或用户行为明显偏离正常运行基线,可能预示着安全威胁正在发生的安全事件。典型形态包括异常访问行为(如非工作时间登录、异地登录)、异常流量模式、异常数据外传、异常进程活动及异常账户操作等。 |
| 不可抗力事件 | 指因自然灾害、社会安全事件等不可抗拒的外部因素导致信息系统服务中断或数据损失的安全事件。典型形态包括地震、洪水、火灾、雷击、台风、泥石流等自然灾害,以及社会动乱、恐怖袭击等人为社会事件导致的网络基础设施瘫痪。 |
| 其他事件 | 指无法归入上述九类的特殊类型或新型网络安全事件。随着信息技术的发展和攻击手法的演进,当出现现有分类体系无法覆盖的新形态安全事件时,可暂归入此类别,并在后续标准修订中予以补充完善。 |
事件分级
GB/T 20986-2023 将网络安全事件按严重程度划分为四个等级:
| 级别 | 标识 | 判定原则 |
|---|---|---|
| 特别重大事件 | I | 对国家安全、社会秩序、经济建设和公众利益构成特别严重威胁或危害,造成或可能造成特别重大损失,涉及特别重要信息系统的安全事件。 |
| 重大事件 | II | 对国家安全、社会秩序、经济建设和公众利益构成严重威胁或危害,造成或可能造成重大损失,涉及重要信息系统的安全事件。 |
| 较大事件 | III | 对国家安全、社会秩序、经济建设和公众利益构成一定威胁或危害,造成或可能造成较大损失,涉及一定范围信息系统的安全事件。 |
| 一般事件 | IV | 对国家安全、社会秩序、经济建设和公众利益构成较小威胁或危害,造成或可能造成较小损失,仅涉及局部范围信息系统的安全事件。 |
分级要素
标准规定,对网络安全事件进行定级时,应综合考虑以下三个核心维度:
| 分级要素 | 说明 |
|---|---|
| 影响对象的重要程度 | 指受事件影响的信息系统或服务在国家安全、经济运行、社会稳定及公共利益中的重要程度。影响对象越关键,事件级别越高。 |
| 业务损失的严重程度 | 指事件对组织业务连续性造成的损失程度,包括直接经济损失、业务中断时长、数据损毁规模及恢复成本等。业务损失越大,事件级别越高。 |
| 社会危害的严重程度 | 指事件对社会公众利益、社会秩序及国家安全造成的实际或潜在危害程度,包括公民个人信息泄露规模、社会恐慌程度、公共服务中断范围及国家安全隐患等。社会危害越重,事件级别越高。 |
在实际定级操作中,应以上述三个维度中最高的判定结果作为事件的最终级别,并以此为依据启动相应级别的应急响应程序。
网络安全应急响应预案
网络安全应急响应预案是组织开展应急响应工作的纲领性文件。中央网信办于2017年发布《国家网络安全事件应急预案》,明确了国家层面网络安全事件应急处置的组织体系、监测预警和响应流程;GB/T 38645-2020《信息安全技术 网络安全事件应急演练指南》则对应急演练的组织与实施给出了具体规范。企事业单位应参照国家预案框架,结合自身业务特点编制本级预案,并定期演练、持续修订。
一个完整的应急预案通常包含以下要素:
| 组成要素 | 主要内容 |
|---|---|
| 总则 | 编制目的、编制依据、适用范围、工作原则(统一指挥、分级负责、快速反应、预防为主) |
| 组织机构与职责 | 应急领导小组、应急技术队伍(CSIRT)、各业务部门联络人,明确指挥链与汇报路径 |
| 监测与预警 | 日常安全监测机制、预警信息来源、预警分级(蓝/黄/橙/红)与发布流程 |
| 事件分级与响应启动 | 对应 GB/T 20986 的事件分级,明确各级别的响应启动条件、决策人和响应时限 |
| 处置流程 | 事件报告 → 初步研判 → 遏制隔离 → 根除清除 → 恢复验证 → 总结上报的标准处置链路 |
| 保障措施 | 技术保障(工具、备件、备份)、物资保障、人员保障(培训、专家库)、经费保障 |
| 演练与修订 | 演练频次与形式(桌面推演/实战演练)、演练评估、预案的定期评审与修订机制 |
预案的价值在于”平时预演、战时快反”:只有事先明确”谁来报、报给谁、怎么处置”,真实事件发生时才能避免因职责不清导致的响应迟滞。
工具
应急响应各阶段的常用工具分类整理如下:
| 类别 | 工具 | 用途 |
|---|---|---|
| 病毒/webshell 查杀 | 火绒、D 盾_web 查杀、河马 webshell 查杀、ClamAV | 恶意程序与 webshell 扫描清除,webshell 建议双工具交叉查杀 |
| 系统行为分析 | PCHunter、火绒剑、Autoruns、Process Explorer、TCPView | 进程/驱动/启动项/网络连接深度排查,对抗 rootkit 与隐藏进程 |
| 日志分析 | Log Parser、EmEditor、ELK | Windows 事件日志 SQL 化查询、大文本 Web 日志检索、日志集中分析 |
| Rootkit 检测 | rkhunter、chkrootkit | Linux 下的 rootkit、后门、本地提权痕迹扫描 |
| 流量与内存取证 | Wireshark、Volatility | 抓包分析 C2 通信特征、内存镜像中的进程/注入/凭据提取 |
| 在线分析 | VirusTotal、微步云沙箱、威胁情报社区 | 可疑文件多引擎检测、样本行为分析、IP/域名信誉查询 |
Windows 应急响应
一、检查系统账号安全
查看服务器是否有弱口令,远程管理端口是否对公网开放。
查看服务器是否存在可疑账号、新增账号、隐藏账号。
打开 cmd 窗口,输入lusrmgr.msc命令,查看是否有新增/可疑的账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉。查看服务器是否存在隐藏账号、克隆账号。
- 打开注册表 ,查看管理员对应键值
计算机\HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account。仔细查看列表,重点寻找以“$”结尾的账号。这类账号在net user命令中不可见,是隐藏账号的典型特征。点击每个账号,查看其右侧显示的“类型”数据,如果发现一个非管理员账户,但其“类型”值也是 0x1f4,这极大概率就是一个克隆账号。

- 使用 D 盾 _web 查杀工具,集成了对克隆账号检测的功能。
- 打开注册表 ,查看管理员对应键值
结合日志,查看管理员登录时间、用户名是否存在异常。
- Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”。
- 导出 Windows 日志–安全,利用 Log Parser 进行分析。
二、检查异常端口、进程
检查端口连接情况,是否有远程连接、可疑连接。
- netstat -ano 查看目前的网络连接,定位可疑的 ESTABLISHED
- 根据 netstat 定位出的 pid,再通过 tasklist 命令进行进程定位 tasklist | findstr “PID”

进程
- 开始–运行–输入 msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程 ID、文件创建日期、启动时间等。
- 打开 D 盾 _web 查杀工具,进程查看,关注没有签名信息的进程。
- 通过微软官方提供的 Process Explorer 等工具进行排查 。
- 查看可疑的进程及其子进程。可以通过观察以下内容:
- 没有签名验证信息的进程
- 没有描述信息的进程
- 进程的属主
- 进程的路径是否合法
- CPU 或内存资源占用长时间过高的进程
三、检查启动项、计划任务、服务
- 检查服务器是否有异常的启动项。
- 登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。
- 单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
- 单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。 - 利用安全软件查看启动项、开机时间管理等。
- 组策略,运行 gpedit.msc。
四、检查系统相关信息
- 查看系统版本以及补丁信息
单击【开始】>【运行】,输入 systeminfo,查看系统信息 - 查找可疑目录及文件
- 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。
Window 2003 :
C:\Documents and Settings
Window 2008R2 :
C:\Users\ - 单击【开始】>【运行】,输入 %UserProfile%\Recent,分析最近打开分析可疑文件。
- 在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。
- 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。
五、自动化查杀
- 病毒查杀
下载安全软件,更新最新病毒库,进行全盘扫描。 - webshell 查杀
选择具体站点路径进行 webshell 查杀,建议使用两款 webshell 查杀工具同时查杀,可相互补充规则库的不足。
六、日志分析
- 系统日志
- 前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
- Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”。
- 导出应用程序日志、安全日志、系统日志,利用 Log Parser 进行分析。
- WEB 访问日志
- 找到中间件的 web 日志,打包到本地方便进行分析。
- 推荐工具:
Window 下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。
Linux 下,使用 Shell 命令组合查询分析
Linux 应急响应
一、检查系统账号安全
- 排查可疑账号与特权账号。
cat /etc/passwd查看全部账号,重点关注近期新增、不熟悉或命名模仿系统账号(如 roOt、adm1n)的条目。awk -F: '$3==0 {print $1}' /etc/passwd查找 UID 为 0 的账号——除 root 外任何 UID 0 账号都等价于 root,极可能是攻击者留下的后门账号。awk -F: 'length($2)==0 {print $1}' /etc/shadow查找空口令账号。cat /etc/sudoers与ls /etc/sudoers.d/检查 sudo 授权是否被篡改。
- 检查登录痕迹。
last查看成功登录记录(对应 /var/log/wtmp),关注异常来源 IP 与非工作时间登录。lastb查看登录失败记录(对应 /var/log/btmp),大量失败记录说明存在爆破行为。lastlog查看所有账号的最近登录时间,排查”从不登录”的服务账号突然登录的情况。w、who查看当前在线用户。
- 检查 SSH 后门。
cat ~/.ssh/authorized_keys检查各账号(尤其 root)是否被写入陌生公钥。- 检查 sshd 配置
/etc/ssh/sshd_config是否被篡改(如 PermitRootLogin、AuthorizedKeysFile 被改为其他路径)。
二、检查异常端口、进程
- 检查端口连接情况。
netstat -antup或ss -antup查看所有网络连接,定位处于 ESTABLISHED 状态的可疑外联(反弹 shell 特征)与异常 LISTEN 端口。
lsof -i :<port>或lsof -p <pid>定位端口对应的进程及其打开的文件。
- 排查可疑进程。
ps auxf以进程树形式查看,重点关注:父进程异常(如父进程是 nginx 的 bash/sh)、CPU/内存占用长期过高的进程(挖矿特征)、名称伪装成系统进程(如 [kworker] 拼写变形)的进程。ls -l /proc/<PID>/exe查看进程对应的可执行文件真实路径,cat /proc/<PID>/cmdline查看启动命令,路径在 /tmp、/dev/shm 或已删除(deleted)的进程高度可疑。- 排查隐藏进程:
ps -ef与ls /proc的 PID 列表做对比,出现在 /proc 却不在 ps 输出中的 PID 即被隐藏的进程;也可用 unhide 工具自动化检测。
三、检查启动项、计划任务、服务
- 计划任务(反弹 shell 与持久化重灾区)。
crontab -l查看当前用户任务,并逐一切换排查其他用户(/var/spool/cron/ 下按用户名存放)。cat /etc/crontab,检查 /etc/cron.d/、/etc/cron.daily/、/etc/cron.hourly/ 等目录下的可疑脚本。
- 开机自启项。
cat /etc/rc.local、ls /etc/rc.d/与 /etc/init.d/ 下的启动脚本。systemctl list-unit-files | grep enabled排查自启服务,对陌生 unit 用systemctl cat <name>查看其执行的命令。
- Shell 启动脚本与动态库劫持。
- 检查
/.bashrc、/.bash_profile、/etc/profile、/etc/profile.d/ 下是否被追加恶意命令(常见挖矿/后门驻留手法)。 cat /etc/ld.so.preload正常情况下应为空或文件不存在,若有内容则说明存在 LD_PRELOAD 级别的动态库劫持(rootkit 常见特征)。
- 检查
四、检查系统相关信息
uname -a、cat /etc/*-release确认系统版本与内核,为漏洞排查提供依据。history或 cat ~/.bash_history 查看历史命令,攻击者常在此留下操作痕迹(注意 history 可能被清空,清空本身也是痕迹)。- 按时间排查可疑文件。
find / -mtime -3 -type f 2>/dev/null查找最近 3 天内被修改的文件,结合入侵时间线缩小范围。- 重点检查 /tmp、/var/tmp、/dev/shm 等临时目录下的可执行文件。
find / -perm -4000 -type f 2>/dev/null排查新增 SUID 文件(提权后门常见形式)。
- 文件完整性校验。
- RPM 系:
rpm -Va校验系统文件是否被篡改(输出中 S 表示大小变化、5 表示 MD5 变化)。 - Debian 系:
debsums -s只输出校验失败的文件。
- RPM 系:
五、自动化查杀与 rootkit 检测
- 病毒查杀:
clamscan -r / --bell -i使用 ClamAV 全盘扫描;webshell 可用河马等工具对站点目录专项查杀。 - Rootkit 检测:
rkhunter --check --skip-keypress扫描已知 rootkit、后门与本地提权漏洞痕迹。chkrootkit作为第二款工具交叉验证,两者规则库互补。
六、日志分析
- 认证日志(SSH 爆破与登录排查)。
- CentOS/RHEL 在 /var/log/secure,Debian/Ubuntu 在 /var/log/auth.log。
- 统计爆破来源:
grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head。 - 查看成功登录:
grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'。
- 二进制登录日志:wtmp(
last)、utmp(w)、btmp(lastb),不可直接 cat,需用对应命令解析。 - 系统与计划任务日志:/var/log/messages 或 /var/log/syslog 排查系统级异常;/var/log/cron 核对计划任务的实际执行情况;systemd 系统可用
journalctl -xe、journalctl -u <服务名>查询。 - Web 访问日志分析(access.log)。
- 统计访问量 TOP IP:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -20。 - 统计状态码分布:
awk '{print $9}' access.log | sort | uniq -c | sort -nr。 - 检索可疑请求:
grep -E "select|union|eval|cmd|\.jsp\?|\.php\?" access.log,结合入侵时间窗定位 webshell 的首次上传与后续访问记录。 - 找到攻击 IP 后反查其全部请求:
grep "<攻击IP>" access.log | awk '{print $7}' | sort -u,还原攻击路径。
- 统计访问量 TOP IP: