JP6392446B2 - クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム - Google Patents

クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム Download PDF

Info

Publication number
JP6392446B2
JP6392446B2 JP2017507698A JP2017507698A JP6392446B2 JP 6392446 B2 JP6392446 B2 JP 6392446B2 JP 2017507698 A JP2017507698 A JP 2017507698A JP 2017507698 A JP2017507698 A JP 2017507698A JP 6392446 B2 JP6392446 B2 JP 6392446B2
Authority
JP
Japan
Prior art keywords
security
application
cloud
unit
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017507698A
Other languages
English (en)
Other versions
JP2017531236A (ja
Inventor
ナム、ゼ・ミン
ホン、ジン・ソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inka Entworks Inc
Original Assignee
Inka Entworks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=55304383&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP6392446(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Inka Entworks Inc filed Critical Inka Entworks Inc
Publication of JP2017531236A publication Critical patent/JP2017531236A/ja
Application granted granted Critical
Publication of JP6392446B2 publication Critical patent/JP6392446B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

本発明は、クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステムに関するものである
以下に記述する内容は、単に本実施例に係る背景情報のみを提供するだけで、従来技術を構成するものではないことは明らかである。
最近になって、他人のコンピュータに侵入して情報を流出したり、リバースエンジニアリング(reverse engineering)技術を利用して、コンピュータプログラムが本来意図された機能とは異なる機能を実行するようにコンピュータプログラムのバイナリコードを変更したり、デバッガなどのツールを使用して、コンピュータプログラムが実行される途中でバイナリコードを変更し、これを悪用する事例が頻繁に起きている。たとえば、プログラムを変更する者が、オンラインゲームのユーザPCで動作するクライアントプログラムをリバースエンジニアリングし、クライアントプログラムが自動的に実行されるように変更すれば、正常でない方法でゲームアイテムを獲得することも可能になる。
したがって、アプリケーションのソースコードに対応するバイナリコードなどを保護する必要がある。現在は、セキュリティソリューションSDK(Software Development Kit)をソースコードに適用することにより、アプリケーションのバイナリコードを保護するのが一般的である。しかし、アプリケーションのバイナリコードを保護するためにSDKを使用する場合は、まず、そのSDKの使用方法を熟知しなければならず、また、そのSDKのライブラリを既存のソースコードに追加しなければならない。さらに、既存のソースコードの変更も必要な場合が発生するため、かなりの時間と開発者の努力が必要である。何よりも、ハッカーによってバイナリコードが攻撃された場合、迅速に対応することができないという問題がある。
上述の問題点を解決するために、本発明は、クラウドに基づいて、セキュリティ適用の利便性と、ハッカーの攻撃に対する迅速な対応を可能にする、クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステムを提供することを目的とする。
上述の目的を達成するために、本発明の一実施例による、クライアント装置とクラウド装置とを含むセキュリティサービス提供システムにおけるクラウドベースのアプリケーションセキュリティサービスの提供方法は、クライアント装置において、アプリケーションソースをコンパイルしてバイナリを生成するバイナリ生成ステップと、クライアント装置において、バイナリ生成ステップで生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成ステップと、クライアント装置において、実行パッケージ構成ステップで構成された実行パッケージをクラウド装置にアップロードするアップロードステップと、クラウド装置においてアップロードステップでアップロードされた実行パッケージを分解してバイナリを抽出する実行パッケージ分解ステップと、クラウド装置において、複数のセキュリティライブラリのいずれかのセキュリティライブラリを実行パッケージ分解ステップで抽出されたバイナリに適用してセキュリティ適用バイナリを生成するセキュリティライブラリ適用ステップと、クラウド装置において、セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリを含むセキュリティ適用実行パッケージを再構成する実行パッケージ再構成ステップと、クライアント装置において、実行パッケージ再構成ステップで再構成されたセキュリティ適用実行パッケージをダウンロードする、ダウンロードステップとを提供する。
セキュリティライブラリには、整合性検証のためのハッシュ検証機能が含まれており、クラウド装置は、セキュリティライブラリにおけるハッシュ検証機能のために、実行パッケージ分解ステップで抽出されたバイナリに対してハッシュコードを生成するハッシュコード生成ステップをさらに含む。
セキュリティライブラリには、ハッシュ検証機能のほかに、アンチデバッグ機能、アンチダンプ機能、またはアンチデバッグ機能及びアンチダンプ機能が含まれている。
クライアント装置は、バイナリ生成ステップの前に、アプリケーションソースの特定関数に対してセキュリティタグを設定するセキュリティタグ設定ステップをさらに含む。
クライアント装置は、セキュリティタグ設定ステップで設定されたセキュリティタグが検出されると、自動的にセキュリティタグに関連したデバッガ用ライブラリをリンクさせるデバッガ用ライブラリリンクステップをさらに含む。
実行パッケージ分解ステップは、アップロードステップでアップロードされた実行パッケージをパーシングし、デバッガ用ライブラリを抽出し、セキュリティライブラリ適用ステップは、実行パッケージ分解ステップで抽出されたデバッガ用ライブラリを複数のセキュリティライブラリのいずれかのセキュリティライブラリに入れ替えて、セキュリティ適用バイナリを生成する。
ハッシュコード生成ステップは、実行パッケージ分解ステップで抽出されたバイナリにおいて、セキュリティタグの設定された特定関数に対してハッシュコードを生成する。
クラウド装置は、ハッシュコード生成ステップの後、セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリに対し、複数のセキュリティライブラリのいずれかのセキュリティライブラリに対応して提供された暗号化キーを用いて暗号化する暗号化ステップをさらに含む。
本発明のまた他の実施例によるクライアント装置とクラウド装置とを含むセキュリティサービス提供システムにおけるクラウドベースのアプリケーションセキュリティサービスの提供方法は、クライアント装置において、アプリケーションソースをコンパイルしてバイナリを生成するバイナリ生成ステップと、クラウド装置において、前記クライアント装置に複数のセキュリティライブラリのいずれかのセキュリティライブラリを提供するセキュリティライブラリ提供ステップと、クライアント装置において、セキュリティライブラリ提供ステップで提供されたセキュリティライブラリをバイナリ生成ステップで生成されたバイナリに適用してセキュリティ適用バイナリを生成するセキュリティライブラリ適用ステップと、を提供することにより、上述の目的を達成することができる。
本発明の一実施例によるクライアント装置とクラウド装置とを含むクラウドベースのアプリケーションセキュリティサービスの提供システムにおいて、クライアント装置は、アプリケーションソースをコンパイルしてバイナリを生成するコンパイラ部と、コンパイラ部で生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成部と、実行パッケージ構成部で構成された実行パッケージをクラウド装置にアップロードするアップロード部と、クラウド装置からセキュリティの適用されたセキュリティ適用実行パッケージをダウンロードするダウンロード部と、を提供して、クラウド装置は、アップロード部でアップロードされた実行パッケージを分解してバイナリを抽出する実行パッケージ分解部と、複数のセキュリティライブラリのいずれかのセキュリティライブラリを提供するセキュリティライブラリ提供部と、セキュリティライブラリ提供部で提供されたセキュリティライブラリを、実行パッケージ分解部で抽出されたバイナリに適用し、セキュリティ適用バイナリを生成するセキュリティライブラリ適用部と、セキュリティライブラリ適用部で生成されたセキュリティ適用バイナリを含む実行パッケージを再構成する実行パッケージ再構成部と、を提供することにより、上述の目的を達成することができる。
本発明のまた他の実施例による、クライアント装置とクラウド装置とを含む、クラウドベースのアプリケーションセキュリティサービス提供システムにおいて、クラウド装置は、複数のセキュリティライブラリのいずれかのセキュリティライブラリをクライアント装置に提供するセキュリティライブラリ提供部を提供して、クライアント装置は、アプリケーションソースをコンパイルしてバイナリを生成するコンパイラ部と、クラウド装置から提供されたセキュリティライブラリをコンパイラ部に生成されたバイナリに適用して、セキュリティ適用バイナリを生成するセキュリティライブラリ適用部と、を提供することにより、上述の目的を達成することができる。
以上説明したように、本実施例によると、クラウドに基づいて、セキュリティ適用の利便性と、ハッカーの攻撃に対する迅速な対応が可能である。
また、プログラムの実行に敏感でありながらバイナリ変更セキュリティが必要なコンピュータプログラムの実行において、メモリハッシュを利用した整合性検証のために、保護の必要な重要な関数にセキュリティタグを適用して、セキュリティタグの適用された関数が呼び出された場合、セキュリティタグの適用された関数に対してのみ、メモリハッシュを利用してバイナリの変更有無を検査することにより、ハッシュ計算に対する負担でコンピュータプログラムの実行性能及びシステムの性能が低下することを防止することができる。
一方、セキュリティタグは、短い時間間隔で反復的に呼び出される関数よりは、アカウントの認証、パスワードの入力、決済関連、セキュリティ関連(ハッシュチェック、アンチデバッグなど)、暗号化・復号化、証明書の検証、商品の購入・販売、初期化、サーバ通信、設定ファイル(セーブファイル)の読み書き、演算結果判定及びプログラムの実行において保護の必要な、重要な関数に適している。上記のような関数は、一定の周期で繰り返して呼び出されるものではないという特徴があって、繰り返して呼び出されるとしても、関数に対する整合性の検証以後、再び同じ関数が呼び出された場合、一定の時間間隔内では、検証が省かれるようにすることができる
本発明の一実施例によるクラウドベースのアプリケーションセキュリティサービスシステムの概略的なブロック図である。 図1に示されたクライアント装置の具体的なブロック図である。 図1に示されたクラウド装置の具体的なブロック図である。 本発明の一実施例によるアプリケーションセキュリティサービス提供方法の流れ図である。 図1に示されたユーザ端末装置の具体的なブロック図である。 図5に示されたメインメモリにロードされたアプリケーションプログラム関連構成を示した図である。 本発明の一実施例によるアプリケーションが動的ライブラリに含まれたモジュールを呼び出す過程を示した図である。
詳細な説明発明
以下、添付の図面を参照し、本実施例を詳細に説明する。
本実施例によるクラウドベースのアプリケーションセキュリティサービスの提供方法は、C/C++のようなネイティブコード(native code)を生成することができるプログラム言語であれば、PC、サーバ、スマートフォンなどのハードウェアや、Windows(登録商標)、UNIX(登録商標)、Linux(登録商標)、OS Xなどのアプリケーションソフトウェアが実行されるオペレーティングシステムに関係なく、同一に適用できる
図1は、本発明の一実施例によるクラウドベースのアプリケーションセキュリティサービスシステムの概略的なブロック図である。
図1に示すように、アプリケーションセキュリティサービスシステムは、クライアント装置100、クラウド装置150、及び、ユーザ端末装置190を含む。
クライアント装置100は、クライアントメモリ部110、コンパイラ部120、実行パッケージ構成部125、アップロード部130、及び、ダウンロード部140を含む。
クライアントメモリ部110には、アプリケーションプログラムの開発が完了したアプリケーションソースコード112が記憶されている。コンパイラ部120は、クライアントメモリ部110に記憶されたアプリケーションソースコード112をコンパイルしてバイナリコード114を生成し、生成されたバイナリコード114は、クライアントメモリ部110に記憶される。実行パッケージ構成部125は、クライアントメモリ部110に記憶されたバイナリコード114とその他のリソースなどを合わせて実行パッケージ116を構成し、構成された実行パッケージ116は、クライアントメモリ部110に記憶される。
アップロード部130は、クライアントメモリ部110に記憶された実行パッケージ116をクラウド装置150にアップロードし、ダウンロード部140は、クラウド装置150からセキュリティ適用実行パッケージ118をダウンロードして、ダウンロードされたセキュリティ適用実行パッケージ118は、クライアントメモリ部110に記憶される。
クラウド装置150は、クラウドメモリ部160、実行パッケージ分解部170、セキュリティライブラリ適用部172、ハッシュコード生成部174、暗号化部176、実行パッケージ再構成部178、及び、セキュリティライブラリ提供部180を含む。
クラウドメモリ部160には、アップロード部130でアップロードされた実行パッケージ116が記憶される。実行パッケージ分解部170は、実行パッケージを分解し、バイナリコード114を抽出して、バイナリコード114は、クラウドメモリ部160に記憶される。セキュリティライブラリ適用部172は、セキュリティライブラリ提供部180から提供されたセキュリティライブラリをバイナリコード114に適用する。
ハッシュコード生成部174は、セキュリティの適用されたバイナリコードに、ハッシュ関数を利用してハッシュコードを生成する。ここでハッシュコード生成部174は、ハッシュコードをファイル単位でまたはメモリ単位で生成することができる。暗号化部176は、セキュリティ適用バイナリコードとハッシュコード生成部174で生成されたハッシュコードに、暗号化アルゴリズムを利用して暗号化を実行する。実行パッケージ再構成部178は、セキュリティの適用されたバイナリコードとその他のリソースなどを合わせて、セキュリティ適用実行パッケージ118に再構成する。
セキュリティライブラリ提供部180は、セキュリティライブラリ適用部172にセキュリティライブラリを提供するためのもので、多数のセキュリティライブラリが記憶されている。多数のセキュリティライブラリは、生成するたびにコード難読化が使用されるため、相異なる形態を有するセキュリティライブラリで構成される。一般に、セキュリティライブラリは、ハッシュ検証機能が含まれており、また、デバッガ(debugger)のようなツールを利用して、プログラムを静的または動的に分析するか、悪質なコードを組み込んで攻撃することができないようにするアンチデバッグ(anti−debugging)機能と、実行中のプロセスのメモリ状態をダンプできないようにするアンチダンプ(anti−dump)機能が含まれている。
ユーザ端末装置190は、クライアントメモリ部110に記憶されているセキュリティ適用実行パッケージ118をダウンロードし、アプリケーションを駆動する。
図2は、図1に示されたクライアント装置の具体的なブロック図である。
図2に示すように、クライアント装置100は、クライアントメモリ部210、セキュリティタグ編集部220、セキュリティタグ検査部230、セキュリティ適用コンパイラ部240、APK(Android PacKage)構成部250、APKアップロード部260、及び、APKダウンロード部270を含む。
クライアントメモリ部210には、アプリケーションプログラムの開発が完了したアプリケーションソースコード212が記憶されている。
セキュリティタグ編集部220は、アプリケーションソースコード212において、セキュリティが必要な特定関数に対してセキュリティタグを編集するために提供される。セキュリティタグは、整合性検証を開始する地点を表示するスタートタグと、終了地点を表示するエンドタグとで構成される。セキュリティタグ編集部220で編集されたセキュリティタグ適用ソースコード213は、クライアントメモリ部210に記憶される。
一方、セキュリティタグ編集部220は、セキュリティタグと関連し、デバッグ用ライブラリを追加することができる。デバッグ用ライブラリは、クラウド装置150のセキュリティライブラリ適用部172でリリース用セキュリティライブラリに切り替えられる。一般に、SDKを適用時、アンチデバッグ機能により、開発時にもデバッグが困難な場合がよく発生する。しかし、本実施例では、デバッグ用ライブラリを追加することにより、開発時、デバッグに伴う不都合をなくすことができる。
セキュリティタグ検査部230は、セキュリティタグ適用ソースコード213においてセキュリティタグをチェックして、セキュリティタグが検出されると、セキュリティタグに自動的にデバッガ用ライブラリをリンクさせる。
セキュリティ適用コンパイラ部240は、セキュリティタグ検査部230で検査されたセキュリティタグが適用された関数を少なくとも一つ以上含むソースコードをコンパイルして、セキュリティタグ適用バイナリコード214を生成し、生成されたセキュリティタグ適用バイナリコード214は、クライアントメモリ部210に記憶される。
APK構成部250は、クライアントメモリ部210に記憶されたセキュリティタグ適用バイナリコードとその他のリソースなどを合わせて、セキュリティタグ適用実行パッケージ216を構成し、構成されたセキュリティタグ適用実行パッケージ216は、クライアントメモリ部210に記憶される。
APKアップロード部260は、クライアントメモリ部210に記憶されたセキュリティタグ適用実行パッケージ216をクラウド装置150にアップロードして、APKダウンロード部270は、クラウド装置150からセキュリティ適用実行パッケージ218をダウンロードし、ダウンロードされたセキュリティ適用実行パッケージ218は、クライアントメモリ部210に記憶される。
図3は、図1に示されたクラウド装置の具体的なブロック図である。
図3に示すように、クラウド装置150は、クラウドメモリ部310、APKパーシング部320、セキュリティライブラリ適用部330、ハッシュコード生成部340、暗号化部350、APK再構成部360、及び、セキュリティライブラリ提供部370を含む。
クラウドメモリ部310には、APKアップロード部260でアップロードされたセキュリティタグ適用実行パッケージ216が記憶される。APKパーシング部320は、APKファイルのセキュリティタグ適用実行パッケージ216をパーシングして、デバッガ用ライブラリを抽出する。
セキュリティライブラリ適用部330は、パーシングされたデバッガ用ライブラリを、セキュリティライブラリ提供部370から提供されたリリースセキュリティライブラリに切り替える。また、セキュリティライブラリ適用部330には、リリースセキュリティライブラリの他に、暗号化キーを提供してもよい。
ハッシュコード生成部340は、リリースセキュリティ適用バイナリコードのうち、セキュリティタグの適用された特定関数をハッシュ関数(MD5、SHA、Checksumなど)の入力とし、ハッシュコードを生成することができる。また、ハッシュコード生成部340は、具現によって、プログラムの実行に必要な必須ファイル、アプリケーションファイルなどをハッシュ関数(MD5、SHA、Checksumなど)の入力にし、ファイル別にハッシュコードを生成して、生成されたファイル別のハッシュコードを含むハッシュレジストリを生成することができる。ユニティベースのアプリケーションにおいて、プログラムの実行に必要な必須ファイルは、例えばlibmono.so、libunity.so MonoSecurity.dll及びUnityEngine.dllなどである。
暗号化部350は、リリースセキュリティ適用バイナリコードのうち、セキュリティタグの適用された特定関数に対して、DES、AES、RSAなどの暗号化アルゴリズムで、セキュリティライブラリ提供部370で提供された暗号化キーを用いて暗号化を実行する。この場合、暗号化部350は、実装例によって、動的ライブラリに対しても暗号化することができる。また、暗号化部350は、ハッシュコード生成部340で生成されたハッシュコードに対しても暗号化を実行することができる。
APK再構成部360は、暗号化されたリリースセキュリティ適用バイナリコードとその他のリソースなどを合わせて、実行パッケージに再構成する。
セキュリティライブラリ提供部370には、多数のセキュリティライブラリ及び暗号化キー372が記憶されている。多数のセキュリティライブラリ及び暗号化キーは、生成するたびにコード難読化が使用されるため、相異なる値を有するセキュリティライブラリで構成される。セキュリティライブラリ提供部370は、セキュリティライブラリ適用部330に、多数のセキュリティライブラリ及び暗号化キーの中からランダムに選択されたセキュリティ動的ライブラリ及び暗号化キーを提供する。そして、セキュリティライブラリ提供部370は、すでに使用したセキュリティライブラリ及び暗号化キーは削除し、再使用できないようにする。
図3において、1つのクラウド装置150に、クラウドメモリ部310、APKパーシング部320、セキュリティライブラリ適用部330、ハッシュコード生成部340、暗号化部350、APK再構成部360、及び、セキュリティライブラリ提供部370が全て含まれて示されているが、これは物理的に統合された一つを意味するものではなく、セキュリティライブラリ提供部370は、他の装置から提供することもできる。
図4は、本発明の一実施例によるアプリケーションセキュリティサービス提供方法の流れ図である。
アプリケーション開発者がアプリケーションプログラムの開発を完了すると、クライアントメモリ部210には、アプリケーションプログラムの開発が完了されたアプリケーションソースコード212が記憶される(S402)。
アプリケーション開発者は、セキュリティタグ編集部220を利用し、アプリケーションソースコード212においてセキュリティが必要な特定関数に対してセキュリティタグを設定する(S404)。例えば、複数の関数を含むコンピュータプログラムのソースコードにおいて、アカウントの認証、パスワードの入力、決済関連、セキュリティ関連(ハッシュチェック、アンチデバッグなど)、暗号化・復号化、証明書の検証、商品の購入及び販売、初期化、サーバ通信、設定ファイル(セーブファイル)の読み書き、演算結果判定及びプログラム実行において保護が必要な重要な関数中、少なくとも一つ以上の関数にセキュリティタグを設定することができる。上記のような関数は、通常、周期的に繰り返して呼び出されるものではないという特性を持っていながらも、コンピュータプログラムを変更しようとする者たちには主要な関心の対象である。したがって、上記のような関数に対してのみ整合性を検証しても、有効性が非常に高く、整合性検証によるプログラムの実行性能の低下も最小化することができる。
セキュリティタグ検査部230は、セキュリティタグ適用ソースコード213でセキュリティタグをチェックして、セキュリティタグが検出されると、セキュリティタグに自動的にデバッガ用ライブラリをリンクさせる(S406)。
セキュリティ適用コンパイラ部240は、クライアントメモリ部210に記憶されたセキュリティタグが適用された関数を少なくとも一つ以上含むソースコードをコンパイルして、セキュリティタグ適用バイナリコード214を生成し(S408)、生成されたセキュリティタグ適用バイナリコード214は、クライアントメモリ部210に記憶される。
APK構成部250は、クライアントメモリ部210に記憶されたセキュリティタグ適用バイナリコード214とその他のリソースなどを合わせて、セキュリティタグ適用実行パッケージ216を構成し(S410)、構成されたセキュリティタグ適用実行パッケージ216は、クライアントメモリ部210に記憶される。
APKアップロード部260は、クライアントメモリ部210に記憶されたセキュリティタグ適用実行パッケージ216をクラウド装置150にアップロードする(S412)。
クラウドメモリ部310には、APKアップロード部260でアップロードされたセキュリティタグ適用実行パッケージ216が記憶され、APKパーシング部320は、APKファイルのセキュリティタグ適用実行パッケージ216をパーシングして、デバッガ用ライブラリを抽出する(S414)。
セキュリティライブラリ適用部330は、パーシングされたデバッガ用ライブラリを、セキュリティライブラリ提供部370から提供されたリリースセキュリティライブラリに切り替える(S416)。
ハッシュコード生成部340は、リリースセキュリティ適用バイナリコードのうち、セキュリティタグの適用された特定関数をハッシュ関数(MD5、SHA、Checksumなど)の入力とし、ハッシュコードを生成することができる(S418)。
また、ハッシュコード生成部340は、具現によって、プログラムの実行に必要な必須ファイル、アプリケーションファイルなどをハッシュ関数(MD5、SHA、Checksumなど)の入力とし、ファイル別にハッシュコードを生成して、生成されたファイル別のハッシュコードを含むハッシュレジストリを生成することができる。ユニティベースのアプリケーションにおいて、プログラムの実行に必要な必須ファイルは、例えばlibmono.so、libunity.so MonoSecurity.dll及びUnityEngine.dllなどである。
暗号化部350は、リリースセキュリティ適用バイナリコードのうち、セキュリティタグの適用された特定関数を、DES、AES、RSAなどのような暗号化アルゴリズムで、セキュリティライブラリ提供部370で提供された暗号化キーを用いて暗号化し(S420)、また、具現によって、暗号化部350は、動的ライブラリに対しても暗号化することができる。
APK再構成部360は、暗号化されたリリースセキュリティ適用バイナリコードとその他のリソースなどを合わせて、セキュリティ適用実行パッケージ(218)に再構成する(S422)。
APKダウンロード部270は、クラウド装置150からセキュリティ適用実行パッケージ218をダウンロードして(S424)、ダウンロードされたセキュリティ適用実行パッケージ218は、クライアントメモリ部210に記憶される。
図5は、図1に示されたユーザ端末装置の具体的なブロック図である。
クライアントメモリ部210に記憶されたセキュリティ適用実行パッケージ218は、ネットワーク部560やストレージメディアなどの流通手段を介してユーザ端末装置190の補助メモリ部540に記憶される。実行パッケージは、例えばゲームプログラムを実行すると、メインメモリ部520にロードされ、CPU510が実行する。ゲームプログラムの実行結果がディスプレイ部530に表示される。ゲームプログラムは、入力部550やネットワーク部560を介して新しい値の入力も可能である。
本発明の実施例によるユーザ端末装置190は、パーソナルコンピュータ(PC:Personal Computer)、ノートパソコン、タブレット、携帯情報端末(PDA:Personal Digital Assistant)、ゲームコンソール、ポータブルマルチメディアプレーヤー(PMP:Portable Multimedia Player)、プレイステーションポータブル(PSP:PlayStation Portable)、無線通信端末(Wireless Communication Terminal)、スマートフォン(Smart Phone)、TV、メディアプレーヤーなどのユーザ端末である。本発明の実施例によるユーザ端末装置190は、アプリケーションサーバやサービスサーバなどのサーバの端末である。本発明の実施例によるユーザ端末装置190は、それぞれ、(i)各種機器または有無線通信網との通信を行うための通信モデムなどの通信装置、(ii)プログラムを実行するためのデータを記憶するためのメモリ、(iii)プログラムを実行して、演算および制御するためのマイクロプロセッサなどを備える多様な装置を意味する。少なくとも一実施例によると、メモリは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、光ディスク、磁気ディスク、ソリッドステートディスク(Solid State Disk:SSD)などのコンピュータ読み取り可能な記録/記憶媒体である。少なくとも一実施例によると、マイクロプロセッサは、明細書に記載の動作と機能を1つ以上選択的に行うようにプログラムされる。
図6は、図5に示されたメインメモリにロードされたアプリケーションプログラム関連構成を示した図である。
図6には、メインメモリ部520にロードされて実行されているゲームプログラム610、セキュリティ適用バイナリ620、及び、セキュリティライブラリ630が示されている。セキュリティライブラリ630には、ハッシュ検証機能632、アンチデバッグ機能634、アンチダンプ機能638などのセキュリティ機能が例示されている。ゲームプログラムを実行すると、補助メモリ部540でゲームプログラムのバイナリがメインメモリ部520にロードされる。ゲームプログラムが実行されている間に、セキュリティ適用バイナリ620でセキュリティタグの設定された特定関数が呼び出されると、セキュリティライブラリ630の検証機能632、アンチデバッグ機能634、アンチダンプ機能638などが実行される。
図7は、本発明の一実施例によるアプリケーションが動的ライブラリに含まれたモジュールを呼び出す過程を示した図である。
クライアントメモリ部210に記憶されたセキュリティ適用実行パッケージ218は、ネットワーク部560やストレージメディアなどの配布手段を介して、ユーザ端末装置190の補助メモリ部540に保存される(S702)。
ゲームプログラムが駆動されると、CPU510は、セキュリティ適用実行パッケージ218のゲームプログラム610をメインメモリ部520にロードする(S704)。ゲームプログラム610の実行により、セキュリティライブラリ630がロードされて動作する(S706)。
セキュリティライブラリ630が動作してテンパリング(tempering)を検出すると(708)、ゲームプログラムは終了して、テンパリングが検出されないと、ゲームプログラムを動作させる(S710)。
以上の説明は、本実施例の技術思想を例示的に説明したものに過ぎなく、本実施例の属する技術分野で通常の知識を有する者であれば、本実施例の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能である。したがって、本実施例は、本実施例の技術思想を限定するためのものではなく説明するためのものであって、これらの実施例により、本実施例の技術思想の範囲が限定されるものではない。本実施例の保護範囲は、以下の請求の範囲によって解釈されるべきであり、その同等の範囲内にあるすべての技術思想は、本実施例の権利範囲に含まれるものと解釈されるべきである。
本願出願時の特許請求の範囲に記載された発明を以下に付記する。
[C1]
クライアント装置とクラウド装置とを含むセキュリティサービス提供システムにおける、クラウドベースのアプリケーションセキュリティサービスの提供方法であって、
前記クライアント装置において、アプリケーションソースをコンパイルしてバイナリを生成するバイナリ生成ステップと、
前記クライアント装置において、前記バイナリ生成ステップで生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成ステップと、
前記クライアント装置において、前記実行パッケージ構成ステップで構成された実行パッケージを前記クラウド装置にアップロードするアップロードステップと、
前記クラウド装置において、前記アップロードステップでアップロードされた実行パッケージを分解して、バイナリを抽出する実行パッケージ分解ステップと、
前記クラウド装置において、複数のセキュリティライブラリのいずれかのセキュリティライブラリを、前記実行パッケージ分解ステップで抽出されたバイナリに適用してセキュリティ適用バイナリを生成するセキュリティライブラリ適用ステップと、
前記クラウド装置において、前記セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリを含むセキュリティ適用実行パッケージを再構成する実行パッケージ再構成ステップと、
前記クライアント装置において、前記実行パッケージ再構成ステップで再構成されたセキュリティ適用実行パッケージをダウンロードするダウンロードステップと、
を含むことを特徴とする、クラウドベースのアプリケーションセキュリティサービスの提供方法。
[C2]
前記セキュリティライブラリには、整合性検証のためのハッシュ検証機能が含まれており、
前記クラウド装置において、前記セキュリティライブラリにおけるハッシュ検証機能のために、前記実行パッケージ分解ステップで抽出されたバイナリに対してハッシュコードを生成するハッシュコード生成ステップをさらに含むことを特徴とする、
[C1]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C3]
前記セキュリティライブラリには、前記ハッシュ検証機能のほかに、アンチデバッグ機能、アンチダンプ機能、またはアンチデバッグ機能及びダンプ機能が含まれていることを特徴とする、[C2]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C4]
前記クライアント装置において、前記バイナリ生成ステップの前に、前記アプリケーションソースの特定関数に対してセキュリティタグを設定する、セキュリティタグ設定ステップをさらに含むことを特徴とする、[C2]または[C3]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C5]
前記クライアント装置において、前記セキュリティタグ設定ステップで設定されたセキュリティタグが検出されると、自動的にセキュリティタグに関連したデバッガ用ライブラリをリンクさせるデバッガ用ライブラリリンクステップをさらに含むことを特徴とする、[C4]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C6]
前記実行パッケージ分解ステップは、前記アップロードステップでアップロードされた実行パッケージをパーシングし、デバッガ用ライブラリを抽出し、
前記セキュリティライブラリ適用ステップは、前記実行パッケージ分解ステップで抽出されたデバッガ用ライブラリを複数のセキュリティライブラリのいずれかのセキュリティライブラリに入れ替えて、セキュリティ適用バイナリを生成することを特徴とする、[C5]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C7]
前記ハッシュコード生成ステップは、前記実行パッケージ分解ステップで抽出されたバイナリにおいて、セキュリティタグの設定された特定関数に対してハッシュコードを生成することを特徴とする、[C6]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C8]
前記クラウド装置において、前記ハッシュコード生成ステップの後、前記セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリに対し、複数のセキュリティライブラリのいずれかのセキュリティライブラリに対応して提供された暗号化キーを用いて暗号化する暗号化ステップをさらに含むことを特徴とする、[C7]に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
[C9]
クライアント装置とクラウド装置とを含むセキュリティサービス提供システムにおけるクラウドベースのアプリケーションセキュリティサービスの提供方法であって、
前記クライアント装置において、アプリケーションソースをコンパイルしてバイナリを生成するバイナリ生成ステップと、
前記クラウド装置において、前記クライアント装置に複数のセキュリティライブラリのいずれかのセキュリティライブラリを提供するセキュリティライブラリ提供ステップと、
前記クライアント装置において、前記セキュリティライブラリ提供ステップで提供されたセキュリティライブラリを、前記バイナリ生成ステップで生成されたバイナリに適用し、セキュリティ適用バイナリを生成するセキュリティライブラリ適用ステップと、
を含むことを特徴とする、クラウドベースのアプリケーションセキュリティサービスの提供方法。
[C10]
クライアント装置とクラウド装置とを含むクラウドベースのアプリケーションセキュリティサービスの提供システムであって、
前記クライアント装置は、
アプリケーションソースをコンパイルしてバイナリを生成するコンパイラ部と、
前記コンパイラ部で生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成部と、
前記実行パッケージ構成部で構成された実行パッケージを前記クラウド装置にアップロードするアップロード部と、
前記クラウド装置からセキュリティの適用されたセキュリティ適用実行パッケージをダウンロードするダウンロード部と、
を含み、
前記クラウド装置は、
前記アップロード部でアップロードされた実行パッケージを分解してバイナリを抽出する実行パッケージ分解部と、
複数のセキュリティライブラリのいずれかのセキュリティライブラリを提供するセキュリティライブラリ提供部と、
前記セキュリティライブラリ提供部で提供されたセキュリティライブラリを、前記実行パッケージ分解部で抽出されたバイナリに適用し、セキュリティ適用バイナリを生成するセキュリティライブラリ適用部と、
前記セキュリティライブラリ適用部で生成されたセキュリティ適用バイナリを含む実行パッケージを再構成する実行パッケージ再構成部と、
を含む
ことを特徴とする、クラウドベースのアプリケーションセキュリティサービス提供システム。
[C11]
前記セキュリティライブラリには、整合性検証のためのハッシュ検証機能が含まれて、
前記クラウド装置は、前記セキュリティライブラリにおけるハッシュ検証機能のために、前記実行パッケージ分解部で抽出されたバイナリに対してハッシュコードを生成するハッシュコード生成部をさらに含むことを特徴とする、
[C10]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C12]
前記セキュリティライブラリには、前記ハッシュ検証機能のほかに、アンチデバッグ機能、アンチダンプ機能、またはアンチデバッグ機能及びダンプ機能が含まれていることを特徴とする、
[C11]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C13]
前記クライアント装置は、前記アプリケーションソースの特定関数に対してセキュリティタグを設定するセキュリティタグ編集部をさらに含むことを特徴とする、
[C11]または[C12]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C14]
前記クライアント装置は、前記セキュリティタグ編集部で設定されたセキュリティタグが検出されると、自動的にセキュリティタグに関連したデバッガ用ライブラリをリンクさせるセキュリティタグ検査部をさらに含むことを特徴とする、
[C13]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C15]
前記実行パッケージ分解部は、前記アップロード部でアップロードされた実行パッケージをパーシングして、デバッガ用ライブラリを抽出し、
前記セキュリティライブラリ適用部は、前記実行パッケージ分解部で抽出されたデバッガ用ライブラリを、前記セキュリティライブラリ提供部で提供されたセキュリティライブラリに入れ替えて、セキュリティ適用バイナリを生成する
ことを特徴とする、[C14]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C16]
前記ハッシュコード生成部は、前記実行パッケージ分解部で抽出されたバイナリにおいて、セキュリティタグの設定された特定関数に対してハッシュコードを生成することを特徴とする、
[C15]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C17]
前記クラウド装置は、前記セキュリティライブラリ適用部で生成されたセキュリティ適用バイナリに対して、前記セキュリティライブラリ提供部で提供されたセキュリティライブラリに対応して提供された暗号化キーを用いて暗号化する暗号化部をさらに含むことを特徴とする、
[C16]に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C18]
前記クライアント装置から提供されたセキュリティ適用実行パッケージをダウンロードしてアプリケーションを実行するユーザ端末装置をさらに含むことを特徴とする、
[C10]乃至[C12]のいずれかに記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
[C19]
クライアント装置とクラウド装置とを含む、クラウドベースのアプリケーションセキュリティサービス提供システムであって、
前記クラウド装置は、複数のセキュリティライブラリのいずれかのセキュリティライブラリを前記クライアント装置に提供するセキュリティライブラリ提供部を含み、
前記クライアント装置は、
アプリケーションソースをコンパイルしてバイナリを生成するコンパイラ部と、
前記クラウド装置から提供されたセキュリティライブラリを、前記コンパイラ部に生成されたバイナリに適用して、セキュリティ適用バイナリを生成するセキュリティライブラリ適用部と、
を含む
ことを特徴とする、クラウドベースのアプリケーションセキュリティサービス提供システム。

Claims (17)

  1. クライアント装置とクラウド装置とを含むセキュリティサービス提供システムにおける、クラウドベースのアプリケーションセキュリティサービスの提供方法であって、
    前記クライアント装置において、アプリケーションソースをコンパイルしてバイナリを生成するバイナリ生成ステップと、
    前記クライアント装置において、前記バイナリ生成ステップで生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成ステップと、
    前記クライアント装置において、前記実行パッケージ構成ステップで構成された実行パッケージを前記クラウド装置にアップロードするアップロードステップと、
    前記クラウド装置において、前記アップロードステップでアップロードされた実行パッケージを分解して、バイナリを抽出する実行パッケージ分解ステップと、
    前記クラウド装置において、複数のセキュリティライブラリのいずれかのセキュリティライブラリを、前記実行パッケージ分解ステップで抽出されたバイナリに適用してセキュリティ適用バイナリを生成するセキュリティライブラリ適用ステップと、
    前記クラウド装置において、前記セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリを含むセキュリティ適用実行パッケージを再構成する実行パッケージ再構成ステップと、
    前記クライアント装置において、前記実行パッケージ再構成ステップで再構成されたセキュリティ適用実行パッケージをダウンロードするダウンロードステップと、
    を含むことを特徴とする、クラウドベースのアプリケーションセキュリティサービスの提供方法。
  2. 前記セキュリティライブラリには、整合性検証のためのハッシュ検証機能が含まれており、
    前記クラウド装置において、前記セキュリティライブラリにおけるハッシュ検証機能のために、前記実行パッケージ分解ステップで抽出されたバイナリに対してハッシュコードを生成するハッシュコード生成ステップをさらに含むことを特徴とする、
    請求項1に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  3. 前記セキュリティライブラリには、前記ハッシュ検証機能のほかに、アンチデバッグ機能、アンチダンプ機能、またはアンチデバッグ機能及びアンチダンプ機能が含まれていることを特徴とする、請求項2に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  4. 前記クライアント装置において、前記バイナリ生成ステップの前に、前記アプリケーションソースの特定関数に対してセキュリティタグを設定する、セキュリティタグ設定ステップをさらに含むことを特徴とする、請求項2または3に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  5. 前記クライアント装置において、前記セキュリティタグ設定ステップで設定されたセキュリティタグが検出されると、自動的にセキュリティタグに関連したデバッガ用ライブラリをリンクさせるデバッガ用ライブラリリンクステップをさらに含むことを特徴とする、請求項4に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  6. 前記実行パッケージ分解ステップは、前記アップロードステップでアップロードされた実行パッケージをパーシングし、デバッガ用ライブラリを抽出し、
    前記セキュリティライブラリ適用ステップは、前記実行パッケージ分解ステップで抽出されたデバッガ用ライブラリを複数のセキュリティライブラリのいずれかのセキュリティライブラリに入れ替えて、セキュリティ適用バイナリを生成することを特徴とする、請求項5に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  7. 前記ハッシュコード生成ステップは、前記実行パッケージ分解ステップで抽出されたバイナリにおいて、セキュリティタグの設定された特定関数に対してハッシュコードを生成することを特徴とする、請求項6に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  8. 前記クラウド装置において、前記ハッシュコード生成ステップの後、前記セキュリティライブラリ適用ステップで生成されたセキュリティ適用バイナリに対し、複数のセキュリティライブラリのいずれかのセキュリティライブラリに対応して提供された暗号化キーを用いて暗号化する暗号化ステップをさらに含むことを特徴とする、請求項7に記載のクラウドベースのアプリケーションセキュリティサービスの提供方法。
  9. クライアント装置とクラウド装置とを含むクラウドベースのアプリケーションセキュリティサービスの提供システムであって、
    前記クライアント装置は、
    アプリケーションソースをコンパイルしてバイナリを生成するコンパイラ部と、
    前記コンパイラ部で生成されたバイナリを含む実行パッケージを構成する実行パッケージ構成部と、
    前記実行パッケージ構成部で構成された実行パッケージを前記クラウド装置にアップロードするアップロード部と、
    前記クラウド装置からセキュリティの適用されたセキュリティ適用実行パッケージをダウンロードするダウンロード部と、
    を含み、
    前記クラウド装置は、
    前記アップロード部でアップロードされた実行パッケージを分解してバイナリを抽出する実行パッケージ分解部と、
    複数のセキュリティライブラリのいずれかのセキュリティライブラリを提供するセキュリティライブラリ提供部と、
    前記セキュリティライブラリ提供部で提供されたセキュリティライブラリを、前記実行パッケージ分解部で抽出されたバイナリに適用し、セキュリティ適用バイナリを生成するセキュリティライブラリ適用部と、
    前記セキュリティライブラリ適用部で生成されたセキュリティ適用バイナリを含む実行パッケージを再構成する実行パッケージ再構成部と、
    を含む
    ことを特徴とする、クラウドベースのアプリケーションセキュリティサービス提供システム。
  10. 前記セキュリティライブラリには、整合性検証のためのハッシュ検証機能が含まれて、
    前記クラウド装置は、前記セキュリティライブラリにおけるハッシュ検証機能のために、前記実行パッケージ分解部で抽出されたバイナリに対してハッシュコードを生成するハッシュコード生成部をさらに含むことを特徴とする、
    請求項に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  11. 前記セキュリティライブラリには、前記ハッシュ検証機能のほかに、アンチデバッグ機能、アンチダンプ機能、またはアンチデバッグ機能及びアンチダンプ機能が含まれていることを特徴とする、
    請求項10に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  12. 前記クライアント装置は、前記アプリケーションソースの特定関数に対してセキュリティタグを設定するセキュリティタグ編集部をさらに含むことを特徴とする、
    請求項10または11に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  13. 前記クライアント装置は、前記セキュリティタグ編集部で設定されたセキュリティタグが検出されると、自動的にセキュリティタグに関連したデバッガ用ライブラリをリンクさせるセキュリティタグ検査部をさらに含むことを特徴とする、
    請求項12に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  14. 前記実行パッケージ分解部は、前記アップロード部でアップロードされた実行パッケージをパーシングして、デバッガ用ライブラリを抽出し、
    前記セキュリティライブラリ適用部は、前記実行パッケージ分解部で抽出されたデバッガ用ライブラリを、前記セキュリティライブラリ提供部で提供されたセキュリティライブラリに入れ替えて、セキュリティ適用バイナリを生成する
    ことを特徴とする、請求項13に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  15. 前記ハッシュコード生成部は、前記実行パッケージ分解部で抽出されたバイナリにおいて、セキュリティタグの設定された特定関数に対してハッシュコードを生成することを特徴とする、
    請求項14に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  16. 前記クラウド装置は、前記セキュリティライブラリ適用部で生成されたセキュリティ適用バイナリに対して、前記セキュリティライブラリ提供部で提供されたセキュリティライブラリに対応して提供された暗号化キーを用いて暗号化する暗号化部をさらに含むことを特徴とする、
    請求項15に記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
  17. 前記クライアント装置から提供されたセキュリティ適用実行パッケージをダウンロードしてアプリケーションを実行するユーザ端末装置をさらに含むことを特徴とする、
    請求項乃至11のいずれかに記載のクラウドベースのアプリケーションセキュリティサービス提供システム。
JP2017507698A 2014-08-13 2015-08-13 クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム Active JP6392446B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020140105445A KR101695639B1 (ko) 2014-08-13 2014-08-13 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
KR10-2014-0105445 2014-08-13
PCT/KR2015/008512 WO2016024838A1 (ko) 2014-08-13 2015-08-13 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
JP2017531236A JP2017531236A (ja) 2017-10-19
JP6392446B2 true JP6392446B2 (ja) 2018-09-19

Family

ID=55304383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017507698A Active JP6392446B2 (ja) 2014-08-13 2015-08-13 クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム

Country Status (5)

Country Link
US (1) US10296728B2 (ja)
JP (1) JP6392446B2 (ja)
KR (1) KR101695639B1 (ja)
CN (1) CN107077540B (ja)
WO (1) WO2016024838A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10255443B2 (en) 2016-02-11 2019-04-09 Line Corporation Method, apparatus, system and non-transitory computer readable medium for code protection
US10235218B2 (en) * 2016-05-03 2019-03-19 International Business Machines Corporation Automatic correction of cryptographic application program interfaces
CN106971098B (zh) * 2016-10-11 2020-06-02 阿里巴巴集团控股有限公司 一种防重打包的方法及其装置
US10776385B2 (en) 2016-12-02 2020-09-15 Vmware, Inc. Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases
US10873501B2 (en) * 2016-12-09 2020-12-22 Vmware, Inc. Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
KR102039380B1 (ko) * 2017-11-24 2019-11-01 (주)잉카엔트웍스 공유 오브젝트의 코드 보호를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법
US11055417B2 (en) 2018-04-17 2021-07-06 Oracle International Corporation High granularity application and data security in cloud environments
KR102156379B1 (ko) * 2020-03-19 2020-09-16 주식회사 이글루시큐리티 정보수집 프로세스를 통한 에이전트리스 방식 취약점 진단시스템 및 그 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7660985B2 (en) * 2003-04-30 2010-02-09 At&T Corp. Program security through stack segregation
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US8392910B1 (en) * 2007-04-10 2013-03-05 AT & T Intellectual Property II, LLP Stochastic method for program security using deferred linking
US8341751B2 (en) * 2007-12-26 2012-12-25 Wilson Kelce S Software license management
US8522015B2 (en) * 2008-06-27 2013-08-27 Microsoft Corporation Authentication of binaries in memory with proxy code execution
EP2430584B1 (en) * 2009-05-06 2019-11-13 Irdeto B.V. Interlocked binary protection using whitebox cryptography
US20120284696A1 (en) * 2009-12-21 2012-11-08 Nokia Corporation Method, Apparatuses and a System for Compilation
JP5735629B2 (ja) * 2010-03-31 2015-06-17 イルデト カナダ コーポレーション アプリケーションを保護するためのリンキングおよびローディング方法
US8549656B2 (en) * 2011-02-11 2013-10-01 Mocana Corporation Securing and managing apps on a device
US9396325B2 (en) * 2011-03-21 2016-07-19 Mocana Corporation Provisioning an app on a device and implementing a keystore
US9473485B2 (en) * 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
FR2981174B1 (fr) 2011-10-06 2013-12-20 Thales Sa Procede de creation dynamique d'un environnement d'execution d'une application pour securiser ladite application, produit programme d'ordinateur et appareil informatique associes
US8695060B2 (en) * 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
CN104040552B (zh) * 2011-12-29 2018-03-30 英特尔公司 安全地分发软件的方法、处理器、计算设备及安全地存储和执行应用的系统
KR20140090279A (ko) * 2012-12-10 2014-07-17 (주) 이노디에스 서비스 보안 인증 방법 및 이를 구현한 웹 애플리케이션 서버
KR20140077539A (ko) 2012-12-14 2014-06-24 삼성전자주식회사 애플리케이션 프로그램 보호 방법 및 장치
KR20140097927A (ko) 2013-01-30 2014-08-07 삼성전자주식회사 소프트웨어의 보안을 높이는 방법
US9355223B2 (en) * 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
CN103226673A (zh) * 2013-04-09 2013-07-31 四三九九网络股份有限公司 批量处理swf打散加密方法及装置
CN103327125A (zh) * 2013-07-15 2013-09-25 厦门金龙联合汽车工业有限公司 一种代码远程升级系统及其文件传输方法
US9961105B2 (en) * 2014-12-31 2018-05-01 Symantec Corporation Systems and methods for monitoring virtual networks

Also Published As

Publication number Publication date
KR101695639B1 (ko) 2017-01-16
US10296728B2 (en) 2019-05-21
CN107077540B (zh) 2019-12-31
KR20160020294A (ko) 2016-02-23
JP2017531236A (ja) 2017-10-19
WO2016024838A1 (ko) 2016-02-18
CN107077540A (zh) 2017-08-18
US20170242986A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
JP6392446B2 (ja) クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム
EP3518098B1 (en) Cross platform content management and distribution system
JP6490598B2 (ja) コンパイラベースの難読化
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
CN104680039B (zh) 一种应用程序安装包的数据保护方法及装置
US20180260199A1 (en) Method and apparatus for intermediate representation of applications
US10586026B2 (en) Simple obfuscation of text data in binary files
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
US9760736B2 (en) CPU obfuscation for cloud applications
KR101434860B1 (ko) 해시를 이용한 동적코드의 무결성 검증 방법
US20160275019A1 (en) Method and apparatus for protecting dynamic libraries
CN107273723B (zh) 一种基于so文件加壳的Android平台应用软件保护方法
CN104318155A (zh) 一种防逆向apk文件的动态加载方法
CN104408337A (zh) 一种apk文件防逆向的加固方法
CN114547558B (zh) 授权方法、授权控制方法及装置、设备和介质
KR101734663B1 (ko) 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치
CN107871066B (zh) 基于安卓系统的代码编译方法及装置
KR101667774B1 (ko) 스크립트 프로그램을 위한 보안 제공 장치 및 방법
KR101863325B1 (ko) 역공학 방지 방법 및 장치
JP2010244261A (ja) 情報処理装置、情報処理方法
TWI682296B (zh) 映像檔打包方法及映像檔打包系統
US11061998B2 (en) Apparatus and method for providing security and apparatus and method for executing security to protect code of shared object
US20160170862A1 (en) Obfuscating debugging filenames
JP2021005375A (ja) 難読化解除方法および装置
JP6215468B2 (ja) プログラム保護装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180822

R150 Certificate of patent or registration of utility model

Ref document number: 6392446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250