复旦大学:《信息安全》教学课件_12-13 Software Security

Information Security 12 Software Security Chapter 3 in security in computing Charles p pfleeger, Shari Lawrence pfleeger Pearson edition 復里大软件学院 LiT
1 LiJT Information Security 12 Software Security Chapter 3 in Security in Computing, Charles P. Pfleeger, Shari Lawrence Pfleeger, Pearson Edition

Why Software? Why is software as important to security as crypto, access control and protocols? Virtually all of information security is implemented in software If your software is subject to attack, your security is broken Regardless of strength of crypto access control or protocols Software is a poor foundation for security 復里大软件学院 LiT
2 LiJT Why Software? • Why is software as important to security as crypto, access control and protocols? • Virtually all of information security is implemented in software • If your software is subject to attack, your security is broken – Regardless of strength of crypto, access control or protocols • Software is a poor foundation for security

What does it mean? secure program: means different things to different people is it secure if? takes too long to break through security controls runs for a long time without failure t conforms to specification free from all faults 復里大软件学院 LiT
3 LiJT What does it mean? • “secure” program: means different things to different people • is it secure if ? – takes too long to break through security controls – runs for a long time without failure – it conforms to specification – free from all faults

ete Fixing Faults - Testing · Which is better: finding and fixing 20 faults in a module? finding and fixing 100 faults 復里大软件学院 LiT
4 LiJT Fixing Faults - Testing • which is better: – finding and fixing 20 faults in a module? – finding and fixing 100 faults ' ' ' ?

Fixing Faults · Which is better finding and fixing 20 faults in a module? finding and fixing 100 faults finding 100 could mean you have better testing methods OR code is really bad 100 were just the tip of the iceberg software testing literature finding many errors early probably find many more 5 復里大软件学院 LiT
5 LiJT Fixing Faults • which is better: – finding and fixing 20 faults in a module? – finding and fixing 100 faults ' ' ' ? • finding 100 could mean – you have better testing methods – OR • code is really bad • 100 were just the tip of the iceberg – software testing literature: • finding many errors early → probably find many more

foti Fixing Faults: penetrate and patch think of security after program has been broken release a patch why is this bad? 6 復里大软件学院 LiT
6 LiJT Fixing Faults: penetrate and patch • think of security after program has been broken • release a patch • why is this bad?

foti Fixing Faults: penetrate and patch think of security after program has been broken release a patch why is this bad? 入侵 eg Unicode MS00-057 漏洞漏洞 补丁 发现分析 发布 时间 復里大软件学院 LiT
7 LiJT Fixing Faults: penetrate and patch • think of security after program has been broken • release a patch • why is this bad? • eg. Unicode,MS00-057 入 侵 时间 漏洞发现 漏洞分析 补丁发布

oO Fixing Faults: penetrate and patch why is this bad? product was broken in the first place developers can only fix problems that they know about patches often only fix symptom they re not cure people don t bother applying the patches patches can have holes patches tell the bad guys where the problems are might affect program performance or limit functionality more expensive than making it secure from the beginning 8 復里大软件学院 LiT
8 LiJT • why is this bad? – product was broken in the first place – developers can only fix problems that they know about – patches often only fix symptom. they're not cure – people don't bother applying the patches – patches can have holes – patches tell the bad guys where the problems are – might affect program performance or limit functionality – more expensive than making it secure from the beginning Fixing Faults: penetrate and patch

Software Issues Normal users Attackers Find bugs and flaws Actively look for bugs by accident and flaws · Hate bad software · Like bad software but must learn to and try to make it live with it misbehave · Must make bad Attack systems thru software work bad software 9 復里大软件学院 LiT
9 LiJT Software Issues Attackers • Actively look for bugs and flaws • Like bad software … • …and try to make it misbehave • Attack systems thru bad software “Normal ” users • Find bugs and flaws by accident • Hate bad software … • …but must learn to live with it • Must make bad software work

Complexity Complexity is the enemy of security Paul Kocher, Cryptography Research, Inc system Lines of code loc) Netscape 17,000,000 Space shuttle 10.000.000 Linux 1500.000 Windows XP 40,000.000 Boeing 777 7,000.000 a new car contains more loc than was required to land the apollo astronauts on the moon 10 復里大软件学院 LiT
10 LiJT Complexity • “Complexity is the enemy of security”, Paul Kocher, Cryptography Research, Inc. Netscape 17,000,000 Space shuttle 10,000,000 Linux 1,500,000 Windows XP 40,000,000 Boeing 777 7,000,000 system Lines of code (LOC) • A new car contains more LOC than was required to land the Apollo astronauts on the moon
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《信息安全》教学课件_11.2 Web & EC Security.pdf
- 复旦大学:《信息安全》教学课件_11.1 IP Security.pdf
- 复旦大学:《信息安全》教学课件_10 Authentication Kerberos.pdf
- 复旦大学:《信息安全》教学课件_09 Authentication and supplements.pdf
- 复旦大学:《信息安全》教学课件_07-08 Public Key Infrastructure(PKI)公钥基础设施——公钥技术的应用.pdf
- 复旦大学:《信息安全》教学课件_06 The Intro to Information Security.pdf
- 复旦大学:《信息安全》教学课件_05 Message authentication and Hash function.pdf
- 复旦大学:《信息安全》教学课件_04 Public Key Cryptography, RSA.pdf
- 复旦大学:《信息安全》教学课件_03 Modern Block Ciphers.pdf
- 复旦大学:《信息安全》教学课件_02 Classical Encryption Techniques(cont.).pdf
- 复旦大学:《信息安全》教学课件_01 Classical Encryption Techniques.pdf
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 16 Simple Input and Output.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 15 Exceptions and Assertions.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 14 Applets, Images, and Audio.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 13 Creating User Interfaces.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 12 Event-Driven Programming.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 11 Getting Started with GUI Programming.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 10 Object-Oriented Modeling(oom).ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 9 Abstract Classes and Interfaces.ppt
- 复旦大学:《程序设计》课程教学资源(PPT课件)Chapter 8 Inheritance and Polymorphism.ppt
- 复旦大学:《信息安全》教学课件_14 防火墙 Firewall.pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第1章 信息系统安全概述、第2章 密码学概论(1/3).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第2章 密码学概论(2/3).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第3章 现代加密算法(2/3).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第3章 现代加密算法(2/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第3章 现代加密算法(3/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第3章 现代加密算法(4/4)、第4章 密码应用(1/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第2章 密码学概论(3/3)、第3章 现代加密算法(1/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第4章 密码应用(2/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第4章 密码应用(3/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第4章 密码应用(4/4).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第5章 计算机病毒概述、第6章 典型计算机病毒分析(1/2).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第6章 典型计算机病毒分析(2/2)、第7章 新一代计算机病毒(1/2).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第7章 新一代计算机病毒(2/2)、第8章 程序安全与数据库安全(1/2).pdf
- 复旦大学:《信息安全原理》课程教学资源(PPT课件)第8章 程序安全与数据库安全(2/2).pdf
- 复旦大学:《电子商务 E-business》精品课程_教学大纲.pdf
- 《电子商务 E-business》课程阅读资料:NYU Electronic Commerce.pdf
- 《电子商务 E-business》阅读文献_Adapt and thrive—the journey to e-business on demand.pdf
- 《电子商务 E-business》阅读文献_Designing and evaluating e-business models.pdf
- 《电子商务 E-business》阅读文献_E-business development for competitive advantages.pdf