- 游戏开发
- 教育
- 前端
- 后端
【免费下载链接】codecombat
Game for learning how to code.
本文基于 CodeCombat AP 计算机科学原理(AP CSP)课程库中的网络安全探究活动(apcsp-internet-cybersecurity.md),完整还原该课堂活动的设计:如何围绕真实网络攻击事件组织课堂讨论、如何通过一封钓鱼邮件讲透 HTTP/HTTPS 与 SSL 加密、对称/非对称加密及证书机制,以及如何讲解 DDoS 攻击与撰写攻击调查报告。读完本文,教师可以按文档原始流程直接组织课堂,学习者也能理解该课程中「网络安全(LO 6.3.1)」这一学习目标的完整教学链路与评估要点。
文档中用于课堂演示的钓鱼邮件示例图(原始资源文件 phishing-scam.jpg)
一、活动定位:AP CSP 第五单元中的网络安全探究活动
这份文档是 CodeCombat AP CSP 课程中的Inquiry Activity(探究活动),标题为 Cybersecurity。在课程体系中,它被编排进第五单元 Unit 5: Connecting Computing。该单元的定位是把学生一年所学的概念(数据分析、信息在互联网中的传输复杂度等)连接到更大的图景:计算是有力量的,学生本身可以借助计算改变世界。
在 unit-5.md 的 Activities 列表中,Cybersecurity 活动的要求是:
学生通过分析一起近期的网络攻击来学习网络安全。他们必须分析这次网络攻击,回答关于攻击不同维度的探究性问题,并参与后续的课堂讨论。
同时,该单元将EU 6.3(Cybersecurity is an important concern for the Internet and the systems built on it,网络安全是互联网及其上构建的系统的重要关切)列为单元的核心持久理解(Enduring Understanding)之一,这正是本活动承载的课程目标。
从源码结构看,该活动文档以 Markdown 形式存放于app/assets/markdown/目录,由教师端的 APCSP 动态视图加载渲染:DynamicAPCSPView.js 会判断路由名是否以markdown/开头,若匹配则通过 Markdown API 拉取对应文件内容展示给教师(api.markdown.getMarkdownFile(this.name.replace('markdown/', '')));另有一条旧版渲染路径 MarkdownResourceView.js,直接以$.get('/markdown/' + this.name + '.md', ...)的方式按文件名加载。也就是说,文档中的Activity Link(/apcsp/markdown/apcsp-internet-cybersecurity)最终解析到当前仓库这份 Markdown 文件,教师端看到的是与本文相同的结构化教学内容。
此外,课程大纲 的 CR2f 要求(Big Idea 6: The Internet 必须在 Performance Tasks 之外提供额外的学习机会)对应到 Unit 2 与 Unit 5,Cybersecurity 活动正是 Unit 5 中满足该要求的载体之一。
二、学习目标与评估问题
文档开头明确列出本活动对应的两条 AP CSP 学习目标(Learning Objectives):
| 学习目标 | 内容 | 计算思维实践 |
|---|---|---|
| LO 6.3.1 | 识别互联网及其上构建的系统中现存的网络安全问题,以及解决这些问题可能的选项 | P1: Connecting Computing |
| LO 7.1.2 | 解释人们如何参与一个可扩展(scales)的解决问题的过程 | P4: Analyzing Problems and Artifacts |
其中 LO 7.1.2 看似与网络安全关联较远,实际指向 DDoS 环节的讨论重点:大量设备/人共同发起攻击,正是「问题(解决)过程随规模放大」的典型场景,下文第四节会呼应这一点。
文档结尾给出了三条评估问题(Assessment Questions),可直接用于课后测验或讨论收尾:
- 网络战(cyberwarfare)与网络犯罪(cybercrime)有哪些影响?——对应 EK 6.3.1C
- 什么是 DDoS?——对应 EK 6.3.1D
- 什么是公钥加密(public key encryption)?——对应 EK 6.3.1L
三、课前准备:准备一个真实网络攻击案例
文档Preparation一节要求教师课前准备一件近期见诸报端的网络攻击事件(一篇短文章或一段视频),如果临时找不到,文档给出了三个备选案例:
- 2016 年选举干预事件:美国多个州的选举系统遭到网络攻击;
- HBO 数据泄露攻击:影视巨头遭黑客攻击并泄露数据;
- 2017 年全球勒索软件攻击:席卷多国的全球性勒索软件事件。
(原文档附有所述新闻事件的报道链接,本文按规范不再转述外部链接,教师可依据事件名称自行检索权威媒体报道。)
选择案例时,三个案例分别覆盖了「国家行为/政治目标」「企业数据泄露」「面向公众的勒索软件」三类典型攻击形态,便于课堂讨论时对比不同攻击者的动机、目标与损害面。
四、课堂讨论:用三个问题拆解一次网络攻击
Discuss Cyber Attacks环节的组织方式:先展示准备好的攻击案例,询问学生是否听说过这次攻击,让他们分享已知的信息,然后教师用以下三个问题引导全班讨论:
- 我们是如何得知这次攻击的?(How did we find out about this attack?)——引出攻击的发现与披露渠道;
- 这次攻击的影响是什么?(What is the impact of this attack?)——对应评估问题 EK 6.3.1C「网络战与网络犯罪的影响」;
- 我们如何防御这类攻击?(How can we defend ourselves against this kind of attack?)——直接对应 LO 6.3.1 中「potential options to address these issues」的要求。
这三个问题构成了一个可复用的分析框架:披露渠道 → 影响面 → 防御手段,后文的反思作业正是要求学生用同一框架独立分析另一次攻击。
五、钓鱼攻击(Phishing):如何识别,以及 HTTPS 为什么能防住它
这是本活动中技术密度最高的环节,分为「识别钓鱼邮件」与「HTTPS/加密原理」两层。
5.1 演示一封钓鱼邮件
教师向学生展示一张钓鱼邮件的截图——一封诱导收件人输入邮箱账号和密码的垃圾邮件(示例图即 5.0 节配图所示)。先问学生:如果收到这封邮件你会怎么做?再点明:这封邮件看似合法,实则是钓鱼(phishing)攻击的典型样本。文档给出的定义是:
钓鱼是一种网络攻击形式,攻击者使用看似合法的邮件,从不知情的收件人处收集个人信息。
5.2 关键破绽:http 还是 https
接着让学生自己找出「这封邮件为何可疑」的答案。文档指出的破绽是:链接使用的是 http 而不是 https。由此展开两个协议的定义:
- HTTP(Hyper Text Transfer Protocol)与HTTPS(Hyper Text Transfer Protocol Secure)都是用于在互联网设备之间传输信息的协议;
- 区别在结尾的字母S(Secure,安全),它指的是传输信息时使用的加密。
5.3 SSL:对称加密 + 非对称加密的组合
文档进一步说明,SSL(Secure Socket Layer)是互联网上浏览器与服务器之间加密数据的标准技术,它同时使用对称加密与非对称加密:
| 加密方式 | 原文定义 | 特点 |
|---|---|---|
| 对称加密(Symmetric) | 用一把钥匙既加密又解密 | 加解密同一密钥,效率适合大量数据传输 |
| 非对称加密(Asymmetric) | 用一把钥匙(公钥)加密,另一把钥匙(私钥)解密 | 公私钥配对,解决密钥如何安全传递的问题 |
5.4 握手(Handshake)过程
文档描述的核心机制是浏览器与站点之间的握手过程:
- 浏览器通过 HTTPS 访问站点时,用站点的公钥创建一条消息——该消息只有站点能用私钥解开;
- 浏览器发送的这条消息中包含用于生成一个机密对称密钥的信息;
- 之后两台机器用这个对称密钥私密地来回传递信息。
即:用非对称加密安全地协商出对称密钥,再用对称加密承载后续通信——这正是 5.3 中「两种加密结合使用」的落点。
文档还补充了两个安全要点:
- 证书要求:为增加安全性,只有当站点持有由受信任的证书颁发机构(trusted certificate authority)颁发的证书时,浏览器才会发起这个握手。浏览器可以查询任何通过 HTTPS 提供服务的站点的证书信息;
- 浏览器警告的含义:当浏览器提示某站点「不安全(not secure)」时,通常意味着该站点的证书无效或已过期(invalid or expired)。
5.5 攻击者如何复制这个手法
文档最后一层:许多钓鱼攻击者会创建模仿公司名气的假网站,且这些网站是 http 而非 https。由于学生已经体验过建站并不困难,攻击者可以照抄公司网站的图片,做出一个几乎一模一样的页面,从而获取用户提交的非加密信息。
教学落点由此闭环:识别 http/https、理解证书与握手,学生就拿到了对抗钓鱼的三件工具——看协议头、查证书、辨真伪域名。这也直接回答了第四节讨论问题中的第三个「我们如何防御这类攻击」。
六、DDoS:分布式拒绝服务攻击
Distributed Denial of Service(DDoS,分布式拒绝服务)环节的定义是:
一种网络攻击,多台设备共同攻击一个在线服务,将其压垮到无法工作的程度。这类攻击常被希望让网站「下线」的组织当作抗议形式使用。
教学活动安排:
- 向学生分享一篇关于 IoT 僵尸网络的报道(原文档附 Wired 杂志链接,讲述一个感染了百万级网络设备的僵尸网络,本文按规范不转述外部链接,可依据主题自行检索);
- 围绕文章组织全班讨论,文档特别强调两点:
- 此类攻击的社会接受度存在争议(acceptance of these kinds of attacks is under debate)——攻击「让网站瘫痪」本身在伦理上处于灰色地带;
- 务必讨论多人参与攻击的影响(the impact of having multiple people participate in the attack)——从单设备攻击到「分布式」,规模变化如何改变攻击效果与可溯源难度。
第二点正是学习目标LO 7.1.2(解释人们如何参与一个可扩展的解决问题的过程)的落点:参与者的规模(scales)是这类攻击从「问题」升级为「系统性瘫痪」的关键变量,也是防御侧必须面对的量级问题。
七、反思作业:一页纸攻击调查报告
活动收尾(Reflection)环节的作业要求:课上开始、课后完成,学生独立调查一次网络攻击并撰写一页纸报告。文档特别提醒:选择可信的网站作为信息来源(choose trustworthy websites as sources)——这一条本身就是在训练学生甄别网络信息真伪,与钓鱼环节中「辨别假网站」的训练形成呼应。
报告须回答以下五个问题(与第四节课堂讨论的三个问题相比,增加了「攻击类型」与「目标对象」两个维度):
- 这是什么类型的攻击?(What kind of attack is this?)
- 它是如何被发现的?(How was it discovered?)
- 攻击目标是谁?(Who was it targeting?)
- 造成了什么损害?(What was the damage?)
- 如何防御它?(How can it be defended against?)
这五个问题恰好覆盖 LO 6.3.1 的完整要求:识别攻击问题(类型/目标/损害)+ 提出应对选项(防御手段),并对应三条评估问题中 EK 6.3.1C(影响)与 EK 6.3.1D(DDoS)的考查面。
八、相关课程资源索引
| 资源 | 仓库路径 | 说明 |
|---|---|---|
| 本活动文档 | apcsp-internet-cybersecurity.md | 文章主体来源 |
| 钓鱼邮件示例图 | phishing-scam.jpg | 5.1 节课堂演示用图 |
| 第五单元课程说明 | unit-5.md | 本活动所在的单元编排与 LO 映射 |
| 课程大纲 | syllabus.md | CR1a–CR4 课程要求与单元对应关系 |
| 姊妹活动:模拟互联网 | apcsp-internet-simulation.md | 同为 Unit 5,通过全班角色扮演的报文传输实验覆盖 LO 6.3.1,与本活动的「安全」主题互为补充 |
| 教师端渲染视图 | DynamicAPCSPView.js / MarkdownResourceView.js | 文档在教师端的加载与渲染链路 |
小结
这份网络安全探究活动的教学设计可以概括为「一框架、两案例、一原理、一作业」:
- 一框架:披露渠道 → 影响 → 防御手段的三问分析框架(第四节),并扩展为反思作业的五个问题(第七节);
- 两案例:真实攻击事件(课前准备)+ 钓鱼邮件与 DDoS 两个课堂内剖析对象;
- 一原理:HTTP/HTTPS、SSL、对称/非对称加密、握手与证书链——这是本活动从「认识攻击」走向「理解防御」的技术纵深;
- 一作业:一页纸独立攻击调查报告,把课堂所学迁移到学生自选的真实事件上。
配合评估问题(EK 6.3.1C/D/L),该活动完整覆盖了 AP CSP 学习目标 LO 6.3.1 与 LO 7.1.2,是第五单元中满足课程要求 CR2f(The Internet)的典型探究活动。
- 游戏开发
- 教育
- 前端
- 后端
【免费下载链接】codecombat
Game for learning how to code.
相关推荐
CodeCombat AP CSP 网络安全探究活动:从 Phishing 识别到 HTTPS 握手与 DDoS 原理
CodeCombat AP CSP 网络安全探究活动:从 Phishing 识别到 HTTPS 握手与 DDoS 原理 本文基于 CodeCombat 仓库中
游戏开发教育前端后端G-Helper:一个绿色exe替代Armoury Crate,性能模式、显卡切换、风扇曲线、充电上限一次管齐
G Helper:一个绿色exe替代Armoury Crate,性能模式、显卡切换、风扇曲线、充电上限一次管齐 G Helper 是 Armoury Crate
桌面应用系统编程HTTPS加密原理:CS-Notes网络安全篇TLS握手详解
HTTPS加密原理:CS Notes网络安全篇TLS握手详解 你是否曾担心过网购时的支付信息被窃听?或者在公共Wi Fi下登录账号时的密码安全?HTTPS(超文
知识库文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考