JP6695885B2 - ハッキング耐性のあるコンピュータ設計 - Google Patents
ハッキング耐性のあるコンピュータ設計 Download PDFInfo
- Publication number
- JP6695885B2 JP6695885B2 JP2017538238A JP2017538238A JP6695885B2 JP 6695885 B2 JP6695885 B2 JP 6695885B2 JP 2017538238 A JP2017538238 A JP 2017538238A JP 2017538238 A JP2017538238 A JP 2017538238A JP 6695885 B2 JP6695885 B2 JP 6695885B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- cpu
- address range
- data
- computer system
- 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
- 238000013461 design Methods 0.000 title description 13
- 238000005192 partition Methods 0.000 claims description 362
- 230000015654 memory Effects 0.000 claims description 170
- 238000004891 communication Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 23
- 230000002411 adverse Effects 0.000 description 15
- 230000004224 protection Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 244000035744 Hura crepitans Species 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 235000006679 Mentha X verticillata Nutrition 0.000 description 2
- 235000002899 Mentha suaveolens Nutrition 0.000 description 2
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 208000015181 infectious disease Diseases 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/031—Protect user input by software means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/032—Protect output to user by software means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明の第1の実施態様によれば、第1のパーティションであって、
第1のCPUと、
少なくとも1つのメモリ・モジュールと、
少なくとも1つの書き込みモジュールと、
少なくとも1つのI/Oモジュールと、
少なくとも1つのデータ・ファイルを含む、少なくとも1つのデータ・ストアと、
メモリ・アドレッシング構造であって、
少なくとも1つのプログラム・コード用アドレス範囲と、
少なくとも1つの第1のパーティション・データ用アドレス範囲と、
少なくとも1つの第2のパーティション・データ用アドレス範囲と、
を備えるメモリ・アドレッシング構造と、
少なくとも1つの重要なデータ・ファイルと、
前記プログラム・コード用アドレス範囲内に記憶されたコンピュータ実行可能コードであって、前記コンピュータ実行可能コードが、オペレーティング・システムを含む、コンピュータ実行可能コードとからなり、
前記第1のCPUが、前記プログラム・コード用アドレス範囲内に記憶された前記コンピュータ実行可能コードだけを実行するように構成される、第1のパーティションと、
バスと、
第2のパーティションであって、
第2のCPUと、
少なくとも1つのデータ・ファイルを含む、少なくとも1つのデータ・ストアと、
ネットワークに結合された通信モジュールと
からなる第2のパーティションとからなる、コンピュータ・システムにおいて、
前記第1のパーティションが、前記バスを通して、前記第2のパーティションに相互接続され、
前記第1のパーティションが、前記第2のパーティションからデータを読み取るための、プル・コマンドを実行するように構成され、
前記第1のパーティションが、前記第2のパーティションにデータを書き込むための、プッシュ・コマンドを実行するように構成され、
前記少なくとも1つの書き込みモジュールが、前記第2のパーティションの前記少なくとも1つのデータ・ファイルを、前記バスを通して、前記第1のパーティションの前記少なくとも1つの第2のパーティション・データ用アドレス範囲に書き込むように構成され、
前記少なくとも1つの書き込みモジュールが、前記第1のパーティションの前記少なくとも1つのデータ・ファイルを、前記バスを通して、前記第2のパーティションの前記少なくとも1つのデータ・ストアに書き込むように構成され、
前記第1のパーティションが、前記第2のパーティションからのプッシュ・コマンドを制限するように構成され、
前記第1のパーティションが、前記第2のパーティションからのプル・コマンドを制限するように構成され、
前記第1のパーティションが、ハードウェア的に構成され、
前記第2のパーティションが、ハードウェア的に構成され、
前記第2のパーティションが、前記メモリ・アドレッシング構造にアクセスすることをハードウェア的に制限される、
コンピュータ・システムを要旨とする。
本発明の第2の実施態様は、第1の実施態様において、複数の入力/出力デバイスが、前記第1のパーティションの前記I/Oモジュールに結合されることを要旨とする。
本発明の第3の実施態様は、第1の実施態様において、前記プログラム・コード用アドレス範囲が、第1のメモリ・ユニットからなり、
前記第1のパーティション・データ用アドレス範囲が、第2のメモリ・ユニットからなり、
前記第2のパーティション・データ用アドレス範囲が、第3のメモリ・ユニットからなることを要旨とする。
本発明の第4の実施態様は、第1の実施態様において、
前記第1のパーティション及び第2のパーティションからなるチップをさらに備えることを要旨とする。
本発明の第5の実施態様は、第1の実施態様において、前記第1のパーティションからなる第1のチップと、前記第2のパーティションからなる第2のチップとをさらに備えることを要旨とする。
本発明の第6の実施態様は、第1の実施態様において、オン位置及びオフ位置を備える、少なくとも1つの外部物理スイッチをさらに備え、前記外部物理スイッチの前記オン位置が、前記少なくとも1つの書き込みモジュールが、前記第1のパーティションの前記プログラム・コード用アドレス範囲にアクセスすることを可能にすることを要旨とする。
本発明の第7の実施態様は、第1の実施態様において、前記少なくとも1つの書き込みモジュールが、フィールド・プログラマブル・ゲート・アレイからなることを要旨とする。
本発明の第8の実施態様は、第1の実施態様において、前記書き込みモジュールが、前記第1のパーティションの前記少なくとも1つのデータ・ストア、前記少なくとも1つのプログラム・コード用アドレス範囲、前記少なくとも1つの第1のパーティション・データ用アドレス範囲、又は前記少なくとも1つの第2のパーティション・データ用アドレス範囲から、前記第2のパーティションに書き込むように構成されることを要旨とする。
本発明の第9の実施態様は、第1の実施態様において、前記第1のCPUが、前記プログラム・コード用アドレス範囲内に記憶された前記コンピュータ実行可能コードだけを実行するようにハードウェア的に構成されることを要旨とする。
本発明の第10の実施態様は、少なくとも1つのパーティション・コンピュータであって、
第1のパーティションであって、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールと、
少なくとも1つの書き込みモジュールと、
少なくとも1つのI/Oモジュールと、
少なくとも1つのデータ・ストアと、
メモリ・アドレッシング構造であって、
少なくとも1つのプログラム・コード用アドレス範囲と、
少なくとも1つの第1のパーティション・データ用アドレス範囲と、
少なくとも1つの第2のパーティション・データ用アドレス範囲と、
を備えるメモリ・アドレッシング構造と
からなる第1のパーティションと、
バスと、
第2のパーティションであって、
少なくとも1つのCPUと、
少なくとも1つのメモリ・モジュールと、
少なくとも1つのデータ・ファイルを含む、少なくとも1つのデータ・ストアと、
外部ネットワークに通信可能に結合された通信モジュールと
からなる第2のパーティションとからなり、
前記第1のパーティションが、前記バスを通して、前記第2のパーティションに相互接続され、
前記第1のパーティションの前記少なくとも1つのCPUが、前記第2のパーティションからのプッシュ・コマンド及び前記第2のパーティションからのプル・コマンドを制限するように構成され、
前記第2のパーティションが、前記第2のパーティションの前記データ・ファイルを、前記第1のパーティションの前記メモリ・アドレスに書き込むことはできない、
少なくとも1つのパーティション・コンピュータと、
前記少なくとも1つのI/Oモジュールと通信可能に結合された、少なくとも1つの別個のコンピュータとからなる、コンピュータ・システムにおいて、
前記少なくとも1つの別個のコンピュータが、外部ネットワークに通信可能に結合されず、
前記少なくとも1つの別個のコンピュータが、少なくとも1つの重要なデータ・ファイル及び少なくとも1つのデータ・セグメントを含み、
前記少なくとも1つの書き込みモジュールが、前記少なくとも1つの別個のコンピュータから読み取り、又は前記少なくとも1つの別個のコンピュータに書き込むように構成され、
前記第2のパーティションが、前記少なくとも1つの別個のコンピュータから読み取ること、又は前記少なくとも1つの別個のコンピュータに書き込むことはできず、
前記少なくとも1つの別個のコンピュータが、前記第2のパーティションから読み取ること、又は前記第2のパーティションに書き込むことはできず、
前記第1のパーティションが、ハードウェア的に構成され、
前記第2のパーティションが、ハードウェア的に構成され、
前記第2のパーティションが、前記メモリ・アドレッシング構造にアクセスすることをハードウェア的に制限される、コンピュータ・システムを要旨とする。
本発明の第11の実施態様は、第10の実施態様において、前記第2のパーティションの前記通信モジュールが、ネットワークに結合されることを要旨とする。
本発明の第12の実施態様は、第11の実施態様において、前記少なくとも1つの書き込みモジュールが、フィールド・プログラマブル・ゲート・アレイからなることを要旨とする。
本発明の第13の実施態様は、第11の実施態様において、前記少なくとも1つのプログラム・コード用アドレス範囲が、第1のメモリ・ユニットからなり、前記少なくとも1つの第1のパーティション・データ用アドレス範囲が、第2のメモリ・ユニットからなり、前記少なくとも1つの第2のパーティション・データ用アドレス範囲が、第3のメモリ・ユニットからなることを要旨とする。
本発明の第14の実施態様は、第10の実施態様において、外部ネットワークに通信可能に結合された、第2の別個のコンピュータをさらに備え、
前記第2のパーティションが、I/Oモジュールを備え、
前記第2の別個のコンピュータが、前記第2のパーティションの前記I/Oモジュールに結合され、
前記第2の別個のコンピュータが、重要なファイルを保有せず、
前記第2の別個のコンピュータが、前記第2のパーティションに書き込むこと、及び前記第2のパーティションから読み取ることができることを要旨とする。
本発明の第15の実施態様は、第14の実施態様において、複数の入力/出力デバイスが、前記第1のパーティションの前記I/Oモジュールに結合されることを要旨とする。
本発明の第16の実施態様は、第14の実施態様において、前記第1のパーティション及び第2のパーティションからなるチップをさらに備えることを要旨とする。
本発明の第17の実施態様は、第14の実施態様において、前記第1のパーティションからなる第1のチップと、前記第2のパーティションからなる第2のチップとをさらに備えることを要旨とする。
本発明の第18の実施態様は、第14の実施態様において、オン位置及びオフ位置を備える、少なくとも1つの外部物理スイッチをさらに備え、前記外部物理スイッチの前記オン位置が、前記書き込みモジュールが、前記第1のパーティションの前記プログラム・コード用アドレス範囲にアクセスすることを可能にすることを要旨とする。
本発明の第19の実施態様は、第10の実施態様において、前記書き込みモジュールが、前記第1のパーティションの前記少なくとも1つのデータ・ストア、前記少なくとも1つのプログラム・コード用アドレス範囲、前記少なくとも1つの第1のパーティション・データ用アドレス範囲、又は前記少なくとも1つの第2のパーティション・データ用アドレス範囲から、前記第2のパーティションに書き込むように構成されることを要旨とする。
本発明の第20の実施態様は、第10の実施態様において、前記第1のパーティションの前記少なくとも1つのCPUが、前記少なくとも1つのプログラム・コード用アドレス範囲内に記憶されたコンピュータ実行可能コードだけを実行するようにハードウェア的に構成されることを要旨とする。
(接続される)」、「coupled(結合される)」という用語、又はそれらのいずれの変化形も、2つ以上の要素間の、直接的又は間接的な、電子的又は非電子的な、任意の接続又は結合を意味し、要素間の接続の結合は、物理的、論理的、又はそれらの組み合わせとすることができる。加えて、「herein(本明細書で)」、「above(上で)」、「below(下で)」という語、及び同様の趣旨の語は、本明細書で使用される場合、本明細書のいずれか特定の部分ではなく、本明細書を全体として参照するものとする。文脈が許す場合、単数形又は複数形で使用される「発明を実施するための形態」内の語は、それぞれ、複数又は単数を含んでもよい。2つ以上の項目からなるリストに関する「or(又は)」という語は、この語についての以下の解釈のすべて、すなわち、リスト内の項目のいずれか、リスト内の項目のすべて、及びリスト内の項目の任意の組み合わせを包含する。以下に、図を参照する、本発明の好適な実施形態についての詳細な説明を提示する。
SM(登録商標))を含む。ネットワーク500は、コンピューティング・デバイス300及び端末600の1つ又は複数のプロトコルを利用することが可能である。さらに、ネットワーク500は、他のプロトコルに変換すること、又は他のプロトコルから端末600の1つもしくは複数のプロトコルに変換することができる。いくつかの状況では、セカンダリ・パーティション200は、コンピューティング・デバイス300上に記憶された重要なデータ・ファイルにアクセスしようと、又は悪影響を及ぼそうと試みる、悪意あるコンピュータ実行可能コードにさらされる。図2及び図3を参照して以下で説明されるように、好適な実施形態は、そのようなマルウェアが、第1のパーティション100の重要なデータ・ファイル及びメモリにアクセスすること、又は悪影響を及ぼすことを防止する。
104は、セカンダリ・パーティション200のメモリ206のアドレス範囲全体及びデータ・ストア208に書き込むことができる。この設計の1つの利点は、悪意あるコンピュータ実行可能コードによって悪影響を及ぼされた第2のパーティション200のオペレーティング・システム及びデータ・ファイルを、第1のパーティション100が回復できることである。加えて、CPU104は、メモリ206のアドレス範囲全体及びデータ・ストア208からデータを読み取ることができるが、CPU104による「読み取り」コマンド(プル)だけによって、それを行うことができる。CPU104は、ハードウェア制限によって、第2のパーティション200によってCPU104にプッシュされたいかなるデータ又は他のファイルも受け入れることはできない。加えて、第2のパーティション200は、いかなるデータも第1のパーティション100からプルすることはできない。さらに、第1のパーティション100のオペレーティング・システム及びサポーティング・プログラムは、CPU104が第2のパーティション200から受け入れるデータのフォーマット及び他のファイル特性を定義する。適切な予想された形式を取らないファイルを第1のパーティション100に提供しようとする、第2のパーティション200によるいずれの試みも、CPU104によって拒否される。図3を参照して以下で詳細に説明されるように、CPU104によってセカンダリ・パーティション200から読み取られるすべてのデータ・ファイルは、メモリ106の第2のパーティション用アドレス範囲及び/又はデータ・ストア108に書き込まれる。CPU104は、メモリ106のプログラム・コード用アドレス範囲及びデータ・ストア107上に記憶されたコンピュータ実行可能コードだけしか実行できないので、第1のパーティション100は、セカンダリ・パーティション200上に記憶されたいかなる悪意あるコンピュータ実行可能コードからも保護される。
れた悪意あるコンピュータ実行可能コードは、そのようなデータ・ファイルのいくつかに、有効なコンピュータ実行可能コードであることを示すフラグが立てられていることがあっても、オペレーティング・システムによって実行されない。さらに、第1のパーティションのCPUは、第2のパーティションから読み取られたいかなるデータも、第2のパーティション・データ用アドレス・ブロック706にだけ書き込み、それは、実行のために使用され得ない。この設計は、第2のパーティション内の悪意あるコンピュータ実行可能コードが、第1のパーティションのメモリ・アドレッシング700のプログラム・コード用アドレス・ブロック702に書き込まれることを防止する。ハードウェア設計のさらなる利点は、書き込みコマンド及び読み取りコマンドのアドレス範囲が、悪意あるコンピュータ実行可能コードによって悪影響を及ぼされ得ないことであるが、その理由は、メモリ・アドレス範囲に悪影響を及ぼすためには、第1のパーティションのCPUが、物理的に変更される必要があるからである。第1のパーティションのアドレッシングを分離するために、3つの別個のメモリを利用することも可能であることは、当業者に明らかである。
、第1のパーティションのCPUは、第2のパーティションのCPUを用いて、現在のデータ要求を定期的にチェックする。データ要求は、データのアイテムを獲得するための要求、データのアイテムを更新するための要求、又は第1のパーティションによるアクション、例えば、1つの口座から別の口座への資金の送金、もしくは建物内における温度設定の変更を要求するための要求とすることができる。次に、工程904において、第1のパーティション上に存在するプログラムが、データ要求の正当性を検証する。上で説明されたように、第1のパーティション上に存在するプログラムは、インターネット及び他の任意のネットワークからの悪意あるコンピュータ実行可能コードによる感染から、ハードウェア的に保護される。第1のパーティション上に存在するプログラムによって検証されたデータ要求の場合、方法は、工程910に進む。そうではなく、検証が失敗した場合、方法は、工程906に進む。工程906において、第1のパーティションのCPUは、工程904において検出されたいずれかの疑わしいアクティビティに起因して、第1のパーティションに直接的に接続された権限を与えられた個人による確認を要求することができる。第1のパーティションに直接的に接続された権限を与えられた個人が、データ要求を確認した場合、方法は、工程910に進む。そうではない場合、方法は、工程908に進む。工程908において、第1のパーティションのCPUは、データ要求が拒否されたことを、権限を与えられた個人に警告し、別のデータ要求に着手する。検証及び/又は確認に続いて、工程910において、第1のパーティションのCPUは、データ・ファイルにアクセスし、データの適用可能な要素を第2のパーティションに提供する。この設計下では、第2のパーティションは、第1のパーティション上のいかなる重要なデータ・ファイルに対する直接アクセスも獲得することはできない。上で説明されたように、好適な実施形態において開示されるコンピュータ・システム・アーキテクチャのハードウェアは、データ・ファイルを第1のパーティションから送るためのコマンドが、第2のパーティションによって制御され得ないように構築される。結果として、第2のパーティション上に配置されたいかなる悪意あるコードも、悪意あるコードを第1のパーティションの実行可能コード内に入れることはできず、したがって、いかなる重要なデータ・ファイルにもアクセスすることができず、又はそれらに悪影響を及ぼすことができない。
、ソフトウェアは、第2のコンピュータ1400上で動作しており、それは、CPU1204が、第2のコンピュータ1400からデータを受け取ることを可能にする。CPU1204によって第2のコンピュータ1400から読み取られたデータ・ファイルは、メモリ1206及び/又はデータ・ストア1208上に記憶される。CPU1204は、第1のコンピュータ1300と直接的に通信することを、ハードウェア的に制限される。第2のパーティション1200は、通信モジュール1210をさらに備える。通信モジュール1210は、第2のパーティション1200が、インターネットなどのネットワークを通して通信することを可能にする。結果として、通信モジュール1210は、インターネットからのデータにアクセスするために、第2のコンピュータ1400を利用する代わりに、インターネットからのデータにアクセスするために、第1のコンピュータ1300によって利用され得る。
アドレス範囲全体及びデータ・ストア1208からデータを読み取ることができるが、CPU1104による「読み取り」コマンド(プル)だけによって、それを行うことができる。CPU1104は、ハードウェア制限によって、第2のパーティション1200によってそれにプッシュされた、いかなるデータ又は他のファイルも受け入れることはできない。この実施形態では、第1のパーティション1100に直接的に接続された第1のコンピュータ1300上で動作するソフトウェアは、第2のパーティション1200からいずれかのデータをプルするように、CPU1104に要求することができる。CPU1104は、メモリ1106のプログラム・コード用アドレス範囲及びデータ・ストア1108上に記憶されたコンピュータ実行可能コードだけしか実行できないので、コンピューティング・デバイス1000の第1のパーティション1100は、第2のコンピュータ1400又はメモリ1206上に記憶されたいかなる悪意あるコンピュータ実行可能コードからも保護される。
用される。この設計は、第1のコンピュータ1500のソフトウェアが、第1のコンピュータ1500のハッキングのリスクを低減する方法で、第2のコンピュータ1600と対話することを可能にする。第2のコンピュータ1600によってインターネットから受け取られることがあるマルウェアは、第1のコンピュータ1500上で動作するソフトウェアによって、第1のコンピュータ1500上の実行可能コードのポイントに達することを阻止される。
ンピュータ1600のオペレーティング・システムは、第2のコンピュータ1600のメモリの一部を、仮想パーティション1606に割り当てる。さらに、第2のコンピュータ1600のオペレーティング・システムは、仮想パーティション1606が、ネットワークを通してリモート端末と通信するためのリソースにアクセスすることを可能にする。仮想パーティション1606は、オペレーティング・システム1602を備え、それは、第2のコンピュータ1600のオペレーティング・システムによって仮想パーティション1606に割り当てられた、プログラム・コード/データ用アドレス・ブロック1604のアドレス範囲全体にアクセスし、実行することができる。仮想パーティション1510のオペレーティング・システム1502は、プログラム・コード/データ用アドレス・ブロック1604のアドレス範囲全体から、プル・コマンドを使用して、データを読み取るようにプログラムされる。しかしながら、オペレーティング・システム1502は、ソフトウェア制限によって、第2のコンピュータ1600の仮想パーティション1606によって、それにプッシュされたいかなるデータ又は他のファイルも受け入れることはできない。第2のコンピュータ1600内のソフトウェアは、第1のコンピュータ1500によって読み取られるデータを、オペレーティング・システム1502によって必要とされる形式でフォーマットする。第2のコンピュータ1600は、インターネット・ハッカによって侵入され得る。マルウェアが、第1のコンピュータ1500に提供されるデータのフォーマットを改変した場合、オペレーティング・システム1502は、不適切にフォーマットされたデータを受け入れない。加えて、ソフトウェアは、第1のコンピュータが第2のコンピュータからデータを獲得するための、図4を参照して上で詳細に説明された方法を利用することができる。
Claims (46)
- 第1のパーティションと第2のパーティションとを有するコンピュータ・システムにおいて、
前記第1のパーティションは、
第1のCPUと、
第1のメモリ・モジュールとを備え、前記第1のメモリ・モジュールは
少なくとも1つのプログラム・コード用メモリ・アドレス範囲であって、プログラム・コードはコンピュータ実行可能コードを含んでなり、前記プログラム・コード用メモリ・アドレス範囲はハードウェア・スイッチによって変更からハードウェアの保護がなされる、プログラム・コード用メモリ・アドレス範囲と、
第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲と、
前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲とを有し、
前記第1のCPUは前記プログラム・コード用メモリ・アドレス範囲で前記コンピュータ実行可能コードのみを実行するようにハードウェア的に構成してあり、
前記第2のパーティションは、
第2のCPUと、
第2のメモリ・モジュールと、
ネットワークに接続されるための少なくとも1つの通信モジュールとを備え、
前記第1のCPUは前記第2のメモリ・モジュールにアクセスするように構成され、
前記第1のCPUは、前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲のみに前記第2のパーティションからのデータを読み取るように構成され、
前記第2のCPUは前記第1のCPU又は前記第1のメモリ―モジュールにアクセスすることを制限されている、コンピュータ・システム。 - 少なくとも1つのプログラム・コード用メモリ・アドレス範囲はハードウェア回路によって構成される、請求項1に記載のコンピュータ・システム。
- 前記ハードウェア・回路は少なくとも1つのフィールド・プログラマブル・ゲート・アレイを含んでなる、請求項2に記載のコンピュータ・システム。
- 前記第1のメモリ・モジュールは、
前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲を有する第1のメモリ・ユニットと、
前記第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲を有する第2のメモリ・ユニットと、
前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲を有する第3のメモリ・ユニットとを備える、請求項1に記載のコンピュータ・システム。 - 前記プログラム・コードはオペレーティング・システムを含んでなる、請求項1に記載のコンピュータ・システム。
- 少なくとも1つのデータ・ストアを備える、請求項1に記載のコンピュータ・システム。
- 前記第1のCPUが前記第2のメモリ・モジュールにアクセスする能力はハードウェア回路によって実行され、
前記第2のパーティションに対する、第1のCPU又は第1のメモリ・モジュールへのアクセスの制限はハードウェア回路によって実行される、請求項1に記載のコンピュータ・システム。 - 前記第1のパーティションに直接に接続した外部デバイスを使用するハードウェア要素は、前記第2のパーティションの入力デバイス及び出力デバイスの制御を行うよう前記第1のCPUに命令することをユーザに可能にさせるように構成される、請求項1に記載のコンピュータ・システム。
- バスをさらに備え、
前記第1のパーティションは前記バスによって前記第2のパーティションと相互接続され、
前記第1のCPUは、前記第2のパーティションからデータを読み出し、及び前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲のみにデータを書き込むために前記バスを通るプル・コマンドを実行するように構成され、
前記第1のCPUは、前記第2のパーティションにデータを書き込むために前記バスを通るプッシュ・コマンドを実行するように構成され、
前記第1のパーティションは前記第2のパーティションからのプッシュ・コマンド又は前記第2のパーティションからのプル・コマンドを受け付けられず、
前記第2のパーティションに対する、第1のCPU又は第1のメモリ・モジュールへのアクセスの制限はハードウェア回路によって実行される、請求項1に記載のコンピュータ・システム。 - 前記ハードウェア・スイッチはオン及びオフに切り替えられる少なくとも1つの外部物理スイッチからなり、前記第1のCPUは前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲に記憶したデータを前記外部物理スイッチがオンの時にのみ変更することができる、請求項1に記載のコンピュータ・システム。
- オン及びオフに切り替えられる少なくとも1つの外部物理スイッチと、
前記第1のCPUは前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲のコンテンツを前記外部物理スイッチがオンの時にのみ変更し、
前記外部物理スイッチがオンの時には、前記第1のCPUは前記第2のパーティションからの読み出し、及び前記第2のパーティションへの書き込みができないようにされている、請求項1に記載のコンピュータ・システム。 - 前記第1のCPUが前記第2のメモリ・モジュールにアクセスする能力は仮想パーティション構成によって実現し、
前記第2のCPUが前記第1のCPU及び前記第1のメモリ・モジュールにアクセスする制限は仮想パーティション構成によって実現する、請求項1に記載のコンピュータ・システム。 - 前記第1のパーティションは少なくとも1つの入力/出力モジュールを備え、
複数の入力/出力デバイスは前記少なくとも1つの入力/出力モジュールに接続される、請求項1に記載のコンピュータ・システム。 - 前記第1のパーティション及び第2のパーティションを含んでなるチップをさらに備える、請求項1に記載のコンピュータ・システム。
- 前記第1のパーティションを含んでなる第1のチップと、前記第2のパーティションを含んでなる第2のチップとをさらに備える、請求項1に記載のコンピュータ・システム。
- 前記第1のパーティションに直接に接続された外部デバイスを用いるハードウェア機能は、前記第1のCPUが前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲、前記第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲、又は前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲から前記第2のパーティションにデータを書き込むことを可能にするように構成される、請求項1に記載のコンピュータ・システム。
- 前記第1のパーティションは1つ以上の仮想サブ・パーティションを備え、
前記第2のパーティションは1つ以上の仮想サブ・パーティションを備える、請求項1に記載のコンピュータ・システム。 - 少なくとも1つのプログラム・コード用メモリ・アドレス範囲の書き込みの制限は仮想パーティション構成によって実現し、
前記仮想パーティション構成は前記制限のオンとオフのスイッチングを 行うように構成され、
前記第1のCPUは前記仮想パーティション構成を通して、前記第2のパーティションからの読み出し又は前記第2のパーティションへの書き込みができないようにされている、請求項1に記載のコンピュータ・システム。 - コンピュータ・システムにおいて、
第1のパーティションであって、
第1のCPUと、
第1のメモリ・モジュールとを備え、前記第1のメモリ・モジュールは
第1のメモリ・アドレス範囲であって、前記第1のメモリ・アドレス範囲はプログラム・コードを含んでなり、前記プログラム・コードはコンピュータ実行可能コードを含んでなり、前記プログラム・コードはハードウェア・スイッチによって変更からハードウェアの保護がなされる、第1のメモリ・アドレス範囲と、
第2のメモリ・アドレス範囲とを有し、
前記第1のCPUは前記第1のメモリ・アドレス範囲で前記コンピュータ実行可能コードのみを実行するようにハードウェア的に構成してある第1のパーティションと、
第2のパーティションであって、
第2のCPUと、
第2のメモリ・モジュールと、
ネットワークに接続されるための少なくとも1つの通信モジュールとを備え、
前記第1のCPUは前記第2のメモリ・モジュールにアクセスするように構成され、
前記第1のCPUは、前記第2のメモリ・アドレス範囲のみに前記第2のパーティションからのデータを読み取るように構成され、
前記第2のCPUは前記第1のCPU又は前記第1のメモリ―モジュールにアクセスすることを制限されている前記第2のパーティションと
を備える、コンピュータ・システム。 - 少なくとも1つのメモリ・アドレス範囲はハードウェア回路によって構成される、請求項19に記載のコンピュータ・システム。
- 前記ハードウェア・回路は少なくとも1つのフィールド・プログラマブル・ゲート・アレイを含んでなる、請求項20に記載のコンピュータ・システム。
- 前記第1のメモリ・モジュールは、
前記少なくとも1つのメモリ・アドレス範囲を有する第1のメモリ・ユニットと、
前記第2のメモリ・アドレス範囲を有する第2のメモリ・ユニットと
を備える、請求項19に記載のコンピュータ・システム。 - 前記プログラム・コードはオペレーティング・システムを含んでなる、請求項19に記載のコンピュータ・システム。
- 少なくとも1つのデータ・ストアを備える、請求項19に記載のコンピュータ・システム。
- 前記第1のCPUが前記第2のメモリ・モジュールにアクセスする能力はハードウェア回路によって実行され、
前記第2のパーティションに対する、第1のCPU又は第1のメモリ・モジュールへのアクセスの制限はハードウェア回路によって実行される、請求項19に記載のコンピュータ・システム。 - 前記第1のパーティションに直接に接続した外部デバイスを使用するハードウェア要素は、前記第2のパーティションの入力デバイス及び出力デバイスの制御を行うよう前記第1のCPUに命令することをユーザに可能にさせるように構成される、請求項19に記載のコンピュータ・システム。
- バスをさらに備え、
前記第1のパーティションは前記バスによって前記第2のパーティションと相互接続され、
前記第1のCPUは、前記第2のパーティションからデータを読み出し、及び前記第2のメモリ・アドレス範囲のみにデータを書き込むために前記バスを通るプル・コマンドを実行するように構成され、
前記第1のCPUは、前記第2のパーティションにデータを書き込むために前記バスを通るプッシュ・コマンドを実行するように構成され、
前記第1のパーティションは前記第2のパーティションからのプッシュ・コマンド又は前記第2のパーティションからのプル・コマンドを受け付けられず、
前記第2のパーティションに対する、第1のCPU又は第1のメモリ・モジュールへのアクセスの制限はハードウェア回路によって実行される、請求項19に記載のコンピュータ・システム。 - 前記ハードウェア・スイッチはオン及びオフに切り替えられる少なくとも1つの外部物理スイッチからなり、前記第1のCPUは前記第1のメモリ・アドレス範囲に記憶したデータを前記外部物理スイッチがオンの時にのみ変更するように構成されている、請求項19に記載のコンピュータ・システム。
- オン及びオフに切り替えられる少なくとも1つの外部物理スイッチと、
前記第1のCPUは前記第1のメモリ・アドレス範囲のコンテンツを前記外部物理スイッチがオンの時にのみ変更し、
前記外部物理スイッチがオンの時には、前記第1のCPUは前記第2のパーティションからの読み出し、及び前記第2のパーティションへの書き込みができないようにされている、請求項19に記載のコンピュータ・システム。 - 前記第1のCPUが前記第2のメモリ・モジュールにアクセスする能力は仮想パーティション構成によって実現し、
前記第2のCPUが前記第1のCPU及び前記第1のメモリ・モジュールにアクセスする制限は仮想パーティション構成によって実現する、請求項19に記載のコンピュータ・システム。 - 前記第1のパーティションは少なくとも1つの入力/出力モジュールを備え、
複数の入力/出力デバイスは前記少なくとも1つの入力/出力モジュールに接続される、請求項19に記載のコンピュータ・システム。 - 前記第1のパーティション及び第2のパーティションを含んでなるチップをさらに備える、請求項19に記載のコンピュータ・システム。
- 前記第1のパーティションを含んでなる第1のチップと、前記第2のパーティションを含んでなる第2のチップとをさらに備える、請求項19に記載のコンピュータ・システム。
- 前記第1のパーティションに直接に接続された外部デバイスを用いるハードウェア機能は、前記第1のCPUが前記第1のメモリ・アドレス範囲から前記第2のパーティションにデータを書き込むことを可能にするように構成される、請求項19に記載のコンピュータ・システム。
- 前記第1のパーティションは1つ以上の仮想サブ・パーティションを備え、
前記第2のパーティションは1つ以上の仮想サブ・パーティションを備える、請求項19に記載のコンピュータ・システム。 - 前記第1のメモリ・アドレス範囲の書き込みの制限は仮想パーティション構成によって実現し、
前記仮想パーティション構成は前記制限のオンとオフのスイッチングを 行うように構成され、
前記第1のCPUは前記仮想パーティション構成を通して、前記第2のパーティションからの読み出し又は前記第2のパーティションへの書き込みが可能及び不能にするにされている、請求項19に記載のコンピュータ・システム。 - 第1のパーティションと第2のパーティションとを有するコンピュータ・システムにおいて、
前記第1のパーティションは、
第1のCPUと、
第1のメモリ・モジュールとを備え、前記第1のメモリ・モジュールは
少なくとも1つのプログラム・コード用メモリ・アドレス範囲であって、プログラム・コードはコンピュータ実行可能コードを含んでなり、前記プログラム・コード用メモリ・アドレス範囲はハードウェア回路から構成される、プログラム・コード用メモリ・アドレス範囲と、
他のデータ用の少なくとも1つのメモリ・アドレス範囲であって、前記他のデータには前記第2のパーティションから読み取ったデータが含まれる、他のデータ用の少なくとも1つのメモリ・アドレス範囲とを備え、
前記第1のCPUは前記プログラム・コード用メモリ・アドレス範囲で前記コンピュータ実行可能コードのみを実行するようにハードウェア的に構成してあり、
前記第2のパーティションは、
第2のCPUと、
第2のメモリ・モジュールと、
ネットワークに接続されるための少なくとも1つの通信モジュールとを備え、
前記第1のCPUは前記第2のメモリ・モジュールにアクセスするように構成されるとともに、他のデータ用の少なくとも1つのメモリ・アドレス範囲のみに前記第2のパーティションからのデータを読み取るように構成され、
前記第2のCPUは前記第1のメモリ・モジュールにアクセスすることを制限されている、コンピュータ・システム。 - 前記第1のメモリ・モジュールは、
前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲を有する第1のメモリ・ユニットと、
前記他のデータ用の少なくとも1つのメモリ・アドレス範囲を有する第2のメモリ・ユニットと
を備える、請求項37に記載のコンピュータ・システム。 - 前記他のデータ用の少なくとも1つのメモリ・アドレス範囲は、
前記第2のパーティションから読み取ったデータのための少なくとも1つのメモリ・アドレス範囲と、
第1のパーティション・データ用の少なくとも1つのメモリ・アドレス範囲とを含んでなる、請求項37に記載のコンピュータ・システム。 - 前記第1のメモリ・モジュールは、
前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲を有する第1のメモリ・ユニットと、
前記第2のパーティションから読み取ったデータのための第2のメモリ・ユニットと、
第1のパーティション・データのための第3のメモリ・ユニットと、
を備える、請求項37に記載のコンピュータ・システム。 - バスをさらに備え、
前記第1のパーティションは前記バスによって前記第2のパーティションと相互接続され、
前記第1のパーティションは、前記第2のパーティションからデータを読み出し、及び前記他のデータのための少なくとも1つのメモリ・アドレス範囲のみにデータを書き込むために前記バスを通るプル・コマンドを実行するように構成され、
前記第1のパーティションは、前記第2のパーティションにデータを書き込むために前記バスを通るプッシュ・コマンドを実行するように構成され、
前記第1のパーティションは前記第2のパーティションからのプッシュ・コマンド又は前記第2のパーティションからのプル・コマンドを受け付ないように構成され、
前記バスのハードウェア回路は前記第2のパーティションが前記第1のメモリ・モジュールにアクセスすることを許可しない、請求項37に記載のコンピュータ・システム。 - オン及びオフに切り替えられる少なくとも1つの外部物理スイッチをさらに備え、前記第1のCPUは前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲に記憶したデータを前記外部物理スイッチがオンの時にのみ変更するように構成される、請求項37に記載のコンピュータ・システム。
- コンピュータ・システムにおいて、
少なくとも1つのCPUと、
少なくとも1つの他のコンピュータに接続する少なくとも1つのI/Оモジュールと、
少なくとも1つのメモリ・モジュールであって、
ハードウェア回路によって構成される、少なくとも1つのプログラム・コード用メモリ・アドレス範囲であって、プログラム・コードはコンピュータ実行可能コードを含んでなる、少なくとも1つのプログラム・コード用メモリ・アドレス範囲と、
他のデータ用の少なくとも1つのメモリ・アドレス範囲であって、前記他のデータは前記少なくとも1つの他のコンピュータから読み出したデータを含んでなる、他のデータ用の少なくとも1つのメモリ・アドレス範囲とを備えたメモリ・モジュールとを備え、
前記少なくとも1つのCPUは前記プログラム・コード用メモリ・アドレス範囲で前記コンピュータ実行可能コードのみを実行するようにハードウェア的に構成してあり、
前記少なくとも1つの他のコンピュータから読み出したデータは前記他のデータ用の少なくとも1つのメモリ・アドレス範囲のみに書き込まれ、
前記少なくとも1つのメモリ・モジュールは前記少なくとも1つの他のコンピュータからアクセスすることができない、コンピュータ・システム。 - 前記少なくとも1つのメモリ・モジュールは、
前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲のための第1のメモリ・ユニットと、
前記他のデータ用の少なくとも1つのメモリ・アドレス範囲のための第2のメモリ・ユニットとを備える、請求項43に記載のコンピュータ・システム。 - オン及びオフに切り替えられる少なくとも1つの外部物理スイッチをさらに備え、前記少なくとも1つのCPUは前記少なくとも1つのプログラム・コード用メモリ・アドレス範囲に記憶したデータを前記外部物理スイッチがオンの時にのみ変更することができる、請求項43に記載のコンピュータ・システム。
- バスをさらに備え、
前記コンピュータ・システムは前記バスによって前記少なくとも1つの他のコンピュータと通信可能に接続され、
前記コンピュータ・システムは、前記少なくとも1つの他のコンピュータからデータを読み出し、及び前記他のデータ用の少なくとも1つのメモリ・アドレス範囲のみにデータを書き込むために前記バスを通るプル・コマンドを実行するように構成され、
前記コンピュータ・システムは、前記少なくとも1つの他のコンピュータにデータを書き込むために前記バスを通るプッシュ・コマンドを実行するように構成され、
前記コンピュータ・システムは前記少なくとも1つの他のコンピュータからのプッシュ・コマンド又は前記少なくとも1つの他のコンピュータからのプル・コマンドを受け付けないように構成され、
前記バスのハードウェア回路は前記少なくとも1つの他のコンピュータが前記少なくとも1つのメモリ・モジュールにアクセスすることを許可しない、請求項43に記載のコンピュータ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/841,469 | 2015-08-31 | ||
US14/841,469 US9578054B1 (en) | 2015-08-31 | 2015-08-31 | Hacking-resistant computer design |
PCT/US2016/049523 WO2017040542A1 (en) | 2015-08-31 | 2016-08-30 | Hacking-resistant computer design |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018526691A JP2018526691A (ja) | 2018-09-13 |
JP2018526691A5 JP2018526691A5 (ja) | 2018-12-13 |
JP6695885B2 true JP6695885B2 (ja) | 2020-05-20 |
Family
ID=58017755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017538238A Expired - Fee Related JP6695885B2 (ja) | 2015-08-31 | 2016-08-30 | ハッキング耐性のあるコンピュータ設計 |
Country Status (7)
Country | Link |
---|---|
US (8) | US9578054B1 (ja) |
EP (1) | EP3345095B1 (ja) |
JP (1) | JP6695885B2 (ja) |
CN (1) | CN107924365B (ja) |
HK (1) | HK1251673A1 (ja) |
SG (1) | SG11201705227RA (ja) |
WO (1) | WO2017040542A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429735B2 (en) * | 2010-01-26 | 2013-04-23 | Frampton E. Ellis | Method of using one or more secure private networks to actively configure the hardware of a computer or microchip |
US10241706B2 (en) * | 2016-05-20 | 2019-03-26 | Renesas Electronics Corporation | Semiconductor device and its memory access control method |
KR101997254B1 (ko) * | 2017-05-10 | 2019-07-08 | 김덕우 | 고립된 사용자컴퓨팅부를 갖는 컴퓨터 |
US10061923B1 (en) * | 2017-06-26 | 2018-08-28 | Pritam Nath | Safe and secure internet or network connected computing machine providing means for processing, manipulating, receiving, transmitting and storing information free from hackers, hijackers, virus, malware etc. |
US10991255B2 (en) * | 2018-04-05 | 2021-04-27 | Ge Aviation Systems Llc | Providing an open interface to a flight management system |
FR3087548A1 (fr) * | 2018-08-24 | 2020-04-24 | Societe D'innovation Du Mûrier | Dispositif de securite pour un moyen de stockage de donnees numeriques |
US11444919B2 (en) * | 2019-05-20 | 2022-09-13 | Woodward, Inc. | Mission critical security zone |
WO2021232233A1 (en) * | 2020-05-19 | 2021-11-25 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of program suspending and resuming for memory |
JP2024518005A (ja) * | 2021-03-24 | 2024-04-24 | キム、ドクウ | 孤立したユーザコンピューティング部を有する制御システムおよびその制御方法 |
CN113505362B (zh) * | 2021-07-16 | 2023-09-22 | 长鑫存储技术有限公司 | 系统权限管控方法、数据中心、管控装置和存储介质 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2156554B (en) * | 1984-03-10 | 1987-07-29 | Rediffusion Simulation Ltd | Processing system with shared data |
US5210854A (en) * | 1989-06-14 | 1993-05-11 | Digital Equipment Corporation | System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version |
JP3417065B2 (ja) * | 1994-07-04 | 2003-06-16 | 富士通株式会社 | ウイルス対応型外部記憶装置、データ処理装置およびデータ処理方法 |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US6643751B2 (en) * | 2000-03-20 | 2003-11-04 | Texas Instruments Incorporated | System and method for limited access to system memory |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6725317B1 (en) * | 2000-04-29 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for managing a computer system having a plurality of partitions |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US20020083362A1 (en) * | 2000-12-22 | 2002-06-27 | Objectsoft Corp. | System and method for providing unattended personality acquisition, self-recovery and remote maintenance to internet-based end-user devices |
US7313705B2 (en) * | 2002-01-22 | 2007-12-25 | Texas Instrument Incorporated | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory |
US6763441B2 (en) * | 2002-01-23 | 2004-07-13 | International Business Machines Corporation | System and method for using ancillary processors and storage to speed time critical data capture |
GB0226874D0 (en) * | 2002-11-18 | 2002-12-24 | Advanced Risc Mach Ltd | Switching between secure and non-secure processing modes |
GB2396034B (en) * | 2002-11-18 | 2006-03-08 | Advanced Risc Mach Ltd | Technique for accessing memory in a data processing apparatus |
JP2004234053A (ja) * | 2003-01-28 | 2004-08-19 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、コンピュータ装置、記憶装置のデータ保護方法、およびプログラム |
US7509644B2 (en) | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
US20070067366A1 (en) * | 2003-10-08 | 2007-03-22 | Landis John A | Scalable partition memory mapping system |
US7072211B2 (en) * | 2004-05-19 | 2006-07-04 | L-3 Integrated Systems Company | Systems and methods for write protection of non-volatile memory devices |
US7818574B2 (en) * | 2004-09-10 | 2010-10-19 | International Business Machines Corporation | System and method for providing dynamically authorized access to functionality present on an integrated circuit chip |
US8619971B2 (en) * | 2005-04-01 | 2013-12-31 | Microsoft Corporation | Local secure service partitions for operating system security |
CN101228531A (zh) | 2005-07-22 | 2008-07-23 | 松下电器产业株式会社 | 执行装置 |
US8381297B2 (en) | 2005-12-13 | 2013-02-19 | Yoggie Security Systems Ltd. | System and method for providing network security to mobile devices |
US7845005B2 (en) * | 2006-02-07 | 2010-11-30 | International Business Machines Corporation | Method for preventing malicious software installation on an internet-connected computer |
CN100464314C (zh) * | 2006-03-23 | 2009-02-25 | 联想(北京)有限公司 | 一种数据透明保护的安全写系统和方法 |
JP2007304954A (ja) | 2006-05-12 | 2007-11-22 | Sharp Corp | メモリ保護機能を有するコンピュータシステム |
US7984301B2 (en) | 2006-08-17 | 2011-07-19 | Inside Contactless S.A. | Bi-processor architecture for secure systems |
US20160248588A1 (en) * | 2006-09-07 | 2016-08-25 | Altera Corporation | Security ram block with multiple partitions |
US8571598B2 (en) | 2006-12-18 | 2013-10-29 | Intel Corporation | Method and apparatus for location-based wireless connection and pairing |
WO2008077628A2 (en) * | 2006-12-22 | 2008-07-03 | Virtuallogix Sa | System for enabling multiple execution environments to share a device |
WO2008138653A1 (en) | 2007-05-09 | 2008-11-20 | International Business Machines Corporation | A method and data processing system to prevent manipulation of computer systems |
US8397043B2 (en) | 2007-12-17 | 2013-03-12 | Freescale Semiconductor, Inc. | Memory mapping system, request controller, multi-processing arrangement, central interrupt request controller, apparatus, method for controlling memory access and computer program product |
US7743375B2 (en) * | 2008-06-27 | 2010-06-22 | International Business Machines Corporation | Information handling system including dynamically merged physical partitions |
US7657941B1 (en) | 2008-12-26 | 2010-02-02 | Kaspersky Lab, Zao | Hardware-based anti-virus system |
US8205037B2 (en) * | 2009-04-08 | 2012-06-19 | Google Inc. | Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages |
US9152200B2 (en) * | 2009-06-23 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Resource and power management using nested heterogeneous hypervisors |
US20110154023A1 (en) * | 2009-12-21 | 2011-06-23 | Smith Ned M | Protected device management |
US20110225645A1 (en) * | 2010-01-26 | 2011-09-15 | Ellis Frampton E | Basic architecture for secure internet computers |
US8429735B2 (en) * | 2010-01-26 | 2013-04-23 | Frampton E. Ellis | Method of using one or more secure private networks to actively configure the hardware of a computer or microchip |
WO2011094616A1 (en) * | 2010-01-29 | 2011-08-04 | Ellis Frampton E | The basic architecture for secure internet computers |
JP2011215879A (ja) | 2010-03-31 | 2011-10-27 | Sharp Corp | 操作用通信装置、非操作用通信装置、操作用通信装置の制御方法、非操作用通信装置の制御方法、通信システム、操作用通信プログラム、非操作用通信プログラム及び記録媒体 |
US20110314075A1 (en) * | 2010-06-18 | 2011-12-22 | Nokia Corporation | Method and apparatus for managing distributed computations within a computation space |
US8082585B1 (en) | 2010-09-13 | 2011-12-20 | Raymond R. Givonetti | Protecting computers from malware using a hardware solution that is not alterable by any software |
US8561066B2 (en) * | 2010-12-08 | 2013-10-15 | International Business Machines Corporation | Simplified DMA mappings for self-virtualizing input/output device virtual functions |
TWI432987B (zh) * | 2011-03-15 | 2014-04-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與病毒掃描方法 |
KR20120119092A (ko) * | 2011-04-20 | 2012-10-30 | 삼성전자주식회사 | 반도체 메모리 시스템 및 이의 구동 방법 |
WO2013063484A1 (en) | 2011-10-28 | 2013-05-02 | The Regents Of The University Of California | Multiple-core computer processor |
KR101365083B1 (ko) * | 2012-03-06 | 2014-02-21 | 모젼스랩(주) | 모션 인식을 통한 인터페이스 장치 및 이의 제어방법 |
US9043559B2 (en) | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
GB2513850B (en) * | 2013-05-03 | 2017-06-14 | Rosberg System As | Access control system |
AU2014291635B2 (en) * | 2013-07-18 | 2019-11-07 | Benjamin Gittins | Computing architecture with peripherals |
US9692789B2 (en) * | 2013-12-13 | 2017-06-27 | Oracle International Corporation | Techniques for cloud security monitoring and threat intelligence |
US11228427B2 (en) | 2014-02-11 | 2022-01-18 | Ericsson Ab | System and method for securing content keys delivered in manifest files |
US9686077B2 (en) * | 2014-03-06 | 2017-06-20 | Microsoft Technology Licensing, Llc | Secure hardware for cross-device trusted applications |
US20160044136A1 (en) * | 2014-05-27 | 2016-02-11 | Nimbus 9, Inc. | Virtual gateway |
US9479331B2 (en) | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
US20160070656A1 (en) * | 2014-09-05 | 2016-03-10 | Qualcomm Incorporated | Write protection management systems |
US9444849B2 (en) * | 2014-10-06 | 2016-09-13 | The Boeing Company | Enforcing policy compliance on a device |
US9749323B2 (en) * | 2015-03-27 | 2017-08-29 | Intel Corporation | Technologies for secure server access using a trusted license agent |
US10063375B2 (en) | 2015-04-20 | 2018-08-28 | Microsoft Technology Licensing, Llc | Isolation of trusted input/output devices |
-
2015
- 2015-08-31 US US14/841,469 patent/US9578054B1/en not_active Expired - Fee Related
-
2016
- 2016-08-30 SG SG11201705227RA patent/SG11201705227RA/en unknown
- 2016-08-30 JP JP2017538238A patent/JP6695885B2/ja not_active Expired - Fee Related
- 2016-08-30 EP EP16842830.8A patent/EP3345095B1/en active Active
- 2016-08-30 WO PCT/US2016/049523 patent/WO2017040542A1/en active Application Filing
- 2016-08-30 CN CN201680043460.XA patent/CN107924365B/zh not_active Expired - Fee Related
-
2017
- 2017-01-05 US US15/399,654 patent/US10002245B2/en active Active
- 2017-02-20 US US15/437,056 patent/US10089248B2/en active Active
-
2018
- 2018-05-07 US US15/973,392 patent/US10311226B2/en active Active
- 2018-08-23 HK HK18110868.8A patent/HK1251673A1/zh unknown
- 2018-10-01 US US16/148,944 patent/US10606768B2/en active Active
-
2019
- 2019-05-15 US US16/413,446 patent/US11030301B2/en active Active
-
2020
- 2020-03-27 US US16/833,355 patent/US11061832B2/en active Active
-
2021
- 2021-06-14 US US17/346,864 patent/US20220043905A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US10002245B2 (en) | 2018-06-19 |
SG11201705227RA (en) | 2017-07-28 |
EP3345095A4 (en) | 2019-04-24 |
CN107924365B (zh) | 2022-01-04 |
EP3345095A1 (en) | 2018-07-11 |
JP2018526691A (ja) | 2018-09-13 |
US20170169222A1 (en) | 2017-06-15 |
US20170235944A1 (en) | 2017-08-17 |
US10606768B2 (en) | 2020-03-31 |
US20200301853A1 (en) | 2020-09-24 |
US11030301B2 (en) | 2021-06-08 |
HK1251673A1 (zh) | 2019-02-01 |
US10089248B2 (en) | 2018-10-02 |
US11061832B2 (en) | 2021-07-13 |
EP3345095B1 (en) | 2021-07-07 |
US20220043905A1 (en) | 2022-02-10 |
US20180330076A1 (en) | 2018-11-15 |
US10311226B2 (en) | 2019-06-04 |
US20200134170A1 (en) | 2020-04-30 |
US20190278718A1 (en) | 2019-09-12 |
US20170063877A1 (en) | 2017-03-02 |
WO2017040542A1 (en) | 2017-03-09 |
CN107924365A (zh) | 2018-04-17 |
US9578054B1 (en) | 2017-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6695885B2 (ja) | ハッキング耐性のあるコンピュータ設計 | |
US10783240B2 (en) | Secure environment in a non-secure microcontroller | |
US10061928B2 (en) | Security-enhanced computer systems and methods | |
JP7213879B2 (ja) | 間接アクセスメモリコントローラ用のメモリ保護装置 | |
CN107743625B (zh) | 由受控制的加密密钥管理进行的软件模块的分离 | |
US20150074820A1 (en) | Security enhancement apparatus | |
US20180239912A1 (en) | Data security method and local device with switch(es) | |
US20150074824A1 (en) | Secure data storage apparatus and secure io apparatus | |
CN106687978B (zh) | 用于对栈破坏利用的抑制的计算设备和方法 | |
US20050033979A1 (en) | Method and system for secure direct memory access | |
JP7027664B2 (ja) | ハッキング耐性のあるコンピュータ設計 | |
CN114490448A (zh) | 一种切换执行环境的方法及其相关设备 | |
CN106845296A (zh) | 一种保护密码的方法、系统及一种主板、连接器 | |
CN106919856B (zh) | 安全移动终端 | |
CN119271580A (zh) | 设备的内存访问权限的确定方法、系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181031 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181031 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190906 |
|
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: 20200225 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200422 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6695885 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S631 | Written request for registration of reclamation of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313631 |
|
S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |