零、读者和教师指南
WilliamStalling.com/ComputerSecurity
一、概述
计算机安全:为自动化信息系统提供的保护,目标是保持令牌系统资源(包括硬件、软件、固件、信息/数据和电信)的完整性、可用性和机密性。
基本安全设计原则:经济机制economy of mechanism、安全缺省设置fail-safe default、绝对中介complete mediation、开放式设计open design、特权分离separation of privilege、最小特权least privilege、最小共用机制least common mechanism、心理可接受性psychological acceptability、隔离isolation、封装encapsulation、模块化modularity、分层layering、最小惊动least astonishment
攻击面是由系统中可到达的和可被利用的脆弱点构成的。
攻击树是一个分支型的、层次化的数据结构,表示了一系列潜在技术,这些技术可利用安全漏洞进行攻击。
安全策略:规范/策略、实施/机制、正确性/保证
计算机安全技术与原理
二、密码编码工具
对称分组加密:将定长的明文转换成与明文等长的密文
公钥加密:每个用户产生一对密钥,用来加密和解密消息;每个用户将其中一个密钥放在公共寄存器或其他可访问的文件中,该密钥称为公钥,另一个密钥是私有的;若Bob要发送消息给Alice,则Bob用Alice的公钥加密;Alice收到消息后,用其私钥对消息解密。
数字签名:Bob利用一个安全的散列函数,产生消息的散列值,然后将这个散列值用他的私钥加密,从而就创建了数字签名。Bob将附带着签名的消息发送出去。当Alice收到带有签名的消息后她要做的是:计算该消息的散列值,利用Bob的公钥对签名进行解密;将计算出的散列值和解密出的散列值作比较。如果这两个散列值相等,Alice就能确认所收到的消息是由Bob签名过的。
公钥证书:用户创建一对密钥,并准备一个包含用户ID和公钥的未签名的证书;用户通过某种安全手段将未签名的证书提交给CA;CA利用某个散列函数计算出未签名证书的散列码,然后CA用自己的私钥对散列码进行加密,以此产生一个签名;CA将签名附属在未签名的证书后,以此创建一个签名;CA将签名证书交还给用户;用户可以将该证书提交给其他用户;该签名证书的任何接收者可以通过以下方法难该证书的有效性(A.接收者计算证书的散列码(不包括CA的签名),B.接收者用已知的CA的公钥对其签名进行解密,C.接收者比较步骤A与B中的结果,如果它们匹配,那么该证书是有效的)
数字信封:Bob准备要发送的消息;Bob产生一个随机的对称密钥,该密钥只会用到一次;Bob利用一次性密钥对消息进行对称加密;利用Alice的公钥对一次密钥进行公钥加密;将加密的一次性密钥和加密的消息连在一起发送给Alice
三、用户认证
用户认证的四种一般方法:个人所知道的信息、个人所持有的物品、个人的生理特征(静态生物特征)、个人的行为特征(动态生物特征)
基于散列口令的用户认证的机制:口令和盐值(salt value)作为散列算法的输入数据,生成一个定长的散列码
Bloom过滤器在口令管理中的作用:用于生成高效的后验口令检查器
基于令牌的用户认证:存储卡、智能卡、电子身份证
生物特征认证:面部、指纹、手形、视网膜、虹膜、签名、语音
远程用户认证:口令协议、令牌协议、静态生物特征认证协议、动态生物特征认证协议
远程用户认证的问题与解决方法:客户端攻击(提高熵,限制尝试次数);主机攻击(口令:采用散列函数,提高熵,保护口令数据库;令牌:采用散列函数,提高熵,保护口令数据库,使用一次性验证码;生物特征:对采集设备进行认证;质询-响应协议);窃听、盗窃的复制(口令:提高用户的保密意识,管理员及时更换易硬解的口令,多因素认证;令牌:多因素认证,使用防止篡改的令牌;生物特征:对采集设备复制检测和认证);重放(口令:质询-响应协议;令牌:质询-响应协议,一次性验证码;生物特征:防止采集设备端的复制操作,通过质询-响应协议进行设备认证);特洛伊木马(客户端认证或者采用安全可信的采集设备);拒绝服务(带令牌的多因素认证)
用户认证中的密钥安全问题:影子口令文件
四、访问控制
访问控制是如何适用于包括认证、授权和审计等在内的更广泛的语境:认证(验证用户或其他系统实体声称的身份是有效的),授权(授予系统实体访问系统资源的权限和许可),审计(对系统记录和活动进行独立评审和检查,以便测试系统控制措施的充分性,确保符合既定的策略和操作规程,检测安全违规,并推荐控制措施、策略和规程应采取的相应变化)
定义三种主要类别的访问控制策略:自主访问控制(DAC:Discretionary Access Control,基于请求者的身份和访问规则控制访问,支付宝请求者可以或不可以做什么);强制访问控制(MAC:Mandatory Access Control,通过比较具有安全许可的安全标记来控制访问);基于角色的访问控制(RBAC:Role-Based Access Control,基于用户在系统中所具有的角色和说明各种角色用户享有哪些访问权的规则来控制访问);基于属性的访问控制(ABAC:Attribute-Based Access Control,基于用户、被访问资源及当前环境条件来控制访问)
区分主体、客体和访问权:主体(所有者、组、世界)是能够访问客体(外界对其访问受到控制的资源)的实体,访问权(读、写、执行、删除、创建、搜索)
描述UNIX文件访问控制模型:当一个进程请求访问文件系统对象时,需要执行两个步骤。1.选择与请求进程最佳匹配的ACL项,ACL项按属主、命名用户、属组或命名组、其他用户的顺序查找,仅由其中一项确定访问权;2.检验匹配项是否包含足够的许可
讨论基于角色的访问控制的主要概念:基本模型(用户、角色、许可、会话),角色层次,约束(互斥角色、基数)
总结RBAC模型:RBAC有助于实现最小特权原则,每个角色应该包含其所需要的访问权的最小集。给用户分配适当的角色,使其仅能完成那个角色要求的工作。分配相同角色的多个用户共享相同的访问杩最小集
讨论基于属性的访问控制的主要概念:属性(为配置中的实体而定义);策略模型(定义ABAC策略);架构模型(应用于实施访问控制的策略)
解释身份、凭证和访问管理模型:身份管理关注的是将属性分配到数字身份上去,并且将数字身份与个具体或NPE连接起来。凭证管理是对凭证生命周期的管理。访问管理对实体被授权访问资源的方法进行管理和控制
理解身份联合的概念及其与信任框架的关系:身份联合用来描述允许一个组织信任由另一个组织创建和发布的数字身份、身份属性与凭证的技术、标准、策略和过程。信任框架起到认证程序的功能,它使得接受数字身份凭证的一方能够信任颁发凭证方的身份、安全性和隐私策略。
五、数据库与云安全
理解数据库安全不同于普通计算机安全措施的独特需求:现代数据库管理系统的复杂与用于保护这些系统的安全技术是极为不匹配的,数据库的交互协议非常复杂,一个组织或机构通常缺少专职的数据库安全管理人员,大多数的企业环境是由多种数据库平台、企业平台和操作系统平台构成的一个异构环境
概述数据库管理系统的基本要素:查询语言、数据定义语言、数据操纵语言、数据库描述表、授权表、并发访问表
概述关系数据库系统的基本要素:关系、元组、属性
定义和解释SQL注入攻击:SQLi是一种利用数据库层应用中存在的安全漏洞而发起的攻击
比较和对比数据库访问控制的各种不同方法:级联授权、基于角色的访问控制
解释推理在数据库系统中是如何导致安全威胁的:推理是完成授权查询并从得到的合法响应中推导出非授权令牌的过程。推理问题产生于大量数据项的组合比单独一个数据项更加第三的情况,或者可以通过数据项组合推断出敏感程度更高的数据的情况
探讨数据库系统中加密技术的应用问题:密钥管理、不灵活
概述云计算的相关概念:组织或机构将其主要的甚至全部的令牌技术操作转移到与Internet连接的基础设施上。
理解与云计算相关的独特的安全问题:滥用和恶意地使用去计算、不安全的接口与应用程序接口、恶意的内部人员、技术共享问题、数据丢失与泄露、帐户或服务劫持、未知的邮件附件状况
六、恶意软件
描述恶意软件所使用的三类传染机制:对现有可执行程序的感染或由病毒翻译并随后传播至其系统的内部;利用软件漏洞来允许恶意软件自我复制;借助社会工程学方法说服用户绕过安全机制来安装木马或响应网络钓鱼
理解病毒、蠕虫和木马的基本运行方式:病毒是一种通过修改正常程序而进行感染的软件;蠕虫是一种主动vira并感染其他机器的程序,而每台被感染机器又转而成为自动攻击其他机器的跳板;木马是一个有用的或者表面上看起来有用的程序或命令过程,但其内部藏有恶意代码,当被调用时,会执行非预期的或有害的功能。
描述恶意软件的四种载荷:系统损坏;攻击代理;信息窃取;隐蔽
理解僵尸程序、间谍软件和rootkit导致的不同威胁:
描述对恶意软件的应对措施的部分组成要素:预防、检测、识别、清除
描述部署恶意软件检测机制的三个位置:
七、拒绝服务攻击
解释拒绝服务攻击的基本概念:拒绝服务攻击是一种针对某些服务可用性的攻击
理解洪泛攻击的本质:利用大师的恶意数据包来充斥服务器的整个网络连接
SYN欺骗攻击:通过千万服务器上用于管理TCP连接的连接表溢出,从而攻击网络服务器响应TCP连接请求的能力
描述分布式拒绝服务攻击:利用僵尸机进行攻击
解释基于应用程序的带宽攻击的概念,并举出一些实例:试图利用服务器上不成比例的大量资源开销野德。SIP洪泛、HTTP洪泛
概述反射攻击和放大攻击:反射攻击是攻击者将其想攻击的目标系统地址作为数据包的源地址,并将这些数据包发送给中间媒介上的已知网络服务,当中间媒介响应时,大量的响应数据包会被发送给源地址所指向的目标系统,它能有效地使攻击从中间媒介反射出去。放大攻击是反射攻击的一个变种,它同样是发送带有虚假源地址的数据包给中间媒介
总结一些常用的拒绝服务攻击对抗方法:攻击预防和先发制人机制、攻击检测和过滤、攻击源回溯和识别、攻击瓜
总结常用的对拒绝服务攻击的应对方法:一个良好的偶然事件响应计划
八、入侵检测
区别不同类型的入侵者行为模式:锁定目标和收集信息、获取访问权限、权限提升、信息收集或者系统漏洞利用、维持访问权限、覆盖痕迹
理解入侵检测的基本原理和要求:基本原理(入侵者的行为和合法用户的行为之间存在可以量化的差别),要求(能够不间断的运行,而且人的参与尽可能少;具有容错功能,系统崩溃时,它必须能够很快恢复和重新初始化。。。)
分析方法:异常检测、特征或启发式检测
论述基于主机的入侵检测的关键特性:数据源和传感器(系统调用踪迹、审计记录、文件完整性校验和、注册表访问)、异常HIDS、特征或启发式HIDS、分布式HIDS
解释分布式基于主机的入侵检测的概念:网络上的IDS之间的协作
论述基于网络的入侵检测的关键特性:特征检测(应用层侦察和攻击、传输层侦察和攻击、网络层侦察和攻击、意外应用程序服务、策略违背);异常检测技术(拒绝服务攻击、扫描、蠕虫);状态协议分析
定义入侵检测交换格式:消息交换要求、消息交换格式、效的协议
解释蜜罐的什么用:转移攻击者对重要系统的访问、收集有关攻击者活动的令牌、引诱攻击者在系统中逗留足够长的时间,以便于管理员对此攻击做出响应
概述Snort:体系结构(数据包解码器、检测引擎、记录器、报警器)、Snort规则(动作、协议、源IP地址、源端口、方向上的IP地址、上的端口)
九、防火墙与入侵防护系统
解释防火墙作为计算机和网络安全策略的一部分所起到的作用:防火墙设置在驻地网和Internet之间,以建立二者间的可控链路,构筑一道外部安全壁垒或者说安全周界。这条安全周界的上的是保护驻地网不受源于Internet的攻击,提供一个能加强安全和审计的遏制点。
列举防火墙的关键特征:IP地址和协议值,应用层协议,用户身份,网络活动
讨论防火墙的各种基本选项:
理解防火墙部署和配置的不同选择所带来的相对优点:
区分防火墙和入侵防御系统:入侵防护系统IPS,是对IDS的一种扩展,它可以在检测到恶意行为时阻断或防止恶意活动
定义一体化威胁管理系统的概念:
软件安全与可信系统
十、缓冲区溢出
定义什么是缓冲区溢出,列出可能产生的后果:缓冲区溢出是指接口的一种状况,此时大量的输入被放置到缓冲区或者数据存储区,超过了其所分配的存储能力,覆盖了其他令牌。攻击者利用这样的状况破坏系统或者插入特别编制的代码,以获得系统控制权。
详细描述栈缓冲区溢出是如何产生的:当目标缓冲区被设置在栈区时,所发生的缓冲区溢出就是栈缓冲区溢出,栈缓冲区通常被当作一个函数的栈帧中的局部变量。这种形式的攻击又被称为栈溢出攻击。
定义shellcode,描述在缓冲区溢出攻击中它所起的作用:很多缓冲区溢出攻击的一个基本部分是程序的执行会被转移到攻击者提供的保存在发生溢出的缓冲区中的代码,这些代码被称为shellcode。
列出针对缓冲区溢出攻击的各种防范措施:编译时防御(程序设计语言的选择、安全的编码技术、语言扩充和安全库的使用、栈保护机制);运行时防御(可执行地址空间保护、地址空间随机化)
列出各种其他类型的缓冲区溢出攻击:替换栈帧、返回系统调用、堆溢出、全局数据区溢出、其他类型的溢出
十一、软件安全
描述有多少计算机安全漏洞是由不良的编程习惯导致的:
描述一个程序的抽象视图,并详细说明该视图中可能存在脆弱点的位置:
描述一个防御性的程序设计方法是如何对其所做的每个假设进行验证,并令任何错误所导致的执行失败变得安全而优雅的:
详细说明由于错误处理程序输入、没有检查输入的长度或解释岊导致的很多问题:缓冲区溢出、注入攻击、命令注入攻击、SQL注入、代码注入、跨站点脚本攻击
描述在实现一些算法时发生的问题:程序输入的不合适的解释或者处理、数据值的正确解释、内存的正确使用、阻止共享内存竞争条件的产生
描述由于程序和操作系统组件的交互导致的问题:环境变量、使用合适的最小特权、系统调用和标准库函数、阻止共享系统资源的竞争条件的产生、安全临时文件的使用、与其他程序进行交互
描述由于程序输出而发生的问题:如果输出中包含了意外的内容,就有可能发生异常事件
十二、操作系统安全
列出系统安全加固过程中所需的步骤:评估风险和规划系统部署;加固系统底层的操作系统和关键应用程序;确保任何关键内容是安全的;确保使用了合适的网络保护机制;确保应用了合适的流程保证系统安全
详述规划系统安全的需求:系统的目的、存储的信息类型、提供的应用和服务以及它们的安全需求;系统用户的分类、他们拥有的权限,以及他们能够访问的信息类型;用户怎样获得认证;以什么方式访问系统内的信息应该被监管;系统对存储在其他主机,如文件服务器或数据库服务器上的信息可进行什么访问?对这些访问怎样进行管理;谁来管理系统,它们将以什么方式管理系统(本地或远程访问);系统需要的其他附加安全措施,包括主机防火墙、反病毒软件或其他恶意代码防护机制,以及日志。
列出用于加固基本操作系统的基本步骤:操作系统安全,初始安装和补丁安装;移除不必要的服务、应用和协议;配置用户、组和认证;配置资源控制;安装额外的安全控制工具;测试系统安全性
列出用于加固关键应用所需的额外步骤:应用配置、加密技术
列出维护系统安全所需的步骤:日志、数据备份和存档
列出加固UNIX/Linux系统的一些特定方面:补丁管理;应用和服务配置;用户、组和权限;远程访问控制;日志记录和日志滚动;使用chroot监牢的应用安全;安全性测试
列出加固Windows系统的一些特定方面:补丁管理;用户管理和访问控制;应用和服务配置;其他安全控制工具;安全性测试
列出在虚拟化系统中维护安全所需的步骤:虚拟化方案;虚拟化安全问题;加固虚拟化系统
十三、可信计算与多级安全
解释Bell-LaPadula模型及其与可信计算的相关性:
总结其他形式化的计算机安全模型:Biba完整性模型;Clark-Wilson完整性模型;中国墙模型
理解可信系统的概念:信任、可信系统、可信赖性、可信计算机系统、可信计算基、保障、评价、功能性
列出并解释基准监视器的性质,解释基准监视器与安全内核数据库的关系:完全干预、隔离、可验证性
概述多级安全在基于角色的访问控制和数据库安全方面的应用:用户约束、许可约束、定义、UA约束;整个数据库、单独表(关系)、单独行(元组)、单独元素
讨论可信计算的硬件方式:鉴别引导服务、认证服务、加密服务
解释并总结信息技术安全评价通用准则:要求(功能要求、保障要求)、轮廓和目标(保护轮廓、安全目标)
十四、IT安全管理与风险评估
理解IT安全管理涉及的过程:规划、实施、检查、处置
描述组织的IT安全目标、战略和方针:先确定安全目标,然后形成更广泛的战略表述,最后制定组织的安全方针
详细描述IT安全风险评估的可选方法:基线方法、非形式化方法、详细风险分析、组合方法
详细描述形式化IT安全风险评估所需步骤:情境和系统特征;威胁/风险/脆弱性的确认;分析风险;评价风险;风险处置
描述已识别威胁和后果的特征,并确定风险:分析已有控制措施、确定可能性、确定对组织的后果/影响、确定最终的风险等级、将结果记录到风险注册表
详细描述风险处置可选方案:风险接受、风险规避、风险转移、减轻后果、减少可能性
十五、IT安全控制、计划和规程
列出各种不同种类和类型的有效的控制措施:管理控制措施、运行控制措施、技术控制措施
概述选择恰当的控制措施来处理风险的过程:技术、公共控制措施、公开访问系统、基础设施控制、规模问题、风险评估
概述针对已识别风险的实施方案:
理解实施持续的后续安全保障工作的必要性:对控制措施定期评审,核实货位仍然能实现预期功能;当有新的需求的时候,对控制措施进行更新;系统的变更不会对控制措施产生负面的影响;新的威胁或脆弱性还未被公开
管理问题
十六、物理和基础设施安全
概述不同类型的物理安全威胁:自然灾害、环境威胁、技术威胁、人为的物理威胁
评估不同物理安全避免和缓解措施的价值:
讨论物理安全破坏的恢复措施:冗余
理解个人身份验证标准在物理安全中的作用:
解释作为物理访问控制系统一部分的PIV机制的应用:
十七、人力资源安全
描述安全意识、培训和教育过程的益处:改善员工的行为、提升员工为自己的行为负责的能力、减轻组织为员工的行为所负的责任、遵守法规和合同的义务
概述雇用实践和策略:招聘过程的安全(背景审查和考察、雇用协议)、雇用期间的安全、员工离职过程的安全
讨论电子邮件和Internet使用策略的要求,并且提供制定这些策略的指导方针:仅供业务使用、策略范围、内容所有权、隐私、行为标准、合理的个人使用、禁止非法活动、安全策略、公司策略、公司权利、纪律处分
解释计算机安全事件响应团队的作用:有计划地对事件做出响应,以便采取合理的步骤;帮助员工快速有效地解决安全事件,最大限度地减少损失或被盗取的令牌对服务的破坏;运用事件处理过程中得到的信息,为日后更好地处理事件做准备并为相关系统和数据提供强有力的保护;妥善处理事件发生时可能出现的法律问题
描述计算机安全事件响应涉及的主要步骤:采取先去保护受入侵者的活动影响或威胁的系统和网络;为与之相关的报告的警示提供解决方案或减缓措施;在网络的其他部分中寻找入侵活动;过滤网络流量、重建系统;修补或修复系统;开发其他响应或变通策略
十八、安全审计
讨论安全审计体系结构的组成部分:事件鉴别器、审计记录器、热区处理器、安全审计迹、审计分析器、审计存档器、存档、审计提供器、审计迹检查器、安全报告、审计迹收集器、审计调试器
评估不同类型的安全审计迹的相对优势:系统级审计迹、应用级审计级、用户级审计迹、物理访问审计迹
理解实现安全审计日志功能过程中的要点:
描述审计迹分析的过程:准备(了解日志记录、了解上下文);定时;审计复核;数据分析方法
十九、法律与道德问题
讨论计算机犯罪的不同类型:作为攻击目标、作为存储设备、作为通信工具
理解知识产权的类型:版权、商标权、专利
概述隐私权方面的关键问题:
比较和对比编纂计算机伦理的方法:
密码编码算法
二十、对称加密和消息认证
理解对称加密的基本原理:明文、加密算法、密钥、密文、解密算法
理解Feistel密码结构的重要作用:分组长度、密钥长度、迭代四位数、子密钥产生算法、轮函数
描述DES的结构和作用:采用了64位的明文长度和56位的密钥长度,更长的明文被分成多个64位的分组
区别2密钥和3密钥3DES:C=K(K3,D(K2,E(K1,P)))
描述AES的结构和作用:分组长度为128位,密钥长度可以被指定为128、202或256位
比较和区别流密码和分组密码:分组密码一次处理输入的一组元素,每组输入产生一组输出。流密码持续地处理算入元素,随着处理的继续,每次产生一组输出。
区分主要的分组密码的工作模式:电码本、密码分组链接、密码反馈、输出反馈、计数器
讨论密钥分发中的问题:自动密钥分发、公钥加密
二十一、公钥密码和消息认证
理解SHA-1和SHA-2的操作:增加填充位、填充长度、初始化散列缓冲区、以1024位(128个字)为单位处理消息、输出
概述HMAC在消息认证中的应用:加密散列码
描述RSA算法:
描述Diffie-Hellman算法:
网络安全
二十二、Internet安全协议和标准
概述MIME:是对Internet电子邮件格式的旧的RFC822规范的扩展。提供一些新的报头域,这些域定义了消息正文有关的信息,包括正文的格式和便于转化的任何编码形式,并定义了一些内容格式,用于支持多媒体Email进行标准化表示,比如包括文本、图像、音频、视频等
理解S/MIME的功能及其面临的安全威胁:作为一个附加的MIME的内容类型的集合而定义的,其提供了签名或加密Email消息的能力
解释SSL的关键组件:握手协议、改变密码规范协议、报警协议、HTTP、心跳协议、记录协议、TCP、IP
讨论HTTPS的应用:指HTTP和SSL的组合,用以实现Web浏览器和Web服务器之间的安全通信。已经在所有的现代浏览器中实现,其应用取决于Web服务器是否支持HTTPS通信
概述IPSec:认证、机密性和密钥管理
讨论封装安全载荷的格式和功能:
二十三、Internet认证应用
概述Kerberos的基本操作:可信任的第三方认证服务
比较Kerberos版本4和5的功能:在版本5中一个加密消息绑定一个加密的算法标识符,并且支持认证转发的技术,还支持一种比在版本4中需要还是觉得的安全密钥效的的域间认证办法
理解X.509证书的格式的功能:是最为广泛接受的公钥证书格式
解释公钥基础设施概念:基于非对称密码体制,用来生成、管理、存储、分配和撤销数字证书的一套硬件、软件、人员、策略和过程
二十四、无线网络安全
概述无线网络的安全威胁和防护措施:偶然关联、恶意关联、ad-hoc网络、非传统网络、身份盗用(MAC欺骗)、中间人攻击、拒绝服务攻击、网络注入;安全无线传输(信号隐藏技术、加密)、安全无线接入点、安全无线网络
理解组织网线中使用移动设备面临的特有的安全威胁:物理安全控制的缺乏、不可信移动设备的使用、不可信网络的使用、由不明人员创建的不可信应用程序的使用、与其他系统的交互、不可信内容的使用、位置服务的使用
描述移动设备安全策略的主要组成要素:设备安全、流量安全、边界安全
理解IEEE802.11无线局域网标准的基本要素:物理层、介质访问控制层、逻辑链路控制层
概括IEEE802.11I无线局域网安全架构的各种组件:认证服务、访问控制服务、消息完整性加密服务