KR102153048B1 - Smram 변조 탐지 방법 및 장치 - Google Patents

Smram 변조 탐지 방법 및 장치 Download PDF

Info

Publication number
KR102153048B1
KR102153048B1 KR1020180145790A KR20180145790A KR102153048B1 KR 102153048 B1 KR102153048 B1 KR 102153048B1 KR 1020180145790 A KR1020180145790 A KR 1020180145790A KR 20180145790 A KR20180145790 A KR 20180145790A KR 102153048 B1 KR102153048 B1 KR 102153048B1
Authority
KR
South Korea
Prior art keywords
value
smbase
trust
smram
code position
Prior art date
Application number
KR1020180145790A
Other languages
English (en)
Other versions
KR20200060157A (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 KR1020180145790A priority Critical patent/KR102153048B1/ko
Publication of KR20200060157A publication Critical patent/KR20200060157A/ko
Application granted granted Critical
Publication of KR102153048B1 publication Critical patent/KR102153048B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

SMRAM 변조 탐지 방법을 개시한다. 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법은 중앙처리장치가 SMI(system management interrupt)의 발생에 따라 SMM(system management mode)에 진입하는 단계; 상기 중앙처리장치가 내부의 레지스터로부터 SMRAM(SMM RAM)의 시작 위치에 대응되는 SMBASE값과 상기 SMI에 대응되는 핸들러(handler) 코드의 위치에 대응되는 코드위치값을 획득하는 단계; 상기 중앙처리장치가 TD(trusted device)로부터 미리 저장된 신뢰SMBASE값 및 신뢰코드위치값을 수신하는 단계; 및 상기 중앙처리장치가 상기 SMBASE값, 상기 코드위치값, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMRAM의 변조를 탐지하는 단계를 포함한다.

Description

SMRAM 변조 탐지 방법 및 장치{METHOD AND APPARATUS FOR DETECTION ALTERATION OF SMRAM}
본 발명은 중앙처리장치가 SMM(system management mode)에 진입할 때, SMRAM의 변조 여부를 판단하는 방법 및 장치에 관한 것이다.
중앙처리장치의 모드 중 가장 높은 권한을 가지는 system mangement mode(이하, SMM)는 하드웨어 제어를 위해 반드시 필요한 x86/64의 실행모드로, Unified Extensible Firmware Interface(이하, UEFI)를 통해 부팅 과정을 처리하는 모든 x86/64 플랫폼에 적용될 수 있다.
한편, 중앙처리장치는 부팅 중 실행될 수 있는 루트킷으로부터 플랫폼을 보호하기 위해 BIOS_CNTL, SMRAMC, SMRR, TSEGMB 레지스터들을 사용한다. 이는, BIOS_CNTL, SMRAMC, TSEGMB 레지스터의 경우, 해당 레지스터에 대한 권한 없는 쓰기 명령에 대해 잠금이 설정되어 있기 때문이다. 또한, 이러한 잠금은 플랫폼 리셋 (리부팅)을 제외하고는 해제할 수 있는 방법이 없다.
하지만, (Wojtczuk, Rafal, and Corey Kallenberg. "Attacks on UEFI security." Proc. 15th Annu. CanSecWest Conf.(CanSecWest). 2015.)에서 발표한 기법을 통해 위 레지스터에 설정되어 있는 잠금을 모두 해제할 수 있는 방법이 발견되었다. 또한, 잠금을 해제한 후 TSEGMB의 값을 수정할 경우 SMRR 레지스터를 통한 보안 역시 해제된다. 따라서, 단일 기법을 통해 UEFI 및 SMM에 적용되어 있는 보안 메커니즘들을 해제한 공격자는 플랫폼 내에서 가장 높은 권한을 가지게 되며, 루트킷은 SMM외에는 접근할 수 없는 SMM RAM(이하, SMRAM)영역에 설치되었으므로 기존의 안티바이러스 소프트웨어로는 탐지할 수 없다. 또한, 이렇게 설치된 루트킷은 운영체제를 재설치해도 삭제되지 않고 남아있기 때문에 매우 강력하다.
그로 인해, 루트킷의 타겟은 주로 SMRAM이 되고 있다. 즉, 루트킷은 SMRAM에 대한 권한을 확보하기 위해 SMRAM의 시작주소가 저장되어 있는 중앙처리장치의 SMBASE 레지스터 값과 SMI가 발생했을 때 이를 처리하는 SMRAM 영역의 SMI 핸들러 코드를 조작하려 한다.
따라서, 루트킷에 의한 SMBASE 레지스터 값과 SMI 핸들러 코드의 조작 여부를 검출함으로써, SMRAM의 변조를 탐지하고 복구할 수 있는 방법 및 장치의 필요성이 대두되고 있다.
본 발명은 SMBASE 레지스터 값과 SMI 핸들러 코드의 조작 여부를 검출함으로써, SMRAM의 변조를 탐지하고 복구할 수 있는 방법 및 장치를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법은 중앙처리장치가 SMI(system management interrupt)의 발생에 따라 SMM(system management mode)에 진입하는 단계; 상기 중앙처리장치가 내부의 레지스터로부터 SMRAM(SMM RAM)의 시작 위치에 대응되는 SMBASE값과 상기 SMI에 대응되는 핸들러(handler) 코드의 위치에 대응되는 코드위치값을 획득하는 단계; 상기 중앙처리장치가 TD(trusted device)로부터 미리 저장된 신뢰SMBASE값 및 신뢰코드위치값을 수신하는 단계; 및 상기 중앙처리장치가 상기 SMBASE값, 상기 코드위치값, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMRAM의 변조를 탐지하는 단계를 포함한다.
바람직하게는, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값 각각이 체크섬값일 때, 상기 SMRAM의 변조를 탐지하는 단계는 상기 SMBASE값의 체크섬값과 상기 신뢰SMBASE값을 비교한 제1 비교 결과와 상기 코드위치값의 체크섬값과 상기 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 있을 때, 변조를 탐지할 수 있다.
바람직하게는, 상기 TD에 저장된 상기 신뢰SMBASE값 및 상기 신뢰코드위치값은 변조가 불가능할 수 있다.
바람직하게는, 상기 중앙처리장치가 상기 SMRAM의 변조가 탐지되면, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMBASE값 및 상기 코드위치값에 대응되는 상기 내부의 레지스터의 값을 복구하는 단계를 더 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 장치는 내부에 SMRAM으로 할당된 영역을 포함하는 RAM; 신뢰SMBASE값 및 신뢰코드위치값이 저장되어 있는 TD(trusted device); 및 SMI의 발생에 따라 SMM에 진입하고, 내부의 레지스터로부터 상기 RAM에서의 SMRAM의 시작 위치에 대응되는 SMBASE값과 상기 SMI에 대응되는 핸들러 코드의 위치에 대응되는 코드위치값을 획득하고, 상기 SMBASE값, 상기 코드위치값, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMRAM의 변조를 탐지하는 중앙처리장치를 포함한다.
바람직하게는, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값 각각이 체크섬값일 때, 상기 중앙처리장치는 상기 SMBASE값의 체크섬값과 상기 신뢰SMBASE값을 비교한 제1 비교 결과와 상기 코드위치값의 체크섬값과 상기 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 있을 때, 상기 SMRAM의 변조를 탐지할 수 있다.
바람직하게는, 상기 TD에 저장된 상기 신뢰SMBASE값 및 상기 신뢰코드위치값은 변조가 불가능할 수 있다.
바람직하게는, 상기 중앙처리장치는 상기 SMRAM의 변조가 탐지되면, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMBASE값 및 상기 코드위치값에 대응되는 상기 내부의 레지스터의 값을 복구할 수 있다.
본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법 및 장치는 SMBASE 레지스터 값과 SMI 핸들러 코드의 조작 여부를 검출함으로써, SMRAM의 변조를 탐지하고 복구할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 장치을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 방법을 설명하기 위한 흐름도이다.
단계 S110에서는, 중앙처리장치가 SMI(system management interrupt)의 발생에 따라 SMM(system management mode)에 진입한다.
여기서, SMM은 중앙처리장치의 운영 모드 중 하나로서, 전원 관리, 시스템 HW 제어 및 시스템 에러 처리 등과 같은 시스템 전반에 영향을 미치는 기능을 처리하기 위한 모드일 수 있다. 예를 들어, SMM은 x86 계열의 중앙처리장치(CPU)의 운영 모드 중 하나일 수 있다.
그러나, 본 발명은 x86 계열의 중앙처리장치에만 한정되지 않으며, 다른 종류의 중앙처리장치에도 적용될 수 있음은 물론이다. 예컨대, 다른 종류의 중앙처리장치에서 SMI 및 SMM 등과 같은 용어가 사용되지 않지만, 동일 또는 유사한 기능과 목적을 갖는 중앙처리장치의 동작 모드(operating mode) 및 그 동작 모드로 진입하기 위한 인터럽트가 존재한다면, 본 발명의 권리범위에 포함될 수 있다.
한편, 중앙처리장치는 SMI의 발생에 의해서 SMM에 진입할 수 있다. 이때, HW 또는 SW 신호 등과 같이 미리 결정된 조건에 따라 SMI가 발생할 수 있다.
단계 S120에서는, 중앙처리장치가 내부의 레지스터로부터 SMRAM(SMM RAM)의 시작 위치에 대응되는 SMBASE값과 SMI에 대응되는 핸들러(handler) 코드의 위치에 대응되는 코드위치값을 획득한다.
즉, 중앙처리장치는 SMI의 발생에 따라 SMM에 진입한 이후에, SMRAM의 소정의 위치에 저장되어 있는 SMI 핸들러 코드를 수행한다. 이를 위하여, 중앙처리장치는 RAM(random access memory) 내부에서 SMRAM의 시작 위치에 대응되는 SMBASE값과 그 SMBASE값을 기준으로 하는 SMI 핸들러 코드의 코드위치값을 취득할 수 있다.
보다 구체적으로, 중앙처리장치는 내부에 마련된 레지스터로부터 SMBASE값을 읽을 수 있다. 또한, 중앙처리장치는 SMBASE값에 소정의 오프셋값을 더하여 코드위치값을 취득할 수 있다. 예컨대, x86 중앙처리장치에서 SMBASE값은 0x30000이고, 코드위치값은 SMBASE값 + 0x8000일 수 있다.
단계 S130에서는, 중앙처리장치가 TD(trusted device)로부터 미리 저장된 신뢰SMBASE값 및 신뢰코드위치값을 수신한다.
이때, TD는 데이터 저장을 위한 저장공간을 포함하고 있으며, 중앙처리장치 및 시스템 메모리 영역과는 분리되어 존재할 수 있다. 또한, TD에는 미리 신뢰SMBASE값 및 신뢰코드위치값이 저장되어 있으며, 중앙처리장치는 TD로부터 그 신뢰SMBASE값 및 신뢰코드위치값을 수신할 수 있다.
또 다른 실시예에서는, TD에 저장된 신뢰SMBASE값 및 신뢰코드위치값은 변조가 불가능할 수 있다.
이때, TD는 독립된 저장공간을 보유하고 있으며, 그 저장공간에 저장되어 있는 데이터의 변조 또는 조작이 일반적인 방법으로는 가능하지 않은 장치일 수 있다. 예컨대, 중앙처리장치는 일반적인 상황에서는 TD로부터 데이터를 읽기만 할 수 있으며, 쓸 수 없는 장치일 수 있다.
마지막으로 단계 S140에서는, 중앙처리장치가 SMBASE값, 코드위치값, 신뢰SMBASE값 및 신뢰코드위치값에 기초하여, SMRAM의 변조를 탐지한다.
즉, 중앙처리장치는 SMBASE값과 신뢰SMBASE값이 일치하는지 여부와 코드위치값과 신뢰코드위치값이 일치하는지 여부에 따라, SMRAM의 변조 여부를 탐지할 수 있다.
다른 실시예에서는, TD에 저장된 신뢰SMBASE값 및 신뢰코드위치값 각각이 체크섬값일 때, 중앙처리장치가 SMBASE값의 체크섬값과 신뢰SMBASE값을 비교한 제1 비교 결과와 코드위치값의 체크섬값과 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 존재하는지 여부에 따라 변조를 탐지할 수 있다.
이때, TD에는 미리 신뢰SMBASE값 및 신뢰코드위치값이 체크섬의 형태로 저장되어 있을 수 있다. 이때, 체크섬은 오류정정을 통해 데이터의 무결성을 보장하기 위한 방법으로, 중복 검사의 한 형태로 볼 수 있다.
또한, 중앙처리장치는 SMBASE값의 체크섬값과 신뢰SMBASE값을 비교하여 제1 비교 결과를 생성하고, 코드위치값의 체크섬값과 신뢰코드위치값을 비교하여 제2 비교 결과를 생성할 수 있다.
이때, 중앙처리장치는 그 둘 중에 하나라도 차이가 있는 경우에, SMRAM의 변조를 탐지할 수 있다. 즉, 중앙처리장치는 루트킷(rootkit)에 의해 SMBASE값 또는 SMI 핸들러 코드의 시작 위치가 변조된 것을 탐지할 수 있다.
또 다른 실시예에서는, 중앙처리장치가 SMRAM의 변조가 탐지되면, 신뢰SMBASE값 및 신뢰코드위치값에 기초하여, SMBASE값 및 코드위치값에 대응되는 내부의 레지스터값을 복구할 수 있다.
즉, 중앙처리장치는 SMBASE값이 신뢰SMBASE값과 다른 경우에, SMBASE값이 저장되어 있는 내부의 레지스터값을 신뢰SMBASE값을 이용하여 복구할 수 있다. 예컨대, 중앙처리장치는 신뢰SMBASE값이 체크섬인 경우에, SMBASE값의 체크섬값이 신뢰SMBASE값과 다르면 SMBASE값이 변조된 것으로 간주하고, 신뢰SMBASE값을 이용하여 SMBASE값이 저장된 레지스터 값을 복구할 수 있다.
마찬가지로, 중앙처리장치는 코드위치값이 신뢰코드위치값과 다른 경우에, 코드위치값이 저장되어 있는 내부의 레지스터값을 신뢰코드위치값을 이용하여 복구할 수 있다. 예컨대, 중앙처리장치는 신뢰코드위치값이 체크섬인 경우에, 코드위치값의 체크섬값이 신뢰코드위치값과 다르면 코드위치값이 변조된 것으로 간주하고, 신뢰코드위치값을 이용하여 코드위치값이 저장된 레지스터의 값 복구할 수 있다.
예컨대, 도 3을 참조하면, (310)의 과정에서 루트킷에 의하여 SMBASE값이 저장되는 레지스터 값이 변조(X에서 X')될 수 있다. 그 이후, (320)의 과정에서 루트킷에 의해 SMI가 발생하여 중앙처리장치가 SMM에 진입할 수 있다. 또한, 그때 코드위치값이 변조(Y에서 Y'로)될 수 있다. 이때, 중앙처리장치는, (330)의 과정에서 신뢰SMBASE값을 이용하여 SMBASE값을 복구(X'에서 X로)하고, 신뢰코드위치값을 이용하여 코드위치값을 복구(Y'에서 Y로)할 수 있다.
도 2는 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 장치을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 SMRAM 변조 탐지 장치(200)는 RAM(210), TD(220), 중앙처리장치(230)를 포함할 수 있다.
RAM(210)은 내부에 SMRAM으로 할당된 영역을 포함한다.
TD(220)는 신뢰SMBASE값 및 신뢰코드위치값이 저장되어 있다.
중앙처리장치(230)는 SMI의 발생에 따라 SMM에 진입하고, 내부의 레지스터로부터 RAM에서의 SMRAM의 시작 위치에 대응되는 SMBASE값과 SMI에 대응되는 핸들러 코드의 위치에 대응되는 코드위치값을 획득하고, SMBASE값, 코드위치값, 신뢰SMBASE값 및 신뢰코드위치값에 기초하여, SMRAM의 변조를 탐지한다.
다른 실시예에서는, 신뢰SMBASE값 및 신뢰코드위치값 각각이 체크섬값일 때, 중앙처리장치는 SMBASE값의 체크섬값과 신뢰SMBASE값을 비교한 제1 비교 결과와 코드위치값의 체크섬값과 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 있을 때, SMRAM의 변조를 탐지할 수 있다.
또 다른 실시예에서는, TD에 저장된 신뢰SMBASE값 및 신뢰코드위치값은 변조가 불가능할 수 있다.
또 다른 실시예에서는, 중앙처리장치(230)는 SMRAM의 변조가 탐지되면, 신뢰SMBASE값 및 신뢰코드위치값에 기초하여, SMBASE값 및 코드위치값에 대응되는 내부의 레지스터의 값을 복구할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (8)

  1. 중앙처리장치가 SMI(system management interrupt)의 발생에 따라 SMM(system management mode)에 진입하는 단계;
    상기 중앙처리장치가 내부의 레지스터로부터 SMRAM(SMM RAM)의 시작 위치에 대응되는 SMBASE값과 상기 SMI에 대응되는 핸들러(handler) 코드의 위치에 대응되는 코드위치값을 획득하는 단계;
    상기 중앙처리장치가 TD(trusted device)로부터 미리 저장된 신뢰SMBASE값 및 신뢰코드위치값을 수신하는 단계;
    상기 중앙처리장치가 상기 SMBASE값, 상기 코드위치값, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMRAM의 변조를 탐지하는 단계; 및
    상기 중앙처리장치가 상기 SMRAM의 변조가 탐지되면, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMBASE값 및 상기 코드위치값에 대응되는 상기 내부의 레지스터의 값을 복구하는 단계를 포함하는 것을 특징으로 하는 SMRAM 변조 탐지 방법.
  2. 제1항에 있어서,
    상기 신뢰SMBASE값 및 상기 신뢰코드위치값 각각이 체크섬값일 때,
    상기 SMRAM의 변조를 탐지하는 단계는
    상기 SMBASE값의 체크섬값과 상기 신뢰SMBASE값을 비교한 제1 비교 결과와 상기 코드위치값의 체크섬값과 상기 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 있을 때, 변조를 탐지하는 것을 특징으로 하는 SMRAM 변조 탐지 방법.
  3. 제1항에 있어서,
    상기 TD에 저장된 상기 신뢰SMBASE값 및 상기 신뢰코드위치값은 변조가 불가능한 것을 특징으로 하는 SMRAM 변조 탐지 방법.
  4. 삭제
  5. 내부에 SMRAM으로 할당된 영역을 포함하는 RAM;
    신뢰SMBASE값 및 신뢰코드위치값이 저장되어 있는 TD(trusted device); 및
    SMI의 발생에 따라 SMM에 진입하고, 내부의 레지스터로부터 상기 RAM에서의 SMRAM의 시작 위치에 대응되는 SMBASE값과 상기 SMI에 대응되는 핸들러 코드의 위치에 대응되는 코드위치값을 획득하고, 상기 SMBASE값, 상기 코드위치값, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMRAM의 변조를 탐지하며, 상기 SMRAM의 변조가 탐지되면, 상기 신뢰SMBASE값 및 상기 신뢰코드위치값에 기초하여, 상기 SMBASE값 및 상기 코드위치값에 대응되는 상기 내부의 레지스터의 값을 복구하는 중앙처리장치
    를 포함하는 것을 특징으로 하는 SMRAM 변조 탐지 장치.
  6. 제5항에 있어서,
    상기 신뢰SMBASE값 및 상기 신뢰코드위치값 각각이 체크섬값일 때,
    상기 중앙처리장치는
    상기 SMBASE값의 체크섬값과 상기 신뢰SMBASE값을 비교한 제1 비교 결과와 상기 코드위치값의 체크섬값과 상기 신뢰코드위치값을 비교한 제2 비교 결과 중 적어도 하나에 차이가 있을 때, 상기 SMRAM의 변조를 탐지하는 것을 특징으로 하는 SMRAM 변조 탐지 장치.
  7. 제5항에 있어서,
    상기 TD에 저장된 상기 신뢰SMBASE값 및 상기 신뢰코드위치값은 변조가 불가능한 것을 특징으로 하는 SMRAM 변조 탐지 장치.
  8. 삭제
KR1020180145790A 2018-11-22 2018-11-22 Smram 변조 탐지 방법 및 장치 KR102153048B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180145790A KR102153048B1 (ko) 2018-11-22 2018-11-22 Smram 변조 탐지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180145790A KR102153048B1 (ko) 2018-11-22 2018-11-22 Smram 변조 탐지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200060157A KR20200060157A (ko) 2020-05-29
KR102153048B1 true KR102153048B1 (ko) 2020-09-07

Family

ID=70911523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180145790A KR102153048B1 (ko) 2018-11-22 2018-11-22 Smram 변조 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102153048B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Loic Duflot et al, "System Management Mode Design and Security Issues", SGDSN/ANSSI - IT Defense 2010(2010.02.)

Also Published As

Publication number Publication date
KR20200060157A (ko) 2020-05-29

Similar Documents

Publication Publication Date Title
US10740468B2 (en) Multiple roots of trust to verify integrity
US8028172B2 (en) Systems and methods for updating a secure boot process on a computer with a hardware security module
EP3125149B1 (en) Systems and methods for securely booting a computer with a trusted processing module
US9251347B2 (en) Providing an immutable antivirus payload for internet ready compute nodes
JP4758479B2 (ja) 安全チップによるウイルス防止方法
US7490250B2 (en) Method and system for detecting a tamper event in a trusted computing environment
US7506380B2 (en) Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US10803176B2 (en) Bios security
JP2009521760A5 (ko)
US8838952B2 (en) Information processing apparatus with secure boot capability capable of verification of configuration change
KR101064164B1 (ko) 리눅스 커널 기반 스마트 플랫폼 내에서의 커널 무결성 검사 및 변조된 커널 데이터 복구 방법
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
RU2583714C2 (ru) Агент безопасности, функционирующий на уровне встроенного программного обеспечения, с поддержкой безопасности уровня операционной системы
CN113448682B (zh) 一种虚拟机监控器加载方法、装置及电子设备
KR102153048B1 (ko) Smram 변조 탐지 방법 및 장치
WO2020007249A1 (zh) 一种操作系统安全主动防御方法及操作系统
US11960372B2 (en) Verified callback chain for bios security in an information handling system
EP3940565A1 (en) System management states
CN116910768A (zh) 一种防御攻击方法、系统、装置及介质
CN114556341A (zh) 完整性监视器
UA76687U (uk) Система контролю завантаження операційної системи

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant