Java网站安全笔记

来源:互联网 发布:深度linux 安装 编辑:程序博客网 时间:2024/06/16 01:39

  • 软件安全特性
    • 机密性Confidentiality
      • 机密性的密码学应用
        • 对称式加密
        • 非对称式加密
      • 机密性与OWASP
    • 完整性Integrity
    • 可用性Availability
    • 身份认证Authentication
    • 授权Authorization
    • 审核Auditing
    • 会话管理Session Management
    • 错误处理Error And Exception Handing

软件安全特性

  • C.I.A
    • 机密性(Confidentiality)
    • 完整性(Integrity)
    • 可用性(Availability)
  • TripleA
    • 身份认证(Authentication)
    • 授权(Authorization)
    • 审核(Auditing)
  • Others
    • 会话管理(Session Management)
    • 错误处理(Error And Exception Handing)

OWASP Top10 - 2017年

原文 翻译 A1 - injection 注入攻击:输入的数据变成执行命令的一部分,没有正确的隔离执行命令与数据,导致改变命令本身含义或改变查询结果 A2 - Broken Authentication and Session Management 有缺陷的身份验证和会话管理:许多网站使用自定义的身份验证机制和会话管理机制,由于操作不正确,导致攻击者可以取得密码,身份凭证或攻击操作上的弱点,以此假冒登录者身份 A3 - Cross-Site Scripting(XSS) XSS跨战脚本攻击:网站缺乏有效的输入验证,攻击者将恶意程序码作为输入内容植入网页或URL,客户端浏览时执行恶意程序 A4 - Broken Access Control 有缺陷的访问控制 A5 - Security Misconfiguration 安全配置错误:网站部署与执行环境是整个网站安全的一部分,包含第三方元件/函数库,开发框架,程序执行环境,应用程序服务器,生产环境等。这些环境的设定若没有正确的配置或采用不安全的预设配置,将会导致数据泄漏 A6 - Sensitive Data Exposure 敏感数据泄漏:网站若没有正确识别敏感数据并在适当时机加密保护,或者不正确的加密机制,都有可能导致数据泄漏 A7 - Insufficient Attack Protection 攻击防范不周 A8 - Cross-Site Request Forgery(CSRF) 跨站请求伪造 A9 - Using Components with Known Vulnerabillities 使用有漏洞的组件 A10 - Underprotected APIs API保护不当

以上是2017新推出的OWASP前10大漏洞,后文根据各个模块分别详细讲述,笔记内容并不是2017年的,所以有所差别。


机密性(Confidentiality)

机密性需求必须考虑的阶段

  • 传输时
  • 处理时
  • 存储时

机密性的密码学应用

对称式加密

指加密与解密时,使用同一把密钥的加密方式。优点是速度非常快,相对于非加密式而言,约是100~1000倍快。缺点如下

  • 除了传输密文,还需要传输密钥,安全性没有很好的保障
  • 每增加一个接收方,就必须多一把密钥,造成密钥的管理困难

非对称式加密

指加密与解密时,使用不同的密钥,但公钥与私钥是配对的。非对称加密解决了对称加密的2个缺点。

HTTPS协议综合对称式加密与非对称式加密

加密应用应该遵守的原则有

  • 使用公开的,国际机构认证的,且未遭破解的加密算法,不使用自行创建的加密方式
  • 使用该加密方式支持的最大长度
  • 密钥保存是关键,且应该定期更换密钥

机密性与OWASP

  • 发生原因
    • 最常见的是未加密敏感数据
    • 使用脆弱的密钥管理方式,脆弱的加密算法和不够高的密钥长度
  • 常见种类
    • 敏感资料传输未使用加密通道。密码等敏感数据未使用加密,或未加salt(即密码加盐操作)
  • 威胁来源
    • 考虑谁可以存取资料,包含于传输过程,存储时,甚至备份后
  • 攻击困难度
    • 高,攻击者通常不通过暴力破解密码,而是通过窃取密钥,或是中间人攻击(man in the middle),或趁传输前后,存储前后,即密码还是明文时窃取
  • 散播性
    • 低,该弱点不具有散播性
  • 可侦测性
    • 中,必须全面考虑敏感数据的生命周期中各阶段的保护措施
  • 技术面影响
    • 高,依赖于保护措施
  • 商业面影响

完整性(Integrity)

可用性(Availability)

身份认证(Authentication)

授权(Authorization)

审核(Auditing)

会话管理(Session Management)

错误处理(Error And Exception Handing)

未晚待续。。本笔记均从蔡宗霖先生的《Java网站安全防护实务手册》整理出来。

原创粉丝点击