跳到正文

安全开发(内建设计原则与漏洞防护)

頻出约 34 分钟5 个术语过去问 3 题

本单元目标

  • 能从保护对象的不同,区分安全内建与隐私内建。
  • 能从攻击所利用的对象和主要防护手段,区分跨站脚本与 SQL 注入。
  • 能说明在设计阶段内建的防护措施与运行期间用安全补丁进行的修复,各自承担什么作用。
术语总表(5 个)
术语一句话类别保护对象与主要手段
セキュリティバイデザイン从规划、设计初期就把信息安全内建进去的思路设计原则整个系统的安全性
プライバシーバイデザイン从规划、设计初期就把个人隐私保护内建进去的思路设计原则个人隐私
クロスサイトスクリプティング対策防止输入的字符串在浏览者的浏览器中作为脚本运行的措施实现层面的措施显示前把符号替换成无害的字符
SQLインジェクション対策防止输入的字符串被当作对数据库的命令执行的措施实现层面的措施把 SQL 语句的结构与输入值分开
セキュリティパッチ开发商为修复已发现的漏洞而提供的更新程序运行与维护层面的措施修复发布后才发现的缺陷

术语

セキュリティバイデザイン安全内建(Security by Design)

在术语表中打开 セキュリティバイデザイン

安全内建(セキュリティバイデザイン,Security by Design)是一种思路:不在系统完成后再追加信息安全措施,而是从规划、设计等开发初期就把它内建进去。

  1. 规划
  2. 设计
  3. 实现与测试
  4. 运维

进入运维阶段后,仍要持续应对新发现的缺陷。

4 / 4

系统完成后才想补上防护措施,往往需要重新设计,返工量容易变大。如果在初期就梳理出威胁,并把对策写进需求和设计,就不容易埋下漏洞(安全上的缺陷),修复所需的费用也能压低。

类比就像盖房子时,不是等房子建好再去买锁、装围栏,而是在画图纸时就把出入口和窗户的位置连同防盗一起考虑好。

记法英语 by design 的意思是“有意为之、按设计如此”,可以理解为“不是碰巧安全,而是从设计时起就瞄准了安全”。

考点

  • 常考安全内建(セキュリティバイデザイン)是从开发初期就把安全性做进系统的原则,在 IoT(物联网)系统的开发和运行中也被视为基本原则。
  • 易混安全启动(セキュアブート)是在设备启动时检查有没有加载未经授权的软件的技术,与作为开发方针原则的安全内建是两回事。

该术语的过去问 1 题 セキュリティバイデザイン

プライバシーバイデザイン隐私内建(Privacy by Design)

在术语表中打开 プライバシーバイデザイン

隐私内建(プライバシーバイデザイン,Privacy by Design)是一种思路:从系统或服务的规划、设计初期,就把对个人信息和隐私的保护内建进去。

例如,只收集达成使用目的所必需的个人数据;把默认设置定为保护程度较高的状态,让用户即使什么都不设置也能受到保护。这些考虑都在设计时就落实下来,因为事后再改个人数据的处理方式,就得重新审视已经收集的数据和已经建好的机制。

类比就像制作会员卡申请表时,在发出去之前就只保留真正需要填写的栏目。

记法这一思路由 1990 年代负责加拿大安大略省隐私保护工作的一位行政官员提出,在国外常取首字母简称为 PbD。

「安全内建(Security by Design)」与「隐私内建(Privacy by Design)」的区别

比较点安全内建(Security by Design)隐私内建(Privacy by Design)
关键保护对象整个信息系统的安全性个人隐私与个人信息
内建时机从规划、设计初期开始从规划、设计初期开始
设计中考虑事项的例子针对设想的威胁内建认证和加密只收集使用目的所需范围内的个人数据

クロスサイトスクリプティング対策跨站脚本(XSS)防护

在术语表中打开 クロスサイトスクリプティング対策

跨站脚本(XSS)防护(クロスサイトスクリプティング対策)是防止用户输入的字符串在浏览网页的人的浏览器中作为脚本(在浏览器上运行的简单程序)执行的措施。

  1. 陷阱链接或帖子
  2. 网站的输出
  3. 浏览者的浏览器
  4. 信息被窃取

被执行的脚本把登录信息等发送给攻击者。

4 / 4

跨站脚本(XSS)是一种攻击:借助把输入内容原样显示出来的网站,让攻击者埋下的脚本在浏览者的浏览器中运行,常被用来窃取登录信息等。主要的防护手段是转义处理,即在把输入的字符串显示到页面之前,把“<”“>”这类在 HTML 中有特殊含义的符号,替换成只会作为普通文字显示的形式。像这样把输入中的危险字符串变为无害形式的处理,统称为净化处理。

类比就像留言板的管理员不会把收到的告示直接贴上去,而是先装进透明的保护套,让里面的机关动不起来,再挂出来。

记法“跨站”就是“跨越网站”,名称来自脚本从攻击者准备的陷阱页面等处,被送到另一个有漏洞的网站,并在那个网站上执行。

考点

  • 易混跨站请求伪造(クロスサイトリクエストフォージェリ)是让已登录的用户发出并非本意的操作请求的攻击。名称相近,但它与让脚本在浏览者浏览器中执行的 XSS 是不同的攻击。

该术语的过去问 1 题 クロスサイトスクリプティング対策

SQLインジェクション対策SQL 注入防护

在术语表中打开 SQLインジェクション対策

SQL 注入防护(SQLインジェクション対策)是防止输入框中填入的字符串,被当作对数据库下达命令的 SQL 语句的一部分执行的措施。

  1. 先确定 SQL 语句的结构
  2. 把输入值作为值填入
  3. 按原命令执行

即使输入中含有 SQL 的符号,也不会被解释为命令,只作为普通字符串处理。

3 / 3

SQL 注入是一种攻击:在输入框里混入 SQL 语句的片段,让数据库执行本来不被允许的查询、篡改或删除。典型的防护手段是使用占位符(绑定机制),即先确定 SQL 语句的结构,之后再把输入值只作为值填进去。同时,也要对输入值进行净化处理。

类比就像事先规定好:即使申请表的姓名栏里写着“顺便把所有人的名单交出来”,工作人员也只把它当作姓名来处理。

记法injection 在英语中是“注射、注入”的意思,看字面就能想起这是往 SQL 语句里注入异物的攻击。

考点

  • 常考净化处理(サニタイジング)是把输入内容中含有的危险字符串替换为无害形式的处理的统称,也用于 SQL 注入防护(SQLインジェクション対策)。
  • 易混占位符(プレースホルダ)是通过 SQL 语句的组装方式把输入与命令分开的机制,与直接改写输入值本身的净化处理,起作用的方式不同。

该术语的过去问 1 题 SQLインジェクション対策

「跨站脚本(XSS)防护」与「SQL 注入防护」的区别

比较点跨站脚本(XSS)防护SQL 注入防护
关键攻击所利用的对象在浏览者浏览器中运行的脚本对数据库的命令(SQL 语句)
主要危害窃取登录信息、显示伪造画面数据被非法获取、篡改、删除
典型防护手段显示前的转义处理使用占位符

セキュリティパッチ安全补丁

在术语表中打开 セキュリティパッチ

安全补丁(セキュリティパッチ)是开发商为修复操作系统(OS)、应用程序等软件中发现的漏洞而提供的更新程序。

  1. 发现漏洞
  2. 发布补丁
  3. 用户安装

用户安装之后缺陷才会被堵上,安装之前缺陷一直存在。

3 / 3

漏洞在产品开始提供之后也会被发现,因此补丁一发布就尽快安装、堵上缺陷,是运行维护中的基本对策。如果一直不安装,就容易遭到利用那些手法已广为人知的漏洞的攻击。

类比就像建筑检修时发现窗锁有毛病,用厂家寄来的替换零件把它修好。

记法英语 patch 原意是“补丁布”,可以记成贴在漏洞这个破洞上的那块布。

考点

  • 易混在修复补丁发布之前就利用该漏洞发起的攻击称为零日攻击(ゼロデイ攻撃),仅靠安装补丁无法完全防住。

要点

  • 安全内建是从规划、设计初期就把信息安全内建进去的原则,在 IoT 系统的开发中也被视为基本原则。
  • 隐私内建要求在设计时就定下相关考虑,例如尽量少收集个人数据、把默认设置定在保护程度较高的一侧。
  • 跨站脚本(XSS)防护和SQL 注入防护都是为了不让输入的字符串被浏览器或数据库当作命令执行的措施。
  • 安全补丁是修复发布后发现的漏洞的更新程序,一旦发布就应尽快安装。

确认题

从本单元的过去问中选 3 题

开始做确认题

查看这个领域的全部过去问