单选题 There are several types of attacks that programmers need to be aware of. What attack does the graphic that follows illustrate?
【正确答案】 D
【答案解析】解析:D正确。缓冲区(buffer)是应用程序保留的、用于储存东西(如用户输入的信息)的区域。在应用程序收到输入之后,指令指针将指示应用程序处理被放置在缓冲区中的这个输入。当应用程序错误地允许一定量的无效输入被写入缓冲区,导致告诉程序如何处理这些输入的代码中的指令指针被覆盖时,就发生了缓冲区溢出。一旦指令指针被重写,缓冲区内的任何代码都会在应用程序的安全环境下执行。 A不正确。因为流量分析(traffic analysis)是一种通过观察网络上的流量模式来发现信息的方法。例如。人力资源部和总部之间的较大流量可能寓示着一个即将到来的裁员。再例如,如果两个军事单位之间有大量的流量,这可能表明一场军事袭击正在酝酿中。流量填充可以用来对抗这种攻击,即通过向网络发送诱饵流量来掩饰模式,从而使其更难被发现。 B不正确。因为当两个进程需要在同一个资源上执行它们的任务时,它们需要遵循正确的顺序。进程1需要在进程2访问同一资源并执行任务之前执行它的任务。如果进程2先于进程1进行的话,结果会大不一样。如果攻击者能够操纵这些进程使得进程2首先执行,那么他便控制着这个处理程序的结果,这也叫做竞态条件(race condition)攻击。 C不正确。因为在转换存储通道上,进程能够通过系统上的某类存储空间进行通信。例如,系统A感染了一个特洛伊木马,该特洛伊木马安装了能够与另外一个进程进行恶意通信的软件。系统A有一个非常敏感的文件(文件2),且某一攻击者对该文件非常感兴趣。特洛伊木马安装的这个软件能够阅读这个文件,并且它需要把文件的内容发送给攻击者,但一次只能发送一个字节。这个入侵软件会通过锁住一个特定文件(文件3)与攻击者进行通信。当攻击者尝试访问文件3时,发现文件3上面有一个文件锁,于是攻击者将为该敏感文件的第一位解释为1。当攻击者第二次尝试访问文件3时,它未上锁。于是攻击者将该值解释为0。这种过程一直继续,直到这个敏感文件的所有数据都被发送给攻击者。