TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025070366
公報種別
公開特許公報(A)
公開日
2025-05-02
出願番号
2023180629
出願日
2023-10-19
発明の名称
検証装置、検証方法および検証プログラム
出願人
日本電信電話株式会社
代理人
弁理士法人酒井国際特許事務所
主分類
G06F
21/57 20130101AFI20250424BHJP(計算;計数)
要約
【課題】マルウェアによるバイトコードインジェクション攻撃を適切に実現すること。
【解決手段】検証装置100のバイトコード注入処理部130は、標的となるバイトコードが検索されたメモリアドレスに、悪性のバイトコードを書き込む。記号表検索部141は、記号表の構造情報に基づき、メモリ検索によるポインタの検出と構造体の先頭アドレスの算出とを繰り返し行い、スクリプトの実行状態および関数の情報を管理する管理構造体の先頭アドレスを算出する。記号表注入部142は、記号表検索部141によって算出された管理構造体の先頭アドレスから検索されたアドレスに、悪性の記号表を書き込む。実行処理部120は、一時停止したスクリプトエンジンのプロセスのメモリ空間に書き込まれた、悪性のバイトコードと悪性の記号表とについて、スクリプトエンジンのプロセスを再開することにより、悪性のバイトコードを悪性の記号表を参照させつつ実行させる。
【選択図】図2
特許請求の範囲
【請求項1】
標的となるバイトコードが検索されたメモリアドレスに、悪性のバイトコードを書き込むバイトコード注入処理部と、
記号表の構造情報に基づき、メモリ検索によるポインタの検出と構造体の先頭アドレスの算出とを繰り返し行い、スクリプトの実行状態および関数の情報を管理する管理構造体の先頭アドレスを算出する記号表検索部と、
前記記号表検索部によって算出された管理構造体の先頭アドレスから検索されたアドレスに、悪性の記号表を書き込む記号表注入部と、
一時停止したスクリプトエンジンのプロセスのメモリ空間に書き込まれた、前記悪性のバイトコードと前記悪性の記号表とについて、前記スクリプトエンジンのプロセスを再開することにより、前記悪性のバイトコードを前記悪性の記号表を参照させつつ実行させる実行処理部と
を有することを特徴とする検証装置。
続きを表示(約 1,500 文字)
【請求項2】
前記スクリプトエンジンのプロセス上の、スタックのメモリとヒープのメモリとを列挙するメモリ列挙部をさらに有し、
前記バイトコード注入処理部は、前記スタックのメモリ及び前記ヒープのメモリのメモリ上において、標的となるバイトコードが検索されたメモリアドレスに、悪性のバイトコードを書き込み、仮想プログラムカウンタに前記悪性のバイトコードを書き込んだメモリアドレスを設定する
ことを特徴とする請求項1に記載の検証装置。
【請求項3】
前記記号表検索部は、前記記号表から選出された値オブジェクトであって、メモリ上で検索された値オブジェクトを含む構造体を起点として、前記管理構造体の先頭アドレスを算出する
ことを特徴とする請求項1に記載の検証装置。
【請求項4】
第1のスクリプトをプログラムに実行させて得られた実行トレースを解析し、前記実行トレースに含まれる前記記号表の構造情報を取得する記号表解析部と、
第2のスクリプトを前記プログラムに実行させて得られたメモリ領域のデータから、前記記号表解析部によって取得された情報に基づき、前記悪性の記号表を抽出する記号表抽出部と、
をさらに有し、
前記記号表検索部は、前記記号表解析部によって取得された記号表の構造情報に基づき、前記管理構造体の先頭アドレスを算出し、
前記記号表注入部は、前記記号表抽出部によって抽出された前記悪性の記号表を、前記アドレスに書き込む
ことを特徴とする請求項1に記載の検証装置。
【請求項5】
検証装置によって実行される検証方法であって、
標的となるバイトコードが検索されたメモリアドレスに、悪性のバイトコードを書き込むバイトコード注入処理工程と、
記号表の構造情報に基づき、メモリ検索によるポインタの検出と構造体の先頭アドレスの算出とを繰り返し行い、スクリプトの実行状態および関数の情報を管理する管理構造体の先頭アドレスを算出する記号表検索工程と、
前記記号表検索工程によって算出された管理構造体の先頭アドレスから検索されたアドレスに、悪性の記号表を書き込む記号表注入工程と、
一時停止したスクリプトエンジンのプロセスのメモリ空間に書き込まれた、前記悪性のバイトコードと前記悪性の記号表とについて、前記スクリプトエンジンのプロセスを再開することにより、前記悪性のバイトコードを前記悪性の記号表を参照させつつ実行させる実行処理工程と
を含んだことを特徴とする検証方法。
【請求項6】
標的となるバイトコードが検索されたメモリアドレスに、悪性のバイトコードを書き込むバイトコード注入処理手順と、
記号表の構造情報に基づき、メモリ検索によるポインタの検出と構造体の先頭アドレスの算出とを繰り返し行い、スクリプトの実行状態および関数の情報を管理する管理構造体の先頭アドレスを算出する記号表検索手順と、
前記記号表検索手順によって算出された管理構造体の先頭アドレスから検索されたアドレスに、悪性の記号表を書き込む記号表注入手順と、
一時停止したスクリプトエンジンのプロセスのメモリ空間に書き込まれた、前記悪性のバイトコードと前記悪性の記号表とについて、前記スクリプトエンジンのプロセスを再開することにより、前記悪性のバイトコードを前記悪性の記号表を参照させつつ実行させる実行処理手順と
をコンピュータに実行させるための検証プログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、検証装置、検証方法および検証プログラムに関する。
続きを表示(約 2,100 文字)
【背景技術】
【0002】
[攻撃耐性の検証]
セキュリティを強化するための活動には、能動的に擬似攻撃を仕掛けることで攻撃耐性を検証し、対策の考案に繋げる活動がある。たとえば、ペネトレーションテストでは、攻撃者が実際に用いる多種多様な攻撃手法を用いてシステムにサイバー攻撃を仕掛けることで侵入を試み、主に脆弱性の有無を評価することで、セキュリティの強化に生かす。
【0003】
さらに、レッドチームという、攻撃を専門とする部署を設ける組織も存在する。レッドチームは、実際の攻撃で用いられる手法を用いてシステムに対して擬似的に攻撃を仕掛け、侵入のみに留まらない、幅広い攻撃段階での攻撃を試みる。これにより、脆弱性の有無のみならず、組織の持つ攻撃への実践的な対処能力を総合的に検証し、評価する。レッドチームでの活動では特に、高度な攻撃手法を用いて検証することで、それに対処できるセキュリティの確保に繋げる。
【0004】
[マルウェアを用いた攻撃耐性の検証]
レッドチームの活動においては、マルウェアを用いた攻撃への耐性も検証される。この検証ではたとえば、マルウェアがシステムに侵入する際に、システムに配備されたアンチウイルスソフトウェアやマルウェア解析サンドボックス、Endpoint Detection and Response(EDR)などのセキュリティ機構がそのマルウェアを検出できるかなどが検証される。
【0005】
[コードインジェクション攻撃]
マルウェアは標的の端末に侵入すると、セキュリティ機構による検出から逃れるために、活動の隠蔽を試みる。その技術の1つに、コードインジェクション攻撃がある。コードインジェクション攻撃は、良性プロセスに悪性コードを注入し、それを実行させる攻撃である。その典型的な例として、良性プロセスのメモリ空間に悪性コードを書き込んだ後、それを実行するスレッドを新たに立ち上げる攻撃が挙げられる。これにより、標的端末上に元々存在する正規のプログラムのプロセスが悪性挙動を示すようになり、検出が難しくなる。
【0006】
[バイトコードインジェクション攻撃の概要]
コードインジェクション攻撃の1つに、バイトコードインジェクション攻撃がある。既存のコードインジェクション攻撃の多くは、プロセッサが直接実行可能な命令列であるネイティブコードを注入する。それに対し、バイトコードインジェクション攻撃では、スクリプトエンジン(インタプリタとも呼ばれる)を標的とし、良性スクリプトを実行中のスクリプトエンジンのプロセスに、それが解釈実行するバイトコードを注入する。
【0007】
[スクリプトの実行方式]
スクリプトはスクリプトエンジン(インタプリタとも呼ばれる)によって実行される。スクリプトは一般に、実行時にバイトコードに変換され、そのバイトコードが仮想機械(VM)によって解釈実行される。そのため、スクリプトエンジンのプロセスにバイトコードを注入して実行させるには、スクリプトエンジンが持つVMが解釈できるバイトコードを、当該VMの適切な箇所に注入する必要がある。
【0008】
[記号表について]
スクリプトエンジンにおいては、バイトコードが用いる定数や変数などは一般に、記号表によって管理される。記号表とは、変数や定数、サブルーチンなどに関して、名前や値、型などの情報を格納する表であり、意味解析のフェーズにおいて作成される。スクリプトエンジンの記号表は一般に、名前や種別(変数か、定数か、サブルーチンか、など)、スコープ、属性(種別に応じる。たとえば、定数か変数か、どの型かなど)、そして値の情報などを保持する。そして、バイトコードはこうした記号表へアクセスして参照しながら実行される。したがって、スクリプトエンジンのプロセスがどのような挙動を示すかは、バイトコードと記号表の両者に依存して決定される。
【0009】
[バイトコードインジェクション攻撃の詳細]
バイトコードインジェクション攻撃を実現するには、事前に悪性スクリプトをスクリプトエンジンにて実行し、それに対応した悪性バイトコードを抽出しておく必要がある。次に、その悪性バイトコードを埋め込んだマルウェアを作成し、そのマルウェアを標的環境に侵入させる。そして、標的環境に存在する良性スクリプトをスクリプトエンジンに入力して実行し、そのプロセスのメモリ上の適切な位置に悪性バイトコードを注入することで、攻撃を実現する。この攻撃によって、良性スクリプトを実行中にも関わらず、悪性挙動が実現され、検出が難しくなる。
【0010】
なお、前述の通りバイトコードが実行中に参照する値は記号表で管理されることから、この注入の際にはバイトコードのみならず、対応する記号表もあわせて注入する必要がある。バイトコードや記号表を適切に注入するためには、それらの内部構造を把握しておく必要がある。
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
日本電信電話株式会社
演算装置、演算方法及びプログラム
9日前
日本電信電話株式会社
解析装置、解析方法及び解析プログラム
1日前
日本電信電話株式会社
抽出装置、抽出方法及び抽出プログラム
1日前
日本電信電話株式会社
管路位置探査装置及び管路位置探査方法
3日前
日本電信電話株式会社
検証装置、検証方法および検証プログラム
1日前
日本電信電話株式会社
解析装置、解析方法および解析プログラム
1日前
日本電信電話株式会社
振動センシング装置及び振動センシング方法
2日前
個人
非正規コート
19日前
個人
RFタグ読取装置
1日前
個人
人物再現システム
16日前
個人
在宅介護システム
1日前
個人
AI飲食最適化プラグイン
9日前
個人
電話管理システム及び管理方法
10日前
有限会社ノア
データ読取装置
17日前
株式会社ザメディア
出席管理システム
24日前
個人
広告提供システムおよびその方法
19日前
株式会社CROSLAN
支援装置
1日前
個人
日誌作成支援システム
16日前
トヨタ自動車株式会社
作業判定方法
25日前
株式会社タクテック
商品取出集品システム
23日前
個人
ポイント還元付き配送システム
17日前
トヨタ自動車株式会社
作業評価装置
1か月前
長屋印刷株式会社
画像形成システム
1日前
ミサワホーム株式会社
情報処理装置
23日前
トヨタ自動車株式会社
工程計画装置
24日前
ひびきの電子株式会社
認証システム
3日前
オムロン株式会社
回転装置及びマウス
5日前
オベック実業株式会社
接続構造
16日前
株式会社村田製作所
動き検知装置
23日前
トヨタ自動車株式会社
情報処理システム
25日前
ゼネラル株式会社
RFIDタグ付き物品
26日前
個人
公益寄付インタラクティブシステム
1か月前
トヨタ自動車株式会社
情報処理方法
25日前
個人
アルバム作成システム及びアルバム作成方法
3日前
株式会社ドクター中松創研
生成AIの適切使用法
16日前
株式会社国際電気
支援システム
26日前
続きを見る
他の特許を見る