JP4628149B2 - アクセス制御装置及びアクセス制御方法 - Google Patents

アクセス制御装置及びアクセス制御方法 Download PDF

Info

Publication number
JP4628149B2
JP4628149B2 JP2005071823A JP2005071823A JP4628149B2 JP 4628149 B2 JP4628149 B2 JP 4628149B2 JP 2005071823 A JP2005071823 A JP 2005071823A JP 2005071823 A JP2005071823 A JP 2005071823A JP 4628149 B2 JP4628149 B2 JP 4628149B2
Authority
JP
Japan
Prior art keywords
function
access
access control
resource
control target
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.)
Expired - Fee Related
Application number
JP2005071823A
Other languages
English (en)
Other versions
JP2006252477A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2005071823A priority Critical patent/JP4628149B2/ja
Priority to US11/372,084 priority patent/US8011006B2/en
Priority to EP06005050.7A priority patent/EP1703432B1/en
Priority to CNB2006100574001A priority patent/CN100454326C/zh
Publication of JP2006252477A publication Critical patent/JP2006252477A/ja
Application granted granted Critical
Publication of JP4628149B2 publication Critical patent/JP4628149B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/53Monitoring 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 executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Description

本発明は、プログラムによる制御対象リソースへのアクセスを制御するアクセス制御装置及びアクセス制御方法に関する。
プログラムをネットワーク経由で入手し、パーソナルコンピュータやPDA、携帯電話で実行する利用形態が普及している。このような利用形態は、必要なアプリケーションを迅速に取得可能とすることによって利用者の利便性を高める効果がある。一方、ネットワークを介して流通するプログラムコードの中には、システムの破壊や不正操作を目的とした悪意のあるコードや、システムリソースの乱用や動作障害などを引き起こす欠陥のあるコードがある。ダウンロードアプリケーションの利用拡大に伴い、利用者の利便性を確保し、プログラム実行の安全性を確保することは緊急の課題であり、悪意や欠陥のあるコード(不正コード)による被害を防止する機構が重要度を増している。
不正コードによる被害を防止する機構として、サンドボックスと呼ばれる、リソースへのアクセスを制限したプログラムコードの実行環境がある。サンドボックスは、セキュリティポリシーと呼ばれるアクセス制御規則に従って、サンドボックス上で実行されるプログラムコード(サンドボックスされたコード)からのファイルやネットワーク等に対するアクセスを制御するアクセス制御機能を備える。ここで、サンドボックスによる安全性を確保するためには、サンドボックスされたコードが、アクセス制御処理をバイパスし、リソースに直接アクセスすることを防ぐことが必要になる。
アクセス制御のバイパスを防ぐ強固な方法として、システムコールフックを利用したサンドボックスがある。システムコールは、プログラムコードがファイルやネットワーク等のリソースにアクセスする際に、オペレーティングシステム(OS)に対して発行する要求である。システムコールを経由せずに計算機のリソースを操作することは困難であるため、システムコールを仲介(以下において、「フック」という。)し、アクセス制御処理を付加することで、バイパスが困難となる(例えば、非特許文献1参照。)。
しかしながら、システムコールはOSの低レベルインタフェースであり、OSがフックしたシステムコールの情報からプログラムの意味情報を取得するのは困難である。このため、システムコールフックによるアクセス制御では、プログラムの意味情報を考慮した制御・処理が困難であるという課題がある。プログラムの意味情報が入手できない場合、低レベルのインタフェースに即してアクセス制御規則を設定する必要があり、システムに関する深い知識と手間が必要になるという問題がある。また、「プログラムインストールをバックアップや履歴の取得を条件に許可する」といった条件付許可などプログラムの意味情報に基づく柔軟なアクセス規則をシステムコールレベルで記述することは、困難であるという問題もある。
意味情報が取得できないことに起因する課題は、ライブラリ関数呼出しのフックを利用したサンドボックスで解決可能である。制御対象の関数を含むライブラリをサンドボックスへのフック処理を含むライブラリに置き換える実現方法等がある(例えば、非特許文献2参照)。これにより、高い抽象度を持つインタフェースに即してアクセス制御処理を追加することが可能になり、意味情報に基づく多様なアクセス規則を効率的に設定できるようになる。
Using Kernel Hypervisors to Secure Applications, in Proceedings of the Annual Computer Security Application Conference,1997 DITools:Application-Level Support for Dynamic Extension and Flexible Composition, in Proceedings of 2000 USENIX Annual Technical Conference, 2000
しかしながら、ライブラリ関数呼出しのフックだけに依存するサンドボックスでは、システムコールを直接発行するというバイパス攻撃を防ぐことはできず、安全性に重大な課題がある。
そこで、本発明は、上記の課題に鑑み、プログラムの意味情報に基づく高度なリソースアクセス制御と、バイパスを防止する強固な安全性とを両立するアクセス制御装置及びアクセス制御方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の特徴は、プログラムによる制御対象リソースへのアクセスを制御するアクセス制御装置であって、(a)プログラムからの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数から発行されたアクセス要求を特定する識別情報を生成する関数アクセス検出部と、(b)プログラムから制御対象リソースに対するアクセス要求を取得し、識別情報に基づいて、前記アクセス要求の可否を判定するリソースリソースアクセス制御部とを備えるアクセス制御装置であることを要旨とする。
第1の特徴に係るアクセス制御装置によると、識別情報によって制御対象関数呼出し情報を低レベルのリソースアクセス要求に対するアクセス制御に反映することが可能となり、関数呼出し単位のアクセス制御による高い抽象度と低レベルリソースアクセス要求単位のアクセス制御による強固な安全性を両立可能となる。これにより、プログラムの意味情報に基づく多様なアクセス規則を効率的に記述できるようになり、多機能なプログラムを安全に実行することが可能となる。
又、第1の特徴に係るアクセス制御装置のアクセス制御部は、制御対象関数の呼出し元プロセスの情報を取得し、関数許可用アクセス制御規則に基づいて、制御対象関数の呼出しの可否を判定する関数アクセス制御部を更に備え、前記アクセス関数検出部は、呼出しが許可された場合に、識別情報を生成してもよい。
このアクセス制御装置によると、不正な制御対象関数の呼出しを拒否することができる。
又、上述のアクセス制御装置において、制御対象関数の呼出しを検出した場合、予め規定された処理を実行する追加処理部を更に備えてもよい。又、上述のアクセス制御装置において、予め規定された処理を実行する追加処理部を更に備え、関数アクセス制御部は、追加処理部が予め規定された処理を実行した場合、前記制御対象関数の呼出しを許可してもよい。
このアクセス制御装置によると、制御対象関数呼出しをフックし、予め規定した処理を挿入することが可能になる。これにより、例えば、バックアップの取得や履歴の取得等の、処理の実行を条件とした高度なアクセス制御規則を実装可能となり、アプリケーションやシステムの多様な要件に対応することが可能となる。
又、第1の特徴に係るアクセス制御装置のリソースリソースアクセス制御部は、識別情報に加え、リソース許可用アクセス制御規則に基づいて、システムコールのアクセスの可否を判定し、リソース許可用アクセス制御規則には、所定の制御対象関数を介した前記制御対象リソースへのアクセスを制御する規則が記述されていてもよい。
このアクセス制御装置によると、特定リソースへのアクセスについて特定関数の使用を義務付けることが可能になる。これにより、信頼された関数を介してのみ特定リソースへのアクセスを許可することができ、プログラム実行の安全性を高めることができる。
又、第1の特徴に係るアクセス制御装置の関数アクセス検出部は、制御対象関数の呼出しを通知するために設けられた通知命令を取得することで、制御対象関数に対する呼出しを検出し、通知命令には、識別情報、あるいは、識別情報の生成に必要な情報が含まれてもよい。
このアクセス制御装置によると、当該通知命令をフックすることで制御対象関数呼出しを検出して、通知命令の引数に含まれる識別情報もしくは識別情報を生成するための関連情報を取得することができ、関数呼出し検出を簡易な処理で実現することが可能となる。これにより、本アクセス制御装置の処理コストや実装コストを削減することができる。
又、上述のアクセス制御装置の関数アクセス検出部は、通知命令が制御対象関数から発行されていることを確認した場合、識別情報を生成してもよい。
このアクセス制御装置によると、例えば、プログラムがリソースに不正アクセスするために偽って制御対象関数呼出しを通知する命令を発行した場合に、それを検出することが可能になる。これにより、プログラム実行の安全性をさらに高めることができる。
又、第1の特徴に係るアクセス制御装置の関数アクセス検出部は、制御対象関数が呼び出された場合に関数名をスタックに積み、制御対象関数が戻る場合に関数名をスタックから取り除き、スタックに格納された情報を識別情報として生成し、リソースリソースアクセス制御部は、制御対象関数の関数名がスタックに積まれているか否かで、アクセス要求の可否を判定してもよい。
このアクセス制御装置によると、制御対象関数が更に関数を呼び出した場合においても、関数の呼出し履歴がスタック情報に含まれるため、制御対象関数及びその配下の関数を介したリソースアクセスを識別することが可能になる。
又、第1の特徴に係るアクセス制御装置の関数アクセス検出部は、制御対象関数の実行コードの実メモリ上の格納アドレス範囲を算出し、格納アドレス範囲を識別情報として生成し、リソースリソースアクセス制御部は、プロセスのプログラムカウンタを参照し、システムコールを発行した命令コードの格納アドレスが、格納アドレス範囲にあるか否かで、アクセス要求の可否を判定してもよい。
このアクセス制御装置によると、関数の実行コードが配置されたメモリアドレス範囲に基づき、制御対象リソースへのアクセス要求が制御対象関数から発行されたものかどうかを検証することが可能になる。
本発明の第2の特徴は、プログラムによる制御対象リソースへのアクセスを制御するアクセス制御方法であって、(a)プログラムからの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数からのアクセス要求を特定する識別情報を生成するステップと、(b)プログラムから制御対象リソースに対するアクセス要求を取得し、識別情報に基づいて、アクセス要求の可否を判定するステップとを含むアクセス制御方法であることを要旨とする。
第2の特徴に係るアクセス制御方法によると、識別情報によって制御対象関数呼出し情報を低レベルのリソースアクセス要求に対するアクセス制御に反映することが可能となり、関数呼出し単位のアクセス制御による高い抽象度と低レベルリソースアクセス要求単位のアクセス制御による強固な安全性を両立可能となる。これにより、プログラムの意味情報に基づく多様なアクセス規則を効率的に記述できるようになり、多機能なプログラムを安全に実行することが可能となる。
本発明によると、プログラムの意味情報に基づく高度なリソースアクセス制御と、バイパスを防止する強固な安全性とを両立するアクセス制御装置及びアクセス制御方法を提供することができる。
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
(アクセス制御装置)
図1は、本発明の実施形態に係るアプリケーションプログラム配布及び実行システムの形態を示す図である。本システムにおいて、パーソナルコンピュータやPDA、携帯電話などの計算機100は、Webブラウザやメールクライアント、ゲーム等の様々なプログラムを実行する。ここで、計算機100が実行するプログラムには、計算機100の出荷時にインストールされているもの、CD−ROM、DVD−ROM等の記録媒体400からコピーしたもの、ネットワーク200や基地局500を介して、アプリケーションダウンロードサーバ300からダウンロードしたもの等が含まれ、信頼度や品質が異なる。
本実施形態に係る計算機100は、図2に示すように、アクセス制御装置10を備えることにより、不正なプログラムからユーザデータやシステムファイル、ネットワーク等の制御対象リソース30を保護する。具体的には、アクセス制御装置10は、各システムコール(例えば、open()、write())による制御対象リソース30へのアクセスを制御する。
アクセス制御装置10は、プログラム70がカーネル20に対して発行するシステムコールを取得し、予め設定された関数アクセス検出部12及びリソースアクセス制御部14に転送するフック部11と、プログラム70からの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数から発行されたアクセス要求であることを特定する識別情報を生成する関数アクセス検出部12と、制御対象関数の呼出し元プロセスの情報を取得し、関数許可用アクセス制御規則に基づいて、制御対象関数の呼出しの可否を判定する関数アクセス制御部15と、プログラム70から制御対象リソース30に対するアクセス要求を取得し、識別情報に基づいて、アクセス要求の可否を判定するリソースアクセス制御部14と、関数アクセス検出部12が制御対象関数の呼出しを許可した場合、予め規定された処理を実行する追加処理部13とを備える。
図2では、プログラム実行コード40に複数の関数呼出しが含まれ、func_1()、func_2()を制御対象関数とする。又、func_1()実行コード50、func_2()実行コード60の最初には、関数呼出しをアクセス制御装置10(カーネル20)に通知するための通知命令(以下において、「関数呼出し通知用のシステムコール」という。)であるnotify()があり、制御対象関数(func_1()、func_2())に処理が移ると、notify()が発行される。
システムコールnotify()の引数には、制御対象関数名等、制御対象関数から発行されるシステムコールをカーネル20が特定する際に必要となる識別情報もしくは識別情報を生成するための関連情報が設定される。例えば、関数実行コードのメモリ上の格納アドレスや格納アドレスを算出するための仮のアドレス、スタックに積まれた情報等を識別情報として利用可能である。識別情報については、後に詳述する。
次に、アクセス制御装置10の各処理部について、詳細に説明する。
フック部11は、関数呼出し通知用のシステムコールnotify()を取得し、関数アクセス検出部12に転送する。又、フック部11は、制御対象リソース30へのアクセスを要求するシステムコールを、リソースアクセス制御部14に転送する。
関数アクセス検出部12は、プログラム70からの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数から発行されたシステムコールであることを特定する識別情報を生成する。
例えば、関数アクセス検出部12は、システムコールnotify()の引数から、制御対象関数名と制御対象関数呼出し元プロセス(例えば、プログラム実行コード40)の情報を取得し、関数許可用アクセス制御規則に基づき、制御対象関数の呼出しの可否を判断する。ここで、「関数許可用アクセス制御規則」には、呼出しを許可する制御対象関数か否かが記述されている。
又、関数アクセス検出部12は、呼出し可否の判断に先立ち、関数呼出し通知用システムコールnotify()が、不正に呼び出されていないか否か検証し、システムコールnotify()が当該制御対象関数から発行されていることが確認した場合のみ処理を継続することも可能である。具体的な確認方法について、後に詳述する。
関数アクセス制御部15は、制御対象関数の関数名と制御対象関数の呼出し元プロセスの情報とを取得し、関数許可用アクセス制御規則に基づいて、制御対象関数の呼出しの可否を判定する。そして、関数アクセス検出部12は、呼出しが許可された場合に、識別情報を生成する
追加処理部13は、関数アクセス制御部15が制御対象関数の呼出しを許可した場合、予め規定された処理を実行する。ここで、上述の「関数許可用アクセス制御規則」には、特定処理を条件に関数呼出しを許可する条件付許可規則が記述されていてもよい。条件付き許可の場合、関数アクセス検出部12は、追加処理部13に処理を移し、条件として記述された処理を実行する。
条件に設定される処理としては、例えば、関数呼出しに伴うリソースへのアクセス履歴の記録(ログ)や、制御対象リソース30のバックアップ取得等がある。
又、追加処理部13は、予め規定された処理を実行し、関数アクセス制御部15は、前記追加処理部が予め規定された処理を実行した場合、制御対象関数の呼出しを許可してもよい。
又、関数呼出しが許可された場合、関数アクセス検出部12は、関数呼出し通知用システムコール引数の情報とカーネル20から取得可能な情報の一方または両方を利用して、当該関数からのシステムコール発行を検出する際に必要となる識別情報を生成する。
リソースアクセス制御部14は、プログラム70から制御対象リソース30に対するアクセス要求を取得し、関数アクセス検出部12が生成した識別情報及びリソース許可用アクセス制御規則に基づいて、システムコールのアクセスの可否を判定する。ここで、「リソースアクセス制御規則」には、図3に示すように、制御対象リソース30の情報、アクセス要求元のプログラム70の情報、関数アクセス検出部12が生成する識別情報、許可動作の組で記述された規則が記述されている。制御する規則としては、所定の制御対象関数のみが所定の制御対象リソース30にアクセス可能であることや、所定の制御対象関数のみが所定の制御対象リソース30に拒否されることなどが挙げられる。例えば、リソースアクセス制御規則には、計算機100の出荷時からインストールされているプログラムからのシステムコールは無条件で許可するが、ダウンロードされたプログラムについては識別情報によって特定されるシステムコールのみ許可するという規則を記述できる。この場合、リソースアクセス制御部14は、ダウンロードプログラムについては、関数で呼出しが許可された関数を介してのみ、制御対象リソース30にアクセスを許可する。
(アクセス制御方法)
次に、本実施形態に係るアクセス制御方法について、図4を用いて説明する。
まず、前提として、図5に示すように、プログラムソースをコンパイルすることにより、プログラムオブジェクトファイルが生成され、プログラム実行ファイル上にアプリケーションプログラム実行コードが配置されていることとする。又、スタティックリンクライブラリとリンクすることにより、本実施形態に係る制御対象関数であるfunc_1()、func_2()の実行コードがプログラム実行ファイル上に配置される。その他、プログラム実行ファイル上には、各実行コードの配置情報が示された再配置情報や、共有ライブラリを動的にリンクするための情報であるダイナミック情報等が配置される。これらをロードすることにより、実メモリアドレス上に、アプリケーションプログラム実行コード、func_1()実行コード、func_2()実行コードが配置される。尚、共有ライブラリとリンクすることにより、ライブラリオブジェクトであるfunc_3()実行コードが配置されてもよい。
図4のステップS101において、フック部11は、制御対象関数の呼出しを通知するために設けられた通知命令(例えば、関数呼出し通知用のシステムコールnotify())を取得する。そして、フック部11は、通知命令を関数アクセス検出部12に転送する。
次に、ステップS102において、関数アクセス検出部12は、プログラムから制御対象関数に対する呼出しを検出する。
そして、ステップS103において、関数アクセス検出部12は、関数呼出し通知用システムコールnotify()が、不正に呼び出されていないか否か検証する。例えば、プログラムカウンタの参照等により、システムコールnotify()発行元のメモリアドレスを取得し、システムコール引数から特定される制御対象関数の格納アドレス範囲に合致するかどうかを検証することによって、確認することができる。制御対象関数の格納アドレスは、例えば、図5に示すように、プログラム実行コードのヘッダ領域に関数オブジェクトへのオフセットを記述し、プログラムの配置先アドレスにオフセットを加算することによって、func_1()オフセットアドレスやfunc_2()オフセットアドレスを算出することができる。
又、制御対象関数(func_3( ))が共有ライブラリに含まれる場合は、図6に示す手順により、notifyシステムコールの発行元を検証することが可能である。ライブラリ中にnotifyシステムコールの発行関数を含め、制御対象関数からライブラリ内のnotifyシステムコール発行関数を呼び出すこととする。関数アクセス検出部12では、共有ライブラリが配置されたアドレス範囲を示すアドレス解決テーブルを管理しており、notifyシステムコールの発行元アドレスが、上記アドレス範囲内にあるかを判定することができる。
関数呼出し通知用システムコールnotify()が適正である場合は、ステップS104へ進み、適正でない場合は、ステップS111へ進み、関数呼出し通知用システムコールnotify()が適正でないことを表示するエラー処理などを行い、処理を終了する。
次に、ステップS104において、関数アクセス検出部12は、システムコールnotify()の引数から、制御対象関数名と制御対象関数呼出し元プロセス(例えば、プログラム実行コード40)の情報を取得し、関数許可用アクセス制御規則に基づき、制御対象関数の呼出しの可否を判断する。呼出しを許可する場合は、ステップS105へ進み、許可しない場合は、ステップS11へ進み、制御対象関数呼出しの権限が無い等のメッセージを表示するエラー処理を行い、処理を終了する。
次に、ステップS105において、関数アクセス検出部12は、関数許可用アクセス制御規則には、特定処理を条件に関数呼出しを許可する条件付許可規則が記述されている否か判断する。条件付の許可である場合は、ステップS106へ進み、条件付の許可でない場合は、ステップS107へ進む。
次に、ステップS106において、追加処理部13は、条件として記述された処理を実行する。
次に、ステップS107において、関数アクセス検出部12は、当該検出した制御対象関数から発行されたシステムコールであることを特定する識別情報を生成する。
例えば、関数アクセス検出部12は、制御対象関数が呼び出された場合に、制御対象関数の関数名をスタックに積み、制御対象関数の呼出し元プロセスに処理が戻る場合に、制御対象関数の関数名をスタックから取り除き、スタックに格納された情報を識別情報として生成する。具体的には、図7に示すように、引数に制御対象関数の関数名が含まれた、関数呼出し通知用システムコール(notify1())の受信時に関数名(func_1()、func_2())をスタック情報に積み、関数戻り通知用システムコール(notify2( ))の受信時に関数名(func_1()、func_2())をスタック情報から取り除くという手順で、識別情報を作成することができる。
更に、関数アクセス検出部12は、通知命令取得時のプログラムの実行中コードのメモリアドレスが、関数オブジェクトファイルの格納範囲に含まれている場合のみ、通知命令から取得した制御対象関数名をスタックに積んでもよい。
又、他に、関数アクセス検出部12は、制御対象関数の実行コードの実メモリ上の格納アドレス範囲を算出し、格納アドレス範囲を識別情報として生成してもよい。具体的には、図4に示すように、関数呼出し通知用システムコールの引数に、関数実行コードのアドレスオフセットとサイズが設定されている場合、プログラム実行コードのロードされた実メモリアドレスを取得し、オフセットとサイズを加算することにより関数実行コードの実メモリ上の格納アドレス範囲を算出する。そして、算出した格納アドレス範囲を識別情報として生成する。尚、関数呼出し通知用システムコールの引数に、直接、メモリアドレス範囲が含まれていてもよい。
更に、関数呼出し通知用システムコールの引数に、制御対象関数の実行コードの仮のメモリアドレス範囲が含まれてもよい。この場合、関数アクセス検出部12は、仮のメモリアドレス範囲から実行コードが配置された実メモリアドレス範囲を求め、実メモリアドレス範囲を識別情報として生成する。実メモリアドレス範囲を求める方法としては、例えば、仮のメモリアドレス範囲は、関数呼出し通知用システムコールの実行コードから制御対象関数の最後の実行コードのアドレスオフセットであるとし、関数アクセス検出部12は、関数呼出し通知用システムコールの受信時の実行中コードのメモリアドレスに上記アドレスオフセットを加算することにより、実メモリアドレス範囲を求めることができる。
又、上記スタック情報とアドレス範囲を組み合わせて識別情報とすることも可能である。例えば、スタックに積まれた関数情報と関数実行コードのアドレス範囲を対応付けて識別情報を作成することができる。
次に、ステップS108において、フック部11は、システムコール(例えば、open()、write())を取得し,システムコール引数を参照して制御対象リソース30に対するアクセス要求を検出する。そして、フック部11は、制御対象リソース30へのアクセス要求をリソースアクセス制御部14に転送する。
次に、ステップS109において、リソースアクセス制御部14は、関数アクセス検出部12が生成した識別情報に基づいて、システムコールのアクセスの可否を判定する。許可する場合は、ステップS110へ進み、制御対象リソース30へのアクセスを許可する。一方、許可しない場合は、ステップS112へ進み、リソースへのアクセス権限がないことを表示するエラー処理などを行い、制御対象リソース30へのアクセスを拒否する。図2では、func_1()実行コード50、func_2()実行コード60に含まれるシステムコールopen()、write()は、リソースアクセス制御部14によって、制御対象リソース30へのアクセスを許可されているが、プログラム実行コード40に含まれるシステムコールopen()は、リソースアクセス制御部14によって、アクセスを拒否されている。
又、アクセス可否の判定方法としては、例えば、識別情報としてスタックに格納された情報を用いる場合、リソースアクセス制御部14は、制御対象関数の関数名がスタックに積まれているか否かで、システムコールのアクセスの可否を判定する(積まれている場合はシステムコールを許可する)。
又、識別情報として格納アドレス範囲を用いている場合、リソースアクセス制御部14は、プロセスのプログラムカウンタを参照し、システムコールを発行した命令コードの格納アドレスが、格納アドレス範囲にあるか否かで、システムコールのアクセスの可否を判定する。
又、識別情報として上記スタック情報とアドレス範囲を組み合わせた情報を用いる場合、リソースアクセス制御部14は、制御対象関数がスタックに積まれていることと、システムコールを発行した命令コードの格納アドレスが関数実行コードの格納アドレス範囲内に収まっていることを検証し、両条件が満たされる場合はシステムコールを許可するという判定処理を行う。
尚、以上の説明においてフック部11、関数アクセス検出部12、及びリソースアクセス制御部14の動作を単一のフロー図を利用して説明したが、関数アクセス検出部12とリソースアクセス制御部14は別個のモジュールとして動作することが可能である。
(作用及び効果)
本実施形態に係るアクセス制御装置10及びアクセス制御方法によると、検出した制御対象関数から発行されたシステムコールであることを特定する識別情報を生成し、この識別情報に基づいて、リソースへのアクセスの可否を判定することにより、識別情報によって制御対象関数呼出し情報を低レベルのリソースアクセス要求に対するアクセス制御に反映することが可能となり、関数呼出し単位のアクセス制御による高い抽象度と低レベルリソースアクセス要求単位のアクセス制御による強固な安全性を両立可能となる。これにより、プログラムの意味情報に基づく多様なアクセス規則を効率的に記述できるようになり、多機能なプログラムを安全に実行することが可能となる。
又、関数アクセス制御部15は、制御対象関数の関数名と制御対象関数の呼出し元プロセスの情報とを取得し、関数許可用アクセス制御規則に基づいて、制御対象関数の呼出しの可否を判定する。そして、関数アクセス制御部12は、呼出しが許可された場合に、識別情報を生成することができる。このため、不正な制御対象関数の呼出しを拒否することができる。
又、本実施形態に係るアクセス制御装置10及びアクセス制御方法によると、制御対象関数の呼出しを許可した場合、予め規定された処理を実行することができる。あるいは、予め規定された処理を実行した場合、制御対象関数の呼出しを許可することができる。このため、制御対象関数呼出しをフックし、予め規定した処理を挿入することが可能になる。これにより、例えば、バックアップの取得や履歴の取得等の、処理の実行を条件とした高度なアクセス制御規則を実装可能となり、アプリケーションやシステムの多様な要件に対応することが可能となる。
又、リソースアクセス制御部14は、識別情報に加え、リソース許可用アクセス制御規則に基づいて、システムコールのアクセスの可否を判定することができる。このため、特定リソースへのアクセスについて特定関数の使用を義務付けることが可能になる。これにより、信頼された関数を介してのみ特定リソースへのアクセスを許可することができ、プログラム実行の安全性を高めることができる。
又、関数アクセス検出部12は、制御対象関数の呼出しを通知するために設けられた通知命令(例えば、notify())を取得することで、制御対象関数に対する呼出しを検出することができる。このため、当該通知命令をフックすることで制御対象関数呼出しを検出して、通知命令の引数に含まれる識別情報もしくは識別情報を生成するための関連情報を取得することができ、関数呼出し検出を簡易な処理で実現することが可能となる。これにより、本アクセス制御装置及び方法の処理コストや実装コストを削減することができる。
又、関数アクセス検出部12は、上記通知命令が制御対象関数から発行されていることを確認した場合、識別情報を生成することができる。このため、例えば、プログラムがリソースに不正アクセスするために偽って制御対象関数呼出しを通知する命令を発行した場合に、それを検出することが可能になる。これにより、プログラム実行の安全性をさらに高めることができる。
又、関数アクセス検出部12は、スタックに格納された情報を識別情報として生成し、リソースアクセス制御部14は、制御対象関数の関数名がスタックに積まれているか否かで、システムコールによるリソースアクセスの可否を判定することができる。このため、制御対象関数が更に関数を呼び出した場合においても、関数の呼出し履歴がスタック情報に含まれるため、制御対象関数及びその配下の関数を介したリソースアクセスを識別することが可能になる。
又、上記通知命令は制御対象関数名を含み、関数アクセス検出部12は、通知命令から取得した関数名をスタックに積むことができる。このように、当該通知命令をフックすることで制御対象関数呼出しを検出して関数名を取得することができ、関数呼出し検出を簡易な処理で実現することが可能となる。これにより、本アクセス制御装置及び方法の処理コストや実装コストを削減することができる。
又、関数アクセス検出部12は、通知命令取得時のプログラムの実行中コードのメモリアドレスが、関数オブジェクトファイルの格納範囲に含まれている場合のみ、通知命令から取得した制御対象関数名をスタックに積んでもよい。これにより、通知命令が、プログラムヘッダに記述されたオブジェクト格納範囲から発行されているかどうかを検証することが可能になる。例えば、プログラムがリソースに不正アクセスするために偽って制御対象関数呼出を通知する命令を発行した場合に、それを検出することが可能になる。このため、プログラム実行の安全性をさらに高めることができる。
又、関数アクセス検出部12は、制御対象関数の実行コードの実メモリ上の格納アドレス範囲を算出し、格納アドレス範囲を識別情報として生成し、リソースアクセス制御部14は、プロセスのプログラムカウンタを参照し、システムコールを発行した命令コードの格納アドレスが、格納アドレス範囲にあるか否かで、システムコールのアクセスの可否を判定することができる。このため、関数の実行コードが配置されたメモリアドレス範囲に基づき、制御対象リソースへのアクセス要求が制御対象関数から発行されたものかどうかを検証することが可能になる。
又、上記通知命令は、制御対象関数の実行コードのメモリアドレス範囲を含み、関数アクセス検出部12は、通知命令から取得したメモリアドレス範囲を識別情報として生成してもよい。このように、当該通知命令をフックすることで制御対象関数呼出しを検出してメモリアドレス範囲を取得することができ、制御対象関数呼出し検出を簡易な処理で実現することが可能となる。これにより、本アクセス制御装置及び方法の処理コストや実装コストを削減することができる。
又、上記通知命令は、制御対象関数の実行コードの仮のメモリアドレス範囲を含み、関数アクセス検出部12は、仮のメモリアドレス範囲から実行コードが配置された実メモリアドレス範囲を求め、実メモリアドレス範囲を識別情報として生成してもよい。このように、通知命令に含まれる仮のメモリアドレス範囲から関数の実行コードが格納される実メモリアドレス範囲を算出することができる。これにより、プログラム実行コード生成時に実メモリアドレス範囲を導出できない場合においても、本アクセス制御装置及び方法を利用することができる。
又、仮のメモリアドレス範囲を、関数呼出し通知用システムコールの実行コードから制御対象関数の最後の実行コードのアドレスオフセットであるとし、関数アクセス検出部12は、関数呼出し通知用システムコールの受信時の実行中コードのメモリアドレスに上記アドレスオフセットを加算することにより、実メモリアドレス範囲を求めてもよい。このように、通知命令に含まれる仮のメモリアドレス範囲から関数の実行コードが格納される実メモリアドレス範囲を算出することができる。これにより、プログラム実行コード生成時に実メモリアドレス範囲を導出できない場合においても、本アクセス制御装置及び方法を利用することができる。
(その他の実施形態)
本発明は上記の実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
例えば、図2では、アクセス制御装置10をオペレーティングシステムのカーネル20内部に実装する構成をとっているが、アクセス制御装置10は他の場所に実装されてもよいことは勿論である。
又、上記の実施形態において、システムコールからのアクセス要求の可否について判定することと説明しているが、システムコールに限らず、その他のプログラムからのアクセス要求であっても、本発明は適用可能である。
このように、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本実施形態に係るアクセス制御装置を利用するシステムを説明するための図である。 本実施形態に係るアクセス制御装置の構成ブロック図である。 本実施形態に係るリソースアクセス制御規則の一例である。 本実施形態に係るアクセス制御方法を示すフローチャートである。 本実施形態に係るプログラムをロードした状態を説明するための図である。 関数呼出し通知用システムコールの発行元を検証することを説明するための図である。 本実施形態に係るアクセス制御装置のスタック情報を説明するための図である。
符号の説明
10…アクセス制御装置
11…フック部
12…関数アクセス検出部
13…追加処理部
14…リソースアクセス制御部
15…関数アクセス制御部
20…カーネル
30…制御対象リソース
40、50、60…実行コード
70…プログラム
100…計算機
200…ネットワーク
300…アプリケーションダウンロードサーバ
400…記録媒体
500…基地局


Claims (10)

  1. プログラムによる制御対象リソースへのアクセスを制御するアクセス制御装置であって、
    プログラムからの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数から発行されるシステムコールをカーネルが特定する際に必要となる識別情報を生成する関数アクセス検出部と、
    前記プログラムから前記制御対象リソースに対するシステムコールを取得し、前記識別情報、及び前記制御対象リソースの情報、アクセス要求元のプログラムの情報、前記識別情報、許可動作の組で記述されたリソースアクセス制御規則に基づいて、前記システムコールのアクセスの可否を判定するリソースアクセス制御部と
    を備えることを特徴とするアクセス制御装置。
  2. 前記制御対象関数の関数名と前記制御対象関数の呼出し元プロセスの情報とを取得し、呼出しを許可する制御対象関数か否かが記述された関数許可用アクセス制御規則に基づいて、前記制御対象関数の呼出しの可否を判定する関数アクセス制御部をさらに備え、
    前記関数アクセス検出部は、前記関数アクセス制御部によって前記制御対象関数の呼出しが許可された場合に、前記識別情報を生成することを特徴とする請求項1に記載のアクセス制御装置。
  3. 前記関数許可用アクセス制御規則には、特定処理を条件に関数呼出しを許可する条件付許可規則が記述されており、
    前記条件付許可規則によって前記制御対象関数の呼出しが許可される場合、前記条件付許可規則によって記述された処理を実行する追加処理部を更に備えることを特徴とする請求項2に記載のアクセス制御装置。
  4. 前記関数アクセス制御部は、前記追加処理部が処理を実行した場合、前記制御対象関数の呼出しを許可することを特徴とする請求項に記載のアクセス制御装置。
  5. 前記リソースアクセス制御部は、前記識別情報に加え、リソース許可用アクセス制御規則に基づいて、前記システムコールのアクセスの可否を判定し、
    前記リソース許可用アクセス制御規則には、所定の前記制御対象関数を介した前記制御対象リソースへのアクセスを制御する規則が記述されていることを特徴とする請求項1〜4のいずれか1項に記載のアクセス制御装置。
  6. 前記関数アクセス検出部は、前記制御対象関数の呼出しを通知するために設けられた通知命令を取得することで、前記制御対象関数に対する呼出しを検出し、
    前記通知命令には、前記識別情報、あるいは、前記識別情報の生成に必要な情報が含まれることを特徴とする請求項1〜5のいずれか1項に記載のアクセス制御装置。
  7. 前記関数アクセス検出部は、前記通知命令が前記制御対象関数から発行されていることを確認した場合、前記識別情報を生成することを特徴とする請求項6に記載のアクセス制御装置。
  8. 前記関数アクセス検出部は、前記制御対象関数が呼び出された場合に、前記制御対象関数の関数名をスタックに積み、前記制御対象関数の呼出し元プロセスに処理が戻る場合に、前記制御対象関数の関数名をスタックから取り除き、前記スタックに格納された情報を前記識別情報として生成し、
    前記リソースアクセス制御部は、前記制御対象関数の関数名が前記スタックに積まれているか否かで、前記リソースアクセス要求の可否を判定することを特徴とする請求項1〜7のいずれか1項に記載のアクセス制御装置。
  9. 前記関数アクセス検出部は、前記制御対象関数の実行コードの実メモリ上の格納アドレス範囲を算出し、前記格納アドレス範囲を前記識別情報として生成し、
    前記リソースアクセス制御部は、プロセスのプログラムカウンタを参照し、前記リソースアクセス要求を発行した命令コードの格納アドレスが、前記格納アドレス範囲にあるか否かで、前記リソースアクセス要求の可否を判定することを特徴とする請求項1〜8のいずれか1項に記載のアクセス制御装置。
  10. 関数アクセス検出部と、リソースアクセス制御部とを備えたプログラムによる制御対象リソースへのアクセスを制御するアクセス制御方法であって、
    前記関数アクセス検出部が、プログラムからの制御対象関数に対する呼出しを検出し、当該検出した制御対象関数から発行されるシステムコールをカーネルが特定する際に必要となる識別情報を生成するステップと、
    前記リソースアクセス制御部が、前記プログラムから前記制御対象リソースに対するシステムコールを取得し、前記識別情報、及び前記制御対象リソースの情報、アクセス要求元のプログラムの情報、前記識別情報、許可動作の組で記述されたリソースアクセス制御規則に基づいて、前記システムコールのアクセスの可否を判定するステップと
    を含むことを特徴とするアクセス制御方法。
JP2005071823A 2005-03-14 2005-03-14 アクセス制御装置及びアクセス制御方法 Expired - Fee Related JP4628149B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005071823A JP4628149B2 (ja) 2005-03-14 2005-03-14 アクセス制御装置及びアクセス制御方法
US11/372,084 US8011006B2 (en) 2005-03-14 2006-03-10 Access controller and access control method
EP06005050.7A EP1703432B1 (en) 2005-03-14 2006-03-13 Access controller and access control method
CNB2006100574001A CN100454326C (zh) 2005-03-14 2006-03-14 访问控制装置以及访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005071823A JP4628149B2 (ja) 2005-03-14 2005-03-14 アクセス制御装置及びアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2006252477A JP2006252477A (ja) 2006-09-21
JP4628149B2 true JP4628149B2 (ja) 2011-02-09

Family

ID=36579096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005071823A Expired - Fee Related JP4628149B2 (ja) 2005-03-14 2005-03-14 アクセス制御装置及びアクセス制御方法

Country Status (4)

Country Link
US (1) US8011006B2 (ja)
EP (1) EP1703432B1 (ja)
JP (1) JP4628149B2 (ja)
CN (1) CN100454326C (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
JP2007293639A (ja) * 2006-04-26 2007-11-08 Yokogawa Electric Corp アクセス制御方法、アクセス制御方法を用いた機器及びシステム
US8490184B2 (en) * 2007-04-26 2013-07-16 International Business Machines Corporation Verification for computer programs that include external call references
KR100783811B1 (ko) * 2007-08-28 2007-12-10 주식회사 파수닷컴 압축 파일에 대한 디지털 저작권 관리 방법
JP4881921B2 (ja) * 2008-07-29 2012-02-22 京楽産業.株式会社 遊技機および遊技制御プログラム、並びに遊技制御方法
JP2010088482A (ja) * 2008-10-03 2010-04-22 Kyoraku Sangyo Kk 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP2010088477A (ja) * 2008-10-03 2010-04-22 Kyoraku Sangyo Kk 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP2010088483A (ja) * 2008-10-03 2010-04-22 Kyoraku Sangyo Kk 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP2010088474A (ja) * 2008-10-03 2010-04-22 Kyoraku Sangyo Kk 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP4881932B2 (ja) * 2008-10-03 2012-02-22 京楽産業.株式会社 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP4987832B2 (ja) * 2008-10-03 2012-07-25 京楽産業.株式会社 遊技機およびアクセス制御プログラム、並びに遊技制御方法
JP2010088475A (ja) * 2008-10-03 2010-04-22 Kyoraku Sangyo Kk 遊技機およびアクセス制御プログラム、並びに遊技制御方法
US8402479B2 (en) * 2010-03-17 2013-03-19 Adam Kaiser Device control call allocation for embedded system design
US9178766B2 (en) * 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
DE102010037651B4 (de) * 2010-09-20 2018-02-01 Kobil Systems Gmbh Verfahren zur Prüfung von Aktionen mit Daten
US9003543B2 (en) * 2010-12-21 2015-04-07 Microsoft Technology Licensing, Llc Providing a security boundary
JP2012238273A (ja) * 2011-05-13 2012-12-06 Denso Corp Ram書込制御装置および不正アクセス防止プログラム
US8689344B2 (en) * 2011-05-16 2014-04-01 Guest Tek Interactive Entertainment Ltd. System and method of integrating modules for execution on a computing device and controlling during runtime an ability of a first module to access a service provided by a second module
JP2013020354A (ja) * 2011-07-08 2013-01-31 Ricoh Co Ltd ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム
CN102393888B (zh) * 2011-07-21 2015-04-22 广州汽车集团股份有限公司 Ecu安全访问处理方法
US9015807B2 (en) 2011-12-01 2015-04-21 Microsoft Technology Licensing, Llc Authorizing application access to secure resources
US9032102B2 (en) * 2012-03-02 2015-05-12 International Business Machines Corporation Decode data for fast PCI express multi-function device address decode
CN102750493B (zh) * 2012-06-26 2016-01-06 华为终端有限公司 访问权限控制方法、装置及系统
JP5800777B2 (ja) * 2012-08-21 2015-10-28 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
CN105335651B (zh) * 2015-10-22 2018-09-18 成都卫士通信息产业股份有限公司 一种基于Linux操作系统的进程防护方法
GB2552966B (en) * 2016-08-15 2019-12-11 Arm Ip Ltd Methods and apparatus for protecting domains of a device from unauthorised accesses
CN109726171A (zh) * 2018-12-28 2019-05-07 安谋科技(中国)有限公司 内存访问方法、内存访问控制器和片上系统
CN111274554B (zh) * 2020-02-10 2023-03-21 广州虎牙科技有限公司 小程序的api调用方法、装置、设备和介质
CN112817799A (zh) * 2021-01-13 2021-05-18 中国建设银行股份有限公司 一种基于Spring框架的访问多数据源的方法及装置
JP7446544B1 (ja) 2023-07-05 2024-03-08 三菱電機株式会社 情報処理装置、および、情報処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206536A (ja) * 1990-01-09 1991-09-09 Nec Software Ltd データ保護方式
JPH09311821A (ja) * 1996-05-23 1997-12-02 Mitsubishi Electric Corp 記憶データ保護装置
JP2001034505A (ja) * 1999-07-16 2001-02-09 Matsushita Electric Ind Co Ltd 遠隔保守点検システム
US20040044906A1 (en) * 1999-04-06 2004-03-04 Paul England Secure execution of program code
JP2005209178A (ja) * 2003-12-24 2005-08-04 Matsushita Electric Ind Co Ltd メモリ保護装置、メモリ保護方法及びメモリ保護プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
JPH06215590A (ja) * 1993-01-13 1994-08-05 Nec Ic Microcomput Syst Ltd フラッシュ消去型不揮発性メモリ
AU722463B2 (en) * 1996-10-25 2000-08-03 Gemalto Sa Using a high level programming language with a microcontroller
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6131165A (en) * 1998-06-18 2000-10-10 Sun Microsystems, Inc. Permit for controlling access to services in protected memory systems
US6584508B1 (en) * 1999-07-13 2003-06-24 Networks Associates Technology, Inc. Advanced data guard having independently wrapped components
US6745306B1 (en) * 1999-07-29 2004-06-01 Microsoft Corporation Method and system for restricting the load of physical address translations of virtual addresses
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7085705B2 (en) * 2000-12-21 2006-08-01 Microsoft Corporation System and method for the logical substitution of processor control in an emulated computing environment
US7849360B2 (en) * 2001-05-21 2010-12-07 Vir2Us, Inc. Computer system and method of controlling communication port to prevent computer contamination by virus or malicious code
WO2003021467A1 (en) * 2001-08-13 2003-03-13 Qualcomm, Incorporated Using permissions to allocate device resources to an application
US7426644B1 (en) * 2001-12-05 2008-09-16 Advanced Micro Devices, Inc. System and method for handling device accesses to a memory providing increased memory access security
US7788699B2 (en) * 2002-03-06 2010-08-31 Vir2Us, Inc. Computer and method for safe usage of documents, email attachments and other content that may contain virus, spy-ware, or malicious code
US7191469B2 (en) * 2002-05-13 2007-03-13 Green Border Technologies Methods and systems for providing a secure application environment using derived user accounts
US20040006706A1 (en) * 2002-06-06 2004-01-08 Ulfar Erlingsson Methods and systems for implementing a secure application execution environment using derived user accounts for internet content
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
US7827595B2 (en) * 2003-08-28 2010-11-02 Microsoft Corporation Delegated administration of a hosted resource
US7853947B2 (en) * 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
JP4501156B2 (ja) * 2004-10-28 2010-07-14 日本電気株式会社 機密モードに応じたアクセスフォルダ切り替え方法、プログラム、及びコンピュータシステム
US7490072B1 (en) * 2005-02-16 2009-02-10 Novell, Inc. Providing access controls

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206536A (ja) * 1990-01-09 1991-09-09 Nec Software Ltd データ保護方式
JPH09311821A (ja) * 1996-05-23 1997-12-02 Mitsubishi Electric Corp 記憶データ保護装置
US20040044906A1 (en) * 1999-04-06 2004-03-04 Paul England Secure execution of program code
JP2001034505A (ja) * 1999-07-16 2001-02-09 Matsushita Electric Ind Co Ltd 遠隔保守点検システム
JP2005209178A (ja) * 2003-12-24 2005-08-04 Matsushita Electric Ind Co Ltd メモリ保護装置、メモリ保護方法及びメモリ保護プログラム

Also Published As

Publication number Publication date
US8011006B2 (en) 2011-08-30
EP1703432B1 (en) 2014-02-26
CN100454326C (zh) 2009-01-21
US20060206899A1 (en) 2006-09-14
EP1703432A3 (en) 2012-05-30
CN1834978A (zh) 2006-09-20
EP1703432A2 (en) 2006-09-20
JP2006252477A (ja) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
EP2302549B1 (en) Platform security apparatus and method thereof
KR101456489B1 (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
US8566937B2 (en) Information processing apparatus and method for preventing unauthorized cooperation of applications
US7698744B2 (en) Secure system for allowing the execution of authorized computer program code
JP4794217B2 (ja) ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
JP5061908B2 (ja) プログラム実行制御方法および装置ならびに実行制御プログラム
JP2010182319A (ja) コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権
US20130055335A1 (en) Security enhancement methods and systems
CN103530563A (zh) 用于更新经授权软件的系统和方法
KR100917370B1 (ko) 프로그램을 저장한 컴퓨터 판독 가능 매체, 프로그램을실행하는 정보 처리 장치, 및 프로그램을 실행하기 위한프로그램 제어 방법
US20130062401A1 (en) Pervasive Package Identifiers
JP2010182196A (ja) 情報処理装置およびファイル検証システム
KR20160098912A (ko) 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
JP2009238153A (ja) マルウェア対処システム、方法及びプログラム
WO2014153635A1 (en) Method and system for platform and user application security on a device
JP4526383B2 (ja) 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体
US20070038572A1 (en) Method, system and computer program for metering software usage
KR101321479B1 (ko) 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치
CN107392010B (zh) 执行Root操作的方法及装置、终端设备、存储介质
CN114237822A (zh) 基于虚拟机的软件授权方法及装置
Kim et al. Detecting illegally-copied apps on android devices
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
CN109522734B (zh) 一种安全应用商店系统
Toubiana et al. No need to ask the Android: Bluetooth-Low-Energy scanning without the location permission

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees