机密信息扫描研究

这些非人类特权凭据通常被称为“机密信息”,指的是一条私密的信息,充当在工具、应用程序、容器、DevOps和云原生环境中解锁受保护资源或敏感信息的密钥。

一些最常见的机密信息类型包括:
特权帐户凭据
密码
证书
SSH密钥
API密钥
加密密钥

SecretRadar的实现思路主要分为三个层面,第一层我们采用传统敏感信息识别技术通过丰富的规则集来保证模型基础能力的稳定和可靠,同时确保了模型良好的可扩展性,以此来支持后续用户自定义的能力。但是这种方法非常依赖固化的长度、前缀、变量名等,匹配效果上容易造成漏报。因此针对难以固定规则捕捉的场景,在第二层我们采用了信息熵算法。信息熵可以用来衡量数据集的信息量大小,也就是其不确定程度。所以数据集的信息熵越大,无序程度就越高。通过计算信息熵,可以有效识别随机生成的密文信息,从而提升模型的召回能力,补足基于规则手段的漏报问题。同样信息熵算法也有其局限性,伴随召回的提升是误报率的增加。因此在第三层我们采用了模板聚类的方法,进行了过滤优化。针对信息熵结果集聚合提取常见关键字,并结合上下文分析,来完成二次过滤。同时通过问题的修复情况,建立二分类数据集,完成算法优化。进而从词法识别迭代为语义识别。

常见的机密信息正则表达式

access token         [1-9][0-9]+-[0-9a-zA-Z]{40}
                     EAACEdEose0cBA[0-9A-Za-z]+
API key              AIza[0-9A-Za-z\-_]{35}
OAuth ID             [0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent.com
API key              sk_live_[0-9a-z]{32}
Standard API Key     sk_live_[0-9a-zA-Z]{24}
Restricted API Key   rk_live_[0-9a-zA-Z]{24}
Access Token         sq0atp-[0-9a-zA-Z\-_]{22}
OAuth Secret         sq0csp-[0-9a-zA-Z\-_]{43}  
Access Token         access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}
Auth Token           amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
API Key              SK[0-9a-fA-F]{32}
API Key              key-[0-9a-zA-Z]{32}
API Key              [0-9a-f]{32}-us[0-9]{1,2}

你可能感兴趣的:(安全)