
Transcription
Bishop.book Page i Tuesday, September 28, 2004 1:46 PMIntroduction toComputer Security
Bishop.book Page ii Tuesday, September 28, 2004 1:46 PM
Bishop.book Page iii Tuesday, September 28, 2004 1:46 PMIntroduction toComputer SecurityMatt BishopBoston San Francisco New York Toronto MontrealLondon Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico City
Bishop.book Page iv Tuesday, September 28, 2004 2:34 PMMany of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim,the designations have been printed with initial capital letters or in all capitals.The author and publisher have taken care in the preparation of this book, but make no expressed or impliedwarranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales.For more information, please contact:U.S. Corporate and Government Sales(800) [email protected] sales outside of the U.S., please contact:International [email protected] Addison-Wesley on the Web: www.awprofessional.comLibrary of Congress Cataloging-in-Publication DataBishop, Matt (Matthew A.)Introduction to computer security / Matt Bishop.p. cm.Includes bibliographical references and index.ISBN 0-321-24744-2 (hardcover : alk. paper)1. Computer security. I. Title.QA76.9.A25B563 2004005.8—dc222004019195Copyright 2005 by Pearson Education, Inc.All rights reserved. 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, or otherwise, without theprior consent of the publisher. Printed in the United States of America. Published simultaneously in Canada.Chapters 17 and 18 Copyright 2005 by Elisabeth C. Sullivan. Published by Pearson Education, Inc. withpermission.For information on obtaining permission for use of material from this work, please submit a written request to:Pearson Education, Inc.Rights and Contracts Department75 Arlington Street, Suite 300Boston, MA 02116Fax: (617) 848-7047ISBN: 0-321-24744-2Text printed on recycled paper1 2 3 4 5 6 7 8 9 10—CRS—0807060504First printing, October 2004
Bishop.book Page v Tuesday, September 28, 2004 1:46 PM
Bishop.book Page vi Tuesday, September 28, 2004 1:46 PMTo my dear Holly; our children Heidi, Steven, David, and Caroline; ourgrandson Skyler; our son-in-law Mike; and our friends Seaview, Tinker Belle,Stripe, Baby Windsor, Fuzzy, Scout, Fur, Puff, and the rest of the menagerie.
Bishop.book Page vii Tuesday, September 28, 2004 1:46 PMContentsPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvGoals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviPhilosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxviiOrganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxixDifferences Between this Book and Computer Security:Art and Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxxSpecial Acknowledgment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiAcknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiChapter 1 An Overview of Computer Security. . . . . . . . . . . . . . . . . . . . . . . . . . .11.1 The Basic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11.1.1 Confidentiality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21.1.2 Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.1.3 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.2 Threats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.3 Policy and Mechanism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.3.1 Goals of Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.4 Assumptions and Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91.5 Assurance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101.5.1 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111.5.2 Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121.5.3 Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121.6 Operational Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141.6.1 Cost-Benefit Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141.6.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151.6.3 Laws and Customs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161.7 Human Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171.7.1 Organizational Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181.7.2 People Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191.8 Tying It All Together. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211.10 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22vii
Bishop.book Page viii Tuesday, September 28, 2004 1:46 PMviiiContentsChapter 2 Access Control Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1 Protection State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2 Access Control Matrix Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 Protection State Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3.1 Conditional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.4 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Chapter 3 Foundational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1 The General Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.2 Basic Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.4 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373738434344Chapter 4 Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1 Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Types of Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.3 The Role of Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4 Types of Access Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.5 Example: Academic Computer Security Policy . . . . . . . . . . . . . . . . . . . . 544.5.1 General University Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5.2 Electronic Mail Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5.2.1 The Electronic Mail Policy Summary . . . . . . . . . . . . . . . . . 564.5.2.2 The Full Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.5.2.3 Implementation at UC Davis . . . . . . . . . . . . . . . . . . . . . . . 574.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Chapter 5 Confidentiality Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.1 Goals of Confidentiality Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.2 The Bell-LaPadula Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.1 Informal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.2 Example: The Data General B2 UNIX System . . . . . . . . . . . . . 665.2.2.1 Assigning MAC Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.2.2.2 Using MAC Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.3 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.4 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Bishop.book Page ix Tuesday, September 28, 2004 1:46 PMContentsixChapter 6 Integrity Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .736.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .736.2 Biba Integrity Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .756.3 Clark-Wilson Integrity Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .766.3.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .776.3.2 Comparison with the Requirements . . . . . . . . . . . . . . . . . . . . . .796.3.3 Comparison with Other Models . . . . . . . . . . . . . . . . . . . . . . . . .806.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .816.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .816.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82Chapter 7 Hybrid Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .837.1 Chinese Wall Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .837.1.1 Bell-LaPadula and Chinese Wall Models . . . . . . . . . . . . . . . . .867.1.2 Clark-Wilson and Chinese Wall Models . . . . . . . . . . . . . . . . . .877.2 Clinical Information Systems Security Policy. . . . . . . . . . . . . . . . . . . . . .887.2.1 Bell-LaPadula and Clark-Wilson Models . . . . . . . . . . . . . . . . .907.3 Originator Controlled Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . .917.4 Role-Based Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .927.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .947.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .957.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95Chapter 8 Basic Cryptography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .978.1 What Is Cryptography? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .978.2 Classical Cryptosystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .988.2.1 Transposition Ciphers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .998.2.2 Substitution Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1008.2.2.1 Vigenère Cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1018.2.2.2 One-Time Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1078.2.3 Data Encryption Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088.2.4 Other Classical Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1128.3 Public Key Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1138.3.1 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1148.4 Cryptographic Checksums. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1168.4.1 HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1188.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1198.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1198.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Bishop.book Page x Tuesday, September 28, 2004 1:46 PMxContentsChapter 9 Key Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239.1 Session and Interchange Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249.2 Key Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249.2.1 Classical Cryptographic Key Exchange and Authentication. . 1259.2.2 Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289.2.3 Public Key Cryptographic Key Exchange andAuthentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299.3 Cryptographic Key Infrastructures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309.3.1 Certificate Signature Chains . . . . . . . . . . . . . . . . . . . . . . . . . . 1319.3.1.1 X.509: Certification Signature Chains . . . . . . . . . . . . . . . 1329.3.1.2 PGP Certificate Signature Chains . . . . . . . . . . . . . . . . . . 1349.3.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1369.4 Storing and Revoking Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1369.4.1 Key Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1369.4.2 Key Revocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379.5 Digital Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379.5.1 Classical Signatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389.5.2 Public Key Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1399.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Chapter 10 Cipher Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14510.1 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14510.1.1 Precomputing the Possible Messages . . . . . . . . . . . . . . . . . . . 14510.1.2 Misordered Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14610.1.3 Statistical Regularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14610.1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14710.2 Stream and Block Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14710.2.1 Stream Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14810.2.1.1 Synchronous Stream Ciphers . . . . . . . . . . . . . . . . . . . . . . 14810.2.1.2 Self-Synchronous Stream Ciphers. . . . . . . . . . . . . . . . . . . 15010.2.2 Block Ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15110.2.2.1 Multiple Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15210.3 Networks and Cryptography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15310.4 Example Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15610.4.1 Secure Electronic Mail: PEM . . . . . . . . . . . . . . . . . . . . . . . . . 15610.4.1.1 Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15710.4.1.2 Basic Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15810.4.1.3 Other Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15910.4.1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Bishop.book Page xi Tuesday, September 28, 2004 1:46 PMContentsxi10.4.2 Security at the Network Layer: IPsec. . . . . . . . . . . . . . . . . . . .16110.4.2.1 IPsec Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16210.4.2.2 Authentication Header Protocol . . . . . . . . . . . . . . . . . . . .16510.4.2.3 Encapsulating Security Payload Protocol . . . . . . . . . . . . .16610.4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16710.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16810.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16810.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169Chapter 11 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17111.1 Authentication Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17111.2 Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17211.2.1 Attacking a Password System . . . . . . . . . . . . . . . . . . . . . . . . .17411.2.2 Countering Password Guessing . . . . . . . . . . . . . . . . . . . . . . . .17511.2.2.1 Random Selection of Passwords . . . . . . . . . . . . . . . . . . . .17611.2.2.2 Pronounceable and Other Computer-GeneratedPasswords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17711.2.2.3 User Selection of Passwords . . . . . . . . . . . . . . . . . . . . . . .17811.2.2.4 Reusable Passwords and Dictionary Attacks . . . . . . . . . .18211.2.2.5 Guessing Through Authentication Functions . . . . . . . . . .18311.2.3 Password Aging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18411.3 Challenge-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18611.3.1 Pass Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18611.3.2 One-Time Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18711.3.3 Hardware-Supported Challenge-Response Procedures . . . . . .18811.3.4 Challenge-Response and Dictionary Attacks . . . . . . . . . . . . . .18911.4 Biometrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19011.4.1 Fingerprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19011.4.2 Voices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19111.4.3 Eyes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19111.4.4 Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19111.4.5 Keystrokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19211.4.6 Combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19211.4.7 Caution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19211.5 Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19311.6 Multiple Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19311.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19511.8 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19611.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
Bishop.book Page xii Tuesday, September 28, 2004 1:46 PMxiiContentsChapter 12 Design Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19912.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19912.2 Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20112.2.1 Principle of Least Privilege . . . . . . . . . . . . . . . . . . . . . . . . . . . 20112.2.2 Principle of Fail-Safe Defaults . . . . . . . . . . . . . . . . . . . . . . . . 20212.2.3 Principle of Economy of Mechanism . . . . . . . . . . . . . . . . . . . 20212.2.4 Principle of Complete Mediation . . . . . . . . . . . . . . . . . . . . . . 20312.2.5 Principle of Open Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20412.2.6 Principle of Separation of Privilege . . . . . . . . . . . . . . . . . . . . 20512.2.7 Principle of Least Common Mechanism . . . . . . . . . . . . . . . . . 20612.2.8 Principle of Psychological Acceptability . . . . . . . . . . . . . . . . 20612.3 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20712.4 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20812.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208Chapter 13 Representing Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21113.1 What Is Identity?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21113.2 Files and Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21213.3 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21313.4 Groups and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21413.5 Naming and Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21513.5.1 The Meaning of the Identity . . . . . . . . . . . . . . . . . . . . . . . . . . 21813.5.2 Trust. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22013.6 Identity on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22113.6.1 Host Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22113.6.1.1 Static and Dynamic Identifiers . . . . . . . . . . . . . . . . . . . . . 22213.6.1.2 Security Issues with the Domain Name Service . . . . . . . . 22413.6.2 State and Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22513.6.3 Anonymity on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22613.6.3.1 Anonymity for Better or Worse . . . . . . . . . . . . . . . . . . . . . 23013.7 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23313.8 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23313.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Chapter 14 Access Control Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23714.1 Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23714.1.1 Abbreviations of Access Control Lists . . . . . . . . . . . . . . . . . . 23814.1.2 Creation and Maintenance of Access Control Lists . . . . . . . . 24014.1.2.1 Which Subjects Can Modify an Object’s ACL? . . . . . . . . 24114.1.2.2 Do the ACLs Apply to a Privileged User? . . . . . . . . . . . . 24114.1.2.3 Does the ACL Support Groups and Wildcards? . . . . . . . . 242
Bishop.book Page xiii Tuesday, September 28, 2004 1:46 PMContents14.214.314.414.514.614.714.8xiii14.1.2.4 Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24214.1.2.5 ACLs and Default Permissions . . . . . . . . . . . . . . . . . . . . .24314.1.3 Revocation of Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24314.1.4 Example: Windows NT Access Control Lists . . . . . . . . . . . . .244Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24614.2.1 Implementation of Capabilities . . . . . . . . . . . . . . . . . . . . . . . .24714.2.2 Copying and Amplifying Capabilities . . . . . . . . . . . . . . . . . . .24814.2.3 Revocation of Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24914.2.4 Limits of Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25014.2.5 Comparison with Access Control Lists . . . . . . . . . . . . . . . . . .251Locks and Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25214.3.1 Type Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253Ring-Based Access Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255Propagated Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259Chapter 15 Information Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26115.1 Basics and Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26115.1.1 Information Flow Models and Mechanisms. . . . . . . . . . . . . . .26315.2 Compiler-Based Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26315.2.1 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26415.2.2 Program Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26615.2.2.1 Assignment Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . .26615.2.2.2 Compound Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . .26715.2.2.3 Conditional Statements . . . . . . . . . . . . . . . . . . . . . . . . . . .26715.2.2.4 Iterative Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26815.2.2.5 Goto Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26915.2.2.6 Procedure Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27215.2.3 Exceptions and Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . .27215.2.4 Concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27415.2.5 Soundness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27615.3 Execution-Based Mechanisms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27715.3.1 Fenton’s Data Mark Machine. . . . . . . . . . . . . . . . . . . . . . . . . .27815.3.2 Variable Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28015.4 Example Information Flow Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . .28115.4.1 Security Pipeline Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . .28215.4.2 Secure Network Server Mail Guard . . . . . . . . . . . . . . . . . . . . .28215.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28415.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28415.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
Bishop.book Page xiv Tuesday, September 28, 2004 1:46 PMxivContentsChapter 16 Confinement Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28716.1 The Confinement Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28716.2 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to Computer Security Matt Bishop Boston San Francisco New York Toronto Montreal London Munich Paris Madrid