TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025074650
公報種別
公開特許公報(A)
公開日
2025-05-14
出願番号
2023185609
出願日
2023-10-30
発明の名称
ソフトウェア検査装置、ソフトウェア検査方法、及び、プログラム
出願人
日本電気株式会社
代理人
個人
主分類
G06F
8/30 20180101AFI20250507BHJP(計算;計数)
要約
【課題】複数のバイナリを跨いだコールフローを特定できる、ソフトウェア検査装置、ソフトウェア検査方法、及び、プログラムを提供する。
【解決手段】ソフトウェア検査装置10にてバイナリグループ特定部は、バイナリグループを特定する。バイナリグループは、メインバイナリと、メインバイナリが直接的又は間接的にロードする対象であり且つメインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む。コールフロー特定部は、バイナリグループに含まれ且つ呼出関係を有する複数の関数を、上記の少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として上流に向けて順次特定する。これにより、コールフロー特定部は、バイナリグループにおいてメインバイナリに含まれる第2関数を始点とし且つ第1関数を終点とするコールフローを特定する。
【選択図】図1
特許請求の範囲
【請求項1】
検査対象ソフトウェアであるメインバイナリと、前記メインバイナリが直接的又は間接的にロードする対象であり且つ前記メインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む、バイナリグループを特定するバイナリグループ特定部と、
前記バイナリグループに含まれ且つ呼出関係を有する複数の関数を、前記少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定するコールフロー特定部と、
を具備するソフトウェア検査装置。
続きを表示(約 1,500 文字)
【請求項2】
前記バイナリグループ特定部は、呼出関係を有する複数のバイナリを、前記メインバイナリを起点として順次特定することによって、前記少なくとも1つのサブバイナリを特定する、
請求項1記載のソフトウェア検査装置。
【請求項3】
前記バイナリグループ特定部は、前記メインバイナリに含まれるバイナリ名称に基づいて、前記メインバイナリが呼び出すサブバイナリを特定する、
請求項2記載のソフトウェア検査装置。
【請求項4】
前記コールフロー特定部は、
前記バイナリグループにおいて前記所定のシステムコール命令を含む第1関数を特定する第1特定処理部と、
前記呼出関係を有する複数の関数を前記第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定する第2特定処理部と、
を具備する、
請求項1に記載のソフトウェア検査装置。
【請求項5】
前記特定されたコールフローに対して、データフロー解析処理及び制御フロー解析処理を実行するフロー解析部をさらに具備する、
請求項1から4のいずれか1項に記載のソフトウェア検査装置。
【請求項6】
検査対象ソフトウェアであるメインバイナリと、前記メインバイナリが直接的又は間接的にロードする対象であり且つ前記メインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む、バイナリグループを特定することと、
前記バイナリグループに含まれ且つ呼出関係を有する複数の関数を、前記少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定することと、
を含むソフトウェア検査方法。
【請求項7】
前記バイナリグループを特定することは、呼出関係を有する複数のバイナリを、前記メインバイナリを起点として順次特定することによって、前記少なくとも1つのサブバイナリを特定することを含む、
請求項6記載のソフトウェア検査方法。
【請求項8】
前記バイナリグループを特定することは、前記メインバイナリに含まれるバイナリ名称に基づいて、前記メインバイナリが呼び出すサブバイナリを特定することを含む、
請求項7記載のソフトウェア検査方法。
【請求項9】
前記コールフローを特定することは、
前記バイナリグループにおいて前記所定のシステムコール命令を含む第1関数を特定することと、
前記呼出関係を有する複数の関数を前記第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定することと、
を含む、
請求項6に記載のソフトウェア検査方法。
【請求項10】
前記特定されたコールフローに対して、データフロー解析処理及び制御フロー解析処理を実行することをさらに含む、
請求項6から9のいずれか1項に記載のソフトウェア検査方法。
(【請求項11】以降は省略されています)
発明の詳細な説明
【技術分野】
【0001】
本開示は、ソフトウェア検査装置、ソフトウェア検査方法、及び、プログラムに関する。
続きを表示(約 2,200 文字)
【背景技術】
【0002】
特許文献1には、バイナリコードに対して静的解析をし、呼出される関数やシステムコール、APIの呼出しと呼出し時の引数値及び条件を抽出し、抽出された情報と仕様書等の内容とを比較し、比較結果を元に不正コードの検出する、技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
特開2009-98851号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者は、検査対象ソフトウェアであるメインバイナリが、直接的又は間接的にロードする対象であり且つメインバイナリの側を上流として互いに直列的に接続された少なくとも1つのライブラリ(「サブバイナリ」と呼ばれてもよい。)を有していることに着目した。特許文献1は、この点が考慮されていないため、複数のバイナリを跨いだ「コールフロー」を特定できない可能性がある。「コールフロー」は、呼出関係を有する複数の関数を含むフローを意味する。
【0005】
本開示の目的は、複数のバイナリを跨いだコールフローを特定できる、ソフトウェア検査装置、ソフトウェア検査方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【0006】
1つの態様では、ソフトウェア検査装置は、
検査対象ソフトウェアであるメインバイナリと、前記メインバイナリが直接的又は間接的にロードする対象であり且つ前記メインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む、バイナリグループを特定するバイナリグループ特定部と、
前記バイナリグループに含まれ且つ呼出関係を有する複数の関数を、前記少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定するコールフロー特定部と、
を具備する。
【0007】
他の態様では、ソフトウェア検査方法は、
検査対象ソフトウェアであるメインバイナリと、前記メインバイナリが直接的又は間接的にロードする対象であり且つ前記メインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む、バイナリグループを特定することと、
前記バイナリグループに含まれ且つ呼出関係を有する複数の関数を、前記少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定することと、
を含む。
【0008】
他の態様では、プログラムは、
検査対象ソフトウェアであるメインバイナリと、前記メインバイナリが直接的又は間接的にロードする対象であり且つ前記メインバイナリの側を上流として直列に接続された少なくとも1つのサブバイナリとを含む、バイナリグループを特定することと、
前記バイナリグループに含まれ且つ呼出関係を有する複数の関数を、前記少なくとも1つのサブバイナリのうちのいずれかに含まれる所定のシステムコール命令を含む第1関数を起点として前記上流に向けて順次特定することによって、前記バイナリグループにおいて前記メインバイナリに含まれる第2関数を始点とし且つ前記第1関数を終点とするコールフローを特定することと、
を含む処理を、ソフトウェア検査装置に実行させる。
【発明の効果】
【0009】
本開示により、複数のバイナリを跨いだコールフローを特定できる、ソフトウェア検査装置、ソフトウェア検査方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【0010】
本開示のソフトウェア検査装置の一例を示すブロック図である。
本開示のソフトウェア検査装置の処理動作の一例を示すフローチャートである。
本開示のソフトウェア検査装置の他の一例を示すブロック図である。
本開示のソフトウェア検査装置のバイナリグループ特定処理の一例を示すフローチャートである。
本開示のソフトウェア検査装置のバイナリグループ特定処理の一例の説明に供する図である。
本開示のバイナリツリーテーブルの一例を示す図である。
本開示のソフトウェア検査装置のコールフロー特定処理の一例を示すフローチャートである。
本開示のソフトウェア検査装置のコールフロー特定処理の一例の説明に供する図である。
本開示の検査対象システムコールリストの一例を示す図である。
本開示のソフトウェア検査装置の他の一例を示すブロック図である。
本開示のソフトウェア検査装置の構成例を示す図である。
【発明を実施するための形態】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
個人
物品給付年金
1日前
個人
非正規コート
1か月前
個人
人物再現システム
29日前
個人
在宅介護システム
14日前
個人
RFタグ読取装置
14日前
個人
AI飲食最適化プラグイン
22日前
キヤノン株式会社
通信装置
2日前
個人
電話管理システム及び管理方法
23日前
有限会社ノア
データ読取装置
1か月前
株式会社ザメディア
出席管理システム
1か月前
個人
広告提供システムおよびその方法
1か月前
個人
日誌作成支援システム
29日前
株式会社CROSLAN
支援装置
14日前
トヨタ自動車株式会社
作業判定方法
1か月前
株式会社タクテック
商品取出集品システム
1か月前
個人
ポイント還元付き配送システム
1か月前
ひびきの電子株式会社
認証システム
16日前
ミサワホーム株式会社
情報処理装置
1日前
トヨタ自動車株式会社
工程計画装置
1か月前
長屋印刷株式会社
画像形成システム
14日前
ミサワホーム株式会社
情報処理装置
1か月前
オムロン株式会社
回転装置及びマウス
18日前
オベック実業株式会社
接続構造
29日前
株式会社ユピテル
電子機器及びプログラム等
4日前
株式会社村田製作所
動き検知装置
1か月前
ゼネラル株式会社
RFIDタグ付き物品
1か月前
トヨタ自動車株式会社
情報処理システム
1か月前
株式会社国際電気
支援システム
1か月前
株式会社実身美
ワーキングシェアリングシステム
1か月前
個人
アルバム作成システム及びアルバム作成方法
16日前
トヨタ自動車株式会社
情報処理方法
1か月前
個人
コンテンツ配信システム
1か月前
株式会社ドクター中松創研
生成AIの適切使用法
29日前
ブラザー工業株式会社
ラベルプリンタ
1か月前
トヨタ自動車株式会社
リプログラミング装置
1日前
西日本電信電話株式会社
分析システム
1日前
続きを見る
他の特許を見る