PL2635992T4

Using power fingerprinting (pfp) to monitor the integrity and enhance security of computer based systems

Abstract

Procedures are described for enhancing target system execution integrity determined by power fingerprinting (PFP): by integrating PFP into the detection phase of comprehensive defense-in-depth security; by deploying a network of PFP enabled nodes executing untrusted devices with predefined inputs forcing a specific state sequence and specific software execution; by embedding module identification information into synchronization signaling; by combining signals from different board elements; by using malware signatures to enhance PFP performance; by automatic characterization and signature extraction; by providing secure signature updates; by protecting against side-channel attacks; performing real-time integrity assessment in embedded platform by monitoring their dynamic power consumption and comparing it against signatures from trusted code, including pre-characterizing power consumption of the platform by concentrating on trace sections carrying the most information about the internal execution status; by using PFP from sequence of bit transitions to detect deviations from authorized execution of software in a digital processor.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

1 claim: 1 independent, 0 dependent

  1. 1
    Claims Zastrzeżenia patentowe 1. A method of performing a real-time coherence assessment of the execution of a procedure in a computing platform, including:1. Sposób wykonywania oceny spójności w czasie rzeczywistym wykonywania procedury w platformie przetwarzania komputerowego, obejmujący: (a) dla procedury zaufanego kodu: (a) for the trusted code procedure: (i) monitoring the performance of the procedure by tracking the processor's power consumption (205, 206, 2620) by sampling during the procedure;(i) monitorowanie wykonywania procedury poprzez śledzenie poboru energii procesora (205, 206, 2620) przez próbkowanie podczas wykonywania procedury;(ii) using a platform characterization technique that further includes discovery of track sections that exhibit the greatest dependence on state transitions in the processor (205, 206, 2620);and using the indicated section to select features that carry the most information;(ii) używanie techniki charakteryzowania platformy, która ponadto zawiera wykrywanie sekcji śladów, które wykazują największą zależność od przejść stanów w procesorze (205, 206, 2620);oraz używanie wskazanej sekcji, aby wybierać cechy przenoszące najwięcej informacji;(iii) obtaining from the characterization of selected features of the procedures contained in the indicated section of the set of trusted energy fingerprints procedure;(iii) uzyskiwanie z charakteryzowania wybranych cech procedury zawartych we wskazanej sekcji zestawu zaufanych energetycznych odcisków palców procedury;(iv) setting a threshold for a specific degree of false alarm based on the probability of distorting the distance from the signature consisting of the trusted fingerprints indicated;and (b) for the untrusted code procedure: (iv) ustanawianie progu dla określonego stopnia fałszywego alarmu w oparciu o prawdopodobieństwo zakłócenia odległości od sygnatury składającej się ze wskazanych zaufanych odcisków palców;oraz (b) dla procedury niezaufanego kodu: (i) comparing the library of trusted fingerprints to features obtained from traces from the execution of untrusted code;(i) porównywanie biblioteki wskazanych zaufanych odcisków palców do cech uzyskanych ze śladów z wykonywania niezaufanego kodu;(ii) determining the distance between the fingerprints and the features obtained;and (iii) exception reporting if the distance exceeds the threshold. (ii) określanie odległości pomiędzy wskazanymi odciskami palców oraz uzyskanymi cechami;oraz (iii) raportowania wyjątku jeśli odległość przekracza próg. 2. A method according to claim 1, further comprising synchronizing the indicated tracing with the execution of the procedure by embedding the identification module in the procedure. 2. Sposób według zastrz. 1, ponadto obejmujący synchronizowanie wskazanego śledzenia z wykonywaniem procedury przez osadzanie modułu identyfikacji informacji w procedurze. 3. A method according to claim 2, wherein the information identification module is a binary identification code stored in the IO register (3324) prior to the execution of the procedure. 3. Sposób według zastrz. 2, przy czym moduł identyfikacji informacji jest binarnym kodem identyfikacyjnym zapisanym w rejestrze IO (3324) przed wykonywaniem procedury. 4. Sposób według zastrz. 2, przy czym moduł identyfikacji informacji jest sekwencją instrukcji dających charakterystyczny wzór poboru energii. 4. The method according to claim 2, wherein the information identification module is a sequence of instructions giving a characteristic energy consumption pattern. 5. A method according to claim 1, wherein power consumption tracking combines signals from multiple processor circuits. 5. Sposób według zastrz. 1, przy czym śledzenie poboru energii łączy sygnały z wielu obwodów procesorowych. 6. Sposób według zastrz. 1, ponadto obejmujący zwiększanie jakości wskazanego raportowania wyjątków przez dodanie do wskazanej biblioteki sygnatur odcisków palców znanego szkodliwego oprogramowania (maleware). 6. The method according to claim 1, further comprising increasing the quality of the indicated exception reporting by adding to the indicated library fingerprint signatures of known malware (maleware). 7. System for performing real-time coherence evaluation of the execution of a procedure in a computer processing platform (205, 206, 2620), containing: 7. Układ wykonywania oceny spójności w czasie rzeczywistym wykonywania procedury w platformie przetwarzania komputerowego (205, 206, 2620), zawierający: means for monitoring the execution of the procedure by tracking the energy consumption of the processor (205, 206, 2620) by sampling during the procedure;means for using a platform characterization technique that further comprises means for detecting a track section that exhibits the greatest dependence on state transitions in the processor (205, 206, 2620);środki do monitorowania wykonywania procedury przez śledzenie poboru energii procesora (205, 206, 2620) przez próbkowanie podczas wykonywania procedury;środki do używania techniki charakteryzowania platformy, która ponadto zawiera środki do wykrywania sekcji śladów, które wykazują największą zależność od przejść stanów w procesorze (205, 206, 2620);means for using the indicated section to select the features carrying the most information;środki do używania wskazanej sekcji do wybierania cech przenoszących najwięcej informacji;means for deriving from the characterization of selected features contained in the indicated section of the set of trusted energy fingerprints procedure;środki do uzyskiwania z charakteryzowania wybranych cech zawartych we wskazanej sekcji zestawu zaufanych energetycznych odcisków palców procedury;means for setting a threshold for a specific degree of false alarm based on the probability of distorting the distance from the signature consisting of the trusted fingerprints indicated;środki do ustanawiania progu dla określonego stopnia fałszywego alarmu w oparciu o prawdopodobieństwo zakłócenia odległości od sygnatury składającej się ze wskazanych zaufanych odcisków palców;means for comparing the library of trusted fingerprints to features obtained from traces from the execution of untrusted code;środki do porównywania biblioteki wskazanych zaufanych odcisków palców do cech uzyskanych ze śladów z wykonywania niezaufanego kodu;means for determining the distance between the fingerprints and the features obtained;and means for reporting an exception if the distance exceeds the threshold;wherein the system is configured to automatically implement the method according to one of the preceding claims. środki do określania odległości pomiędzy wskazanymi odciskami palców a uzyskanymi cechami;oraz środki do raportowania wyjątku jeśli odległość przekracza próg;przy czym układ jest skonfigurowany aby automatycznie realizować sposób według jednego z poprzednich zastrz. 8. A system according to claim 7, further comprising an information identification module embedded in the procedure. 8. Układ według zastrz. 7, ponadto zawierający moduł identyfikacji informacji osadzony w procedurze. 9. A system according to claim 8, wherein the information identification module is a binary identification code stored in the IO register (3324) prior to the execution of the procedure. 9. Układ według zastrz. 8, przy czym moduł identyfikacji informacji jest binarnym kodem identyfikacyjnym zapisanym w rejestrze IO (3324) przed wykonywaniem procedury. 10. A system according to claim 8, wherein the information identification module is a sequence of instructions giving a characteristic energy consumption pattern. 10. Układ według zastrz. 8, przy czym moduł identyfikacji informacji jest sekwencją instrukcji dających charakterystyczny wzór poboru energii. 11. A system according to claim 7, wherein the means (110) for tracking the energy consumption combines signals from the plurality of processor circuits. 11. Układ według zastrz. 7, przy czym środki (110) do śledzenia poboru energii łączą sygnały z wielu obwodów procesorowych. 12. The system according to claim 7, further comprising means for improving the quality of the indicated exceptions reporting by adding to the indicated library fingerprint signatures of known malware (maleware). 12. Układ według zastrz. 7, ponadto zawierający środki do poprawy jakości wskazanego raportowania wyjątków przez dodanie do wskazanej biblioteki sygnatur odcisków palców znanego szkodliwego oprogramowania (maleware). Virginia Tech Intellectual Properties, Inc., Stany Zjednoczone Ameryki Pełnomocnik: Virginia Tech Intellectual Properties, Inc., United States of America Plenipotentiary: EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 1/38 1/38 Fig. 1 Stan techniki Fig. 1 State of the art EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 2/38 2/38 Fig. 2 Fig. 2 Fig. 3 Fig. 3 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 3 / 3S 3/3S Fig. 4 Fig. 4 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 4/38 4/38 Synchronizacja oraz wyzwalanie Synchronization and triggering About g .ę>, a ® £ o 2 n 44 ε O g .ę >, a ® £ o o 2 n 44 ε Fig. 5 Fig. 5 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 5/38 5/38 CO to What is it Fig. 6 Fig. 6 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 Fig. 7 Fig. 7 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 7/38 iO and O (N 7/38 iO iO (N LO LO O: oh Ó :o Fig. 8 iO Figs. 8 and 0 ROSS (HP) sad 9rap9JS ROSS (HP) sad 9rap9JS EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 8/38 8/38 Medium mark mark (Basic and alternative executions) and L -1 "" "" "" "" Basic executions! Średni ślad znacznika (Wykonania podstawowe i alternatywne) i L -1 ““““““““Podstawowe wykonania! O + - ~ O +-~ O O O O O "i o o o >*"i npfeid joąod XMo;sniuupX;nj\[ OOOOO "iooo> *" and npfeid joaod XMo;sniuupX;nj \ [ -about -o X • r-H fi X • r—H fi N N About fi fi O fi fi N <U N <U X X -o fiC / 2 <U -o fiC/2 <U Ό fi Ό fi Fig. 9 Fig. 9 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 9/38 9/38 Różnica PDS pomiędzy znacznikiem a zmienionymi śladami (HP) SQd SMOorazęra x The PDS difference between the marker and the modified traces (HP) SQd SMOorazęra x Częstotliwość (Hz) Frequency (Hz) EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 10/38 10/38 Fig. 11 Fig. 11 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 11/38 11/38 Distribution of sample samples for the detector project Rozkład próbek próbnych dla projektu detektora CD • I £ CD CD • I £ CD Ό Ό Ό Ό ABOUT O Fig. 12 Fig. 12 ABOUT O CO WHAT CM cd • w £ CM cd • w £ N N About the cd £ O cd £ N N Ό Ό ABOUT O EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 12/38 wA <: SSSSSSSSSSSSSSSSSKtt «^^ SS ^ 12/38 wA<:SSSSSSSSSSSSSSSSSKtt«^^SS^ Authorized tags Autoryzowane znaczniki Run the target software under normal operating conditions or using a predefined input Uruchom docelowe oprogramowanie w normalnych warunkach działanie lub z użyciem wstępnie określonego wejścia Extraction of features and remoteness from stored tags Wydobywanie cech i oddalenia od przechowywanych znaczników Decision on consistency based on a pre-set threshold Decyzja co do spójności oparta o wstępnie ustalony próg Fig. 13 Fig. 13 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 13/38 13/38 ABOUT O CO ''T WHAT 'T N N About cd cd £ O cd cd £ N N Fig. 14 Fig. 14 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 14/38 14/38 UJ jj UJ jj Results of the example PFP consistency assessment (Number of traces: 588) Wyniki przykładowej oceny spójności PFP (Liczba śladów: 588) Ljljd Ljljd Ljvtvt Ljvtvt ŁTi l? " ŁTi l?" Ljt Ljt CM CM CM CM Lj" lj " ifi and ii • i- ( ifi ifi • i—( -about -o Oh and? " Oh i?" AND I Ljll Ljll Lj- | vtιη |? S Lj-| vtιη |?S Ifi Ifi CM CM CM CM Ifi s s ° sr Ifi ss ° sr Historia próbki The history of the sample Fig. 15 Fig. 15 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 15/38 15/38 Results of the exemplary PFP consistency assessment (Number of traces: 650) cont Wyniki przykładowej oceny spójności PFP (Liczba śladów: 650) cd P! P! • i- (£ • i—( £ N N About the cd £ O cd £ N N Ό Ό O • i- ( O • i—( -o td -o td Oh <d • i- (o Oh <d • i—( o ω ω Ό Ό Ό Ό Ο Ο - σ ' - σ' - I "- يο ο - I"-- ίο ο ΙΟ ο ΙΟ ο ΙΟ ΙΟ Historia próbki The history of the sample Fig. 16 Fig. 16 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 16/38 16/38 Detailed traces of PIC18 samples (average) Szczegółowe ślady próbek PIC18 (średnia) ABOUT O FROM OD UJ UJ UJ UJ UJ iN UJ iN O (DQ otóiunsn) yra O (DQ otóiunsn) ​​yra Indeks próbki czasu (500 M próbek na sek.) Time sample index (500 M samples per sec) Fig. 17 Fig. 17 T ' " T‘" UJ UJ CN CN EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 17/38 17/38 Traces in the original space Ślady w przestrzeni oryginalnej Przestrzeń transformowana (jedno wymiarowa) Transformed (one dimensional) space Fig. 18 Fig. 18 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 18/38 18/38 Fig. 19 Fig. 19 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 19/38 19/38 Detail of a single captured base trace of execution Szczegół pojedynczego wychwyconego bazowego śladu wykonania ABOUT O CM CM ABOUT O CM CM Q Q ABOUT O Q ΰΖ Q ΰΖ Q Q O and £> O i£> ie tj ABOUT O Q k " Q k" Indeks próbki (n) Fig. 20 Sample index (n) Fig. 20 Q Q Q Q S £> S£> CO WHAT Q Q Q S«« S Q S««S ABOUT ! and 8 »8- '? O ! i 8 » 8—‘ ? S 1 s nprpijdray S 1 s nprpijdray EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 20/38 20/38 Traces of average markers (Basic and alternative implementations) iJ.Ct Ślady uśrednionych znaczników (Wykonania podstawowe oraz alternatywne) iJ.Ct AXIS OS Podstawowe wykonania “ASM bitWssSim The basic implementation of "ASM bitWssSim Immediate power consumption Immediate power consumption Natychmiastowy pobór prądu Natychmiastowy pobór prądu -Ό.δΐ -Ό.δΐ 606 5® 650 >. 606 5® 650>. \ · · Indeks próbek znaczników Index of tag samples Traces of average markers (Basic and alternative implementations) Ślady uśrednionych znaczników (Wykonania podstawowe oraz alternatywne) \ AXIS OS Ol "O.U i Ol "OU and δ.ώ δ.ώ 3S0 SOD 80Ω 18Ω8 iSSO 14Q0 3S0 SOD 80Ω 18Ω8 iSSO 14Q0 Indeks próbek znaczników Index of tag samples Fig. 21 Fig. 21 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 21/38 21/38 IN W In iosoumXsu9;ui 5 [iuzoiq W iosoumXsu9;ui 5[iuzoiq Euclidean distance from the primary marker Oddalenie euklidesowe od podstawowego znacznika Fig. 22 Fig. 22 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 22/38 22/38 CM CM Euclidean distance from the primary marker Oddalenie euklidesowe od podstawowego znacznika Fig. 23 Fig. 23 J_i _! _! _ 1_5 _! _! _ Q J_i_!_!_1_5_!_!_ Q iosoumXsu9;ui 5 (iuzoiq iosoumXsu9;ui 5(iuzoiq EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 23/38 23/38 Instructions for profiling LDA funds Instrukcje profilowania środków LDA Indeks próbki Sample index Fig. 24 Fig. 24 i i npfeid ioqod XMOfsniuiqoXfnjq ii npfeid ioqod XMOfsniuiqoXfnjq EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 24/38 • 5 CM 24/38 •5 CM Dismissal of Euclidean LDA Oddalenie LDA euklidesowe Ϊ j Ϊ j '.' and '(' and! '.'.i '( "i ! Euclidean distance from the primary marker Oddalenie euklidesowe od podstawowego znacznika Fig. 25 Fig. 25 iosoumXsu9;ui 5 [iuzoiq iosoumXsu9;ui 5[iuzoiq EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 25/38 (D 25/38 (D. CM CM Fig. 26 Fig. 26 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 26/38 26/38 Circuit control Sterowanie obwodem Fig. 27 Fig. 27 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 27/38 27/38 Host / workstation / driver Peripheral defense Host/stacja robocza/sterownik Obrona peryferyjna Dam Zapora PFP monitoring range Zasięg monitorowania PFP Identification and \ authorization Identyfikacja oraz \ autoryzacja Features of the OS core Funkcje rdzenia OS Access for control \ Dostęp dla sterowania \ Access restrictions for updates Ograniczenia dostępu dla aktualizacji -Y.. S .. <·α::::: «Γ“ ''''Natychmiastowa'''''' odpowiedź <Α ·::::: «Γ" '' '' Immediate '' '' '' 'answer Odmowa ochrony usługi Refusal to protect the service Instant log creation Natychmiastowe utworzenie dziennika Trusted updates Zaufane aktualizacje User / IT security manager Użytkownik/ Kierownik bezpieczeństwa IT Fig. 28 Fig. 28 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 28/38 28/38 Fig. 29 Fig. 29 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 29/38 29/38 PFP nodes "Honey pots" Węzły PFP „Honey pots” Fig. 30 Fig. 30 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 30/38 30/38 Fig. 31 Fig. 31 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 31/38 31/38 Golden standard Złoty standard Niezaufany wytwórca Untrusted manufacturer .................................................. ............... Λ .................................................................Λ Monitorowanie monitoring PFP PFP Detect SW and HW burglaries Wykryj włamania SW oraz HW CAD model Model CAD Odnośnik 'U-A P Reference 'UA P Poprzednie próbki Previous samples Fig. 32 Fig. 32 Alternative implementation Alternatywne wykonania EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 32/38 32/38 CN CN CO WHAT Fig. 33 Fig. 33 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 33/38 33/38 Fig. 34 Fig. 34 Traces of power with built-in Ślady mocy z wbudowaną EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 34/38 34/38 Fig. 35 Fig. 35 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 35/38 35/38 Fig. 36 Fig. 36 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 36/38 36/38 Fig. 37 Fig. 37 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 Fig. 38 Fig. 38 EP 2 635 992 B1 EP 2 635 992 B1 Z-15866/17 Z-15866/17 38/38 38/38 Fig. 39 Fig. 39