Introduction to Computer SecurityMichael Goodrich Roberto TamassiaFirst Edition
Pearson Education LimitedEdinburgh GateHarlowEssex CM20 2JEEngland and Associated Companies throughout the worldVisit us on the World Wide Web at: www.pearsoned.co.uk© Pearson Education Limited 2014 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 either the prior written permission of the publisher or a licence permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, Saffron House, 6–10 Kirby Street, London EC1N 8TS.All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affi liation with or endorsement of this book by such owners. British Library Cataloguing-in-Publication DataA catalogue record for this book is available from the British Library Printed in the United States of AmericaISBN 10: 1-292-02540-9ISBN 13: 978-1-292-02540-7ISBN 10: 1-292-02540-9ISBN 13: 978-1-292-02540-7
Table of ContentsPEARSON CUSTOM LIBRARY I1. Introduction11Michael T. Goodrich/Roberto Tamassia2. Physical Security5555Michael T. Goodrich/Roberto Tamassia3. Operating Systems Security113113Michael T. Goodrich/Roberto Tamassia4. Malware173173Michael T. Goodrich/Roberto Tamassia5. Network Security I221221Michael T. Goodrich/Roberto Tamassia6. Network Security II269269Michael T. Goodrich/Roberto Tamassia7. Web Security327327Michael T. Goodrich/Roberto Tamassia8. Cryptography387387Michael T. Goodrich/Roberto Tamassia9. Distributed-Applications Security445445Michael T. Goodrich/Roberto Tamassia10. Bibliography499499Michael T. Goodrich/Roberto Tamassia505505Index
This page intentionally left blank
IntroductionContents1FundamentalConcepts1.1Confidentiality,Integrity,andAvailability1.2Assurance,Authenticity,andAnonymity1.3ThreatsandAttacks1.4SecurityPrinciples2AccessControlModels2.1AccessControlMatrices2.2AccessControlLists2.3Capabilities2.4Role-BasedAccessControl3CryptographicConcepts3.1Encryption3.2DigitalSignatures3.3SimpleAttacksonCryptosystems3.4CryptographicHashFunctions3.5DigitalCertificates4ImplementationandUsabilityIssues4.1EfficiencyandUsability4.2Passwords4.3SocialEngineering4.4VulnerabilitiesfromProgrammingErrors5ExercisesFromChapter1ofIntroductionFirstEdition,MichaelT.Goodrich,RobertoTamassia. Copyright 2011byPearsonEducation,Inc.PublishedbyPearsonAddison-Wesley.Allrightsreserved.toComputerScience,1
1FundamentalConceptsInthischapter,weintroduceseveralfundamentalconceptsincomputersecurity.Topicsrangefromtheoreticalcryptographicprimitives,suchasdigitalsignatures,topracticalusabilityissues,suchassocialengineering.Existingcomputersystemsmaycontainlegacyfeaturesofearlierver-sionsdatingbacktobygoneeras,suchaswhentheInternetwasthesoledomainofacademicresearchersandmilitarylabs.Forinstance,assump-tionsoftrustandlackofmaliciousbehavioramongnetwork-connectedmachines,whichmayhavebeenjustifiableintheearlyeighties,aresurpris-inglystillpresentinthewaytheInternetoperatestoday.SuchassumptionshaveledtothegrowthofInternet-basedcrime.Animportantaspectofcomputersecurityistheidentificationofvulner-abilitiesincomputersystems,whichcan,forinstance,allowamalicioususertogainaccesstoprivatedataandevenassumefullcontrolofamachine.Vulnerabilitiesenableavarietyofattacks.Analysisoftheseattackscandeterminetheseverityofdamagethatcanbeinflictedandthelikelihoodthattheattackcanbefurtherreplicated.Actionsthatneedtobetakentodefendagainstattacksincludeidentifyingcompromisedmachines,removingthemaliciouscode,andpatchingsystemstoeliminatethevulnerability.Inordertohaveasecurecomputersystem,soundmodelsareafirststep.Inparticular,itisimportanttodefinethesecuritypropertiesthatmustbeassured,anticipatethetypesofattacksthatcouldbelaunched,anddevelopspecificdefenses.Thedesignshouldalsotakeintoaccountusabilityissues.Indeed,securitymeasuresthataredifficulttounderstandandinconvenienttofollowwilllikelyleadtofailureofadoption.Next,thehardwareandsoftwareimplementationofasystemneedstoberigorouslytestedtodetectprogrammingerrorsthatintroducevulnerabilities.Oncethesystemisdeployed,proceduresshouldbeputinplacetomonitorthebehaviorofthesystem,detectsecuritybreaches,andreacttothem.Finally,security-relatedpatchestothesystemmustbeappliedassoonastheybecomeavailable.Computersecurityconceptsoftenarebetterunderstoodbylookingatissuesinabroadercontext.Forthisreason,thistextalsoincludesdiscussionsofthesecurityofvariousphysicalandreal-worldsystems,includinglocks,ATMmachines,andpassengerscreeningatairports.Introduction2
1.1Confidentiality,Integrity,andAvailabilityComputersandnetworksarebeingmisusedatagrowingrate.Spam,phishing,andcomputervirusesarebecomingmultibillion-dollarproblems,asisidentitytheft,whichposesaseriousthreattothepersonalfinancesandcreditratingsofusers,andcreatesliabilitiesforcorporations.Thus,thereisagrowingneedforbroaderknowledgeofcomputersecurityinsocietyaswellasincreasedexpertiseamonginformationtechnologypro-fessionals.Societyneedsmoresecurity-educatedcomputerprofessionals,whocansuccessfullydefendagainstandpreventcomputerattacks,aswellassecurity-educatedcomputerusers,whocansafelymanagetheirowninformationandthesystemstheyuse.Oneofthefirstthingsweneedtodoinatextoncomputersecurityistodefineourconceptsandterms.Classically,informationsecurityhasbeendefinedintermsoftheacronymC.I.A.,whichinthiscasestandsforconfidentiality,integrity,andavailability.(SeeFigure1.)IntegrityConfidentialityAvailabilityFigure1:TheC.I.A.concepts:confidentiality,integrity,andavailability.© Fotolia, LLC–Royalty Free© Andresr/Shutterstock© Yuri Arcurs/Fotolia, LLC–Royalty FreeIntroduction3