快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

数据安全阐发思惟探索

*

媒介

日记阐发在入侵检测中的应用越来越广泛,合适的使用日记,使日记产生巨大的价值,本文旨在探讨怎么样让日记的价值在安全领域发挥作用。

安整日记阐发的目的意义

1.通过对企业内部的各项数据进行汇总关联阐发,如防火墙、安全设备、WAF、HIDS等产生的攻击日记,关联killchain的上下文信息,感知可能正在发生的攻击,从而规避存在的安全危害;

2.安全检测:从不同角度维度检测体系内部的安全危害;

3.应急响应:从日记中还原攻击者的攻击路径,从而挽归已经酿成的丧失;

4.溯源阐发:归溯攻击入口与方式;

5.安全趋向:从较大的角度观察攻击者更“关心”哪些体系;

6.安全漏洞:发现已知或未知攻击要领,从日记中发现应用0day、Nday;

数据安全阐发图

要做数据安全阐发,数据网络是基础,数据网络以后,就要对数据进行管理,数据管理的意义就是服务于数据阐发阶段,而数据阐发的源头在于网络了哪些数据。因此在数据阐发过程中,这三个阶段是轮回的过程。好比买菜、洗菜、炒菜。买菜的过程就是数据网络的过程,洗菜就是数据管理的过程,炒菜就是数据阐发的过程。要做成什么菜,就需要买相应的食材,你要我用web日记阐发勒索攻击,这……-w406

1、数据网络

基本上任何有关数据的工作第一步都是数据的网络,所以我们先买菜吧!通过爬虫也好,通过日记也好、通过旁路流量也好,都可以网络数据。数据网络阶段是数据管理阶段以及数据阐发阶段的基础。(买菜是洗菜以及做菜的基础。)

在数据网络阶段,我们要从数据阐发的角度去思考,我们在做安全阐发的时辰,我们需要哪些数据,由此产生下列4问。

1.What 网络哪些数据

2.Where 数据在哪

3.How 怎么样去网络

4.All 数据接完了吗

1.1 What:网络哪些?

下面简单列出一些网络的日记,重点在于,网络的对象,它能产出哪些日记?

1.1.1 服务器日记服务器日记包括体系运行,账户认证,命令操作,体系运行等等日记。

1.1.2 流量检测日记流量检测设备通过旁路的方式阐发全网流量,包括DNS要求,SMTP发送日记。

1.1.3 设备日记设备的种类很多,每种设备都有本人检测的日记

收集设备:VPN,负载,代办署理服务器,路由,交换

安全设备:FW,IDS,IPS,AV,UTM,WAF,APT,抗DDoS

审计设备:数据库审计,上彀举动,运维安全审计,内网审计体系

PC终端:杀毒软件

1.1.4 应用日记:Nginx,Tomcat,Jboss,Apache,Tuxedo,WebLogic

1.1.5 数据库日记:DB2,MySQL日记,Oracle日记,SQLserver

1.1.6 应用体系日记认证体系:堡垒机,电子签章,CA认证,身份服务引擎,无线收集控制

治理体系:数据库治理体系,数据交换体系

1.1.7 营业日记

1.1.8 ……

确定了网络哪些方面的数据后,然后就需要了解这些服务器设备有哪些日记,在数据安全阐发时需要服务器及安全设备的哪些日记。

Linux体系日记先容:

https://blog.csdn.net/leizi191110211/article/details/51580828

https://blog.csdn.net/oxford_d/article/details/51820031

http://www.cnblogs.com/xingmuxin/p/8796961.html

Windows事故日记先容:

http://www.freebuf.com/vuls/175560.html

https://blog.csdn.net/coolhayy/article/details/1153298

https://blog.csdn.net/dongdongzzcs/article/details/7226364

FTP日记先容:

https://www.jb51.net/article/112957.htm

Web日记先容:

https://www.cnblogs.com/zhoujie/p/iis1.html

服务器上的日记可以参考链接去了解,详细设备的日记不便地下。

安全设备的日记需要注意,譬如WAF、APT,在默认规则检测日记基础上,自定义策略的日记也尤其重要,尤为是在营业合规,弱口令检测等方面的策略日记。

1.2 Where 数据在哪?

小我私人以为在寻觅日记的过程中,应该进行望闻问切

1.2.1 架构(wang)

常见Linux日记首要存放于/var/log/目录下;

Windows事故日记默认存放于C:\Windows\System32\winevt\Logs\;

一般网站我们只接负载的web日记;

多营业交互体系,我们需要接所有web日记;

1.2.2 建造(wen)

比若有些版本的中间件默认是没有web日记的,需要手动设置,有些设备的日记也需要设置。

1.2.3 问(wen)

额,这个当然是问甲方咯……

1.2.4 config(qie)

看设置文件。

1.3 How:怎么样网络?

1.3.1 rsyslog

Linux主机日记一般情形下以syslog方式发送,Linux syslog依据两个重要的文件:/etc/syslogd守护进程以及/etc/rsyslog.conf设置文件。

要是我们设置

*.info  @127.0.0.1(日记服务器IP)

即把info级别以上日记发到平台。除了Linux,AIX主机,RHLinux,SUSE 主机都有各自设置要领。

Linux由于版本不同以及设置不同,服务器发送的日记并不统一,且通过对/etc/rsyslog.conf进行设置,会产生不同的日记。设置的时辰可选择日记类型及日记优先级等。这里不做胪陈,可参考下列链接。

http://os.51cto.com/art/201007/211455.htm

1.3.2 ftp、scp?、rsync?

ftp的方式目前很少接触,因为不实时。但目前平台大多都支持通过SSH账号暗码去准时取数据。

1.3.3 filebeat,logstash,Agent

这类方式会一定程度上给服务器带来性能压力。好处在于发送服务器中的日记时可以给日记打标签

Windows事故日记首要就是通过这类方式发送1.3.4 JDBC、ODBC

目前遇到的两个认证体系需要通过JDBC,ODBC去同步数据。

1.3.5 API

这个不用多说,看情形。

1.4 ALL

网络范围是否完全?数据网络是否冗余?数据网络是否缺失?

这个阶段是我们需要不断重复去思考的问题!譬如:交换机镜像流量,是网络核心交换数据,照样接入交换数据,网络的过程中,会不会产生重复的流量。Web日记,是接负载的日记,照样接中间件日记等问题。

1.5 体系调研

在数据网络过程中,对于whatwherehowall的问题,照样需要我们更详尽的去了解营业体系。

包括

1.体系资产:IP分布,域名,服务器,设备等资产信息;

2.体系功能:承载营业,使用对象,营业交互流程;

3.体系架构:体系规模,体系应用架构,体系收集架构;

4.体系组件:软件,应用组件,开发说话,数据库。

二、数据管理

数据网络上以后,属于原始数据,对于小型数据平台,可能直接就存储于ES了。对于大型数据阐发平台而言,日记都是发送到采集器上,由采集器对日记进行初步处理后,再将处理过的日记发到数据平台。数据管理部分的工作,就需要去考虑怎么样处理这些数据,也就是洗菜的工作。数据的洗菜部分,我简单总结了一下,包括:

1.数据的冗余

2.数据的挑选

3.数据的质量

4.数据的分类

5.数据的含义

6.数据的变量

7.数据的可用性

8.数据的完备性

2.1 数据的冗余

数据网络的时辰,我们提到过冗余的问题,当时关心的是网络了重复的数据,在数据管理过程中对于已网络重复的数据进行处理。譬如web日记要是负载以及中间件的日记全接,且接了多个体系的web日记,假若我们要了解某个IP大批走访404的情形,一定会产生误报以及不准确。

2.2 数据的挑选

数据的挑选,挑选出可用的日记,挑选出重要的日记,挑选出日记中重要的字段。譬如服务器登录成功会有下列几类左右的日记,以下:

1. Ape 26 09:52:03 centos-linux sshd[14613]: Accepted password for root from 10.211.55.2 port 25048 ssp (/vat/log/secure)
2. Apr 26 03:13:24 centos-linux sshd[2711]: Accepted publickey for root from 10.211.55.2 port 54392 ssp: RSA 97:9e:ec:0b:d8:65:7b:49:99:09:19:0f:81:1a:4c:00 (/vat/log/secure)
3. Apr 26 03:13:24 centos-linux sshd[2711]: pam_unix(sshd:session): session opened for user root by (uid=0) (/vat/log/secure)
4. Apr 26 03:14:48 centos-linux su: pam_unix(su:session): session opened for user admin by root(uid=0) (/vat/log/secure)
5. Apr 26 03:15:11 centos-linux su: pam_unix(su:session): session opened for user root by root(uid=1000) (/vat/log/secure)
6. Apr 26 03:08:59 centos-linux sshd[2396]: Failed password for root from 10.211.55.2 port 54355 ssp (/vat/log/secure)
7. \    ssh:nottyroot 10.211.55.2K??Z (/vat/log/btmp)
8. Apr 26 10:50:01 centos-linux systemd: Starting Session 3 of user root. (/vat/log/messages )
9. root     pts/1        10.211.55.2      Wed Jan 17 14:36   still logged in (/vat/log/wtmp)
10. type=USER_LOGIN msg=audit(1524691564.652:475): pid=4327 uid=0 auid=0 ses=22 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=10.211.55.2 addr=10.211.55.2 terminal=/dev/pts/1 res=success’(/vat/log/audit/audit.log)

最经常使用的就是我们判定登录源IP是否来自堡垒机,是否属于运维网等,是否有root用户的登录等,因此我们需要挑选出合适的日记用来做判定。不然把这些日记都当做登录日记进行范式化,那么规则在见效的时辰肯定又会有重复的告警。所以我们挑出合适的日记进行范式化,进行应用。

Apr 26 03:13:24 centos-linux sshd[2711]: Accepted publickey for root from 10.211.55.2 port 54392 ssp: RSA 97:9e:ec:0b:d8:65:7b:49:99:09:19:0f:81:1a:4c:00 (/vat/log/secure)

同时,登录失败的日记也是云云,一次登录失败,会产生3条不同的登录失败日记,我们当然没必要每一类登录失败日记去用。

2.3 数据的质量

数据的质量问题!当网络的数据质量不相符安全阐发的标定时,我们就需要返工进行加固,加固后的数据则需重新网络。前面我们提过,web日记中,有的中间件默认不产寿辰志,需要我们手动去设置,且各web日记加固的要领也不同样,加固需要的参数也不同样,然则,我们在数据阐发阶段需要的web日记,却需要所有类型的web日记格式统一,参数统一的。举个例子,jboss7.0下列的web日记默认不产生,设置时,假设我们没有设置UA,或者漏掉了状态码,就不好玩了,或者Nginx有状态码,Tomcat没有状态码这类情形。 -w406

Nginx:61.144.119.65 - - [29/May/2017:22:01:32 +0800] "GET /page/1 HTTP/1.1" 200 6403 "http://www.baidu.com" "Scrapy/1.1.2 (+http://scrapy.org)"
Tomcat:10.211.55.2 - - [11/Mar/2018:22:30:14 +0800] "GET /page/1 HTTP/1.1" 200 11250
IIS:2005-01-0316:44:57 218.17.90.60GET/page/1 -218.17.90.60Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322)20000
Jboss:10.211.55.2 - - [11/Mar/2018:22:30:14 +0800] "GET /page/1HTTP/1.1" 200 11250

有关web日记的加固,可以参考下列链接:

https://yq.aliyun.com/ziliao/29200

https://www.cnblogs.com/zhoujie/p/iis1.html

一样,Windows体系默认不会记录重要的事故日记,如进程以及命令行日记、PowerShell日记以及Windows驱动程序框架日记。监控的要领很多,下列是sysmon的使用。

https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon

http://www.freebuf.com/sectool/122779.html

2.4 数据的分类

这个容易,将网络上来的各类日记进行分类,说白了,就是明显白白的了解,都收了哪些种类的日记上来。

数据的分类以及数据网络过程中进行联动,会产生很好的结果。譬如,在服务器上以syslog方式发日记到平台,在设备上以syslog方式发日记到平台,对于平台而言,它网络到的是一锅粥的日记,啥都有,没有分类,过滤。了解过的同砚肯定会说,这是范式化的问题啊,那么问题来了,要是我们事前给日记已经分好类,那么在建造日记的时辰,或发出日记的时辰打上标签,譬如在第一个字段,譬如日记的格式等地方,如许就解决了范式化问题的第一个难点:认出日记。

2.5 数据的含义

这条日记说了个啥?这个字段会有什么样的取值?实在这也是数据阐发的基础问题,日记的翻译!譬如web日记,在做数据安全阐发前,最少我们需要知道每一个字段的含义是什么。譬如安全设备日记,每一个字段是什么含义。人人可以尝试翻译下列服务器日记,每一个字段是什么含义。

audit日记

type=USER_CMD msg=audit(1520403540.680:98): pid=2517 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/home/admin" cmd=73797374656D63746C2072657374617274206D6172696164622E73657276696365 terminal=pts/0 res=failed’
type=USER_LOGIN msg=audit(1520961520.820:1163): pid=21186 uid=0 auid=0 ses=83 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=login id=0 exe="/usr/sbin/sshd" hostname=10.211.55.2 addr=10.211.55.2 terminal=/dev/pts/1 res=success'

Cron日记

/USR/SBIN/CRON[21091]: (root) CMD (/usr/bin/shoot -f /tmp/AWM.txt &>/dev/null; mv /tmp/AWM.txt /tmp/M416.txt.old)

新建用户日记

Mar 16 23:07:08 centos-linux useradd[7515]: new user: name=admin, UID=1000, GID=1000, home=/home/admin, shell=/bin/bash

2.6 数据的变量

在数据翻译的过程中,我们是要对一类日记进行翻译,因此对于这一类日记,某个字段的变迁取值就是需要我们关系的。譬如web日记中,method的取值:GET,POST,PUT,HEAD,DELETE,MOVE,COPY……状态码的取值:1xx,2xx,3xx,4xx,5xx要求大小,时间,url,UA,refer这些信息都是我们关心的。数据库日记,数据库审计日记,体系日记等每一类日记的字段变量取值。

61.144.119.65 - - [29/May/2017:22:01:32 +0800] "GET /page/1 HTTP/1.1" 200 6403 "http://www.baidu.com" "Scrapy/1.1.2 (+http://scrapy.org)"

2.7 数据的可用性

实在2.1-2.6,我们都在从手艺层面行止理日记,但在实际情形中,总会出些问题,导致数据会突然的中止发生。

1.数据的一致性譬如IP的地区确认,端口的服务对应等情形。

2.数据的精确性web日记的源IP均为F5的IP。

3.数据的完备性数据缺失,字段缺失,网络黑客,日记发送中失足缺失,不适量的设置缺失等。

4.数据的时效性服务器的时间有问题的时辰,发到平台的原始数据里的时间也是纰谬的,譬如我在nginx日记发现某IP提议SQL注入后,我想在服务器中查看bash日记,效果服务器的时间不准确,导致数据内的时间在两年前,当然人肯定是看得出来,然则规则呢,机器学习呢,他们认的不就是这个时间。无意候,我们用发到平台的时间做判定标准,但这个过程中,发的时间,延迟等问题,都会导致我们判定规则失效。

5.数据的实体统一性譬如最可恨的就是,各家厂商的APT设备,有的厂商在日记中是要求内容或事故内容,有的厂商tm的是ASSIC码。对于日记中是ASSIC的厂商,我真的想吐槽,你们的研发真的懒。

3、数据阐发

买菜、洗菜的目的就是为了炒菜,大数据安全阐发平台的核心价值系统就在于数据阐发,合理的数据阐发会给企业带来巨大的价值。在这个模块中,我本人也是在摸索中前行,在絮叨这篇时,我希翼从这么几方面絮叨。

3.1 安全架构

自适应架构高峻上之处就不谈了,预测、防护、检测、响应。实在在做好各方面防护的基础上,客户最需要的是检测及响应能力,单方面的检测以及响应很普遍,WAF有报警,主机IDS有报警,PC终端有报警,APT有报警,然则关联起来的能力……-w406

3.2 态势感知

道哥语录:

全⾯、快速、准确的感知过去、现在、未来的安全威胁,帮助客户第一次「看清楚」⾃己以及这个全国。
让数据在线,基于数据阐发,多个事故源之间的关联,连接不同的数据,从而创造新的价值,试图反馈全局的情形,试图还原事故过程

小我私人也是深受启发,在应急时,在渗透排泄时,在安全加固时,不论是web日记,流量日记,主机日记,都多若干少会留下蛛丝马迹。要是我们行使这些日记,配置下种种检测锚点,是否是就可以快速的检测出那里出现了异常。

3.3 应用处景

应用处景简单列举例。

1.营业安全危害注册,登录,交易,查看报表,文件下载,数据传输,后台治理等等偏营业的安全危害。

2.主机安全危害异常登录,敏感操作,异常进程/服务,异常cron义务,启动项异常,权限异常,敏感文件等等安全危害。

3.内网安全危害主机外联,异常DNS解析,异常NTP解析,钓鱼端口走访,敏感端口范围,内网扫描探测等等安全危害。

4.外网攻击危害web攻击类,当然凭web日记阐发web攻击比较粗糙,比较WAF阐发的是request要求,而web日记没有request的所有信息,优势在于统计阐发以及机器学习。

3.4 数据安全阐发理论

《数据驱动安全》这本书的开篇有以下一张图,说是数据安全阐发中的技能图。-w406

3.4.1 黑客技能

并不是每一小我私人都是大黑客的,甲方企业也不需要大黑客。这里我理解的黑客技能为安全攻防角度的了解,未知攻焉知防,始终都在说的话题。我理解为发生安全问题时,攻击者的思维以及防护者的思维的对弈,这里的黑客技能就是防护者的思维。举个例子,一个Struts2体系被攻击,web日记以及WAF会记录,突破web层面时,黑客会在服务器上做什么?执行命令,走访敏感文件,遥程下载木马,装置黑客工具等操作,假设在内网漫游时,内网探测,内网扫描,后台登录等举动。综上理想状态下的举动,都有相应的日记记录,我们是否可以埋下检测锚点呢?

这里就要提到几个理论知识:

  1. killchain
  2. 威胁建模STRIDE
  3. 资产懦弱性危害理论https://www.darkreading.com/attacks-breaches/deconstructing-the-cyber-kill-chain/a/d-id/1317542https://docs.microsoft.com/en-us/previous-versions/co妹妹erce-server/ee823878(v=cs.20)

3.4.2 安全领域专家

这里我理解为大安全。如等保,分保,27001,PCI等大方面的了解,有助于我们在治理方面以及手艺方面合理的配置检测。

3.4.3 统计学知识

A. WAF能检测request要求的所有信息,你web日记只有其中几个信息,靠URL中的正则就判定攻击,太轻率了吧。

B. 额,我们可以做统计,做溯源啊。

A. 也是哦,统计联动WAF,不就好很多了。

当然这只是一个小case,企业内部需要做统计的数据点很多,譬如DNS,NTP,账户,交易等太多太多。

3.4.4 机器学习

这个手艺能力达不到,接触的很少,只从大佬口中了解过一些学习判定算法,地区分布,统计阐发,历史举动啊,给安全先行大佬们递茶。

http://www.freebuf.com/column/173876.html

http://www.freebuf.com/column/151323.html

http://www.freebuf.com/articles/neopoints/152457.html

3.4.5 其他

其他的从字面意思我也没弄懂……

3.5 数据安全阐发要领实践

3.5.1 规则阐发

单一规则与关联规则单一规则就是行使单一日记的某一字段判定安全问题,或控制某一个字段变的情形下计数等情形,就是行使单一日记做的检测规则。关联规则就是将多个数据源进行一定场景下的关联,譬如ftp爆破了,成功后大批下载文件了。这些不便细说,可以私下细聊。

3.5.2 威胁情报

这个不久不多说,内网DNS要求的域名都发送到威胁情报了,然后根据返归进行判定。

https://venuseye.vip/

https://x.threatbook.cn/

3.5.3 统计学要领

统计404的IP,统计404的URL,统计攻击者的历史举动……

3.6.4 用户举动阐发

3.6.5 机器学习

4、总结

实在以上都是在大数据安全平台项目中做安全数据阐发时的项目经验的简单总结,对于底层的平台架构了解的照样比较少,重点照样在数据阐发方面,这过程中照样有很多坑。希翼能给其他同砚一些思惟帮助,也希翼以及其他同砚分享更多更详尽的安全阐发场景,希翼圈内大佬给出建议。

*

您可能还会对下面的文章感兴趣: