第106篇
极客时间《许式伟的架构课》课程笔记。
病毒与木马
- 实模式的操作系统
- 以微软DOS系统为代表,操作系统进程运行在物理地址空间下
- 基本没有安全能力,采取信任模式:相信用户不会搞破坏
- 网络不发达,恶意软件以计算机病毒为主,特征是繁衍自己,对系统本身进行破坏
- 保护模式的操作系统
- 软件运行的内存地址空间隔离,进程之间相互不能访问
- 木马复制自己后伪装成正常软件的一部分,和正常的软件代码同属于一个进程内
- 互联网发展迅速,恶意软件以木马为主,特征是繁衍自己,并且默默隐藏窃取隐私,之后再通过互联网传递窃取的信息
- 数字签名
- 为了彻底阻止木马程序篡改正常的应用程序,操作系统采用数字签名方法可以实现软件鉴别
- 但全部软件都签名的方式会导致操作系统转向封闭,所以一般都仅是提示无签名警告
- 第一个大规模把软件发布变成封闭环境的就是苹果的iOS操作系统,通过App Store实现
软件的信息安全
移动时代有越来越多的敏感信息更加容易被软件触及
-
iOS操作系统的安全管理
- 软件隔离机制:保护模式、沙盒系统
- 数字签名机制
- 敏感信息的权限管控机制
Android 操作系统是在安装软件时索要权限
-
移动时代恶意软件
- 既不是病毒也不是木马
- 是“具备实用功能,但背地却通过获取用户敏感信息来获利”的应用软件
- 通过诱导用户下载,然后在安装或使用时索要敏感信息的获取权限
网络环境的信息安全
网络环境安全风险的3个级别
- 被窃听的风险。可能会有人在这些节点上监听你访问和提交的内容
- 被篡改的风险。可能会有人在这些节点上截获并修改你访问的内容
- 被钓鱼的风险。可能会有人冒充你要访问的服务提供方和你通讯
解决中间人问题
- 防篡改
- 应用场景:电子合同、电子公章、网络请求授权等
- 场景特征:不在乎内容是否有人看到,在乎的是内容是不是真的是某个人写的
- 解决方法是使用数字签名技术
- 避免被窃听、被篡改、被钓鱼
- 解决方法是加密,即对传输内容进行加密
- 加密算法分为对称加密和非对称加密
- 对称加密是指用什么样的密钥(key)加密,就用什么样的密钥解密
- 非对称加密有一对钥匙,分私钥(private key)和公钥(public key)。私钥自己拿着,永远不要给别人知道。公钥顾名思义是可以公开的,任何人都允许拿
- 非对称加密机制非常有效地解决了在不可信的网络环境下的安全通讯问题
- 非对称加密机制的缺点:慢,速度比对称加密慢很多
- 一个改善思路是结合两者。非对称加密仅用于传输关键信息,比如对称加密所需的密码
- HTTPS协议
- HTTPS 协议中,第一步是 A 作为客户端(Client)去获取 B 作为网站的公钥(B-public-key)
- 获取方法:找一个可信的中间人,第三方权威机构 G,由它来证明,网站 B 返回客户端 A 的公钥(B-public-key),的确来自于 B,中间没有被其他人篡改
- 网站 B 不能直接返回自己的公钥(B-public-key)给客户端 A,而是需要返回由权威机构 G 做了数字签名的公证书(简称数字证书)
- HTTPS 并不能完全解决钓鱼问题。它假设用户对要访问的网站域名(domain)可靠性有自己的判断力