MIT 6.5950 Secure Hardware Design – An open-source course on hardware attacks

255 points by imakwana 3 months ago | 19 comments
  • ignoramous 3 months ago
    If you're looking for a quick overview, Satnam Singh who worked at Google on Silver Oak / OpenTitan, gave an interesting 50m talk related to his work: https://youtube.com/watch?v=ujmgPCIWuU4 / mirror: https://ghostarchive.org/varchive/ujmgPCIWuU4 [summary: https://g.co/gemini/share/07c6439e8a78 / mirror: https://archive.vn/51k4y]

    OpenTitan (RISC-V based tamper-resistant open specification RoT/TPM/SE) themselves have a neat write-up on designing against hardware attacks: https://opentitan.org/book/doc/security/implementation_guide... / mirror: https://archive.vn/UqAVo

    • imakwana 3 months ago
      Thanks for sharing these links. Very interesting to explore this topic further.

      I came across Satnam Singh's work first while learning about the Lava language/framework for FPGAs, glad to discover his more recent work.

    • klop1 3 months ago
      I actually did these a while ago. Courses taught me a lot and have recommended it to friends since. Very grateful for the course team for making everything public :)
      • Akhilmurali 3 months ago
        Hey! I was curious how did you get access to the lectures? You said that the material is public, can you please help me locate the lecture vidoes?
    • oytis 3 months ago
      Somewhat unrelated, but - is it just me or do other people notice too, that whenever a major university publishes course materials online, the instructors there are normally very young? It wasn't like that a while ago, e.g. when Coursera started, or it is not like that if you look at older MIT videos.

      Does it reflect university teachers getting younger? Or younger teachers tend to give more effort to putting everything online? Or did my perception change with age?

      • porridgeraisin 3 months ago
        Younger teachers get "out there" for the same class of reasons software developers today want to be more "out there" - website,twitter,etc - compared to the relatively quieter personal websites of the last generation.
        • jprx 3 months ago
          Personally, I learned programming when I was a kid by watching YouTube tutorials + reading random Internet sources. When helping build SHD, it was important to me that we "paid it forward" & made all our lab materials open for everyone to learn from.

          Hopefully someone out there finds it useful!

          • StefanBatory 3 months ago
            From my experience at uni, it was the young teachers that cared. Older ones would go through motions, teaching us what was the state of programming 20-30 years ago ;)
          • mettamage 3 months ago
            Reminds me of hardware security at VUSEC Amsterdam :)

            Good times!

            • 3 months ago
              • brcmthrowaway 3 months ago
                Does this include Spectre?
                • jprx 3 months ago
                  Yes!

                  Our labs include building your own real spectre attack against the kernel, bypassing ASLR and building ROP chains with various side channels, finding and exploiting backdoors in a RISC-V CPU by building a hardware fuzzer, and more.

                  (source: I designed the Spectre lab plus a few others)

                  All our labs are fully open source for anyone to try: https://github.com/MATCHA-MIT/SHD-StarterCode

                  If you give them a try, please do let us know what you think! We genuinely want these activities to be fun and approachable (we designed them like a big CTF) and welcome feedback from the community.

                  • SilverSlash 3 months ago
                    Any plans to make lecture videos available as well?
                    • brcmthrowaway 3 months ago
                      Do you support arm64e?
                      • jprx 3 months ago
                        We teach using Intel X86_64 CPUs for a variety of reasons

                        - Most academic research has been done on Intel systems, so it's easier for students reading papers to relate to their experiences in the labs

                        - X86_64 provides convenient cache flush and cycle measurement instructions in userspace

                        - Intel's strongly ordered memory model and cache inclusion policy makes cross-core side channels simpler to reason about

                        - Practically, it's easier to scale up server infrastructure on Intel (you can do most of the labs on inexpensive Intel-based Linux systems)

                        - For Rowhammer, our students attack one particular kind of DRAM that we have profiled and know works well with our machines

                        - Note that AMD's cache inclusion policy differs from Intel's- we only support Intel chips for now

                        Down the road I could see us moving to ARM for a few labs (perhaps a future PACMAN attack lab...?)

                    • LPisGood 3 months ago
                      It starts with necessary background into cache side channels and covers transient execution attacks like Spectre.
                    • oicu 3 months ago
                      [dead]