JP2011170847A5 - - Google Patents
Download PDFInfo
- 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
Links
Claims (14)
- 自己書換ソフトウェアコードのインテグリティをその実行中に確かめる方法であって、
前記ソフトウェアコードは複数のモジュールを有し、各モジュールは、前記ソフトウェアコードの実行中に少なくとも2つのとり得る状態にあることが可能であり、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
当該方法は、前記ソフトウェアコードを実行するプロセッサによって実行され、前記プロセッサに、
前記ソフトウェアコードに係るチェックサムと前記ソフトウェアコードとを比較することによって前記ソフトウェアコードのインテグリティを確かめるステップと、
前記複数のモジュールのうちの1つを第1の状態から第2の状態に変えることによって前記ソフトウェアコードを変更するステップと、
前記変更されたソフトウェアコードに係るチェックサムと前記変更されたソフトウェアコードとを比較することによって前記変更されたソフトウェアコードのインテグリティを確かめるステップと
を実行させる方法。 - 前記チェックサムはハッシュ値である、請求項1に記載の方法。
- 前記チェックサムは、前記モジュールのインテグリティを確かめる関数に埋め込まれている、請求項1に記載の方法。
- 前記チェックサムは、ルックアップテーブルに含まれる、請求項1に記載の方法。
- 前記変更されたソフトウェアコードのインテグリティを確かめる関数は、前記ルックアップテーブルに含まれる前記チェックサムにアクセスするために、前記複数のモジュールの夫々の状態を示す状態変数を用いる、請求項4に記載の方法。
- 自己書換ソフトウェアコードのインテグリティをその実行中に確かめる装置であって、
前記ソフトウェアコードは複数のモジュールを有し、各モジュールは、前記ソフトウェアコードの実行中に少なくとも2つのとり得る状態にあることが可能であり、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
前記ソフトウェアコードを実行し、それによって、
前記ソフトウェアコードに係るチェックサムと前記ソフトウェアコードとを比較することによって前記ソフトウェアコードのインテグリティを確かめ、
前記複数のモジュールのうちの1つを第1の状態から第2の状態に変えることによって前記ソフトウェアコードを変更し、
前記変更されたソフトウェアコードに係るチェックサムと前記変更されたソフトウェアコードとを比較することによって前記変更されたソフトウェアコードのインテグリティを確かめる
よう構成されるプロセッサを有する、装置。 - 前記チェックサムはハッシュ値である、請求項6に記載の装置。
- 前記チェックサムは、前記モジュールのインテグリティを確かめる関数に埋め込まれている、請求項6に記載の装置。
- 前記チェックサムは、ルックアップテーブルに含まれる、請求項6に記載の装置
- 前記変更されたソフトウェアコードのインテグリティを確かめる関数は、前記ルックアップテーブルに含まれる前記チェックサムにアクセスするために、前記複数のモジュールの夫々の状態を示す状態変数を用いる、請求項9に記載の装置。
- インテグリティが保護された自己書換バイナリを生成する装置であって、
前記バイナリは複数のモジュールを有し、各モジュールは、前記バイナリの実行中に少なくとも2つのとり得る状態にあることができ、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、
プロセッサを有し、該プロセッサは、
バイナリを受け取り、
前記バイナリのとり得る状態を計算し、該バイナリの夫々の状態は前記複数のモジュールの状態の異なる組み合わせに対応し、
前記バイナリのチェックサムを、そのとり得る状態の夫々において生成し、
少なくとも1つのチェックサム照合関数及び前記生成されたチェックサムを前記バイナリに挿入することによって、前記インテグリティが保護されたバイナリを生成する
よう構成され、
各チェックサム関数は、前記バイナリの状態を該バイナリの状態についてのチェックサムと比較することによって、前記インテグリティが保護されたバイナリの各状態のインテグリティを確かめるよう構成される、装置。 - 前記プロセッサは、更に、入れ子式に複数のチェックサム照合関数を挿入し、それにより、実行中に、各チェックサム照合関数のインテグリティが少なくとも1つの他のチェックサム照合関数によって確かめられるようにする、よう構成される、請求項11に記載の装置。
- 自己書換型のインテグリティが保護されたバイナリを記憶しており、プロセッサによって実行される場合に、請求項1乃至5のうちのいずれか一項に記載の方法のステップを実行するコンピュータプログラム。
- プロセッサによって実行される場合に、
複数のモジュールを有するバイナリのとり得る状態を計算し、各モジュールは前記バイナリの実行中に少なくとも2つのとり得る状態にあることができ、該とり得る状態は暗号化された状態及び暗号化されていない状態であり、前記バイナリの夫々の状態は前記複数のモジュールの状態の異なる組み合わせに対応し、
前記バイナリのチェックサムを、そのとり得る状態の夫々において生成し、
少なくとも1つのチェックサム照合関数及び前記生成されたチェックサムを前記バイナリに挿入することによって、インテグリティが保護されたバイナリを生成し、各チェックサム関数は、前記バイナリの状態を該バイナリの状態についてのチェックサムと比較することによって、前記インテグリティが保護されたバイナリの各状態のインテグリティを確かめるよう構成される
命令を記憶しているコンピュータプログラム。
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)
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)
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 | 爱迪德技术有限公司 | 利用白盒密码术的联锁二进制保护 |
-
2010
- 2010-02-18 EP EP10305164A patent/EP2362314A1/en not_active Withdrawn
-
2011
- 2011-02-02 JP JP2011020280A patent/JP5734685B2/ja not_active Expired - Fee Related
- 2011-02-15 US US12/931,982 patent/US20110202996A1/en not_active Abandoned
- 2011-02-17 CN CN201110042102.6A patent/CN102163268B/zh not_active Expired - Fee Related
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 |