仿冒(Spoofing)
消减措施:认证(密码认证、SSL/TLS、IPSec、SSH等)
无认证、绕过认证
对该资源的访问是否需要对访问者进行身份认证?
口令认证
口令的生成
- 口令是否满足复杂度要求?
口令认证过程
- 敏感信息(口令)在传输的过程中有没有做保护?
口令的更新
-
谁有权限修改口令?修改口令前是否验证了修改者的身份?
-
口令有没有更新、有效期的相关策略?
-
在忘记口令的场景中,系统提供的口令恢复机制是什么样的?
证书认证
证书的生成与管理
-
敏感数据(私钥)在存储的过程中有没有做保护?
-
私钥强度是否满足密码应用规范的要求?
-
证书中涉及的密码学算法是否符合强密码学算法要求?
-
是否使用了合法CA签发的证书?
-
是否存在多个站点使用相同证书/私钥的情况?
-
是否有证书吊销机制(CRL)?
-
谁有权限更新证书?
证书的校验
- 如果使用了数字证书进行认证,校验数字证书的合法性时,校验了哪些字段?
认证方式缺陷
-
是否需要对被访问的系统做认证?
-
使用了多少种因素作为认证的条件?
-
是否有方法绕过正常的认证机制直接访问系统?
-
认证成功,是否提供上次异常登录的提示?
-
如果身份认证失败,系统怎么处理的?
- 有没有对重复认证失败的场景做限制?
-
用户在执行特权操作前,有没有要求用户重新做身份认证?
-
认证过程是否能防御重放攻击?
-
认证过程能否防御中间人攻击?
-
如果使用了共享密钥进行认证,有没有防范反射攻击?
-
随机数是怎样生成的?
劫持合法会话
-
会话ID是怎么生成的?长度是否足够?是否满足随机性要求?能否防范暴力破解攻击、会话ID预测攻击?
-
Web应用中,是否防范了会话固定(Session Fixation)攻击?
-
Web应用是否使用Cookie维持会话?有没有在URL中传递会话ID?
-
会话有没有超时机制?超时机制是怎么工作的?
-
会话的失效机制是怎样的?会话失效后怎么处理会话ID的?有没有在服务端及时注销会话及会话ID?
-
在Web应用中,有没有防范CSRF攻击措施?
获取认证凭证
凭证输入时泄露
-
在客户端输入口令时有没有保护口令(共享密钥)不被泄露的措施?
-
命令行的历史记录中是否保存了用户口令(共享密钥)?
-
客户端日志中是否明文保存了用户口令(共享密钥)?
凭证传输时泄露
- 敏感信息在传输的过程中有没有做保护?
凭证保存时泄露
-
是否存在多种不同的路径可以访问到敏感数据(认证凭证)?
-
是否在内存中长期明文存储了敏感信息(认证凭证)?
-
是否存在直接访问内存的途径?
-
用户是否可以导出设备的私钥?