《信息安全原理》复习笔记

来源:互联网 发布:安全狗防sql注入原理 编辑:程序博客网 时间:2024/06/11 19:06

整了6k字然而我发现基本概念基本没弄清楚。。

考完试了然而这份复习笔记跟考试并无关系。。

有错。。不全。。加粗的也不是重点。。

下次复习。。一定记得看图。。。。


0.1

1. 安全性与花费的tradeoff;一些常见的安全错觉(myth)insider进攻更普遍,因为有accessknowledgeopportunity

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. 信息安全的特点(区别于纸面安全):originalcopy无法区分、改动无痕、易于delete、取决于二进制信息而非生理物理特征;全面性(weakest link)、螺旋前进、动态、层次性、相对性。

7.信息安全4要素:confidentiality保密性、integrity完整性、availability可用性(微信无法提供服务、邮箱全是spam)、authenticity真实性(You are who you say you are)。

8.信息安全4概念:vulnerability漏洞:安全系统中的weaknessthreat威胁:潜在隐患的环境(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 breakglobal deduction:可知算法,不知Kinstance/local deduction:更多的PC对应、information deduction:新统计信息、distinguishingalgorithm:可区分密文和随机字符串。

5. 密码学史:

classic ciphers:一战前,凯撒、古希腊(5*5矩阵)、玛丽女王、Vigenere(kasiski test):抵御频率分析,可使用offset keywordline orderingbook cipher

machine ciphers:一战出现,二战运用:Enigma:遵循Kerckhoffs原则,算法是物理构造,Krotor的初始设定(排序、初始位置)、插线板设定。/*破解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 cipheroutput每一位要与KP的每一位有关。

3. Feistel密码结构:a product cipher,几乎所有现代对称加密算法基于此。使用块加密,且增加块长度,若完全任意映射,K长度为n * 2^n,需简化。造成avalancheeffect途径:扩散diffusion和扰乱confusion

3.1 扩散diffusion:迭代交换左右,密文统计特性与明文。

3.2 扰乱confusionround function,密文统计特性与密钥。

3.3 安全性:block sizeK长度、round次数、K生成算法、Round function

4. DES:加密64-bit块、用56-bit K,基于Feistel结构;强雪崩影响、反破译(只可暴力)、不安全。

5. 三重DESc = E3 D2 E1 (P)Key长度是56*3 = 168。利用2312相等,则退化为DES

6. 其他对称加密算法:IDEABlowfish AlgorithmRC5.

7. AES:加密128K128192256;免疫所有已知进攻。

8. 块加密的操作模式(mode of operation):描述如何应用单块操作来安全地转化大量数据。

8.1 ECBelectronic 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. 对称加密算法的问题:分配密钥。KDCkey 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 algorithmMD5:128. SHA-1:160.易于计算,难于反推(reverse computing),难于碰撞(collision)。

4. 其他单向散列函数:MD4\MD5\SHS\HAVAL\RIPEMD

5. MD5padding hashing

6. 单向散列函数的安全性考量:primage:逆推;second-preimage:找出与给定P1映射结果相同的P2collision:制造P1P2映射结果相同。

7. 消息验证码MAC,或keyed hash function:用于保证消息完整性。HMAC难于制造碰撞,因此并不像MD5SHA1那样易于攻击。

8. MAC和数字签名的不同:MAC需要共享secret key、只能被指定人验证、可抵赖(只要知道密钥就可伪造,包括接收方)。MAC更快,应用于无需抗抵赖的场合。

2.2

一、认证

1. 字典攻击Dictionary attack用于攻击密码。对字典中每一个可能,进攻者计算H(word),看结果是否出现在密码文件中。

2.加盐:随机选择salt,与密码一起hash,同时存储hashsalt。即:同密码可能有不同的存储形态。一次完全预计算从可推演所有密码到只能推演一个密码。

3. shadow password:使密码储存在root权限文件中。

4. 生物尺度的密码,revocation是难题。另外有图像密码。

5. 生物尺度biometric identification:优点:不会遗失;缺点:设备、算法不安全、隐私。

6. Fraud / False Accept Insult / False Reject相等时,叫equal error rate.

7.挑战应答认证challenge response authentication:防止重放攻击,需要共享密钥。

8. 分布式环境下Kerberossafety, reliability, transparency, scalability.缺点:依赖时间同步,则进攻者可误导系统时间,从而重放。guessing attackkey storage在普通计算机系统上不可实现。

二、授权

1. authorization access control几乎一样。

2. 三要素:subject object privilege

3. 安全访问控制secure access control主要功能:authorizationrevokechecker。两个阶段:makepolicyexecute policy

4. 安全访问控制模型:DAC自主访问控制discretionaryMAC强制访问控制MandatoryRBAC基于角色的访问控制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,分为ownergroupother三类,9bitsO+G+ORWX*3)表示权限。

6. MACtop secretsecretconfidentialunclassified

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关联。rolesgroup的区别:group是一组用户,role是一组用户和一组operationpermissions;多对多;sessionuseractive role之间的映射。UAuser assignmentrole user;他们还可通过session关联);PApermission assignmentrole 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可以被用于实现DACMAC

10. 安全访问控制的原则:

允许的访问(authorizationmanagement)决定于:(1mac下,安全等级;(2dac下,centralized management\hierarchical\ownership\collaborative\distributed3RBAC:类似self-managementstrategies,但delegacy of management permission是独特的。

最小化用户权限,3类特权用户:systemadministrator:系统维护,用户管理,软件安装;security administrator:安全规则配置、安全政策管理;audit administrator:检查审计记录、监控安全。Thereis no special privilege.

3.1

1. 路由route和连接connectTCP/IP协议栈。

2. 路由发现router discoveryBGP(border gateway protocol)

3. IPdomain name system

4. 协议栈::数据链路层:arp rarp ethernet hdlc ppp,frame;网络层:ip icmp bgp ospf igmppacket;传输层:tcp udpsegment;应用层:http smtp ftptelnet dns消息message

5. IP无连接,不稳定,best-effort protocol。路由时跳转。用数字地址。

6. ICMPInternet control message protocol,提供网络操作的反馈:destination unreachable、超时、parameter problem、重定向到更好的网关、可连接性测试(echo/echoreply)、时间戳请求回复

7. TCPreliabilityflow control。实现方式是:sliding windows(flow control)sequencing numbers andacknowledgementssynchronizationestablish a virtual circuit)。

8. 协议序号:TCP6UDP17

9. User Datagram Protocol:separate traffic by portsource 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 spoofingarp 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,抵御方法:DNSSECDNS cache poisoning发生的原因是DNS request and responseare not authenticated,进攻者可以提供faked DNS informationDomain Name System Security Extensions并不提供加密服务,也不对抗DoS进攻。

21. IPSec用于提供IP层加密和认证支持。它的三个核心组成:AH验证头authentication headersESP载荷安全性封装encapsulating securitypayloadsSA安全关联security associationsESP可加密、可选认证,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之间的VPNthe host-to-network communication,也可peer-to-peer

23. IPSec3种加密认证模型:ESP with Authentication, Transport connenction:内部 transport mode ESP,外部transport mode AHtransport tunnel:内部transport mode AH,外部tunnel mode ESP

24. IPSec优点:在firewallrouter中实现,所有经过网关的包都提升了安全性。被保护的主机自身不用操心安全解决。transparent to end-user

25. TLS(transport layer security)和前身SSL(secure socket layer)用于提供reliable end to endsecure serviceTCP来提供保密性完整性和认证服务。

26. SSL连接connection和会话session:连接提供了合适的安全类型,点对点关系,临时,每个连接依附于一次会话。会话:clientserver的关联,被握手协议创建,定义一组连接可用的安全参数,避免了大量的negotiation cost,不需为每次连接提供安全参数。

27. SSLTLS协议栈:在传输层和应用层;自身被分割为两层:handshake layer,三个子协议:handshake sub protocol, change cipher spec sub protocol, alertsub protocolrecord layer:接受、加密信息(应用层到传输层),步骤:接受信息、block(fragmentation)、压缩或解压缩、计算MACHMAC值,加密,加入SSLrecord头。

28. 握手协议:让服务器和客户双方都认证,协商加密算法、消息验证码算法和密钥,在应用层数据传输前执行握手协议。4阶段:establish safety negotiation, server 认证和key exchangeclient认证和key exchangeend

3.2

1. Troyan Horseovert目的 covert目的,eg. cp/bin/sh/tmp/.xyzzychmod u+s,o+x /tmp/xkyzzyrm ./lsls &*eg2. NetBus.

2. Replicating trojan horsemake 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 phaseexecution phase

5. 病毒分类:boot sector infectorexecutable 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 Viruseseg.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 computationseg Christmas worm, Morris Worm, CodeRed I(现代意义上第一个蠕虫)

16. rabbitsbacteriaabsorb全部特定类型的资源的程序;logic bomb:被触发后造成破坏。

17. 有害代码的预防:病毒自动分析(immune system),允许病毒复制,用机器学习查字串(Virus analysis center)。

18. 防御方法一:区分数据和指令,只允许写数据,不允许数据执行。但审查auditable action需要能改变数据为可执行。eg. LOCK

19. 防御方法二:限制客体访问权限,限制信息流传播,问题是tracking information flow。应用最小权限原则。用guardianswatchdog,来决定可否访问。sandbox irtual machine run in protected area 

20. 防御方法三:inhibit sharing:用多重安全机制,程序在最低层,用户不可以在那一层操作。

21. 防御方法四:检查文件修改,计算manipulation detection code(MDC),生成 signature blockeach file,不久后再计算。反病毒方法是查找特定的字节序列,即virus signature

22. 防御方法五:检查actions beyond specification,把执行和infection视作错误,应用错误忍受技术faulttolerant techniqueeg.程序被分成nonbranching instructions,算校验和,加密保存,每次run都重新计算。或:N-VersionProgramming,同时运行,定期查中间结果,听从大多数。但,大多数不能被infected,且underlying OS 要安全。但矛盾之处在于它们必须几乎都一样才能vote for each file accesses。或:proof-carrying codeuser指明安全需要,author生成校验代码,Binarycode+proofdelivered,用户检查。

23. 防御方法六:分析统计特征。即coding style

24.僵尸网络:network of autonomous programs capable of acting on instructions,通过IRCP2P。可被用于distributed denialof service(DDOS),spam and click fraud, launching pad for new exploits/worms.

25.僵尸网络的入侵方法:利用一个漏洞(compromise attempt),执行短代码(shellcode),如buffer overflowemail viruses,壳代码下载安装实际的bot,它让防火墙、杀毒软件无效,记录IRCserver的位置,连接并加入,需要DNS,由botmaster发布命令。

26. 每个bot可以扫描IP,感染更多受害者。

27. DoS利用网络协议漏洞,smurfecho, ping of death: ICMP packets; syn flood:开放 TCP 连接请求,来自一个伪造地址;UPDflood: exhaust bandwidth

28. DDOS不需要spoofingSYN cookies无法抵制。

29. 僵尸网络的控制:IRCissue commandDNSfind 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

2 0
原创粉丝点击