AN INTRODUCTION TO COMPUTER SECURITY Information is a commodity: its purchase and sale is central to the free enterprise system Richard A. Kemmerer Computer Science Department University of California Santa Barbara, California, U.S.A. Protection Mechanisms are like putting a lock on the door of a merchant's warehouse Email: kemm@cs.ucsb.edu CS177 2004 Overview of Security 1 CS177 2004 Overview of Security 2 How bad is it? September 2001 - Nimbda worm spread nationwide in less than an hour and attacked 86,000 computers The pervasive use of computer and network technologies in all walks of life has turned cybersecurity issues into (inter)national security issues CS177 2004 Overview of Security January 2003 – Sapphire/Slammer SQL worm was able to spread nationwide in less than 10 minutes, doubling in size every 8.5 seconds. At its peak (3 minutes after its release) it scanned at over 55 million IP addresses per second, infecting 75,000 victims 3 CS177 2004 Overview of Security How bad is it? 4 Why is it so bad? Computers are everywhere Internet has become a mission-critical infrastructure for business, government, and financial institutions Today’s networks are very heterogeneous, highly critical applications run side by side with noncritical systems Cyber attacks against non-critical services may produce unforeseen side-effects of devastating proportions Overview of Security CS177 2004 5 Overview of Security CS177 2004 6 1 Why is it so bad? Why is it so bad? Home Users Increase Vulnerabilities Computer security is reactive Today most homes are connected, particularly with the advent of DSL and cable modems Most home users: – usually reacting to latest attack – offense is easier than defense Security is expensive both in dollars and in time There is not now, and never will be, a system with perfect security – are unaware of vulnerabilities – don’t use firewalls – think they have nothing to hide or don’t care if others get their data – don’t realize their systems can serve as jump off points for other attacks (zombies) CS177 2004 Overview of Security 7 CS177 2004 Overview of Security 8 Security Incidents Security Vulnerabilities Incidents 150000 5000 Vulnerabilities 4000 100000 3000 2000 50000 1000 0 In c ide nt s 0 19 8 8 19 8 9 19 9 0 19 9 1 19 9 2 19 9 3 19 9 4 19 9 5 19 9 6 19 9 7 19 9 8 19 9 9 2000 2001 2002 20 03 6 13 2 252 406 773 13 3 4 2340 2 4 12 2573 2 13 4 3734 985 9 2 17 5 6 52658 82 094 13 7 , 5 2 Overview of Security CS177 2004 9 Who are the attackers? CS177 2004 CS177 2004 10 Who are the attackers? Script kiddies download malicious software from hacker web sites Hackers trying to prove to their peers that they can compromise a specific system Insiders are legitimate system users who access data that they have no rights to access Organizational level attackers use the full resources of the organization to attack Overview of Security Overview of Security After September 11, 2001 the idea of national state level cyber attacks being carried out by terrorists became a big concern 11 Overview of Security CS177 2004 12 2 Security Outline Examples of known security threats The protection of resources (including data and programs) from accidental or malicious modification, destruction, or disclosure Classification of security threats Security policies Protection mechanisms Techniques for assuring system security CS177 2004 Overview of Security 13 CS177 2004 Overview of Security Most Common Threat Password Guessing 14 Spoofing Duping a user into believing that he is talking to the system and revealing information (e.g., password) – More of a problem with the availability of personal computers and fast connections – Exhaustive search for passwords – Lists of commonly used passwords – Distributed default passwords CS177 2004 Overview of Security 15 CS177 2004 Overview of Security Browsing 16 Trojan Horse A program that does more than it is supposed to do After an intruder has gained access to a system he may peruse any files that are available for reading and glean useful information for further penetrations – More sophisticated threat – A text editor that sets all of your files to be publicly readable in addition to performing editing functions – Often done by legitimate users – Every unverified program is suspect Overview of Security CS177 2004 17 Overview of Security CS177 2004 18 3 Legal User Access Right Trap Door Restricted Data A system modification installed by a penetrator that opens the system on command Call Misuse – May be introduced by a system developer Trojan Horse – Bogus system engineering change notice Borrowed Program CS177 2004 Overview of Security 19 CS177 2004 Overview of Security 20 Examples Virus Amiga Virus Resident on boot block IBM Christmas Virus A program that can infect other programs by modifying them to include a possibly evolved copy of itself Names and netlog files Denial of service Census Bureau County and City Data Book CD-ROM WWW Pages Containing Applets MIME-encoded Mail Code Red Worm Blaster Sasser Overview of Security CS177 2004 21 Statistical Database CS177 2004 22 Inference of Sensitive Data From Nonsensitive Information A statistic is sensitive if it discloses confidential information about some individual, organization, or company Can detect information about an individual by querying about a group where the individual is the only member in the group or the only one not in the group Nonsensitive statistics may lead to the disclosure of sensitive data Overview of Security Overview of Security CS177 2004 For example: If Smith is the only foreign worker, one can deduce information about Smith by querying about non-foreigners 23 Overview of Security CS177 2004 24 4 Example Database Name Sex Major Class SAT GP Bruno Alley Lasta Gise Kies Costo Kraig Good Islay Farel Pfau Ghezzi Boyer CS EE EE CS BIO EE CS PSY CS BIO PSY EE CS F F M F M M M F M F F M M 1998 1998 1996 1996 1997 1995 1996 1997 1995 1997 1995 1996 1997 600 520 630 800 500 580 700 580 600 750 500 600 650 3.2 2.5 3.5 4.0 2.2 3.0 3.8 2.8 3.2 3.8 2.5 3.0 3.5 CS177 2004 Overview of Security Why Computer Crime is not Reported – A successful attack reveals vulnerabilities to other potential intruders – Adverse publicity discourages new clients and disappoints shareholders – Often viewed as a harmless prank 25 CS177 2004 Overview of Security THREAT 26 Security Confidentiality - ensures that sensitive information is not disclosed to unauthorized recipients CLASSIFICATION Integrity - ensures that the data and programs are modified or destroyed only in a specified and authorized way Availability - ensures that the resources of the system will be usable whenever they are needed by an authorized user Overview of Security CS177 2004 27 Computer Security Threats Overview of Security CS177 2004 28 Browsing Browsing Searching through main and secondary memory for residue information Leakage Inference Leakage Tampering Transmission of data to an unauthorized user from a process that is allowed to access the data Accidental destruction Inference Masquerading Deducing confidential data about an individual by correlating unrelated statistics about groups of individuals Denial of services Overview of Security CS177 2004 29 Overview of Security CS177 2004 30 5 Masquerading Tampering Gaining access to the system under another user's account Making unauthorized changes to the value of information Denial of Service Prevention of authorized access to computer resources or the delaying of time-critical operations Accidental Data Destruction Unintentional modification of information CS177 2004 Overview of Security 31 CS177 2004 Overview of Security Bishop Threat Definitions 32 Cerias Definitions Vulnerability is a flaw in a system that allows a policy to be violated Threat is a potential violation of security Attacks are those actions which could cause a threat to occur Exploit is the act of exercising a vulnerability Also used to refer to an actual program, binary or script that automates an attack Attackers are those who execute an attack Exposure is an information leak that may assist an attacker CS177 2004 Overview of Security 33 CS177 2004 Overview of Security 34 Access Control Security Policy A means of limiting a user's access to only those entities that the policy determines should be accessed A security policy is a statement of what is and what is not allowed Subjects - Active entities in the system (e.g. , users, processes, programs) Objects - Resources or passive entities in the system (e.g. , files, programs, devices) May be informal (English statements) or formal (mathematical logic statements) Access Modes - Read, write, execute, append, update Access Control Mechanisms - Determine for each subject what access modes it has for each object Overview of Security CS177 2004 35 Overview of Security CS177 2004 36 6 Mandatory Control Policy Access Control – Each subject has an access class (authorization) Discretionary Access Control The owner specifies to the system what other users can access his files (Access is at the user's discretion) – Each object has an access class (classification) – Access class made up of * level * category set – Comparison of access classes Mandatory Access Control The system determines whether a user can access a file based on the fixed security attributes of the user and of the file (Non-discretionary access) Overview of Security CS177 2004 * equal (=) * less than (<) * greater than (>) * not comparable (NC) 37 CS177 2004 Overview of Security Example Mandatory Controls 38 Access Rules Simple security property – Three security levels Unclassified, Confidential, Secret Read permission if: Access class (subject) >= Access class (object) – Three security categories Crypto, Nuclear, Intelligence *– Property Write permission if: Comparisons Access class (subject) <= Access class (object) SECRET/ {CRYPTO} = SECRET/ {CRYPTO} SECRET/ {CRYPTO} > CONFIDENTIAL/ {CRYPTO} SECRET/ {CRYPTO} < SECRET/ {CRYPTO, NUCLEAR} SECRET/ {CRYPTO} NC SECRET/ {NUCLEAR} Overview of Security CS177 2004 39 Approaches to Security CS177 2004 40 Procedural Approaches • Procedural • Functions and Mechanism • Assurance Overview of Security Overview of Security Prescribes appropriate behavior for a user interacting with the system – periods processing – guidelines for managing passwords – appropriate handling of removable storage devices CS177 2004 41 Overview of Security CS177 2004 42 7 Guidelines for Choosing Passwords Periods Processing – Long (8 character minimum) – Non-obvious Split the day into periods and run different classification jobs in each period – Not written in an obvious place – Changed at appropriate intervals – Not shared – Not stored Many guidelines can be enforced by the system Overview of Security CS177 2004 43 Overview of Security CS177 2004 44 Non-Obvious Passwords Appropriate Handling of Hardware NOT: First name Management of removable media Disposal of hardware Middle name Last name – study showed that confidential information is often left in hardware to be salvaged (IEEE Security & Privacy magazine, January 2003) Spouse's name Login name Null Name backwards Name repeated twice Overview of Security CS177 2004 45 Functions and Mechanisms Overview of Security CS177 2004 46 Authentication Mechanisms Enforce security policy Authenticates users at login time Examples are the 3As – Authentication: assures that a particular user is who he/she claims to be – Secure attention key – Access control: a means of limiting a user's access to only those entities that the policy determines should be accessed – One way functions – Audit: a form of transaction record keeping. The data collected is called an audit log Overview of Security CS177 2004 47 Overview of Security CS177 2004 48 8 Secure Attention Key One-Way Function – Foils attempts at spoofing A function whose inverse is computationally infeasible to determine – Guarantees trusted path to the system – Enciphered passwords are stored in a password file – User must use it – At login time password presented by the user is enciphered and compared to what is in the password file CS177 2004 Overview of Security 49 Reference Monitor SUBJECTS: REFERENCE MONITOR 50 Security Kernel Provides mediation of all accesses to assure that the access control policy is enforced USERS, PROCESSES, JOB STREAMS, ... CS177 2004 Overview of Security USERS OBJECTS: FILES, PROGRAMS, TAPES, TERMINALS APPLICATIONS SUPER. AUTHORIZATIONS: USER ACCESS, NEED TO KNOW, OBJECT SENSITIVITY, .... KERNEL Reference Monitor must be - Invoked on every reference - Tamperproof - Subject to analysis/test whose completeness can be assured Overview of Security CS177 2004 TRUSTED SUBJECTS TRUSTED USERS 51 CS177 2004 Overview of Security 52 ASSURANCE TECHNIQUES Kernel must handle parts of the operating system that manage resources shared by multiple users Supervisor contains functions that provide useful common facilities but do not manage anything shared among users Trusted subjects are used to extend the security policy – May perform actions not permitted by the access checks – Must be subject to analysis and test just like the security kernel Overview of Security CS177 2004 53 Overview of Security CS177 2004 54 9 Assurance Techniques Penetration Analysis Uses a collection of known flaws, generalizes the flaws, and tries to apply them to the system being analyzed Penetration analysis Covert channel analysis – Penetration team known as "Tiger Team" Formal verification – Demonstrates the presence not the absence of protection failures CS177 2004 Overview of Security 55 CS177 2004 Overview of Security Covert Channels Two Types of Covert Channels Security analysis of both overt and covert channels is necessary Storage channels – the sender alters the value of a data item and the receiver detects and interprets the altered value to receive information covertly Overt channel – Uses the system's protected data objects to transfer information Timing channels – the sender modulates the amount of time required for the receiver to perform a task or detect a change in an attribute, and the receiver interprets the delay or lack of delay to receive information covertly Covert channel – Uses entities not normally viewed as a data object to transfer information CS177 2004 Overview of Security 57 CS177 2004 Overview of Security 56 58 Formal Verification Techniques Models Requirements Informal Review Access Control Considers subjects and objects requirements: Formal Model 1) If subject s has read access to object o, then Design Verification Security _level(s) >= Security_level(o) Formal Specification 2) If subject s has write access to object o, then Code Verification Security_level(s) <= Security_level(o) HOL Language Implementation Overview of Security CS177 2004 59 Overview of Security CS177 2004 60 10 Formal Specifications Formal Specifications Algebraic State Machine Relates results of sequences of operations Relates values of variables before and after each state transition E.G. E.G. Exchange (Exchange(pair)) = pair Exchange (x,y) First (Exchange(pair)) = Last (pair) New_ value(x) = y & New_value(y) = x Overview of Security Last (Exchange(pair)) = First (pair) CS177 2004 61 Design Verification Assumes: 62 Surveillance to collect information about a particular target host or network Remote exploitation of the vulnerabilities associated with services identified in previous step Escalation of the attacker’s privileges Extend the compromise to neighboring parts of the network Model is appropriate Specification is complete Code Verification Consistency between specification and the implementation Assumes: Specification is appropriate Implementation language is correctly defined CS177 2004 CS177 2004 Cyber Attacks are Usually a Multi-Step Process Consistency between the model and the specification Overview of Security Overview of Security 63 What About Privacy? Overview of Security CS177 2004 64 Other Privacy Concerns Confidentiality - ensures that sensitive information is not disclosed to unauthorized recipients Privacy is more than just confidentiality Integrity - ensures that the data and programs are modified or destroyed only in a specified and authorized way Availability - ensures that the resources of the system will be usable whenever they are needed by an authorized user Privacy advocates consider it important to be able to verify the integrity of personal information, especially when that information can be used against them (e.g., credit reports) Privacy - ensures that only the information that an individual wishes to disclose is disclosed Overview of Security CS177 2004 65 Overview of Security CS177 2004 66 11