Giter Site home page Giter Site logo

compsec's Introduction

A Course on Computer Security (compsec)

This is an introductory course on computer security. It's aim is to provide the student with an overview of the security required within a computer system.

It is part of the Open Security Education project and the maintainer is Daniel Bosk. The latest release can be found under releases. You can safely link directly to the PDFs found there.

This course consists of several learning modules that are linked in this repo.
However, all required PDFs can be found under releases

File Structure and Building

The main document of this repo is the study guide, for which the source code can be found in studyguide. The other directories are submodules needed to build the study guide.

The study guide ties together a set of learning modules. Each learning module contains lectures, assignments etc. Currently the course comprises the following topics:

  • Foundations of Security (foundations)
  • Security Usability (usability)
  • Information Theory (infotheory)
  • Cryptography (appliedcrypto)
  • Identification and Authentication (auth)
  • Access Control (ac)
  • Reference Monitors (refmon)
  • Accountability (accountability)
  • Trusted Computing (trustcomp)
  • Side-Channels (sidechannels)
  • Software Security (software)

These topics are examined using the following assignments. The assignments prefixed with L are individual laboratory assignments, H are hackathon labs (done full-day in class), prefixed with M are memos, S for seminars.

  • L0: Brute Forcing (appliedcrypto/spuriouslab)
  • L1: Password Cracking and Social Engineering (passwd/pwdguess)
  • S2: Password Policies (passwd/pwdpolicies)
  • L3: Privacy of Communication (pricomlab)
  • L4: Tools of the Trade (toolslab)
  • H5: Digital Rights Management (trustcomp/drmlab)
  • H6: Smashing the Stack (software/stacksmashlab)
  • H7: Malware (software/malwarelab)
  • S8: The Computer Engineer's Code of Ethics (ethics/profession)

Building

To build the PDFs, after cloning the repository you must clone its required submodules:

$ git submodule update --recursive --init

Then you can go into the directory of the desired document and run make. If you run make in the root directory you will recursively transcend the directory hierarchy and build everything included in the course.

To contribute, please fork the repository, make your changes, commit them and then create a [pull request][PullRequest] in the original repository.

[PullRequest]: https://help.github.com/articles/using-pull-requests/File structure

compsec's People

Contributors

dbosk avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

compsec's Issues

More hands-on labs

The current labs/seminars can be too abstract. Would be nice with something more hands-on, e.g. the old GPG lab.

Capture the Flag

Maybe a Capture the Flag (CTF) would be an interesting exercise in the course.

Hacking-lab.com has interesting training modules.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.