本文原创作者:bt0sea,本文属FreeBuf原创奖励计划,未经许可禁止转载
前言
信息安全发展到了今天繁荣的程度,传统的安全还是靠静态的特征码的方式来识别攻击,但是伴随着新型的APT攻击的出现,很多企业才意识到传统安全技术手段已经无法满足对内部威胁的及时发现,于是,很多传统的安全公司大佬都开始转战使用动态沙箱技术来解决问题,有卖设备型的例如Symantec ATP硬件配合终端的SEP构成、有360安全卫士联动威胁情报的方式,来探测未知威胁,当然这种方式主要是针对APT攻击的第一个环节,你黑客通过社会工程学的手段得到用户的信息,使用网络钓鱼或者水坑攻击的方式进入企业内网个人PC。但是要拿到有价值的内部敏感信息,黑客需要进一步部署攻击链,包括获取凭证、内网资产扫描等探测工作,因为很多行业包括金融机构是不允许在业务服务器上安装安全解决方案的,甚至配置日志系统都不可以,那么,目前部署蜜罐是最好的解决方案了。
那么研究蜜罐解决方案,我们目前更关注的有以下几个方面:
开源蜜罐和商业蜜罐区别?
到底蜜罐是否需要大数据分析(机器学习算法)?
蜜罐创业商业模式如何?
现有产品分析
本节介绍包括开源蜜罐分析和国内外商业蜜罐分析。
开源蜜罐按照类型可以划分为以下几种:
数据库蜜罐(典型案例:ElasticSearch Honeypot)
ElasticSearch Honeypot:看了一下源码,发现是使用go语言实现的几个fake函数
Fake banner:访问根目录时候,返回函数
FakeNodes:访问/Nodes目录时候,返回函数
FakeSearch:访问/Search目录时候,返回函数
hpfeedsConnect:使用hpfeed协议通讯
发现都是伪造的函数返回,这样很有可能被入侵者发现是蜜罐,所以建议使用原始软件版本加patch的方式完成蜜罐记录功能,当然研发投入也比较大。个人建议模拟以下Elastic search漏洞:
ESA ID | CVE Link | Vulnerability Summary |
---|---|---|
ESA-2015-08 | CVE-2015-5531 | Elasticsearch versions from 1.0.0 to 1.6.0 are vulnerable to a directory traversal attack. |
ESA-2015-06 | CVE-2015-5377 | Elasticsearch versions prior to 1.6.1 are vulnerable to an attack that can result in remote code execution. |
ESA-2015-05 | CVE-2015-4165 | All Elasticsearch versions from 1.0.0 to 1.5.2 are vulnerable to an attack that uses Elasticsearch to modify files read and executed by certain other applications. |
ESA-2015-02 | CVE-2015-3337 | All Elasticsearch versions prior to 1.5.2 and 1.4.5 are vulnerable to a directory traversal attack that allows an attacker to retrieve files from the server running Elasticsearch when one or more site plugins are installed, or when Windows is the server OS. |
拿漏洞ESA-2015-08目录列举漏洞举例子,创建仓库,elasticsearch 解析出现了异常,并返回了读取文件的内容,以后都是读取的/etc/passwd 文件的内容。那么这个蜜罐怎么做呢?应该把文件变更记录做好,然后使用原始版本以patch的方式记录登录、RESTful API提交记录,这个使用真实服务模拟的研发投入也比较大。
Web蜜罐(典型案例:Glastopf)
漏洞类型仿真
未知的攻击
支持多种数据库类型
HPFeeds通讯
过内置的沙箱PHP远程文件包含,本地文件包含通过POST请求
通常对手使用搜索引擎和特殊制作的搜索请求找到他们的受害者
模拟SQL注入、爬虫响应等。
如果要是我做,还是要结合WAF精细化攻击数据。因为正常和不正常的URL访问太多。
服务蜜罐(典型案例Kippo)
伪装文件系统
• 伪装用户文件存储
• Sftp子文件系统 上传文件存储
• 模拟一些特殊的黑客关心的文件/etc/passwd
伪造系统命令
• 文件上传下载命令 sftp、scp,同时支持客户端wget/curl命令解析
• SSH交互执行的命令(黑客入侵常用命令):w\exit\cat\uname\chmod\ps\cd
伪装系统相关配置
• Hostname
• SSH服务指纹
• SSH账号和密码
• SSH key
与外部威胁情报联动
• 连接IP白名单威胁情报
• 上传可疑文件内容检查威胁情报
日志大数据处理
• 支持elastic search日志导出
SSH蜜罐目前开源解决方案比较成熟,但是还是缺乏BASH内部命令审计和文件变更审计。。。。
工控蜜罐
这个不在我们讨论的范围,工控有致命的弱点,通讯协议本身没有加密,Wireshark完全透视,我觉得,还是把工控防火墙做好,然后再想蜜罐的事吧。
其它蜜罐(典型案例:RDPY)
RDPY:RDPY是基于Twisted Python实现的微软RDP远程桌面协议。RDPY支持标准的RDP安全协议,通过SSL或者NLA加密验证(或者通过nltmv2验证协议)其子项目rdpy-rdphoneypot是一个基于RDP的蜜罐。使用会话场景记录并通过RDP协议来重放会话场景。
国外成熟的商业蜜罐解决方案分析
技术发展路线图
技术路线 | 描述 | 厂商 |
---|---|---|
网络蜜罐 | 欺骗技术与IPS设备结合 | Cisco, HP, IBM, Intel Security |
端点蜜罐 | 欺骗技术与沙箱结合 | Intel Security, Symantec, Kaspersky Lab, Sophos |
Web蜜罐 | 欺骗技术与WAF结合 | Shape Security |
这里主要关注Internal network Data Center security
公司名称 | 功能 |
---|---|
Attivo Networks | 服务型蜜罐+工控蜜罐 |
Cymmetria | 在客户端模拟一些面包削(file shares, stored credentials, and browser cookies)+Appliance模拟多个VLAN+和防御设备联动API |
TrapX | TSoC+Appliance(病毒蜜罐+botnet检测者)+sandbox(文件监控+bash监控+沙箱) |
GuardiCore | Appliance(文件监控+bash监控) |
TOPSpin Security | 服务型蜜罐+botnet检测 redirect the attacker into a deception zone |
分布式诱饵提供商专门利用欺骗和分布在企业中进行检测作为核心价值主张,通过虚拟化,软件定义网络,模拟服务和实时操作系统或应用程序来部署诱饵系统,以提高检测成功率和减少对先进的攻击误报。
(3)国内初创安全公司解决方案
公司-产品名称 | 技术路线 |
---|---|
乌云threatkey | 公网蜜罐威胁情报系统+模拟已知漏洞 |
长亭科技-谛听内网感知系统 | 服务型蜜罐,主要功能快速发现内部威胁及时响应 |
默安科技 | 听说产品10月份出,目前没有介绍资料,无法判断 |
核心技术分析
本节主要介绍报表系统、机器学习在蜜罐系统的应用和蜜罐客户端技术。有人会问了为什么聊报表系统?者算什么核心技术?基础的数据库查询报表都做不好,还谈什么机器学习?如果数据库查询基本上满足用户的需求,还用什么机器学习?饭要一口一口吃,事要一件一件做。我们先假定一个目标,我们使用来自SSH蜜罐的数据,我们能做什么。。。
一级报表 | 二级报表 | 三级报告 |
---|---|---|
登录情况分析 | 登录尝试次数 | |
不同的IP地址统计 | ||
不同的用户名统计 | ||
不同的密码统计 | ||
活跃的蜜罐数量 | ||
分别从不同的时间截点 今天/第一次发现/这个月/今年/从有记录开始 | ||
高级统计分析{用户名热词/密码热词} | ||
命令执行情况分析 | Top 10 系统执行成功的命令 | |
Top 10 系统执行失败的命令 | ||
apt-get 执行的命令 | ||
Wget命令下载tool 是否有病毒 | ||
攻击趋势分析 | 每日趋势 | Top 20 账号统计 |
Top 20 Root密码统计 | ||
Top 20 admin密码统计 | ||
Top 20 非root&admin密码统计 | ||
Top 20 密码统计 | ||
2000个最长密码 | ||
每日活跃统计 | 每日活跃的IP地址统计 | |
每日活跃的用户名统计 | ||
每日活跃的密码统计 | ||
每日活跃IP地址统计 | 每日第一次发现的IP地址 | |
Top 20每日活跃的IP地址 | ||
Attacks By Country, By IP Address | ||
每日活跃的账号统计 | 每日第一次发现的账号 | |
Top 20 尝试登陆的账号 | ||
Top 20 非 “root”/”admin” 配对 | ||
每日活跃的密码统计 | 每日第一次发现的密码 | |
root账号 密码登陆失败的 | ||
Top 20 “root” 密码 | ||
Admin账号 密码登陆失败的 | ||
Top 20 Account “admin” Passwords | ||
Top 20 “root”/”admin” 配对的密码 | ||
Top 20 非 “root”/”admin” 配对的密码 | ||
第一次发现 | 第一次出现用户名 | |
什么时候一次出现这个用户名 | ||
什么时候第一次出现的密码 | ||
第一次出现密码是什么 | ||
第一次出现IP | ||
什么时候出现的IP地址 | ||
攻击模式和僵尸网络分析 | 攻击模式分析 | 分析方法: l 用于暴力破解的用户名和密码是否一致 l 是否来自于一个单个IP地址是否是攻击一个IP地址 l 两次之间攻击时间截小于180秒IP地址关联 显示选项 l IP Address l Netbot Name l 第一次发现时间 l 最后一次发现时间 l 记录的攻击模式数量 |
僵尸网络聚类/溯源分析 | 分析方法: l 僵尸网络倾向于攻击同一个帐户 l 僵尸网络倾向于使用同一个客户端软件 l 僵尸网络倾向于使用密码相同的“风格” l Nmap扫描netbot IP操作系统/开放服务指纹 l 被感染的蜜罐主机列表统计 l 攻击账号分析 显示选项 l Accounts Triedl Client ssh softwarel Originating countries l Open Ports and Operating Systems |
到这里,我发现了一个问题,那就是这些高级统计报表,也无法告诉我们未知威胁来源于哪里,我们如何设置告警,事情发展到了什么程度才算APT攻击?我想这些预测性的问题应该交给机器学习算法来处理吧。说到机器学习,我们必须要知道它是通过大量的基于已知数据计算,然后对新的数据做出判断的一个过程,所以它必定和大数据是一对孪生兄弟。那么我们做未知威胁发现,就需要一定的算法模型来匹配大数据。
工欲善其事,必先利其器。我们需要找到能够识别未知威胁的建模算法和算法所使用的工具。工具基本上使用:Elasticsearch, Logstash, Kibana/Hadoop Spark。数据挖掘算法方面:我选用的是非监督式学习算法。这种算法数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括k-Means算法等。
K-Means 是聚类的一种,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。这种算法适合网络蜜罐判断异常流量。具体的算法处理过程可以参考KDD Cup1999 数据集分类。我就不详细说了。算法库使用spark mlib。
总结
开源蜜罐和商业蜜罐区别?
开源蜜罐开发没有一个完整的软件生命周期管理,能部分实现功能就成。开发周期慢,无法和商业蜜罐产品相抗衡
到底蜜罐是否需要大数据分析(机器学习算法)?
如果是针对公网蜜罐,我觉得可以使用机器学习算法来分析,针对于内网网络蜜罐,我觉得也是非常有必要的,可以发现未知威胁。但是针对服务型蜜罐,本身数据量就小,目前状态基本上用不上。
蜜罐创业商业模式如何?
针对内网未知威胁感知场景,国外使用蜜罐技术反APT的公司都赚的盆满钵满,因为如果公司请专业的团队做应急,是非常贵的 听说 $400/hour,如果是2个人一天要1万USD。而且整个发现时间不止一天,一般最少一周吧。所以公司宁可买这种自动化发现APT攻击的工具也不愿意掏钱做consulting。这就是国外市场,国内安全市场,这个怎么说呢?竞争环境激烈,让用户在本来紧张的安全预算中拿出几十万买一个不知道有没有作用的新技术,我想还需要更多的市场培育,销售和售前的工作。针对外网威胁情报这个商业模式,目前还有待观察,做为To B的安全企业我不看好这种商业模式。
*本文原创作者:bt0sea,本文属FreeBuf原创奖励计划,未经许可禁止转载
-
@ 哈哈大侠 你要相信它能起作用,它就会,如果你觉得它买回来就是一个摆设,那就真起不了作用。
-
@ cwg2552298 谢了 哥们。。。。。
-
fake为了炒作威胁情报这个概念,蜜罐这个古老的玩意复活了
-
@ fake 怎么说呢,如果按照以往的思维定式,我也觉得这有点想炒作,但是当你真正了解国外的反APT产品的时候,你就会发现国内的技术产品就是渣! 人家已经可以做到及时响应,国内还脱离不了沙箱的概念。感谢你的回复,有时间多交流
-
@ bt0sea 感谢分享,比较成熟的国外反APT产品有哪些,能否给几个关键字?
不容错过
- 走近科学:”种子“的前世今生追影人2016-06-16
- 国产“骄傲”:最先进的国产IOS木马Xsser现身分析xia0k2014-10-15
- 【快讯】俄罗斯最大社交网站VK.com被黑,1.71亿用户账号仅售1比特币米雪儿2016-06-06
- 专访知名黑客陆羽:俯瞰陆地、振羽翱翔T00ls安全2015-12-04
0daybank
已有 30 条评论
为了炒作威胁情报这个概念,蜜罐这个古老的玩意复活了
@ fake 怎么说呢,如果按照以往的思维定式,我也觉得这有点想炒作,但是当你真正了解国外的反APT产品的时候,你就会发现国内的技术产品就是渣! 人家已经可以做到及时响应,国内还脱离不了沙箱的概念。感谢你的回复,有时间多交流
@ bt0sea 感谢分享,比较成熟的国外反APT产品有哪些,能否给几个关键字?
@ bt0sea 那么国外反APT的产品有哪些呢?效果怎么样呢?对部署位置有什么要求呢?反的目的是什么呢(能朔源吗?)?能介绍些资料吗?
沙箱,做为执行体隔离和分析确实是不错的技术方案。APT分析,至少应该包括攻击代码分析、攻击行为分析、攻击路径分析、攻击人分析、攻击目的分析,还要把这些东西综合起来,沙箱就是其中一部分。但问题是有时候根本逮不到执行体,沙箱也就没有用途了。
@ 若水 问题太多。。。一个个回(1)国外产品有哪些,在文章中有说明,当然主要是使用蜜罐技术的产品。(2)效果如何,这个我感觉只有那些公司的SE才知道,还有内网的事情你也知道一般不会公布的。(3)部署,目前都向云进发什么openstack、AWS等呀,传统的Data center 也可以呀,部署位置一般都是网络层+服务层+客户端。才有效果。(4)溯源的问题,我觉得工具再牛逼也做不到,基本是提供证据(网络层pcap、端点的病毒样本、服务层面的攻击思路等)蜜罐客户端一般都是通过沙箱来实现的。这个在文章中提到了。肯定是要综合分析,APT分析你说的都在理,产品只能做其中的一小部分,提供更多的证据,更多的还是靠人分析的。没有执行体这个问题,我觉得入侵者进入后肯定会留下痕迹,但是这个痕迹不一定是执行体,这个就看产品对APT攻击的理解能力了。
@ cwg2552298 谢了 哥们。。。。。
所以公司宁可买这种自动化发现APT攻击的工具也不愿意掏钱做consulting。
所言极是!
@ nickchang OK,感谢你的认同
APT,应该包括发现攻击,和对攻击行为处理两个方面。国内发现攻击行为,赶快中断了事,重装机器,哪能容你慢慢分析这个攻击是咋回事,没有慢慢分析的过程,谁又能确定这个攻击是咋回事。
@ 若水 主要本文讨论的是在蜜罐中操作。
用户对于安全的认知和投入远远没有达到实际需求,使得一些产品价值不受肯定
@ 追影人 这种情况确实存在,那就需要用简单的道理把复杂的产品讲明白
蜜罐 科普文不错。
@ taylorwin
1、网络蜜罐是什么、跟服务型蜜罐有啥区别?没看到明确的定义
2、蜜罐基本基于已知漏洞构建,基于蜜罐如何发现未知威胁作者有什么看法?
@ long 首先感谢你专业的提问(1)本文讨论的都是服务型蜜罐,比如模拟ssh、web服务器等。。。。 网络蜜罐还没有说明,我的理解:服务型蜜罐主要是模拟服务,网络蜜罐你可以把它理解成引入蜜罐网络的一个设备,当然有sniffer流量和DNS Sinkhole的功能。(2)对于未知威胁发现,这个还得借助网络蜜罐,大数据分析判断未知流量,确定C&C。在端点借助沙箱发现,但对于服务型蜜罐,目前还没想清楚怎么发现未知威胁,但是能接入服务型蜜罐的行为可以认定绝大部分为可以行为。我想还是从记录行为做起吧。模拟一直漏洞只是一方面。。。。。
@ bt0sea 感谢你认真的答复,受益匪浅!
@ bt0sea 有个很糙的想法探讨下:根据大数据分析行为发现疑似攻击并排除掉已知漏洞已知payload后如果能确定是恶意行为,就有可能是未知攻击手法或未知漏洞 未知威胁。当然前提是各种库的全面性,用最近的说法是威胁情报要到位.
@ liong 威胁情报在蜜罐里的应用很多,包括ssh wget下载的病毒需要 提交威胁情报平台检查,IP黑名单要连接威胁情报,网络层面就更多了,怎么判断C&C botnet网络等。。。
国外好产品多,比如fireeye bit9 Rsa BlueCat
@ start again 研发投入大。。。。。
个人觉得威慑为主
@ 哈哈大侠 你要相信它能起作用,它就会,如果你觉得它买回来就是一个摆设,那就真起不了作用。
这不是直接将 那些看完视频就开始实践的小黑直接扼杀在了摇篮里么!
@ 卡西莫多的咖啡 有点那么个意思。。。。但是对于高级APT攻击手段,还需要在实践中摸索。
让我想起一个人 Mcafee 公司的创始人..
感觉节奏..都这样..现在吹嘘风险风险..无限夸大问题的严重性..然后推销自己的产品..
@ flowing 当你只看到海平面上的冰川的时候,肯定会这么想。各个安全厂商只是用新的想法帮助用户解决问题。
想在公司内网部署,检测是否有攻击者攻击的话,有什么建议的蜜罐产品?一番调研之后初步决定在dionaea和kippo之间取舍,不知道楼主有何高见。
@ lex1993 非常感谢你的反馈,在公司内部部署蜜罐,还是有很多要求的,如果可以,请试用商业蜜罐产品,wooyun现在出事了,默安科技产品还没出来,可以看看长亭科技的蜜罐产品,具体介绍请到网站上去看,不过多说,开源蜜罐使用会有很多问题,而且黑客可以快速识别,因为很多蜜罐指纹已经集成到类似nmap的扫描器中。其到的效果也不大,还有你蜜罐部署率是一个非常重要的指标,这些只有商业蜜罐才会帮你考虑。目前开源蜜罐大部分都是安装在公网上的,不适合内网环境。