湘潭大学信息安全课作业答案8

湘潭大学信息安全课作业答案8
教师:李澄清院长
整理自助好心的助教大哥—申哥。
1.在本书第236页,给出了一个橘皮书中指导方针的例子,即面向层次C的测试。多疑的作者在书中也曾暗示这些指导方针有点似是而非。请思考下面的问题:
a.为什么在第232页中给出的指导方针可能不会特别合理或有用呢?
b.请从橘皮书(见参考文献[309])的第二部分中找出其他三个毫无用处的指导方针
的例子。对于每一个例子,请对该指导方针进行总结并给出原因,说明为什么你认为它不是特别合理或者有用。

a有些人自动化了测试并且在几小时内完成了手工测试几个星期完成的面向层次C的测试
b在我看来,很难找到更多例子
2.在8.2.2节中,列出了通用准则的七个EAL等级。对于这七个等级中的每一个,请总结要想获得该等级的认证所需要的测试要求。
答:
EAL—功能测试:必须检查文档,并检查产品独立测试,以验证它与文档匹配,并防止某些已知的威胁。
eal2—结构测试:包括EAL1中的测试,但更深入看设计信息。
EAL3—系统测试和检查:包括EAL2的测试,但通过更全面的产品测试来确保更多的安全性。产品创建者提供的测试被选择性地确认。产品创建者还必须提供他们认为“明显的漏洞”的证据。
EAL4—系统地设计、测试和评审:包括eal3中的测试,但也评估设计过程和独立测试“明显的漏洞”。
EAL5—半正式设计和测试:包括EAL4中的测试,但通过考虑“抵抗具有中等攻击潜力的渗透攻击者”进一步加强独立测试(GAO06392)。此外,必须提供“有计划的开发,严格的开发方法”(GAO06392)的证据。EAL6—半正式验证的设计和测试:包括EAL5中的测试,但要考虑“具有高攻击潜力的渗透攻击者”(GAO06392)。
EAL7—正式验证的设计和测试:包括EAL6中的测试。还包括形式设计的验证、数学证明和代码转换的正确性保留。测试还包括产品创建者对测试的评估。
3.在本章,我们讨论了访问控制列表(ACL)和访问能力列表(C-list)。
a.请给出访问能力列表相对于访问控制列表的两个优势。
b.请给出访问控制列表相对于访问能力列表的两个优势。
答:
a.更容易删除用户,而且它更容易委托。
b.acl实现起来更简单,使用acl可以更容易地更改权限
对于给定的资源。
4.在本章,我们指出,利用访问能力列表更容易实现授权机制。
a.利用访问控制列表也可以实现授权机制,请说明如何实现。
b.假如 Alice授权给Bill,而Bill又授权给了Charlie,而 Charlie依次又授权给了Dave。请问,利用访问能力列表如何实现?如果利用访问控制列表,又该如何实现呢?哪一种方式更容易实现,为什么?
c.请问对于授权机制来说,访问控制列表和访问能力列表哪个更好?为什么?
答:
需要跟踪代表谁访问,并使用他们在适当的访问控制列表中的权限。
这对于访问控制列表来说相当复杂,但是对于访问功能列表来说很容易。
访问能力列表,因为这对于访问控制列表来说相当复杂,但是对于访问功能列表来说很容易。
5.假设Alice想要临时性地将她自己的C-list(访问能力列表)授权给Bob。Alice决定自己先对C-list进行数字签名,再将其授权给Bob。
a.请问,这样一种方案有什么优点?如果有的话。
优点:完整性、不可抵赖性以及Bob代表Alice行事的权力是有时间限制的。
b.请问,这样一种方案有什么缺点?如果有的话。
缺点:它更复杂,出错的机会也更多。
6.请简要地讨论一个在本书中没有提到的真实世界中的应用,说明多级安全性(MLS)在其中会发挥作用。
多级安全性,或简称为MLS(Multilevel Security),在多级安全性中,主体是用户(通常来说,就是自然人),客体是要保护的数据(如文档资料)。而且,在将权限空间应用于主体的同时要将分级机制应用于客体。如在公司的业务管理中,有一类信息是受到严格限制,比如仅供高级管理层查阅,而另外的一些信息则是可供全体管理层访问的,同时还有另外一些特定的信息是在公司内开放给每一个人的, 此外,最后还有一些信息可以共享给所有人,包括一般大众。那么该公司就可以运用多级安全性解决问题
7.请问,什么是“必须知情”原则?分隔项又是如何用于强化这个原则的?
意味着一个人只知道工作所需要的东西。在其他方面,除非必要,你不能访问一些信息,即使你有适当的权限,,隔间是执行这一原则的主要手段,因为你是不允许看到分类信息的,除非你特别指定了允许进入适当的隔间。
8.
假设你在一个分级环境中工作,该环境实施了多级安全性的理念,而你拥有一个TOP SECRET级别的权限空间。
a请描述一个设计用户数据协议(UDP)的潜在的隐藏通道。
b请问,在仍然允许具有不同权限空间的用户正常进行网络访问和通信的情况下,如何能够使a中的隐藏通道最小化?
答:a.可以简单发送一系列UDP数据包,并利用数据包之间的延迟来编码信息(例如长延迟为1,短延迟为0)。
B.当发现有人正在使用该隐藏通道的时候,可以选择随机延迟数据包。
9.
在多级安全领域,高水印原则和低水印原则都有应用。
a.请在多级安全性的语境下,分别给出高水印原则和低水印原则的定义。
b.请问,BLP安全模型是适用高水印原则,还是低水印原则?还是二者都适用,,
或者是二者都不适用呢?请给出理由。
c.请问,Biba 安全模型是适用高水印原则,还是低水印原则?还是二者都适用,
或者是二者都不适用呢?请给出理由。
答:
a、 “高水位线”意味着你开始在一个低水平的间隙,你的有效的许可证会根据需要升级——达到你的最高等级允许。低水位线适用于完整性,这意味着您的完整性级别下降到您读取的数据的完整性级别。
b、 具有弱宁静性的BLP与bigh水印兼容。
c、Biba的模型与低水印兼容。
10 这个思考题针对的是隐藏通道问题。
a.请描述一-个涉及打印队列的隐藏通道,并估算你所提到的这个隐藏通道的实际容量。
b.请描述-一个涉及TCP网络协议的精巧的隐藏通道。
答:
a.在打印队列上放置一个文件并删除它–类似于文本中的文件示例。
除非将其自动化,否则其容量肯定会大大小于每秒1位。
b.使用序列号是非常微妙的(如本文所讨论的)。时机通道也很难被检测到(虽然它不是TCP特有的),还有很多其他的隐藏通道是可能的。
11
我们简要地讨论了以下的推理控制方法:对查询集合大小的控制、“N-k 垄断”规则、信息随机化等。
a.请解释上述每一个推理控制方法的原理。
b.对于前述每一个方法,请简要地探讨各自相对的优势和弱势。

答:
a. 查询集大小控制——如果回答者太少,则不要返回答案。不被调查者,k%优势规则——本质上,是一种更精细的查询集大小控制形式,如果k%或更多来自N或更少的应答者,则不会返回答案。随机化就是它所说的——给回答添加一些随机噪声。
b. 前两种方法将增加查找特定信息的难度,但可能无法阻止此类攻击。随机化的一个缺点是,如果需要非常精确的答案(例如,如果你正在研究一种罕见的疾病),那么随机化可能是一个问题。
12.
推理控制主要用于减少在数据库查询的返回结果中可能会泄露的私密信息的数量。
a.请详细描述一种实际的本书中也没有提及的推理控制的方法。
b.请问,对于你在a中提出的解决方案所使用的推理控制方法,怎样才能发起有
效的攻击呢?
答案:
a.使用多层交换系统(MLS), 多层交换是指交换机使用硬件来交换和路由数据包,通过硬件来支持4-7层的交换。交换机执行硬件交换,第3层引擎(路由处理器)须将有关路由选择、交换、访问列表和QoS的信息下载到硬件中,以对数据包进行处理。 第三层交换机并没有像其他交换器般把广播封包扩散,第三层交换机之所以叫三层交换器便是因为他们能看懂三层信息,如IP地址、ARP等。因此,三层交换器便能洞悉某广播封包目的何在,而在没有把他扩散出去的情形下,满足发出该广播封包的人的需要,(不管他们在任何子网里)。如果认为第三层交换机就是路由器,那也应称作超高速反传统路由器,因为第三层交换器没做任何"拆打"数据封包的工作,所有路过他的封包都不会被修改并以交换的速度传到目的地。 
b.使用针对MLS系统的恶意攻击软件。
13.一个僵尸网络包含许多被攻陷的计算机,而所有这些计算机都被一个恶意的僵尸控制主机所掌控,见参考文献[39]和[146]。
a.大部分的僵尸网络都是利用互联网中继聊天(Internet Relay Chat,IRC)协议来进
行控制。请问,什么是IRC协议,为什么这个协议用于控制一个僵尸网络时特别有效?
b.请问,为什么隐藏通道对于控制僵尸网络可能会有用处?
c.请设计一个隐藏通道,使得僵尸控制服务器可以据此构造一种有效的方式来控制僵尸网络。
答:
a. IRC是与大量主机通信的一种非常自然的方式。
b. 从特鲁迪的角度来看,好人更难发现控制信息。
c. 假设你的机器人扫描了一个特定的社交网站,看起来有些模糊的话题。僵尸操控者可以在这个主题上发帖,信息可能是解释a8命令。
14.在参考文献[131]中,有关于隐藏通道的一篇文章,请阅读下面这些小节的内容:
2.2,3.2,3.3,4.1,4.2,5.2,5.3,5.4。并分别进行简要的总结。
(1)2.2
实际上,在构建隐蔽信道使用场景时,即使在理论上它们之间不存在根本区别,也可以对隐秘存储和定时信道进行区分(Lipner75,Schaefer77,NCSC TCSEC,Hu91,Wray91)。如果潜在的隐蔽通道的使用场景“涉及通过一个过程[即,I(M)的主题]直接或间接写入存储位置,而通过另一个过程直接或间接读取存储位置,则它是一个存储通道”过程。”
在任何秘密信道利用情况下,都必须定义信息发送方和接收方之间的同步关系。因此,隐蔽信道也可以通过发送方和接收方之间的同步关系来表征。在图2-5中,发送方和接收方是异步过程,需要相互同步才能发送和解码数据。同步的目的是让一个进程通知另一进程已完成对数据变量的读写。因此,隐蔽信道不仅可以包括隐蔽数据变量,而且可以包括两个同步变量,一个用于发送者-接收者同步,另一个用于接收者-发送者同步。
(2)3.2
所有广泛使用的隐蔽信道识别方法都是基于顶级设计规范和源代码中对非法信息流的识别.主要有以下方法,句法信息流分析, 在信息流分析中添加语义成分, 共享资源矩阵(SRM)方法, 无干扰分析。
(3)3.3
隐式通道识别方法静态应用于顶级规范或代码,从而产生潜在的隐式通道列表。一些潜在的秘密渠道没有实际使用的场景。这些潜在通道是识别方法的伪像。但是,错误的非法流动并不一定会导致这些潜在的渠道。潜在的隐蔽通道不一定一定是真实隐蔽通道的一般原因是,在运行时,某些流量条件可能永远不会变为真,因此可能永远不会启用可能创建隐蔽通道的非法流量。另一个原因是,隐蔽频道变量的更改(查看)可能与所需的更改(查看)方案不一致。例如,变量的字段可以更改,但不能在隐蔽通道的情况下使用。同样,并非所有通道的TCB原语都可以在实际的隐蔽通道场景中使用。使用通道的某些TCB原语传递信息的能力可能取决于原语的参数和TCB状态的选择。示例7、8和9说明了这些情况。为了确定潜在的隐蔽频道是否是真实的隐蔽频道,必须找到一种实时场景以实现非法流量。并非某个频道的所有TCB原语都可以在真实的隐蔽频道场景中使用。使用通道的某些TCB原语传递信息的能力可能取决于原语的参数和TCB状态的选择。示例7、8和9说明了这些情况。为了确定潜在的隐蔽频道是否是真实的隐蔽频道,必须找到一种实时场景以实现非法流量。并非某个频道的所有TCB原语都可以在真实的隐蔽频道场景中使用。使用通道的某些TCB原语传递信息的能力可能取决于原语的参数和TCB状态的选择。示例7、8和9说明了这些情况。为了确定潜在的隐蔽频道是否是真实的隐蔽频道,必须找到一种实时场景以实现非法流量。
(4)3.4
可以将CCA方法应用于TCB的正式规范和源代码。此类方法的示例包括句法信息流分析(使用或不使用语义分析),SRM和无干扰分析。可能存在其他用于隐蔽信道识别的正式方法,并且在A1级可能同样适用。开发人员选择的识别方法应应用于FTLS。除非隐式通道的标识成为规范与代码的对应关系的一部分(在这种情况下包括源代码分析),否则我们建议对FTLS分析进行正式或非正式源代码分析的补充。否则,隐蔽通道可能无法检测到。
(5)4.1
隐蔽信道带宽的计算是隐蔽信道分析的关键方面之一。之所以如此,是因为有关如何处理已识别信道的大多数决策都取决于信道带宽的确定。因此,重要的是简要检查主要影响隐蔽信道带宽计算的因素。主要有:噪声和延迟,编码和符号分配,TCB基本选择,测量和使用场景,系统配置和初始化依赖,隐蔽通道的聚合,临时隐蔽通道
(6)4.2
基于信息论的信道带宽估计方法
Millen在[ 1989a]是一种基于Shannon信息论的方法[Shannon和Weaver64]。在这种方法中,假定隐蔽的信道是无噪声的,在信道操作期间系统中除了发送方和接收方以外没有其他进程,并且发送方与接收方的同步花费的时间可以忽略不计。如果目标是最大可达到带宽的计算,则这些假设是合理的。有了这些假设,就可以将实际上出现的大多数隐式通道建模为有限状态机(图形)。此外,这些图是确定性的,因为对于与给定信道符号(例如0或1)相对应的任何状态转换,图中仅出现一个下一个状态。
(7)5.2
处理已知隐蔽信道的第二种方法是基于带宽限制策略。这样的策略要求将任何信道的最大或平均带宽减小到预定的可接受极限。可以通过以下方式限制带宽:
故意将噪声引入通道(例如,对共享资源(例如,共享表中的索引,磁盘区域,进程标识符)使用随机分配算法;引入以随机模式修改隐蔽通道变量的无关进程);和
故意在真实频道的每个TCB原语中引入延迟。
(8)5.3
处理已知隐蔽信道的第三种方法是阻止使用转换信道。此方法允许所有用户利用已知频道,但提供了阻止使用频道的机制。主要的威慑方法是渠道审计。此方法假定审核机制可以明确检测通道的使用。因此,可以确保用户检测到秘密通道的任何未授权使用。但是请注意,TCSEC仅要求提供审核秘密通道的能力,而不是实际审核秘密通道的能力。这个细节在某种程度上限制了审计作为一种真正的威慑手段的有效性。
隐秘通道审核要求在审核记录中记录足够的数据,以识别以下各项:(1)各个隐秘通道的使用或某些通道类型的使用;(2)识别各个频道或频道类型的发送者和接收者(即,隐蔽频道用户的识别)。此外,必须确定秘密通道使用的发现(即,秘密通道审核不可回避),并且必须避免对秘密通道使用的错误检测。绕开秘密通道审核是不受欢迎的,因为它允许信息泄漏保持未被检测到。对隐秘通道使用的错误检测也是不希望的,因为它可能无法区分无害的用户活动和隐秘通道使用。
一旦通过审计跟踪分析确定了隐蔽信道的使用,就可以估计实际隐蔽信道的带宽,这是合乎需要的。请注意,在一般情况下,不可能从审计跟踪中发现通过秘密渠道泄漏的实际信息,因为用户可以在泄漏之前对其进行加密。而且,仅通过检查审计线索就无法区分真实信息和噪声泄漏。零或一的恒定流是唯一可以将其明确分类为噪声的记录模式。
(9)5.4
TCSEC处理隐秘通道的要求和TCSEC第8节中提出的隐秘通道准则建议了以下处理策略:
带宽低于某个预定义下限b的隐蔽信道是可以接受的;
带宽低于下限b的隐蔽存储通道应是可审核的;所有不可审核的存储通道的带宽应形成文件;
带宽超过某些预定义的上限B> b的隐蔽信道构成了重大威胁,并且在可能的情况下,应将其消除或将其带宽降低至B位/秒;和
带宽超过每秒b位的隐蔽存储通道应进行审核;这使系统管理员能够检测并从程序上纠正严重的威胁。
此策略允许存在不可审核的存储通道。另外,它还允许在安全系统中存在带宽超过B = 1位/秒的秘密存储和定时通道。但是,基于任何特定策略,建议的b = 0.1位/秒和B = 1位/秒的建议值都不合理。得出这些值的唯一依据是确定:
隐式通道处理可能会导致性能下降,并且在大多数环境中1位/秒的带宽是可以接受的。和
尽管在安全系统中可以允许带宽超过1位/秒的隐蔽通道,但是带宽超过100位/秒的隐蔽通道近似于运行许多(旧)计算机终端(或用户可以键入)的速率。因此,在安全的计算机系统中存在这样的通道似乎是不合适的。
15.Ross Anderson曾经宣称“某些类型的安全机制,如果一旦被攻破,就不仅仅只是没有用这么简单了”[14]。
a.请问,对于推理控制而言,这种说法是否也适用?并请说明原因。
b.请问,对于加密机制来说,这种说法是否也适用?并请说明原因。
c.请问,对于那些用来降低隐藏通道容量的方法和技术,这种说法是否也适用?
并请说明原因。
答:
a.不,即使推理控制很弱,也不要无所作为,但最好使用推理控制。添加这样的推理控制几乎没有额外的工作,但它使得攻击者更难攻击。
b. 是的。在大多数情况下,最好不要使用加密,
而不是使用弱加密密码。加密数据是信息重要的标志,
因此可能更容易被模糊化,如果密码很弱,一旦模糊化就很容易被破解。
c. 与a部分相同的答案。
16.请将BLP安全模型与Biba安全模型进行结合,构造出一个既涵盖机密性也涵盖完整性的单一的多级安全模型。
答:
可以通过简单地包含机密性和完整性标签来实现所有对象,然后应用BLP和Biba。Lipner的模型结合机密整合为一个连贯的模型;参见“多级安全”一章在《信息安全手册:模型》中简要讨论了Lipner的模型。
17.BLP安全模型可以简要地表述为“不允许向上读,不允许向下写”。请问,对应于Biba安全模型,类似的表述可以怎么说呢?
答:“不写,不读”。
18.请考虑被称为Gimpy的一一个 视觉CAPTCHA技术项目,见参考文献[249]。
a.请说明EZ Gimpy和Hard Gimpy的工作原理。
b.请说明,EZ Gimpy与Hard Gimpy相比,安全性如何?
c.请讨论目前已知的对每一种Gimpy最为成功的攻击方式。
答:
EZ-Gimpy用扭曲的文字的文字来实现

Hard-Gimpy
在扭曲的字符上加上曲线,以及字符拥挤在一起

b.EZ-Gimpy至少有80%的时间可以被打破,也许可以达到90%。硬Gimpy更安全,但攻击正在改进。
c. OCR技术,自从CAPTCHAs被提出以来,OCR的技术有了很大的发展。
19.这个思考题针对的是视觉CAPTCHA技术。
a.请描述一个本书中尚未提及的现实世界中的视觉CAPTCHA技术的例子,并说明这个CAPTCHA实例的工作原理,也就是说,请解释程序是如何生成CAPTCHA验证码的,又是如何评判结果的。要通过这个测试,需要用户做些什么?
b.对于a中所述的CAPTCHA技术实例,攻击者有哪些可以利用的信息?
答:
a.对于典型的基于测试的验证码,从(大)字典中随机选择一个单词,然后应用随机选择的失真(从一组可能的失真中),并显示结果。用户需要输入单词。
b.我们假设攻击者知道字典、一组可能的失真,并且可以访问软件。
20.请设计并实现一个你自己的视觉CAPTCHA验证码,并列出针对你的CAPTCHA
验证码可能存在的攻击方式。你的这个CAPTCHA验证码的安全性如何?
答:
/**
* 获取验证码图片
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping(“/captcha-image”)
public ModelAndView handleRequest
(HttpServletRequest request, HttpServletResponse response) {

    ServletOutputStream out = null;
    try {
        response.setDateHeader("Expires", 0);
        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");        
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");             
        response.setHeader("Pragma", "no-cache");              
        response.setContentType("image/jpeg");              
        String capText = captchaProducer.createText(); 

//将验证码存入session “Constants.KAPTCHA_SESSION_KEY“是Key
request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);
// create the image with the text
//System.out.println(request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY));
BufferedImage bi = captchaProducer.createImage(capText);
out = response.getOutputStream();
// write the data out
ImageIO.write(bi, “jpg”, out);
out.flush();
logger.info(“*****服务端验证码:*****" + capText);
} catch (IOException e) {
logger.info("服务端验证码异常
” + e.getMessage());
e.printStackTrace();
}
finally {
try { out.close();
} catch (IOException e) {
e.printStackTrace();
logger.info(“关流失败”+e.getMessage());
}
}
return null;
}
攻击方式:可以很有效的防止恶意软件,机器人大量调用系统功能,比如注册,登录,避免了字典式暴力破解。
安全性:十分严密的验证码机制,可以很好的防止恶意软件,是一个很好的却分人类的计算机的一种图灵测试。
21.这个思考题针对的是音频CAPTCHA技术。
a.请描述一个本书中尚未提及的现实世界中的音频CAPTCHA技术的例子,并说
明这个CAPTCHA实例的工作原理,也就是说,请解释程序是如何生成CAPTCHA验证码的,又是如何评判结果的。要通过这个测试,需要用户做些什么?
b.对于a中所述的CAPTCHA技术实例,攻击者有哪些可以利用的信息?
答:
a.
语音验证码
实现方式:
1、页面播放方式:通过网站添加播放器将验证码以语音方式播放出来。主要为满足特殊人群对验证码识别的问题。
2、通过通讯方式直接呼叫预留电话获取验证码。较1种方式,良好的解决了操作终端对音频设备的依赖,且更加私密,安全性高。
3、通过网站功能直接通过绑定电话接听验证码。较前两种方式,这种流程验证范围更加广泛,更可作为替代时下流行的短信验证方式。
用户需要输入手机号,并确认收到的语言信息。
b. 可以用超声波攻击,语音验证码还有可能被窃听。
22.请设计并实现一个你自己的音频CAPTCHA验证码,并列出针对你的CAPTCHA验证码可能存在的攻击方式。你的这个CAPTCHA验证码的安全性如何?
答:
using System.IO;
using SpeechLib;
using System.Drawing;
using System.Threading;

     // 生成音频文件
    SpVoice voice = new SpVoice();
    string voiceStr = "";
    for (int i = 0; i < code.Length; i++)
    {
        voiceStr += code[i] + " ";
    }
    voice.Rate = 1;
    //voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFlagsAsync); //播放音频文件
    //voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
    SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
    SpFileStream SpFileStream = new SpFileStream();
    string savePath = Server.MapPath(".") + " \\wav\\ " + code + ".wav";
    SpFileStream.Open(savePath, SpFileMode, false);
    voice.AudioOutputStream = SpFileStream;
    voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFlagsAsync);
    voice.WaitUntilDone(Timeout.Infinite);
    SpFileStream.Close();  

攻击方式:可以很有效的防止恶意软件,机器人大量调用系统功能,比如注册,登录,避免了字典式暴力破解。
安全性:很好,十分严密的验证码机制,可以很好的防止恶意软件,是一个很好的却分人类的计算机的一种图灵测试
23.在参考文献[56]中,证明了在解决所有基本的视觉CAPTCHA问题上,计算机要比人更强,唯一的例外就是分割问题。
a.请问,基本的视觉CAPTCHA问题是指什么?
b.请问,除了分割问题这个例外情况,计算机是如何解决这些基本问题的?
c.直觉上,对于计算机来说,分割问题比其他基本的视觉CAPTCHA问题要更加困难,请问这是为什么?
解:
a、 计算机最难解决的是分割问题,即确定字母边界的问题。今天,OCR非常强大,如果可以确定字母的边界,那么好的OCR软件就可以确定字母。
b、 一旦分词问题解决了,你就知道字母的边界了。今天,OCR是如此的好,如果一个人能认出这个字母,高质量的OCR也能,成功的概率很高。
c、 只有26个字母——甚至包括大小写、特殊字符等等大概有一百个不同的角色需要考虑。另一方面,当我们需要分离已经在一起运行的字母时,可能性几乎是无穷无尽的。
24.
所谓的reCAPTCHA项目,是做出更进一步的尝试,旨在充分利用自然人在解决CAPTCHA验证码问题时所投入的智慧和努力,见参考文献[322]。在reCAPTCHA项目中,为用户展示两个扭曲的单词,其中一个单词实际上就是一个CAPTCHA验证码,但是另一个单词却是一个看起来像CAPTCHA验证码的扭曲的单词——而光学字符识别(OCR)程序无法对其进行识别。如果真正的 CAPTCHA 验证码问题获得了正确的解决,那么reCAPTCHA程序就认为另一个扭曲的单词也获得了正确的解决。因为人是擅长纠正OCR错误的,所以,该项目的一个实际案例就是,reCAPTCHA验证码可以用于提高数字化图书的准确性。
a.据估算,每天大约有200 000 000个CAPTCHA验证码问题被解决。假如这其中的每一个都是reCAPTCHA验证码,并且每一个的成功识别都需要10秒钟时间。那么,用户每天总共大约有多少时间会花在OCR问题的解决上呢?请注意,我们假设对应每一个reCAPTCHA验证码问题都可以解决两个CAPTCHA验证码问题,那么200 000 000个 CAPTCHA验证码就代表会有100 000 000个reCAPTCHA验证码。
b.假设在对一本书进行数字化时,大约需要平均10个小时的人力来修正OCR错误问题。基于a中的假设,如果要对国会图书馆(Library of Congress)中的全部书籍进行数字化,那么需要多长时间来校正其中产生的所有OCR错误问题呢?国会图书馆大约有32 000 000本书,这里我们还假定现实世界中的每一个CAPTCHA验证码都是这个具体问题中的一个reCAPTCHA验证码。
c.请问,Trudy 如何能够发起对某个reCAPTCHA系统的攻击?也就是说,请描述Trudy要采取何种行动才能够使reCAPTCHA系统所产生的结果变得不那么可靠。
d.为了将攻击带来的影响控制在最小的程度,reCAPTCHA系统的开发者都应该做些什么呢?
解:
a、 解决reCAPTCHAs的时间将超过500000小时,但仅限于其中大约一半将用于解决OCR问题。所以,每天大约25万小时。
b、 大约1280天,也就是3.5年。当然,问题其实很多更困难的是,因为这3200万本书在470个不同的地方语言。还有除了3200万册图书外,图书馆还有6200多万份手稿。此外,每本书10小时的假设可能过于乐观。而在现实中,需要多次解决每个OCR问题(参见本问题的下一部分),这增加了时间因素按比例。最后,认为所有验证码都集中在这个问题上是不现实的。因此,实际上,这可能是一个长达数十年的项目(更不用说图书馆馆藏不断增长的事实……)。
c、 每次她解决验证码,特鲁迪可以给出一个正确的答案和一个不正确的答案。其中大约一半会被认为是有效的,而在每一个被接受的情况下,OCR单词都是不正确的。如果只有Trudy这样做的话,效果会很小,但是如果她能招募很多人用这种方式来“解决”大量的CAPTCHAs,效果就会放大(见下一个问题)。
d、 在假设之前,他们需要多次重述每个OCR单词这是正确的。虽然这使得系统更加健壮,但也使得清除OCR错误的时间更长。
25.广为报道的一件事就是垃圾邮件发送者有时候会雇佣人来解决CAPTCHA验证码问题,见参考文献[293]。
a.请问,为什么垃圾邮件发送者想解决这么多的CAPTCHA验证码问题呢?
b.请问,如果雇佣人来解决CAPTCHA验证码问题的话,那么按照现今的行情,每解决一个CAPTCHA验证码问题,大概要花费多少(以美元计算)?
c.请问,有什么办法能够引诱人们来帮你解决CAPTCHA验证码问题而无需支付任何的费用呢?
解:
a、 免费电子邮件服务要求您解决验证码以获得帐户,以及spamners需要很多账户。
b、 截至2011年,一些网站声称每验证码收费0.02至0.05美元。
c、 有报道称,破解验证码的人都是被免费色情作品引诱的下流分子。
26: 在这一章,我们讨论了三种类型的防火墙:包过滤防火墙、基于状态检测的包过滤防火墙以及应用代理防火墙。
a.请问,上述三种防火墙都分别工作在IP网络协议栈中的哪个层次上?
b.请问,上述三种防火墙都分别能够获得哪些信息?
c.针对上述三种防火墙,请分别简要地讨论一个它们所面临的实际攻击的例子。
答:
a:
1.包过滤防火墙:网络层
2.基于状态检测的包过滤防火墙:传输层,网络层
3.应用代理防火墙:应用层
b.
1.包过滤防火墙:源IP地址、目的IP地址、源端口、目的端口以及TCP标志位
2.基于状态检测的包过滤防火墙:信息包括源IP地址、目的IP地址、源端口、目的端口以及TCP标志位
3.应用代理防火墙:七层数据
c.
1.包过滤防火墙:ip欺骗攻击,木马攻击
2.基于状态检测的包过滤防火墙:协议隧道攻击,反弹木马攻击
3.应用代理防火墙:非授权web 访问,非授权Telnet 访问
27.
商用防火墙产品通常并不使用类似包过滤防火墙、基于状态检测的包过滤防火墙或应用代理防火墙这样的术语。但是,任何防火墙产品必然是属于这三种类型之一,或者是它们的结合。请找出某个商用防火墙产品的说明性信息,并阐述(使用本章中的术语和表达)该产品究竟属于哪一类防火墙。
答:
有些防火墙要进行“深度数据包检查”,这意味着它们就是基于状态检测的包过滤防火墙,也可以查看应用程序数据。也就是说,它们查找应用程序数据时不需要应用程序代理的所有处理(和开销)。
28.
请如果一个包过滤防火墙不允许向外的reset(RST)数据包,那么在本章中所描述的TCP ACK扫描攻击将无法得逞。
a。请问,这样的解决方案有什么缺点?
b.对于这样的一个系统,是否可以对TCP ACK扫描攻击加以修改,使其仍能奏
效呢?
a.
连接不能立即终止,必须指定超时。
b.可以
29.
在本章,我们曾经指出,端口扫描工具Firewalk 在对付防火墙时,如果面对的是包过滤防火墙或者是基于状态检测的包过滤防火墙,就都能够成功,但是如果面对的是应用代理防火墙,就会失效。
请问,为什么情况会是这样?也就是说,请解释为什么该工具对包过滤防火墙或者是基于状态检测的包过滤防火墙都能成功,而对应用代理防火墙则不起作用呢?
b.请问,是否可以对Firewalk加以修改,使其可以对付应用代理防火墙呢?

答:a 因为应用代理网关防火墙彻底隔断内网与外网的直接通信,内网用户对外网的访问变成防火墙对外网的访问,然后再由防火墙转发给内网用户。所有通信都必须经应用层代理软件转发,访问者任何时候都不能与服务器建立直接的TCP 连接,应用层的协议会话过程必须符合代理的安全策略要求。
通过应用程序代理转发的每个数据包都是一个新数据包,也就是说,旧数据包被销毁,新数据包被创建。因此,TTL字段将被设置为默认值,并且接收包的主机将不响应超时错误消息。
b 不可以
30.
假设一个包过滤防火墙对其所允许通过的每一个数据包,都将TTL字段的值重置为255。那么本章中所描述的Firewalk端口扫描工具将会无效。
a.请问,为什么在这种情况下Firewalk会失效呢?
b.请问,这里所提出的解决方案是否会引发什么新的问题?
c.请问,是否可以对Firewalk加以修改,使其可以对付这样的防火墙呢?
答:a:因为超时消息并未发送。
b:错误的数据包将比其他情况下传播的时间更长。
c:将发送的包的TTL字段的值重置为比防火墙的跳数大1的值,并重复这个过程直到成功为止。
31.
一个应用代理防火墙能够对所有进入的应用数据包进行扫描以检测病毒。更加有效率的方式是让每一台主机都对其所接收到的应用数据包进行扫描以检测病毒,因为这样做就是把计算负荷有效地分布在不同的主机上。那么,请分析一下,为什么人们仍然会推荐让应用代理来承担这些功能呢?
答:要确保一台机器做正确的事情要容易得多,而不是必须确保一堆机器都在做正确的事情。
32.
假设进入防火墙的数据包是使用对称密钥加密的,该对称密钥只有发送方和目标接收方知道。请问,哪种类型的防火墙(包过滤防火墙、基于状态检测的包过滤防火墙或者应用代理防火墙)对这类数据包有效?哪种会无效?请说明你的理由。
答:包过滤防火墙有效,基于状态检测的包过滤防火墙或者应用代理防火墙无效。因为包过滤防火墙将对每一个接收到的包做出允许或拒绝的决定。具体地讲,它针对每一个数据包的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由信息继续转发,否则就丢弃。
33.
假设在Alice和Bob之间传送的数据包是加密的,其数据的完整性由Alice和Bob使用一个对称密钥来保护,而该对称密钥只有Alice和Bob两个人知道。
请问,IP数据包头中哪个字段可以被加密,哪个字段不能被加密?
请问,IP 数据包头中哪个字段可以做完整性保护,哪个字段不能被完整性保护?
假如IP数据包头中所有可以做完整性保护的字段都进行了完整性保护,所有可以被加密的字段也都被加了密,那么请问,在这种情况下,在包过滤防火墙、基于状态检测的包过滤防火墙和应用代理防火墙之中,哪–种防火墙仍然能够适用?请说明你的理由。
答:a.长度、碎片、TTL、源和目标IP字段不能加密,因为路由器需要看到这些字段中的信息,剩下的都可以加密。
b.TTL和碎片字段都不能被完整性保护,因为路由器可以更改这些字段中的值。其他的都可以做完整性保护。
c.假设“数据”。也被加密,那么只有一个基本的包过滤器才能工作。如果数据没有加密,那么任何防火墙的合理版本都会起作用。
34.假设在Alice和 Bob之间传送的数据包是加密的,其数据的完整性由Alice的防火墙和 Bob的防火墙基于一个对称密钥来保护,而该对称密钥只有Alice 的防火墙和 Bob的防火墙可知。
a.请问,IP数据包头中哪个字段可以被加密,哪个字段不能被加密?
b.请问,IP数据包头中哪个字段可以做完整性保护,哪个字段不能被完整性保护?
c.假如IP数据包头中所有可以做完整性保护的字段都进行了完整性保护,所有可以被加密的字段也都被加了密,那么请问,在这种情况下,在包过滤防火墙、基于状态检测的包过滤防火墙和应用代理防火墙之中,哪一种防火墙仍然能够适用?请说明你的理由。
解:a. 至少长度、碎片、TTL、源和目标IP字段不能加密,因为路由器需要查看这些字段中的信息。
b. TTL和碎片字段都不能得到完整性保护,因为路由器可以更改这些字段中的值。
c. 在这种情况下,任何防火墙都可以工作,因为防火墙会解密数据包。
35.图8-15给出了利用防火墙实施深度防御的图解。请再列举出其他一些适合深度防御策略的安全应用。
解:纵深防御是一种很好的总体安全策略。例如,你可能同时拥有基于网络的IDS和基于主机的IDS来捕获任何逃避基于网络的IDS的攻击。
36,从广义上讲,有两种不同类型的入侵检测系统,即基于特征的和基于异常行为的。
a.请列举出基于特征的入侵检测系统相对于基于异常的入侵检测系统的若干优势。
b.请列举出基于异常的入侵检测系统相对于基于特征的入侵检测系统的若干优势。
c.请问,相比基于特征的入侵检测系统,为什么实现一个有效的基于异常的入侵检测系统天然地就更具挑战性呢?
解:a. 基于特征码的检测速度相对较快,对已知攻击有效。
b. 基于异常的检测为我们提供了一个检测以前未发现的攻击的机会。
c. 防御未知的事物要困难得多。
37.
某个特定的厂商将下面的解决方案应用到了入侵检测系统之中1。该公司维护了大量的蜜罐,这些蜜罐分布在互联网上。对于一个潜在的攻击者来说,这些蜜罐看起来就像是非常脆弱的系统。于是,这些蜜罐招来了大量的攻击行为,特别是,一些新型的攻击在蜜罐部署完成之后没多久就粉墨登场了,有时候甚至是在蜜罐部署的过程中就会抛头露面。每当某个蜜罐检测出来一种新的攻击类型,该厂商就立刻研究一个新型攻击的特征,并将最终得到的特征值分发给所有使用该公司产品的系统中。攻击特征的实际衍生过程通常是一个人工处理的过程。
a.相对于一个标准的基于特征的入侵检测系统而言,这种方法具备什么样的优势
呢?如果有的话。
b.相对于一个标准的基于异常的入侵检测系统而言,这种方法具备什么样的优势
呢?如果有的话。
c.根据本章中给出的术语和说法,本思考题勾勒出的这个系统将被归类为一个基
于特征的入侵检测系统,而不是一个基于异常的入侵检测系统。请问,这是为什么?
d.基于特征的入侵检测系统和基于异常的入侵检测系统的定义都不够标准15。本思考题所描述的这个系统的厂商坚持要将该系统视为一种基于异常的入侵检测系统。在本书作者将这个系统归类为基于特征的入侵检测系统的情况下,为什么厂商还要坚持声称这是一个基于异常的入侵检测系统呢﹖别忘了,作者本人一向明察秋毫,极少有失。
答:
a、 签名的开发和分发要快得多——标准系统通常每周只分发一次或更少的签名。
b、 几乎和理论上的基于异常的系统一样有效——分发签名的延迟越接近于零,它就越接近于作为基于异常的系统的有效性。
c.它只基于签名——没有任何基于异常的统计问题,
d、 营销吸引力——基于异常的比基于签名的性感多了,没有标准的术语,没有人可以抱怨。
38.在本章介绍的基于异常的入侵检测系统的例子,是根据文件使用情况统计来实现的。
还有许多其他的统计信息也能够用于一个基于异常的入侵检测系统的一部分。例如,对网络的使用情况也是一个值得考虑的有价值的统计信息。请再列举出五个其他类似的统计信息,说明这些信息完全可以用在基于异常的入侵检测系统中。
将多个不同的统计信息结合起来使用,而不是仅仅依赖于其中少量的信息,有时这种做法值得推荐。请说明其中的道理
将多个不同的统计信息结合起来使用,而不是仅仅依赖于其中少量的信息,有时这种做法并不可取。请说明其中的道理。
答:
a、 发出的命令、打字速度、鼠标移动、活动与不活动、使用时间,以及许多其他可能性。
b.更多的统计数据将更清楚地显示用户的活动。
c.更多的统计数据将使其速度变慢,而且还可能会产生更多的错误警报,因为合法用户更可能会根据不同的情况而有所不同数据之一。a、 在这个例子中,S≈0.118,超过了书中给出的阈值0.1。因此,这将被认为是不正常的。b、 待定41。a、 待定

请回顾一下,本章中所介绍的基于异常的入侵检测系统的例子是依赖于文件使用情况统计的。预计的文件使用情况比率(即表 8-4 所示的 H,的值)要根据公式(8.3)定期更新,这可以看做是一个动态的均值。
请问,为什么需要对预计文件使用情况的比率进行更新呢?
b.随着我们对预计文件使用情况的比率进行更新,也给 Trudy 的攻击行为开辟了
潜在的可用渠道。请问,是怎么造成的这种局面,为什么会这样?
c.请论述一个不同类型的解决方案,以构建和更新基于异常的入侵检测系统。
答:
a、 随着时间的推移,使用变化,所以如果这些值不改变,你很快就会得到许多错误的武器。
特鲁迪可以简单地“慢慢来”,并最终说服身份证,她的行为是正常的。
c.我个人最喜欢的将是训练一个“隐马尔可夫模型”,或嗯,对数据。这个过程相对有效,因此更新步骤可能只涉及重新训练,其中包括新数据,丢弃最旧的数据(滑动窗口方法)。当然,任何其他机器学习技术(如神经网络)都可以替代。
40.假设根据图 8-20 中时间间隔的统计结果,Alice 的文件使用统计情况为∶A0=0.05,A1= 0.25,A2 = 0.25 和A3= 0.45。
请问,这是 Alice 的正常行为吗?
请计算从 Ho到 H3的更新值。
答:
a、 在这个例子中,S≈0.118,超过了书中给出的阈值0.1。因此,这将被认为是不正常的。
b、H0=0.09
H1=0.354
H2=0.341
H3=0.215
41.假设我们从图 8-16 所示的 H0到H3的值开始,请思考如下问题∶
a.请问,最少需要多少次的迭代,才有可能使得H0> 0.9,并确保在任何步骤中入侵检测系统都不会触发报警。
b.请问,最少需要多少次的迭代,才有可能使得H3> 0.9,并确保在任何步骤中入侵检测系统都不会触发报警。
答:
a、最少需要4次的迭代
b、 由于阈值为0.1和√0.1≈0.31,在H3>0.9之前,至少需要三次“正常”迭代。
42.请考虑图8-18中给出的结果,并思考如下问题:
a.从后续的时间间隔来看,A3的值最大可以是多少,仍能够确保不触发入侵检测系统的报警。
b.根据a中得到的解决方案,请找出相匹配的A0,A4和A2的值。
c.请根据a和b中得到的解决方案,以及在表8-6中给出的H的值,计算相应的
统计值S。
a. Ag≥0.39触发报警,而A3 = 0.36, Ao = 0.02,A1 =0.32, A2 = 0.30,将远远低于S = 0.1的阈值。
b.见a部分。
c见a部分。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值