JP5079084B2 - コンピュータ・システムの操作を防止するための方法及びデータ処理システム - Google Patents

コンピュータ・システムの操作を防止するための方法及びデータ処理システム Download PDF

Info

Publication number
JP5079084B2
JP5079084B2 JP2010506870A JP2010506870A JP5079084B2 JP 5079084 B2 JP5079084 B2 JP 5079084B2 JP 2010506870 A JP2010506870 A JP 2010506870A JP 2010506870 A JP2010506870 A JP 2010506870A JP 5079084 B2 JP5079084 B2 JP 5079084B2
Authority
JP
Japan
Prior art keywords
write
storage
computer system
writing
protectable
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
JP2010506870A
Other languages
English (en)
Other versions
JP2010527060A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010527060A publication Critical patent/JP2010527060A/ja
Application granted granted Critical
Publication of JP5079084B2 publication Critical patent/JP5079084B2/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明は、コンピュータ技術の分野に関し、特に、コンピュータ・システム内に格納された任意の種類のコンピュータ・プログラム及びデータが操作されることを防止するため、特にコンピュータ・システムにおけるハッカー攻撃及びウィルス感染を防止するための、方法及びシステム並びにデバイスに関する。
コンピュータ・プログラムは、本明細書においてはコンピュータ・アプリケーションと称され、セキュリティが重大な意味を持つ使用事例を含むことがしばしばあり、そのような事例では、故障によって、著しい財務上の損失、環境汚染が引き起こされ、或いは人間の生命をも危うくすることさえある。よく引用される例には、軍事設備又は原子力プラントを制御するコンピュータ・システムが含まれる。しかしながら、オンライン・バンキングのようなインターネット・ベースのビジネスといった新興の分野もまた、コンピュータ・システム内に格納され、それらの間で交換されるデータの完全性に本質的に依存する。また、今日の会社の大部分の事業も、コンピュータ・システムのアベイラビリティ及び内部に格納されたデータの完全性に依存する。
不都合なことに、従来技術のコンピュータ・システムは、多くの種類のいわゆるハッカー攻撃を受けやすい。これらの攻撃は、コンピュータ・プログラムの変更、コンピュータ・システム内に格納されたデータの変更、又はプログラム若しくはデータのコピーの取得を行おうとする。このような攻撃の2つの主な種類が、ウィルス感染と、ハッカー攻撃によって実行されるプログラム又はデータの操作である。
コンピュータ・ハッカーは、攻撃を受けるコンピュータ・システムに何らかの方法でアクセスしようとする。これらの攻撃には、パスワードの盗用若しくはその推測、又はコンピュータ・システムのセキュリティ機構内の何らかのバグの利用が含まれる。後者のハッキング技術の典型的な例が、バッファ・オーバーフローを活用することであり、これは、特定の状況下で、ハッカーによって提供されたコンピュータ・プログラムをコンピュータ・システムに実行させてしまうことができる。
しかしながら、コンピュータ・システムへの不正アクセスに至るこのプロセスは通常、多くの時間を要し、単にまぐれ当たりの機会に依存することができるに過ぎない。また、ハッカーは、攻撃の第1段階の間には、ある程度制限されたアクセス権しか獲得しないことが多い。そのため、初めてコンピュータ・システムに侵入した後に、ハッカーは、しばしば、将来ハッカーに容易なアクセスを提供し、ハッカーに付加的な権利を与え、かつハッカーの変更及び活動をシステム管理者によって発見されないように隠すような方法で、コンピュータ・システムを制御するシステム・ソフトウェアを変更しようと試みる。このことは、後で再度システムに侵入するための「バックドア」の実装であると理解される。Linuxオペレーティング・システムについては、特定の雑誌でこのような技術が論じられており、ハッカーをサポートするソフトウェア・パッケージは特定のウェブ・サイトから自由に入手可能である。
上述の変更は通常、攻撃を受けているコンピュータ・システム内に何らかの付加的なファイルを格納することを必要とする。ハッカーの活動の一部は、これらのファイルが発見されないようにすることである。
図1及び図2は、自身が必要とするファイルを隠すために、オペレーティング・システムとしてLinuxを実行するコンピュータ・システムをハッカーがどのようにして変更するかについての典型的な例を示す。現在のディレクトリ内に格納された全ファイルのリストを取得するためのLinuxコマンドは「ls」であり、通常は、何らかのオプション、例えば「−alh」を有する。
図1は、このコマンドが、ステップ10においてユーザによって入力された後にLinuxシステムによってどのように実行されるかを示す。オペレータがこのコマンドをタイプ入力すると、ls動作の実行12が、Linuxカーネルによって提供される特定のサービスについてのLinux名である、いわゆるシステム・コール13を作成する。この場合、ある種のデータ構造(「sys_call_table」と名付けられる)、すなわちシステム・コール・テーブル15としてメモリ領域内に格納され「getdents64」(「get directory entries」の略語)と名付けられたシステム・コールが実行され、現在のディレクトリ内で見出される全ファイルのリスト16をその呼び出し元であるlsプログラムに戻す。次に、lsプログラムは、オプション「−alh」によるオペレータの要求の通りに、ステップ17において、リストの何らかのフォーマッティングを実行する。最終的に、フォーマットされたファイルのリスト18が、ディスプレイに表示される。
ここで、ディレクトリが、ハッカーが隠すことを望んでいる、例えばHACKER.TXTをファイルのうちの1つに含むと仮定する。これは、図2に示されるように、Linuxシステムに対する変更によって行われる。ここでは、「getdents64」と名付けられたオリジナルのシステム・コールが、「hackers_getdents64」と名付けられたハッカーのバージョンである21で置き換えられる。Linuxの場合、システム・コールの置き換えは、システム・コール・テーブル15内のエントリを変更することによって行われる。
lsプログラムによって発行されたシステム・コールが、「hackers_getdents64」を呼び出す。このプログラムは、ステップ21において実行されると、ファイルのリスト16を取得するためにオリジナルのシステム・コール14、すなわち「getdents64」を呼び出す。オリジナルのシステム・コールは、このリストをその呼び出し元であるhackers_getdents64に戻し、hackers_getdents64は次に、ハッカーが伏せること、すなわち表示されないことを望むファイル名についてリストを検索する。この例においては、hackers_getdents64は、HACKER.TXTという名称をリストから除去し、残りのファイルのリストをlsプログラムに戻し、次にlsプログラムは、図1を参照して先に説明したように、結果をフォーマットし、最終的にそれを表示する。
ウィルス感染もまた、コンピュータ・システム内に格納されたプログラムに対する変更を伴う。ハッカー攻撃との主な違いは、ウィルスの動作が自動的に行われることである。また、コンピュータ・ウィルス及び同類のプログラムは、ネットワークを介して自動的に広がることができる。それらは、ウィルスに属するコード・シーケンスが実行されるようにするような仕方で幾つかの実行可能コードを操作することによって、コンピュータ・システムを感染させる。
ウィルス及びハッカー攻撃は、何らかのストレージのコンテンツが変更されるという点で共通である。
ウィルス感染を防止するための最新技術は、いわゆるウィルス・スキャン・プログラムを適用することである。それらは、ウィルスを識別するものと考えられる特定のパターンの探索を行う。ウィルス・スキャナは、ハード・ディスクのような不揮発性ストレージとコンピュータ・システムのRAMのような揮発性ストレージの両方をチェックすることができる。
残念ながら、この方法で達成される保護の程度は限定的である。ウィルス・スキャナは、ウィルス感染を検出することはできるが、一般には、それらを防止するものではない。新しいウィルス毎に更新が必要とされ、それは金銭と時間を要する。ウィルス・スキャナは、いずれかの専門家によって既に分析された既知のウィルスを検出することができるに過ぎず、すなわち、最新のウィルス・スキャン・ソフトウェアを備えたコンピュータ・システムでさえ依然として新しく開発されたウィルスによる攻撃を受けやすいという点で、保護は限定的である。これは、検出プログラムをだますようにプログラムされた「ハイテク」ウィルスについて特に当てはまる。特に、このことは自己書き換え型の多形性ウィルス及び暗号化ウィルスに関係する。
ウィルス・スキャナの使用に関連する他の欠点は、ウィルスに起因するバイト・シーケンスが非感染ファイルの一部として存在する場合に、偽陽性を報告する場合があることである。また、コンピュータ・システムからのウィルスの除去は、除去ツールがバイナリ実行ファイルを操作しなくてはならないため、扱いが難しく、エラーを起こしやすい。
ウィルス感染を防止するためのさらに別の方法は、いわゆる「高信頼計算(trustedcomputing)」手法である。ここでは、付加的なハードウェアによって提供されるサービスは、保護される必要がある全てのファイル又はメモリ領域についてハッシュ値を計算する。これらの値は、付加的なハードウェアによって格納される。その後のある時点で、ハッシュ値を再度計算し、付加的なハードウェア内に格納された値と比較することができる。保護されているファイル又は記憶場所が後のスキャンの間に異なるハッシュ値をもたらした場合には、それは、おそらく変更されている。
この方法の1つの欠点は、ハッシュ値の計算が多対一マッピングであること、すなわち、多くの異なるファイルが同じハッシュ値を生じさせ得ることである。偶然に、又はウィルスの開発者がハッシュ値を計算する方法についての十分な知識を入手している場合には、ウィルス感染又はハッカー攻撃が検出されなくなることがある。別の欠点は、ウィルス感染を検出することはできるが、この方法は感染を防止するものではないということである。別の欠点は、コストを増加させる付加的なハードウェアを有することを必要とするという点である。
ウィルス感染を検出するためのさらに別の方法は、重複ストレージである。この手法を用いると、保護される必要があるファイルはいずれも実際には二度格納され、一度目は通常の方式で、そして二度目はコンピュータ・システムの正常動作中には書き込み保護されているストレージ・デバイス上に格納される。初期化に際して、ファイルは、両方の宛先に書き込まれる。ウィルス感染についてのチェックが行われる必要があるときはいつでも、ファイルの両方のコピーを比較することができる。2つのコピー間の何らかの違いは、作業コピーの変更を示す。ウィルスの除去は簡単であり、感染したコピーは、保護されたコピーで置換される。この方法の欠点は、重複ファイル・ストレージのための付加的な作業である。また、比較は、時間がかかる場合がある。この方法は、ウィルス感染を防止することはできない。
重複ストレージ手法の1つの変法は、保護されるべきコンテンツをハード・ディスクの1つの書き込み保護されたパーティション内に保存することである。しかしながら、これは、管理者特権を有する人は誰でも書き込み保護をディスエーブルにすることができるので、安全ではない。
ハッカー攻撃を防止するための公知の技術は、ネットワークを介した攻撃からコンピュータ・システムを守るためにファイアウォールを用いることを含む。しかしながら、この手法は、ファイアウォールの内側にいる人々からの攻撃を防止するものではなく、すなわち、特定の組織のコンピュータ・システムは、この組織の従業員によって攻撃を受ける可能性がある。また、ファイアウォールもコンピュータ・システムそれ自体であり、意図したとおりに機能しない場合がある。
コンピュータ・システムがいずれにせよ、インターネット又はそれどころかイントラネットに接続しているネットワークに接続されている限り、ハッカー攻撃による実行中のプログラム又は実行中のオペレーティング・システムの操作を防止する技術手段は、今までのところ従来技術では知られていない。
従って、本発明の目的は、コンピュータ・システム内に格納されたコンピュータ・プログラム及び任意の種類のデータが操作されること、特にハッカー攻撃の過程で操作されることに対する改善された防止策をもたらす方法を提供することである。
本発明のこの目的は、添付の独立請求項で記述される特徴によって達成される。本発明のさらなる有利なアレンジメント及び実施形態は、それぞれの従属請求項に記述される。以下、添付の特許請求の範囲を参照する。
その基本的な態様によれば、コンピュータ・システムにおけるハッカー攻撃及びウィルス感染を防止するための方法において、コンピュータ・システムは、読み取り及び書き込み可能なストレージ手段と、ストレージ手段を書き込み保護モードに切り換えるための手段とを含み、この方法は、
a)ユーザに、書き込み保護可能ストレージ領域への書き込みを一時的に許可する切換を実行するように促すステップであって、それぞれの物理的書き込み保護機構が、そのコンピュータ・システムのオペレーティング・システムの外部からのみ作動可能である切換手段を含む、ステップと、
b)この書き込み保護可能ストレージ領域内にセキュリティ関連情報を格納するステップと、
c)ユーザに、この書き込み保護可能ストレージ領域への書き込みを制限するための手動切換を実行するように促し、その結果として書き込み保護されたストレージ領域を生成するステップと、
d)手動切換に応答して、コンピュータ・システムのさらなるランタイムの間、書き込み保護されたストレージ領域へのいかなる書き込みアクセスも制限するステップ、すなわち、そこへの書き込みをディスエーブルにするステップと、
を含む。
さらに、以下のステップ、すなわち、
情報を参照するプログラムを開始する前に、どの情報がどの領域内に格納さるかを管理するステップ、
d)セキュリティ関連情報と非セキュリティ関連情報の両方を含むプログラムを、ストレージのそれぞれの専用領域にアクセスすることによって、実行するステップ、
が実行される。
このように、本発明の核心となる思想は、読み取り及び書き込みが可能なストレージ、すなわち読み取り書き込みモードのストレージに適用される。本発明は、ストレージの特定の部分が読み取り専用になるようにさせるスイッチによって、ストレージ・ハードウェアを拡張することである(図3)。読み取り専用モードに変わることができるメモリのその部分を、保護可能メモリと名付ける。
コンピュータ・ハードウェア及びコンピュータ上で実行されるソフトウェアの実装に対するこれらの拡張は、そのソフトウェアの不正操作を単に検出するのではなく、実際に不正操作を防止する。開示される発明は、どのようなウィルスに対しても役に立ち、専門家によって分析されたウィルスに依存するものではない。本発明はまた、ハッカーが、管理者特権によってログインできるようにオペレーティング・システムの内部を変更することを防止する。
さらに、有利には、セキュリティ関連情報は、コンピュータ・システムのオペレーティング・システムのコンポーネントであり、ストレージは、システム・メモリであり、
書き込み保護されたメモリ領域内に情報を格納するステップは、オペレーティング・システムの起動手順を開始するときに、いずれの書き込み保護もイネーブルにされることなく実行され、
書き込み保護可能メモリ領域への書き込みの完了の後に、書き込み保護可能メモリ領域に対して有効な書き込み保護機構をイネーブルにし、
オペレーティング・システムの残りの部分を保護可能ではないメモリ領域内に格納することによって起動手順を完了させる。このことは、安全な起動及び安全なオペレーティング・システムの達成のために有用である。
さらに、有利には、書き込み保護可能なストレージ領域(しばしば、ハード・ディスク又はFLASH ROM領域)への書き込みプロセスが、一時的にオペレーティング・システムの外部から手動でその保護が機能しないようさせた後に、アプリケーション・プログラムのインストール中に実行され、かつストレージがコンピュータ・システムに接続された又は接続可能な不揮発性メモリである場合、コード又は機密(sensible)データの実行可能な断片はどれでも、すなわち読み取り専用特性を有するexe−、dll、datファイルはどれでも、例えば、.dotファイル又は単なる秘密データ若しくは機密データ、プライベート・データ若しくはどのようなデータも、書き込み保護されたハード・ディスク又はFLASH−ROM領域内にインストールされることができるので、これにより、どのようなアプリケーション・プログラムも安全な方法でインストールされることができるようになる。
このように、本発明は、コンピュータ・システムのメイン・メモリと、不揮発性の書き換え可能な大容量ストレージ・デバイスの両方に適用される。これらの2つの場合についての本発明の好ましい実施形態は別々に実行され、これは以下の詳細な説明から明らかになる。
本発明は、例示のみの目的で説明されるものであり、図面の図柄の形状によって限定されるものではない。
関連するLINUXファイル・システムの幾つかのファイルを表示するためにLINUXコマンド“ls”を実行するときの制御フローを示す概略的な制御フロー図である。 LINUXコマンド“ls”を変更することによる、LINUXオペレーティング・システムに対するハッカー攻撃を示す概略的な制御フロー図である(従来技術)。 本発明による書き込み保護されたメモリ領域を有するある種のメモリ・デバイスを示す概略図である。 起動手順の間にオペレーティング・システムをメモリの保護された領域及び保護されていない領域内にロードするための本発明の方法を適用した場合の、オペレーティング・システムのバイナリ・イメージのコードの場所を示す概略図である。 保護された起動手順を実行するために用いられる場合の本発明の方法の好ましい実施形態の制御フローを示す概略図である。 アプリケーション・プログラムに対して保護されたインストール手順を実行するために用いられる場合の本発明の方法の好ましい実施形態の制御フローを示す概略図である。
全般的に図面を参照し、特にここでは図3を参照して、システムのメイン・メモリを保護するための本発明の方法及びシステムの好ましい実施形態をより詳細に説明する。
1.メイン・メモリ(RAM)の保護
本発明を用いたコンピュータ・システムのメイン・メモリの保護は、異なるレベルにおいて、従来技術のコンピュータ・システムに対する幾つかの付加及び拡張を含む。
第1のレベルにおいて、コンピュータ・システムのハードウェアは、通常のRAMのように読み出すことができるが、書き込みはオンデマンドでのみ可能であって、ある認証動作が実行されることを必要とするという性質を有する、ある種のメモリ領域32を提供する必要がある。
保護されているオペレーティング・システムの範囲外で認証が行われることは、安全上の理由で必須であり、すなわち、システム管理特権は書き込みをイネーブルにできるほどであってはならない。ソフトウェア・ベースの認証は、そのソフトウェアが、保護されているオペレーティング・システムの一部ではない場合に限り、許容可能である。例えば、System zにおけるVMゲストにおいてLinuxを実行する場合、書き込み認証は、VMアプリケーションによって与えることができ、又はIBM Corporationから販売されている、従来技術の「System z」マシンを動作させるのに用いられる、この環境におけるいわゆる「サービス要素」(SE)を用いて、与えることができる。
保護可能なメモリ領域32にアクセスする方式には幾つかの選択肢がある。実行が容易で、おそらく最も有利な方式は、一部のアドレス範囲のみを保護し、メモリ・アーキテクチャに対してその他の修正を加えないことである。しかしながら、メモリの保護された部分にアクセスするための特別な機械語命令を実行することも可能である。
保護機構それ自体を実行するために用いることができる様々な固体技術及びストレージ技術がある。単純な方法は、幾つかのメモリ・チップの書き込み許可信号34に割り込む機械式スイッチ36を作動させることを含む。より洗練された手法は、システム・セットアップの間に、どのアドレス範囲を保護すべきかの環境設定をさせることができる。このような手法を用いて、システムは、保護されるべきアドレス範囲の境界を記憶し、書き込み動作がその範囲内のからの記憶場所にアクセスするかどうかをチェックする何らかの論理を提供する。
第2のレベルにおいて、保護されるべきアプリケーション・プログラム又はオペレーティング・システムは、実行可能コードとデータ構造とを含む。データ構造は、本発明の実施形態に従って、2つの互いに素なクラスに分けられる。第1のクラスは、正常動作中に修正される必要があるデータ構造を含む。第2のクラスは、正常動作中には修正される必要がなく、不正書き込みアクセスから保護される必要があるデータ構造を含む。
オペレーティング・システムのうちウィルス及び/又はハッカーによって変更される可能性がある、セキュリティが重大な意味を持つ部分は、本発明の実施形態に従って、このような保護可能なメモリ領域内に格納される。この方式で保存されるべきデータは、重要なデータ構造(例えば、Linuxシステム・コール・テーブル)のみならず、何らかの実行可能コード(例えば、Windows又はLinuxオペレーティング・システム・コア)を含むことができる。
序論で用いた例(図1及び図2)に関しては、システム・コール・テーブル15を実装するデータ構造は、本発明のこの好ましい実施形態によれば、「正常動作中には変更を必要としない」ものとして分類される。Linuxオペレーティング・システム・カーネルによってユーザ・アプリケーションの実行を管理するために用いられるデータ構造はいずれも、「正常動作中に修正される必要がある」ものとして分類される。
多くのプログラミング言語が、特定の変数又は特定のサブプログラムが特定のアドレスに配置されるように指定することを可能にする。このような機構は、本発明により開示される保護機構を実行するために、本発明のこの好ましい実施形態に従って利用することができる。
これに従うさらに好ましい態様、又はさらに好ましい本発明の実施形態は、オペレーティング・システムの実行のために用いられるプログラミング言語(例えば、C)の拡張と、この言語を実行するコンパイラとを含む。オペレーティング・システムを実行するのに用いられるプログラミング言語は、その場合、変数を安全なメモリ領域内に格納させる付加的な属性と、サブルーチンを安全なメモリ領域内に格納させる属性と、好ましくは、データとコードの両方からなるプログラムの一部を安全なデータ領域内に格納させる付加的な属性とを提供する。例としてC言語を用いると、可能なソリューションは、「secure」と名付けられる付加的なストレージ・クラス属性である。この場合、安全なメモリ領域内に格納されることが意図される静的整数変数は、「secure static int i」として宣言される。同様の方法が関数について実行可能である。
オペレーティング・システムのソース・コードをコンパイルするために用いられるコンパイラは、これらの付加的な本発明の宣言を評価する必要があり、それぞれのデータ及び実行可能コードを安全なメモリ領域内にマッピングする必要がある。これらの領域は特別なアセンブラ命令の間にアクセスすることもでき、又はこれらをシステムの正常なメモリ・アドレス空間内の専用アドレス領域に格納することもでき、そのいずれかである。
さらに本発明のこの好ましい実施形態によれば、オペレーティング・システムのソース・コードは、攻撃によって影響を受ける可能性がある全ての部分が安全なメモリ領域内に格納されるように修正される。Linuxのようなマルチプラットフォームのソース・コードの場合、プリプロセッサによって定義されたシンボルを用いて実行される属性を用いることができ、これは、ターゲット・マシンの環境設定の間に、上記のストレージ・クラス属性に対する評価を行うか、又はターゲット・プラットフォームが安全なメモリ領域をサポートしない場合には、全く何の評価も行わないかのいずれかである。
正常動作の間、これらの安全なメモリ領域内に格納されたコード及びデータは、あたかもこのメモリがまったく普通のRAMであるかのように参照されることができる。しかしながら、書き込みは、オペレーティング・システム、又はその影響の外部から、何らかの認証が、例えば機械式スイッチをトグルで切り換えることによって行われていない限りは、本発明のこの好ましい実施形態に従って禁止される。オペレーティング・システムを起動するときには、書き込みはイネーブルにされる。一旦オペレーティング・システムがロードされ、初期化されたら、書き込みはディスエーブルにされる。オペレーティング・システムの一部を修正することを標的とするハッカーによるいかなる試行も、このようにして妨げられる。それに加えて、書き込み保護されている間に特別なメモリ領域内に書き込みを行おうとする試行は、好ましくは、システムが攻撃されていることを示す指標として表示することができる。
さらに、オペレーティング・システムのバイナリ・バージョンは、「書き込み保護」及び「書き込み許可」という2つのクラスを何らかの方法で区別することができるように構成される。
次に、図5を参照して、本発明の好ましい実施形態によるオペレーティング・システムの開始プロセスをより詳細に説明する。
本発明の好ましい実施形態による方法を装備したコンピュータ・システム上でのオペレーティング・システムの開始は、少なくともシステムが初めて本発明の方法を使用する場合には、ハッカーの影響を受けていないことが保証される環境において、以下のように進行する。
1.ステップ510において、メモリの保護可能部分を読み取り書き込みモードに切り換える。
2.次のステップ520において、オペレーティング・システムがメモリ内にロードされる。図4は、このステップをより詳細にさらに明確にする。オペレーティング・システムのうち「正常動作中に変更することができる」ものとして分類された部分は、メモリの保護可能ではない部分42内にロードされる。しかしながら、オペレーティング・システムのうち「正常動作中に変更される必要がない」又は「正常動作中に変更してはいけない」ものとして分類された部分は、メモリの保護可能部分44内にロードされる。
3.次に、さらなるステップ530において、オペレーティング・システムの初期化の部分が実行される。
4.その直後のステップ540において、メモリの保護可能部分を読み取り専用モードに切り換える。
この書き込みアクセスのディスエーブルは、ハードウェア内、又はオペレーティング・システムに仮想環境を提供するソフトウェア・レイヤ内に実装されることが必須である。
ソフトウェア・ベースの手法は従来技術において長い間知られており、それらの手法は、いったんハッカーが保護されるべきコンピュータ・システム上の管理者特権を入手すると、回避することができるという主要な欠点を有することに留意すべきである。
本発明の実施形態による保護の技術的な実施は、用いられるメモリの詳細に依存する。しかしながら、このメモリは、常に読み取り又は書き込み動作を実行することが可能であり、従って、読み取り又は書き込みの2つの動作のうちのいずれを実行すべきかを区別する技術的性質を有するハードウェア手段を実装する。最新技術は、読み取り及び書き込みモードを区別するために、それぞれ論理的に0又は1の電圧レベルに設定される信号を有することにある。図3に示されるスイッチは、従って、メモリ・デバイスに送信される読み取り又は書き込みアクセス信号が書き込みモードに対応する電圧に設定されることを防ぐ電子デバイスである。
次に、前述の実施形態の幾つかのバリエーションを説明し、それにより本発明の事項の幾つかのさらなる実施形態を開示する。
別のさらなる実施形態は、オペレーティング・システムのソース・コードが、オペレーティング・システムを実行するのに用いられるプログラミング言語の一部ではない属性によって強化され、ある実行可能コード又はデータ構造が正常動作中に修正される必要があるか又は必要がないかどうかを指定するという思想に基づく。それをコンパイルするのに用いられるコンパイラは、これらの属性を受け入れて評価するために強化される。ソース・コードをバイナリ形式に翻訳しながら、コンパイラは、オペレーティング・システムの保護された部分及び保護されない部分がメモリの適切なそれぞれの部分にロードされるように、そのバイナリ形式を構成する。
別の好ましい実施形態は、オペレーティング・システムを実行するのに用いられるプログラミング言語が新しいキーワードのようなある種の手段で強化されるという思想に基づく。これらのキーワードに対するプログラミング言語の意味論は、この言語をバイナリ形式に翻訳するのに用いられるコンパイラがメモリの割り当てられた部分内にバイナリ出力がロードされるようにバイナリ出力を構成できるようにする、特定の表記を含む。それを行う単純な方法は、新しいキーワードが変数及び/又はサブプログラム宣言に対して有効な属性となるようにプログラミング言語の規則が拡張されなければならないという教示を含む。コンパイラは、変数又はサブプログラムが保護可能ストレージ内に格納されるようにするためにはどのようなアクションを取るべきかをコンパイラが知るように拡張されなくてはならず、それぞれのキーワードが変数又はサブプログラム宣言についての属性として与えられたときはいつも、このアクションを取らなくてはならない。
別の好ましい実施形態は、コンパイラからの出力(アセンブラ・プログラムによってさらに処理されるアセンブラ・ソース・コード、又はバイナリ・コードのいずれか)が、どの部分がストレージの保護可能部分又は保護可能ではない部分にそれぞれロードされるべきかを知らせる情報によって強化されるという特徴を含む。この情報は、開発者によって手動で提供することができる。
別の可能な変法は、オペレーティング・システムのバイナリをメモリ内にロードするシステム・プログラムが、バイナリのどの部分がメモリの保護可能部分又は保護可能でない部分にロードされなければならないかという情報をさらに受け入れることである。
別の好ましい実施形態は、オペレーティング・システムのみならず、ユーザ・アプリケーション・プログラムもセキュリティ保護するという特徴を含む。
別の好ましい実施形態は、保護可能メモリ領域を読み取り書き込みモードと読み取り専用モードとの間でトグル切り換えするための機械式スイッチを有するという特徴を含む。
別の好ましい実施形態は、カード・リーダ又は指紋リーダのようなある種の安全な入力デバイスによって作動される、保護可能メモリ領域を読み取り書き込みモードと読み取り専用モードとの間でトグル切り換えするためのスイッチの特徴を含む。
別の好ましい実施形態は、保護可能メモリ領域を読み取り書き込みモードと読み取り専用モードとの間でトグル切り換えするためのスイッチを有するコンピュータ・システムの特徴を含み、このスイッチは、第1のコンピュータ・システムの動作を制御するように設計された別個のコンピュータ・システムによって制御され、これは、先に述べたいわゆるサービス要素のことをいう。
別の好ましい実施形態は、メモリの保護可能部分が現在読み取り専用モードの状態にあるにもかかわらず何らかの動作が書き込み動作を実行しようとしていることを検出するための付加的な手段を有する、本発明を装備したコンピュータ・システムの特徴を含む。この事象が検出された場合、適切な信号がシステム管理者に送信されるか、又はその他の何らかのアクションが取られる。
別の好ましい実施形態は、仮想化されたオペレーティング・システムを含むという特徴を含む。保護されるべきオペレーティング・システムが別のホスト・オペレーティング・システムによって実行される場合、第1のオペレーティング・システムの保護可能メモリの制御は、ホスト・オペレーティング・システムによって発行される動作によって行われることができる。典型的な例は、ホスト・オペレーティング・システムとしてのz/VMの制御下でLinuxを実行することができる、IBM System zである。
別の好ましい実施形態は、コンピュータのアドレス空間に属する特定のアドレス範囲を保護可能として宣言する、コンピュータ・システムの特徴を含む。
別の好ましい実施形態は、そのうちの幾つかが保護可能である別個のアドレス空間を提供する、コンピュータ・システムの特徴を含む。
2.不揮発性ストレージ・デバイスの保護
次に、不揮発性大容量ストレージ・デバイスの保護に関する本発明の態様を、上記の実施形態うちの1つ又は複数と組み合わせることができるさらなる実施形態において、より詳細に説明する。
「不揮発性」大容量ストレージ・メモリという用語は、ハード・ディスク、書き換え可能CD及びDVD、EEPROM及びFLASH ROMといった書き換え可能ROMの変種のようなストレージ技術を包含する。
このようなデバイス上に格納された情報を保護するやり方についての核心となる思想は、メモリについて上で説明したものと同様であり、すなわち、ストレージの一部を読み取り専用モードに変更することができ、その一方でストレージの残りの部分は読み取り書き込みモードのまま維持する機構によってそれらを強化するという、教示を含む。読み取り専用モードのときは、オペレーティング・システムによっても、又はコンピュータ・システム上で実行されているどのようなプログラムによっても、安全なメモリ・デバイスには書き込むことができない。
コンピュータ・システム上にインストールされたソフトウェアは、2つの部分に分けられ、ウィルス感染によって危険にさらされる実行可能ファイルは保護可能メモリ内に格納され、その一方、正常なプログラム実行の間に変更される必要があり得る他のファイルは、読み取り書き込みモードのまま維持されたストレージ・デバイス上に格納される。
オペレーティング・システムの管理者特権は書き込みをイネーブルにできるほどであってはならないのは必須であるが、むしろ付加的なハードウェアを伴う何らかの機構が必要とされる。これは、単なる機械式イッチとすることもできるし、又はSystem zの「サービス要素」(SE)のような別個のオペレータ・コンソールによって開始される何らかのアクションとすることもできる。
保護可能ストレージは、ウィルス感染によって影響を受ける可能性があるファイルを格納するために用いられる。例えば、これは、Windowsオペレーティング・システムのコア、並びに、あるアプリケーション・プログラムに属する実行可能ファイルを含むことができる。理想的には、ソフトウェア・パッケージは、そのファイルが「正常動作中に修正される必要がある」もの、又は「正常動作中に変更されずに維持されるべき実行可能コード」のどちらかとして分類されるように設計される。インストール・プログラムは、それに応じて、両方の種類のファイルを取り扱う。
本発明のこの特定の態様の主な利点は、全てのファイルが一度しか格納されず、付加的な情報の計算及び格納を必要としないことである。本発明は、バックアップ・コピーも使用しないし、ハッシュ値から導出されるファイルの「指紋」の計算及び格納も必要としない。
さらに、それぞれ切換可能に作ることができるある種の内部配線又は信号が存在するので、ハード・ディスクに対して書き込み保護を付加することは扱いが容易である。
ハード・ディスクのコアは回転ディスクであり、その磁性表面に情報が格納される。読み取り時には、コイルは表面の近くへと移動され、回転磁気パターンが電流を誘導し、次にこの電流がさらに処理されて、最終的に、要求されるバイナリ情報をもたらす。しかしながら、書き込み時には、磁界を発生させるために書き込み電流がコイルに印加され、次にこの磁界がコイルの下のディスク領域の磁気特性を変化させ、それによってハード・ディスク上に情報が書き込まれる。従って、問題は、この電流を手動で、又は少なくともオペレーティング・システムの外部から、及びアプリケーション・プログラムの外部から、制御することである。本発明の好ましい態様によれば、ハード・ディスクのパーティション全体が本発明の方法によって保護され、又はハード・ディスク全体が保護される。ファイル・アロケーション・テーブル又はそれに相当するリストはいずれも、基本的には従来技術で公知のように構成される。
次に、本発明の方法のこの実施形態を用いる場合に関連する、幾つかのインストールの問題をより詳細に説明する。
この実施形態を用いるソフトウェア・パッケージは、そのソフトウェア・パッケージに属する全てのファイルを上述の2つの異なるクラスに分ける。第1のクラスは、正常動作中にはユーザによって変更される必要はなく、インストール中にのみ変更される必要があるファイルからなり、第2のクラスは、正常動作中に変更を必要とすることがあるファイルからなる。
コンピュータ・システム上へのこのようなソフトウェア・パッケージのインストールの制御フローは図6に示され、以下のステップを含む。
ステップ610:オペレータが、物理的な切換を行うレバーを作動させることによって、「安全なハード・ディスク・セクション」に対する書き込みをイネーブルにする。
ステップ620:ソフトウェア・パッケージのためのインストール・ルーチンが開始され、全ての機密ファイルは「安全なセクション」内にコピーされる。「機密(sensible)」は、例えば、インストールがネットワーク(インターネット)を介して行われるときにファイルのヘッダに付加される例えばビット・フラグ、又はインストールのために使用されるCD−ROM上の予め指定された記憶場所により、上述の分類によってコード化される。
次に、ステップ630において、ユーザは、ハード・ディスクの安全なセクションの書き込み保護を作動させるために、レバーを切り換えるよう促される。
次に、その後のステップ640において、インストール・ルーチンは、変更することができる機密ではないファイルであって、それらの変更がアプリケーションの動作を深刻な危険にさらすものではないものと見なされるファイルを、保護されていないハード・ディスク・セクションにコピーし、ステップ640もまた、前述の分類に依存する。
さらに、本発明の好ましい態様によれば、本発明の方法は、最初からいずれかの種類の保護可能メモリをサポートするように設計されていたわけではないソフトウェア・パッケージの取り扱いも可能にする。
このように本開示を活用するようには設計されていないソフトウェア・パッケージに対しては、以下の手順を適用することができることが有利であり得る。
1.オペレーティング・システム及び/又はアプリケーション・プログラムを、コンピュータ・システムのハード・ディスク上に、通常どおりに、すなわち、本発明の方法を装備していないコンピュータ・システム上にそれらをインストールするのと同様に、インストールする。
2.次に、セキュリティ・プログラムを開始し、以下の特性の各々を満たす全てのファイルのリストを入力パラメータとして採用する。
(a)ファイルは、ステップ1の間にインストールされ、
(b)ファイルは、コンピュータ・ウィルスに感染する可能性があり、
(c)ファイルは、正常動作中には修正されることはない。
セキュリティ・プログラムは、これらのファイルを保護可能ストレージ内にコピーする。ファイルのリストは、プログラマによって手動で作成される。
3.インストールしているソフトウェアの内部構造に応じて、安全なメモリ内に移動させたファイルに適切にアクセスすることができるようにアクセス経路を調整する。
ステップ3は不可能な場合があるので、この特定の方法を全てのソフトウェア・パッケージに適用することができるわけではないことに留意されたい。
次に、本発明のこの実施形態のさらなるバリエーションを以下の通り開示する。
別の好ましい実施形態は、2つの分離したストレージ・デバイスを備え、その一方が保護可能である、コンピュータ・システムの特徴を含む。これらのデバイスは、ハード・ディスク、フラッシュROM、又は他の任意の不揮発性ストレージとすることができる。
別の好ましい実施形態は、1つのストレージ・デバイスによって提供されるストレージ領域を別個のセクションに分割し、そのうちの幾つかを読み取り専用モードに変えることができ、それにより、保護可能とすることができるという特徴を含む。
本発明は、完全にハードウェアである実施形態、完全にソフトウェアである実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態において、本発明はソフトウェアに実装され、これは、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがそれらに限定されるものではない。
さらに、本発明は、コンピュータ又は何らかの命令実行システムによって又はそれらと関連して使用するためのプログラム・コードを提供するコンピュータで使用可能な媒体又はコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラムの形態をとることができる。この説明の目的に関して、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスによって、或いはそれらと関連して使用されるためのプログラムを収容し、格納し、通信し、伝搬し、又は移送することができる、任意の装置とすることができる。
媒体は、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体システム(又は装置若しくはデバイス)、或いは伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、硬質磁気ディスク及び光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)、コンパクト・ディスク−読み取り/書き込み(CD−R/W)及びDVDが含まれる。
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接的又は間接的に連結される少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量ストレージ、及び実行中に大容量ストレージからコードを取得しなければならない回数を減らすために少なくとも一部のプログラム・コードの一時記憶を提供するキャッシュ・メモリを含むことができる。
入力/出力、すなわちI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されるものではない)は、直接的に、又は介在するI/Oコントローラを通じての、いずれかでシステムに連結することができる。
データ処理システムが、介在する私設若しくは公衆ネットワークを通じて他のデータ処理システム又は遠隔プリンタ若しくはストレージ・デバイスと連結できるようにするために、ネットワーク・アダプタをシステムに連結することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現在のところ使用可能なネットワーク・アダプタの種類のうちのほんの幾つかである。
上述のような回路は、集積回路チップのための設計の一部である。チップ設計は、グラフィカルなコンピュータ・プログラミング言語で作成され、コンピュータ・ストレージ媒体(例えば、ディスク、テープ、物理的ハード・ドライブ、又はストレージ・アクセス・ネットワークにおける場合のような仮想ハード・ドライブ)内に格納される。設計者がチップ、又はチップを製造するのに用いられるフォトリソグラフィ・マスクを製造しない場合には、設計者は、得られた設計を、物理的な手段によって(例えば、設計を格納した記憶媒体のコピーを提供することによって)、又は電子的に(例えば、インターネットを介して)、そのような企業実体に対して直接的又は間接的に伝送する。格納された設計は、次に、フォトリソグラフィ・マスクを製造するのに適した形式(例えば、GDSII)に変換され、そのマスクには、典型的には、ウェハ上に形成される当該チップ設計の多数のコピーが含まれる。フォトリソグラフィ・マスクは、エッチング又は他の手段で、処理されるべきウェハ(及び/又はその上の層)の領域を画定する。

Claims (10)

  1. コンピュータ・システムにおけるハッカー攻撃及びウィルス感染を防止するための方法であって、
    前記コンピュータ・システムは、読み取り及び書き込みが可能なストレージ手段(30)と、前記ストレージ手段を書き込み保護モードに切り換える物理的書き込み保護手段(34,36)であって、前記コンピュータ・システムのオペレーティング・システムの外部からのみ作動可能である切換手段(36)を含む物理的書き込み保護手段とを含み、
    前記方法は、
    セキュリティ関連情報を含むソース・コード作成において、前記ソース・コードの保護すべき部分にストレージ・クラス属性を付加するステップと、
    前記ソース・コードをコンパイルするステップであって、コンパイラが前記ソース・コードをバイナリ形式に翻訳するにあたり、前記ストレージ・クラス属性を含むデータ及び実行可能コード部分が、前記ストレージ手段書き込まれるように、前記バイナリを構成するステップと、
    前記ストレージ手段に前記バイナリを書き込むにあたり、前記保護すべき部分を含むファイルを、正常動作中にユーザによって変更されることがなく、インストール中にのみ変更される必要がある第1のクラスのファイル、それ以外を第2のクラスのファイルとして、前記ストレージ・クラス属性に基づいて判別するステップと、
    前記第1のクラスのファイルを前記ストレージ手段に書き込む時に、
    a)ユーザに、前記ストレージ手段内の書き込み保護可能ストレージ領域(32)への書き込みを一時的に許可する手動切換を前記切換手段により実行するように促すステップと、
    b)前記書き込み保護可能ストレージ領域(32)内に第1のクラスのファイルを格納するステップ(520、620)と、
    c)ユーザに、前記書き込み保護可能ストレージ領域(32)への書き込みを制限するための手動切換を前記切換手段により実行するように促し、その結果として書き込み保護されたストレージ領域を生成するステップと、
    d)前記手動切換に応答して、前記コンピュータ・システムのさらなるランタイムの間、前記書き込み保護されたストレージ領域(32)へのいかなる書き込みアクセスも制限するステップと、
    前記第2のクラスのファイルを、前記ストレージ手段の前記書き込み保護可能ストレージ領域以外の領域に書き込むステップ、
    を含む方法。
  2. 前記セキュリティ関連情報は、コンピュータ・システムのオペレーティング・システムのコンポーネントである、請求項1に記載の方法。
  3. 前記ストレージ手段は、前記コンピュータ・システムに接続された又は接続可能な不揮発性メモリである、請求項1に記載の方法。
  4. 前記不揮発性メモリは、前記コンピュータ・システムのハード・ディスクである、請求項3に記載の方法。
  5. 前記切換手段は、前記コンピュータ・システムに接続された又は接続可能な機械式スイッチ(36)である、請求項1に記載の方法。
  6. 機械式スイッチの代わりに、前記オペレーティング・システムに対して仮想環境を提供するソフトウェア・レイヤ内に実装される、請求項5に記載の方法。
  7. 前記物理的書き込み保護手段がイネーブルにされた後に、前記書き込み保護可能ストレージ領域に書き込みを行おうする試行が検出された場合に、警告を発するステップをさらに含む、請求項1に記載の方法。
  8. 前記ストレージ手段は、
    a)RAMメモリ、
    b)ハード・ディスク・デバイス、
    c)フラッシュRAMデバイス、
    d)書き換え可能な、取り外し可能ストレージ・デバイス、DVD−RWデバイス又はCD−RWストレージ媒体
    の群のうちの1つを含む、請求項1に記載の方法。
  9. 読み取り及び書き込みが可能なストレージ手段であって、書き込み保護可能ストレージ領域(32)を含むストレージ手段と、前記ストレージ手段を書き込み保護モードに切り換える物理的書き込み保護手段(34,36)であって、コンピュータ・システムのオペレーティング・システムの外部からのみ作動可能である切換手段(36)を含む物理的書き込み保護手段とを含む電子コンピュータ・システムであって、
    セキュリティ関連情報を含むソース・コードについて保護すべき部分にストレージ・クラス属性を付加するよう作成されており、前記ソース・コードはコンパイラにより、前記ストレージ・クラス属性を含むデータ及び実行可能コード部分前記ストレージ手段書き込まれるように、バイナリ形式に構成されており、前記ストレージ手段に前記バイナリを書き込むにあたり、前記保護すべき部分を含むファイルを、正常動作中にユーザによって変更されることがなく、インストール中にのみ変更される必要がある第1のクラスのファイル、それ以外を第2のクラスのファイルとして前記ストレージ・クラス属性に基づいて判別する手段と、
    前記第1のクラスのファイルを前記書き込み保護可能ストレージ領域に書き込む手段であって、
    a)ユーザに、書き込み保護可能ストレージ領域への書き込みを一時的に許可する手動切換を前記切換手段により実行するように促すための手段と、
    b)ユーザに、前記書き込み保護可能ストレージ領域への書き込みを制限するための手動切換を前記切換手段により実行するように促すための手段を
    含む手段と、
    前記第2のクラスのファイルを、前記ストレージ手段の前記書き込み保護可能ストレージ領域以外の領域に書き込む手段、
    をさらに含む、電子コンピュータ・システム。
  10. 請求項1〜8の何れか1つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
JP2010506870A 2007-05-09 2008-03-04 コンピュータ・システムの操作を防止するための方法及びデータ処理システム Expired - Fee Related JP5079084B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07107791.1 2007-05-09
EP07107791 2007-05-09
PCT/EP2008/052600 WO2008138653A1 (en) 2007-05-09 2008-03-04 A method and data processing system to prevent manipulation of computer systems

Publications (2)

Publication Number Publication Date
JP2010527060A JP2010527060A (ja) 2010-08-05
JP5079084B2 true JP5079084B2 (ja) 2012-11-21

Family

ID=39481232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010506870A Expired - Fee Related JP5079084B2 (ja) 2007-05-09 2008-03-04 コンピュータ・システムの操作を防止するための方法及びデータ処理システム

Country Status (5)

Country Link
US (1) US8239959B2 (ja)
EP (1) EP2143031A1 (ja)
JP (1) JP5079084B2 (ja)
CN (1) CN101632083A (ja)
WO (1) WO2008138653A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214810B2 (en) * 2006-08-29 2012-07-03 International Business Machines Corporation Method of compiling source code, compiler, computer system, and computer program product
US20110225654A1 (en) * 2008-08-25 2011-09-15 Mao-Huai Weng Write-Proof Protection Method of a Storage Device
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9003517B2 (en) * 2009-10-28 2015-04-07 Microsoft Technology Licensing, Llc Isolation and presentation of untrusted data
TW201137660A (en) * 2009-12-23 2011-11-01 Ibm Method and system for protecting an operating system against unauthorized modification
TWI421686B (zh) * 2010-04-12 2014-01-01 Phison Electronics Corp 資料存取方法與系統、儲存媒體控制器與儲存系統
CN102236608B (zh) * 2010-04-23 2017-10-27 群联电子股份有限公司 数据存取方法与系统、存储介质控制器与存储系统
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
CN102436559B (zh) * 2010-09-29 2016-06-01 联想(北京)有限公司 一种状态切换方法及系统
US8924672B2 (en) * 2011-02-08 2014-12-30 Infineon Technologies Ag Device with processing unit and information storage
JP2012190195A (ja) * 2011-03-09 2012-10-04 Fujitsu Ltd 制御装置
TWI432987B (zh) * 2011-03-15 2014-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與病毒掃描方法
WO2012148426A1 (en) * 2011-04-29 2012-11-01 Hewlett-Packard Development Company, L.P. Computer system firmware update
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9389933B2 (en) * 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
JP2013172249A (ja) * 2012-02-20 2013-09-02 Maido Kk 情報制御サーバ及び情報制御方法
US8984641B2 (en) * 2012-10-10 2015-03-17 Honeywell International Inc. Field device having tamper attempt reporting
US9916449B2 (en) 2013-03-08 2018-03-13 The Trustees Of Columbia University In The City Of New York Identification of backdoors and backdoor triggers
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
US9606853B2 (en) * 2014-03-28 2017-03-28 Intel Corporation Protecting a memory device from becoming unusable
US10339328B1 (en) 2014-07-15 2019-07-02 Cru Acquisition Group, Llc Securing stored computer files from modification
CN105989283B (zh) 2015-02-06 2019-08-09 阿里巴巴集团控股有限公司 一种识别病毒变种的方法及装置
CN105989282B (zh) * 2015-02-13 2019-09-24 联想(上海)信息技术有限公司 驱动部件控制方法、装置及电子设备
CN104778393A (zh) * 2015-04-16 2015-07-15 电子科技大学 一种智能终端的安全指纹识别方法
US9578054B1 (en) 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
US20170263254A1 (en) * 2016-03-10 2017-09-14 lntel IP Corporation Malware-proof privacy indicator
US10339324B2 (en) * 2016-12-22 2019-07-02 Apple Inc. Tamper-proof storage using signatures based on threshold voltage distributions
CN110337651A (zh) * 2017-02-20 2019-10-15 纽曼H-R计算机设计有限责任公司 防黑客计算机设计
AU2018315624A1 (en) * 2017-08-08 2020-02-27 Richardson, Ric B Method and apparatus for operating a computer
CN107526978A (zh) * 2017-08-23 2017-12-29 深圳市朗科科技股份有限公司 一种数据防拷贝的方法及闪存盘
US11444919B2 (en) 2019-05-20 2022-09-13 Woodward, Inc. Mission critical security zone
US11403204B2 (en) * 2019-08-05 2022-08-02 Cisco Technology, Inc. Framework for monitoring nanosecond-order application performance
CN111198832B (zh) * 2020-01-02 2022-09-23 联想(北京)有限公司 一种处理方法和电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2934039B2 (ja) * 1991-03-20 1999-08-16 富士通株式会社 複数ロードモジュール保護方式
WO1993009498A1 (en) 1991-10-28 1993-05-13 Sung Moo Yang Method and system protecting data in storage device against computer viruses
AU4036093A (en) 1992-03-17 1993-10-21 Jozsef Bugovics Hardware write protection circuitry for external mass storages of personal computers (PC)
JPH08123732A (ja) * 1994-10-28 1996-05-17 Hitachi Constr Mach Co Ltd Eepromの書込み装置
US6330648B1 (en) * 1996-05-28 2001-12-11 Mark L. Wambach Computer memory with anti-virus and anti-overwrite protection apparatus
JP2901541B2 (ja) * 1996-05-29 1999-06-07 日本電気オフィスシステム株式会社 情報処理装置
US6009518A (en) * 1997-01-15 1999-12-28 Shiakallis; Peter Paul Computer system for providing improved security for stored information
JP2000020401A (ja) * 1998-07-07 2000-01-21 Seiko Epson Corp Cpu装置、情報処理装置およびその制御方法
US6564326B2 (en) * 1999-07-06 2003-05-13 Walter A. Helbig, Sr. Method and apparatus for enhancing computer system security
CN100476761C (zh) * 2002-05-20 2009-04-08 邵通 一种实现硬盘安全隔离的装置及方法
WO2005010761A1 (ja) * 2003-07-25 2005-02-03 Denki Hompo Ltd. 書込制御方法及びコンピュータシステム
US20050188425A1 (en) * 2004-02-19 2005-08-25 Douglas Horn Electronic information lockout system
TWM264642U (en) * 2004-08-27 2005-05-11 Incomm Technologies Co Ltd Flash memory device having plural communication protocols
US20060230455A1 (en) * 2005-04-12 2006-10-12 Yuan-Chang Lo Apparatus and methods for file system with write buffer to protect against malware
US20060288180A1 (en) * 2005-06-15 2006-12-21 Inventec Corporation Programmable memory write protection method and system
US8856473B2 (en) * 2005-07-01 2014-10-07 Red Hat, Inc. Computer system protection based on virtualization

Also Published As

Publication number Publication date
WO2008138653A1 (en) 2008-11-20
CN101632083A (zh) 2010-01-20
EP2143031A1 (en) 2010-01-13
US8239959B2 (en) 2012-08-07
US20100306848A1 (en) 2010-12-02
JP2010527060A (ja) 2010-08-05

Similar Documents

Publication Publication Date Title
JP5079084B2 (ja) コンピュータ・システムの操作を防止するための方法及びデータ処理システム
JP5249450B2 (ja) 保護エージェント及び特権モード
US9465700B2 (en) System and method for kernel rootkit protection in a hypervisor environment
JP5819535B2 (ja) ハイパーバイザ環境でカーネル・ルートキットから保護するシステムおよび方法
JP4627547B2 (ja) アンチウィルス迅速化のための安全な記憶域追跡
US7640543B2 (en) Memory isolation and virtualization among virtual machines
JP5607752B2 (ja) 不正な変更からオペレーティング・システムを保護するための方法及びシステム
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
US8239608B1 (en) Secure computing environment
US20120216281A1 (en) Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel
JP2005129066A (ja) オペレーティングシステムリソース保護
US20090328225A1 (en) System and Methods for Enforcing Software License Compliance with Virtual Machines
CN103262092B (zh) 基于存储驱动器的防恶意软件方法和装置
KR20010040979A (ko) 스택에 기초한 액세스 제어
JP2010517164A (ja) オペレーティングシステム資源の保護
US9454652B2 (en) Computer security system and method
Zaidenberg Hardware rooted security in industry 4.0 systems
JP2018124893A (ja) 計算機システム及びファイルアクセスコントロール方法
US20090300307A1 (en) Protection and security provisioning using on-the-fly virtualization
JP2008305377A (ja) ネットワーク記憶装置の侵入保護システムおよび方法
WO2007022687A1 (fr) Système et procédé de contrôle de sécurité de système d’exploitation
CN115298655A (zh) 控制具有多个子系统的数据处理系统中的存储器访问
KR20070030931A (ko) 안티-바이러스 속도 향상을 위한 안전 저장 추적 방법
MAMBRETTI PRIVMUL: PRIVilege separation for Multi-user Logic applications
WO2016007418A1 (en) A computer security system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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

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

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

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