JP2014142960A - ブラウザベースの不正行為防止方法およびシステム - Google Patents

ブラウザベースの不正行為防止方法およびシステム Download PDF

Info

Publication number
JP2014142960A
JP2014142960A JP2014078105A JP2014078105A JP2014142960A JP 2014142960 A JP2014142960 A JP 2014142960A JP 2014078105 A JP2014078105 A JP 2014078105A JP 2014078105 A JP2014078105 A JP 2014078105A JP 2014142960 A JP2014142960 A JP 2014142960A
Authority
JP
Japan
Prior art keywords
browser
function
module
connection point
fraud prevention
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.)
Granted
Application number
JP2014078105A
Other languages
English (en)
Other versions
JP5863869B2 (ja
Inventor
Oh Hyun Kwon
オ ヒュン クォン
Hyoung-Juhn Kim
ヒョン ジュン キム
Changhwang Lee
チャン ファン イ
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.)
Naver Cloud Corp
Original Assignee
NHN Business Platform Corp
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
Application filed by NHN Business Platform Corp filed Critical NHN Business Platform Corp
Publication of JP2014142960A publication Critical patent/JP2014142960A/ja
Application granted granted Critical
Publication of JP5863869B2 publication Critical patent/JP5863869B2/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
    • 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
    • G06F21/54Monitoring 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 by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ブラウザベースの不正行為防止方法およびシステムが開示される。
【解決手段】ブラウザベースの不正行為防止方法は、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップと、アクセスが悪意のあるアクセスであると決定された場合、ブラウザ機能拡張モジュールによるアクセスを遮断するステップとを含む。インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出するステップは、ブラウザオブジェクトを用いて接続ポイントコンテナを獲得するステップと、接続ポイントコンテナに含まれた接続ポイントリストを確認するステップと、インターネットブラウザのイベントと関連する接続ポイントIDを用いて前記接続ポイントリストからイベントと関連する接続ポイントを検索するステップとを含む。
【選択図】図1

Description

本発明は、ブラウザベースの不正行為防止方法およびシステムに関し、インターネットブラウザにプラグインの形態で接続される悪意のあるブラウザ機能拡張モジュールを通じた様々な形態の不正行為を対処するためにブラウザ機能拡張モジュールの接続の遮断、HTML文書の獲得の防止、およびHTML文書の構成要素の獲得を無力化するブラウザベースの不正行為防止方法およびシステムに関する。
インターネットブラウザを介して多数のユーザがウェブサーフィンを行っている。ウェブサーフィンをするユーザの利便性のために、インターネットブラウザにブラウザ機能拡張モジュールをアドオン(add−on)して機能を拡張することがある。インターネットブラウザの機能を拡張するためのブラウザ機能拡張モジュールをインターネットブラウザに接続し、ブラウザ機能拡張モジュールによりインターネットブラウザの動作イベントやその他の様々な情報を獲得して操作してもよい。ところが、インターネットブラウザの機能拡張モジュールが悪意をもって用いられることによって、これを用いるデータや実行中のプログラムを変更、偽造するなどをするハッキングの問題が発生している。
このようなブラウザ機能拡張モジュールは容易に開発することができ、インターネットブラウザの機能を容易に制御することができるため悪意をもって用いられることも多い。このような悪意のあるブラウザ機能拡張モジュールを通じた不正行為(abuse)事例は多く、またさらに増加している。例えば、ブラウザ機能拡張モジュールを介してインターネットブラウザベースのキーワード送信によって、検索、ポータルサイトのリアルタイム検索語、関連検索語、サイト検索結果などが操作されることがある(検索不正行為)。また、ブラウザ機能拡張モジュールを介してインターネットブラウザのイベントを受けて入力値を先取してポップアップウィンドウを生成したり本来のウェブページ内容を変更、置換したりすることがある(広告不正行為)。そして、ブラウザ機能拡張モジュールがユーザの正常なクリックのように装った虚偽クリックを検索、ポータルサイトに送信することがある(クリック不正行為)。また、ブラウザ機能拡張モジュールが他のウェブページで用いるクッキー値を変更することがある(クッキー不正行為)。
したがって、インターネットブラウザの機能を拡張するためには、ブラウザ機能拡張モジュールが必要であるが、上記したブラウザ機能拡張モジュールの悪意のある使用による不正行為を防止するための様々な解決策が求められている。
本発明の目的は、ブラウザ機能拡張モジュールによる不正行為を防止するためのブラウザベースの不正行為防止方法およびシステムを提供することにある。
本発明の他の目的は、ブラウザオブジェクトの文書を獲得する関数を先取して、悪意のあるブラウザ機能拡張モジュールがブラウザオブジェクトによって文書を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供することにある。
本発明の更なる目的は、ブラウザオブジェクトの文書の構成要素を獲得する関数を先取して、悪意のあるブラウザ機能拡張モジュールがブラウザオブジェクトによって文書の構成要素を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供することにある。
本発明の更なる目的は、ウィンドウメッセージを処理するウィンドウプロシージャ関数を先取して、ウィンドウメッセージによって文書を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供する。
本発明の更なる目的は、インターネットブラウザに接続されたブラウザ機能拡張モジュールのうち不正なモジュールからの接続を遮断することによって、不正行為を防止するブラウザベースの不正行為防止方法およびシステムを提供することにある。
本発明の一実施形態に係るブラウザベースの不正行為防止方法は、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップと、前記アクセスが悪意のあるアクセスであると判断された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断するステップとを含んでもよい。
本発明の一側面によると、前記アクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップは、前記インターネットブラウザのデータを獲得できるオリジナルの関数を新しく定義した新規関数に置換するステップと、前記ブラウザ機能拡張モジュールを介して新規関数が呼び出されると、前記新規関数を呼び出した対象を確認するステップと、前記新規関数を呼び出した対象が安全であるか否かを判断するステップとを含んでもよい。
本発明の一側面によると、前記オリジナルの関数を新しく定義した新規関数に置換するステップは、前記インターネットブラウザのブラウザオブジェクトと関連する関数のアドレス情報を獲得するステップと、前記オリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップするステップと、前記オリジナルの関数と形式が同一の前記新規関数を宣言するステップと、前記宣言された新規関数のアドレスを前記オリジナルの関数の位置に記録するステップとを含んでもよい。
本発明の一側面によると、前記オリジナルの関数を新しく定義した新規関数に置換するステップは、前記インターネットブラウザにおけるメインウィンドウを決定するステップと、前記メインウィンドウを基準にして前記インターネットブラウザにおけるビューウィンドウを決定するステップと、前記インターネットブラウザに送信されたメッセージを処理する前記ビューウィンドウのオリジナルのウィンドウプロシージャ関数を新規ウィンドウプロシージャ関数に置換するステップとを含んでもよい。
本発明の一側面によると、前記アクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップは、前記インターネットブラウザのブラウザオブジェクトによって前記インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出するステップと、前記抽出されたインターネットブラウザの接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールを確認するステップと、前記確認されたブラウザ機能拡張モジュールが安全であるか否かを判断するステップとを含んでもよい。
本発明の一実施形態に係るブラウザベースの不正行為防止システムは、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断する不正行為判断部と、前記アクセスが悪意のあるアクセスであると判断された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断する不正行為遮断部とを備えてもよい。
本発明によると、ブラウザ機能拡張モジュールによる不正行為を防止するためのブラウザベースの不正行為防止方法およびシステムを提供することができる。
本発明によると、ブラウザオブジェクトの文書を獲得する関数を先取して、悪意のあるブラウザ機能拡張モジュールがブラウザオブジェクトによって文書を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供することができる。
本発明によると、ブラウザオブジェクトの文書の構成要素を獲得する関数を先取して、悪意のあるブラウザ機能拡張モジュールがブラウザオブジェクトによって文書の構成要素を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供することができる。
本発明によると、ウィンドウメッセージを処理するウィンドウプロシージャ関数を先取して、ウィンドウメッセージによって文書を獲得することを防止するブラウザベースの不正行為防止方法およびシステムを提供することができる。
本発明によると、インターネットブラウザに接続されたブラウザ機能拡張モジュールのうち不正なモジュールからの接続を遮断することによって、不正行為を防止するブラウザベースの不正行為防止方法およびシステムを提供することができる。
本発明の一実施形態に係るブラウザベースの不正行為防止方法における全体的な過程を説明するための図である。 本発明の一実施形態において、関数置換によってブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであるかを判断する過程を示す図である。 本発明の一実施形態において、文書および文書の構成要素を獲得する関数を置換する過程を示す図である。 本発明の一実施形態において、文書および文書の構成要素を獲得するオリジナルの関数に対する不正行為を防止する過程を説明するための図である。 本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルのウィンドウプロシージャ関数を置換する過程を示す図である。 本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルの関数に対する不正行為を防止する過程を説明するための図である。 本発明の一実施形態において、接続ポイントを通じたブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであるかを判断する過程を示す図である。 本発明の一実施形態において、インターネットブラウザの接続ポイントを抽出する過程を示す図である。 本発明の一実施形態において、接続ポイントに接続された悪意のあるブラウザ機能拡張モジュールを通じた不正行為を防止する過程を説明するための図である。 本発明の一実施形態に係る関数置換を用いるブラウザベースの不正行為防止システムの全体構成を示す図である。 本発明の一実施形態において、文書または文書の構成要素を獲得するオリジナルの関数を置換する関数置換部を具体的に示す図である。 本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルの関数を置換する関数置換部を具体的に示す図である。 本発明の一実施形態において、接続ポイントを通じた不正行為を防止する不正行為判断部を具体的に示す図である。
以下、添付の図面に記載された内容を参照して本発明に係る実施形態を詳説する。ただし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示された同一の参照符号は同一の部材を示す。ブラウザベースの不正行為防止方法は、ブラウザベースの不正行為防止システムによって行われてもよい。ここで、ブラウザベースの不正行為防止システムは、不正行為防止モジュールにより代替してもよい。
図1は、本発明の一実施形態に係るブラウザベースの不正行為防止方法における全体的な過程を説明するための図である。
図1を参照すると、インターネットブラウジングは、ウェブサーバ101とクライアント102との間のモデルにより実現されてもよい。ここで、インターネットブラウザ103は、文書を解釈してクライアント102に提供する機能を果たしてもよい。
例えば、クライアント102はウェブサーバ101に接続して情報を要求してもよく、サーバ101は要求された情報を検索してクライアント102に送信してもよい。ここで、インターネットブラウザ103を介してサーバ101が送信した情報をユーザに提供してもよい。
ここで、インターネットブラウザ103の機能を拡張させるためにブラウザ機能拡張モジュールを用いてもよい。ここで、ブラウザ機能拡張モジュールは、インターネットブラウザにアドオン(Add−On)形態で接続されてメモリ上にロードされるプログラムであってもよい。一例として、インターネットブラウザ103がインターネットエクスプローラである場合、ブラウザ機能拡張モジュールは、ブラウザヘルパーオブジェクト(BHO:Browser Helper Object)であってもよい。インターネットブラウザ103が動作すると、インターネットブラウザ103は、接続されたブラウザ機能拡張モジュール104−1、104−2、104−3をメモリ上にロードしてもよい。ここで、ブラウザ機能拡張モジュール104−1、104−2、104−3は、インターネットブラウザ103と同一のメモリにロードしてもよい。このようなブラウザ機能拡張モジュールは他のインターネットブラウザに適用されてもよい。
例えば、インターネットブラウザ103がインターネットエクスプローラである場合、ブラウザ機能拡張モジュールは、インターネットエクスプローラそのものを示すオブジェクトであるIWebBrowser2をインターネットブラウザ103から提供されてもよい。これによって、ブラウザ機能拡張モジュール104−1、104−2、104−3は、IWebBrowser2を介してインターネットブラウザ103の典型的なイベントを検出し、ブラウザで発生するメッセージを監視してもよい。このようなブラウザ機能拡張モジュール104−1、104−2、104−3は、インターネットブラウザ103に接続されてインターネットブラウザ103を制御してもよく、またこれらのモジュールは容易に開発することができる。一方、ブラウザ機能拡張モジュール104−1、104−2、104−3は悪意のある使用のため開発されることがあり、この場合、ブラウザ機能拡張モジュールの強力な機能により様々な形態の不正行為が行われている。
本発明の一実施形態に係る不正行為防止モジュール105は、ブラウザ機能拡張モジュール104−1、104−2、104−3のようにアドオン(Add−on)形態のプログラムでインターネットブラウザ103に接続してもよい。不正行為防止モジュール105は、悪意のあるブラウザ機能拡張モジュールの不正行為を遮断することができる。
一例として、不正行為防止モジュール105は、ブラウザ機能拡張モジュール104−1、104−2、104−3の不正行為を次のように遮断してもよい。
ステップS101において、不正行為防止モジュール105は、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断してもよい。一例として、ブラウザ機能拡張モジュールによるアクセスは、ブラウザ機能拡張モジュールがインターネットブラウザに接続されてインターネットブラウザを制御しようとするアクセスを含んでもよい。または、ブラウザ機能拡張モジュールによるアクセスは、ブラウザ機能拡張モジュールが関数呼出またはメッセージ送信によってインターネットブラウザのデータを獲得しようとするアクセスを含んでもよい。前述した一例のみならず、ブラウザ機能拡張モジュールによるアクセスは様々な形態であってもよい。
ステップS102において、不正行為防止モジュール105は、ブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであると決定された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断してもよい。すなわち、不正行為防止モジュール105は、悪意のあるブラウザ機能拡張モジュールがインターネットブラウザに接続することを遮断して不正行為を防止したり、またはインターネットブラウザのデータの獲得を遮断して不正行為を防止したりすることができる。
図2〜図9を参照してブラウザ機能拡張モジュールによる様々な形態の不正行為を防止する技術について説明する。一例として、本発明の一実施形態に係るブラウザベース不正行為方法は、不正行為防止モジュールによって実現されてもよい。
ここで、不正行為防止モジュールはブラウザ機能拡張モジュールであってもよい。不正行為防止モジュールは、インターネットブラウザに接続されて不正行為を行う悪意のあるブラウザ機能拡張モジュールのアクセスを遮断してもよい。以下において、ブラウザベース不正行為方法は不正行為防止モジュールを例として説明される。
図2は、本発明の一実施形態において、関数置換によってブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであるかを判断する過程を示す図である。
図2を参照して、インターネットブラウザのデータを獲得できるオリジナルの関数を予め先取して、悪意のあるブラウザ機能拡張モジュールがオリジナルの関数を呼び出すことを防止する方法を具体的に説明する。ここで、オリジナルの関数は、インターネットブラウザを介して表示される文書を獲得したり、または文書の構成要素を獲得したりできる関数を含んでもよい。すなわち、オリジナルの関数は、インターネットブラウザにおけるHTMLオブジェクトを獲得する関数であってもよい。
図2に示すように、ブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであるかを判断するステップS101は、ステップS201、ステップS202およびステップS203を含んでもよい。
ステップS201において、不正行為防止モジュールは、インターネットブラウザのデータを獲得できるオリジナルの関数を新しく定義した新規関数に置換してもよい。ここで、不正行為防止モジュールは、インターネットブラウザのデータを獲得できる関数におけるオリジナルの関数をフック関数である新規関数に置換することによって、オリジナルの関数を先取してもよい。ここで、フック関数はオリジナルの関数と同一の形式を表してもよい。
言い換えれば、不正行為防止モジュールは、予めオリジナルの関数を先取して悪意のあるブラウザ機能拡張モジュールによるオリジナルの関数の呼び出しを予め防止することができる。これによって、ブラウザ機能拡張モジュールはオリジナルの関数を呼び出そうとする意図は有するものの、不正行為防止モジュールによって置換されたフック関数を呼び出すことになる。オリジナルの関数をフック関数の新規関数に置換する具体的な過程について、図3および図5を参照して説明する。
ステップS202において、ブラウザ機能拡張モジュールを介して新規関数が呼び出されると、不正行為防止モジュールは、前記新規関数を呼び出した対象を確認してもよい。一例として、ブラウザ機能拡張モジュールがフック関数の新規関数を呼び出した場合、不正行為防止モジュールは、新規関数を呼び出したブラウザ機能拡張モジュールがいかなるモジュールであるかを確認してもよい。
一例として、ブラウザ機能拡張モジュールは、新規関数がリターンされるアドレスに位置するブラウザ機能拡張モジュールの情報から、新規関数を呼び出したブラウザ機能拡張モジュールを確認してもよい。
ステップS201において、不正行為防止モジュールは新規関数を呼び出した対象が安全であるか否かを判断してもよい。
一例として、新規関数を呼び出した対象がブラウザ機能拡張モジュールである場合、不正行為防止モジュールは、インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリストを用いてブラウザ機能拡張モジュールが安全であるか否かを判断してもよい。ここで、新規関数を呼び出したブラウザ機能拡張モジュールがインターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリストに存在する場合、不正行為防止モジュールはブラウザ機能拡張モジュールを安全なモジュールと判断してもよい。
図3は、本発明の一実施形態において、文書および文書の構成要素を獲得する関数を置換する過程を示す図である。
図3は、インターネットブラウザがHTML方式の文書をユーザに提供する際に、不正行為モジュールが文書または文書の構成要素をユーザへの提供前に先取して前記文書を変更、修正する不正行為を防止する過程を示している。以下は、HTML方式の文書に対して説明するが、文書はHTMLの他に異なる形式の言語で構成されたものを含んでもよい。
図3に示すように、オリジナルの関数を新規関数に置換するステップS201は、ステップS301、ステップS303、ステップS303、およびステップS304を含んでもよい。
ステップS301において、不正行為防止モジュールは、インターネットブラウザのブラウザオブジェクトと関連する関数のアドレス情報を獲得してもよい。一例として、不正行為防止モジュールは、インターネットブラウザのブラウザオブジェクトと関連する関数のアドレスが格納された仮想関数テーブル(virtual function table)を獲得してもよい。
ここで、ブラウザオブジェクトは、予めビルド(build)されたバイナリ形態のCOM(Component Object Model)ベースのオブジェクトを含んでもよい。COMベースのオブジェクトは、予めビルドされてバイナリ形態になったオブジェクトを呼び出して用いることを保障してもよく、オブジェクトの再使用も保障してもよい。
例えば、インターネットブラウザがインターネットエクスプローラであり、ブラウザオブジェクトがIWebBrowser2オブジェクトである場合、ブラウザベースの不正行為防止方法は、HTML文書を獲得することを遮断するためのものといえる。IWebBrowser2オブジェクトは、インターネットブラウザごとに有している固有なオブジェクトであってもよい。すなわち、IWebBrowser2オブジェクトは、インターネットブラウザそのものを表すものともいえる。ここで、IWebBrowser2オブジェクトは、特定のウェブページをナビゲータするようにインターネットブラウザに命令することで、インターネットブラウザを制御してもよい。そして、IWebBrowser2オブジェクトは、現在のウェブページのHTML文書を獲得してHTML文書内容を参照したり修正したりしてもよい。
このようなIWebBrowser2オブジェクトは、インターネットブラウザがロードされたブラウザ機能拡張モジュールに提供するオブジェクトである。すなわち、悪意のあるブラウザ機能拡張モジュール(不正行為モジュール)は、インターネットブラウザからIWebBrowser2オブジェクトが提供されることによって、インターネットブラウザが見せる現在のウェブサイトのHTML文書を獲得して操作したり変更したりすることがある。ここで、不正行為防止モジュールは、不正行為モジュールがIWebBrowser2オブジェクトによってHTML文書を獲得することを防止するものといえる。
他の一例として、不正行為モジュールが獲得しようとするブラウザオブジェクトがHTMLインタフェースオブジェクトである場合、不正行為防止モジュールは、HTML文書の構成要素を獲得することを遮断する。ただし、HTML文書の構成要素を獲得することが全て悪意によるものとも言えないため、不正行為防止モジュールは不正行為事例と関連する特定関数だけを先取する。
例えば、インターネットエクスプローラにおけるIHTMLInputElementオブジェクトのget_value関数は、ポータルサイト検索ウィンドウの検索語を獲得することによって、検索者が入力する検索語を変更する不正行為に用いられることがある。また、IHTMLDocument3オブジェクトのgetElementByNameとgetElementsByTagName関数は、HTML文書の特定の構成要素を獲得してウェブページを変更する不正行為に用いられることがある。そして、IHTMLDocument3オブジェクトのget_Images関数は、HTML文書のイメージを獲得して他のイメージに変更する不正行為に用いられることがある。このような不正行為に用いられる文書の構成要素を獲得する関数の種類は制限されない。
ここで、COMベースのオブジェクトは仮想関数テーブルを有してもよい。仮想関数テーブルは、ブラウザオブジェクトの関数におけるアドレスを格納してもよい。具体的に、仮想関数テーブルは、オブジェクトから外部に提供する関数のアドレスを格納してもよい。ここで、COMベースのオブジェクトが提供する関数のアドレスは一定の順に仮想関数テーブルに格納されてもよい。もし、COMベースのオブジェクトの関数を呼び出すためにブラウザ機能拡張モジュールは、仮想関数テーブルを介して確認した該当関数のアドレスを用いて関数を呼び出してもよい。
ステップS302において、不正行為防止モジュールは、オリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップしてもよい。一例として、不正行為防止モジュールは、仮想関数テーブルを用いて先取しようとするオリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップしてもよい。
ここで、オリジナルの関数は、インターネットブラウザを介して文書を獲得する関数または文書の特定の構成要素を獲得する関数のうちのいずれかであってもよい。一例として、文書を獲得する関数はIWebBrowser2オブジェクトのget_Document関数であってもよい。get_Document関数は、現在のインターネットブラウザのHTML文書を獲得して不正行為に用いられることがある。したがって、この場合、ブラウザベースの不正行為防止方法とは、get_Document関数の呼び出しを防止するためにget_Document関数をフッキングして先取する方法である。
また、一例として、文書の特定の構成要素を獲得する関数は、IHTMLInputElementオブジェクトのget_value関数、IHTMLDocument2オブジェクトのgetElementByNameとgetElementsByTagName関数、またはIHTMLDocument2オブジェクトのget_Images関数であってもよい。
COMベースオブジェクトは提供する関数の順序が一定であるため、前記関数の順序に応じて仮想関数テーブルのオリジナルの関数の位置が決定されてもよい。例えば、OLEViewのようなプログラムによって仮想関数テーブル上のIWebBrowser2オブジェクトの関数の順序を確認してもよい。
オリジナルの関数のアドレスが確認されると、不正行為防止モジュールは、仮想関数テーブル上のオリジナルの関数の位置にあるアドレスを別に格納してバックアップしてもよい。すなわち、オリジナルの関数が特定のブラウザ機能拡張モジュールによって呼び出されたときに、不正行為防止モジュールはオリジナルの関数の呼び出しを無条件には遮断しない。すなわち、オリジナルの関数を呼び出したブラウザ機能拡張モジュールが安全なモジュールである場合、オリジナルの関数を呼び出すために不正行為防止モジュールはオリジナルの関数のアドレスを別に格納してもよい。
ステップS303において、不正行為防止モジュールはオリジナルの関数と形式が同一の新規関数を宣言してもよい。ここで、新規関数はオリジナルの関数を先取するためのフック関数であってもよい。
ステップS304において、不正行為防止モジュールは、宣言された新規関数のアドレスを仮想関数テーブルのオリジナルの関数の位置に記録してもよい。すなわち、不正行為防止モジュールは、オリジナルの関数を予め先取して仮想関数テーブルのオリジナルの関数の位置にフック関数のアドレスを記録することによって、ブラウザ機能拡張モジュールがオリジナルの関数を呼び出す場合、フック関数を呼び出すように誘導してもよい。
図4は、本発明の一実施形態において、文書および文書の構成要素を獲得するオリジナルの関数に対する不正行為を防止する過程を説明するための図である。
図4は、ブラウザオブジェクト401における仮想関数テーブル402を示している。ここで、不正行為防止モジュール403は、本発明の一実施形態に係るブラウザベースの不正行為防止方法を行なってもよい。そして、ブラウザ機能拡張モジュール404は、不正行為防止モジュール403と他のモジュールを意味する。ここで、不正行為防止モジュール403は、ブラウザ機能を拡張するモジュールの一種である。
不正行為防止モジュール403は、インターネットブラウザのブラウザオブジェクトに関連する関数のアドレス情報を獲得してもよい。ここで、不正行為防止モジュール403は、インターネットブラウザのブラウザオブジェクトに関連する関数のアドレスを格納する仮想関数テーブル402を獲得してもよい。一例として、ブラウザオブジェクト401は、COMベースのオブジェクトであってもよい。COMベースのオブジェクトに対して、仮想関数テーブル402における関数の順序が一定であってもよい。すなわち、仮想関数テーブル402における関数それぞれの位置は一定であってもよい。
不正行為防止モジュール403は、仮想関数テーブル402を参照してオリジナルの関数の位置に対応するアドレスを探してもよい。ここで、オリジナルの関数は、不正行為防止モジュール403が先取しようとする関数であり、インターネットブラウザを介して表示される文書を獲得する関数または文書の特定の構成要素を獲得する関数を含んでもよい。
不正行為防止モジュール403は、オリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップしてもよい。正常なモジュールがオリジナルの関数を呼び出す時、不正行為防止モジュール403は、バックアップしたオリジナルの関数のアドレスを介してオリジナルの関数を呼び出してもよい。
不正行為防止モジュール403はオリジナルの関数と形式が同一の新規関数を宣言し、宣言された新規関数のアドレスを仮想関数テーブル402のオリジナルの関数の位置に記録してもよい。ここで、新規関数はオリジナルの関数を先取するためのフック関数を意味する。
結果的に、図4から分かるように、不正行為防止モジュール403は、仮想関数テーブル402内でオリジナルの関数の位置においてオリジナルの関数のアドレスをフック関数のアドレスに置換してもよい。
その後、ブラウザ機能拡張モジュール404は、仮想関数テーブル402のオリジナルの関数の位置に記録されたフック関数のアドレスを参照してフック関数を呼び出してもよい。ここで、ブラウザ機能拡張モジュール404の目的はオリジナルの関数を呼び出すことにある。しかし、既に不正行為防止モジュール403によってオリジナルの関数がフック関数に置換されているため、ブラウザ機能拡張モジュール404はオリジナルの関数の位置に記録されたフック関数のアドレスによってフック関数を呼び出してもよい。
これによって、不正行為防止モジュール403は、フック関数を呼び出したブラウザ機能拡張モジュールを確認してもよい。ここで、フック関数が呼び出された時、不正行為防止モジュール403は、フック関数のうちフック関数がリターンされるアドレスに位置したブラウザ機能拡張モジュールの情報を用いてフック関数を呼び出したブラウザ機能拡張モジュールを確認してもよい。
そして、不正行為防止モジュール403は、フック関数を呼び出したモジュールが正常なモジュールであるか判断してもよい。ここで、不正行為防止モジュール403は、インターネットブラウザに用いられる正常なモジュールについてのリストであるホワイトリスト(white list)にフック関数を呼び出したモジュールが存在する場合、前記モジュールを正常なモジュールとして判断してもよい。
もし、フック関数を呼び出したブラウザ機能拡張モジュール404が正常なモジュールである場合、不正行為防止モジュール403は、バックアップしたオリジナルの関数を呼び出してもよい。ここで、オリジナルの関数は、文書を獲得する関数または文書の特定の構成要素を獲得する関数であり、インターネットブラウザのデータを獲得できる関数を意味する。反対に、もし、フック関数を呼び出したブラウザ機能拡張モジュール404が不正な悪意のあるモジュールである場合、不正行為防止モジュール403は、予めバックアップしたオリジナルの関数に対する呼び出しを遮断してもよい。結果的に、不正行為防止モジュール403は、悪意のあるブラウザ機能拡張モジュール404が新規関数を呼び出そうとするアクセスを遮断することによって、不正行為を防止することができる。
図5は、本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルのウィンドウプロシージャ関数を置換する過程を示す図である。
ブラウザ機能拡張モジュールを介して文書を獲得するためのオブジェクトのウィンドウメッセージがインターネットブラウザに送信されると、インターネットブラウザは現在閲覧できるHTML文書(HTMLオブジェクト)を提供してもよい。すなわち、図5に示すブラウザベースの不正行為防止方法は、ウィンドウメッセージによって文書を獲得し、これを修正および変更する不正行為を防止することができる。
図5に示しているように、オリジナルの関数を新規関数に置換するステップS201は、ステップS501、ステップS502、およびステップS503を含んでもよい。
ステップS501において、不正行為防止モジュールは、インターネットブラウザにおけるメインウィンドウを決定してもよい。一例として、不正行為防止モジュールは、インターネットブラウザのブラウザオブジェクトが提供する関数を呼び出してメインウィンドウを決定してもよい。例えば、不正行為防止モジュールは、IWebBrowser2オブジェクトまたはCreateWindowEx関数のAPI−Hookを通じてインターネットブラウザにおけるメインウィンドウのハンドル(handle)を求めてもよい。ここで、ブラウザオブジェクトは、インターネットブラウザがブラウザ機能拡張モジュールをロードする際に、インターネットブラウザがブラウザ機能拡張モジュールに提供するオブジェクトであってもよい。そして、メインウィンドウのハンドルはウィンドウを識別するための番号を意味する。
ステップS502において、不正行為防止モジュールは、メインウィンドウを基準にしてインターネットブラウザにおけるビューウィンドウを決定してもよい。一例として、不正行為防止モジュールは、インターネットブラウザのバージョンに応じたウィンドウ構造を参照してビューウィンドウを決定してもよい。インターネットブラウザのウィンドウ構造はバージョン別に異なる形態のため、不正行為防止モジュールは、バージョンに応じたインターネットブラウザのウィンドウ構造を調査してもよい。
ここで、ビューウィンドウとは、インターネットブラウザにおいて実際にページが見える位置にあるウィンドウを意味する。すなわち、ビューウィンドウは、インターネットブラウザ上に存在する複数のウィンドウのうち、ユーザが実際に見えるアクティブなウィンドウを意味する。
ステップS503において、不正行為防止モジュールは、インターネットブラウザに送信されたメッセージを処理するビューウィンドウのオリジナルのウィンドウプロシージャ関数を新規ウィンドウプロシージャ関数に置換してもよい。例えば、不正行為防止モジュールは、SetWindowLong関数を介してウィンドウプロシージャ関数を置換する過程を行なってもよい。
一例として、新規ウィンドウプロシージャ関数に置換する過程は、ビューウィンドウのオリジナルのウィンドウプロシージャ関数の変更の有無を確認する過程、オリジナルのウィンドウプロシージャ関数が変更されていない場合、ビューウィンドウのオリジナルのウィンドウプロシージャ関数のアドレスを格納してバックアップする過程およびオリジナルのウィンドウプロシージャ関数のアドレスを前記新規ウィンドウプロシージャ関数のアドレスに変更する過程を含んでもよい。
一例として、ビューウィンドウのオリジナルのウィンドウプロシージャ関数の変更の有無を確認する過程は次のような過程により行なわれてもよい。まず、不正行為防止モジュールは、ビューウィンドウのオリジナルのウィンドウプロシージャ関数のアドレスを求める。そして、不正行為防止モジュールは、該当のプロシージャ関数が位置したブラウザ機能拡張モジュールの経路を検索してもよい。ここで、不正行為防止モジュールは、プロシージャ関数がいずれのモジュールに位置しているかをメモリによって確認してもよい。
不正行為防止モジュールは、検索したブラウザ機能拡張モジュールの経路を基準にしてブラウザ機能拡張モジュールを確認してもよい。ここで、確認したブラウザ機能拡張モジュールがインターネットブラウザと関連するモジュール(例えば、インターネットブラウザがインターネットエクスプローラである場合、IEFrame.dll、mshtml.dllなどを含む)ではない場合、不正行為防止モジュールは、他のブラウザ機能拡張モジュールによってビューウィンドウのオリジナルのウィンドウプロシージャ関数が変更されたと判断してもよい。
図6は、本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルの関数に対する不正行為を防止する過程を説明するための図である。
図6に示すように、インターネットブラウザは、メインウィンドウ601にウィンドウ605を含んでもよい。ウィンドウ605は複数であってもよい。そして、ウィンドウ605ごとにウィンドウプロシージャ関数606が存在してもよい。ウィンドウ605のうちユーザがインターネットブラウザを介して現在見られるウィンドウがビューウィンドウ602であると定義されてもよい。ウィンドウメッセージ604がウィンドウに送信される場合、ウィンドウプロシージャ関数は自動で呼び出されてメッセージを処理してもよい。
不正行為防止モジュールは、インターネットブラウザにおけるメインウィンドウを決定してもよい。ここで、不正行為防止モジュールは、インターネットブラウザのブラウザオブジェクトが提供する関数を用いてメインウィンドウを決定してもよい。そして、不正行為防止モジュールは、メインウィンドウ601を基準にしてインターネットブラウザにおけるビューウィンドウ602を決定してもよい。ここで、不正行為防止モジュールは、インターネットブラウザのバージョンに応じたウィンドウ構造を参照してビューウィンドウを決定してもよい。
これによって、不正行為防止モジュールは、ビューウィンドウ602のオリジナルのウィンドウプロシージャ関数603を新規ウィンドウプロシージャ関数に置換してもよい。ここで、オリジナルのウィンドウプロシージャ関数603のアドレスは、呼出のために別に格納されてもよい。すなわち、文書を獲得するためのオブジェクトについてのウィンドウメッセージ604がウィンドウに送信される場合これを遮断する必要があるため、不正行為防止モジュールは、オリジナルのウィンドウプロシージャ関数603をウィンドウメッセージ604をフッキングできる新規ウィンドウプロシージャ関数に置換してもよい。
ここで、不正行為防止モジュールは、ビューウィンドウ602のオリジナルのウィンドウプロシージャ関数603の変更の有無を確認し、変更されていなければ、オリジナルのウィンドウプロシージャ関数603のアドレスを格納してバックアップしてもよい。これによって、不正行為防止モジュールは、オリジナルのウィンドウプロシージャ関数603のアドレスを新規ウィンドウプロシージャ関数のアドレスに変更してもよい。このような過程によって、不正行為防止モジュールはオリジナルのウィンドウプロシージャ関数603を予め先取することができる。
インターネットブラウザは、ウィンドウプロシージャ関数を介してインターネットブラウザに送信されたウィンドウメッセージ604を処理してもよい。ここで、ビューウィンドウ602についてのウィンドウメッセージ604が送信されると、オリジナルのウィンドウプロシージャ関数603が呼び出されることなく、置換された新規ウィンドウプロシージャ関数は自動で呼び出される。
その後、ビューウィンドウについてのウィンドウメッセージ604が発生すると、不正行為防止モジュールは、ウィンドウメッセージ604が文書を獲得するためのオブジェクトのメッセージであるかを判断してもよい。
一例として、不正行為防止モジュールは、文書を獲得するためのオブジェクトのウィンドウメッセージ604についてのメッセージ値を確認する過程および発生したウィンドウメッセージ604のメッセージ値と前記確認されたオブジェクトのメッセージについてのメッセージ値を比較する過程を含んでもよい。
ここで、文書を獲得するためのオブジェクトについてのメッセージはウィンドウの基本メッセージではないため、不正行為防止モジュールは文書を獲得するためのオブジェクトについてのメッセージをユーザ定義メッセージとして登録して生成してもよい。既に文書を獲得するためのオブジェクトについてのメッセージが生成された場合、不正行為防止モジュールは、ウィンドウメッセージ604のメッセージ値を直ちに確認してもよい。そして、生成の前であれば、不正行為防止モジュールは文書を獲得するためのオブジェクトについてのメッセージを生成してメッセージ値を獲得してもよい。例えば、文書を獲得するためのオブジェクトについてのメッセージは、RegisterWindowMessage関数を介して生成されてもよい。
もし、ウィンドウメッセージ604が文書を獲得するためのオブジェクトについてのメッセージである場合、不正行為防止モジュールはウィンドウメッセージについての処理過程を終了してもよい。そして、生成されたウィンドウメッセージが文書を獲得するためのオブジェクトについてのメッセージではない場合、不正行為防止モジュールはオリジナルのウィンドウプロシージャ関数を呼び出してもよい。
本発明の他の一実施形態によると、図3および図4を参照して説明した発明はキーメッセージ(key message)を介した不正行為にも適用されてもよい。すなわち、悪意のあるブラウザ機能拡張モジュールは、インターネットブラウザのキーメッセージを獲得して、ユーザが入力した検索語やIDなどの重要な情報のキーメッセージを先取することができる。
このような行為を防止するために不正行為防止モジュールは、メッセージフッキングを設定したり、またはウィンドウプロシージャを置換する関数についてフッキングによって制御したりすることで、キーメッセージ獲得を防止することができる。ここで、制御するものは正常なモジュールのリストを参照して、該当の関数を呼び出したブラウザ機能拡張モジュールが正常であるか否かに応じて決定してもよい。
図7は、本発明の一実施形態において、接続ポイントを通じたブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであるかを判断する過程を示す図である。
図7に示す不正行為防止方法は、インターネットブラウザに接近するための悪意のあるブラウザ機能拡張モジュールの接続そのものを遮断して不正行為を防止してもよい。前述したように、ブラウザ機能拡張モジュールはインターネットブラウザにおけるAdd−Onプログラムであってもよいため、インターネットブラウザが実行されると自動でロードされてもよい。そして、ブラウザ機能拡張モジュールは、インターネットブラウザからブラウザオブジェクト(例えば、インターネットエクスプローラである場合IWebBrowser2オブジェクト)が送信されるとHTML文書を操作および変更できるため、ブラウザベースの不正行為防止方法は、悪意をもって接続されたブラウザ機能拡張モジュールを遮断して無力化することができる。一例として、不正行為防止モジュールは、周期的に悪意のあるブラウザ機能拡張モジュールを検索して接続を遮断してもよい。
図7に示すように、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップS101は、ステップS701、ステップS702、およびステップS703を含んでもよい。
ステップS701において、不正行為防止モジュールは、インターネットブラウザのブラウザオブジェクトによってインターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出してもよい。
ここで、接続ポイントとは、ブラウザ機能拡張モジュールがインターネットブラウザに接続されるポイントを意味する。インターネットブラウザは複数の接続ポイントを有してもよく、接続ポイントごとに異なる情報及びイベントを提供してもよい。そして、接続ポイントコンテナは、接続ポイントを有する接続ポイントオブジェクトを有してもよい。接続ポイントオブジェクトは自身のIDを有してもよく、インターネットブラウザのイベントと関連するIDとの比較によって接続ポイントがイベントと関連する接続ポイントであるかを確認してもよい。各接続ポイントは自身に接続されたブラウザ機能拡張モジュールのリストを含んでもよい。
ステップS702において、不正行為防止モジュールは、抽出されたインターネットブラウザの接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールを確認してもよい。一例として、不正行為防止モジュールは、ブラウザ機能拡張モジュールのアドレスによって接続ポイントとブラウザ機能拡張モジュール間の経路を決定し、前記接続ポイントと接続されたブラウザ機能拡張モジュールを確認してもよい。具体的に、不正行為防止モジュールは、ブラウザ機能拡張モジュールのアドレス値を用いてメモリ上にロードされたDLLの位置に存在するブラウザ機能拡張モジュールを確認してもよい。
ステップS703において、不正行為防止モジュールは確認されたブラウザ機能拡張モジュールが安全であるか否かを判断してもよい。
一例として、ブラウザ機能拡張モジュールは、インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリスト(例えば、white list)を用いて前記ブラウザ機能拡張モジュールが安全であるか否かを判断してもよい。すなわち、確認されたブラウザ機能拡張モジュールがホワイトリストに存在する場合、不正行為防止モジュールは、前記ブラウザ機能拡張モジュールを安全なモジュールとして判断してもよい。
そして、確認されたブラウザ機能拡張モジュールがホワイトリストに存在しない場合、不正行為防止モジュールは、前記ブラウザ機能拡張モジュールを悪意のあるモジュールとして判断してもよい。これによって、不正行為防止モジュールは、インターネットブラウザに対する悪意のあるモジュールの接続を遮断することができる。一例として、不正行為防止モジュールは、接続ポイントに接続されたブラウザ機能拡張モジュールが悪意のあるモジュールである場合、接続ポイントの接続順序値を参照してブラウザ機能拡張モジュールの接続を遮断してもよい。
図8は、本発明の一実施形態において、インターネットブラウザの接続ポイントを抽出する過程を示す図である。
図8に示すように、インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出するステップS701は、ステップS801、ステップS802、およびステップS803を含んでもよい。
ステップS801において、不正行為防止モジュールは、ブラウザオブジェクトを用いて接続ポイントコンテナを獲得してもよい。接続ポイントコンテナは、インターネットブラウザと関連する接続ポイントを含んでもよい。ここで、接続ポイントコンテナは接続ポイントを直接有さず、接続ポイントを有するオブジェクトを含んでもよい。インターネットブラウザの接続ポイントそれぞれは他の情報とイベントを提供してもよい。すなわち、ブラウザ機能拡張モジュールは、所望するイベントを獲得するために正確な接続ポイントに接続される。
ステップS802において、不正行為防止モジュールは接続ポイントコンテナに含まれた接続ポイントリストを確認してもよい。一例として、不正行為防止モジュールは、接続ポイントコンテナのオブジェクトが提供する関数を呼び出して接続ポイントオブジェクトを求めてもよい。そして、不正行為防止モジュールは、接続ポイントオブジェクトが提供する関数を呼び出して接続ポイントリストを確認してもよい。
ステップS803において、不正行為防止モジュールは、インターネットブラウザのイベントと関連する接続ポイントIDを用いて接続ポイントリストからイベントと関連する接続ポイントを検索してもよい。ここで、不正行為防止モジュールは、予め知っているインターネットブラウザのイベントと関連する接続ポイントIDを前記接続ポイントリストと比較して接続ポイントを検索してもよい。
すなわち、不正行為防止モジュールは、検索された接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールが安全であるか否かを判断し、悪意のあるブラウザ機能拡張モジュールの接続を遮断することができる。
図9は、本発明の一実施形態において、接続ポイントに接続された悪意のあるブラウザ機能拡張モジュールを通じた不正行為を防止する過程を説明するための図である。
図9に示すように、インターネットブラウザ901に接続される複数のブラウザ機能拡張モジュール909−1〜909−6が図示される。不正行為防止モジュールもブラウザ機能拡張モジュールの一種に属してもよい。不正行為防止モジュールは、インターネットブラウザ901のイベントと関連する少なくとも1つの接続ポイントを抽出してもよい。
一例として、不正行為防止モジュールは、ブラウザオブジェクトを用いて接続ポイントコンテナ902を獲得してもよい。そして、不正行為防止モジュールは、接続ポイントコンテナ902に含まれた接続ポイントリスト903〜906を確認してもよい。その後、不正行為防止モジュールは、インターネットブラウザのイベントと関連する接続ポイントIDを用いて接続ポイントリスト903〜906からイベントと関連する接続ポイント904,906を検索してもよい。
図9に示すように、不正行為防止モジュールは、インターネットブラウザ901のイベントと関連する接続ポイント2(904)、接続ポイント4(906)を抽出してもよい。ここで、接続ポイント903〜906は接続ポイントコンテナ902に含まれてもよい。接続ポイントコンテナはブラウザオブジェクトによって決定されてもよい。
インターネットブラウザ901のイベントと関連する接続ポイント2(904)および接続ポイント4(906)は、それぞれ接続されたブラウザ機能拡張モジュールを確認してもよい。これによって、不正行為防止モジュールは、インターネットブラウザ901のイベントと関連する接続ポイント2(904)および接続ポイント4(906)それぞれに接続されたブラウザ機能拡張モジュールのリストを確認してもよい。ここで、ブラウザ機能拡張モジュールのリストは、ブラウザ機能拡張モジュールについてのアドレス値およびイベントと関連する接続ポイントに接続される際の接続順序値に構成されてもよい。
図9において、接続ポイント2(904)に接続されたブラウザ機能拡張モジュールのリストは、ブラウザ機能拡張モジュール1(907−1)、ブラウザ機能拡張モジュール2(907−2)、およびブラウザ機能拡張モジュール3(907−3)を含んでもよい。そして、接続ポイント4(906)に接続されたブラウザ機能拡張モジュールのリストは、ブラウザ機能拡張モジュール4(907−4)、ブラウザ機能拡張モジュール5(907−5)、およびブラウザ機能拡張モジュール6(907−6)を含んでもよい。
これによって、不正行為防止モジュールは、インターネットブラウザの接続ポイントに接続されたそれぞれのブラウザ機能拡張モジュールが正常なモジュールであるか否かを判断してもよい。ここで、不正行為防止モジュールは、インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリスト(ホワイトリスト)を用いてリストに含まれたブラウザ機能拡張モジュールが正常なモジュールであるか否かを判断してもよい。
もし、接続ポイント2(904)によってインターネットブラウザ901に接続されたブラウザ機能拡張モジュール2(907−2)と接続ポイント4(906)によってインターネットブラウザ901に接続されたブラウザ機能拡張モジュール6(907−6)が不正なモジュールであると判断された場合、不正行為防止モジュールは、インターネットブラウザ901に接続されたブラウザ機能拡張モジュール2(907−2)およびブラウザ機能拡張モジュール6(907−6)を遮断してもよい。ここで、不正行為防止モジュールは、ブラウザ機能拡張モジュール2(907−2)およびブラウザ機能拡張モジュール6(907−6)の接続順序値を参照して遮断してもよい。そして、残りブラウザ機能拡張モジュール907−1、907−3、907−4、907−5は正常なモジュールと判断され、不正行為防止モジュールによって接続が遮断されることはない。悪意のあるブラウザ機能拡張モジュールの接続を遮断する過程は周期的に繰り返されてもよい。
図1〜図9を参照して説明した実施形態と異なる本発明の他の実施形態によれば、悪意のあるブラウザ機能拡張モジュールである不正行為モジュールが変更したデータをインターネットブラウザに送信することを防止することができる。すなわち、不正行為モジュールはインターネットブラウザにデータを送信するためのデータ送信と関連する関数(例えば、ウィンドウで提供するWinInet関数)をフッキングすることによって変更したデータをインターネットブラウザに送信してもよい。ここで、不正行為防止モジュールは、データ送信と関連する関数が不正行為モジュールによって変更され、フッキングされたか否かを確認して不正行為を防止することができる。
具体的に、不正行為防止モジュールは、変更された疑いのあるデータの送信と関連する関数における開始の一部分を確認してCPUジャンプ命令語が入力されたか否かを確認することで、関数がフッキングされたか否かを確認してもよい。そして、データ送信と関連する関数が不正行為モジュールによって変更されてフッキングされた場合、不正行為防止モジュールは変更されていない部分を読み出して変更された部分に上書きすることによって変更された関数を復元してもよい。このような復元過程によって関数を初期化し、該当関数を不正行為防止モジュールが同じ形式の関数にフッキングしてもよい。
その後、ブラウザ機能拡張モジュールが不正行為防止モジュールのフッキングした関数を呼び出す場合、不正行為防止モジュールは、関数を呼び出したモジュールが正常なモジュールであるか否かを判断してもよい。関数を呼び出したモジュールが正常なモジュールとして判断された場合、不正行為防止モジュールは関数呼出を行うことのできない場合、不正行為防止モジュールは関数呼出を遮断してもよい。
図10は、本発明の一実施形態に係る関数置換を用いるブラウザベースの不正行為防止システムの全体構成を示す図である。
図10に示すように、ブラウザ機能不正行為防止システム1000は、不正行為判断部1001および不正行為遮断部1002を備えてもよい。
不正行為判断部1001は、ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断してもよい。一例として、ブラウザ機能拡張モジュールによるアクセスは、ブラウザ機能拡張モジュールがインターネットブラウザに接続されてインターネットブラウザを制御しようとするアクセスを含んでもよい。または、ブラウザ機能拡張モジュールによるアクセスは、ブラウザ機能拡張モジュールが関数呼出またはメッセージ送信によってインターネットブラウザのデータを獲得しようとするアクセスを含んでもよい。前述した一例のみならず、ブラウザ機能拡張モジュールによるアクセスは様々な形態であってもよい。
一例として、不正行為判断部1001は、関数置換部1003、呼出対象確認部1004、および呼出対象判断部1005を備えてもよい。
ここで、ブラウザ機能拡張モジュールは、インターネットブラウザがインターネットエクスプローラである場合、前記インターネットブラウザにアドオン形態で接続されることができるブラウザヘルパーオブジェクト(BHO:Browser Helper Object)を含んでもよい。
関数置換部1003は、インターネットブラウザのデータを獲得できるオリジナルの関数を新しく定義した新規関数に置換してもよい。ここで、関数置換部1003は、オリジナルの関数をフック関数の新規関数に予め置換することによって、悪意のあるブラウザ機能拡張モジュールがオリジナルの関数を呼び出すことを防止することができる。関数置換部1003について図11および図12を参照して具体的に説明する。
呼出対象確認部1004は、ブラウザ機能拡張モジュールを介して置換された新規関数が呼び出されると、新規関数を呼び出した対象を確認してもよい。すなわち、ブラウザ機能拡張モジュールがフック関数の新規関数を呼び出した場合、呼出対象確認部1004は、新規関数を呼び出した対象であるブラウザ機能拡張モジュールがいかなるモジュールであるかを確認してもよい。
一例として、呼出対象確認部1004は、新規関数がリターンされるアドレスに位置したブラウザ機能拡張モジュールの情報を用いて新規関数を呼び出したブラウザ機能拡張モジュールを確認してもよい。
呼出対象判断部1005は、新規関数を呼び出した対象が安全であるか否かを判断してもよい。一例として、新規関数を呼び出したブラウザ機能拡張モジュールがインターネットブラウザに用いられる正常なブラウザ機能拡張モジュールのリストに存在する場合、呼出対象判断部1005は前記ブラウザ機能拡張モジュールを安全なモジュールとして判断してもよい。
不正行為遮断部1002は、ブラウザ機能拡張モジュールによるアクセスが悪意のあるアクセスであると決定された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断してもよい。一例として、不正行為遮断部1002は、新規関数を呼び出したブラウザ機能拡張モジュールが悪意のあるモジュールである場合、前記インターネットブラウザのデータを獲得できるオリジナルの関数の呼び出しを遮断してもよい。
すなわち、不正行為遮断部1002は、悪意のあるブラウザ機能拡張モジュールがインターネットブラウザに接続することを遮断して不正行為を防止したり、またはインターネットブラウザのデータを獲得することを遮断して不正行為を防止したりすることができる。
図11は、本発明の一実施形態において、文書または文書の構成要素を獲得するオリジナルの関数を置換する関数置換部を具体的に示す図である。
図11に示すように、関数置換部1003は、アドレス情報獲得部1101、オリジナルの関数バックアップ部1102、新規関数宣言部1103、およびアドレス記録部1104を備えてもよい。
アドレス情報獲得部1101は、インターネットブラウザのブラウザオブジェクトと関連する関数のアドレス情報を獲得してもよい。ここで、ブラウザオブジェクトは、予めビルドされたバイナリ形態のCOM(component object model)ベースのオブジェクトを含んでもよい。一例として、アドレス情報獲得部1101は、インターネットブラウザのブラウザオブジェクトと関連する関数のアドレスが格納された仮想関数テーブルを獲得してもよい。
ここで、COMベースのオブジェクトは仮想関数テーブルを有してもよい。仮想関数テーブルは、ブラウザオブジェクトの関数に対するアドレスを格納してもよい。具体的に、仮想関数テーブルはオブジェクトで外部に提供する関数に対するアドレスが格納されてもよい。ここで、COMベースのオブジェクトが提供する関数のアドレスは、一定の順に仮想関数テーブルに格納されてもよい。COMベースのオブジェクトの関数を呼び出すために、ブラウザ機能拡張モジュールは、仮想関数テーブルを介して確認した該当関数のアドレスを用いて関数を呼び出してもよい。
オリジナルの関数バックアップ部1102は、アドレス情報に基づいてオリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップしてもよい。一例として、オリジナルの関数バックアップ部1102は、仮想関数テーブルを用いて先取しようとするオリジナルの関数の位置に対応するオリジナルの関数のアドレスを格納してバックアップしてもよい。ここで、オリジナルの関数は、インターネットブラウザを介して表示される文書を獲得する関数または文書の特定の構成要素を獲得する関数のうちのいずれか1つであってもよい。
新規関数宣言部1103は、オリジナルの関数と形式が同一の新規関数を宣言してもよい。ここで、新規関数はオリジナルの関数を先取するためのフック関数であってもよい。
アドレス記録部1104は、宣言された新規関数のアドレスをオリジナルの関数の位置に記録してもよい。アドレス記録部1104は、仮想関数テーブルのオリジナルの関数の位置にフック関数のアドレスを記録することによって、ブラウザ機能拡張モジュールがオリジナルの関数を呼び出す場合、フック関数を呼び出すよう誘導してもよい。
図12は本発明の一実施形態において、ウィンドウメッセージを処理するオリジナルの関数を置換する関数置換部を具体的に示す図である。
図12に示すように、関数置換部1003は、メインウィンドウ決定部1201、ビューウィンドウ決定部1202、およびオリジナルの関数置換部1203を備えてもよい。
メインウィンドウ決定部1201は、インターネットブラウザにおけるメインウィンドウを決定してもよい。一例として、メインウィンドウ決定部1201は、インターネットブラウザのブラウザオブジェクトが提供する関数を用いてメインウィンドウを決定してもよい。ここで、ブラウザオブジェクトは、インターネットブラウザがブラウザ機能拡張モジュールをロードする際に、前記インターネットブラウザが前記ブラウザ機能拡張モジュールに提供するオブジェクトを意味する。
ビューウィンドウ決定部1202は、メインウィンドウを基準にして前記インターネットブラウザにおけるビューウィンドウを決定してもよい。一例として、ビューウィンドウ決定部1202は、インターネットブラウザのバージョンに応じたウィンドウ構造を参照してビューウィンドウを決定してもよい。インターネットブラウザのウィンドウ構造はバージョン別に異なる形態を表すため、ビューウィンドウ決定部1202は、バージョンに応じたインターネットブラウザのウィンドウ構造を調査してもよい。ここで、ビューウィンドウは、インターネットブラウザで実際にページが見える位置のウィンドウを意味する。
オリジナルの関数置換部1203は、インターネットブラウザに送信されたメッセージを処理するビューウィンドウのオリジナルのウィンドウプロシージャ関数を新規ウィンドウプロシージャ関数に置換してもよい。
これによって、呼出対象確認部1004は、ブラウザ機能拡張モジュールが送信したメッセージによって新規ウィンドウプロシージャ関数が呼び出されると、前記新規ウィンドウプロシージャ関数を呼び出したメッセージのメッセージ値を用いてメッセージを確認してもよい。
呼出対象判断部1005は、メッセージが前記インターネットブラウザの文書を獲得するためのブラウザオブジェクトのメッセージではない場合、前記新規関数を呼び出した対象であるメッセージが送信されていないと判断してもよい。
不正行為判断部1002は、新規関数を呼び出した対象となるメッセージが前記インターネットブラウザのデータを獲得するための悪意のあるメッセージである場合、前記メッセージがオリジナルの関数に送信されることを防止することができる。
図12に示すように、オリジナルの関数置換部1203は、関数変更確認部1204、関数バックアップ部1205、および関数アドレス変更部1206を備えてもよい。
関数変更確認部1204は、ビューウィンドウのオリジナルのウィンドウプロシージャ関数が他のウィンドウプロシージャ関数に変更されたか否かを確認してもよい。
一例として、関数変更確認部1204は、ビューウィンドウのオリジナルのウィンドウプロシージャ関数のアドレスを求める。そして、関数変更確認部1204は、該当のプロシージャ関数が位置したブラウザ機能拡張モジュールの経路を検索してもよい。ここで、関数変更確認部1204は、プロシージャ関数がいずれのモジュールに位置しているかをメモリを介して確認してもよい。
関数変更確認部1204は、検索したブラウザ機能拡張モジュールの経路を基準にして、ブラウザ機能拡張モジュールを確認してもよい。ここで、確認したブラウザ機能拡張モジュールがインターネットブラウザと関連するモジュール(例えば、インターネットブラウザがインターネットエクスプローラである場合、IEFrame.dll、mshtml.dllなどを含む)ではない場合、関数変更確認部1204は、他のブラウザ機能拡張モジュールによってビューウィンドウのオリジナルのウィンドウプロシージャ関数が変更されたと判断してもよい。
関数バックアップ部1205は、オリジナルのウィンドウプロシージャ関数が変更されないと確認された場合、前記ビューウィンドウのオリジナルのウィンドウプロシージャ関数のアドレスを格納してバックアップしてもよい。すなわち、関数バックアップ部1205は、送信されたメッセージが文書を獲得するためのメッセージではない場合、オリジナルのウィンドウプロシージャ関数を呼び出すことができるようにビューウィンドウのオリジナルのウィンドウプロシージャ関数を格納してバックアップしてもよい。
関数アドレス変更部1206は、オリジナルのウィンドウプロシージャ関数のアドレスを新規ウィンドウプロシージャ関数のアドレスに変更してもよい。すなわち、関数アドレス変更部1206は、オリジナルのウィンドウプロシージャ関数は新規ウィンドウプロシージャ関数に置換されることによって、悪意のあるメッセージを通じてオリジナルのウィンドウプロシージャが呼び出されることを防止することができる。
図13は、本発明の一実施形態において、接続ポイントを通じた不正行為を防止する不正行為判断部を具体的に示す図である。
図13に示すように、不正行為判断部1001は、接続ポイント抽出部1301、モジュール確認部1302、およびモジュール判断部1303を備えてもよい。
接続ポイント抽出部1301は、インターネットブラウザのブラウザオブジェクトによって前記インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出してもよい。ここで、接続ポイントは、ブラウザ機能拡張モジュールがインターネットブラウザに接続されるポイントを意味する。
一例として、接続ポイント抽出部1301は、コンテナ獲得部1304、リスト確認部1305、および接続ポイント検索部1306を備えてもよい。
コンテナ獲得部1304は、ブラウザオブジェクトを用いて接続ポイントコンテナを獲得してもよい。接続ポイントコンテナはインターネットブラウザと関連する接続ポイントを含んでもよい。ここで、接続ポイントコンテナは接続ポイントを直接有さず、接続ポイントを有しているオブジェクトを含んでもよい。インターネットブラウザの接続ポイントそれぞれは他の情報とイベントを提供してもよい。
リスト確認部1305は、接続ポイントコンテナに含まれた接続ポイントリストを確認してもよい。一例として、リスト確認部1305は、接続ポイントコンテナのオブジェクトが提供する関数を呼び出して接続ポイントオブジェクトを求めてもよい。そして、リスト確認部1305は、接続ポイントオブジェクトが提供する関数を呼び出して接続ポイントリストを確認してもよい。
接続ポイント検索部1306は、インターネットブラウザのイベントと関連する接続ポイントIDを用いて接続ポイントリストからイベントと関連する接続ポイントを検索してもよい。ここで、接続ポイント検索部1306は、既知のインターネットブラウザのイベントと関連する接続ポイントIDを前記接続ポイントリストと比較して接続ポイントを検索してもよい。
モジュール確認部1302は、前記抽出されたインターネットブラウザの接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールを確認してもよい。一例として、モジュール確認部1302は、ブラウザ機能拡張モジュールのアドレスによって接続ポイントとブラウザ機能拡張モジュールとの間の経路を決定して接続ポイントと接続されたブラウザ機能拡張モジュールを確認してもよい。
モジュール判断部1303は、確認されたブラウザ機能拡張モジュールが安全であるか否かを判断してもよい。一例として、モジュール判断部1303は、インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリストを用いて前記ブラウザ機能拡張モジュールが安全であるか否かを判断してもよい。
最終的に、不正行為遮断部1002は、接続ポイントに接続されたブラウザ機能拡張モジュールが悪意のあるモジュールである場合、接続ポイントの接続順序値を参照してブラウザ機能拡張モジュールの接続を遮断してもよい。
図10〜図13を参照した際に説明していない箇所については図1〜図9の説明を参照してもよい。
また、本発明の一実施形態に係るブラウザベースの不正行為防止方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
101 サーバ
102 クライアント
103 インターネットブラウザ
104−1、104−2、104−3 ブラウザ機能拡張モジュール(BHO:Browser Helper Object)
105 不正行為防止モジュール

Claims (11)

  1. ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップと、
    前記アクセスが悪意のあるアクセスであると判断された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断するステップとを含み、
    前記アクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断するステップは、
    前記インターネットブラウザのブラウザオブジェクトによって前記インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出するステップと、
    前記抽出されたインターネットブラウザの接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールを確認するステップと、
    前記確認されたブラウザ機能拡張モジュールが安全であるか否かを判断するステップと、
    を含むことを特徴とするブラウザベースの不正行為防止方法。
  2. 前記インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出するステップは、
    前記ブラウザオブジェクトを用いて接続ポイントコンテナを獲得するステップと、
    前記接続ポイントコンテナに含まれた接続ポイントリストを確認するステップと、
    前記インターネットブラウザのイベントと関連する接続ポイントIDを用いて前記接続ポイントリストからイベントと関連する接続ポイントを検索するステップと、
    を含むことを特徴とする請求項1に記載のブラウザベースの不正行為防止方法。
  3. 前記ブラウザ機能拡張モジュールを確認するステップは、前記ブラウザ機能拡張モジュールのアドレスによって前記接続ポイントと前記ブラウザ機能拡張モジュールとの間の経路を決定し、前記接続ポイントと接続されたブラウザ機能拡張モジュールを確認することを特徴とする請求項1または2に記載のブラウザベースの不正行為防止方法。
  4. 前記確認されたブラウザ機能拡張モジュールが安全であるか否かを判断するステップは、前記インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールが安全であるか否かを判断することを特徴とする請求項1から3のいずれか一項に記載のブラウザベースの不正行為防止方法。
  5. 前記ブラウザ機能拡張モジュールによるアクセスを遮断するステップは、前記接続ポイントに接続されたブラウザ機能拡張モジュールが悪意のあるモジュールである場合、前記接続ポイントの接続順序値を参照して前記ブラウザ機能拡張モジュールの接続を遮断することを特徴とする請求項1から4のいずれか一項に記載のブラウザベースの不正行為防止方法。
  6. 請求項1乃至請求項5のいずれかに記載の方法を実行するためのプログラムが記録されていることを特徴とするコンピュータで読取可能な記録媒体。
  7. ブラウザ機能拡張モジュールによるアクセスがインターネットブラウザのデータを獲得するための悪意のあるアクセスであるか否かを判断する不正行為判断部と、
    前記アクセスが悪意のあるアクセスであると決定された場合、前記ブラウザ機能拡張モジュールによるアクセスを遮断する不正行為遮断部とを備え、
    前記不正行為判断部は、
    前記インターネットブラウザのブラウザオブジェクトによって前記インターネットブラウザのイベントと関連する少なくとも1つの接続ポイントを抽出する接続ポイント抽出部と、
    前記抽出されたインターネットブラウザの接続ポイントそれぞれに接続されたブラウザ機能拡張モジュールを確認するモジュール確認部と、
    前記確認されたブラウザ機能拡張モジュールが安全であるか否かを判断するモジュール判断部と、
    を備えることを特徴とするブラウザベースの不正行為防止システム。
  8. 前記接続ポイント抽出部は、
    前記ブラウザオブジェクトを用いて接続ポイントコンテナを獲得するコンテナ獲得部と、
    前記接続ポイントコンテナに含まれた接続ポイントリストを確認するリスト確認部と、
    前記インターネットブラウザのイベントと関連する接続ポイントIDを用いて前記接続ポイントリストからイベントと関連する接続ポイントを検索する接続ポイント検索部と、
    を備えることを特徴とする請求項7に記載のブラウザベースの不正行為防止システム。
  9. 前記モジュール確認部は、前記ブラウザ機能拡張モジュールのアドレスによって前記接続ポイントと前記ブラウザ機能拡張モジュールとの間の経路を決定し、前記接続ポイントと接続されたブラウザ機能拡張モジュールを確認することを特徴とする請求項7または8に記載のブラウザベースの不正行為防止システム。
  10. 前記モジュール判断部は、前記インターネットブラウザで用いられる正常なブラウザ機能拡張モジュールのリストを用いて前記ブラウザ機能拡張モジュールが安全であるか否かを判断することを特徴とする請求項7から9のいずれか一項に記載のブラウザベースの不正行為防止システム。
  11. 不正行為遮断部は、前記接続ポイントに接続されたブラウザ機能拡張モジュールが悪意のあるモジュールである場合、前記接続ポイントの接続順序値を参照して前記ブラウザ機能拡張モジュールの接続を遮断することを特徴とする請求項7から10のいずれか一項に記載のブラウザベースの不正行為防止システム。
JP2014078105A 2008-11-03 2014-04-04 ブラウザベースの不正行為防止方法およびシステム Active JP5863869B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0108354 2008-11-03
KR1020080108354A KR101074624B1 (ko) 2008-11-03 2008-11-03 브라우저 기반 어뷰징 방지 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011534404A Division JP5554338B2 (ja) 2008-11-03 2009-11-03 ブラウザベースの不正行為防止方法およびシステム

Publications (2)

Publication Number Publication Date
JP2014142960A true JP2014142960A (ja) 2014-08-07
JP5863869B2 JP5863869B2 (ja) 2016-02-17

Family

ID=42226218

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011534404A Active JP5554338B2 (ja) 2008-11-03 2009-11-03 ブラウザベースの不正行為防止方法およびシステム
JP2014078105A Active JP5863869B2 (ja) 2008-11-03 2014-04-04 ブラウザベースの不正行為防止方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011534404A Active JP5554338B2 (ja) 2008-11-03 2009-11-03 ブラウザベースの不正行為防止方法およびシステム

Country Status (4)

Country Link
US (1) US8997253B2 (ja)
JP (2) JP5554338B2 (ja)
KR (1) KR101074624B1 (ja)
WO (1) WO2010062063A2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120011653A (ko) * 2010-07-29 2012-02-08 삼성전자주식회사 영상 처리 장치 및 방법
KR101277516B1 (ko) 2010-11-03 2013-07-30 주식회사 안랩 프로세스 외부 접근 차단 장치와 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101369253B1 (ko) * 2012-05-10 2014-03-06 주식회사 안랩 웹 페이지의 정보 변조 차단 장치 및 방법
CN103777855B (zh) * 2012-10-23 2018-09-21 腾讯科技(深圳)有限公司 截取移动终端屏幕的方法和装置
US9210155B2 (en) * 2013-03-08 2015-12-08 Stocktree Inc. System and method of extending a host website
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
KR101462114B1 (ko) 2013-03-28 2014-11-17 네이버 주식회사 동기식 스크립트 지연 로딩 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US9930095B2 (en) * 2014-03-26 2018-03-27 Google Llc System for managing extension modifications to web pages
CN104503752A (zh) * 2014-12-17 2015-04-08 青岛海信电器股份有限公司 一种智能设备中控制网页调用***功能的方法及装置
GB2546304B (en) * 2016-01-14 2020-04-08 Avecto Ltd Computer device and method for controlling access to a web resource
US9501439B1 (en) * 2016-01-19 2016-11-22 International Business Machines Corporation Communicating in an integrated circuit using hardware-managed virtual channels
EP3414695B1 (en) * 2016-02-12 2021-08-11 Shape Security, Inc. Reverse proxy computer: deploying countermeasures in response to detecting an autonomous browser executing on a client computer
KR102661890B1 (ko) * 2016-06-15 2024-04-29 에스케이플래닛 주식회사 광고플랫폼장치 및 그 동작 방법
US10594731B2 (en) 2016-03-24 2020-03-17 Snowflake Inc. Systems, methods, and devices for securely managing network connections
US10063533B2 (en) * 2016-11-28 2018-08-28 International Business Machines Corporation Protecting a web server against an unauthorized client application
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
US10785222B2 (en) * 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US10601937B2 (en) 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
KR102038957B1 (ko) 2018-10-11 2019-10-31 넷마블 주식회사 게임 어뷰저 검출 방법 및 장치
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
EP4053722B1 (en) * 2021-03-01 2023-11-29 Irdeto B.V. Secured computer code and systems, methods, and storage media for creating the secured computer code from original computer code

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510671A (ja) * 1998-10-28 2003-03-18 ヤフー! インコーポレイテッド インターネットブラウザインターフェースの制御方法、及び制御可能なブラウザインターフェイス
JP2004139372A (ja) * 2002-10-18 2004-05-13 Hitachi Ltd ブラウザー関連のセキュリティチェックプログラム
US20040125149A1 (en) * 2002-12-30 2004-07-01 Eugene Lapidous Method and apparatus for managing display of popup windows
JP2005166051A (ja) * 2003-12-03 2005-06-23 Inca Internet Co Ltd プロセスの不正アクセス防止方法
JP2005339565A (ja) * 2004-05-28 2005-12-08 Microsoft Corp 自動開始拡張ポイントを介したスパイウェアおよび不要ソフトウェアの管理
JP2007522582A (ja) * 2004-02-17 2007-08-09 マイクロソフト コーポレーション 階段化されたオブジェクト関連の信用決定

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010581B2 (en) * 2001-09-24 2006-03-07 International Business Machines Corporation Method and system for providing browser functions on a web page for client-specific accessibility
JP4490026B2 (ja) * 2002-01-28 2010-06-23 日立オムロンターミナルソリューションズ株式会社 カスタマイズ可能な情報処理装置
JP4239682B2 (ja) * 2003-05-22 2009-03-18 日本精工株式会社 ローラクラッチ及びローラクラッチ内蔵型プーリ装置
GB0407977D0 (en) * 2004-04-08 2004-05-12 Ibm Communication between browser windows
KR20060112849A (ko) * 2005-04-28 2006-11-02 (주)밀리언커뮤니케이션 씨피씨 광고 부정클릭 모니터링 방법 및 그 장치
US20090281816A1 (en) 2005-08-29 2009-11-12 Daikin Industries, Ltd. Account abuse detection or prevention device, data collection device, and account abuse detection or prevention program
KR100770163B1 (ko) * 2006-03-02 2007-10-26 엔에이치엔(주) 스팸 지수 산정 방법 및 시스템
KR20060028463A (ko) * 2006-03-09 2006-03-29 정성욱 온라인 광고 시스템에서의 이용자 부정 클릭 추적과 방지시스템 및 그 방법
US20070250531A1 (en) * 2006-04-24 2007-10-25 Document Advantage Corporation System and Method of Web Browser-Based Document and Content Management
JP2010517170A (ja) * 2007-01-26 2010-05-20 ヴァーダシス・インコーポレーテッド 不正侵入された顧客マシンとの信頼された取引の保証
US9842097B2 (en) * 2007-01-30 2017-12-12 Oracle International Corporation Browser extension for web form fill
KR100915589B1 (ko) * 2007-07-12 2009-09-07 엔에이치엔비즈니스플랫폼 주식회사 보안 인증 시스템 및 방법
US7975308B1 (en) * 2007-09-28 2011-07-05 Symantec Corporation Method and apparatus to secure user confidential data from untrusted browser extensions
ATE521183T1 (de) * 2007-10-15 2011-09-15 Penango Inc Verfahren und system zur unterstützung von sicherer kommunikation
US8065734B1 (en) * 2008-03-06 2011-11-22 Symantec Corporation Code module operating system (OS) interactions intercepting system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510671A (ja) * 1998-10-28 2003-03-18 ヤフー! インコーポレイテッド インターネットブラウザインターフェースの制御方法、及び制御可能なブラウザインターフェイス
JP2004139372A (ja) * 2002-10-18 2004-05-13 Hitachi Ltd ブラウザー関連のセキュリティチェックプログラム
US20040125149A1 (en) * 2002-12-30 2004-07-01 Eugene Lapidous Method and apparatus for managing display of popup windows
JP2005166051A (ja) * 2003-12-03 2005-06-23 Inca Internet Co Ltd プロセスの不正アクセス防止方法
JP2007522582A (ja) * 2004-02-17 2007-08-09 マイクロソフト コーポレーション 階段化されたオブジェクト関連の信用決定
JP2005339565A (ja) * 2004-05-28 2005-12-08 Microsoft Corp 自動開始拡張ポイントを介したスパイウェアおよび不要ソフトウェアの管理

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015036414; 小山 安博: '"Vistaを導入したらセキュリティ設定も忘れずに! Windows Vistaセキュリティ設定ガイ' WindowsMode 第12巻、第3号, 20070124, P.73-76, 株式会社毎日コミュニケーションズ *
JPN6015036416; 原 如宏: '"これで安心・安全 セキュリティー最新事情 ウイルス&不正アクセス 手口と対策"' YOMIURI PC 第13巻、第12号, 20081201, p.44-55, 読売新聞東京本社 *

Also Published As

Publication number Publication date
US8997253B2 (en) 2015-03-31
KR20100049258A (ko) 2010-05-12
KR101074624B1 (ko) 2011-10-17
JP5554338B2 (ja) 2014-07-23
US20110283366A1 (en) 2011-11-17
WO2010062063A3 (ko) 2010-07-29
JP2012507778A (ja) 2012-03-29
JP5863869B2 (ja) 2016-02-17
WO2010062063A2 (ko) 2010-06-03

Similar Documents

Publication Publication Date Title
JP5863869B2 (ja) ブラウザベースの不正行為防止方法およびシステム
EP2811404B1 (en) Virtual desktop implementation method, device and system
US10509905B2 (en) Ransomware mitigation system
US9635138B2 (en) Client-server input method editor architecture
US8387140B2 (en) Method and apparatus for controlling access to encrypted network communication channels
JP4159100B2 (ja) 情報処理装置による通信を制御する方法およびプログラム
CN102932370B (zh) 一种安全扫描方法、设备及***
US20130160126A1 (en) Malware remediation system and method for modern applications
WO2007067899A2 (en) Browser system and method for warning users of potentially fraudulent websites
WO2014139300A1 (en) Method and device for loading a plug-in
US8904492B2 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
US10007785B2 (en) Method and apparatus for implementing virtual machine introspection
US11580248B2 (en) Data loss prevention
JP2007004415A (ja) ファーミング詐欺防止システム
CN102467632A (zh) 一种浏览器隔离使用的方法
JP5402169B2 (ja) 実行制御プログラムおよび情報処理システム
KR101234592B1 (ko) 안드로이드가 탑재된 휴대 단말기에서의 웹브라우저 백신 구동 방법
JP7255681B2 (ja) 実行制御システム、実行制御方法、及びプログラム
JP2010113566A (ja) 情報処理装置、アクセス制御方法、及びプログラム
JP2011145772A (ja) サーバ、制御方法、および、プログラム
JP5279601B2 (ja) サーバ装置、データ処理システム、フォーム処理方法、及びプログラム
CN117997556A (zh) 网站访问方法、装置、设备及存储介质
JP2016173627A (ja) ローカルストレージ管理方法、ローカルストレージ管理装置およびローカルストレージ管理プログラム
CN115022019A (zh) 基于区块链的异常文件检测方法、装置和设备
CN118133248A (zh) 防止页面水印被篡改的方法、***、终端及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151112

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: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R150 Certificate of patent or registration of utility model

Ref document number: 5863869

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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