Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu INFORMATION SECURITY PRINCIPLES AND PRACTICE ppt
PREMIUM
Số trang
413
Kích thước
5.8 MB
Định dạng
PDF
Lượt xem
1718

Tài liệu INFORMATION SECURITY PRINCIPLES AND PRACTICE ppt

Nội dung xem thử

Mô tả chi tiết

“frontmatter” — 2005/9/21 — page i — #1

INFORMATION

SECURITY

TEAM LinG

“frontmatter” — 2005/9/21 — page ii — #2

“frontmatter” — 2005/9/21 — page iii — #3

INFORMATION SECURITY

PRINCIPLES AND PRACTICE

Mark Stamp

San Jose State University

A JOHN WILEY & SONS, INC., PUBLICATION

“frontmatter” — 2005/9/21 — page iv — #4

This book is printed on acid-free paper. ∞

Copyright © 2006 by John Wiley & Sons, Inc. All rights reserved.

Published by John Wiley & Sons, Inc., Hoboken, New Jersey.

Published simultaneously in Canada.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by

any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted

under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written

permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the

Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978)

750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be

addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030,

(201) 748-6011, fax (201) 748-6008, e-mail: [email protected].

Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in

preparing this book, they make no representations or warranties with respect to the accuracy or completeness

of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for

a particular purpose. No warranty may be created or extended by sales representatives or written sales

materials. The advice and strategies contained herein may not be suitable for your situation. The publisher is

not engaged in rendering professional services, and you should consult with a professional where

appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial

damages, including but not limited to special, incidental, consequential, or other damages.

For general information on our other products and services please contact our Customer Care Department

within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317)

572-4002.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not

be available in electronic format. For more information about Wiley products, visit our web site at

www.Wiley.com.

Library of Congress Cataloging-in-Publication Data:

Stamp, Mark.

Information security: principles and practice / Mark Stamp.

p. cm.

Includes bibliographical references and index.

ISBN-10 0-471-73848-4 (cloth)

ISBN-13 978-0-471-73848-0

1. Computer security. I. Title.

QA76.9.A25S69 2005

005.8--dc22

2005005152

Printed in the United States of America

10 9 8 7 6 5 4 3 2 1

“frontmatter” — 2005/9/21 — page v — #5

To Melody, Austin, and Miles.

“frontmatter” — 2005/9/21 — page vi — #6

“frontmatter” — 2005/9/21 — page vii — #7

CONTENTS

Preface xv

About The Author xix

Acknowledgments xxi

1 INTRODUCTION ........................................ 1

1.1 The Cast of Characters ................................ 1

1.2 Alice’s Online Bank .................................. 1

1.2.1 Confidentiality, Integrity, and Availability ............. 2

1.2.2 Beyond CIA ................................. 2

1.3 About This Book .................................... 3

1.3.1 Cryptography ................................ 4

1.3.2 Access Control ............................... 4

1.3.3 Protocols ................................... 5

1.3.4 Software .................................... 6

1.4 The People Problem .................................. 6

1.5 Principles and Practice ................................ 7

1.6 Problems ......................................... 7

I CRYPTO 9

2 CRYPTO BASICS ........................................ 11

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 How to Speak Crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Classic Crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.1 Simple Substitution Cipher . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.2 Cryptanalysis of a Simple Substitution . . . . . . . . . . . . . . . 15

2.3.3 Definition of Secure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.4 Double Transposition Cipher . . . . . . . . . . . . . . . . . . . . . . 17

2.3.5 One-Time Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.6 Project VENONA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

“frontmatter” — 2005/9/21 — page viii — #8

viii CONTENTS

2.3.7 Codebook Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.8 Ciphers of the Election of 1876 . . . . . . . . . . . . . . . . . . . . 24

2.4 Modern Crypto History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.5 A Taxonomy of Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.6 A Taxonomy of Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 SYMMETRIC KEY CRYPTO ................................ 33

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Stream Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.1 A5/1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.2 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 Block Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.3.1 Feistel Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.3.2 DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3.3 Triple DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3.4 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3.5 Three More Block Ciphers . . . . . . . . . . . . . . . . . . . . . . . 48

3.3.6 TEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.3.7 Block Cipher Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.4 Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4 PUBLIC KEY CRYPTO .................................... 61

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.2 Knapsack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.3 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.3.1 RSA Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.3.2 Repeated Squaring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.3 Speeding Up RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.4 Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.5 Elliptic Curve Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.5.1 Elliptic Curve Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.5.2 ECC Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.6 Public Key Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.7 Uses for Public Key Crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.7.1 Confidentiality in the Real World . . . . . . . . . . . . . . . . . . . 76

“frontmatter” — 2005/9/21 — page ix — #9

CONTENTS ix

4.7.2 Signatures and Non-repudiation . . . . . . . . . . . . . . . . . . . . 76

4.7.3 Confidentiality and Non-repudiation . . . . . . . . . . . . . . . . . 77

4.8 Public Key Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.10 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5 HASH FUNCTIONS AND OTHER TOPICS ...................... 85

5.1 What is a Hash Function? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5.2 The Birthday Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.3 Non-Cryptographic Hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.4 Tiger Hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.5 HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5.6 Uses of Hash Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.6.1 Online Bids. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.6.2 Spam Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.7 Other Crypto-Related Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.7.1 Secret Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.7.2 Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.7.3 Information Hiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6 ADVANCED CRYPTANALYSIS .............................. 109

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6.2 Linear and Differential Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . 110

6.2.1 Quick Review of DES . . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.2.2 Overview of Differential Cryptanalysis . . . . . . . . . . . . . . . 111

6.2.3 Overview of Linear Cryptanalysis . . . . . . . . . . . . . . . . . . 114

6.2.4 Tiny DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.2.5 Differential Cryptanalysis of TDES . . . . . . . . . . . . . . . . . 117

6.2.6 Linear Cryptanalysis of TDES . . . . . . . . . . . . . . . . . . . . . 122

6.2.7 Block Cipher Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

6.3 Side Channel Attack on RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

6.4 Lattice Reduction and the Knapsack . . . . . . . . . . . . . . . . . . . . . . . 128

6.5 Hellman’s Time-Memory Trade-Off . . . . . . . . . . . . . . . . . . . . . . . 134

6.5.1 Popcnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

6.5.2 Cryptanalytic TMTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

6.5.3 Misbehaving Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

6.5.4 Success Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

“frontmatter” — 2005/9/21 — page x — #10

x CONTENTS

6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

6.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

II ACCESS CONTROL 151

7 AUTHENTICATION ...................................... 153

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.2 Authentication Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

7.3 Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

7.3.1 Keys Versus Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . 155

7.3.2 Choosing Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

7.3.3 Attacking Systems via Passwords . . . . . . . . . . . . . . . . . . . 158

7.3.4 Password Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

7.3.5 Math of Password Cracking . . . . . . . . . . . . . . . . . . . . . . 159

7.3.6 Other Password Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7.4 Biometrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

7.4.1 Types of Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

7.4.2 Biometric Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

7.4.3 Biometric Error Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7.4.4 Biometric Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7.5 Something You Have . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7.6 Two-Factor Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

7.7 Single Sign-On and Web Cookies . . . . . . . . . . . . . . . . . . . . . . . . . 172

7.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

7.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8 AUTHORIZATION ....................................... 177

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

8.2 Access Control Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

8.2.1 ACLs and Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . 178

8.2.2 Confused Deputy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

8.3 Multilevel Security Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

8.3.1 Bell-LaPadula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

8.3.2 Biba’s Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

8.4 Multilateral Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

8.5 Covert Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

8.6 Inference Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

8.7 CAPTCHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

8.8 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

8.8.1 Packet Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

8.8.2 Stateful Packet Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

“frontmatter” — 2005/9/21 — page xi — #11

CONTENTS xi

8.8.3 Application Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

8.8.4 Personal Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

8.8.5 Defense in Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

8.9 Intrusion Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

8.9.1 Signature-Based IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

8.9.2 Anomaly-Based IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

8.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

8.11 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

III PROTOCOLS 207

9 SIMPLE AUTHENTICATION PROTOCOLS ..................... 209

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

9.2 Simple Security Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

9.3 Authentication Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

9.3.1 Authentication Using Symmetric Keys . . . . . . . . . . . . . . . 215

9.3.2 Authentication Using Public Keys . . . . . . . . . . . . . . . . . . 217

9.3.3 Session Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

9.3.4 Perfect Forward Secrecy . . . . . . . . . . . . . . . . . . . . . . . . . 220

9.3.5 Mutual Authentication, Session Key, and PFS . . . . . . . . . . 222

9.3.6 Timestamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

9.4 Authentication and TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

9.5 Zero Knowledge Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

9.6 The Best Authentication Protocol? . . . . . . . . . . . . . . . . . . . . . . . . 230

9.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

9.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

10 REAL-WORLD SECURITY PROTOCOLS ...................... 235

10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

10.2 Secure Socket Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

10.2.1 SSL and the Man-in-the-Middle . . . . . . . . . . . . . . . . . . . . 238

10.2.2 SSL Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

10.2.3 SSL Versus IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

10.3 IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

10.3.1 IKE Phase 1: Digital Signature . . . . . . . . . . . . . . . . . . . . . 241

10.3.2 IKE Phase 1: Symmetric Key . . . . . . . . . . . . . . . . . . . . . . 243

10.3.3 IKE Phase 1: Public Key Encryption . . . . . . . . . . . . . . . . . 243

10.3.4 IPSec Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

10.3.5 IKE Phase 1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 246

10.3.6 IKE Phase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

“frontmatter” — 2005/9/21 — page xii — #12

xii CONTENTS

10.3.7 IPSec and IP Datagrams . . . . . . . . . . . . . . . . . . . . . . . . . 247

10.3.8 Transport and Tunnel Modes . . . . . . . . . . . . . . . . . . . . . . 247

10.3.9 ESP and AH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

10.4 Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

10.4.1 Kerberized Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

10.4.2 Kerberos Ticket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

10.4.3 Kerberos Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

10.5 GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

10.5.1 GSM Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

10.5.2 GSM Security Architecture . . . . . . . . . . . . . . . . . . . . . . . 255

10.5.3 GSM Authentication Protocol . . . . . . . . . . . . . . . . . . . . . 257

10.5.4 GSM Security Flaws . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

10.5.5 GSM Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

10.5.6 3GPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

10.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

IV SOFTWARE 265

11 SOFTWARE FLAWS AND MALWARE ........................ 267

11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

11.2 Software Flaws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

11.2.1 Buffer Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

11.2.2 Incomplete Mediation . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

11.2.3 Race Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

11.3 Malware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

11.3.1 Brain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

11.3.2 Morris Worm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

11.3.3 Code Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

11.3.4 SQL Slammer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

11.3.5 Trojan Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

11.3.6 Malware Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

11.3.7 The Future of Malware . . . . . . . . . . . . . . . . . . . . . . . . . . 287

11.3.8 Cyber Diseases Versus Biological Diseases . . . . . . . . . . . . 289

11.4 Miscellaneous Software-Based Attacks . . . . . . . . . . . . . . . . . . . . . 289

11.4.1 Salami Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

11.4.2 Linearization Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

11.4.3 Time Bombs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

11.4.4 Trusting Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

11.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

11.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

“frontmatter” — 2005/9/21 — page xiii — #13

CONTENTS xiii

12 INSECURITY IN SOFTWARE ............................... 295

12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

12.2 Software Reverse Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

12.2.1 Anti-Disassembly Techniques . . . . . . . . . . . . . . . . . . . . . 300

12.2.2 Anti-Debugging Techniques . . . . . . . . . . . . . . . . . . . . . . 301

12.3 Software Tamper Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

12.3.1 Guards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

12.3.2 Obfuscation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

12.3.3 Metamorphism Revisited . . . . . . . . . . . . . . . . . . . . . . . . 303

12.4 Digital Rights Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

12.4.1 What is DRM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

12.4.2 A Real-World DRM System . . . . . . . . . . . . . . . . . . . . . . 308

12.4.3 DRM for Streaming Media . . . . . . . . . . . . . . . . . . . . . . . 310

12.4.4 DRM for a P2P Application . . . . . . . . . . . . . . . . . . . . . . . 312

12.4.5 DRM in the Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . 313

12.4.6 DRM Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

12.4.7 DRM Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

12.5 Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

12.5.1 Open Versus Closed Source Software . . . . . . . . . . . . . . . . 316

12.5.2 Finding Flaws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

12.5.3 Other Software Development Issues . . . . . . . . . . . . . . . . . 318

12.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

12.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

13 OPERATING SYSTEMS AND SECURITY ...................... 325

13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

13.2 Operating System Security Functions . . . . . . . . . . . . . . . . . . . . . . 326

13.2.1 Separation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

13.2.2 Memory Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

13.2.3 Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

13.3 Trusted Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

13.3.1 MAC, DAC, and More . . . . . . . . . . . . . . . . . . . . . . . . . . 329

13.3.2 Trusted Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

13.3.3 Trusted Computing Base . . . . . . . . . . . . . . . . . . . . . . . . . 331

13.4 Next Generation Secure Computing Base . . . . . . . . . . . . . . . . . . . 333

13.4.1 NGSCB Feature Groups . . . . . . . . . . . . . . . . . . . . . . . . . 334

13.4.2 NGSCB Compelling Applications . . . . . . . . . . . . . . . . . . 336

13.4.3 Criticisms of NGSCB . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

“frontmatter” — 2005/9/21 — page xiv — #14

xiv CONTENTS

13.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

13.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

APPENDIX 341

A-1 Network Security Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

A-1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

A-1.2 The Protocol Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

A-1.3 Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

A-1.4 Transport Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

A-1.5 Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

A-1.6 Link Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

A-1.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

A-2 Math Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

A-2.1 Modular Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

A-2.2 Permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

A-2.3 Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

A-2.4 Linear Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

A-3 DES S-Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

ANNOTATED BIBLIOGRAPHY 359

INDEX 381

Tải ngay đi em, còn do dự, trời tối mất!