| Learning Objective | Essential Knowledge |
|---|---|
4.1.A |
|
4.1.B |
|
4.1.C |
|
4.1.D |
|
保护设备
AP 网络安全 · 第 4 主题
9:32
Securing Devices
It is Monday morning in a busy hospital. In under a minute, the screens in the ward, the pharmacy and the records office all change. Every file on them is…
英文讲解 · 内嵌中英文字幕
4.1
设备漏洞与攻击
大纲
来源:美国大学理事会 AP 课程与考试说明
一个设备是任何计算机——一台服务器、一台个人笔记本电脑、一部智能手机,或一台建入一台机器里的嵌入式计算机(embedded computer)。带嵌入式计算机的日常设备被称为物联网(IoT)(Internet of Things)设备,而它们运行从水泵到洗衣机的一切。
设备的四大类别,以及类别为什么重要
| 类别 | 是什么 | 安全后果 |
|---|---|---|
| 服务器 | 为许多用户运行服务的共享机器 | 价值最高的目标;一次被攻破就波及所有人 |
| 个人计算机 | 台式机与笔记本 | 通用设备,用户装什么就跑什么 |
| 手持计算机(handheld computers,也叫移动计算机或信息终端) | 比个人计算机更小、依靠电池供电——智能手机、平板、智能手表以及其他可穿戴技术 | 容易丢失或被盗,而且常常被带到不可信的网络上 |
| 嵌入式计算机(embedded computers) | 作为机器的一部分的计算机——汽车的发动机控制器、恒温器、医用输液泵 | 拥有用于与自身部件对接的专用指令集,而且往往更慢、更便宜、存储极少,所以安全特性常被省略,更新也很少 |
最后一行正是嵌入式与物联网设备频繁出现在攻击情景中的原因:让它们便宜的那些限制,同时也让它们难以防护。
对一个设备的主要威胁是恶意软件(malware)——恶意的软件。学这些类型:
- 病毒(virus)——必须由一个用户打开一个文件来激活。
- 蠕虫(worm)——自己扩散,没有人的动作。
- 木马(Trojan)——藏在看起来安全的软件里面;一个远程访问木马(RAT)(remote access trojan)给对手远程控制。
- 勒索软件(ransomware)——加密你的文件并要求为密钥付款。
- 间谍软件(spyware)——秘密地追踪你做什么。
- 键盘记录器(keylogger)——记录每个击键以窃取密码。
- 逻辑炸弹(logic bomb)——只在一个条件被满足时触发(一个日期、一个版本)。
- Rootkit——深深地藏在操作系统里,甚至能使自己不可见。
大多数恶意软件是一个文件,但无文件恶意软件(fileless malware)不同:它只存在于 内存(RAM)里并滥用设备上已经有的合法程序,不留下文件给一个扫描器找到。
对手利用未打补丁的软件(unpatched software)、弱密码、无保护的 BIOS/UEFI 启动设置,和开放的端口。我们按设备的价值和关键性给设备风险评级——一家医院未打补丁的电子邮件服务器是高风险,而一个员工带一个未使用的开放端口的笔记本电脑是低。
Name the malware from its behaviour
Each kind of malware has one defining trait: a worm self-spreads, a virus needs a user to run it, ransomware encrypts for money, and a rootkit hides deep in the OS.
| 英文 | 中文 | 拼音 |
|---|---|---|
| embedded computer/emˈbedɪd kəmˈpjuːtə/ | 嵌入式计算机 | qiàn rù shì jì suàn jī |
| Internet of Things (IoT)/ˈɪntənet ɒv θɪŋz/ | 物联网 | wù lián wǎng |
| handheld computers/ˈhændheld kəmˈpjuːtəz/ | 手持计算机 | shǒu chí jì suàn jī |
| malware/ˈmælweə/ | 恶意软件 | è yì ruǎn jiàn |
| Virus/ˈvaɪrəs/ | 病毒 | bìng dú |
| Worm/wɜːm/ | 蠕虫 | rú chóng |
| Trojan/ˈtrəʊdʒn/ | 木马 | mù mǎ |
| remote access trojan (RAT)/rɪˈməʊt ˈækses ˈtrəʊdʒn/ | 远程访问木马 | yuǎn chéng fǎng wèn mù mǎ |
| Ransomware/ˈrænsəmweə/ | 勒索软件 | lè suǒ ruǎn jiàn |
| Spyware/ˈspaɪweə/ | 间谍软件 | jiàn dié ruǎn jiàn |
| Keylogger/ˈkiːlɒɡə/ | 键盘记录器 | jiàn pán jì lù qì |
| Logic bomb/ˈlɒdʒɪk bɒm/ | 逻辑炸弹 | luó jí zhà dàn |
| fileless malware/ˈfaɪlləs ˈmælweə/ | 无文件恶意软件 | wú wén jiàn è yì ruǎn jiàn |
| RAM/ræm/ | 内存 | nèi cún |
| unpatched software/ʌnˈpætʃt ˈsɒftweə/ | 未打补丁的软件 | wèi dǎ bǔ dīng de ruǎn jiàn |
| patch/pætʃ/ | 补丁 | bǔ dīng |
| embedded computers/emˈbedɪd kəmˈpjuːtəz/ | 嵌入式计算机 | qiàn rù shì jì suàn jī |
4.2
身份验证
大纲
| Learning Objective | Essential Knowledge |
|---|---|
4.2.A |
|
4.2.B |
|
4.2.C |
|
4.2.D |
|
来源:美国大学理事会 AP 课程与考试说明

要安全地存储密码,系统使用一个密码散列函数(cryptographic hash function)——一个把任何输入变成一个固定长度字符串叫散列值(hash)(或摘要)的单向数学算法。散列有三个关键的性质:它们是抗碰撞(collision resistant)的(难以找到两个有相同输出的输入)、有抗原像(pre-image resistance)(你不能反推到输入),和可重复(相同的输入总是给出相同的散列)。

真实的散列函数有名字。安全散列算法(SHA)(Secure Hash Algorithm)家族——SHA-256 和 SHA-512——是今天的标准。对手通过尝试强制一次碰撞(两个不同的输入有相同的散列)来攻击一个散列函数;一旦存在一种高效的碰撞攻击,那个函数就被弃用(deprecated)(从安全用途中退役)。MD5 和 SHA-1 是经典的被弃用的例子——今天绝不要依赖它们来保护数据。
一个服务从不存储你的明文密码。它存储散列值;当你登录时,它把你打的散列并比较。要阻止两个相同的密码产生相同的散列,几个叫盐值(salt)的随机位在散列之前被添加,所以每个存储的散列都是唯一的。
Worked example. 两个用户都选择密码 sunshine。没有盐值,两个存储的散列会相同,所以破解一个立即破解另一个。给每个用户一个唯一的盐值——比如说 x7 和 q2 ——而服务转而散列 sunshinex7 和 sunshineq2。这两个存储的散列现在看起来完全不同,所以对手必须分别攻击每个账户。这就是为什么一个被窃取的散列数据库在散列被加盐时危险得多。
对手用密码攻击回击。在线攻击对一个实时登录猜测;离线攻击窃取散列数据库并在他们自己的机器上破解它(这样就绕过了任何账户锁定保护)。技术包括:
- 暴力破解(brute force)—— 自动化工具逐一尝试每一个可能的密码;最终一定能成功,但很慢,而且随密码长度爆炸式增长。
- 字典攻击(dictionary attack)—— 工具先尝试一份常用词和已知密码的清单,因为大多数人选的密码都容易猜。
- 密码喷洒(password spraying)—— 一个常见密码对许多账户(这样能躲开锁定,因为锁定是按每个账户计失败次数的)。
- 撞库(credential stuffing)—— 重用窃取或默认的凭据,利用人们跨网站重复用密码这一点。
- 彩虹表(rainbow table)—— 一张密码及其散列的预计算表,按散列排序,这样一个捕获的散列可以直接查表,而不必重新计算。
Password policy settings
管理员通过配置登录设置来加固账户 —— 考试要你能说出它们的名称,并说明每一项防的是什么:
| 设置 | 作用 | 它减慢的攻击 |
|---|---|---|
| 复杂度(complexity) | 要求每个字符集(大写、小写、数字、特殊字符)各出现一个 | 暴力破解 / 字典攻击 |
| 最小长度(minimum length) | 要求至少 N 个字符 —— 长度比什么都重要 | 暴力破解(呈指数增长) |
| 最长有效期(maximum age) | 每约 90-120 天强制更换一次 | 限制一个被窃密码还能用多久 |
| 密码历史(password history) | 保存最近 5-10 个散列,禁止重用 | 阻止重新用回一个旧的(可能已泄露的)密码 |
| 锁定(lockout) | 在 3-5 次错误尝试后锁定账户 | 暴力破解 / 在线猜测 |
有一个值得得分的细节:一些国家标准现在反对强制到期更换,因为定期更换会把用户逼成可预测的模式,比如 PasswordFall2028。密码管理器(password manager)才真正解决了根本问题 —— 它为每个网站生成并保存一个又长又独特的密码,这样就没有一个密码会被重用或被猜到。
身份验证因素(authentication factors)证明你是谁,并落入几类:你知道的东西(一个密码)、你拥有的东西(一个令牌或手机)、你是的东西(一个像指纹或视网膜扫描的生物特征(biometric)),和你在的某处(一个位置因素)。使用两个或更多是多因素身份验证(MFA)(multifactor authentication)——远强于单独一个密码。
可移动介质,以及自动运行带来的问题
对手可以把恶意软件放到一个外部驱动器上——U 盘、移动硬盘——然后丢在会被人捡到的地方。如果自动运行(autorun)是开启的,设备会在插入的那一刻就从该驱动器运行程序,不需要任何点击,于是恶意软件在用户还没决定是否信任之前就已经执行了。
有两种控制手段应对它,考试要求两个都点出来:
- 禁用自动运行,让插入驱动器本身永远不会运行任何东西。
- 禁止用户连接外部驱动器或介质,由制度和一项封锁 USB 端口的技术控制共同执行——这正是许多高安全环境从物理上或逻辑上关闭这些端口的原因。
How a hash maps any input to a fixed slot
A hash function sends every input to a fixed-length output. The same input always lands in the same place (repeatable), and you cannot work backwards from the slot to the input.
| 英文 | 中文 | 拼音 |
|---|---|---|
| cryptographic hash function/ˌkrɪptəˈɡræfɪk hæʃ ˈfʌŋkʃn/ | 密码散列函数 | mì mǎ sàn liè hán shù |
| hash/hæʃ/ | 散列值 | sàn liè zhí |
| collision resistant/kəˈlɪʒn rɪˈzɪstənt/ | 抗碰撞 | kàng pèng zhuàng |
| pre-image resistance/priː ˈɪmɪdʒ rɪˈzɪstəns/ | 抗原像 | kàng yuán xiàng |
| deprecated/ˈdeprɪkeɪtɪd/ | 弃用 | qì yòng |
| salt/sɒlt/ | 盐值 | yán zhí |
| brute force/bruːt fɔːs/ | 暴力破解 | bào lì pò jiě |
| dictionary attack/ˈdɪkʃənəri əˈtæk/ | 字典攻击 | zì diǎn gōng jī |
| password spraying/ˈpæswɜːd ˈspreɪɪŋ/ | 密码喷洒 | mì mǎ pēn sǎ |
| credential stuffing/krɪˈdenʃl ˈstʌfɪŋ/ | 撞库 | zhuàng kù |
| rainbow table/ˈreɪnbəʊ ˈteɪbl/ | 彩虹表 | cǎi hóng biǎo |
| complexity/kəmˈpleksɪti/ | 复杂度 | fù zá dù |
| minimum length/ˈmɪnɪməm leŋθ/ | 最小长度 | zuì xiǎo cháng dù |
| maximum age/ˈmæksɪməm eɪdʒ/ | 最长有效期 | zuì zhǎng yǒu xiào qī |
| password history/ˈpæswɜːd ˈhɪstəri/ | 密码历史 | mì mǎ lì shǐ |
| lockout/ˈlɒkaʊt/ | 锁定 | suǒ dìng |
| password manager/ˈpæswɜːd ˈmænɪdʒə/ | 密码管理器 | mì mǎ guǎn lǐ qì |
| biometric/ˌbaɪəʊˈmetrɪk/ | 生物特征 | shēng wù tè zhēng |
| multifactor authentication (MFA)/ˌmʌltɪˈfæktə ɔːˌθentɪˈkeɪʃn/ | 多因素身份验证 | duō yīn sù shēn fèn yàn zhèng |
| autorun/ˌɔːtəʊˈrʌn/ | 自动运行 | zì dòng yùn xíng |
4.3
设备防护
大纲
| Learning Objective | Essential Knowledge |
|---|---|
4.3.A |
|
4.3.B |
|
4.3.C |
|
4.3.D |
|
来源:美国大学理事会 AP 课程与考试说明
管理控制设定规则:一个可接受使用政策(acceptable use policy)列出用户可以和不可以做什么、一个密码政策设定长度和重用规则,而一个软件安装政策控制什么能被安装。
技术控制做工作。反恶意软件(anti-malware software)保持一个恶意软件特征的数据库并隔离任何匹配的文件。保持操作系统和应用更新——安装每个补丁(patch)——在对手能使用它们之前关闭已知的洞。一个主机防火墙(host-based firewall)控制进出一个单一设备的流量,阻止它不需要的端口和服务。

| 英文 | 中文 | 拼音 |
|---|---|---|
| acceptable use policy/əkˈseptəbl juːs ˈpɒlɪsi/ | 可接受使用政策 | kě jiē shòu shǐ yòng zhèng cè |
| Anti-malware software/ˈænti ˈmælweə ˈsɒftweə/ | 反恶意软件 | fǎn è yì ruǎn jiàn |
| host-based firewall/həʊst beɪst ˈfaɪəwɔːl/ | 主机防火墙 | zhǔ jī fáng huǒ qiáng |
4.4
检测设备攻击
大纲
| Learning Objective | Essential Knowledge |
|---|---|
4.4.A |
|
4.4.B |
|
4.4.C |
|
4.4.D |
|
来源:美国大学理事会 AP 课程与考试说明
设备记录登录、文件变化和进程,而这些日志揭示一个入侵指标(IoC)(indicator of compromise)——一个对手进入的证据。基于主机的 IoC 显示为意想不到的进程或改变的设置;基于文件的 IoC 是散列匹配已知恶意软件的文件;基于行为的 IoC 是像许多失败的登录或不寻常的登录时间这样的东西。
选择一个检测方法意味着权衡性能(基于特征更轻,对弱设备更好)、成本(一个端点检测与响应(EDR)(endpoint detection and response)服务强大但昂贵),和设备有多敏感。读身份验证日志暴露密码攻击:一个用户的许多错误密码标志一个猜测攻击;许多用户从一个 IP 失败标志密码喷洒;一阵默认凭据标志撞库。不过,离线攻击不能被检测——它们在对手自己的计算机上发生。
速度本身就是一个安全因素。 基于特征的检测把看到的内容与一份已知恶意模式的清单比对,所以它比基于异常的检测更快——后者必须先学习"正常"是什么样,再用这个模型去衡量每一个事件。基于异常的检测能抓到还没有特征的攻击,但它耗费的处理能力大得多;而在本就缺乏算力的设备上,影响会叠加:检测跑得慢、设备变卡,最终这套方法根本没能被有效地实施。
| 英文 | 中文 | 拼音 |
|---|---|---|
| indicator of compromise (IoC)/ˈɪndɪkeɪtə ɒv ˈkɒmprəmaɪz/ | 入侵指标 | rù qīn zhǐ biāo |
| endpoint detection and response (EDR)/endˈpɔɪnt dɪˈtekʃn ænd rɪˈspɒns/ | 端点检测与响应 | duān diǎn jiǎn cè yǔ xiǎng yìng |
4.4
考试技巧
- 知道每个恶意软件类型的定义特征:蠕虫自我扩散、病毒需要一个用户、勒索软件为钱加密、RAT 给远程控制、rootkit 隐藏。
- 一个散列是单向和固定长度的;盐值使相同的密码散列不同。绝不说一个服务"存储密码"——它存储加盐的散列。
- 说出真实的算法:SHA-256/SHA-512 是现行的;MD5 和 SHA-1 因为存在高效的碰撞攻击而被弃用。
- 把密码攻击匹配到它的日志特征:一个用户 + 许多错误密码 = 猜测;许多用户 + 一个 IP = 喷洒;默认凭据 = 撞库。
- 把身份验证因素分成知道 / 拥有 / 是 / 在哪里,并记住 MFA 结合两个或更多——一个指纹加一个密码,不是两个密码。
- 离线密码攻击不能被检测,因为破解在对手的机器上发生——一个最爱的考试"陷阱"。
本主题的互动课程
逐步学习,并即时检测练习。