270 likes | 364 Views
CS 378. Network Security and Privacy. Vitaly Shmatikov. http://www.cs.utexas.edu/~shmat/courses/cs378_spring05/. Course Personnel. Instructor: Vitaly Shmatikov Office: TAYLOR 4.115C Office hours: Thursday, 3:30-4:30pm (after class) Open door policy – don’t hesitate to stop by!
E N D
CS 378 Network Security and Privacy Vitaly Shmatikov http://www.cs.utexas.edu/~shmat/courses/cs378_spring05/
Course Personnel • Instructor: Vitaly Shmatikov • Office: TAYLOR 4.115C • Office hours: Thursday, 3:30-4:30pm (after class) • Open door policy – don’t hesitate to stop by! • TA: Justin Brickell • Office hours TBA • Watch the course website • Assignments, reading materials, lecture notes • This course is an experiment! • First UT course on network security
Prerequisites • Required: CS 372 (Operating Systems) • My course has a substantial implementation component • No waivers! • Recommended: Introduction to Computer Security; Cryptography; Computer Networks • Not much overlap with this course, but will help gain deeper understanding of security mechanisms and where they fit in the big picture • Recommended: exposure to C programming • Project will involve implementing buffer overflow exploits in C
Class Poll • Introduction to computer security? • Access control, Web security, sandboxing, firewalls? • Cryptography? • Public-key and symmetric encryption, digital signatures, cryptographic hash, random-number generators? • Computer networks? • Network architecture, application and transport layer protocols? • Programming in C?
Course Logistics • Lectures • Tuesday, Thursday 2-3:30pm • Five homeworks (40% of the grade) • One or two may involve implementation • Project (15% of the grade) • Involves a fair bit of implementation • Security is a contact sport! • Midterm (20% of the grade) • Final (25% of the grade) • UTCS Code of Conduct will be strictly enforced
Course Materials • Textbook: William Stallings.“Network Security Essentials: Applications and Standards.” • Focuses on details of deployed security systems • Lectures will focus on “big-picture” principles and ideas of network attack and defense • Attend lectures! Lectures will cover some material that is not in the textbook – and you will be tested on it! • Occasional assigned readings • Start reading “Smashing the Stack For Fun and Profit” by Aleph One (from Phrack hacker magazine) • Understanding it will be essential for your project
Other Helpful Books • Ross Anderson.“Security Engineering”. • Focuses on design principles for secure systems • Wide range of entertaining examples: banking, nuclear command and control, burglar alarms • Ross Anderson is famous for hacking tamper-resistant hardware • Kaufman, Perlman, Speciner. “Network Security: Private Communication in a Public World”. • Comprehensive network security textbook
Main Themes of the Course • Vulnerabilities of networked applications • Worms, denial of service attacks, malicious code arriving from the network, attacks on infrastructure • Defense technologies • Protection of information in transit: cryptography, application- and transport-layer security protocols • Protection of networked applications: firewalls and intrusion detection • Study a few deployed systems in detail: from design principles to gory implementation details • Kerberos, SSL/TLS, IPSec
What This Course is Not About • Not a comprehensive course on computer security • Not a course on ethical, legal or economic issues • No file sharing, DMCA, free speech issues • Only cursory overview of cryptography • Take CS 346 for deeper understanding • Only some issues in systems security • No access control, OS security, secure hardware • Will cover buffer overflow: #1 cause of remote penetration attacks • No language-based security
https:// Motivation
Excerpt From “General Terms of Use” YOU ACKNOWLEDGE THAT NEITHER WELLS FARGO, ITS AFFILIATES NOR ANY OF THEIR RESPECTIVE EMPLOYEES, AGENTS, THIRD PARTY CONTENT PROVIDERS OR LICENSORS WARRANT THAT THE SERVICES OR THE SITE WILL BE UNINTERRUPTED OR ERROR FREE; NOR DO THEY MAKE ANY WARRANTY AS TO THE RESULTS THAT MAY BE OBTAINED FROM USE OF THE SERVICES OR THE SITE, OR AS TO THE TIMELINESS, SEQUENCE, ACCURACY, RELIABILITY, COMPLETENESS OR CONTENT OF ANY INFORMATION, SERVICE, OR MERCHANDISE PROVIDED THROUGH THE SERVICES AND THE SITE.
“Privacy and Security” “As a Wells Fargo customer, your privacy and security always come first.” • Privacy policy for individuals • Online privacy policy • Our commitment to online security • Online and computer security tips • How we protect you • General terms of use
What Do You Think? What do you think should be included in “privacy and security” for an e-commerce website? ?
Desirable Security Properties • Authenticity • Confidentiality • Integrity • Availability • Non-repudiation • Freshness • Access control • Privacy of collected information • Integrity of routing and DNS infrastructure
Syllabus (1): Security Mechanisms • Basics of cryptography • Symmetric and public-key encryption, certificates, cryptographic hash functions, pseudo-random generators • Authentication and key establishment • Case study: Kerberos • IP security • Case study: IPSec protocol suite • Web security • Case study: SSL/TLS (Transport Layer Security)
Syllabus (2): Attacks and Defenses • Buffer overflow attacks • Network attacks • Distributed denial of service • Worms and viruses • Attacks on routing infrastructure • Defense tools • Firewalls and intrusion detection systems • Wireless security • Privacy-enhancing technologies
Attack on Confidentiality • Confidentiality is concealment of information Eavesdropping, packet sniffing, illegal copying network
Attack on Integrity • Integrity is prevention of unauthorized changes Intercept messages, tamper, release again network
Attack on Authenticity • Authenticity is identification and assurance of origin of information Unauthorized assumption of another’s identity network
Attack on Availability • Availability is ability to use information or resources desired Overwhelm or crash servers, disrupt infrastructure network
Sendmail, FTP, NFS bugs, chosen-protocol and version-rollback attacks RPC worms, portmapper exploits SYN flooding, RIP attacks, sequence number prediction IP smurfing and other address spoofing attacks WEP attacks Network Stack email, Web, NFS application presentation RPC session TCP transport IP network 802.11 data link physical Only as secure as the single weakest layer…
Network Defenses Implementations Firewalls, intrusion detection… Systems Protocols and policies SSL, IPSec, access control… Blueprints Cryptographic primitives Building blocks RSA, DSS, SHA-1… …all defense mechanisms must work correctly and securely
Correctness versus Security • Program or system correctness: program satisfies specification • For reasonable input, get reasonable output • Program or system security: program properties preserved in face of attack • For unreasonable input, output not completely disastrous • Main difference: active interference from adversary • Modular design may increase vulnerability • Abstraction is very difficult to achieve in security: what if the adversary operates below your level of abstraction?
Bad News • Security often not a primary consideration • Performance and usability take precedence • Feature-rich systems may be poorly understood • Higher-level protocols make mistaken assumptions • Implementations are buggy • Buffer overflows are the “vulnerability of the decade” • Networks are more open and accessible than ever • Increased exposure, easier to cover tracks • Many attacks are not even technical in nature • Phishing, impersonation, etc.
Better News • There are a lot of defense mechanisms • We’ll study some, but by no means all, in this course • It’s important to understand their limitations • “If you think cryptography will solve your problem, then you don’t understand cryptography… and you don’t understand your problem” -- Bruce Schneier • Many security holes are based on misunderstanding • Security awareness and user “buy-in” help • Other important factors: usability and economics
Reading Assignment • Stallings, sections 1.1-1.5 • Start reading buffer overflow materials on the website