安全行业产品经理的要求很高,不能盲目跟风炒作新概念却无视新技术能力局限。时下各大厂不惜代价高薪招聘,效果均差强人意,市场供给严重不足可见一斑。笔者今年面试了不少产品经理候选人,十个里面居然有九个会大谈特谈分析师制造的概念,想见其行业炒作热度。毫无疑问,知识自然有价值,预测趋势也能提升逼格,概念是市场宣传有力推手。问题是有些虚无缥缈高大上的概念,连炮制源头分析师都还不知道怎么落地,行业里也没见可行思路,一线产品管理者若夸夸其谈,难免让人担心是给自己挖坑、给公司挖坑、甚或是给客户挖坑。产品经理唯有脚踏实地才能真正创造价值。
行业真相是,安全产品的创新,全都来自于厂商或是大甲方,分析师只不过是做了些总结工作。因此,与其浮躁炒作各种报告,不如埋头研究其它厂商产品细节。产品经理必备基础能力之一是竞品分析,本篇概述了笔者在设计NDR/NTA产品过程中参考的国外领先产品界面,讲讲如何在满足行业共识基本要求的同时,体现自身技术优势以突出亮点。笔者也希望借此一文分享心得,有助于业内厂商全面提升网络流量安全分析产品的水平。
网络检测响应NDR和网络流量分析NTA看起来虽有差别,但能力几乎雷同,而NDR名称更符合安全能力发展趋势,今年来逐渐被更多厂商所接受。本文中提到的产品俱都来自全球范围内领先明星厂商。Darktrace目前估值超过16亿美元,主打无监督机器学习。Vectra宣称只用AI分析流量元数据就能获得卓越成效。ProtectWise为2016年RSAC创新沙盒十强,Awake则为2018年十强。JASK今年曾击败Splunk赢得政府大单。ExtraHop、Plixer、和Endace是流量分析老牌厂商,之前在运维方向颇有建树,近期发力安全分析。还有部分厂商如Skybox并不属于此领域,只是略微提了提功能界面。
NDR作为必备安全基础能力的论点已被广泛接受。早在2015年,Forrester已经指出:SIEM作为检测工具的有效性已触碰到天花板,即使是在为其提供了正确全面的日志和安全事件数据、并拥有足够资源投入运营的企业也是如此。而Ovum描绘的xDR市场发展趋势与笔者思路不谋而合,不只是针对端点和网络,针对数据和用户也都需要检测和响应能力。在笔者看来,xDR将是未来SOC运营平台的支柱模块。
NDR基础平台能力包括流量采集还原以及海量数据存储索引:类NetFlow的元数据采集早已远远不够安全团队施展开拳脚,至少要留存所有PCAP;大数据平台业已是主流厂商标配,无法作为亮点。如果迄今还在挣扎提供这些能力,那连入围的资格都没有。所以此部分内容就不赘述了。
流量调查取证
显然地,传统安全设备日志丢失了大量信息,无法从中寻找出未知威胁的蛛丝马迹。对于正计划构建下一代SOC的组织来说,要实现超越基于传统IoC和签名特征方法、全面补充不依赖有关对手先验知识而能发现识别恶意活动行为的检测能力。因此,全量行为数据的调查取证需求迫在眉睫。
无论是载荷投递、C2通讯、还是内网横向移动,都不可避免会在网络流量中留下痕迹。即使是无文件攻击手段,不会在硬盘文件系统中存储木马以绕过端点杀毒,安全人员也能在流量中发现蛛丝马迹。全流量PCAP下载对SOC运营团队十分必要。大部分高级分析师都熟悉Wireshark等类似软件的使用,在研判未知威胁或疑似入侵时,也习惯于自行分析流量数据。不过,载荷文件还原,对于高级安全人员来讲也是比较麻烦的任务,毕竟网络协议众多,文件格式也十分复杂,若NDR有能力自动还原,则可大大降低工作量并显著提高效率。
DarkTrace可以另存流量为PCAP文件,但没有载荷文件还原功能。Darktrace的界面虽然酷炫,但显然功能比流量运维厂商产品的实用性和便捷度差了很多,后期调查时需要用户自行拆分,会非常麻烦。
ExtraHop Reveal(x)也能导出PCAP,有多个维度可供选择,十分方便分析师后续工作;但其同样不具备载荷文件还原能力。
因此,在设计自己的NDR产品时,提供PCAP选择组合便十分必要。例如下图会话调查界面,可以根据时间、源IP、目的IP、协议等灵活查找并下载。
除此之外,受益于我们成熟DLP产品的多年积累,我们能够提供广泛的载荷文件还原能力,这是分析师十分喜爱的常用功能,比国外产品更加出色。如下图所示。无论是利用Word宏命令的鱼叉攻击邮件、还是下载PowerShell脚本、外传盗取的敏感数据、捆绑木马的Android应用、压缩文件等等,浏览一下立知大概情况,并可随时下载获取,调查取证变得十分轻松。
细心的读者在上图中还可发现快捷一键查询威胁情报的功能,将鼠标移到TI标志上便会列出当前可用的情报来源。我们内置了多个开源威胁情报链接,无论是URL、IP、还是文件等,都可快速获取丰富情报信息。同时,若企业已经自建威胁情报管理平台,或是外购付费服务,也可通过API轻松接入。如果想把文件扔入沙箱跑跑看,也可通过API一键导出。
作为对比,让我们看看国外明星产品。ExtraHop提供有限的威胁情报集成,只可查询域名和IP等的基本信息。
而JASK的威胁情报集成显然略好,有VirusTotal的数据。应该也能接入其它供应商数据。
Plixer和Endace的界面看起来像是十年前的产品,这里就不浪费读者的宝贵时间了。
IoC搜索匹配
没在SOC一线体验过的产品经理往往不知道简单的IoC搜索功能用起来会有多么顺手方便。当安全工程师读完一篇APT分析文章,好奇手痒想查查自己管辖范围内有没有中招时,NDR若配备强大的搜索功能,便可立竿见影赢得好评。
Darktrace名气这么大,居然只能查设备、子网、IP、主机…… 界面搜索框内的省略号很好地表达了笔者使用时无语的心情。
我们当然要提供更强大的功能,为威胁调查和响应工作提供更好的支撑。
首先,如果有木马样本的散列值,如SHA256,可以直接在搜索框内输入。
如果想搜索一个特定文件名中关键词,或者用后缀查询一类文件,或者想看到某IP收到所有邮件eml查找钓鱼,都可以使用搜索框快速达成目标。
也许是受到Drive-by攻击不小心访问了某个特定网站被种马,也许是向某个被入侵WordPress当作C&C服务器上传数据,也许想看看员工是不是违规访问了某些网站,等等,只需要输入部分URL即可迅速得到结果列表。
而Vectra不保留流量全包自然也无法还原所有载荷。在笔者看来,这在未来会是流量分析产品的硬伤:你检测技术做得再先进,也难免有落网之鱼,不能回放未知威胁的攻击过程,不能辅助真正的威胁猎捕实践,很难提升整体安全运营水平,长期来讲会导致对抗能力的持续下降。
以上都是些起步能力,但做到扎实就可以为后面的高级功能打好地基。笔者个人并不喜欢产品经理去讲啥Hadoop和Spark之类的优势,或是用哪些开源项目能搭个啥高大上的平台;这里面有个很基本的经济学原理,投入资源才能创造价值:你用一周时间搭起来的平台,别人就算再笨也能用一个月时间搭起来,那什么才是你的竞争优势?所以我们内部要求产品经理更多地去关注使用场景,理解用户面临何种难题,然后发挥创造力贡献可以解决的办法,兼顾技术实现难度与资源投入管理,最后当然要形成产品固化能力。
攻击面缩减
攻击面是IT基础架构容易受到网络威胁入侵的所有方式的总和,攻击者可以利用各种维度的潜在攻击向量发起行动。系统暴露在外的界面和功能,都有可能存在弱点被攻击者利用。缩减攻击者能接触到暴露面,自然会增加系统安全性。在建造一个软件系统时,如何清晰了解评价A架构设计是否比B架构更加安全,攻击面即可作为一种靠谱的评判标准。正规集团军方式管理的红队,渗透测试前总会系统梳理对方暴露的攻击面,并据此制定战略任务分解。
Skybox产品主打一个亮点宣传便是攻击面可视化展现:其采集各种安全设备和软件的日志,自动绘出下图供安全团队参考使用。
但笔者认为上图界面固然有用,但对安全团队并不直观,效果有限。直接针对防火墙、负载、网关、IPS等设备的攻击少之又少,而那些真正危险的潜在攻击面并没有显示出来。也完全可以理解,Skybox只采集设备日志,就算吹出个花来,充其量做成个有特长的缩减版SIEM。当然Skybox的漏洞管理和路径分析还不错。不过这里还是让我们正视实际需求,一起看看真正的攻击面评估。
例如最近泛滥的GandCrab和GlobeImposter勒索病毒通过爆破RDP弱口令进行攻击,那么安全团队若能知道网络中存在哪些设备私自开放RDP服务便可以提前准备防患于未然。又如影响范围极广的Drupal CVE-2018-7600/2远程代码执行漏洞,安全团队希望能随时掌控对外提供HTTP服务的设备有哪些未报备,属于私自搭设不在管理范围之内,然后点击按钮便可确定其使用了哪些组件,是否使用了Drupal。这样是不是很方便很期待?我们需要找到一种恰到好处的展现方式。
当笔者看到ExtraHop的界面时顿觉眼前一亮,Reveal(x)中描述网络活跃度的汇总界面十分直观清晰。
上图虽然不是描述攻击面的界面,但笔者认为比Skybox中可视化过度的攻击面界面更直观简洁:花花绿绿大圈小圈对提高SOC团队效率并无帮助。因此,在我们的产品中,也采用了类似ExtraHop的展现方式,不过做了本质的修改:不再强调网络流量种类和活跃度,更关注暴露在外的应用服务、设备、与协议。这些结果都是通过网络流量被动发现,没有进行主动扫描,所以至少都是有其它人在使用的服务。点击每条会有更详细列表和进一步操作功能。
安全人员可以调查每个风险应用的详情,例如HTTP服务器的组件构成。看看下图,果然有使用Drupal的,接下来就需要去问询所有者部门或责任人是不是打好漏洞补丁了。
正如上文所说,未经备案的不在管理范围之内的RDP、HTTP、CIFS、DB等服务都是潜在可被利用的攻击面,NDR提供了让安全团队时时掌握潜在风险的能力,获取主动优势。更多关于攻击面缩减的功能也已在产品路线图的计划中。
行为画像和异常发现
ExtraHop批评Darktrace没有提供足够的流量可见性,只是笼统地告诉用户,你这台设备发生过异常流量行为,对安全运营价值不大。此评价自然有一定道理,不过笔者认为不同厂商产品侧重点不同各有千秋,片面追求大而全也难免丧失特点,客户选择适合自己的便好,厂商也没必要太过纠结。所谓无监督机器学习是有这个问题,难以解释机器给出的结果的原因,不能给SOC团队明确的行动线索。
Darktrace对自己的算法历来都是语焉不详,见不到任何论文,会议演讲也都是售前套路,委实有些不可思议。笔者也只能多次在展台前把玩演示环境并且与工作人员仔细交流,进而推测其背后使用了什么数学方法。还有一点神奇之处在于,读者们都知道,一般来说同一个产品方向总会有几个团队同时前进互相竞争,但放眼望去,整个安全行业没有另外一家使用与Darktrace类似宣传口径,这不免令人啧啧称奇。让我们一起看看Darktrace产品界面,下图右侧画出了风险设备的历史活动趋势曲线。
关于行为画像与用户意图预测,我们在DLP产品里早已大规模应用。贝叶斯估计算法也并没有多高的技术门槛,简单的回归算法如果工程化好往往也有意想不到的称心效果。我们先搬来一部分能力加入NDR,例如下图的三维立体展现,从IP流量、IP连接数、和应用流量等维度分析,底层蓝色是算法基于历史数据预测出的正常区间,上层是实际发生的超出正常的倍数,这种可视化辅助安全团队观测很直观,发现异常也很轻松,比上图界面更加有说服力。
如果读者最近看过一篇翻译自Darktrace的软文,也许还记得其中描述的检测场景,摘录如下:
Darktrace在一家医疗技术公司发现了这样的案例:数据分批小量慢速地渗漏出去,传统安全工具完全察觉不到,根本不会发出警报。被感染设备多次连接外部IP地址,每次连接都少于1MB,但发送的数据总量竟然达到了15GB。
所谓这样的检测能力,如果不想花钱,Bro + Kibana也能快速可视化展现。不过要想从数千台服务器中找出异常风险,可不是简单堆叠开源模块就能搞定的,需要投入资源进行二次开发,且不说成本并不低,先得招聘到市场上严重匮乏的合适产品和研发经理。此外,只发现流量异常显然不够,我们希望画像是多维度立体的,例如新增端口和新增IP对于中后台服务器来说也是风险行为,我们产品界面表现得十分清楚,如下图。
说到行为画像,还有种可行方法:界定某种类型威胁场景,然后组合多种恶意行为,综合评估风险。例如下图JASK定义“内部威胁 – 横向移动伴随流量增加”,表现行为包括短URL连接、无效服务器SSL证书、主机匹配威胁情报、发现SMB扫描、SMB文件读取、垂直端口扫描等。前三条其实跟横向移动半毛钱关系都没有,但确实贡献了此资产的风险数值。
对此,笔者倒觉得没必要自作主张追求创新,老老实实按照ATT&CK模型去设计便好。行业大多数工程师接受且熟悉的框架,更容易上手,学习成本较低,何乐而不为。
威胁猎捕
许多大型企业已经敏感地意识到威胁猎捕是SOC的重要职能:主动调查发现攻击者痕迹以尽早拦截、追踪、和清除入侵者行动。这需要安全团队完成大量数据调查和分析工作才有可能发现未知威胁。传统SIEM或大数据平台将原始数据和日志采集并建立索引后,并不能主动给出线索或假设,分析人员需要依据个人经验和逻辑自行发挥,工作效率难以提高。采用机器学习和自动化数据处理的NDR可为SOC提供准确高效的威胁狩猎能力。
以一台被入侵终端作为线索或假设,探究对手在内网的活动范围,是安全分析工程师日常进行威胁猎捕的典型任务,因此有很多固定操作流程以发现特定类别的表征。支持可视化发现的方便程度,便是衡量产品优劣的重要标准,几乎所有NDR产品都会提供。例如,通过SMB漏洞横向移动,便会产生入侵终端与多个PC间CIFS网络流量;同一个botnet的木马,在某时间段会与特定C&C服务器联系,等等。例如下图Awake的界面是很常见的范例:
但是上图有个明显缺陷:只在小规模网络中效果不错;大规模企业网络中,终端数量高达数万个,很可能造成节点与连线十分拥挤,难以辨识操作。同样的问题在产品界面中经常出现,产品经理往往只注重酷炫美观,而为此故意忽视实用性与操作难度。笔者去年第一次去Veriflow展台看产品演示时,一看到类似界面便询问过相同疑惑,有位核心团队成员坦承下一版会加以改进。更好的设计是先筛选,过滤掉风险概率极低的网络连接和设备,只显示存在可疑行为的节点与连接。笔者更喜欢Vectra的界面,作为检测很直观,但它缺少了外部连接,不能一眼看出来线索,无法对威胁猎捕形成有效支撑。
来看看我们产品的界面设计。
上图中192.168.30.167存在攻击链多个阶段入侵行为表征,已被确认攻陷。读者们应该都知道8.8.8.8是Google公共DNS服务。透过8.8.8.8连接47.94.129.64是DNS隐蔽隧道的攻击手段,被熟知的地址经常被安全工程师忽略。我们可以看到,192.168.100.89拥有类似现象,那么工程师下一步就应该详细调查此设备。而221.8.69.25也是个外网DGA解析出的地址,内网中还有192.168.100.31也与此IP有网络活动,显然此设备也存在风险。此外,192.168.30.167与192.168.30.62有SMB连接,有可能是横向移动,也需要看看。
看起来晕晕的ProtectWise界面,信息量太大,真是难为了产品经理和界面设计师,恐怕用户也很发愁,总感觉不懂应该点击哪里,不知道怎么评论好。
时间轴也是重要可视化能力,有助于工程师理清纷繁复杂入侵活动,理解攻击者意图和手法。如下图所示,整个攻击流程十分清晰:先使用鱼叉诱使用户运行downloader,利用文件混淆下载payload,然后出现DGA域名解析请求、以及DNS隐蔽隧道,后面还出现了SMB横向移动以及RAR加密分卷外发。安全分析员每天处理高达数百上千条报警事件的追查,常常需要自行推测并还原黑客对手的攻击思路和入侵路线,亟需有效的辅助工具。筛选高风险的潜在被入侵设备,按照发生时间先后顺序将针对性攻击手段汇总到一处,剥茧抽丝,辅助还原攻击手法路径,能大幅提高响应团队的工作效率。
时间轴还能辅助安全团队发现缺失的攻击步骤,这些步骤往往是利用能绕过现有防护措施的弱点,所以没能被现有检测机制识别,例如0-day或者新流程逻辑漏洞等等。在对抗过程中及时发现弱点并加以改进,是安全团队的重要日常任务。
上文提到的文件载荷还原与索引、以及IoC匹配查询也是威胁猎捕的重要支撑能力,这里就不举例说明了。
攻击行为检测
市面上NDR产品检测入侵几乎没有采用特征规则、沙箱、威胁情报匹配技术的,一般都是以识别攻击行为作为卖点。前几年还鲜有落地的DGA、DNS隧道、内网横向移动等使用机器学习才可有满意效果的先进检测技术,目前已是标配。国外厂商中,传统做流量分析的这部分能力较弱,缺乏亮点,我们主要看看新兴专注安全那几家。攻击行为检测内容太多,限于篇幅,笔者简单摘录一些界面供读者参考,以后有时间按实际场景再展开细说。
首先,让我们看看Awake里风险设备的界面,左侧是实体信息,包括设备属性,右侧按时间列出了威胁检出项目。这种展示方式有个严重的问题,安全人员需要花费很多时间上下滚动列表才能得知发生了些什么事件,然后需要再花很多时间自行归纳总结。界面看起来漂亮,该有的似乎也都有,但总是有种雾里看花的感觉。想要做出好用的产品来,必须要加以改进。
笔者十分认同Awake强调实体的提法,虽然其宣传的知识图谱概念不过是个噱头。以风险实体为核心,一直是我们内部产品设计的重要思路。从DLP产品开始,我们便力图多维度展现“数据 – 设备 – 员工”三个实体各自属性,以及三者之间发生的关系,强调数据资产的全局分布可视化,清楚表述每台设备中拥有的数据,并将“员工”作为实体检测其行为风险与恶意意图。我们的NDR产品延续了此设计思路,用户可以在界面中处处查询相关实体的属性与关系图谱。
改进Awake界面的方向,是提供实体风险概述页面,让安全人员一览便可得知此设备出现过何种异常。针对一个高风险设备实体的攻击行为,我们的产品界面如下图所示:
左侧是攻击手段列表,安全工程师扫一眼便可大致掌握情况。点击任何一项可以看到概述。上图可以看到恶意域名请求一类行为中出现的DGA。右上角的溯源按钮点击后会弹出新页面,详细列出与此设备相关联的此攻击行为细节。注意,是经过流量还原且数据处理分析后的细节。例如,下载PowerShell脚本,可以看到具体的ps1文件;又如,邮件攻击,可以看到具体邮件内容,包括发件人、标题、正文、和附件等。如下图所示,在左侧选择DNS隐蔽隧道,再点击溯源按钮,我们会看到具体的经过还原的DNS查询请求细节。
Awake居然还让用户自己写正则表达式发现DNS隐蔽隧道,如下图,笔者十分不理解这种设计——就算写不出来机器学习识别模块,也可以做成预置正则规则,降低用户工作量。
Awake后台数据字段设计十分精妙,查询语言也很漂亮,感兴趣的读者不妨自己去研究。但是笔者觉得让一线安全人员花费大量时间去学习和熟悉一种新格式语言,去自己总结场景规则,有悖于提高效率的目标;而且对于总是招不到人的小团队来讲,负担过重。这也是笔者并不看好小安全团队自建Elastic Stack的做法:平台易搭,规则难产;只有熟悉攻防对抗的有经验的资深员工才能写出场景相关的检测模型,还需产品管理能力做总体规划并恰当展现,否则很容易沦为吹牛用的摆设。
我们看到,国外NDR产品里,也有识别攻击手段不用高级数据分析技术机器学习的,例如下图JASK短域名链接检测,只是这种方法的实际意义不大,需要辅以其它行为检测才能降低误报。
说起来,攻击行为检测深度与载荷还原能力也有关系,例如我们的产品可以识别出IMAP协议收到邮件里的RAR压缩包里是不是有IQY文件,显然只采集元数据的产品无法还原整个拼图。不了解IQY危害性的读者可以去查查关于FlawedAmmyy的威胁报告。
下图是ProtectWise的产品,笔者有轻微密集恐惧症,总是看类似界面不顺眼,不知道页面焦点在哪里,一眼看上去都是重要信息,再细看却又觉得都不重要,产品经理到底要通过这个页面告诉用户啥呢?
这是ProtectWise官方宣传材料里的界面截图。读者可以仔细看看,检测事件流按时间排列,内网不同设备实体混杂在一起,不同攻击手段混杂在一起,上面红色箭头标记的地方写着34.7千条结果,如此体积庞大的“干草堆”,是打算给SOC响应团队一个下马威吗?
下图的事件项目列表显示了ProtectWise的检测能力。不知道读者有没有同感,虽然界面很酷很漂亮,但是产品经理貌似不懂应该如何组织展现结果,总是乱糟糟堆在一起,让人头大。
本文篇幅已经过长,就到这里戛然而止吧。最后,上面提到的国外产品俱为行业明星,非常有竞争力,特点明显优势突出。反正这些厂商也进不来国门,欠缺之处可以随便说,大家看完开心一笑而过。做产品有很多难关要渡过,设计时便需考虑技术可行性,后面工程障碍更是数不胜数。笔者对自己家产品的吐槽更加凶猛,能正视缺点不足才能持续改良进步,总比盲目自大吹嘘炒作要好。高标准带来的好处便是,无论你觉得我们的产品目前是垃圾或是优秀,半年之后再看都会让你感觉有了大幅飞跃提升。同时也要感谢甲方同学的包容与鞭策。