Why Computer Security

110 Views

Download Presentation
## Why Computer Security

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Why Computer Security**• The past decade has seen an explosion in the concern for the security of information • Malicious codes (viruses, worms, etc.) caused over $28 billion in economic losses in 2003 • Security specialists markets are expanding ! • “Salary Premiums for Security Certifications Increasing” (Computerworld 2007) • Up to 15% more salary • Demand is being driven not only by compliance and government regulation, but also by customers who are "demanding more security" from companies 1**Why Computer Security (cont’d)**• Internet attacks are increasing in frequency, severity and sophistication • Denial of service (DoS) attacks • Cost $1.2 billion in 2000 • 1999 CSI/FBI survey 32% of respondents detected DoS attacks directed to their systems • Thousands of attacks per week in 2001 • Yahoo, Amazon, eBay, Microsoft, White House, etc., attacked 2**Why Computer Security (cont’d)**• Virus and worms faster and powerful • Cause over $28 billion in economic losses in 2003, growing to over $75 billion in economic losses by 2007. • Code Red (2001): 13 hours infected >360K machines - $2.4 billion loss • Slammer (2003): 15 minutes infected > 75K machines - $1 billion loss • Spams, phishing … • New Internet security landscape emerging: BOTNETS ! • Conficker/Downadup (2008): infected > 10M machines • MSFT offering $250K reward 3**Outline**• History of Security and Definitions • Overview of Cryptography • Symmetric Cipher • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 4**The History of Computing**• For a long time, security was largely ignored in the community • The computer industry was in “survival mode”, struggling to overcome technological and economic hurdles • As a result, a lot of comers were cut and many compromises made • There was lots of theory, and even examples of systems built with very good security, but were largely ignored or unsuccessful • E.g., ADA language vs. C (powerful and easy to use) 5**Computing Today is Very Different**• Computers today are far from “survival mode” • Performance is abundant and the cost is very cheap • As a result, computers now ubiquitous at every facet of society • Internet • Computers are all connected and interdependent • This codependency magnifies the effects of any failures 6**Biological Analogy**• Computing today is very homogeneous. • A single architecture and a handful of OS dominates • In biology, homogeneous populations are in danger • A single disease or virus can wipe them out overnight because they all share the same weakness • The disease only needs a vector to travel among hosts • Computers are like the animals, the Internet provides the vector. • It is like having only one kind of cow in the world, and having them drink from one single pool of water! 7**The Flash Worm**• Slammer worm infected 75,000 machines in <15 minutes • A properly designed worm, flash worm, can take less than 1 second to compromise 1 million vulnerable machines in the Internet • The Top Speed of Flash Worms. S. Staniford, D. Moore, V. Paxson and N. Weaver, ACM WORM Workshop 2004. • Exploit many vectors such as P2P file sharing, intelligent scanning, hitlists, etc. 9**The Definition of Computer Security**• Security is a state of well-being of information and infrastructures in which the possibility of successful yet undetected theft, tampering, and disruption of information and services is kept low or tolerable • Security rests on confidentiality, authenticity, integrity, and availability 10**The Basic Components**• Confidentiality is the concealment of information or resources. • E.g., only sender, intended receiver should “understand” message contents • Authenticity is the identification and assurance of the origin of information. • Integrity refers to the trustworthiness of data or resources in terms of preventing improper and unauthorized changes. • Availability refers to the ability to use the information or resource desired. 11**Security Threats and Attacks**• A threat/vulnerability is a potential violation of security. • Flaws in design, implementation, and operation. • An attack is any action that violates security. • Active adversary • An attack has an implicit concept of “intent” • Router mis-configuration or server crash can also cause loss of availability, but they are not attacks 12**Friends and enemies: Alice, Bob, Trudy**• well-known in network security world • Bob, Alice (lovers!) want to communicate “securely” • Trudy (intruder) may intercept, delete, add messages Alice Bob data, control messages channel secure sender secure receiver data data Trudy 13**Eavesdropping - Message Interception (Attack on**Confidentiality) • Unauthorized access to information • Packet sniffers and wiretappers • Illicit copying of files and programs B A Eavesdropper 14**Integrity Attack - Tampering With Messages**• Stop the flow of the message • Delay and optionally modify the message • Release the message again B A Perpetrator 15**Authenticity Attack - Fabrication**• Unauthorized assumption of other’s identity • Generate and distribute objects under this identity B A Masquerader: from A 16**B**A Attack on Availability • Destroy hardware (cutting fiber) or software • Modify software in a subtle way (alias commands) • Corrupt packets in transit • Blatant denial of service (DoS): • Crashing the server • Overwhelm the server (use up its resource) 17**Classify Security Attacks as**• Passive attacks - eavesdropping on, or monitoring of, transmissions to: • obtain message contents, or • monitor traffic flows • Active attacks – modification of data stream to: • masquerade of one entity as some other • replay previous messages • modify messages in transit • denial of service 18**Outline**• Overview of Cryptography • Symmetric Cipher • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 19**Basic Terminology**• plaintext - the original message • ciphertext - the coded message • cipher - algorithm for transforming plaintext to ciphertext • key - info used in cipher known only to sender/receiver • encipher (encrypt) - converting plaintext to ciphertext • decipher (decrypt) - recovering ciphertext from plaintext • cryptography - study of encryption principles/methods • cryptanalysis (codebreaking) - the study of principles/ methods of deciphering ciphertext without knowing key • cryptology - the field of both cryptography and cryptanalysis 20**Classification of Cryptography**• Number of keys used • Hash functions: no key • Secret key cryptography: one key • Public key cryptography: two keys - public, private • Type of encryption operations used • substitution / transposition / product • Way in which plaintext is processed • block / stream 21**Secret Key vs. Secret Algorithm**• Secret algorithm: additional hurdle • Hard to keep secret if used widely: • Reverse engineering, social engineering • Commercial: published • Wide review, trust • Military: avoid giving enemy good ideas 22**Unconditional vs. Computational Security**• Unconditional security • No matter how much computer power is available, the cipher cannot be broken • The ciphertext provides insufficient information to uniquely determine the corresponding plaintext • Computational security • The cost of breaking the cipher exceeds the value of the encrypted info • The time required to break the cipher exceeds the useful lifetime of the info 23**Brute Force Search**• Always possible to simply try every key • Most basic attack, proportional to key size • Assume either know / recognise plaintext 24**Outline**• Overview of Cryptography • Classical Symmetric Cipher • Substitution Cipher • Transposition Cipher • Modern Symmetric Ciphers (DES and AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 25**Requirements**• Two requirements for secure use of symmetric encryption: • a strong encryption algorithm • a secret key known only to sender / receiver Y = EK(X) X = DK(Y) • Assume encryption algorithm is known • Implies a secure channel to distribute key 27**Classical Substitution Ciphers**• Letters of plaintext are replaced by other letters or by numbers or symbols • Plaintext is viewed as a sequence of bits, then substitution replaces plaintext bit patterns with ciphertext bit patterns 28**Caesar Cipher**• Earliest known substitution cipher • Replaces each letter by 3rd letter on • Example: meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB 29**Caesar Cipher**• Define transformation as: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C • Mathematically give each letter a number a b c d e f g h i j k l m 0 1 2 3 4 5 6 7 8 9 10 11 12 n o p q r s t u v w x y Z 13 14 15 16 17 18 19 20 21 22 23 24 25 • Then have Caesar cipher as: C = E(p) = (p + k) mod (26) p = D(C) = (C – k) mod (26) 30**Cryptanalysis of Caesar Cipher**• Only have 25 possible ciphers • A maps to B,..Z • Given ciphertext, just try all shifts of letters • Do need to recognize when have plaintext • E.g., break ciphertext "GCUA VQ DTGCM“ • How to make it harder? 31**Monoalphabetic Cipher**• Rather than just shifting the alphabet • Could shuffle (jumble) the letters arbitrarily • Each plaintext letter maps to a different random ciphertext letter • Key is 26 letters long Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA 32**Monoalphabetic Cipher Security**• Now have a total of 26! = 4 x 1026 keys • Is that secure? • Problem is language characteristics • Human languages are redundant • Letters are not equally commonly used 33**English Letter Frequencies**Note that all human languages have varying letter frequencies, though the number of letters and their frequencies varies. 34**Example Cryptanalysis**• Given ciphertext: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ • Count relative letter frequencies (see text) • Guess P & Z are e and t • Guess ZW is th and hence ZWP is the • Proceeding with trial and error finally get: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow 35**Transposition Ciphers**• Now consider classical transposition or permutation ciphers • These hide the message by rearranging the letter order, without altering the actual letters used • Any shortcut for breaking it? • Can recognise these since have the same frequency distribution as the original text 36**Rail Fence Cipher**• Write message letters out diagonally over a number of rows • Then read off cipher row by row • E.g., write message out as: m e m a t r h t g p r y e t e f e t e o a a t • Giving ciphertext MEMATRHTGPRYETEFETEOAAT 37**Product Ciphers**• Ciphers using substitutions or transpositions are not secure because of language characteristics • Hence consider using several ciphers in succession to make harder, but: • Two substitutions make another substitution • Two transpositions make a more complex transposition • But a substitution followed by a transposition makes a new much harder cipher • This is bridge from classical to modern ciphers 38**Rotor Machines**• Before modern ciphers, rotor machines were most common complex ciphers in use • Widely used in WW2 • German Enigma, Allied Hagelin, Japanese Purple • Implemented a very complex, varying substitution cipher 39**Outline**• Overview of Cryptography • Classical Symmetric Cipher • Modern Symmetric Ciphers (DES/AES) • Asymmetric Cipher • One-way Hash Functions and Message Digest 40**Block vs Stream Ciphers**• Block ciphers process messages in into blocks, each of which is then en/decrypted • Like a substitution on very big characters • 64-bits or more • Stream ciphers process messages a bit or byte at a time when en/decrypting • Many current ciphers are block ciphers, one of the most widely used types of cryptographic algorithms 41**Block Cipher Principles**• Most symmetric block ciphers are based on a Feistel Cipher Structure • Block ciphers look like an extremely large substitution • Would need table of 264 entries for a 64-bit block • Instead create from smaller building blocks • Using idea of a product cipher 42**Substitution-Permutation Ciphers**• Substitution-permutation (S-P) networks [Shannon, 1949] • modern substitution-transposition product cipher • These form the basis of modern block ciphers • S-P networks are based on the two primitive cryptographic operations • substitution (S-box) • permutation (P-box) • provide confusion and diffusion of message 44**Feistel Cipher Structure**• Feistel cipher implements Shannon’s S-P network concept • based on invertible product cipher • Process through multiple rounds which • partitions input block into two halves • perform a substitution on left data half • based on round function of right half & subkey • then have permutation swapping halves 45**DES (Data Encryption Standard)**• Published in 1977, standardized in 1979. • Key: 64 bit quantity=8-bit parity+56-bit key • Every 8th bit is a parity bit. • 64 bit input, 64 bit output. 64 bit M 64 bit C DES Encryption 56 bits 48**DES Top View**56-bit Key 64-bit Input 48-bit K1 Generate keys Permutation Initial Permutation 48-bit K1 Round 1 48-bit K2 Round 2 …... 48-bit K16 Round 16 Swap 32-bit halves Swap Final Permutation Permutation 64-bit Output 49**DES Summary**• Simple, easy to implement: • Hardware/gigabits/second, software/megabits/second • 56-bit key DES may be acceptable for non-critical applications but triple DES (DES3) should be secure for most applications today • Supports several operation modes (ECB CBC, OFB, CFB) for different applications 50