TOP特許意匠商標
特許ウォッチ Twitter
10個以上の画像は省略されています。
公開番号2025070867
公報種別公開特許公報(A)
公開日2025-05-02
出願番号2023181456
出願日2023-10-20
発明の名称抽出装置、抽出方法及び抽出プログラム
出願人日本電信電話株式会社
代理人弁理士法人酒井国際特許事務所
主分類G06F 11/36 20060101AFI20250424BHJP(計算;計数)
要約【課題】動的バイトコード計装機能の付与を正確かつ効率良く行うこと。
【解決手段】抽出装置(解析装置10)は、記号表解析部1223と、記号表抽出部1232と、を有する。記号表解析部1223は、第1のスクリプトをプログラムに実行させて得られた実行トレースを解析し、プログラムによって生成される記号表の構造情報を取得する。記号表抽出部1232は、プログラムが第2のスクリプトを実行するために利用したメモリ領域から、構造情報に基づき、記号表を抽出する。
【選択図】図4
特許請求の範囲【請求項1】
第1のスクリプトをプログラムに実行させて得られた実行トレースを解析し、前記プログラムによって生成される記号表の構造情報を取得する記号表解析部と、
前記プログラムが第2のスクリプトを実行するために利用したメモリ領域から、前記構造情報に基づき、記号表を抽出する記号表抽出部と、
を有することを特徴とする抽出装置。
続きを表示(約 990 文字)【請求項2】
前記記号表抽出部は、特定の構造体を起点として、前記構造情報を基に、構造体に含まれるポインタのアドレスの算出と、前記ポインタに示される構造体の先頭のアドレスの算出を繰り返すことによって得られたアドレスを含む複数の構造体を、記号表として抽出する
ことを特徴とする請求項1に記載の抽出装置。
【請求項3】
前記記号表抽出部は、前記実行トレースにおいて、前記第2のスクリプトを実行するプログラムの命令を指し示す変数である仮想プログラムカウンタと、前記仮想プログラムカウンタが指し示すメモリ領域であるバイトコードキャッシュと、のいずれか又は両方へのメモリアクセスが見られる解釈実行関数の引数のポインタが指し示す管理実行体を起点として、前記構造情報を基に、構造体に含まれるポインタのアドレスの算出と、前記ポインタに示される構造体の先頭のアドレスの算出を繰り返すことによって得られたアドレスを含む複数の構造体を、記号表として抽出する
ことを特徴とする請求項1に記載の抽出装置。
【請求項4】
前記プログラムが第3のスクリプトを実行するために利用したメモリ領域の、前記構造情報に基づき特定した位置に、前記記号表抽出部によって抽出された記号表を注入する記号表注入部
をさらに有することを特徴とする請求項1に記載の抽出装置。
【請求項5】
抽出装置によって実行される抽出方法であって、
第1のスクリプトをプログラムに実行させて得られた実行トレースを解析し、前記プログラムによって生成される記号表の構造情報を取得する記号表解析工程と、
前記プログラムが第2のスクリプトを実行するために利用したメモリ領域から、前記構造情報に基づき、記号表を抽出する記号表抽出工程と、
を含むことを特徴とする抽出方法。
【請求項6】
第1のスクリプトをプログラムに実行させて得られた実行トレースを解析し、前記プログラムによって生成される記号表の構造情報を取得する記号表解析手順と、
前記プログラムが第2のスクリプトを実行するために利用したメモリ領域から、前記構造情報に基づき、記号表を抽出する記号表抽出手順と、
をコンピュータに実行させることを特徴とする抽出プログラム。

発明の詳細な説明【技術分野】
【0001】
本発明は、抽出装置、抽出方法及び抽出プログラムに関する。
続きを表示(約 1,200 文字)【背景技術】
【0002】
[スクリプトの解析]
スクリプトを解析する技術は、多様な目的に用いられる。例えば、JIT(Just-In-Time)コンパイルのためのコンパイラ最適化、ソフトウェアのテストやデバッグ、ファジング、マルウェア解析などが挙げられる。
【0003】
[プログラムの計装]
プログラムを動的に解析するための技術の一つに、計装がある。計装とは、解析対象のプログラムに対して、解析のための機能を持ったコードを付加して実行することで、実行時に対象のプログラムの実行状態に関する情報を得る技術である。
【0004】
例えば、プログラム内の各命令の実行ごとに記録用のコードを計装で挿入すれば、実行された全命令数を知ることができる。また、各分岐の実行ごとに記録用のコードを同様に挿入すれば、実行された制御フローを認識できる。
【0005】
このような計装は、ソフトウェアのテストを始め、マルウェアの解析や脆弱性の発見といったサイバーセキュリティの目的にも多用されており、重要な技術である。
【0006】
ここで、計装には、動的計装と静的計装がある。動的計装は、プログラムの実行時に、挙動を動的に変更する技術を用いて解析用のコードを、動的に付加する技術である。静的計装は、プログラムの実行前に、プログラムを書き換える技術を用いて解析用のコードを、静的に付加する技術である。
【0007】
また、計装の対象も、ソースコードやスクリプト、実行可能バイナリ(以降、バイナリ)、バイトコードなど多岐に渡る。現在では、スクリプトに対するテストのみならず、悪性なスクリプトが攻撃に用いられる機会も増しており、スクリプトに対する計装は重要となっている。
【0008】
代表的な計装の技術の1つに、動的バイナリ計装がある。動的バイナリ計装とは、解析対象のバイナリのプログラムに対して、実行時に解析用のコードを動的に付加することで、実行状態に関する情報を得る技術である。動的バイナリ計装では、解析用のコードの注入は、主にフックによって実現される。
【0009】
具体的に、解析用のコードの注入は、以下のような流れになる。まず、注入するコードをメモリ上に配置する。そして、予め決められた特定の命令や関数などが実行された際に、その注入するコードに分岐させるようにフックする。そして、コードを実行させる。コードの終端で、分岐元に実行を戻らせて、本来の処理を再開する。
【0010】
現在の動的バイナリ計装技術では、これをインラインフックと呼ばれる手法や、仮想機械(Virtual Machine:VM)で動的バイナリ変換と呼ばれる変換の際のフックで実現するのが一般的である。
(【0011】以降は省略されています)

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

関連特許

個人
物品給付年金
8日前
個人
非正規コート
1か月前
個人
政治のAI化
3日前
個人
人物再現システム
1か月前
個人
RFタグ読取装置
21日前
個人
在宅介護システム
21日前
個人
AI飲食最適化プラグイン
29日前
キヤノン株式会社
通信装置
9日前
有限会社ノア
データ読取装置
1か月前
個人
電話管理システム及び管理方法
1か月前
個人
広告提供システムおよびその方法
1か月前
キヤノン株式会社
画像処理装置
1日前
個人
全アルゴリズム対応型プログラム
4日前
大同特殊鋼株式会社
輝線検出方法
3日前
個人
日誌作成支援システム
1か月前
株式会社CROSLAN
支援装置
21日前
シャープ株式会社
電子機器
3日前
ミサワホーム株式会社
宅配ロッカー
今日
長屋印刷株式会社
画像形成システム
21日前
個人
ポイント還元付き配送システム
1か月前
ミサワホーム株式会社
情報処理装置
8日前
ひびきの電子株式会社
認証システム
23日前
トヨタ自動車株式会社
欠け検査装置
3日前
株式会社アジラ
データ転送システム
3日前
トヨタ自動車株式会社
管理装置
今日
オムロン株式会社
回転装置及びマウス
25日前
オベック実業株式会社
端末用スタンド
4日前
オベック実業株式会社
接続構造
1か月前
株式会社ユピテル
電子機器及びプログラム等
11日前
ミサワホーム株式会社
荷物搬送システム
今日
株式会社カプコン
データおよびシステム
2日前
株式会社実身美
ワーキングシェアリングシステム
1か月前
トヨタ自動車株式会社
情報処理装置
7日前
トヨタ自動車株式会社
部品表照合システム
2日前
株式会社デンソーウェーブ
携帯端末
1日前
トヨタ自動車株式会社
更新システム
3日前
続きを見る