For personnal use only

Size: px
Start display at page:

Download "For personnal use only"

Transcription

1 UEFI Utility to Read TPM 1.2 PCRs Finnbarr P. Murphy A Trusted Platform Module (TPM) supports many security functions including a number of special registers called Platform Configuration Registers (PCRs) which can hold data in a shielded location in a manner that prevents tampering or spoofing. A PCR is a 20-byte register. which incidentally is the length of a SHA-1 (Secure Hash Algorithm) hash. Most modern TPMs have 24 or even more PCRs; older ones have 16 PCRs. The TPM 1.2 specification, developed by the Trusted Computing Group (TCG) only requires 16 PCRs. Typically PCRs are used to store measurements. Measurements can be of code, data structures, configuration, information, or anything that can be loaded into memory with code measurement being the most common use case. The idea is that no code is executed until it has been measured. Measurements consist of a cryptographic hash using SHA-1. To further protect the integrity of the measurements, hashes are not written directly to PCRs; instead a PCR is extended with a measurement. This means that the TPM takes the current value of the PCR and the measurement to be extended, hashes them together, and replaces the content of the PCR with that hash result. Note that a TPM is not responsible for actually measuring anything; only for securely storing the measurement. Extend works like this: New PCR value = SHA-1 hash (Current PCR value new SHA-I hash) The TPM retrieves the current value of a PCR, concatenates the new SHA-1 hash to the end of the retrieved value in order to obtain a 40-byte value, calculates the SHA-1 of this 40-byte value to obtain a 20-byte hash and sets the PCR value to this SHA-1. The result is that the only way to arrive at a particular measurement in a PCR is to extend exactly the same measurements in exactly the same order. Therefore, if any module being measured has been modified, the resulting PCR measurement will be different and thus it is easy to detect if any code, configuration, data, etc. that has been measured was been modified or corrupted as it is computationally infeasible to forge the resulting PCR value. PCRs can never be arbitrarily overwritten but many can be reset while the platform is powered on to a known value, either all zero bits or all one bits, using the TPM PCR_Reset command. Whether a specific PCR can be reset or not is defined by various platform specifications and requires appropriate permissions. All PCRs can be reset at power on. Before I go any further, here is the source code for my ShowPCR12 utility: // // Copyright (c) 2017 Finnbarr P. Murphy. All rights reserved. // // Retrieve and print TPMi 1.2 PCR digests // // License: BSD License // #include <uefi.h> #include <library /UefiLib.h> #include </library><library /ShellCEntryLib.h> #include </library><library /ShellLib.h> Copyright Finnbarr P. Murphy. All rights reserved. 1/8

2 #include </library><library /BaseMemoryLib.h> #include </library><library /UefiBootServicesTableLib.h> #include <protocol /EfiShell.h> #include </protocol><protocol /LoadedImage.h> #include </protocol><protocol /TcgService.h> #include </protocol><protocol /Tcg2Protocol.h> #include <industrystandard /UefiTcgPlatform.h> #define UTILITY_VERSION L"0.8" #define EFI_TCG2_PROTOCOL_GUID \ {0x607f766c, 0x7455, 0x42be, { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f VOID Print_PcrDigest(TPM_PCRINDEX PcrIndex, TPM_PCRVALUE *PcrValue) { int size = sizeof(tpm_pcrvalue); UINT8 *buf = (UINT8 *)PcrValue; Print(L"[%02d] ", PcrIndex); for (int i = 0; i < size; i++) { Print(L"%02x ", 0xff & buf[i]); Print(L"\n"); BOOLEAN CheckForTpm20() { EFI_STATUS Status = EFI_SUCCESS; EFI_TCG2_PROTOCOL *Tcg2Protocol; EFI_GUID gefitcg2protocolguid = EFI_TCG2_PROTOCOL_GUID; Status = gbs->locateprotocol( &gefitcg2protocolguid, NULL, (VOID **) &Tcg2Protocol); if (EFI_ERROR (Status)) { return FALSE; return TRUE; VOID Usage(CHAR16 *Str) { Print(L"Usage: %s [--version]\n", Str); INTN EFIAPI ShellAppMain(UINTN Argc, CHAR16 **Argv) { EFI_STATUS Status = EFI_SUCCESS; EFI_TCG_PROTOCOL *TcgProtocol; EFI_GUID gefitcgprotocolguid = EFI_TCG_PROTOCOL_GUID; TPM_RSP_COMMAND_HDR *TpmRsp; UINT32 TpmSendSize; UINT8 CmdBuf[64]; TPM_PCRINDEX PcrIndex; TPM_PCRVALUE *PcrValue; if (Argc >= 2) { if (!StrCmp(Argv[1], L"--version")) { Print(L"Version: %s\n", UTILITY_VERSION); else { Usage(Argv[0]); return Status; Status = gbs->locateprotocol( &gefitcgprotocolguid, NULL, (VOID **) &TcgProtocol); if (EFI_ERROR (Status)) { if (CheckForTpm20()) { Print(L"ERROR: Platform configured for TPM 2.0, not TPM 1.2\n"); else { Print(L"ERROR: Failed to locate EFI_TCG_PROTOCOL [%d]\n", Status); Copyright Finnbarr P. Murphy. All rights reserved. 2/8

3 ) { UEFI Utility to Read TPM 1.2 PCRs return Status; // Loop through all the PCRs and print each digest for (PcrIndex = 1; PcrIndex < = TPM_NUM_PCR; PcrIndex++) { TpmSendSize = sizeof (TPM_RQU_COMMAND_HDR) + sizeof (UINT32); *(UINT16*)&CmdBuf[0] = SwapBytes16 (TPM_TAG_RQU_COMMAND); *(UINT32*)&CmdBuf[2] = SwapBytes32 (TpmSendSize); *(UINT32*)&CmdBuf[6] = SwapBytes32 (TPM_ORD_PcrRead); *(UINT32*)&CmdBuf[10] = SwapBytes32 (PcrIndex); Status = TcgProtocol->PassThroughToTpm( TcgProtocol, TpmSendSize, CmdBuf, sizeof (CmdBuf), CmdBuf); if (EFI_ERROR (Status)) { if (CheckForTpm20()) { Print(L"ERROR: Platform configured for TPM 2.0, not TPM 1.2\n"); else { Print(L"ERROR: PassThroughToTpm failed [%d]\n", Status); return Status; TpmRsp = (TPM_RSP_COMMAND_HDR *) &CmdBuf[0]; if ((TpmRsp->tag!= SwapBytes16(TPM_TAG_RSP_COMMAND)) (TpmRsp->returnCode!= 0) Print(L"ERROR: TPM command result [%d]\n", SwapBytes16(TpmRsp->returnCode)); return EFI_DEVICE_ERROR; PcrValue = (TPM_PCRVALUE *) &CmdBuf[sizeof (TPM_RSP_COMMAND_HDR)]; Print_PcrDigest(PcrIndex, PcrValue); return Status; I developed it using the Tianocore UDK2015 (UEFI Development Kit, 2015 release). UDK2017 is not yet released; it is scheduled for early 2017Q1. Here is my build configuration file: [Defines] INF_VERSION = 0x BASE_NAME = ShowPCR12 FILE_GUID = 4ea87c ccd f3ce51 MODULE_TYPE = UEFI_APPLICATION VERSION_STRING = 0.1 ENTRY_POINT = ShellCEntryLib VALID_ARCHITECTURES = X64 [Sources] ShowPCR12.c [Packages] MdePkg/MdePkg.dec ShellPkg/ShellPkg.dec [LibraryClasses] ShellCEntryLib ShellLib BaseLib BaseMemoryLib UefiLib [Protocols] Copyright Finnbarr P. Murphy. All rights reserved. 3/8

4 [BuildOptions] [Pcd] To assist you in understanding the code I have included a copy of the TPM_PCRRead specification from Part 3 of the TPM 1.2 specification. In UDK2015, the assigned ordinal for TPM_PCRRead is TPM_ORD_PcrRead and that is what you will see in the above code. I also include a copy of the relevant section of the TPM 1.2 EFI specification detailing the PassThroughToTpm API which is exposed via the EFI_TCG_PROTOCOL_GUID guid Copyright Finnbarr P. Murphy. All rights reserved. 4/8

5 Note this utility interacts with a TPM at a very low level, i.e. what Will Arthur et al in their excellent book A Practical Guide to TPM 2.0 in Figure 7.1 call the System API (SAPI) layer. Could I have used one of the two other higher levels API layers? Yes, but frankly SAPI is easier for me to use when coding a UEFI shell utility as I am quite familiar with it. Here is the output of this utility when run against the hardware TPM on my Lenovo T450: fs1> ShowPCR12.EFI [01] 11 EE 11 E D7 88 EC 99 BE D D D2 [02] B2 A8 3B 0E BF 2F A 5B 2B DF C3 1E A9 55 AD [03] B2 A8 3B 0E BF 2F A 5B 2B DF C3 1E A9 55 AD [04] A4 32 BC 6C 7F CC 7F CB AD 41 0A 6E [05] 45 A B D9 33 F0 8E 7F 0E 25 6B C8 24 9E B1 EC [06] A9 CD BE 97 0A A5 DD AA A8 C A0 EB DC 4D 50 FE [07] DD 38 9D FA 9A D1 D9 D9 CF 41 B4 94 8E DD 7D BC [08] [09] [10] [11] [12] [13] Copyright Finnbarr P. Murphy. All rights reserved. 5/8

6 [14] [15] [16] fs1> As you can see the first eight PCRs have non-zero values. The Trusted Computing Group only defined a Static Chain of Trust for TPM 1.2 starting from a Static Core Root of Trust for Measurements (S-CRTM) and assigns the following meanings to measurements in the first 8 PCRs: PCR0 CRTM, BIOS code, and Platform Extensions PCR1 Platform Configuration PCR2 Option ROM Code PCR3 Option ROM Configuration and Data PCR4 IPL (Initial Program Loader) Code PCR5 IPL Code Configuration and Data PCR6 State Transition and Wake Events PCR7 Platform Manufacturer Control PCRs 8 to 15 are assigned for use by the operating system. For example, a trusted boot loader typically uses PCR8 and PCR9. The following diagram shows the difference between a Static Chain of Trust which I have discussed and a Dynamic Chain of Trust which I am about to briefly introduce Copyright Finnbarr P. Murphy. All rights reserved. 6/8

7 TPM 1.2 only supports a Static Chain of Trust. Here, the first thing measured at boot is called the Core Root of Trust for Measurements (CRTM) whereby the firmware (AKA BIOS) boot block will measure the firmware and store the resultant value in PCR0 before executing it. On Intel platforms, it does this by invoking an Intel-supplied chunk of code called Authenticated Code Module (BIOS ACM) which is embedded in the firmware and can authenticate and validate the firmware. Then the firmware will measure the next thing in the boot chain before executing it and store the value in PCR1. This process continues for each component in the boot sequence. On the other hand, Dynamic Root of Trust for Measurements DRTM) is quite different as you can see from the above diagram. The goal of DRTM is to create a trusted environment from an initially untrusted state. Intel calls their implementation Trusted Execution Technology (TXT) and AMD uses the name Secure Virtual Machine (SVM). A detailed discussion of the differences between SRTM and DRTM is outside the scope of this post. Do a search, SRTM versus DRTM, on StackExchange for more information. By the way, if you have access to the Intel TXT (Trusted Execution Technology) EFI compliance testing toolkit, the included utility, pcrdump.efi, provides similar functionality to the utility described in this post Copyright Finnbarr P. Murphy. All rights reserved. 7/8

8 Copyright Finnbarr P. Murphy. All rights reserved. 8/8

For personnal use only

For personnal use only UEFI Shell Utility to Display TPM TrEE Capabilities Finnbarr P. Murphy (fpm@fpmurphy.com) With the drive towards hardening platform firmware, for example Microsoft s Secure Boot initiative, I have decided

More information

For personnal use only

For personnal use only Check Available Text And Graphics Modes From UEFI Shell Finnbarr P. Murphy (fpm@fpmurphy.com) Some time ago a reader of this blog contacted me for assistance with enumerating possible screen modes from

More information

For personnal use only

For personnal use only Lenovo ThinkPwn POC Ported to UDK2015 Finnbarr P. Murphy (fpm@fpmurphy.com) The Lenovo ThinkPwn zeroday (Oday) proof of concept (POC) that a UEFI application can write via SMM to SMRAM has been very widely

More information

For personnal use only

For personnal use only EDID Utility Ported to UDK Finnbarr P. Murphy (fpm@fpmurphy.com) Some time ago, actually September 2012, I wrote a UEFI shell utility to parse and display connected monitor EDID information. The build

More information

For personnal use only

For personnal use only Using PCI.IDS Database to Show PCI Vendor and Device Information in UEFI Shell Finnbarr P. Murphy (fpm@fpmurphy.com) The UEFI Shell has a built-in command called pci for enumerating PCI (Peripheral Component

More information

For personnal use only

For personnal use only UEFI Shell Application Examples Finnbarr P. Murphy (fpm@fpmurphy.com) The three examples listed in the EFI Shell Developers Guide (the latest version is 0.91 dated June 27, 2005) have never been updated

More information

Sirrix AG security technologies. TPM Laboratory I. Marcel Selhorst etiss 2007 Bochum Sirrix AG

Sirrix AG security technologies. TPM Laboratory I. Marcel Selhorst etiss 2007 Bochum Sirrix AG TPM Laboratory I Marcel Selhorst m.selhorst@sirrix.com etiss 2007 Bochum What's this? 00 00 DC 76 4A 0B 1E 53 2F FF 81 13 92 5D A8 33 E4 2 C4 00 FC 8E 81 E1 24 6F 09 79 EA 84 32 9B 67 C8 76 00 0C C6 FD

More information

TCG. TCG EFI Protocol Specification For TPM Family 1.1 or 1.2. TCG Published Copyright TCG Contact:

TCG. TCG EFI Protocol Specification For TPM Family 1.1 or 1.2. TCG Published Copyright TCG Contact: TCG EFI Protocol Specification For TPM Family 1.1 or 1.2 Specification Version 1.22 Revision 5 27 January 2014 Contact: admin@trustedcomputinggroup.org Copyright TCG 2004-2014 TCG Disclaimers, Notices,

More information

OVAL + The Trusted Platform Module

OVAL + The Trusted Platform Module OVAL + The Trusted Platform Module Charles Schmidt June 14, 2010 Overview OVAL Can assess a vast diversity of system state Usually software based software attacks can compromise Trusted Platform Module

More information

CIS 4360 Secure Computer Systems Secured System Boot

CIS 4360 Secure Computer Systems Secured System Boot CIS 4360 Secure Computer Systems Secured System Boot Professor Qiang Zeng Spring 2017 Previous Class Attacks against System Boot Bootkit Evil Maid Attack Bios-kit Attacks against RAM DMA Attack Cold Boot

More information

Past, Present, and Future Justin Johnson Senior Principal Firmware Engineer

Past, Present, and Future Justin Johnson Senior Principal Firmware Engineer Dell Firmware Security Past, Present, and Future Justin Johnson Senior Principal Firmware Engineer justin.johnson1@dell.com Dell Security 2 What does BIOS do? Configure and Test System Memory Configure

More information

I Don't Want to Sleep Tonight:

I Don't Want to Sleep Tonight: I Don't Want to Sleep Tonight: Subverting Intel TXT with S3 Sleep Seunghun Han, Jun-Hyeok Park (hanseunghun parkparkqw)@nsr.re.kr Wook Shin, Junghwan Kang, HyoungChun Kim (wshin ultract khche)@nsr.re.kr

More information

The cache is 4-way set associative, with 4-byte blocks, and 16 total lines

The cache is 4-way set associative, with 4-byte blocks, and 16 total lines Sample Problem 1 Assume the following memory setup: Virtual addresses are 20 bits wide Physical addresses are 15 bits wide The page size if 1KB (2 10 bytes) The TLB is 2-way set associative, with 8 total

More information

TLS 1.2 Protocol Execution Transcript

TLS 1.2 Protocol Execution Transcript Appendix C TLS 1.2 Protocol Execution Transcript In Section 2.3, we overviewed a relatively simple protocol execution transcript for SSL 3.0. In this appendix, we do something similar for TLS 1.2. Since

More information

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1 Version 1 1. (20 Points) Given the class A network address 117.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 4,000 subnets? b. (5 Points) What is

More information

IA32 OS START-UP UEFI FIRMWARE. CS124 Operating Systems Fall , Lecture 6

IA32 OS START-UP UEFI FIRMWARE. CS124 Operating Systems Fall , Lecture 6 IA32 OS START-UP UEFI FIRMWARE CS124 Operating Systems Fall 2017-2018, Lecture 6 2 Last Time: IA32 Bootstrap Computers and operating systems employ a bootstrap process to load and start the operating system

More information

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1 Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. Router A Router B Router C Router D Network Next Hop Next Hop Next Hop Next

More information

TPM v.s. Embedded Board. James Y

TPM v.s. Embedded Board. James Y TPM v.s. Embedded Board James Y What Is A Trusted Platform Module? (TPM 1.2) TPM 1.2 on the Enano-8523 that: How Safe is your INFORMATION? Protects secrets from attackers Performs cryptographic functions

More information

Secure, Trusted and Trustworthy Computing

Secure, Trusted and Trustworthy Computing http://www.trust.cased.de Assignments for the Course Secure, Trusted and Trustworthy Computing WS 2011/2012 Prof. Dr.-Ing. Ahmad-Reza Sadeghi Authors: Sven Bugiel Based on work by: B.Cubaleska, L. Davi,

More information

The TPM 2.0 specs are here, now what?

The TPM 2.0 specs are here, now what? presented by The TPM 2.0 specs are here, now what? UEFI Spring Plugfest March 29-31, 2016 Presented by Dick Wilkins, Ph.D. Phoenix Technologies, Ltd. Updated 2011-06-01 UEFI Plugfest March 2016 www.uefi.org

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MS-FSSHTTPD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Triple DES and AES 192/256 Implementation Notes

Triple DES and AES 192/256 Implementation Notes Triple DES and AES 192/256 Implementation Notes Sample Password-to-Key and KeyChange results of Triple DES and AES 192/256 implementation For InterWorking Labs customers who require detailed information

More information

4. Specifications and Additional Information

4. Specifications and Additional Information 4. Specifications and Additional Information AGX52004-1.0 8B/10B Code This section provides information about the data and control codes for Arria GX devices. Code Notation The 8B/10B data and control

More information

UNH-IOL MIPI Alliance Test Program

UNH-IOL MIPI Alliance Test Program DSI Receiver Protocol Conformance Test Report UNH-IOL 121 Technology Drive, Suite 2 Durham, NH 03824 +1-603-862-0090 mipilab@iol.unh.edu +1-603-862-0701 Engineer Name engineer@company.com Panel Company

More information

For personnal use only

For personnal use only Use 010 Editor to Obtain Header Fields From Intel Microcode Binary Files Finnbarr P. Murphy (fpm@fpmurphy.com) In my last blog post, I used the well-known 010 text and hex editor (010 Editor) to examine

More information

C1098 JPEG Module User Manual

C1098 JPEG Module User Manual C1098 JPEG Module User Manual General Description C1098 is VGA camera module performs as a JPEG compressed still camera that can be attached to a wireless or PDA host. Users can send out a snapshot command

More information

CIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1

CIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1 Version 1 1. (20 Points) Given the class A network address 119.0.0.0 will be divided into a maximum of 15,900 subnets. a. (5 Points) How many bits will be necessary to address the 15,900 subnets? b. (5

More information

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1 Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. NOTE: Router E should only be used for Internet traffic. Router A Router

More information

TCG TPM2 Software Stack & Embedded Linux. Philip Tricca

TCG TPM2 Software Stack & Embedded Linux. Philip Tricca TCG TPM2 Software Stack & Embedded Linux Philip Tricca philip.b.tricca@intel.com Agenda Background Security basics Terms TPM basics What it is / what it does Why this matters / specific features TPM Software

More information

[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation

[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation [MS-FSSHTTPD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,

More information

How to create a trust anchor with coreboot.

How to create a trust anchor with coreboot. How to create a trust anchor with coreboot. Trusted Computing vs Authenticated Code Modules Philipp Deppenwiese About myself Member of a hackerspace in germany. 10 years of experience in it-security. Did

More information

Intel Platform Innovation Framework for EFI Boot Script Specification. Version 0.91 April 1, 2004

Intel Platform Innovation Framework for EFI Boot Script Specification. Version 0.91 April 1, 2004 Intel Platform Innovation Framework for EFI Boot Script Specification Version 0.91 April 1, 2004 Boot Script Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING

More information

Technical Specification. Third Party Control Protocol. AV Revolution

Technical Specification. Third Party Control Protocol. AV Revolution Technical Specification Third Party Control Protocol AV Revolution Document AM-TS-120308 Version 1.0 Page 1 of 31 DOCUMENT DETAILS Document Title: Technical Specification, Third Party Control Protocol,

More information

TUX : Trust Update on Linux Kernel

TUX : Trust Update on Linux Kernel TUX : Trust Update on Linux Kernel Suhho Lee Mobile OS Lab, Dankook university suhho1993@gmail.com -- Hyunik Kim, and Seehwan Yoo {eternity13, seehwan.yoo}@dankook.ac.kr Index Intro Background Threat Model

More information

Platform Configuration Registers

Platform Configuration Registers Chapter 12 Platform Configuration Registers Platform Configuration Registers (PCRs) are one of the essential features of a TPM. Their prime use case is to provide a method to cryptographically record (measure)

More information

Jonathan M. McCune. Carnegie Mellon University. March 27, Bryan Parno, Arvind Seshadri Adrian Perrig, Michael Reiter

Jonathan M. McCune. Carnegie Mellon University. March 27, Bryan Parno, Arvind Seshadri Adrian Perrig, Michael Reiter Jonathan M. McCune Carnegie Mellon University March 27, 2008 Bryan Parno, Arvind Seshadri Adrian Perrig, Michael Reiter 1 Password Reuse People often use 1 password for 2+ websites Banking, social networking,

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs

More information

CS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1

CS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1 CS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1 This exam is closed book, closed notes. All cell phones must be turned off. No calculators may be used. You have two hours to complete

More information

Lecture Embedded System Security Trusted Platform Module

Lecture Embedded System Security Trusted Platform Module 1 Lecture Embedded System Security Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt (CASED) Germany Summer Term 2015 Roadmap: TPM Introduction to TPM TPM architecture

More information

TRUSTED COMPUTING TRUSTED COMPUTING. Overview. Why trusted computing?

TRUSTED COMPUTING TRUSTED COMPUTING. Overview. Why trusted computing? Overview TRUSTED COMPUTING Why trusted computing? Intuitive model of trusted computing Hardware versus software Root-of-trust concept Secure boot Trusted Platforms using hardware features Description of

More information

CIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1 Version 1 Instructions Write your name on the exam paper. Write your name and version number on the top of the yellow paper. Answer Question 1 on the exam paper. Answer Questions 2-4 on the yellow paper.

More information

CIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1

CIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1 Version 1 1. (25 Points) Given that a frame is formatted as follows: And given that a datagram is formatted as follows: And given that a TCP segment is formatted as follows: Assuming no options are present

More information

ECHO Process Instrumentation, Inc. Modbus RS485 Module. Operating Instructions. Version 1.0 June 2010

ECHO Process Instrumentation, Inc. Modbus RS485 Module. Operating Instructions. Version 1.0 June 2010 ECHO Process Instrumentation, Inc. Modbus RS485 Module Operating Instructions Version 1.0 June 2010 ECHO Process Instrumentation, Inc. PO Box 800 Shalimar, FL 32579 PH: 850-609-1300 FX: 850-651-4777 EM:

More information

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1 Version 1 1. (20 Points) Given the class A network address 121.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 8,100 subnets? b. (5 Points) What is

More information

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System CIS 24 Home http://www.c jump.com/cis24/cis24syllabus.htm The FAT File System 1. FAT Overview 2. Boot Sector, FAT, Root Directory, and Files 3. FAT File System Layout 4. FAT Clusters and Sectors 5. FAT,

More information

Intel Platform Innovation Framework for EFI ACPI Specification

Intel Platform Innovation Framework for EFI ACPI Specification Intel Platform Innovation Framework for EFI ACPI Specification Version 0.91 August 8, 2006 ACPI Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY

More information

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module 1 Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Winter Term 2016/17 Roadmap: TPM

More information

ZN-DN312XE-M Quick User Guide

ZN-DN312XE-M Quick User Guide ZN-DN312XE-M Quick User Guide This manual provides instructions for quick installation and basic configuration of your IP device. Step1. Connect cables to IP device Connect required cables to the device

More information

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic: Pointer Manipulations Pointer Casts and Data Accesses Viewing Memory The contents of a block of memory may be viewed as a collection of hex nybbles indicating the contents of the byte in the memory region;

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs

More information

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module 1 Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Winter Term 2017/18 Roadmap: TPM

More information

Binary Encodings for JavaScript Object Notation: JSON-B, JSON-C, JSON-D

Binary Encodings for JavaScript Object Notation: JSON-B, JSON-C, JSON-D Internet Engineering Task Force P. Hallam-Baker Internet-Draft Comodo Group Inc. Intended status: Standards Track June 11, 2013 Expires: December 13, 2013 Binary Encodings for JavaScript Object Notation:

More information

M2351 Trusted Boot. Application Note for 32-bit NuMicro Family

M2351 Trusted Boot. Application Note for 32-bit NuMicro Family M2351 Trusted Boot Application Note for 32-bit NuMicro Family Document Information Abstract Apply to Introduce the M2351 Secure Bootloader, Secure Boot verification mechanism, and how it works to perform

More information

Unicorn: Two- Factor Attestation for Data Security

Unicorn: Two- Factor Attestation for Data Security ACM CCS - Oct. 18, 2011 Unicorn: Two- Factor Attestation for Data Security M. Mannan Concordia University, Canada B. Kim, A. Ganjali & D. Lie University of Toronto, Canada 1 Unicorn target systems q High

More information

RS 232 PINOUTS. 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out.

RS 232 PINOUTS. 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out. RS 232 PINOUTS 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out. 2. A DB9 Female to RJ12 Female Serial/Terminal Modular Adaptor

More information

Big and Bright - Security

Big and Bright - Security Big and Bright - Security Big and Bright Security Embedded Tech Trends 2018 Does this mean: Everything is Big and Bright our security is 100% effective? or There are Big security concerns but Bright solutions?

More information

Scan Results - ( Essentials - Onsharp )

Scan Results -   ( Essentials - Onsharp ) Scan Results - www.onsharp.com ( Essentials - Onsharp ) Overview Open Ports (18) Scan ID: 7675527 Target: www.onsharp.com Max Score: 2.6 Compliance: Passing PCI compliance, Expires undefined Profile: 15

More information

YHY502CTG++ DATASHEET MHz RFID Mifare Read/Write Module. YHY502CTG++ Datasheet Revision 2.0 Oct, 2009 Page 1 of 21

YHY502CTG++ DATASHEET MHz RFID Mifare Read/Write Module. YHY502CTG++ Datasheet Revision 2.0 Oct, 2009 Page 1 of 21 YHY5CTG++ Datasheet Revision 2.0 Oct, 29 Page 1 of 21 YHY5CTG++ 13.56MHz RFID Mifare Read/Write Module DATASHEET Complete Read/Write module with built-in transceiver antenna Auto checks for presence of

More information

PL-I Assignment Broup B-Ass 5 BIOS & UEFI

PL-I Assignment Broup B-Ass 5 BIOS & UEFI PL-I Assignment Broup B-Ass 5 BIOS & UEFI Vocabulary BIOS = Basic Input Output System UEFI = Unified Extensible Firmware Interface POST= Power On Self Test BR = Boot Record (aka MBR) BC =Boot Code (aka

More information

TCG Physical Presence Interface Specification

TCG Physical Presence Interface Specification TCG Physical Presence Interface Specification Specification Version 1.2 Revision 1.00 February 10 th, 2011 Contact: admin@trustedcomputinggroup.org TCG Published Copyright TCG 2003-2011 Disclaimers, Notices,

More information

A Hijacker's Guide to the LPC bus IAIK/EUROPKI2011/HIJACKER'S GUIDE 1

A Hijacker's Guide to the LPC bus IAIK/EUROPKI2011/HIJACKER'S GUIDE 1 A Hijacker's Guide to the LPC bus IAIK/EUROPKI2011/HIJACKER'S GUIDE 1 Motivation Endpoint security and Trusted Computing How about resilience against simple hardware attacks? IAIK/EUROPKI2011/HIJACKER'S

More information

Overview. Wait, which firmware? Threats Update methods request_firmware() hooking Regression testing Future work

Overview. Wait, which firmware? Threats Update methods request_firmware() hooking Regression testing Future work http://outflux.net/slides/2014/lss/firmware.pdf Linux Security Summit, Chicago 2014 Kees Cook (pronounced Case ) Overview Wait, which firmware? Threats Update methods request_firmware()

More information

UEFI Development Anti- Patterns

UEFI Development Anti- Patterns presented by UEFI Development Anti- Patterns Spring 2017 UEFI Seminar and Plugfest March 27-31, 2017 Presented by Chris Stewart (HP Inc.) Lead Security Developer, Firmware Updated 2011-06- 01 UEFI Plugfest

More information

AxProtector Exposed. Integrity Protection of a Modular Application. Rüdiger Kügler Security Expert

AxProtector Exposed. Integrity Protection of a Modular Application. Rüdiger Kügler Security Expert AxProtector Exposed Integrity Protection of a Modular Application Rüdiger Kügler Security Expert Ruediger.Kuegler@wibu.com Wolfgang Völker Director Product Management Wolfgang.Voelker@wibu.com Introduction

More information

Digital Lighting Systems, Inc. CD400-DMX DMX512 Four Channel Dimmer and Switch module

Digital Lighting Systems, Inc. CD400-DMX DMX512 Four Channel Dimmer and Switch module , Inc. DMX512 Four Channel Dimmer and Switch module Input: 5 Amps @ 6-24 VDC Outputs: 5 Amps Maximum each, total 4 outputs 8 Amps Maximum. FRONT BACK USER'S MANUAL -UM User's Manual - Page 1 GENERAL DESCRIPTION

More information

WHERE THE GUARDIANS OF THE BIOS ARE FAILING

WHERE THE GUARDIANS OF THE BIOS ARE FAILING BETRAYING THE BIOS: Presenter s Name Presenter's Position WHERE THE GUARDIANS OF THE BIOS ARE FAILING Alex Matrosov @matrosov Have a lot of fun with UEFI Security and RE Who We Are: Alex Matrosov Former

More information

imetos LoRa Data payload structure

imetos LoRa Data payload structure imetos LoRa Data payload structure Pessl Instruments, GmbH Version 1.0, 06-2018 Content 1. SCOPE OF THIS DOCUMENT... 2 2. PARSING THE DATA FROM THE PAYLOAD VERSUS API DATA ACCESS... 3 3. IMETOS LORA FIRMWARE

More information

TCG. TCG PC Client Platform Firmware Profile Specification. TCG Published. Family 2.0. Level 00 Revision 1.03 v51 May 1, 2017.

TCG. TCG PC Client Platform Firmware Profile Specification. TCG Published. Family 2.0. Level 00 Revision 1.03 v51 May 1, 2017. Family 2.0 Level 00 Revision 1.03 v51 May 1, 2017 Published Contact: admin@trustedcomputinggroup.org TCG Published Copyright TCG 2003-2017 TCG Disclaimers, Notices, and License Terms THIS SPECIFICATION

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs

More information

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004 Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification Version 0.9 April 1, 2004 SMBus Host Controller Protocol Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH

More information

Digital Lighting Systems, Inc.

Digital Lighting Systems, Inc. Digital Lighting Systems, Inc. Four Channel Dry Contacts Relays Switch Pack DMX512 compatible USER'S MANUAL -UM User's Manual - Page 1 GENERAL DESCRIPTION The is a 4-channel DMX-512 compatible electro-mechanical

More information

Lecture 08 Control-flow Hijacking Defenses

Lecture 08 Control-flow Hijacking Defenses Lecture 08 Control-flow Hijacking Defenses Stephen Checkoway University of Illinois at Chicago CS 487 Fall 2017 Slides adapted from Miller, Bailey, and Brumley Control Flow Hijack: Always control + computation

More information

Creating the Complete Trusted Computing Ecosystem:

Creating the Complete Trusted Computing Ecosystem: FEBRUARY 2018 Creating the Complete Trusted Computing Ecosystem: An Overview of the Trusted Software Stack (TSS) 2.0 Trusted Computing Group 3855 SW 153rd Drive Beaverton, OR 97003 Tel (503) 619-0562 Fax

More information

Member of the ams Group

Member of the ams Group Cambridge CMOS Sensors is now Member of the ams Group The technical content of this Cambridge CMOS Sensors (CCS) document is still valid. Contact information: Headquarters: ams AG Tobelbader Strasse 30

More information

Hardware: Logical View

Hardware: Logical View Hardware: Logical View CPU Memory Bus Disks Net USB Etc. 1 Hardware: Physical View USB I/O controller Storage connections CPU Memory 2 Hardware: 351 View (version 0) instructions? Memory CPU data CPU executes

More information

GSE/Belux Enterprise Systems Security Meeting

GSE/Belux Enterprise Systems Security Meeting MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 1 In the news Microsoft Exposes Scope of Botnet Threat By Tony Bradley, October 15, 2010 Microsoft's

More information

CS , Spring 2002 Exam 2

CS , Spring 2002 Exam 2 Full Name: CS 15-213, Spring 2002 Exam 2 March 28, 2002 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write your answers

More information

UEFI Firmware Security Concerns and Best Practices

UEFI Firmware Security Concerns and Best Practices presented by UEFI Firmware Security Concerns and Best Practices UEFI Security Resources - July 2017 Dick Wilkins, PhD & Jim Mortensen Phoenix Technologies, Ltd. 1 Legal Stuff All rights reserved. PHOENIX

More information

One-Stop Intel TXT Activation Guide

One-Stop Intel TXT Activation Guide One-Stop Intel TXT Activation Guide IBM X-Series, idataplex and BladeCenter Server Systems Intel Trusted Execution Technology (Intel TXT) for Intel Xeon processor-based servers is commonly used to enhance

More information

Trusted Disk Loading in the Emulab Network Testbed. Cody Cutler, Eric Eide, Mike Hibler, Rob Ricci

Trusted Disk Loading in the Emulab Network Testbed. Cody Cutler, Eric Eide, Mike Hibler, Rob Ricci Trusted Disk Loading in the Emulab Network Testbed Cody Cutler, Eric Eide, Mike Hibler, Rob Ricci 1 Emulab Public network testbed Create complex experiments quickly 500+ nodes at Utah Emulab 2 Emulab Nodes

More information

For personnal use only

For personnal use only Finnbarr P. Murphy (fpm@fpmurphy.com) I use the EFI STUB method to boot Fedora 17 directly from a UEFI shell without using GRUB. When I got a new Lenovo T430 laptop in July, I found that when I installed

More information

For personnal use only

For personnal use only Inverting Large Images Using CUDA Finnbarr P. Murphy (fpm@fpmurphy.com) This is a simple example of how to invert a very large image, stored as a vector using nvidia s CUDA programming environment and

More information

July Registration of a Cyrillic Character Set. Status of this Memo

July Registration of a Cyrillic Character Set. Status of this Memo Network Working Group Request for Comments: 1489 A. Chernov RELCOM Development Team July 1993 Status of this Memo Registration of a Cyrillic Character Set This memo provides information for the Internet

More information

B: Modbus Map and Retrieving Logs

B: Modbus Map and Retrieving Logs B: Modbus Map and Retrieving Logs B.: Introduction Communicator EXT User Manual B.: Modbus Register Map Sections B.3: Data Formats # B.4: Floating Point Values The formula to interpret a Floating Point

More information

TPM AOM-TPM-9670V AOM-TPM-9670H AOM-TPM-9670V(H)-S

TPM AOM-TPM-9670V AOM-TPM-9670H AOM-TPM-9670V(H)-S TPM AOM-TPM-9670V AOM-TPM-9670H AOM-TPM-9670V(H)-S USER S MANUAL 1.1a The information in this user s guide has been carefully reviewed and is believed to be accurate. The vendor assumes no responsibility

More information

COMP 2355 Introduction to Systems Programming

COMP 2355 Introduction to Systems Programming COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Functions Similar to (static) methods in Java without the class: int f(int a, int

More information

United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017

United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes

More information

For personnal use only

For personnal use only Efivars and Efivarfs Finnbarr P. Murphy (fpm@fpmurphy.com) Recently a new filesystem was added to the 3.8 Linux kernel and backported to the Fedora kernel-3.6.10-4.fc18 and others. Here is the scant documentation

More information

ECE264 Fall 2013 Exam 3, November 20, 2013

ECE264 Fall 2013 Exam 3, November 20, 2013 ECE264 Fall 2013 Exam 3, November 20, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.

More information

The Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu

The Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu The Early System Start-Up Process Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu 1 Boot Process Booting is the initialization of a computerized system In Linux,

More information

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 33 Data Representation, Part 1 CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Number Representation Hindu-Arabic numerals developed by Hindus starting in

More information

Program Flow. Instructions and Memory. Why are these 16 bits? C code. Memory. a = b + c. Machine Code. Memory. Assembly Code.

Program Flow. Instructions and Memory. Why are these 16 bits? C code. Memory. a = b + c. Machine Code. Memory. Assembly Code. Instructions and Memory C code Why are these 16 bits? a = b + c Assembly Code ldr r0, [sp, #4] ldr adds r1, [sp] r0, r0, r1 str r0, [sp, #8] Machine Code 09801 09900 01840 09002 Memory 0 0 0 0 0 0 0 1

More information

Ari Singer. November 7, Slide #1

Ari Singer. November 7, Slide #1 Introduction to Using the TSS Ari Singer NTRU Cryptosystems November 7, 2005 Slide #1 Outline Motivating Use Cases TPM overview Summary of TCG (PC) Architecture Accessing the TPM TSS overview Coding to

More information

For personnal use only

For personnal use only Manipulating Binary Data Using The Korn Shell Finnbarr P. Murphy (fpm@fpmurphy.com) Most people are unaware that ksh93 (Korn Shell 93) can handle binary data. As the following examples will demonstrate,

More information

Technical Brief Distributed Trusted Computing

Technical Brief Distributed Trusted Computing Technical Brief Distributed Trusted Computing Josh Wood Look inside to learn about Distributed Trusted Computing in Tectonic Enterprise, an industry-first set of technologies that cryptographically verify,

More information

Authenticated Booting, Remote Attestation, Sealed Memory aka Trusted Computing. Hermann Härtig Technische Universität Dresden Summer Semester 2007

Authenticated Booting, Remote Attestation, Sealed Memory aka Trusted Computing. Hermann Härtig Technische Universität Dresden Summer Semester 2007 Authenticated Booting, Remote Attestation, Sealed Memory aka Trusted Computing Hermann Härtig Technische Universität Dresden Summer Semester 2007 Goals Understand: authenticated booting the difference

More information

CIS 4360 Secure Computer Systems. Trusted Platform Module

CIS 4360 Secure Computer Systems. Trusted Platform Module CIS 4360 Secure Computer Systems Trusted Platform Module Professor Qiang Zeng Spring 2017 Some slides were stolen from Stanford s Security Course, Bruce Maggs, and Bryan Parno Previous Class Does a b concern

More information

CIS 4360 Secure Computer Systems. Trusted Platform Module

CIS 4360 Secure Computer Systems. Trusted Platform Module CIS 4360 Secure Computer Systems Trusted Platform Module Professor Qiang Zeng Spring 2017 Some slides were stolen from Stanford s Security Course, Bruce Maggs, and Bryan Parno Signed Integer Representation

More information

ENGI 8868/9877 Computer and Communications Security III. BLOCK CIPHERS. Symmetric Key Cryptography. insecure channel

ENGI 8868/9877 Computer and Communications Security III. BLOCK CIPHERS. Symmetric Key Cryptography. insecure channel (a) Introduction - recall symmetric key cipher: III. BLOCK CIPHERS k Symmetric Key Cryptography k x e k y yʹ d k xʹ insecure channel Symmetric Key Ciphers same key used for encryption and decryption two

More information

Auditing TPM Commands

Auditing TPM Commands Chapter 16 Auditing TPM Commands As used in the TPM, audit is the process of logging TPM command and response parameters that pass between the host and the TPM. The host is responsible for maintaining

More information