JP3638714B2 - 記憶データ保護装置 - Google Patents
記憶データ保護装置 Download PDFInfo
- Publication number
- JP3638714B2 JP3638714B2 JP12863596A JP12863596A JP3638714B2 JP 3638714 B2 JP3638714 B2 JP 3638714B2 JP 12863596 A JP12863596 A JP 12863596A JP 12863596 A JP12863596 A JP 12863596A JP 3638714 B2 JP3638714 B2 JP 3638714B2
- Authority
- JP
- Japan
- Prior art keywords
- management table
- module
- access
- access right
- data segment
- 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
Links
Images
Description
【発明の属する技術分野】
この発明は、プロセッサおよびメモリを有する電子計算機において、単一のプログラム内の各種機能モジュール間で記憶データの保護を行う記憶データ保護装置に関するものである。
【0002】
【従来の技術】
図21は例えば特開平4−199341号公報に示された従来の記憶データ保護装置を示すブロック図であり、図において、10はプロセッサ、11はメモリ、12はメモリ11上のアドレス範囲で定義される各種データセグメント毎にアクセス可能なプロセスを示すメモリアクセスキーを格納するアクセス権管理テーブルである。13は現在走行するプロセスのメモリアクセスキーを保持するアクセスキーレジスタ、14はアクセス権管理テーブル12とアクセスキーレジスタ13を用いて現在走行するプロセスがプロセッサ10から要求されたアドレスに対応するデータセグメントにアクセス可能であるかどうかを判定するアクセス権判定手段である。アクセスキーレジスタ13には、プロセスが走行を開始する時に対応するメモリアクセスキーが設定される。
【0003】
図22はアクセス権管理テーブルの構造を示す説明図であり、図において、15はアクセス権管理テーブル12のインデックスとしてのデータセグメントインデックス、16はデータセグメント開始アドレス、17はデータセグメントサイズ、18はデータセグメントインデックス15で示されるデータセグメントに対してアクセス可能なプロセスのメモリアクセスキーである。
【0004】
次に動作について説明する。
図23は従来の記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートであり、この図23を用いて説明する。
まず、ステップST231でプロセッサ10がアクセスしたいアドレスをアクセス権判定手段14に送ると、アクセス権判定手段14は、ステップST232で送られたアドレスをもとにアクセス権管理テーブル12を参照し、アドレスに対応したメモリアクセスキー18を取得する。
【0005】
次に、ステップST233で、取得したメモリアクセスキー18をアクセスキーレジスタ13の内容と比較し、現在走行しているプロセスに対してアクセスが許可されているかどうかの判定を行う。アクセスが許可されていると判定した場合は、ステップST234に進み、アドレスをメモリ11に送る。そして、ステップST235で、メモリ11はアドレスに対応したメモリ11の内容をプロセッサ10に送る。ステップST233にてアクセスが許可されていないと判定した場合は、ステップST236に進み、プロセッサ10に対して不当アクセス要求であることを通知する。
【0006】
【発明が解決しようとする課題】
従来の記憶データ保護装置は以上のように構成されているので、記憶データの保護が、オペレーティングシステムにおける制御の基本単位であるプロセス間でしか行うことができなかった。プロセス、即ちプログラムは複数の機能モジュールの集合体である。例えば、複数の開発者が作成した異なる機能モジュールを組み上げてできるプログラムにおいて、ある機能モジュールが全く関係のない他の機能モジュールのデータを破壊してしまったような場合、従来技術による記憶データ保護装置は効力を持つことができない。この場合、不当なアクセスにも拘らずその不当なアクセスを検出することができないため、プログラムの暴走を引き起こしてしまうなどの課題があった。
【0007】
この発明は上記のような課題を解決するためになされたもので、1つのプログラム内の複数の機能モジュール間で記憶データの保護を実現することができる記憶データ保護装置を得ることを目的とする。
【0008】
【課題を解決するための手段】
請求項1記載の発明に係る記憶データ保護装置は、メモリ上のアドレス範囲で各種モジュールを定義するモジュール管理テーブル、およびメモリ上のアドレス範囲で定義される各種データセグメント毎にアクセスが許可されているモジュールを上記モジュール管理テーブル上のインデックスで複数登録するデータセグメント管理テーブルからなるアクセス権管理テーブルと、プロセッサから要求されたアドレスが上記アクセス権管理テーブルで定義されたデータセグメントである場合にそのアクセス権管理テーブルを用いて現在のプログラムカウンタに対応するモジュールがそのデータセグメントをアクセス可能であるかどうかを判定するアクセス権判定手段とを備えたものである。
【0009】
請求項2記載の発明に係る記憶データ保護装置は、アクセス権管理テーブルを更新するための空き領域があるかを検査し、空き領域が不足と判定された場合にそのアクセス権管理テーブルの拡張領域を確保するアクセス権管理テーブル更新手段を備えたものである。
【0010】
請求項3記載の発明に係る記憶データ保護装置は、アクセス権管理テーブル更新手段を用いてモジュール管理テーブルにモジュールを登録するモジュールインストール手段と、メモリの獲得または解放に合わせてデータセグメント管理テーブルにデータセグメントを登録または削除するメモリ獲得解放手段と、アクセス許可を申請したモジュールを上記データセグメント管理テーブルのアクセス可能モジュールに追加するデータアクセス宣言手段とを備えたものである。
【0011】
請求項4記載の発明に係る記憶データ保護装置は、アクセス権判定手段によって検出された不当アクセスによるプロセッサからの通知を検出するトラップ検出手段と、そのトラップ検出手段がトラップを検出した際に不当アクセスの内容としてアクセス権管理テーブルの内容とプログラムカウンタとアクセスアドレスを二次記憶装置に記録する不当アクセス内容記録手段とを備えたものである。
【0012】
請求項5記載の発明に係る記憶データ保護装置は、各モジュール毎に切り離しが可能か否かを表すフラグと切り離し手続き用の関数アドレスを有するモジュール管理テーブルと、トラップ検出手段からの要求に応じて上記フラグを検査し、切り離しが可能であれば上記切り離し手続き用の関数アドレスから始まる関数を実行し、不当アクセスを行ったモジュールの切り離しを行うモジュールアンインストール手段とを備えたものである。
【0013】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による記憶データ保護装置を示すブロック図であり、図において、10はプロセッサ、11はメモリ、20はメモリ11上のアドレス範囲で定義される各種データセグメント毎にアクセスが許可されているメモリ11上のモジュールのアドレス範囲を格納しているアクセス権管理テーブル、21はプロセッサ10から要求されたアドレスがアクセス権管理テーブル20で定義されたデータセグメントである場合にアクセス権管理テーブル20を用いて現在のプログラムカウンタに対応するモジュールがそのデータセグメントをアクセス可能であるかどうかを判定するアクセス権判定手段である。
【0014】
図2はアクセス権管理テーブルの構造を示す説明図であり、図において、15はアクセス権管理テーブル20のインデックスとしてのデータセグメントインデックス、16はデータセグメント開始アドレス、17はデータセグメントサイズである。22は各データセグメントインデックス15に対応するデータセグメントについてのアクセス可能モジュール開始アドレス、23はアクセス可能モジュールサイズである。
【0015】
次に動作について説明する。
図3はこの実施の形態1による記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートであり、以下、この図3を参照しながら説明する。
まず、ステップST31でプロセッサ10がアクセスしたいアドレスをアクセス権判定手段21に送ると、アクセス権判定手段21は、ステップST32で送られたアドレスをもとにアクセス権管理テーブル20のデータセグメント開始アドレス16とデータセグメントサイズ17を参照し、送られたアドレスに対応するデータセグメントインデックス15を取得する。
【0016】
次に、ステップST33で、現在のプログラムカウンタが取得したモジュールと、送られたアドレスに対応するデータセグメントインデックス15のアクセス可能モジュール開始アドレス22及びアクセス可能モジュールサイズ23から、現在のプログラムカウンタが取得したモジュールがアクセス可能モジュールの範囲内であるかどうかを検査して、アクセスが許可されているかどうか判定を行う。アクセスが許可されていると判定した場合は、ステップST34に進み、アドレスをメモリ11に送る。そして、ステップST35で、メモリ11はアドレスに対応したメモリ11の内容をプロセッサ10に送る。ステップST33にてアクセスが許可されていないと判定した場合は、ステップST36に進み、プロセッサ10に対して不当アクセス要求であることを通知する。
【0017】
以上のように、この実施の形態1によれば、現在のプログラムカウンタをもとにアクセス権管理テーブル20を参照して、モジュール単位で記憶データの保護を行うことができるため、1つのプログラム内の複数の機能モジュール間で記憶データの保護を実現することができる効果がある。
【0018】
実施の形態2.
図4はこの発明の実施の形態2による記憶データ保護装置を示すブロック図であり、図において、30はメモリ11上のアドレス範囲で各種モジュールを定義するモジュール管理テーブル、31はメモリ11上のアドレス範囲で定義される各種データセグメント毎にアクセスが許可されているモジュールをモジュール管理テーブル30上のインデックスで複数登録されたデータセグメント管理テーブルである。
【0019】
図5はモジュール管理テーブルの構造を示す説明図であり、図において、32はモジュール管理テーブル30のインデックスとしてのモジュールインデックス、33はモジュール開始アドレス、34はモジュールサイズである。
図6はデータセグメント管理テーブルの構造を示す説明図であり、図において、35はデータセグメントインデックス15に対応するデータセグメントに対してアクセスが許可されたモジュールをモジュールインデックス32で示すアクセス可能モジュールインデックスである。
なお、その他の構成については上記実施の形態1と同一なのでその重複する説明を省略する。
【0020】
次に動作について説明する。
図7はこの実施の形態2による記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートであり、以下、この図7を参照しながら説明する。
まず、ステップST71でプロセッサ10がアクセスしたいアドレスをアクセス権判定手段21に送ると、アクセス権判定手段21は、ステップST72では送られたアドレスをもとにデータセグメント管理テーブル31のデータセグメント開始アドレス16とデータセグメントサイズ17を参照し、送られたアドレスに対応するデータセグメントインデックス15を取得する。
【0021】
次に、ステップST73で、取得したデータセグメントインデックス15に対応するアクセス可能モジュールインデックス35を順次取得する。そして、ステップST74にて、モジュール管理テーブル30において、現在のプログラムカウンタが取得したモジュールと、アクセス可能モジュールインデックス35によって順次取得されたモジュールインデックス32のモジュール開始アドレス33及びモジュールサイズ34から、現在のプログラムカウンタが取得したモジュールがアクセス可能モジュールの範囲内であるかどうかを検査して、アクセスが許可されているかどうかの判定を行う。アクセスが許可されていると判定した場合は、ステップST75に進み、アドレスをメモリ11に送る。そして、ステップST76で、メモリ11はアドレスに対応したメモリ11の内容をプロセッサ10に送る。
【0022】
ステップST74にてアクセスが許可されていないと判定した場合は、ステップST77に進み、全てのアクセス可能モジュールインデックス35について検査が終了していなかった場合、再びステップST73に戻ってアクセス権判定を行う。ステップST77にて全てのアクセス可能モジュールインデックス35について検査が終了していた場合、ステップST78に進み、プロセッサ10に対して不当アクセス要求であることを通知する。
【0023】
以上のように、この実施の形態2によれば、アクセス権判定手段21がアクセスしたデータセグメントについて、アクセス可能モジュールインデックス35として登録されているすべてのモジュールを検査するため、複数のモジュール間で1つのデータセグメントを共有することができる効果がある。
【0024】
実施の形態3.
図8はこの発明の実施の形態3による記憶データ保護装置を示すブロック図であり、図において、40はアクセス権管理テーブル20を更新するための空き領域があるかを検査し、空き領域が不足と判定された場合にそのアクセス権管理テーブル20の拡張領域を確保するアクセス権管理テーブル更新手段である。
なお、その他の構成については上記実施の形態2と同一なのでその重複する説明を省略する。
【0025】
次に動作について説明する。
図9はこの実施の形態3による記憶データ保護装置におけるアクセス権管理テーブル更新処理の流れを示すフローチャートであり、以下、この図9を参照しながら説明する。
アクセス権管理テーブル更新手段40は、まず、ステップST91で、初期設定であった場合にステップST92に進み、アクセス権管理テーブル20用の領域を確保する。次にステップST93で、モジュール管理テーブル30におけるモジュールインデックス32が0のエントリにアクセス権管理テーブル更新モジュール40用のエントリを作成する。そしてステップST94で、データセグメント管理テーブル31におけるデータセグメントインデックス15が0のエントリにアクセス権管理テーブル20用のエントリを作成する。
【0026】
次にステップST95にて、アクセス権管理テーブル20を更新するための十分な空き領域があるかないかを検査し、空き領域が十分あると判定された場合、ステップST96に進み、アクセス権判定手段21を用いたメモリアクセスにより要求された更新処理を行う。ステップST91にて初期設定でなかった場合はステップST95に進み、アクセス権管理テーブル20を更新するための十分な空き領域があるかないかを検査する。ステップST95にて空き領域が不足と判定された場合、ステップST97に進み、アクセス権管理テーブル20用の拡張領域を確保する。次にステップST98で、データセグメント管理テーブル31の空きエントリにアクセス権管理テーブル20用の追加エントリを作成する。そして、ステップST96で、アクセス権判定手段21を用いたメモリアクセスにより要求された更新処理を行う。
【0027】
以上のように、この実施の形態3によれば、アクセス権管理テーブル20を更新できるのはアクセス権管理テーブル更新手段40だけとなるため、アクセス権管理テーブル20を誤操作による破壊から守り、安全に更新することができる効果がある。
【0028】
実施の形態4.
図10はこの発明の実施の形態4による記憶データ保護装置を示すブロック図であり、図において、50はモジュール管理テーブル30にモジュールを登録するモジュールインストール手段、51はメモリの獲得または解放に合わせてデータセグメント管理テーブル31にデータセグメントを登録したり削除したりするメモリ獲得解放手段、52はアクセス許可を申請したモジュールをデータセグメント管理テーブル31のアクセス可能モジュールインデックス35に追加するデータアクセス宣言手段である。
なお、その他の構成については上記実施の形態3と同一なのでその重複する説明を省略する。
【0029】
次に動作について説明する。
図11はこの実施の形態4による記憶データ保護装置におけるモジュールインストール処理の流れを示すフローチャートであり、以下、この図11を参照しながら説明する。
モジュールインストール手段50は、まず、ステップST111で、要求されたモジュールをインストールする。そして、ステップST112で、アクセス権管理テーブル更新手段40を用いてモジュール管理テーブル30にインストールしたモジュールのエントリを追加する。
【0030】
図12はメモリ獲得解放処理の流れを示すフローチャートであり、以下、この図12を参照しながら説明する。
メモリ獲得解放手段51は、まず、ステップST121で、要求がメモリ獲得か解放かを判別し、獲得要求の場合にステップST122に進み、アクセス権管理テーブル更新手段40を用いてデータセグメント管理テーブル31に獲得したデータセグメント用のエントリを作成する。次にステップST123で、モジュール管理テーブル30と現在のプログラムカウンタから要求元モジュールに対応するモジュールインデックス32を取得する。
【0031】
そして、ステップST124で、アクセス権管理テーブル更新手段40を用いて取得したモジュールインデックス32をアクセス可能モジュールインデックス35としてデータセグメント管理テーブル31に登録する。ステップST121にて、解放要求であった場合、ステップST125に進み、アクセス権管理テーブル更新手段40を用いてデータセグメント管理テーブル31から対応するデータセグメントのエントリを削除する。
【0032】
図13はデータアクセス宣言処理の流れを示すフローチャートであり、以下、この図13を参照しながら説明する。
データアクセス宣言手段52は、まず、ステップST131で、データセグメント管理テーブル31から宣言されたアドレスに対応するデータセグメントを特定する。次にステップST132で、モジュール管理テーブル30と現在のプログラムカウンタから要求元モジュールに対応するモジュールインデックス32を取得する。
【0033】
そして、ステップST133で、取得したモジュールインデックス32が、アクセス宣言されたデータセグメントに対して既にアクセス許可されているかどうかを検査し、まだ許可されていなかった場合は、ステップST134に進み、アクセス権管理テーブル更新手段40を用いて取得したモジュールインデックス32をアクセス可能モジュールインデックス35としてデータセグメント管理テーブル31に登録する。ステップST133にて既に許可されていた場合は、そのまま処理を終了する。
【0034】
以上のように、この実施の形態4によれば、モジュールインストール手段50がモジュールインストール時にモジュール管理テーブル30を作成し、メモリ獲得解放手段51がデータセグメントの生成または削除に合わせてデータセグメント管理テーブル31の更新を行い、データアクセス宣言手段52がモジュールが自発的に宣言した時にアクセス可能モジュールインデックス35として上記モジュールをデータセグメント管理テーブル31に登録するため、動的に生成及び削除されるようなデータに対するアクセス権管理テーブル20の更新処理を自動的に行うことができる効果がある。
【0035】
実施の形態5.
図14はこの発明の実施の形態5による記憶データ保護装置を示すブロック図であり、図において、60は二次記憶装置、61はアクセス権判定手段21によって検出された不当アクセスによるプロセッサ10からの通知を検出するトラップ検出手段、62はトラップを検出した際に不当アクセスの内容としてアクセス権管理テーブル20の内容とプログラムカウンタとアクセスアドレスを二次記憶装置60に記録する不当アクセス内容記録手段である。
なお、その他の構成については上記実施の形態4と同一なのでその重複する説明を省略する。
【0036】
次に動作について説明する。
図15はこの実施の形態5による記憶データ保護装置におけるトラップ検出処理の流れを示すフローチャートであり、以下、この図15を参照しながら説明する。
トラップ検出手段61は、まず、ステップST151で、プロセッサ10からの不当アクセスの通知をトラップとして検出する。次にステップST152で、不当アクセス内容記録手段62を用いて不当アクセスの内容を二次記憶装置60上に記録する。そして、ステップST153で、アクセス要求元に対して不当アクセスを通知する。
【0037】
図16は不当アクセス内容記録処理の流れを示すフローチャートであり、以下、この図16を参照しながら説明する。
不当アクセス内容記録手段62は、まず、ステップST161で、現在時刻を取得する。次にステップST162で、二次記憶装置60上に取得した現在時刻をタグとする領域を確保する。そして、ステップST163で、確保した不当アクセス内容記録領域にアクセス権管理テーブル20の内容を記録し、続くステップST164で、上記領域にトラップ検出時のプログラムカウンタとアクセスアドレスを記録する。
【0038】
以上のように、この実施の形態5によれば、プロセッサ10からの不当アクセスの通知を検出したトラップ検出手段61が、不当アクセス内容記録手段62を用いて不当アクセスの内容を二次記憶装置60に記録するため、不当アクセスの内容を確実に且つ容易に知ることができる効果がある。
【0039】
実施の形態6.
図17はこの発明の実施の形態6による記憶データ保護装置を示すブロック図であり、図において、70はトラップ検出手段61からの要求に応じて可能であれば不当アクセスを行ったモジュールの切り離しを行うモジュールアンインストール手段である。
図18はモジュール管理テーブルの構造を示す説明図であり、図において、71は対応するモジュールが切り離し可能か否かを表す切り離し可能フラグ、72は対応するモジュールの接続状態、73は対応するモジュールの切り離し手続き関数アドレスである。
なお、その他の構成については上記実施の形態5と同一なのでその重複する説明を省略する。
【0040】
次に動作について説明する。
図19はこの実施の形態6による記憶データ保護装置におけるトラップ検出処理の流れを示すフローチャートであり、以下、この図19を参照しながら説明する。
トラップ検出手段61は、まず、ステップST191で、プロセッサ10からの不当アクセスの通知をトラップとして検出する。次にステップST192で、不当アクセス内容記録手段62を用いて不当アクセスの内容を二次記憶装置60上に記録する。そして、ステップST193で、モジュールアンインストール手段70を用いて可能であれば不当アクセスを要求したモジュールを切り離す。そして、ステップST194で、切り離しが失敗した場合、ステップST195に進み、アクセス要求元に対して不当アクセスを通知する。ステップST194にて、切り離しが成功した場合、そのまま処理を終了する。
【0041】
図20はモジュールアンインストール処理の流れを示すフローチャートであり、以下、この図20を参照しながら説明する。
モジュールアンインストール手段70は、まず、ステップST201で、モジュール管理テーブル30とトラップ検出時のプログラムカウンタから不当アクセスを行ったモジュールを特定する。次にステップST202で、モジュール管理テーブル30の切り離し可能フラグ71から特定したモジュールが切り離し可能か否かを検査する。切り離し可能であった場合にステップST203に進み、モジュール管理テーブル30に登録されている切り離し手続き関数アドレス73から始まる関数を実行する。そして、ステップST204で、切り離しが成功した場合、ステップST205に進み、アクセス権管理テーブル更新手段40を用いてモジュール管理テーブル30内の接続状態72をアンインストールにする。
【0042】
接続状態72がアンインストールのモジュール管理テーブル30のエントリは削除されたものと見なす。そして、ステップST206で、要求元であるトラップ検出手段61に切り離し成功と通知する。ステップST202にて、切り離しが不可能であった場合はステップST207に進み、要求元であるトラップ検出手段61に切り離し失敗と通知する。ステップST204にて切り離しが失敗した場合もステップST207に進み、要求元であるトラップ検出手段61に切り離し失敗と通知する。
【0043】
以上のように、この実施の形態6によれば、モジュール管理テーブル30に各モジュール毎に切り離しが可能かどうかが定義されており、トラップ検出手段61がモジュールアンインストール手段70を用いて、可能であれば不当アクセスを行ったモジュールの切り離しを自動的に行うため、プログラムの実行をできる限り継続させることができる効果がある。
【0044】
【発明の効果】
以上のように、請求項1記載の発明によれば、メモリ上のアドレス範囲で各種モジュールを定義するモジュール管理テーブル、およびメモリ上のアドレス範囲で定義される各種データセグメント毎にアクセスが許可されているモジュールをモジュール管理テーブル上のインデックスで複数登録するデータセグメント管理テーブルからなるアクセス権管理テーブルと、プロセッサから要求されたアドレスがアクセス権管理テーブルで定義されたデータセグメントである場合にそのアクセス権管理テーブルを用いて現在のプログラムカウンタに対応するモジュールがそのデータセグメントをアクセス可能であるかどうかを判定するアクセス権判定手段を備えるように構成したので、現在のプログラムカウンタをもとにアクセス権管理テーブルを参照して、モジュール単位で記憶データの保護を行うことができるため、1つのプログラム内の複数の機能モジュール間で記憶データの保護を実現することができる効果がある。
また、アクセス権判定手段がアクセスしたデータセグメントについて、アクセス可能モジュールインデックスとして登録されているすべてのモジュールを検査するため、複数のモジュール間で1つのデータセグメントを共有することができる効果がある。
【0045】
請求項2記載の発明によれば、アクセス権管理テーブルを更新するための空き領域があるかを検査し、空き領域が不足と判定された場合にそのアクセス権管理テーブルの拡張領域を確保するアクセス権管理テーブル更新手段を備えるように構成したので、アクセス権管理テーブルを更新できるのはアクセス権管理テーブル更新手段だけとなるため、アクセス権管理テーブルを誤操作による破壊から守り、安全に更新することができる効果がある。
【0046】
請求項3記載の発明によれば、アクセス権管理テーブル更新手段を用いてモジュール管理テーブルにモジュールを登録するモジュールインストール手段と、メモリの獲得または解放に合わせてデータセグメント管理テーブルにデータセグメントを登録または削除するメモリ獲得解放手段と、アクセス許可を申請したモジュールをデータセグメント管理テーブルのアクセス可能モジュールに追加するデータアクセス宣言手段とを備えるように構成したので、モジュールインストール手段がモジュールインストール時にモジュール管理テーブルを作成し、メモリ獲得解放手段がデータセグメントの生成または削除に合わせてデータセグメント管理テーブルの更新を行い、データアクセス宣言手段がモジュールが自発的に宣言した時にアクセス可能モジュールインデックスとして上記モジュールをデータセグメント管理テーブルに登録するため、動的に生成及び削除されるようなデータに対するアクセス権管理テーブルの更新処理を自動的に行うことができる効果がある。
【0047】
請求項4記載の発明によれば、アクセス権判定手段によって検出された不当アクセスによるプロセッサからの通知を検出するトラップ検出手段と、トラップを検出した際に不当アクセスの内容としてアクセス権管理テーブルの内容とプログラムカウンタとアクセスアドレスを二次記憶装置に記録する不当アクセス内容記録手段とを備えるように構成したので、プロセッサからの不当アクセスの通知を検出したトラップ検出手段が、不当アクセス内容記録手段を用いて不当アクセスの内容を二次記憶装置に記録するため、不当アクセスの内容を確実に且つ容易に知ることができる効果がある。
【0048】
請求項5記載の発明によれば、各モジュール毎に切り離しが可能か否かを表すフラグと切り離し手続き用の関数アドレスを有するモジュール管理テーブルと、トラップ検出手段からの要求に応じてフラグを検査し、切り離しが可能であれば切り離し手続き用の関数アドレスから始まる関数を実行し、不当アクセスを行ったモジュールの切り離しを行うモジュールアンインストール手段とを備えるように構成したので、モジュール管理テーブルに各モジュール毎に切り離しが可能かどうかが定義されており、トラップ検出手段がモジュールアンインストール手段を用いて、可能であれば不当アクセスを行ったモジュールの切り離しを自動的に行うため、プログラムの実行をできる限り継続させることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による記憶データ保護装置を示すブロック図である。
【図2】 アクセス権管理テーブルの構造を示す説明図である。
【図3】 実施の形態1による記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートである。
【図4】 この発明の実施の形態2による記憶データ保護装置を示すブロック図である。
【図5】 モジュール管理テーブルの構造を示す説明図である。
【図6】 データセグメント管理テーブルの構造を示す説明図である。
【図7】 実施の形態2による記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートである。
【図8】 この発明の実施の形態3による記憶データ保護装置を示すブロック図である。
【図9】 実施の形態3による記憶データ保護装置におけるアクセス権管理テーブル更新処理の流れを示すフローチャートである。
【図10】 この発明の実施の形態4による記憶データ保護装置を示すブロック図である。
【図11】 実施の形態4による記憶データ保護装置におけるモジュールインストール処理の流れを示すフローチャートである。
【図12】 メモリ獲得解放処理の流れを示すフローチャートである。
【図13】 データアクセス宣言処理の流れを示すフローチャートである。
【図14】 この発明の実施の形態5による記憶データ保護装置を示すブロック図である。
【図15】 実施の形態5による記憶データ保護装置におけるトラップ検出処理の流れを示すフローチャートである。
【図16】 不当アクセス内容記録処理の流れを示すフローチャートである。
【図17】 この発明の実施の形態6による記憶データ保護装置を示すブロック図である。
【図18】 モジュール管理テーブルの構造を示す説明図である。
【図19】 実施の形態6による記憶データ保護装置におけるトラップ検出処理の流れを示すフローチャートである。
【図20】 モジュールアンインストール処理の流れを示すフローチャートである。
【図21】 従来の記憶データ保護装置を示すブロック図である。
【図22】 アクセス権管理テーブルの構造を示す説明図である。
【図23】 記憶データ保護装置におけるアクセス権判定処理の流れを示すフローチャートである。
【符号の説明】
10 プロセッサ、11 メモリ、20 アクセス権管理テーブル、21 アクセス権判定手段、30 モジュール管理テーブル、31 データセグメント管理テーブル、40 アクセス権管理テーブル更新手段、50 モジュールインストール手段、51 メモリ獲得解放手段、52 データアクセス宣言手段、60 二次記憶装置、61 トラップ検出手段、62 不当アクセス内容記録手段、70 モジュールアンインストール手段。
Claims (5)
- プロセッサおよびメモリを有する電子計算機における単一のプログラム内の各種機能モジュール間で記憶データの保護を行う記憶データ保護装置において、上記メモリ上のアドレス範囲で各種モジュールを定義するモジュール管理テーブル、および上記メモリ上のアドレス範囲で定義される各種データセグメント毎にアクセスが許可されているモジュールを上記モジュール管理テーブル上のインデックスで複数登録するデータセグメント管理テーブルからなるアクセス権管理テーブルと、上記プロセッサから要求されたアドレスが上記アクセス権管理テーブルで定義されたデータセグメントである場合にそのアクセス権管理テーブルを用いて現在のプログラムカウンタに対応するモジュールがそのデータセグメントをアクセス可能であるかどうかを判定するアクセス権判定手段とを備えたことを特徴とする記憶データ保護装置。
- アクセス権管理テーブルを更新するための空き領域があるかを検査し、空き領域が不足と判定された場合にそのアクセス権管理テーブルの拡張領域を確保するアクセス権管理テーブル更新手段を備えたことを特徴とする請求項1記載の記憶データ保護装置。
- アクセス権管理テーブル更新手段を用いてモジュール管理テーブルにモジュールを登録するモジュールインストール手段と、メモリの獲得または解放に合わせてデータセグメント管理テーブルにデータセグメントを登録または削除するメモリ獲得解放手段と、アクセス許可を申請したモジュールを上記データセグメント管理テーブルのアクセス可能モジュールに追加するデータアクセス宣言手段とを備えたことを特徴とする請求項2記載の記憶データ保護装置。
- アクセス権判定手段によって検出された不当アクセスによるプロセッサからの通知を検出するトラップ検出手段と、そのトラップ検出手段がトラップを検出した際に不当アクセスの内容としてアクセス権管理テーブルの内容とプログラムカウンタとアクセスアドレスを二次記憶装置に記録する不当アクセス内容記録手段とを備えたことを特徴とする請求項3記載の記憶データ保護装置。
- 各モジュール毎に切り離しが可能か否かを表すフラグと切り離し手続き用の関数アドレスを有するモジュール管理テーブルと、トラップ検出手段からの要求に応じて上記フラグを検査し、切り離しが可能であれば上記切り離し手続き用の関数アドレスから始まる関数を実行し、不当アクセスを行ったモジュールの切り離しを行うモジュールアンインストール手段とを備えたことを特徴とする請求項4記載の記憶データ保護装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12863596A JP3638714B2 (ja) | 1996-05-23 | 1996-05-23 | 記憶データ保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12863596A JP3638714B2 (ja) | 1996-05-23 | 1996-05-23 | 記憶データ保護装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09311821A JPH09311821A (ja) | 1997-12-02 |
JP3638714B2 true JP3638714B2 (ja) | 2005-04-13 |
Family
ID=14989696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12863596A Expired - Fee Related JP3638714B2 (ja) | 1996-05-23 | 1996-05-23 | 記憶データ保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3638714B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001005726A (ja) | 1999-04-20 | 2001-01-12 | Nec Corp | メモリアドレス空間拡張装置及びプログラムを記憶した記憶媒体 |
DE10105284A1 (de) | 2001-02-06 | 2002-08-29 | Infineon Technologies Ag | Mikroprozessorschaltung für Datenträger und Verfahren zum Organisieren des Zugriffs auf in einem Speicher abgelegten Daten |
US7266658B2 (en) | 2002-09-12 | 2007-09-04 | International Business Machines Corporation | System, method, and computer program product for prohibiting unauthorized access to protected memory regions |
JP4628149B2 (ja) * | 2005-03-14 | 2011-02-09 | 株式会社エヌ・ティ・ティ・ドコモ | アクセス制御装置及びアクセス制御方法 |
JP4519738B2 (ja) * | 2005-08-26 | 2010-08-04 | 株式会社東芝 | メモリアクセス制御装置 |
-
1996
- 1996-05-23 JP JP12863596A patent/JP3638714B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09311821A (ja) | 1997-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8997253B2 (en) | Method and system for preventing browser-based abuse | |
JP4685488B2 (ja) | リアルタイムなファイルシステム修復の方法及び記録媒体 | |
JP4162099B2 (ja) | ウィルス感染に対処する機能を持つ装置及びその記憶装置 | |
CN102630320B (zh) | 信息处理装置以及应用程序不正当协作防止方法 | |
JPH10232810A (ja) | クライアント/サーバ計算機システムにおける切断状態ライトの許可装置及び方法 | |
US20080178290A1 (en) | Method of secure data processing on a computer system | |
JP3638714B2 (ja) | 記憶データ保護装置 | |
US5987625A (en) | Method and apparatus for testing network bootable devices | |
JP2003515219A (ja) | アプリケーションプログラムインターフェースを阻害する方法及びシステム | |
EP1634136A1 (en) | System for real-time healing of vital computer files | |
CN111931192A (zh) | rootkit检测方法、装置及电子设备 | |
JP4275451B2 (ja) | 不正メモリアクセス検知方法及びそのプログラム | |
CN116244677A (zh) | 提权检测方法、装置、电子设备及存储介质 | |
CN114546717A (zh) | 安卓智能终端开机的方法、装置、智能终端和存储介质 | |
JP4898823B2 (ja) | アプリケーション情報改竄監視装置及び方法 | |
CN114546420A (zh) | 一种软件远程安装保护卸载方法 | |
CN100478916C (zh) | 内存管理系统及方法 | |
US7546611B2 (en) | Driver agent device for supporting remote device driver development environment in embedded system and operation method thereof | |
JPH09288577A (ja) | コンピュータウイルス感染監視方法および装置 | |
JP2001034469A (ja) | 自動アンインストール方法 | |
JP4076986B2 (ja) | セキュリティ管理装置及びセキュリティ管理方法及びプログラム | |
JP2005078123A (ja) | 故障検出装置および故障検出方法ならびにそのプログラム | |
JP3555847B2 (ja) | キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム | |
JP3563802B2 (ja) | ファイル書替方式 | |
EP1566733B1 (en) | Apparatus for preventing switch failures in the presence of faults |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041119 |
|
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: 20041214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050112 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |