密码安全,顾名思义,它指的是对于我们密码的安全。密码是我们生活中最常见的进行身份验证的一个因素,一般我们在登录系统或者是其他应用程序的时候,最先需要利用用户名和密码来验证我们的身份,这称为单因素身份验证。
 
       除了密码之外,我们还可以再进一步利用数字令牌、利用生物特征,比如虹膜扫描,视网膜扫描等来对你进行身份验证,但密码永远是最常见的身份验证的第一个因素。
 
      密码作为最基本的一个身份验证的因素,如果没有被保护好,或者被别人猜测到,而网站又没有做到足够的防护,没有检测或者其他加固的安全性措施的话,那么你的系统就完全暴露在攻击者面前,再也没有任何秘密可言。 

P1常见密码攻击手段及其危害分析

危害分析

      针对密码攻击的危害,以保险场景为例,保险公司的一个普通客户,突然某一天接到一个谎称是保险公司的客服电话,声称保单查询系统正在升级,需要提供登录保单查询系统的用户名和密码将系统升级。如果没有足够的安全防范的意识,透露了你的用户名和密码信息,那么对方可以通过一系列社会工程学攻击的手段,查询并修改你的信息,甚至是改动账户资金分配。
 
      如果你的密码恰好是你最常用的一个密码,骗子将有可能用你的密码去撞库,接下来你会收到源源不断的外部保险推销的电话和异常登录的短信提示,造成严重的信息泄露。
 
       再假设另外一个场景,比如保险公司有一个积分系统平台,客户可以利用自己的保费去换取积分,并在积分商城兑换相应的礼品。这个积分平台首先会对注册用户开放,如果他的密码设为最常见的123456这样的弱密码,积分平台被黑客仿冒登录后,把用户的积分去兑换为价值不菲的商品,并且邮寄到黑客指定的地址,造成了客户的损失。另外一方面对公司而言,客户会严重怀疑是保险公司系统有漏洞,导致了个人信息的泄露,会造成退保、投诉等业务损失。
 
      所以由此看来,我们密码的各种各样的问题,会造成客户损失、客户投诉、业务损失和监管处罚。这样的事情其实在我们生活中每天都在发生,最终受影响的都是公司的业务。

 

常见密码攻击手段

1.暴力破解

       暴力破解是指把所有的数字、字母、包括特殊字符等等进行排列组合,把所有的组合尝试一遍来猜测这是不是用户正在使用的密码。虽然看起来比较笨拙,但是却是最有效的密码攻击的手段。

2.字典攻击

       字典攻击比暴力破解稍微智能一点,根据受害人的个人信息,比如昵称、别名、名字、生日邮箱等等,生成一个可能使用的密码的字典。字典跑完,攻击也就随之结束,所以字典攻击的效果取决于这个字典的精准程度。 

3.密码猜测

       通过猜测常用的简单密码尝试登录账户,譬如123456或者生日等等。在这个过程中,你登陆失败的痕迹也会记录在审计日志里面。 

4.彩虹表攻击


       哈希称为HASH,是用来保证数据完整性的一种手段,本质是一个数学函数,能够将不定长的字段经过哈希函数的运算都转换为固定长度的字段。 比如abc,或者ABC123,经过哈希之后,它会生成一段乱码,而看不到明文。 但哈希函数有一个不可逆的特性,就算能够得到它的哈希值,也无法逆推出原来的明文的那个值。 但黑客去对很多得明文去做哈希的运算,记录在一个表格里面,这个表就叫做彩虹表。

      将来黑客去对一个公司的数据库进行偷库,他看到数据库里面的一个密码字段,他可以到彩虹表里面去找对应的明文值,那么这就叫做彩虹表攻击。 它特征就是提前生成散列,那么当发现散列值的时候,用散列值比对出明文密码,这也是一种密码攻击的手段。

5.社会工程学攻击手段

      社会工程学攻击手段本身是不依赖于任何的技术手段。 但如果利用人性的一系列的心理学的一些弱点,再结合一些技术手段,比如说结合一些矿产脚本攻击漏洞,结合调邮件等等的技术手段,它能发挥最大的一个攻击的效率。 常见的通过社会工程学攻击去获得密码的方式有哪些?像电话客服套取用户密码,肩窥、垃圾搜寻等方式去获取密码并尝试登录你的系统,能成功地进入公司的内网。

6.间谍软件

       一种恶意软件,常伴随着我们的木马安装,一旦电脑感染了木马恶意程序,就可以偷窥电脑里面传输的所有的机密的信息,包括你的密码等等。 

7.窃听攻击

      一些内网嗅探工具,例如sniffer,可以用来抓取流量包,如果这个包里面的传输的协议使用的是ftp或者http这些明文协议,那么一旦被嗅探到,利用抓包工具里面的协议分析仪功能,就可以查看包里面的明文用户名密码等内容。 

常见攻击用到的工具

1.字典生成工具

Crunch、CUPP等

2.密码破解工具

Hydra、Medusa、Aircrack-ng等

3.钓鱼邮件,电话钓鱼攻击

只需要一个邮箱后者一部电话

P2常见密码安全风险行为

      密码是权限控制的第一道关卡,因为很多用户设置密码过于简单,登录的系统也并没有强制采用强密码策略,同时也没有采用其他的多因素身份验证的方式,包括用户的安全意识的不足,就容易遭受社会工程学攻击。而且密码被破解之后,缺乏异常登陆的报警,也没有能够及时地监测到密码的异常登陆,就会导致攻击频发。
 

我们有哪些常见的密码安全相关的风险的行为?

1.设置弱密码,例如123456这样的简单密码;
2.轻易相信别人,不验证别人身份就透露密码和密保问题;
3.密码一旦设置不再修改,包括使用共享密码;
4.密码主动外泄;
5.肩窥等等......
 
       我们威胁的主体就是常见的攻击者,就是所谓的黑客,他会利用各种各样的漏洞去发动攻击,从而造成我们所谓的风险。
 
      弱密码本身就是一个漏洞,它会导致两类风险:第一个是外部风险,也就是说如果由于各种各样的原因造成客户信息的泄露、客户的投诉以及监管的惩罚,这些都是外部的风险;
 
       第二个是内部风险,比如由于某种原因,后台的密码被攻破,那么黑客就可以去登录我们的系统的后台,植入webshell,夺取服务器的最高权限。甚至还可以不动声息地在我们的服务器上植入挖矿的软件,包括利用服务器发送垃圾邮件,成为发动拒绝服务攻击的一些傀儡。如果由于密码的漏洞被安装了间谍软件,那么内网的所有数据都会被监听,包括财务数据、开发的代码等等,企业内部也没有任何的秘密可言。

 

P3 安全行为规范建议

风险的常见处置方式

1.风险的接受
2.风险的规避
3.风险的减小
4.风险的转移

风险控制的手段

1.预防性控制
2.检测性控制
3.修复性控制
按照功能性,又可以分为:
1.物理性控制
2.逻辑性控制,又称技术性控制
3.管理性控制,又称行政性控制

 

常见的安全行为规范

1.强密码策略
2.密码复杂度
3.密码历史
4.密码最长/最短使用时间
 
       在设计系统的时候,除了做密码的验证,对密码实施强密码策略,对密码进行验证之外,还需要利用口令、令牌或者是生物验证等其他的方式去实施双因素或者多因素身份验证,仅靠密码身份验证进行验证是完全不够的。
 
       另外一方面,密码找回的问题也不能过于简单,而且还要不断去验证它的一个身份等等,这都是密码设计的一个安全行为的规范。 
 
      最后在内网实施产品码策略,可以在预控服务器上去执行,通过组策略去实施密码长度、复杂度等强密码的一个策略,包括去实施账户地锁定的阙值、持续时间等等。也可以用于我们的线上的系统,这些都是一些密码相关的安全设计的规范,包括使用加密去存储账户密码,通过密码学的一些手段去实施密码的加密,不能以明文的形式存储密码。还要去定期的去做审计,及时去触发报警等等。
 
 
课程推荐

      《密码安全》是面向技术人员,介绍强密码策略,演示内网密码攻击示例,账户密码加固策略,以及简单的加密基本原理,对称加密非对称加密,公钥基础设施架构;风险危害透析、常见风险行为分析、安全行为规范建议、管理和技术手段建议等。

视频地址:https://www.aqniukt.com/course/12237

(可点击图片直接跳转)