JP2020102210A - コンピュータ可読プログラムの情報漏れの判別 - Google Patents
コンピュータ可読プログラムの情報漏れの判別 Download PDFInfo
- Publication number
- JP2020102210A JP2020102210A JP2019224604A JP2019224604A JP2020102210A JP 2020102210 A JP2020102210 A JP 2020102210A JP 2019224604 A JP2019224604 A JP 2019224604A JP 2019224604 A JP2019224604 A JP 2019224604A JP 2020102210 A JP2020102210 A JP 2020102210A
- Authority
- JP
- Japan
- Prior art keywords
- component
- information
- leak
- computer
- determining
- 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
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 23
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 238000003786 synthesis reaction Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
- G06F21/54—Monitoring 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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
として表現されてもよい。
(付記1)
コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
方法。
(付記2)
前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、付記1記載の方法。
(付記3)
前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、付記1記載の方法。
(付記4)
前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
付記1記載の方法。
(付記5)
特定の情報を使って前記コンピュータ可読プログラムを実行する段階と;
前記第一の情報漏れを決定する段階に応答して、前記特定の情報が前記コンピュータ可読プログラムの実行中に露出されたかどうかを判定することをさらに含む、
付記1記載の方法。
(付記6)
前記第二のコンポーネントが第一の入力および第一の出力を有し、
前記第三のコンポーネントが第二の入力および第二の出力を有し、
前記関係が、前記第一の入力が前記第二の出力から独立であり、前記第二の入力が前記第一の出力から独立である前記第二のコンポーネントと前記第三のコンポーネントとの並列合成を含み、
前記第一の情報漏れを決定することは、前記第二の情報漏れと前記第三の情報漏れとを前記第一の情報漏れにおいて独立して組み合わせることを含む、
付記1記載の方法。
(付記7)
前記第二のコンポーネントが第一の入力および第一の出力を有し、
前記第三のコンポーネントが第二の入力および第二の出力を有し、
前記関係が、前記第一の出力が前記第二の入力として前記第三のコンポーネントによって使用される逐次合成を含み、
前記第一の情報漏れを決定することは、前記第二の情報漏れと前記第一の出力を前記第二の入力として使う前記第三のコンポーネントの第四の情報漏れとを組み合わせることを含む、
付記1記載の方法。
(付記8)
前記コンピュータ可読プログラムは、前記関係が、ある条件の満足に応答して前記第二のコンポーネントが実行され、前記条件の不満足に応答して前記第三のコンポーネントが実行されるような条件付き分岐を含むよう構成され、
前記第一の情報漏れを決定することは、前記条件が満たされるかどうかを前記第一の情報漏れに含めることを含む、
付記1記載の方法。
(付記9)
前記第一の情報漏れが前記条件が満たされるかどうかを含むことに応答して:
前記第二のコンポーネントが前記第三のコンポーネントとメモリにおいて同じサイズになるよう、前記第二のコンポーネントにパディングすること;および
メモリにおける前記第二のコンポーネントおよび前記第三のコンポーネントの命令ブロックの位置を忘却的にシャッフルすることをさらに含む、
付記8記載の方法。
(付記10)
前記関係が、前記第三のコンポーネントが実行される前に前記第二のコンポーネントがある回数実行される原始的再帰を含み、
前記第一の情報漏れを決定することは、前記第二のコンポーネントが実行される回数を前記第一の情報漏れに含めることを含む、
付記1記載の方法。
(付記11)
第二のコンポーネントが第四のコンポーネントおよび第五のコンポーネントから構成され、前記第二の情報漏れを得ることは:
前記第四のコンポーネントの第五の情報漏れを取得する段階と;
前記第五のコンポーネントの第六の情報漏れを取得する段階と;
前記第二のコンポーネントに対する前記第四のコンポーネントと前記第五のコンポーネントとの間の第二の関係の判別する段階と;
前記第五の情報漏れ、前記第六の情報漏れ、および前記第二の関係に基づいて前記第二の情報漏れを決定する段階とを含む、
付記1記載の方法。
(付記12)
前記コンピュータ可読プログラムを取得する段階と;
前記コンピュータ可読プログラムを、前記第二のコンポーネントおよび前記第三のコンポーネントを含む複数のコンポーネントに分割する段階と;
前記複数のコンポーネントのそれぞれを再帰的にサブコンポーネントに細分する段階と;
前記複数のサブコンポーネントのそれぞれについて漏れを得る段階と;
各サブコンポーネントの漏れに基づいて前記コンピュータ可読プログラムの総合漏れを決定する段階とをさらに含む、
付記1記載の方法。
(付記13)
少なくとも一つのプロセッサによって実行されたときに、システムに動作を実行させる、または動作を実行するよう指令する一つまたは複数の命令を記憶するよう構成された少なくとも一つの非一時的なコンピュータ可読媒体であって、前記動作は:
コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
非一時的なコンピュータ可読媒体。
(付記14)
前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、付記13記載の非一時的なコンピュータ可読媒体。
(付記15)
前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、付記13記載の非一時的なコンピュータ可読媒体。
(付記16)
前記動作が:
前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
付記13記載の非一時的なコンピュータ可読媒体。
(付記17)
一つまたは複数のプロセッサと、一つまたは複数のコンピュータ可読媒体とを含むシステムであって、当該システムは動作を実行するよう構成され、前記動作は:
コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
システム。
(付記18)
前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、付記17記載のシステム。
(付記19)
前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、付記17記載のシステム。
(付記20)
前記動作が:
前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
付記17記載のシステム。
104 機微な情報
110 コンポーネント
120 情報漏れ識別器
130 情報漏れプロファイル
132 漏らされる機微な情報
140 修正されたコンピュータ可読プログラム
310 コンピュータ可読プログラムの第一のコンポーネントを取得。未知の第一の情報漏れがある。第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントを含む
320 第二のコンポーネントの第二の情報漏れを取得
330 第三のコンポーネントの第三の情報漏れを取得
340 第一のコンポーネントに対する第二のコンポーネントと第三のコンポーネントとの間の関係を判別
350 前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定
400 コンピューティング・システム
402 プロセッサ
404 メモリ
406 データ記憶
408 通信ユニット
Claims (20)
- コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
方法。 - 前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、請求項1記載の方法。
- 前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、請求項1記載の方法。
- 前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
請求項1記載の方法。 - 特定の情報を使って前記コンピュータ可読プログラムを実行する段階と;
前記第一の情報漏れを決定する段階に応答して、前記特定の情報が前記コンピュータ可読プログラムの実行中に露出されたかどうかを判定することをさらに含む、
請求項1記載の方法。 - 前記第二のコンポーネントが第一の入力および第一の出力を有し、
前記第三のコンポーネントが第二の入力および第二の出力を有し、
前記関係が、前記第一の入力が前記第二の出力から独立であり、前記第二の入力が前記第一の出力から独立である前記第二のコンポーネントと前記第三のコンポーネントとの並列合成を含み、
前記第一の情報漏れを決定することは、前記第二の情報漏れと前記第三の情報漏れとを前記第一の情報漏れにおいて独立して組み合わせることを含む、
請求項1記載の方法。 - 前記第二のコンポーネントが第一の入力および第一の出力を有し、
前記第三のコンポーネントが第二の入力および第二の出力を有し、
前記関係が、前記第一の出力が前記第二の入力として前記第三のコンポーネントによって使用される逐次合成を含み、
前記第一の情報漏れを決定することは、前記第二の情報漏れと前記第一の出力を前記第二の入力として使う前記第三のコンポーネントの第四の情報漏れとを組み合わせることを含む、
請求項1記載の方法。 - 前記コンピュータ可読プログラムは、前記関係が、ある条件の満足に応答して前記第二のコンポーネントが実行され、前記条件の不満足に応答して前記第三のコンポーネントが実行されるような条件付き分岐を含むよう構成され、
前記第一の情報漏れを決定することは、前記条件が満たされるかどうかを前記第一の情報漏れに含めることを含む、
請求項1記載の方法。 - 前記第一の情報漏れが前記条件が満たされるかどうかを含むことに応答して:
前記第二のコンポーネントが前記第三のコンポーネントとメモリにおいて同じサイズになるよう、前記第二のコンポーネントにパディングすること;および
メモリにおける前記第二のコンポーネントおよび前記第三のコンポーネントの命令ブロックの位置を忘却的にシャッフルすることをさらに含む、
請求項8記載の方法。 - 前記関係が、前記第三のコンポーネントが実行される前に前記第二のコンポーネントがある回数実行される原始的再帰を含み、
前記第一の情報漏れを決定することは、前記第二のコンポーネントが実行される回数を前記第一の情報漏れに含めることを含む、
請求項1記載の方法。 - 第二のコンポーネントが第四のコンポーネントおよび第五のコンポーネントから構成され、前記第二の情報漏れを得ることは:
前記第四のコンポーネントの第五の情報漏れを取得する段階と;
前記第五のコンポーネントの第六の情報漏れを取得する段階と;
前記第二のコンポーネントに対する前記第四のコンポーネントと前記第五のコンポーネントとの間の第二の関係の判別する段階と;
前記第五の情報漏れ、前記第六の情報漏れ、および前記第二の関係に基づいて前記第二の情報漏れを決定する段階とを含む、
請求項1記載の方法。 - 前記コンピュータ可読プログラムを取得する段階と;
前記コンピュータ可読プログラムを、前記第二のコンポーネントおよび前記第三のコンポーネントを含む複数のコンポーネントに分割する段階と;
前記複数のコンポーネントのそれぞれを再帰的にサブコンポーネントに細分する段階と;
前記複数のサブコンポーネントのそれぞれについて漏れを得る段階と;
各サブコンポーネントの漏れに基づいて前記コンピュータ可読プログラムの総合漏れを決定する段階とをさらに含む、
請求項1記載の方法。 - 少なくとも一つのプロセッサによって実行されたときに、システムに動作を実行させる、または動作を実行するよう指令する一つまたは複数の命令を記憶するよう構成された少なくとも一つの非一時的なコンピュータ可読媒体であって、前記動作は:
コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
非一時的なコンピュータ可読媒体。 - 前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、請求項13記載の非一時的なコンピュータ可読媒体。
- 前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、請求項13記載の非一時的なコンピュータ可読媒体。
- 前記動作が:
前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
請求項13記載の非一時的なコンピュータ可読媒体。 - 一つまたは複数のプロセッサと、一つまたは複数のコンピュータ可読媒体とを含むシステムであって、当該システムは動作を実行するよう構成され、前記動作は:
コンピュータ可読プログラムの第一のコンポーネントを得る段階であって、前記第一のコンポーネントは、未知の第一の情報漏れを有し、前記第一のコンポーネントは、第二のコンポーネントおよび第三のコンポーネントから構成される、段階と;
前記第二のコンポーネントの第二の情報漏れを得る段階と;
前記第三のコンポーネントの第三の情報漏れを得る段階と;
前記第一のコンポーネントに対する前記第二のコンポーネントと前記第三のコンポーネントとの間の関係を判別する段階と;
前記第二の情報漏れ、前記第三の情報漏れ、および前記関係に基づいて前記第一の情報漏れを決定する段階とを含む、
システム。 - 前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一の情報漏れを低減するよう、前記第一のコンポーネントにおける安全でないコード行を、前記第一のコンポーネントにおける一つまたは複数の安全なコード行で置き換える段階をさらに含む、請求項17記載のシステム。
- 前記動作が:前記第一の情報漏れを決定する段階に応答して、前記第一のコンポーネントによってアクセスされる情報が露出の危険にさらされていることを示すために、前記第一のコンポーネントを、安全でないとしてフラグ付けする段階をさらに含む、請求項17記載のシステム。
- 前記動作が:
前記第一の情報漏れを決定する段階に応答して、前記コンピュータ可読プログラムが機微な情報を漏らすか否かを判定し、
前記コンピュータ可読プログラムが前記機微な情報を漏らすと判定することに応答して、前記コンピュータ可読プログラムを、前記機微な情報を使用しての実行のためには承認されないとしてフラグ付けすることをさらに含む、
請求項17記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/231031 | 2018-12-21 | ||
US16/231,031 US11042634B2 (en) | 2018-12-21 | 2018-12-21 | Determining information leakage of computer-readable programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020102210A true JP2020102210A (ja) | 2020-07-02 |
JP7331679B2 JP7331679B2 (ja) | 2023-08-23 |
Family
ID=68762410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019224604A Active JP7331679B2 (ja) | 2018-12-21 | 2019-12-12 | コンピュータ可読プログラムの情報漏れの判別 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11042634B2 (ja) |
EP (1) | EP3671510A1 (ja) |
JP (1) | JP7331679B2 (ja) |
CN (1) | CN111353159A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
JP2010136066A (ja) * | 2008-12-04 | 2010-06-17 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2012141741A (ja) * | 2010-12-28 | 2012-07-26 | Fujitsu Ltd | 解析支援プログラム,解析支援装置および解析支援方法 |
JP2015106336A (ja) * | 2013-12-02 | 2015-06-08 | 日本電信電話株式会社 | バイト列抽出装置、バイト列抽出方法、および、バイト列抽出プログラム |
JP2016128941A (ja) * | 2015-01-09 | 2016-07-14 | 日本電気株式会社 | 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
JP4799239B2 (ja) * | 2006-03-29 | 2011-10-26 | 株式会社日立ソリューションズ | 情報漏洩防止方法及びリムーバブルメディア |
US10025688B2 (en) * | 2010-03-14 | 2018-07-17 | Virtual Forge GmbH | System and method for detecting data extrusion in software applications |
KR101278990B1 (ko) * | 2012-01-26 | 2013-07-30 | 주식회사 인프라웨어테크놀러지 | 컨텐츠 복사조작에 의한 정보유출 방지방법, 그리고 컨텐츠 복사조작에 의한 정보유출 방지 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
US9858440B1 (en) * | 2014-05-23 | 2018-01-02 | Shape Security, Inc. | Encoding of sensitive data |
US10402122B2 (en) * | 2015-05-29 | 2019-09-03 | Pure Storage, Inc. | Transferring encoded data slices in a dispersed storage network |
US10110566B2 (en) * | 2015-07-21 | 2018-10-23 | Baffle, Inc. | Systems and processes for executing private programs on untrusted computers |
US9940105B2 (en) * | 2015-09-28 | 2018-04-10 | International Business Machines Corporation | Scalable code division and workflow chart |
US10891167B2 (en) * | 2015-12-30 | 2021-01-12 | Siege Technologies, Llc | Memory fractionation software protection |
US10102368B2 (en) * | 2016-01-20 | 2018-10-16 | Qualcomm Incorporated | Information flow tracking using incremental profiling |
WO2017217163A1 (ja) * | 2016-06-17 | 2017-12-21 | 日本電信電話株式会社 | アクセス分類装置、アクセス分類方法及びアクセス分類プログラム |
CN106570399B (zh) * | 2016-09-30 | 2019-07-12 | 西北大学 | 一种跨App组件间隐私泄露的检测方法 |
EP3506140B1 (en) * | 2016-10-06 | 2021-04-14 | Nippon Telegraph and Telephone Corporation | Hacking code sensing device, hacking code sensing method, and hacking code sensing program |
WO2018108275A1 (en) * | 2016-12-15 | 2018-06-21 | Irdeto B.V. | Software integrity verification |
EP3367606B1 (en) * | 2017-02-24 | 2019-09-18 | Secure-IC SAS | Automatic insertion of masking into an algorithm |
US10878103B2 (en) * | 2017-06-05 | 2020-12-29 | Karamba Security Ltd. | In-memory protection for controller security |
US11074339B2 (en) * | 2017-06-27 | 2021-07-27 | RAM Laboratories, Inc. | Software protection through code and control flow data hiding and obfuscation |
US10943007B2 (en) * | 2017-09-20 | 2021-03-09 | Twistlock, Ltd | System and method for defending applications invoking anonymous functions |
US10915631B2 (en) * | 2017-12-28 | 2021-02-09 | Intel Corporation | Deep learning on execution trace data for exploit detection |
US10970390B2 (en) * | 2018-02-15 | 2021-04-06 | Intel Corporation | Mechanism to prevent software side channels |
US11250123B2 (en) * | 2018-02-28 | 2022-02-15 | Red Hat, Inc. | Labeled security for control flow inside executable program code |
US20190303564A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Automated code highlighting to identify risk in software programming |
US11087001B2 (en) * | 2018-04-04 | 2021-08-10 | Red Hat, Inc. | Determining location of speculation denial instructions for memory access vulnerabilities |
US10628581B2 (en) * | 2018-04-24 | 2020-04-21 | Dell Products, Lp | System and method for forced data leakage prevention |
CN108845934A (zh) * | 2018-05-24 | 2018-11-20 | 深圳市腾讯网络信息技术有限公司 | 内存泄漏源的定位方法和装置、存储介质、电子装置 |
US11809871B2 (en) * | 2018-09-17 | 2023-11-07 | Raytheon Company | Dynamic fragmented address space layout randomization |
-
2018
- 2018-12-21 US US16/231,031 patent/US11042634B2/en active Active
-
2019
- 2019-11-21 EP EP19210590.6A patent/EP3671510A1/en not_active Withdrawn
- 2019-12-12 JP JP2019224604A patent/JP7331679B2/ja active Active
- 2019-12-19 CN CN201911317359.0A patent/CN111353159A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
US20070271617A1 (en) * | 2005-02-17 | 2007-11-22 | Fujitsu Limited | Vulnerability check program, vulnerability check apparatus, and vulnerability check method |
JP2010136066A (ja) * | 2008-12-04 | 2010-06-17 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2012141741A (ja) * | 2010-12-28 | 2012-07-26 | Fujitsu Ltd | 解析支援プログラム,解析支援装置および解析支援方法 |
JP2015106336A (ja) * | 2013-12-02 | 2015-06-08 | 日本電信電話株式会社 | バイト列抽出装置、バイト列抽出方法、および、バイト列抽出プログラム |
JP2016128941A (ja) * | 2015-01-09 | 2016-07-14 | 日本電気株式会社 | 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7331679B2 (ja) | 2023-08-23 |
US20200201991A1 (en) | 2020-06-25 |
US11042634B2 (en) | 2021-06-22 |
EP3671510A1 (en) | 2020-06-24 |
CN111353159A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819637B2 (en) | Fixing security vulnerability in a source code | |
US8656496B2 (en) | Global variable security analysis | |
US8627465B2 (en) | Automatic inference of whitelist-based validation as part of static analysis for security | |
US8434147B2 (en) | Method, system and program product for remotely verifying integrity of a system | |
US8850405B2 (en) | Generating sound and minimal security reports based on static analysis of a program | |
CN105022958B (zh) | 一种安卓应用中基于代码库安全规约的应用程序漏洞检测分析方法 | |
US20240121261A1 (en) | Automated Security Analysis of Software Libraries | |
US20160246986A1 (en) | Code analysis for providing data privacy in etl systems | |
CN110704306A (zh) | 测试中的断言处理方法、装置、设备及存储介质 | |
US20190361788A1 (en) | Interactive analysis of a security specification | |
Graf | Information Flow Control with System Dependence Graphs-Improving Modularity, Scalability and Precision for Object Oriented Languages | |
Eilers et al. | Product programs in the wild: Retrofitting program verifiers to check information flow security | |
Bloem et al. | Model-based MCDC testing of complex decisions for the java card applet firewall | |
CN106257482B (zh) | 数据分析结果的管控放置 | |
Crincoli et al. | Vulnerable smart contract detection by means of model checking | |
CN109947403B (zh) | 一种安全目标的分解与建模方法及相关设备 | |
JP7331679B2 (ja) | コンピュータ可読プログラムの情報漏れの判別 | |
Beksultanova et al. | Analysis tools for smart contract security | |
WO2023121825A1 (en) | Application identity account compromise detection | |
US11593249B2 (en) | Scalable points-to analysis via multiple slicing | |
US10747871B2 (en) | System and method for producing secure data management software | |
Qamar et al. | Automated reviewing of healthcare security policies | |
Staff | Future cyberdefenses will defeat cyberattacks on PCs | |
Tullos | Characterizing security monitor and embedded system performance across distinct risc-v ip-cores | |
US20160048629A1 (en) | Automatic generation of test layouts for testing a design rule checking tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230630 |
|
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: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7331679 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |