2020 11 月读书笔记之二: 安全攻防技能30讲
每一年安全问题频发,主要的根源是大多数公司, 1 安全意识低 不重视,以为没问题 2. 优先级不高 投入没有直接产出 3. 能力不够,缺乏基本的安全知识。 何为舟前前微博安全研发负责人,现为美团安全经理。作者以专家的视角梳理的安全的知识体系。
![](https://img.haomeiwen.com/i8979482/d9e68d4c37cbdda6.png)
1. 安全的现状:
小公司没有安全,大公司补安全
如果业务的开发和管理人员,能够具备基础的安全知识,尽早做好安全规划,就能够以很低的成本满足公司前期的安全诉求
学习安全不需要当专家
1. 感觉需要懂前端、懂后端、懂操作系统、懂网络。需要懂的知识非常多,但幸运的是,对于安全入门来说,宽度比深度更重要.
2. 对于这些基础知识,深刻理解自然更好,但是懂些皮毛也足够了
3. 靠技术和工具实现安全太难,从意识源头开始会事倍功半,如普通员工的安全意识,系统管理员的安全意识,开发人员的安全意识。当安全人人有责的意识深入人心,再辅以技术(安全产品,安全技巧),大部分的安全问题都能规避了。
2.安全模型
我们学习一个知识在学习它的底层模型,下图是安全的底层模型
3. 安全的目标
安全的本质就是保护数据被合法地使用 CIA 三元组
机密性 Confidentiality确保数据只被授权的主体访问,不被任何未授权的主体访问 (不可见) 针对读
完整性 Integrity 完整性就是确保数据只被授权的主体进行授权的修改 “不可改” 可追溯
可用性 Availability 可用性 可用性就是确保数据能够被授权的主体访问到 "可读,能读, 可达性"
CIA只是告诉你要从哪些方面去考虑数据的安全性 在互联网企业发展初期,可用性的优先级较高。如果涉及金钱相关的业务,则完整性的优先级更高;而涉及个人隐私相关的业务,则保密性的优先级更高
4. 安全的步骤
黄金法则
认证(Authentication) 身份识别其实就是在问“你是谁”,你会回答“你是你”。身份认证则会问“你是你吗”,那你要证明“你是你”这个回答是合法的 认证形式可以大致分为三种。按照认证强度由弱到强排序,分别是:
你知道什么(密码、密保问题等);
你拥有什么(门禁卡、安全令牌, 手机,email 等);
你是什么(生物特征,指纹、人脸、虹膜等)
授权(Authorization) 下一个需要明确的问题就是“你能做什么”。我们的操作都会受到一定的限制。比如,某些文件不可读,某些数据不可修改。这就是授权机制
审计(Audit) 当你在授权下完成操作后,安全需要检查一下“你做了什么”,这个检查的过程就是审计
当发现你做了某些异常操作时,安全还会提供你做了这些操作的“证据”,让你无法抵赖,这个过程就是问责
5. 加密技术
密码学作为 AAA (认证、授权、审计机制)的基础
对称加密算法、 发送方,会使用加密算法和密钥,生成消息对应的密文;而你作为接收方,想要阅读消息,就需要使用解密算法和一个同样的密钥,来获得明文
非对称加密算法 非对称加密算法中,公钥是公开信息,不需要保密,我们可以简单地将一个公钥分发给全部的通信方. 非对称密钥其实主要解决了密钥分发的难题
散列算法 利用它可以对任意长度的输入,计算出一个定长的 id 要求: 不可逆性,
鲁棒性(同样的消息生成同样的摘要)、
唯一性(基本不存在两个不同的消息,能生成同样的摘要, 碰撞概率几乎为0)
此外本课程还深入讨论JWT, oAuth 已经一些常见的工具手段跨站攻击,SQL注入,反序列化带来的问题,代码泄露,第三方库和入侵检测系统。
推荐指数 4.2 颗星