《信息安全原理》复习笔记
来源:互联网 发布:安全狗防sql注入原理 编辑:程序博客网 时间:2024/06/11 19:06
整了6k字然而我发现基本概念基本没弄清楚。。
考完试了然而这份复习笔记跟考试并无关系。。
有错。。不全。。加粗的也不是重点。。
下次复习。。一定记得看图。。。。
【0.1】
1. 安全性与花费的tradeoff;一些常见的安全错觉(myth);insider进攻更普遍,因为有access、knowledge、opportunity。
【0.2】
1. 第一个中国密码:太公兵法。
2. 第一个最大公因数密码:豪密。
3. 凯撒Caesar密码:替代(substitution),密钥空间25。
4. 密码棒(scytale);隐写术(steganography)。
5. 密码学演进:1. Kerckhoffs原则 2. 计算机 3. 公钥 4.因特网
5.1除密钥,均暴露,仍安全(任何不变的,都会被发现)。
5.2 现代密码的出现:DES;密码从手工变为机械/电子(mechanical and electronic)。
6. 信息安全的特点(区别于纸面安全):original和copy无法区分、改动无痕、易于delete、取决于二进制信息而非生理物理特征;全面性(weakest link)、螺旋前进、动态、层次性、相对性。
7.信息安全4要素:confidentiality保密性、integrity完整性、availability可用性(微信无法提供服务、邮箱全是spam)、authenticity真实性(You are who you say you are)。
8.信息安全4概念:vulnerability漏洞:安全系统中的weakness、threat威胁:潜在隐患的环境(circumstance)、attack攻击:利用漏洞展开攻击、control控制:减少或消除漏洞;A threat is blocked by control of a vulnerability.
8.1 威胁的分类:自然、物理、硬件、中介(media)、泄漏、交流(communication)、个人;无意、有意。
9.1攻击的种类:
interruption:可用性、易于检测、方法有:损坏硬件、引入噪音、删掉路由(routine)、DOS;
interception:保密性、被动、难于检测、方法:抓包、wiretap窃听、链路监听(link monitor)、无法被完全避免;
modification:完整性、可被防御(数字水印digital watermarking)、方法:修改数据库记录、延迟交流、修改硬件;
fabrication:真实性、与不可复制相关、方法:插入包,带有假IP地址、钓鱼网站。
9.2 主动攻击难于预防但可从破坏中回复。DOS:不停发SYN;重放攻击。
10. 抵御安全威胁的goal:预防(prevention)、探测、恢复;需要政策和机制;安全服务:认证、访问控制(access control)、数据保密性、完整性、不可复制、可用性。
【1.1】
1. 密码学术语:PCEDK。
2.加密算法:置换substitution、位移transposition。
3. 分析方法:仅密文、已知(some)明文、选择明文、选择密文、相关密钥。
4. 分析结果:total break、global deduction:可知算法,不知K、instance/local deduction:更多的PC对应、information deduction:新统计信息、distinguishingalgorithm:可区分密文和随机字符串。
5. 密码学史:
classic ciphers:一战前,凯撒、古希腊(5*5矩阵)、玛丽女王、Vigenere(kasiski test):抵御频率分析,可使用offset keyword、line ordering、book cipher。
machine ciphers:一战出现,二战运用:Enigma:遵循Kerckhoffs原则,算法是物理构造,K是rotor的初始设定(排序、初始位置)、插线板设定。/*破解Enigma的三阶段*/破解加密的方法:查找pattern、减少dimension、暴力。
computer ciphers:二战后
6. Enigma Principle:包括lamp board, key board, plug board,rotors, reflector.
【1.2】
1. 对称加密算法:ED相同。两次加密则复原(involution)。实际代表K相同。符合Kerckhoffs原则。
2. Block cipher:output每一位要与K和P的每一位有关。
3. Feistel密码结构:a product cipher,几乎所有现代对称加密算法基于此。使用块加密,且增加块长度,若完全任意映射,K长度为n * 2^n,需简化。造成avalancheeffect途径:扩散diffusion和扰乱confusion。
3.1 扩散diffusion:迭代交换左右,密文统计特性与明文。
3.2 扰乱confusion:round function,密文统计特性与密钥。
3.3 安全性:block size、K长度、round次数、K生成算法、Round function
4. DES:加密64-bit块、用56-bit K,基于Feistel结构;强雪崩影响、反破译(只可暴力)、不安全。
5. 三重DES:c = E3 D2 E1 (P),Key长度是56*3 = 168。利用23或12相等,则退化为DES。
6. 其他对称加密算法:IDEA、Blowfish Algorithm、RC5.
7. AES:加密128,K:128、192、256;免疫所有已知进攻。
8. 块加密的操作模式(mode of operation):描述如何应用单块操作来安全地转化大量数据。
8.1 ECB:electronic codebook:进攻者可以仅密文(thinks block C2corresponds to $ amount, then substitute another Ck)或build a codebook(选择明文),重放攻击。
8.2 CBC(cipher-block chaining):防重放攻击和codebook building,同input不一定造成同output,因为IV(initializationvector)只使用1次。
8.3 PCBC: propagating cipher-block chaining \CFB: cipherfeedback \OFB: output feedback \CTR: counter。
9. 流加密。
10. 对称加密算法的问题:分配密钥。KDC:key distribution center。
11.公钥密码的关键:one-wayfunction:易于计算,难于反推。DH:(Calculating the remainder of the power of an integer dividing aprime is relatively easy, but calculating the discrete logarithm is very hard)整数次幂易,离散对数难;RSA:大素数相乘易,primefactorization难。KU公钥,KR私钥。
12.公钥应用领域:加密解密、数字签名、交换会话密钥。
13. DH算法无法抵御中间人攻击,只能用于交换密钥。/*实现方法*/
14.消息完整性可被数字签名保证。
15.对称:快、开销小。常公钥交换密钥,加密解密仍对称。
【2.1】
1.数字签名的必要条件:可与文件绑定;他人不可伪造,接收方可验证;发送方不可抵赖;第三方确认以防争端;可证实发送方、时间、内容。可备份与存储,易于签名。
2. DSS: digital signature standard
3. 签名长文件:one-way hash algorithm。MD5:128. SHA-1:160.易于计算,难于反推(reverse computing),难于碰撞(collision)。
4. 其他单向散列函数:MD4\MD5\SHS\HAVAL\RIPEMD。
5. MD5:padding hashing。
6. 单向散列函数的安全性考量:primage:逆推;second-preimage:找出与给定P1映射结果相同的P2;collision:制造P1P2映射结果相同。
7. 消息验证码MAC,或keyed hash function:用于保证消息完整性。HMAC难于制造碰撞,因此并不像MD5或SHA1那样易于攻击。
8. MAC和数字签名的不同:MAC需要共享secret key、只能被指定人验证、可抵赖(只要知道密钥就可伪造,包括接收方)。MAC更快,应用于无需抗抵赖的场合。
【2.2】
一、认证
1. 字典攻击Dictionary attack用于攻击密码。对字典中每一个可能,进攻者计算H(word),看结果是否出现在密码文件中。
2.加盐:随机选择salt,与密码一起hash,同时存储hash和salt。即:同密码可能有不同的存储形态。一次完全预计算从可推演所有密码到只能推演一个密码。
3. shadow password:使密码储存在root权限文件中。
4. 生物尺度的密码,revocation是难题。另外有图像密码。
5. 生物尺度biometric identification:优点:不会遗失;缺点:设备、算法不安全、隐私。
6. Fraud / False Accept 和 Insult / False Reject相等时,叫equal error rate.
7.挑战应答认证challenge response authentication:防止重放攻击,需要共享密钥。
8. 分布式环境下Kerberos的safety, reliability, transparency, scalability.缺点:依赖时间同步,则进攻者可误导系统时间,从而重放。guessing attack。key storage在普通计算机系统上不可实现。
二、授权
1. authorization 和 access control几乎一样。
2. 三要素:subject object privilege。
3. 安全访问控制secure access control主要功能:authorization、revoke、checker。两个阶段:makepolicy、execute policy。
4. 安全访问控制模型:DAC自主访问控制discretionary,MAC强制访问控制Mandatory,RBAC基于角色的访问控制Role-based.
5. DAC:可授予他人自己有的权限。缺点:
The access permission may be changed during the flow ofinformation, access
control in some cases are not strict
• User A may pass the access permission of target O to the user B, so that theUser
B originally has no access permission can access O
例如Unix OS,分为owner、group、other三类,9bits(O+G+O,RWX*3)表示权限。
6. MAC:top secret、secret、confidential、unclassified。
6.1 Bell-LaPadula Model:不可上读下写,即保证保密性。
6.2 Biba Model:不可上写下读,即保证完整性。
7.隐通道,来自资源共享。如:resource exhaustion(storage channels)、load sensingchannel(timing channels)。解决方法:认证后关闭或减速通道、检测;不可能完全消除、限制共享资源、引入噪声。
8. MAC标准:orange book。
9. RBAC:
9.1 特征:separation of duties, role hierarchies, role activation,constraints on user/role membership.
9.2 概念:user role object operation permission。每个role内含一组user,与operation关联。roles和group的区别:group是一组用户,role是一组用户和一组operationpermissions;多对多;session:user和active role之间的映射。UA:user assignment(role与 user;他们还可通过session关联);PA:permission assignment(role与 prm)
9.3 分割会话和user可以解决单用户多账户问题。
9.4 动态激活和解除角色,保证最小权限。
9.5 角色继承:partial order,自反、传递、不对称。
9.6 限定constraint RBAC model:进一步分离duties,预防权限外用户,包括SSD(staticseparation of duty relations):直接作用在用户的PRM、同时只能一个,和DSD:作用于session上,可以多个而不冲突。
9.7 优点:易于授权管理、加速工作需要分类、易于获得最小权限、易于工作共享,不同角色执行不同的任务、易于文件层次管理。
9.8 RBAC可以被用于实现DAC和MAC。
10. 安全访问控制的原则:
允许的访问(authorizationmanagement)决定于:(1)mac下,安全等级;(2)dac下,centralized management\hierarchical\ownership\collaborative\distributed(3)RBAC:类似self-managementstrategies,但delegacy of management permission是独特的。
最小化用户权限,3类特权用户:systemadministrator:系统维护,用户管理,软件安装;security administrator:安全规则配置、安全政策管理;audit administrator:检查审计记录、监控安全。Thereis no special privilege.
【3.1】
1. 路由route和连接connect:TCP/IP协议栈。
2. 路由发现router discovery:BGP(border gateway protocol)。
3. 查IP:domain name system。
4. 协议栈::数据链路层:arp rarp ethernet hdlc ppp,帧frame;网络层:ip icmp bgp ospf igmp包packet;传输层:tcp udp段segment;应用层:http smtp ftptelnet dns消息message。
5. IP无连接,不稳定,best-effort protocol。路由时跳转。用数字地址。
6. ICMP:Internet control message protocol,提供网络操作的反馈:destination unreachable、超时、parameter problem、重定向到更好的网关、可连接性测试(echo/echoreply)、时间戳请求回复
7. TCP有reliability和flow control。实现方式是:sliding windows(flow control),sequencing numbers andacknowledgements,synchronization(establish a virtual circuit)。
8. 协议序号:TCP6,UDP17。
9. User Datagram Protocol:separate traffic by port,source port number提供return address;无ACK,无flow control,无messagecontinuation。
10. TCP:拆分数据包为段,附着SEQ,丢失片段re-send;连接状态在双方都保持;基于连接,可靠;flow control: sliding windows, reliability: SEQ number and ACK;提供 virtual circuitbetween end-user application;优点:提供guaranteed delivery。
11. 建立连接时,必须同步initial TCP sequence numbers(ISN)
12. SEQ用来检查无丢包。
13. DNS root server负责最高层domain name resolution。
14. ftp 和 telnet用明文传输密码。promiscuous mode网络接口卡可以读取所有数据。使得sniff进攻成为可能。
15. arp spoofing或arp poisoning: stateless, arp: ip->mac; arp cache的更新策略有区别。arpspoofing进攻方式:forge 一个 ICMP包,让用户初始化一个arp request。旋即发送forged arp response包给victim.这种方式被用于:intercepted attack,man-in-the-middle attack, denial of service attack。
16. IP spoofing(smurf):向网关发送ICMP ECHO REQ,源地址是受害者地址,终点是broadcastaddress,则每台网络上的主机都对受害者reply。
17. TCP SYN Flooding:源于TCP的三次握手;进攻者发送request,使用伪造IP。被进攻的host会为每次请求分配资源。防御方法:1.random delete 2. SYN Cookies,解决 asymmetric resource allocation,而syn cookies可确保服务器不会储存states除非客户发来至少两次信息。过程:服务器必须在cookie中存储socket information,并且将它送给client,客户要把cookie和第二次请求发送给服务器,服务器会recomputecookie,比较它送出去的那个。cookie不可被篡改(tamper-proof and unforgeable),client不能反转cookie,因此用服务器端的私钥加密。
18. TCP SYN Prediction Attack:由于每一个tcp包都有一个sequence number SYN,所以一旦它被预测,攻击者就可以伪造包,让接受者重排包。这种预测进攻是TCP spoofing/ connection hijacking/ rest的进攻源(source).防御方法是选择一个randomISN,使得预测不可能。
19. TCP congestion control:发送方原应该half down速防止丢包,但baduser可能违反协议反而加速。解决办法是add ack nonces, return nonce at ack to prove it is not a cheat。
20. DNS spoofing,抵御方法:DNSSEC。DNS cache poisoning发生的原因是DNS request and responseare not authenticated,进攻者可以提供faked DNS information。Domain Name System Security Extensions并不提供加密服务,也不对抗DoS进攻。
21. IPSec用于提供IP层加密和认证支持。它的三个核心组成:AH验证头authentication headers,ESP载荷安全性封装encapsulating securitypayloads,SA安全关联security associations。ESP可加密、可选认证,AH不加密、认证、可选防重放。SA决定于security parameterindex, IP destination addr, security protocol intentifier,说明是AH还是ESP,被视作一组安全参数enabling信息共享。
22. IPSec的传输transport模式只保护IP包内容,不包括IP头。由于头不变,routing process不受影响。但传输层和应用层数据都被保护。常用于peer-to-peer连接;而tunnel mode加密或认证整个包,在新的包头附上new IP header。用于保护netword之间的VPN,the host-to-network communication,也可peer-to-peer。
23. IPSec的3种加密认证模型:ESP with Authentication, Transport connenction:内部 transport mode ESP,外部transport mode AH;transport tunnel:内部transport mode AH,外部tunnel mode ESP。
24. IPSec优点:在firewall和router中实现,所有经过网关的包都提升了安全性。被保护的主机自身不用操心安全解决。transparent to end-user。
25. TLS(transport layer security)和前身SSL(secure socket layer)用于提供reliable end to endsecure service给TCP来提供保密性完整性和认证服务。
26. SSL连接connection和会话session:连接提供了合适的安全类型,点对点关系,临时,每个连接依附于一次会话。会话:client和server的关联,被握手协议创建,定义一组连接可用的安全参数,避免了大量的negotiation cost,不需为每次连接提供安全参数。
27. SSL和TLS协议栈:在传输层和应用层;自身被分割为两层:handshake layer,三个子协议:handshake sub protocol, change cipher spec sub protocol, alertsub protocol;record layer:接受、加密信息(应用层到传输层),步骤:接受信息、block(fragmentation)、压缩或解压缩、计算MAC或HMAC值,加密,加入SSLrecord头。
28. 握手协议:让服务器和客户双方都认证,协商加密算法、消息验证码算法和密钥,在应用层数据传输前执行握手协议。4阶段:establish safety negotiation, server 认证和key exchange,client认证和key exchange,end
【3.2】
1. Troyan Horse:overt目的和 covert目的,eg. cp/bin/sh/tmp/.xyzzy,chmod u+s,o+x /tmp/xkyzzy,rm ./ls,ls &*。eg2. NetBus.
2. Replicating trojan horse:make copies,难于检测。eg.Thomspson's Compiler:修改编译器,则编译login的时候,接受a fixed password,然后修改编译器,则编译器编译出一个新的版本,extra code会自动插入,重新编译编译器。
3. 木马隐藏:RootKit,主要特征:stealth。步骤:登入系统,获得root权限,下载rootkit,安装。方法:不可见文件夹,安装black version,使校验码checksum equals the original。只能Reinstall the operation system。
4.计算机病毒:插入其他文件。两个形态:insertion phase和execution phase。
5. 病毒分类:boot sector infector,executable infector, multipartiteviruses, TSR viruses, Stealth viruses, Encrypted viruses, Polymorphic viruses,Macro viruses。
6. Boot Sector Infector:插入硬盘的boot sector中,eg.Brain Virus。
7. 可执行病毒,附着方式:overwriting(replace):最容易,也易被发现;at the beginning(append):增强隐蔽性因为原始程序完整,但若程序大,复制代价高,且文件大小增大,尤其在多重病毒下;beginning and end(surround):难于清除;intersperse(integrated):难于清除;companions:改名且隐藏,则call时必然执行病毒代码,eg.Jerusalemvirus。
8. Multipartite viruses:既影响扇区,又影响可执行文件,因此常有2 parts。
9. TSR viruses:应用程序结束仍active(Terminate and Stay Resident)
10. Stealth Viruses:eg.IDF,请求长度,请问open file,临时地解除对它们的infection,当他们关闭时再infect,当load file的时候再执行。
11. 加密病毒,使得signature探测困难,但可以选择未被加密的code,但可obscure the encryption engine through mutations。
12. 多态病毒,基于给出两段代码,检测语义等价是undecidable problem。
13. Macro Viruses 是被interpreted而非直接执行,不取决于机器结构,但效果可能。eg.Melissa。
14.病毒:增长通过影响其他程序;木马:孤立可执行程序,不复制;蠕虫:孤立,向target system复制自身。
15. 蠕虫起源:distributed computations。eg Christmas worm, Morris Worm, CodeRed I(现代意义上第一个蠕虫)
16. rabbits,bacteria:absorb全部特定类型的资源的程序;logic bomb:被触发后造成破坏。
17. 有害代码的预防:病毒自动分析(immune system),允许病毒复制,用机器学习查字串(Virus analysis center)。
18. 防御方法一:区分数据和指令,只允许写数据,不允许数据执行。但审查auditable action需要能改变数据为可执行。eg. LOCK。
19. 防御方法二:限制客体访问权限,限制信息流传播,问题是tracking information flow。应用最小权限原则。用guardians、watchdog,来决定可否访问。sandbox、 irtual machine ,run in protected area
20. 防御方法三:inhibit sharing:用多重安全机制,程序在最低层,用户不可以在那一层操作。
21. 防御方法四:检查文件修改,计算manipulation detection code(MDC),生成 signature block对each file,不久后再计算。反病毒方法是查找特定的字节序列,即virus signature。
22. 防御方法五:检查actions beyond specification,把执行和infection视作错误,应用错误忍受技术faulttolerant technique,eg.程序被分成nonbranching instructions,算校验和,加密保存,每次run都重新计算。或:N-VersionProgramming,同时运行,定期查中间结果,听从大多数。但,大多数不能被infected,且underlying OS 要安全。但矛盾之处在于它们必须几乎都一样才能vote for each file accesses。或:proof-carrying code:user指明安全需要,author生成校验代码,Binary(code+proof)delivered,用户检查。
23. 防御方法六:分析统计特征。即coding style。
24.僵尸网络:network of autonomous programs capable of acting on instructions,通过IRC或P2P。可被用于distributed denialof service(DDOS),spam and click fraud, launching pad for new exploits/worms.
25.僵尸网络的入侵方法:利用一个漏洞(compromise attempt),执行短代码(shellcode),如buffer overflow,email viruses,壳代码下载安装实际的bot,它让防火墙、杀毒软件无效,记录IRCserver的位置,连接并加入,需要DNS,由botmaster发布命令。
26. 每个bot可以扫描IP,感染更多受害者。
27. DoS利用网络协议漏洞,smurf:echo, ping of death: ICMP packets; syn flood:开放 TCP 连接请求,来自一个伪造地址;UPDflood: exhaust bandwidth。
28. DDOS不需要spoofing,SYN cookies无法抵制。
29. 僵尸网络的控制:IRC:issue command,DNS:find the master, find if a zombie has been blacklisted。网络中very visible:找到hosts performingscans, and corresponding IRC; hosts ask DNS queries but few queries aboutthemselves,但加密和P2P都可以逃避。
30. Email spoofing:通过SMTP(port 25)发送,无内置认证.
31. 隐藏spam源目的:逃避黑名单。
32. anti-spam: filter, sender verification, challenge-response,computational challenge。
- 《信息安全原理》复习笔记
- 信息安全 复习笔记(一)
- 数据库原理复习笔记
- 编译原理复习笔记
- CISSP复习笔记-第2章 信息安全治理与风险管理
- 信息安全复习1关于VPN
- 信息安全复习2关于网络安全
- 信息安全课程复习总结(部分)
- 信息安全学习笔记
- 信息安全学习笔记
- 【学习笔记】信息安全测评
- 信息安全学习笔记(1)
- 信息安全学习笔记(2)
- 信息安全学习笔记(3)
- 信息安全笔记(一)
- 信息安全导论复习(1-5章)
- 信息安全导论复习(6-8章)
- 信息解析系统复习笔记,week1
- ARCGIS接口详细说明
- POJ2586(贪心)
- shader学习(二)
- CSS盒模型
- JavaScript基础——使用Canvas画图
- 《信息安全原理》复习笔记
- OpenCV
- 把Windows Server 2012 R2装成工作站
- POJ1068(模拟)
- vtk实战(五)—格式转换
- Binary Indexed Tree (树状数组)
- HDOJ5650
- Android第三方库合集
- memcache和memcached区别