许式伟的架构课
许式伟
七牛云CEO
立即订阅
19946 人已学习
课程目录
已更新 71 讲 / 共 77 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 怎样成长为优秀的软件架构师?
免费
基础平台篇 (21讲)
01 | 架构设计的宏观视角
02 | 大厦基石:无生有,有生万物
03 | 汇编:编程语言的诞生
04 | 编程语言的进化
05 | 思考题解读:如何实现可自我迭代的计算机?
06 | 操作系统进场
07 | 软件运行机制及内存管理
08 | 操作系统内核与编程接口
09 | 外存管理与文件系统
10 | 输入和输出设备:交互的演进
11 | 多任务:进程、线程与协程
12 | 进程内协同:同步、互斥与通讯
13 | 进程间的同步互斥、资源共享与通讯
14 | IP 网络:连接世界的桥梁
15 | 可编程的互联网世界
16 | 安全管理:数字世界的守护
17 | 架构:需求分析 (上)
18 | 架构:需求分析 (下) · 实战案例
19 | 基础平台篇:回顾与总结
加餐 | 我看Facebook发币(上):区块链、比特币与Libra币
加餐 | 我看Facebook发币(下):深入浅出理解 Libra 币
桌面开发篇 (16讲)
20 | 桌面开发的宏观视角
21 | 图形界面程序的框架
22 | 桌面程序的架构建议
23 | Web开发:浏览器、小程序与PWA
24 | 跨平台与 Web 开发的建议
25 | 桌面开发的未来
26 | 实战(一):怎么设计一个“画图”程序?
27 | 实战(二):怎么设计一个“画图”程序?
28 | 实战(三):怎么设计一个“画图”程序?
29 | 实战(四):怎么设计一个“画图”程序?
30 | 实战(五):怎么设计一个“画图”程序?
31 | 辅助界面元素的架构设计
课外阅读 | 从《孙子兵法》看底层的自然法则
加餐 | 想当架构师,我需要成为“全才”吗?
32 | 架构:系统的概要设计
33 | 桌面开发篇:回顾与总结
服务端开发篇 (14讲)
34 | 服务端开发的宏观视角
35 | 流量调度与负载均衡
36 | 业务状态与存储中间件
37 | 键值存储与数据库
38 | 文件系统与对象存储
39 | 存储与缓存
40 | 服务端的业务架构建议
41 | 实战(一):“画图”程序后端实战
42 | 实战(二):“画图”程序后端实战
43 | 实战(三):“画图”程序后端实战
44 | 实战(四):“画图”程序后端实战
45 | 架构:怎么做详细设计?
46 | 服务端开发篇:回顾与总结
加餐 | 如何做HTTP服务的测试?
服务治理篇 (11讲)
47 | 服务治理的宏观视角
48 | 事务与工程:什么是工程师思维?
49 | 发布、升级与版本管理
50 | 日志、监控与报警
加餐 | 怎么保障发布的效率与质量?
51 | 故障域与故障预案
52 | 故障排查与根因分析
53 | 过载保护与容量规划
54 | 业务的可支持性与持续运营
55 | 云计算、容器革命与服务端的未来
56 | 服务治理篇:回顾与总结
架构思维篇 (8讲)
57 | 心性:架构师的修炼之道
用户故事 | 站在更高的视角看架构
58 | 如何判断架构设计的优劣?
59 | 少谈点框架,多谈点业务
60 | 架构分解:边界,不断重新审视边界
加餐 | 实战:“画图程序” 的整体架构
61 | 全局性功能的架构设计
62 | 重新认识开闭原则 (OCP)
许式伟的架构课
登录|注册

16 | 安全管理:数字世界的守护

许式伟 2019-06-07
你好,我是七牛云许式伟。今天我们要聊的话题是操作系统的最后一个子系统:安全管理。
数字世界是高效的,但数字世界也是脆弱的。在越来越多的日常生活被数字化的今天,安全问题也越来越凸显出了它的重要性。
有经验的安全工程师都知道,做好安全的基本逻辑是:不要开太多的门和窗,最好所有人都在同一道门进出,安全检查工作就可以非常便利地进行。
要想构建一个安全可靠的环境,从最底层就开始设计显然是最好的。所以安全管理是一个基础架构问题。现代操作系统必然会越来越关注安全性相关的问题。因为一旦安全问题严重到触及人们的心里防线,整个数字世界都有可能随之崩塌。
让我们从头回顾一下操作系统安全能力的演进。

病毒与木马

首先是实模式的操作系统,以微软的 DOS 系统为代表。实模式的操作系统进程都运行在物理地址空间下。
这意味着,每个软件进程都可以访问到其它软件进程(包括操作系统)的内存数据,也可以随意地修改它。所以这个时期的计算机是非常脆弱的,它选择的是信任模式:我相信你不会搞破坏。
不过,好在这个时期网络还并不发达,所以一个单机版本的恶意软件,能够干的真正恶意的事情也很有限。这一时期恶意软件以计算机病毒为主,其特征主要是繁衍自己(复制自己),对计算机系统本身做某种程度的破坏。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(30)

  • pawhrmyki
    看过一个讲rsa原理的文章,非常清楚,推荐给大家~~http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
    2019-06-07
    11
  • KEN.Z
    问一下许老师,
    "这样,木!马程序和正常的软件代码同属于一个进程内,所有信息对其仍然一览无余。"
    这个是通过何种方式实现的呢?

    作者回复: 把自己加到一个正常程序的尾部,然后修改程序入口,让它跳转到自己,执行完自己后再跳转回正常的程序代码。这样在用户看来这个程序功能没有发生变化,但是实际上每次开始的时候都会先运行病毒/木马程序再运行正常功能代码。

    2019-06-14
    8
  • Chen
    Android从6.0开始在运行时向用户索要权限,版本越高越重视用户的隐私。运行时索要权限毕竟麻烦,很多开发者有意将版本降至6.0以下。现在谷歌和一些应用厂商开始采取一些措施避免这种行为。谷歌开始强制App适配更高版本,华为应用市场8月1日后禁止基于8.0以下的应用更新和上架。

    作者回复: 感谢补充

    2019-06-12
    7
  • hxy
    Android 现在也是运行时索要权限吧?很久以前确实是安装的时候

    作者回复: 平常没怎么用android。我只知道第一个把索要权限改到运行阶段的是魅族,好多年前的事情了,当时小米手机可能还没有出来,让我大大惊讶了一番。

    2019-06-07
    5
  • Smallfly
    许老师,病毒为什么要复制自己,每个功能都一样,不是多余么?即使有必要,它在运行中又是怎么实现自我复制的呢?

    作者回复: 病毒复制自己到所有的可执行程序,让自己成为其他程序的一部分,这是为了生存。被感染的程序越多,它被消灭的概率就越低。

    2019-06-08
    4
  • hua168
    老师现在很多网站用的是linux(centos,ubuntu),怎么样保证安全,我这样对吗?
    1. 禁止远程公认的大权限账号如root,sa,administrator等
    2. 禁止不用的端口,不能禁止就修改如22端口,修改其它
    3.开启防火墙如iptable

    如果入侵怎么跟踪分析别人入侵路径的?

    作者回复: 服务器安全很专业的一个话题,我不是这方面的专家。从入侵跟踪来说,我觉得要做好两件事情,一个是日志记录,而且要把日志做成服务性质而不要只是本地日志,因为高明的黑客会擦脚印。二是异常告警,发现可疑行为就通知人工介入。

    2019-06-07
    3
  • Cc°°
    我在6月14号的留言,得到了老师的回复:使用对称加密!表示感谢!但是并没有解答我的疑问,对称加密的密钥也是需要在A和B之间进行传输的,如我问题中所说,如何保证对称加密的密钥的安全呢?因为使用B-private-key加密的对称加密密钥给A,中间人使用B-public-key是可以解开的!烦请老师解惑,多谢!

    作者回复: 1、首先random-key是A给B发的,不是反过来。
    2、A给B发用的是B-public-key,所以只能B解得开。而B给A回复只需要用random-key对称加密回复,这个东西现在只有A和B知道。

    2019-06-17
    2
  • 阿恺
    HTTPS的证书获取流程,我的理解是B的证书是在A向B访问中获取,而不是向G获取。然后通过G的公钥(通常在操作系统或者浏览器)来验证这个证书的可信度,并通过这个证书获取B的公钥。在我们的应用中,通常将证书放在nginx中。

    作者回复: 对的

    2019-06-09
    2
  • 勇闯天涯
    凌晨4点多醒来,看到许老师更新,一口气读完,大脑出奇的清醒,再读前面几篇。
    2019-06-07
    2
  • wanhex
    强烈建议老师出一门网络安全的专栏,惭愧啊,做了好几年的网络安全,对于网络安全的理解还没有老师的一篇文章透彻,惭愧惭愧啊
    2019-07-31
    1
  • humor
    许老师好,我有一个关于操作系统的安全问题想请教一下。怎么保证操作系统(比如linux)本身的安全性呢,比如HTTPS协议生效的前提是Linux事先植入了权威机构的公钥,那如果这个公钥是有问题的呢?换句话说如果Linux的发布者“监守自盗”怎么办呢?更广义一点,怎么保证Linux本身不会窃取服务器中的信息呢,包括文件、内存还有数据库等。红帽等Linux厂商的发布镜像会有权威机构检测吗

    作者回复: 这个问题的确存在,不过一般不是发行商的问题,而是发行渠道。红帽不敢瞎搞,但是一些发行渠道会修改发行的系统,甚至带上恶意软件。在信得过的网站下载操作系统和软件,这是一个非常重要的常识。

    2019-07-20
    1
    1
  • Aaron Cheung
    打卡16 深入了解了 ssl 不再是表面那一点
    2019-06-11
    1
  • Luke
    老师此篇写的很精辟,各个场景都覆盖到了。
    关于安全,只能说是相对安全,我们实际架构时,也只能根据实际情况制定合适的方案,在速度,安全等方面权衡。
    2019-06-10
    1
  • 育禧
    许老师,Android 在 6.0 版本及其以上,也开始需要运行权限了。

    作者回复: 多谢补充

    2019-06-10
    1
  • VicX
    文章开头对于实模式和保护模式的讲解是否不够精确?CPU保护模式能访问比实模式更大的地址域,内存的合理隔离完完全全是靠的虚拟内存

    作者回复: 关于实模式和保护模式请看第 07 篇

    2019-06-08
    1
  • Smallfly
    许老师,文中说软件之间的内存隔离是基于 CPU 保护模式的,具体的实现是引入虚拟内存么?

    作者回复: 是的

    2019-06-07
    1
  • 丁丁历险记
    太客气了,运营商篡改可以直接点名的,包括移动电信联通。
    2019-10-27
  • TT
    看到非对称与对称加密的结合,立马想起了微软对ECC加密算法的一个实现方式ECDsa,想与大家分享
    https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.ecdsacng?view=netframework-4.8
    2019-07-21
  • 刘冲
    学了这么久的https,终于在今天学懂了
    2019-07-06
  • 小先生
    不过最后苹果还是放款了对 HTTP 的限制。。哈哈哈
    2019-06-23
收起评论
30
返回
顶部