IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌピーコア インコーポレイテッドの特許一覧

特許7531816イメージ基盤悪性コード検知方法および装置とこれを利用する人工知能基盤エンドポイント脅威検知および対応システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】イメージ基盤悪性コード検知方法および装置とこれを利用する人工知能基盤エンドポイント脅威検知および対応システム
(51)【国際特許分類】
   G06F 21/56 20130101AFI20240805BHJP
【FI】
G06F21/56
【請求項の数】 20
(21)【出願番号】P 2023532354
(86)(22)【出願日】2021-11-19
(65)【公表番号】
(43)【公表日】2023-12-06
(86)【国際出願番号】 KR2021017116
(87)【国際公開番号】W WO2022114689
(87)【国際公開日】2022-06-02
【審査請求日】2023-06-21
(31)【優先権主張番号】10-2020-0161665
(32)【優先日】2020-11-26
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2021-0160542
(32)【優先日】2021-11-19
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】514303802
【氏名又は名称】エヌピーコア インコーポレイテッド
【氏名又は名称原語表記】NPCore,Inc.
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ハン スン チョル
(72)【発明者】
【氏名】バン ヒョ ソプ
(72)【発明者】
【氏名】ソン ドン ファン
(72)【発明者】
【氏名】キム キョン シン
【審査官】岸野 徹
(56)【参考文献】
【文献】特表2019-527447(JP,A)
【文献】特開2020-013536(JP,A)
【文献】国際公開第2019/176062(WO,A1)
【文献】特開2019-191874(JP,A)
【文献】長野 雄太 ほか,亜種マルウェア自動検出のためのデータ圧縮と深層学習,コンピュータセキュリティシンポジウム2017 論文集,日本,一般社団法人情報処理学会,2017年11月02日,Vol.2017, No.2
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
コンピューティング装置に結合された悪性コード検知装置によって遂行されるイメージ基盤悪性コード検知方法であって、
前記コンピューティング装置に関連したプロセッサ、メモリまたは保存装置で検知されたファイル生成イベントログから得られる生成ファイルのファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換する段階;
前記バイト配列で2バイトずつを読み込む段階;
前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する段階;および
前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行する段階;を含む、イメージ基盤悪性コード検知方法。
【請求項2】
前記ディープラーニング分析を遂行する段階は、前記イメージ配列の分析のための入力レイヤ(input layer)の大きさを調整し、予め学習されたディープラーニングモデルを呼び出し、前記ディープラーニングモデルに前記イメージ配列を入力する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項3】
前記ディープラーニング分析を遂行する段階は、前記ディープラーニングモデルの分析後、予め設定された臨界値に基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項4】
前記ディープラーニング分析を遂行する段階は、前記ディープラーニングモデルの分析後、前記実行ファイルや前記コードの他のセクションまたはバイナリ断片のイメージテクスチャに基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項5】
前記バイト配列に変換する段階は、前記実行ファイルの実行時、メモリに上がった実行ファイルに対するメモリダンプを進行して解除されたパッキングファイルを前記バイト配列に変換して保存する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項6】
前記イメージ配列で保存する段階は、前記予め設定されたサイズのイメージ上に前記バイト配列を2バイトずつ予め設定された順で入れ、前記座標値の増加距離を距離(distance)パラメータに指定し、前記座標で増加する値の配列角度を角度(angles)パラメータを活用して指定する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項7】
前記実行ファイルや前記コードを自動分析やマシンラーニングによって分析して正常判定された場合、前記実行ファイルや前記コードの特定カラーイメージをホワイトリストに登録する段階をさらに含む、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項8】
自動分析対象やマシンラーニング分析対象またはグレーリストに登録されたファイルが実行されると、前記ファイルおよび前記ファイルのプロセスに対する追跡または監視を遂行し、前記ファイルが予め設定された悪性行為をするものと判断される時、前記ファイルや前記ファイルの少なくとも一部のコードに対するイメージ基盤悪性コード検知プロセスの進行を決定する段階をさらに含む、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項9】
悪性コードが含まれたファイルおよび正常ファイルで前記イメージディープラーニングモデルを学習させる段階をさらに含み、
前記ディープラーニング分析を遂行する段階は、前記学習されたイメージディープラーニングモデルを利用して、前記実行ファイルの基本的な特徴情報で学習された類似性ハッシュ関数に基づいて疑いの或るファイルの正常または悪性を分類したり、前記実行ファイルで抽出可能なすべての特徴情報で学習された類似性ハッシュ関数に基づいて前記疑いの或るファイルの正常または悪性を分類したり、悪性コードイメージ分析アルゴリズムを通じて前記疑いの或るファイルの正常または悪性を分類したり、またはこれらの組み合わせの分類方法を利用して前記疑いの或るファイルの正常または悪性を分類したり検知する、請求項1に記載のイメージ基盤悪性コード検知方法。
【請求項10】
前記悪性コードイメージ分析アルゴリズムは、前記学習されたイメージディープラーニングモデルに入力されるイメージ配列に対してマシンラーニング基盤類似度分類を遂行し、
前記マシンラーニング基盤類似度分類は悪性コード間の同種、変種または類似系列の相関関係を判別する、請求項9に記載のイメージ基盤悪性コード検知方法。
【請求項11】
特定コンピューティング装置に関連したプロセッサ、メモリまたは保存装置で検知されたファイル生成イベントログから得られる生成ファイルのファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換するバイト配列変換部;
前記バイト配列で2バイトずつを読み込む座標マッピング部;
前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する座標RGBチャネル増加部;および
前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行するイメージディープラーニング分析部;を含む、イメージ基盤悪性コード検知装置。
【請求項12】
前記イメージディープラーニング分析部は、予め学習されたディープラーニングモデルを呼び出すディープラーニングモデル呼び出し部、前記ディープラーニングモデルに前記イメージ配列を入力して分析するディープラーニングモデル分析部、および前記イメージ配列の悪性コードの有無を判断する悪性コード判断部を具備する、請求項11に記載のイメージ基盤悪性コード検知装置。
【請求項13】
前記悪性コード判断部は、前記ディープラーニングモデル分析部の分析結果に対して、予め設定された臨界値に基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定する、請求項12に記載のイメージ基盤悪性コード検知装置。
【請求項14】
前記悪性コード判断部は、前記ディープラーニングモデル分析部の分析結果に対して前記実行ファイルや前記コードの他のセクションまたはバイナリ断片のイメージテクスチャに基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定する、請求項12に記載のイメージ基盤悪性コード検知装置。
【請求項15】
前記バイト配列変換部は、前記実行ファイルの実行時、メモリに上がった実行ファイルに対するメモリダンプを進行して解除されたパッキングファイルを前記バイト配列に変換して保存する、請求項11に記載のイメージ基盤悪性コード検知装置。
【請求項16】
前記座標RGBチャネル増加部は、前記バイト配列の2バイトずつに基づいて前記予め設定されたサイズのイメージ上に該当座標の数値範囲をグレースケール範囲からRGBの最大範囲に増加させて指定し、前記座標の数値を1ずつ増加させ、RGBチャネル範囲の数値が所定の基準値を超過する時にまず緑色(Green)チャネル範囲の数値を増加させ、緑色(Green)チャネルの範囲超過時に青色(Blue)チャネルを増加させる、請求項11に記載のイメージ基盤悪性コード検知装置。
【請求項17】
前記イメージディープラーニング分析部でランサムウェアの行為分析が感知された場合、前記イメージディープラーニング分析部の悪性コード判断部の信号により前記特定コンピューティング装置のドライバ上で前記ドライバのファイルを臨時保存フォルダにバックアップする保存部をさらに含む、請求項11に記載のイメージ基盤悪性コード検知装置。
【請求項18】
人工知能基盤エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムであって、
特定コンピューティング装置に関連したプロセッサ、メモリまたは保存装置でファイル生成イベントを感知してファイル生成イベントログから生成ファイルのファイル経路を抽出するデータ収集部;
前記データ収集部から受信した前記ファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換するバイト配列変換部;
前記バイト配列で2バイトずつを読み込む座標マッピング部;
前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する座標RGBチャネル増加部;および
前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行するイメージディープラーニング分析部;を含む、エンドポイント脅威検知および対応システム。
【請求項19】
前記データ収集部は遠隔地のエンドポイントエージェントを含む、請求項18に記載のエンドポイント脅威検知および対応システム。
【請求項20】
前記エンドポイントエージェントが連結されたネットワーク上の複数のコンピューティング装置を管理するクラウド管理システムをさらに含む、請求項19に記載のエンドポイント脅威検知および対応システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は知られていないセキュリティ脅威の事前対応のための人工知能基盤次世代(next generation)エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムに関し、より詳細には、持続的な標的型攻撃である知能型の持続的な脅威(advanced persistent threat、APT)攻撃に対して侵害指標(indicator of compromise、IOC)基盤でパソコン、EDRシステムなどのコンピューティング装置で発生するプロセスの主な行為をモニタリングし、イメージ基盤で分析して侵害脅威に対応できる悪性コード分析方法および装置に関する。
【背景技術】
【0002】
情報通信インフラが持続的に拡大するにつれて、情報通信(IT)インフラを利用した多様な形態のセキュリティ脅威である知能型の持続的な脅威(Advanced Persistent Threat、以下APT)が急増している。
【0003】
特に最近悪性コードを利用した企業内の主要情報流出事故および内部使用者の非業務サイト接近による業務集中度の弱化およびこれによる情報流出事故防止のための対策が切実に要求されている状況である。
【0004】
したがって、持続的に被害が発生しているセキュリティ脅威に対応するためには膨大な量の悪性コードと脅威関連データを分析する必要があり、効果的な分析のために自動学習を通じてイメージを分析する悪性コード学習および分類モジュールに対する開発要求が多い。
【0005】
一方、既存悪性コード検知および対応技術に関連した海外および国内APTソリューションメーカーは、新種または変種悪性コードに対応するために各業者別に多様な形態で対応ソリューションを提示しているが、次第に膨大かつ知能化されるセキュリティ脅威にリアルタイムで対応するのが難しいのが実情である。
【0006】
そこで、マシンラーニングを活用した悪性コード検知技術を研究しているEDRソリューション開発業者では人工知能(artificial intelligence、AI)技術を積極的に活用して、シグネチャ基盤、ルール基盤などの既存ソリューションで検知できない一部のサイバー脅威を検知している。
【0007】
また、エンドポイント機器で情報を収集してサイバー攻撃の兆候を相関分析およびマシンラーニングでリアルタイムで自動検知し対応するためのエンドポイント侵害事故対応ソリューションも積極的に導入されている状況である。
【0008】
また、業務用パソコン(personal computer、PC)で悪性行為に対する事前対応技術で分散遠隔フォレンジックに対する多様な脅威インテリジェンス道具を開発しており、一部の従来技術ではシグネチャおよび行為分析にのみ依存している状況であり、また、開発者がC/C++、ルビー、パイソンなどの多様な言語で開発したソフトウェアアプリケーションのセキュリティをテストできるSAST(static application security testing)道具も多様に開発進行中である状況である。
【0009】
しかし、前述した悪性コードや脅威攻撃に対する分析および対応を効果的にするためには、PC、端末、サーバーなどに設置されたエージェントの内部で悪性コードを直接分析する形態が最も好ましいが、これまでそのような形態のソリューションは提案されずにいる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は前述した従来技術の要求に応じるために導き出されたもので、本発明の目的は、次世代エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムのような目標システムだけでなく、パソコン、端末、サーバーなどに設置されたエージェントの内部でイメージ基盤で悪性コードを効果的に分析できる、悪性コード検知方法および装置を提供するところにある。
【0011】
本発明の他の目的は、エンドポイントで発生するすべてのイベント行為を、IOC(侵害指標)基盤で持続的なモニタリングおよび分析を通じて分析して侵害脅威に対して対応し、これを利用してエージェントおよびビッグデータ基盤知能型フォレンジック分析システムとして使用できる、イメージ基盤悪性コード検知方法および装置を提供するところにある。
【0012】
本発明のさらに他の目的は、システム負荷防止のためにメモリリソース割り当てを最小化したマルチプラットフォーム用エージェントで高水準の悪性コード学習および分類を遂行できるイメージ基盤悪性コード検知方法および装置を提供するところにある。
【0013】
本発明のさらに他の目的は、悪性コードイメージ化アルゴリズムおよびイメージ化された悪性コード学習/分類技法を通じて、そしてマシンラーニング基盤の静的および動的分析または類似度分析を通じて収集したビッグデータで新種および変種悪性コードを検知する、イメージ基盤悪性コード検知方法および装置を提供するところにある。
【0014】
本発明のさらに他の目的は、アンチウイルス(anti-virus、ワクチン)をバイパスする新種および変種悪性コードに対してシグネチャレス(signature-less)方式で検知し、ローカルPCなどのエンドポイントの感染前に事前対応を遂行することができ、仮想およびリアル環境段階分析を通じて遠隔行為基盤悪性コードを動的に分析できる、イメージ基盤悪性コード検知方法および装置を提供するところにある。
【0015】
本発明のさらに他の目的は、使用者のオペレーティングシステム(operating system、OS)で発生する悪意の行為検知を通じて内部データに対する自動瞬間バックアップおよび原本ファイル復旧のためのバックアップエンジンを搭載した、イメージ基盤悪性コード検知方法および装置を提供するところにある。
【0016】
本発明のさらに他の目的は、各種分析を通じて収集した侵害指標(indicator of compromise、IOC)、悪性コードパターン、ヤラ(YARA)ルール(rule)、悪性コード流布地、C&C(command & control)サーバーなどの最新脅威情報(Threat Intelligence、TI)をリアルタイム収集および配布でき、収集された脅威情報に基づいて悪性コードを検知できる、イメージ基盤悪性コード検知方法および装置を提供するところにある。
【0017】
本発明のさらに他の目的は、前述したイメージ基盤悪性コード検知方法および装置を利用する、エンドポイントエージェントや人工知能基盤エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムを提供するところにある。
【課題を解決するための手段】
【0018】
前記技術的課題を解決するための本発明の一側面に係るイメージ基盤悪性コード検知方法は、コンピューティング装置に結合された悪性コード検知装置によって遂行されるイメージ基盤悪性コード検知方法であって、前記コンピューティング装置に関連したプロセッサ、メモリまたは保存装置で検知されたファイル生成イベントログから得られる生成ファイルのファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換する段階;前記バイト配列で2バイトずつを読み込む段階;前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する段階;および前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行する段階を含む。
【0019】
一実施例において、前記ディープラーニング分析を遂行する段階は、前記イメージ配列の分析のための入力レイヤ(input layer)の大きさを調整し、予め学習されたディープラーニングモデルを呼び出し、前記ディープラーニングモデルに前記イメージ配列を入力することができる。
【0020】
一実施例において、前記ディープラーニング分析を遂行する段階は、前記ディープラーニングモデルの分析後、予め設定された臨界値に基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0021】
一実施例において、前記ディープラーニング分析を遂行する段階は、前記ディープラーニングモデルの分析後、前記実行ファイルや前記コードの他のセクションまたはバイナリ断片のイメージテクスチャに基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0022】
一実施例において、前記バイト配列に変換する段階は、前記実行ファイルの実行時、メモリにロードされた実行ファイルに対するメモリダンプを進行して、解除されたパッキングファイルを前記バイト配列に変換して保存することができる。
【0023】
一実施例において、前記イメージ配列で保存する段階は、前記予め設定されたサイズのイメージ上に前記バイト配列を2バイトずつ予め設定された順で入れ、前記座標値の増加距離を距離(distance)パラメータに指定し、前記座標で増加する値の配列角度を角度(angles)パラメータを活用して指定することができる。
【0024】
一実施例において、イメージ基盤悪性コード検知方法は、前記実行ファイルや前記コードを自動分析やマシンラーニングによって分析して正常判定された場合、前記実行ファイルや前記コードの特定カラーイメージをホワイトリストに登録する段階をさらに含むことができる。
【0025】
一実施例において、イメージ基盤悪性コード検知方法は、自動分析対象やマシンラーニング分析対象またはグレーリストに登録されたファイルが実行されると、前記ファイルおよび前記ファイルのプロセスに対する追跡または監視を遂行し、前記ファイルが予め設定された悪性行為をするものと判断される時、前記ファイルや前記ファイルの少なくとも一部のコードに対するイメージ基盤悪性コード検知プロセスの進行を決定する段階をさらに含むことができる。
【0026】
一実施例において、イメージ基盤悪性コード検知方法は、悪性コードが含まれたファイルおよび正常ファイルで前記イメージディープラーニングモデルを学習させる段階をさらに含むことができる。前記ディープラーニング分析を遂行する段階は、前記学習されたイメージディープラーニングモデルを利用して、前記実行ファイルの基本的な特徴情報で学習された類似性ハッシュ関数に基づいて疑いの或るファイルの正常または悪性を分類したり、前記実行ファイルで抽出可能なすべての特徴情報で学習された類似性ハッシュ関数に基づいて前記疑いの或るファイルの正常または悪性を分類したり、悪性コードイメージ分析アルゴリズムを通じて前記疑いの或るファイルの正常または悪性を分類したり、またはこれらの組み合わせの分類方法を利用して前記疑いの或るファイルの正常または悪性を分類したり検知することができる。
【0027】
一実施例において、前記悪性コードイメージ分析アルゴリズムは、前記学習されたイメージディープラーニングモデルに入力されるイメージ配列に対してマシンラーニング基盤類似度分類を遂行できる。前記マシンラーニング基盤類似度分類は悪性コード間の同種、変種または類似系列の相関関係を判別するように構成され得る。
【0028】
前記技術的課題を解決するための本発明の他の側面に係るイメージ基盤悪性コード検知装置は、特定コンピューティング装置に関連したプロセッサ、メモリまたは保存装置で検知されたファイル生成イベントログから得られる生成ファイルのファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換するバイト配列変換部;前記バイト配列で2バイトずつを読み込む座標マッピング部;前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する座標RGBチャネル増加部;および前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行するイメージディープラーニング分析部を含む。
【0029】
一実施例において、前記イメージディープラーニング分析部は、予め学習されたディープラーニングモデルを呼び出すディープラーニングモデル呼び出し部、前記ディープラーニングモデルに前記イメージ配列を入力して分析するディープラーニングモデル分析部、および前記イメージ配列の悪性コードの有無を判断する悪性コード判断部を具備することができる。
【0030】
一実施例において、前記悪性コード判断部は、前記ディープラーニングモデル分析部の分析結果に対して、予め設定された臨界値に基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0031】
一実施例において、前記悪性コード判断部は、前記ディープラーニングモデル分析部の分析結果に対して前記実行ファイルや前記コードの他のセクションまたはバイナリ断片のイメージテクスチャに基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0032】
一実施例において、前記バイト配列変換部は、前記実行ファイルの実行時、メモリに上がった実行ファイルに対するメモリダンプを進行して解除されたパッキングファイルを前記バイト配列に変換して保存することができる。
【0033】
一実施例において、前記座標RGBチャネル増加部は、前記バイト配列の2バイトずつに基づいて前記予め設定されたサイズのイメージ上に該当座標の数値範囲をグレースケール範囲からRGBの最大範囲に増加させて指定し、前記座標の数値を1ずつ増加させ、RGBチャネル範囲の数値が所定の基準値を超過する時にまず緑色(Green)チャネル範囲の数値を増加させ、緑色(Green)チャネルの範囲超過時に青色(Blue)チャネルを増加させることができる。
【0034】
一実施例において、イメージ基盤悪性コード検知装置は、前記イメージディープラーニング分析部でランサムウェアの行為分析が感知された場合、前記イメージディープラーニング分析部の悪性コード判断部の信号により前記特定コンピューティング装置のドライバ上で前記ドライバのファイルを臨時保存フォルダにバックアップする保存部または保存管理システムをさらに含むことができる。
【0035】
前記技術的課題を解決するための本発明のさらに他の側面に係る人工知能基盤エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムは、特定コンピューティング装置に関連したプロセッサ、メモリまたは保存装置でファイル生成イベントを感知してファイル生成イベントログから生成ファイルのファイル経路を抽出するデータ収集部;前記データ収集部から受信した前記ファイル経路に位置する実行ファイルや前記実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換するバイト配列変換部;前記バイト配列で2バイトずつを読み込む座標マッピング部;前記2バイトのデータを予め設定されたサイズのイメージ上の座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する座標RGBチャネル増加部;および前記イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行するイメージディープラーニング分析部を含む。
【0036】
一実施例において、前記データ収集部は遠隔地の他のコンピューティング装置に設置されるエンドポイントエージェントを含むことができる。
【0037】
一実施例において、エンドポイント脅威検知および対応システムは、前記エンドポイントエージェントが連結されたネットワーク上の複数のコンピューティング装置を管理するクラウド管理システムをさらに含むことができる。
【発明の効果】
【0038】
本発明によると、侵害指標(IOC)基盤フォレンジック分析を通じてのサイバー脅威対応体系の構築でサンドボックス迂回悪性コードの脅威例えば、仮想環境回避、時間遅延およびトリガー攻撃、多段階攻撃などに対して効果的に対応し得る。
【0039】
また、本発明によると、マシンラーニング、悪性コードイメージ分析技法を適用した人工知能基盤の自動化された分析システムを通じて、ルール(rule)の生成および配布で自律進化型脅威対応システムを効果的に構築することができる。
【0040】
また、本発明によると、他の機関および他のシステムとの最新脅威情報の共有を通じて信頼性のある情報生成および配布が可能であり、これを通じて悪性コードの対応時間を短縮してサイバー被害を最小化することができる。
【0041】
また、本発明によると、既存ワクチンの限界を跳び越えた次世代ワクチン技術であって、国の安保を脅威するサイバー攻撃を未然に予防し、サイバー危機発生時に迅速かつ積極的に対処して個人と国の安全保障と利益保護に寄与することができる。
【0042】
また、本発明に係るイメージ基盤悪性コード検知方法および装置を利用すると、高度化されたサイバー脅威に対応する製品でアンチウイルス(anti-virus)を代替する次世代セキュリティソリューションとして活用することができる。
【0043】
また、本発明によると、政府機関および企業内部のセキュリティのための構築型プラットフォーム(On-premise)製品であって、機関および企業内部ネットワークのすべての端末を対象に設置されて次世代EDRサービスを効果的に提供することができる。
【0044】
また、個人使用者のためのSECaaS(Security As a Service、セキュリティサービス)の次世代EDRであって、エンドポイントにエージェントを設置し、サーバー側システムでクラウド形態で運営および管理が可能であるため、構築型(On-premise)方式の他に国内外の通信社と提携してオンラインセキュリティサービスの形態であるいは購読型課金サービスの形態で提供できる長所がある。
【図面の簡単な説明】
【0045】
図1】本発明の一実施例に係る知られていないセキュリティ脅威の事前対応のための人工知能(AI)基盤次世代エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムの概略的な構成図である。
図2図1のEDRシステムに採用できる侵害指標(IOC)および脅威情報管理システムとエンドポイントエージェントを説明するための図面である。
図3図1のEDRシステムに採用できるイメージ基盤悪性コード検知過程を説明するための図面である。
図4図1のEDRシステムに採用できる悪性コード検知プロセスを説明するためのフローチャートである。
図5図1のEDRシステムの分析システムとエンドポイントエージェント間の連動を説明するための図面である。
図6図1のEDRシステムに採用できるマシンラーニング基盤悪性コード検知過程を説明するための図面である。
図7図1のEDRシステムに採用できるイメージ基盤悪性コード検知過程を説明するための図面である。
図8図1のEDRシステムに採用できる分析システムで脅威モデリングに対する信頼性向上過程を説明するための図面である。
図9a図1のEDRシステムに採用できる多次元分析のためのセキュリティAPI(application programming interface)連動作業を説明するための図面である。
図9b図9aのセキュリティAPI連動作業の主な作動原理を説明するためのフローチャートである。
図10図1のEDRシステムの少なくとも一部に対応するエンドポイントエージェントの悪性コード分類過程を説明するための図面である。
図11図10のエンドポイントエージェントに採用できる分析システムの侵害指標(IOC)基盤分析モジュールの設計過程を説明するための図面である。
図12】本発明の他の実施例に係るイメージ基盤悪性コード検知装置とこれを搭載したコンピューティング装置を説明するためのブロック図である。
図13図12の悪性コード検知装置のためのクラウド基盤仮想化システムの物理的リソース追加増設過程を説明するための図面である。
図14図12の悪性コード検知装置に採用できる悪性コード検知プロセスの分析情報に対する使用者インターフェースを説明するための図面である。
図15図12の悪性コード検知装置を搭載できるエンドポイントエージェントを説明するためのブロック図である。
図16図15のエンドポイントエージェントの内部悪性コード検知構造を説明するための概略的なブロック図である。
図17図15のエンドポイントエージェントの内部分析モジュール構成を示したブロック図である。
図18図15のエンドポイントエージェントのエンドポイントセキュリティ動作を説明するための使用者インターフェース画面の例示図である。
図19図15のエンドポイントエージェントによって実行される悪性コード検知方法で悪性コード視角化過程を説明するためのフローチャートである。
図20図15のエンドポイントエージェントで実行ファイルのコードを予め設定したバイトの幅(width)サイズで定義してコードをイメージ化したイメージを得る過程を説明するための変換ソースコードの例示図である。
図21図15のエンドポイントエージェントでのコードイメージ化に対する結果イメージの例示図である。
図22図15のエンドポイントエージェントの主な悪性コード検知過程を説明するためのフローチャートである。
図23図22の悪性コード検知過程に採用できるグレーレベル同時生起行列(gray-level co-occurrence matrix、GLCM)変換イメージモジュールを説明するための変換ソースコードの例示図である。
図24図23のGLCM変換イメージモジュールを利用したコードイメージ化の適用前と後のイメージに対する例示図である。
図25】本発明のさらに他の実施例に係るイメージ基盤悪性コード検知装置の主な構成を説明するブロック図である。
【発明を実施するための形態】
【0046】
本発明は多様な変更を加えることができ、多様な実施例を有することができるところ、特定実施例を図面に例示して詳細な説明に詳細に説明しようとする。しかし、これは本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想および技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されるべきである。各図面の説明において類似する参照符号を類似する構成要素に対して使った。
【0047】
第1、第2、A、Bなどの用語は多様な構成要素の説明に使われ得るが、前記構成要素は前記用語によって限定されてはならない。前記用語は一つの構成要素を他の構成要素から区別する目的でのみ使われる。例えば、本発明の権利範囲を逸脱することなく第1構成要素は第2構成要素と命名され得、同様に第2構成要素も第1構成要素と命名され得る。「および/または」という用語は複数の関連した記載された項目の組み合わせまたは複数の関連した記載された項目のうちいずれかの項目を含む。
【0048】
或る構成要素が他の構成要素に「連結されて」いるとか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されていたりまたは接続されていてもよいが、中間に他の構成要素が存在してもよいと理解されるべきである。反面、或る構成要素が他の構成要素に「直接連結されて」いるとか「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないものと理解されるべきである。
【0049】
本出願で使った用語は単に特定の実施例を説明するために使われたもので、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なって意味しない限り、複数の表現を含む。本出願で、「含む」または「有する」等の用語は明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加の可能性を予め排除しないものと理解されるべきである。
【0050】
異なって定義されない限り、技術的または科学的な用語を含んでここで使われるすべての用語は、本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同一の意味を有している。一般的に使われる辞書に定義されているような用語は関連技術の文脈上有する意味と一致する意味を有すると解釈されるべきであり、本出願で明白に定義しない限り、理想的または過度に形式的な意味で解釈されない。
【0051】
以下、添付した図面を参照して、本発明の好ましい実施例をより詳細に説明しようとする。本発明を説明するにおいて、全体的な理解を容易にするために図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【0052】
図1は、本発明の一実施例に係る知られていないセキュリティ脅威の事前対応のための人工知能(artificial intelligence、AI)基盤次世代エンドポイント脅威検知および対応(endpoint detection and response、EDR)システムの概略的な構成図である。
【0053】
図1を参照すると、AI基盤次世代EDRシステム100は分析システム110、クラウド管理システム120、悪性コード動的分析システム150、悪性コード学習および分類システム160、侵害指標(indicator of compromise、IOC)および脅威情報管理システムなどを含む。分析システム110はデータ収集部130およびイメージ変換部140を具備し、知能型フォレンジック分析システムや脅威分析サーバーと指称され得る。イメージ変換部140はイメージ化モジュール141とイメージ分類モジュール142を具備することができる。そして、悪性コード動的分析システム150は行為基盤悪性コード動的分析システムを含むことができる。
【0054】
本実施例で悪性コード動的分析システム150と悪性コード学習および分類システム160とIOCおよび脅威情報管理システム170を別途の構成で説明するが、本発明はそのような構成に限定されず、分析システム110が悪性コード動的分析システム150と悪性コード学習および分類システム160とIOCおよび脅威情報管理システム170を含むように構成され得ることは言うまでもない。この場合、悪性コード動的分析システム150と悪性コード学習および分類システム160とIOCおよび脅威情報管理システム170それぞれは、記載された順序通り悪性コード動的分析モジュールと悪性コード学習および分類モジュールとIOCおよび脅威情報管理モジュールとそれぞれ指称され得る。
【0055】
主な構成要素をより具体的に詳察すると、分析システム110はエンドポイントに関連したネットワーク、ファイル、プロセス、レジストリなどで発生する主な行為に対してIOC基盤で収集するエージェント機能を具備することができる。このようなエージェント機能はエンドポイントでの侵害脅威収集を通じての知能型フォレンジック分析のためのものであり得る。
【0056】
また、分析システム110は収集されたモニタリングデータをビッグデータ分析が可能な形態で保存し、収集された行為情報を活用して知能型フォレンジック分析および悪性行為検知を遂行する。
【0057】
悪性コード動的分析システム150はリアルおよび仮想環境を同時運営可能な行為基盤悪性コード動的分析システムを含むことができる。悪性コード動的分析システム150は悪性コードのネットワーク、ファイル、プロセス、レジストリなどでの行為に対して行為ルール基盤で検知し、検知された悪性コードの静的および動的分析を通じて収集したデータを分析可能な形態で保存することができる。このような収集データは分析可能な形態で保存されるビッグデータであり得る。
【0058】
また、悪性コード動的分析システム150は仮想マシンを回避する悪性コードに対応するために物理的に構成されたリアルマシン基盤サンドボックス環境でファイルを実行して悪性行為を分析することができる。このために、悪性コード動的分析システム150は仮想マシン(virtual machine、VM)およびリアルマシン(real machine)で行為基盤で悪性コードを動的分析するように具現され得る。
【0059】
悪性コード学習および分類システム160は、悪性コードイメージ分析技法を適用した悪性コード学習および分類モジュールを具備することができる。悪性コード学習および分類システム160は、悪性コードイメージ化アルゴリズムを使ってイメージ学習用マシンラーニングパラメータを調整(tuning)することができる。また、悪性コード学習および分類システム160は、マシンラーニングアルゴリズムを活用した悪性コードイメージ学習を学習し分類することができる。すなわち、システム160は悪性コードの静的および動的分析を通じて収集したビッグデータをマシンラーニング基盤で類似度分析し、原本悪性コードで派生した悪性コードをモデリング技法で分析して悪性コードを検知することができる。
【0060】
侵害指標(IOC)および脅威情報管理システム170は各種分析を通じて収集した侵害指標(IOC)、悪性コードパターン、ヤラ(YARA)ルール、悪性コード流布地、C&C(command & control)サーバー、悪性コードのハッシュ(hash)等の最新脅威情報に対してOpenIOC、STIX(structured threat information expression)等のフォーマットで管理し、TAXII(trusted automated exchange of intelligence information)等の標準プロトコルを通じて他のシステムと共有したり配布することができる。すなわち、IOCおよび脅威情報管理システム170はエンドポイントでランサムウェア攻撃に備えた瞬間バックアップおよび復元機能を遂行したり、システムで生成された最新侵害指標と脅威情報に対して標準プロトコルを通じて韓国インターネット振興院(KISA)のサイバー安全センターなどの公共システムと最新脅威情報を共有したり配布することができる。
【0061】
本実施例のAI基盤次世代EDRシステム100の主な機能を説明すると次の通りである。
【0062】
まず、EDRシステム100は収集モジュール(collecting module、COL)を通じてエンドポイントでのネットワーク、ファイル、プロセス、レジストリなどの主な行為に対してIOC基盤で侵害脅威を収集する(S11)。このようなエージェントの収集機能はエンドポイントでの主要行為に対してIOC基盤で侵害脅威を収集しながら、ランサムウェア攻撃感知時に瞬間バックアップ機能と連動されるように設置され得る。
【0063】
また、EDRシステム100はフォレンジック分析モジュールを通じて知能型フォレンジック分析および悪性行為検索を遂行できる。
【0064】
また、EDRシステム100は仮想マシンを回避する悪性コードに対応するために物理的に構成されたリアルマシン基盤サンドボックス環境でファイルを実行して悪性行為を分析することができる。
【0065】
また、EDRシステム100は悪性コードの静的および動的分析を通じて収集したビッグデータをイメージ化した後、マシンラーニング前処理(machine learnign preprocessing、ML-PreP、S12)、イメージ学習、イメージ分類、グループ化過程を記載された順序通りに経て原本悪性コードで派生した変種悪性コードに対して効率的に検知することができる。収集されたデータやイメージ化結果、前処理結果、学習結果、分類結果、グループ化結果、検知結果などのデータは保存部に保存(stroing、STO、S13)され得る。また、保存されたデータはイメージ分析などの後処理(postprecessing PostP、S14)を通じて処理された後、再び保存部に保存され得る。
【0066】
また、EDRシステム100はエンドポイントで発生するランサムウェアの行為分析を通じて非認可プロセスによる暗号化がなされることを感知した場合、原本ファイルに対してドライバ上で瞬間的に臨時保存フォルダにバックアップし、ランサムウェア判明時に臨時保存フォルダに保存された原本ファイルでデータを復元するように構成され得る。
【0067】
また、EDRシステム100は各種分析を通じて収集したIOC、悪性コードパターン、YARAルール、悪性コード流布地、C&Cサーバーなどの最新侵害指標と脅威情報に対してOpenIOC、STIXなどのフォーマットで管理し、TAXIIなどの標準プロトコルを通じて他のシステムと共有したり他のシステムに配布することができる。
【0068】
表1はEDRシステム100のデータ収集部120に収集されるデータの収集経路別主な性能値を示したテーブルである。
【0069】
【表1】
【0070】
図2は、図1のEDRシステムに採用できる侵害指標(IOC)および脅威情報管理システムとエンドポイントエージェントを説明するための図面である。図3は、図1のEDRシステムに採用できるイメージ基盤悪性コード検知過程を説明するための図面である。図2を参照すると、IOCおよび脅威情報管理システム170とエンドポイントエージェント200は、知能型フォレンジック分析のために侵害指標(IOC)を共有して悪性コードを視角化して高度化させることができる。
【0071】
すなわち、IOCおよび脅威情報管理モジュールを含む分析システムはIOCおよび脅威情報管理モジュールを通じて疑いのあるファイルやソース情報を収集したり(S21)、C&Cサーバーや悪性コード流布地に対する情報を収集し(S22)、クラウド上で収集された悪性コードおよび情報収集結果(S23)のうち疑いのあるファイルをサンドボックス分析モジュールに伝送し(S24)、情報収集結果報告書をソースデータベース(DB)に保存することができる(S26)。この時、サンドボックス分析モジュールで分析されたデータもソースDBに保存され得る(S25)。
【0072】
その次に、分析システムはソースDBに保存されたデータを受信して(S27)、1次検証して出力し(S28)、1次検証結果を自体検証および分類して点数を付与(scoring)することができる(S29)。点数が付与されたデータはIOC DBに保存された後にエンドポイントエージェント200に伝送されたり共有され得る。
【0073】
エンドポイントエージェント200は、エンドポイントに対応する特定コンピューティング装置で収集したエージェントデータ(agent data)を内部分析システム210を通じてその前に伝達された侵害指標(IOC)と比較分析(compare and analyze、CA)することができる。
【0074】
より詳しく説明すると、図3に示した通り、分析システム収集された悪性コード(malware binary、30)に対して、符号のない8ビットの整数からなるベクトルまたはバイトで読み込んで2D配列で構成し(S31)、2D配列の幅(width)サイズを基礎とするイメージ形態でイメージ化することができる(S32、S33)。ここで、2D配列はバイト配列と指称され得、イメージ形態は0(黒色)~225(白色)範囲のグレースケールイメージで視角化されたものを含むことができる。
【0075】
本実施例によると、実行ファイルの多様な部分に対して、例えばtext、rdata、data、rsrcなどの悪性コードの他のセクションあるいはバイナリ断片に対して独特のイメージテクスチャ35を有するイメージ配列を生成することができる。
【0076】
図4は、図1のEDRシステムに採用できる悪性コード検知プロセスを説明するためのフローチャートである。
【0077】
図4を参照すると、EDRシステムまたはその分析システムは行為基盤ホワイトリスト例外処理手続き(グレーリスト機能)を遂行できる。
【0078】
より具体的には、EDRシステムまたは分析システムに採用できる行為基盤ホワイトリスト例外処理技術は、使用者が手動で登録したホワイトリストを除いてゾンビゼロ(ZombieZERO)システムなどのツールによる自動分析やマシンラーニングによる分析が遂行されて正常判定となったファイルやコードをグレーリスト(graylist)として登録し、これに基づいてエンドポイントエージェントで継続的に追跡および監視を遂行するように構成され得る。
【0079】
例えば、時間、場所、使用者、仮想回避などの特定条件でのみ作動する悪性コードを防御するために、エンドポイントの使用者端に設置されたエージェント(agent)で該当悪性コードを継続的に追跡または監視するように設定され得る。
【0080】
グレーリストによる悪性コード検知シナリオ構成を詳察すると、次の通りである。
【0081】
まず、エンドポイントエージェント(以下、簡略にエージェント)は使用者が自動分析やマシンラーニング対象であるかグレーリストに登録されたファイルを実行(file execution)すると、ホワイトリスト(whitelist)に登録されたファイルなのか(S42)、使用者が登録した(manually register)ファイルなのか(S43)を判断し、実行自体を制限しはしない(run the file、S44)。
【0082】
そして、ファイルやこのファイルによるプロセスが実行される時、エージェントは継続的にファイルやプロセスに対する追跡と監視を進行する。追跡と監視過程でホワイトリストに登録されたファイルでなければ(S42のNo)、ブラックリストに登録されたファイルなのか(S45)を判断する。ブラックリストに登録されたファイルであれば、該当ファイルを遮断する(block file、S46)。一方、ブラックリストに登録されたファイルでなければ、分析要請対象なのかを判断し(S47)、特別な場合、分析要請対象でなければ現在プロセスを終了し、分性要請対象であれば、該当ファイルの実行を保留し(pending execution(holding)、S48)、ゾンビゼロ(ZombieZERO)セキュリティソリューションなどに該当ファイルに対する分析要請(analysis request、S49)を進行することができる。ゾンビゼロセキュリティソリューションは分析システムやIOCおよび脅威情報管理モジュールなどに結合されたり含まれるセキュリティソリューションの一種である。
【0083】
一方、ホワイトリストに登録されているが使用者が登録したファイルでない場合(S43のNo)、エージェントは該当ファイルをグレーリスト(graylist)に登録して該当ファイルの実行時に追跡(tracking)と監視(monitoring)を遂行できる(S50)。
【0084】
また、エージェントはランサムウェア行為、MBR(master boot record)損傷などの悪性行為を感知した時点で該当ファイルや該当プロセスを遮断し、分析システムや対応サーバーに要請してグレーリストからリストを削除し、ブラックリストに該当ファイルを登録することができる。
【0085】
図5は、図1のEDRシステムの分析システムとエンドポイントエージェント間の連動を説明するための図面である。
【0086】
図5を参照すると、サーバー側分析システム110は手動分析(manually analysis)モジュール143、自動分析(antomatic analysis)モジュール144、ホワイトリスト(WL)DB145、ブラックリスト(BL)DB146、グレーリスト(GL)DB147を具備することができる。手動分析モジュール143は管理者分析、ホワイトリスト登録、ブラックリスト登録などを遂行することができ、自動分析モジュール144はワクチン(antivirus)機能、静的分析、動的分析、マシンラーニング分析を遂行できる。動的分析には仮想マシンやリアルマシンが利用され得る。前述した構成の分析システム110は人工知能基盤の分析プラットフォームを具備し、エージェント200に悪性コード検知政策(policy)を提供することができる(S51)。
【0087】
エージェント200は次世代EDR装置として機能することができ、事前検知(proactive detection)モジュール220および事後検知(post detection)モジュール230を具備し、エンドポイントまたは特定コンピューティング装置で実行されるファイルに対する追跡(tracking)および監視(sureillance)機能240を遂行できる。エージェント200は追跡および監視結果により特定ファイル(file)に対する情報や該当ファイルの実行イベントログなどのログ(log)を分析システム110に伝送することができる(S52)。
【0088】
図6は、図1のEDRシステムに採用できるマシンラーニング基盤悪性コード検知過程を説明するための図面である。
【0089】
図6を参照すると、EDRシステムやその分析システムはマシンラーニング基盤で悪性コードを検知するために、正常に入力されるファイル60のうちポータブル実行ファイル(portable executable file、PE file)等の実行ファイルの特徴情報を抽出することができる(S61)。特徴情報は、第1特徴fは5、第2特徴fは7、そして第k特徴fは2のように、各特徴が整数値を有するように保存され得る。一定サイズまたは一定幅の整数値は所定のベクトルまたはバイトに対応し得る。
【0090】
次に、分析システムは保存された特徴情報から類似性ハッシング(hashing)を遂行できる(S62)。類似性ハッシングは類似性検索のためのディープハッシングなどの類似性基盤ハッシング手続きを含むことができる。類似性ハッシングでは同一のデータは同一のハッシング値を生成し、類似するデータの場合、ハッシング値の差がデータの類似度と反比例関係を有するように具現され得る。例えば特定実行ファイル(000.exe)のデータポイントをバケット(bucket)にしてハッシングを遂行できる。
【0091】
次に、分析システムは類似性ハッシング結果を予め設定または予め訓練された複数の分類モデル(model 1、model Lなど)と比較してマッチングの可否を判断することができる(S63)。
【0092】
類似性ハッシング結果のうち分類モデルとマッチングされるものがなければ、すなわち悪性コードが検知されなかった場合、分析システムは深化検知のために特徴情報を拡張してデシジョンツリー(decision tree、DT)アンサンブルなどのマシンラーニングモデルを通じて類似性ハッシング結果のマッチングの可否を確認する(S64)ことにより正常ファイル67と悪性ファイル68を分類することができる。ここで、拡張された特徴情報は前述した特徴情報(基本特徴情報)に加えて、該当ファイルで追加的に追加特徴情報を抽出するか、抽出した後に含ませていない残りの特徴情報を付加して深化検知対象特徴情報の個数を基本特徴情報対比一定の部数(1より大きい整数倍)に増加させたものを指称し得る。そして、DTアンサンブルは複数個のデシジョンツリーを結合して一つのモデルを使った場合よりさらに高い性能を示すようにした特定モデルを指し示し得る。
【0093】
本実施例によると、マシンラーニング基盤の悪性コード分析を高度化してエージェント機能を高度化することができる。すなわち、本実施例のマシンラーニングモデルは正常ファイルおよび悪性コードが含まれたファイルでモデルを学習させた後、学習されたモデルで疑いの或るファイルの悪性の有無を検知するように構成され得る。また、マシンラーニングモデルは実行ファイルの基本的な特徴情報で類似性ハッシュ関数を学習させた後に正常ファイルと悪性ファイルを分類し、また、実行ファイルで抽出可能なすべての特徴情報で類似性ハッシュ関数を学習させた後に正常ファイルと悪性コードを分類するように具現され得る。
【0094】
図7は、図1のEDRシステムに採用できるイメージ基盤悪性コード検知過程を説明するための図面である。
【0095】
図7を参照すると、EDRシステムの分析システムは悪性コードイメージ分析(malware image analysis)アルゴリズム適用して悪性コードを検知することができる。
【0096】
具体的には、分析システムは実行ファイルやその少なくとも一部のコードを2Dベクトル(2D vector)に変換する(S70、S71)。その次に、2Dベクトルをグレースケールでイメージ化する(grayscale imaging、S72)。
【0097】
次に、分析システムは前処理(preprocessing、S73)を通じて2Dベクトルをイメージ化したデータまたはイメージ配列をディープラーニングの入力として使えるようにイメージ配列のイメージの大きさを調整する。
【0098】
次に、その大きさが調整されイメージ化されたデータをマシンラーニングモデルで分類して悪性コード間の同種または類似系列相関関係を判別する(S74)。マシンラーニングモデルは入力と出力の間にコンボリューション、CI特徴マップ、サブサンプリング、S1特徴マップ、コンボリューション、S2特徴マップ、サブサンプリング、コンボリューション、完全連結層を具備したオープンソース基盤類似度分類モデルなどを利用することができる。
【0099】
マシンラーニングモデルを利用した判別結果、すなわち悪性コードの分類結果は多様なイメージテクスチャのイメージで表現され得る(S75)。このような悪性コード分類結果は分析者のための別途の使用者分析システムと連動(interlocking)され得(S76)、特定DBに変換(converting)されて(S77)保存され得る。
【0100】
本実施例によると、イメージ化されたデータを利用して悪性コード分類技術の正確度を向上させることができ、悪性コード相関分析基盤で流布行為の波及力分析を通じて危険度測定正確度を改善することができる。
【0101】
図8は、図1のEDRシステムに採用できる分析システムで脅威モデリングに対する信頼性向上過程を説明するための図面である。
【0102】
図8を参照すると、分析システムは人工知能基盤悪性コード分析システムとして悪性コード動的分析システム150等を含むことができ、次のように設計され得る。すなわち、分析システムは分析システム性能検証のために悪性コードデータセット(malware dataset、152)等の悪性コードサンプルを利用することができ(S81)、性能検証結果をマシンラーニング回避脅威モデリングに反映することができる(S83)。
【0103】
悪性コード動的分析システム150は分類(classification)モジュール、グループ化(clustering)モジュール、ディープラーニング(deep learning)モデルを具備し、ポータブル実行フォーマットファイル(PE format files)の特徴抽出(feature extraction)後にマルウェア分析(malware analysis)を通じてマルウェア検出(malware detection)とマルウェア系列分類(malware family classification)を遂行できる。
【0104】
悪性コードデータセット152はリアルデータセット(real dataset)をマルウェアラベリング(malware labeling、S82)して生成したデータセットを含むことができる。
【0105】
分析システムはマルウェア分析システム(malware anslysis system)として中毒攻撃(poisoning attack)、回避攻撃(evasion attack)等に対する分析としてマシンラーニング回避脅威モデリングを遂行するように構成され得る。
【0106】
本実施例によると、悪性コード分析に多様な分類および群集アルゴリズムを利用して効果的な悪性コード分析システムを設計することができる。また、悪性コードと正常ファイルに対する分類だけでなく細部的な悪性コード変種グループ分類を遂行することができ、正常コードと悪性コードサンプルだけでなく多様な変種グループでラベリングされた悪性コードサンプルをシステム性能検証に活用することができる。また、エンドポイントに設置されるエージェントとの互換性を考慮した悪性コード分析システムを設計でき、マシンラーニングモデル回避攻撃の観点で人工知能基盤悪性コード分析システムを対象に遂行できる各種攻撃に対する脅威モデルを効果的に樹立することができる。
【0107】
図9aは、図1のEDRシステムに採用できる多次元分析のためのセキュリティAPI(application programming interface)連動作業を説明するための図面である。図9bは、図9aのセキュリティAPI連動作業の主な作動原理を説明するためのフローチャートである。
【0108】
図9aを参照すると、EDRシステムは悪性コード連動分析システム180をさらに含むことができる。連動分析システム180はEDRシステムの分析システム(図1の110参照)に含まれ得、この場合、連動分析モジュールと指称され得る。
【0109】
連動分析システム180は第三者(3rd party)評判分析モジュール、ファイル拡張子検証モジュール、ファイル静的行為分析モジュール、サンドボックス管理者、ファイル動的行為分析モジュール、ファイルDB、静的または動的悪性コード検知ヤラルール(Yara rule)DB、ファイル分析結果DB、PCAP(packet capture)DB、ハッシュ(hash)DBなどを具備することができる。
【0110】
ファイルDBはポータブル実行(PE)ファイル、オフィス(office)ファイル、ハングル(HWP)ファイル、Eメール(eml)ファイルなどを保存し管理することができる。ファイル静的行為分析モジュールはファイル拡張子検証モジュールと悪性コード検知ヤラルールモジュールとサンドボックス管理者に連結され、ファイル属性、PE分析、ヤラルール検知のための少なくとも一つのサブモジュールを具備し、ファイル分析結果DBに連結され得る。
【0111】
ファイル動的行為分析モジュールはサンドボックス管理者と悪性コード検知ヤラルールモジュールに連結され、レジストリ、ファイル、メモリ、ネットワークなどでの脅威行為を分析するための少なくとも一つ以上のサブモジュールを具備し、ファイル分析結果DB、PCAP DBおよびハッシュDBに連結され得る。PCAP DBはネットワークトラフィック捕捉用API(application programming interface)を具備することができる。
【0112】
サンドボックス管理者は仮想サンドボックス191とリアルマシンサンドボックス192に連結され得る。仮想サンドボックス191は仮想マシンサンドボックスとして複数の悪性コード分析仮想マシン(仮想マシン1~仮想マシンn)を具備し、リアルマシンサンドボックス192は複数の悪性コード分析リアルマシン(リアルマシン1~リアルマシンn)を具備することができる。
【0113】
本実施例によると、セキュリティAPI連動を通じて侵害指標(IOC)、悪性コードパターン、検知ルール、悪性コード流布地、C&Cサーバーなどの最新脅威情報(threat intelligence、TI)のリアルタイム収集および配布システムを構築することができる。また、静的/動的分析高度化とエージェント機能高度化のために、収集されたファイルに対して仮想マシンやリアルマシンを利用した悪性コード分析プロセス連動設計を効果的に具現することができる。
【0114】
また、本発明によると、多次元分析のためのセキュリティAPI連動作業を通じてワクチン(antivirus)エンジン配布、評判分析、URL(uniform resource locator)接続検知、行為基盤分析などを効果的に遂行できる。また、仮想マシン迂回検知プロセスを通じてエンドポイントの中央処理装置(CPU)識別子(ID)、仮想マシン行為の有無、プロセス探索(searching)動作基準などを設定して悪性コード検知に利用することができる。
【0115】
また、本発明によると、エンドポイントで発生するランサムウェアのリアルタイム行為分析を通じてドライバ上で瞬間的に臨時保存フォルダにデータをバックアップしてランサムウェア判明時に原本ファイルでデータを復元できる環境を提供することができる。
【0116】
例えば、図9bに示した通り、知られているファイルである場合(S91のN)、ファイル実行を制限しないが(S92)、知られていないファイルが実行されようとする時(S91のY)、EDRシステムは該当ファイルの実行を保留させ(S93)、ファイルを分析システムでアップロードし(S94)、分析システムを通じて該当ファイルを分析し(S95)、実行可能ハッシュ値をダウンロードして(S96)分析システムの分析結果と比較することによって、該当ファイルの実行の有無を決定(S97)することができる。
【0117】
図10は、図1のEDRシステムの少なくとも一部に対応するエンドポイントエージェントの悪性コード分類過程を説明するための図面である。
【0118】
図10を参照すると、エンドポイントエージェントは変種または新種悪性コード問題を解決するために、悪性コード学習および分類モジュールを通じて変種(malware variants)、新種(new malware groups)悪性コードに対して異常値検知(outlier detection)を遂行し、モデル再訓練(model retraining)を遂行するように構成され得る(S101)。
【0119】
異常値検知は問題あるいは異常があるデータを検知することを示し、モデル再訓練は変種、新種悪性コードに対応できるように正常イメージテクスチャと追加された悪性イメージテクスチャなどで再び訓練することを示し得る。
【0120】
また、エンドポイントエージェントは多重プラットフォームに設置可能なマルウェア分析システム(malware aanlysis system)を具備することができる。エンドポイントエージェントはマルウェア分析システムを通じてマッキントッシュ(macintosh、MAC)、ウィンドウズ(windows)、リナックス(linux)等の多重プラットフォーム(multi-platform)を形成することができる(S103)。
【0121】
エンドポイントエージェントは多重プラットフォーム上でリアルデータセット(real dataset)の中毒(poisoning)などのようなデータセット攻撃(attack dataset)を機械学習対象攻撃として設定して攻撃シミュレーション(attack simulation)を遂行し、これを通じて人工知能モデルを学習させることができる(S105)。
【0122】
本実施例によると、人工知能基盤で悪性コード分類システムを具現して回避技術を効果的に学習することができる。
【0123】
また、ウインドウ、マッキントッシュ、リナックスなどの特定プラットフォーム基盤の悪性コードに対して単一の分析システムで悪性コードを分析することができ、悪性コードサンプルを活用して具現システムの性能を検証することができる。例えば、既存グループの変種悪性コードと新種グループの悪性コードが登場するシナリオを考慮してモデルを学習させることができる。また、新種、変種悪性コード分析の検証のために、既存ラベリングされた悪性コードグループ情報および時系列データを活用することができる。また、マシンラーニングを対象とする中毒攻撃、回避攻撃などの各種攻撃技法を既存サンプルに適用して変形させた攻撃データセットを構築し、このような攻撃データセットを活用して悪性コード分析システムを学習させて悪性コード検知成功率を向上させることができる。
【0124】
図11は、図10のエンドポイントエージェントに採用できる分析システムの侵害指標(IOC)基盤分析モジュールの設計過程を説明するための図面である。
【0125】
図11を参照すると、エンドポイントエージェントは知能型フォレンジック分析のためにエージェントの内部にアンチウイルス(antivirus、AV)エンジンを適用することができる。
【0126】
より具体的に説明すると、エージェントが実行(Agent execution)されて前処理(preprocessing)過程が遂行され得る。
【0127】
前処理過程で、ファイル(File)、プロセス(Process)またはレジストリ(Registry)イベントを収集する特定マネジャー(CIOCMgr)が実行(start)され(S1101)、また、ネットワーク(Network)イベントを収集する特定トラフィックモニター(CTrafficMonitor)が実行(start)されて(S1110)エンドポイント(EndPoint)または特定コンピューティング装置のイベントを収集することができる。
【0128】
イベント発生時、特定の第1関数(DoDynamic関数)を通じて該当イベントのログに対してルール(Rule)比較を遂行し(S1102、S1111)、比較した結果をそれぞれの特定の第2関数(Insert関数)を通じてDBに該当ログおよび分析結果を保存し(S1103、S1105、S1107、S1112)、その次に保存されたログおよび分析結果を管理者(Manager)に伝達するためにそれぞれの特定の第3関数(DoNofity関数)を通じて該当データをJson形態に変換(S1104、S1106、S1108、S1113)した後、所定のメッセージ(DoNofity_Send)を通じてJson形態のデータを管理者に伝達(S1120)することができる。管理者に伝達されたデータは使用者インターフェース(user interface、UI)に表示され得る。
【0129】
表2(表2-1~表2-6)は侵害指標(IOC)基盤悪性コード分析機能のためのインターフェース構成内訳に対する例示である。
【0130】

【表2-1】
【表2-2】
【表2-3】
【表2-4】
【表2-5】
【表2-6】
【0131】
エージェントに搭載できる侵害指標基盤分析モジュールは収集されたイベント(event)を形式に合うように修正した後、エージェントの応用プログラム(Application)側に伝達することができる。以後、エージェントは伝達されたイベント内容をDBに保存したりプロセス部分のみを抽出して抽出した部分をJsonフォーマットなどでログ化して管理者に伝達することができる。ここで、Jsonフォーマットは抽出した部分を管理者に伝達するためにフォーマット変更構成であって、他の構成を代替可能である。エージェントはヤラルールなどの規則を通じての侵害指標の分析結果であるログ(log)情報を提供することができる。エージェントは悪性行為に対する動作ログ分析後該当悪性行為動作基盤で製作されたヤラルール(Yara rule)を利用することができる。また、エージェントはマイターアタック(Mitre ATT&CK)基盤で該当ルールに対する攻撃分類および攻撃方式を追加的に作成して該当情報を提供できるように製作されたヤラルールを利用するように構成され得る。
【0132】
エージェントはMITRE ATT&CK T_ID情報と収集されたログ分析を通じてログの攻撃方式に対する分類および技術情報を提供し、該当IDとリンクされたURLを提供してMITRE ATT&CKサイトのヘルプの参照が可能であるように構成され得る。
【0133】
エージェントは侵害指標(IOC)規則適用および該当規則を通じての静的分析でレジストリログ(registry log)分析を遂行できる。エージェントはレジストリログ分析を通じてディスク接近(disk access)およびドライバ接近(driver access)に対するレジストリ経路(registry path)を集中検知し、ディスク接近およびドライバ接近検知セキュリティを進行することができる。この時、ディスク接近関連ログ内容および関連規則を通じて悪性行為を検知することができる。
【0134】
エージェントはAPIフッキング(hooking)を通じて内部的に動作するプロセス(process)およびWMI(windows management instrumentation)分析を遂行できる。すなわち、エージェントはAPIフッキングを通じてのプロセスおよびWMI分析を通じてメモリ基盤攻撃検知を補完し、モジュール動作部分検知を補完し、スクリプト(script)基盤悪性行為検知を補完し、命令ライン(command line)を通じての悪性行為を検知し、スクリプト基盤悪性行為を検知することができる。
【0135】
また、エージェントはネットワークモニタリング機能強化のために、ネットワーク通信中であるパケットペイロード(packet payload)検知機能を具備することができ、ポートスキャン(port scan)等のネットワークを利用した事前攻撃準備を感知するように設置され得る。
【0136】
図12は、本発明の他の実施例に係るイメージ基盤悪性コード検知装置とこれを搭載したコンピューティング装置を説明するためのブロック図である。
【0137】
図12を参照すると、イメージ基盤悪性コード検知装置(以下、簡略に悪性コード検知装置)はEDRシステム100の一種であって、エンドポイントまたはこれに対応する特定コンピューティング装置に設置され得、分析システム110、データ収集部130、イメージ変換部140、イメージ分析システム150および保存部190を具備することができる。分析システム110はイメージ分析システム150と区別されるようにメイン分析システムと指称され得る。
【0138】
データ収集部130は特定コンピューティング装置でファイル生成イベントを感知してファイル生成イベントログから生成ファイルのファイル経路を抽出するように構成され得る。ここで、ファイル生成イベントまたはファイル生成イベントログは特定コンピューティング装置に関連したプロセッサ、メモリまたは保存装置で実行されるプロセス、ファイル、レジストリから検知され得る。
【0139】
また、データ収集部130は、自動分析対象やマシンラーニング分析対象またはグレーリストに登録されたファイルが実行される時、該当ファイルおよびファイルのプロセスに対する追跡または監視を要請する信号をイメージ変換部140や分析システム150に伝達することができる。
【0140】
また、データ収集部130は、特定ファイルが予め設定された特定行為をするものと感知される時、該当ファイルやファイルの少なくとも一部のコードに対するイメージ基盤悪性コード検知プロセスの進行のための信号をイメージ変換部140やイメージ分析システム150に伝達するように構成され得る。
【0141】
イメージ変換部140はイメージ処理部に対応し得る。イメージ変換部140はバイト配列変換部141、座標マッピング部142および座標RGBチャネル増加部142aを具備することができる。
【0142】
バイト配列変換部141はファイル生成イベントログから得られる生成ファイルのファイル経路に位置した実行ファイルや実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるベクトルまたはバイトで読み込んでバイト配列に変換する。バイト配列は2Dベクトルに対応する。
【0143】
また、バイト配列変換部141は、実行ファイルの実行時、メモリに上がった実行ファイルに対するメモリダンプを進行して解除されたパッキングファイルをバイト配列に変換して保存することができる。
【0144】
座標マッピング部142はバイト配列で2バイトずつを読み込んで予め設定されたサイズの仮想イメージ上にマッピングされる。この時、2バイトずつ読んだデータは仮想イメージ上の座標(x、y)として使われる。
【0145】
座標RGBチャネル増加部142aは2バイトのデータを予め設定されたサイズのイメージの座標(x、y)として活用して該当座標の値を増加させて該当イメージにRGBチャネルを追加したり増加させてバイト配列の実質的なすべての情報を入れたイメージまたはイメージ配列を保存する。予め設定されたサイズは256×256×3サイズを含むことができる。
【0146】
また、座標RGBチャネル増加部142aは、予め設定されたサイズのイメージ上にバイト配列を2バイトずつ予め設定された順で入れ、座標値の増加距離を距離(distance)パラメータに指定し、前記の座標で増加する値の配列角度を角度(angles)パラメータを活用して指定することができる。
【0147】
また、座標RGBチャネル増加部142aは、バイト配列の2バイトずつに基づいて予め設定されたサイズのイメージ上の該当座標で数値範囲をグレースケール範囲(0~255)から最大範囲RGB{(0、0、0)~(255、255、255)}に増加させて指定し、前記の座標の数値を1ずつ増加させ、RGBチャネル範囲の数値が予め設定された所定の基準値を超過する時にまず緑色(Green)チャネル範囲の数値を増加させ、緑色(Green)チャネルの範囲超過時に青色(Blue)チャネルを増加させるように構成され得る。
【0148】
前述したイメージ変換部140は、例えば、ポータブル実行(PE)ファイルをバイトで読み込んでバイト配列に変換し、バイト配列を256×256×1大きさのイメージに2バイトずつ持ってきて、2バイトの値を(x、y)座標に活用した(x、y)座標のイメージの少なくとも一つのピクセル値を増加させた後、RGBチャネルを追加してイメージ保存部に256×256×3大きさのイメージ配列を保存するように構成され得る。
【0149】
また、イメージ変換部140はバイト配列変換モジュールと座標マッピングモジュールを通じて特定フォルダ内のPEファイル生成イベントログを検知してファイル経路を抽出し、ファイルをバイトで読み込んで配列に変換を遂行し、座標RGBチャネル増加モジュールやRGBイメージ変換モジュールを通じてその前に変換されたバイト配列をRGB技法を適用してイメージ変換を遂行した後、イメージ配列をDBに伝送してDBに保存されるように構成され得る。
【0150】
イメージ分析システム150はイメージディープラーニング分析部に対応し、イメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行する。イメージ分析システム150は予め学習されたディープラーニングモデルを呼び出すディープラーニングモデル呼び出し部151、ディープラーニングモデルにイメージ配列を入力して分析するディープラーニングモデル分析部152、およびイメージ配列での悪性コードの有無を判断する悪性コード判断部153を具備することができる。
【0151】
ディープラーニングモデル呼び出し部151はイメージ配列の分析のための入力レイヤ(input layer)の大きさを調整し、予め学習されたディープラーニングモデルを呼び出し、ディープラーニングモデルにイメージ配列を入力することができる。
【0152】
ディープラーニングモデル分析部152はディープラーニングモデルに入力されるイメージ配列を分析してイメージ基盤悪性コード分析結果を出力する。ディープラーニングモデルは移転学習されたresnetモデルなどを含むことができる。
【0153】
また、ディープラーニングモデル分析部152は学習されたイメージディープラーニングモデルに入力されるイメージ配列に対してマシンラーニング基盤類似度分類を遂行し、マシンラーニング基盤類似度分類を通じて悪性コード間の同種、変種または類似系列の相関関係を判別するように構成され得る。
【0154】
また、ディープラーニングモデル分析部152は悪性コードが含まれたファイルおよび正常ファイルで学習させたイメージディープラーニングモデルを利用することができる。この場合、ディープラーニングモデル分析部152は学習されたイメージディープラーニングモデルを利用して、実行ファイルの基本的な特徴情報で学習された類似性ハッシュ関数に基づいて疑いの或るファイルの正常または悪性を分類したり、実行ファイルで抽出可能なすべての特徴情報で学習された類似性ハッシュ関数に基づいて疑いの或るファイルの正常または悪性を分類したり、悪性コードイメージ分析アルゴリズムを通じて疑いの或るファイルの正常または悪性を分類したり、またはこれらの組み合わせの分類方法を利用して疑いの或るファイルの正常または悪性を分類したり検知するように構成され得る。
【0155】
悪性コード判断部153は、ディープラーニングモデル分析部152の分析結果に対して、予め設定された臨界値に基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0156】
また、悪性コード判断部153は、ディープラーニングモデル分析部152の分析結果に対して実行ファイルやコードの他のセクションまたはバイナリ断片のイメージテクスチャに基づいて悪性コードを検出したり知られている脅威または知られていない脅威の発生可能性を決定することができる。
【0157】
前述したイメージ分析システム150はイメージ保存部で提供されたイメージの分析のためのインプットレイヤ(Input Layer)の大きさを調整して予め学習されたディープラーニングモデルの呼び出しを遂行し、イメージ保存部で提供されたイメージをディープラーニングモデルに入力して分析を進行し、特定臨界値による悪性判断と悪性である確率を結果保存部に提供してJSONフォーマットで保存するように構成され得る。
【0158】
また、前述したイメージ分析システム150でディープラーニングモデルを利用して分析を進行するために、イメージサイズの大きさをディープラーニングモデルの入力レイヤ(input layer)の次元と同一にしなければならない。この時、RGBイメージ変換技法を利用したイメージを利用して分析を進行すると、イメージの大きさを調整する時に悪性コードファイルのバイト配列特徴が漏れることを防止でき、RGB技法を利用したイメージ変換機能を採用することにより、色感の表現によってグレースケールと比べて人が目で判別することがさらに容易となる長所がある。
【0159】
また、RGBイメージ変換機能を通じて悪性コードデータのイメージにRGBチャネルを増加して色相データで処理することによって、悪性コードファイルのバイト配列特徴を拡大して検知性能を向上させることができる。
【0160】
保存部190はイメージ保存部、結果保存部または保存管理システムに対応し得、分析システム150またはイメージディープラーニング分析部でランサムウェアの行為が感知された場合、悪性コード判断部153の信号により特定コンピューティング装置のドライバ上でドライバのファイルを臨時保存フォルダにバックアップするように構成され得る。
【0161】
また、分析システム110は実行ファイルやコードを自動分析やマシンラーニングによって分析して正常判定された場合、該当実行ファイルやコードの特定カラーイメージをホワイトリストに登録する登録部(図示されず)をさらに含むことができる。
【0162】
前述した通り、RGBを活用したイメージ基盤悪性コード検知装置を利用すると、内部ネットワークから伝送されたファイルをRGB変換技法で座標のRGBチャネルを増加させて固定イメージサイズに変換し、検知モデルのインプットレイヤ(input layer)の次元をRGB転換技法を利用したイメージサイズと同一に設定して以前に変換したイメージを検知モデルに入力し、検知モデル分析結果をjsonファイルで保存し、これを通じてカラーイメージで悪性コードを効果的に検知することができる。
【0163】
また、前述した悪性コード検知装置を利用すると、パッキングされたPEファイルのイメージ変換時にファイルのバイト配列が変わって全く異なるイメージが生成され、それによりディープラーニングモデルの検知率が低下し得る問題を解決することができる。すなわち、PEファイルの実行によりメモリに上がったPEファイルに対してメモリダンプを進行することによって、PEファイルのパッキングを解除してそのバイト配列がダンプされるようにすることができ、これを利用してファイルの同一のバイト配列を維持するイメージに変換してイメージを生成することができる。このように、メモリダンプファイルをイメージ変換して分析を進行すると、悪性コードの適合率を向上させることができる。RGBイメージ変換機能を通じてイメージを生成して分析を進行すると同じサイズのイメージが生成され、グレースケールイメージと比べてより多い特徴情報を追加で抽出できるのでイメージ変換を活用した悪性コード検知でその適合率を大きく向上させることができる。
【0164】
また、本実施例によると、グレースケール(gray scale)方式以外にRGB技術を追加で適用してファイルイメージ変換時にファイル配列の座標を拡大し、変換イメージの特徴をより詳しく表現して、イメージ基盤の悪性コード検知機法を正確度と検知範囲を向上させることができる。
【0165】
また、グレースケールイメージ基盤の悪性コード検知方法でイメージの大きさ調整時に、ファイルの情報漏れが存在して適合率が低下する問題を改善することができる。そして、モデル学習進行のためにデータラベリングを進行する時に、グレースケールイメージでは人の視覚で正常イメージと悪性イメージの差異点を区分し難いという問題を改善することができる。
【0166】
また、グレースケールイメージ基盤の悪性コード検知方法で大きいサイズ のファイルの場合に座標の数値が最大値に到達して識別が難しい場合が多数存在し、それによって適合率が低下し得るが、本実施例ではそのような問題を自体で改善できるようにRGBイメージ変換機能を追加で適用できるようにして、既存の制限的なグレースケールの1チャネルでのイメージ表現方式からRGBの3チャネルのイメージ表現方式に変更することができ、これを通じて座標内の数値範囲が増えて大きいサイズのファイルの識別問題と適合率をさらに向上させることができる。
【0167】
また、GLCM変換技法を導入してファイルイメージを変換する時、イメージサイズを固定して漏れたファイル情報の損傷を防止できるがファイルの容量がますます増加時にイメージの特徴が次第に減少し、一定サイズ以上のファイルイメージの変換時、その特徴の抽出が不可能であるので、特徴の抽出を通じての分析に限界が存在する問題を解決することができる。
【0168】
また、本実施例によると、自体サービスポータルおよび自体クラウド環境開発を通じて知能型の持続的な脅威(APT)対応セキュリティサービス技術を効果的に確保し、確保された技術を通じてリアルタイム悪性行為の分析、使用者間でリアルタイム脅威情報の共有、TI情報の生成などのセキュリティサービス品質を高度化することができる。また、企業の内部情報に対する保護および知られていない新種、変種悪性コード対応に対して適正なソリューションを提供することができる。
【0169】
また、本実施例によると、悪性行為検知のためのイメージ基盤の悪性コード検知装置やこれを利用するEDRシステムにビッグデータ分析を適用して多様な検知地点で最新の悪性コード情報を持ってくることができ、これを通じて365日24時間対応可能なセキュリティサービスを提供することができる。
【0170】
図13は、図12の悪性コード検知装置のためのクラウド基盤仮想化システムの物理的リソース追加増設過程を説明するための図面である。
【0171】
図13を参照すると、EDRシステム100の少なくとも一部に対応する悪性コード検知装置の管理者(manager、110a)は、サービスウェブサーバー領域をモニタリングする(S1301)クラウド管理サーバー(cloud manage server)に連結されたアラームサーバー(alarm server、600)から警告メールを受信し(S1302)、それによりサービスウェブサーバー領域(service web server zone)内に仮想マシン(virtual machine、Vm)サーバーを追加リソースで増設(S1303)したり、データベースサーバー領域(DB server zone)内にスレーブDBサーバー(slave db serve)を追加リソースで増設(S1303)するように構成され得る。
【0172】
ここで、サービスウェブサーバー領域で複数の仮想マシンサーバーそれぞれは、単一のグループを形成するウェブサーバー(web server)、分析器(analyzer)および動的エージェント(dynamic agents)とそれぞれ連結される。分析器または動的エージェントそれぞれは悪性ファイルハッシュ値、正常ファイルハッシュ値、悪性URLなどを収集してウェブサーバーを通じてEDRシステム100やエージェントに伝送してその分析システムと連動することができる。
【0173】
また、複数の仮想マシンサーバー(Vm servers)はL4スイッチ(switch)およびL2スイッチを通じてアラームサーバー600とクラウド管理サーバーに連結される。そして、DBサーバー領域でL2スイッチに連結されるマスターDBサーバー(master DB server)が複数のスレーブDBサーバーと連結される。
【0174】
また、特定コンピューティング装置に対応するEDRシステム100と各サーバーはセキュリティウェブ(HTTPS Web)通信に基づいてクラウドサービスに接近することができる。サービス管理のためのサービスウェブサーバー(Service Web Server)とデータ管理のためのDBサーバー(Server)は使用者の増加により、多数使用者によるサービス過負荷によって物理的リソース不足現象が発生し得る。これを解決するために、本実施例ではエージェント(agent)設置後、エージェント内管理者110aがサービスウェブサーバーと通信し情報をやりとりすることができる。
【0175】
また、複数のウェブサーバーのロードバランシングのためにL4スイッチを利用して負荷を分散させることができる。クラウド管理サーバー(cloud manage server)はサービスウェブサーバー領域内サーバーそれぞれのCPU、メモリ(memory)、入出力(I/O)をモニタリングし、予め設定された臨界値例えば、使用率70%以上である場合、アラームサーバー600を通じて管理者110aに警報を送って物理的リソースを追加増設するように動作することができる。
【0176】
本実施例によると、悪性コード検知のためのクラウド基盤仮想化システムに適用可能なクラウド基盤セキュリティエージェントをEDRシステムやこれに対応する特定コンピューティング装置に設置することができる。
【0177】
この場合、クラウド基盤セキュリティエージェントは使用者のパソコンー(PC)の保護のために、PCで実行されるファイルをモニタリングして悪性ファイルが実行されないように遮断し、ネットワークをモニタリングして悪性URLに/からの接近を遮断するように構成され得る。このようなエージェントはクラウド基盤ウェブグラフィック使用者ーインターフェース(GUI)を具備することができる。また、エージェントはランサムウェア対応のための機能でファイル暗号化行為を検知して遮断する機能を具備し、ランサムウェア被害防止のために瞬間バックアップ機能を具備することができる。
【0178】
前述したエージェントは顧客社別に管理されるように構成され得、加入および決済サーバーである登録ウェブサーバー(register web server)を通じて顧客のキー(key)値が登録されたエージェントとして生成され得、ネットワークを通じて使用者端末にダウンロードされ得る。
【0179】
また、本実施例によると、クラウド基盤仮想化システムはイメージ基盤悪性コード検知のための分析システムを採用することによって知能型の持続的な脅威(APT)に対する効果的な対応サービスを提供することができる。
【0180】
図14は、図12の悪性コード検知装置に採用できる悪性コード検知プロセスの分析情報に対する使用者インターフェースを説明するための図面である。
【0181】
図14を参照すると、悪性コード検知装置は第1使用者インターフェース1401を通じてアイコン化されたプロセス分析情報を提供することができる。プロセス分析情報は親と子供のようなプロセス相関関係情報を含むことができる。
【0182】
また、悪性コード検知装置は悪性行為時の最初のプロセスおよび悪性行為の流れを把握し、第1使用者インターフェース1401を通じて表示しながら特定分析情報に対する詳細悪性行為情報を第2使用者インターフェース1402を通じて使用者に提供することができる。
【0183】
図15は、図12の悪性コード検知装置を搭載できるエンドポイントエージェントを説明するためのブロック図である。図16は、図15のエンドポイントエージェントの内部悪性コード検知構造を説明するための概略的なブロック図である。
【0184】
図15を参照すると、エンドポイントエージェント(endpoint agent、200)は特定コンピューティング装置300に搭載され得る。この時、エンドポイントエージェント200はその内部にアンチウイルス(antivirus、AV)モジュール250を搭載することができる。
【0185】
コンピューティング装置300はウィンドウズオペレーティングシステム(windows OS、320)、リナックス(linux)オペレーティングシステム330、アンドロイド(android)オペレーティングシステム340のうち少なくともいずれか一つとエンドポイント端末ハードウェア(endpoint terminal hardware、310)を具備することができる。
【0186】
コンピューティング装置300に搭載されるエンドポイントエージェント200は、図16に示した通り、アンチウイルスサーバー(antivirus server、500)に連結されるEDRシステム100から悪性コード検知に関連した情報やデータを受信し、悪性コード検知結果をEDRシステム100に伝送するように構成され得る。
【0187】
この場合、エンドポイントエージェント200は複数の収集モジュール261と、各収集モジュールからブラックリストを受信して保存および管理する複数のブラックリストDB262と、各ブラックリストDBの情報に基づいて実行ファイルの正常または悪性を検知して遮断する分析モジュール270を具備することができる。分析モジュール270は図1の分析システム(110参照)の少なくとも一部の機能部や構成部に対応し得る。
【0188】
図17は、図15のエンドポイントエージェントの内部分析モジュール構成を示したブロック図である。
【0189】
図17を参照すると、エンドポイントエージェントは内部分析モジュール構成であって、ータベース部260、分析器(analyzer、280)および分析器エージェント(analyzer agent、290)を具備する。
【0190】
データベース部260は構成DB(config DB、261)、ファイルDB(file DB、262)、ログDB(log DB、263)を含むことができる。構成DB261はセキュリティ政策を保存することができ、ファイルDB262は分析器280に静的分析やビットディフェンダー分析のためのファイルを提供することができる(ZB003)。ログDB263は分析器280の悪性コード静的分析結果とビットディフェンダー分析結果を保存することができ(ZB002)、分析器エージェント290の悪性コード動的分析結果を保存することができる(ZD001)。ログDB263は分析結果保存時、分析器280や分析器エージェント290のセキュリティ監査を受けることがある。
【0191】
分析器280はセキュリティ政策適用モジュール281、ビットディフェンダー分析モジュール282、悪性コード静的分析モジュール283、第1セキュリティ監査モジュール284および分析器エージェント管理モジュール285を具備することができる。分析器280はESMウェブ(enterprise security manager web)等を通して設定されたセキュリティ政策を構成DB261から読み込んで適用することができる(ZB001)。また、分析器280はファイルDB263からファイルを読み込んで静的分析やビットディフェンダー分析を遂行できる(ZB003)。また、分析器280は分析器エージェント管理モジュール285を通じて分析器エージェント290にファイルを送り、該当ファイルの分析が完了すれば、分析器エージェント290の状態が分析前の状態に復元されるように機能することができる。
【0192】
分析器エージェント290は第2セキュリティ監査モジュール291および悪性コード動的分析モジュール292を具備することができる。悪性コード動的分析モジュール292の分析結果はログDB263に伝達されて保存され得る(ZD001)。
【0193】
前述したエンドポイントエージェントの内部分析インターフェースを整理すると、下記の表3の通りである。
【0194】
【表3】
【0195】
図18は、図15のエンドポイントエージェントのエンドポイントセキュリティ動作を説明するための使用者インターフェース画面の例示図である。図18を参照すると、エンドポイントエージェントはAV分析機能が適用されたエージェントであって、実行ファイルの悪性コード分析を通じてブラックリスト政策、例えば悪性コードの検知、遮断、隔離を遂行するように構成され得る。
【0196】
例えば、ウィンドウズ10基盤エンドポイントエージェントで具現され得る。この場合、コンピューティング装置の使用者環境で所定形態のインターフェース1810を通じて分析現況および分析結果を確認できるように構成され得、分析ファイル別細部設定インターフェース1820でブラックリスト(blacklist)処理や許容(allow)処理に対する使用者選択と適用ボタンなどに対する使用者入力1830が可能であるように構成され得る。
【0197】
一方、プロセスモニタリングおよびエージェント用収集モジュールに関連して、エンドポイントエージェントはプロセスモニタリングおよびエージェント収集モジュールのための外部インターフェースを具備することができる。
【0198】
外部インターフェースはパソコン(PC)等のエンドポイントで実行されるファイル情報を収集し、収集した実行ファイル情報を悪性パターンと比較して実行されようとする悪性ファイルを遮断したり実行保留後に管理者ウェブサービス(manager web service)にアップロードして分析を要請する役割を遂行するように構成され得る。
【0199】
このような外部インターフェースを例示すると、下記の表4の通りである。
【0200】
【表4】
【0201】
また、エンドポイントエージェントは設置されたPCで実行されるファイル情報を収集する。該当インターフェースを通じての設定過程を例示すると、次の表5の通りである。
【0202】
【表5】
【0203】
また、エンドポイントエージェントは収集されたファイル情報を管理したり他の構成要素と相互作用するための内部インターフェースを具備することができる。内部インターフェースはログ受信(ReceiveLog)、ファイル受信(RecevieFile)、キー要請(KeyRelease)等のためのインターフェースを含むことができる.ログ受信(ReceiveLog)インターフェースはエージェントがエージェントでセキュリティ機能実行により発生するログを管理者ウェブサービス(manager web service、MWS)に伝送することができる。
【0204】
ファイル受信(RecevieFile)インターフェースは、エージェントがエージェントで分析が必要なファイルを管理者ウェブサービスにアップロードして分析を要請することができる。
【0205】
キー要請(KeyRelease)インターフェースは、エージェントが管理者ウェブサービスに暗号キー値の伝達要請を送って暗号キー値を受信して保存し、初期化した後にサブプロセスの状態を点検して実行することができる。
【0206】
内部インターフェースの構成を例示すると、次の表6の通りである。
【0207】
【表6】
【0208】
ログ受信(ReceiveLog)インターフェースでのセキュリティ監査に関連して、エージェントは表7のようにエージェントでセキュリティ機能の遂行によって発生するログを管理者ウェブサービスに伝送することができる。
【0209】
【表7】
【0210】
ファイル受信(ReceiveFile)インターフェースでの実行保留ファイルアップロードに関連して、エージェントは表8でのようにエージェントで分析が必要なファイルを管理者ウェブサービスにアップロードして分析を要請することができる。
【0211】
【表8】
【0212】
また、エージェントは下記の表9のように、キー要請(KeyRelease)インターフェースを通じて管理者ウェブサービス(MWS)に暗号キー値の伝達要請を送って暗号キー値を受信して保存し、初期化した後にサブプロセスの状態を点検して実行することができる。
【0213】
【表9】
【0214】
前述したプロセスモニタリングおよびエージェント収集モジュールは使用者PCのセキュリティのためのエンドポイントエージェントであって、ウィンドウズ環境などで設置が可能であるように該当設置ファイルの形態で構成され得る.図19は、図15のエンドポイントエージェントによって実行される悪性コード検知方法で悪性コード視角化過程を説明するためのフローチャートである。図20は、図15のエンドポイントエージェントで実行ファイルのコードを予め設定したバイトの幅(width)サイズと定義してコードをイメージ化したイメージを得る過程を説明するための変換ソースコードの例示図である。図21は、図15のエンドポイントエージェントでのコードイメージ化に対する結果イメージの例示図である。
【0215】
図19を参照すると、ファイルを入力し(S1910)、入力されたファイルで第1関数(os.path.split)を通じてファイル名を抽出し(S1920)、入力されたファイルで第2関数(conversion_vector)を通じてファイルを2Dベクトルに変換し(S1930)、第3関数(np.reshape)を通じて2Dベクトルをイメージ変換のために形状変換し(S1940)、第4関数(imageio.imwrite)を通じて形状変換されたイメージ配列をメモリに保存することができる(S1950)。
【0216】
各関数の目的、パラメータおよびリターン値を示すと、次の表10および表11の通りである。
【0217】
【表10】
【0218】
【表11】
【0219】
本実施例によると、収集された悪性コードを符号のない8ビット整数からなるベクトルで読み込んで2D配列で構成し、2D配列の幅(width)サイズで悪性コードをイメージ化することができる.悪性コードを幅サイズでイメージ化するためのインターフェースの変換ソースコードを例示すると、図20の(a)および(b)の通りであり、その細部事項を示すと、次の通りである。
【0220】
-os.path.split():イメージ変換を遂行するファイル名をファイル経路から抽出.
【0221】
適用された例)file=path.split(“\\”)[-1]
【0222】
-conversion_img():ファイル経路をconversion_imgパラメータに入力.
【0223】
この場合、os.path.getsize関数にファイル経路(path)が入力され、イメージの幅(width)値を求めるためにファイルの大きさを自然ログ(ln)変数に保存.
【0224】
-width値はファイルの平方根で指定し、ファイルの形式を符号がない8ビット整数に変換するためにarray.array(‘B’)をa変数に保存.
【0225】
-2Dベクトルまたは2D配列に変換するa.fromfile(f、ln -rem)関数を活用して変換を遂行し、arrayタイプであるaとwidth値を返還
【0226】
-np.resahpe():conversion_img()で返還したarrayタイプaとwidth値を利用してイメージ形状(shape)に形状変形(reshape)してg変数に保存
【0227】
-imageio.imwrite():最後に変換して保存したg変数と保存するファイル名をimageio.imwrite()にパラメータとして入れてイメージを保存.
【0228】
前述したイメージは図21に例示した通り、0(黒色)~255(白色)範囲のグレースケールイメージ35で視角化され得る。この場合、イメージ変換モジュールは255範囲のグレースケールイメージ視角化モジュールインターフェースに対応し得る。
【0229】
また、本実施例の悪性コード検知装置やエンドポイントエージェントは、グレースケールイメージの他に座標RGBチャネル増加部を通じてグレースケールイメージに変換される前にイメージ配列にRGBチャネルを追加してカラーイメージを生成し、これに基づいて悪性コードを検知するように構成され得る。
【0230】
図22は、図15のエンドポイントエージェントの主な悪性コード検知過程を説明するためのフローチャートである。図23は、図22の悪性コード検知過程に採用できるグレーレベル同時生起行列(gray-level co-occurrence matrix、GLCM)変換イメージモジュールを説明するための変換ソースコードの例示図である。図24は、図23のGLCM変換イメージモジュールを利用したコードイメージ化の適用前と後のイメージに対する例示図である。
【0231】
図22および図23を参照すると、エンドポイントエージェント(簡略に、エージェント)は、GLCM変換イメージモジュールインターフェースを通じて、入力されるファイル(S2210)のファイル経路からファイル名を抽出する(S2212)。すなわち、エージェントは第1関数(os.path.basename)を通じて入力されるファイル経路からファイル名を抽出することができる。
【0232】
次に、エージェントはファイル内容を所定サイズのベクトルまたはバイトのバイトアレイ(bytearray)関数で読み込んで特定第1変数(img_arrayまたはnp.array)に保存する(S2214)。
【0233】
次に、ファイル内容が保存された第1変数(np.arrayまたはimg_array)が空いていれば(if not list)、該当変数にファイル内容がないので、エージェントは第3関数(f.write)を通じてテキストにファイル名(filename)を保存後、第4関数(os.remove)を通じて該当変数の値または該当ファイル経路(filepath)を削除する(S2222、S2224)。
【0234】
一方、ファイル内容が保存された第1変数(np.arrayまたはimg_array)が空いていなければ、エージェントは該当変数を多次元行列資料構造クラスであるndarrayに変換した後、符号がない整数(例えば、2バイト整数)でそのタイプを変換し、第2変数(img_byte)に保存する(S2232)。
【0235】
次に、エージェントは第5関数(grecomatrix)を通じて第2変数(img_byte)をimageパラメータに入れ、値増加距離をdistancesパラメータに指定し、anglesパラメータを活用して増加する値の配列角度を指定する(S2234)。
【0236】
次に、エージェントは第6関数(np.squeeze)を通じて以前に第5関数を通じて生成されたmatrix行列で(1、)次元であるものを削除する(S2236)。そして、エージェントは特定次元が削除されたmatrix行列のイメージ保存経路を第3変数(filepng)に保存する。
【0237】
次に、エージェントは第7関数(image.format)を通じてmatrix行列をリトルエンディアン形式に変換して第4変数(img)に保存する(S2238)。
【0238】
次に、エージェントは第8関数(img.convert)を活用して第4変数に保存されたファイル内容を単一チャネルであるグレースケールに変換した後、第9関数(save)を活用して第4変数に保存されたファイル経路に保存する(S2240)。
【0239】
前述した悪性コード検知過程に使用できる変換ソースコードを例示すると図23の通りであり、各行の意味を整理すれば次の通りである。
【0240】
-filename=os.path.basename(path):ファイル経路からファイル名抽出
【0241】
-with open(path、‘rb’as f:img_array=np.array(bytearray(f.read())):ファイル内容をbytearrayで読み込んでimg_array変数内に保存
【0242】
-if not list(img_array):img_arrayが空いていればファイルの内容がないのでテキストにファイル名を保存後削除
【0243】
-img_byte=np.array([img_array]).astype(dtype=‘unit8‘):img_arrayをndarrayに変換した後、符号がない整数でタイプを変換してimg_byteに保存
【0244】
-matrix=greycomatrix(image=img_byte、distances=[1]、angles=[0]):imageパラメータにimg_byteを入れ、値増加距離をdistancesパラメータに指定し、anlgesパラメータを活用して増加する値の配列角度を指定
【0245】
-matrix=np.squeeze(matrix):matrix行列に(1、)次元であるものを削除
【0246】
-filepng=save_path+‘/’+filename+‘png’:イメージ保存経路をfilepngに保存
【0247】
-img=Image.fromarray(matrix.astype(‘<i4’)):matrixの行列をリトルエンディアン形式に変換してimg変数に保存
【0248】
-img.convert(“L”).save(filepng):img.convert関数を活用して単一チャネルであるグレースケールに変換した後、.save関数を活用してfilepng経路に保存
【0249】
本実施例によると、悪性コードの他のセクションまたはバイナリ断片を独特のイメージテクスチャで具現することができる。図24の(a)はGlcm変換モジュールまたはGlcm変換ソースコードに変換する前のイメージ35aであり、図24の(b)は変換後の結果イメージ35bである。
【0250】
前述したGlcm変換イメージモジュールインターフェースに使用できる関数を整理して示すと、下記の表12~表17の通りである。
【0251】
【表12】
【0252】
【表13】
【0253】
【表14】
【0254】
【表15】
【0255】
【表16】
【0256】
【表17】
【0257】
図25は、本発明のさらに他の実施例に係るイメージ基盤悪性コード検知装置の主な構成を説明するブロック図である。本実施例のイメージ基盤悪性コード検知装置1000(簡略に悪性コード検知装置)はサーバー側EDRシステムの少なくとも一部の構成部として設置されるか、エンドポイントエージェントの少なくとも一部の構成部として設置され得る。
【0258】
図25を参照すると、悪性コード検知装置1000は、少なくとも一つのプロセッサ1100、メモリ1200およびネットワークと連結されて通信を遂行する送受信装置1300を含むことができる。また、悪性コード検知装置1000は入力インターフェース装置1400、出力インターフェース装置1500、保存装置1600をさらに含むことができる。悪性コード検知装置1000に含まれたそれぞれの構成要素はバス(bus)1700により連結されて通信を遂行できる。
【0259】
ただし、悪性コード検知装置1000に含まれたそれぞれの構成要素は共通バス1700ではなく、プロセッサ1100を中心に個別インターフェースまたは個別バスを通じて連結されてもよい。例えば、プロセッサ1100はメモリ1200、送受信装置1300、入力インターフェース装置1400、出力インターフェース装置1500および保存装置1600のうち少なくとも一つと専用インターフェースを通じて連結されてもよい。
【0260】
プロセッサ1100はメモリ1200および保存装置1600のうち少なくとも一つに保存されたプログラム命令(program command)を実行することができる。プロセッサ1100は中央処理装置(central processing unit、CPU)、グラフィック処理装置(graphics processing unit、GPU)、または本発明の実施例に係る方法が遂行される専用のプロセッサを意味し得る。
【0261】
メモリ1200および保存装置1600それぞれは揮発性保存媒体および不揮発性保存媒体のうち少なくとも一つで構成され得る。例えば、メモリ1200は読み取り専用メモリ(read only memory、ROM)およびランダムアクセスメモリ(random access memory、RAM)のうち少なくとも一つで構成され得る。
【0262】
メモリ1200または保存装置1600に保存されるかプロセッサ1100に搭載されて実行される少なくとも一つの命令は、プロセッサが;EDRシステムやエンドポイントまたはこれに対応するコンピューティング装置に関連したプロセッサ、メモリまたは保存装置で検知されたファイル生成イベントログから得られる生成ファイルのファイル経路に位置する実行ファイルや実行ファイルの少なくとも一部のコードを符号のない一定ビットの整数からなるバイトで読み込んでバイト配列に変換する段階;バイト配列で2バイトずつを読み込む段階;2バイトのデータを予め設定されたサイズのイメージの座標(x、y)として活用して該当座標値を増加させ、RGBチャネルを追加してイメージ配列を保存する段階;およびイメージ配列に対してイメージディープラーニングモデルを利用したディープラーニング分析を遂行する段階を遂行するように構成され得る。
【0263】
また、前述した本発明の実施例に係る方法の動作は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なプログラムまたはコードで具現することが可能である。コンピュータで読み取り可能な記録媒体はコンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。また、コンピュータで読み取り可能な記録媒体はネットワークに連結されたコンピュータシステムに分散されて分散方式でコンピュータで読み取り可能なプログラムまたはコードが保存され実行され得る。
【0264】
また、コンピュータで読み取り可能な記録媒体はロム(rom)、ラム(ram)、フラッシュメモリ(flash memory)等のようにプログラム命令を保存し遂行するように特別に構成されたハードウェア装置を含むことができる。プログラム命令はコンパイラ(compiler)により作られるような機械語コードだけでなく、インタープリタ(interpreter)等を使ってコンピュータによって実行され得る高級言語コードを含むことができる。
【0265】
本発明の一部の側面は装置の文脈で説明されたが、それは相応する方法による説明も示すことができ、ここでブロックまたは装置は方法段階または方法段階の特徴に相応する。同様に、方法の文脈で説明された側面も相応するブロックまたはアイテムまたは相応する装置の特徴で示すことができる。方法段階のいくつかの又は全部は例えば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のようなハードウェア装置によって(または利用して)遂行され得る。いくつかの実施例で、最も重要な方法段階の一つ以上はこのような装置によって遂行され得る。
【0266】
実施例で、プログラム可能なロジック装置(例えば、フィールドプログラマブルゲートアレイ)がここで説明された方法の機能の一部又は全部を遂行するために使われ得る。実施例で、フィールドプログラマブルゲートアレイはここで説明された方法のうち一つを遂行するためのマイクロプロセッサとともに作動することができる。一般的に、方法は何らかのハードウェア装置によって遂行されることが好ましい。
【0267】
以上、本発明の好ましい実施例を参照して説明したが、該当技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で本発明を多様に修正および変更できることが理解できるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9a
図9b
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25