JP7283552B2 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP7283552B2
JP7283552B2 JP2021548114A JP2021548114A JP7283552B2 JP 7283552 B2 JP7283552 B2 JP 7283552B2 JP 2021548114 A JP2021548114 A JP 2021548114A JP 2021548114 A JP2021548114 A JP 2021548114A JP 7283552 B2 JP7283552 B2 JP 7283552B2
Authority
JP
Japan
Prior art keywords
program
verification data
verification
tampered
control flow
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.)
Active
Application number
JP2021548114A
Other languages
English (en)
Other versions
JPWO2021059478A5 (ja
JPWO2021059478A1 (ja
Inventor
貴之 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2021059478A1 publication Critical patent/JPWO2021059478A1/ja
Publication of JPWO2021059478A5 publication Critical patent/JPWO2021059478A5/ja
Application granted granted Critical
Publication of JP7283552B2 publication Critical patent/JP7283552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Description

本開示は、情報処理装置、情報処理方法、及び、プログラムが記録された非一時的なコンピュータ可読媒体に関する。
IoT(Internet of Things)機器には、改ざん検知機能等のセキュリティチェック機能の導入が望まれている。また、IoT機器に搭載された情報処理装置において実行されるプログラムが改ざんされた場合には、改ざんされたプログラムを速やかに特定して、改ざんの原因を特定するとともに改ざん箇所の脆弱性を修正することが望まれている。例えば、特許文献1には、プログラムの改ざんを検知するシステムが開示されている。
その他、セキュリティチェックに関する記載は、特許文献2にも開示されている。
特開2014-229239号公報 特開2010-250791号公報
しかしながら、関連技術では、プログラムのどの部分がいつ改ざんされたのかを特定することができない。そのため、関連技術では、プログラムの改ざんが行われた場合、プログラム全体の情報を収集する必要があるとともに、プログラムの長期間の実行ログを保存する必要があり、その結果、改ざんに関して収集される情報の量が増大してしまう、という課題があった。
本開示の目的は、このような課題を解決するためになされたものである。即ち、改ざんされたプログラムに関するスナップショットの軽量化が可能な情報処理装置、情報処理方法、及び、プログラムが記録された非一時的なコンピュータ可読媒体を提供することにある。
本開示にかかる情報処理装置は、プログラムが格納されるメモリと、前記プログラムの各部分に対応する第1検証データがリストアップされたホワイトリスト、が格納されたホワイトリスト格納手段と、前記プログラムを実行する演算処理手段と、前記ホワイトリストにリストアップされた前記第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証手段と、前記検証手段によって前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムの部分に関するスナップショットを取得する情報取得手段と、を備える。
また、本開示にかかる情報処理方法は、ホワイトリストにリストアップされた、プログラムの各部分に対応する第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証ステップと、前記検証ステップにおいて前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムに関するスナップショットを取得する情報取得ステップと、を備える。
また、本開示にかかる非一時的なコンピュータ可読媒体は、ホワイトリストにリストアップされた、プログラムの各部分に対応する第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証処理と、前記検証ステップにおいて前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムに関するスナップショットを取得する情報取得処理と、コンピュータに実行させるプログラムが記録される。
本開示によれば、改ざんされたプログラムに関するスナップショットの軽量化が可能な情報処理装置、情報処理方法、及び、プログラムが記録された非一時的なコンピュータ可読媒体を提供することができる。
実施の形態1にかかる情報処理装置の構成例を示すブロック図である。 ホワイトリストの一例を示す図である。 図1に示す情報処理装置の動作を示すフローチャートである。 図1に示す情報処理装置を含む情報処理システムの一例を示す図である。 コントロールフローグラフの一例を示す図である。 図1に示す情報処理装置によるコントロールフローグラフの改ざん検知方法を説明するための図である。
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。ただし、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
<実施の形態1>
図1は、実施の形態1にかかる情報処理装置1の構成例を示すブロック図である。
図1に示すように、情報処理装置1は、例えばIoT機器に搭載され、メモリ11と、演算処理手段12と、ホワイトリスト格納手段(WL格納手段)13と、検証手段14と、情報取得手段15と、を備える。メモリ11には、プログラム100が格納されている。
演算処理手段12は、メモリ11に格納されたプログラム100を実行する。ホワイトリスト格納手段13には、プログラム100のホワイトリスト101(不図示)が格納されている。
ホワイトリスト101には、プログラム100の改ざんチェックに用いられる検証データ(期待値)がリストアップされている。ここで、検証データとは、例えばプログラム100の各部分が格納されるメモリ11の記憶領域を指定するアドレス値、及び、そのハッシュ値、の組み合わせのことである。
図2は、ホワイトリスト101の一例を示す図である。図2の例では、プログラム100の部分であるプログラムP1~P3の格納先のアドレス値、及び、それらのハッシュ値、の組み合わせがリストアップされている。
具体的には、プログラムP1の開始アドレス値が“0x0000”、終了アドレス値が“0x0800”、プログラムP1のハッシュ値が“0x1234”となっている。また、プログラムP1に続くプログラムP2の開始アドレス値が“0x1000”、終了アドレス値が“0x2000”、プログラムP2のハッシュ値が“0xaabb”となっている。さらに、プログラムP1,P2に続くプログラムP3の開始アドレス値が“0x3000”、終了アドレス値が“0x4000”、プログラムP3のハッシュ値が“0xccdd”となっている。
検証手段14は、メモリ11に格納されたプログラム100が演算処理手段12によって実行される前に、当該プログラム100の改ざんの有無を検証する。まず、検証手段14は、メモリ11に格納されたプログラム100の各部分のハッシュ値を新たに算出する。その後、検証手段14は、算出されたプログラム100の各部分のハッシュ値と、ホワイトリスト101にリストアップされたプログラム100のハッシュ値(期待値)と、を比較することにより、プログラム100の改ざんの有無を検証する。
例えば、メモリ11に格納されたプログラム100の一部であるプログラムP1に対応するハッシュ値が期待するハッシュ値“0x1234”と異なる場合、検証手段14は、プログラムP1が改ざんされていると判断する。ここで、本実施の形態では、プログラム100の各部分にハッシュ値が割り当てられているため、検証領域を限定することができ、かつ、検証処理に要する時間を短縮することができる。情報処理装置がIoT機器に搭載されている場合、CPU速度やメモリサイズなどが限定されるため、検証領域の限定、及び、検証処理に要する時間の短縮は特に有効である。
情報取得手段15は、検証手段14によってプログラム100の何れかの部分が改ざんされていると判断された場合、その改ざんされていると判断された部分のプログラムに関するスナップショットを取得する。換言すると、情報取得手段15は、改ざんされていると判断された部分のプログラムが記憶されているメモリの記憶領域のスナップショットを取得する。
ここで、情報取得手段15は、プログラム100の全体のスナップショットを取得するのではなく、プログラム100のうち改ざんされた部分のプログラムに限定してスナップショットを取得している。また、情報取得手段15は、検証手段14によってプログラム100の何れかの部分が改ざんされていると判断されたタイミングにおける、改ざんされたプログラムのスナップショットを取得している。そのため、情報取得手段15は、スナップショット(改ざんされた部分のプログラムの情報、及び、当該改ざんされた部分のプログラムの実行状態を記したログ、を含む)を軽量化することができる。
情報取得手段15によって取得されたスナップショットは、例えば、外部に設けられたセキュリティ監視サーバ(不図示)に送信される。
このように、本実施の形態にかかる情報処理装置1は、プログラムの部分の何れかが改ざんされていると判断された場合にのみ、その改ざんされていると判断された部分のプログラムに限定してスナップショットを取得する。それにより、本実施の形態にかかる情報処理装置1は、改ざんされたプログラムに関するスナップショットを軽量化することができる。
なお、プログラム100の何れも改ざんされていない場合には、スナップショットとして取得される対象の一つであるアプリケーションおよびOS(Operating System)のログはクリア(消去)されてもよい。以下、図3を用いて、簡単に説明する。
図3は、情報処理装置1の動作の一例を示すフローチャートである。
図3に示すように、情報処理装置1では、まず、一定期間待機、又は、情報処理装置1が搭載されたIoT機器の負荷が下がるまで待機する(ステップS101)。その後、メモリ11に格納されたプログラム100全体の改ざんの有無を検証する(ステップS102)。プログラム100の何れかの部分が改ざんされていると判断された場合(ステップS103のYES)、アプリケーションおよびOSのログを取得し、セキュリティ監視サーバ等に送付する(ステップS104)。それに対し、プログラム100の何れも改ざんされていないと判断された場合(ステップS103のNO)、アプリケーションおよびOSのログはクリア(消去)されてもよい(ステップS105)。それにより、情報処理装置1に保存されるログのファイルサイズが軽減される。
また、セキュリティ監視サーバに送付されるのは、情報処理装置1に設けられた情報取得手段15により取得されたスナップショットに限られない。以下、図4を用いて簡単に説明する。
図4は、情報処理装置1を含む情報処理システムの構成例を示す図である。
図4に示すように、セキュリティ監視サーバ2には、情報処理装置1に設けられた情報取得手段15により取得されたスナップショットに加えて、HTTP Proxy301やIDS302等の外部機器から得られる改ざんに関する情報が送信されてもよい。なお、HTTP Proxyは、Hyper Text Transfer Protocol Proxyの略である。また、IDSは、Intrusion Detection Systemの略である。それにより、情報処理装置1のプログラム100の改ざんの原因の特定が容易になる。また、情報取得手段15により取得すべき改ざんに関する情報を低減させることができる。
<その他の実施の形態>
なお、実施の形態1では、ホワイトリスト101に、プログラム100の各部分が格納されるメモリ11の記憶領域を指定するアドレス値、及び、そのハッシュ値、の組み合わせがリストアップされた場合を例に説明したが、それに限られない。
例えば、ハッシュ値の代わりに、プログラム100の各部分の実体から算出でき、かつ、改ざんの有無を確認できるような指標値(例えば誤り訂正符号の値)が用いられてもよい。
或いは、ホワイトリスト101には、プログラム100を実行する際に取り得る複数のコードの実行順序を表すコントロールフローグラフ(CFG;Control Flow Graph)がリストアップされていてもよい(図5参照)。
この場合、検証手段14は、演算処理手段12によるプログラム100の実行中(或いは実行後)に新たに算出されたコントロールフローグラフG2と、ホワイトリスト101に格納されたコントロールフローグラフG1と、を比較する。それにより、プログラム100の改ざんの有無が検証される(図6参照)。なお、このときのプログラムの改ざんは、プログラム自体の改ざんに加えて、プログラムの実行順序の改ざんを含む。具体的には、コントロールフローグラフG1には記録されていないフローがコントロールフローグラフG2に記録されているとき、この状態をプログラムの実行順序の改ざんとして検知する。換言すると、コントロールフローグラフG2が、コントロールフローグラフG1の部分ブラフではないとき、この状態をプログラムの実行順序の改ざんとして検知する。
情報取得手段15は、検証手段14によってプログラム100が改ざんされていると判断された場合、コントロールフローG1,G2間で異なっている箇所を特定する。具体的には、コントロールフローグラフG1に記録されておらず、かつ、コントロールフローグラフG2のみに記録されているコントロールフローを、実行順序に違反したコントロールフローとして特定する。そして、実行順序に違反したコントロールフローが発生した時(実行順序の違反時)、もしくは、実行順序の違反を検出した時の、プログラムの実行状態を記したログをスナップショットして取得する。ここで、実行状態とは、コントロールフローグラフG2、プログラムのメモリ(スタックやヒープ)、CPUのレジスタの状態である。コントロールフローグラフG2については、コントロールフローグラフG1に含まれない部分(実行順序に違反したコントロールフロー)のみを取得してもよいし、コントロールフローグラフG2全体を取得してもよい。加えて、スタック上に関数の戻り先のアドレス(リターンアドレス)が記録されている場合は、これらのアドレスが示す先のメモリをスナップショットに加えてもよい。さらに、情報取得手段15は、改ざんを引き起こした外部からの入力、例えば、外部から受信したコマンドやデータのログもスナップショットとして取得する。
なお、ホワイトリスト101には、プログラム100の各部分が格納されるメモリ11の記憶領域を指定するアドレス値、及び、そのハッシュ値、の組み合わせと、コントロールフローグラフと、が共にリストアップされていてもよい。それにより、より高精度にプログラムの改ざんの有無を検証することが可能になる。
情報取得手段15によって取得されたスナップショットは、例えば、外部に設けられたセキュリティ監視サーバ(不図示)に送信される。また、スナップショットは、内部のストレージに保存してもよい。この際、スナップショットの改ざんを防止するために、書き換え不可能なストレージ(Write Once Read Manyメディア)や、情報取得手段15のみから読み書き可能なストレージに、スナップショットを保存してもよい。また、スナップショットを外部に送信する前や、内部のストレージに保存する際に、情報取得手段15は、改ざんを防止するための電子署名をスナップショットに付与してもよい。
以上、図面を参照して、本開示の実施の形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、本開示の要旨を逸脱しない範囲内において様々な設計変更等が可能である。たとえば、ホワイトリスト生成装置の動作を実現する機能を、ネットワークで接続された複数の装置で構成しかつ動作するようにしてもよい。
上述の実施の形態では、本開示をハードウェアの構成として説明したが、本開示は、これに限定されるものではない。本開示は、ホワイトリスト生成装置の全部又は一部の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
上述の実施の形態では、ホワイトリスト格納手段13、検証手段14、情報取得手段15は、ハードウェアやCPUのプログラム100と同じ領域で実行される構成を示したが、プログラム100から隔離された領域で実行されるように構成してもよい。この構成により、攻撃されたプログラム100を通じて、ホワイトリスト格納手段13、検証手段14、情報取得手段15が攻撃されることを防ぐことができる。具体的には、ホワイトリスト格納手段13、検証手段14、情報取得手段15を、プログラム100が動作するCPUやメモリとは別のCPUやメモリで動作させる構成や、CPUが提供するTEEの中で動作させる構成としてもよい。なお、TEEは、Trusted Execution Environmentの略である。TEEの具体例としてARMのTrustZoneが提供するSecure Worldが挙げられる。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体、光磁気記録媒体、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリを含む。磁気記録媒体は、例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブなどである。光磁気記録媒体は、例えば光り磁気ディスクなどである。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)などである。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 情報処理装置
2 セキュリティ監視サーバ
11 メモリ
12 演算処理手段
13 ホワイトリスト格納手段
14 検証手段
15 情報取得手段
100 プログラム
101 ホワイトリスト
301 HTTP Proxy
302 IDS
G1,G2 コントロールフローグラフ
P1~P3 プログラム

Claims (4)

  1. プログラムが格納されるメモリと、
    前記プログラムの各部分に対応する第1検証データがリストアップされたホワイトリスト、が格納されたホワイトリスト格納手段と、
    前記プログラムを実行する演算処理手段と、
    前記ホワイトリストにリストアップされた前記第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証手段と、
    前記検証手段によって前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムの部分に関するスナップショットを取得する情報取得手段と、
    を備えた、情報処理装置であって、
    前記第1検証データは、前記プログラムの実行の際に取り得る複数のコードの実行順序を表すコントロールフローグラフであって、
    前記第2検証データは、前記プログラムの実行に際して新たに算出される前記第1検証データに対応するデータであって、
    前記検証手段は、前記第1検証データによって表されるコントロールフローグラフと、前記第2検証データによって表されるコントロールフローグラフと、が異なる場合に、前記プログラムの何れかの部分が改ざんされたと判断するように構成され、
    前記情報取得手段は、前記検証手段によって前記プログラムの何れかの部分が改ざんされていると判断された場合、前記第2検証データによって表されるコントロールフローグラフのうち、前記第1検証データによって表されるコントロールフローグラフと異なっている箇所のプログラムの実行状態を記したログ、及び、改ざんを引き起こした外部からのコマンドのログ、の少なくとも何れかを前記スナップショットとして取得するように構成されている、
    情報処理装置。
  2. 前記検証手段によって前記プログラムが改ざんされていない判断された場合、前記演算処理手段による前記プログラムの実行状態を記した実行ログは消去される、
    請求項1に記載の情報処理装置。
  3. 情報処理装置が、
    ホワイトリストにリストアップされた、プログラムの各部分に対応する第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証ステップと、
    前記検証ステップにおいて前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムに関するスナップショットを取得する情報取得ステップと、
    を備えた、情報処理方法であって、
    前記第1検証データは、前記プログラムの実行の際に取り得る複数のコードの実行順序を表すコントロールフローグラフであって、
    前記第2検証データは、前記プログラムの実行に際して新たに算出される前記第1検証データに対応するデータであって、
    前記情報処理装置が、
    前記検証ステップでは、前記第1検証データによって表されるコントロールフローグラフと、前記第2検証データによって表されるコントロールフローグラフと、が異なる場合に、前記プログラムの何れかの部分が改ざんされたと判断し、
    前記情報取得ステップでは、前記検証ステップにおいて前記プログラムの何れかの部分が改ざんされていると判断された場合、前記第2検証データによって表されるコントロールフローグラフのうち、前記第1検証データによって表されるコントロールフローグラフと異なっている箇所のプログラムの実行状態を記したログ、及び、改ざんを引き起こした外部からのコマンドのログ、の少なくとも何れかを前記スナップショットとして取得する、
    情報処理方法。
  4. ホワイトリストにリストアップされた、プログラムの各部分に対応する第1検証データと、前記プログラムの各部分の実行に際して新たに算出される第2検証データと、を比較することにより、前記プログラムの各部分の改ざんの有無を検証する検証処理と、
    前記検証処理において前記プログラムの何れかの部分が改ざんされていると判断された場合、前記改ざんされていると判断されたプログラムに関するスナップショットを取得する情報取得処理と、
    をコンピュータに実行させるプログラムであって、
    前記第1検証データは、前記プログラムの実行の際に取り得る複数のコードの実行順序を表すコントロールフローグラフであって、
    前記第2検証データは、前記プログラムの実行に際して新たに算出される前記第1検証データに対応するデータであって、
    前記検証処理では、前記第1検証データによって表されるコントロールフローグラフと、前記第2検証データによって表されるコントロールフローグラフと、が異なる場合に、前記プログラムの何れかの部分が改ざんされたと判断する処理をコンピュータに実行させ、
    前記情報取得処理では、前記検証処理によって前記プログラムの何れかの部分が改ざんされていると判断された場合、前記第2検証データによって表されるコントロールフローグラフのうち、前記第1検証データによって表されるコントロールフローグラフと異なっている箇所のプログラムの実行状態を記したログ、及び、改ざんを引き起こした外部からのコマンドのログ、の少なくとも何れかを前記スナップショットとして取得する処理をコンピュータに実行させる、
    プログラム。
JP2021548114A 2019-09-27 2019-09-27 情報処理装置、情報処理方法、及び、プログラム Active JP7283552B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/038141 WO2021059478A1 (ja) 2019-09-27 2019-09-27 情報処理装置、情報処理方法、及び、プログラムが記録された非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2021059478A1 JPWO2021059478A1 (ja) 2021-04-01
JPWO2021059478A5 JPWO2021059478A5 (ja) 2022-05-23
JP7283552B2 true JP7283552B2 (ja) 2023-05-30

Family

ID=75165632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021548114A Active JP7283552B2 (ja) 2019-09-27 2019-09-27 情報処理装置、情報処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US20220374510A1 (ja)
JP (1) JP7283552B2 (ja)
WO (1) WO2021059478A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024630A1 (ja) 2003-09-04 2005-03-17 Science Park Corporation 不正コード実行の防止方法および防止プログラム
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
JP2009043085A (ja) 2007-08-09 2009-02-26 Nec Corp 改ざん検出システム、改ざん検出方法、無線ネットワーク制御装置及び携帯電話端末
JP2011048851A (ja) 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄検出装置及び改竄検出方法
JP2012078953A (ja) 2010-09-30 2012-04-19 Kyocera Mita Corp 改ざん検知装置及び改ざん検知方法
WO2019151013A1 (ja) 2018-02-02 2019-08-08 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184041A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Graph-Based Tamper Resistance Modeling For Software Protection
US9832211B2 (en) * 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
CN108351938B (zh) * 2015-10-29 2022-02-08 惠普发展公司,有限责任合伙企业 校验针对程序代码的一部分所计算的安全值的装置、系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024630A1 (ja) 2003-09-04 2005-03-17 Science Park Corporation 不正コード実行の防止方法および防止プログラム
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
JP2009043085A (ja) 2007-08-09 2009-02-26 Nec Corp 改ざん検出システム、改ざん検出方法、無線ネットワーク制御装置及び携帯電話端末
JP2012078953A (ja) 2010-09-30 2012-04-19 Kyocera Mita Corp 改ざん検知装置及び改ざん検知方法
JP2011048851A (ja) 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄検出装置及び改竄検出方法
WO2019151013A1 (ja) 2018-02-02 2019-08-08 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体

Also Published As

Publication number Publication date
WO2021059478A1 (ja) 2021-04-01
JPWO2021059478A1 (ja) 2021-04-01
US20220374510A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US9081954B2 (en) Verifying firmware integrity of a device
US11507669B1 (en) Characterizing, detecting and healing vulnerabilities in computer code
US8701187B2 (en) Runtime integrity chain verification
JP5863973B2 (ja) プログラム実行装置及びプログラム解析装置
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
US10114948B2 (en) Hypervisor-based buffer overflow detection and prevention
KR20190021673A (ko) 랜섬웨어 방지 장치 및 방법
WO2017133442A1 (zh) 一种实时度量方法及装置
US11106602B2 (en) Memory blockade for verifying system security with respect to speculative execution
JP7283552B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN112558884A (zh) 数据保护方法以及基于NVMe的存储设备
Rajput et al. {ICSPatch}: Automated Vulnerability Localization and {Non-Intrusive} Hotpatching in Industrial Control Systems using Data Dependence Graphs
KR101842263B1 (ko) 어플리케이션에 대한 역공학 차단 방법 및 장치
US10691586B2 (en) Apparatus and method for software self-test
WO2021014539A1 (ja) セキュリティ管理装置、セキュリティ管理方法、及び非一時的なコンピュータ可読媒体
US10242195B2 (en) Integrity values for beginning booting instructions
JP7201069B2 (ja) ファームウェア書き換え装置、ファームウェア書き換え方法、及び、制御プログラム
KR101265530B1 (ko) 악성 프로그램 차단 장치 및 방법
JP4583808B2 (ja) プログラム実行制御装置及びプログラム実行制御方法
JP5070137B2 (ja) 記憶装置及びデータ書込装置
KR102479310B1 (ko) 신뢰가능한 실행 환경을 이용한 캐시 부 채널 공격 탐지 방법 및 장치
KR101616793B1 (ko) 애플리케이션 무결성 검사 방법
JP6594213B2 (ja) 制御装置およびプログラム
Yu et al. Detecting the Control Flow Attacks Based on Built-in Secure Register Bank
WO2023129992A1 (en) Memory hybrid-dynamic vulnerability assessment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230501

R151 Written notification of patent or utility model registration

Ref document number: 7283552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151