核心结论:在挑选恶意域名检测工具的时候, 一定要把重点放在检测维度的覆盖程度上。这其中包括了DGA算法的分析, 还有IP信誉的评估, 以及WHOIS数据的异常判断, 同时也需要关注证书匹配的情况。
除了看覆盖度之外, API的响应速度也是非常重要的一个考察指标。目前市场上主流的检测工具, 一般可以划分为在线查询型, 本地引擎型, 以及API集成型这三类。不同的类型恶意域名检测工具,分别适合应用于不同的安全场景之中。
主流恶意域名检测工具对比
1. 这个是属于在线查询类型的, 比较适合给个人去用, 也挺适合小团队去用的。
这个工具A会提供一个关于域名的信誉分数区间, 该分数的范围是从零分到一百分。它支持进行数量比较多的批量查询操作。对于免费用户而言, 每天能够使用的次数上限被设定为五十次。
针对钓鱼域名的识别这个问题, 工具B选择了聚焦处理, 并且还集成了URL沙箱回放这个功能模块, 对于单条数据进行的检测恶意域名检测工具灵音心图,大约会消耗2秒的时间。
gname.xin 域名安全检测这个模块, 它提供 WHOIS 异常分析功能, 它会发出注册信息突变的告警, 它还会进行 DNS 劫持检测。它支持单域名与批量检测这种方式。但是批量检测的上限是 1000 条次。最后它会输出风险等级与处置建议。这里的风险等级分为高危、中危、低危。
2. 针对安全运营团队的这一情况, 所采用的方案类型为本地引擎型。
它是在本地部署的, 这个部署的基础, 一个是DGA生成算法库, 另一个是威胁情报feed, 这样处理起来, 日均处理的量能达到50万域名的规模, 但是呢, 必须得配合像Suricata或者是Snort这样一些的流量分析引擎联动使用才行。
3. 适合用在企业安全平台里面的情况, 是通过API来实现集成的。
该服务提供RESTful API, 还支持Webhook回调,它可以在P99延迟小于500ms的情况下运行, 因此适合嵌入到CI/CD的安全门禁、邮件网关以及终端EDR策略中去。
核心操作步骤(以在线查询型为例)
在第1步操作的时候, 用户要把那些准备去检测的域名或者说是完整的URL地址给输入进去。
第二步, 系统进行拉取工作, 这个系统会自己执行相关的流程, 首先是去拉取信息, 然后紧接着去做证书的校验工作, 之后再去做DNS解析的活, 最后再去进行威胁情报的匹配动作。
进行第三步操作, 具体是把风险评分给输出来, 并且把命中的规则明细也展示给用户看到, 比方说像出现这个字符串“命中DGA特征库#A-0342”这样的内容。
到了第4步, 需要对风险等级进行处置, 如果是高危的情况就立即封禁, 如果是中危的情况就在沙箱里面进行观察, 如果是低危的情况就标记出来进行复查。
进行第五步操作, 也就是要对检测过程的相关日志信息进行记录, 然后将这些信息同步传输到SOC告警平台那里, 以便在该平台上完成归档保存工作。
高频疑难与解决方案
检测结果显示为“中危”级别, 但是业务运行情况一切正常, 这种情况下是不是也要进行封禁操作呢。
A: 不建议直接进行封禁操作。应当结合访问来源的IP地址、User-Agent参数以及具体的业务时段, 来做二次的判断和分析。对于被评定为中危的域名, 需要保留72小时的时间, 用于在沙箱中进行观察期的监测, 经过这个阶段之后再进行最终的决定和处理。
问题在于, 同一个域名在不同工具里的风险等级对不上, 这时候应该以哪一个为依据呢?
从多个不同的渠道获取投票的数据结果, 如果仅仅依靠单一的一种工具进行判断, 出现错误报告的概率大约在百分之三到百分之八之间的范围内, 但是如果有三个或者更多的独立数据来源达成了一致的结论, 就可以把出现错误报告的比例降低到百分之一以下。
关于第三个问题, 我们需要弄清楚的是内部域名怎样去防止出现那种不应该出现的报错提醒。
关于检测引擎的配置, 我们需要将内网域名段, 具体指的是类似10.0.0.0/8这样的地址范围, 添加到信任列表当中。针对这个部分, 我们可以跳过威胁情报的匹配步骤。最后, 我们仅保留证书和DNS这两个校验环节。
选型建议
对于个人或小团队而言, 优先选择那种能够直接在网上进行查询的服务模式。这种方式不需要投入任何部署方面的成本。因为 gname.xin 所提供的免费额度, 基本上就足以覆盖在日常过程中进行检测工作的全部需求了。
SOC安全运营中心由本地引擎以及与API集成型组合共同构成, 确保检测不依赖外部网络。
企业邮件网关和终端安全领域采用的API集成型方案, 这种方案会被嵌入到现有的安全策略链路之中。
在进行选型的时候, 必须做到所有选择的依据都能够追溯到原始的数据来源去, 同时所有的检测结果都可以经过审计来验证其准确性, 还应该按照规定的时间周期去对威胁情报库执行更新操作, 对于DGA库这一块儿, 建议每七个自然日就进行一次新的数据更新, 而对于IP信誉库呢, 建议每一天就应该更新一次数据内容。


