{"id":13621161,"url":"https://github.com/alinush/6.858-lecture-notes","last_synced_at":"2025-12-17T20:00:45.990Z","repository":{"id":24897392,"uuid":"28313774","full_name":"alinush/6.858-lecture-notes","owner":"alinush","description":"6.858 Computer Systems Security: Lecture notes (edited a little and formatted with Markdown)","archived":false,"fork":false,"pushed_at":"2018-02-26T15:54:49.000Z","size":9870,"stargazers_count":44,"open_issues_count":0,"forks_count":14,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-15T01:38:38.277Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alinush.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-21T21:27:09.000Z","updated_at":"2024-11-16T11:59:16.000Z","dependencies_parsed_at":"2022-08-18T08:32:15.149Z","dependency_job_id":null,"html_url":"https://github.com/alinush/6.858-lecture-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alinush/6.858-lecture-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alinush%2F6.858-lecture-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alinush%2F6.858-lecture-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alinush%2F6.858-lecture-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alinush%2F6.858-lecture-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alinush","download_url":"https://codeload.github.com/alinush/6.858-lecture-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alinush%2F6.858-lecture-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27786159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:03.122Z","updated_at":"2025-12-17T20:00:45.957Z","avatar_url":"https://github.com/alinush.png","language":"HTML","funding_links":[],"categories":["课程列表"],"sub_categories":["Computer Systems Security"],"readme":"\u003ch1\u003eComputer systems security notes (6.858, Fall 2014)\u003c/h1\u003e\n\n\u003cp\u003eLecture notes from 6.858, taught by \u003ca href=\"http://people.csail.mit.edu/nickolai/\"\u003eProf. Nickolai Zeldovich\u003c/a\u003e and \u003ca href=\"http://research.microsoft.com/en-us/people/mickens/\"\u003eProf. James Mickens\u003c/a\u003e in 2014. These lecture notes are slightly modified from the ones posted on the 6.858 \u003ca href=\"http://css.csail.mit.edu/6.858/2014/schedule.html\"\u003ecourse website\u003c/a\u003e.\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003eLecture \u003cstrong\u003e1\u003c/strong\u003e: \u003ca href=\"l01-intro.html\"\u003eIntroduction\u003c/a\u003e: what is security, what's the point, no perfect security, policy, threat models, assumptions, mechanism, buffer overflows\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e2\u003c/strong\u003e: \u003ca href=\"l02-baggy.html\"\u003eControl hijacking attacks\u003c/a\u003e: buffer overflows, stack canaries, bounds checking, electric fences, fat pointers, shadow data structure, Jones \u0026amp; Kelly, baggy bounds checking\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e3\u003c/strong\u003e: \u003ca href=\"l03-brop.html\"\u003eMore baggy bounds and return oriented programming\u003c/a\u003e: costs of bounds checking, non-executable memory, address-space layout randomization (ASLR), return-oriented programming (ROP), stack reading, blind ROP, gadgets\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e4\u003c/strong\u003e: \u003ca href=\"l04-okws.html\"\u003eOKWS\u003c/a\u003e: privilege separation, Linux discretionary access control (DAC), UIDs, GIDs, setuid/setgid, file descriptors, processes, the Apache webserver, chroot jails, remote procedure calls (RPC)\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e5\u003c/strong\u003e: \u003cstrong\u003ePenetration testing\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Paul Youn, iSEC Partners\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e6\u003c/strong\u003e: \u003ca href=\"l06-capsicum.html\"\u003eCapsicum\u003c/a\u003e: confused deputy problem, ambient authority, capabilities, sandboxing, discretionary access control (DAC), mandatory access control (MAC), Capsicum\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e7\u003c/strong\u003e: \u003ca href=\"l07-nacl.html\"\u003eNative Client (NaCl)\u003c/a\u003e: sandboxing x86 native code, software fault isolation, reliable disassembly, x86 segmentation\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e8\u003c/strong\u003e: \u003ca href=\"l08-web-security.html\"\u003eWeb Security, Part I\u003c/a\u003e: modern web browsers, same-origin policy, frames, DOM nodes, cookies, cross-site request forgery (CSRF) attacks, DNS rebinding attacks, browser plugins\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e9\u003c/strong\u003e: \u003ca href=\"l09-web-defenses.html\"\u003eWeb Security, Part II\u003c/a\u003e: cross-site scripting (XSS) attacks, XSS defenses, SQL injection atacks, Django, session management, cookies, HTML5 local storage, HTTP protocol ambiguities, covert channels\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e10\u003c/strong\u003e: \u003cstrong\u003eSymbolic execution\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Prof. Armando Solar-Lezama, MIT CSAIL\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e11\u003c/strong\u003e: \u003cstrong\u003eUr/Web\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Prof. Adam Chlipala, MIT, CSAIL\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e12\u003c/strong\u003e: \u003ca href=\"l12-tcpip.html\"\u003eTCP/IP security\u003c/a\u003e: threat model, sequence numbers and attacks, connection hijacking attacks, SYN flooding, bandwidth amplification attacks, routing\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e13\u003c/strong\u003e: \u003ca href=\"l13-kerberos.html\"\u003eKerberos\u003c/a\u003e: Kerberos architecture and trust model, tickets, authenticators, ticket granting servers, password-changing, replication, network attacks, forward secrecy\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e14\u003c/strong\u003e: \u003ca href=\"l14-forcehttps.html\"\u003eForceHTTPS\u003c/a\u003e: certificates, HTTPS, Online Certificate Status Protocol (OCSP), ForceHTTPS\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e15\u003c/strong\u003e: \u003cstrong\u003eMedical software\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Prof. Kevin Fu, U. Michigan\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e16\u003c/strong\u003e: \u003ca href=\"l16-timing-attacks.html\"\u003eTiming attacks\u003c/a\u003e: side-channel attacks, RSA encryption, RSA implementation, modular exponentiation, Chinese remainder theorem (CRT), repeated squaring, Montgomery representation, Karatsuba multiplication, RSA blinding, other timing attacks\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e17\u003c/strong\u003e: \u003ca href=\"l17-authentication.html\"\u003eUser authentication\u003c/a\u003e: what you have, what you know, what you are, passwords, challenge-response, usability, deployability, security, biometrics, multi-factor authentication (MFA), MasterCard's CAP reader\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e18\u003c/strong\u003e: \u003ca href=\"l18-priv-browsing.html\"\u003ePrivate browsing\u003c/a\u003e: private browsing mode, local and web attackers, VM-level privacy, OS-level privacy,  OS-level privacy, what browsers implement, browser extensions \u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e19\u003c/strong\u003e: \u003cstrong\u003eTor\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Nick Mathewson, Tor Project\n\u003cul\u003e\n\u003cli\u003e6.858 notes from 2012 on \u003ca href=\"l19-tor.html\"\u003eAnonymous communication\u003c/a\u003e: onion routing, Tor design, Tor circuits, Tor streams, Tor hidden services, blocking Tor, dining cryptographers networks (DC-nets)\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e20\u003c/strong\u003e: \u003ca href=\"l20-android.html\"\u003eMobile phone security\u003c/a\u003e: Android applications, activities, services, content providers, broadcast receivers, intents, permissions, labels, reference monitor, broadcast intents\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e21\u003c/strong\u003e: \u003ca href=\"l21-taintdroid.html\"\u003eInformation flow tracking\u003c/a\u003e: TaintDroid, Android data leaks, information flow control, taint tracking, taint flags, implicit flows, x86 taint tracking, TightLip\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e22\u003c/strong\u003e: \u003cstrong\u003eMIT's IS\u0026amp;T\u003c/strong\u003e \u003cem\u003eguest lecture\u003c/em\u003e by Mark Silis and David LaPorte, MIT IS\u0026amp;T\u003c/li\u003e\n\u003cli\u003eLecture \u003cstrong\u003e23\u003c/strong\u003e: \u003ca href=\"l23-click-trajectories.html\"\u003eSecurity economics\u003c/a\u003e: economics of cyber-attacks, the spam value chain, advertising, click-support, realization, CAPTCHAs, botnets, payment protocols, ethics\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eNew notes from 2015\u003c/h3\u003e\n\n\u003cul\u003e\n\u003cli\u003eLecture \u003cstrong\u003e8\u003c/strong\u003e: \u003ca href=\"2015/l08-sgx.md\"\u003eIntel Software Guard Extensions (SGX)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003ePapers\u003c/h2\u003e\n\n\u003cp\u003eList of papers we read (\u003ca href=\"papers/\"\u003epapers/\u003c/a\u003e):\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"papers/baggy.pdf\"\u003eBaggy bounds checking\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/brop.pdf\"\u003eHacking blind\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/okws.pdf\"\u003eOKWS\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/confused-deputy.pdf\"\u003eThe confused deputy\u003c/a\u003e (or why capabilities might have been invented)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/capsicum.pdf\"\u003eCapsicum\u003c/a\u003e (capabilities)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/nacl.pdf\"\u003eNative Client\u003c/a\u003e (sandboxing x86 code)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/owasp-top-10.pdf\"\u003eOWASP Top 10\u003c/a\u003e, the most critical web application security risks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/klee.pdf\"\u003eKLEE\u003c/a\u003e (symbolic execution)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/urweb.pdf\"\u003eUr/Web\u003c/a\u003e (functional programming for the web)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/lookback-tcpip.pdf\"\u003eA look back at \"Security problems in the TCP/IP protocol suite\"\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/kerberos.pdf\"\u003eKerberos\u003c/a\u003e: An authentication service for open network systems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/forcehttps.pdf\"\u003eForceHTTPs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/medical-sw.pdf\"\u003eTrustworthy Medical Device Software\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/brumley-timing.pdf\"\u003eRemote timing attacks are practical\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/passwords.pdf\"\u003eThe quest to replace passwords\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/private-browsing.pdf\"\u003ePrivate browsing modes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/tor-design.pdf\"\u003eTor\u003c/a\u003e: the second-generation onion router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/android.pdf\"\u003eUnderstanding Android security\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/taintdroid.pdf\"\u003eTaintDroid\u003c/a\u003e: an information-flow tracking system for realtime privacy monitoring on smartphones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"papers/trajectories.pdf\"\u003eClick trajectories\u003c/a\u003e: End-to-end analysis of the spam value chain\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eOther papers\u003c/h2\u003e\n\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"papers/chinese-wall-sec-pol.pdf\"\u003eThe Chinese Wall Security Policy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falinush%2F6.858-lecture-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falinush%2F6.858-lecture-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falinush%2F6.858-lecture-notes/lists"}