KR20010049886A - 시스템 바이오스를 플래쉬하는 항바이러스 및 하드웨어독립 방법 - Google Patents

시스템 바이오스를 플래쉬하는 항바이러스 및 하드웨어독립 방법 Download PDF

Info

Publication number
KR20010049886A
KR20010049886A KR1020000043033A KR20000043033A KR20010049886A KR 20010049886 A KR20010049886 A KR 20010049886A KR 1020000043033 A KR1020000043033 A KR 1020000043033A KR 20000043033 A KR20000043033 A KR 20000043033A KR 20010049886 A KR20010049886 A KR 20010049886A
Authority
KR
South Korea
Prior art keywords
bios
image
bios image
flash
rom
Prior art date
Application number
KR1020000043033A
Other languages
English (en)
Other versions
KR100648533B1 (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 이레네 코스투라키스
Publication of KR20010049886A publication Critical patent/KR20010049886A/ko
Application granted granted Critical
Publication of KR100648533B1 publication Critical patent/KR100648533B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials

Abstract

본 발명은 개인용 컴퓨터의 롬 바이오스가 재프로그램 되기 전에 바이오스 이미지가 그 바이오스를 재프로그램 하고 있는 컴퓨터와 그 바이오스 이미지가 호환 가능함을 보증하는 시스템 및 방법을 제공한다. 이것은 롬 바이오스의 재프로그램을 수행하여 사용자에 대해 접근 불가능한 컴퓨터 메모리의 일부에 기억되어 있는 코드의 비밀 부분을 갖는 유틸리티를 요구함으로써 행해진다. 코드의 비밀 부분은 컴퓨터 내에 프로그램 되어야 할 바이오스 이미지가 컴퓨터와 호환 가능함을 보증하는데 이용된다.

Description

시스템 바이오스를 플래쉬 하는 항바이러스 및 하드웨어 독립 방법{VIRUS RESISTANT AND HARDWARE INDEPENDENT METHOD OF FLASHING SYSTEM BIOS}
본 발명은 일반적으로 범용 컴퓨터의 바이오스에 관한 것으로서, 특히 바이오스를 재프로그램 할 수 있는 기술 및 부주의하게 또는 권한 없이 바이오스를 재프로그램 하는 것에 대해 저항하는 기술에 관한 것이다.
일반적으로 바이오스[BIOS(Basic Input/Output System): 기본 입출력 시스템]는 컴퓨터의 특정 메모리 영역에 기억되어 있는 소프트웨어나 코드의 단편이다. 전원을 켜면, 컴퓨터는 바이오스를 이용하여 자신을 시동시킨다. 바이오스는 그 후에도 때때로 하드웨어와 프로그램 간의 데이터 트랜잭션을 관리하는 데 도움을 주기 위해 사용되기도 한다.
표준형의 개인용 컴퓨터와 같이 동작하지 않는 각종 전자 장치는 그의 회로에 바이오스를 탑재하기 시작했다. 예컨대, 모뎀에는 바이오스를 이용하는 80C186 마이크로프로세서를 포함할 수 있다. 더욱이, 마이크로제어기나 마이크로프로세서를 기반으로 한 컴퓨팅 회로가 구비되어 있는 CD 기록기 및 테이프 기록기, 레이저 프린터 및 잉크젯 프린터는 전원을 켤 때 그 장치를 작동하여 실행시키기 위해 시동시에 사용하는 각종 바이오스가 탑재되기 시작했다.
어떤 PC (개인용 컴퓨터) 운용 체제(예컨대, 리눅스, NT)는 시스템이 실행되고 있는 동안에도 바이오스가 역할을 시행해 왔지만, 그들 모두는 PC가 시동되거나 PC의 전원이 켜질 때 바이오스를 필요로 하고 또 그에 의존한다. PC 칩세트[PC 주(主)기판(motherboard) 상의 두 서너 개의 칩 내에 장착된 대다수의 접속 장치 및 제어 회로]는 시동시 바이오스에 의해 설정되는 다수의 설정 가능한 옵션, 예컨대 메모리 및 버스 타이밍, 포트 설정 등을 갖는다. 그러나, 그들 옵션이 시동시에 바이오스에 의해 정확하게 설정되지 않으면 컴퓨터는 작동할 수 없게 된다.
예전에는 바이오스가 PC 주기판 상의 롬 칩 안에 프로그램 되어 있었다. 바이오스 롬 칩이 재프로그램 될 수는 없었지만, 그 대신에 새롭게 프로그램 된 바이오스 롬 칩으로 대체되어야 했다.
롬 칩이 프로그램 가능해짐에 따라, EEPROM 및 플래쉬 롬이 바이오스 칩용으로 사용되기 시작했다. 특히, 플래쉬 롬은 회로 기판에서 제거되지 않아도 프로그램 될 수 있다. 이것은 개인용 컴퓨터 산업에 유용하다. 그 이유는 플래쉬 롬 바이오스 칩('플래쉬 바이오스')은 개인용 컴퓨터의 샤시를 열지 않아도 새로운 데이터로 재프로그램('플래쉬') 되고 업그레이드 될 수 있기 때문이다.
현재는 바이오스 코드를 플래쉬 할 수 있게 하는 다양한 컴퓨터 시스템이 존재한다. 현존하는 컴퓨터 시스템이 시스템 바이오스를 플래쉬 하기 전에, 플래쉬 (재프로그램) 애플리케이션은 일반적으로 플래쉬 바이오스 내에 프로그램/플래쉬 되어야 할 바이오스 이미지가 정확한 크기이거나 그 컴퓨터에 대한 정확한 파일명을 갖는 것에 대해서 확증해 주기는 하지만, 현재의 시스템에 있어서 바이오스 이미지가 적재될 컴퓨터가 그 바이오스 이미지와 호환 가능한 지를 보증하기 위해 그 바이오스 이미지를 능동적으로 검사하지는 못한다. 더욱이, 현재에 있어서 윈도우 95 또는 윈도우 98에서 동작하고 있는 동안과 같은 컴퓨터 운용 체제의 '프로그래밍 보호' 모드에서는 플래쉬 롬 바이오스를 프로그램 하지 못한다. 따라서, 롬 바이오스 플래쉬는 MS-DOS와 같은 '리얼' 모드 운용 체제에서 수행되어야 한다. 이 바이오스 플래쉬 기술의 단점은 롬 바이오스를 플래쉬 하는데 필요한 확증 코드가 해커에 의해 발견되고 어셈블 해제될 수 있는 실행 파일로서 존재한다는 점이다. 해커는 그 어셈블 해제된 코드로부터 충분한 정보를 용이하게 인식할 수 있으므로, 바이오스 이미지로서 받아 들여져 컴퓨터를 사용 불가능하게 만들 플래쉬 롬 바이오스 이미지를 생성할 수 있다.
컴퓨터 사용자가 자신의 컴퓨터 바이오스를 플래쉬 할 수 있는 능력과 관련하여 다른 몇 가지 심각한 문제가 있다. 예컨대, 사용자가 그의 플래쉬 바이오스 내의 정보를 업그레이드 하기를 원하다고 가정하자. 그 사용자는 컴퓨터 제조업체, 월드와이드 웹 또는 다른 정보원으로부터 새로운 바이오스 프로그램을 얻고자 할 것이다. 이어서, 플래쉬 바이오스를 업그레이드 하기 위해, 그 사용자는 그의 PC 상에서 '버너(burner)' 프로그램을 개시할 것이다. 즉, 그 버너 프로그램은 PC의 주기판에 실장된 회로를 이용하여(그것이 플래쉬 업그레이딩을 지원한다면) 플래쉬 바이오스 칩 내에 존재하는 데이터/정보를 삭제하고, 이어서 그 칩 안에 새로운 바이오스 데이터/정보를 프로그램 또는 적재(로드)할 것이다. 이 과정은 부적절한 바이오스 프로그램을 획득하고 나서 그것을 플래쉬 바이오스에 적재하여 사용하는 경우를 제외하고는 모두 올바른 것이다. 만일 부적절한 바이오스 프로그램이 바이오스 칩 내에 적재되었다면, 사용자의 컴퓨터는 작동할 수 없게 될 것이다.
전술한 바와 같이, 다른 문제는 해커가 버너 소프트웨어를 개시하여 의심의 여지가 없는 사용자 컴퓨터를 플래쉬 할 수 있는 컴퓨터 바이러스를 기록함으로써 컴퓨터를 작동할 수 없게 만들 수 있다는 점이다.
따라서, 바이오스 프로그램이 보존되어 있는 메모리 영역에 호환성 없는 바이오스 프로그램을 남겨 두거나 다른 데이터를 남겨 두거나 또는 데이터를 전혀 남겨 두지 않도록 컴퓨터 시스템의 바이오스를 플래쉬 시키는 것에 저항하는 컴퓨터 시스템이 필요하다. 더욱이, 시스템 호환형의 바이오스 코드만이 플래쉬 바이오스 칩 내에 플래쉬 될 수 있도록 바이오스를 플래쉬 하기 위한 항(抗)바이러스 및 하드웨어 독립 방법을 갖는 컴퓨터 시스템이 필요하다.
본 발명의 일 실시예에 있어서, 컴퓨터 시스템은 바이오스 이미지가 자기 매체 상에 기억될 수 있는 하드 디스크 드라이브를 포함하고 있다. 사용자가 롬 바이오스부를 그 바이오스 이미지로 재프로그램 하기를 원하는 경우에는 유틸리티 프로그램이 실행된다. 그 유틸리티 프로그램은 소프트웨어 시스템 관리 인터럽트를 발생하여 핸들러 프로그램을 개시한다. 그 핸들러 프로그램은 사용자가 접근할 수 없는 램의 시스템 관리 메모리 부분에 기억된다. 그 핸들러 프로그램은 특정 코드에 대한 바이오스 이미지를 검사하여 그 바이오스 이미지가 컴퓨터 운용 체제에 대해 인증된 바이오스 이미지인 지의 여부를 결정한다. 만일 핸들러 프로그램이 그 바이오스 이미지가 인증되어 있다고 결정하면, 롬 바이오스부를 그 인증된 바이오스 이미지로 재프로그램 한다.
본 발명의 다양한 목적 및 이점은 첨부 도면과 관련하여 양호하고 예시적인 실시예에 관한 후술의 설명으로부터 분명해지고 보다 쉽게 이해될 것이다.
도 1은 본 발명의 예시적인 실시예를 내장할 수 있는 예시적인 컴퓨터 시스템을 묘사하는 도면.
도 2는 본 발명에 따른 롬 바이오스를 플래쉬 하기 위한 예시적인 방법에 관한 흐름도.
도 3은 본 발명에 따른 하드웨어와 소프트웨어의 관계에 관한 예시적인 다이어그램.
〈도면에 사용된 부호의 설명〉
100 : 개인용 컴퓨터(PC)
102 : 플래쉬 롬 바이오스 메모리
104 : 중앙 처리 장치(CPU)
106 : 램 메모리
108 : 디스크 드라이브
110 : 입출력 회로(I/O 포트)
112 : 모뎀 회로
300 : 플래쉬 유틸리티
304 : 운용 체제
306 : 소프트웨어 핸들러
308 : 램 플래쉬 이미지
310 : 플래쉬 이미지
312 : 램 메모리
314 : 롬 바이오스부
316 : 하드디스크 또는 플로피 드라이브
318 : ACPI 칩셋
320 : CPU
이제 본 발명의 예시적인 실시예에 관해 설명한다. 본 발명은 여러 가지의 상이한 형태로 구현될 수 있고 본 명세서에서 설명된 실시예에 한정하고자 하는 의도는 아니며, 오히려 이들 실시예는 본 공개 내용이 철저하고 완전하며 당업자에게 본 발명의 중요한 양상을 충분히 전달되도록 제공된다.
우선, 도 1을 참조하면, 범용 컴퓨터 또는 개인용 컴퓨터(PC: 100)의 선택된 부분이 도시되어 있으며, 이 부분은 본 발명의 예시적인 실시예를 설명하고 있다. PC(100)를 시동할 때, 플래쉬 롬 바이오스 메모리(102)에 기억되어 있는 바이오스 프로그램은 중앙 처리 장치(CPU: 104)에 의해 해석된다. 바이오스는 컴퓨터를 켤 때 PC(100)가 자신을 시동시키는데 이용하는 코드의 단편이다. 어떤 경우에 있어서, 바이오스는 하드웨어와 소프트웨어 간의 데이터 트랜잭션을 관리하는데 더 이용된다. 바이오스에 의해 '셋업' 되는 하드웨어에는 램 메모리(106), 하드 디스크 드라이브 또는 플로피 디스크 드라이브(108), 입출력 회로(110) 및 모뎀 회로(112)를 포함할 수 있다.
사용자가 플래쉬 바이오스(102)를 업데이트 하거나 재프로그램 하기를 원하는 시기가 있을 수 있다. 더욱이, 악의적인 해커는 플래쉬 바이오스(102)를 새로운 무효의 또는 오염된 바이오스 프로그램 또는 바이오스 이미지로 플래쉬 하도록 유도되는 '바이러스' 프로그램을 기록하려고 할 수 있다. 두 가지 경우 모두에 있어서, 본 발명의 예시적인 실시예는 시스템 바이오스를 '인증되지 않은' 또는 호환성 없는 바이오스 이미지로 플래쉬 하는 것으로부터 사용자 또는 바이러스 프로그램을 보호하는데 도움이 될 것이다. 바이오스를 무효의 또는 인증되지 않은 또는 호환성 없는 바이오스 프로그램으로 플래쉬 되지 않게 함으로써, 컴퓨터 수리 비용이 회피되고, 컴퓨터(100)는 사용자에게 보다 신뢰성 있는 시스템으로서 작동한다.
본 발명의 일 실시예에 있어서, 롬 바이오스를 플래쉬 하는데 이용되는 모든 하드웨어 종속 코드는 접근 불가능한 SMM(시스템 관리 메모리: System Management Memory) 세그먼트 내에 보존되어 있다. 게다가, 그 하드웨어 종속 코드를 메모리의 SMM 세그먼트에 복사하기 전에는, 그 코드는 항(抗)어셈블해제 압축 포맷으로 존재할 뿐이다. 더욱이, 예시적인 컴퓨터 시스템은 SMI(시스템 관리 인터럽트: System Management Interrupt) 모드에서만 바이오스를 플래쉬 하고, 따라서 컴퓨터 시스템이 리얼 모드(예컨대, MS-DOS 모드), 가상 인텔 8086 모드 또는 보호 모드(예컨대, 윈도우 95, 윈도우 98, 윈도즈 NT가 작동하고 있는 동안 MS-DOS가 EMM386.exe와 같은 가상 메모리 관리자를 갖는 것)로 작동하고 있을 때 롬 바이오스를 재프로그램 또는 플래쉬 하는 것이 가능하다.
양호하게는, 본 발명은 해커나 사용자가 현재의 플래쉬 롬 바이오스를 업데이트 하거나 플래쉬 하는 방법을 결정하기가 극히 어렵게 만든다. 그 이유는 바이오스를 플래쉬 하는데 필요한 필수 코드가 시스템 관리 인터럽트(SMI) 모드에서만 실행하기 때문이다. 이를 위해, 해커나 사용자가 SMI 모드에서 동작하는 코드를 뒤져서 롬 바이오스를 플래쉬 하는 그 코드를 찾아낼 수 있기 위해서는 근본적으로 극히 제한된 메카니즘들이 존재한다. 그 코드는 다른 프로그램에 대해서는 숨겨져 있는(hidden) 컴퓨터 메모리 중 일 부분에서 동작된다. 즉, 바이오스를 플래쉬 하는 코드는 컴퓨터가 SMI를 처리할 때 바이오스에 대해서만 보인다(visible).
더욱이, 바이오스를 플래쉬 하는데 이용되는 컴퓨터 회로 내의 펌웨어는 바이오스 이미지가 이제 막 배치되려고 하는 컴퓨터와 그 바이오스 이미지가 호환 가능함을 확증하기 위한 수단을 갖기 위해 바이오스 이미지(사용자가 현재의 플래쉬 롬 바이오스부 내에 플래쉬 되어 있기를 원하는 새로운 바이오스 데이터)를 필요로 한다. 그 확증 수단은 바이오스 이미지 내의 단부, 중간부 또는 다른 위치에 부가되는 체크섬(checksum) 일 수 있다. 그 확증 수단은 바이오스 이미지가 암호 포맷[그 확증 수단이 설치(인스톨)될 수 있는 특수 컴퓨터 모델에 의해 이해되는 암호 포맷]으로 되는 것일 수 있다. 확증 수단의 목적은, 바이오스 이미지가 특정의 컴퓨터 모델에 대해 유효인 또는 인증된 또는 권한있는 바이오스 이미지로서 확증되거나 인증되지 않으면, 컴퓨터가 자신의 바이오스를 플래쉬 할 수 없게 하기 위한 것이다.
다시 도 1을 참조하면, 나중에 롬 바이오스(102) 내에 플래쉬 될 수 있는 바이오스 이미지는 다양한 방법으로 컴퓨터(100) 내에 제공되고 기억될 수 있다. 그 이미지는 플로피 드라이브, 하드 드라이브, 짚 드라이브(108) 또는 기타 데이터 기억 매체를 통해 제공될 수 있다. 더욱이, 바이오스 이미지는 (인터넷과 같은) 세계적인 네트워크로부터 다운로드 받거나 LAN 또는 WAN으로부터 검색되거나 I/O 포트(110)를 경유하여 전화선 모뎀 또는 기타 외부 데이터 접속 장치를 통해 제공될 수 있다.
도 2는 인증된 롬 바이오스 이미지를 생성하는 예시적인 프로세스와 롬 바이오스부를 업데이트 하거나 플래쉬 하기 위한 예시적인 단계 모두를 설명하는 흐름도를 도시하고 있다. 인증된 롬 바이오스 이미지를 생성하기 위한 예시적인 프로세스는 단계 200에서 시작한다. 단계 200에서는 인증된 롬 바이오스 이미지를 생성하도록 롬 바이오스 이미지를 처리한다. 바이오스 이미지를 처리하여 인증하는 방법에는 여러 가지가 있다. 롬 바이오스 이미지를 인증하는 세 가지의 예시적인 기술이 제시되고 있지만, 당업자는 다른 인증 기술도 이해할 수 있을 것이다. 인증된 바이오스 이미지를 생성하기 위한 한 가지 기술은 SMI 핸들러 소프트웨어에 대해서만 알려진 전용 키(private key)를 이용하여 전체의 바이오스 이미지를 암호화하는 것이다. 롬 이미지는 전용 키에 의해 암호 해독될 수 있고, 따라서 그 암호 해독된 이미지는 롬 바이오스 내로 플래쉬 되기 전에 인증된 이미지로 되도록 할 수 있다. 만일 롬 이미지가 전용 키에 의해 암호 해독될 수 없다면, 그것은 틀림없이 인증되지 않는다. 컴퓨터 모델마다 상이한 전용 키를 포함하고 있을 것이고, 따라서 암호화된 바이오스 이미지는 SMI 핸들러 내에 정확한 전용 키를 갖는 컴퓨터 모델 내에서 사용되어야만 바이오스 이미지를 암호 해독할 수 있다.
인증된 바이오스 이미지를 생성하기 위한 두 번째 기술은 SMI 핸들러만이 알고 있는 오프셋 또는 미리 결정된 코드 위치에서 숨겨진 체크섬 또는 주기적인 용장도 체크(CRC: Cyclic Rudundancy Check)를 바이오스 이미지 내에 실장되게 하는 것이다. 그 오프셋은 제조 프로세스 중에 SMI 핸들러 내에 기억될 수 있다. SMI 핸들러가 인증 정보에 관한 바이오스 이미지를 찾을 수 있는 장소를 아는 것을 제외하고 오프셋 또는 위치는 중요하지 않다.
사용자가 그의 컴퓨터의 플래쉬 롬 바이오스부(102) 내에 플래쉬 하기를 원하는 인증된 롬 바이오스 이미지를 생성하는 세 번째 기술은 전용 키를 이용하여 암호화 체크섬 또는 주기적인 용장도 체크(CRC)를 바이오스 이미지의 단부에 부착 또는 첨부하는 것이다. 전용 키는 유사한 컴퓨터 모델의 SMI 핸들러 소프트웨어에 대해서만 알려져 있다. SMI 핸들러는 체크섬 또는 CRC를 암호 해독하여 바이오스 이미지가 인증된 이미지이면서 컴퓨터의 롬 바이오스부 내에 적재되기에 적당한 지를 결정하는데 도움을 준다. 일단 인증된 바이오스 이미지가 특정 컴퓨터 모델에 대해 입증되면, 컴퓨터 제조업체는 사용자의 컴퓨터에 대해 인증된 바이오스 이미지를 사용자에게 제공한다. 바이오스 이미지를 수신할 때, 사용자의 컴퓨터는 수신된 바이오스 이미지가 특정 컴퓨터에 대해 적당한 바이오스로서 인증되거나 유효한 지의 여부를 결정하기 위한 수단을 갖는다. 단계 202에서 시작하면, 바이오스 이미지가 적절한 인증된 바이오스 이미지인 지의 여부를 결정하기 위한 예시적인 기술과 인증된 바이오스 이미지를 롬 바이오스 내에 플래쉬 하는 단계가 설명되어 있다.
어떤 경우에 있어서, 제조업체는 각 바이오스 이미지가 어떤 상이한 컴퓨터 모델에 대해 의도되는 복수의 바이오스 이미지를 갖는 소프트웨어 파일(들)을 제공한다. 단계 202 및 204에 있어서, 컴퓨터의 펌웨어 또는 미리 적재된 컴퓨터 소프트웨어는 복수의 바이오스 이미지 중 하나의 바이오스 이미지가 특정 컴퓨터의 램 바이오스부 내에 적재되기에 적절한 바이오스 이미지인 지를 결정해야 한다.
단계 202에서, 하드웨어 독립 바이오스 플래쉬 유틸리티는 ACPI 테이블로부터 정보를 수집한다. ACPI 테이블은 ACPI 지원 바이오스 내에서 얻어 되지만 시동시에 상주 바이오스 코드에 의해 생성된다. 양호한 실시예에 있어서, 파일명, 파일 크기 및 소프트웨어 SMI 포트 위치는 ACPI 테이블로부터 수집된다. 양호하게는 파일명은 특정 컴퓨터에 관한 바이오스 이미지를 얻는 파일의 명칭이다. 파일 크기 정보는 바이오스 이미지 파일의 크기이다. 소프트웨어 SMI 포트는 (소프트웨어 SMI가 I/O 포트 위치에) 기록되어 있는 경우에 있어서 소프트웨어 SMI를 발생하는 I/O 포트 위치이다.
특히, 예시적인 하드웨어 독립 플래쉬 유틸리티는 ACPI 테이블 서명 "RSD PTR"에 관한 램 메모리 어드레스(OEOOOOH 내지 OFFFFFH)를 검색한다. 만일 서명을 얻지 못하면, 유틸리티는 에러 메시지를 화면에 표시하고 종료한다. 만일 서명을 얻으면, 애플리케이션은 ACPI 테이블로부터 다음의 항목들을 판독한다. 즉, 1) 플래쉬 바이오스 파일명을 유도하기 위한 파일 정보를 포함하고 있는 필드인 루트 시스템 설명 테이블(RSD: Root System Description) 내의 OEM 테이블 ID, 2) 고정형 ACPI 설명 테이블 내의 SMI 포트 어드레스. SMI 포트 어드레스는 SMI 인터럽트를 제공하는 SMI 포트의 어드레스이다.
단계 204에서, 하드웨어 독립 바이오스 플래쉬 유틸리티는 단계 202에서 지정된, 파일명 내에서 발견된 바이오스 이미지를 판독하여 양호하게는 램 메모리의 이웃 블럭 또는 연속 블럭 내에 독입한다. CPU 레지스터는 기억된 바이오스 이미지의 위치와 크기를 나타내도록 세트된다.
단계 206에서, 하드웨어 독립 바이오스 플래쉬 유틸리티는 플래쉬 서명 또는 다른 데이터 정보를 하나 이상의 CPU 레지스터로 통과시켜 플래쉬 업데이트가 실제로 요청되고 요망되며 의도되고 있음을 나타낸다.
단계 208에서, 바이오스 플래쉬 유틸리티는 코드를 소프트웨어 SMI I/O 포트에 기록함으로써 소프트웨어 SMI를 발생한다. 코드는 단계 206에서 하나 이상의 CPU 레지스터로 통과되었던 플래쉬 서명의 전부 또는 일부일 수 있다. 그 결과는 SMI가 발생하는 것으로 된다. 롬 바이오스를 플래쉬 하는 것은 소프트웨어 SMI 작업시 예시적인 실시예에서 발생할 수 있을 뿐이다.
단계 210에서, 소프트웨어 SMI 핸들러는 작동을 시작하고 플래쉬 서명을 확인한다. 다시, 플래쉬 서명은 플래쉬 업데이트가 요청되고 요망되며 의도되고 있음을 나타낸다. 만일 소프트웨어 SMI 핸들러가 그 플래쉬 서명은 유효하지 않다고 결정하면, 플래쉬 바이오스 처리는 중지되고 단계 212 및 214에서 에러가 사용자에게 화면으로 표시된다.
만일 단계 212에서 플래쉬 서명이 유효이면, SMI 핸들러는 단계 216으로 진행한다. 여기에서, SMI 핸들러는 (단계 200에서 설명된 바와 같은) 그 SMI 핸들러에게만 알려진 전용 키 또는 다른 정보를 이용하여 바이오스 이미지가 인증된 바이오스 이미지인 지의 여부를 결정한다. 인증된 바이오스 이미지란 현재의 컴퓨터 시스템에 맞는 바이오스 이미지이다. 일부를 암호 해독하거나 그 밖의 경우에는 바이오스 이미지가 인증된 바이오스 이미지임을 결정하기 위해 전용 키 또는 다른 정보를 갖도록 SMI 핸들러에게 요구함으로써, 해커와 경험이 부족한 컴퓨터 사용자는 롬 바이오스부를 부적절한 바이오스 이미지로 플래쉬 하지 못하게 저지된다.
만일 램 내의 바이오스 이미지가 소프트웨어 SMI 핸들러에 의해 인증받지 못하면, 플래쉬 처리는 중지되고, 단계 218 및 214에서 에러 메시지가 화면에 표시된다.
만일 램 내에 기억되어 있는 바이오스 이미지가 단계 216 내지 218에서 소프트웨어 SMI 핸들러에 의해 인증받을 수 있으면, 단계 200에서 기록 이네이블 신호가 롬부에 제공된다. 기록 이네이블 신호는 턴온 또는 턴오프될 수 있어야 하는 범용 I/O일 수 있다. 또한, 범용 I/O의 위치는, 해커가 어떤 신호를 롬 바이오스부에 어떤 신호를 이네이블하여 그것을 플래쉬 시키는 방법을 터득하기에 상당히 어렵도록, SMI 핸들러 코드에 대해서만 알려져 있어야 하고 컴퓨터 내의 다른 어떤 장소에서도 알려지거나 접근 가능해서는 안된다.
단계 221에서, 바이오스 SMI 핸들러는 바이오스 이미지를 롬 바이오스부에 기록(예컨대, 롬 바이오스부를 플래쉬)한다. 기록 이네이블 신호는 단계 222에서 디스에이블 되거나 비활성으로 된다. 이 시점에서, 바이오스 이미지는 앞서 존재하고 있는 롬 바이오스 코드 대신 롬 바이오스부에 적재되어 있다. 단계 223에서, 바이오스를 플래쉬 하는 처리는 에러 없이 종료한다.
이제 도 3을 참조하면, 예시적인 항바이러스 롬 바이오스 플래쉬 방법 및 본 발명을 수행하기 위한 다양한 서브시스템과 소프트웨어/펌웨어(이들 서브시스템과 소프트웨어/펌웨어는 컴퓨터 주기판 상에 있어도 되고 없어도 된다) 간의 데이터 또는 정보의 일반적인 흐름이 도시되어 있다.
플래쉬 유틸리티(300), 플래쉬 이미지(310), 운용 체제(304), 소프트웨어 핸들러(306), 램 플래쉬 이미지(308) 및 ACPI 테이블(310)은 모두 소프트웨어, 펌웨어 또는 데이터 코드임을 주목한다.
예시적인 실시예에서, 사용자 또는 바이러스 프로그램은 플래쉬 유틸리티(300)가 현재의 롬 바이오스부(314) 내에 플래쉬 되어 있는 새로운 바이오스 이미지(302)를 갖도록 실행되기를 요청한다. 바이오스 이미지(302)는 하드디스크 또는 플로피 드라이브(316)와 같은 기억 매체에 기억되어 있을 수도 있다. 플래쉬 유틸리티(300)는 램 메모리(312)에 기억되어 있는 ACPI 테이블(310)로부터 요구되는 바이오스 파일명 및 파일 크기의 정보를 검색한다. 이어서, 정확한 바이오스 이미지(302)가 기억 매체(316)로부터 검색되고 램(308)의 연속 블록 내에 배치될 수 있다. 이어서, 플래쉬 유틸리티는 ACPI 칩셋(318)에게 지시하여 소프트웨어 SMI 인터럽트를 호출하지만, 이것은 바이오스를 플래쉬 하는 요청이 의도되고 있는지를 나타내는 플래쉬 서명을 CPU가 제공한 이후에만 행해진다. 이어서, 소프트웨어, SMI 핸들러는 램(308) 내에 기억되어 있는 플래쉬 이미지가 인증된 바이오스 이미지인 지의 여부를 결정한다. 그 인증은 권한과 인증을 위해 바이오스 이미지를 검사하는데 이용되는 SMI 소프트웨어 핸들러에 의해서만 알려져 있는 비밀 암호 키 또는 다른 비밀 데이터를 통해서 입증된다.
SMI 핸들러는 소프트웨어 SMI 인터럽트가 인가될 때에만 작동하기 때문에, 그리고 SMI 핸들러는 램의 사용자 접근 가능부에 기억되어 있기 때문에, 해커가 바이오스 이미지를 인증하는데 필요로 되거나 사용되는 비밀 코드 또는 정보를 결정하기에 상당히 어렵다. 따라서, 만일 소프트웨어 SMI 핸들러가 바이오스 이미지를 인증하지 않는다면, 롬 바이오스부는 플래쉬 될 수 없다.
따라서, 예시적인 실시예는 롬 바이오스를 플래쉬 하는 항바이러스 방법을 달성한다. 실시예는 정보가 소프트웨어 SMI 핸들러 내에 숨겨져 있기 때문에 해커가 생성하기에 상당히 어려운 인증된 바이오스 이미지를 요구한다. 소프트웨어 SMI 핸들러 코드는 실질적으로 사용자 또는 해커에게 접근 불가능하다. 그 이유는 소프트웨어 SMI 핸들러 코드는 시스템 관리 메모리 세그먼트(SMM 세그먼트)인 메모리의 일부에 배치되어 있고 또한 사용되고 있지 않을 때는 항어셈블해제 압축 포맷으로만 존재하기 때문이다.
이제까지 본 발명의 다양하고 양호한 실시예와 방법에 관해 도시하고 설명하였지만, 당업자에게는 중대한 변경과 중대하지 않는 변경 모두가 본 발명의 원리와 사상, 특허 청구 범위에서 정한 범주를 벗어나지 않고서도 이들 실시예에 대해서 만들어 질 수 있음을 이해할 것이다.

Claims (20)

  1. 바이오스 이미지를 수신하고 기억하는 하드디스크 드라이브와,
    상기 바이오스 이미지에 의해 플래쉬 되도록 적응되는 플래쉬 롬 바이오스부와,
    상기 바이오스 이미지가 상기 플래쉬 롬 바이오스부 내에 플래쉬 되려고 할 때 상기 하드디스크로부터 상기 바이오스 이미지를 수신하고 기억하기 위한 램 메모리와,
    상기 바이오스 이미지가 상기 플래쉬 롬 바이오스부 내에 플래쉬 될 수 있기 이전에 상기 바이오스 이미지가 특정 컴퓨터에 관한 인증된 바이오스 이미지인 지의 여부를 결정하기 위한 소프트웨어 SMI 핸들러 프로그램을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 소프트웨어 SMI 핸들러 프로그램은 컴퓨터 사용자에게 실질적으로 접근 불가능한 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  3. 제1항에 있어서, 상기 소프웨어 SMI 핸들러는 소프트웨어 SMI 인터럽트를 통해만 접근 가능한 것을 특징으로 하는 컴퓨터 시스템.
  4. 제1항에 있어서, 상기 바이오스 이미지는 적어도 하나의 암호화 부분을 포함하고 있고, 상기 암호화 부분은 상기 소프트웨어 SMI 핸들러 프로그램에 의해 암호 해제되는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제4항에 있어서, 상기 소프트웨어 SMI 핸들러 프로그램은 상기 암호화 부분을 이용하여 상기 바이오스가 상기 인증된 바이오스 이미지인 지의 여부를 결정하는 것을 특징으로 하는 컴퓨터 시스템.
  6. 제1항에 있어서, 상기 바이오스 이미지는 적어도 하나의 CRC와 체크섬을 포함하고 있고, 상기 적어도 하나의 CRC와 체크섬은 상기 소프트웨어 SMI 핸들러 프로그램에 의해 사용되어 상기 바이오스 이미지가 상기 인증된 바이오스 이미지인 지의 여부를 결정하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제1항에 있어서, 상기 소프트웨어 SMI 핸들러 프로그램은 하드웨어 독립 프로그램인 것을 특징으로 하는 컴퓨터 시스템.
  8. 제1항에 있어서, 상기 소프트웨어 SMI 핸들러 프로그램은 메모리의 시스템 관리 메모리 세그먼트 내에 기억되는 것을 특징으로 하는 컴퓨터 시스템.
  9. 제1항에 있어서, 상기 소프트웨어 SMI 핸들러 프로그램은 항어셈블해제 압축 포맷으로 존재하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 바이오스 이미지를 생성하는 단계와,
    미리 결정된 컴퓨터 모델 상에서 발견되는 임의의 프로그램에 의해 해석될 수 있는 적어도 미리 결정된 코드를 포함하는 인증된 바이오스 이미지를 생성하기 위해 상기 바이오스 이미지를 후처리하는 단계를 포함하는 것을 특징으로 하는 인증 이미지 제공 방법.
  11. 제10항에 있어서, 상기 미리 결정된 코드는 공개 키, 체크섬, CRC 및 암호화 부분 중 적어도 하나를 포함하는 것을 특징으로 하는 인증 이미지 제공 방법.
  12. 컴퓨터 시스템 내의 롬 바이오스부를 플래쉬 하는 방법에 있어서,
    플래쉬 바이오스 파일명과 플래쉬 바이오스 파일 크기를 결정하는 단계와,
    소프트웨어 SMI 포트 인터럽트를 결정하는 단계와,
    상기 미리 결정된 플래쉬 바이오스 파일명과 상기 플래쉬 바이오스 파일 크기를 갖는 바이오스 이미지를 램 안에 배치하는 단계와,
    상기 바이오스를 플래쉬 하는 것이 의도적임을 나타내기 위해 플래쉬 바이오스 서명을 이용하는 단계와,
    소프트웨어 SMI 인터럽트를 발생하는 단계와,
    상기 바이오스 이미지가 상기 컴퓨터 시스템에 관한 인증된 바이오스 이미지인 지의 여부를 결정하기 위해 상기 소프트웨어 SMI 인터럽트 동안 특정 코드를 실행하는 단계와,
    상기 바이오스 이미지가 상기 인증된 바이오스 이미지라고 결정되면 상기 롬 바이오스 포트를 플래쉬 하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 플래쉬 방법.
  13. 제12항에 있어서, 상기 미리 결정된 플래쉬 바이오스 파일명과 상기 플래쉬 바이오스 파일 크기를 갖는 상기 바이오스 이미지는 램의 연속 블록 내에 배치되는 것을 특징으로 하는 롬 바이오스부 플래쉬 방법.
  14. 제12항에 있어서, 상기 특정 코드 실행 단계는 상기 바이오스 이미지의 미리 결정된 부분을 암호 해제하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 플래쉬 방법.
  15. 제12항에 있어서, 상기 특정 코드 실행 단계는 상기 바이오스 이미지의 미리 결정된 부분 내에서 발견되는 체크섬과 CRC 중 적어도 하나를 검사하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 플래쉬 방법.
  16. 컴퓨터 시스템 내의 롬 바이오스부를 재프로그램 하는 방법에 있어서,
    사용자가 롬 바이오스부의 재프로그래밍을 의도적으로 개시했는 지의 여부를 결정하는 결정 단계와,
    롬 바이오스 이미지가 상기 컴퓨터 시스템과 호환 가능한 인증된 롬 바이오스 이미지가 되도록 달성하는 달성 단계와,
    상기 롬 바이오스 이미지가 인증된 롬 바이오스 이미지인 경우 상기 롬 바이오스부를 재프로그램 하는 재프로그램 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 재프로그램 방법.
  17. 제16항에 있어서, 상기 결정 단계는 소프트웨어 SMI에 의해 개시된 프로그램을 이용하는 것을 특징으로 하는 롬 바이오스부 재프로그램 방법.
  18. 제16항에 있어서, 상기 달성 단계는 소프트웨어 SMI에 응답하여 램의 시스템 관리 메모리 세그먼트 내에 기억되어 있는 소프트웨어를 수행하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 재프로그램 방법.
  19. 제16항에 있어서, 상기 달성 단계는 적어도 상기 바이오스 이미지의 미리 결정된 부분을 전용 키에 의해 암호 해제하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 재프로그램 방법.
  20. 제16항에 있어서, 상기 롬 바이오스부 재프로그램 단계는 상기 롬 바이오스부를 상기 롬 바이오스 이미지로 플래쉬 하는 단계를 포함하는 것을 특징으로 하는 롬 바이오스부 재프로그램 방법.
KR1020000043033A 1999-07-27 2000-07-26 시스템 바이오스를 플래쉬하는 바이러스 감염방지 및 하드웨어 독립 방법 KR100648533B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/362,077 1999-07-27
US09/362,077 US6715074B1 (en) 1999-07-27 1999-07-27 Virus resistant and hardware independent method of flashing system bios
US9/362,077 1999-07-27

Publications (2)

Publication Number Publication Date
KR20010049886A true KR20010049886A (ko) 2001-06-15
KR100648533B1 KR100648533B1 (ko) 2006-11-24

Family

ID=23424604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000043033A KR100648533B1 (ko) 1999-07-27 2000-07-26 시스템 바이오스를 플래쉬하는 바이러스 감염방지 및 하드웨어 독립 방법

Country Status (5)

Country Link
US (1) US6715074B1 (ko)
EP (1) EP1072975A3 (ko)
JP (1) JP2001075828A (ko)
KR (1) KR100648533B1 (ko)
TW (1) TW480443B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100729090B1 (ko) * 2005-12-01 2007-06-14 주식회사 대우일렉트로닉스 콤보 시스템의 롬 커렉션 방법
KR100872247B1 (ko) * 2003-10-10 2008-12-05 델 프로덕트 엘 피 특성 플래그를 이용하여 플래시 업데이트 동안 개정된바이오스와 설치된 하드웨어 사이의 호환성을 판단하는 방법
KR101453266B1 (ko) * 2010-09-30 2014-10-22 인텔 코포레이션 서비스 프로세서 컴플렉스 내의 데이터 저장을 위한 요구 기반 usb 프록시

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW480444B (en) * 2000-11-29 2002-03-21 Mitac Technology Corp Computer system boot-up method capable of completing the startup procedure even the system BIOS code is damaged
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
KR100431081B1 (ko) * 2001-07-02 2004-05-12 한국전자통신연구원 보안모듈 및 그의 이용 방법
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7055035B2 (en) * 2001-07-31 2006-05-30 Hewlett-Packard Development Company, L.P. Method for generating a read only memory image
US20030026506A1 (en) * 2001-07-31 2003-02-06 Allison Michael S. System for generating a read only memory image
US8200988B2 (en) * 2001-08-03 2012-06-12 Intel Corporation Firmware security key upgrade algorithm
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US20030084337A1 (en) * 2001-10-03 2003-05-01 Simionescu Dan C. Remotely controlled failsafe boot mechanism and manager for a network device
US7024555B2 (en) * 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
EP1357454A1 (en) * 2002-04-23 2003-10-29 Hewlett-Packard Company Data processing system and method with protected BIOS
EP1391819A1 (en) * 2002-08-19 2004-02-25 Hewlett-Packard Company Data processing system and method
US7178014B2 (en) * 2002-09-04 2007-02-13 Intel Corporation Method and apparatus for using a memory region to pass parameters between a run time environment and SMM handler
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US7337309B2 (en) * 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes
EP1623337A4 (en) * 2003-05-02 2008-12-31 Egenera Inc SYSTEM AND METHOD FOR VIRTUALIZING THE BIOS AND ITS TIMES OF EXECUTION TIME
US7032108B2 (en) * 2003-05-02 2006-04-18 Egenera, Inc. System and method for virtualizing basic input/output system (BIOS) including BIOS run time services
US7228265B2 (en) * 2003-05-02 2007-06-05 Egenera, Inc. System and method for emulating serial port communication
US9336393B2 (en) * 2003-08-23 2016-05-10 Softex Incorporated System and method for protecting files stored on an electronic device
US7590837B2 (en) 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
TW200532556A (en) * 2004-03-19 2005-10-01 Hon Hai Prec Ind Co Ltd A system and method for updating programs in the BIOS
US7406591B2 (en) * 2004-06-29 2008-07-29 Intel Corporation Booting from a remote BIOS image
JP2006221364A (ja) 2005-02-09 2006-08-24 Toshiba Corp 半導体装置及びbios認証システム
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US7660913B2 (en) * 2005-04-20 2010-02-09 Intel Corporation Out-of-band platform recovery
US8639946B2 (en) 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
US20080005797A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Identifying malware in a boot environment
CN101398879B (zh) * 2007-09-25 2011-04-27 联想(北京)有限公司 一种软件认证方法
US7844809B2 (en) * 2007-09-26 2010-11-30 Intel Corporation Verifying a trusted SMI handler
US7917743B2 (en) * 2007-11-14 2011-03-29 Dell Products L.P. System and method for a remote information handling system boot
CN102027480B (zh) * 2008-05-16 2014-12-17 惠普开发有限公司 用于提供系统管理命令的系统和方法
TWI361382B (en) 2008-07-30 2012-04-01 Pegatron Corp Electronic apparatus and update bios method thereof
CN101639877B (zh) * 2008-07-30 2011-06-22 和硕联合科技股份有限公司 电子装置及其更新基本输入输出系统方法
US8495354B2 (en) * 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory
US8176306B2 (en) * 2009-07-24 2012-05-08 Hewlett-Packard Development Company, L.P. Boot block
JP5335634B2 (ja) 2009-09-29 2013-11-06 レノボ・シンガポール・プライベート・リミテッド システム管理モードの特権レベルを保護するコンピュータ
US9202059B2 (en) 2011-03-01 2015-12-01 Apurva M. Bhansali Methods, systems, and apparatuses for managing a hard drive security system
TWI607376B (zh) * 2011-04-08 2017-12-01 系微股份有限公司 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
CN105160258B (zh) * 2015-09-21 2018-10-02 苏州中太服务器有限公司 一种防止用户非法修改os的方法
CN109714303B (zh) 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 Bios启动方法及数据处理方法
CN109710315B (zh) 2017-10-25 2022-05-10 阿里巴巴集团控股有限公司 Bios刷写方法及bios镜像文件的处理方法
EP3759591B1 (en) * 2018-08-03 2023-09-27 Hewlett-Packard Development Company, L.P. Bios personalities
JP2022135443A (ja) * 2021-03-05 2022-09-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
US5768598A (en) * 1993-09-13 1998-06-16 Intel Corporation Method and apparatus for sharing hardward resources in a computer system
JPH0836485A (ja) * 1994-05-17 1996-02-06 Seiko Epson Corp 情報処理装置及び情報処理装置の制御方法
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
JP3075957B2 (ja) * 1995-05-30 2000-08-14 株式会社東芝 コンピュータシステム
JPH08328762A (ja) * 1995-06-06 1996-12-13 Mitsubishi Electric Corp 半導体ディスク装置及びそのメモリ管理方法
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5974250A (en) * 1996-12-13 1999-10-26 Compaq Computer Corp. System and method for secure information transmission over a network
US6581162B1 (en) * 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
US5859911A (en) * 1997-04-16 1999-01-12 Compaq Computer Corp. Method for the secure remote flashing of the BIOS of a computer
KR100280637B1 (ko) * 1997-11-24 2001-02-01 윤종용 고정된플래시롬의데이터갱신이가능한컴퓨터시스템및그제어방법
DE19752615C1 (de) * 1997-11-27 1999-04-08 Siemens Nixdorf Inf Syst Verfahren und Anordnung zum Laden von Daten für grundlegende Systemroutinen eines Datenverarbeitungssystems
US6571206B1 (en) * 1998-01-15 2003-05-27 Phoenix Technologies Ltd. Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment
US6425079B1 (en) * 1999-03-31 2002-07-23 Adaptec, Inc. Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith
US6513159B1 (en) * 2000-03-28 2003-01-28 Intel Corporation Platform intelligent installer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872247B1 (ko) * 2003-10-10 2008-12-05 델 프로덕트 엘 피 특성 플래그를 이용하여 플래시 업데이트 동안 개정된바이오스와 설치된 하드웨어 사이의 호환성을 판단하는 방법
KR100729090B1 (ko) * 2005-12-01 2007-06-14 주식회사 대우일렉트로닉스 콤보 시스템의 롬 커렉션 방법
KR101453266B1 (ko) * 2010-09-30 2014-10-22 인텔 코포레이션 서비스 프로세서 컴플렉스 내의 데이터 저장을 위한 요구 기반 usb 프록시
US8965749B2 (en) 2010-09-30 2015-02-24 Intel Corporation Demand based USB proxy for data stores in service processor complex

Also Published As

Publication number Publication date
TW480443B (en) 2002-03-21
US6715074B1 (en) 2004-03-30
EP1072975A2 (en) 2001-01-31
JP2001075828A (ja) 2001-03-23
EP1072975A3 (en) 2002-07-31
KR100648533B1 (ko) 2006-11-24

Similar Documents

Publication Publication Date Title
KR100648533B1 (ko) 시스템 바이오스를 플래쉬하는 바이러스 감염방지 및 하드웨어 독립 방법
US6625729B1 (en) Computer system having security features for authenticating different components
US6625730B1 (en) System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
US5844986A (en) Secure BIOS
US7073064B1 (en) Method and apparatus to provide enhanced computer protection
US7107460B2 (en) Method and system for securing enablement access to a data security device
US7774619B2 (en) Secure code execution using external memory
US6085299A (en) Secure updating of non-volatile memory
US6223284B1 (en) Method and apparatus for remote ROM flashing and security management for a computer system
JP5014726B2 (ja) 無許可のブートローダの実行を防止することによって安全性を高めた実行環境
US7308576B2 (en) Authenticated code module
CA2333613C (en) Method of controlling usage of software components
Garriss et al. Trustworthy and personalized computing on public kiosks
US20020099950A1 (en) Method of maintaining integrity of an instruction or data set
JP2006507548A (ja) 認証コード方法及び装置
US20050021968A1 (en) Method for performing a trusted firmware/bios update
US20030126453A1 (en) Processor supporting execution of an authenticated code instruction
US7392398B1 (en) Method and apparatus for protection of computer assets from unauthorized access
JP2003507785A (ja) コンピュータ・プラットフォームおよびその運用方法
JP2002007214A (ja) 情報処理装置および不揮発性記憶装置の書き換え制御方法
CN101578609A (zh) 安全启动计算设备
KR20110050488A (ko) 티켓 인증 보안 설치 및 부트
EP3588354A1 (en) Automatic verification method and system
US20020169976A1 (en) Enabling optional system features
RU57030U1 (ru) Устройство защиты от несанкционированной загрузки программного обеспечения

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121025

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131104

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee