《资安人》:迈向成功SOC之路
【作者:王榮信 -11/08/2010】
在現代虛擬世界中,造成資訊安全事件的來源為病毒、蠕蟲或木馬,不變的安全事件來源就是「人」。為因應各式各樣攻擊手法、符合政府或企業法規要求,企業採取各種資訊安全科技,包含防毒、防火牆、主機型/網路型***防禦系統、身分認證與存取權限管理系統及身分安全、***甚至網路存取控制等,各種技術提供現代化資安防護很好的解決方案,不依賴單一廠商或產品。
資安事件管理,包含監控、分析及反應,這些多樣化科技的結合對企業也產生新的挑戰,即是沒有一個方式可以標準化、去重複化及關連這些存在於不同科技之事件。
此外,對於管理人員而言,通常管理防毒系統為一組人員,管理IPS為一組人員,而管理防火牆也許又為另一組。導致對於整體資訊安全之管理產生「一人一把號,各吹各的調」的窘境,對於即時資安事件之關連分析也產生極大困難,由於要將上下游事件串起,於資安事件後之調查時間會格外地冗長。
有鑑於此,企業為了達到安全水準,需要建置一個集中式資源,以跨越及整合這些不同層面之資訊安全產品及管理資源,達到監控、分析及快速回應,因此企業IT組織會建置資安監控中心(SOC, Security Operations Center)。以下將針對建置SOC應該考量哪些層面、進行哪些準備及如何於人員、流程及技術上達到平衡進行說明。
為了 SOC 而 SOC
企業為什麽要建置SOC?為了符合政府或企業法規要求,很多企業為了建置而建置,當然政府或企業法規遵循也是企業目標之一,但一個成功的規劃團隊,必須針對不斷變動的企業目標定義出建置SOC目標。
關於SOC 之任務,因應即將上路之個資法,SOC 重要任務又多了一項,能提供相關之證據舉證,SOC 對於歷史事件處理及保存,也扮演很重要的角色。而SOC另一個重要任務是即時對於資安事件管理,包含偵測、通報、處理及回報,而所應用的任務範圍,根據不同企業商業需求來定義其維運架構,進而決定所需收容及管理之資訊設備,即技術方法,可達到的任務及應用實務。
以「偵測內部員工之濫用行為」而言,根據統計調查,資料洩漏及資訊安全危害所帶來的影響,絕大部分來自於內部員工之濫用,由於內部員工了解企業資訊環境,管理員甚至瞭解相關資訊安全保護措施手法及範圍,因此有心的惡意員工很容易規避資安規範。對於內部員工濫用行為之偵測,絕對是因應個資法第一著眼重點,對此SOC的偵測及處理重點如下:
-應用系統上嘗試多次登入但失敗之行為
-防火牆上偵測來自固定來源 IP 對於不同目標 IP 之存取但被拒絕之行為
-嘗試對外異常連線,包含FTP、SSH、Remote Desktop等
-嘗試更改防火牆、伺服器或其他重要資安設備之重要設定
-非上班時間或異常時間之管理員帳號登入
-非申請之使用管理員帳號登入
孫子兵法:完善的程序及演練
SOC 程序與流程在人員與技術中間扮演緩衝角色,通常一個菜鳥資安分析師不知如何上手,而SOC具備一個好的程序及流程,資安分析師即可先照本宣科,進而慢慢上手。而且通常SOC系統技術在企業特別需求及要求上,有時很難從技術層面完成,程序及流程即可填補不足之處,以人工方式根據程序及流程指引來達成企業特別需求。
通常維運一個SOC需要非常多程序及流程,而CMMI(Capability Maturity Model Integration) 可以提供企業一個架構來進行維護及加強,對大部分組織而言,CMMI Level 3 應該是一個基本目標。
一旦程序與流程建立後,經常需要異動及更新,建議可以使用wiki文件系統來進行文件管理,且wiki可透過web介面提供使用者對文件內容即時動態修改或更新。也建議於SOC維運人員的監控螢幕上,設計兩個畫面,一個為資安監控所需畫面,一個為程序及流程參考或搜尋畫面。
SOC之流程,通常會將其分成下列四個主要象限,分別進行流程定義:
1.商業流程:定義所有能有效維運SOC的管理及行政程序。
2.技術流程:維護所有資訊系統相關管理及設定。
3.維運流程:記錄每天維運相關機制,如輪值班表、交班程序等。
4.分析流程:包含所有對資安事件的事中偵測及事後分析之相關流程定義。
當所有範圍流程定義完成後,一個成熟的SOC必須經常進行模擬演練,模擬演練範圍必須包含所有流程及程序,及相關定義的內外部組織。於模擬演練過程中,為了測試 SOC 於各種狀況之反應,會放入很多模擬情境,並且於每次模擬演練結束後,所有相關之參與人員必須召開一個 “lessons and learned” 會議來檢視所有短缺之處,如何於教育訓練或者流程及技術方面進行加強。
先進的武器:SIEM必備的8大特性
曾經有客戶跟筆者分享管理SIEM之心路歷程好似電影世界末日的情節,美國太空總署發現一顆德州大小的隕石正朝地球方向飛來,而且只有18天的時間反應,而一群太空人背著炸彈自我犧牲,飛上太空將隕石炸毀,太空總署被質疑為什 那 晚才發現,太空總署回答因為預算不夠,太空有那 多隕石需要觀察,只好縮小範圍。對SOC而言,挑戰就是如何從各式各樣且大量事件中,辨識出值得注意之事件,對於這些事件進行關聯,進而達到資安分析師所能夠處理之事件量,這就是SIEM (Security Information and Event Management)系統對建置SOC 的幫助。
SIEM系統必須承受如此大量事件量之收集,依照企業組織之大小,有時必須達到每秒鐘上千筆事件之收集,通常SIEM 系統會有專門負責收集事件之收集器,收集器基本上具備以下功能:
-佈署容易,不需更動原本網路架構,甚至不需新增硬體
-由於各種設備之通訊協定不同,為了收容各種設備,收集器必須支援各種設備之通訊協定以進行事件之收容,如Syslog、SNMP、ODBC 等。
-由於資安事件對於企業而言屬機敏資料,必須於傳輸資料之過程中具有加密機制。
-由於企業網路架構之變更及成長頻繁,對於事件之收容需具有相當之彈性,能夠根據變動而改變,很容易進行事件收容之設定。
-企業內部設備事件流量若過大,為了事件收容時不影響正常營運的頻寬,可以限制該收集器與SIEM系統傳輸之頻寬。
由於SOC需要對資安事件進行關聯分析,當事件收容進SIEM系統後,要能夠達成關聯分析之目標,SIEM系統本身必須具備有下列幾項特性,以快速且正確達到即時關聯分析之結果。
1.正規化,由於SIEM系統前端所收容之設備種類眾多,為了正規化所有不同設備特性之事件,必須有足夠欄位設計,以存放正規化後不同設備特性之事件欄位,以達成關聯分析之結果。
2.事件分類,SIEM系統必須提供一個有彈性且完整的分類法則,讓分析者很容易使用,並且於新資安設備事件之收容也能歸類到其類別,並且保持整體類別之完整性及一致性。
3.容易關聯分析,由於關聯分析主要是為了於茫茫的事件大海當中,找出可疑且值得注意之事件,對於關聯之方法或規則,必須很容易地設計且執行,例如一個系統上如果有數個使用者使用同一個帳號登入但失敗,很可能就是一個暴力登入嘗試之攻擊。
4.多層次事件之關聯分析,為了能夠精準地關聯出異常且值得注意之事件,SIEM 系統必須能夠關聯不同設備之事件,攻擊事件流量如果在防火牆上發現被允許進入,且於一定時間後發現被攻擊的目標系統上有異常連線嘗試連回攻擊者來源 IP,極可能為類似木馬行為,攻擊者試著將獲取之資訊傳回。
5.事件嚴重性分級,SIEM最重要的就是保護企業資產,對於資產價值甚至其弱點評估之資訊,必須能夠整合進SIEM系統,提供SIEM 足夠資訊進行關聯,如同樣的攻擊事件對線上營運系統之事件嚴重程度就比攻擊一般PC之事件嚴重程度來的高。
6.統計分析之關聯,SIEM系統對於大量事件必須有統計分析能力,如異常高之通訊埠流量、異常高之通訊協定流量。
7.歷史分析,常常於企業發生的資安事件,由於攻擊手法精鍊或者內部攻擊者熟悉企業資安架構,很多事件未能馬上被現行規則所關聯,通常關聯規則之邏輯會不斷根據經驗而更新,且於過去歷史事件找出攻擊邏輯後所制訂之規則,通常需要於過去歷史事件來進行驗證是否能夠生效,抓出該攻擊特性,這時就需要使用歷史事件之重新關聯功能來驗證。
8.現實與虛擬之關聯,SIEM能對於現實環境之邏輯與虛擬世界之事件進行關聯,例如同一個帳號在很短之時間登入成功事件,但來源卻來自於不同之區域或國家,或是登入成功之事件,但卻於該企業非上班之時間。
總之,一個SOC架構建立及管理好壞與完整度,可以很明顯呈現出該企業對於資安事件反應速度和程度。而一個完整的SOC不僅可以對資安事件管理節省更多設備投資及人力,並可以符合相關法規要求。然而SOC對於資安事件的發現及回應的有效性及方便性,必須於人員、流程及技術進行三方面完整考量,期許我們不要成為自我犧牲炸毀隕石的太空人。虛擬世界中,所有事情及行為就是事件記錄,一個完整的 SOC,能決定我們與真相的距離有多近。
(本文作者為CEH教育訓練講師)
相关文章:

Laravel 上使用 phpexcel的两种方式
原创 2017年06月24日 20:24:311229文章采集与网上 方式1。使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/52748046?locationNum1 1、在app目录下创建一个新的文件夹,命名libs(可自定义) app/libs/phpExcel2…

剑指offer-----Python-----栈
用两个栈实现队列 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中元素为int类型. 首先,栈都是先进后出,但是队列呢,一般是先进先出。也就是创建两个栈stack1和stack2,使用两个“先进后出”的…

【工具软件】markdown编译器待办事项无法打勾
使用时可以直接点击上方工具栏的 List item 注意:此时已经自动在里面加了一个空格,如果直接加x的话,不会打勾,如下:[ x] List item 所以先删除空格在加x 问题解决

【转】创建不可见的Activity
在android开发中有时候会用到一些后台的Activity,但又不适合使用service,比如直接点击程序图标时只是执行一段代码,不需要弹出程序界面。此时可以在项目的AndroidManifest.xml文件中相应的Activity标签中添加这样一行:android:the…

关于 TApplication 详解 三 ---- TComponent
ComponentCount属性 对应对象:所有组件 声明:property ComponentCount: Integer; 功能:此属性在运行时有效,它是只读型。同时它标明组件具有的组件数。当用户在设计时可以在窗体上放置一个组件,因此此窗体将变为…

[转载] K3 K3c 最简单无损开壳方法
只用一把螺丝刀就行了,其它什么撬棒 信用卡 撬片等 拆机工具一概不用。拆了5台,只有一台断了一个扣口。1. 把底部4个螺丝拿掉。2.把路由如图放在桌子上,路由平行于身体,注意是立着放 使路由与桌子接触的部分成30度角。这样使一侧…

图像处理随笔知识
采样频率: 采样频率是指1s内采样的次数,反映了采样点之间的间隔大小。 采样频率越高,得到的图像样本越逼真,图像质量越高,但要求的存储量也越大。 图像量化: 要用多大范围的数值来表示图样采样之后的每一个…

一则android软件开发工程师的招聘信息
岗位职责: 从事Android平台的客户端软件开发 任职资格: 1、一年以上Android平台开发经验; 2、两年以上Java开发经验; 3、熟悉Android开发架构和API调用; 4、熟悉HTTP、TCP/IP通讯协议; 5、熟悉面向对象编程…

【数据库】数据库基本操作
操作练习: 创建数据库 删除数据库 修改数据库配置 创建数据表 修改表结构 ———————————— 添加字段 修改字段 重命名字段 更改主键 删除字段 ———————————— 重命名表名 删除表 截断表 表数据的操作 添加数据 修改数据 删除数…

USERADD命令详解
2019独角兽企业重金招聘Python工程师标准>>> 1.作用useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。2.格式useradd [-d home] [-s shell] [-c comment] [-m [-k templat…

tensorflow入门(二)
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt#使用numpy生成200个随机点 x_data np.linspace(-0.5,0.5,200)[:,np.newaxis] noise np.random.normal(0,0.02,x_data.shape) y_data np.square(x_data) noise#定义两个placeholder x tf.plac…

DRF序列化和反序列化
一、自定义序列化组件 新建一个任意名的py文件,里面导入serlizerfrom rest_framework import serializers自定义一个类继承serializers,里面写需要序列化的字段方法一:继承serializers.Serializerclass BookSerlizer(serializers.Serializer)…

设计模式学习笔记-中介模式
概述: 用中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以对立地改变他们之间的…

【数据库】兴唐第二十七节课之jdbc的使用
使用jdbc修改数据库表中的信息 package java27practice;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;public class JDBCDemo {public static void main(String[] args) {Connection conn null;Stat…

windows 2008 R2无法创建性能收集器
问题: 检查排除方法: 1.确保用户有权限 Http://technet.microsoft.com/zh-cn/library/cc749154(WS.10).aspx (参考: 2.确保 Distributed Transaction Coordinator服务 及Task Scheduler服务有启动。 3.检查 C:\Windows\System32\T…

Silverlight WCF RIA服务(二十三)Silverlight 客户端 4
DomainDataSource WCF RIA Services提供DomainDataSource控件来简化用户界面和域上下文中数据的交互。通过DomainDataSource,我们可以只是用声明性语法来检索、编辑数据。我们指定域上下文与DomainDataSource一起使用,然后通过这个上下文来调用操作。Dom…

Storm Trident示例function, filter, projection
以下代码演示function, filter, projection的使用,可结合注释 省略部分代码,省略部分可参考:https://blog.csdn.net/nickta/article/details/79666918 FixedBatchSpout spout new FixedBatchSpout(new Fields("user", "score…

解决 sh: java: command not found 问题
在执行脚本上加入如下配置即可#!/bin/bashJAVA_HOME/usr/java/jdk1.8.0_152export PATH$PATH:$JAVA_HOME/bin转载于:https://www.cnblogs.com/jimw/p/11126437.html

【数据库】 兴唐第二十七节课只sql注入
首先来一个用户登录程序 public static void login(String username, String password) {Connection conn null;Statement stat null;ResultSet rs null; try {Class.forName("com.mysql.jdbc.Driver");String url "jdbc:mysql://127.0.0.1:3306/tyrantfor…

SIEM部署的几条最佳实践
2010年11月12号,NetworkWorld发表了一篇文章——《SIEM部署的最佳实践》,业界同仁给出了他的一些建议。 这些建议主要是针对Verizon2010年的那个DBIR报告中提到的日志缺失造成的严重问题。 至于建议,主要有: 1)先要搞明…

ffmpeg解码视频存为BMP文件
ffmpeg解码视频存为BMP文件 分类: ffmpeg2011-07-28 12:13 8人阅读 评论(0) 收藏 举报view plain#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma once #ifdef __cplusplus extern …

(四)Asp.net web api中的坑-【api的返回值】
(四)Asp.net web api中的坑-【api的返回值】 原文:(四)Asp.net web api中的坑-【api的返回值】void无返回值IHttpActionResultHttpResponseMessage自定义类型我这里并不想赘述这些返回类型, 可以参考博文http://blog.c…

如何提高编程能力?
其实很多人学编程都会遇到困难,我觉得其中一个根本原因是他们没搞明白学编程到底是学什么。编程不是一种知识,而是一门手艺。我们从小到大的学习都是学习知识,流程一般是课前看书预习,上课听讲,下课做作业,…

【HTML】兴唐第二十八节课之初识HTML
1、HTML:hyper text markup language(超级文本标记语言)算编程,但HTML不是编程语言 2、注意: (1)所有的HTML文件都是以.html或者htm作为扩展名 (2)html文件需要被浏览…

Nagios插件NDOUtils安装
1.DBI的安装# wget http://www.cpan.org/modules/by-module/DBI/DBI-1.608.tar.gz # tar zxvf DBI-1.608.tar.gz # cd DBI-1.608# perl Makefile.PL# make# make test# make install2.DBD的安装# wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.011.tar.gz # tar…

maven 获取pom.xml的依赖---即仓库搜索服务
常用仓库地址: http://repository.sonatype.org/ (https://repository.sonatype.org/)如下图: http://www.mvnrepository.com 转载于:https://www.cnblogs.com/hblthink/p/8643137.html

XFile 关键帧动画的解析遇到的问题
一、mesh 数据储存方式的修改 由于在设计CXFileMesh类时考虑不够全面,原CXFileMesh 类内部储存mesh数据采用的是vector模板。这使后来试图为该类添加支持3dsmax关键帧动画功能时带来很大麻烦。最后还是对CXFileMesh 类做了整体修改:用二叉树储存mesh数据…

【HTML】兴唐二十八节课之常用标签(不定期更新)
部分属性的详细参数见菜鸟教程 (1)换行 <br/> (2)字体设置颜色和大小 <font size 6 color blue>小米巨能写</font> (3)添加图片 <img src "index.jpg" width "300px"> 注&…

Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?
这是因为Python3中,str的输出是调用类的实例方法__str__来输出,如果__str__方法没有重写,则自动继承object类的__str__方法,而object类的__str__方法是调用__repr__方法,因此自定义类未重写__str__方法的情况下&#x…

IT人士的人际关系压力
感谢听心心理学网站的投递在造成IT从业者的众多压力之中,人际关系带来的压力或许是最明显并且循环效应最强的一种。IT行业的冷漠环境是出了名的,在这样的状态之下,如何调整我们的人际关系,将恶性循环改造成良性循环,对…