弱口令无损检测设计
2015-12-03■
■
随着企业业务IT化程度加大,信息系统的规模和复杂度大幅提高,信息安全已经成为影响企业经济效益、企业形象的重要因素。单纯依靠发生安全事件后通过告警与审计系统响应问题、查找发生原因的被动安全模式已经不足以跟上业务IT化的步伐。迫切地需要在安全事件发生之前确认高价值信息的分布、检查设备安全配置、更新安全补丁,从源头上减少攻击机会和漏洞。将被动安全主动化,改响应问题为预防问题,变被动响应为主动防御。安全问题里高风险问题之首,弱口令问题。所以急需检查出弱口令是否存在、督促修改弱口令、复查弱口令、确认无弱口令检测见过。
图1 弱口令无损探伤检测流程图
当前大多数是采用“试探法”、“暴力法”,使用用户的弱口令字典的账号密码不断地尝试登录。这种方法能够解决问题,但是效率很低,并且要由于多次尝试登录,会造成平台系统业务中断,影响平台性能等负面效果。所以本文提出一种无损探伤的方法,通过从设备上把密文采集下来,线下在自己的系统中进行分析加密算法、加密弱口令字典库、比对、出结果。不仅缩短时间,并且根本不影响平台的正常使用下完成弱口令检测。
弱口令无损探伤检测功能方法
1.弱口令检查流程如图1所示
2.弱口令字典库管理
字典包括用户字典和密码字典,字典组成:中国移动网内常见弱口令(539)、网络安全领域公认常规弱口令(3546)、1到6位长度内的所有全数字组合(1111110)。
例 如 :1 2 3 4 q w e r,1 2 3!@#,1 q 2 w 3 e 4 r,boco!12,cq1234_royasoft等
支持集中维护,集中增、删、改、查弱口令字典项目,可以导入新的弱口令字典进行增量更新;可以实现各个破解分析引擎使用的弱口令字典的集中、统一更新,与集中管理模块自动同步;可以分级管理弱口令字典,主要目的是根据破解资源配置情况,在可控的时长内分阶段完成从缺省、空口令等极弱口令,到一般弱口令,再到两种字符组合的轻微弱口令等不同程度弱口令的核查任务,逐步提高核查力度。
3.无损探伤检测
首先从配置文件里获取相应设备密文,部分可由检查项的脚本内容完成,还有例如 Windows的SAM文件必须有相应的工具才能提取。Linuxunix 去掉shadow影子文件时候要注意root权限。
从密文中取出用户的哈希值和密匙,分析密文的算法,根据相关加密函数。用弱口令里的字典与密匙通过相关算法组成一个哈希值表。分别与密文哈希值比较,如果相同则表示保存该哈希值并找出对应的口令。字典同试探法。显示出IP地址,设备类型,相应的账号和弱口令。支持在线、离线检测。
4.任务管理
创建独立的弱口令核查或者包括弱口令合规检查项的检查任务时,完全采用合规管理功能已经实现的检查对象选择、合规检查项选择、任务属性(一次还是周期性以及周期设置)设置等流程和操作模式。
在任务设定完成后,系统可以智能分析任务涉及网元范围,将采集任务按照负载均衡原则、网元与探针是否有对应覆盖关系,分解到对应的集中部署采集探针或者分布式部署的采集探针上:
(1)混合部署模式,可以根据所选择检查对象属于CMNet、没有部署分布式探针的系统,还是部署了分布式采集探针的网管网、数据业务系统等等。纯网络设备构成或者没有部署分布式探针的系统,如 CMNet,根据包含的设备数量,均衡地分布到集中部署的采集探针上面;其它属于已经部署了远端分布式采集探针的网元,将采集任务下发到对应的分布式采集探针上面;
(2)集中部署模式,按照任务涉及的网元数量以及当前采集探针负荷(是否正在执行采集任务情况等)、均衡地分布到所部署的所有采集探针上面。
5.在线检查和离线检查
(1)在线检查方法
在线检查利用原有统一的合规管理功能的网络架构和访问各资源的帐号权限,集中或者分布式采集各设备上的密码密文文件,然后在后台破解分析服务器上基于负载均衡机制进行分布式弱口令破解分析,最后将结果返回集中服务器进行统一的数据分析挖掘。
(2)离线检查方法
支持用人工方式或者利用离线检查生成的采集脚本获取被检查设备的密码密文(shadow)文件,然后利用利用离线检查功能提供的导入能力,将结果上传或者导入集中弱口令核查子功能,由系统触发破解分析服务器集群以负载均衡模式集中破解,最后将结果返回集中服务器进行统一的数据分析挖掘。
6.设备与加密类型管理
(1)支持设备类型
弱口令核查子功能应支持对各类主流主机、网络设备、数据库的核查:
(2)加密算法管理
弱口令核查应支持以下加密模式,NT MD4、MD5、SHA-1、SHA-256、SHA-5 1 2、D E S、B l o w f i s h、MySQL特有算 法、Cisco特有算法、华为特有算法、中兴特有算法等当前流行的加密算法。实际不仅仅支持以上加密算法,只是列举当前比较流行的加密算法。
实验对比分析
目前大多数弱口令检测方法试探法,首先,获取目标机的IP地址和端口通过IP和端口号尝试登录连接。通过程序使用用户字典和弱口令字典里的账号密码不断地尝试登录。若连接成功,保存连接成功的则表示此账号为弱口令。
此方法的缺点是检测过程中会极大影响业务平台的正常使用,如有的设备尝试多次登录密码不正确将会挂起禁止访问、系统登录连续几次密码错误将此账号锁死,并且当你多次登录会给业务平台带来额外负载,大大增加了并发。
图2 传统的试探法测试情况
图3 无损探伤测试情况
本文提出的方法与当前比较常用的试探法进行了实验对比,大致情况如图2、图3所示。
通过不同环境(设备数量、账号数量不同)的情况下,与试探检测方法进行了对比分析。
由于本文提出的无损探伤方法是先采集、解密算法、加密匹配,是在线下完成的,所以对业务平台是没有任何负担,不会造成设备重启,账号锁死情况。但是在时间上由于需要分析加密算法、加密弱口令测试,在不同环境下有的用时要多余试探法、有的小于试探法。主要原因是试探法直接用弱口令字典库密码口令去尝试登录,没有解密、加密过程所以需要时间少,主要时间花费在设备重启和账号锁死。在花费了一些时间,但是换来平台的正常使用(无损探伤),所以本文提出的无损探伤方是进一步优化了试探法。
总结
本文对弱口令无损探伤检测进行研究,通过常采集设备口令、分析密文、弱口令字典库、匹配。进行了大量测试,较比目前暴力破解无论是效率,还是效果上都有着明显提高。由于本人水平有限目前只是研究到这里,存在很多缺点与不足,请指正缺点和提出宝贵意见。争取在以后的工作继续加深研究、完善弱口令检查。