本文为蜜罐技术的入门学习、工具使用,所有涉及到的资料全部来自Internet,所有引用到的资料都会在文章中标明,小瀚在这里只是做一个使用总结
1. 相关学习资料
http://dionaea.carnivore.it/
http://netsec.ccert.edu.cn/zhugejw/2011/09/08/kippo/
http://297020555.blog.51cto.com/1396304/553382/
http://netsec.ccert.edu.cn/zhugejw/files/2011/09/Kippo介绍PPT.pdf
http://netsec.ccert.edu.cn/zhugejw/files/2011/09/Kippo-介绍.pdf
http://www.2cto.com/Article/201403/285377.html
http://blog.csdn.net/sealyao/article/details/6708923
http://security.ctocio.com.cn/securitycomment/414/8185414.shtml
http://netsec.ccert.edu.cn/zhugejw/2011/09/08/kippo/
面向蜜场环境的网络攻击流重定向机制的研究与实现.pdf
Dionaea低交互式蜜罐介绍.pdf
Collapsar.pdf
2007.通信学报.HoneyBow_一个基于高交互式蜜罐技术的恶意代码自动捕获器.诸葛建伟.pdf
蜜罐技术研究与应用进展.pdf
Kippo介绍PPT.pdf
Kippo-介绍.pdf
Dionaea低交互式蜜罐部署实践.pdf
http://ruo.me/index.php/archives/77
http://www.05112.com/anquan/wzaq/stwx/2014/0312/8400.html
http://www.05112.com/anquan/wlgf/2013/0609/3444.html
http://www.freebuf.com/articles/system/12696.html
http://dionaea.carnivore.it/
2. 蜜罐基本概念
蜜罐技术,通过蜜罐技术可以捕获到黑客的攻击规则,从而为我们提取、建模攻击模式提供数据基础
1) 蜜罐好比是情报收集系统。它是故意引诱黑客攻击的目标 2) 黑客入侵后,我们可以收集他的攻击轨迹,知道他是如何发动攻击的
数据收集是设置蜜罐的另一项技术挑战
1) 蜜罐监控者只要记录下进出系统的每个数据包,就能够对黑客的所作所为一清二楚 2) 蜜罐本身上面的日志文件也是很好的数据来源。 3) 但同时要注意的是日志文件很容易被攻击者删除,所以通常的办法就是让蜜罐向在同一网络上但防御机制较完善的远程系统日志服务器发送日志备份 4) 务必同时监控日志服务器。如果攻击者用新手法闯入了服务器,那么蜜罐无疑会证明其价值
蜜罐的优势
1) 蜜罐系统的优点之一就是它们大大减少了所要分析的数据 2) 对于通常的网站或邮件服务器,攻击流量通常会被合法流量所淹没 3) 而蜜罐进出的数据大部分是攻击流量。因而,浏览数据、查明攻击者的实际行为也就容易多了
蜜罐技术的发展历史
蜜罐工具的发展历史: 1. 蜜罐工具DTK: 绑定在系统的未使用端口上,对任何想探测这些端口的攻击源提供欺骗性网络服务 2. LaBrea蜜罐软件: 接受网络上所有空闲IP 地址的TCP 连接,并通过TCP 协议中的窗口调节与持久连接等技巧实现一种Tarpit 服务,能够尽可能地拖长无效连接的持续时间,从而减缓网络扫描探测与蠕虫传播的速度 http://support.microsoft.com/kb/842851/zh-cn 3. Honeyd 著名安全专家Provos开发的一款"虚拟蜜罐框架性开源软件" 1) 引入了在网络协议栈层次上模拟各种类型蜜罐系统的方法 2) Honeyd 支持在"协议栈指纹特征"上伪装成指定的操作系统版本,对攻击者利用nmap 等工具实施主动指纹识别进行欺骗 3) 支持模拟构建虚拟网络拓扑结构,并以插件方式提供对各种应用层网络服务的模拟响应 4) 利用Honeyd软件, 安全研究人员可以很容易地按照需求定制出一个包含指定操作系统类型与应用服务的蜜罐系统,用于蠕虫检测与应对、垃圾邮件监测等多种用途 5) 由于Honeyd 最早引入了网络协议栈层次上的蜜罐系统模拟机制,以及采用了可集成各种应用层服务蜜罐的灵活框架性结构,使其在蜜罐工具软件发展过程中具有举足轻重的重要地位 4. The Honeynet Project Giraffe Chapter 开发的Nepenthes蜜罐软件 1) 它继承了Honeyd 的网络协议栈模拟机制与框架性结构, 针对互联网上主动传播恶意代码的监测需求, 实现了可供大规模部署的恶意代码样本采集工具 2) 与之前蜜罐系统尝试模拟整个网络服务交互过程不同, Nepenthes 的基本设计原则是只模拟网络服务中存在安全漏洞的部分, 使用"Shellcode 启发式识别"与"仿真执行技术"来发现针
对网络服务安全漏洞的渗透攻击, 从中提取到主动传播恶意代码的下载链接,并进一步捕获样本 3) 这种机制使其较其他已有蜜罐工具对自动化传播恶意代码捕获更为高效 目前业内主流的蜜罐项目 The Honeynet Project http://www.honeynet.org/codeofconduct 5. Dionaea Nepenthes已被新一代恶意代码样本捕获蜜罐软件Dionaea所替代 1) Dionaea采用内嵌Python 脚本代码实现对漏洞服务的模拟 2) 同样采用Libemu来检测Shellcode 3) 并支持IPv6 与TLS 协议 4) Dionaea蜜罐软件是目前技术最为先进、体系结构最优化的虚拟蜜罐工具 6. GHH(Google hack honeypot) 1) 针对Web应用攻击威胁研究并开发的Web应用服务蜜罐 2) GHH针对搜索存有安全漏洞Web应用程序的Google Hacking技术来诱骗Web应用程序攻击并进行日志记录,可以发现命令注入、Web 垃圾邮件、博客垃圾评论注入、网页篡改、植入僵尸
程序、搭建钓鱼站点等各种攻击事件 7. HIHAT(high interaction honeypot analysistoolkit) 1) 可将任意的PHP应用程序自动地转换为提供充分交互环境的Web蜜罐工具 2) 并通过"透明链接方式"获取恶意Web访问请求, 从而对现有PHP应用程序所面临的威胁进行监测分析 8. Kojoney、Kippo蜜罐 1) 模拟为SSH网络服务进程, 记录每次SSH口令暴力破解所尝试使用的用户名与口令 2) 并在口令猜测成功之后为攻击者提供模拟的shell 执行环境 3) 对攻击源IP 地址、使用的SSH 客户端类型、输入的控制命令以及下载的攻击工具文件进行捕获与记录. 9. 客户端蜜罐工具软件Capture-HPC 1) 近年来,由于防火墙、入侵防御系统等网络边界防御机制的广泛应用,针对传统网络服务的渗透攻击变得 越来越难以成功实现,以浏览器与插件为主要目标的客户端渗透攻击逐渐成为互联网上的主流安全威胁 2) 而蜜罐技术也随着安全威胁热点的这一变化,演化出客户端蜜罐工具软件.Capture-HPC 3) 这是一个高交互式的客户端蜜罐框架,支持在Windows 虚拟机环境中运行IE,Firefox 等浏览器,并通过内核中的系统状态变化监控机制来检测浏览器当前访问的网页中是否包含客户端
渗透攻击代码 10. PhoneyC 1) 采用"浏览器仿真"与"Javascript动态分析技术"来对抗恶意网页脚本的混淆机制 2) 并通过模拟各种已知浏览器与插件安全漏洞来检测出恶意网页中包含的渗透攻击类型 3) 通过对Javascript引擎进行opcode指令动态插装,实现了对恶意网页中的heapspray 堆散射攻击的检测能力.
蜜罐技术的关键
1. 核心机制 核心机制是蜜罐技术达成对攻击方进行诱骗与检测的必须组件 1) 欺骗环境构建机制: 构造出对攻击方具有诱骗性的安全资源,吸引攻击方对其进行探测、攻击与利用,这里所谓的"安全资源"可以理解为存在受攻击面的一切资源,包括 1.1) 蜜罐所模拟的操作系统,即系统级漏洞,例如MS06-28 1.2) 蜜罐所模拟的系统服务、系统端口,例如RPC、SMP、FTP 1.3) 蜜罐所模拟的应用层服务: CMS系统、VoIP等 2) 威胁数据捕获机制: 对诱捕到的安全威胁进行日志记录,尽可能全面地获取各种类型的安全威胁原始数据: 2.1) 网络连接 2.2) 原始数据包 2.3) 系统行为数据 2.4) 恶意代码样本(.exe、shellcode) 3) 威胁数据分析机制: 在捕获的安全威胁原始数据的基础上,分析追溯安全威胁的类型与根源,并对安全威胁姿势进行感知 2. 辅助机制 对蜜罐技术其他扩展需求的归纳,主要包括: 1) 安全风险控制机制 2) 配置与管理机制 3) 反蜜罐技术对抗机制等 辅助机制的主要目标 1) 安全风险控制机制要确保部署蜜罐系统不被攻击方恶意利用去攻击互联网和业务网络,让部署 方规避道德甚至法律风险; 2) 配置与管理机制使得部署方可以便捷地对蜜罐系统进行定制与维护; 3) 反蜜罐技术对抗机制的目标是提升蜜罐系统的诱骗效果,避免被具有较高技术水平的攻击方利用反蜜罐技术而识别
根据交互程度第蜜罐进行分类
1. Low-Interaction Honeypot(低交互蜜罐: 虚拟出一个服务) 1) 服务端蜜罐 DTK、LaBrea、Honeyd、Nepenthes、Dionaea 2) 应用层蜜罐 Glastopf、GlastopNG、SPAMPot、Kojoney、Kippo 3) 客户端蜜罐 PhoneyC 2. High-Interation Honeypot(高交互蜜罐: 旁路在一个真实的服务之后,进行蜜罐监控) 1) 服务端蜜罐 HoneyBow、Argos 2) 应用层蜜罐 GHH、HIHAT 3) 客户端蜜罐 Capture-HPC HoneyMonkey、SpyProxy
3. Kippo: SSH低交互蜜罐安装、使用
Kippo是采用Python模拟出一个端口监听服务,模仿SSH服务端的样子与潜在的攻击者进行伪交互的一款开源软件
关于Kippo的安装、配置参考以下文章
http://code.google.com/p/kippo/
http://www.haiyun.me/archives/centos-install-kippo.html
http://297020555.blog.51cto.com/1396304/553382/
1. rhel5下下载准备环境的的RPM包 python26-2.6-geekymedia1.i386.rpm python26-2.6-geekymedia1.src.rpm python26-debuginfo-2.6-geekymedia1.i386.rpm python26-devel-2.6-geekymedia1.i386.rpm python26-libs-2.6-geekymedia1.i386.rpm python26-test-2.6-geekymedia1.i386.rpm python26-tools-2.6-geekymedia1.i386.rpm tkinter26-2.6-geekymedia1.i386.rpm Twisted-10.2.0.tar.bz2 zope.interface-3.3.0.tar.gz pycrypto-2.0.1.tar.gz pyasn1-0.0.12a.tar.gz 2. 安装这些准备环境软件包 1) libTix8.4.so is needed by tkinter26-2.6-geekymedia1.i386 yum install tix tcl tk 2) 安装RPM包 rpm -ivh *.rpm 3) 安装Twisted tar -xvf Twisted-10.2.0.tar.bz2 cd Twisted-10.2.0 python26 setup.py build python26 setup.py install 4) 安装zope tar -xvf zope.interface-3.3.0.tar.gz cd zope.interface-3.3.0 python26 setup.py build python26 setup.py install 5) 安装pycrypto tar -xvf pycrypto-2.0.1.tar.gz cd pycrypto-2.0.1 python26 setup.py build python26 setup.py install 6) 安装pyasn1 unzip pyasn1-0.0.12a.tar.gz cd pyasn1-0.0.12a python26 setup.py build python26 setup.py install 3. 准备Kippo的日志记录环境 1) kippo需要把数据存放到数据库中,所以单独创建一个kippo的库 /etc/init.d/mysqld start mysql -uroot -p111 create database kippo; grant all privileges on kippo.* to kippo@'localhost' identified by 'kippo'; flush privileges; 2) 生成Kippo需要的数据表 cd /usr/local/src/kippo-0.5/doc/sql/ vim mysql.sql: 在头部加上一句: USE kippo mysql -ukippo -pkippo < mysql.sql 4. 安装Kippo,以非root用户运行 1) wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz 2) tar zxvf kippo-0.5.tar.gz 3) cd /usr/local/src/kippo-0.5 4) vim kippo.cfg 4) useradd kippo 5) chown -R kippo.kippo /usr/local/src/kippo-0.5 5) su -l kippo 6) cd /usr/local/src/kippo-0.5 7) ssh-keygen -t rsa ./private.key 28:a5:58:10:78:39:ee:ed:69:1c:9e:c1:b8:9f:81:57 kippouser@node2 7) ./start.sh 5. import MySQLdb, uuid exceptions.ImportError: No module named MySQLdb Failed to load application: No module named MySQLdb 1) 下载、安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python26 setup.py build python26 setup.py install 2) 下载、安装mysql-python wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.3.tar.gz --no-check-certificate tar zxvf MySQL-python-1.2.3.tar.gz cd MySQL-python-1.2.3 python26 setup.py build python26 setup.py install 安装完毕 在客户机上进行远程登录 ssh root@192.168.159.128 -p 2222 输入密码123456(刚才在配置文件里配置的) 6. 通过日志或数据库查看记录 cd /usr/local/src/kippo-0.5 tail -10 log/kippo.log
程序启动后,SSH蜜罐就启动了,并监听来自外部的连接
Kippo会自动把所有访问轨迹都记录下来,并保存到Mysql中(如果你有配置的话),那怎么解读这些数据就是我们接下来的问题了,即数据可视化,从什么角度去分析这些数据,个人觉得这才是蜜罐系统的重点、也是难点
从原则上来讲,我们进行入侵分析,要做到以下几个方面:
1) 尽可能多的覆盖多的可能的访问路径,即尽可能多的模拟多一些主流的服务、端口、应用 2) 即可能全面的记录下所有的访问轨迹,在数据记录阶段应该广而杂地记录所有可能有用的信息,为一下进行数据提取、分层作准备 3) 从入侵、反入侵领域的角度去看待已经记录下的数据,建立相应的分析模型,这种模型应该具有很强的针对性。能直接、或间接地反映出入侵趋势、原因、强度
这里介绍一款脚本,可以实现一定程度上的数据可视化,我们可以在它的基础上进行功能拓展,从而更好地对蜜罐捕获到的数据进行建模分析
http://bruteforce.gr/kippo-graph
SSH蜜罐可视化技术
4. Dionaea: 低交互式蜜罐框架部署
Dionaea虽然也是一个低交互的蜜罐系统,但和Kippo不同的是,Dionaea集成了很多不同类型的蜜罐在一起,整体来说是一个框架的结构,方便开源社区进行扩展,支持FTP、HTTP、SSH、mysql、mssql、sip等协议的蜜罐模拟,我们可以使用它来部署更加贴近真实的蜜罐环境,从而能更有效的捕获攻击样本、和攻击轨迹数据
Dionaea 蜜罐的设计目的是诱捕恶意攻击,获取恶意攻击会话与恶意代码程序样本。它通过模拟各种常见服务:
1) 捕获对服务的攻击数据 2) 记录攻击源和目标IP、端口、协议类型等信息 3) 以及完整的网络会话过程 4) 自动分析其中可能包含的 shellcode 及其中的函数调用和下载文件,并获取恶意程序
Dionaea 的整体结构和工作机制
1) Dionaea是运行于Linux上的一个应用程序,将程序运行于网络环境下,它开放Internet上常见服务的默认端口,当有外来连接时,模拟正常服务给予反馈,同时记录下出入网络数据流。 2) 网络数据流经由检测模块检测后按类别进行处理,如果有 shellcode 则进行仿真执行 3) 程序会自动下载 shellcode 中指定下载或后续攻击命令指定下载的恶意文件。从捕获数据到下载恶意文件 4) 整个流程的信息都被保存到数据库中,留待分析或提交到第三方分析机构。
(图片来自Dionaea低交互式蜜罐介绍--诸葛建伟的paper)
Dionaea可以模拟的服务
1) SMB 2) http、https 3) ftp、tftp 4) MSSQL、MySQL 5) SIP (VoIP) 6) shellcode执行 7) malware下载、执行
关于Dionaea的安装、配置请参考以下文章
http://ruo.me/index.php/archives/77
http://www.05112.com/anquan/wzaq/stwx/2014/0312/8400.html
http://dionaea.carnivore.it/
1. 安装依赖 apt-get update apt-get install aptitude aptitude install libudns-dev aptitude install libglib2.0-dev aptitude install libssl-dev libcurl4-openssl-dev libreadline-dev libsqlite3-dev python-dev libtool automake autoconf build-essential subversion
git-core flex bison pkg-config 2) 生成Dionaea的目录 mkdir /opt/dionaea cd /opt/dionaea 3) 安装其他依赖 cd /opt/dionaea 3.1) liblcfg git clone git://git.carnivore.it/liblcfg.git cd liblcfg/code autoreconf -vi ./configure --prefix=/opt/dionaea make install cd .. cd .. 3.2) libemu git clone git://git.carnivore.it/libemu.git cd libemu autoreconf -vi ./configure --prefix=/opt/dionaea make install cd .. 3.3) libnl apt-get install libnl-3-dev libnl-genl-3-dev libnl-nf-3-dev libnl-route-3-dev 3.4) libev wget http://dist.schmorp.de/libev/Attic/libev-4.04.tar.gz tar xfz libev-4.04.tar.gz cd libev-4.04 ./configure --prefix=/opt/dionaea make install cd .. 3.5) Python 3.2 wget https://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz tar xfz Python-3.2.2.tgz cd Python-3.2.2/ ./configure --enable-shared --prefix=/opt/dionaea --with-computed-gotos --enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib/
-L/usr/lib/i386-linux-gnu/" make && make install cd /opt/dionaea/bin ln python3.2 /usr/bin/python3 cd .. 3.6) sqlite 3.3.7 wget http://www.sqlite.com.cn/Upfiles/source/sqlite-3.3.7.tar.gz tar xzf sqlite-3.3.7.tar.gz cd sqlite-3.3.7 mkdir /home/sqlite-3.3.7 ./configure --prefix=/home/sqlite-3.3.7 make && make install && make doc cd /home/sqlite-3.3.7/bin/ ln sqlite3 /usr/bin/sqlite3 3.7) Cython cd /opt/dionaea wget http://cython.org/release/Cython-0.15.tar.gz tar xfz Cython-0.15.tar.gz cd Cython-0.15 /opt/dionaea/bin/python3 setup.py install cd .. 3.8) libpcap wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz tar xfz libpcap-1.1.1.tar.gz cd libpcap-1.1.1 ./configure --prefix=/opt/dionaea make && make install cd .. 4) 编译安装dionaea git clone git://git.carnivore.it/dionaea.git cd dionaea autoreconf -vi ./configure --with-lcfg-include=/opt/dionaea/include/ \ --with-lcfg-lib=/opt/dionaea/lib/ \ --with-python=/opt/dionaea/bin/python3.2 \ --with-cython-dir=/opt/dionaea/bin \ --with-udns-include=/opt/dionaea/include/ \ --with-udns-lib=/opt/dionaea/lib/ \ --with-emu-include=/opt/dionaea/include/ \ --with-emu-lib=/opt/dionaea/lib/ \ --with-gc-include=/usr/include/gc \ --with-ev-include=/opt/dionaea/include \ --with-ev-lib=/opt/dionaea/lib \ --with-nl-include=/opt/dionaea/include \ --with-nl-lib=/opt/dionaea/lib/ \ --with-curl-config=/usr/bin/ \ --with-pcap-include=/opt/dionaea/include \ --with-pcap-lib=/opt/dionaea/lib/ make && make install
安装完毕后,可以采用后台运行的方式启动
Dionaea根据命令参数运行,可选择:
1) 不同的运行环境 2) 任务 3) 筛选事件 4) 记录内容
配置文件则具体规定:
1) 蜜罐运行后开启的模块 2) 记录文件的保存位置 3) 扩展功能的参数
默认配置下Dionaea自动选择一个网络接口进行监听
cd /opt/dionaea/bin 1) ./dionaea -l all,-debug -L '*' 2) ./dionaea -l all,-debug -L 'con*,py*' 3) ./dionaea -u nobody -g nogroup -r /opt/dionaea/ -w /opt/dionaea -p /opt/dionaea/var/dionaea.pid
Dionaea会在这些端口进行监听,并捕获来自潜在攻击者的访问轨迹数据
相比于Kippo,Dionaea因为架构庞大了许多,所以配置文件、模块结构看起来也复杂了许多,这也是正常的,我们可以把它和MSF的架构进行类比,就会发现很多异同点,Dionaea的服务模拟都是通过独立的模块,用python脚本予以实现,而配置文件中则包含了这些模块的相关信息
我们简单学习一下它的配置文件
Dionaea 默认下配置文件是/opt/dionaea/etc/dionaea.conf。配置文件内容分为: 1. logging 配置日志的存放部分、事件记录级别、所在域。包括普通日志和错误日志,默认下位于/opt/dionaea/var/log目录下,分别记录所有事件、警告、错误事件
2. processors 配置libemu、和用于导出数据流的模块streamdumper 3. libemu 可增减允许的协议,配置shellcode检测时支持的最大流大小、跟踪步数限制、和并发执行数等性能参数 4. streamdumper 配置导出数据流时允许和拒绝的协议、数据流保存的位置 5. downloads 配置恶意文件下载的保存的位置 6. bistreams 配置数据流保存的位置 7. submit 设置自动通过http提交恶意文件到特定地址,具体配置信息依赖于服务器的设定 8. listen 配置Dionaea进行监听的网络接口IP,默认下自动获取 9. modules 配置各种模块的工作参数。部分"必须模块": curl、libemu、pcap模拟的服务services等信息
对于蜜罐系统,数据可视化、数据建模解读永远是一个重点,关于Dionaea的捕获数据解析有以下方式
1. 使用dionaea附带的工具进行日志读取 cd /opt/dionaea/dionaea/modules/python/util python3 ./readlogsqltree.py -t $(date '+%s')-24*3600 /opt/dionaea/var/dionaea/logsql.sqlite python3 ./gnuplotsql.py -d /opt/dionaea/var/dionaea/logsql.sqlite -p smbd -p epmapper -p mssqld -p httpd -p ftpd 2. 利用DionaeaFR进行可视化展示 cd /opt/ git clone https://github.com/RootingPuntoEs/DionaeaFR.git cd /opt/DionaeaFR 这个工具涉及到node.js、django等工具,之前没有接触过,不过感觉业内用它们做数据可视化挺多的,接下来准备入手研究一下,试试用node.js、django搞点好玩的 http://www.freebuf.com/articles/system/12696.html
5. 我们该怎么利用蜜罐系统进行入侵分析
我觉得我们对于蜜罐的研究有几个点是可以重要去进行深入的
1) 蜜罐怎么提供更好的交互性、是否考虑在真实的原始系统基础上进行旁路,提取我们需要的数据,即依托于真实系统的高交互蜜罐 2) 完全利用虚拟机进行模拟服务,完全架设出一个虚拟的环境,这种情况下安全性是最可控的,但同时对shellcode虚拟执行、命令虚拟执行、系统调用虚拟执行、甚至CPU指令虚拟执行等虚拟化 技术需要较高的支持,这方面已经有很多开源项目在进行了,有很多x86下的虚拟沙箱提供了很好的模拟特性 3) 怎么将安全人员的对抗经验固化到数据建模上,我们在捕获到尽可能多的入侵轨迹数据的同时,还要思考的一个重要问题是怎么对这些数据进行多维度的建模、分析。数据本身是没有意义的, 只有我们安全人员将它们赋予了一定的意义,通过多维度的重组后,数据才会以一种模式、趋势的形式展现出背后的含义,这是入侵分析、对抗中最重要的 4) 将分布式蜜罐技术和云计算、大数据结合起来。在云模式下,部署分布式蜜罐的基本条件已经天然完成了,安全人员不需要专门去架设专用蜜罐系统,云平台本身就可以充当一个入侵、攻击轨迹
数据的来源,即大数据分析。我们要做的就是怎么更有效地分析这些数据。要做到这点,还是需要理论和实践的结合,以安全人员的经验为基础,同时依托相应的理论建立相应的分析模型
以下内容来自 http://www.keyfocus.net/,它们的分析维度我觉得很有启发性
http://tech.sina.com.cn/s/2008-09-01/2301789129.shtml
EVENT方面 1. start time: 行为开始时间 2. end time: 行为停止时间 3. event ID: 事件ID 4. TYPE: 连接方式 5. DISCSRIPTION: 事件详细描述 6. SERVERITY: 事件激烈程度 VISITOR方面 1. IP: 入侵者IP 2. PORT: 入侵者使用的端口 3. DOMAIN: 入侵者机器名 SENSOR方面 1. IP: 探测器使用者IP 2. PORT: 探测器被入侵端口 3. BOUND: 探测器所绑定的IP 4. PROTOCOL: 协议类型 5. ACTION: 探测器对此事件所做出的行为 6. SIM SERVER: 简明(预设置)的SERVER BANNER DETAILS方面 1. CLOSED BY: 最后是由哪一方关闭此次连接的 2. Limit Exceeded: 超出流量描述 3. RECEIVED: 从入侵者发出,由探测器接收到的数据 4. RESPONSE: 从探测器发出,由入侵者接收到的数据 5. "EXPAND"按钮: 展开(展开后可以选择多种显示格式,在'FORMAT'栏上可以选择) 6. "NEXT"按钮: 下一个ID的事件详细情况 7. "PREVIOUS"按钮: 前一个ID的事件详细情况
诸葛建伟的研究论文中也提到了很多很有启发意义的分析维度
威胁数据分析方法
1. 最基础的威胁数据分析机制为实证分析, 即通过对实验采集数据进行统计汇总,揭示出安全威胁的基本统计特性以更好地理解互联网上的"攻击策略"与"工具" 2. 可视化分析技术可以进一步对蜜罐捕获的安全威胁数据进行2D 图形化与3D 动画效果展示,以非常直观的方式将威胁数据展示给安全研究人员,使其快速理解捕获安全威胁的整体态势,并发现其
中可能包含的异常事件
(这点我觉得就是DionaeaFR的目标) 3. 更进一步的威胁数据分析方法能够解释出捕获数据背后的根源。采用PCA(principal component analysis)方法从Leurré.com 分布式蜜罐系统数据提取出潜在的"攻击行为聚类", 并进
行"归因分析" 4. 基于"攻击时序相似性"的聚类方法, 从蜜网数据中发现普遍的攻击模式 5. 应用了"关联分析方法", 在安全知识库的支持下,该方法能够从蜜网捕获安全威胁数据中识别出"攻击规划", 并重构出攻击过程场景,从而有助于安全研究人员更好地发现和理解捕获数据中蕴
含的"攻击场景"
(这里的安全知识库,我觉得就是一种将安全工程师的入侵分析经验的固化,将经验模式化为一些类正则代码,从而更好地进行模式匹配)