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

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

▶ スティーリアン インコーポレイテッドの特許一覧

特開2025-15467シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED MALICIOUS APPLICATION DETECTION METHOD AND DEVICE)
<>
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図1
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図2
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図3
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図4
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図5
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図6
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図7
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図8
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図9
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図10
  • 特開-シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED  MALICIOUS  APPLICATION  DETECTION  METHOD  AND  DEVICE) 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025015467
(43)【公開日】2025-01-30
(54)【発明の名称】シグネチャベースの悪性アプリケーション検出方法および装置(SIGNATURE-BASED MALICIOUS APPLICATION DETECTION METHOD AND DEVICE)
(51)【国際特許分類】
   G06F 21/56 20130101AFI20250123BHJP
   G06N 3/02 20060101ALI20250123BHJP
【FI】
G06F21/56
G06N3/02
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024113539
(22)【出願日】2024-07-16
(31)【優先権主張番号】10-2023-0093159
(32)【優先日】2023-07-18
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLACKBERRY
2.ZIGBEE
3.TIZEN
4.WCDMA
(71)【出願人】
【識別番号】520495973
【氏名又は名称】スティーリアン インコーポレイテッド
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【弁理士】
【氏名又は名称】金子 修平
(74)【代理人】
【識別番号】100179648
【弁理士】
【氏名又は名称】田中 咲江
(74)【代理人】
【識別番号】100222885
【弁理士】
【氏名又は名称】早川 康
(74)【代理人】
【識別番号】100140338
【弁理士】
【氏名又は名称】竹内 直樹
(74)【代理人】
【識別番号】100227695
【弁理士】
【氏名又は名称】有川 智章
(74)【代理人】
【識別番号】100170896
【弁理士】
【氏名又は名称】寺薗 健一
(74)【代理人】
【識別番号】100219313
【弁理士】
【氏名又は名称】米口 麻子
(74)【代理人】
【識別番号】100161610
【弁理士】
【氏名又は名称】藤野 香子
(74)【代理人】
【識別番号】100206586
【弁理士】
【氏名又は名称】市田 哲
(72)【発明者】
【氏名】メン ジェヒョン
(72)【発明者】
【氏名】イ ソンジュン
(72)【発明者】
【氏名】シン ヨング
(57)【要約】      (修正有)
【課題】シグネチャベースの悪性アプリケーション検出装置及び検出方法を提供する。
【解決手段】シグネチャベースの悪性アプリケーション検出方法は、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階と、悪性アプリケーション情報をサーバーデータベースにアップデートする段階と、OS市場から削除されたアプリケーション情報を収集する段階と、削除されたアプリケーション情報をサーバーデータベースにアップデートする段階と、削除されたアプリケーションがマーケットに再アップロードされた場合、機械学習によって悪性か否かを再び判断する段階と、当該アプリケーションが悪性でないと判断された場合、サーバーデータベースから削除する段階と、を含む。
【選択図】図11
【特許請求の範囲】
【請求項1】
ユーザー端末に格納されたアプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力するコード分析モデルを含む前処理モジュール;
前記コード分析情報を入力情報とし、前記アプリケーションが悪性か否かを判断したアプリケーション悪性情報を出力情報とする人工ニューラルネットワークモジュール;および
前記アプリケーション悪性情報によって前記アプリケーションが悪性であると判断された場合、前記アプリケーション悪性情報をサーバーデータベースにアップデートするアップデートモジュール;および
アプリストアで公開されたアプリケーションと削除されたアプリケーションに関する情報を収集するマーケットクローリングモジュール;を含み、
前記アップデートモジュールは、前記削除されたアプリケーション情報をサーバーデータベースにアップデートし、前記削除されたアプリケーションを悪性アプリケーションに分類し、
前記マーケットクローリングモジュールによって前記削除されたアプリケーションが前記アプリストアに再アップロードされたものと判断された場合、脅威判断モジュールを通じて前記アプリケーションが悪性か否かを再び判断し、前記アプリケーションが悪性でないと判断された場合、前記サーバーデータベースから前記アプリケーションを削除することを特徴とする、
シグネチャベースの悪性アプリケーション検出装置。
【請求項2】
前記前処理モジュールは
前記アプリケーションの使用時間情報、スクリーンタイム情報、バッテリー消費量情報、データ使用量情報、およびインタラクションパターン情報のうち少なくとも1つを入力情報として入力し、ユーザー分析情報を出力情報として出力するユーザー分析モデル;をさらに含むことを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項3】
前記前処理モジュールは
前記アプリケーションの証明書有効期間情報、証明書発行国情報、注釈言語情報、および証明書管理情報のうち少なくとも1つを入力情報として入力し、開発者分析情報を出力情報として出力する開発者分析モデル;をさらに含むことを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項4】
前記コード分析モデルは
ランダムフォレストアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項5】
前記ユーザー分析モデルは
DBSCANアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項2に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項6】
前記開発者分析モデルは
勾配ブースティングアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項3に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項7】
アプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力する段階;
前記コード分析情報を入力情報として入力し、人工ニューラルネットワークモジュールによって前記アプリケーションが悪性か否かを判断したアプリケーション悪性情報を出力情報として出力する段階;
前記出力情報によって前記アプリケーションが悪性であると判断される場合、アップデートモジュールによって前記悪性アプリケーション情報をサーバーデータベースにアップデートする段階;および
マーケットクローリングモジュールによってアプリストアで公開されたアプリケーションと削除されたアプリケーションに関する情報を収集し、前記アップデートモジュールによって前記削除されたアプリケーションに関する情報を前記サーバーデータベースにアップデートし、前記削除されたアプリケーションを悪性アプリケーションに分類する段階;および
前記マーケットクローリングモジュールによって前記削除されたアプリケーションが前記アプリストアに再アップロードされたものと判断された場合、脅威判断モジュールを通じて前記アプリケーションが悪性か否かを再び判断し、前記アプリケーションが悪性でないと判断された場合、前記サーバーデータベースから前記アプリケーションを削除する段階;を含むことを特徴とする、
シグネチャベースの悪性アプリケーション検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示された発明は、シグネチャベースの悪性アプリケーション検出方法および装置に関するものである。より詳細には、開示された発明は、機械学習ベースの脅威検出モジュールおよびマーケットクローリングモジュールを活用することにより、既存の検証方法によって検出されない悪性アプリケーションをより効果的に検出することができる技術に関する発明である。
【背景技術】
【0002】
近年、スマートフォンの普及率が徐々に高まるにつれて、ユーザーの個人情報や金融情報を奪取しようとする悪性アプリケーションが盛んになっている。
【0003】
悪性アプリケーションは、ユーザーが知らない間にスマートフォンにさまざまな権限を要求し、ユーザーの同意なしに個人情報を収集したり、悪性コードを実行したりする可能性がある。
【0004】
これにより、フィッシング、スパム、スパイウェアなどの被害が増加している傾向である。
【0005】
このような悪性アプリケーションを検出するための技術が日々進化しているが、新しいタイプの悪性アプリケーションが生産される頻度が高くなり、悪性アプリケーションが様々な技法を用いて検出を避けているため、悪性アプリケーションを完全に効果的に検出することは事実上難しいのが実情である。
【0006】
例えば、最近の悪性アプリケーションは、信頼できる有名なアプリケーションのパッケージ名またはアプリケーションの名称、ロゴなどを模倣したり、悪性アプリケーションのコードを難読化やパッキングしたりして検出を避ける方法を使用している。
【0007】
したがって、既存のシグネチャベースの悪性アプリケーション検出方式の場合、予め定義されたパターンに一致する悪性アプリケーションの悪性コードを検出するので、新しいタイプの悪性アプリケーションが見つかるたびに新しいシグネチャを追加しなければならないという問題点がある。
【0008】
したがって、既存のシグネチャベースの悪性アプリケーション検出方式は、悪性アプリケーションの発見時点からシグネチャパターンを追加するまでにかなりの時間がかかるため、悪性アプリケーションにリアルタイムで対応するのが難しいという限界がある。
【0009】
また、悪性アプリケーションと判断され、アプリストアから削除されたアプリケーションの場合、既にユーザーのスマートフォンにインストールされている場合にはアプリストアでの削除が反映されないため、インストール後の事後管理が難しいという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、前記説明した問題点を解決するために創作された発明である。
【0011】
具体的には、本発明は、脅威検出モジュールとマーケットクローリングモジュールを活用して継続的にシグネチャデータベースをアップデートすることにより、より効果的に悪性アプリケーションを検出することができるシグネチャベースの悪性アプリケーション検出方法および装置を提供することにその目的がある。
【0012】
より具体的には、本発明によるシグネチャベースの悪性アプリケーション検出方法および装置は、コード分析モデル、ユーザー分析モデル、及び開発者分析モデルを活用して各モデルから出力されるベクトル値を収集し、多重分析モデルの結果を結合することによって、誤り訂正および性能が強化されたシグネチャベースの悪性アプリケーション検出方法および装置を提供することにその目的がある。
【課題を解決するための手段】
【0013】
開示された発明によるシグネチャベースの悪性アプリケーション検出装置は、ユーザー端末に格納されたアプリケーションのAPI、権限情報、コードシグネチャ情報、及びハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力するコード分析モデルを含む前処理モジュール、前記コード分析情報を入力情報とし、前記アプリケーションが悪性か否かを判断したアプリケーションの悪性情報を出力情報とする人工ニューラルネットワークモジュール、及び前記アプリケーションの悪性情報により前記アプリケーションが悪性であると判断される場合、前記アプリケーションの悪性情報をサーバーデータベースにアップデートするアップデートモジュールを含むことができる。
【0014】
前記前処理モジュールは、前記アプリケーションの使用時間情報、スクリーンタイム情報、バッテリー消費量情報、データ使用量情報、およびインタラクションパターン情報のうち少なくとも1つを入力情報として入力し、ユーザー分析情報を出力情報として出力するユーザー分析モデルをさらに含むことができる。
【0015】
前記前処理モジュールは、前記アプリケーションの証明書有効期間情報、証明書発行国情報、注釈言語情報、および証明書管理情報のうち少なくとも1つを入力情報として入力し、開発者分析情報を出力情報として出力する開発者分析モデルをさらに含むことができる。
【0016】
前記コード分析モデルは、ランダムフォレストアルゴリズムを活用して前記アプリケーションを分析することができる。
【0017】
前記ユーザー分析モデルは、DBSCANアルゴリズムを活用して前記アプリケーションを分析することができる。
【0018】
前記開発者分析モデルは、勾配ブースティングアルゴリズムを活用して前記アプリケーションを分析することができる。
【0019】
前記シグネチャベースの悪性アプリケーション検出装置は、アプリストアから削除されたアプリケーションに関する情報を収集するマーケットクローリングモジュールをさらに含み、前記アップデートモジュールは、前記削除されたアプリケーション情報を前記サーバーデータベースにアップデートすることができる。
【0020】
開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、アプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力する段階、前記コード分析情報を入力情報として入力し、前記アプリケーションが悪性か否かを判断したアプリケーションの悪性情報を出力情報として出力する段階、および前記出力情報によって前記アプリケーションが悪性であると判断される場合、前記悪性アプリケーション情報をサーバーデータベースにアップデートする段階を含むことができる。
【0021】
前記シグネチャベースの悪性アプリケーション検出方法は、アプリストアから削除されたアプリケーションに関する情報を前記サーバーデータベースにアップデートする段階をさらに含むことができる。
【発明の効果】
【0022】
一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、様々な検証方法によって悪性アプリケーションを迅速かつ正確に検出することができる技術的利点がある。
【0023】
また、一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、ベンダーマーケットアプリの公開履歴を周期的にクローリングすることによって、マーケットから削除された悪性アプリケーションを迅速にシグネチャデータベースに反映することができる技術的利点がある。
【0024】
また、一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、アプリケーションの開発者特性及び証明書特性を機械学習に活用し、機械学習で出力される結果を定期的にシグネチャデータベースにアップデートすることにより、悪性アプリケーションからユーザーを効果的に保護することができる技術的利点がある。
【図面の簡単な説明】
【0025】
図1図1は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出システムを示す図面である。
図2図2は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置の構造を示す図面である。
図3図3は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、脅威検出モジュールの構造を示す図面である。
図4図4は、図3に示す脅威検出モジュールに活用される人工ニューラルネットワークモジュールを示す図面である。
図5図5は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、コード分析モデルの入力データおよびそれによるベクトル値を示す図面である。
図6図6は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムに基づいてコード分析モデルが出力する図表および出力ベクトル値を示す図面である。
図7図7は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、ユーザー分析モデルの入力データおよびそれによるベクトル値を示す図面である。
図8図8は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムに基づいてユーザー分析モデルが出力する図表および出力値を示す図面である。
図9図9は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、開発者分析モデルの入力データおよびそれによるベクトル値を示す図面である。
図10図10は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムを通じて開発者分析モデルが出力する図表および出力ベクトル値を示す図面である。
図11図11は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出方法によるフローチャートを示す図面である。
【発明を実施するための形態】
【0026】
以下、本発明による実施例は添付された図面を参照して説明する。各図面の構成要素に参照符号を付加する際には、同一の構成要素については、たとえ他の図面に表示されても可能な限り同一の符号を有するようにしていることに留意しなければならない。また、本発明の実施例を説明するにあたり、関連する公知の構成または機能の具体的な説明が本発明の実施例の理解を妨げると判断される場合には、その詳細な説明は省略する。また、以下で本発明の実施例を説明するが、本発明の技術的思想は、これに制限または限定されることなく、当業者によって変更されて多様に実施されることが可能である。
【0027】
また、本明細書で使用した用語は、実施例を説明するために使用されたもので、開示された発明を制限および/または限定しようとする意図ではない。単数の表現は、文脈上明らかに他に意味がない限り、複数の表現を含む。
【0028】
本明細書において、「含む」、「備える」、または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであって、1つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品、またはこれらを組み合わせたものの存在または付加の可能性を予め排除しない。
【0029】
また、明細書全体において、ある部分が他の部分と「連結」されている場合、これは「直接的に連結」されている場合だけでなく、その中間に他の素子を挟んで「間接的に連結」されている場合も含み、本明細書で使用される「第1」、「第2」などの序数を含む用語は、様々な構成要素を説明するために使用することができるが、前記構成要素は前記用語によって限定されない。
【0030】
以下では、添付された図面を参照して本発明の実施例について、本発明が属する技術分野で通常の知識を有する者が容易に実施できるように詳細に説明する。そして、図面で本発明を明確に説明するために、説明に関係のない部分は省略する。
【0031】
図1は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出システムを示す図面である。
【0032】
図1を参照すると、一実施形態によるシグネチャベースの悪性アプリケーション検出システムは、アプリケーションが悪性か否かを判断し、サーバーデータベース(131)に悪性アプリケーションの情報をアップデートするサーバー(2)と、インストールされたアプリケーション情報をサーバー(2)に送信し、サーバー(2)から悪性アプリケーション情報を受信してシグネチャデータベース(11)に格納するユーザー端末(1)とを含むことができる。
【0033】
サーバー(2)の場合、開示された発明の一実施形態による悪性アプリケーション検出装置の一実施形態で具現することができる。
【0034】
また、開示された発明の悪性アプリケーション検出装置は、ユーザー端末(1)にインストールされたソフトウェアプログラムまたはソフトウェアプログラミングインタフェース(Application Programming Interface、 API)で具現することができる。
【0035】
本発明におけるサーバー(2)(server)は、通常のサーバー(2)を意味し、サーバー(2)はプログラムが実行されているコンピュータハードウェアであり、プリンタ制御やファイル管理などのネットワーク全体を監視又は制御し、メインフレームや公衆網を介した他のネットワークとの連結、データ、プログラム、ファイルのようなソフトウェアリソースと、モデム、ファックス、プリンタ共有、その他の機器などのハードウェアリソースを共有できるように支援することができる。
【0036】
また、開示された発明の一実施形態によるユーザー端末(1)は、ネットワークを用いてデータを送受信し、様々なソフトウェアを実行することができるコンピューティング装置に該当することができる。
【0037】
ここで、ネットワークは、複数の端末およびサーバー(2)のようなそれぞれのノード相互間で情報交換が可能な連結構造を意味する。
【0038】
このようなネットワークの一例には、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、インターネット(WWW:World Wide Web)、有無線データ通信網、電話網、有無線テレビ通信網などが含まれる。
【0039】
無線データ通信網の一例には、3G、4G、5G、3GPP(3rd Generation Partnership Project(登録商標))、5GPP(5th Generation Partnership Project)、LTE(Long Term Evolution)、WIMAX(World Interoperability for Microwave Access)、ワイファイ(Wi-Fi)、 インターネット(Internet)、LAN(Local Area Network)、Wireless LAN(Wireless Local Area Network)、WAN(Wide Area Network)、PAN(Personal Area Network)、RF(Radio Frequency)、ブルートゥース(Bluetooth(登録商標))ネットワーク、NFC(Near -Field Communication)ネットワーク、衛星放送ネットワーク、アナログ放送ネットワーク、DMB(Digital Multimedia Broadcasting)ネットワークなどが含まれるが、これに限定されない。
【0040】
ユーザー端末(1)には、起動および駆動のためのオペレーティングシステム(Operating System)プログラムが格納されていてもよい。
【0041】
例えば、オペレーティングシステムプログラムは、アンドロイド OS(Android(登録商標))、iOS(iPhone(登録商標) OS)、タイゼン OS(Tizen OS)、ブラックベリー OS(BlackBerry OS)、ウィンドウズフォン OS(Windows(登録商標)Phone OS)などを含むことができる。
【0042】
ただし、開示された発明による悪性アプリケーション検出装置の場合、アンドロイドベースのオペレーティングシステムで使用されるものとする。
【0043】
また、ユーザー端末(1)は、このようなアルゴリズムを実現することができるように、プロセッサを含むいくつかの端末装置で具現することができる。
【0044】
一例として、端末装置は、コンピュータ、スマートパッド、ノートパソコン、または携帯端末などで具現することができる。
【0045】
ここで、コンピュータは、例えば、ウェブブラウザ(WEB Browser)が搭載されたノートパソコン、デスクトップ(desktop)、ラップトップ(laptop)、タブレットPC、スレートPCなどを含むことができる。
【0046】
携帯端末は、例えば、携帯性と移動性が保証される無線通信装置として、PCS(Personal Communication System)、GSM(Global System for Mobile communications)、PDC(Personal Digital Cellular)、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)、IMT(International Mobile Telecommunication)-2000、CDMA(Code Division Multiple Access)-2000、W-CDMA(W-Code Division Multiple Access)、WiBro(Wireless Broadband Internet)端末、スマートフォン(Smart Phone) などのあらゆる種類のハンドヘルド(Handheld)ベースの無線通信デバイスと、時計、リング、ブレスレット、アンクレット、ネックレス、メガネ、コンタクトレンズ、または頭部装着型デバイス(head-mounted-device、HMD)などのようなウェアラブルデバイスとを含むことができる。
【0047】
一方、図面には示されていないが、ユーザー端末(1)およびサーバー(2)は、情報をデータ化して処理するプロセッサ(Processor)および情報を記憶するメモリ(Memory)を含むことができる。
【0048】
プロセッサおよびメモリは、図1で前述した動作に必要なプログラムおよびデータを記憶する記憶媒体のうち少なくとも1つで具現することができる。
【0049】
また、プロセッサおよびメモリは単一のチップで具現することができるが、別個のチップで具現することもできる。
【0050】
また、ユーザー端末(1)とサーバー(2)は、通信モジュールによって互いに情報を送受信することができ、通信モジュールは、例えば、近距離通信モジュール、有線通信モジュール、および無線通信モジュールのうち少なくとも1つを含むことができる。
【0051】
近距離通信モジュールは、Bluetoothモジュール、赤外線通信モジュール、RFID(Radio Frequency Identification)通信モジュール、WLAN(Wireless Local Access Network)通信モジュール、NFC通信モジュール、ジグビー(Zigbee)通信モジュールなどの近距離で無線通信網を利用して信号を送受信する様々な近距離通信モジュールを含むことができる。
【0052】
有線通信モジュールは、地域通信(Local Area Network; LAN)モジュール、広域通信(Wide Area Network;WAN)モジュール、または付加価値通信(Value Added Network; VAN)モジュールなどのさまざまな有線通信モジュールだけでなく、USB(Universal Serial Bus) 、HDMI(High Definition Multimedia Interface(登録商標))、DVI(Digital Visual Interface)、RS-232(recommended standard232)、電力線通信、またはPOTS(plain old telephone service)などの様々なケーブル通信モジュールを含むことができる。
【0053】
無線通信モジュールは、ワイファイ(Wi-Fi)モジュール、ワイブロ(Wireless broadband)モジュールの他に、GSM(global System for Mobile Communication)、CDMA(Code Division Multiple Access)、WCDMA(Wideband Code Division Multiple Access(登録商標))、UMTS(Universal mobile telecommunications system)、TDMA(Time Division Multiple Access)、LTE(Long Term Evolution)などの様々な無線通信方式を支援する無線通信モジュールを含むことができる。
【0054】
以下では、一実施形態によるシグネチャベースの悪性アプリケーション検出装置の詳細構成について詳細に説明する。
【0055】
図2は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置の構造を示す図面である。
【0056】
図2を参照すると、ユーザー端末(1)はシグネチャ検出モジュール(10)を含むことができる。
【0057】
シグネチャ検出モジュール(10)は、既知の悪性行為のパターンまたは特徴に基づいて悪性アプリケーションを検出することができる。
【0058】
このようなシグネチャ方式の悪性アプリ検出方式は、悪性コードデータベースまたはシグネチャデータベース(11)を使用することができる。
【0059】
開示された発明によるシグネチャ検出モジュール(10)は、シグネチャデータベース(11)に基づいて悪性アプリケーションを判断することができる。
【0060】
このようなシグネチャデータベース(11)は、既知の悪性アプリケーションの特徴、パターン、またはハッシュなどを含むデータベースである。
【0061】
シグネチャデータベース(11)は、後述するサーバー(2)のサーバーデータベース(131)に基づいて定期的にアップデートすることができる。
【0062】
これを通じて、シグネチャデータベース(11)に新たな悪性アプリケーションを追加することができる。
【0063】
シグネチャベースの悪性アプリケーション検出方式は、検出対象のアプリケーションのシグネチャとシグネチャデータベース(11)の項目とを比較し、該当するアプリケーションが既知の悪性行為のパターンまたは特徴を有するかどうかを確認することができる。
【0064】
したがって、シグネチャ検出モジュール(10)は、シグネチャデータベース(11)に基づいて悪性アプリケーションのシグネチャを検出し、ユーザー端末(1)を通じてユーザーに悪性アプリケーションに関する情報を通知または表示することができる。
【0065】
既存のシグネチャベースの悪性アプリケーション検出方式の場合、既知の悪性アプリケーションに対しては正確度が高いが、新しい悪性アプリケーションまたは変形した悪性アプリケーションは検出できないという欠点がある。
【0066】
したがって、開示された発明の場合、後述するサーバー(2)の脅威検出モジュール(110)及びマーケットクローリングモジュール(120)を複合的に活用して悪性アプリケーション情報を収集し、収集した情報をシグネチャデータベース(11)に送信することにより、 以前よりも高い正確度のシグネチャベースの悪性アプリケーション検出を実行することができる。
【0067】
これに関する詳細は後述する。
【0068】
サーバー(2)は脅威検出モジュール(110)を含むことができる。
【0069】
脅威検出モジュール(110)は、機械学習ベースの学習および推論を通じて悪性アプリケーションを検出することができる。
【0070】
より詳細には、脅威検出モジュール(110)は、コード分析モデル(1111)、ユーザー分析モデル(1112)、および開発者分析モデル(1113)を通じてアプリケーションが悪性か否かを分析して悪性アプリケーションを検出することができる。
【0071】
このような脅威検出モジュール(110)に関する詳細は、以後の図3および図4の説明で後述する。
【0072】
また、サーバー(2)は、マーケットクローリングモジュール(120)を含むことができる。
【0073】
マーケットクローリングモジュール(120)は、OSベンダーマーケットのアプリケーション公開履歴と削除履歴を確認してクローリングすることができる。
【0074】
より詳細には、マーケットクローリングモジュール(120)は、アプリストアから削除されたアプリケーションに関する情報を収集することができる。
【0075】
クローリングとは、情報を収集する自動化されたプロセスで、大量のデータを収集したり、データの変更事項を追跡したりするために使用することができる。
【0076】
このようなマーケットクローリングモジュール(120)の動作の例示として、マーケットクローリングモジュール(120)は、マーケットウェブページにHTTPまたはHTTPS要求を送信し、該当するページのHTMLコンテンツを取得することができる。
【0077】
その後、マーケットクローリングモジュール(120)は、取得したウェブページのHTMLコードを分析および解析(parsing)してウェブページの構造および内容を理解し、そのためにHTMLパーサライブラリを使用することができる。
【0078】
サーバー(2)は、サーバーデータベース(131)のアップデートを選択的に許容するアップデートモジュール(130)を含むことができる。
【0079】
このようなアップデートモジュール(130)は、脅威検出モジュール(110)とマーケットクローリングモジュール(120)を通じて出力された情報を統合及び分類して、サーバーデータベース(131)にアップデートするか否かを判断することができる。
【0080】
アップデートモジュール(130)は、脅威検出モジュール(110)が出力する出力情報によってアプリケーションが悪性であると判断された場合、悪性アプリケーション情報をサーバーデータベース(131)にアップデートすることができる。
【0081】
また、アップデートモジュール(130)は、マーケットクローリングモジュール(120)が収集した削除アプリケーション情報を受信し、このような削除アプリケーション情報をサーバーデータベース(131)にアップデートすることができる。
【0082】
したがって、脅威検出モジュール(110)によるアップデートモジュール(130)のデータベースアップデートとマーケットクローリングモジュール(120)によるアップデートモジュール(130)のデータベースアップデートとは互いに独立して実行することができる。
【0083】
ベンダーマーケットから削除されたアプリケーションの場合、悪性アプリケーションであると判断されるか、またはマーケット規定を満たしていない場合に削除される可能性がある。
【0084】
したがって、開示された発明の場合、ベンダーマーケットから削除されたアプリケーションが存在すれば、それを悪性アプリケーションに分類してサーバーデータベース(131)にアップデートすることができる。
【0085】
もし、ベンダーマーケットから削除されたアプリケーションが再びベンダーマーケットにアップロードされる場合、単純規定未遵守による削除であった可能性があるため、このとき開示された発明のサーバー(2)は脅威検出モジュール(110)を通じて当該アプリケーションが悪性か否かを再び判断することができる。
【0086】
より詳細には、開示された発明による悪性アプリケーション検出装置は、ベンダーマーケットから削除された後、再アップロードされたアプリケーションが存在する場合、当該アプリケーションに対して、脅威検出モジュール(110)の機械学習ベースの悪性アプリケーションであるか否かに関する判断結果と対照することができる。
【0087】
アップデートモジュール(130)は、脅威検出モジュール(110)の検出結果を参照して、当該アプリケーションが悪性アプリケーションでないと判断された場合、サーバーデータベース(131)から当該アプリケーションに関する情報を削除することができる。
【0088】
開示された発明は、このようなマーケットクローリングモジュール(120)と脅威検出モジュール(110)との相補的な対照方式を通じて、悪性アプリケーション検出における誤検出率を減らすことができる技術的効果を有する。
【0089】
したがって、サーバーデータベース(131)は、サーバー(2)の悪性アプリケーション判断結果に応じた悪性アプリケーションのアップデート情報を、ユーザー端末(1)のシグネチャ検出モジュール(10)のシグネチャデータベース(11)に送信して共有することができる。
【0090】
図3は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、脅威検出モジュールの構造を示す図面である。図4は、図3に示す脅威検出モジュールに活用される人工ニューラルネットワークモジュールを示す図面である。
【0091】
図3および図4を参照すると、脅威検出モジュール(110)は、前処理モジュール(111)および前処理モジュール(111)によって出力された結果値を入力して学習および推論を実行する人工ニューラルネットワークモジュール(112)を含むことができる。
【0092】
前処理モジュール(111)は、コード分析モデル(1111)、ユーザー分析モデル(1112)、開発者分析モデル(1113)に細分化することができる。
【0093】
コード分析モデル(1111)は、アプリケーションの動作とコードから得られる様々な特性を学習してアプリケーションを分析することができる。
【0094】
このようなコード分析モデル(1111)は、変数の重要度に応じて、どの特性が悪性アプリケーションを決定する重要な特性であるかを把握することができる。
【0095】
ユーザー分析モデル(1112)は、ユーザー動作情報に基づいてアプリケーションを分析することができる。
【0096】
このようなユーザー分析モデル(1112)は、ユーザーの行動データをグループ化し、異常動作を識別することができる。
【0097】
開発者分析モデル(1113)は、開発者情報および証明書情報に基づいてアプリケーションを分析することができる。
【0098】
このような開発者分析モデル(1113)は、アプリケーションの開発者の信頼度を予測し評価することができる。
【0099】
コード分析モデル(1111)、ユーザー分析モデル(1112)、および開発者分析モデル(1113)の具体的な学習方式は、図5乃至図10で後述する。
【0100】
人工ニューラルネットワークモジュール(112)は、コード分析モデル(1111)、ユーザー分析モデル(1112)、開発者分析モデル(1113)から出力された結果値のうち少なくとも2つ以上を入力して悪性アプリケーションを分類することができる。
【0101】
より詳細には、開示された発明による人工ニューラルネットワークモジュール(112)は、コード分析モデル(1111)から出力されたコード分析情報を入力情報とし、アプリケーションが悪性か否かに関する情報を出力情報とすることができる。
【0102】
あるいは、開示された発明による人工ニューラルネットワークモジュール(112)は、ユーザー分析モデル(1112)から出力されたユーザー分析情報を入力情報とし、アプリケーションが悪性か否かに関する情報を出力情報とすることができる。
【0103】
あるいは、開示された発明による人工ニューラルネットワークモジュール(112)は、開発者分析モデル(1113)から出力された開発者分析情報を入力情報とし、アプリケーションが悪性か否かに関する情報を出力情報とすることができる。
【0104】
あるいは、開示された発明による人工ニューラルネットワークモジュール(112)は、コード分析情報、ユーザー分析情報、および開発者分析情報のうち少なくとも2つ以上の前処理情報を入力情報とし、アプリケーションが悪性か否かに関する情報を出力情報とすることができる。
【0105】
特に、本発明による人工ニューラルネットワークモジュール(112)には、公知されている様々な種類の人工ニューラルネットワークを使用することができるが、代表的にはCNN(Convolutional Neural Network)を使用することができる。
【0106】
後述するが、本発明による人工ニューラルネットワークモジュール(112)は、学習を行う際に、出力情報とリファレンスデータとを比較することにより学習を行うことができるが、互いに異なる種類の入力情報を用いて学習を行うことができる。
【0107】
したがって、開示された発明による人工ニューラルネットワークモジュール(112)は、入力情報を基に出力情報を出力する学習セッションと、入力情報を基に出力情報を推論する推論セッションとを含むことができる。
【0108】
開示された発明による人工ニューラルネットワークモジュール(112)は、学習を行う際に、出力情報およびリファレンス情報を基に学習を行うことができる。
【0109】
ここで、リファレンス情報は、人為的に生成されたリファレンスデータになり得る。
【0110】
CNNは、入力データから地域的なパターンを検知し、複雑な特徴を抽出するのに特化したディープラーニングモデルとして、イメージ分類、オブジェクト検知、セグメンテーションなどのビジョン作業を行うことができる。
【0111】
CNNは、入力データに対してフィルタを利用して地域的な特徴を抽出する畳み込み層、畳み込み層から抽出された特徴マップの空間サイズを小さくして計算量を減らし、抽象化された特徴を維持するプーリング層、各ニューロンの出力を計算するために使用される活性化関数、およびCNNの最後の部分に位置し、抽出された特徴に基づいて最終的な分類や予測を実行する全結合層を含むことができる。
【0112】
全結合層は、前の層の出力を入力として受け取り、各クラスに対するスコアを出力し、一般にソフトマックス(softmax)関数を使用して各クラスに対する確率分布を得ることができる。
【0113】
したがって、開示された発明による人工ニューラルネットワークモジュール(112)は、多重分析モデルの結果値を結合して誤りを訂正するのに優れているため、性能をより向上させることができる。
【0114】
また、開示された発明による人工ニューラルネットワークモジュール(112)は、優れた一般化および拡張性を有するので、様々なデータタイプおよびサイズに対して情報処理を柔軟に行うことができるという利点がある。
【0115】
以下では、開示される発明の脅威検出モジュール(110)において、コード分析モデル(1111)、ユーザー分析モデル(1112)、及び開発者分析モデル(1113)の入力データと出力データ値、そしてこれに用いられるアルゴリズムについて詳細に説明する。
【0116】
図5は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、コード分析モデルの入力データおよびそれによるベクトル値を示す図面である。図6は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムに基づいてコード分析モデルが出力する図表および出力ベクトル値を示す図面である。
【0117】
図5および図6を参照すると、開示された発明による脅威検出モジュール(110)のコード分析モデル(1111)は、ユーザー端末に格納されたアプリケーションのAPI情報、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力してコード分析情報を出力することができる。
【0118】
また、開示された発明による脅威検出モジュール(110)のコード分析モデル(1111)は、ランダムフォレストアルゴリズムを活用してアプリケーションの動作とコードから得られる様々な特性を活用してアプリケーションを分析することができる。
【0119】
ランダムフォレストアルゴリズムとは、機械学習分類アルゴリズムの1つで、コードベースの分析で悪性アプリの検出に使用することができる。
【0120】
ランダムフォレストは、ディシジョンツリー(決定木・Decision Tree)に基づいたアンサンブル(Ensemble)学習方法である。
【0121】
ランダムフォレストアルゴリズムは、いくつかのディシジョンツリーを独立的に学習し、その結果を結合して最終予測を実行することができる。
【0122】
ランダムフォレストアルゴリズムは、これを通じて個々のツリーの偏向と分散を相互補完しながら、より強力な予測モデルを構築することができる。
【0123】
また、ランダムフォレストアルゴリズムは、各ツリーの学習時に無作為性を導入することができる。
【0124】
このような無作為性は、データサンプリングおよび特徴選択に適用することができる。
【0125】
データサンプリングは、ブートストラップサンプリング(Bootstrap Sampling)を使用して各ツリーに互いに異なる学習データを提供することができる。
【0126】
特徴選択は、ランダムに選択された一部の特徴で各ツリーを学習させることができる。
【0127】
このような無作為性は、過適合を防ぎ、さまざまなツリーの多様性を維持することで予測性能を向上させることができる。
【0128】
また、ランダムフォレストアルゴリズムは、個々のツリーで特徴の重要度を計算して提供することができる。
【0129】
重要度は、各特徴が予測にどれだけ大きな影響を与えるかを示し、悪性アプリ検出でどの特徴が悪性行為を最もうまく説明しているかを知らせることができる。
【0130】
ランダムフォレストアルゴリズムは、これを通じて特徴選択や悪性行為の特徴を分析するのに有用な情報を得ることができる。
【0131】
したがって、開示された発明によるコード分析モデル(1111)のランダムフォレストアルゴリズムを悪性アプリケーション検出に適用すると、コード分析モデル(1111)は、各アプリケーションの特徴に基づいて学習し分類決定を下すことができる。
【0132】
たとえば、アプリケーションの権限要求、API呼び出しパターン、コード構造などの特徴を使用して、悪性アプリと正常なアプリを区分することができる。
【0133】
ランダムフォレストはこれらの特徴を学習して新しいアプリケーションを分類し、悪性アプリケーションと予測されるアプリを識別することができる。
【0134】
このようなランダムフォレストアルゴリズムは、悪性アプリ検出のための他の機械学習アルゴリズムと組み合わせて使用することができ、様々なアルゴリズムのアンサンブルで構成された分類システムを構築するのに有用である。
【0135】
したがって、開示された発明によるコード分析モデル(1111)は、特定のAPI、不要な権限要求、危険権限要求、および悪性コードのパターンなどを学習して、悪性アプリケーションの迅速な検出および分類が可能になる。
【0136】
また、開示された発明によるコード分析モデル(1111)は、学習された特性に基づいて悪性アプリケーションを判断するので、既存のシグネチャベースの検出に頼ることなく新しい悪性アプリケーションを分類することができる。
【0137】
また、開示された発明によるコード分析モデル(1111)は、複数のディシジョンツリーを使用するので、過適合を減少させてノイズに強い特性を有するようになり、誤検出を減らすことができる技術的効果がある。
【0138】
図7は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、ユーザー分析モデルの入力データおよびそれによるベクトル値を示す図面である。図8は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムに基づいてユーザー分析モデルが出力する図表および出力値を示す図面である。
【0139】
図7および図8を参照すると、開示された発明による脅威検出モジュール(110)のユーザー分析モデル(1112)は、アプリケーションの使用時間情報、スクリーンタイム情報、バッテリー消費量情報、データ使用量情報、インタラクションパターン情報、および近接センサー情報のうち少なくとも1つを入力してユーザー分析情報を出力することができる。
【0140】
また、開示された発明による脅威検出モジュール(110)のユーザー分析モデル(1112)は、DBSCAN(Density-Based Clustering of Applications with Noise)アルゴリズムを活用して各群集の平均値を取得し、変数値と当該群集の中央値の差を算出して、当該データを通じてアプリケーションを分析することができる。
【0141】
このとき、脅威検出モジュール(110)のユーザー分析モデル(1112)のモニタリングデータは7日の周期で収集することができる。
【0142】
ただし、モニタリングデータの収集周期はこれに限定されず、7日より短い、または長い周期で形成されてもよい。
【0143】
DBSCANアルゴリズムは、密度ベースのクラスタリングアルゴリズムであり、データポイントの密度に基づいてクラスタを形成するのに使用することができる。
【0144】
DBSCANアルゴリズムは、データの分布と密度を考慮してクラスタを識別し、外れ値と見なされるノイズデータを自動的に処理できるという利点がある。
【0145】
DBSCANアルゴリズムは、データの密度に基づいてクラスタを形成するため、データの分布に敏感に反応する。
【0146】
例えば、DBSCANアルゴリズムは、データが密集した領域では密集したクラスタを形成し、希少領域ではクラスタ間の境界を区分することができる。
【0147】
このようなDBSCANアルゴリズムは、クラスタの個数を事前に指定する必要はなく、クラスタの形状およびサイズに対する仮定がないので様々な形態のクラスタを識別することができる。
【0148】
したがって、開示された発明による脅威検出モジュール(110)のユーザー分析モデル(1112)は、ユーザーの行動データをクラスタにグループ化することができ、それを通じて正常な行動パターンとは異なる異常動作を識別することができる。
【0149】
また、開示された発明による脅威検出モジュール(110)のユーザー分析モデル(1112)は、外れ値をクラスタに属さないポイントと見なし、データセットで異常な動作をするユーザーを識別するのに有効である。
【0150】
図9は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、開発者分析モデルの入力データおよびそれによるベクトル値を示す図面である。図10は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出装置において、アルゴリズムを通じて開発者分析モデルが出力する図表および出力ベクトル値を示す図面である。
【0151】
図9および図10を参照すると、開示された発明による脅威検出モジュール(110)の開発者分析モデル(1113)は、アプリケーションの証明書有効期間情報、証明書発行国情報、注釈言語情報、および証明書管理情報のうち少なくとも1つを入力して開発者分析情報を出力することができる。
【0152】
また、開示された発明による脅威検出モジュール(110)の開発者分析モデル(1113)は、勾配ブースティングアルゴリズムを活用して開発者および証明書情報に基づいてアプリケーションを分析することができる。
【0153】
より詳細には、開発者分析モデル(1113)は、勾配ブースティングアルゴリズムのXGBoostを使用してブースティングのプロセスを経た結果値を活用することができる。
【0154】
また、開示された発明による脅威検出モジュール(110)の開発者分析モデル(1113)は、コード分析モデル(1111)およびユーザー分析モデル(1112)の補助手段として活用することができる。
【0155】
XGBoostは、eXtreme Gradient Boostingの略で、勾配ブースティングアルゴリズムの1つである。
【0156】
XGBoostは、大容量の構造化データを扱うのに特化されており、さまざまな分野で予測問題を解決するのに広く使用できる。
【0157】
XGBoostは、基本的に勾配ブースティングツリー(Gradient Boosting Tree)に基づいて動作することができる。
【0158】
勾配ブースティングツリーは、以前のツリーの予測誤差を減らす新しいツリーを反復的に追加してアンサンブルモデルを構成することができる。
【0159】
このような反復プロセスは、予測値と実際値との差(残差)に対して勾配を計算し、勾配に基づいて新しいツリーを学習させることによって達成することができる。
【0160】
したがって、開示された発明による脅威検出モジュール(110)の開発者分析モデル(1113)は、アプリケーションの証明書の有効期間、発行国、アプリケーションの注釈言語などの様々な本質的な特性を活用して、アプリケーション開発者の信頼性を予測し評価することができる。
【0161】
また、このような開発者分析モデル(1113)は、誤差補正によって正確度を向上させることができる。
【0162】
すなわち、開示された発明の人工ニューラルネットワークモジュール(112)は、コード分析モデル(1111)、ユーザー分析モデル(1112)、及び開発者分析モデル(1113)を含む前処理モジュール(111)で収集されたベクトル値を入力情報とし、畳み込みニューラルネットワークアルゴリズムを通じて悪性アプリケーションを判断し、それを出力情報にすることができる。
【0163】
したがって、開示された発明の人工ニューラルネットワークモジュール(112)は、各モデルから抽出されたベクトル値をイメージ化して学習することによって、悪性アプリケーションと正常なアプリケーションとの間のパターンの違いを効果的に識別することができる技術的効果がある。
【0164】
また、開示された発明の人工ニューラルネットワークモジュール(112)は、コードベースの分析で悪性コードの特定のパターンを学習し、ユーザーベースの分析で異常行動を識別し、証明書分析で疑わしい開発者の身元を考慮することによって様々なパターンを検出及び分類することができる。
【0165】
このような開示された発明の人工ニューラルネットワークモジュール(112)は、結果の結合に強みがあり、多重分析モデルの結果を結合することによって誤りを訂正し性能を向上させることができる。
【0166】
また、開示された発明による人工ニューラルネットワークモジュール(112)は、優れた一般化および拡張性を有するにつれて、様々なデータタイプおよびサイズに応じた柔軟な情報処理を実行するという利点がある。
【0167】
図11は、開示された発明の一実施形態によるシグネチャベースの悪性アプリケーション検出方法によるフローチャートを示す図面である。
【0168】
図11を参照すると、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)を含むことができる。
【0169】
より詳細には、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、アプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力してコード分析情報を出力する段階を含むことができる。
【0170】
また、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、アプリケーションの使用時間情報、スクリーンタイム情報、バッテリー消費量情報、データ使用量情報、およびインタラクションパターン情報のうち少なくとも1つを入力してユーザー分析情報を出力する段階を含むことができる。
【0171】
また、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、アプリケーションの証明書有効期間情報、証明書発行国情報、注釈言語情報、および証明書管理情報のうち少なくとも1つを入力し、開発者分析情報を出力する段階を含むことができる。
【0172】
その後、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、コード分析情報を入力してアプリケーションが悪性か否かに関する情報を出力する段階を含むことができる。
【0173】
また、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、ユーザー分析情報を入力してアプリケーションが悪性か否かに関する情報を出力する段階を含むことができる。
【0174】
また、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、開発者分析情報を入力してアプリケーションが悪性か否かに関する情報を出力する段階を含むことができる。
【0175】
また、機械学習に基づいて悪性アプリケーションであるか否かを判断する段階(S110)は、コード分析情報、ユーザー分析情報、および開発者分析情報のうち少なくとも2つ以上の情報を入力し、アプリケーションが悪性か否かに関する情報を出力する段階を含むことができる。
【0176】
その後、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、悪性アプリケーション情報をサーバーデータベース(131)にアップデートする段階(S120)を含むことができる。
【0177】
より具体的には、悪性アプリケーション情報をサーバーデータベース(131)にアップデートする段階(S120)は、脅威検出モジュール(110)が検出した結果に応じて、当該アプリケーションが悪性である確率が一定レベル以上である場合、アップデートモジュール(130)が当該アプリケーションの情報をサーバーデータベース(131)に格納する方式でサーバーデータベース(131)をアップデートする段階を含むことができる。
【0178】
また、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、OS市場から削除されたアプリケーション情報を収集する段階(S130)を含むことができる。
【0179】
より詳細には、OS市場から削除されたアプリケーション情報を収集する段階(S130)は、マーケットクローリングモジュール(120)を使用してOS市場の公開および削除履歴をクローリングする段階を含むことができる。
【0180】
その後、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、削除されたアプリケーション情報をサーバーデータベース(131)にアップデートする段階(S140)を含むことができる。
【0181】
より具体的には、削除されたアプリケーション情報をサーバーデータベース(131)にアップデートする段階(S140)は、マーケットクローリングモジュール(120)がクローリングした結果に応じて当該アプリケーションがマーケットから削除されたことが確認された場合、アップデートモジュール(130)が当該アプリケーションの情報をサーバーデータベース(131)に格納する方式でサーバーデータベース(131)をアップデートする段階を含むことができる。
【0182】
また、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、削除されたアプリケーションがマーケットに再アップロードされた場合、機械学習によって悪性か否かを再び判断する段階(S150)を含むことができる。
【0183】
より具体的には、機械学習で悪性か否かを再判断する段階(S150)は、ベンダーマーケットから削除されたアプリケーションが再びベンダーマーケットにアップロードされる場合には、単純な規制不遵守による削除であった可能性があるため、脅威検出モジュールを通じて当該アプリケーションが悪性か否かをもう一度判断する段階を含むことができる。
【0184】
より詳細には、削除されたアプリケーションがマーケットに再アップロードされた場合、機械学習によって悪性か否かを再判断する段階(S150)は、ベンダーマーケットから削除されたが再アップロードされたアプリケーションが存在する場合、当該アプリケーションに対して、脅威検出モジュール(110)の機械学習ベースの悪性アプリケーションであるか否かに関する判断結果を確認する段階を含むことができる。
【0185】
また、開示された発明によるシグネチャベースの悪性アプリケーション検出方法は、当該アプリケーションが悪性でないと判断された場合、サーバーデータベース(131)から削除する段階(S160)を含むことができる。
【0186】
より具体的には、当該アプリケーションが悪性でないと判断された場合、サーバーデータベース(131)から削除する段階(S160)は、脅威検出モジュール(110)の検出結果を参照し、当該アプリケーションが悪性アプリケーションでないと判断される場合、アップデートモジュール(130)は、サーバーデータベース(131)から当該アプリケーションに関する情報を削除する段階を含むことができる。
【0187】
これにより、開示された発明は、マーケットクローリングモジュール(120)と脅威検出モジュール(110)との相補的な対照を通じて、悪性アプリケーション検出における誤検出率を減らすことができる技術的効果を有する。
【0188】
一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、様々な検証方法によって悪性アプリケーションを迅速かつ正確に検出することができる技術的利点がある。
【0189】
また、一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、ベンダーマーケットアプリの公開履歴を周期的にクローリングすることによって、マーケットから削除された悪性アプリケーションを迅速にシグネチャデータベースに反映することができる技術的利点がある。
【0190】
また、一実施形態によるシグネチャベースの悪性アプリケーション検出方法および装置は、アプリケーションの開発者特性及び証明書特性を機械学習に活用し、機械学習で出力される結果を定期的にシグネチャデータベースにアップデートすることにより、悪性アプリケーションからユーザーを効果的に保護することができる技術的利点がある。
【0191】
以上では本発明の好ましい実施例を参照して説明したが、当該技術分野の熟練した当業者又は当該技術分野に通常の知識を有する者であれば、後述する特許請求の範囲に記載された本発明の思想及び技術領域から逸脱しない範囲内で本発明を多様に修正および変更することができることが理解できる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2024-11-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザー端末に格納されたアプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力するコード分析モデルを含む前処理モジュールと、前記前処理モジュールによって出力された前記コード分析情報を入力情報とし、前記アプリケーションが悪性か否かを判断したアプリケーション悪性情報を出力情報とする人工ニューラルネットワークモジュールと、を含む脅威判断モジュール
前記人工ニューラルネットワークモジュールによって出力された前記アプリケーション悪性情報に基づき前記アプリケーションが悪性であると判断された場合、前記アプリケーションを悪性アプリケーションに分類し、サーバーデータベースに格納し、前記サーバーデータベースにおける前記アプリケーション悪性情報をアップデートするアップデートモジュール;および
アプリストアで公開されたアプリケーションと削除されたアプリケーションに関する情報を収集するマーケットクローリングモジュール;を含み、
前記アップデートモジュールは、前記マーケットクローリングモジュールによって収集された前記削除されたアプリケーションに関する情報に基づき、前記削除されたアプリケーションを悪性アプリケーションに分類し、前記サーバーデータベースにおける前記アプリケーション悪性情報をアップデートし、
前記アプリストアで公開されたアプリケーションに関する情報を収集することで、前記マーケットクローリングモジュールによって前記削除されたアプリケーションがアプリストアに再アップロードされたものと判断された場合、脅威判断モジュールを通じて再アップロードされたアプリケーションが悪性か否かを再び判断し、前記再アップロードされたアプリケーションが悪性でないと判断された場合、前記アップデートモジュールは前記サーバーデータベースにおける前記アプリケーション悪性情報から前記再アップロードされたアプリケーションを削除することを特徴とする、
シグネチャベースの悪性アプリケーション検出装置。
【請求項2】
前記前処理モジュールは
前記アプリケーションの使用時間情報、スクリーンタイム情報、バッテリー消費量情報、データ使用量情報、およびインタラクションパターン情報のうち少なくとも1つを入力情報として入力し、ユーザー分析情報を出力情報として出力するユーザー分析モデル;をさらに含むことを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項3】
前記前処理モジュールは
前記アプリケーションの証明書有効期間情報、証明書発行国情報、注釈言語情報、および証明書管理情報のうち少なくとも1つを入力情報として入力し、開発者分析情報を出力情報として出力する開発者分析モデル;をさらに含むことを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項4】
前記コード分析モデルは
ランダムフォレストアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項1に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項5】
前記ユーザー分析モデルは
DBSCANアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項2に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項6】
前記開発者分析モデルは
勾配ブースティングアルゴリズムを活用して前記アプリケーションを分析することを特徴とする、
請求項3に記載のシグネチャベースの悪性アプリケーション検出装置。
【請求項7】
脅威判断モジュールに含まれる前処理モジュールによって、アプリケーションのAPI、権限情報、コードシグネチャ情報、およびハッシュ情報のうち少なくとも1つを入力情報として入力し、コード分析情報を出力情報として出力する段階;
脅威判断モジュールに含まれる人工ニューラルネットワークモジュールによって、前記コード分析情報を入力情報として入力し、人工ニューラルネットワークモジュールによって前記アプリケーションが悪性か否かを判断したアプリケーション悪性情報を出力情報として出力する段階;
前記人工ニューラルネットワークモジュールによって出力された前記アプリケーション悪性情報に基づき前記アプリケーションが悪性であると判断される場合、アップデートモジュールによって、前記アプリケーションを悪性アプリケーションに分類し、サーバーデータベースに格納し、前記サーバーデータベースにおける前記アプリケーション悪性情報をアップデートする段階
マーケットクローリングモジュールによって、前記アプリストアで公開されたアプリケーションと削除されたアプリケーションに関する情報を収集する段階;
前記マーケットクローリングモジュールによって収集された前記削除されたアプリケーションに関する情報に基づき、前記削除されたアプリケーションを悪性アプリケーションに分類し、前記サーバーデータベースに格納し、前記サーバーデータベースをアップデートする段階;および
前記アプリストアで公開されているアプリケーションに関する情報を収集することで、前記マーケットクローリングモジュールによって前記削除されたアプリケーションがアプリストアに再アップロードされたものと判断された場合、脅威判断モジュールを通じて再アップロードされたアプリケーションが悪性か否かを再び判断し、前記再アップロードされたアプリケーションが悪性でないと判断された場合、前記サーバーデータベースにおける前記アプリケーション悪性情報から前記再アップロードされたアプリケーションを削除する段階;を含むことを特徴とする、
シグネチャベースの悪性アプリケーション検出方法。