JP2003256278A - 情報保護方法及びその実施装置並びにその処理プログラム - Google Patents

情報保護方法及びその実施装置並びにその処理プログラム

Info

Publication number
JP2003256278A
JP2003256278A JP2002053638A JP2002053638A JP2003256278A JP 2003256278 A JP2003256278 A JP 2003256278A JP 2002053638 A JP2002053638 A JP 2002053638A JP 2002053638 A JP2002053638 A JP 2002053638A JP 2003256278 A JP2003256278 A JP 2003256278A
Authority
JP
Japan
Prior art keywords
area
protection area
protection
protected
program
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.)
Pending
Application number
JP2002053638A
Other languages
English (en)
Inventor
Masahide Sato
雅英 佐藤
Toshikazu Umetsu
利和 梅都
Shinji Kimura
信二 木村
Satoshi Oshima
訓 大島
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002053638A priority Critical patent/JP2003256278A/ja
Publication of JP2003256278A publication Critical patent/JP2003256278A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 OSレベルのプログラムによるメモリに対す
る不正アクセスからメモリ上のプログラムまたはデータ
を保護することが可能な技術を提供する。 【解決手段】 プログラムまたはデータを保護する為の
保護領域の確保要求を受け付けてその確保をOSへ依頼
するステップと、前記依頼により確保された保護領域内
に保護対象のプログラムまたはデータをロードするステ
ップと、前記確保された保護領域のマッピング要求を受
け付けて、ページテーブル中の対応するテーブルエント
リにその保護領域の物理ページ番号を設定するステップ
と、前記マッピングの行われた保護領域のアンマッピン
グ要求を受け付けて、前記ページテーブル中の当該保護
領域に対応するテーブルエントリの物理ページ番号を変
更するステップと、前記確保された保護領域の解放要求
を受け付けて、その解放をOSに依頼するステップとを
有するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ上のプログラ
ムやデータを保護する情報処理装置に関し、特にメモリ
上のプログラムやデータを擬似的に隠蔽することにより
保護する情報処理装置に適用して有効な技術に関するも
のである。
【0002】
【従来の技術】仮想記憶を採用する計算機において、メ
モリ領域に対するアクセス制御(読み出し、書き込み、
実行のアクセス可否)は、OS(オペレーティングシス
テム)がハードウェアの仮想記憶機構を利用して実現し
ている場合が一般的である。
【0003】ハードウェアが提供する仮想記憶機構で
は、プログラムのアクセス権限を複数のレベルに分けて
おり、特定の仮想メモリ領域毎に、特定のアクセス権限
レベルに対するアクセス種別(読み出し、書き込み、実
行)毎の可否を設定することが可能である。
【0004】OSは、上記ハードウェア機構を利用する
ことで、ユーザレベルのプログラムがアクセスできるメ
モリ領域の範囲やOSレベルプログラムがアクセスでき
るメモリ領域の範囲を設定することができる。
【0005】例えば、ユーザプログラムに対しては、当
該プログラムを実行する為に必要最低限のメモリ領域の
みアクセスを許可し、OSに対しては、システム内の全
てのメモリ領域のアクセスを許可しており、この様にア
クセス権限を設定することで、ユーザプログラムの障害
がシステム全体に波及することや、ユーザプログラムに
よる不正アクセスを防止している。
【0006】一方、近年の計算機システムは、ネットワ
ークで接続されて運用される場合が多くなっている。例
えば、インターネットを介した情報発信、情報収集や各
種サービス提供を行うWWW(World Wide Web)システ
ムはその代表例である。
【0007】ネットワークで接続された計算機システム
では、計算機システムの有する資源(コンテンツ、機密
情報等)に対する不正な差し替え、盗聴、改竄等を未然
に防ぐ為のセキュリティ技術がいくつか存在する。
【0008】例えば、WWWで採用されているHTTP
(Hyper Text Transfer Protocol)では基本認証(Basi
c Authentication)と呼ばれるセキュリティ機構があ
り、認証情報として事前にユーザIDとパスワードをW
WWサーバに登録しておき、ブラウザを通してユーザか
ら送信されるユーザIDとパスワードと比較して認証を
行う。
【0009】また、WWWシステムの他のセキュリティ
技術として、認証局から発行される証明書に基づき、ユ
ーザとWWWサーバの相互認証と通信データの暗号化を
行う技術がある。
【0010】また、インターネットサービスプログラム
等に潜むセキュリティホールやバグを利用した不正アク
セスを解決する技術としては、常駐型のファイル監視プ
ログラムを計算機上に設け、定期的にファイルの破壊の
有無をチェックする方法が特開平10−069417号
公報に、認証に関して、ユーザIDだけでなく、アクセ
ス手段についてもチェックするシステムが特開2001
−337864号公報に開示されている。
【0011】
【発明が解決しようとする課題】前記HTTPの基本認
証や、認証局を利用する方法では、OSの管理者の様な
強い権限を持つユーザに成りすまして侵入すれば、シス
テム中のいかなるファイルにもアクセスできるので、シ
ステム中のファイルとして格納されている情報を改竄し
たり、盗み出すことができるという問題がある。
【0012】また前記特開平10−069417号公報
や特開2001−337864号公報に記載の技術で保
護される対象はファイルであり、メモリ領域については
対象外である為、メモリ上に配置されたデータについて
は保護の対象外となり、システムが提供している認証機
構をすり抜けて、メモリ上にOSレベルのプログラムを
不正に挿入された場合、挿入されたプログラムは、シス
テム内の全てのメモリにアクセスできる。つまり、メモ
リ上にOSレベルのプログラムを不正に挿入された場
合、機密情報等のデータ及びシステムが提供するセキュ
リティ機構を実現する為のプログラムに関しても改竄や
不正読み出しが可能となってしまうという問題がある。
【0013】本発明の目的は上記問題を解決し、OSレ
ベルのプログラムによるメモリに対する不正アクセスか
らメモリ上のプログラムまたはデータを保護することが
可能な技術を提供することにある。
【0014】
【課題を解決するための手段】本発明は、メモリ上にロ
ードされたプログラムまたはデータを保護する情報処理
装置において、ページテーブルに設定された物理ページ
番号を変更して保護領域中のプログラムまたはデータを
擬似的に隠蔽するものである。
【0015】本発明の情報処理装置において、あるプロ
グラムまたはデータを保護領域にロードして保護しよう
とする場合には、まず、メモリ保護処理のインタフェー
スに従って保護領域の確保を要求する。
【0016】本発明の保護領域確保/解放処理部は、プ
ログラムまたはデータを保護する為の保護領域の確保要
求を受け付けると、保護領域の物理メモリ上への確保を
OSへ依頼する。OSは、依頼された保護領域を物理メ
モリ上に確保した後、仮想ページ番号と物理ページ番号
との対応情報を格納しているページテーブルにアクセス
し、当該保護領域に対応するテーブルエントリの物理ペ
ージ番号に、前記確保した領域の物理ページ番号を設定
する。
【0017】前記依頼により保護領域が確保されると、
ローディング処理部は、保護領域の確保要求元から保護
対象のプログラムまたはデータを受け取って前記保護領
域内にロードする。
【0018】次に、保護領域マップ/アンマップ処理部
は、前記ページテーブルにアクセスし、前記確保された
保護領域に対応するテーブルエントリの物理ページ番号
を読み出して退避した後、そのテーブルエントリの物理
ページ番号をNULLやダミー領域の物理ページ番号に
変更して当該保護領域のアンマッピングを行う。
【0019】その後、前記保護領域の確保を要求した要
求元が、前記確保された保護領域にアクセスして所定の
処理を実行する場合には、メモリ保護処理のインタフェ
ースに従って保護領域のマッピングを要求する。
【0020】保護領域マップ/アンマップ処理部は、前
記保護領域のマッピング要求を受け付けて、前記ページ
テーブル中の当該保護領域に対応するテーブルエントリ
に、前記退避しておいた保護領域の物理ページ番号を設
定して当該保護領域のマッピングを行う。
【0021】前記保護領域のマッピングが行われると、
そのマッピングを要求した要求元は、当該保護領域の仮
想アドレスにアクセスし、保護領域内のプログラムやデ
ータを用いた処理を実行する。その際、OSは、その仮
想アドレスを前記ページテーブルにより物理アドレスに
変換して保護領域へのアクセスを行う。
【0022】その後、前記保護領域のマッピングを要求
した要求元が、前記保護領域に対する処理を終了した場
合には、メモリ保護処理のインタフェースに従って保護
領域のアンマッピングを要求する。
【0023】保護領域マップ/アンマップ処理部は、前
記マッピングの行われた保護領域のアンマッピング要求
を受け付けて、前記ページテーブル中の当該保護領域に
対応するテーブルエントリの物理ページ番号をNULL
やダミー領域の物理ページ番号に変更して当該保護領域
のアンマッピングを行う。
【0024】また前記保護領域の確保を要求した要求元
が、前記確保された保護領域に対する処理を全て終了し
た場合には、メモリ保護処理のインタフェースに従って
保護領域の解放を要求する。
【0025】保護領域確保/解放処理部は、前記確保さ
れた保護領域の解放要求を受け付けて、物理メモリ上の
当該保護領域の解放をOSに依頼し、OSは当該保護領
域として割り当てられていた物理メモリの領域を解放す
る。
【0026】前記の様に本発明では、保護領域へのアク
セスが行われていないときには、ページテーブルに設定
された保護領域の物理ページ番号をNULLやダミー領
域の物理ページ番号に変更してアンマッピングしてお
り、アンマッピング中の状態では保護領域の仮想ページ
番号が正しい物理ページ番号に変換されないので、OS
レベルのプログラムが保護領域の仮想アドレスに不正に
アクセスしようとした場合でも保護領域内のプログラム
やデータを保護することが可能である。
【0027】以上の様に本発明の情報処理装置によれ
ば、ページテーブルに設定された物理ページ番号を変更
して保護領域中のプログラムまたはデータを擬似的に隠
蔽するので、OSレベルのプログラムによるメモリに対
する不正アクセスからメモリ上のプログラムまたはデー
タを保護することが可能である。
【0028】
【発明の実施の形態】以下にメモリ上にロードされたプ
ログラムまたはデータを保護する一実施形態の情報処理
装置について説明する。
【0029】図1は本実施形態の情報処理装置の概略構
成を示す図である。図1に示す様に本実施形態の計算機
100は、メモリ102に確保された保護領域中の保護
データ及び保護プログラムを保護するアクセス制御モジ
ュール113を備えており、アクセス制御モジュール1
13は、ページテーブル112上での保護領域の仮想ペ
ージ番号と物理ページ番号とのマッピングを制御して、
保護領域内のデータ及びプログラムの保護を行う。
【0030】図2は本実施形態のアクセス制御モジュー
ル113の概略構成を示す図である。図2に示す様に本
実施形態のアクセス制御モジュール113は、保護領域
確保/解放処理部201と、データローディング処理部
202と、プログラムローディング処理部203と、プ
ログラムリンケージ処理部204と、保護領域マップ/
アンマップ処理部205とを有している。
【0031】保護領域確保/解放処理部201は、プロ
グラムまたはデータを保護する為の保護領域の確保要求
を受け付けて、保護領域の物理メモリ上への確保をOS
110へ依頼し、前記確保された保護領域の解放要求を
受け付けて、物理メモリ上の当該保護領域の解放をOS
110に依頼する処理部である。
【0032】データローディング処理部202は、前記
依頼により確保された保護領域内に保護対象のデータを
ロードする処理部である。プログラムローディング処理
部203は、前記依頼により確保された保護領域内に保
護対象のプログラムをロードする処理部である。
【0033】プログラムリンケージ処理部204は、前
記確保された保護領域内に保護対象のプログラムへのリ
ンク情報を生成し、そのリンク情報に従って保護領域内
のプログラムへのリンクを行う処理部である。保護領域
マップ/アンマップ処理部205は、前記確保された保
護領域のマッピング要求を受け付けて、仮想ページ番号
と物理ページ番号との対応情報を格納しているページテ
ーブル112中の当該保護領域に対応するテーブルエン
トリにその保護領域の物理ページ番号を設定して当該保
護領域のマッピングを行い、前記マッピングの行われた
保護領域のアンマッピング要求を受け付けて、ページテ
ーブル112中の当該保護領域に対応するテーブルエン
トリの物理ページ番号を変更して当該保護領域のアンマ
ッピングを行う処理部である。
【0034】アクセス制御モジュール113を保護領域
確保/解放処理部201、データローディング処理部2
02、プログラムローディング処理部203、プログラ
ムリンケージ処理部204及び保護領域マップ/アンマ
ップ処理部205として機能させる為のプログラムは、
CD−ROM等の記録媒体に記録され磁気ディスク等に
格納された後、メモリにロードされて実行されるものと
する。なお前記プログラムを記録する記録媒体はCD−
ROM以外の他の記録媒体でも良い。また前記プログラ
ムを当該記録媒体から情報処理装置にインストールして
使用しても良いし、ネットワークを通じて当該記録媒体
にアクセスして前記プログラムを使用するものとしても
良い。
【0035】図3は本実施形態の情報保護処理の概要を
示す図である。図3に示す様に本実施形態の情報保護処
理は以下の様に行われる。 (1)OSモジュールBは、保護領域にアクセスする際
に、アクセス制御モジュール113に対して保護領域に
対応するマッピングの有効化を要求する。 (2)アクセス制御モジュール113は、当該保護領域
に対応するページテーブル112のテーブルエントリに
その保護領域の物理ページ番号を設定する。 (3)OSモジュールBは保護領域にアクセスし、保護
領域内のデータやプログラムによる処理を行う。 (4)OSモジュールBが保護領域に対する操作完了を
アクセス制御モジュール113へ通知する。 (5)アクセス制御モジュール113は、当該保護領域
に対応するページテーブル112のテーブルエントリの
物理ページ番号を変更し、その保護領域のアンマップを
行う。
【0036】前記の様にアンマップの行われた状態で、
OSモジュールAが保護領域にアクセスしようとした場
合、ページテーブル112のテーブルエントリには保護
領域の物理ページ番号が設定されていないので、保護領
域内のプログラムやデータはOSモジュールAによるア
クセスから擬似的に隠蔽される。
【0037】図4は本実施形態の保護領域のアンマッピ
ング処理の概要を示す図である。図4に示す様に本実施
形態では、OSモジュールBの保護領域へのアクセス時
のみページテーブル112のテーブルエントリに保護領
域の物理ページ番号を設定してマッピングを有効化し、
通常はページテーブル112の保護領域のテーブルエン
トリにNULLを設定して無効化しておく。この状態
で、OSモジュールA等の他のモジュールが保護領域に
アクセスしようとすると、ページテーブル112により
仮想ページ番号を物理ページ番号に変換する際にエラー
が発生し、保護領域内のプログラムやデータはOSモジ
ュールAによるアクセスから保護される。
【0038】図5は本実施形態のダミー領域の割り当て
処理の概要を示す図である。図5に示す様に本実施形態
において、ページテーブル112の保護領域に対応する
テーブルエントリの物理ページ番号をダミー領域の物理
ページ番号に変更して、保護領域内のデータ及びプログ
ラムの保護を行っても良い。
【0039】図4の様にページテーブル112の保護領
域のテーブルエントリにNULLを設定して無効化して
おき、OSモジュールA等の他のモジュールによる保護
領域へのアクセス時に仮想ページ番号から物理ページ番
号への変換時のエラーが発生した場合、システムによっ
ては前記変換時のエラーによりOS110の処理が異常
終了してしまうことが考えられるが、前記の様にダミー
領域を割り当てておくことにより、OS110の異常終
了を防止すると共に保護領域内のデータ及びプログラム
の保護を行うことができる。
【0040】図6は本実施形態の保護領域確保/解放処
理の処理手順を示すフローチャートである。図6に示す
様に計算機100の保護領域確保/解放処理部201
は、プログラムまたはデータを保護する為の保護領域の
確保要求を受け付けて、保護領域の物理メモリ上への確
保をOS110へ依頼し、前記確保された保護領域の解
放要求を受け付けて、物理メモリ上の当該保護領域の解
放をOS110に依頼する処理を行う。
【0041】本実施形態において、OSモジュール11
1等のモジュールが保護領域によるプログラムやデータ
の保護を受けようとする場合には、メモリ保護処理のイ
ンタフェースに従ってアクセス制御モジュール113を
呼び出して保護領域の確保を要求し、確保された保護領
域に保護対象のプログラムやデータをロードする。また
保護領域にローディングされたプログラムやデータの保
護が必要なくなった場合には、メモリ保護処理のインタ
フェースに従ってアクセス制御モジュール113を呼び
出して前記確保された保護領域の解放を要求し、保護領
域の解放行う。
【0042】ステップ601で計算機100の保護領域
確保/解放処理部201は、OSモジュール111から
保護領域の確保または解放の要求を受け付けると、その
受け付けた要求が保護領域の確保であるかどうかを調
べ、保護領域の確保である場合にはステップ602へ進
む。
【0043】ステップ602では、前記要求された保護
領域の物理メモリ上への確保をOS110へ依頼する。
OS110は、依頼された保護領域を物理メモリ上に確
保した後、仮想ページ番号と物理ページ番号との対応情
報を格納しているページテーブル112にアクセスし、
当該保護領域に対応するテーブルエントリの物理ページ
番号に、前記確保した領域の物理ページ番号を設定す
る。
【0044】ステップ603では、前記確保された保護
領域へのプログラムまたはデータのローディング要求が
OSモジュール111から行われているかどうかを調
べ、プログラムまたはデータのローディング要求が行わ
れている場合にはステップ604へ進む。
【0045】ステップ604では、前記ローディング要
求の内容を調べ、そのローディング要求の内容がプログ
ラムのローディング要求である場合には、保護領域の確
保要求元から指定された保護対象のプログラムをライブ
ラリファイル等から読み出してプログラムローディング
処理部203に渡し、プログラムローディング処理部2
03によりその保護対象のプログラムを前記保護領域内
にロードする。この際、プログラムの保護と共にその保
護対象のプログラムへのリンク情報の保護要求が行われ
ている場合には、プログラムリンケージ処理部204に
よりリンケージテーブルを当該保護領域内に生成し、前
記保護領域に格納されたプログラムへのアドレスを示す
リンク情報を前記生成したリンケージテーブル内に格納
する。
【0046】また前記ローディング要求の内容がデータ
のローディング要求である場合には、保護領域の確保要
求元から指定されたファイルまたは確保要求元自身から
保護対象のデータを受け取ってデータローディング処理
部202に渡し、データローディング処理部202によ
りその保護対象のデータを前記保護領域内にロードす
る。
【0047】次にステップ605で保護領域確保/解放
処理部201は、保護領域マップ/アンマップ処理部2
05を呼び出して、ページテーブル112にアクセス
し、前記確保された保護領域に対応するテーブルエント
リの物理ページ番号を読み出して退避した後、そのテー
ブルエントリの物理ページ番号をNULLやダミー領域
の物理ページ番号に変更して当該保護領域のアンマッピ
ングを行う。
【0048】そしてステップ606で保護領域確保/解
放処理部201は、前記保護領域の確保要求を行った要
求元を識別する為のIDを生成し、前記確保した保護領
域の仮想ページ番号と前記退避した物理ページ番号とを
対応付けて保護領域管理情報としてメモリ内に格納した
後、前記生成したIDを要求元に発行する。またその保
護領域内にリンケージテーブルの生成が行われた場合に
はそのリンケージテーブルの格納場所を示すアドレスを
前記保護領域管理情報に付加する。
【0049】図7は本実施形態の保護領域管理情報の概
要を示す図である。図7に示す様に保護領域管理情報に
は、保護領域の確保要求を行った要求元を識別する為の
IDと、確保された保護領域の仮想ページ番号及び物理
ページ番号と、保護領域内に生成されたリンケージテー
ブルへのアドレスが格納されている。
【0050】一方、ステップ601で調べた結果、OS
モジュール111から受け付けた要求が保護領域の解放
である場合にはステップ607へ進む。ステップ607
で保護領域確保/解放処理部201は、物理メモリ上の
当該保護領域の解放をOS110に依頼し、OS110
は当該保護領域として割り当てられていた物理メモリの
領域を解放する。ステップ608では、図7の保護領域
管理情報を参照し、前記解放された保護領域に対応する
テーブルエントリを削除する。
【0051】図8は本実施形態の保護領域マップ/アン
マップ処理の処理手順を示すフローチャートである。図
8に示す様に計算機100の保護領域マップ/アンマッ
プ処理部205は、保護領域確保/解放処理部201に
よって確保された保護領域のマッピング要求を受け付け
て、ページテーブル112中の当該保護領域に対応する
テーブルエントリにその保護領域の物理ページ番号を設
定して当該保護領域のマッピングを行い、前記マッピン
グの行われた保護領域のアンマッピング要求を受け付け
て、ページテーブル112中の当該保護領域に対応する
テーブルエントリの物理ページ番号を変更して当該保護
領域のアンマッピングを行う。
【0052】本実施形態において、保護領域の確保を要
求した要求元のOSモジュール111が、その要求によ
って確保された保護領域にアクセスして所定の処理を実
行する場合には、メモリ保護処理のインタフェースに従
ってアクセス制御モジュール113を呼び出して保護領
域のマッピングを要求し、保護領域へのアクセスが終了
した場合にはその保護領域のアンマッピングを要求す
る。例えば、保護領域のマッピングを要求する場合に
は、保護領域の確保時に発行されたIDとその保護領域
の仮想ページ番号を指定したマッピング要求を行う。
【0053】ステップ801で計算機100の保護領域
マップ/アンマップ処理部205は、OSモジュール1
11から保護領域のマッピングまたはアンマッピングの
要求を受け付けると、その受け付けた要求が保護領域の
マッピングであるかどうかを調べ、保護領域のマッピン
グである場合にはステップ802へ進む。
【0054】ステップ802では、前記保護領域のマッ
ピング要求中に指定されたIDと一致するレコードを前
記保護領域管理情報から読み出した後、当該レコード中
の仮想ページ番号と前記マッピング要求の行われた保護
領域の仮想ページ番号とを比較して、そのマッピング要
求が当該保護領域の確保を要求した正規の要求元から行
われたものであるかを判定し、正規の要求元からのマッ
ピング要求である場合にはステップ803へ進む。
【0055】ステップ803では、ページテーブル11
2中の当該保護領域に対応するテーブルエントリに、前
記読み出したレコード中の物理ページ番号を設定して当
該保護領域のマッピングを行う。
【0056】前記の様にして保護領域のマッピングが行
われると、そのマッピングを要求した要求元のOSモジ
ュール111は、当該保護領域の仮想アドレスにアクセ
スし、保護領域内のプログラムやデータを用いた処理を
実行する。その際、OS110は、その仮想アドレスを
ページテーブル112により物理アドレスに変換して保
護領域へのアクセスを行う。
【0057】その後、前記保護領域のマッピングを要求
した要求元のOSモジュール111が、前記保護領域に
対する処理を終了した場合には、メモリ保護処理のイン
タフェースに従ってアクセス制御モジュール113を呼
び出し、保護領域のアンマッピングを要求する。
【0058】すなわち、ステップ801で調べた結果、
OSモジュール111から受け付けた要求が保護領域の
アンマッピングである場合にはステップ804へ進む。
ステップ804では、ページテーブル112中の当該保
護領域に対応するテーブルエントリの物理ページ番号を
NULLやダミー領域の物理ページ番号に変更して当該
保護領域のアンマッピングを行う。
【0059】上記までに説明した保護領域のマップ処理
およびアンマップ処理において、保護領域をマッピング
しているスレッドがアンマップ要求を要求する前に他の
スレッドに切り替わり、保護領域をマッピングしたまま
の状態にならないように、ステップ803において、該
計算機100のCPU101の割り込み受け入れ状態を
保存し、CPU101の割り込み受け入れ状態を割り込
み禁止状態にした後に保護領域をマッピングし、ステッ
プ804において、保護領域をアンマッピングした後
に、ステップ803で保存したCPU101の割り込み
受け入れ状態を、CPU101に設定しても良い。
【0060】また、上記までに説明した保護領域のマッ
プ/アンマップ処理では、OSモジュール111から要
求を受け付けてマッピングあるいはアンマッピングを行
うものとしているが、保護領域をマッピングしているス
レッドから他のスレッドに切り替えるときに、切り替え
前のスレッドでマッピングされていた保護領域を保護領
域マップ/アンマップ処理部205によりアンマッピン
グし、再度、該スレッドに切り替わるときに、該スレッ
ドがマッピングしていた保護領域を保護領域マップ/ア
ンマップ処理部205により、再度マッピングするもの
としても良い。
【0061】更に本実施形態では、保護領域にローディ
ングされたプログラムへのリンク情報を示すリンケージ
テーブルも保護領域内に格納可能としており、プログラ
ムリンケージ処理部204は、この様なプログラムへの
リンク処理を行う。
【0062】図9は本実施形態のプログラムリンケージ
処理の処理手順を示すフローチャートである。図9に示
す様に計算機100のプログラムリンケージ処理部20
4は、前記確保された保護領域内に生成されたリンク情
報に従って保護領域内のプログラムへのリンクを行う。
【0063】ステップ901でプログラムリンケージ処
理部204は、前記保護領域にローディングされたプロ
グラムへのリンク要求を受け付けているかどうかを調
べ、前記リンク要求を受け付けている場合にはステップ
902へ進む。ステップ902では、前記リンク要求中
に指定されたIDと一致するレコードを前記保護領域管
理情報から読み出した後、保護領域内のリンケージテー
ブルの格納場所を示すアドレスを当該レコードから読み
出す。
【0064】ステップ903では、前記アドレスを元に
保護領域内のリンケージテーブルを参照し、リンク要求
の行われたプログラムの先頭アドレスを前記リンケージ
テーブルから読み出す。ステップ904では、前記読み
出した先頭アドレスに制御を移してリンク要求の行われ
た保護領域内のプログラムを起動し、保護対象のプログ
ラムへのリンクを行う。
【0065】前記の様に本実施形態では、保護領域にロ
ーディングされたプログラムへのリンク情報を示すリン
ケージテーブルを保護領域内に生成し、保護対象のプロ
グラムだけでなくその格納場所を示す情報も隠蔽してい
るので、保護対象のプログラムのセキュリティを更に高
めることが可能である。
【0066】以上の様に本実施形態では、保護領域への
アクセスが行われていないときには、ページテーブル1
12に設定された保護領域の物理ページ番号をNULL
やダミー領域の物理ページ番号に変更してアンマッピン
グしており、アンマッピング中の状態では保護領域の仮
想ページ番号が正しい物理ページ番号に変換されないの
で、メモリ102上に不正に挿入されたOSレベルのプ
ログラムが保護領域の仮想アドレスに不正にアクセスし
ようとした場合でも保護領域内のプログラムやデータを
保護することが可能である。また本実施形態のアクセス
制御モジュール113を呼び出す為のメモリ保護処理の
インタフェースを非公開とすることにより、メモリ上に
不正に挿入されたOSレベルのプログラムによるアクセ
ス制御モジュール113の呼び出しを防ぎ、保護領域内
のデータやプログラムのセキュリティをより高めること
が可能である。
【0067】特開2001−337864号公報に記載
の様に、サービス用OSやセキュリティOS等の互いに
独立した領域で動作する複数のOSを情報処理装置にイ
ンストールしてマルチOS構成とする技術では、アクセ
ス制御プログラム及びポリシーデータをセキュリティO
S側にロードすることでアクセス制御プログラム及びポ
リシーデータを保護しているが、本実施形態において、
OSモジュール111としてI/Oマネージャ、ファイ
ルI/Oフックプログラムやファイルシステムドライバ
等を動作させ、保護対象のプログラム及びデータとして
アクセス制御プログラム及びポリシーデータを保護領域
内にロードし、情報処理装置上で要求されたアクセスが
許可されているかどうかを問合せるときにのみ、保護領
域内のアクセス制御プログラム及びポリシーデータをマ
ッピングすることにより、前記マルチOS構成時と同様
に高いセキュリティを実現することができる。
【0068】以上説明した様に本実施形態の情報処理装
置によれば、ページテーブルに設定された物理ページ番
号を変更して保護領域中のプログラムまたはデータを擬
似的に隠蔽するので、OSレベルのプログラムによるメ
モリに対する不正アクセスからメモリ上のプログラムま
たはデータを保護することが可能である。
【0069】
【発明の効果】本発明によればページテーブルに設定さ
れた物理ページ番号を変更して保護領域中のプログラム
またはデータを擬似的に隠蔽するので、OSレベルのプ
ログラムによるメモリに対する不正アクセスからメモリ
上のプログラムまたはデータを保護することが可能であ
る。
【図面の簡単な説明】
【図1】本実施形態の情報処理装置の概略構成を示す図
である。
【図2】本実施形態のアクセス制御モジュール113の
概略構成を示す図である。
【図3】本実施形態の情報保護処理の概要を示す図であ
る。
【図4】本実施形態の保護領域のアンマッピング処理の
概要を示す図である。
【図5】本実施形態のダミー領域の割り当て処理の概要
を示す図である。
【図6】本実施形態の保護領域確保/解放処理の処理手
順を示すフローチャートである。
【図7】本実施形態の保護領域管理情報の概要を示す図
である。
【図8】本実施形態の保護領域マップ/アンマップ処理
の処理手順を示すフローチャートである。
【図9】本実施形態のプログラムリンケージ処理の処理
手順を示すフローチャートである。
【符号の説明】
100…計算機、101…CPU、102…メモリ、1
03…LANコントローラ、104…ディスクコントロ
ーラ、105…磁気ディスク装置、110…OS、11
1…OSモジュール、112…ページテーブル、113
…アクセス制御モジュール、120…ネットワーク、2
01…保護領域確保/解放処理部、202…データロー
ディング処理部、203…プログラムローディング処理
部、204…プログラムリンケージ処理部、205…保
護領域マップ/アンマップ処理部。
フロントページの続き (72)発明者 木村 信二 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 大島 訓 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B005 JJ01 MM31 5B017 AA01 BA04 BB08 CA01 5B098 GA02 GA05 GD04 GD16 HH07 JJ03

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 メモリ上にロードされたプログラムまた
    はデータを保護する情報保護方法において、 プログラムまたはデータを保護する為の保護領域の確保
    要求を受け付けて、保護領域の物理メモリ上への確保を
    OSへ依頼するステップと、前記依頼により確保された
    保護領域内に保護対象のプログラムまたはデータをロー
    ドするステップと、 前記確保された保護領域のマッピング要求を受け付け
    て、仮想ページ番号と物理ページ番号との対応情報を格
    納しているページテーブル中の当該保護領域に対応する
    テーブルエントリにその保護領域の物理ページ番号を設
    定して当該保護領域のマッピングを行うステップと、 前記マッピングの行われた保護領域のアンマッピング要
    求を受け付けて、前記ページテーブル中の当該保護領域
    に対応するテーブルエントリの物理ページ番号を変更し
    て当該保護領域のアンマッピングを行うステップと、前
    記確保された保護領域の解放要求を受け付けて、物理メ
    モリ上の当該保護領域の解放をOSに依頼するステップ
    とを有することを特徴とする情報保護方法。
  2. 【請求項2】 前記保護領域の確保の際に、当該保護領
    域の確保要求を行った要求元を識別する為の識別情報を
    その要求元に発行し、保護領域のマッピング要求と共に
    受け付けた識別情報とその保護領域の確保時の識別情報
    とが一致する場合に、当該保護領域のマッピングを行う
    ことを特徴とする請求項1に記載された情報保護方法。
  3. 【請求項3】 前記アンマッピングの際に、保護領域に
    対応するテーブルエントリの物理ページ番号をダミー領
    域の物理ページ番号に変更することを特徴とする請求項
    1または請求項2のいずれかに記載された情報保護方
    法。
  4. 【請求項4】 保護領域をマッピングしているスレッド
    を他のスレッドに切り替えるときに、そのマッピングさ
    れている保護領域をアンマッピングし、その後、他のス
    レッドから保護領域をマッピングしていたスレッドに再
    度切り替えるときに、そのスレッドでマッピングされて
    いた保護領域を再度マッピングすることを特徴とする請
    求項1乃至請求項3のいずれか1項に記載された情報保
    護方法。
  5. 【請求項5】 前記マッピングの際に、CPUの割り込
    み受け入れ状態を保存してCPUを割り込み禁止状態し
    た後に保護領域のマッピングを行い、前記アンマッピン
    グの際には、保護領域をアンマッピングした後にCPU
    の割り込み受け入れ状態を前記保存した状態に設定する
    ことを特徴とする請求項1乃至請求項3のいずれか1項
    に記載された情報保護方法。
  6. 【請求項6】 前記確保された保護領域内に保護対象の
    プログラムへのリンク情報を生成し、そのリンク情報に
    従って保護領域内のプログラムへのリンクを行うことを
    特徴とする請求項1乃至請求項5のいずれか1項に記載
    された情報保護方法。
  7. 【請求項7】 メモリ上にロードされたプログラムまた
    はデータを保護する情報処理装置において、 プログラムまたはデータを保護する為の保護領域の確保
    要求を受け付けて、保護領域の物理メモリ上への確保を
    OSへ依頼し、前記確保された保護領域の解放要求を受
    け付けて、物理メモリ上の当該保護領域の解放をOSに
    依頼する保護領域確保/解放処理部と、 前記依頼により確保された保護領域内に保護対象のプロ
    グラムまたはデータをロードするローディング処理部
    と、 前記確保された保護領域のマッピング要求を受け付け
    て、仮想ページ番号と物理ページ番号との対応情報を格
    納しているページテーブル中の当該保護領域に対応する
    テーブルエントリにその保護領域の物理ページ番号を設
    定して当該保護領域のマッピングを行い、前記マッピン
    グの行われた保護領域のアンマッピング要求を受け付け
    て、前記ページテーブル中の当該保護領域に対応するテ
    ーブルエントリの物理ページ番号を変更して当該保護領
    域のアンマッピングを行う保護領域マップ/アンマップ
    処理部とを備えることを特徴とする情報処理装置。
  8. 【請求項8】 前記保護領域確保/解放処理部は、前記
    保護領域の確保の際に、当該保護領域の確保要求を行っ
    た要求元を識別する為の識別情報をその要求元に発行
    し、前記保護領域マップ/アンマップ処理部は、保護領
    域のマッピング要求と共に受け付けた識別情報とその保
    護領域の確保時の識別情報とが一致する場合に、当該保
    護領域のマッピングを行うものであることを特徴とする
    請求項7に記載された情報処理装置。
  9. 【請求項9】 前記保護領域マップ/アンマップ処理部
    は、前記アンマッピングの際に、保護領域に対応するテ
    ーブルエントリの物理ページ番号をダミー領域の物理ペ
    ージ番号に変更するものであることを特徴とする請求項
    7または請求項8のいずれかに記載された情報処理装
    置。
  10. 【請求項10】 前記保護領域マップ/アンマップ処理
    部は、保護領域をマッピングしているスレッドを他のス
    レッドに切り替えるときに、そのマッピングされている
    保護領域をアンマッピングし、その後、他のスレッドか
    ら保護領域をマッピングしていたスレッドに再度切り替
    えるときに、そのスレッドでマッピングされていた保護
    領域を再度マッピングするものであることを特徴とする
    請求項7乃至請求項9のいずれか1項に記載された情報
    処理装置。
  11. 【請求項11】 前記保護領域マップ/アンマップ処理
    部は、前記マッピングの際に、CPUの割り込み受け入
    れ状態を保存してCPUを割り込み禁止状態した後に保
    護領域のマッピングを行い、前記アンマッピングの際に
    は、保護領域をアンマッピングした後にCPUの割り込
    み受け入れ状態を前記保存した状態に設定するものであ
    ることを特徴とする請求項7乃至請求項9のいずれか1
    項に記載された情報処理装置。
  12. 【請求項12】 前記確保された保護領域内に保護対象
    のプログラムへのリンク情報を生成し、そのリンク情報
    に従って保護領域内のプログラムへのリンクを行うプロ
    グラムリンケージ処理部を備えることを特徴とする請求
    項7乃至請求項11のいずれか1項に記載された情報処
    理装置。
  13. 【請求項13】 メモリ上にロードされたプログラムま
    たはデータを保護する情報処理装置としてコンピュータ
    を機能させる為のプログラムにおいて、 プログラムまたはデータを保護する為の保護領域の確保
    要求を受け付けて、保護領域の物理メモリ上への確保を
    OSへ依頼し、前記確保された保護領域の解放要求を受
    け付けて、物理メモリ上の当該保護領域の解放をOSに
    依頼する保護領域確保/解放処理部と、 前記依頼により確保された保護領域内に保護対象のプロ
    グラムまたはデータをロードするローディング処理部
    と、 前記確保された保護領域のマッピング要求を受け付け
    て、仮想ページ番号と物理ページ番号との対応情報を格
    納しているページテーブル中の当該保護領域に対応する
    テーブルエントリにその保護領域の物理ページ番号を設
    定して当該保護領域のマッピングを行い、前記マッピン
    グの行われた保護領域のアンマッピング要求を受け付け
    て、前記ページテーブル中の当該保護領域に対応するテ
    ーブルエントリの物理ページ番号を変更して当該保護領
    域のアンマッピングを行う保護領域マップ/アンマップ
    処理部としてコンピュータを機能させることを特徴とす
    るプログラム。
  14. 【請求項14】 前記保護領域確保/解放処理部は、前
    記保護領域の確保の際に、当該保護領域の確保要求を行
    った要求元を識別する為の識別情報をその要求元に発行
    し、前記保護領域マップ/アンマップ処理部は、保護領
    域のマッピング要求と共に受け付けた識別情報とその保
    護領域の確保時の識別情報とが一致する場合に、当該保
    護領域のマッピングを行うものであることを特徴とする
    請求項13に記載されたプログラム。
  15. 【請求項15】 前記保護領域マップ/アンマップ処理
    部は、前記アンマッピングの際に、保護領域に対応する
    テーブルエントリの物理ページ番号をダミー領域の物理
    ページ番号に変更するものであることを特徴とする請求
    項13または請求項14のいずれかに記載されたプログ
    ラム。
  16. 【請求項16】 前記保護領域マップ/アンマップ処理
    部は、保護領域をマッピングしているスレッドを他のス
    レッドに切り替えるときに、そのマッピングされている
    保護領域をアンマッピングし、その後、他のスレッドか
    ら保護領域をマッピングしていたスレッドに再度切り替
    えるときに、そのスレッドでマッピングされていた保護
    領域を再度マッピングするものであることを特徴とする
    請求項13乃至請求項15のいずれか1項に記載された
    プログラム。
  17. 【請求項17】 前記保護領域マップ/アンマップ処理
    部は、前記マッピングの際に、CPUの割り込み受け入
    れ状態を保存してCPUを割り込み禁止状態した後に保
    護領域のマッピングを行い、前記アンマッピングの際に
    は、保護領域をアンマッピングした後にCPUの割り込
    み受け入れ状態を前記保存した状態に設定するものであ
    ることを特徴とする請求項13乃至請求項15のいずれ
    か1項に記載されたプログラム。
  18. 【請求項18】 前記確保された保護領域内に保護対象
    のプログラムへのリンク情報を生成し、そのリンク情報
    に従って保護領域内のプログラムへのリンクを行うプロ
    グラムリンケージ処理部としてコンピュータを機能させ
    ることを特徴とする請求項13乃至請求項17のいずれ
    か1項に記載されたプログラム。
JP2002053638A 2002-02-28 2002-02-28 情報保護方法及びその実施装置並びにその処理プログラム Pending JP2003256278A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002053638A JP2003256278A (ja) 2002-02-28 2002-02-28 情報保護方法及びその実施装置並びにその処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002053638A JP2003256278A (ja) 2002-02-28 2002-02-28 情報保護方法及びその実施装置並びにその処理プログラム

Publications (1)

Publication Number Publication Date
JP2003256278A true JP2003256278A (ja) 2003-09-10

Family

ID=28665011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002053638A Pending JP2003256278A (ja) 2002-02-28 2002-02-28 情報保護方法及びその実施装置並びにその処理プログラム

Country Status (1)

Country Link
JP (1) JP2003256278A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135396A (ja) * 2003-10-30 2005-05-26 Microsoft Corp アドレス変換制御のためのシャドウ・ページテーブル
US7512761B2 (en) 2005-10-28 2009-03-31 Samsung Electronics Co., Ltd. Programmable processor and methods thereof having memory access locking

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135396A (ja) * 2003-10-30 2005-05-26 Microsoft Corp アドレス変換制御のためのシャドウ・ページテーブル
US7512761B2 (en) 2005-10-28 2009-03-31 Samsung Electronics Co., Ltd. Programmable processor and methods thereof having memory access locking

Similar Documents

Publication Publication Date Title
JP4177957B2 (ja) アクセス制御システム
CN109766165B (zh) 一种内存访问控制方法、装置、内存控制器及计算机系统
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
US7035850B2 (en) Access control system
JP5249399B2 (ja) 安全なメモリ区分を使用した安全な実行のための方法および装置
Jin et al. Architectural support for secure virtualization under a vulnerable hypervisor
JP4811271B2 (ja) 情報通信装置及びプログラム実行環境制御方法
US7975117B2 (en) Enforcing isolation among plural operating systems
US8909940B2 (en) Extensible pre-boot authentication
US7380049B2 (en) Memory protection within a virtual partition
WO2019192344A1 (zh) 基于信任区的操作系统和方法
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US20130298205A1 (en) Architecture for virtual security module
JP2014532201A (ja) 仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム
JPH1124919A (ja) 安全な記憶領域でアプリケーション・データを保護する方法及び装置
WO2006101549A2 (en) Secure system for allowing the execution of authorized computer program code
EP3867783B1 (en) Parameter signature for realm security configuration parameters
CN112417470B (zh) 实现gpu数据安全访问的方法、装置、电子设备及存储介质
CN112818327A (zh) 基于TrustZone的用户级代码和数据安全可信保护方法及装置
JP4375980B2 (ja) マルチタスク実行システム及びマルチタスク実行方法
CN116126463A (zh) 内存访问方法、配置方法、计算机系统及相关器件
JP2003256278A (ja) 情報保護方法及びその実施装置並びにその処理プログラム
CN114372255A (zh) 一种基于应用软件指纹的身份认证方法及设备
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
US20230267196A1 (en) Confidential Computing with Device Memory Isolation