Scalable Hardware Security Verification Using Information Flow Tracking
DescriptionSecurity verification is a growing and crucial area for the commercial semiconductor market. Organizations are continuing to grow their product security teams and build verification infrastructure that can help identify and mitigate security weaknesses in hardware designs. With the growing complexity of modern SoCs, with gate counts often exceeding 1 billion, solutions that can effectively verify the lack of security weaknesses at a large scale are becoming increasingly important. This fact is compounded by the complexity of software that powers these SoCs, further complicating the ability to verify security.
Information flow tracking techniques have been around for decades but have only recently emerged as a powerful solution for helping identify security weaknesses in modern SoCs at scale. Recent technical advances in these approaches have made the ability to deploy these techniques on commercial-grade SoC designs a reality with improved optimizations and analysis techniques.
The tutorial starts with Ryan Kastner giving a background on information flow tracking (IFT), diving into its technical foundations, and describing how it developed into an invaluable verification tool to detect and prevent hardware design weaknesses. Next, Cynthia Sturton will lay out the theoretical foundations behind the types of properties used to describe information-flow, describe the fundamental difference between safety properties and hyperproperties, and explain how information-flow properties can be generated using information flow tracking. Then, Jason Oberg will overview commercial hardware security IFT-based verification tools and provide key insights on how to best use them to uncover security vulnerabilities in large hardware designs. Last, Jagadish Nayak will conduct live demonstrations using the Cycuity Radix IFT verification tools on OpenTitan – an open-source, commercial-grade hardware root of trust. He will enumerate key OpenTitan design assets using hardware Common Weakness Enumerations (CWEs), analyze potential weaknesses and vulnerabilities using the Radix tools, provide a fix for the uncovered vulnerabilities, and verify that the patched hardware redesign removes the vulnerabilities. The vulnerabilities were previously unknown, and the mitigations were submitted to the OpenTitan repository and subsequently accepted.
TimeMonday, July 10th10:30am - 12:00pm PDT
Location3002, 3rd Floor