跳到正文

平成26年度 秋期 ITパスポート試験 問59

这道题的解析和你的作答记录。

問59
頻出度★★★

情報セキュリティにおける脅威であるバッファオーバフローの説明として, 適切なものはどれか。

出典 平成26年度 秋期 ITパスポート試験 問59
解説

問 59

  • 错误ア

    持续向特定服务器发送大量连接请求以妨碍服务,这是对 DoS 攻击(拒绝服务攻击)的说明。如果从大量设备同时发起,则称为 DDoS 攻击。其目的是「耗尽资源,把正常用户挡在门外」,与让内存区域溢出从而夺取控制权的缓冲区溢出在机制上不同。

  • 错误イ

    向特定的邮件地址发送大量电子邮件,使用户的邮箱被塞满,从而无法接收新的电子邮件,这是对邮件炸弹(mail bomb)的说明。它也属于一种拒绝服务,但攻击对象是邮箱的容量,与让程序内部的缓冲区溢出的缓冲区溢出是两回事。

  • 错误ウ

    窃听网络上传输的密码,并利用它进行非法访问,这是对窃听(嗅探)以及以此为基础的假冒行为的说明。它是在通信线路上截取信息的行为,而不是破坏程序内存区域的攻击。其对策也是加密(如 TLS),与缓冲区溢出对策中的输入长度检查不同。

  • エ

    正解 正确答案是エ。所谓缓冲区溢出(buffer overflow),是指向程序事先分配好的输入用内存区域(缓冲区)送入超过其大小的数据,用溢出的部分覆盖相邻内存区域的攻击。被覆盖的位置上有可能存放着函数的返回地址等与程序控制相关的数据,攻击者通过改写这些数据,就能让程序异常终止,或者执行其送入的任意代码。エ 中所说的「向程序所准备的输入用数据区域输入超过其容量大小的数据,使程序产生预期之外的动作」,正是对这一机制的直接描述,因此是恰当的。对策是在程序一侧进行防御:必须检查输入数据的长度(边界检查)、使用安全的函数、及时应用安全补丁。

ここがポイント
  • 缓冲区溢出 = 送入超过程序所分配的输入用内存区域(缓冲区)容量的数据,覆盖相邻区域,从而引发异常动作或任意代码执行的攻击。对策是对输入长度做边界检查,以及应用漏洞修复补丁。
  • 与相似的「大量发送」类威胁的区分:大量发送连接请求 = DoS / DDoS 攻击,大量发送电子邮件 = 邮件炸弹,偷看通信内容 = 窃听(嗅探)。可根据攻击对象是程序内部的内存、服务器资源,还是通信线路来加以辨别。
用語
解答問59エ
练这一题

作答记录