KR101997254B1 - 고립된 사용자컴퓨팅부를 갖는 컴퓨터 - Google Patents

고립된 사용자컴퓨팅부를 갖는 컴퓨터 Download PDF

Info

Publication number
KR101997254B1
KR101997254B1 KR1020170057998A KR20170057998A KR101997254B1 KR 101997254 B1 KR101997254 B1 KR 101997254B1 KR 1020170057998 A KR1020170057998 A KR 1020170057998A KR 20170057998 A KR20170057998 A KR 20170057998A KR 101997254 B1 KR101997254 B1 KR 101997254B1
Authority
KR
South Korea
Prior art keywords
unit
computing unit
security management
user
management computing
Prior art date
Application number
KR1020170057998A
Other languages
English (en)
Other versions
KR20180123815A (ko
Inventor
김덕우
Original Assignee
김덕우
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 김덕우 filed Critical 김덕우
Priority to KR1020170057998A priority Critical patent/KR101997254B1/ko
Priority to US16/611,984 priority patent/US11386200B2/en
Priority to PCT/KR2018/004689 priority patent/WO2018208032A1/ko
Priority to CN201880030602.8A priority patent/CN110622162B/zh
Priority to JP2020513473A priority patent/JP2020520037A/ja
Priority to FIEP18797801.0T priority patent/FI3623978T3/fi
Priority to EP18797801.0A priority patent/EP3623978B1/en
Publication of KR20180123815A publication Critical patent/KR20180123815A/ko
Application granted granted Critical
Publication of KR101997254B1 publication Critical patent/KR101997254B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • 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/54Monitoring 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 adding security routines or objects to programs
    • 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/55Detecting local intrusion or implementing counter-measures
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

악성코드에 의한 시스템 장악 시도에 대응하고, 시스템의 훼손을 최소화하기 위한 고립된 사용자컴퓨팅부를 갖는 컴퓨터에 관한 발명. 본 발명에서 제안되는 한 특징에 따른 컴퓨터는, 연결된 I/O장치들 및 보조기억장치유닛을 관리하는 보안관리컴퓨팅부와, 상기 I/O장치들로부터 고립되고 I/O장치들과는, 상기 보안관리컴퓨팅부와 상기 사용자컴퓨팅부 사이의 통신을 담당하는 상호통신유닛을 통하여 통신하고, 별도의 CPU와 메모리를 가지고 상기 보안관리컴퓨팅부에 연결되는 사용자컴퓨팅부를 포함하는데, 상기 보안관리컴퓨팅부는 I/O장치들의 관리 및 시스템 감시와 복구, 그리고 사용자컴퓨팅부를 감시 및 통제하고, 상기 사용자컴퓨팅부는 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자OS를 실행한다. 즉, 본 발명에서는, 사용자 프로그램과 사용자OS는 보안관리컴퓨팅부로부터 고립된 사용자컴퓨팅부에서 수행되고 I/O장치들과 감시복구를 위한 기능은 보안관리컴퓨팅부에서 수행되도록 구성된 컴퓨터 및 여기에 사용되는 소트트웨어의 기본적인 구조를 제시한다.

Description

고립된 사용자컴퓨팅부를 갖는 컴퓨터 {Computer having isolated user computing part}
본 발명은 악성코드에 의한 시스템 장악 시도에 대응하고 시스템의 훼손을 최소화하기 위한, 고립된 사용자컴퓨팅부를 갖는 컴퓨터에 관한 것이다.
컴퓨터에 이상동작이 발생하는 경우를 대비하여 다양한 구조로 컴퓨터가 설계된다. 그러나 이러한 구조들은 추가적인 비용이 발생하므로 PC나 노트북과 같은 범용 개인용 컴퓨터들에는 적용되지 않는다. 일반적으로 널리 사용하는 PC나 휴대폰, 노트북같은 컴퓨터장치들은 하나의 CPU를 갖는다. 경우에 따라 GPU, DSP, ALU와 같은 수행능력이 있는 보조 프로세서들이 사용될 때도 있지만 이들이 자체적으로 OS를 갖지는 않으며 시스템에는 하나의 OS만 존재하는 구조이다. 때문에 하드웨어나 소프트웨어가 문제를 일으키면 해당 시스템은 바로 정지된다.
그에 비해서 이상 동작으로 전체시스템이 중단될 경우에 큰 문제가 되는 은행거래나 증권거래 등에 사용되는 대형컴퓨터의 경우에는 CPU 또는 CPU유닛, 컴퓨터들이 복수로 연결되어 사용되는데, 보통, 하나의 유닛 또는 컴퓨터가 이상동작을 일으켜도 OS의 통제하에 문제가 되는 쪽에서 수행되던 작업을 정상동작을 하는 다른 쪽으로 재배당하여 이상동작에 대응하는 구조를 갖는다. 때문에 이러한 대형 컴퓨터 시스템들은 고속으로 복수의 작업을 분산해서 처리하는 구성을 갖는다. 결국 이들 장치는 복수의 사용자들이 요구하는 복수의 작업을 처리하거나, 하나의 작업을 고속으로 처리하기 위한 병렬처리 구조를 갖추는 것이 일반적이다.
그러나 이 경우도, 하나의 OS로 통제되거나 다중 OS로 구성되더라도 최상위관리자가 OS를 통해서 전체시스템을 통제할 수 있다. 때문에 해킹이나 컴퓨터바이러스와 같은 악성코드가 최상위관리자의 자격으로 시스템을 장악하게 되는 경우는 막을 수가 없게 된다. 또한 작업자가 악의를 가지고 시스템에 위해를 가하는 경우에도 대응이 불가능하다. 즉, 이러한 시스템들은 이상 동작이 발생한 유닛이나 컴퓨터를 시스템에서 배제하고 나머지 장치들이 작업을 계속하는 구조일뿐, 최상위관리자 권한을 획득한 악성코드나 작업자가 시스템을 통제불능 상태로 가져가는 것을 막을 수 없다.
다음으로 비행기나 우주비행체, 고속열차, 자동차, 플랜트 자동제어시스템 등의 경우는 고장을 대비하여 복수개의 컴퓨터시스템이 사용되기도 한다. 이때는 입력된 신호나 정보들을 복수개의 컴퓨터시스템이 동시에 처리하여 결과를 출력하는데 메인으로 지정된 컴퓨터시스템의 정보만 최종적으로 사용되고 예비로 지정된 컴퓨터시스템들은 메인시스템의 동작을 감시하면서 대기하게 된다. 대기 중에 메인시스템의 이상이 감지되면 자동으로 예비컴퓨터시스템이 메인컴퓨터시스템을 대체하게 된다.
우주선과 같이 출력정보가 잘못되면 큰 문제가 되는 경우에는 여러 대의 컴퓨터가 출력한 정보를 보팅(voting)을 거쳐서 확정된 출력으로 사용하는 경우도 있다. 이와 같은 컴퓨터의 다중화 또는 리던던시(redundancy) 구조에 있어서는, 비록 복수의 CPU 유닛이나 컴퓨터가 사용된다고 해도 그 목적은 개별유닛이나 컴퓨터의 고장시에도 중단없이 연산 결과를 얻기 위한 것에 한정된다.
그러나 최근에 이러한 시스템들 일부에 원도즈CE, 안드로이드와 같은 범용 OS가 사용되면서 해킹이나 컴퓨터바이러스와 같은 악성코드가 전체 컴퓨터를 장악하는 문제가 발생하고 있다. 이 경우 시스템은 고장으로 인지하지 못하므로 악성코드나 악의를 가진 관리자가 시스템을 장악하여 이상 동작을 일으켜도 이를 막는 것이 불가능하다. 예를 들어 해킹된 자동차가 제멋대로 동작하는 것도 같은 원인이다.
이상에서 살펴 본 것처럼 기존의 컴퓨터시스템 구조들은 이상동작이 감지된 컴퓨터를 배제하거나 대체하기 위하여 시스템 안의 다른 컴퓨터를 사용할뿐, 이상 동작이 감지된 컴퓨터 자체를, 복구하거나 정상동작을 유지시키기 위해서 다른 컴퓨터를 보조적으로 사용하는 경우는 없다. 또한 이상 동작이 감지된 컴퓨터를 리셋시키고 작업을 다시 수행시키는 경우는 있지만 이 경우에도 최상위관리자 권한을 얻은 소프트웨어는 OS를 통하여 전체시스템의 통제가 가능하므로 악성코드가 시스템을 장악하여 이상 동작을 일으키는 경우에는 대처가 불가능하다.
이러한 문제들은 기본적으로 기존 컴퓨터시스템들이 악성코드나 악의적인 조작으로 인한 시스템의 이상동작을 소프트웨어적으로만 대응하고, 하드웨어적으로는 사실상 대응하지 않고 있기 때문에 발생하는 것이다. 따라서 악성코드등으로 인한 시스템의 이상 동작을 막기 위해서는, 하드웨어적으로 보완된 구조를 갖는 컴퓨터시스템이 필요하다.
PC나 노트북, 휴대폰과 같이 우리가 많이 접하는 범용소형 컴퓨터기기에 감시나 복구를 위해서 다른 컴퓨터를 사용하는 개념은 기능상 필요성은 있다 하더라도 컴퓨터의 가격이 많이 비싸지는 단점이 있다. 또한 하드웨어적으로 문제가 없는 경우에는, 사용자의 완전한 통제하에서 발생하는 일반적인 오류들은 모두 소프트웨어 때문에 발생하므로 그 필요성이 없었다.
그러나 인터넷과 다양한 통신방식의 발전으로 오늘날의 컴퓨터는 거의 온종일 통신망에 접속되어 있고 OS의 자체적인 결함이나 사용자 부주의 등으로 인하여 해킹프로그램이나 컴퓨터바이러스와 같은 악성프로그램에 쉽게 감염되어 사용자의 통제를 벗어나는 경우가 매우 흔하다.
이렇게 사용자의 통제를 벗어난 컴퓨터는 백신프로그램을 중단시키거나 속임으로써 사용자나 OS도 모르게 해커나 바이러스유포자의 의도대로 사용된다. 이런 컴퓨터는 이상을 감지한 사용자가 백신 프로그램을 돌려보거나 매우 특별한 조치(예를 들면 윈도즈의 안전모드부팅후 백신프로그램 구동)를 해야 치료가 가능하며 그나마도 백신프로그램 제작회사가 해당 악성코드에 대한 해결책을 제시하지 못하는 경우는 치료가 불가능하다.
이에, 본 발명자는 악성코드에 의한 시스템 장악 시도에 대응하고, 시스템의 훼손을 최소화하기 위한 고립된 사용자컴퓨팅부를 갖는 컴퓨터를 제안한다.
상기 과제를 해결하기 위하여, 본 발명에 따른 컴퓨터는, I/O장치들과 하드웨어적으로 직접 연결되고 이를 통제하며, 특히 보조기억장치유닛을 보안관리컴퓨팅용과 사용자컴퓨팅용으로 나누어 관리하는 보안관리컴퓨팅부와, I/O장치들과 특히 보조기억장치유닛과는 하드웨어적으로 보안관리컴퓨팅부의 통제하에 연결되는 방식으로 고립 또는 분리되고, 별도의 CPU와 메모리를 가지고 별도의 통신인터페이스로 보안관리컴퓨팅부에 연결되어 사용자 프로그램을 사용자OS상에서 실행하는 사용자컴퓨팅부로 구성된다. 즉, 본 발명에서는, 사용자 프로그램과 사용자OS는 보안관리컴퓨팅부로부터 고립된 사용자컴퓨팅부에서 수행되고 I/O장치들과 관련되거나 감시복구를 위한 기능은 보안관리컴퓨팅부에서 수행되도록 구성된 컴퓨터 및 여기에 사용되는 소프트웨어의 기본적인 구조를 제시한다.
본 발명의 제1측면에 따른 컴퓨터는, 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 갖는 제1중앙처리장치; 상기 제1중앙처리장치에 제1어드레스버스와, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되는 제1메모리유닛; 상기 제1중앙처리장치에 제1어드레스버스와, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되는 HDD 등의 보조기억장치유닛; 상기 제1중앙처리장치에 제1어드레스버스와, 제1데이타버스, 제1제어버스, 신호들을 통하여 연결되는 I/O(입출력)장치유닛을 포함하는 보안관리컴퓨팅부와; 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 갖는 제2중앙처리장치; 상기 제2중앙처리장치에 제2어드레스버스와, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되는 제2메모리유닛을 포함하는 사용자컴퓨팅부를 포함한다. 상기 보안관리컴퓨팅부는 I/O장치유닛에 연결되는 I/O장치들의 관리 및 시스템 감시와 복구, 그리고 사용자컴퓨팅부를 감시 및 통제하고, 상기 사용자컴퓨팅부는 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자OS를 실행하는 것을 특징으로 한다.
이때 상기 보안관리컴퓨팅부의 제1중앙처리장치와 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 사용자컴퓨팅부의 제2중앙처리장치와 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되어, 제1중앙처리장치와 제2중앙처리장치사이의 존재하는 상호통신유닛은 보안관리컴퓨팅부와 사용자컴퓨팅부사이의 통신을 담당한다.
그리고 상기 보조기억장치유닛은 보안관리컴퓨팅부가 독점적으로 사용하며 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과, 보안관리컴퓨팅부의 통제하에 사용자컴퓨팅부가 사용하는 사용자컴퓨팅 저장영역을 포함할 수 있다. 이때, 사용자컴퓨팅부에서 실행되는 사용자OS 데이타의 원본은 상기 사용자컴퓨팅부 저장영역에 저장되고 그 사본은 보안관리컴퓨팅 저장영역에 저장될 수 있다.
또한 본 발명의 제2측면에 따른 컴퓨터는, 복수의 전용 하드웨어 인터페이스들을 갖는 제1중앙처리장치; 상기 전용인터페이스들을 이용하여 상기 제1중앙처리장치에 독립적으로 연결되는 제1랜덤액세스메모리(RAM), 그래픽콘트롤러유닛, 제1부트메모리(ROM 또는 플래쉬메모리와 같은 비휘발성 메모리), 주변기기콘트롤러허브유닛, 상호통신유닛; 상기 주변기기콘트롤러허브유닛에 연결되는 보조기억장치유닛과 I/O(입출력장치)유닛을 포함하는 보안관리컴퓨팅부와, 상기 상호통신유닛과 제1전용인터페이스로 연결되고, 제2랜덤액세스메모리와 제2전용인터페이스로 연결되고, 제2부트메모리(ROM 또는 플래쉬메모리와 같은 비휘발성 메모리)와는 제3전용인터페이스로 연결되는 제2중앙처리장치를 포함하는 사용자컴퓨팅부를 포함한다. 이때 상기 부트메모리는 경우에 따라 주변기기콘트롤러허브에 연결될 수도 있다. 또한 상기 보안관리컴퓨팅부는 I/O장치유닛에 연결되는 I/O장치들의 관리 및 시스템 감시와 복구, 그리고 사용자컴퓨팅부를 감시 및 통제하고, 상기 사용자컴퓨팅부는 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자 OS를 실행하는 것을 특징으로 한다.
여기서 상기 보조기억장치유닛은 보안관리컴퓨팅부가 독점적으로 사용하며 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과, 보안관리컴퓨팅부의 통제하에 사용자컴퓨팅부가 사용하는 사용자컴퓨팅 저장영역을 포함할 수 있다. 이때 사용자컴퓨팅부에서 실행되는 사용자 OS 데이타의 원본은 상기 사용자컴퓨팅부 저장영역에 저장되고, 그 사본은 보안관리컴퓨팅 저장영역에 저장된다.
또한 본 발명의 제3측면에 따른 컴퓨터는, 연결된 I/O장치들 및 보조기억장치유닛을 관리하는 보안관리컴퓨팅부와, 상기 I/O장치들로부터 고립되고 별도의 CPU와 메모리를 가지고 상기 보안관리컴퓨팅부에 연결되는 사용자컴퓨팅부를 포함하는데, 상기 보안관리컴퓨팅부는 I/O장치들의 관리 및 시스템 감시와 복구, 그리고 사용자컴퓨팅부를 감시 및 통제하며 사용자컴퓨팅부의 요청에 따라 I/O장치들과의 통신을 중계하고 감시하고, 상기 사용자컴퓨팅부는 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자OS를 실행한다. 상기 보안관리컴퓨팅부와 상기 사용자컴퓨팅부 사이의 통신은 상호통신유닛이 담당한다.
상기 여러 측면의 특징들을 갖는 컴퓨터들에서, 상호통신유닛은 상기 보안관리컴퓨팅부를 구성하는 제1중앙처리장치와 제1어드레스버스와 제1데이타버스 제1제어버스 신호들을 통하여 연결되고, 상기 사용자컴퓨팅부를 구성하는 제2중앙처리장치와 제2어드레스버스와 제2데이타버스 제2제어버스 신호들을 통하여 연결되는 듀얼포트메모리를 포함할 수 있다.
또한 상호통신유닛은 제1중앙처리장치와 제1어드레스버스와 제1데이타버스 제1제어버스 신호들을 통하여 연결되는 인터럽트레지스터를 포함할 수 있다. 이때, 상기 사용자컴퓨팅부는, 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부로부터 인터럽트신호를 받는 경우, 수행중인 소프트웨어의 리스트와 프로세스정보들을 상기 상호통신유닛을 통하여 제공하는 수단을 추가로 포함할 수 있다. 또한, 상기 사용자컴퓨팅부는, 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부로부터 인터럽트신호를 받는 경우, 상기 상호통신유닛을 통하여 제공되는 정보를 이용하여, 수행중인 소프트웨어와 프로세스의 수행을 선택적으로 중단시키는 수단을 추가로 포함할 수 있다.
또는 다른 실시예에서, 상기 상호통신유닛은 상기 보안관리컴퓨팅부를 구성하는 제1중앙처리장치와 제1어드레스버스와 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 사용자컴퓨팅부를 구성하는 제2중앙처리장치와 제2어드레스버스와 제2데이타버스 제2제어버스 신호들을 통하여 연결되는 DMA(Direct Memory Access) 인터페이스를 포함할 수 있다.
한편, 상기 보조기억장치유닛은 보안관리컴퓨팅부가 독점적으로 사용하며 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과, 보안관리컴퓨터부의 통제하에 사용자컴퓨팅부가 사용하는 사용자컴퓨팅 저장영역으로 분리될 수 있다. 이때 사용자컴퓨팅부에서 실행되는 사용자OS 데이타의 원본은 상기 사용자컴퓨팅부 저장영역에 저장되고 그 사본은 보안관리컴퓨팅 저장영역에 저장될 수 있다. 원본과 사본은 편의상 사용자입장에서 서술된 것으로 사본은 원본의 특정시점에서의 백업본으로 대체될 수 있다.
본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부는 상기 보안관리컴퓨팅 저장영역에 저장된 사용자 OS의 사본을 선택적으로 상기 사용자컴퓨팅부의 부팅시에 제공할 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 I/O장치유닛에 결합되는 키보드유닛과 마우스유닛이 추가로 포함된다. 그리고 상기 사용자컴퓨터부는 상기 키보드유닛과 마우스유닛과의 정보 입출력을 상기 보안관리컴퓨터부의 통제하에 상기 상호통신유닛을 통하여 수행할 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부로의 접속은 상기 사용자컴퓨팅부와 서로 독립된 패스워드인식 과정을 거쳐 수행될 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부에서 실행되는 프로그램의 실행시간이나 실행여부를 통제하는 수단을 추가로 포함할 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부가 상기 상호통신유닛을 통하여 상기 I/O장치유닛에 출력할 정보를 전달하는 경우, 상기 보안관리컴퓨팅부는 출력할 정보의 일부분을 상기 보안관리컴퓨팅영역에 저장하였다가 보안관리컴퓨팅부에 접속한 사용자의 요청이 있을때 이를 제공할 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부로부터 상기 보조기억장치유닛의 상기 사용자컴퓨팅영역의 파일시스템변경을 요구받았을 때 기존파일시스템의 복원정보를 상기 보조기억장치유닛의 상기 보안관리컴퓨팅영역에 저장할 수 있다.
또한 본 발명의 한 실시예에 따르면, 상기 보안관리컴퓨팅부에 연결되는 제1비디오메모리; 상기 보안관리컴퓨팅부 및 상기 사용자컴퓨팅부에 연결되는 제2비디오메모리; 상기 보안관리컴퓨팅부에 연결되고, 상기 제1비디오 메모리와 상기 제2비디오메모리의 정보를 선택적으로 모니터 디스플레이화면에 표시하는 비디오그래픽콘트롤러가 포함된 비디오디스플레이유닛을 포함할 수 있다. 이 때 고속의 그래픽처리가 필요한 경우에는 GPU를 사용자컴퓨팅부에 추가할 수 있다. 그러나 이경우에도 상기 제2비디오메모리를 GPU가 직접 액세스할 수 있도록 변형하는 것이 바람직하다. 어떠한 경우이든 보안관리컴퓨팅부가 독립적으로 보안관리자나 사용자에게 화면을 제공하는 구조는 유지되는 것이 바람직하다.
이 경우에 상기 보안관리컴퓨팅부는 상기 제2비디오메모리의 정보를 상기 보안관리컴퓨팅부사용자가 설정한 방식으로 상기 보조기억장치유닛의 상기 보안관리컴퓨팅영역에 저장하였다가 상기 보안관리컴퓨팅부 사용자의 요청이 있을때 이를 제공할 수 있다.
또한, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부로부터 보조기억장치유닛에 저장된 레지스트리파일이나 실행가능한 파일의 변경을 요청받은 경우 상기 비디오디스플레이유닛을 통하여 이를 보여주고 상기 키보드입력을 통하여 확인받을 수 있다.
또한, 상기 보안관리컴퓨터부에서 구동되는 OS는 사용자의 하드웨어적인 입력에 따라 상기 제1비디오메모리의 내용이나 제2비디오메모리의 내용을 선택적으로 디스플레이하도록 비디오디스플레이 유닛을 제어하는 수단을 추가로 포함할 수 있다. 이 경우에 상기 하드웨어적인 입력은 키보드입력일 수 있다.
그리고 본 발명에서는 또다른 측면으로서, 상기 키보드 입력을 위한 전용 키를 갖는 키보드가 제공된다.
상기 특징들을 갖는 본 발명에 따른 컴퓨터에서는 사용자컴퓨팅부에 전달되는 사용자 OS를 상황에 따라 원본이나 사본을 선택적으로 제공한다. 악성코드로 인하여 사용자컴퓨팅 저장영역에 저장된 사용자OS의 원본이 훼손된 경우, 새롭게 컴퓨터가 부팅될 때 보안컴퓨팅영역에 저장된 훼손되지 않은 사본을 이용하여 정상적인 부팅이 가능하다. 이때 사용자는 보안관리컴퓨팅부의 I/O장치들중 하나를 이용하여 사본을 이용한 부팅을 지시할 수 있다. 기존 윈도즈와 같다면 부팅시에 키보드의 특정 키를 눌러 부팅될 사용자OS를 사본으로 변경하거나, 윈도즈가 아니라면 별도로 독립된 스위치입력을 두어 이 스위치의 입력값을 기준으로 사용자OS를 사본으로 변경하는 것이 바람직할 것이다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터의 보안관리컴퓨팅부는 이상 동작이 감지된 후 사용자컴퓨팅부를 정지시키거나 리셋, 또는 인터럽트 신호를 발생시켜 이상 동작을 중지시키거나 복구하는 기능을 수행할 수 있다. 예를 들어 사용자컴퓨팅부로부터 레지스트리나 드라이버파일의 변경요구가 있는 경우, 변경을 거부하고 사용자에게 경고하는 방식 등으로 대응이 가능하다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터의 I/O장치들은 하드웨어적으로는 보안관리컴퓨팅부에 직접 연결되고 상호통신유닛을 통한 정보교환(예를 들어 I/O장치들의 어드레스 주소와 읽기, 쓰기 등의 동작종류를 보안관리컴퓨팅부에 전달하고 이를 보안관리컴퓨팅부가 수행하여 그 결과를 전달받거나, 해당장치가 프린터인 경우 해당 I/O장치를 지정하고 프린트할 데이타를 보안관리컴퓨팅부에 전달하여 처리하는 방식등으로) 등의 방식으로 사용자컴퓨팅부에 선택적으로 연결되고, I/O장치들과 관련된 보안관리컴퓨팅부의 소프트웨어들은 사용자컴퓨팅부의 자유로운 접근이 불가능하며, 제한된 조건하에서만 변경이나 설치, 삭제가 가능하게 설정될 수 있다. 이러한 동작을 통하여 보안관리컴퓨팅부는 I/O장치를 관리하며 데이타의 부적절한 이동이나 컴퓨터 I/O장치의 부적절한 사용을 감시할 수 있다. 예를 들어 사용자컴퓨터부가 제시한 하드웨어 어드레스가 프린터장치라면 이 장치와의 통신을 모니터링하여 기록하고 보안관리자에게 이를 제공할 수 있다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터에서, 기본적으로 사용자프로그램과 사용자OS는 사용자컴퓨팅부에서 수행되는 것이 바람직하지만 연산속도의 향상을 위하여 병행실행이 가능하도록 보안관리컴퓨팅부 실행부와, 사용자컴퓨팅부 실행부로 나눌 수 있다. 예를 들어 인터넷접속시에 화면의 구성중 그래픽과 관련된 부분은 보안관리컴퓨팅부가, 나머지는 사용자컴퓨팅부가 담당하여 처리속도를 높일 수 있다. 또한 예를 들어 사용자프로그램이나 사용자OS의 실시간 업데이트모듈이나 바이러스백신프로그램의 실시간감시모듈과 같은 부분들이 보안관리컴퓨팅부에서 실행된다면 보다 안전하고 악성코드의 감염에서 자유로우며 처리속도도 빨라질 것이다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터에서 보안관리컴퓨팅부는 자신의 통제하에 사용자컴퓨팅부에서 실행되는 프로그램의 실행 시간을 통제하거나 실행을 차단하는 수단을 추가로 포함할 수 있다. 사용자컴퓨팅부가 요청을 하더라도 보안관리컴퓨팅부에 설정된 정보를 바탕으로 프로그램정보제공을 거부하거나, 실행이 허가된 후에는 사용자컴퓨팅부에 주기적으로 인터럽트를 걸어 프로세스리스트를 살펴, 지정된 실행시간이 초과되면 강제로 종료시킬 수가 있다. 또한 필요시에는 사용자컴퓨터부의 화면을 저장하는 것도 가능하다. 이를 위해서는 본 발명의 컴퓨터에서 보안관리컴퓨팅부로의 접속시 사용자컴퓨팅부와는 서로 독립된 패스워드인식 과정이 수행되는 것이 바람직하다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터는 사용자컴퓨팅부가 보안관리컴퓨팅부와 독립적으로 별도의 I/O장치를 부가적으로 가질 수도 있다. 그러나 이러한 구성은 I/O장치들을 통하여 유입되는 악성코드를 통제하기가 어렵다. 이 경우 부가되는 I/O장치들이 제공하는 프로그램의 수행을 차단하는 것이 바람직하다. 그러나 어떠한 경우에든 보조기억장치를 보안관리컴퓨팅부가 관리하므로 악성코드에 감염된다 하더라도 감시 및 복구가 가능하다.
또한 상기 특징들을 갖는 본 발명에 따른 컴퓨터의 보안관리컴퓨팅부는 편의상 시스템OS를 가질 수 있다. 이때 이 시스템OS가 사용자컴퓨팅부의 사용자OS와 서로 달라도 큰 문제는 없다. 그러나 보조기억장치유닛의 관리나 I/O장치들의 통제라는 관점에서 보면 파일시스템을 비롯한 최소한의 OS구성요소들은 동일한 것이 보다 바람직할 것이다. 가장 널리 쓰이는 윈도즈의 경우 사용자컴퓨팅부는 기존의 윈도즈를 OS로 쓰고, 보안관리컴퓨팅부는 윈도즈의 안전모드기능을 축소하고 위에서 언급된 여러가지 기능을 추가로 구비하되 사용자의 접근을 보다 제한하는 방식으로 변형한 시스템OS를 사용할 수 있다.
한편, 본 발명에서는, 상기 특징들에 따른 컴퓨터에서 실행되고, 프로그램의 코드나 데이타가 상기 보안관리컴퓨팅부에서 실행되는 제1소프트웨어모듈과, 상기 사용자컴퓨팅부에서 실행되는 제2소프트웨어모듈로 나누어져 있는 소프트웨어 프로그램을 사용할 수 있다.
이 소프트웨어 프로그램은 또한, 컴퓨터로 읽을 수 있는 즉 컴퓨터판독가능한 기록매체의 형태로 구현하는 것이 가능하다. 여기서 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상기 소프트웨어 프로그램에서, 제1소프트웨어모듈과 제2소프트웨어모듈은 상기 상호통신유닛을 통하여 정보를 교환할 수 있다.
또한, 상기 소프트웨어 프로그램의 제1소프트웨어모듈은 소프트웨어의 업데이트를 담당하는 실시간 업데이트 모듈일 수 있으며, 또는 실시간감시모듈인 악성코드감시프로그램일 수 있다.
본 발명은 악성코드에 의한 시스템 장악 시도에 대응하고, 시스템의 훼손을 최소화할 수 있는 컴퓨터에 관한 것이다. 본 발명에 의한 컴퓨터는 사용자프로그램과 사용자 OS를 별도의 고립된 하드웨어에서 수행시켜, 악성코드에 의해서 하드디스크와 같은 보조기억장치에 저장된 OS나 프로그램 또는 사용자파일의 내용이 임의로 변조되는 것을 감시, 차단하는 것이 가능하다.
또한 본 발명의 컴퓨터에서는 악성코드가 실행되어도 이는 사용자컴퓨팅부에서 고립되어 수행되므로, 악성코드로 인한 기존 컴퓨터의 문제를 보안관리컴퓨팅부가 감시하거나 복구할 수 있다. 이를 위해서 보안관리컴퓨팅부는 원칙적으로 프로그램들의 설치나 변경이 불가능하고 프로그램의 설치나 변경을 위해서는 별도의 방식으로 접근하도록 구성된다. 결국 사용자컴퓨팅부의 이상시에 보안관리컴퓨터가 즉시 대응이 가능하므로 보안의 문제가 날로 커지는 오늘날 상황에서는 컴퓨터의 가격이 다소 비싸지더라도 매우 큰 효용성을 갖게 된다.
액세스시간의 면에서 보면, 보조기억장치유닛과 I/O장치들이 보안관리컴퓨팅부에 의해서 관리되므로 사용자컴퓨팅부 입장에서 보면 이들 장치의 액세스시간이 늘어날 수 있다. 그러나 HDD, ODD, 또는 USB에 연결되는 장치들 자체의 액세스타임이 프로그램이 수행되는 공간인 RAM의 액세스타임과 비교할 때 수십에서 수백배 느리기 때문에 액세스시간이 늘어난다고 해서 시스템 전체의 성능에 악영향을 주는 것은 아니다. 또한 사용자프로그램이나 사용자OS중 일부를 보안관리컴퓨팅부에서 실행시킨다면 사용자가 접하는 사용자컴퓨팅부의 처리속도는 빨라지므로 전체적인 속도저하는 무시할만할 것이다. 또한 보안에 허점이 생겨 부적절한 정보의 유출로 피해를 본다면 그 피해규모는 경우에 따라서는 컴퓨터의 가격을 훌쩍 넘어가므로 본 발명의 컴퓨터는 충분히 큰 의미가 있다고 볼 수 있다.
나아가 본 발명에 따른 컴퓨터는, 사용자프로그램의 수행을 프로그램 종류나 시간 등을 기준으로 제한하는 것이 가능하고, 프로그램의 수행시에 수반되는 정보의 외부출력시(프린터나 외부저장장치, 통신망 등을 통한)에는 이를 기록하거나 보고하는 것이 가능해지므로 보안상 매우 유리한 점이 있다.
이상에서 소개한 본 발명 사상의 구성과 효과는 이하에서 도면과 함께 설명하는 구체적인 실시예의 설명을 통해 보다 더 명확해질 것이다.
도 1은 본 발명의 한 실시예에 따른 컴퓨터장치의 구조도
도 2는 보조기억장치유닛(30)의 개략 구성도
도 3은 보안관리컴퓨팅부(100)와 사용자컴퓨팅부(200)의 기능 구성도
도 4는 본 발명의 다른 실시예의 컴퓨터 구조도
이하에서는 앞에서 소개한 본 발명의 사상을 구체적으로 구현한 몇 가지 실시예를 설명한다. 그러나 본 발명의 기술적 범위는 이하에서 설명하는 실시예 및 도면에 한정되는 것이 아니다. 특허청구범위의 합리적 해석에 의해 정해지는 것이다.
도 1은 본 발명의 한 실시예에 따른 컴퓨터장치의 구조도이다. 크게, 보안관리컴퓨팅부(100)와 사용자컴퓨팅부(200)로 구성된다.
보안관리컴퓨팅부(100)는 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 갖는 제1중앙처리장치(CPU1)(10); 상기 제1중앙처리장치(CPU)(10)에 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되는 제1메모리유닛(20); 상기 제1중앙처리장치(10)에 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되는 HDD 등의 보조기억장치유닛(30); 상기 제1중앙처리장치(10)에 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되는 입출력(I/O)장치유닛(40)을 포함한다.
사용자컴퓨팅부(200)는 제2어드레스버스(51), 제2데이타버스(52), 제2제어버스(53) 신호들을 갖는 제2중앙처리장치(CPU2)(50); 상기 제2중앙처리장치(CPU2)(50)에 제2어드레스버스(51), 제2데이타버스(52), 제2제어버스(53) 신호들을 통하여 연결되는 제2메모리유닛(60)을 포함한다.
또한, 상기 보안관리컴퓨팅부(100)의 제1중앙처리장치(10)와 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되고, 상기 사용자컴퓨팅부(200)의 제2중앙처리장치(50)와 제2어드레스버스(51), 제2데이타버스(52), 제2제어버스(53) 신호들을 통하여 연결되어, 제1중앙처리장치(10)와 제2중앙처리장치(50)사이의 통신을 담당하는 상호통신유닛(70)이 포함된다.
한 실시예에 따르면 상호통신유닛(70)은 제1중앙처리장치(10)와 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되는 인터럽트레지스터를 포함한다. 이 레지스터의 출력신호는 상기 제2중앙처리장치(50)의 인터럽트신호입력에 연결될 수 있다. 이때 사용자컴퓨팅부(200)는 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부(100)로부터 인터럽트신호를 받는 경우, 수행중인 소프트웨어의 리스트와 프로세스정보들을 상기 상호통신유닛(70)을 통하여 제공할 수 있다. 또한, 사용자컴퓨팅부(200)는, 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부(100)로부터 인터럽트신호를 받는 경우, 상기 상호통신유닛(70)을 통하여 제공되는 정보를 이용하여, 수행중인 소프트웨어와 프로세스의 수행을 선택적으로 중단시킬 수 있다.
대개의 경우 CPU는 여러 개의 인터럽트를 처리할 수 있으므로 인터럽트를 작업의 종류에 따라 달리하는 것도 가능하다. 또한 사용자컴퓨팅부가 실행할 인터럽트 프로그램의 물리적인 어드레스를, 보안관리컴퓨팅부만이 쓰기 가능한 플래쉬메모리에 두어 인터럽트라인은 하나만 쓰되 프로그램은 그때그때 바꾸어서 실행시키는 것도 가능하다.
또한 다른 실시예에 따르면 상호통신유닛(70)은 상기 제1중앙처리장치(10)와 제1어드레스버스(11), 제1데이타버스(12), 제1제어버스(13) 신호들을 통하여 연결되고, 제2중앙처리장치(50)와 제2어드레스버스(51), 제2데이타버스(52), 제2제어버스(53) 신호들을 통하여 연결되는 듀얼포트메모리를 포함할 수 있다. 듀얼포트메모리는 속성상 보안관리컴퓨팅부와 사용자컴퓨팅부의 동시 액세스가 가능하므로 작은 용량의 데이타전달시에 유용하게 사용될 수 있다. 또한 듀얼포트메모리의 일부를 플래쉬메모리로 구성하고 쓰기는 보안관리컴퓨팅부만 가능토록 하고, 사용자컴퓨팅부의 인터럽트벡터가 지시하는 인터럽트처리프로그램의 시작어드레스를 물리적으로 듀얼포트 플래쉬메모리를 가리키도록 할 수도 있다.
또다른 실시예에 따르면 상호통신유닛(70)은 상기 제1중앙처리장치(10)와 제1어드레스버스(11), 제1데이타버스(12) 제1제어버스(13) 신호들을 통하여 연결되고, 상기 제2중앙처리장치(50)와 제2어드레스버스(51), 제2데이타버스(52), 제2제어버스(53) 신호들을 통하여 연결되는 DMA인터페이스를 포함할 수 있다. 이 DMA인터페이스가 양방향으로 설계되면, 보안관리컴퓨팅부와 사용자컴퓨팅부사이의 대용량 데이타, 예를 들어 보조기억장치에 저장된 파일과 같은 데이타를 주고 받는 데 유용하게 사용될 수 있다.
보안관리컴퓨팅부(100)는 모든 I/O장치유닛(40)들을 감시, 통제하며 특히 보조기억장치유닛(30)을 보안관리컴퓨팅 저장영역과 사용자컴퓨팅 저장영역으로 나누어 관리하여 복구 기능을 수행하고, 사용자컴퓨팅부(200)는 I/O장치유닛(40)들로부터 고립되어 별도의 CPU와 메모리를 가지고 상호통신유닛(70)을 통하여 보안관리컴퓨팅부(100)에 연결되어 사용자 프로그램과 사용자OS를 실행한다.
도 2에 상기 보조기억장치유닛(30)의 개략 구성을 나타내었다. 저장영역1과 저장영역2로 물리적 또는 논리적으로 분리되어 있는데, 각각, 보안관리컴퓨팅부(100)가 사용하는 보안관리컴퓨팅 저장영역(31)과 사용자컴퓨팅부(200)가 사용하는 사용자컴퓨팅 저장영역(32)이다. 이들 중 보안관리컴퓨팅 저장영역(31)은 사용자컴퓨팅부(200)에 노출되지 않는다. 즉, 하나의 기억장치(예를 들어, HDD)를 파티션으로 나누어 보안관리컴퓨팅부(100)가 사용하는 파티션을 보안관리컴퓨팅 저장영역(31)으로 설정하되 이 영역은 사용자컴퓨팅부(200)에 노출되지 않도록 설정하는 것이 바람직하다. 이러한 파티셔닝과 달리, 경우에 따라서는 물리적으로 분리된 두 개의 HDD를 사용하는 것도 가능하다. 또한 속도의 개선을 위해서는 플래쉬메모리로 구성된 기억장치가 더 바람직할 수도 있을 것이다.
또한 다른 방식으로, 전체 HDD를 보안관리컴퓨팅부(100)와 사용자컴퓨팅부(200)가 함께 사용하되 보안관리컴퓨팅부(100)가 사용하는 파일이나 섹터가 사용자컴퓨팅부(200)에 노출되지 않도록 하는 방법도 가능하다. 이 경우 사용자컴퓨팅부(200)에 노출되는 파일시스템은 사실상 단일의 연속된 공간으로 나타나지만 실제로는 각각의 섹터를 일일이 누가 사용하는지 확인해야 하므로 파일시스템의 관리가 까다로운 단점이 있다. 그러나 사용자컴퓨팅부(200)가 파일을 변경할 때 보안관리컴퓨팅부(100)가 파일의 속성을 자신이 사용하는 것으로만 변경하여 관리가 가능해지므로 백업시에는 상당한 시간단축 효과를 얻을 수 있다.
도 3은 보안관리컴퓨팅부(100)와 사용자컴퓨팅부(200)의 세부 기능적 구성을 나타낸다.
도 3에 나타낸 각 모듈들은 보안관리컴퓨팅부(100)의 제1중앙처리장치(10) 또는 사용자컴퓨팅부(200)의 제2중앙처리장치(50)의 개별적 기능 구현을 위한 소프트웨어적 구성을 나타내며, 별도의 하드웨어 없이 또는 필요시에는 특정의 하드웨어가 부가되어 동작할 수 있다.
이제, 상기 도 1 ~ 도 3을 참조하여 본 발명의 구성 및 작용을 설명한다.
한 실시예에서, 사용자컴퓨팅부(200) 내에(즉, 제2중앙처리장치(50) 내에) 기능 단위로서 포함되는 구성요소인 사용자프로그램실행모듈(210)에서 사용자프로그램이 실행되는데, 이때에는 보안관리컴퓨팅부(100)와 고립된 보안잠금 및 해제프로세스를 갖는 고립된 사용자프로그램 실행이 일어난다. 사용자컴퓨팅부(200)에는(즉, 제2중앙처리장치(50)에는) 또한, 사용자OS실행모듈(220)과 I/O접속모듈(230)이 포함되어 있다. 이들에 대해서는 향후에 설명한다.
그리고 보안관리컴퓨팅부(100)에는(즉, 제1중앙처리장치(10)에는) 사용자컴퓨팅부(200)를 감시 및 통제하는 사용자컴퓨팅부관리모듈(110), I/O장치유닛(40)들을 감시 및 통제하는 I/O관리모듈(120), 복구 기능을 수행하기 위하여 보조기억장치유닛(30)을 도 2에서와 같이 보안관리컴퓨팅용 저장영역과 사용자컴퓨팅용 저장영역으로 나누어 관리하는 보조기억장치관리모듈(130)이 포함된다. 또한 이들에 덧붙여 보안관리컴퓨팅부(100)에는 사용자OS관리모듈(140)이 추가로 포함된다. 이들 모듈(110~140)들도 보안관리컴퓨팅부(100)의 제1중앙처리장치(10) 내에 소프트웨어 기능 블록으로서 포함될 수 있다.
사용자컴퓨팅부(200)는(예를 들어 사용자OS실행모듈(220)은) 사용자OS 프로그램 및 데이타 실행을 수행하는데, 이 사용자OS실행모듈(220)은 사용자OS를 포함한 프로그램과 데이타를, 보안관리컴퓨팅부(100)가 관리하는 보조기억장치유닛(30)에 의존한다. 즉, 사용자컴퓨팅부(200)에서 실행되는 사용자OS 데이타는, 보안관리컴퓨팅부(100)의 사용자OS관리모듈(140)에 의해, 보안관리컴퓨팅부(100)에 있는 보조기억장치유닛(30)의 사용자컴퓨팅부 저장영역(32)에 원본이 저장되고 그 사본은 보안관리컴퓨팅 저장영역(31)에 저장된다. 실행시에는 상기 상호통신유닛(70)을 통하여 상기 보안관리컴퓨팅부(100)로부터 상기 사용자컴퓨팅부(200)로 원본이 전달되어 상기 제2메모리유닛(60)에 설치되어 실행된다.
또한, 사용자컴퓨팅부(200)는(예를 들어 I/O접속모듈(230)은) 보안관리컴퓨팅부(100)에 있는 I/O장치(40)들과의 접속을 보안관리컴퓨팅부(100)에 의존한다. 즉, 예를 들어, USB나 LAN과 같은 범용 통신인터페이스, 키보드, 마우스와 같은 I/O장치들은 하드웨어적으로 보안관리컴퓨팅부(100)의 I/O관리모듈(120)에 연결되어 드라이버소프트웨어나 시뮬레이션소프트웨어를 통해서 사용자컴퓨팅부(200)의 I/O접속모듈(230)에 선택적으로 연결된다. 이 때 보안관리컴퓨팅부(100)는 사용자의 접근이 엄격하게 관리되고 프로그램의 변경이나 설치가 원칙적으로 불가능하게 구성된다. 이러한 구조로써, 사실상 제3자가 되는 보안관리컴퓨팅부(100)는 기존의 컴퓨터와 같은 구조인 사용자컴퓨팅부(200)의 동작 감시가 가능해진다.
보안관리컴퓨팅부(100)의 I/O관리모듈(120)은 모든 I/O장치(40)를 관리하며 데이타의 부적절한 이동이나 컴퓨터의 부적절한 사용을 감시한다. 예를 들어 디스플레이의 화면이나 키보드입력의 기록이 가능하므로 부적절한 사용을 감시할 수 있다. USB를 통하여 파일을 복사하는 경우에도 그 기록이 가능하므로 적절한 보안조치가 가능하다. 기존과 같이 하나의 OS가 전체를 관장하는 컴퓨터에서도 기록이 가능하지만 기록된 정보에 최상위 관리자는 접근가능하므로 몰래 이를 삭제하거나 변형하는 경우에는 보안에 허점이 발생한다. 따라서 본 발명에 따른 컴퓨터장치는 기업이나 군사용 등 보안이 필요한 경우에 매우 유용하다. 이 경우 보안통신망을 통하여 보안담당부서에서 전체컴퓨터의 작업내용이나 보안사항을 감시하고 통제하는 것이 가능하다. 이때 보안통신망은 사용자컴퓨터부에는 노출되지 않으므로 매우 안전하다.
또한 보안관리컴퓨팅부(100)는 I/O장치유닛에 연결되는 입출력장치가 프로그램코드를 전달하려 하는 경우 이를 상호통신유닛(70)을 통하여 상기 사용자컴퓨팅부(200)에 전달하고 상기 사용자컴퓨팅부(200)는 이를 수행한다.
보안관리컴퓨팅부(100)에 연결되는 I/O 장치별 사용자컴퓨팅부(200)의 동작을 설명하면, 보안관리컴퓨팅부(100)에 결합되는 키보드유닛과 마우스유닛에 대하여 사용자컴퓨팅부(200)는 키보드유닛과 마우스유닛과의 정보 입출력을 상기 보안관리컴퓨팅부(100)의 통제하에(예를 들어, I/O관리모듈(120)의 기능에 의해) 상기 상호통신유닛(70)을 통하여 수행할 수 있다. 보안관리컴퓨팅부(100)에 결합되는 USB유닛의 경우에도 사용자컴퓨팅부(200)는 상기 USB유닛과의 정보 입출력을 상기 보안관리컴퓨팅부(100)의 통제하에 상기 상호통신유닛(70)을 통하여 수행할 수 있다. 보안관리컴퓨팅부(100)에 결합되는 PCI유닛의 경우에도 상기 사용자컴퓨팅부(200)는 상기 PCI유닛과의 정보 입출력을 상기 보안관리컴퓨팅부(100)의 통제하에 상기 상호통신유닛(70)을 통하여 수행할 수 있다. 보안관리컴퓨팅부(100)에 결합되는 LAN유닛에 대해서도 상기 사용자컴퓨팅부(200)는 상기 LAN유닛과의 정보 입출력을 상기 보안관리컴퓨팅부(100)의 통제하에 상기 상호통신유닛(70)을 통하여 수행할 수 있다. 이들 I/O장치들과의 통신은 장치들의 하드웨어 어드레스와 입출력정보, 입출력동작을 지정하여 개별적으로 진행할 수 있으나, I/O장치들의 종류마다 기능이 정해져있으므로 일부 I/O장치들에 대하여는 프린터모듈에 대하여는 프린트정보를 제공하고 ‘장치로 출력’이라는 명령으로, 외장보조기억장치에 대하여는 파일이름을 지정하고 ‘장치로 복사’라는 명령으로 간단하게 처리할 수도 있다.
보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)은 사용자컴퓨팅부(200)의 동작을 점검하고 감시하는 기능을 갖는다. 이 기능은 또한, 경우에 따라서 제2중앙처리장치(50)를 정지시키거나 리셋, 또는 인터럽트신호를 발생시켜 특정 프로그램을 실행시키는 등의 방법으로 이상 동작을 중지시키거나 복구할 수 있는 기능을 포함할 수 있다.
사용자컴퓨팅부관리모듈(110)은 또한 사용자컴퓨팅부(200)의 사용자프로그램실행모듈(210)이나 사용자OS실행모듈(220)에서 수행되는 코드중 안전하게 관리될 수 있는 부분을 보안관리컴퓨팅부(100)에서도 병행하여 실행가능하도록 구성하는 기능을 가질 수 있다. 예를 들어 OS나 프로그램의 업데이트, 바일러스백신프로그램의 실시간감시부분등을 보안관리컴퓨팅부(100)가 수행하게 되면 사용자컴퓨팅부(200)가 수행하는 것보다 빠르게 다른 작업들을 수행할 수 있을 것이다.
또한, 예를 들어 인터넷접속시에 화면의 구성중 그래픽과 관련된 부분은 보안관리컴퓨팅부(100)가, 나머지는 사용자컴퓨팅부(200)가 담당하도록 사용자컴퓨팅부관리모듈(110)을 설정할 수 있다. 이로써 보다 빠른 동작이 가능해진다.
상기와 같이 본 발명의 컴퓨터에서 구동되는 모든 소프트웨어는 그 프로그램 코드나 데이타가 보안관리컴퓨팅부(100)에서 실행되는 부분과 사용자컴퓨팅부(200)에서 실행되는 부분으로 분리될 수 있으며, 이때 보안관리컴퓨팅부(100)에서 실행되는 부분은 OS나 사용자프로그램의 소프트웨어의 업데이트를 담당하는 업데이트 모듈일 수 있다.
또한 인터넷접속시에 사용자컴퓨팅부(200)의 동작이 의심된다면 보안관리컴퓨팅부(100)가 키보드입력을 사용자컴퓨팅부(200)로 보내지 않고 접속중인 인터넷 사이트로 직접 송신하는 것도 가능하다. 이 경우에 사용자컴퓨팅부(200)로는 *와 같이 키보드입력을 대신하는 문자로 보내주고 보안관리컴퓨팅부(100)가 사용하는 화면에 사용자가 입력하는 실제정보를 보여주는 것이 가능하다..
또한 본 발명에 따른 컴퓨터는 가정에서도 아이들의 과도한 게임사이트 접속이나 음란물 시청 등을 부모가 쉽게 감시할 수 있다. 보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)에 이러한 기능을 부가하여, 아이들이 사용자컴퓨팅부(200)에만 접속할 수 있도록 설정해 놓으면 보안관리컴퓨팅부(100)의 통제하에 특정 프로그램의 수행 시간을 통제하거나 수행을 차단하는 것이 가능하고 화면을 캡처하여 저장하는 것이 가능하며, 이러한 정보를 통신망을 통하여 부모의 휴대폰으로 실시간으로 감시할 수 있으므로 컴퓨터의 무절제한 사용을 부모가 효과적으로 막을 수 있다. 이 경우 부모의 휴대폰과는 블루투스를 사용하거나 무선LAN, 공용데이타망등으로 연결될 수 있으며. 전용 앱을 제공한다면 보다 편리할 것이다..
이러한 기능을 위해서, 모니터를 위한 비디오디스플레이유닛에는 상기 보안관리컴퓨팅부(100)에 연결되는 제1비디오메모리(도시하지 않음); 상기 보안관리컴퓨팅부(100) 및 상기 사용자컴퓨팅부(200)에 연결되는 제2비디오메모리(도시하지 않음); 상기 보안관리컴퓨팅부(100)에 연결되고, 상기 제1비디오 메모리와 상기 제2비디오메모리의 정보를 선택적으로 모니터 디스플레이화면에 표시하는 비디오그래픽콘트롤러가 포함되어야 할 것이다.
이렇게 구성된 비디오디스플레이유닛이 연결된 보안관리컴퓨팅부(100)는 상기 사용자컴퓨팅부(200)로부터 보조기억장치유닛(30)의 특정 영역에 저장된 정보의 변경을 요청받은 경우에, 상기 비디오디스플레이유닛을 통하여 이를 디스플레이하고 사용자에게 확인을 요구하는 동작(예를 들어 키보드입력)을 수행할 수 있다.
또한 보안관리컴퓨팅부(100)는 상기 제2비디오메모리의 정보를 보안관리컴퓨팅부(100)의 사용자가 설정한 방식대로 보조기억장치유닛(30)의 보안관리컴퓨팅 저장영역(31)에 저장하였다가 사용자의 요청이 있을때 이를 제공할 수 있다.
한편, 본 발명에는 보안관리컴퓨팅부(100)에서 구동되는 시스템OS로서, 사용자의 하드웨어적인 입력에 따라 상기 제1비디오메모리의 내용이나 제2비디오메모리의 내용을 선택적으로 디스플레이하도록 비디오디스플레이 유닛을 제어하는 기능이 있는 소프트웨어도 포함된다. 이 경우에는 사용자의 하드웨어 입력을 위한 전용키를 갖는 키보드를 갖춘다면 보다 편리할 수 있을 것이다.
해커나 바이러스의 침투로 사용자컴퓨팅부(200)가 이상동작을 할 경우 이에 대응하는 프로그램을 보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)과 보조기억장치관리모듈(130)에 갖춘다면 해킹이나 바이러스에 대한 효과적인 대응이 가능하다. 기존의 컴퓨터구조는 바이러스의 이상동작을 백신프로그램이나 기타 다른방법으로 나중에 확인하게 되지만 보안관리컴퓨팅부(100)가 실시간으로 사용자컴퓨팅부(200)의 동작(이 경우에는 바이러스의 동작)을 감시하게 되므로 즉각처방이 가능하다.
예를 들면 바이러스가 침투하여 하드디스크에 저장되는 파일들에 숨기 위하여 파일내용을 변조하는 경우 기존컴퓨터는 파일이 변조된 후 나중에 백신프로그램으로 이를 확인하게 되지만 본 발명에 따른 컴퓨터장치에서는 실시간으로 파일의 변조를 차단하는 것이 가능하다. 또한 기존 컴퓨터백신프로그램의 실시간 감시기능을 사용하여 일부 알려진 바이러스는 차단이 가능하지만 신종으로 등장하는 바이러스에는 속수무책이고 백신프로그램의 업데이트가 안 된 경우에는 더더욱 보안에 문제가 발생한다. 이에 비해서 본 발명에 따른 컴퓨터장치에서는 원도즈와 같은 OS의 경우 바이러스의 파일시스템 변경이나 레지스트리 변경을 제3자인 보안관리컴퓨팅부(100)가 차단할 수 있어 보다 바이러스가 최상위관리자 권한을 가지고 접근해도 근본적인 대책이 가능하다.
나아가 본 발명에 따른 컴퓨터에서는 하드디스크 등의 보조기억장치유닛(30)을 보안관리컴퓨팅부(100)의 보조기억장치관리모듈(130)이 통제하므로 다양한 보안기능을 편리하게 구현할 수 있다.
예를 들어, 앞에서 언급한 것과 같이 보안관리컴퓨팅부(100)가 사용하는 보조기억장치유닛(30)의 보안관리컴퓨팅 저장영역(31)을 사용자컴퓨팅부(200)에 전혀 노출되지 않게 설정 또는 구성할 수 있다. 따라서 이 저장영역은 악성코드의 공격에서 매우 안전하다. 따라서 사용자컴퓨팅부(200)가 파일시스템의 변경을 요구하면 파일시스템의 백업정보를 보안관리컴퓨팅 저장영역(31)에 저장하고 파일시스템을 변경한다면 문제발생시에도 특정 시간을 지정하여 파일시스템을 복구하는 것이 가능할 수 있다. 즉, 상기 보안관리컴퓨팅부(100)는 상기 사용자컴퓨팅부(200)로부터 상기 사용자컴퓨팅 저장영역(32)의 파일시스템변경을 요구받았을때 기존파일시스템의 복원정보를 상기 보안관리컴퓨팅부(100)가 독점적으로 사용하는 보안관리컴퓨팅 저장영역(31)의 특정 부분에 저장한다. 이 정보는 사용자컴퓨팅부에는 노출되지 않으므로 안전한 대응이 가능하다.
이미 윈도즈(Windows)에 특정 시점의 컴퓨터 프로그램과 데이타 이미지백업하여 이를 사용하여 시스템을 복구하는 기능이 있고 OS가 문제가 있는 경우에는 OS를 복구할 수 있는 기능도 있다. 그러나 앞서 설명한 것처럼 백업정보에 누구든지 접근이 가능한 기존 컴퓨터구조에서는 악성코드도 백업정보에 접근할 수 있어 완전한 보안은 불가능하다. 예를 들어 해킹프로그램이나 바이러스프로그램이 하드디스크를 파괴하려 하여도 기존의 컴퓨터는 이들 프로그램의 속성을 전혀 모른채 무작정 악성코드의 명령을 수행하여 컴퓨터가 동작불능 상태에 빠지고 만다. 예를 들어 랜섬웨어가 사용자파일들을 무작위로 암호화하여도 이를 전혀 모른채 암호화작업을 수행한다.
그러나 본 발명에 따른 컴퓨터는 보안관리컴퓨팅부(100)가(예를 들어, 사용자컴퓨팅부관리모듈(110)이) 사용자컴퓨팅부(200)의 동작을 감시할 수 있으므로 OS파일이나 데이타파일의 변경이나 삭제시에 안전한 곳에 백업정보파일을 만들어 놓아 복구가 쉽게 가능하다. 또한 이들 파일의 삭제 등의 명령을 받으면 보안관리컴퓨팅부(100)가 다시 한번 사용자의 확인을 요구할 수도 있어 보안성이 크게 강화된다. 기존 컴퓨터에서 일부 악성코드들은 사용자의 확인이 필요한 경우에 키보드 드라이버를 감염시켜 가짜확인입력을 발생시켜 사용자의 추가확인을 건너뛰게 할 수 있지만 본 발명에 따른 컴퓨터에서는 사용자의 추가확인이 보안관리컴퓨팅부(100)에서 이뤄지므로 악성코드의 가짜확인입력은 불가능하다.
일반적으로 최근에 사용되는 대부분의 PC계열 컴퓨터장치들은 고속의 그래픽처리를 위하여 GPU를 사용한다. GPU는 고립된 코드와 작업영역을 갖는다는 측면에서는 본 발명의 고립된 사용자컴퓨팅부(200)와 유사하다고 볼 수도 있으나, CPU가 GPU의 작업을 감시하고 이상동작시 복구하려는 어떠한 하드웨어나 소프트웨어적인 구성이 없어서 근본적으로 차이가 있다. 즉 두개의 중앙처리장치가 다른 하나의 중앙처리장치의 이상 동작을 감지하고 대응하기위한 목적으로 결합된 구조가 아니어서, GPU는 다른 I/O장치들을 사용하지 않으며 OS도 없고, 영역이 분리된 보조기억장치를 사용하지도 않는다.
이상과 같이 구성된 본 발명에 따른 컴퓨터의 세부적인 동작별로 구체적으로 설명하면 다음과 같다.
1-1. 부팅
전원이 인가되어 부팅이 시작되면 보안관리컴퓨팅부(100)와 사용자컴퓨터의 BIOS코드가 각각 수행된다. 이때 보안관리컴퓨팅부(100)의 제1중앙처리장치(10)의 부팅 처리모듈(도시하지 않음)은 I/O장치(40)와 메모리들의 POST(Power On Self Test)를 수행하고 연결된 하드디스크, 즉, 보조기억장치유닛(30)으로부터 시스템OS를 읽어들인다.(이때 하드디스크의 용량이 충분하여 하나의 하드디스크가 사용자컴퓨팅 저장영역(32)과 보안관리컴퓨팅 저장영역(31)을 다 포함하고 있는 것으로 가정한다. 즉 하드디스크의 일부분이 보안관리컴퓨팅 저장영역(31)으로 설정되어 있는 것으로 가정한다). 한편 사용자컴퓨팅부(200)의 부팅 처리모듈(도시하지 않음)도 부팅을 시작하고 메모리와 상호통신유닛(70)의 자가테스트를 거쳐서 사용자OS데이타(사용자컴퓨팅부(200)의 OS)와 I/O장치(40)들의 POST 결과를 상호통신유닛(70)을 통하여 보안관리컴퓨팅부(100)에 요청한다.
보안관리컴퓨팅부(100)는 POST 결과와 사용자OS 데이타를 상호통신유닛(70)을 통하여 전달하고 사용자컴퓨팅부(200)는 이를 이용해 부팅작업을 수행한다. 사용자OS가 정상적으로 설치되면 사용자OS는 사용자가 설정한 프로파일에 따라 시작응용프로그램들의 데이타를 다시 보안관리컴퓨팅부(100)에 요청하고 이들 정보들을 이용하여 시작응용프로그램들을 메모리에 설치하고 부팅을 종료한다. 사용자OS가 윈도즈라하면 부팅을 마친 초기화면에는 사용자프로그램 아이콘들이 나타날 것이다.
이때 보안관리컴퓨팅부(100)의 OS와 사용자컴퓨팅부(200)의 OS가 같을 필요는 없다. 그러나 일정부분이라도 공유한다면 상당한 작업능력의 상승효과를 기대할 수 있을 것이다. 예를 들어 보안관리컴퓨팅부(100)의 OS가 윈도즈의 안전모드부팅에 상응하는 OS이고 사용자컴퓨팅부(200)의 OS가 윈도즈라면 보안관리컴퓨팅부(100)가 프로그램이나 OS의 업데이트, 나아가 백신프로그램의 실시간감시모듈을 실행시킴으로써 의심스러운 프로그램코드의 실시간 점검도 가능해질 것이다.
1-2. 한편 OS부팅 전에 보안관리컴퓨팅부(100)의 BIOS 처리 모듈(도시하지 않음)은 사용자컴퓨팅부(200) BIOS의 기능을 변경하는 것이 가능하다.
인터럽트레지스터(도시하지 않음)나 상호통신유닛(70)을 이용하여 BIOS 일부기능을 변경하는 경우를 살펴보자. 인터럽트레지스터가 16비트로 구성된다고 하면 각각의 비트에 하나의 ON/OFF정보를 전달할 수 있으므로 다양한 용도로 사용이 가능하다. 예를 들어 인터럽트레지스터의 비트0는 하드웨어적으로 사용자컴퓨터의 NMI라인에 바로 연결되고 비트1은 하드웨어적으로 사용자컴퓨터의 리셋라인에 POR(Power On Reset)신호와 OR게이트로 연결된다고 가정하고, 비트15는 BIOS변경을 나타낸다고 가정하자. 또한 인터럽트레지스터는 전원ON시에 0으로 설정된다고 가정하고 인터럽트레지스터의 현재값은 보안관리컴퓨팅부(100)와 사용자컴퓨팅부(200) 모두에서 읽을수 있다고 가정하자.
보안관리컴퓨팅부(100)의 BIOS 처리 모듈은 부트시에 사용자컴퓨팅부(200)의 BIOS 변경이 필요하면 인터럽트레지스터의 비트15를 셋(set)하고 변경이 필요한 부분의 데이타를 상호통신유닛(70)에 저장한다(상호통신유닛(70)을 DPRAM(Dual Port RAM)으로 가정할 경우).
사용자컴퓨팅부(200)의 BIOS 처리 모듈(도시하지 않음)은 전원인가후 인터럽트레지스터의 비트15를 읽어 BIOS의 변경이 필요한지 확인하고 필요한 것으로 체크되어 있으면 상호통신유닛(70)을 통하여 정보를 읽어들여 BIOS를 변경한다. 변경이 종료되면 이를 다시 상호통신유닛(70)으로 보안관리컴퓨팅부(100)에 알려주고 사용자컴퓨팅부(200) 자신은 처음부터 다시 부팅을 진행한다. 보안관리컴퓨팅부(100)는 인터럽트레지스터의 비트15를 클리어(clear)해서 BIOS 변경을 해제한다.
이때 하드웨어적으로 별도의 레지스터를 통하여 사용자컴퓨팅부(200) BIOS의 WR(write)신호를 제어하는 것이 바람직하다. 즉 보안관리컴퓨팅부(100)의 BIOS 처리 모듈이 허용할 때에만 사용자컴퓨팅부(200)의 BIOS 처리 모듈이 자신의 BIOS 메모리(도시하지 않음)에 쓰기가 가능하도록 하게 되면 악성코드로 인한 BIOS의 변경을 막을 수 있다. 즉 별도의 레지스터의 출력과 WR신호를 AND게이트를 통하여 BIOS메모리의 WR입력에 인가하면 해당 비트가 1일 때만 WR신호가 전달되므로 부트시에 보안관리컴퓨팅부(100)가 허용할 때만 쓰기가 가능해진다.
1-3. 보안관리컴퓨팅부(100)의 I/O관리모듈(120)은 설정에 따라 입출력장치유닛(40)과 연결된 주변장치들의 정보를 상호통신유닛(70)을 통하여 사용자컴퓨팅부(200)의 I/O접속모듈(230)에 제공한다.
사용자컴퓨팅부(200)의 I/O접속모듈(230)은 해당 주변장치들의 접속이 인지되면 필요한 드라이버를 보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)에 요구하여 설치하고 자신의 주변장치목록에 추가하게 된다. 이러한 주변장치목록과 정보는 보안관리컴퓨팅부(100)와(가령, I/O관리모듈(120)과) 공유된다. 상호통신유닛(70)을 통하여 전달된 해당 주변장치에 대한 읽기와 쓰기는 보안관리컴퓨팅부(100)(가령, I/O관리모듈(120))가 수행하고 그 결과는 상호통신유닛(70)을 통하여 사용자컴퓨팅부(200)에 전달된다. 즉 해당 장치에 대한 드라이버는 사용자컴퓨팅부(200)에 존재하고 보안관리컴퓨팅부(100)는 사용자컴퓨팅부(200)의 요청에 따라 하드웨어적인 단순 입출력을 담당한다. 이때 단순입출력을 블럭화시켜서 데이타 블럭의 이동으로 확장할 수도 있다.
예를 들어, 프린터가 USB를 통하여 접속되면 보안관리컴퓨팅부(100)의 I/O관리모듈(120)은 접속을 인지하고 관련된 정보를 상호통신유닛(70)을 통하여 사용자컴퓨팅부(200)의 I/O접속모듈(230)에 전달한다. 사용자컴퓨팅부(200)는 수신된 정보를 분석하여 프린터임이 확인되면 해당 프린터의 드라이버를 설치하게 된다.
드라이버의 설치는 기존 컴퓨터의 경우와 유사하게 진행된다. 사용자컴퓨팅부(200)는 상호통신유닛(70)을 통하여 보안관리컴퓨팅부(100)의 통제하에 보조기억장치유닛(30)의 드라이버들을 검색한다. 이 과정은 드라이버프로그램을 찾을 때까지 계속된다. 적절한 드라이버프로그램이 발견되면 사용자컴퓨팅부(200)는 이를 자신의 메모리에 설치하고 자신의 주변장치목록에 이를 추가한다. 이 과정에서 보안관리컴퓨팅부(100)는 단순한 입출력만을 제공할 뿐이지만 해당 장치의 접속에 관한 내용은 기록되고 관리가 가능하다.
그러나 앞서 언급한 것처럼 I/O장치들에 대하여는 다양한 관리방법이 존재한다. 예를 들어 프린터와 같은 경우에는 프린터드라이버를 보안관리컴퓨팅부(100)에서 실행시켜놓고 사용자컴퓨팅부(200)의 사용자프로그램(예를 들어 MS워드)은 프린트할 정보와 프린터 파라메타를 보안관리컴퓨팅부에 전달하고 ‘장치로 출력’이라는 처리명령을 전달하여 간단하게 프린트를 수행할 수도 있다. 이 경우 프린터드라이버가 악성코드에 감염되지 않도록 주의해야 할 것이다.
2. 응용프로그램(사용자프로그램)의 실행
부팅이 종료되면 사용자컴퓨팅부(200)의 사용자프로그램실행모듈(210)은 패스워드를 확인하는 과정을 거쳐서 사용자의 접속을 허가한다. 예를 들어 접속허가를 받은 사용자가 인터넷에 들어가기 위하여 브라우저를 실행시키면 사용자컴퓨팅부(200)의 사용자OS실행모듈(220)과 사용자프로그램실행모듈(210)은 해당 프로그램의 코드를 보안관리컴퓨팅부(100)에 요청하여 넘겨받아 실행시킨다. 다음으로 사용자가 특정 인터넷사이트에 접속한다면 이 모든 정보는 상호통신유닛(70)을 통하여 중계하게 된다. 예를 들어 해당 사이트가 액티브X와 같은 코드의 실행을 요청한다면 이는 사용자컴퓨팅부(200)로 전달된다(만일 보안관리컴퓨팅부(100)에 실시간 감시프로그램이 있다면 점검 후에 전달하게 될 것이다).
만일 해당 코드가 악성코드이고 특정 프로그램파일을 변조해 숨기 위하여 보조기억장치유닛(30)의 사용자컴퓨팅 저장영역(32)의 특정 파일의 내용을 변경하려 한다면, 보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)은 이를 보안관리컴퓨팅부(100)에 포함된 비디오장치를 통해서 화면에 표시하고 사용자의 확인을 요구한다. 이때 스피커가 부착된 경우라면 경고음의 발생도 가능하다. 따라서 1차적인 대응이 가능하다.
3. 악성코드의 감염
앞서 밝힌 것처럼 백신프로그램은 기본적으로 악성코드의 특정 이미지를 사용하여 검색을 시도하기 때문에 신종으로 등장하는 악성코드에 대하여 취약하다. 또한 사용자컴퓨팅부(200)가 독자적인 입출력장치들을 갖을수도 있으므로 악성코드의 감염은 불가능한 것은 아닐 것이다. 하여간 악성코드에 감염되었다고 가정하자. 이렇게 되면 악성코드는 이미 보조기억장치유닛(30)의 사용자컴퓨팅 저장영역(32)에 있는 사용자컴퓨팅부(200)의 파일시스템 내에 숨어 있고 악의적인 동작을 수행할 것이다. 예를 들어 랜섬웨어라고 가정하면 사용자의 워드파일이나 작업파일들을 암호화하려고 시도할 수 있다.
그러나 본 발명에 따른 컴퓨터에서는 파일이 변경되거나 삭제되면 해당 파일의 백업이미지가 보조기억장치관리모듈(130)에 의해(예를 들어, 보조기억장치관리모듈(130)에 의해) 보조기억장치유닛(30)의 보안관리컴퓨팅 저장영역(31)에 안전하게 저장되므로 기존 컴퓨터에서와 같이 백업이미지까지 모두 삭제되는 경우는 없다. 따라서 사용자가, 해커가 부당한 요구로 감염을 확인하게 되면 바로 보안관리컴퓨팅부(100)에 접속하여 사용자컴퓨팅부(200)의 파일시스템을 감염 전으로 되돌릴 수 있게 된다. 따라서 악성코드의 피해복구가 가능하다. 이때 감염경로로 의심되는 사이트의 접속기록을 확인하여 OS 및 응용프로그램도 해당 시점 이전으로 변경하게 되면 시스템은 완전하게 정상으로 복구된다.
만일 해커가 OS까지 훼손하여 사용자컴퓨팅부(200)가 해커의 명령에 따라 아무런 작업도 수행하지 못하는 상황이라도 대응이 가능하다. 이러한 상황은 악성컴퓨터바이러스가 부트섹터를 지워버리거나 사용자데이타를 지워버리는 경우와 비슷할 수 있다. 이 경우에 사용자가 상황을 인지하게 되면 사용자는 키보드입력을 통하여 보안관리컴퓨팅부(100)의 화면을 띄워 대응할 수 있다. 사용자가 복구를 원하는 경우에는 복구프로그램은 인터럽트레지스터를 이용하여 사용자컴퓨팅부(200)의 중앙처리장치에 인터럽트를 걸어서 지정된 작업을 수행시킬 수 있다. 이때 인터럽트 서비스프로그램은 비휘발성 메모리에 저장되어 있고 접근은 통제가되므로 악성코드가 이를 막을 방법은 없다. 이런 방식으로 사용자컴퓨팅부(200)의 프로세스 리스트를 넘겨받아 프로세스를 검사할 수 있으며 의심스러운 프로세스를 강제로 종료하도록 명령하는 것도 가능하다. 또한 인터럽트레지스터의 해당비트를 셋하였다가 해제하는 방식으로 사용자컴퓨팅부(200)를 강제로 리셋시켜서 부트프로세스를 콜드스타트 모드로 다시 수행토록 하는 것도 가능하다. 이때는 보조기억장치유닛(30)의 보안컴퓨터영역에 보관된 사용자컴퓨팅부(200)의 OS 사본을 제공하여 정상적으로 사용자컴퓨팅부(200)를 복구할 수 있다.
한편 이러한 작업은 보안관리컴퓨팅부(100)의 화면을 통해서 수행되어야 하는데 사용자는 화면전환용 키가 부착된 전용 키보드를 이용하여 사용자컴퓨팅부(200)의 화면으로부터 보안관리컴퓨팅부(100)의 화면으로 전환하여 작업할 수 있다.
4. 파일의 프린트나 외부저장장치의 감시
사용자컴퓨팅부(200)에서 워드프로세서를 구동하고 특정 파일의 인쇄를 시도하였다고 가정하자. 이때 프린터는 보안관리컴퓨팅부(100)에 연결될 뿐이기 때문에 사용자컴퓨팅부(200)는(예를 들어, I/O접속모듈(230)이) 드라이버프로그램이나 시뮬레이션프로그램을 통하여 프린터에 명령을 내릴 수 밖에 없다.
이때 보안관리컴퓨팅부(100)는(예를 들어, I/O관리모듈(120)은) 사용자컴퓨팅부(200)의 요청에 따라서 I/O장치들과의 통신을 중계하게 되는데 통신내용을 모두 기록하거나 사용자가 지정한 시간 간격에 따라서 해당 통신기록을 저장하는 것이 가능하다. 이때 프린터에 출력을 명령한 응용프로그램의 확인도 프로세스정보를 통하여 확인할 수 있다. 또한 사용자컴퓨팅부(200)에서 제공한 주변장치정보를 통하여 해당 장비가 프린터임을 인지하고 있는 경우에는 보다 체계적으로, 출력되는 정보를 중간에서 복사하여 저장하였다가 보안관리컴퓨팅부(100)에 접속하는 보안담당자에게 제공하는 것도 가능할 것이다.
외부저장장치가 접속되는 경우 만일 외부저장장치가 드라이버프로그램이나 셋업프로그램의 수행을 요구하게 되면 해당 프로그램은 모두 사용자컴퓨팅부(200)로 전달되고 수행된다. 따라서 이들의 접속기록이나 통신기록도 모두 관리가 가능하다. 나아가 해당 장비가 외부저장장치임을 보안관리컴퓨팅부(100)가 인지하고 있는 경우에는 보다 체계적으로 입출력되는 파일의 사본이나 접근정보를 저장하였다가 제공하는 것이 가능하다. 또한 프로그램마다의 파일체계를 알 수 있는 경우에는 이를 입력화면과 같은 원시적인 단계로 확인이 가능하므로 특정 단어가 있는 파일의 외부저장을 실시간으로 차단하는 것도 가능하다. 또한 사용자컴퓨팅부(200)의 화면을 저장하였다가 제공할 수도 있어서 강력한 보안효과를 얻을 수 있다.
5. 특정 프로그램의 사용통제
본 발명에 따른 컴퓨터는 특성상 사용자컴퓨팅부(200)에서 실행되는 모든 프로그램을 보안관리컴퓨팅부(100)의 프로그램이 제공하므로 보안관리컴퓨팅부(100)의 사용자컴퓨팅부관리모듈(110)의 설정에 따라 사용자컴퓨팅부(200)에서 실행되는 프로그램을 통제할 수 있다. 예를 들어 많은 기업에서 근무시간중에 인터넷서핑을 회사차원에서 막고 있으나, 회사통신망을 이용하지 않고 자신의 휴대폰을 매개체로 하여 외부망에 직접 접속하면 감시망을 피할 수 있다. 그러나 본 발명의 컴퓨터에서는 브라우저의 사용을 금하거나 브라우저를 예를 들어 9:00-18:00 사이에는 쓰지 못하도록 설정하는 것이 가능하므로 이를 막을 수 있다.
예를 들어 사내 통신망을 통하여 보안관리컴퓨팅부(100)에 브라우저가 통제대상프로그램목록에 올라 있고 통제방법은 회사승인하에만 가능하도록 설정되었다고 하면 작업자는 브라우저의 사용을 보안부서에 요청할 수 있다. 이 것이 승인되면 보안부서는 통신망을 통하여 보안관리컴퓨팅부(100)의 통제방법을 변경하여 10:00-12:00에 사용가능으로 변경해줌으로써 작업자는 브라우저를 사용할 수 있게 된다. 이때 작업자의 사용자컴퓨터 화면을 주기적으로 저장하여 보다 철저한 감시를 할 수도 있을 것이다.
6. 보안관리컴퓨팅부(100)의 접속과 프로그램변경
경우에 따라 보안관리컴퓨팅부(100)에 프로그램을 추가하거나 기존 프로그램을 업데이트할 필요가 있을 수 있다. 이 때는 기존의 컴퓨터처럼 보안상의 취약점이 노출되므로 매우 주의하여야 한다. 그러나 성격상 보안관리컴퓨팅부(100)에서는 제한적인 프로그램만이 실행되므로 소프트웨어의 형상변경이 자주 있는 일은 아닐 것이다. 따라서 소프트웨어의 형상변경은 보안담당자나 보안이 확인된 사이트로부터만 가능하도록 한다면 문제발생을 최소화시킬 수 있다.
예를 들어 회사라면 사내통신망의 특정 어드레스(보안관리자)를 제외하고는 네트워크를 통한 소프트웨어의 형상 변경이 불가능하게 하는 것이 바람직하다. 개인인 경우에는 안전이 확인된 사이트의 접속시에만 소프트웨어의 형상변경이 가능토록 하는 것도 좋은 방법이다.
보안관리컴퓨팅부(100)로의 접속은 사용자컴퓨팅부(200)와는 서로 고립된 패스워드인식 과정을 거치게 되므로 외부에 노출되지만 않는다면 큰 문제는 없다. 그러나 보안을 위하여 하드웨어적인 잠금장치를 추가할 수도 있을 것이다. 즉 사용자컴퓨팅부(200)로는 연결되지 않는 별도의 USB장치 등을 통하여 하드웨어키를 인식한 후 패스워드를 인식하는 소프트웨어가 구동된다면 보다 안전한 접속을 보장할 수 있을 것이다.
한편, 도 1에 나타낸 것과 같은 구조는 기본적인 컴퓨터의 구성요소인 ROM, RAM, I/O장치를 기준으로 설명한 것이다. 그러나 최근에는 컴퓨터의 처리속도를 높이기 위해서 데이타의 이동이 많은 RAM이나 그래픽장치들을 위한 고속의 전용인터페이스를 두거나, 속도가 느린 입출력장치들을 따로 모아서 관리하는 주변기기제어용 허브칩을 두어 설계하는 경우가 매우 흔하다. 이를 기준으로 본 발명에 따른 다른 실시예의 컴퓨터의 구조를 설명하면 도 4와 같다.
도 4에서 보안관리컴퓨팅부(100)는, 접속되는 장치들의 특성을 반영하여 각각 독립적으로 설계된, 복수의 전용 하드웨어 인터페이스(14)들을 갖는 제1중앙처리장치(10); 상기 전용인터페이스(14)들을 이용하여 상기 제1중앙처리장치(10)에 독립적으로 연결되는 제1랜덤액세스메모리(RAM)(15), 그래픽콘트롤러유닛(16), 제1부트ROM(17), 주변기기콘트롤러허브유닛(18), 상호통신유닛(70); 상기 주변기기콘트롤러허브유닛(18)에 연결되는 보조기억장치유닛(30)과 입출력장치유닛(40)으로 구성되고,
사용자컴퓨팅부(200)는, 상기 상호통신유닛(70)과 전용인터페이스1(54)로 연결되고, 제2랜덤액세스메모리(57)와 전용인터페이스2(55)로 연결되고, 제2부트ROM(58)과는 전용 인터페이스3(56)으로 연결되는 제2중앙처리장치(50)를 포함한다.
여기서도 상기 보조기억장치유닛(30)은 도 2에서와 같이, 보안관리컴퓨팅부(100)가 사용하는 부분인 보안관리컴퓨팅 저장영역(31)과 사용자컴퓨팅부(200)가 사용하는 사용자컴퓨팅 저장영역(32)이 물리적 또는 논리적으로 분리되고, 보안관리컴퓨팅 저장영역(31)은 사용자컴퓨팅부(200)에 노출되지 않는 특징이 있고, 상기 사용자컴퓨팅부(200)에 설치되는 사용자OS데이타는 상기 보조기억장치유닛(30)의 사용자컴퓨팅 저장영역(32)에 저장되고 그 사본은 상기 보조기억장치유닛(30)의 보안관리컴퓨팅 저장영역(31)에 저장되며, 상기 상호통신유닛(70)을 통하여 상기 보안관리컴퓨팅부(100)로부터 상기 사용자컴퓨팅부(200)로 전달되어 상기 제2랜덤액세스메모리유닛에 설치되어 실행된다.
흔히 사용되는 인텔의 칩셋을 예로 들면 CPU가 DDR3를 통하여 DRAM에 연결되고 그래픽유닛은 고속의 PCI인터페이스로 연결되며 주변기기를 총괄하여 통제하는 PCH(Platform Controller Hub)와는 DMI(Desktop Management Interface)로 연결된다. HDD와 ODD 등의 보조기억장치유닛은 SATA나 ESATA 등을 통하여 PCH에 연결되고 USB인터페이스들을 통하여 키보드나 마우스, 외장장치들이 연결된다. 부트용 BIOS는 PCH를 통하여 연결되는데 가끔은 LPC(Low Profile Connection)라는 저속통신인터페이스를 통하여 연결되는 경우도 있다.
이때 DDR3인터페이스, PCI인터페이스, DMI 등은 본 발명의 전용인터페이스에 해당 된다. 한편 본 발명의 상호통신유닛(70)은 고속으로 통신해야 하므로 CPU에 직접 연결되는 고속의 PCI인터페이스에 연결되는 것이 바람직할 수 있다.
이상과 같이 몇 가지 예시적 실시예를 도면을 참조하여 설명하였다. 그러나 본 발명의 기술적범위 내지는 권리범위가 상술한 실시예의 내용에 한정되는 것은 아니다. 본 발명의 기술적범위 내지 권리범위는 이하의 특허청구범위의 합리적 해석에 의해 정해지는 것이다.
삭제

Claims (24)

  1. 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 갖는 제1중앙처리장치(CPU); 상기 제1중앙처리장치에 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되는 제1메모리유닛; 상기 제1중앙처리장치에 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되는 보조기억장치유닛; 상기 제1중앙처리장치에 제1어드레스버스, 제1데이타버스, 제1제어버스, 신호들을 통하여 연결되는 I/O장치유닛을 포함하는 보안관리컴퓨팅부,
    제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 갖는 제2중앙처리장치(CPU); 상기 제2중앙처리장치에 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되는 제2메모리유닛을 포함하며, 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자OS를 실행하는 사용자컴퓨팅부,
    상기 보안관리컴퓨팅부의 제1중앙처리장치와 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 사용자컴퓨팅부의 제2중앙처리장치와 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되어, 제1중앙처리장치와 제2중앙처리장치 사이의 통신을 담당하는 상호통신유닛을 포함하되,
    상기 보안관리컴퓨팅부의 상기 보조기억장치유닛은, 상기 보안관리컴퓨팅부에만 직접 연결되고 상기 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과 상기 사용자컴퓨팅부에 의해 사용되는 사용자컴퓨팅 저장영역을 포함하여, 상기 사용자컴퓨팅부에서 실행되는 사용자OS 데이타의 원본은 상기 사용자컴퓨팅 저장영역에 저장되고 그 사본은 상기 보안관리컴퓨팅 저장영역에 저장되며,
    상기 보안관리컴퓨팅부는 상기 I/O장치유닛을 감시, 통제하며 상기 보조기억장치유닛을 상기 보안관리컴퓨팅 저장영역과 사용자컴퓨팅 저장영역으로 나누어 관리하고 상기 사용자컴퓨팅부를 감시 및 통제하는 것을 특징으로 하는 컴퓨터.
  2. 복수의 전용 하드웨어 인터페이스들을 갖는 제1중앙처리장치; 상기 전용 하드웨어 인터페이스들을 이용하여 상기 제1중앙처리장치에 독립적으로 연결되는 제1랜덤액세스메모리(RAM), 그래픽콘트롤러유닛, 제1부트ROM, 주변기기콘트롤러허브유닛, 상호통신유닛; 상기 주변기기콘트롤러허브유닛에 연결되는 보조기억장치유닛과 I/O장치유닛을 포함하는 보안관리컴퓨팅부,
    상기 상호통신유닛과 제1전용인터페이스로 연결되고, 제2랜덤액세스메모리와 제2전용인터페이스로 연결되고, 제2부트ROM과는 제3전용인터페이스로 연결되는 제2중앙처리장치를 포함하며, 상기 보안관리컴퓨팅부로부터 고립되어 사용자프로그램과 사용자OS를 실행하는 사용자컴퓨팅부를 포함하되,
    상기 보안관리컴퓨팅부의 상기 보조기억장치유닛은, 상기 보안관리컴퓨팅부에만 직접 연결되고 상기 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과 상기 사용자컴퓨팅부에 의해 사용되는 사용자컴퓨팅 저장영역을 포함하여, 상기 사용자컴퓨팅부에서 실행되는 사용자OS 데이타의 원본은 상기 사용자컴퓨팅 저장영역에 저장되고 그 사본은 상기 보안관리컴퓨팅 저장영역에 저장되며,
    상기 보안관리컴퓨팅부는 상기 I/O장치유닛을 감시, 통제하며 상기 보조기억장치유닛을 상기 보안관리컴퓨팅 저장영역과 사용자컴퓨팅 저장영역으로 나누어 관리하고 상기 사용자컴퓨팅부를 감시 및 통제하는 것을 특징으로 하는 컴퓨터.
  3. 제1항 또는 제2항에 있어서, 상기 상호통신유닛은 상기 제1중앙처리장치와 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 제2중앙처리장치와 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되는 인터럽트레지스터를 포함하는 컴퓨터.
  4. 제3항에 있어서, 상기 사용자컴퓨팅부는, 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부로부터 인터럽트신호를 받는 경우, 수행중인 소프트웨어의 리스트와 프로세스정보들을 상기 상호통신유닛을 통하여 제공하는 수단을 추가로 포함하는 컴퓨터.
  5. 제3항에 있어서, 상기 사용자컴퓨팅부는, 상기 인터럽트레지스터를 통하여 상기 보안관리컴퓨팅부로부터 인터럽트신호를 받는 경우, 상기 상호통신유닛을 통하여 제공되는 정보를 이용하여, 수행중인 소프트웨어와 프로세스의 수행을 선택적으로 중단시키는 수단을 추가로 포함하는 컴퓨터.
  6. 제1항 또는 제2항에 있어서, 상기 상호통신유닛은 상기 제1중앙처리장치와 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 제2중앙처리장치와 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되는 듀얼포트메모리를 포함하는 컴퓨터.
  7. 제1항 또는 제2항에 있어서, 상기 상호통신유닛은 상기 제1중앙처리장치와 제1어드레스버스, 제1데이타버스, 제1제어버스 신호들을 통하여 연결되고, 상기 제2중앙처리장치와 제2어드레스버스, 제2데이타버스, 제2제어버스 신호들을 통하여 연결되는 DMA인터페이스를 포함하는 컴퓨터.
  8. 연결된 I/O장치유닛 및 보조기억장치유닛을 관리하는 보안관리컴퓨팅부와,
    상기 I/O장치유닛으로부터 고립되어 별도의 CPU와 메모리를 가지고 상호통신유닛을 통하여 상기 보안관리컴퓨팅부에 연결되어 사용자 프로그램과 사용자OS를 실행하는 사용자컴퓨팅부를 포함하되,
    상기 보안관리컴퓨팅부의 상기 보조기억장치유닛은, 상기 보안관리컴퓨팅부에만 직접 연결되고 상기 사용자컴퓨팅부에 노출되지 않는 보안관리컴퓨팅 저장영역과 상기 사용자컴퓨팅부에 의해 사용되는 사용자컴퓨팅 저장영역을 포함하여, 상기 사용자컴퓨팅부에서 실행되는 사용자OS 데이타의 원본은 상기 사용자컴퓨팅 저장영역에 저장되고 그 사본은 상기 보안관리컴퓨팅 저장영역에 저장되며,
    상기 보안관리컴퓨팅부는 상기 I/O장치유닛을 감시, 통제하며 상기 보조기억장치유닛을 상기 보안관리컴퓨팅 저장영역과 사용자컴퓨팅 저장영역으로 나누어 관리하고 상기 사용자컴퓨팅부를 감시 및 통제하는 것을 특징으로 하는 컴퓨터.
  9. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 보안관리컴퓨팅부는 상기 보안관리컴퓨팅 저장영역에 저장된 사용자 OS의 사본을 선택적으로 상기 사용자컴퓨팅부의 부팅시에 제공하는 것을 특징으로 하는 컴퓨터.
  10. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서,
    상기 I/O장치유닛에 결합되는 키보드유닛과 마우스유닛을 추가로 포함하고,
    상기 사용자컴퓨팅부는 상기 키보드유닛과 마우스유닛과의 정보 입출력을 상기 보안관리컴퓨팅부의 통제하에 상기 상호통신유닛을 통하여 수행하는 컴퓨터.
  11. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 보안관리컴퓨팅부로의 접속은 상기 사용자컴퓨팅부와 서로 독립된 패스워드인식 과정을 거쳐 수행되는 것을 특징으로 하는 컴퓨터.
  12. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부에서 실행되는 프로그램의 실행시간이나 실행여부를 통제하는 수단을 추가로 포함하는 컴퓨터.
  13. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부가 상기 상호통신유닛을 통하여 상기 I/O장치유닛에 출력할 정보를 전달하는 경우, 상기 보안관리컴퓨팅부가 출력할 정보의 일부분을 상기 보조기억장치유닛의 보안관리컴퓨팅 저장영역에 저장하였다가 보안관리컴퓨팅부에 접속한 사용자의 요청이 있을 때 이를 제공하는 것을 특징으로 하는 컴퓨터.
  14. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서,
    상기 보안관리컴퓨팅부에 연결되는 제1비디오메모리; 상기 보안관리컴퓨팅부 및 상기 사용자컴퓨팅부에 연결되는 제2비디오메모리; 상기 보안관리컴퓨팅부에 연결되고, 상기 제1비디오 메모리와 상기 제2비디오메모리의 정보를 선택적으로 모니터 디스플레이화면에 표시하는 비디오그래픽콘트롤러가 포함된 비디오디스플레이유닛을 추가로 포함하는 컴퓨터.
  15. 제14항에 있어서, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부로부터 보조기억장치유닛에 저장된 레지스트리파일이나 실행가능한 파일의 변경을 요청받은 경우, 상기 비디오디스플레이유닛을 통하여 이를 보여주는 것을 특징으로 하는 컴퓨터.
  16. 제14항에 있어서, 상기 보안관리컴퓨팅부는 상기 제2비디오메모리의 정보를 상기 보안관리컴퓨팅부의 보조기억장치유닛의 보안관리컴퓨팅 저장영역에 저장하였다가 사용자의 요청이 있을때 이를 제공하는 것을 특징으로 하는 컴퓨터.
  17. 제14항에 있어서, 상기 보안관리컴퓨팅부에서 구동되는 OS는 사용자의 하드웨어적인 입력에 따라 상기 제1비디오메모리의 내용이나 제2비디오메모리의 내용을 선택적으로 디스플레이하도록 상기 비디오디스플레이유닛을 제어하는 수단을 추가로 포함하는 컴퓨터.
  18. 제17항에 있어서, 상기 하드웨어적인 입력은 키보드입력인 것을 특징으로 하는 컴퓨터.
  19. 제18항에 있어서, 상기 하드웨어적인 입력인 키보드입력을 수행하는 데 사용되는 전용 키를 갖는 키보드를 추가로 포함하는 컴퓨터.
  20. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 보안관리컴퓨팅부는 상기 사용자컴퓨팅부로부터 상기 보조기억장치유닛의 상기 사용자컴퓨팅 저장영역의 파일시스템 변경을 요구받았을 때 기존파일시스템의 복원정보를 상기 보조기억장치유닛의 상기 보안관리컴퓨팅 저장영역에 저장하는 것을 특징으로 하는 컴퓨터.
  21. 제1항, 제2항, 및 제8항 중 어느 한 항에 있어서, 상기 컴퓨터에서 구동되는 소프트웨어 프로그램은, 상기 보안관리컴퓨팅부에서 실행되는 제1소프트웨어모듈과 상기 사용자컴퓨팅부에서 실행되는 제2소프트웨어모듈을 포함하는 것을 특징으로 하는 컴퓨터.
  22. 제21항에 있어서, 상기 소프트웨어 프로그램의 제1소프트웨어모듈과 제2소프트웨어모듈은 상기 상호통신유닛을 통하여 정보를 교환하는 것을 특징으로 하는 컴퓨터.
  23. 제21항에 있어서, 상기 제1소프트웨어모듈은 상기 컴퓨터에서 구동되는 소프트웨어의 업데이트를 담당하는 실시간 업데이트 모듈인 것을 특징으로 하는 컴퓨터.
  24. 제21항에 있어서, 상기 제1소프트웨어모듈은 상기 컴퓨터의 실시간 악성코드감시 프로그램인 것을 특징으로 하는 컴퓨터.
KR1020170057998A 2017-05-10 2017-05-10 고립된 사용자컴퓨팅부를 갖는 컴퓨터 KR101997254B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020170057998A KR101997254B1 (ko) 2017-05-10 2017-05-10 고립된 사용자컴퓨팅부를 갖는 컴퓨터
US16/611,984 US11386200B2 (en) 2017-05-10 2018-04-23 Computer having isolated user computing unit
PCT/KR2018/004689 WO2018208032A1 (ko) 2017-05-10 2018-04-23 고립된 사용자컴퓨팅부를 갖는 컴퓨터
CN201880030602.8A CN110622162B (zh) 2017-05-10 2018-04-23 具有独立用户计算部的计算机
JP2020513473A JP2020520037A (ja) 2017-05-10 2018-04-23 孤立したユーザーコンピューティング部を有するコンピュータ
FIEP18797801.0T FI3623978T3 (fi) 2017-05-10 2018-04-23 Tietokone eristetyllä käyttäjätietokoneyksiköllä
EP18797801.0A EP3623978B1 (en) 2017-05-10 2018-04-23 Computer having isolated user computing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170057998A KR101997254B1 (ko) 2017-05-10 2017-05-10 고립된 사용자컴퓨팅부를 갖는 컴퓨터

Publications (2)

Publication Number Publication Date
KR20180123815A KR20180123815A (ko) 2018-11-20
KR101997254B1 true KR101997254B1 (ko) 2019-07-08

Family

ID=64104812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170057998A KR101997254B1 (ko) 2017-05-10 2017-05-10 고립된 사용자컴퓨팅부를 갖는 컴퓨터

Country Status (7)

Country Link
US (1) US11386200B2 (ko)
EP (1) EP3623978B1 (ko)
JP (1) JP2020520037A (ko)
KR (1) KR101997254B1 (ko)
CN (1) CN110622162B (ko)
FI (1) FI3623978T3 (ko)
WO (1) WO2018208032A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177327A1 (ko) * 2021-02-19 2022-08-25 김덕우 가상컴퓨터 간 전환 가능한 구조를 갖는 컴퓨터 및 전환 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102416612B1 (ko) * 2020-03-16 2022-07-05 김덕우 고립된 사용자컴퓨팅부를 갖는 제어시스템 및 그 제어방법
JP2024518005A (ja) 2021-03-24 2024-04-24 キム、ドクウ 孤立したユーザコンピューティング部を有する制御システムおよびその制御方法
CN115827355B (zh) * 2023-01-10 2023-04-28 深流微智能科技(深圳)有限公司 图形处理器中异常核的检测方法、检测装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318435A (ja) * 2005-05-16 2006-11-24 Koji Akai コンピュ−タのセキュリティ対策システム
KR100774013B1 (ko) * 2004-12-23 2007-11-08 인피니언 테크놀로지스 아게 데이터 처리 장치, 원격 통신 단말 장치 및 데이터 처리장치에 의한 데이터 처리 방법
KR100948386B1 (ko) * 2009-08-10 2010-03-22 주식회사 시큐브 컴퓨터 시스템의 원본 보존 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4211927A (en) * 1978-11-24 1980-07-08 Cgr Medical Corporation Computerized tomography system
US7380140B1 (en) * 1998-12-30 2008-05-27 Spyrus, Inc. Providing a protected volume on a data storage device
WO2000057290A1 (fr) * 1999-03-19 2000-09-28 Hitachi, Ltd. Processeur d'informations
TWI305319B (en) * 2000-05-19 2009-01-11 Vir2Us Inc Computer having proctected data stores and switchable components providing isolated computing for vital and haker immunity
KR20010000299A (ko) * 2000-09-07 2001-01-05 서주석 컴퓨터 보안장치와 그 제어방법
EP1195679A1 (en) * 2000-10-06 2002-04-10 Hewlett-Packard Company, A Delaware Corporation Performing operating system recovery from external back-up media in a headless computer entity
TWI231896B (en) * 2001-06-29 2005-05-01 Secure Systems Ltd Security system and method for computers
JP2003330902A (ja) 2002-05-15 2003-11-21 Hitachi Ltd 大規模集積回路とその制御方法及びエレベータ制御システム
TW591395B (en) * 2003-02-27 2004-06-11 Acer Inc Recovery method of multi-functional operating system and system thereof
JP3941955B2 (ja) 2004-08-31 2007-07-11 株式会社ソニー・コンピュータエンタテインメント 複合装置
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
KR101098947B1 (ko) * 2009-02-03 2011-12-28 김상범 데이터 보안 장치 및 데이터 보안 방법, 그리고 데이터 보안 방법을 실행하기 위한 프로그램을 저장한 기록매체
JP2011022639A (ja) 2009-07-13 2011-02-03 Ratoc Systems Inc Kvm切替器およびkvm切替方法
WO2015196444A1 (en) * 2014-06-27 2015-12-30 Microsoft Technology Licensing, Llc Fast data protection using dual file systems
US9578054B1 (en) * 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
EP3742324A1 (en) * 2015-09-15 2020-11-25 Gatekeeper Ltd. System and method for securely connecting to a peripheral device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100774013B1 (ko) * 2004-12-23 2007-11-08 인피니언 테크놀로지스 아게 데이터 처리 장치, 원격 통신 단말 장치 및 데이터 처리장치에 의한 데이터 처리 방법
JP2006318435A (ja) * 2005-05-16 2006-11-24 Koji Akai コンピュ−タのセキュリティ対策システム
KR100948386B1 (ko) * 2009-08-10 2010-03-22 주식회사 시큐브 컴퓨터 시스템의 원본 보존 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177327A1 (ko) * 2021-02-19 2022-08-25 김덕우 가상컴퓨터 간 전환 가능한 구조를 갖는 컴퓨터 및 전환 방법

Also Published As

Publication number Publication date
US11386200B2 (en) 2022-07-12
CN110622162A (zh) 2019-12-27
EP3623978A1 (en) 2020-03-18
CN110622162B (zh) 2024-01-26
KR20180123815A (ko) 2018-11-20
US20210141894A1 (en) 2021-05-13
JP2020520037A (ja) 2020-07-02
EP3623978A4 (en) 2020-12-16
FI3623978T3 (fi) 2024-04-10
EP3623978B1 (en) 2024-03-20
WO2018208032A1 (ko) 2018-11-15

Similar Documents

Publication Publication Date Title
JP5427182B2 (ja) 分離型の読み取り専用領域及び読み書き領域を有するコンピュータ記憶デバイス、リムーバブル媒体コンポーネント、システム管理インタフェース、及び、ネットワークインタフェース
CN1795439B (zh) 计算机操作系统的安全系统与方法
KR101997254B1 (ko) 고립된 사용자컴퓨팅부를 갖는 컴퓨터
US11403180B2 (en) Auxiliary storage device having independent recovery area, and device applied with same
US10706153B2 (en) Preventing malicious cryptographic erasure of storage devices
US7665137B1 (en) System, method and computer program product for anti-virus scanning in a storage subsystem
US20070266444A1 (en) Method and System for Securing Data Stored in a Storage Device
EP2350905A1 (en) Data leak protection application
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
WO2011076464A1 (en) Method and system for protecting an operating system against unauthorized modification
EP3079057B1 (en) Method and device for realizing virtual machine introspection
JP2017162469A (ja) メモリアクセスのハイパーバイザベースのインターセプション
US20110047305A1 (en) Apparatus and method for securing data of usb devices
KR100704721B1 (ko) 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라 보호되는 컴퓨터 보호 시스템과 실행가능한 파일이 보호되는 시스템
JP4564477B2 (ja) シンクライアント、シンクライアントシステム、及びプログラム
JP4403221B2 (ja) デバイス制御装置、コンピュータ、及び、デバイス制御方法
US20240086288A1 (en) Privacy and security assurance during operating system crash events
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
KR101098382B1 (ko) 망 이중화 시스템 및 그 제공방법
WO2006059335A1 (en) Method and system for securing data stored in a storage device
Isozaki et al. Keeping High Availability of Connected End-point Devices in Smart Grid
Iftode et al. Defending Network-Centric Systems using Backdoors
KR20110096516A (ko) 망 이중화 시스템 및 그 제공방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant