KR20080021694A - 도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법,시스템, 및 컴퓨터 판독가능 매체 - Google Patents

도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법,시스템, 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20080021694A
KR20080021694A KR1020077030217A KR20077030217A KR20080021694A KR 20080021694 A KR20080021694 A KR 20080021694A KR 1020077030217 A KR1020077030217 A KR 1020077030217A KR 20077030217 A KR20077030217 A KR 20077030217A KR 20080021694 A KR20080021694 A KR 20080021694A
Authority
KR
South Korea
Prior art keywords
activated content
content
activated
mode
trusted
Prior art date
Application number
KR1020077030217A
Other languages
English (en)
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 KR20080021694A publication Critical patent/KR20080021694A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법은 호출 애플리케이션으로부터 활성화된 콘텐츠를 액세스하기 위한 호출을 수신하는 단계를 포함한다. 소정의 기준에 기초하여, 활성화된 콘텐츠를 액세스하는 데에 이용되는 실행 모드에 대한 결정이 이루어진다. 그 다음 활성화된 콘텐츠는 이 결정된 실행 모드에서 액세스된다.
Figure P1020077030217
도움말 시스템, 보안, 애플리케이션, 신뢰 기반 보안

Description

도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법, 시스템, 및 컴퓨터 판독가능 매체{ACTIVE CONTENT TRUST MODEL}
다음의 설명은 단지 일반적인 배경 정보를 위하여 제공된 것이며 청구된 요지의 범주를 결정하는 것을 돕는 데에 이용됨을 의도하지 않는다.
컴퓨팅 환경에서, 사용자에게 특정 작업을 수행하는 방식을 알려주기 위해 도움말 시스템을 구비하는 것은 일반적인 일이다. 도움말 시스템은 애플리케이션 또는 애플리케이션군(묶여지거나 관련된 애플리케이션의 그룹) 레벨에 있거나 운영 체제(또는 셀) 레벨에 있을 수 있다. 통상적으로, 내장된(built in) 도움말 시스템을 포함하는 (대다수는 아닐지라도) 많은 애플리케이션에서 도움말 시스템의 2가지 레벨 모두가 이용된다.
통상적으로, 사용자에게 특정 태스크를 완료하는 방식에 대하여 작성되거나 그래픽적으로 도시된 명령어를 제공하는 도움말 콘텐츠는 본질적으로 정적이었다. 그러나, 보다 최근에는, 도움말 콘텐츠는 그 다수가 정적인 텍스트로부터 동적인 경험으로 이동하기 시작하였다. 정적인 도움말 콘텐츠로부터 동적이거나 활성화된 도움말 콘텐츠로 전이함에 있어, 통상적으로 무해한 텍스트로서 여겨졌던 것들이 점점 사용자를 대신하여 코드를 실행하거나 코드가 실행되게 할 수 있게 되었다. 도움말 콘텐츠가 이들 사용자를 대신하여 액션들을 수행하는 것을 허용하여 사용자를 돕도록 하기 위해서, 도움말 시스템에 의해 실행되고 있는 액션들을 관찰함으로써 액션들을 수행하는 방식을 사용자에게 알려주고/거나 액션들을 효과적으로 수행하려는 목적으로, 도움말 유형 파일들은 활성화된 콘텐츠-실행가능 코드 또는 스크립트를 점점 더 많이 포함하게 되었다. 활성화된 콘텐츠 파일들은, 이들 파일들이 직접 다른 실행가능 코드를 호출한 후 이 코드들 또한 실행되는 방식으로 작성될 수 있다. 2개의 활성화된 도움말 콘텐츠의 예로는 활성화된 콘텐츠 마법사(ACW) 및 바로가기를 포함한다.
일반적으로, ACW는 본질적으로 사용자를 위한 도움말 토픽(topic)을 사용자 인터페이스에 직접 재생하기 위하여 사용자 인터페이스와 대화하기 위한 소정의 형식 또는 다른 형식으로 된 코드를 포함한다. ACW는 사용자 인터페이스와 대화하지만, ACW는 또한 통상적으로 이 대화와 관련된 설명을 사용자에게 제공할 수도 있다. 재생 중에, ACW는 파일 이름 등과 같은 특정 정보를 입력하고, 사용자 학습 프로세스를 돕도록 사용자가 사용자 인터페이스와 대화할 수 있게 해줄 수 있다. 바로가기는 동작을 자동으로 실행하는 도움말 유형 파일이다. 일반적으로, 셀(shell) 실행 명령(예를 들면, 윈도우즈® 운영 체제의 시작/실행 명령)으로부터 실행될 수 있는 임의의 동작 또는 행위는 바로가기를 이용하여 자동으로 실행될 수 있다.
도움말 콘텐츠가 현재 실행가능 코드(활성화된 콘텐츠)를 포함하거나 호출할 수 있다는 사실은, 사용자의 컴퓨터 및 데이터가 의도적이든 의도적이지 않든 간에 이러한 활성화된 콘텐츠에 의해 해를 입을 가능성을 발생시킨다. 또한 활성화된 도움말 콘텐츠가 웹 페이지 및 기타 원격 소스를 통해 이용가능하고, 때때로 이 웹 페이지 및 기타 원격 소스로부터 자동으로 액세스되기도 한다면, 활성화된 도움말 콘텐츠가 사용자의 컴퓨터 및 데이터에 해를 입힐 기회는 더 많아지게 된다.
본 섹션은 이하 [실시예] 섹션에서 더 기술되는 개념들을 간단한 형태로 선택한 것을 소개하기 위해 제공된 것이다. 본 섹션은 청구된 요지의 핵심 특징 또는 본질적인 특징을 식별하는 것으로 의도되지 않으며, 청구된 요지의 범주를 결정하는 것을 돕는 데에 이용되는 것으로 의도되지도 않는다.
활성화된 콘텐츠의 신뢰 모델은 최종 사용자가 안전하고 보안된 방식으로 도움말 콘텐츠를 다운로드하고/거나 설치 및 실행을 할 수 있게 해준다. 이는 사용자 및/또는 관리자에 의해 신뢰된 콘텐츠만이 코드를 호출하는 것이 허용되고 제3의 확장자를 이용하는 것이 허용되는 것을 시행함으로써 사용자의 데이터 및 시스템을 보호한다. 몇몇의 실시예에서, 이러한 결정은 디스플레이되는 콘텐츠 세트, 호출 애플리케이션, 이 애플리케이션을 실행하는 특정 사용자, 및 특정 컴퓨터 및/또는 사용자에 대하여 설정된 정책에 기초한다. 이들 중 하나가 실행을 위한 필요한 권한 또는 신뢰를 가지지 못한다면, 도움말 시스템은 콘텐츠가 정적이고 시스템을 해칠 수 없게 되는 안전 모드로 이행된다.
도 1은 개시된 개념들이 실행될 수 있는 일반적인 컴퓨팅 환경의 블록도.
도 2는 컴퓨팅 환경에서의 신뢰 기반 보안 모델 구현의 블록도.
도 3은 예시적인 실시예에 따른 도움말 콘텐츠의 특징을 개략적으로 도시하는 도면.
도 4는 예시적인 방법 실시예를 도시하는 흐름도.
도 5는 보다 상세한 예시적인 방법 실시예를 도시하는 흐름도.
도 6은 신뢰되는 콘텐츠와 신뢰되지 않는 콘텐츠 간의 전이를 개략적으로 도시하는 도면.
도움말 콘텐츠는 그 다수가 정적인 텍스트로부터 동적인 경험으로 이동하고 있다. 이러한 동적인 경험을 제공하기 위하여, 때때로 도움말 콘텐츠는 사용자를 대신하여 코드를 실행하거나 코드가 실행되게 할 수 있어야 한다. 개시된 실시예는 최종 사용자를 보호하고, 오직 신뢰된 콘텐츠에게만 사용자를 대신하여 코드를 실행하게 하고 액션을 수행하는 것을 허용하기 위하여 신뢰 모델 기반 보안을 제공한다.
일반적으로, 및 구체적으로는 후술될 신뢰 모델 기반 보안 도움말 시스템 실시예에서, 도움말 시스템은 종종 네트워크 PC 환경에서 동작하며, 이 네트워크는 인터넷, 및/또는 로컬 네트워크이다. 도 1을 참조하여 일반적으로 이하 기술될 컴퓨팅 환경은 개시된 실시예가 구현될 수 있는 컴퓨팅 환경의 일례이다. 그러나, 도시된 실시예의 다른 양태를 기술하기 전에, 도 1에 도시된 예시적인 적합한 컴퓨팅 환경을 기술하는 것이 유용할 수 있다.
도 1은 예시된 실시예의 하나 이상의 양태가 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 예시된 실시예의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
예시된 실시예는 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 예시된 실시예에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전화 시스템, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
예시된 실시예는 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 예시된 실시예는 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다. 프로그램 및 모듈들에 의해 수행되는 태스크는 이하 도면을 참조하여 기술될 것이다. 당업자들은 임의의 형태의 컴퓨터 판독가능 매체 상에 기록될 수 있는 프로세서 실행가능 명령어로서 본원에 제공되는 설명 및 도면을 구현할 수 있다.
도 1과 관련하여, 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치에 연결시키는 시스템 버스(121)를 포함할 수 있지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standard Association) 로컬 버스, 그리고 메자닌 버스(Mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정 보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함할 수 있다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 도시한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)를 위해, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141) 는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다.
사용자는 키보드(162), 마이크(163) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 모니터 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 원격 컴퓨터(180)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
이제 도 2를 참조하면, 도움말 시스템 및 신뢰 기반 보안 모델이 구현되거나 실행되는 컴퓨터 시스템 또는 컴퓨팅 환경(200)이 보다 일반적으로 도시된다. 도 2에는 컴퓨터(205)가 도시되는데, 이 컴퓨터는 PC, 랩탑 컴퓨터, 노트북 컴퓨터, 또는 기타 모바일이나 모바일이 아닌 컴퓨터를 비롯한 각종 컴퓨팅 환경들 중 어느 것이라도 될 수 있다. 그러나, 컴퓨터(205)는 임의의 특정 유형의 컴퓨팅 환경에 제한되지 않는다.
컴퓨터(205)는 애플리케이션 또는 운영 체제(OS) 소프트웨어(207)(이하 "애플리케이션(207)" 또는 "호출 애플리케이션(207)"이라 칭함) 및 도움말 시스템(210)을 호스팅하거나, 실행하거나, 지원한다. 필요할 때, 애플리케이션(207)은 로컬 도움말 콘텐츠(215)("로컬"이란 용어는 컴퓨터(205) 상에 도움말 콘텐츠가 위치함을 나타냄)를 액세스하기 위해 도움말 시스템(210)을 호출한다. 현재 로컬 도움말 콘텐츠(215)(및 원격 도움말 콘텐츠(220 및/또는 235))는 통상적으로 그 양이 늘어난 활성화된 콘텐츠를 포함할 것이다. 어구 "활성화된 콘텐츠"는 코드를 실행하거나 코드가 실행되게 할 수 있는 콘텐츠를 칭한다. 상술한 바와 같이, 활성화된 콘텐츠의 예로는, 예를 들면, ACW 및 바로가기를 포함한다.
몇몇의 실시예에서, 호출 애플리케이션(207)은 또한 인터넷(230) 또는 기타 전역 또는 넌-로컬(non-local) 컴퓨터 네트워크를 통해 컴퓨터(205)에 접속된 서버 컴퓨터(225)로부터 활성화된 도움말 콘텐츠(220)를 액세스하기 위해 도움말 시스템(210)을 호출하거나 도움말 시스템에 이 액세스를 요청한다. 마찬가지로, 호출 애플리케이션(207)은 동일한 로컬 네트워크(예를 들면, 조직 내에 있음, 등)(245)에 접속된 컴퓨터(240)로부터 활성화된 도움말 콘텐츠(235)를 액세스하기 위해 도움말 시스템(210)을 호출할 수 있다.
컴퓨터(205)는 또한 애플리케이션(207)의, 로컬 활성화된 콘텐츠(215) 및 원 격 활성화된 콘텐츠(220 및 235) 둘 다가 될 수 있는 활성화된 도움말 콘텐츠로의 액세스를 관리하는 보안 관리자(250)를 구현하도록 구성된다. 보안 관리자(250)는 애플리케이션 또는 사용자가 활성화된 콘텐츠를 액세스할 수 있는지, 및 활성화된 콘텐츠가 액세스될 수 있는지를 판정하는 규칙 세트로서 고려될 수 있는 신뢰 기반 보안 모델(260)을 이용한다. 보안 관리자(250)는 또한 활성화된 콘텐츠를 포함하는 도움말 파일들 또는 기타 파일들에 대한 2개의 실행 모드를 활성화하고 제어하지만, 추가적인 모드 또는 다른 모드가 이용될 수도 있다. 신뢰 모드 및 안전 모드인, 이 두 가지 실행 모드는 예시를 목적으로 본원에 언급된다. 이들 실행 모드는 이하 보다 상세히 기술된다. 모델(260)에서 정의되거나 모델(260)에 의해 요구되는 기준을 이용하여 이들 실행 모드를 제어하는 것 이외에도, 보안 관리자(250)는 관리 정책(247)에도 기초하여 이들 보안 모드를 제어한다. 예시를 위하여, 이들 정책은 네트워크(245)를 통해 컴퓨터(205)에 접속된 관리자의 컴퓨터(246)로부터 제공되는 것으로 나타내었다. 정책(247)은 특정 사용자에 대하여, 특정 컴퓨터에 대하여, 특정 호출 애플리케이션에 대하여, 또는 특정 활성화된 콘텐츠에 대하여 어떤 실행 모드가 필요한지를 결정하는 다른 기준으로 덮어쓸(override) 수 있다.
상술한 바와 같이, 도움말 토픽은 행위, ACW, 및 바로가기 등의 코드를 호출할 수 있다. 도움말 시스템(210)이, 예를 들어, 행위 또는 타일(타일은 렌더링 등과 같은 몇 가지 서비스를 제공하는 도움말 시스템으로의 플러그인(plug-in)이다)을 이용하여 확장가능하다면, 사용자 정의(custom) 코드도 호출될 수 있다. 예를 들면, 행위는 기기의 상태를 노출시킬 수 있거나(사용자가 도메인에 있다 또는 없다), ("+"와 "-"를 이용하여 메뉴를 확장하는) 대화형일 수 있다. 행위가 토픽들을 "활성화"시킨다면, 이들 행위는 사용자의 기기에 위험 수준도 도입한다. 구체적으로, 행위는 사용자가 이미 설치하였던 코드이다. 보안 관리자(250)에 의해 구현된 신뢰 모델(260)은 콘텐츠를 보호하려는 목적으로 작용한다. 구체적으로, "신뢰되지 않는" 콘텐츠가 다른 보안 코드로 하여금 다른 보안 기기에서 실행하게 할 수 있다 - 또한 그 결과는 사용자에게 피해를 줄 수 있다.
사용자가 도움말 토픽을 요청했을 때, 도움말 시스템(210)은 그 토픽에 액세스한 후 타의적으로 위험 가능성 있는 코드(행위, ACW 등)에 액세스하는 것을 허용할지 거부할지를 결정해야 한다. 보안 관리자(250) 및 그 신뢰 기반 보안 모델(260)은 그러한 제어를 제공한다. 근본적으로, 도움말 시스템은 바로 그 시점에서 그 토픽을 신뢰할지를 판정해야 한다. 이하 보다 상세히 기술될 바와 같이, 신뢰 기반 보안 모델(260)은 임의의 소정의 토픽에 대하여 임의의 소정의 시점에 신뢰 여부를 판정하는 방식을 기술한다. 신뢰 모델(260)은 신뢰되지 않거나 확실하게 신뢰되지 않았던 어떤 것을 실행한 결과로서 일어나는 악의 있는 공격으로부터 사용자의 컴퓨터를 보호한다. 신뢰되지 않는 코드를 실행하지 못하게 하였어도, 신뢰되는 악성 코드가 여전히 부정적인 결과를 가져올 수 있다. 일부 "공격"은 의도적이지 않은 파괴 행위 호출을 일으키는 선의적인 도움말 일 수 있다. 예시적인 실시예에서, 신뢰 모델(260)은 또한 이러한 공격으로부터 보호를 한다. 일반적으로, 철저한 목록으로서 제공되지는 않지만, 보안 관리자(250)에 의해 구현되는 신 뢰 기반 보안 모델은 다음과 같이 영역을 보호한다:
- (도움말을 이용하는 시나리오에서) 전체 도움말 시스템의 일반적인 무결성 - 도움말 시스템은, 레지스트리(registry)의 엔트리 또는 디스크의 파일을 변경하는 등의 예상치 못한 시스템 수정으로부터 사용자를 보호한다. 마찬가지로, 도움말을 이용하는 것은 절대로 시스템 신뢰성에 영향을 주지 않아야 한다.
- 사용자의 프라이버시(privacy) - 도움말 시스템은 절대로 애플리케이션 또는 인터넷을 통하여 데이터를 예상치 못하게 전달하는 것을 돕지 않아야 한다.
- 현재 설치된 도움말의 무결성 - 이것은 상술한 "일반적인 무결성" 범주에 속할 수 있지만, 도움말을 이용하는 것, 또는 새로운 도움말을 설치하는 것이 절대로 이전에 실행되었던 도움말에 방해를 해서는 안된다는 것을 특별히 강조할 가치가 있다.
- 신뢰 모델은 또한 충분한 권한을 가지고 있지 않은 사용자가 활성화된 콘텐츠를 실행하는 것을 저지한다. 신뢰 모델은 또한 시스템 관리자에 의해 설정된 정책을 보유하고 악성 코드 및 권한이 제한된 사용자의 활성화된 콘텐츠 실행으로부터 (도움말 시나리오에서의) 도움말 시스템의 무결성을 보호한다.
보안 관리자(250) 및 그 신뢰 모델(260)은 최종 사용자가 안전하고 무해하도록 도움말 콘텐츠를 다운로드하고/거나 설치할 수 있게 해준다. 이는 사용자에 의해 신뢰된 콘텐츠만이 코드를 호출하는 것이 허용되거나 제3의 확장자를 이용하는 것이 허용되도록 활성화된 콘텐츠의 액세스를 관리한다. 다른 이점은 법인, OEM(original equipment manufacturers), 모든 콘텐츠 배포자로 하여금, 악성 공격 이 스팸메일을 보내거나 이들을 속이는 것으로부터 보호되는 이들의 도움말 코퍼스(콘텐츠 집합)를 보유할 수 있다는 것이다. 후술될 바와 같이, 보안 콘텐츠의 요구사항들 중 하나는 콘텐츠가 디지털적으로 서명되기를 요구하는 것이다. 또한 배포자에 의해 콘텐츠가 디지털적으로 서명되기를 요구함으로써, 악성 콘텐츠를 따라갈 수 있는 단서 및 데이터 무결성을 검사하는 능력이 존재하게 된다.
보안 관리자(250)는 2개의 주요 규칙을 시행한다: 사용자가 명시적으로 혹은 묵시적으로 신뢰되는 콘텐츠를 가지고 있지 않은 경우, 또는 기기의 정책이 이를 허용하지 않는 경우에는, 절대로 도움말이 권한을 높게 하는 것을 허용해선 안되며 절대로 콘텐츠가 실행을 하는 것을 허용해선 안된다. 예를 들면, 어떤 회사에서 도메인 관리자가 워크 스테이션으로부터 웹으로의 모든 액세스를 종료한 경우에는, 사용자가 콘텐츠를 신뢰할지라도, 보안 관리자는 그 코드가 실행되는 것을 허용하지 않을 것이다. 도움말을 요청한 애플리케이션들은 자신들의 권한을 검사하여 임의의 자원을 액세스하거나 코드를 실행할 때마다 동일한 자격/권한이 이용된다. 이는 권한이 더 적은 애플리케이션에 의해 도움말 시스템의 활용이 행해지는 것을 방지하여 보다 권한이 많은 환경(context)에서 코드를 실행하게 한다. 권한이 충분히 낮거나, 정책이 지시된다면, 위험가능성 있는 콘텐츠를 비활성화시킨다.
최종 사용자는 애플리케이션과, 그 도움말을 설치하고, 이 도움말 콘텐츠가 서명된 인증서를 신뢰하는 것에 의해 도움말을 명시적으로 신뢰할 수 있다. 또한 신뢰되는 인증서 저장소에 이미 설치된 인증서를 이용하여 서명된 도움말 콘텐츠를 설치함으로써 묵시적인 신뢰가 인정된다. 이러한 신뢰가 없다면, 도움말은 정적인 텍스트로서 기능할 것이고 제3의 코드를 호출하거나 임의의 안전하지 않을 가능성이 있는 활성화된 도움말 시스템 특징들이 이용되는 것을 허용하지 않을 것이다. 정보 세트인 도움말 콘텐츠는, 동일한 인증서를 가지는 콘텐츠만이 그 콘텐츠 세트의 자식으로서 존재할 수 있기 때문에, 서명에 의하여 보호될 수 있다. 그러나, 몇몇의 실시예에서, 특히 다른 애플리케이션 또는 다른 콘텐츠 세트에 대하여, 특정 인증서로부터 콘텐츠가 이전에 신뢰되었던 경우더라도, 시스템은 사용자로부터 임의의 새로운 콘텐츠를 수락하는 것을 명시적으로 허용할 것을 요구할 수 있다. 다시 말하면, 사용자가 특정 회사 또는 콘텐츠 제공자로부터의 인증서를 가지는 애플리케이션에 대한 콘텐츠를 수락하는 경우에도, 사용자는 그 동일한 회사의 다른 제품으로부터 자동으로 콘텐츠를 수락하는 것을 의미하지는 않는다. 예시적인 실시예의 다른 특징은, 콘텐츠의 세트 또는 서브세트가 다른 콘텐츠 세트로 플러그인될 수 있게 해줄 쿠폰 파일, 또는 키의 개념을 이용하는 것이다. 이러한 키는 부모 콘텐츠 세트의 원래 소유자에 의해 제어되고 지정된 조직들에 배포된다.
온라인 콘텐츠를 검사하고 신뢰 모델에 참여하게 해주는 데에 디지털 서명이 이용된다. 그러므로 서버 또는 저장 장치에서 유래한 도움말 콘텐츠는 코드가 실행되게 하거나 확장된 활성화된 행위를 이용할 수 있는지를 판정하기 위한 검사를 안전하게 수행할 수 있다.
이제 본 방법 실시예의 보다 상세한 설명이 제공된다. 몇몇의 실시예에서 보안 관리자(250)는 신뢰 기반 보안 모델(260)을 이용하여 이들 방법을 실행하도록 구성된다. 도 3을 참조하면, 보안 관리자(250)에 의해 신뢰 기반 보안을 구현하기 위한 예시적인 실시예에 채용된 특징들을 구비한 도움말 콘텐츠 파일 또는 파일들(300)이 도시된다. 도시된 바와 같이, 특정 실시예에 의존하여, 콘텐츠(300)는 디지털 서명(305), 인증서(310), 및 쿠폰 또는 키(315) 중 일부 또는 모두를 포함해야 한다. 모든 실시예가 신뢰된 콘텐츠로서 여겨지기 위해 이들 3개의 특징을 다 필요로 하는 것은 아니지만, 이들 3가지 특징들 모두가 이용되는 예에 대한 설명이 제공된다.
서명(305)은 전자 문서 또는 파일의 소스를 나타내는 임의의 바람직한 전자 서명 포맷일 수 있다. 예를 들면, 서명(305)은 XML(EXtensible Markup Language) 문서에 디지털적으로 서명을 하고, 이 문서가 진품임을 증명하기 위한 W3C 표준에 따른 XML 서명일 수 있다. 다른 디지털 서명 포맷도 이용될 수 있다. 디지털 서명(305)을 추가하면, 디지털 인증서(310)도 필요할 수 있다. VeriSign, Inc 등의 상업용 인증 허가를 통해 획득될 수 있는 디지털 인증서는 서명의 허가를 구축한다.
전자 쿠폰(또는 키)(315) 또한 도움말 콘텐츠(300)에 포함될 수 있다. 일반적으로, 전자 쿠폰은 2개의 전자 문서들 간의 관계를 안전하게 식별하는 방식이다. 그러므로, 몇몇의 실시예에서 전자 쿠폰은 콘텐츠의 서브셋 세트가 다른 콘텐츠 세트에 플러그인될 수 있게 해주는 데에 이용된다. 쿠폰 또는 키는 부모 콘텐츠 세트의 원래 소유자에 의해 제어되고 지정된 조직들로 배포된다.
이제 도 4를 참조하면, 도움말 시스템에서 보안을 제공하는 방법의 일 실시예를 도시하는 흐름도(400)가 도시된다. 신뢰 기반 보안 모델(260)을 이용하여, 보안 관리자(250)는 도 4에 도시된 방법을 구현하도록 구성될 수 있다. 블록(405)에 도시된 바와 같이, 방법은 호출 애플리케이션(즉, 도 2에 도시된 애플리케이션(207))으로부터 활성화된 콘텐츠를 액세스하기 위한 호출을 수신하는 단계를 포함한다. 그러한 활성화된 콘텐츠는 서버 컴퓨터로부터 다운로드될 수 있는 (콘텐츠(220) 등의) 콘텐츠, 또는 애플리케이션(207)과 동일한 컴퓨터 상에 있는 콘텐츠일 수 있다. 호출 애플리케이션(207)으로부터 호출을 수신한 이후에는, (예를 들면, 신뢰 기반 보안 모델(260)에 의해 정의된) 소정의 기준에 기초하여, (예를 들면, 보안 관리자(250)에 의하여) 활성화된 콘텐츠를 액세스하는 데에 이용될 수 있는 실행 모드를 결정한다. 이는 도 4의 블록(410)에 도시된 단계에서 예시된다. 그 다음, 블록(415)에서 도시된 바와 같이, 방법은 이 소정의 실행 모드에서 활성화된 콘텐츠를 액세스하는 단계를 포함한다.
상술한 바와 같이, 몇몇의 실시예에서, 활성화된 콘텐츠를 액세스하는 데에 이용될 수 있는 실행 모드는 안전 모드 및 신뢰 모드를 포함한다. 신뢰 모드는 정상적인 실행 모드이며, 신뢰 모드에서는 코드 또는 기타 활성화된 콘텐츠가 실행되거나 호출되는 것이 허용되며 호출 애플리케이션의 권한을 가지고 동작한다. 안전 모드에서는, 호출 애플리케이션 및 대상 활성화된 콘텐츠 중 하나 또는 둘 다에서 신뢰가 부족함을 나타내어, 활성화된 콘텐츠 파일의 내용이 가능한 정도까지는 정적으로 렌더링되고 디스플레이되지만, 활성화된 콘텐츠에서의 코드 실행이 제한된다. 예를 들면, 안전 모드에서는, ACW 및 셀 실행 콘텐츠의 호출을 금지할 수 있다. 또한, 온라인 도움말 콘텐츠로의 액세스 금지가 이 모드에서 시행될 수 있다. 활성화된 콘텐츠 파일, 제목, 상태 조사 및 행위는 정적으로 렌더링되기 위하여 SEE-제한(constrained) 환경에서 렌더링될 수 있다. 용어 SEE(Secure Execution Environment)는 제한된 관리되는 애플리케이션에 대하여 설정된 특정 권한을 칭한다. 용어 SEE-제한이란 일반적으로 SEE 권한을 가지는 집합(assembly)을 샌드박싱(sandbox)하는 런타임 환경(아마도 애플리케이션 도메인)을 기술한다. 다시 말하면, 도움말 시스템은 이 집합에 의한 권한을 높이려는 시도를 전부 금지한다. 이 예시적인 실시예에서는 2개의 실행 모드가 이용되었지만, 다른 실시예에서는 다른 개수의 실행 모드가 이용될 수 있음을 유의해야 한다. 또는, SEE를 이용하는 대신에, 몇몇의 모드에 대하여 종래의 내재된(native) 코드 기반 보안이 이용될 수 있다.
예시적인 실시예에서는, 활성화된 콘텐츠를 액세스하기 위한 특정 호출에 응답하여 실행 모드를 제어하는 소정의 기준은 다음을 포함한다:
(1) 호출 애플리케이션의 신뢰 상태(신뢰됨, 신뢰되지 않음, 등);
(2) 요청된 활성화된 콘텐츠가 신뢰되는 소스에서 유래했는지 여부. 몇몇의 실시예에서, 요청된 활성화된 콘텐츠가 신뢰되는 소스에서 유래했는지에 대한 판정은 몇 가지 기준을 포함할 수 있다. 예를 들면, 한 기준은 활성화된 콘텐츠가 전자적으로 서명(도 3의 305)되었는지 여부이다. 이 콘텐츠가 전자적으로 서명되지 않았다면, 신뢰되는 소스에서 유래한 것이 아니라고 판정한다. 몇몇의 실시예에서는 활성화된 콘텐츠가 신뢰되는 소스에서 유래한 것이라고 전자적으로 서명된 경우일지라도, 활성화된 콘텐츠는 유효한 인증서(도 3의 310)를 구비해야 한다. 또 다 른 실시예에서는, 요청된 활성화된 콘텐츠가 신뢰되는 소스에서 유래한 유효한 쿠폰 또는 키(도 3의 315)를 가지기를 더 요구한다. 이는, 특히, 상술하였던 다른 콘텐츠("부모 콘텐츠")에 콘텐츠("자식 콘텐츠")를 플러그인하기를 시도할 때 이용된다.
도 5는 활성화된 콘텐츠가 액세스될 수 있는 실행 모드를 결정하는 프로세스에서 상술한 것과 다른 기준을 예시하는 흐름도(500)이다. 판정(505)에서, 우선 호출 애플리케이션이 신뢰되는 애플리케이션인지가 판정된다. 호출 애플리케이션의 애플리케이션 상태가 신뢰되지 않음(참조번호(506)로 나타낸 신뢰되지 않는 호출 애플리케이션 상태)이라면, 활성화된 콘텐츠는 (참조번호(510)에서 나타낸 바와 같이) 안전 모드에서 액세스된다. 호출 애플리케이션의 신뢰 상태가 신뢰됨(참조번호(507)로 나타낸 신뢰되는 호출 애플리케이션 상태)이라면, 실행 모드 결정 프로세스는 활성화된 콘텐츠(예를 들면, 도움말 파일)가 서명되었는지 서명되지 않았는지를 판정하는 판정(515)으로 계속된다. 이 콘텐츠가 서명되지 않았다면, 활성화된 콘텐츠는 안전 모드(510)에서 액세스된다. 활성화된 콘텐츠가 서명되었다면, 프로세스는 콘텐츠가 유효한 인증서를 가지는지를 판정하는 판정(520)으로 계속된다. 다시, 콘텐츠가 유효한 인증서를 가지지 않은 경우, 활성화된 콘텐츠는 안전 모드에서 액세스된다. 상술한 바와 같이, 판정(515) 및 판정(520)은 활성화된 콘텐츠가 신뢰되는 소스에서 유래했는지에 대한 판정 전체(512)의 일부이다.
상술한 것과는 다른 선택적인 실시예들에서는, 실행 모드 판정 단계 또는 프로세스는 요청된 콘텐츠가 유효한 쿠폰을 가지는지를 판정하는 판정(525)을 더 포 함할 수 있다. 유효한 쿠폰을 가지지 않는다면, 안전 모드(510)가 다시 선택된 실행 모드가 된다. 이들 기준 모두가 만족한다면, 참조번호(530)에서 나타난 바와 같이 활성화된 콘텐츠는 신뢰 모드에서 액세스될 수 있다. 그러나, 다른 판정 단계들이 다른 결론을 내렸다 할지라도, 정책(247)은 어떤 모드가 이용될 것인지를 지시할 수 있음을 상기하자.
이제 도 6을 참조해 보면, 신뢰되는 콘텐츠와 신뢰되지 않는 콘텐츠 간의 전이의 개략적인 표현이 도시된다. 애플리케이션이 신뢰 모드에서 신뢰되는 활성화된 콘텐츠(605)를 액세스하고 있으며, 신뢰되지 않는 활성화된 콘텐츠(610)를 액세스하기 위한 호출이 수신되었다면, 보안 관리자(250)는 참조번호(607)에 나타난 바와 같이 안전 모드로 전이하게 된다. 그러나, 이와는 다르게, 그 다음 신뢰되는 활성화된 콘텐츠(615)를 액세스하기 위한 호출이 수신되는 경우, 보안 관리자(250)는 신뢰되지 않는 콘텐츠(610)의 권한을 높이는 것을 방지하기 위하여 참조번호(512)에 나타난 바와 같이 안전 모드에서 동작하는 것을 계속한다.
그러나, 보안 관리자(250)가 신뢰되는 콘텐츠(620)를 액세스 할 때 신뢰 모드에서 동작하고 있는 경우에는, 신뢰 모드에서 안전 모드로 전이되지 않고 다른 신뢰되는 콘텐츠(625)가 액세스될 수 있다. 이는 도 6의 참조번호(622)로 나타내었다. 이 경우는, 처음에 신뢰된 콘텐츠가 권한을 높이지 않을 것이기 때문에 추가적인 신뢰되는 콘텐츠가 신뢰 모드를 계속 유지하면서 액세스될 수 있음을 나타낸다.
요지가 구조적인 특징 및/또는 방법론적인 행위에 특정된 언어로 기술되었지 만, 첨부된 특허 청구 범위에 정의된 요지는 상술한 특정 특징 또는 행위에 반드시 한정될 필요는 없다고 이해되어야 한다. 오히려, 상술한 특정 특징 및 행위는 청구범위를 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법으로서,
    호출 애플리케이션으로부터 활성화된 콘텐츠를 액세스하기 위한 호출을 수신하는 단계; 및
    소정의 기준에 기초하여, 상기 활성화된 콘텐츠가 액세스될 수 있는 실행 모드를 결정하는 단계;
    상기 결정된 실행 모드에서 상기 활성화된 콘텐츠를 액세스하는 단계
    를 포함하는 도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계는
    상기 활성화된 콘텐츠를 신뢰 모드에서 액세스할지 아니면 안전 모드에서 액세스할지를 결정하는 단계를 더 포함하고,
    상기 신뢰 모드는 상기 활성화된 콘텐츠의 코드 실행을 허용하고,
    상기 안전 모드는 상기 활성화된 콘텐츠의 내용을 정적으로 렌더링하지만 상기 활성화된 콘텐츠의 코드 실행은 제한하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 소정의 기준에 기초하여, 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계는 상기 호출 애플리케이션의 신뢰 상태를 결정하는 단계를 더 포함하고,
    상기 호출 애플리케이션은 신뢰되는 애플리케이션 상태 및 신뢰되지 않는 애플리케이션 상태 중 하나를 가질 수 있는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 호출 애플리케이션이 상기 신뢰되지 않는 애플리케이션 상태를 가지는 것이라고 결정된다면 상기 실행 모드는 상기 안전 모드가 되는 것으로 결정되는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 소정의 기준에 기초하여, 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계는 상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래했는지를 판정하는 단계를 더 포함하고,
    상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래하지 않았다고 판정되면 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드는 상기 안전 모드가 되는 것으로 결정되는 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래하였는지를 판정하는 단계는 상기 활성화된 콘텐츠가 전자적으로 서명되었는지를 판정하는 단계를 더 포함하고,
    상기 활성화된 콘텐츠가 전자적으로 서명되지 않았다면 상기 활성화된 콘텐츠는 신뢰되지 않는 소스에서 유래하였다고 판정되는 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 활성화된 콘텐츠가 전자적으로 서명되었다면, 상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래하였는지를 판정하는 단계는 상기 활성화된 콘텐츠가 유효한 인증서를 가지는지를 판정하는 단계를 더 포함하고,
    상기 활성화된 콘텐츠가 유효한 인증서를 가지지 않는다면 상기 활성화된 콘텐츠는 신뢰되지 않는 소스에서 유래하였다고 판정되는 컴퓨터 구현 방법.
  8. 제2항에 있어서,
    상기 소정의 기준에 기초하여, 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계는 상기 활성화된 콘텐츠가 유효한 쿠폰을 가지는지 판정하는 단계를 더 포함하고,
    상기 활성화된 콘텐츠가 유효한 쿠폰을 가지지 않는다고 판정되면 상기 실행 모드는 상기 안전 모드인 것으로 결정되는 컴퓨터 구현 방법.
  9. 제2항에 있어서,
    상기 소정의 기준에 기초하여, 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계는 상기 호출 애플리케이션이 상주하는 컴퓨터의 동작을 제어하는 관리 정책에 기초하여 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 방법의 단계들은 신뢰 모델을 이용하여 구현되고,
    상기 관리 정책이 변경되었다면, 상기 신뢰 모델은 상기 활성화된 콘텐츠의 실행을 시행하는 데에 상기 변경된 정책을 이용하도록 상기 신뢰 모델은 본질적으로 동적인 컴퓨터 구현 방법.
  11. 제1항의 방법의 단계들을 구현하기 위한 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 매체.
  12. 컴퓨터의 사용자에게 도움말을 제공하기 위한 시스템으로서,
    호출 애플리케이션으로부터 활성화된 콘텐츠를 액세스하기 위한 호출을 수신하는 도움말 시스템; 및
    상기 활성화된 콘텐츠가 액세스될 수 있는 실행 모드를 결정하는 데에 신뢰 기반 보안 모델을 이용하는 보안 관리자
    를 포함하는 컴퓨터의 사용자에게 도움말을 제공하기 위한 시스템.
  13. 제12항에 있어서,
    상기 보안 관리자는 소정의 기준에 기초하여 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드를 결정하는 시스템.
  14. 제13항에 있어서,
    상기 보안 관리자는 상기 활성화된 콘텐츠를 신뢰 모드에서 액세스할지 아니면 안전 모드에서 액세스할지를 결정하도록 구성되고,
    상기 신뢰 모드는 상기 활성화된 콘텐츠의 코드 실행을 허용하고,
    상기 안전 모드는 상기 활성화된 콘텐츠의 내용을 정적으로 렌더링하지만 상기 활성화된 콘텐츠의 코드 실행은 제한하는 시스템.
  15. 제14항에 있어서,
    상기 소정의 기준은 상기 호출 애플리케이션의 신뢰 상태를 포함하고,
    상기 호출 애플리케이션은 신뢰되는 애플리케이션 상태 및 신뢰되지 않는 애플리케이션 상태 중 하나를 가질 수 있고,
    상기 보안 관리자는 상기 호출 애플리케이션의 상기 신뢰 상태를 결정하도록 더 구성되는 시스템.
  16. 제15항에 있어서,
    상기 보안 관리자는 상기 호출 애플리케이션이 상기 신뢰되지 않는 애플리케이션 상태를 가지는 것이라고 결정된다면 상기 실행 모드는 상기 안전 모드로 결정하도록 구성된 시스템.
  17. 제14항에 있어서,
    상기 소정의 기준은 상기 활성화된 콘텐츠의 소스의 신뢰 상태를 포함하고,
    상기 보안 관리자는 상기 활성화된 콘텐츠의 소스의 상기 신뢰 상태를 결정하도록 더 구성되며,
    상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래하지 않았다고 판정되면 상기 활성화된 콘텐츠가 액세스될 수 있는 상기 실행 모드는 상기 안전 모드가 되는 것으로 결정하는 시스템.
  18. 제17항에 있어서,
    상기 보안 관리자가 상기 활성화된 콘텐츠의 소스의 상기 신뢰 상태를 결정하도록 구성하는 것은 상기 보안 관리자가 상기 활성화된 콘텐츠가 전자적으로 서명되는지를 판정하도록 구성하는 것을 더 포함하고,
    상기 활성화된 콘텐츠가 전자적으로 서명되지 않았다면 상기 활성화된 콘텐츠는 신뢰되지 않는 소스에서 유래하였다고 판정되는 시스템.
  19. 제18항에 있어서,
    상기 활성화된 콘텐츠가 전자적으로 서명되었다면, 상기 보안 관리자는 상기 활성화된 콘텐츠가 유효한 인증서를 가지는지를 판정함으로써 상기 활성화된 콘텐츠가 신뢰되는 소스에서 유래하였는지를 판정하도록 구성되고,
    상기 활성화된 콘텐츠가 유효한 인증서를 가지지 않는다면 상기 활성화된 콘텐츠는 신뢰되지 않는 소스에서 유래한 것이라고 판정되는 시스템.
  20. 제19항에 있어서,
    상기 소정의 기준은 상기 활성화된 콘텐츠가 유효한 쿠폰을 가지는지 여부를 더 포함하고,
    상기 활성화된 콘텐츠가 유효한 쿠폰을 가지지 않는다고 판정되면 상기 실행 모드는 상기 안전 모드가 되는 것으로 결정되는 시스템.
KR1020077030217A 2005-06-27 2006-05-08 도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법,시스템, 및 컴퓨터 판독가능 매체 KR20080021694A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/167,448 2005-06-27
US11/167,448 US7624111B2 (en) 2005-06-27 2005-06-27 Active content trust model

Publications (1)

Publication Number Publication Date
KR20080021694A true KR20080021694A (ko) 2008-03-07

Family

ID=37568827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030217A KR20080021694A (ko) 2005-06-27 2006-05-08 도움말 시스템에서 보안을 제공하는 컴퓨터 구현 방법,시스템, 및 컴퓨터 판독가능 매체

Country Status (9)

Country Link
US (1) US7624111B2 (ko)
EP (1) EP1896999A2 (ko)
JP (1) JP2008547111A (ko)
KR (1) KR20080021694A (ko)
CN (1) CN101535985A (ko)
BR (1) BRPI0611606A2 (ko)
MX (1) MX2007015442A (ko)
RU (1) RU2007147899A (ko)
WO (1) WO2007001635A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519621B2 (en) * 2006-06-30 2016-12-13 Adobe Systems Incorporated Deterministic rendering of active content
EP2392113B1 (en) 2009-01-30 2020-10-21 British Telecommunications public limited company Secure web-based service provision
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
US8364959B2 (en) 2010-05-26 2013-01-29 Google Inc. Systems and methods for using a domain-specific security sandbox to facilitate secure transactions
US9147085B2 (en) * 2010-09-24 2015-09-29 Blackberry Limited Method for establishing a plurality of modes of operation on a mobile device
US10496824B2 (en) * 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform
US20130039266A1 (en) 2011-08-08 2013-02-14 Research In Motion Limited System and method to increase link adaptation performance with multi-level feedback
US10445528B2 (en) * 2011-09-07 2019-10-15 Microsoft Technology Licensing, Llc Content handling for applications
US20130159851A1 (en) * 2011-12-20 2013-06-20 Bewo Technologies Pvt.Ltd Method and system for providing help content to users
US9137261B2 (en) 2012-02-03 2015-09-15 Apple Inc. Centralized operation management
CN103117992A (zh) * 2012-09-10 2013-05-22 微软公司 应用的内容处理
US9111107B2 (en) 2014-01-17 2015-08-18 Sony Corporation Computer ecosystem providing a process for determining trust in content sharing
CN104063653B (zh) * 2014-05-30 2017-09-12 小米科技有限责任公司 验证界面显示方法及装置
US10586029B2 (en) 2017-05-02 2020-03-10 Dell Products L.P. Information handling system multi-security system management
US10810297B2 (en) 2017-05-02 2020-10-20 Dell Products L.P. Information handling system multi-touch security system
US11074323B2 (en) * 2017-12-07 2021-07-27 Microsoft Technology Licensing, Llc Method and system for persisting files
US10885193B2 (en) * 2017-12-07 2021-01-05 Microsoft Technology Licensing, Llc Method and system for persisting untrusted files
GB2576923B (en) * 2018-09-06 2020-09-02 Arm Ip Ltd A method of processing transactions from an untrusted source

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
US6145096A (en) * 1998-05-06 2000-11-07 Motive Communications, Inc. Method, system and computer program product for iterative distributed problem solving
JP3501038B2 (ja) * 1999-10-06 2004-02-23 日本電気株式会社 携帯端末システム、これに用いる携帯端末
US7580988B2 (en) * 2001-04-05 2009-08-25 Intertrust Technologies Corporation System and methods for managing the distribution of electronic content
JP2003006027A (ja) * 2001-06-21 2003-01-10 Hitachi Ltd アクセス制御ポリシーの自動設定方法およびそのシステム
JP3888273B2 (ja) * 2002-09-25 2007-02-28 日本電気株式会社 外部プログラムの動作制御方法、動作制御プログラム、動作制御装置、及び、動作制御プログラム提供装置
US7467206B2 (en) * 2002-12-23 2008-12-16 Microsoft Corporation Reputation system for web services
JP2004213181A (ja) * 2002-12-27 2004-07-29 Ricoh Co Ltd カプセル化文書構造、記憶媒体、情報処理装置、カプセル化文書作成編集装置及び起動プログラム
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon

Also Published As

Publication number Publication date
WO2007001635A2 (en) 2007-01-04
CN101535985A (zh) 2009-09-16
BRPI0611606A2 (pt) 2010-09-21
MX2007015442A (es) 2008-02-25
JP2008547111A (ja) 2008-12-25
EP1896999A2 (en) 2008-03-12
RU2007147899A (ru) 2009-06-27
US20060294102A1 (en) 2006-12-28
US7624111B2 (en) 2009-11-24
WO2007001635A3 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
US7624111B2 (en) Active content trust model
KR101242312B1 (ko) 낮은 권한으로 실행하는 인터넷 애플리케이션에 대한컴퓨터 구현 방법
US7930738B1 (en) Method and apparatus for secure execution of code
US9069941B2 (en) Access authorization having embedded policies
US8646044B2 (en) Mandatory integrity control
Crites et al. Omash: enabling secure web mashups via object abstractions
US20060090192A1 (en) Method and system for ensuring that computer programs are trustworthy
Burns Developing secure mobile applications for android
US8271995B1 (en) System services for native code modules
JP2005129066A (ja) オペレーティングシステムリソース保護
US7882547B2 (en) Securely calling web services from macros
JP2006107505A (ja) アクセス認可のapi
Stiegler et al. How emily tamed the caml
Gritzalis et al. Security issues surrounding programming languages for mobile code: Java vs. Safe-Tcl
Yang et al. Lbac web: a lattice-based access control model for mobile thin client based on web oses
Gritzalis et al. Addressing security issues in programming languages for mobile code
RU2606883C2 (ru) Система и способ открытия файлов, созданных уязвимыми приложениями
Holford et al. The concept of self-defending objects in the development of security aware applications
Gosselin et al. Confining the apache web server with security-enhanced linux
Sze Enhancing Operating Systems with Network Provenance Based Policies for Systematic Malware Defense
Mohan et al. Making Marshmallow’s Permissions Sweet Again
Yip Improving web site security with data flow management
Murison .NET Framework Security
JP2008165541A (ja) シンクライアントの外部認証記憶装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid