目录

应急响应流程

防御模型

SDL


应急响应流程

很多人认为应急响应就是脸上被黑的机器去查查什么情况,是不是被中了botnet病毒、是不是被人中了rootkit等,是不是被挂了webshell等。应急响应这件事情是一件技术含量非常高的事情,处理好了万事大吉,处理不好的话就很容易把系统搞崩溃,甚至引起一些不必要的情况。应急响应这件事儿,CSO和安全运营工程师的点其实不太一样,其实原因还是因为两个人的职责不一样,CSO是非常特别以及极其不愿意自己的公司名字出现在SRC或者补天这些漏洞平台上,毕竟出现了的话领导是要过来请你喝茶的。其实应急响应是有一个流程的。大致流程如下:


准备阶段

  • 这里的准备就是准备用来检测的工具和人,比如说ls、losf、ss、ifconfig这些东西

检测与分析阶段

  • 紧急事件监测:包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志,不正常或者是执行了越权操作的用户,甚至还有管理员的报告(可以是邮件也可以电话短信什么的你可以看到听到的东西),我们要从这些数据中判断出受灾面积和攻击者入侵的点,然后才能谈下面的。
  • 应急响应初期:要根据上面监测的到的结果初步判定事件的类型,并且需要定义此次安全事件的级别。之后要做的是投入相关的资源进行分配,在此期间要把该安全事件的处理方式和进度告知管理层得到他们的支持,之后来组成一个临时的应急响应小组(后期可以专人专做)
  • 安全事件分级:其实就是决定什么对自己最重要,为紧急事件确定优先级充分利用现有资源(这里需要注意,不是所有的安全事件都要投入这些资源去完成)
  • 调查:这里就是调查整个事件的原因,取证追查,漏洞分析,后门检查,收集数据并分析

攻击缓解、根除和业务修复

  • 这里的目的主要是首先先控制受害范围,不要让攻击的影响继续蔓延到其他的IT资产和业务环境,切记不要直接一股脑的投入全部精力到封堵后门。紧接着要做的是去寻找根源原因,彻底解决,封堵攻击源,把业务恢复到更张水平

攻击跟踪

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

其实这个就是应急响应中非常有效的PDCERF模型(参考NIST SP800-61):Prepare(准备)、Detection(检测)、Containment(抑制)、Eradication(根除)、Follow-Up(跟踪),这个模型用来描绘应急响应是非常科学的。
应急响应工作的顺利进行很大程度上依赖前面文章中提到那些数据映射关系和资产映射关系图,快速定位和准确找到负责人可以增加事件应急处理的效率,尽快解决应急响应带来的影响。


防御模型

对于防御模型来说,其实安全建设的马斯洛层次很好的描绘了防御模型的建立和迭代:
LV0:不设防:也就是没有任何安全措施
LV1:认为自己是安全的:通过一些较为基础的安全措施做到基础的ACL,并且系统不存在任何的明显的漏洞。但是不具备复杂时间的应急响应,需要购买安全服务。这里评价的标准是:有一个信息安全团队并且保证交付的代码、服务器的环境没有明显的漏洞,并且做过渗透测试。
LV2:基本的应急响应:有攻防的能力,并且可以在不依赖外部安全服务的情况下做到能对大型信息安全突发事件进行抢救和修复,但是安全防护的体系并没有完全建立。这里评价的标准是:有一个攻防能力较强的安全团队,并且具备应急响应的能力。
LV3:安全体系建立:到了这个阶段,安全工作应该具有一个完善的体系,能够覆盖全生命周期,开发与运维的环境有一个必要的流程,在一些业务和资产的架构上都会考虑安全问题,检测和安全防护手段能够根据不同的攻击场景针对性的调整。这里的评价标准包括:具备一个完整的纵深防御体系并且能够覆盖日常的应急响应和安全防护。
LV4:除了保证基本的架构、应用和数据的安全之外,还能够在业务层面上也具有一个系统化的安全解决方案,这时候对抗的方式不仅仅来自于平时攻击的时间,还要关注业务逻辑方便的安全和跟高级别的攻击者(比如高级攻击者和黑产团队)的对抗。这里需要建立更高强度的风控体系和域安全措施,诸如安全域、账号体系、基础服务等。
LV5:高级安全手段:以上层次基本上满足了吃饱吃好的要求,到了这个阶段就是前面说的吃出逼格、吃出花样的时候了。这个阶段要引进业界先进的技术诸如态势感知、威胁情报体系、机器学习、深度学习、人工智能等业界前沿的技术来加入到安全管控体系中,也就是我们常说的最佳实践。这里要具备完整的纵深防御体系,要具备和攻击者精确对抗,能够完全了解谁在攻击我们,并且优化攻击拦截的成功率、及时性、准确性和自动化程度。

评价企业安全建设做的好与坏的标准就是ROI(投资回报率),也就是能够利用较低的成本来防御较高成本的网络攻击,举个例子,别人打你一波DDoS需要花10块钱,而你防御住这个10块钱的攻击和对你造成的影响只有1毛钱,这说明攻击防御是有效的;反之,如果你防御这些攻击对你造成的影响和防御成本是100块钱,这样你的ROI就有问题了,防御可能需要继续优化或者重新思考。而对于一个安全负责人来说,影响投资回报率的因素如下:

  • 系统化:具备一个系统化的蓝图,对安全建设有着大局观和感性认知
  • 管理体系化:这里详细说其实是两部分,也就是工具链建设(管理工具)和团队建设(管理人),体系化有助于安全建设,并且能够增加响应能力。
  • 机遇与风险并存:做安全一定要能接受风险,并不是一个checklist的问题,checklist只能帮助你去建设并不能彻底杜绝安全问题,安全问题是人祸,一定程度上也会存在“天灾”。
  • 安全定位:要知道自己几斤几两,企业现有的安全措施在整个行业来说是什么水平,如何提高水平。
  • 能力匹配:安全团队的发展一定要跟得上公司的扩张速度,不能该激进的时候保守。
  • 大局观:安全不是一个团队的事情,是整个公司的事情,与各部门积极配合和沟通是必要的。

SDL

对于SDL来说,SDL其实在网上已经有很多的文章来介绍SDL的事情了,首先肯定的是SDL是个好东西,它能够减少软件本身出现的漏洞和数量,并且还能够降低严重级别。说到SDL我们就得扯一扯安全培训的事情,安全培训在很多企业内部其实是往往被忽视的,尤其是很多外包企业,具体原因是什么你们懂得。不重视SDL的后果其实能直接反映的是很多大型传统企业诸如通信、能源、金融等行业很多系统都是使用SSH(Struts+Spring+Hibernate)开发的,一旦Struts出了0day,这些企业肯定安全部门是要加班的,这里面很重要的一个原因就是因为没有对系统的安全性问题提前研究,换句话说就是开发阶段没有考虑这些事情(鉴于这些系统基本上有一大部分都是外包的)。这点在互联网公司,由于部分大型互联网公司SDL推进的比较好,所以有些影响特别大的漏洞都会有相应的预案,能够很快的修复漏洞。扯远了,我们继续来说安全培训的事情,对于安全培训来说,培训的内容应包括以下方面:
Part 1:安全设计:包括减小攻击面、深度防御、最小权限原则、服务器安全配置等
Part 2:威胁建模:概述、设计意义、基于威胁建模的编码约束
Part 3:安全编码:缓冲区溢出(针对C/C++)、整数算法错误(针对C/C++)、XSS/CSRF(对于Web类应用)、SQL注入(对于Web类应用)、弱加密
Part 4:安全测试:安全测试和黑盒测试的区别、风险评估、安全测试方法(代码审计、fuzz等)
Part 5:隐私与敏感数据:敏感数据类型、风险评估、隐私开发和测试的最佳实践
Part 6:高级概念:高级安全概念、可信用户界面设计、安全漏洞细节、自定义威胁缓解
以上内容选择性培训,根据规模、能力、要求等多方面满足安全要求。
鉴于很多企业没有推进SDL,但是我们可以通过攻防驱动的概念来补充这一部分,所谓的攻防驱动包含以下内容:

  • 事前基线:安全编码标准、安全设计
  • 事中措施:代码审计、发布前的安全测试
  • 事后机制:http全流量ids、web日志分析、流量实时审计等
  • 事件驱动:发现了新问题就督促开发部门赶紧修复

对于威胁建模来说,微软STRIDE基本可以满足,所谓STRIDE就是Spoofing(假冒)、Tampering(篡改)、Reputation(否认)、Information Disclosure(信息泄露)、DoS(拒绝服务)、Elevation of Privilege(提权)。对于SDL部分,no one could say it better than Microsoft!所以直接贴链接了:
威胁建模 (STRIDE)
Microsoft Security Development Lifecycle (SDL) - Process Guidance (SDL)


作者:e1knot

转自:https://zhuanlan.zhihu.com/p/26542790

应急响应-PDCERF模型 (转)的更多相关文章

  1. 一些关于Linux入侵应急响应的碎碎念

    近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...

  2. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  3. Windows应急响应常识

    Windows 应急响应 常见事件ID 1102 清理审计日志 4624 账号登陆成功 4625 账号登陆失败 4672 授予特殊权限 4720 创建用户 4726 删除用户 4728 将成员添加到启 ...

  4. Window应急响应(五):ARP病毒

    0x00 前言 ARP病毒并不是某一种病毒的名称,而是对利用arp协议的漏洞进行传播的一类病毒的总称,目前在局域网中较为常见.发作的时候会向全网发送伪造的ARP数据包,严重干扰全网的正常运行,其危害甚 ...

  5. Window应急响应(一):FTP暴力破解

    0x00 前言 ​ FTP是一个文件传输协议,用户通过FTP可从客户机程序向远程主机上传或下载文件,常用于网站代码维护.日常源码备份等.如果攻击者通过FTP匿名访问或者弱口令获取FTP权限,可直接上传 ...

  6. Window应急响应(二):蠕虫病毒

    0x00 前言 ​ 蠕虫病毒是一种十分古老的计算机病毒,它是一种自包含的程序(或是一套程序),通常通过网络途径传播,每入侵到一台新的计算机,它就在这台计算机上复制自己,并自动执行它自身的程序. 常见的 ...

  7. Window应急响应(三):勒索病毒

    0x00 前言 ​ 勒索病毒,是一种新型电脑病毒,主要以邮件.程序木马.网页挂马的形式进行传播.该病毒性质恶劣.危害极大,一旦感染将给用户带来无法估量的损失.这种病毒利用各种加密算法对文件进行加密,被 ...

  8. Window应急响应(四):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...

  9. windows应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

随机推荐

  1. svg基础--基本语法与标签

    svg系列–基础 这里会总结svg的基础知识和一些经典的案例. svg简介 SVG(Scalable Vector Graphics)is an XML-based Language for crea ...

  2. MMDetection 快速开始,训练自定义数据集

    本文将快速引导使用 MMDetection ,记录了实践中需注意的一些问题. 环境准备 基础环境 Nvidia 显卡的主机 Ubuntu 18.04 系统安装,可见 制作 USB 启动盘,及系统安装 ...

  3. swack的wiki站上线

    swack的个人wiki网址:www.swack.cn [服务器破旧,速度较慢,见谅!]

  4. Approach for Unsupervised Bug Report Summarization 无监督bug报告汇总方法

    AUSUM: approach for unsupervised bug report summarization 1. Abstract 解决的bug被归类以便未来参考 缺点是还是需要手动的去细读很 ...

  5. 阿里面试官:什么是MySQL索引,为什么要有索引?

    一.什么是索引? 索引就好比字典的目录一样 我们通常都会先去目录查找关键偏旁或者字母再去查找 要比直接翻查字典查询要快很多 二.为什么要有索引? 然而我们在使用mysql数据库的时候也像字典一样有索引 ...

  6. Netty与NIO

    初识Netty Netty是由JBoss提供的一个Java的开源框架,是GitHub上的独立项目. Netty是一个异步的,基于事件驱动的网络应用框架,用于快速开发高性能.高可靠的网络IO程序. Ne ...

  7. .NET 云原生架构师训练营(模块二 基础巩固 敏捷开发)--学习笔记

    2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作, ...

  8. unixbench性能测试跑分工具

    UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能 所谓跑分工具,不仅各项的测试有得分,最后跑完也会有一个综合 ...

  9. 【Spring】XML方式实现(无参构造 有参构造)和注解方式实现 IoC

    文章目录 Spring IoC的实现方式 XML方式实现 通过无参构造方法来创建 1.编写一个User实体类 2.编写我们的spring文件 3.测试类 UserTest.java 4.测试结果 通过 ...

  10. Python eval 函数用途

    Python eval 函数用途: eval 函数可将字符串转换成列表,元组和字典 实例如下: 可以把list,tuple,dict和string相互转化. ##################### ...