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で参照する

関連特許

個人
非正規コート
19日前
個人
RFタグ読取装置
1日前
個人
在宅介護システム
1日前
個人
人物再現システム
16日前
個人
AI飲食最適化プラグイン
9日前
個人
電話管理システム及び管理方法
10日前
有限会社ノア
データ読取装置
17日前
個人
広告提供システムおよびその方法
19日前
株式会社ザメディア
出席管理システム
24日前
個人
日誌作成支援システム
16日前
株式会社CROSLAN
支援装置
1日前
個人
ポイント還元付き配送システム
17日前
トヨタ自動車株式会社
作業判定方法
25日前
ひびきの電子株式会社
認証システム
3日前
ミサワホーム株式会社
情報処理装置
23日前
株式会社タクテック
商品取出集品システム
23日前
長屋印刷株式会社
画像形成システム
1日前
トヨタ自動車株式会社
工程計画装置
24日前
オベック実業株式会社
接続構造
16日前
オムロン株式会社
回転装置及びマウス
5日前
ゼネラル株式会社
RFIDタグ付き物品
26日前
株式会社村田製作所
動き検知装置
23日前
トヨタ自動車株式会社
情報処理システム
25日前
株式会社実身美
ワーキングシェアリングシステム
17日前
個人
コンテンツ配信システム
23日前
個人
アルバム作成システム及びアルバム作成方法
3日前
株式会社国際電気
支援システム
26日前
株式会社ドクター中松創研
生成AIの適切使用法
16日前
トヨタ自動車株式会社
情報処理方法
25日前
株式会社エスシーシー
置き配システム
17日前
株式会社半導体エネルギー研究所
情報処理システム
1日前
個人
プラットフォームシステム
23日前
ブラザー工業株式会社
ラベルプリンタ
25日前
個人
注文管理システム及び注文管理プログラム
16日前
株式会社TMEIC
データ処理装置
1日前
株式会社ノーリツ
リモートコントローラ
2日前
続きを見る