Courses/Computer Science/CPSC 526.W2015/Lecture Notes
Lecture Notes
Contents
- 1 Scribe Notes
- 2 Week 1
- 3 Week 2: The Untrustworthy Network Medium i.e., "The Deception Surface"
- 4 Week 3: Subverting Network Trust
- 5 Week 4: Cryptographic Building Blocks
- 6 Week 5: Hashing: Basics and Applications
- 7 Week 6: No Lecture or Tutorial (Reading Week)
- 8 Week 7: Public Key Crypto
- 9 Week 8: Network Security in Practice
- 10 Week 9: Web Security
- 11 Week 10: Authentication
- 12 Week 11: Email Security
- 13 Week 12: Applied Crypto (The Good and the Ugly)
- 14 Week 13: When Things Break
- 15 Week 14: Operational Security Considerations
- 16 Stuff That Goes in a "Network Security II" Course
Scribe Notes
Courses/Computer_Science/CPSC_526.W2015/Lecture Notes/Scribe1
Week 1
January 12: Intro and Overview
- Course policies, grading, etc.
- Concepts / Organization
With some background in security concepts and principles, we set security challenges and problems into a networked environment. Basic crypto primitives become building blocks of systems whose major focus is authentication and protecting the confidentiality and integrity of communications channels. This major topic is complemented with a variety of security mechanisms that attempt to provide C-I-A in other ways (e.g., firewalls, IDS, authentication systems & standards).
- Topics (i.e., knowledge & skills I want you to know by the end of the semester)
- common networking tools
- bit-level agility (packet crafting)
- working knowledge of common applied crypto
- authentication and secure protocols (design and major examples)
- network security application domains: routing security, web security
- network security mechanisms: firewalls, IDS, etc.
- Semester Highlights
- EDURange
- ScapyHunt
- PGP key signing party
- web application hacking (Google Gruyere)
- build a VPN
- build a CA
- network introspection
- Telephone
- Burning Question
- Name / Psuedonym
- One question you want answered by the end of the semester
Jan 14: Important Concepts
- Slides: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/talks/intro-concepts.pdf
- Notes:
- "A Research Agenda Acknowledging the Persistence of Passwords" http://research.microsoft.com/apps/pubs/?id=154077
- Reading:
- Kaufman et al Chapter 23
- Supplemental Reading
Jan 16: Basic Threats and Adversaries
- QoD
- Alice, Bob, Charlie, Eve, Trudy, Mallory, Trent etc. diagrams
- Types of threats: {eavesdropping, mapping/enumerating, probing, injection, M-i-t-M, DoS, DDoS, worms, trojans, spoofing} X {active,passive}
- Simple threat demonstrations with ICMP
Week 2: The Untrustworthy Network Medium i.e., "The Deception Surface"
An exploration of the properties of the basic network fabric (layers 2 and 3) and the elements, protocols, and services living at these layers.
- hub, switch, bridge, router, gateway
- Ethernet
- ARP
- IP
- ICMP
- TCP
- DHCP
- DNS
Jan 19: Sniffing and Spoofing
Last time we reviewed some types of threats. We will continue on this path and see how easy (a) eavesdropping (b) spoofing and (c) flooding can be. We will also consider the limits of the basic forms of these techniques. We will consider some types of basic protection and where that protection fails.
One way to look at this problem is that sniffing, spoofing, and flooding are actually completely legitimate activities that hosts engage in to orient themselves to the network environment they join.
- QoD
- An introduction to the Deception Surface
- How does that ICMP packet get where it is going? How does the reply come back?
- CEH practice test 2, Q6-13
- Reading:
- Kaufman et al. Chapter 1.5, 1.6, 1.7, 1.12
- "Legal Issues Surrounding Monitoring During Network Research (Invited Paper)" IMC 2007 PDF
Jan 21: Trustworthiness of Layer 2 and Layer 3 Information
Today, we will review our knowledge of the Ethernet, IP, and ICMP header structure.
We'll continue to build our little example network from scratch and get hosts Alice and Bob to communicate on a local broadcast medium, and then through a gateway.
Links
- our commands from the "Alice" box (x.y.z.50) today: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/bash-history
- RFC 791: IP https://www.ietf.org/rfc/rfc791.txt (memorize section 3.1's diagram)
- RFC 792: ICMP https://tools.ietf.org/html/rfc792
Jan 23: Building Blocks for Listening and Intercepting Other Traffic
General philosophy: let's fight "buttonology"
- RFC 2131: DHCP http://www.ietf.org/rfc/rfc2131.txt
See section 3, section 4.1, and Section 7 "Security Considerations"
4.1: ... DHCP uses UDP as its transport protocol. DHCP messages from a client to a server are sent to the 'DHCP server' port (67), and DHCP messages from a server to a client are sent to the 'DHCP client' port (68).
7. Security Considerations DHCP is built directly on UDP and IP which are as yet inherently insecure. Furthermore, DHCP is generally intended to make maintenance of remote and/or diskless hosts easier. While perhaps not impossible, configuring such hosts with passwords or keys may be difficult and inconvenient. Therefore, DHCP in its current form is quite insecure. Unauthorized DHCP servers may be easily set up. Such servers can then send false and potentially disruptive information to clients such as incorrect or duplicate IP addresses, incorrect routing information (including spoof routers, etc.), incorrect domain nameserver addresses (such as spoof nameservers), and so on. Clearly, once this seed information is in place, an attacker can further compromise affected systems. Malicious DHCP clients could masquerade as legitimate clients and retrieve information intended for those legitimate clients. Where dynamic allocation of resources is used, a malicious client could claim all resources for itself, thereby denying resources to legitimate clients.
Week 3: Subverting Network Trust
Jan 26: Becoming a gateway via ARP Poisoning, +DHCP Overview
- In which we convince Bob to send his packets through Alice, using the simple Scapy code here:
- http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/dhcp-log
Jan 28: DNS
One of the last pieces of the deception surface (i.e., core network services) we will examine for now is DNS -- the service that helps map human-readable names to IP addresses.
You should begin noting a pattern about all these bindings between pairs of identifiers. Much of security (perhaps that it better written as "most simple security mechansims") is predicated on some type of namespace control: preventing bad, malicious, or otherwise unacceptable identifiers from participating in a protocol or network environment. Here is my informal definition of 'namespace control':
Namespace control (n).: the ability to control the set, format, content, and presence of identifiers in a system.
We've seen how one can modify and manipulate layer 2 and layer 3 addresses and identifiers as well as some of the state and tables both network elements and end hosts keep about these identifiers.
- good article explaining Kaminsky's DNS vuln: http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html
- Kaminsky's slides: http://vimeo.com/17247507 (see the collection of links under Dan's Blog for 2008 "It's The End Of The Cache As We Know It:")
Notes from Today'
We didn't get to a real deep discussion of DNS, so here are some uses of dig and a simple scapy script for a dig-like client. Challenge: modify the scapy script to create fake replies.
The Tale of Alice and Bob and AirUC
Bob has no money to pay for hotel Wifi, so he has to resort to copying Alice's IP address and MAC address.
Here is a file showing Alice associating (normally) with an 'airuc' access point. She has no idea that Bob is going to clone her information and bypass any need to authenticate to the web portal.
- Alice: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/alice-airuc
- note these packets Alice receives as a side effect of Bob's SSH to csf: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/alice-airuc-sniff
Here is Bob configuring himself (nothing exotic) with Alice's information and receiving network connectivity from the AP because the AP's security decision is not completely mediated (one of the Saltzer-Shroeder principles). After the initial password-based authentication, the AP only identifies Alice's packets from her IP and MAC, not any other information.
Jan 30: Network Recon: Understanding the State of Alice, Bob, and Everyone in Between (Scanning, Sniffing, etc.)
Today I want to discuss the concepts and tradeoffs involved in scanning the network for other hosts. We will also explore the relationship between scanning and sniffing. Sniffing can be seen as one form of passive scanning.
Neither scanning nor sniffing is inherently "bad"; both good guys and bad guys can undertake scanning and sniffing at various times and for various purposes.
- penetration testing
- network auditing (any rogue or forgotten hosts?)
- reconnaissance, host and service enumeration
- listening for unwanted traffic, data exfiltration
- listening for unencrypted traffic, authentication tokens
- listening for communication flows (traffic analysis)
Sniffing (i.e., listening) complements scanning (i.e., actively probing). Sniffing will only sample the network, and provide only a partial view of who is talking during the sampling period. Scanning allows you to attempt to contact and enumerate hosts and open ports, but hosts are under no obligation to respond to your probes. Thus, sniffing and scanning complement each other, but even together may not provide a complete picture of the network.
The "Big Picture" concept for today is that you'll often be asked some form of the question "how good is this tool?"; evaluating the power and limitations of tools, frameworks, techniques, mechanisms, algorithms, etc. entails an understanding how how they work, how they might fail, etc.
Class Activities
Today we will play a bit with traceroute and nmap. You will have a tutorial on nmap itself soon.
We've already spent 1.5 weeks on the "who am I" question. Here are some other questions
- Where am I? Where are you? What are you (running)?
We can seek to answer these questions with:
- netstat (what services am I offering to the world? local broadcast? local machine?)
- iptables (what communication flows or packets is my kernel actually blocking for me? How? What is 'stealth mode'?)
- traceroute (where are you in relation to me? How do I anticipate this affecting the flow of packets between us?)
- nmap (what services are you running (that I can see?))
- tcpdump (how does nmap actually work? what is scanning, after all? what does a scan produce, and what are the expected replies?)
For example, how far away from scanme.nmap.org are we? http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/traceroute-nmap.org
Scan Activity
Pick a partner. One of you is Alice, the other is Bob.
Have Bob list his open ports:
netstat -lptun
Have Bob list his firewall rules:
iptables -L //for Linux, for Windows, see [netsh http://windowsitpro.com/windows-server/top-10-windows-firewall-netsh-commands] for Mac, see ipfw or pfctl
Have Bob start up tcpdump:
tcpdump -i eth1 -n
Have Alice nmap Bob with
nmap -sS -sV -O -n --reason --traceroute bob.ip.addr.ess
What packets does Bob see? What ports does Alice see? If Bob flushes his firewall:
iptables --flush
does this change the scan results?
Weekend Activity
Pick an arbitrary class B network. Traceroute to all hosts in it. Bring back the edge pairs in a format suitable for dot/graphviz.
Reflections
For the past two weeks, we've looked at the (inherent!) weaknesses of the basic network fabric and low-level services/protocols --- the so-called deception surface. We made the point that these weaknesses are also strengths in terms of providing low-configuration connectivity and plug-and-talk type communication. The Internet probably wouldn't have taken off if participants had to sign complex multilateral treaties and do complex cryptographic dances simply to bind an IP address to a MAC address.
While countermeasures exist to detect many basic forms of layer2 and layer3 spoofing, poisoning, and flooding attacks and there are authentication protocols to provide basic network access control, our experience has shown us the need for a combination or composition of functionality that (a) provides connectivity and (b) protects the confidentiality, integrity, and availability of such channels. To this end, we will examine the role cryptography plays in network security over most of the rest of the semester.
However, it is worth noting that even with good crypto, and even with simple countermeasures for protecting against ARP flooding, ARP poisoning, DHCP hijacking, DNS poisoning, DoS, etc., many networks still have an ill-defined "edge" and many often have open doors; for example, management interfaces that may be accessible on a public-facing IP via telnet (perhaps on a "hidden/undocumented" port, or available via port-knocking). BYOD also makes the definition of "your" network quite fuzzy. Networks are also composed of more than just desktop computers and servers. See the links below for efforts that provide scanners, a census of the internet, network topology information, and search engines.
Links
- scanning the Internet in under 5 minutes: https://github.com/robertdavidgraham/masscan and http://blog.erratasec.com/2013/09/masscan-entire-internet-in-3-minutes.html#.VMvYOsYQ5sg
- http://internetcensus2012.bitbucket.org/paper.html "Port scanning /0 using insecure embedded devices"
- Shodan: http://www.shodanhq.com/
- http://www.caida.org/projects/network_telescope/
- http://routeviews.org/
- https://www.eff.org/observatory
- https://httpswatch.com/about
Current Events
Reading
- Posted this before, but you should read it: http://conferences.sigcomm.org/imc/2007/papers/imc152.pdf
- for reference see also: http://seclists.org/nmap-announce/2001/19 (but don't click on the links in this message)
- instead, the PDF (I don't expect you to read the whole thing in one setting; it is a reference): http://www.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/articles/icmp_scanning.pdf
Week 4: Cryptographic Building Blocks
In order to understand how to protect the confidentiality and integrity of messages and network content, we need to review the basics of methods for automatically transforming information in a way that is "hard" to reverse.
Feb 2: Intro to Cryptographic Concepts
- slides
- Reading
- Kaufman et al. Chapter 2
Feb 4: Secret (i.e., Symmetric) Key Cryptography
Motivating question: how do you design (not just throw together) an algorithm that has adequate confusion and diffusion properties?
- confusion, diffusion
- One-Time Pad
- Feistel
- Data Encryption Standard (DES) History and Operation, 3DES
- Blowfish, AES, IDEA
- RC4
- Considerations
- sources of randomness
- S and P box design
- magic numbers
- differential cryptanalysis
- Reading
- Kaufman et al. Chapter 3
Feb 6: Cipher Modes
Motivating question: What if you have a "large" message (at least, larger than the default block size of the cipher)?
- Modes of operation (ECB, CBC, OFB, CFB, Counter)
- Weaknesses and attacks
Reading
- Kaufman et al., Chapter 4
Supplemental Reading
- On counter mode (in the context of IPsec)
Week 5: Hashing: Basics and Applications
Feb 9: Hash Functions
Motivating question: how do you protect the message against unintentional or malicious garbling?
- MD
- MIC, MAC
- HMAC
- algorithms
- Pitfalls and attacks
- MD4, MD5, SHA-1, SHA-2, SHA-3
Links
- https://journal.batard.info/post/2011/03/04/131_crypto1hr.pdf
- https://github.com/iagox86/hash_extender
- http://www.nist.gov/itl/csd/sha-100212.cfm
- http://csrc.nist.gov/groups/ST/hash/sha-3/index.html
Reading
- Kaufman et al. Chapter 4.3, Chapter 5
Feb 11: Guest Lecture on Routing Security
Thanks for your patience as we worked through the technical issues in today's lecture. Hopefully Friday will go more smoothly
- Some links from today's guest lecture by Doug Madory
Feb 13: Uses of Hashes for Security, Networks, and Systems
Question of the Day
Slides
Links
- http://www.hashcash.org/
- the paper / tech report : http://www.hashcash.org/papers/hashcash.pdf
- http://en.wikipedia.org/wiki/Hashcash
- https://en.bitcoin.it/wiki/Hashcash
Week 6: No Lecture or Tutorial (Reading Week)
Feb 16, Feb 18, Feb 20
Week 7: Public Key Crypto
Current Events/Links
- http://www.networkworld.com/article/2886433/security/tens-of-thousands-of-home-routers-at-risk-with-duplicate-ssh-keys.html?nsdr=true#tk.rss_all
- http://www.foxnews.com/tech/2015/02/09/infected-web-ads-use-flash-flaws-to-spread-ransomware/?intcmp=ob_article_footer_text&intcmp=obnetwork
- http://eprint.iacr.org/2015/097.pdf
- http://blog.erratasec.com/2015/02/exploiting-superfish-certificate.html
- http://blog.erratasec.com/2015/02/extracting-superfish-certificate.html
- http://arstechnica.com/security/2015/02/ssl-busting-code-that-threatened-lenovo-users-found-in-a-dozen-more-apps/
- http://arstechnica.com/security/2015/02/lenovo-pcs-ship-with-man-in-the-middle-adware-that-breaks-https-connections/
Feb 23: Basic Concepts
- modular arithmetic
- key structure
- encryption, decryption, signing, verification
Feb 25: RSA
- Public key cryptosystems history
- RSA overview/math
- RSA keypair generation code in Java: http://pages.cpsc.ucalgary.ca/~locasto/teaching/2015/CPSC526/Winter/files/RSAKeyGen.java
Aside
Feb 27: Diffie-Hellman
An overview and discussion of DH key exchange.
A chance to practice breaking a small RSA example.
SSHv2 key exchange (see Section 8)
Current events
Week 8: Network Security in Practice
March 2: Midterm Review Session
A review session for the midterm exam.
March 4: Guest Lecture on Digital Crime and Computer Forensics by Calgary Police Service
March 6: Internet Worms
Prof. Locasto will give a remote video lecture about Internet worms.
Links
- "The Internet Worm Program: An Analysis" http://spaf.cerias.purdue.edu/tech-reps/823.pdf
- Some citations for the Morris Worm from the Bellovin and Cheswick "Firewalls" book: http://www.wilyhacker.com/1e/chap09.pdf
- Code Red, Code Red II: http://www.unixwiz.net/techtips/CodeRedII.html
- Linux Lion Worm: http://www.symantec.com/security_response/writeup.jsp?docid=2001-032311-2042-99
- NIMDA
- "Warhol Worm" Concept from "How to 0wn the Internet in your spare time" paper http://www.icir.org/vern/papers/cdc-usenix-sec02/
- SQL Slammer, Sapphire
- Witty Worm
- Sasser
- Conficker
Week 9: Web Security
March 9: Midterm Exam
March 11: HTTP Authentication and Mid-point Checkup
- Midterm exam post-mortem
- Lab 1, Lab 2
- HW 2
Links
- http://panopticlick.eff.org/
- https://www.owasp.org/index.php/Main_Page
- http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
- http://code.google.com/p/browsersec/wiki/Main
- http://code.google.com/p/spybye/
- http://google-gruyere.appspot.com/
- HTTP auth
March 13: Web Attacks
Guest lecture by Govind.
Concerns:
- privacy
- security
- systems
Links
Week 10: Authentication
March 16: Challenge-Response Protocols Basics
- Basic terms: principals, credentials
- something you have, something you know, something you are
- Authenticating with a shared secret
- how do you establish a shared secret?
- pitfalls
March 18: Challenge-Response Protocols II: Pitfalls/Folklore/Design Principles
A discussion and comparison of some challenge-response protocol variants. Issues around common pitfalls, types of attacks, and combining messages to achieve authentication, confidentiality, and integrity.
Links
March 20: Password-based Authentication (History, Pitfalls, Techniques)
- Storing passwords
- Lamport's Hash
- Bellovin-Merritt / EKE: https://www.cs.columbia.edu/~smb/papers/neke.pdf
- SRP
- KDC
- wide-mouthed frog
- Needham-Schroeder
- Otway-Rees
- nonce definition & types
- Mark Burnett's release of password data: https://xato.net/passwords/ten-million-passwords/#.VQxRO2ZOlRE
- WileyHacker, 1st Edition, Chapter 5: http://wilyhacker.com/1e/
- "A Research Agenda Acknowledging the Persistence of Passwords" http://research.microsoft.com/apps/pubs/?id=154077
- Intel asks: How Strong is Your Password? https://www-ssl.intel.com/content/www/us/en/forms/passwordwin.html
- https://www.youtube.com/watch?v=a6iW-8xPw3k
- https://www.schneier.com/crypto-gram/archives/2015/0315.html#7
- http://arstechnica.com/security/2012/08/wireless-password-easily-cracked/
Top 25 passwords listed at http://us.cnn.com/2012/10/25/tech/web/worst-passwords-2012/index.html?hpt=hp_bn5
- password
- 123456
- 12345678
- abc123
- qwerty
- monkey
- letmein
- dragon
- 111111
- baseball
- iloveyou
- trustno1
- 1234567
...
Incidents
- Rootkit.com / HBGary 2011
- http://openwall.com/lists/john-users/2011/02/16/1
- http://krebsonsecurity.com/2011/02/hbgary-federal-hacked-by-anonymous/comment-page-2/
- LinkedIn 2012
- IEEE 2012
- Yahoo 2012
- http://www.darkreading.com/attacks-and-breaches/yahoo-password-breach-7-lessons-learned/d/d-id/1105321
- http://news.cnet.com/8301-1009_3-57470786-83/hackers-post-450k-credentials-pilfered-from-yahoo/
- http://news.cnet.com/8301-1009_3-57470878-83/yahoo-breach-swiped-passwords-by-the-numbers/?tag=txt;title
- https://www.trustedsec.com/july-2012/yahoo-voice-website-breached-400000-compromised/
Week 11: Email Security
March 23: PGP Key Signing Party
PGP Links
- RFC 4880: http://tools.ietf.org/html/rfc4880#section-5.2
- https://davesteele.github.io/gpg/2014/09/20/anatomy-of-a-gpg-key/
- https://www.gnupg.org/download/integrity_check.html
- https://www.gnupg.org/documentation/manuals/gnupg/OpenPGP-Options.html#index-personal_002ddigest_002dpreferences-280
- https://www.gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html#index-cert_002ddigest_002dalgo-324
- http://lists.gnupg.org/pipermail/gnupg-users/2006-February/028058.html
- https://help.riseup.net/en/security/message-security/openpgp/best-practices#selecting-a-keyserver-and-configuring-your-machine-to-refresh-your-keyring
March 25: SMTP Refresher, PEM, S/MIME
- RFC 821
- RFC 5321
see also, POP and IMAP for mail reception
March 27: Sender Policy Framework, Domain Keys, Anti-spam
- http://www.openspf.org/
- http://www.openspf.org/Introduction
- https://support.google.com/a/answer/33786
- http://www.openspf.org/SPF_vs_Sender_ID
- SPF record format: http://www.openspf.org/SPF_Record_Syntax
- http://www.dkim.org/
- bring your favorite piece of spam or spear-phishing message to class
- http://dmarc.org/
- http://www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx
- https://www2.fireeye.com/wp_spearphishing.html?x=FE_WEB_IC
- http://www.cs.cmu.edu/~enron/
Week 12: Applied Crypto (The Good and the Ugly)
March 30: SSH
An overview of the SSH protocol and software.
- http://www.openssh.com/security.html
- http://www.ietf.org/rfc/rfc4253.txt
- http://www.ietf.org/rfc/rfc4252.txt
- http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/ssh-keyscan.1?query=ssh-keyscan&sec=1
- privilege separation in OpenSSH: http://www.citi.umich.edu/u/provos/ssh/privsep.html
- https://tools.ietf.org/html/rfc2744
- https://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface
- https://www.slac.stanford.edu/comp/unix/sshGSSAPI.html
April 1: Crypto Fails
Lots of Lulz today. A review of poor crypto and implementation mistakes.
- Debian OpenSSL bug (2008)
- Heartbleed
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
- http://heartbleed.com/
- https://www.debian.org/security/2014/dsa-2896
- http://www.exploit-db.com/exploits/32745/
- http://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=96db9023b881d7cd9f379b0c154650d6c108e9a3
- Heartbeat message RFC: https://tools.ietf.org/html/rfc6520#section-4
- http://openvpn.net/index.php/access-server/heartbleed.html
- OpenBSD IPsec allegations (unfounded accusations, but an interesting episode in security auditing)
- http://marc.info/?l=openbsd-tech&m=129236621626462&w=2
- http://arstechnica.com/information-technology/2010/12/openbsd-code-audit-uncovers-bugs-but-no-evidence-of-backdoor/
- http://obfuscurity.com/2010/12/Deconstructing-the-OpenBSD-IPsec-Rumors
- http://article.gmane.org/gmane.os.openbsd.tech/22727
- https://news.ycombinator.com/item?id=2029175
- http://arstechnica.com/information-technology/2010/12/fbi-accused-of-planting-backdoor-in-openbsd-ipsec-stack/
- http://www.openssh.com/txt/cbc.adv
Links
- http://googleresearch.blogspot.ca/2006/06/extra-extra-read-all-about-it-nearly.html
- https://banu.com/blog/42/openbsd-bug-in-the-random-function/
- Apple goto fail: https://www.imperialviolet.org/2014/02/22/applebug.html
- http://openvpn.net/index.php/access-server/heartbleed.html
- http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html
- https://defuse.ca/cracking-synergy-bad-cryptography.htm
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363516
- http://www.cryptofails.com/archive
- lulz: "Bug 647959 - Add Honest Achmed's root certificate" https://bugzilla.mozilla.org/show_bug.cgi?id=647959
- on the related topic of security snake-oil: https://www.schneier.com/crypto-gram/archives/1999/0215.html
- http://www.rc4nomore.com/
- Kerberos
April 3: No Lecture, Good Friday
Recent (and not-so-recent) SSL Problems:
- https://www.eff.org/observatory
- http://www.acsac.org/2012/openconf/modules/request.php?module=oc_program&action=summary.php&id=163
- https://httpswatch.com/global
- http://www.netcraft.com/internet-data-mining/ssl-survey/
- https://www.eff.org/https-everywhere
- http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html
- http://thenextweb.com/google/2014/10/15/web-encryption-vulnerability-opens-encrypted-data-hackers/
- http://googleonlinesecurity.blogspot.ca/2014/10/this-poodle-bites-exploiting-ssl-30.html
- https://docs.google.com/presentation/d/1TNFx6eaQVfe83PV80-FZ39QY1dSLGCWW8f2i5-NeJ48/edit?pli=1#slide=id.g6cd48c62e_01094
- http://arstechnica.com/security/2015/02/ssl-busting-code-that-threatened-lenovo-users-found-in-a-dozen-more-apps/
- http://www.itworld.com/article/2897775/researchers-find-same-rsa-encryption-key-used-28000-times.html
- http://wingolog.org/archives/2014/10/17/ffs-ssl
Week 13: When Things Break
April 6: Groupwork: Thinking through poor network security examples
Today we will pick up the thread of our conversation from last Wednesday and think through some broken or poor network security examples and practices.
- Read cryptofails blog: http://www.cryptofails.com/archive
- review sessions schedule for noon and 3pm on Wednesday April 8
April 8: Intrusion Recovery
A talk about the difficulties of intrusion recovery.
April 10: Crypto Design Folklore (+USRI)
Highlights of Chapter 26, Discussion of Generating Randomness
- http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/
- https://news.ycombinator.com/item?id=7359992
- https://www.ietf.org/rfc/rfc1750.txt
- "Lessons Learned in Implementing and Deploying Crypto Software by Peter Gutmann"
- Intel RDRAND
- USRI at 2:30
Week 14: Operational Security Considerations
April 13: IPsec Modes, Key Agreement, Operation, Applications
What is IPsec? Terminology, Modes of operation; tunneling, touch on some key agreement concepts
- RFC 1636
- Security Architecture for IP (definitions, etc.) RFC 4301 http://www.rfc-editor.org/rfc/rfc4301.txt
- AH: http://www.rfc-editor.org/rfc/rfc4302.txt
- ESP: http://www.rfc-editor.org/rfc/rfc4303.txt
- IPsec Key agreement / establishment protocols, IKEv1, IKEv2, JFK
- JFK
- Key and policy management
- distributed firewalls
April 15: Guest Lecture
Vitaly Sokolov, MSc, CISA, CISM, CISSP will give a guest lecture on the threat landscape and IT security issues, followed by Q&A.
Vitaly is the Director of Enterprise Information Security at Enbridge.
Stuff That Goes in a "Network Security II" Course
Unfortunately, there is simply too much material to cover in this area of security for a single-semester course.
Here are some things we just didn't get a chance to discuss in depth, even though we may have brushed up against them in some minor way in a tutorial or homework. Most of them could reasonably become courses on their own.
- Certificates and Public Key Infrastructure (PKI)
- Identity Management
- Intrusion detection
- overlay networks
- anonymity systems
- In-depth look at SSL and TLS
- micropayments, digital currency
- DDoS, countermeasures: client puzzles Pushback, SOS, WebSOS
- setup and manage a VPN infrastructure
- security audits, reviews of existing protocols and implementations