JP2011170847A5 - - Google Patents

Download PDF

Info

Publication number
JP2011170847A5
JP2011170847A5 JP2011020280A JP2011020280A JP2011170847A5 JP 2011170847 A5 JP2011170847 A5 JP 2011170847A5 JP 2011020280 A JP2011020280 A JP 2011020280A JP 2011020280 A JP2011020280 A JP 2011020280A JP 2011170847 A5 JP2011170847 A5 JP 2011170847A5
Authority
JP
Japan
Prior art keywords
checksum
software code
state
binary
integrity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011020280A
Other languages
English (en)
Other versions
JP5734685B2 (ja
JP2011170847A (ja
Filing date
Publication date
Priority claimed from EP10305164A external-priority patent/EP2362314A1/en
Application filed filed Critical
Publication of JP2011170847A publication Critical patent/JP2011170847A/ja
Publication of JP2011170847A5 publication Critical patent/JP2011170847A5/ja
Application granted granted Critical
Publication of JP5734685B2 publication Critical patent/JP5734685B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (14)

  1. 自己書換ソフトウェアコードのインテグリティをその実行中に確かめる方法であって、
    前記ソフトウェアコードは複数のモジュールを有し、各モジュールは、前記ソフトウェアコードの実行中に少なくとも2つのとり得る状態にあることが可能であり、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
    当該方法は、前記ソフトウェアコードを実行するプロセッサによって実行され、前記プロセッサに、
    前記ソフトウェアコードに係るチェックサムと前記ソフトウェアコードとを比較することによって前記ソフトウェアコードのインテグリティを確かめるステップと、
    前記複数のモジュールのうちの1つを第1の状態から第2の状態に変えることによって前記ソフトウェアコードを変更するステップと、
    前記変更されたソフトウェアコードに係るチェックサムと前記変更されたソフトウェアコードを比較することによって前記変更されたソフトウェアコードのインテグリティを確かめるステップと
    を実行させる方法。
  2. 前記チェックサムはハッシュ値である、請求項1に記載の方法。
  3. 前記チェックサムは、前記モジュールのインテグリティを確かめる関数に埋め込まれている、請求項1に記載の方法。
  4. 前記チェックサムは、ルックアップテーブルに含まれる、請求項1に記載の方法。
  5. 前記変更されたソフトウェアコードのインテグリティを確かめる関数は、前記ルックアップテーブルに含まれる前記チェックサムにアクセスするために、前記複数のモジュールの夫々の状態を示す状態変数を用いる、請求項4に記載の方法。
  6. 自己書換ソフトウェアコードのインテグリティをその実行中に確かめる装置であって、
    前記ソフトウェアコードは複数のモジュールを有し、各モジュールは、前記ソフトウェアコードの実行中に少なくとも2つのとり得る状態にあることが可能であり、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
    前記ソフトウェアコードを実行し、それによって、
    前記ソフトウェアコードに係るチェックサムと前記ソフトウェアコードとを比較することによって前記ソフトウェアコードのインテグリティを確かめ、
    前記複数のモジュールのうちの1つを第1の状態から第2の状態に変えることによって前記ソフトウェアコードを変更し、
    前記変更されたソフトウェアコードに係るチェックサムと前記変更されたソフトウェアコードを比較することによって前記変更されたソフトウェアコードのインテグリティを確かめる
    よう構成されるプロセッサを有する、装置。
  7. 前記チェックサムはハッシュ値である、請求項6に記載の装置。
  8. 前記チェックサムは、前記モジュールのインテグリティを確かめる関数に埋め込まれている、請求項6に記載の装置。
  9. 前記チェックサムは、ルックアップテーブルに含まれる、請求項6に記載の装置
  10. 前記変更されたソフトウェアコードのインテグリティを確かめる関数は、前記ルックアップテーブルに含まれる前記チェックサムにアクセスするために、前記複数のモジュールの夫々の状態を示す状態変数を用いる、請求項9に記載の装置。
  11. インテグリティが保護された自己書換バイナリを生成する装置であって、
    前記バイナリは複数のモジュールを有し、各モジュールは、前記バイナリの実行中に少なくとも2つのとり得る状態にあることができ、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
    プロセッサを有し、該プロセッサは、
    バイナリを受け取り、
    前記バイナリのとり得る状態を計算し、該バイナリの夫々の状態は前記複数のモジュールの状態の異なる組み合わせに対応し、
    前記バイナリのチェックサムを、そのとり得る状態の夫々において生成し、
    少なくとも1つのチェックサム照合関数及び前記生成されたチェックサムを前記バイナリに挿入することによって、前記インテグリティが保護されたバイナリを生成する
    よう構成され、
    各チェックサム関数は、前記バイナリの状態を該バイナリの状態についてのチェックサムと比較することによって、前記インテグリティが保護されたバイナリの各状態のインテグリティを確かめるよう構成される、装置。
  12. 前記プロセッサは、更に、入れ子式に複数のチェックサム照合関数を挿入し、それにより、実行中に、各チェックサム照合関数のインテグリティが少なくとも1つの他のチェックサム照合関数によって確かめられるようにする、よう構成される、請求項11に記載の装置。
  13. 自己書換型のインテグリティが保護されたバイナリを記憶しており、プロセッサによって実行される場合に、請求項1乃至5のうちのいずれか一項に記載の方法のステップを実行するコンピュータプログラム。
  14. プロセッサによって実行される場合に、
    複数のモジュールを有するバイナリのとり得る状態を計算し、各モジュールは前記バイナリの実行中に少なくとも2つのとり得る状態にあることができ、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、前記バイナリの夫々の状態は前記複数のモジュールの状態の異なる組み合わせに対応し、
    前記バイナリのチェックサムを、そのとり得る状態の夫々において生成し、
    少なくとも1つのチェックサム照合関数及び前記生成されたチェックサムを前記バイナリに挿入することによって、インテグリティが保護されたバイナリを生成し、各チェックサム関数は、前記バイナリの状態を該バイナリの状態についてのチェックサムと比較することによって、前記インテグリティが保護されたバイナリの各状態のインテグリティを確かめるよう構成される
    命令を記憶しているコンピュータプログラム。
JP2011020280A 2010-02-18 2011-02-02 インテグリティを実行中に確かめるソフトウェアを生成するプログラム、方法及び記憶媒体 Expired - Fee Related JP5734685B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10305164.5 2010-02-18
EP10305164A EP2362314A1 (en) 2010-02-18 2010-02-18 Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code

Publications (3)

Publication Number Publication Date
JP2011170847A JP2011170847A (ja) 2011-09-01
JP2011170847A5 true JP2011170847A5 (ja) 2014-03-06
JP5734685B2 JP5734685B2 (ja) 2015-06-17

Family

ID=42320561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011020280A Expired - Fee Related JP5734685B2 (ja) 2010-02-18 2011-02-02 インテグリティを実行中に確かめるソフトウェアを生成するプログラム、方法及び記憶媒体

Country Status (4)

Country Link
US (1) US20110202996A1 (ja)
EP (1) EP2362314A1 (ja)
JP (1) JP5734685B2 (ja)
CN (1) CN102163268B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2378452B1 (en) 2010-04-16 2012-12-19 Thomson Licensing Method, device and computer program support for verification of checksums for self-modified computer code
US9141800B2 (en) * 2011-12-20 2015-09-22 Advanced Micro Devices, Inc. Method and apparatus for detecting intrusions in a computer system
EP2901348A4 (en) * 2012-09-28 2016-12-14 Hewlett Packard Entpr Dev Lp ANWENDUNGSRANDOMISIERUNG
US20150278010A1 (en) * 2012-11-23 2015-10-01 Freescale Semiconductor, Inc. Digital device
KR101482700B1 (ko) * 2013-09-27 2015-01-14 (주)잉카엔트웍스 해시를 이용한 프로그램의 무결성 검증 방법
EP3026559A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
EP3026560A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
EP3026558A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
EP3026557A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
EP3301601B1 (en) * 2016-09-30 2019-07-03 Nagravision SA Integrity of on demand code decryption
US11281769B2 (en) * 2016-12-15 2022-03-22 Irdeto B.V. Software integrity verification
FR3083343B1 (fr) * 2018-06-29 2023-05-26 Ingenico Group Procede de determination d'une validite d'un code applicatif, dispositif et produit programme d'ordinateur correspondants.
US11288360B2 (en) * 2020-03-04 2022-03-29 Kyndryl, Inc. Preventing untrusted script execution
WO2023028734A1 (en) * 2021-08-30 2023-03-09 Qualcomm Incorporated Functional safety software image integrity verifier
CN116415281B (zh) * 2023-04-18 2023-10-20 青海省第三地质勘查院 基于改进末位校验和双重散列函数的权限控制方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7287166B1 (en) * 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
JP4042280B2 (ja) * 1999-12-21 2008-02-06 富士ゼロックス株式会社 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
US6789199B1 (en) * 2000-02-08 2004-09-07 International Business Machines Corporation Tamper resistance with pseudo-random binary sequence program interlocks
US7269744B1 (en) * 2000-09-29 2007-09-11 Intel Corporation System and method for safeguarding data between a device driver and a device
US20020138748A1 (en) 2001-03-21 2002-09-26 Hung Andy C. Code checksums for relocatable code
JP2002297542A (ja) * 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> コンテンツ時限開示方法、システム、セキュリティデバイス
US6880149B2 (en) 2002-04-01 2005-04-12 Pace Anti-Piracy Method for runtime code integrity validation using code block checksums
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
JP4922951B2 (ja) * 2005-02-11 2012-04-25 シンプレックス メジャー センドリアン ベルハッド ソフトウェア保護方法
KR100772881B1 (ko) * 2006-05-25 2007-11-05 삼성전자주식회사 자기 수정 코드의 무결성 검증 장치 및 방법
US7841010B2 (en) 2007-01-08 2010-11-23 Apple Inc. Software or other information integrity verification using variable block length and selection
GB0806284D0 (en) * 2008-04-07 2008-05-14 Metaforic Ltd Profile-guided tamper-proofing
GB0810695D0 (en) * 2008-06-12 2008-07-16 Metaforic Ltd Anti-tampering MMU defence
CN102483790B (zh) * 2009-05-06 2016-01-20 爱迪德技术有限公司 利用白盒密码术的联锁二进制保护

Similar Documents

Publication Publication Date Title
JP2011170847A5 (ja)
RU2017110787A (ru) Автоматизированная проверка системы программного обеспечения
GB2501205A (en) Virtual machine validation
US8776040B2 (en) Protection for unauthorized firmware and software upgrades to consumer electronic devices
GB2575207A (en) Blockchain ledgers of material spectral signatures for supply chain integrity management
JP2013532328A5 (ja)
CN104915591A (zh) 一种数据处理方法及电子设备
EP2557522A3 (en) Software part validation using hash values
JP2018503157A5 (ja)
JP2009182864A5 (ja)
MX2018006204A (es) Metodo para verificar la integridad de ejecucion de una aplicacion en dispositivo objetivo.
WO2013020705A3 (en) Cryptographic data distribution and revocation for handheld medical devices
WO2012097231A3 (en) System and method for tamper-resistant booting
WO2012037422A3 (en) Improvements in watermark extraction efficiency
EP2487618A3 (en) Managing booting of secure devices with untrusted software
JP2015520452A5 (ja)
JP2016535373A5 (ja)
JP2013534007A5 (ja)
BR112015002347A8 (pt) método para clonar estado de máquina virtual fonte, produto de programa de computador e sistema de computação hospedeiro
RU2016109436A (ru) Селективное обеспечение соблюдения целостности кода, обеспечиваемое менеджером виртуальной машины
GB2520858A (en) Instruction set for message scheduling of SHA256 algorithm
JP2014510967A5 (ja)
JP2011525003A5 (ja)
JP2013178733A5 (ja)
WO2012156586A3 (en) Secure boot with trusted computing group platform registers