事件响应计划可以包括恶意软件感染、系统破坏、黑客攻击、系统崩溃等事件。我们主要的关注点是如何响应那些恶意软件事件,但这并不意味着这些概念对于别的事件是不适用的——事实上,有些是适用的。
在创建事件响应计划时应考虑以下几个方面:
● 识别不同的入侵场景
● 识别解决方案模式
● 定义角色和职责
● 建立协议
● 定期演习
● 评审和改进
事件响应计划是一个行动计划,一个正确行为的指导计划,而不是事件响应者必须盲目地一步步跟从的操作手册。
1、识别不同的受害场景
虽然没有人能够预测到所有可能会发生的事件,但在攻击防御中识别可能的攻击场景是一种很好的智力训练,要求我们至少比攻击者提前想两步。就像象棋游戏,对手正在移动棋子,考虑棋子的当前布局,如果对手将这枚棋子放在了一个特定的位置,将会发生什么呢?会把您将死吗?还是意味着把您的某一个重要的棋子吃掉?或者说这是一个战略布置,使得您只能按照对手希望的那样走下一步?您需要好好地考虑这些棋子可以分别下到什么位置上,然后考虑因此而得到的不同组合的可能结果。进行威胁建模可以帮助识别出关键的场景。
2、识别解决方案模式
识别出不同入侵场景并创建具有针对性的解决方案,这样做的好处就是让事件响应者得以轻松地解决该问题。它使得解决入侵问题不再有很大的压力和时间限制。再回到我们的象棋游戏。在预测对手的每一步棋与可能的结果时,就可以为每一个场景想到对策。现在的状况就是要给对手的下一步棋子合适的响应。在一场棋局中,需要思考并且下得很快,因为游戏是有时间规定的。所以所有的这些脑力劳动,也就是分析对手的每一步棋并想出对策,是在一瞬间发生的。很多时候结果是有利的,但也有失策的时候。会知道什么时候犯了错误,开始意识到错过了某些东西,而为对手所利用。但是如果时间能够倒流到做出对策之前,在时间和空间上暂停,来摆脱时间限制的压力,然后分析对手可能做出的不同的棋步组合,这样结果会是什么样呢?考虑所有可以应付的不同对策,就能保证不会错过什么,并且确保对策总是有效的。
没有人能够预测出所有的入侵场景。尤其是不断有新型恶意攻击技术出现,它们演化的速度比那些可用的安全方案和工具快得多,这就有可能出现事件响应者需要面对新的入侵场景的情况。为了减小这个影响,并为事件响应者准备相应的响应机制,必须提出一套解决方案模板。方案模板和模式基本是一样的。以这些模板作为基础,仅仅稍作调整就能解决一个入侵问题。这些模式可以从形式化处理入侵场景的解决方案中抽取。当新的场景和一个已知的场景很相似时,就利用相应模式就进行处理。比如,一个未知的入侵攻击和一个已知的场景013很相似,与场景013配套的是解决方案025,解决方案025是其他解决方案的一部分,它用来提取方案模式005。这意味着005就是适合这个未知的攻击场景的方案模式。如果需要,可由事件响应者进行微调,如果成功,这个未知的攻击场景以及这个新的解决方案就会被命名并加入已识别的入侵场景和解决方案列表。否则,事件响应者只需要在没有先验知识的基础上进行处理,并把整个事件记录在文档里,让他人学习。这就是经验的来源,也说明了为什么挑选合适的人来担任事件响应者的角色是至关重要的。
3、定义角色和职责
在定义角色和职责的时候有少数几点需要遵从的重要规则,它们缺一不可:
● 承担任务
● 没有交叉
● 互补
● 关键角色
(1)承担任务
在定义角色和职责的时候,一定要确保它们是必需的,并且都承担至少一项任务,每个人都要回答这样一个重要问题:这能有助于更快更有效地修复攻击吗?
(2)没有交叉
计划应该是简单和灵活的,只列出基本任务,避免复杂的计划,因为这种复杂计划通常很难执行。如果角色和职责交叉,就考虑合并它们。
(3)互补
整体要强于部分之和,所有的角色和职责都要有明确的目的,而且它们应该互补,并且互相增值。
(4)关键角色
如果每个人都知道自己负责哪部分工作,事情就会完成得更加高效。为了让计划真正起作用,每个人都应该知道自己在计划执行中的职责和角色。每个人都应该理解他们的职责以及他们的职责范围。就像篮球队一样,球场上每个人担任着不同的角色,每个角色在打球的过程中都是重要的。如果某个人乱来,忘记了战术安排或者超出了自己的职责范围,就无法拿到想要的得分。这一回合就可能以把球权移交给对方球队而结束。但如果每个人都明确地知道他们在球场上的职责,并按照命令执行得很好,那他们得分的机会就会很高。
为了提高人们在执行计划中履行职责的意识,可以把每个人的名字和相应的角色职责关联起来。这样做的优点是建立了一个权责过程。需要记录的不仅仅是他们的名字,还有他们的联系方式比如办公电话。那些记录了名字并分配了专门角色和职责的人就被称为关键角色。他们是某项任务的专家和联系人。为了保证职责不中断,还要确定这些关键角色的备份人员。在有些时候还应该有备份的备份。
至于定义职责,这就不仅仅只是包括事件响应者要做的,还包括关于特定敏感事件做决定的权利以及处理和控制资源的权利,比如公司其他的人力资源等。
在发生严重攻击的情况下,事件响应者有时候需要做出艰难的决定。大多数时候他们做出的都是正确的处理,但在一些孤立的情况下他们也会犯错误。如果发生这种情况,他们就不应该受到责备。这个决定也许在那种情况下是合适的,它是必须做出的。果断地采取行动比没有作为要好。应该建立一个没有责备、鼓励从失败和错误中学习的环境。
在一些事件响应计划中,通常给岗位头衔或角色指定了职责而不是具体到人。一般将处于该角色的事件响应者认定为应履行某项职责的人。
4、建立草案
虽然这些中的一部分是常识,但是建立基本的草案仍然总是好的,这样可以使得所有的人都在计划执行过程中有相同的进度,这通常包括以下方面:
● 信息来源
● 交流
● 计划安排
(1)信息来源
每个人都需要了解并且有权接触重要信息的存放位置。必须有个让事件响应者可以共享关于威胁和解决方案的话题的地方。最重要的是每个人都要知道实际的事件响应计划放在哪里。
当在响应小组内进行信息共享的时候,内部的文档是最流行的方案。至关重要的信息和重要文档也可以放在上面,供每个人访问。
确保即使在系统死机导致任何信息源不可获得或者难以访问的情况下,事件响应计划方案仍然很容易获得的好方法,就是对计划以及其他事件响应者可用的重要文档做一个硬复制。这些硬复制应该放在他们各自的箱子内或者某些可以很容易获取的柜子之中。
(2)交流
必须很好地建立团队之间以及团队成员之间的交流,尤其是在紧急事件出现的时候。
当团队中的某个人发现一个恶意事件时,他必须知道如何跟事件响应团队交流此事。这也就是为什么每个人知道如何与团队交流是必要的。例如,遵循一个定义好的邮件格式,或者使用在线任务分发系统,就可以向事件响应团队提出任何议题。不管用什么样的方式,主要目的就是和事件响应者保持良好沟通,并记录该事件,更新事件报告。事件响应团队应该有一个备份的交流形式,以防止其他技术手段失效或事件响应者无法获得它们。比如开通一条电话热线使得每个人都能打进来就是一个好的备份交流方式。
除了定义团队其他成员和事件响应团队之间的交流方式,团队成员也必须知道在恶意软件事件中如何互相之间高效地交流。它指定了在这种情况下用于特定目的不同交流方式。例如,指定一个安全的、专用的IRC频道作为事件响应者与团队其他成员之间交流的最主要的形式。在这里,事件响应者可以和其他成员商议并更新每个人在当前恶意事件下的工作状态,并全力解决这个事件。
团队必须知道有效地和内部专家以及外部联系人取得联系的不同方式。例如,如果事件发展到了某个阶段或者进入了某个特定的类别,有些联系人喜欢通过邮件的方式联系,而有一些人接受打电话告知。
每一个恶意软件事件中,企业通常有一些执行管理人员,以及来自不同部门的关键人物,他们总是被告知事件的进展。他们通常是通过邮件告知。事件响应团队向包括在邮件列表中的所有相关人员告知更新消息。
(3)计划安排
因为恶意事件随时都有可能发生,所以有一个事件响应者的团队7×24小时待命是非常关键的。有一些机构指定特定的事件响应者待命或者轮班。当涉及个人休假时,关键角色以及其后备是不允许同时去休假的。这就是为什么个人休假不仅需要得到管理者的批准,而且需要和团队中其他人协商以确保有一个人在该岗待命。
如果企业选择轮班实现7×24小时事件响应,通常应保持这个周期在三个月以上再换岗。这个建议来自一个三年来一直值夜班的人,这样事件响应者才能有过渡时间来适应新的作息模式。
5、定期演习
正如办公楼消防演习、地震演习或者别的紧急演习事件,定期测试就是为了检查紧急事件响应者的有效性和高效性。这种原则也适用于事件响应计划。定期演习用来检查该计划是否奏效以及是否需要改善,这是非常有必要的。在演习中,模拟一个恶意事件,然后整个团队都在完成如何响应以及如何缓解威胁的这个过程。
这样做的另一个优点是让事件响应者紧张起来,保持警惕状态。
当没有人在办公室,只有一个在待命的事件响应者的时候,进行一次突然的演习,有助于判断选定的7*24小时事件覆盖的方法是否有效。
6、评审和改进
事件响应计划是动态的,它必须实时改变以适应时刻在变化的威胁局面。它需要定期的评审和改进。它可以是临时决定的或者由某事件触发的。一般是一季度、半年或者一年一次,或者在一次事件响应之后及时调整。这里最重要的就是要定期进行。
在对事件响应计划进行评审时,以下是需要改进的重点:
● 攻击场景和解决方案
● 方案处理过程和工具的实用性
(1)攻击场景和解决方案
威胁的每一个重大变化,发现新的威胁以及遭遇一个新的攻击场景,使得对攻击场景的评审和改进是很有必要的。这不仅仅包括添加新的场景以及更新已有的解决方案,还要把过时的场景和解决方案移除。
事件响应团队应保持对新技术的跟进,以及对旧技术的淘汰。如果一种技术将淘汰,并且一个攻击场景是依靠该技术的,那么这个场景事实上也应该一并淘汰。例如,没人希望2020年的事件响应计划的场景是基于Windows 98操作系统的。
一个提高现有实施过程的好方法是完成回答如下清单上的基本问题:
● 过程中的哪一部分工作正常?
● 过程中的哪一部分工作异常?
● 团队有可能会尝试什么新方法和工具?
这些问题的主要目标是保留工作正常的处理过程和工具,移去不工作的部分,并有机会尝试新的东西。如果它们对整个团队有作用,那么这些新东西将会作为下一次评审和改进时的第一个问题的答案,并当成改进部分的过程和工具永久保留;否则,它们将成为第二个问题的答案并被丢弃。
(2)方案处理过程和工具的实用性
之前有效的程序或者工具,现在可能因为新方法和技术的运用而失效。例如,一个全部使用虚拟化的组织将会认为没有考虑虚拟化的过程是过时的。另外一个例子是,迁移到不同的操作系统或者升级到64位后,如果事件响应者使用的工具只适用于其中一个操作系统,或者仅能适用于32位的环境,那么这些工具便失去意义,因此变为过时。
为了准确回应这三个反映团队观点和经验的基本程序改进问题,每个团队成员必须独自回答这些问题,把结果整合在一起,然后提取每个问题的前三名的答案。为了达到这个目的,在白板或者黑板或者每个人都能看到的地方写下这些问题。他们可以选择写下三到五个程序和工具的名字,或者写在一个小纸条上。当他们这样做了之后,要求团队成员把答案公布在问题下面,这样做的目的是防止队员们受彼此的观点影响。将其中相同的程序统计出来,选择出现次数最多的前三个。
为了保留事件响应计划中的有效部分,每个程序和工具必须接受适用性的检查。不合适的部分应当更新、移除或者替换。
文章来源:计算机与网络安全,转载请标明出处,如有侵权请联系删除。