概述
之前称为敏感数据泄露。首先是确定传输中和静止数据的保护需求(这里的重点在于经常暴露敏感数据的密码错误或缺少密码错误)。例如,密码、信用卡号、健康记录、个人信息和商业秘密需要额外保护,主要是如果该数据属于隐私法(例如欧盟的通用数据保护条例 (GDPR))或法规(例如金融数据保护)例如 PCI 数据安全标准 (PCI DSS)。对于所有此类数据:
1.是否有任何数据以明文形式传输?这涉及 HTTP、SMTP 和 FTP 等协议。外部互联网流量是危险的。验证所有内部流量,例如,负载平衡器、Web 服务器或后端系统之间的流量。
2.默认情况下或在较旧的代码中是否使用任何旧的或弱的加密算法?
3.是否正在使用默认加密密钥、生成或重复使用弱加密密钥,或者是否缺少适当的密钥管理或轮换?
4.是否未强制执行加密,例如,是否缺少任何用户代理(浏览器)安全指令或标头?
5.用户代理(例如,应用程序、邮件客户端)是否不验证收到的服务器证书是否有效?
攻击方式
常见的攻击方式主要是扫描应用程序获取到敏感数据
漏洞原因
对数据加密存在有机可乘的漏洞(比如弱密码或者加密后很容易破解),或者网络协议、算法本身的弱点,如 telent、ftp、md5 等
漏洞影响
1、应用程序、网站被修改
2、个人资料、公司资料泄露,被用于售卖获利等
防御
1.对应用程序处理、存储或传输的数据进行分类。根据隐私法、监管要求或业务需求确定哪些数据是敏感的。
2.根据分类应用控制。
3.不要不必要地存储敏感数据。尽快丢弃它或使用符合 PCI DSS 的标记化甚至截断。未保留的数据不能被窃取。
4.确保加密所有静态敏感数据。
5.确保拥有最新且强大的标准算法、协议和密钥;使用适当的密钥管理。
6.使用安全协议(例如具有完美前向保密 (PFS) 密码的 TLS、服务器的密码优先级和安全参数)加密所有传输中的数据。使用 HTTP 严格传输安全 (HSTS) 等指令强制加密。(旧协议:文件传输协议 (FTP)和简单邮件传输协议 (SMTP))
7.对包含敏感数据的响应禁用缓存。
8.使用具有工作因子(延迟因子)的强自适应和加盐散列函数存储密码,例如 Argon2、scrypt、bcrypt 或 PBKDF2。
9.独立验证配置和设置的有效性。
特有名词
PCI DSS
支付卡行业 (PCI) 数据安全标准 (DSS) 是一种全球信息安全标准,旨在通过增强对信用卡数据的控制来预防欺诈。
HSTS
HSTS 是 HTTP 严格传输安全(HTTP Strict Transport Security) 的缩写。 这是一种网站用来声明他们只能使用安全链接(HTTPS)访问的方法。 若是一个网站声明了 HSTS 策略,浏览器必须拒绝全部的 HTTP 链接并阻止用户接受不安全的 SSL 证书。 目前大多数主流浏览器都支持 HSTS (只有一些移动浏览器没法使用它)。、
个人理解HSTS存在的意义就是在用户输入不安全网址时,HSTS会增加其安全性,即使你打开网站看到的是全站 HTTPS 状态 ,是因为我们在服务器上做过 301/302 跳转到 https://www.leixue.com (原本输入的是 http://www.leixue.com 或 www.leixue.com)这个地址的, HTTPS 网站的做法是对用户的 HTTP 访问做 302 跳转到 HTTPS,并重新建连。
HSTS 是否彻底安全
不幸的是,你第一次访问这个网站,你不受 HSTS 的保护。 若是网站向 HTTP 链接添加 HSTS 头,则该报头将被忽略。 这是由于攻击者能够在中间人攻击(man-in-the-middle attack)中删除或添加头部。 HSTS 报头不可信,除非它是经过 HTTPS 传递的
目前惟一可用于绕过 HSTS 的已知方法是基于 NTP 的攻击。 若是客户端计算机容易受到 NTP 攻击( NTP-based attack),它可能会被欺骗,使 HSTS 策略到期,并使用 HTTP 访问站点一次。
网站数据库加密
argon2 , scrypt, bcrypt, pbkdf2 都可以,首推 argon2, scrypt(都是哈希利用彩虹表暴力破解但是加盐之后好像不太能了)