Code Monkey home page Code Monkey logo

hackdac_2018_beta's Introduction

Hack@DAC 2018 Phase 2 Buggy SoC

SoC used for the second phase of the 2018 Hack@DAC hardware security competition (https://hack-dac18.trust-sysec.com/). This SoC is a modified version of the PULPissimo SoC, which was created by ETH Zurich and the University of Bologna (https://github.com/pulp-platform/pulpissimo). A collobaration of researchers at Texas A&M University, Technische Universität Darmstadt, and Intel expanded the PULPissimo SoC by adding additional security features and inserting hardware security bugs.

Bugs

The following bugs were inserted into the SoC:

# Bug
1 Address range overlap between peripherals SPI Master and SoC.
2 Addresses for L2 memory is out of the specified range.
3 Processor assigns privilege level of execution incorrectly from CSR.
4 Register that controls GPIO lock can be written to with software.
5 Reset clears the GPIO lock control register.
6 Incorrect address range for APB allows memory aliasing.
7 AXI address decoder ignores errors.
8 Address range overlap between GPIO, SPI, and SoC control peripherals.
9 Incorrect password checking logic in debug unit.
10 Advanced debug unit only checks 31 of the 32 bits of the password.
11 Able to access debug register when in halt mode.
12 Password check for the debug unit does not reset after successful check.
13 Faulty decoder state machine logic in RISC-V core results in a hang.
14 Incomplete case statement in ALU can cause unpredictable behavior.
15 Faulty logic in the RTC causing inaccurate time calculation for security-critical flows, e.g., DRM.
16 Reset for the advanced debug unit not operational.
17 Memory-mapped register file allows code injection.
18 Non-functioning cryptography module causes DOS.
19 Insecure hash function in the cryptography module.
20 Cryptographic key for AES stored in unprotected memory.
21 Temperature sensor is muxed with the cryptography modules.
22 ROM size is too small preventing execution of security code.
23 Disabled the ability to activate the security-enhanced core.
24 GPIO enable always high.
25 Unprivileged user-space code can write to the privileged CSR.
26 Advanced debug unit password is hard-coded and set on reset.
27 Secure mode is not required to write to interrupt registers.
28 JTAG interface is not password protected.
29 Output of MAC is not erased on reset.
30 Supervisor mode signal of a core is floating preventing the use of SMAP.
31 GPIO is able to read/write to instruction and data cache.

For more information on the bugs, please see doc/Bug_info.xlsx.

Getting Started

To install the SoC, please follow the steps listed in the PULPissimo readme (https://github.com/pulp-platform/pulpissimo/blob/master/README.md).

Support & Questions

For any issues with the SoC or any questions, please add an issue to our issue tracker.

hackdac_2018_beta's People

Watchers

James Cloos avatar

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.