合规的密码设置就一定安全吗? |
由于企业对安全越来越重视以及安全意识的普及, 很多系统管理员都意识到密码长度和复杂性的重要。 根据很多安全法规, 比如支付卡行业数据安全标准PCI-DSS里就要求密码设置必须有最小长度和复杂度的要求。 绝大多数的系统管理员也确实是按照这个来做的。 不过, 有很多系统尽管密码设置是合规的, 却还是让黑客通过密码猜解的方式进入了系统。
安全渗透专家Jonathan Lampe最近通过一个商业站点的登录漏洞, 分析了其中的5000个最终用户设置的密码。 这些密码全部都符合PCI-DSS标准。 , 实际上, 所有的这些密码都超过了PCI-DSS的最低要求(超过7位, 包括了数字和字母), 这些密码至少都是8位, 所有的密码都包括至少一个大写字母, 一个小写字母, 一个数字。 很多密码还包括了特殊字符。(在笔者所见到的商业网站的密码要求里, 这已经是相当高的了)。 👮♂️🪖🔋🤩 Jonathan Lampe对这些密码进行了分析, 下面是一些分析的结果: 1、密码长度 🧑🎤🩲🧪🤖👂 61%的密码为8位到9位。 平均密码长度为9.6位。 平均每个密码包括了1.1个大写字符, 6.1个小写字符, 2.2个数字以及0.2个特殊字符。 2、密码复杂度 如果采用大写字符, 绝大多数用户(86%)只采用1个大写字符。 而这个大写字符往往就是在密码的第一位。 当密码中包括小写字母时, 59%的密码的小写字母个数为5到7个。 🤌🏫🥭➡🐝 当密码中包括数字时, 63的密码的数字在0到99之间。 而使用个位数的情况很普遍(41%)。 采用年份的情况也很普遍, 有20%的密码采用4位数字, 绝大多数这样的4位数字从1900到2015. 而包含2013这个数字(Jonathan Lampe分析这些密码的当年)的密码有5%。 尽管这个站点并不强制使用特殊字符。 17%的用户还是在他们的密码里包括了特殊字符(这个站点的用户还是很有安全意识的)。 不过, 90%的情况下, 他们仅仅使用一个特殊字符。 最常见的特殊字符包括:“!”(占29%), “.”(占19%),“@”(占15%), “#”(占14%)。 然后就是“-”, “$”,空格, “*”以及“+”。 这些分别占3%到6%不等。 那些包括多个特殊字符的密码中, 68%的密码只是重复单个特殊字符。 如“##”或者“???”之类。 🧑🎤💍🗡🤪👆 3、密码的猜解难度: 与初始密码的近似程度 这个站点会给每个用户发送一个固定的初始密码, 然后要求用户修改密码。 Jonathan Lampe还分析了初始密码对用户设置密码的影响。 比如说:初始密码是“RedBlue1”, 用户会不会改成”RedBlue2“或者”GreenBlue1”之类的密码。 结果是, 初始密码的设置确实影响了用户的密码设置。 13%的用户的最终密码与初始密码有很大的近似度。 4、密码的猜解难度:与用户名的近似程度🧑🚀👓🧲😒✊ 这位老兄接着又比较了用户名和密码的近似度。 比如, 用户名是 . 他看看密码是不是如john2013, jsmith13, corp123等等模式。 结果发现有10%的用户的密码与用户名具有近似度。 5、密码的猜解难度:包括字典单词 ✋🏠🥣❗🐞 紧接着, 他又比较了这些密码中包括字典单词的情况。通过比较密码中连续4个以上字母的组合。他 发现75%的密码包含了一个或者多个单词。 有些用户用几个单词拼成一个容易记忆的句子(这个系统密码字符的上限为24)。不过绝大多数用户仅仅用一个单词。 2%的用户甚至在密码中使用了”password”或者“pass”。 6、密码的猜解难度:键盘组合模式 最后, 这位Jonathan还研究了这些密码是否包含了一些常见的键盘字母组合,比如说:“123”,“qwer”,“poiu”等等。 结果发现, 有7%的密码采用了键盘组合模式。👔✒😥🤛 从密码设置的合规性来说, 这个站点做的相当的好, 甚至超出了PCI-DSS的要求。 然而, 有四分之一的密码与初始密码具有近似度, 以及10%的用户名与密码的近似度等问题, 使得这个站点对于暴力猜解(比如通过构造字典), 钓鱼和社交工程攻击等方面还是存在这安全漏洞。 7、如何防范这些纸面上合规的密码设置漏洞 🧑🎤💍💶😡👎 对很多商业站点来说, 要求采用如令牌, 证书, 或者生物识别等方式并不现实。 因此, 尽管密码有这样那样的缺陷。 很多情况下我们还是不得不用它。 关于如何防范这些纸面上合规的密码设置呢? 这就需要从系统管理员和程序开发者两方面去加强。 系统管理员: 在购买密码保护技术的时候, 系统管理员要询问产品对密码设置有没有做如下的检查: 👍🌞🍭❗🕊 1、禁止密码类似用户名, 注意, 这里是“类似”, 而不是仅仅“包括”,比如说能够区分大小写,如“Smith”就”类似于”“smith”, 最好这个产品能检查一些变体, 比如”john.smith”就类似于“jsmith” 市场上能完全做到这些的产品不多。 不过系统管理员应该尽量多提这方面的要求。 尽量做到上述要求。 👆🪐🍟♻🐺 程序开发人员 作为程序开发人员, 在开发需要最终用户修改密码的系统时, 有责任在程序中对密码的设置进行检查。 以强制用户设置 “好”的密码。 你应该在程序中检查上述给系统管理员的要求。
帖子热度 1.4万 ℃
|
|
在看完这帖子以后,我立即动手回复,因为我生怕迟到的回复不能使更多的人领悟你的圣明,以至使这等网上少有的好贴就此轮沉,我担不起这样的罪名!更加重要的是,能在如此重要、精辟而又生动的贴子后,留上自己的网名,这对我的生命,以及我的家庭,乃至我所处的社会中是多么荣耀的一件事啊,请您高贵而又宽容的心,能够原谅我的这点小小私心!
|
在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!
|