版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络和计算机安全信息安全概述1网络和计算机安全信息安全概述1Internet中的信息安全Internet中的信息系统越来越不安全高度互联的InternetInternet安全性问题的根源是信任假设的改变(ATM)WorldWideWeb和WildandWoollyWest(M.Jakobsson和M.Yung)信用卡泄密事件2Internet中的信息安全Internet中的信息系统越来案例美4000万信用卡泄密,波及"中国卡"2005年6月21日报道,美国4000万信用卡资料泄露的事件最终还是波及到了中国。根据万事达(Mastercard)昨日发布的澄清声明,被波及的中国万事达信用卡数量为5560张以内。Visa国际则表示,相关的数据正在统计中,将在稍晚发布。因为这次事件中美国所有的信用卡品牌均被波及,万事达卡只占“外泄卡”总数的35%,所以中国“外泄卡”总数很可能过万。本次遭到黑客入侵的公司,是在美专为银行、会员机构、特约商店处理卡片交易资料之外包厂商CardSystems。此公司在美负责处理大约105000家中小企业业务,目前并未处理中国内地银行的信用卡业务。但由于其代理的万事达和Visa两大全球信用卡公司,均已在中国开展业务多年。所以,万事达卡的“外泄卡”中,也有0.04%(大约5600张)在中国内地,0.07%(大约10000张)在香港。万事达卡表示,侦测发现此次事件之后,立即主动发出预警通知所有银行、金融机构,呼吁所有单位须更加小心保护自身权益。另外,万事达卡国际组织也已彻底要求CardSystems限期改善,立即补强安全漏洞。Visa国际表示将尽快发布紧急声明。Visa国际中国区总经理熊安平昨日在接受记者独家专访时表示,Visa国际定期在全球收集有关欺诈嫌疑的商户,还会针对珠宝店之类高风险的商户实行特别监控,并针对网上交易等实行“保证金”制度,确保持卡人权益不受侵害。未受波及的中国银联也不敢掉以轻心。因为在国内拥有最大的银行卡网络,且与CardSystems的业务有部分的重合,中国银联发言人表示将很快发布对于此事件的官方声明。3案例美4000万信用卡泄密,波及"中国卡"3信用卡事件图例4信用卡事件图例4思考题本次泄密事件的泄密机制是怎么样的?本次泄密事件的主要原因是什么?如何防范这种泄密?这种信用卡盗窃事件破坏了(信用卡)信息的什么属性?5思考题本次泄密事件的泄密机制是怎么样的?5CERT报告的安全性问题CERT(ComputerEmergencyResponseTeam)报告的安全性问题总体呈现上升趋势分为两个报告:报告的漏洞安全事件6CERT报告的安全性问题CERT(ComputerEme1995-2004年报告的漏洞数目统计(CERT)
71995-2004年报告的漏洞数目统计(CERT)71988-2003年报告的安全事件统计(CERT)
安全事件020000400006000080000100000120000140000160000198819891990199119921993199419951996199719981999200020012002200381988-2003年报告的安全事件统计(CERT)安全事安全问题的重要性系统原来越不安全系统的安全性取决于不同的方面本课程的主要着力点在于安全软件的设计问题上讲解安全的原理9安全问题的重要性系统原来越不安全9什么是安全10什么是安全10安全的概念橘皮书C.I.A.信息安全领域的划分安全的矛盾性安全定义的发展影响安全的技术因素11安全的概念橘皮书11橘皮书橘皮书的历史橘皮书定义了三类、六个基本需求第一类:策略需求1-安全策略(SecurityPolicy)
需求2-标定(Marking)
第二类:审计需求3-可标识(Identification)
需求4-可审计(Accountability)
第三类:保障需求5-保障(Assurance)
需求6-持续防护(ContinuousProtection)
12橘皮书橘皮书的历史12信息安全的定义信息安全是一个十分广泛而又复杂的话题美国国家电信和信息安全委员会(NSTISSC)信息安全是对信息、系统以及使用、存储和传输信息的硬件的保护。但是要保护信息及其相关系统,诸如策略、认识、培训和教育以及技术手段都是必要的。微软公司M.Howard,D.LeBlance一个安全的产品应该是指在信息所有者或者系统管理员控制下能够保护客户数据的机密性、完整性和可用性,能够保护资源处理过程的完整性和有效性。机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)的组合13信息安全的定义信息安全是一个十分广泛而又复杂的话题13机密性机密性是指保证计算机相关的有价值财产(信息)只能被授权过的用户所访问。机密性的保护认证和访问控制加密14机密性机密性是指保证计算机相关的有价值财产(信息)只能被授权完整性完整性是指这些计算机相关的有价值财产(信息)只能被授权过的用户所修改,或者通过授权过的过程所修改。完整性的保护认证和访问控制加密15完整性完整性是指这些计算机相关的有价值财产(信息)只能被授权可用性可用性是指这些有价值的财产(信息)在需要的时候必须能够被授权的用户访问或者修改。可用性的破坏DOS:DenialOfService16可用性可用性是指这些有价值的财产(信息)在需要的时候必须能够可用性破坏案例SYNFlood的基本原理SYNFlood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:TCP与UDP不同,它是基于连接的,也就是说:为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接,建立TCP连接的标准过程是这样的:首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。以上的连接过程在TCP协议中被称为三次握手(Three-wayHandshake)。17可用性破坏案例SYNFlood的基本原理17可用性破坏案例(续)问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源--数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃--即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYNFlood攻击(SYN洪水攻击)。18可用性破坏案例(续)问题就出在TCP连接的三次握手中,假设可用性破坏案例(续)从防御角度来说,有几种简单的解决方法:第一种是缩短SYNTimeout时间,由于SYNFlood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度x
SYNTimeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下(过低的SYNTimeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。第二种方法是设置SYNCookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。可是上述的两种方法只能对付比较原始的SYNFlood攻击,缩短SYNTimeout时间仅在对方攻击频度不高的情况下生效,SYNCookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。19可用性破坏案例(续)从防御角度来说,有几种简单的解决方法:机密性,完整性和可用性及其之间的关系
完整性机密性可用性安全20机密性,完整性和可用性及其之间的关系完整性机密性可用性安全C,I,A分类21C,I,A分类21信息安全领域的划分22信息安全领域的划分22安全的矛盾性警察与小偷银行和抢匪安全的矛盾性不可避免23安全的矛盾性警察与小偷23安全定义的发展
1960-1970:通信安全1970-1980:计算机安全1980-1990:信息安全1990- :信息保障24安全定义的发展1960-1970:通信安全24影响安全的技术因素
网络因素
系统复杂性因素
系统可扩展因素
25影响安全的技术因素网络因素25安全策略和安全机制概述26安全策略和安全机制概述26威胁与威胁建模威胁威胁是对信息安全的某种破坏对威胁的分析的系统化方法称为威胁建模成立威胁建模小组分解应用程序确定系统所面临的威胁以风险递减的原则对威胁排序选择应付威胁的方法选择缓和威胁的技术从确定下来的技术中选择适当的方法威胁建模是设计安全信息系统的第一步,也是最为重要的一环27威胁与威胁建模威胁27威胁建模的迭代过程图解28威胁建模的迭代过程图解28威胁的分类(Shirey)
泄密(Disclosure),也即未经授权的访问,是对信息机密性的破坏;欺骗(Deception),也即收到错误的数据;拦截(Disruption),也即中断或者阻止正确的操作;篡改(Usurpation),也即非授权的控制系统的某些部分。29威胁的分类(Shirey)泄密(Disclosure),安全策略
安全策略(SecurityPolicy)就是指定系统允许或者禁止用户做什么的一种陈述表述系统的安全策略自然语言数学表示
安全策略语言
30安全策略安全策略(SecurityPolicy)就是指XACML
31XACML313232使用安全策略来定义安全系统状态(SystemState)
系统状态是指一个系统中所有的内存、外存、寄存器和其它系统部件的当前值的一个集合保护状态(ProtectionState)
保护状态是系统状态中有关保护系统的内容的一个子集ACM(AccessControlMatrix)表示保护状态最为精确和常用的方法33使用安全策略来定义安全系统状态(SystemState)ACM的表示objects(entities)subjectss1s2…sno1…om
s1…sn34ACM的表示objects(entities)subjecACM的例子135ACM的例子135ACM例子2进程p,q文件f,g权限r,w,x,a,o
f g p qp rwo r rwxo wq a ro r rwxo 36ACM例子2进程p,q36其它的策略表述SubjectannieAttributesrole(artist),groups(creative)VerbpaintDefault0(denyunlessexplicitlygranted)ObjectpictureRule:paint: ‘artist’insubject.roleand ‘creative’insubject.groupsand time.hour≥0andtime.hour<537其它的策略表述Subjectannie37映射到ACM…picture……annie…paintAt3AM,timeconditionmet;ACMis:…picture……annie…At10AM,timeconditionnotmet;ACMis:38映射到ACM…picture……annie…pain状态迁移改变系统的保护状态|–代表迁移Xi|–
Xi+1:命令将系统从状态Xi
迁移到Xi+1Xi|–*
Xi+1:一组命令将系统从状态
Xi
迁移到Xi+1这些命令()经常叫转换过程(transformationprocedures)39状态迁移改变系统的保护状态39ACM的六个原子操作createsubject
s;createobjecto在ACM中创建新的一行和一列;创建新的一列destroysubject
s;destroyobjecto在ACM中删除一行和一列;删除一列enter
r
into
A[s,o]在ACM单元格子中添加权限rdelete
r
from
A[s,o]在ACM单元格子中删除权限r40ACM的六个原子操作createsubjects;crCreateSubject前提:s
S原子命令:createsubject
s结果:S=S
{s},O=O
{s}(y
O)[a[s,y]=],(x
S)[a[x,s]=](x
S)(y
O)[a[x,y]=a[x,y]]41CreateSubject前提:sS41CreateObject前提:o
O原子命令:createobject
o结果:S=S,O=O
{o}(x
S)[a[x,o]=](x
S)(y
O)[a[x,y]=a[x,y]]42CreateObject前提:oO42AddRight前提:s
S,o
O原子命令:enterrintoa[s,o]结果:S=S,O=O(x
S)(y
O)[a[x,y]=a[x,y]]a[s,o]=a[s,o]{r}43AddRight前提:sS,oO43DeleteRight前提:s
S,o
O原子命令:delete
r
from
a[s,o]结果:S=S,O=O(x
S)(y
O)[a[x,y]=a[x,y]]a[s,o]=a[s,o]–{r}44DeleteRight前提:sS,oO44DestroySubject前提:s
S原子命令:destroy
subject
s结果:S=S–{s},O=O–{s}(y
O)[a[s,y]=],(x
S)[a´[x,s]=](x
S)(y
O)[a[x,y]=a[x,y]]45DestroySubject前提:sS45Destroy
Object前提:o
O原子命令:destroy
object
o结果:S=S,O=O–{o}(x
S)[a[x,o]=](x
S)(y
O)[a[x,y]=a[x,y]]46DestroyObject前提:oO46实际系统中ACM的例子-创建一个文件的命令进程p
创建一个文件
f
并赋予p以r
和w
权限
commandcreate_file(p,f) createobjectf; enterownintoA[p,f]; enterrintoA[p,f]; enterwintoA[p,f]; end47实际系统中ACM的例子-创建一个文件的命令进程p创建一个单调命令(Mono-OperationalCommands)使得进程p
成为文件g的owner
commandmake_owner(p,g) enterownintoA[p,g]; end单调命令(Mono-operationalcommand)在命令中只有一个原子命令48单调命令(Mono-OperationalCommand条件命令条件命令
commandgrant_read_file_1(p,f,q) ifowninA[p,f] then enterrintoA[q,f]; end单调条件命令在命令中只有一个条件49条件命令条件命令49多条件命令如果p是f的owner,并且p拥有q的copy权限,那么让p赋给q以f的r和w的权限commandgrant_read_file_2(p,f,q) ifowninA[p,f]andcinA[p,q] then enterrintoA[q,f]; enterwintoA[q,f]; end50多条件命令如果p是f的owner,并且p拥有q的copy权限Copy权限允许进程将权限赋给别人经常作为一个附加给一个权限:r
是一个读权限,但不能被赋值rc
是一个都权限,可以被赋值是否权限在赋给的时候,需要给出赋值标识c?这取决于你的安全策略模型(DAC)51Copy权限允许进程将权限赋给别人51Own权限通常允许一个进程执行改变ACM内列中的内容的一个权限一个对象的owner可以为其它用户添加、删除该对象的权限但是也是需要依赖于系统的需求不能将权限赋给某些人不能将权限的copy标志赋给某些人有些系统不允许owner具有如此功能(MAC)52Own权限通常允许一个进程执行改变ACM内列中的内容的一个权什么是“Secure”?Addingagenericrightrwheretherewasnotoneis“leaking”IfasystemS,beginningininitialstates0,cannotleakrightr,itissafewithrespecttotherightr.53什么是“Secure”?AddingagenericSafety问题是否存在一个算法能够决定如下问题:针对某个权限r,安全系统S从安全的初始状态Sn开始一直是安全的。54Safety问题是否存在一个算法能够决定如下问题:针对某个权单调命令回答:yes证明的思路:Considerminimalsequenceofcommandsc1,…,cktoleaktherightr.Canomitdelete,destroyCanmergeallcreatesintooneWorstcase:inserteveryrightintoeveryentry;withssubjectsandoobjectsinitially,andnrights,upperboundisk≤n(s+1)(o+1)55单调命令回答:yes55通用问题不能给出回答:Itisun-decidablewhetheragivenstateofagivenprotectionsystemissafeforagivengenericrightProof:ReductionfromhaltingproblemSymbols,statesrightsTapecellsubject(cancreatenewsubjects)Rightown:siownssi+1for1≤i<kCellsi
A
sihasArightsonitselfCellsk
skhasendrightsonitselfStatep,headatsi
sihasprightsonitself56通用问题不能给出回答:Itisun-decidable例子ABCD…s1s2s3s4s1Aowns2Bowns3C,powns4D,endMatrixTuringMachine57例子ABCD…s1s2s3s4s1Aowns2Bowns3C映射ABXD…1234heads1s2s3s4s4s3s2s1ABXDk1endownownownAfterd(k,C)=(k1,X,R)wherekisthecurrentstateandk1thenextstate58映射ABXD…1234heads1s2s3s4s4s3s2s命令d(k,C)=(k1,X,R)atintermediatebecomescommandck,C(s3,s4)if
own
in
A[s3,s4]and
k
in
A[s3,s3] andCin
A[s3,s3]then
delete
k
from
A[s3,s3];
deleteCfrom
A[s3,s3];
enterXinto
A[s3,s3];
enter
k1
into
A[s4,s4];end59命令d(k,C)=(k1,X,R)atinte分析HaltingproblemTuringMachine:SymbolsA,B;statesp,qCp,A(si,si-1)(moveleft)ifown
a[si-1,si]andp
a[si,si]andA
a[si,si]Deletepfroma[si,si],Afroma[si,si]EnterBintoa[si,si],qintoa[si-1,si-1]Similarcommandsformoveright,moverightatendoftapeSimulatesTuringmachineLeakshaltingstatehaltingstateinthematrixHaltingstatereachedThisisundecidable!60分析HaltingproblemTuringMachi映射ABXY1234heads1s2s3s4s4s3s2s1ABXYownownownAfterd(k1,D)=(k2,Y,R)wherek1isthecurrentstateandk2thenextstates5s5ownb
k2end5b61映射ABXY1234heads1s2s3s4s4s3s2s1命令d(k1,D)=(k2,Y,R)atendbecomescommandcrightmostk,C(s4,s5)if
end
in
A[s4,s4]and
k1
in
A[s4,s4] andDin
A[s4,s4]then delete
end
from
A[s4,s4];
createsubject
s5;
enter
ownintoA[s4,s5];
enter
end
into
A[s5,s5];
delete
k1
from
A[s4,s4];
deleteDfrom
A[s4,s4];
enterYinto
A[s4,s4];
enter
k2
into
A[s5,s5];end62命令d(k1,D)=(k2,Y,R)atend证明ProtectionsystemexactlysimulatesaTMIfTMentersstateqf,thenrighthasleakedIfsafetyquestiondecidable,thenrepresentTMasaboveanddetermineifqfleaksImplieshaltingproblemdecidableConclusion:safetyquestionundecidable63证明Protectionsystemexactlysi安全系统和不安全系统安全策略(SecurityPolicy)是将系统分解成一组安全(授权)的状态和不安全(授权)状态的一种陈述安全系统(SecureSystem)是指一个从安全(授权)的状态出发,不会进入不安全(授权)的状态的系统。
安全精确交叉系统可达状态系统安全状态64安全系统和不安全系统安全策略(SecurityPolicy机密性、完整性和有效性的定义机密性(Confidentiality)设X表示一组实体,I表示一些信息或者一个资源。如果I相对于X具有机密性是指X中的任意成员不能够得到I中的任何内容。完整性(Integrity)设X表示一组实体,I表示一些信息或者一个资源。如果I相对于X具有完整性是指X中的所有成员都信任I中的内容。可用性(Availability)设X表示一组实体,I表示一些信息或者一个资源。如果I相对于X具有可用性是指X中的所有成员都可以访问I中的内容。65机密性、完整性和有效性的定义机密性(Confidentia安全机制
安全机制(Mechanism)是一种执行安全策略的方法、工具或者过程
信任和假设信任是一切安全研究的基础。没有信任就不可能存在实际的安全。信任很多时候需要假设。这些假设可能没有经过严格证明,但是的确实际存在。上课的老师不是黑帮头目,没有怀揣枪支来上课;上课的时候,你周围的同学不会恶意对你,不过在你背后捅刀子;教学楼的质量室过关的,不会出现天花板掉下来,或者脚下的楼板开裂这样的问题;你相信在宿舍楼里已经关好门,上好锁,看门的大爷大妈在兢兢业业的工作,所以的寝室里的财物不会被人拿走;……66安全机制安全机制(Mechanism)是一种执行安全策略安全机制的思考题现有一份文档,安全策略是不允许id为weili的用户查看该文档有哪些机制可以实现这个策略?67安全机制的思考题现有一份文档,安全策略是不允许id为weil安全保障有了目标和机制以后,关键在于如何执行这些机制制定规范(specification)需求分析目标功能表述设计系统(Design)设计系统以满足规范的需求执行系统(Implementation)执行系统以符合当初设计的目标68安全保障有了目标和机制以后,关键在于如何执行这些机制68研究安全的方法学
ThreatsPolicySpecificationDesignImplementationOperation69研究安全的方法学ThreatsPolicySpecific运作问题Cost-Benefit分析是否该保护更为便宜,但是已经达到保护要求足够保护原理(PrincipleofAdequateProtection):计算机单元得到的保护应该与它们的价值成正比。风险分析(RiskAnalysis)我们应该保护有些东西吗?最容易侵入原理(PrincipleofEasiestPenetration):必须考虑到一个入侵者必然会利用所有可以利用的手段去执行入侵。法律和习惯所有的安全手段是否合法?人们是否愿意去执行它们?70运作问题Cost-Benefit分析70人的因素组织问题权力和责任经济利益人员问题内部威胁还是外部威胁哪个是你认为的真真的威胁社会工程一种攻击手段,与人员的安全意识紧密相关71人的因素组织问题71思考题-如何保护你的project什么是你的project的安全性?现有哪些威胁在影响你的project?如何保护你的Project?制定几条安全策略用以保护你的project?这些策略够了吗?如何执行上述安全策略?如何解决相应的组织问题和工具问题?有哪些运作问题存在?有哪些人的问题存在?72思考题-如何保护你的project什么是你的project的信息系统安全攻击的概述73信息系统安全攻击的概述73案例分析2001年,《信息周刊》(InformationWeek)对4500个安全专家进行了一个全球信息调查。作为调查的一部分,要求回答者列出入侵者入侵其机构所使用的主要攻击方法(允许多选)。排在第一位的方法是利用操作系统的漏洞:大约三分之一的回答者经历过这种攻击。接下来的流行方法是利用不为人知的应用程序(占27%)。其它常见的攻击是猜口令(占22%)、滥用合法用户的帐户或者许可(占17%)和使用拒绝服务攻击(占12%)。通常的思维总是认为针对公司网络或计算机的攻击,有五分之四是由怀有恶意的内部员工所为,因为他们利用对系统的熟悉来达到目的。这次的调查尝试确定这个“首要规则”是否成立。事实上,利用网络应用程序的增长,现在认为外部人士具有更大的威胁。Hulme指出“很多公司怀疑黑客、恐怖分子(占46%)甚至一些消费者(占14%)在试图攻击他们的系统”。美国计算机安全研究所和美国联邦调查局出版的另外一份调查报告也证实了这种怀疑。第二份报告指出几乎四分之三的企业认为因特网的攻击起点,而只有三分之一的企业认为内部系统是攻击起点。74案例分析2001年,《信息周刊》(InformationW问题漏洞最大的来源是什么?攻击的最大来源是什么?对企业系统的攻击点最大的来源是什么?75问题漏洞最大的来源是什么?75攻击方法的步骤调查目标系统状况。首先通过各种途径找到所需要攻击的信息系统的概况。包括了解信息系统的类型、版本等信息,这样容易找到相关的资料调查目标系统的漏洞所在;初始攻击。找寻相关工具,或者编写相应脚本进行攻击。一般以尝试进入为这一阶段的第一步。比如找到一个Guest帐号进入系统。这样有助于进一步获取系统信息,并运行下一步的攻击程序;提升权限。在第二步的基础之上运行攻击程序,获得系统管理员或者希望得到的目标角色的帐户;掩盖攻击。完成第三步的时候,并不表明攻击已经完成。这一步需要清除日志或者文件系统的某些记录,不能让系统管理人员发觉攻击的痕迹;修补相应的漏洞。这一步是高级黑客常常讨论的问题。修补目标系统的漏洞的目的是要堵塞原先的攻击路径,让其他黑客不能进入系统。否则有可能自己的攻击留下的特权帐户被其他黑客杀档。因此,这一步是很重要的,但是修补漏洞很容易让系统管理员发现攻击,比如重新启动等发生的时候,系统管理员会知道可能有攻击行为的发生。因此如何在不让管理员察觉的情况下修补安全漏洞是高级黑客经常讨论的话题。76攻击方法的步骤调查目标系统状况。76攻击的分类窃听(Snooping)篡改(ModificationorAlteration)伪装或者哄骗(MasqueradingorSpoofing)否认发送(RepudiationofOrigin)否认接受(Denialofreceipt)延迟(Delay)拒绝服务(Denialofservice)77攻击的分类窃听(Snooping)77中间人攻击AliceBob和Alice交换密钥和Bob交换密钥攻击者78中间人攻击AliceBob和Alice交换密钥和Bob交换密直接型分布式拒绝服务攻击
79直接型分布式拒绝服务攻击79反射型分布式拒绝服务攻击
80反射型分布式拒绝服务攻击80如何进行防御81如何进行防御81防御的方法论82防御的方法论82攻击者的优势和防御者的劣势
因素#1:防御者必须对所有的环节进行防御,而攻击者可以选择最薄弱的环节发起攻击。
城堡的防御和攻击点的选择攻击者可以拿到你的软件,并只需要找出一个薄弱环节因素#2:防御者只能针对已知的攻击进行防御,而攻击者则可以探测未知的漏洞进行攻击
城堡中的古井和特洛伊木马的故事软件在发布的时候,只能对已经建立的理论或者已经知道的攻击手段进行有效防御。对未知的攻击进行防御的唯一途径就是,如果用户不是明确要求的某些功能,就禁止这些功能。因素#3:防御者必须永远保持警戒,而攻击者可以以逸待劳,随时发起攻击
因素#4:防御者的活动必须遵守相关的规则,而攻击者可以采用一些卑鄙的、非法的手段
83攻击者的优势和防御者的劣势因素#1:防御者必须对所有的环节系统开发和程序员的视图从系统开发和程序员的角度来看,构建一个安全的信息系统是一个艰巨的任务。我们建议如下:从开发的过程上保证。现代的开发过程多采用迭代式开发过程以控制风险;从软件体系结构上保证。采用合适的机制,包括认证、访问控制、审计、加密/解密,用以保证系统的安全性;从代码上保证。建立对等审查机制,提高代码的可读性和安全性。使用合适的编译工具和代码检查工具,提高代码的健壮性;提供有效的安全测试。安全测试是现代信息系统测试必不可少的一部分。从人员组织上保障.。进行定期培训,提高开发人员和程序员的安全意识。设立安全部门,帮助系统开发和程序员提高系统和代码的安全质量。84系统开发和程序员的视图从系统开发和程序员的角度来看,构建一小结安全的重要性什么是安全安全策略、安全机制和安全的方法学攻击概述防御85小结安全的重要性85网络和计算机安全信息安全概述86网络和计算机安全信息安全概述1Internet中的信息安全Internet中的信息系统越来越不安全高度互联的InternetInternet安全性问题的根源是信任假设的改变(ATM)WorldWideWeb和WildandWoollyWest(M.Jakobsson和M.Yung)信用卡泄密事件87Internet中的信息安全Internet中的信息系统越来案例美4000万信用卡泄密,波及"中国卡"2005年6月21日报道,美国4000万信用卡资料泄露的事件最终还是波及到了中国。根据万事达(Mastercard)昨日发布的澄清声明,被波及的中国万事达信用卡数量为5560张以内。Visa国际则表示,相关的数据正在统计中,将在稍晚发布。因为这次事件中美国所有的信用卡品牌均被波及,万事达卡只占“外泄卡”总数的35%,所以中国“外泄卡”总数很可能过万。本次遭到黑客入侵的公司,是在美专为银行、会员机构、特约商店处理卡片交易资料之外包厂商CardSystems。此公司在美负责处理大约105000家中小企业业务,目前并未处理中国内地银行的信用卡业务。但由于其代理的万事达和Visa两大全球信用卡公司,均已在中国开展业务多年。所以,万事达卡的“外泄卡”中,也有0.04%(大约5600张)在中国内地,0.07%(大约10000张)在香港。万事达卡表示,侦测发现此次事件之后,立即主动发出预警通知所有银行、金融机构,呼吁所有单位须更加小心保护自身权益。另外,万事达卡国际组织也已彻底要求CardSystems限期改善,立即补强安全漏洞。Visa国际表示将尽快发布紧急声明。Visa国际中国区总经理熊安平昨日在接受记者独家专访时表示,Visa国际定期在全球收集有关欺诈嫌疑的商户,还会针对珠宝店之类高风险的商户实行特别监控,并针对网上交易等实行“保证金”制度,确保持卡人权益不受侵害。未受波及的中国银联也不敢掉以轻心。因为在国内拥有最大的银行卡网络,且与CardSystems的业务有部分的重合,中国银联发言人表示将很快发布对于此事件的官方声明。88案例美4000万信用卡泄密,波及"中国卡"3信用卡事件图例89信用卡事件图例4思考题本次泄密事件的泄密机制是怎么样的?本次泄密事件的主要原因是什么?如何防范这种泄密?这种信用卡盗窃事件破坏了(信用卡)信息的什么属性?90思考题本次泄密事件的泄密机制是怎么样的?5CERT报告的安全性问题CERT(ComputerEmergencyResponseTeam)报告的安全性问题总体呈现上升趋势分为两个报告:报告的漏洞安全事件91CERT报告的安全性问题CERT(ComputerEme1995-2004年报告的漏洞数目统计(CERT)
921995-2004年报告的漏洞数目统计(CERT)71988-2003年报告的安全事件统计(CERT)
安全事件0200004000060000800001000001200001400001600001988198919901991199219931994199519961997199819992000200120022003931988-2003年报告的安全事件统计(CERT)安全事安全问题的重要性系统原来越不安全系统的安全性取决于不同的方面本课程的主要着力点在于安全软件的设计问题上讲解安全的原理94安全问题的重要性系统原来越不安全9什么是安全95什么是安全10安全的概念橘皮书C.I.A.信息安全领域的划分安全的矛盾性安全定义的发展影响安全的技术因素96安全的概念橘皮书11橘皮书橘皮书的历史橘皮书定义了三类、六个基本需求第一类:策略需求1-安全策略(SecurityPolicy)
需求2-标定(Marking)
第二类:审计需求3-可标识(Identification)
需求4-可审计(Accountability)
第三类:保障需求5-保障(Assurance)
需求6-持续防护(ContinuousProtection)
97橘皮书橘皮书的历史12信息安全的定义信息安全是一个十分广泛而又复杂的话题美国国家电信和信息安全委员会(NSTISSC)信息安全是对信息、系统以及使用、存储和传输信息的硬件的保护。但是要保护信息及其相关系统,诸如策略、认识、培训和教育以及技术手段都是必要的。微软公司M.Howard,D.LeBlance一个安全的产品应该是指在信息所有者或者系统管理员控制下能够保护客户数据的机密性、完整性和可用性,能够保护资源处理过程的完整性和有效性。机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)的组合98信息安全的定义信息安全是一个十分广泛而又复杂的话题13机密性机密性是指保证计算机相关的有价值财产(信息)只能被授权过的用户所访问。机密性的保护认证和访问控制加密99机密性机密性是指保证计算机相关的有价值财产(信息)只能被授权完整性完整性是指这些计算机相关的有价值财产(信息)只能被授权过的用户所修改,或者通过授权过的过程所修改。完整性的保护认证和访问控制加密100完整性完整性是指这些计算机相关的有价值财产(信息)只能被授权可用性可用性是指这些有价值的财产(信息)在需要的时候必须能够被授权的用户访问或者修改。可用性的破坏DOS:DenialOfService101可用性可用性是指这些有价值的财产(信息)在需要的时候必须能够可用性破坏案例SYNFlood的基本原理SYNFlood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:TCP与UDP不同,它是基于连接的,也就是说:为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接,建立TCP连接的标准过程是这样的:首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。以上的连接过程在TCP协议中被称为三次握手(Three-wayHandshake)。102可用性破坏案例SYNFlood的基本原理17可用性破坏案例(续)问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源--数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃--即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYNFlood攻击(SYN洪水攻击)。103可用性破坏案例(续)问题就出在TCP连接的三次握手中,假设可用性破坏案例(续)从防御角度来说,有几种简单的解决方法:第一种是缩短SYNTimeout时间,由于SYNFlood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度x
SYNTimeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下(过低的SYNTimeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。第二种方法是设置SYNCookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。可是上述的两种方法只能对付比较原始的SYNFlood攻击,缩短SYNTimeout时间仅在对方攻击频度不高的情况下生效,SYNCookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。104可用性破坏案例(续)从防御角度来说,有几种简单的解决方法:机密性,完整性和可用性及其之间的关系
完整性机密性可用性安全105机密性,完整性和可用性及其之间的关系完整性机密性可用性安全C,I,A分类106C,I,A分类21信息安全领域的划分107信息安全领域的划分22安全的矛盾性警察与小偷银行和抢匪安全的矛盾性不可避免108安全的矛盾性警察与小偷23安全定义的发展
1960-1970:通信安全1970-1980:计算机安全1980-1990:信息安全1990- :信息保障109安全定义的发展1960-1970:通信安全24影响安全的技术因素
网络因素
系统复杂性因素
系统可扩展因素
110影响安全的技术因素网络因素25安全策略和安全机制概述111安全策略和安全机制概述26威胁与威胁建模威胁威胁是对信息安全的某种破坏对威胁的分析的系统化方法称为威胁建模成立威胁建模小组分解应用程序确定系统所面临的威胁以风险递减的原则对威胁排序选择应付威胁的方法选择缓和威胁的技术从确定下来的技术中选择适当的方法威胁建模是设计安全信息系统的第一步,也是最为重要的一环112威胁与威胁建模威胁27威胁建模的迭代过程图解113威胁建模的迭代过程图解28威胁的分类(Shirey)
泄密(Disclosure),也即未经授权的访问,是对信息机密性的破坏;欺骗(Deception),也即收到错误的数据;拦截(Disruption),也即中断或者阻止正确的操作;篡改(Usurpation),也即非授权的控制系统的某些部分。114威胁的分类(Shirey)泄密(Disclosure),安全策略
安全策略(SecurityPolicy)就是指定系统允许或者禁止用户做什么的一种陈述表述系统的安全策略自然语言数学表示
安全策略语言
115安全策略安全策略(SecurityPolicy)就是指XACML
116XACML3111732使用安全策略来定义安全系统状态(SystemState)
系统状态是指一个系统中所有的内存、外存、寄存器和其它系统部件的当前值的一个集合保护状态(ProtectionState)
保护状态是系统状态中有关保护系统的内容的一个子集ACM(AccessControlMatrix)表示保护状态最为精确和常用的方法118使用安全策略来定义安全系统状态(SystemState)ACM的表示objects(entities)subjectss1s2…sno1…om
s1…sn119ACM的表示objects(entities)subjecACM的例子1120ACM的例子135ACM例子2进程p,q文件f,g权限r,w,x,a,o
f g p qp rwo r rwxo wq a ro r rwxo 121ACM例子2进程p,q36其它的策略表述SubjectannieAttributesrole(artist),groups(creative)VerbpaintDefault0(denyunlessexplicitlygranted)ObjectpictureRule:paint: ‘artist’insubject.roleand ‘creative’insubject.groupsand time.hour≥0andtime.hour<5122其它的策略表述Subjectannie37映射到ACM…picture……annie…paintAt3AM,timeconditionmet;ACMis:…picture……annie…At10AM,timeconditionnotmet;ACMis:123映射到ACM…picture……annie…pain状态迁移改变系统的保护状态|–代表迁移Xi|–
Xi+1:命令将系统从状态Xi
迁移到Xi+1Xi|–*
Xi+1:一组命令将系统从状态
Xi
迁移到Xi+1这些命令()经常叫转换过程(transformationprocedures)124状态迁移改变系统的保护状态39ACM的六个原子操作createsubject
s;createobjecto在ACM中创建新的一行和一列;创建新的一列destroysubject
s;destroyobjecto在ACM中删除一行和一列;删除一列enter
r
into
A[s,o]在ACM单元格子中添加权限rdelete
r
from
A[s,o]在ACM单元格子中删除权限r125ACM的六个原子操作createsubjects;crCreateSubject前提:s
S原子命令:createsubject
s结果:S=S
{s},O=O
{s}(y
O)[a[s,y]=],(x
S)[a[x,s]=](x
S)(y
O)[a[x,y]=a[x,y]]126CreateSubject前提:sS41CreateObject前提:o
O原子命令:createobject
o结果:S=S,O=O
{o}(x
S)[a[x,o]=](x
S)(y
O)[a[x,y]=a[x,y]]127CreateObject前提:oO42AddRight前提:s
S,o
O原子命令:enterrintoa[s,o]结果:S=S,O=O(x
S)(y
O)[a[x,y]=a[x,y]]a[s,o]=a[s,o]{r}128AddRight前提:sS,oO43DeleteRight前提:s
S,o
O原子命令:delete
r
from
a[s,o]结果:S=S,O=O(x
S)(y
O)[a[x,y]=a[x,y]]a[s,o]=a[s,o]–{r}129DeleteRight前提:sS,oO44DestroySubject前提:s
S原子命令:destroy
subject
s结果:S=S–{s},O=O–{s}(y
O)[a[s,y]=],(x
S)[a´[x,s]=](x
S)(y
O)[a[x,y]=a[x,y]]130DestroySubject前提:sS45Destroy
Object前提:o
O原子命令:destroy
object
o结果:S=S,O=O–{o}(x
S)[a[x,o]=](x
S)(y
O)[a[x,y]=a[x,y]]131DestroyObject前提:oO46实际系统中ACM的例子-创建一个文件的命令进程p
创建一个文件
f
并赋予p以r
和w
权限
commandcreate_file(p,f) createobjectf; enterownintoA[p,f]; enterrintoA[p,f]; enterwintoA[p,f]; end132实际系统中ACM的例子-创建一个文件的命令进程p创建一个单调命令(Mono-OperationalCommands)使得进程p
成为文件g的owner
commandmake_owner(p,g) enterownintoA[p,g]; end单调命令(Mono-operationalcommand)在命令中只有一个原子命令133单调命令(Mono-OperationalCommand条件命令条件命令
commandgrant_read_file_1(p,f,q) ifowninA[p,f] then enterrintoA[q,f]; end单调条件命令在命令中只有一个条件134条件命令条件命令49多条件命令如果p是f的owner,并且p拥有q的copy权限,那么让p赋给q以f的r和w的权限commandgrant_read_file_2(p,f,q) ifowninA[p,f]andcinA[p,q] then enterrintoA[q,f]; enterwintoA[q,f]; end135多条件命令如果p是f的owner,并且p拥有q的copy权限Copy权限允许进程将权限赋给别人经常作为一个附加给一个权限:r
是一个读权限,但不能被赋值rc
是一个都权限,可以被赋值是否权限在赋给的时候,需要给出赋值标识c?这取决于你的安全策略模型(DAC)136Copy权限允许进程将权限赋给别人51Own权限通常允许一个进程执行改变ACM内列中的内容的一个权限一个对象的owner可以为其它用户添加、删除该对象的权限但是也是需要依赖于系统的需求不能将权限赋给某些人不能将权限的copy标志赋给某些人有些系统不允许owner具有如此功能(MAC)137Own权限通常允许一个进程执行改变ACM内列中的内容的一个权什么是“Secure”?Addingagenericrightrwheretherewasnotoneis“leaking”IfasystemS,beginningininitialstates0,cannotleakrightr,itissafewithrespecttotherightr.138什么是“Secure”?AddingagenericSafety问题是否存在一个算法能够决定如下问题:针对某个权限r,安全系统S从安全的初始状态Sn开始一直是安全的。139Safety问题是否存在一个算法能够决定如下问题:针对某个权单调命令回答:yes证明的思路:Considerminimalsequenceofcommandsc1,…,cktoleaktherightr.Canomitdelete,destroyCanmergeallcreatesintooneWorstcase:inserteveryrightintoeveryentry;withssubjectsandoobjectsinitially,andnrights,upperboundisk≤n(s+1)(o+1)140单调命令回答:yes55通用问题不能给出回答:Itisun-decidablewhetheragivenstateofagivenprotectionsystemissafeforagivengenericrightProof:ReductionfromhaltingproblemSymbols,statesrightsTapecellsubject(cancreatenewsubjects)Rightown:siownssi+1for1≤i<kCell
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 屋里尖尖角课件
- 西京学院《影视鉴赏》2023-2024学年第一学期期末试卷
- 西京学院《数据采集与预处理》2022-2023学年期末试卷
- 孝亲敬老,从我做起
- 西京学院《机器学习》2023-2024学年期末试卷
- 2024-2025学年高二物理举一反三系列1.4质谱仪和回旋加速器((含答案))
- 爆米花课件背景
- Module 4单元备课(说课稿)-2024-2025学年外研版(一起)英语三年级上册
- 西昌学院《土地评价学》2022-2023学年第一学期期末试卷
- 天然气净化高级单选题复习试题有答案
- 大学生职业生涯规划成品
- (高清版)DB42T 2179-2024 装配式建筑评价标准
- DL∕T 796-2012 风力发电场安全规程
- 2024广西继续教育公需科目(高质量共建“一带一路”)
- 2024年国家公务员考试行测真题完整版
- MOOC 数学文化十讲-南开大学 中国大学慕课答案
- 写作与沟通智慧树知到课后章节答案2023年下杭州师范大学
- 汉语拼音字母表默写表
- 森林施工组织设计(完整版)
- 304不锈钢冷轧剥片缺陷分析及控制
- 立体停车库详解
评论
0/150
提交评论