TOP特許意匠商標
特許ウォッチ Twitter
10個以上の画像は省略されています。
公開番号2025065692
公報種別公開特許公報(A)
公開日2025-04-22
出願番号2023175073
出願日2023-10-10
発明の名称プログラム検査装置、プログラム検査方法、及びプログラム
出願人日本電気株式会社
代理人個人
主分類G06F 11/36 20060101AFI20250415BHJP(計算;計数)
要約【課題】プログラムに含まれる所定の操作のトリガとなる条件分岐を検出する場合に、誤検出を低減させる。
【解決手段】プログラム検査装置は、入力されたプログラムと解析起点情報とに基づいて、プログラムに含まれる処理フローを解析する処理フロー解析部と、処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出する候補抽出部と、プログラムに含まれる1以上のコードブロックを抽出するコードブロック抽出部と、抽出された1以上のコードブロックのうち、エラー処理を実施するコードブロックを特定するエラー処理特定部と、所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックのうち、少なくとも1つのコードブロックがエラー処理をコードブロックとして特定されている場合、その条件分岐を所定操作のトリガの候補から除外する条件分岐評価部とを含む。
【選択図】図1
特許請求の範囲【請求項1】
入力されたプログラムと解析起点情報とに基づいて、前記プログラムに含まれる処理フローを解析する処理フロー解析部と、
前記処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出する候補抽出部と、
前記プログラムに含まれる1以上のコードブロックを抽出するコードブロック抽出部と、
前記抽出された1以上のコードブロックのうち、エラー処理を実施するコードブロックを特定するエラー処理特定部と、
前記所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックのうち、少なくとも1つのコードブロックが前記エラー処理をコードブロックとして特定されたコードブロックである場合、当該条件分岐を前記所定操作のトリガの候補から除外する条件分岐評価部とを備えるプログラム検査装置。
続きを表示(約 1,400 文字)【請求項2】
前記処理フロー解析部は、前記プログラムに対して制御フロー解析及びデータフロー解析の少なくとも一方を実施し、前記プログラムにおける制御フロー情報及びデータフロー情報の少なくとも一方を出力する、請求項1に記載のプログラム検査装置。
【請求項3】
前記候補抽出部は、前記プログラムに含まれている所定のコード又は所定の命令に対し、前記制御フロー解析により、当該コード又は命令の実行を制御していると判定された条件分岐を、前記所定操作のトリガの候補として抽出する、請求項2に記載のプログラム検査装置。
【請求項4】
前記候補抽出部は、前記プログラムが受け取る外部入力に対し、前記データフロー解析により、前記外部入力とデータ依存関係を有する条件変数が使用される条件分岐を、前記所定操作のトリガの候補として抽出する、請求項2に記載のプログラム検査装置。
【請求項5】
前記エラー処理特定部は、前記抽出された1以上のコードブロックに対し、各コードブロックがエラー処理を実施するコードブロックである可能性を示すスコアを付与し、該スコアが所定のしきい値以上のコードブロックを、前記エラー処理を実施するコードブロックとして特定する、請求項1から4何れか1項に記載のプログラム検査装置。
【請求項6】
入力されたプログラムと解析起点情報とに基づいて、前記プログラムに含まれる処理フローを解析する処理フロー解析部と、
前記処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出する候補抽出部と、
前記プログラムに含まれる1以上のコードブロックを抽出するコードブロック抽出部と、
前記抽出された1以上のコードブロックに対し、各コードブロックがエラー処理を実施するコードブロックである可能性を示す第1のスコアを付与するエラー処理特定部と、
前記所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックに付与された前記第1のスコアに基づいて、前記条件分岐が所定操作のトリガとして使用される可能性を示す第2のスコアを決定する条件分岐評価部とを備えるプログラム検査装置。
【請求項7】
前記条件分岐評価部は、所定の初期値から、条件分岐が実行を制御するコードブロックに付与された前記第1のスコアの分だけ低下させたスコアを、前記第2のスコアとして決定する、請求項6に記載のプログラム検査装置。
【請求項8】
前記処理フロー解析部は、前記プログラムに対して制御フロー解析及びデータフロー解析の少なくとも一方を実施し、前記プログラムにおける制御フロー情報及びデータフロー情報の少なくとも一方を出力する、請求項6又は7に記載のプログラム検査装置。
【請求項9】
前記候補抽出部は、前記プログラムに含まれている所定のコード又は所定の命令に対し、前記制御フロー解析により、当該コード又は命令の実行を制御していると判定された条件分岐を、前記所定操作のトリガの候補として抽出する、請求項8に記載のプログラム検査装置。
【請求項10】
前記候補抽出部は、前記プログラムが受け取る外部入力に対し、前記データフロー解析により、前記外部入力とデータ依存関係を有する条件変数が使用される条件分岐を、前記所定操作のトリガの候補として抽出する、請求項8に記載のプログラム検査装置。
(【請求項11】以降は省略されています)

発明の詳細な説明【技術分野】
【0001】
本開示は、プログラム検査装置、プログラム検査方法、及びプログラムに関する。
続きを表示(約 2,300 文字)【背景技術】
【0002】
関連技術として、特許文献1は、プログラム解析装置を開示する。プログラム解析装置は、入力されるプログラムを、制御フローとデータフローとに基づいて編集し、外部モジュールの呼び出し処理、エラー処理、及びエラー判定処理などの処理のまとまりに分類する。特許文献1において、プログラム解析装置には、あらかじめエラー処理時の必須処理の一部が登録されている。プログラム解析装置は、登録された情報を用いて、入力プログラムから、その中で行われているエラー処理の全体を自動的に認識し、また、エラー判定の処理部分を認識する。
【0003】
別の関連技術として、特許文献2は、不正検知装置を開示する。特許文献2に記載の不正検知装置は、システムにセンシティブな影響を与える関数を呼び出すコールサイト(callsite)や関数内部の事前解析などから、注意が必要と認識された関数のリストを記憶する。不正検知装置は、入力されたプログラムを分析し、リストに記載される関数を抽出する。また、不正検知装置は、プログラムを分析し、実行パスと条件分岐とを抽出する。不正検知装置は、抽出した条件分岐に対し、条件分岐の条件を満たす確率に応じたスコアを算出する。不正検知装置は、スコアに基づいて、抽出した関数への到達確率を計算する。不正検知装置は、計算した到達確率が小さい実行パスを、バックドアの実行パスである可能性の高い実行パスとして特定する。
【先行技術文献】
【特許文献】
【0004】
特開平7-93144号公報
国際公開第2023/062736号
【発明の概要】
【発明が解決しようとする課題】
【0005】
サプライチェーンリスク対策の1つとして、バックドアなどのプログラム内の不正機能を検出する重要性が増している。プログラム内部に仕込まれた不正機能などを検査するには、専門家によるリバースエンジニアリングでの高コストな解析が必要である。バックドアは、特定の条件を満たした場合にのみ実行されることが多い。このことに着目し、バックドア検査の手法として、システムにセンシティブな操作と条件分岐との間にある制御フロー情報を解析する手法が知られている。
【0006】
しかしながら、プログラムに含まれる条件分岐の中には、入力に対する単純なエラーチェックが含まれる。このため、上記手法では、エラーチェックを実施する条件分岐がバックドアトリガであると誤検出される可能性がある。
【0007】
本開示の目的の1つは、プログラムに含まれる所定の操作のトリガとなる条件分岐を検出する場合に、誤検出を低減できるプログラム検査装置、プログラム検査方法、及びプログラムことである。
【課題を解決するための手段】
【0008】
本開示の第1の態様に係るプログラム検査装置は、入力されたプログラムと解析起点情報とに基づいて、前記プログラムに含まれる処理フローを解析する処理フロー解析部と、前記処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出する候補抽出部と、前記プログラムに含まれる1以上のコードブロックを抽出するコードブロック抽出部と、前記抽出された1以上のコードブロックのうち、エラー処理を実施するコードブロックを特定するエラー処理特定部と、前記所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックのうち、少なくとも1つのコードブロックが前記エラー処理をコードブロックとして特定されたコードブロックである場合、当該条件分岐を前記所定操作のトリガの候補から除外する条件分岐評価部とを含む。
【0009】
本開示の第2の態様に係るプログラム検査装置は、入力されたプログラムと解析起点情報とに基づいて、前記プログラムに含まれる処理フローを解析する処理フロー解析部と、前記処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出する候補抽出部と、前記プログラムに含まれる1以上のコードブロックを抽出するコードブロック抽出部と、前記抽出された1以上のコードブロックに対し、各コードブロックがエラー処理を実施するコードブロックである可能性を示す第1のスコアを付与するエラー処理特定部と、前記所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックに付与された前記第1のスコアに基づいて、前記条件分岐が所定操作のトリガとして使用される可能性を示す第2のスコアを決定する条件分岐評価部とを含む。
【0010】
本開示の第3の態様に係るプログラム検査方法は、入力されたプログラムと解析起点情報とに基づいて、前記プログラムに含まれる処理フローを解析し、前記処理フローの解析結果を用いて、特定の条件分岐を所定操作のトリガの候補として抽出し、前記プログラムに含まれる1以上のコードブロックを抽出し、前記抽出された1以上のコードブロックのうち、エラー処理を実施するコードブロックを特定し、前記所定操作のトリガの候補として抽出された条件分岐が実行を制御するコードブロックのうち、少なくとも1つのコードブロックが前記エラー処理をコードブロックとして特定されたコードブロックである場合、当該条件分岐を前記所定操作のトリガの候補から除外することを含む。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する
Flag Counter

関連特許

日本電気株式会社
高周波スイッチ回路
1日前
日本電気株式会社
光中継器、及び光通信システム
9日前
日本電気株式会社
光信号中継装置及び光信号中継方法
7日前
日本電気株式会社
超伝導デバイスおよびその製造方法
15日前
日本電気株式会社
監視装置、監視方法、及びプログラム
11日前
日本電気株式会社
中継装置、通信システム、及び通信制御方法
1日前
日本電気株式会社
画像処理装置、画像処理方法、及びプログラム
16日前
日本電気株式会社
情報処理装置、情報処理方法およびプログラム
1日前
日本電気株式会社
管理装置、通信端末、通信方法及びプログラム
10日前
日本電気株式会社
行動支援装置、行動支援方法、及び、記録媒体
17日前
日本電気株式会社
情報処理装置、情報処理方法、及び、記録媒体
2日前
日本電気株式会社
衛星システム、監視衛星、監視方法、プログラム
16日前
日本電気株式会社
保守支援装置、保守支援方法、およびプログラム
15日前
日本電気株式会社
文書作成支援装置、文書作成支援方法、プログラム
11日前
日本電気株式会社
サーバ装置、サーバ装置の制御方法及びプログラム
11日前
日本電気株式会社
アクセス管理装置、アクセス管理方法及びプログラム
10日前
日本電気株式会社
サービス提供装置、サービス提供方法及びプログラム
2日前
日本電気株式会社
電力制御器、処理システム、処理方法、およびプログラム
17日前
日本電気株式会社
電力変換器、処理システム、処理方法、およびプログラム
16日前
日本電気株式会社
プログラム検査装置、プログラム検査方法、及びプログラム
3日前
日本電気株式会社
情報提供装置、情報提供方法およびコンピュータプログラム
9日前
日本電気株式会社
測位システム、移動制御装置、移動制御方法、及びプログラム
10日前
日本電気株式会社
サーバ装置、システム、サーバ装置の制御方法及びプログラム
3日前
日本電気株式会社
来歴管理システム、来歴管理方法、プログラム、及び記憶装置
11日前
日本電気株式会社
給電制御装置、給電システム、給電制御方法、及びプログラム
16日前
日本電気株式会社
3次元データ生成装置、3次元データ生成方法及びプログラム
8日前
日本電気株式会社
情報処理装置、監視システム、データ生成方法、及びプログラム
11日前
日本電気株式会社
情報処理装置、情報処理方法、プログラム、および分析システム
16日前
日本電気株式会社
姿勢評価装置、姿勢評価システム、姿勢評価方法、及びプログラム
15日前
日本電気株式会社
点群処理システム、点群処理装置、点群処理方法、及び、プログラム
1日前
日本電気株式会社
パラメータ値決定システム、パラメータ値決定方法およびプログラム
17日前
日本電気株式会社
異常検出システム、異常検出装置、異常検出方法、及び、プログラム
16日前
日本電気株式会社
前方監視システム、前方監視装置、前方監視方法、及び、プログラム
16日前
日本電気株式会社
防災無線送受信システム、防災無線送受信方法及び防災無線送受信プログラム
9日前
日本電気株式会社
マスターバッチ、マスターバッチの製造方法、および、発泡樹脂組成物の成形方法
15日前
日本電気株式会社
物体配置推定システム、物体配置推定装置、物体配置推定方法、及び、プログラム
2日前
続きを見る