JP7238996B2 - バックドア検査装置、方法及びプログラム - Google Patents

バックドア検査装置、方法及びプログラム Download PDF

Info

Publication number
JP7238996B2
JP7238996B2 JP2021539723A JP2021539723A JP7238996B2 JP 7238996 B2 JP7238996 B2 JP 7238996B2 JP 2021539723 A JP2021539723 A JP 2021539723A JP 2021539723 A JP2021539723 A JP 2021539723A JP 7238996 B2 JP7238996 B2 JP 7238996B2
Authority
JP
Japan
Prior art keywords
backdoor
code
confidential
software
inspection device
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
JP2021539723A
Other languages
English (en)
Other versions
JPWO2021028989A5 (ja
JPWO2021028989A1 (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 JPWO2021028989A1 publication Critical patent/JPWO2021028989A1/ja
Publication of JPWO2021028989A5 publication Critical patent/JPWO2021028989A5/ja
Application granted granted Critical
Publication of JP7238996B2 publication Critical patent/JP7238996B2/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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
    • G06F21/54Monitoring 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
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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

Description

本開示は、バックドア検査装置、方法及び非一時的なコンピュータ可読媒体に関するものであり、特に、ソフトウェアからバックドアである可能性の高いコードを検出することが可能なバックドア検査装置、方法及び非一時的なコンピュータ可読媒体に関する。
近年、日常の暮らしを支えるインフラや企業システムは複雑化しており、単一の企業のデバイス(機器)だけで構成することは難しい。そこで、外部からデバイスを調達し、調達したデバイスを組み合わせ、又は、組み込んでインフラや企業システムを構成する。インフラや企業システムを構成する際、調達したデバイスの製造者及び製造・流通チェーンは信頼できるという前提で取り扱われる。しかしながら、これらの組込みデバイスにおいて、ソフトウェア、ファームウェア、及びハードウェアの面で、ユーザ(組込み者)が認知していない隠された機能や予期しない機能が発見される事象(インシデント)が多数報告されている。従って、デバイスの製造者及び製造・流通チェーンが信頼できるという前提が成り立たなくなってきており、例えば、ソフトウェア内の不正な機能を検出する方法が必要となってきている。尚、ユーザが認知していない隠された機能や追加的な機能であって、ソフトウェア内の不正な機能のことを、「バックドア」と称する。
特許文献1には、バイナリコードに対しバイナリコード分析器及び関数呼出し・システムコール抽出器で静的解析をし、呼出される関数やシステムコール、APIの呼出しと呼出し時の引数値及び条件を抽出し、一方で内部仕様書では内部仕様から、外部仕様書、機能定義書、マニュアルでは、これらとファンクションデータベースから外部仕様や機能定義から呼出される関数やシステムコール、APIの呼出しと呼出し時の引数値及び条件を仕様書・定義書解読器で抽出、両抽出結果を正/不正コード判別器で比較し、結果を元に不正コードの検出結果を出力することが開示されている。
特許文献2には、方法、および方法を実施するコンピューティングデバイスは、ソフトウェアアプリケーションが望ましくない挙動または性能を劣化させる挙動を引き起こしているかどうかを予測するように構成される、網羅的な挙動監視および分析システムの効率性と性能とを向上させることが開示されている。また、特許文献2には、挙動監視および分析システムは、あるソフトウェアアプリケーションの活動を特徴付ける挙動ベクトルを生成し、そのソフトウェアアプリケーションを信頼できるソフトウェアアプリケーションとして特定する際立った挙動または挙動の手がかりを生成された挙動ベクトルが含むかどうかを判定し、そのソフトウェアアプリケーションを信頼できるソフトウェアアプリケーションとして特定する際立った挙動を生成された挙動ベクトルが含むと判定したことに応答して、そのソフトウェアアプリケーションを良性であるものとして分類することによって、そのソフトウェアアプリケーションを良性であるものとして迅速かつ効率的に分類するように構成され得ることが開示されている。
特開2009-098851号公報 特表2017-504102号公報
上述のように、ソフトウェア内の不正な機能を検出する方法が必要であるという課題があった。また、ソフトウェアからバックドアの可能性のあるコードが多数発見された場合、バックドアに優先順位を付け優先順位の高いバックドア、すなわち、バックドアである可能性が高いコードを検出する必要があるという課題があった。特許文献1及び特許文献2は、これらの課題を解決することは開示していない。
本開示の目的は、上述した課題のいずれかを解決するバックドア検査装置、方法及び非一時的なコンピュータ可読媒体を提供することにある。
本開示に係るバックドア検査装置は、
ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定するデータフロー解析手段と、
前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定するバックドア判定手段と、
を備える。
本開示に係るバックドア検査装置は、
機密データのソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定するデータフロー解析手段と、
前記機密コードの機能と構造とを解析し、バックドアであると推定される推定コードを前記機密コードから特定するバックドア推定手段と、
前記推定コードを、前記バックドアである可能性が前記機密コードよりも高いバックドアコードとして特定するバックドア判定手段と、
を備える。
本開示に係る方法は、
ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定することと、
前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定することと、
を備える。
本開示に係る非一時的なコンピュータ可読媒体は、
ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定することと、
前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定することと、
をコンピュータに実行させるプログラムが格納される。
本開示によれば、ソフトウェアからバックドアである可能性の高いコードを検出することが可能なバックドア検査装置、方法及び非一時的なコンピュータ可読媒体を提供することができる。
実施の形態1に係るバックドア検査装置を例示するブロック図である。 実施の形態1に係るバックドア検査装置を例示するブロック図である。 データフロー解析を例示する模式図である。 ソフトウェア内における機密データの伝搬状況を例示する模式図である。 実施の形態1に係るバックドア検査装置の動作を例示するフローチャートである。 実施の形態2に係るバックドア検査装置の動作を例示するフローチャートである。 実施の形態3に係るバックドア検査装置を例示するブロック図である。 実施の形態3に係るバックドア検査装置の動作を例示するフローチャートである。 実施の形態4に係るバックドア検査装置の動作を例示するフローチャートである。
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
[実施の形態1]
実施の形態1に係るバックドア検査装置の構成の概要を説明する。
実施の形態1では、データ漏洩、もしくは、データ書換えを起こすタイプのバックドアに本開示を適用することを例に挙げて説明する。
図1は、実施の形態1に係るバックドア検査装置を例示するブロック図である。
図1に示すように、実施の形態1に係るバックドア検査装置11は、バックドア推定手段111と、データフロー解析手段112と、バックドア判定手段113と、を備える。
バックドア推定手段111は、ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードをソフトウェアから特定する。機器を使用するユーザが認知していない隠された機能や追加的な機能であって、ソフトウェア内の不正な機能、又は、望まれていない機能のことを、「バックドア」と称する。ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードをソフトウェアから特定することを、「バックドア解析」と称することもある。
データフロー解析手段112は、機密データのソフトウェア内での伝搬状況を解析し、機密データを処理する機密コードをソフトウェアから特定する。機密データは、ソフトウェアがインストールされる機器のユーザ情報(個人情報や業務情報)、機器に入力されるパスワード、暗号化に用いる秘密鍵、ソフトウェアや機器の設定情報、及びソフトウェアがインストールされた機器が収集する情報(温度センサであれば温度情報、監視カメラであれば画像データなど)のうち少なくとも1つを含んでもよい。機密データのソフトウェア内での伝搬状況を解析し、機密データを処理する機密コードをソフトウェアから特定することを、「データフロー解析」と称することもある。
バックドア判定手段113は、推定コードと機密コードとに基づいて、バックドアである可能性が推定コードよりも高いバックドアコードを特定する。すなわち、バックドア判定手段113は、バックドアとして動作する可能性が推定コードよりも高いバックドアコードを特定する。
これにより、バックドアである可能性の高いコードとして特定されたバックドアコードを優先的に検査することができる。その結果、実施の形態1によれば、バックドアである可能性の高いコードを検出することが可能なバックドア検査装置を提供することができる。
尚、コードは、ソースコードでも実行コードでもよい。複数のコードをまとめてコードブロックと称することもある。機密データを、機密情報と称することもある。
実施の形態1に係るバックドア検査装置の構成の詳細を説明する。
図2は、実施の形態1に係るバックドア検査装置を例示するブロック図である。
図2は、図1の詳細を示す。
図2に示すように、バックドア検査装置11のバックドア推定手段111は、機能推定手段1111と構造解析手段1112と分析手段1113とを有する。
機能推定手段1111は、ソフトウェア内のインターフェース機能、認証機能、コマンドパーサ機能等の特定機能を推定する。
構造解析手段1112は、推定した特定機能を起点として、制御フローに基づいて、ソフトウェア全体の構造を明らかにする。具体的には、構造解析手段1112は、制御フローに含まれる複数の機能を抽出し、各機能の推定を行う。構造解析手段1112は、推定した各機能をタイプ毎に分離する。
分析手段1113は、バックドアのタイプ毎の分析手段を有する。分析手段1113は、バックドアのタイプ毎の分析手段を使用して、分離した機能と該機能に対応するバックドアとをタイプ毎に比較する。分析手段1113は、比較の結果、機能がバックドアであるか否かを推定し、バックドアであると推定された推定コードをソフトウェアから特定する。
ここで、データフロー解析について説明する。
図3は、データフロー解析を例示する模式図である。
図4は、ソフトウェア内における機密データの伝搬状況を例示する模式図である。
データフロー解析とは、CFG(Control Flow Graph)などを使用して、特定の変数の値がどのコードブロックで操作されるか、又は、伝搬するかを解析することである。例えば、図3に示すように、ソフトウェアの0001行目においてAに機密データが代入される(A=機密データ)。0002行目においてBにAが代入される(B=A)。0003行目においてCにBが代入される(C=B)。このようにして、機密データは、ソフトウェア内をAからCに伝搬する。
図4に示すように、バックドア推定手段111は、バックドアの可能性のあるコードC101とコードC102とコードC103とを推定する。データフロー解析手段112は、図3で示したようにして機密データの伝搬経路を求め、機密データのソフトウェア内での伝搬経路に基づいて、機密データを処理する機密コードを特定する。
バックドアは、重要なデータである機密データに対してデータ漏洩やデータ書換えを行う可能性が高い。従って、図4において、バックドアの可能性のあるコード(推定コード)と、機密コードと、の共通部分のコードがバックドアである可能性が高いコードである。具体的には、図4では、コードC103が推定コードと機密コードとが重なっており共通部分が有るので、バックドアである可能性がコードC101やコードC102よりも高いと考えられる。
そこで、バックドア検査装置11のバックドア判定手段113は、推定コードと機密コードとの共通部分を、バックドアコードとして特定する。
一方、コードC101やコードC102は、バックドアである可能性が、バックドアではないコードC100よりも高く、コードC103よりも低いと考えられる。
尚、バックドア検査装置11は、機密データを外部から取得する取得手段(図示せず)と、機密データを記憶する記憶手段(図示せず)と、をさらに備えてもよい。
また、バックドア検査装置11は、ソフトウェアを解析する一般的なソフトウェア解析装置に含めてもよい。その場合、バックドア検査装置を、ソフトウェア解析装置と称することもある。
ここで、実施の形態1の方法の特徴を記載する。
・バックドア検査装置11は、個人情報やパスワード等を含む機密データを外部の解析者から取得する。このとき、機密データに関する情報、例えば、機密データの保存箇所の情報を取得してもよい。具体的には、解析対象がソースコードの場合、機密データが保存されている変数を取得してもよい。また、解析対象が実行コードの場合、機密データが保存されているレジスタやメモリ番地等の情報を取得してもよい。
・バックドア検査装置11は、バックドア解析を行い、バックドアであると推定される推定コードを特定する。
・バックドア検査装置11は、データフロー解析を行い、機密データのソフトウェア内での伝搬状況を解析する。
・バックドア検査装置11は、バックドア解析の結果、バックドアであると判断された推定コードと、データフロー解析の結果、機密データを処理すると判断された機密コードと、の共通部分を求める。
・バックドア検査装置11は、求めた共通部分を、バックドアコードとして特定する。
実施の形態1に係るバックドア検査装置の動作を説明する。
図5は、実施の形態1に係るバックドア検査装置の動作を例示するフローチャートである。
図5に示すように、バックドア検査装置11は、機器のソフトウェアに対してバックドア解析を行う(ステップS101)。
バックドア検査装置11は、ステップS101の結果、不正な機能、すなわち、バックドアであると推定(判断)されたコードブロック(推定コード)をソフトウェアから特定する。
バックドア検査装置11は、ソフトウェアと機密データに関する情報とに基づいてデータフロー解析を行う(ステップS102)。
バックドア検査装置11は、データフロー解析の結果、機密データを処理するコードブロック(機密コード)を特定する(ステップS103)。
バックドア検査装置11は、バックドア(不正な機能)であると推定されたコードブロック、及び、機密データを処理するコードブロックという2つのコードブロックの共通部分を算出する(ステップS104)。
バックドア検査装置11は、2つのコードブロックの共通部分がバックドアである可能性がより高いので、該共通部分をバックドアコードとして特定する。すなわち、バックドア検査装置11は、バックドア解析の結果、特定したバックドアの可能性が高い推定コードのうち、機密データを処理する機密コードとの共通部分を、よりバックドアである可能性が高いコードとし、これをバックドアコードとして特定する。
[実施の形態2]
バックドアは、バックドアを発動するための発動条件を設定しないと実行されず、そのため、データフロー解析ができない場合がある。このような場合でも、バックドアである可能性の高いコードを検出することができるようにしたものを、実施の形態2として説明する。
図6は、実施の形態2に係るバックドア検査装置の動作を例示するフローチャートである。
図6に示すように、実施の形態2に係るバックドア検査装置は、実施の形態1に係るバックドア検査装置11と比べて、バックドア解析においてバックドアの発動条件を使用する点が異なる。発動条件をトリガ条件と称することもある。
実施の形態2に係るバックドア検査装置は、バックドア解析(ステップS101)により、特定の入力値を得る。特定の入力値は、バックドアの発動条件に関する発動コードである。すなわち、バックドア検査装置は、ソフトウェアからバックドアの発動条件に関する発動コードを特定する。
バックドア検査装置は、ステップS102のデータフロー解析において、発動コードを設定してバックドアを実行させ、バックドアの実行中に機密コードを特定する。すなわち、バックドア検査装置は、バックドアが実行される条件下でデータフロー解析を行う。
実施の形態2に係るバックドア検査装置の動作において、上記以外の動作は、実施の形態1に係るバックドア検査装置11の動作と同じである。
バックドアは、発動コードを設定しないと実行されず、データフロー解析ができない場合がある。このような場合でも、実施の形態2に係るバックドア検査装置は、発動コードを設定してバックドアを実行させてデータフロー解析を行うので、バックドアである可能性の高いバックドアコードを検出することができる。
[実施の形態3]
図7は、実施の形態3に係るバックドア検査装置を例示するブロック図である。
図7に示すように、実施の形態3に係るバックドア検査装置31は、データフロー解析手段312と、バックドア推定手段311と、バックドア判定手段313と、を備える。
データフロー解析手段312は、機密データのソフトウェア内での伝搬状況を解析し、機密データを処理する機密コードをソフトウェアから特定する。
バックドア推定手段311は、機密コードの機能と構造とを解析し、バックドアであると推定される推定コードを機密コードから特定する。
バックドア判定手段313は、推定コードを、バックドアである可能性が機密コードよりも高いバックドアコードとして特定する。
図8は、実施の形態3に係るバックドア検査装置の動作を例示するフローチャートである。
図8に示すように、実施の形態3に係るバックドア検査装置31は、ソフトウェアと機密データに関する情報とに基づいてデータフロー解析を行う(ステップS301)。
バックドア検査装置31は、データフロー解析の結果、機密データを処理するコードブロック(機密コード)を特定する(ステップS302)。
バックドア検査装置31は、機密データを処理する機密コードであると特定されたコードブロックに対してバックドア解析を行い、バックドアである可能性が高いコードブロックを特定する(ステップS303)。
実施の形態3に係るバックドア検査装置31は、ソフトウェアの全てに対してバックドア解析(検査)せず、機密コードであると特定されたコードブロックに対してのみバックドア解析を行う。これにより、ソフトウェアの全てに対してバックドア解析を行う場合と比べて、バックドアである可能性が高いコードブロックを特定する時間を短縮することができる。
[実施の形態4]
図9は、実施の形態4に係るバックドア検査装置の動作を例示するフローチャートである。
図9に示すように、実施の形態4に係るバックドア検査装置は、実施の形態3に係るバックドア検査装置31と比べて、バックドア解析においてバックドアの発動条件を使用する点が異なる。
実施の形態4に係るバックドア検査装置は、バックドア解析(ステップS401)により、特定の入力値を得る。特定の入力値は、バックドアの発動条件に関する発動コードである。すなわち、バックドア検査装置は、ソフトウェアからバックドアの発動条件に関する発動コードを特定する。
バックドア検査装置は、ステップS301のデータフロー解析において、発動コードを設定してバックドアを実行させ、バックドアの実行中に機密コードを特定する。すなわち、バックドア検査装置は、バックドアが実行される条件下でデータフロー解析を行う。
実施の形態4に係るバックドア検査装置の動作において、上記以外の動作は、実施の形態3に係るバックドア検査装置31の動作と同じである。
バックドアは、発動コードを設定しないと実行されず、データフロー解析ができない場合がある。このような場合でも、実施の形態4に係るバックドア検査装置は、発動コードを設定してバックドアを実行させてデータフロー解析を行うので、バックドアである可能性の高いバックドアコードを検出することができる。
尚、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
11、31:バックドア検査装置
111、311:バックドア推定手段
1111:機能推定手段
1112:構造解析手段
1113:分析手段
112、312:データフロー解析手段
113、313:バックドア判定手段
C100、C101、C102、C103:コード

Claims (10)

  1. ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
    機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定するデータフロー解析手段と、
    前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定するバックドア判定手段と、
    を備えるバックドア検査装置。
  2. 前記バックドア判定手段は、前記推定コードと前記機密コードとの共通部分を、前記バックドアコードとして特定する、
    請求項1に記載のバックドア検査装置。
  3. バックドア推定手段は、前記ソフトウェアから前記バックドアの発動条件に関する発動コードを特定し、
    前記データフロー解析手段は、前記発動コードを設定して前記バックドアを実行させ、前記バックドアの実行中に前記機密コードを特定する、
    請求項1又は2に記載のバックドア検査装置。
  4. 前記機密データを外部から取得する取得手段と、
    前記機密データを記憶する記憶手段と、
    をさらに備える、
    請求項1から3のいずれか1つに記載のバックドア検査装置。
  5. 前記機密データは、前記ソフトウェアがインストールされる機器のユーザ情報、及び前記機器に入力されるパスワードのうち少なくとも1つを含む、
    請求項1から4のいずれか1つに記載のバックドア検査装置。
  6. 前記データフロー解析手段は、前記機密データの前記ソフトウェア内での伝搬経路に基づいて前記機密コードを特定する、
    請求項1から5のいずれか1つに記載のバックドア検査装置。
  7. 機密データのソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定するデータフロー解析手段と、
    前記機密コードの機能と構造とを解析し、バックドアであると推定される推定コードを前記機密コードから特定するバックドア推定手段と、
    前記推定コードを、前記バックドアである可能性が前記機密コードよりも高いバックドアコードとして特定するバックドア判定手段と、
    を備えるバックドア検査装置。
  8. バックドア推定手段は、前記ソフトウェアから前記バックドアの発動条件に関する発動コードを特定し、
    前記データフロー解析手段は、前記発動コードを設定して前記バックドアを実行させ、前記バックドアの実行中に前記機密コードを特定する、
    請求項7に記載のバックドア検査装置。
  9. バックドア検査装置が、ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
    前記バックドア検査装置が、機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定することと、
    前記バックドア検査装置が、前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定することと、
    を備えるバックドア検査装置の方法。
  10. ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
    機密データの前記ソフトウェア内での伝搬状況を解析し、前記機密データを処理する機密コードを前記ソフトウェアから特定することと、
    前記推定コードと前記機密コードとに基づいて、前記バックドアである可能性が前記推定コードよりも高いバックドアコードを特定することと、
    をコンピュータに実行させるプログラム。
JP2021539723A 2019-08-09 2019-08-09 バックドア検査装置、方法及びプログラム Active JP7238996B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/031722 WO2021028989A1 (ja) 2019-08-09 2019-08-09 バックドア検査装置、方法及び非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2021028989A1 JPWO2021028989A1 (ja) 2021-02-18
JPWO2021028989A5 JPWO2021028989A5 (ja) 2022-04-08
JP7238996B2 true JP7238996B2 (ja) 2023-03-14

Family

ID=74570978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021539723A Active JP7238996B2 (ja) 2019-08-09 2019-08-09 バックドア検査装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US20220277079A1 (ja)
JP (1) JP7238996B2 (ja)
WO (1) WO2021028989A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023062736A1 (ja) * 2021-10-13 2023-04-20 日本電気株式会社 不正検知装置、不正検知方法、および不正検知プログラム
WO2023073821A1 (ja) * 2021-10-27 2023-05-04 日本電気株式会社 バックドア検知装置、バックドア検知方法、及び記録媒体
WO2023073822A1 (ja) * 2021-10-27 2023-05-04 日本電気株式会社 バックドア検知装置、バックドア検知方法、及び記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015940A1 (en) 2004-07-14 2006-01-19 Shay Zamir Method for detecting unwanted executables
JP2013536522A (ja) 2010-08-24 2013-09-19 チェックマークス リミテッド プログラミングルール違反に対するソースコードマイニング

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015940A1 (en) 2004-07-14 2006-01-19 Shay Zamir Method for detecting unwanted executables
JP2013536522A (ja) 2010-08-24 2013-09-19 チェックマークス リミテッド プログラミングルール違反に対するソースコードマイニング

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU,Xin et al.,Software Backdoor Analysis Based on Sensitive Flow Tracking and Concolic Execution,Wuhan University Journal of Natural Sciences,Wuhan University,2016年10月04日,Vol.21,No.5,p.421-p.427

Also Published As

Publication number Publication date
WO2021028989A1 (ja) 2021-02-18
US20220277079A1 (en) 2022-09-01
JPWO2021028989A1 (ja) 2021-02-18

Similar Documents

Publication Publication Date Title
JP7238996B2 (ja) バックドア検査装置、方法及びプログラム
JP5908132B2 (ja) プログラムの脆弱点を用いた攻撃の探知装置および方法
KR100951852B1 (ko) 응용 프로그램 비정상행위 차단 장치 및 방법
US9094451B2 (en) System and method for reducing load on an operating system when executing antivirus operations
US9313222B2 (en) Method, electronic device, and user interface for on-demand detecting malware
US20120317645A1 (en) Threat level assessment of applications
EP3501158B1 (en) Interrupt synchronization of content between client device and cloud-based storage service
WO2012103646A1 (en) Determining the vulnerability of computer software applications to privilege-escalation attacks
CN113632432B (zh) 一种攻击行为的判定方法、装置及计算机存储介质
US11503066B2 (en) Holistic computer system cybersecurity evaluation and scoring
US20230171292A1 (en) Holistic external network cybersecurity evaluation and scoring
US10318731B2 (en) Detection system and detection method
KR20170119903A (ko) 랜섬웨어를 포함한 멀웨어 제어 방법 및 그 제어 장치
KR101428915B1 (ko) 안드로이드 보안을 위한 피드백 기반 어플리케이션 재가공 프레임워크 방법과 그 시스템
KR102308477B1 (ko) 악성 코드의 악성 행위 특징 정보를 생성하는 방법
US20220198013A1 (en) Detecting suspicious activation of an application in a computer device
JP7243834B2 (ja) ソフトウェア解析装置、ソフトウェア解析方法及びプログラム
TW201421233A (zh) 主機板功能測試管控系統及方法
KR101311367B1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
EP2881883B1 (en) System and method for reducing load on an operating system when executing antivirus operations
US20190102541A1 (en) Apparatus and method for defending against unauthorized modification of programs
KR20210001057A (ko) 랜섬웨어 탐지 및 차단 방법
CN110659478A (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
US20180260563A1 (en) Computer system for executing analysis program, and method of monitoring execution of analysis program
JP7448003B2 (ja) システム及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230119

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: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230213

R151 Written notification of patent or utility model registration

Ref document number: 7238996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151