KR20100052402A - 보다 안전한 컴퓨팅 환경 및 시스템을 위한 액티브 액세스 모니터링 - Google Patents

보다 안전한 컴퓨팅 환경 및 시스템을 위한 액티브 액세스 모니터링 Download PDF

Info

Publication number
KR20100052402A
KR20100052402A KR1020090085003A KR20090085003A KR20100052402A KR 20100052402 A KR20100052402 A KR 20100052402A KR 1020090085003 A KR1020090085003 A KR 1020090085003A KR 20090085003 A KR20090085003 A KR 20090085003A KR 20100052402 A KR20100052402 A KR 20100052402A
Authority
KR
South Korea
Prior art keywords
access
component
components
accessed
state
Prior art date
Application number
KR1020090085003A
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 KR20100052402A publication Critical patent/KR20100052402A/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

액세스를 제어하는 기술이 개시된다. 본 발명의 기술은 상대적으로 더 위협받기 쉬운 것들(예, 모바일 폰)을 포함하는 다양한 컴퓨팅 시스템(예, 컴퓨팅 디바이스)에서의 참조 모니터링에 사용될 수 있다. 허용된 액세스는 불허될 수 있다. 다시 말하면, 컴포넌트에 대한 액세스 허가는, 비록 액세스가 진행중인 경우라고 하더라도 철회될 수 있다. 컴포넌트의 액세스 허가가 허용된 후, 이 컴포넌트의 액세스 허가를 철회할지의 여부를 판단하기 위하여, 하나 또는 그 이상의 불허-액세스 조건 또는 이벤트가 모니터될 수 있다. 결과적으로, 컴포넌트에 대해 허용된 액세스는 불허될 수 있다. 액세스는 집합적으로 및/또는 소정의 정해진 시간동안 컴포넌트의 행동을 고려하여 불허될 수 있다. 예를 들어, 메시징 애플리케이션이 하나의 세션 또는 4시간 동안, 받아들여질 수 있는 제한치보다 더 많은 메시지를 전송한다면, 이 메시징 애플리케이션은 통신 포트에 대한 액세스가 불허될 수 있다. 불허-액세스 정책, 규칙 및/또는 조건은, 예를 들어, 최종 사용자 및 시스템 관리자에 의해 정의되고 변경될 수 있고, 이에 따라 변화에 더 적응할 수 있는 맞춤형의 유연한 보안 환경을 허용한다.
액세스, 모니터, 컴포넌트, 자원

Description

보다 안전한 컴퓨팅 환경 및 시스템을 위한 액티브 액세스 모니터링 {Active access monitoring for safer computing environments and systems}
본 발명의 일양상에 따른 기술분야는 컴퓨팅 환경과 컴퓨팅 시스템에 관한 것으로, 보다 상세하게는 컴퓨팅 환경 및 컴퓨팅 시스템에서의 액세스를 제어하는 향상된 기술에 관한 것이다.
개념적으로 말하면, 컴퓨팅 시스템(예, 컴퓨팅 디바이스, 개인용 컴퓨터, 랩톱, 스마트 폰, 모바일 폰)은 정보(콘텐츠 또는 데이터)를 받아들이고, 이들 정보를 어떻게 처리할 것인지를 효과적으로 기술하는 일련의 명령(또는 컴퓨터 프로그램)에 기초하여 정보를 가공함으로써, 결과를 얻거나 결정한다.
그리고 일반적으로, 이들 정보는 디지털 또는 바이너리 형태로 컴퓨터로 읽을 수 있는 기록매체에 저장된다. 보다 복잡한 컴퓨팅 시스템은 컴퓨터 프로그램 그 자체를 포함하는 콘텐츠를 저장할 수 있다. 컴퓨터 프로그램은 변하지 않거나(invariable), 또는 예를 들어, 마이크로프로세서 또는 컴퓨터 칩이 장착된 논리회로와 같은 컴퓨터(컴퓨팅) 디바이스에 짜맞춰 들어갈 수 있다. 오늘날, 범용 컴퓨터들은 여러 종류의 프로그래밍을 구현할 수 있다.
그리고 컴퓨팅 시스템은, 다양한 자원(resource)(예, 메모리, 주변장치)와 서비스(예, 파일 열기 등과 같은 기본적인 기능)를 관리하고 이들 자원을 다수의 프로그램들이 공유할 수 있도록 하는 시스템을 지원할 수 있다. 이러한 지원 시스템은 일반적으로 잘 알려져 있고, 인터페이스와 함께 프로그래머에게 제공되는 운영체제(OS)는, 이러한 자원과 서비스를 액세스하기 위해 사용된다.
오늘날 다양한 종류의 컴퓨팅 디바이스가 존재한다. 이들 컴퓨팅 디바이스들은 크기, 가격, 저장용량 및 프로세싱 파워 등에 따라 다양하게 분포되어 있다. 오늘날 사용되는 이들 컴퓨팅 디바이스들은, 고가이며 파워풀한 서버, 상대적으로 저렴한 개인용 컴퓨터(PC)와 랩톱, 그리고 저장장치, 자동차, 그리고 가정용 전자제품에 장착되는 저렴한 마이크로프로세서(또는 컴퓨터 칩)를 포함한다.
최근, 컴퓨팅 시스템은 점점 휴대형(portable)이며 이동형(mobile)이 되어 가고 있다. 그 결과, 다양한 모바일 그리고 핸드헬드(handheld) 디바이스들이 등장했다. 예를 들면, 무선전화(wireless phone), 미디어 플레이어, PDA(Personal Digital Assistant)가 오늘날 널리 사용되고 있다. 일반적으로, 모바일 또는 핸드헬드 디바이스(핸드헬드 컴퓨터 또는 간단하게 핸드헬드라고도 한다)는 포켓 크기의 컴퓨팅 장치가 될 수 있다. 그리고 이는 일반적으로, 사용자 출력을 위해 작은 크기의 디스플레이 스크린을 이용하며, 사용자 출력을 위해 소형화된 키보드를 이용한다. PDA의 경우, 입출력은 터치 스크린 인터페이스로 결합될 수 있다.
특히, 모바일 통신 디바이스(예, 모바일 폰)가 매우 보편화되어 있다. 어떤 모바일 통신 디바이스(예, 스마트폰)는 PC에 의해 제공되는 것과 유사한 컴퓨팅 환 경을 제공한다. 이에 따라, 스마트폰은 애플리케이션 개발자들에게 표준화된 인터페이스와 플랫폼으로써, 완전한 운영 시스템을 효과적으로 제공할 수 있다. 모바일 통신 디바이스의 보급을 전제로, 통신(telecommunication)에 대해 이하 상세하게 설명한다.
일반적으로, 통신(telecommunication)은 의사소통을 목적으로 하여, 먼거리에서 신호 전송을 도와주는 것을 의미한다. 옛날에는 이를 위해, 연기 신호를 사용하거나, 드럼, 수기신호(semaphore) 또는 일광반사신호(heliograph) 등을 사용하였다. 현대에 이르러, 통신은 전화, 텔레비젼, 라디오 또는 컴퓨터와 같은 전자 송신기를 사용하게 되었다. 통신분야에 있어 초기 발명가들로는 알렉산더 그래엄 벨(Alexander Graham Bell), 굴리엘모 마르코니(Guglielmo Marconi) 및 존 로지 베어드(John Logie Baird)를 포함한다. 통신은 세계 경제의 중요한 부분이며, 통신산업분야의 생산은 세계총생산의 약 3 % 를 차지한다.
전통적인 전화기는 오랫동안 사용되어 왔다. 최초의 전화기는 네트워크 없이, 양방이 서로 쌍으로 연결된 상태로 개인적인 목적으로 사용되었다. 다른 사람들과 이야기 하기를 원하는 사용자들이, 보다 많은 전화기를 가지게 되었다. 전형적으로, 이야기하고자 하는 사람은, 우선 상대방이 들을때까지 송신기를 통해 휘슬(whistle)을 불었었다. 이후에는 시그널링을 위해 벨(bell)이 추가되었고, 그 다음에는 스위치 후크(switch hook)가 추가되었다. 그리고 이후 전화기는 전신(telegraph) 네트워크에서 이미 채용된 교환기 원리의 장점을 채용하게 되었다. 각각의 전화기는 지역 전화 교환기(local telephone exchange)에 연결되었고, 이 교환기들은 모두 중계회선(trunk)에 연결되었다. 네트워크는 계층적으로 연결되어, 도시, 국가, 대륙, 대양으로 퍼져 나갔다. 이는 공중 스위치 전화 네트워크(Public Switched Telephone Network, PSTN)의 시작이라고 생각할 수 있으며, 이는 수십년동안 잘 알려져 있지 않은 용어였다.
인터넷이 세계의 IP 기반의 패킷 교환(packet-switched) 네트워크인 것과 마찬가지로, PSTN은 세계 회선 교환(circuit-switched) 전화 네트워크이다. 원래 고정된 라인의 아날로그 전화 시스템인 PSTN은 현재 거의 디지털로 되었으며, 고정 전화뿐만 아니라 모바일까지도 포함한다. PSTN은 ITU-T에 의해 제정된 기술표준에 의해 지배를 받으며, 어드레싱(addressing)을 위해 E.163/E.164 어드레스를 사용한다(이는 일반적으로 전화번호라고 알려져 있다).
보다 최근에는 무선 네트워크(wireless network)가 개발되었다. 무선 네트워크라는 용어가 기술적으로는 선이 없는 어떤 타입의 네트워크를 모두 가리키나, 이 용어는 때때로 노드들간의 상호연결이 컴퓨터 네트워크(통신 네트워크의 한 형태임)와 같은 유선을 사용하지 않고 구현되는 통신 네트워크를 가리킨다. 무선 통신 네트워크는, 일예로, 캐리어로써 전파(radio wave)와 같은 전자기파(electromagnetic wave)를 사용하는 원격 정보 전송 시스템의 한 형태로 구현될 수도 있다. 그리고 이는 물리적 레벨 또는 네트워크의 계층(layer)(예를 들어, OSI 모델의 물리계층)에서 구현될 수 있다.
무선 네트워크의 한 형태로 WLAN 즉, 무선랜(Wireless Local Area Network)이 될 수 있다. 다른 무선 디바이스들과 유사하게, 동일 네트워크의 컴퓨터들간 데이터를 서로 주고 받기 위해 유선 대신 전파(radio wave)를 사용한다. Wi-Fi 는 인터넷 또는 Wi-Fi 기능을 가진 다른 장치에 연결될 수 있는 컴퓨터 시스템에 있어서 무선 네트워크를 사용한다. Wi-Fi 네트워크는, 다른 컴퓨터들 또는 모바일 폰에 구비되어 있는 Wi-Fi 수신기에 의해 픽업될 수 있는 전파를 브로드캐스트한다. 고정된 무선 데이터(fixed wireless data)는, 네트워크 대역폭(bandwidth)을 넓히거나 공유하기 위해 건물들을 물리적으로 연결하지 않고, 두개 또는 그 이상의 건물들을 함께 연결하는데 사용될 수 있는 무선 데이터 네트워크의 한 종류이다. 무선 MAN(Metropolitan Area Network)은 여러개의 무선 랜을 연결하는 무선 네트워크의 일종이다.
오늘날, 여러개의 모바일 네트워크가 사용되고 있다. 한 예로 모바일 통신을 위한 글로벌 시스템(Global System for Mobile Communcation, GSM)을 들 수 있는데, 이는 스위칭(switching) 시스템, 기지국(base station) 시스템, 그리고 운용 및 지원(operation and support) 시스템의 3개 중요 시스템으로 나눌 수 있다. 셀룰러 폰(cell phone)은 기지국 시스템에 연결되어, 이후 운용 및 지원 시스템에 연결될 수 있다. 그리고 나서 스위칭 시스템에 연결되어, 도달하고자 하는 곳으로 호(call)가 전달된다. 이는 셀룰러 폰에서 사용되며 대다수의 셀룰러 공급자(provider)에서 보편적으로 사용되고 있다. 개인 통신 서비스(Personal Communication Service, PCS)는 북미에서의 모바일 폰에서 사용도는 주파수 밴드이다. 스프린트사는 PCS를 준비하여(setup) 최초로 서비스하였다. 디지털 어드밴스드 모바일 폰 서비스(Digital Advanced Mobile Phone Service, D-AMPS)는 AMP의 업 그레이드 버전이나, 새로운 GSM 네트워크가 구 시스템을 대체함에 따라 사라져가고 있다.
모바일 네트워크의 다른 일예로, 범용 패킷 라디오 서비스(General Packet Radio Service, GPRS)가 있다. 이는 GSM 및 IS-136 모바일 폰의 사용자들이 이용할 수 있는 모바일 데이터 서비스이다. GPRS 데이터 전송은, 전형적으로 전송 데이터를 킬로바이트 단위로 과금하지만, 반면 전통적인 회선 스위칭(circuit switching)을 통한 데이터 통신은, 사용자가 데이터를 실제 전송하였는가 또는 아이들(idle) 상태에 있었는가에 관계없이 연결 시간에 따라 과금된다.
GPRS는 무선 애플리케이션 프로토콜(Wireless Application Protocol, WAP) 액세스, 단문 메시지 서비스(Short Message Service, SMS), 멀티미디어 메시징 서비스(Multimedia Messaging Service, MMS)와 같은 서비스들을 위해 사용될 수 있고, 이메일 및 월드 와이드 웹 액세스와 같은 인터넷 통신 서비스를 위해 사용될 수 있다. GPRS와 결합된 2G 셀룰러 시스템은, 때때로 "2.5G"로 기술되기도 하는데, 다시 말하면 모바일 전화에서 2세대(2G)와 3세대(3G)의 사이에 위치한 기술이다.
이는 예컨데 GSM 시스템과 같은 미사용의 시분할 다중 액세스(Time Division Multiple Access, TDMA) 채널을 사용함으로써, 적절한 속도의 데이터 전송을 제공한다. 원래는 GPRS를 확장하여 다른 표준들을 커버하도록 하려고 하였으나, 이러한 네트워크들이 GSM 표준을 사용하도록 변경되어, GSM이 GPRS가 사용되는 유일한 종류의 네트워크가 되었다. GPRS는 GSM Release 97 및 더 새로운 Release로 통합 되었다. 이는 유럽 전기통신표준협회(European Telecommunication Standards Institute, ETSI)에 의해 표준화되었으나, 현재는 3세대 파트너쉽 프로젝트(3rd Generation Partnership Project, 3GPP)에 의해 표준화되고 있다.
W-CDMA(Wideband Code Division Multiple Access)는 3G 셀룰러 네트워크의 한 종류이다. W-CDMA는, 전세계적으로 확산되어 가고 있는 2G GSM 네트워크의 다음 세대인 일본의 FOMA 시스템과 UMTS 시스템에서 사용되고 있는 고속 전송 프로토콜이다. 보다 기술적으로는, W-CDMA는 광대역 스프레드-스펙트럼(wideband spread-spectrum) 모바일 에어 인터페이스(air interface)이다. 이 에어 인터페이스는, 직접 시퀀스 코드 분할 다중 액세스 시그널링 방법(direct sequence Code Division Multiple Access signaling method) 또는 CDMA를 사용하여, 2G GSM 네트워크에서 사용되는 시분할 다중화(TDMA)의 구현에 비해 더 많은 사용자를 지원하고 고속의 속도를 이룰 수 있다. 한편, SMS는 GSM에서 지원될 수 있으며, MMS는 2.5G/3G 네트워크에서 지원될 수 있다.
일반적으로, 모바일 폰 또는 셀룰러 폰은 장거리이며(long-range), 모바일 통신에서 사용되는 휴대용 전자기기이다. 현재의 모바일 폰은 전화와 같은 기본적인 음성통화기능 뿐만 아니라, 텍스트 메시징과 같은 SMS, 이메일, 인터넷 액세스를 위한 패킷 스위칭, 사진과 비디오를 송수신하는 MMS와 같은 여러가지 부가적인 서비스를 지원할 수 있다. 대부분의 현재 모바일 폰은 기지국의 셀룰러 네트워크에 연결되고, 이 셀룰러 네트워크는 공중 스위치 전화 네트워크(PSTN)에 다시 연결된다(한편, 위성전화는 예외이다).
단문 메시지 서비스(SMS)는 때때로 텍스트 메시징이라 불리우는데, 모바일 폰으로 또는 모바일 폰으로부터 단문을 전송하는 수단이다. SMS는 원래 1985년에 GSM 시리즈 표준의 일부로 정의되었는데, GSM 모바일 핸드셋으로 160 문자까지 메시지를 전송하는 수단이었다. 이후 ANSI CDMA 네트워크, 디지털 AMPS, 위성 및 육상 네트워크와 같은 여러가지 모바일 표준을 포함하도록 서비스가 확장되었다. 대부분의 SMS 메시지는 비록 표준상에서는 다른 형태의 브로드캐스트 메시징을 포함한다고 하더라도, 모바일-모바일 간의 텍스트 메시지이다. SMS라는 용어는 흔히 텍스트 메시지 그 자체를 의미하는 경우가 많은데, 특히 GSM 시스템이 잘 구축되어 있는 비영어권의 유럽국가에서 이러한 의미로 사용되고 있다.
멀티미디어 메시지 서비스(MMS)는, SMS와 같이 단순히 텍스트뿐만 아니라 멀티미디어 오브젝트(이미지, 오디오, 비디오, rich text)를 포함하는 메시지를 전송할 수 있는, 보다 최근의 전화 메시징 시스템이다. MMS는 SMS, 모바일 인스턴트 메시징, 모바일 이메일과 같은 다른 메시징 시스템과 같이 셀룰러 네트워크에 잘 정착되었다. 주된 표준화 노력은, 3GPP, 3GPP2, 개방형 모바일 연맹(Open Mobile Alliance, OMA)에서 주로 수행되었다.
컴퓨팅 시스템, 특히 모바일 통신 디바이스의 유행은, 일상생활에서의 이들 디바이스의 사용이 급속하게 증가하는 것을 보면 알 수 있다. 따라서, 컴퓨팅 시스템, 특히 모바일 통신 디바이스의 안전성을 향상시키는 것이 매우 유용하게 될 것이다.
따라서, 본 발명의 일 양상에 따라 상대적으로 더 위협받을 수 있는 것들(예, 모바일 폰)을 포함하는 다양한 컴퓨팅 시스템(예, 컴퓨팅 디바이스)에서 참조 모니터링에 사용될 수 있는 기술을 제공하고자 한다.
본 발명의 일 양상에 따르면, 허용되었던 액세스(허용 액세스)를 불허하도록 결정할 수 있다. 그 결과, 허용된 액세스가 불허될 수 있다. 다시 말하면, 컴포넌트에 대한 액세스 허용은 액세스가 진행중이라고 하더라도 유효하게 철회될 수 있다. 이는 제1컴포넌트(예, 애플리케이션 프로그램)의 (액세스 가능한) 제2컴포넌트(예, 시스템 자원)로의 허용된 액세스 권한이 효과적으로 종료될 수 있음을 의미한다. 본 발명의 일 양상에 따라, 하나 또는 그 이상의 "불허-액세스(disallow-access)" 조건(또는 기준)은 허용된 액세스를 불허할지의 여부를 결정하는데 고려될 수 있다. 일반적으로, "불허-액세스" 조건, 규칙(rule) 및/또는 정책(policy)은 액세스 조건(또는 기준)이 될 수 있거나, 또는 액세스 조건에 기초하여 정의될 수 있다.
불허-액세스 조건은 외부적으로 분명하게 정의되거나, 액세스에 대한 접근을 허용할 것이지의 여부를 결정하는 "허용-액세스(allow-access)" 조건과 상이할 수 있다. 그러나, 일반 액세스 조건 셋은, 허용-액세스 및 불허-액세스 양쪽에 모두 효과적으로 사용될 수 있다. 허용-액세스 및 불허-액세스는, 예를 들어, 허용-액세스 조건을 위반하면 액세스를 불허하는 결과를 가져올 수 있다. 본 발명의 다른 양상에 따르면, 컴포넌트에 대한 액세스가 허용된 후, 하나 또는 그 이상의 불허-액세스 조건 또는 이벤트가, 상기 컴포넌트에 대한 액세스 허용을 철회할지의 여부를 결정하기 위해, 효과적으로 모니터링 될 수 있다. 그 결과, 상기 컴포넌트에 대해 허용된 액세스가 불허될 수 있다.
본 발명과 관련된 다른 양상에 따르면, 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트에 대한 허용된 액세스는, 하나 또는 그 이상의 "상태(states)"에 기초하여 불허될 수 있다. 당업자는 "상태"가 예를 들어, 컴퓨팅 환경 및/또는 컴퓨팅 시스템(예, 시스템 상태, 애플리케이션 상태)과 관련된 것이라는 것을 알 수 있으며, 컨텍스츄얼 정보(contextual information)(예, 시스템 내부 및/또는 외부 컨텍스트)를 포함할 수 있다. 이에 따라, 하나 또는 그 이상의 상태는 컴퓨팅 디바이스가 어떤 상황에서 사용되고 있는가 및/또는 액세스가 어떤 상황에서 발생(예, 일시(time of the day), 특정 지리적 위치, 애플리케이션에 의해 사용되고 있는 연결(connection)의 수)하고 있는가를 효과적으로 정의할 수 있다. 하나 또는 그 이상의 상태는 불허-액세스(예, 특정 건물의 외부에서 아침에는 액세스를 불허함, 만일 네트워크 트래픽이 혼잡하면 하나 이상의 연결에 대한 액세스를 불허함)에 대한 조건(규칙 또는 정책)으로 효과적으로 사용될 수 있다.
본 발명의 또 다른 양상에 따르면, 액세스는 애그리게이트(aggregate)의 컴포넌트의 행동(behavior) 및/또는 정해진 시간 이상 효과적으로 고려하여 허용될 수 있다. 다시 말하면, 특히 액세스를 불허하는 것과 관련된 액세스 결정은, 주어진 시간에서의 어떤 인자(factor)에만 유일하게 기초를 둔, 근원적인 결정(atomic decision)으로 될 필요는 없다. 그보다는, 액세스 결정은 결정된 시간(예, 애플리케이션 세션)에서 하나 또는 그 이상의 상태를 포함하는 하나 또는 그 이상의 요소를 측정함으로써, 유효하게 이루어질 수 있다. 이는 유용하고 의미있는 액세스 정책을 결정하는 것을 가능하게 하는 것이며, 어느 정도는 더 유용하고 의미있는 액세스 규칙 및/또는 조건을 결정하는 것을 가능하게 하는 것이다. 예를 들어, 메시징 애플리케이션(messaging application)은, 만일 그 메시징 애플리케이션이 하나의 세션 또는 4시간 동안, 허용된 제한치 이상의 메시지를 전송하는 경우, 통신 포트에 대한 엑세스를 불허할 수 있다. 일반적으로, 액세스는 일정한 시간동안 측정되거나 포획될 수 있는 하나 또는 그 이상의 기준(criteria) 또는 인자(factor)에 기초하여 불허될 수 있다.
본 발명의 또 다른 양상에 따르면, 불허-액세스 정책, 규칙 및/또는 조건은 정의되거나 변경될 수 있다. 이 불허-액세스 정책, 규칙 및/또는 조건은, 예를 들면, 최종 사용자(end-user), 시스템 관리자에 의해 정의되거나 변경될 수 있으며, 변경되기 보다 쉬운 맞춤식의 유연한 보안 환경을 제공한다.
한편, 이러한 본 발명의 양상들은 하나 또는 그 이상 결합될 수 있음은 자명하다.
본 발명의 일실시예에 따르면, 최종 사용자 및/또는 관리자에게 유연하고 맞춤형의 보안 환경에서 변경될 수 있도록 적용된 능력이 제공된다. 더 나아가 다양한 다른 장점이 실현될 수 있다. 일예로써, 예를 들어 컨텍스트-인식(context- aware) 및/또는 위치-인식(location-aware) 보안이 제공될 수 있다.
배경기술에서도 전술한 바와 같이, 모바일 디바이스는 점점 더 대중화되어 가고 있다. 오늘날, 무선 네트워크와 모바일 통신 디바이스들(예, 스마트폰, 셀룰러 폰, PDA)이 특히 더 대중화되었다. 그러나 불행히도, 이러한 대중화로 인해 각의적인 공격이 점점 더 무선 네트워크와 모바일 통신 디바이스를 겨냥하고 있다. 게다가, 상대적으로 새로운 서비스들(예, 이메일, 파일전송, 메시징)을 포함하는 최근 개발기술과, 공통 소프트웨어 플랫폼(예, 심비안, 임베디드 리눅스, 윈도우즈 CE OS)을 사용하는 것이 더욱 더 악의적인 공격이 모바일 통신 디바이스에 집중되는 원인이 되고 있다. 무선 네트워크와 모바일 통신 디바이스가 급속하게 진화를 계속함에 따라, 이러한 악의적인 공격에 대한 노출이 심해지고 있다. 오늘날 무선 및/또는 포터블 통신 디바이스들(예, 셀룰러 폰, 스마트폰)은 전통적인 개인용 컴퓨터(PC)가 제공하는 유사한 기능들을 더욱 잘 제공할 수 있다. 결과적으로 무선 및/또는 포터블 통신 디바이스는 전통적인 컴퓨팅 환경에서 직면하는 것과 유사한 보안문제들(예, 웜(worms), 바이러스)에 더욱 직면하게 되었다.
셀룰러 폰에서 가장 악명높은 위협은, 심비안 OS를 타겟으로 한 스컬(Skull), 캐비어(Cabir) 및 마비어(Mabir) 웜을 포함한다. 일반적으로, MMS 기반의 웜은 네트워크를 통해, 초기 타겟(히트 리스트(hit-list)) 공격을 시작할 수 있다. 각각의 감염된 폰은, 연락처 리스트(contact list)를 스캔하여 랜덤하게 멤버들을 선택한 후 메시지의 형태로 악의적인 공격을 전달할 수 있다. 매력적인 제 목 또는 아는 사람이 보낸 것 같은 메시지이기 때문에 이를 신뢰하여 수신함으로써, 첨부 파일을 활성화시키고 이에 따라 의도하지 않게 폰이 감염된다. 감염된 폰은 또다시 다른 폰을 감염시키고, 이러한 과정이 계속된다. 반면, 블루투스 기반의 웜은, 희생자(감염시킨) 폰의 블루투스 인터페이스의 제어권을 장악하여, 그 범위에 있는 블루투스 폰을 계속하여 스캔한다. 이렇게 하여 새로운 타겟이 탐지가 되기만 하면, 웜은 다른 디바이스들을 유효하게 연결하고 악의적인 메시지를 전달할 수 있다.
셀룰러 폰을 예로 들면, 액티브 셀룰러 폰은 전형적으로 두개의 보안 상태(security state)를 갖는다. 즉, 감염되기 쉬운(susceptible) 상태와, 감염된(infected) 상태를 가질 수 있다. 감염되기 쉬운 셀룰러 폰은 웜에 대해 완전하게 보호되지 않고, 특정 웜(예, CommWarrior)에 노출되었을때 감염될 수 있다. 감염된 셀룰러 폰은 사용자가 보호 시스템(예, F-Secure 또는 Symantec으로부터의 CommWarrior 패치)을 가동시켰을 때 감염되기 쉬운 상태로 되돌아 갈 수 있다. 즉, 보호 시스템을 가동해도 타 웜의 위협에는 감염될 수 있기 때문이다. Malware는 사용자들의 프라이버시를 위태롭게 하는, 많은 바람직하지 않은 영향을 미칠 수 있다.
일반적으로 보안은, 모바일 컴퓨팅 환경을 포함하는 대부분의 현대 컴퓨팅 환경에서의 주요 관심사이다. 따라서, 컴퓨팅 환경의 다양한 컴포넌트(예, 리소스, 실행코드)에 대한 액세스 제어가 매우 중요하다. 그러나, 현재 많이 사용되고 있는 "참조 모니터링(reference monitoring)"을 포함하는 전통적인 액세스 모니터 링 기술은 일반적으로 컴퓨팅 환경의 상태나 액세스와 연관된 상태를 고려하지 않고, 그 결과 액세스가 요구하는 상황이나 콘텍스트에 기반한 액세스 제어를 제공하지 않는다. 게다가, 전통적인 참조 모니터링 기술은, 자원에 대한 액세스가 허용된 이후에는 자원에 대한 액세스를 효과적으로 제어하는 메카니즘을 제공하지 않는다. 한편, 자원에 대한 액세스는 허용(허가)되거나 불허될 수 있다. 그리고, 유연하고 쉽게 가변될 수 있는, 유연하고 맞춤식의 보안환경은 현재 아직 사용되고 있지 않은 실정이다.
전술한 관점에서, 컴퓨팅 환경에서의 액세스 제어에 대한 향상된 기술이 유용할 것이다.
본 발명은 컴퓨팅 환경 및 컴퓨팅 시스템에서의 액세스를 제어하는 향상된 기술에 관한 것임을 알 수 있다. 본 기술은, 상대적으로 더 위협받을 수 있는 것들(예, 모바일 폰)을 포함하는 다양한 컴퓨팅 시스템(예, 컴퓨팅 디바이스)에서 참조 모니터링에 사용될 수 있다.
본 발명의 일 양상에 따르면, 허용되었던 액세스(허용 액세스)를 불허하도록 결정할 수 있다. 이 결과, 허용된 액세스가 불허될 수 있다. 다시 말하면, 컴포넌트에 대한 액세스 허용은 액세스가 진행중이라고 하더라도 효과적으로 철회될 수 있다. 이는 제1컴포넌트(예, 애플리케이션 프로그램)의 (액세스 가능한) 제2컴포넌트(예, 시스템 리소스)로의 허용된 액세스 권한이 유효하게 종료될 수 있음을 의미한다. 본 발명의 일 양상에 따라, 하나 또는 그 이상의 "불허-액세스(disallow-access)" 조건(또는 기준)은 허용된 액세스를 불허할지의 여부를 결정하는데 고려 될 수 있다. 일반적으로, "불허-액세스" 조건, 규칙(rule) 및/또는 정책(policy)은 액세스 조건(또는 기준)이 될 수 있거나, 또는 액세스 조건에 기초하여 정의될 수 있다.
불허-액세스 조건은 외부적으로 분명하게 정의되거나, 액세스에 대한 접근을 허용할 것이지의 여부를 결정하는 "허용-액세스(allow-access)" 조건과 상이할 수 있다. 그러나, 일반 액세스 조건 셋은, 허용-액세스 및 불허-액세스 양쪽에 모두 효과적으로 사용될 수 있다. 허용-액세스 및 불허-액세스는, 예를 들어, 허용-액세스 조건을 위반하면 액세스가 불허되는 결과를 가져올 수 있다. 본 발명의 다른 양상에 따르면, 컴포넌트에 대한 액세스가 허용된 후, 하나 또는 그 이상의 불허-액세스 조건 또는 이벤트가, 상기 컴포넌트에 대한 액세스 허용을 철회할지의 여부를 결정하기 위해, 효과적으로 모니터링 될 수 있다. 그 결과, 상기 컴포넌트에 대한 허용된 액세스가 불허될 수 있다.
본 발명과 관련된 다른 양상에 따르면, 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트에 대한 허용된 액세스는, 하나 또는 그 이상의 "상태(states)"에 기초하여 불허될 수 있다. 당업자는 "상태"가 예를 들어, 컴퓨팅 환경 및/또는 컴퓨팅 시스템(예, 시스템 상태, 애플리케이션 상태)과 관련된 것이라는 것을 알 수 있으며, 컨텐스츄얼 정보(contextual information)(예, 시스템 내부 및/또는 외부 컨텍스트)를 포함할 수 있다. 이에 따라, 하나 또는 그 이상의 상태는 컴퓨팅 디바이스가 어떤 상황에서 사용되고 있는가 및/또는 액세스가 어떤 상황에서 발생(예, 일시(time of the day), 특정 지리적 위치, 애플리케이션에 의해 사용되고 있는 연결 의 수)하고 있는가를 효과적으로 정의할 수 있다. 하나 또는 그 이상의 상태는 불허-액세스(예, 특정 건물의 외부에서 아침에는 액세스를 불허함, 만일 네트워크 트래픽이 혼잡하면 하나 이상의 연결에 대한 액세스를 불허함)에 대한 조건(규칙 또는 정책)으로 효과적으로 사용될 수 있다.
본 발명의 또 다른 양상에 따르면, 액세스는 애그리게이트(aggregate)의 컴포넌트의 행동(behavior) 및/또는 결정된 시간 이상 효과적으로 고려하여 허용될 수 있다. 다시 말하면, 특히 액세스를 불허하는 것과 관련된 액세스 결정은, 주어진 시간에서의 어떤 인자(factor)에만 유일하게 기초를 둔, 근원적인 결정(atomic decision)으로 될 필요는 없다. 그보다는, 액세스 결정은 주어진 시간(예, 애플리케이션 세션)에서 하나 또는 그 이상의 상태를 포함하는 하나 또는 그 이상의 요소를 측정함으로써, 효과적으로 이루어질 수 있다. 이는 유용하고 의미있는 액세스 정책을 결정하는 것을 가능하게 하는 것이며, 어느 정도는 더 유용하고 의미있는 액세스 규칙 및/또는 조건을 결정하는 것을 가능하게 하는 것이다. 예를 들어, 메시징 애플리케이션(messaging application)은, 만일 그 메시징 애플리케이션이 하나의 세션 또는 4시간 동안, 허용된 제한치 이상의 메시지를 전송하는 경우, 통신 포트에 대한 액세스를 불허할 수 있다. 일반적으로, 액세스는 일정한 시간동안 측정되거나 포획될 수 있는 하나 또는 그 이상의 기준(criteria) 또는 인자(factor)에 기초하여 불허될 수 있다.
본 발명의 또 다른 양상에 따르면, 불허-액세스 정책, 규칙 및/또는 조건은 정의되거나 변경될 수 있다. 이 불허-액세스 정책, 규칙 및/또는 조건은, 예를 들면, 최종 사용자(end-user), 시스템 관리자에 의해 정의되거나 변경될 수 있으며, 변경되기 보다 쉬운 맞춤식의 유연한 보안 환경을 제공한다.
한편, 이러한 본 발명의 양상들은 하나 또는 그 이상 결합될 수 있음은 자명하다.
이하 첨부된 도면 도 1a 내지 도 4를 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1a는 본 발명의 일실시예에 따른 컴퓨팅 환경(100)을 도시한 도면이다.
도 1a를 참조하면, 액티브 액세스 제어 시스템(102)은 컴퓨팅 환경(100)의 액세스될 수 있는 하나 또는 그 이상의 컴포넌트들(106)에 대한 액세스를 효과적으로 제어할 수 있도록 동작할 수 있다. 그 결과, 액티브 액세스 제어 시스템(102)은, 제1컴포넌트(104)가 액세스 가능한 컴포넌트(106)를 액세스하는 것을 허용 및/또는 불허할 수 있다. 컴퓨팅 환경(100)의 컴포넌트는 액세스될 수 있기 때문에, 액세스될 수 있는 컴포넌트(106)은 예를 들어, 자원(예, 파일, 오브젝트, 연결)이나 프로그램(예, 애플리케이션 프로그램) 등이 될 수 있다. 제1컴포넌트(104)는, 예를 들어, 애플리케이션 프로그램, 다른 프로그램을 액세스하려고 시도하는 오브 젝트, 오브젝트 및/또는 자원 등이 될 수 있다.
일반적으로, 제1컴포넌트(104)는 컴퓨팅 환경(100)의 컴포넌트이다. 제1컴포넌트(104)는, 액세스될 수 있는(액세스 가능한 컴포넌트) 컴퓨팅 환경(100)의 다른 컴포넌트를 액세스하는 것을 유효하게 시도(attempt) 및/또는 요청하도록(request) 동작할 수 있다. 유사하게, 제1컴포넌트(104)는 액세스될 수 있는 컴퓨팅 환경(100)의 컴포넌트가 될 수 있다. 액세스될 수 있는 컴포넌트(106)를 액세스하는 것은, 컴포넌트에서 수행되거나 컴포넌트에 의해 수행될 수 있는 보통의 어떤 작업(operation)(읽기(reading), 쓰기(writting), 통신(communicating), 데이터의 전송 및/또는 수신)을 포함할 수 있다.
예를 들어, 액티브 액세스 제어 시스템(102)은, 컴퓨팅 시스템(예, 컴퓨팅 디바이스)의 컴포넌트로서 제공될 수 있다. 그 결과, 액티브 액세스 제어 시스템(102)은, 예를 들어, 개인용 컴퓨터(PC, 모바일 디바이스, 셀룰러 폰)에 제공될 수 있다. 액티브 액세스 제어 시스템(102)은, 예를 들어, 컴퓨팅 시스템 및/또는 컴퓨팅 환경의 참조 모니터링 시스템(또는 참조 모니터)으로 제공될 수 있다는 것은, 이하에서 기술할 것이며 당업자에게 자명하다.
전술한 바와 같이, 액티브 액세스 제어 시스템(102)은 액세스될 수 있는 컴포넌트(106)를 액세스하는 것을 제어할 수 있도록 동작할 수 있다. 보다 구체적으로 액티브 액세스 제어 시스템(102)은, 액세스될 수 있는 컴포넌트(106)에 대한 액세스를 불허하도록 동작할 수 있는 액티브 액세스 모니터(105)(예, 참조 모니터, 또는 참조 모니터링 시스템 또는 컴포넌트)를 효과적으로 제공할 수 있다. 액티브 액세스 모니터(105)는, 액세스될 수 있는 컴포넌트(106)에 대한 액세스가 허용된 후, 하나 또는 그 이상의 "불허-액세스 조건"(108)이 만족하는지의 여부를 판단하도록 동작할 수 있다. 다시 말하면 액티브 액세스 모니터(105)는, 액티브 액세스 모니터(105) 및/또는 타 시스템 또는 컴포넌트(도시하지 않음)에 의해서 제1컴포넌트(104)에게 허용되었던, 액세스될 수 있는 컴포넌트(106)의 액세스 허용을 유효하게 철회하도록 동작할 수 있다.
또한 전형적으로 액티브 액세스 모니터(105)는, 액세스될 수 있는 컴포넌트(106)를 제1컴포넌트(104)가 액세스하는 것을 허용할지의 여부를 효과적으로 판단하도록 동작할 수 있다. 다시 말하면 액티브 액세스 모니터(105)는, 액세스될 수 있는 컴포넌트(106)를 제1컴포넌트(104)가 액세스하도록 허용할 지의 여부를, 예를 들어 허용-액세스 데이터(110)의 형태로 제공될 수 있는 하나 또는 그 이상의 허용-액세스 조건에 기초하여 먼저 판단하도록 동작할 수 있다. 또한, 액세스될 수 있는 컴포넌트(106)에 대한 액세스 허용을 철회하도록 동작할 수도 있다.
허용-액세스 조건과 불허-액세스 조건이 동일한 조건, 정책, 규칙, 이벤트 등이라는 것은 당업자에게 자명할 것이다. 다시 말하면, 허용-액세스 조건은, 예를 들어, 허용-액세스:"만일 조건 X가 만족되면"으로 정의될 수 있다. 이 예에서, 불허-액세스 조건은 불허-액세스:"만일 조건 X가 참(더 이상)이 아니면"으로 의미적으로 정의될 수 있다. 그러나 일반적으로, 불허-액세스 조건은 허용-액세스 조건과 독립적(independent) 및/또는 독립적으로(independently) 정의될 수 있다. 이에, 불허-액세스 조건은, 예를 들어, "(만일 조건 Y가 만족되면 불허-액세스) 또 는 (만일 조건 X 및 Y) 또는 (조건 X 및/또는 Y)가 만족되면"으로 정의될 수 있다. 따라서, 불허-액세스 조건(108)은, 예를 들어, 하나 또는 그 이상의 액세스 조건(정책 및/또는 규칙)(110)이 효과적으로 위반되었을때 만족될 수 있다. 더 일반적으로 불허-액세스 조건(108)은, 액세스될 수 있는 컴포넌트(106)에 대한 액세스를 허용하는 하나 또는 그 이상의 허용-액세스 조건, 정책 및/또는 규칙에 기초하여 정의될 수 있다.
그러나 불허-액세스 조건(108)은, 동일한 액세스될 수 있는 컴포넌트(106)에 대해 정의된, 하나 또는 그 이상의 허용-액세스 조건과는 상이할 수 있다. 보다 일반적으로 불허-액세스 조건(108)은, 액세스될 수 있는 컴포넌트(106)를 개별적으로, 또는 그룹으로 또는 전체적으로 포함하는, 액세스될 수 있는 컴포넌트에 대한 액세스를 불허하도록 명시적으로 정의될 수 있다.
액티브 액세스 모니터(105)는, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트의 액세스 허락의 승인을 철회할지의 여부를 결정하기 위해, 이 하나 또는 그 이상의 액세스 조건(예, 허용-액세스 조건, 불허-액세스 조건)을 효과적으로 모니터하도록 동작할 수 있다. 보다 분명하게는, 이러한 액세스 조건은 "불허-액세스 조건"으로 지칭된다. 그러나, 이들 조건이 액세스-조건이 될 수 있다는 것은 자명하다. 예를 들어, 불허-액세스 조건(108)이 컴퓨팅 환경(100)과 연관된 하나 또는 그 이상의 변수(variables)에 기초하여 정의될 수 있다는 것은 당업자에게 자명하다. 게다가, 이 변수는 이하에서 더욱 자세하게 설명될, 컴퓨팅 환경(100)의 상태와 관련된 상태 변수(state variable)를 포함할 수 있다. 더 나아가, 액티브 액세 스 제어 시스템(102)은 불허-액세스 조건을 포함하는 액세스 조건을 정의하기 위한 입력을 수신할 수 있다. 이 입력은 불허-액세스 조건을 명시적으로 및/또는 암시적으로 정의할 수 있다.
액티브 액세스 모니터(105)는, 예를 들어, 액세스될 수 있는 컴포넌트(106)에 대한 액세스가 허용된 후 액세스 조건(예, 불허-액세스 조건(108))을 정의하는데 사용된 하나 또는 그 이상의 변수들의 값의 변화를 효과적으로 감지할 수 있도록 동작할 수 있다. 예를 들어, 액세스될 수 있는 컴포넌트(106)에 대한 액세스가 허용된 후, 만일 액세스 조건(108)이 "만일 변수 X(예, 현재 위치)가 소정의 범위 내(예, 소정의 지리적 위치의 1마일 반지름 범위 내)이면" 액세스를 허용하는 것으로 정의되어 있다면, 액티브 액세스 모니터(105)는 변수 X의 변화(예, 현재 위치의 변화)를 감지할 수 있고, 결과적으로, 액세스될 수 있는 컴포넌트(106)에 대한 액세스 허용을 철회할 것인지의 여부를 결정하기 위해 액세스 조건(108)을 계산(또는 재계산)할 수 있다. 이러한 예에서, 불허-액세스 조건은 예를 들어, 오후 5시 이후 액세스를 불허하는 것으로 정의될 수 있다. 결과적으로 액세스에 대한 허용은, 현재의 위치가 변화되지 않았고 받아들여질 정도인 경우라 하더라도 불허될 수도 있다.
액티브 액세스 모니터(105)는 액세스될 수 있는 컴포넌트(106)에 대한 액세스를 허용 및/또는 불허하기 위해, 컴퓨팅 환경(100)의 상태 변수를 포함하는 하나 또는 그 이상의 변수들의 현재값들을, 받아들일 수 있는 및/또는 받아들일 수 없는 값들과 비교하도록 동작할 수 있다.
일반적으로, 액티브 액세스 모니터(105)는 액세스될 수 있는 컴포넌트(106)에 대한 액세스 허용을 철회할지의 여부를 결정하기 위해, "액티브-액세스" 데이터(107)를 적극적으로 모니터하고 유지할 수 있다. 제1컴포넌트(104)와 제2컴포넌트(106)는 동일한 디바이스에서 동작할 수도 있으며, 및/또는 액티브 액세스 시스템(102)과 같이 동일한 디바이스에서 동작할 수도 있다. 그러나, 액티브 액세스 제어 시스템(102)은 다른 시스템 또는 디바이스에 제공되는, 액세스될 수 있는 컴포넌트에 대한 액세스를 제어하기 위한 다른 시스템(또는 디바이스)에서 동작할 수 있다. 이와 같이, 제1컴포넌트(104)는 액티브 액세스 제어 시스템(102) 및/또는 액세스될 수 있는 컴포넌트(106)가 동작하는 시스템 또는 디바이스와는 상이한 시스템 또는 디바이스에서 동작할 수 있다.
도 1b는 본 발명의 일실시예에 따른 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트(또는 액세스 가능한 컴포넌트)에 대한 현재 액세스 데이터를 (적극적으로) 유지하는 방법을 도시한 도면이다.
예를 들어, 본 발명의 일실시예에 따른 방법(120)은 도 1a에 도시한 액티브 액세스 모니터(105)에 의해 수행될 수 있다. 도 1b를 참조하면, 초기에, 컴포넌트에 대한 액세스가 허용될지의 여부를 결정한다(122). 사실상, 본 발명의 일실시예에 따른 방법(120)은, 컴포넌트에 대한 액세스가 허용되었는지를 결정하는 것을 기다릴 수 있다. 만일 컴포넌트에 대한 액세스가 허용된 것으로 판단되면(122), 컴포넌트에 대한 현재의 액세스 데이터가 결정된다(124). 액세스 데이터는 컴포넌트에 대해 허용되었던 액세스를 불허할 것인지의 여부를 결정하도록 지시하거나 및/ 또는 계산될 수 있다. 예를 들어, 현재 액세스 데이터의 결정(124)은, 불허-액세스 기준(또는 조건, 정책, 규칙 및/또는 이벤트)을 효과적으로 정의하는 하나 또는 그 이상의 변수의 현재값을 얻는 것(예, 수신, 측정, 결정)을 포함하는 액세스 데이터를, 유지하거나 및/또는 갱신하는 것을 포함한다.
현재 액세스 값이 결정된 후(124), 컴포넌트에 대한 액세스가 불허되었는지 또는 종료(ended) 되었는지의 여부를 결정한다(126). 도 1b를 참조하면, 예를 들어, 액세스한 컴포넌트 및/또는 액세스될 수 있는 컴포넌트가 더 이상 동작하지 않거나 및/또는 활성(active)이 아닐 때(예, 실행하지 않을 때), 액세스는 종료될 수 있다. 만일 컴포넌트에 대한 액세스가 불허되거나 종료되는 것으로 결정되면(126), 본 발명의 일실시예에 따른 방법(120)은 종료된다. 그러나, 컴포넌트에 대한 액세스가 불허되지 않거나 종료되지 않는 것으로 결정되면(126), 본 발명의 일실시예에 따른 방법(120)은 컴포넌트에 대한 현재 액세스 데이터의 판단(124)을 계속한다. 결과적으로, 본 발명의 일실시예에 따른 방법(120)은 액세스가 종료되거나 불허되지 않기만 하면, 액세스 데이터(불허-액세스 데이터를 포함)의 모니터링 및/또는 갱신을 계속할 수 있다. 이에 따라 액세스가 허용된 후 컴포넌트에 대한 액세스를 적극적으로 또는 계속적으로 모니터할 수 있는 것이다. 게다가, 현재의 액세스 데이터는 컴포넌트에 대해 허용되었던 액세스를 불허할지의 여부를 결정하는데 사용될 수 있으며, 결과적으로 컴포넌트에 대한 액세스 허용이 적극적으로 또는 계속적으로 제어될 수 있다.
도 1c는 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트(또는 액세스 가능한 컴포넌트)에 대한 액세스를 (적극적으로) 제어하는 방법을 도시한 도면이다.
본 발명의 일실시예에 따른 방법(150)은, 예를 들어, 도 1a에 도시한 액티브 액세스 모니터(105)에 의해 수행될 수 있다. 도 1c를 참조하면, 초기에, 액세스될 수 있는 컴포넌트에 대한 액세스가 허용된 후, 이 액세스될 수 있는 컴포넌트에 대한 현재 액세스 데이터가 얻어진다(152). 현재 액세스 데이터는 컴포넌트에 대해 허용(또는 허가)된 액세스를 불허하는(또는 불허할지의 여부)것을 나타낼 수 있다(152). 예를 들어, 현재 액세스 데이터는 액세스가 컴포넌트에 대해 허용된 후, 도 1b에서 도시한 방법(120)과 유사한 방식인 활성화된 방식으로 유지될 수 있다. 도 1c에서, 현재 액세스 데이터가 획득된 후(152), 허용된 액세스는 현재 액세스 데이터에 의해서 지시된 바에 따라 불허될 수 있다(154). 본 발명의 실시예에 따른 방법(120, 150)(각각 도 1b와 도 1c를 참조하여 설명되었음)은 결합되거나 및/또는 단일 컴포넌트 또는 시스템(예, 도 1a에서의 액티브 액세스 모니터(105))에 의해 수행될 수 있다.
도 1d는 본 발명의 다른 실시예에 따른 컴퓨팅 환경의 하나 또는 그 이상의 컴포넌트의 액세스를 제어하는 방법을 도시한 도면이다.
본 발명의 일실시예에 따른 방법(170)은, 예를 들어, 도 1a에서 도시한 액티브 액세스 모니터(105)에 의해 수행될 수 있다. 도 1d를 참조하면, 초기에, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트가 허용되었는지의 여부를 결정한다(172). 결과적으로, 본 발명의 일실시예에 따른 방법(170)은, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트가 허용되었는지의 결정(172)을 기다릴 수 있다. 만일 하나 또는 그 이상의 액세스될 수 있는 컴포넌트가 허용된 것으로 결정(172)된 경우에는, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트에 대한 액세스를 불허하는 하나 또는 그 이상의 조건이 모니터된다(174). 전술한 바와 같이, 액세스를 불허하는 조건은, 예를 들어, 불허-액세스 조건으로 명시적으로 정의될 수도 있고 및/또는 허용-액세스 조건에 기초하여 암시적으로 정의될 수도 있다. 어떤 경우든, 하나 또는 그 이상의 조건(불허-액세스 조건)의 모니터링(174)에 기초하여, 불허-액세스 조건이 만족하는지의 여부를 결정할 수 있다. 만일 불허-액세스 조건이 만족한 것으로 판단되면(176), 본 발명의 일실시예에 따른 방법(170)이 종료되기 전에, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트에 대한 액세스의 불허를 야기하도록 적절한 조치가 취해질 수 있다.
다시 말하면, 불허-액세스 조건이 만족하지 않는 것으로 결정되면(176), 불허-액세스 조건(들)의 모니터링을 실질적으로 종료할 것인지의 여부를 결정한다(178). 예를 들어, 허용되었던 액세스(또는 허용중인 컴포넌트)가 더 이상 활성이 아니고 따라서 액세스될 수 있는 컴포넌트의 액세스가 불가능하는지의 여부, 및/또는 액세스될 수 있는 컴포넌트가 더 이상 활성이 아니고 및/또는 액세스될 수 없는지의 여부를 결정할 수 있다(178). 만일 액세스 불허(불허-액세스 조건)에 대한 하나 또는 그 이상의 조건의 모니터링을 종료하는 것으로 결정되면(178), 본 발명의 일실시예에 따른 방법(170)은 종료된다. 그러나, 불허-액세스에 대한 하나 또는 그 이상의 조건의 모니터링이 종료되지 않는 것으로 결정되면, 본 발명의 일실시예에 따른 방법(170)은, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트에 대 한 액세스 불허를 위한 불허-액세스 조건이 충족되었는지의 여부를 계속하여 결정한다(176). 사실상, 본 발명의 일실시예에 따른 방법(170)은, 불허-액세스를 위한 하나 또는 그 이상의 조건을 계속 모니터하고(174), 하나 또는 그 이상의 액세스될 수 있는 컴포넌트에 대한 액세스를 불허할지의 여부를 결정하는 하나 또는 그 이상의 불허-액세스 조건, 정책 및/또는 규칙을 다시 구한다.
전술한 바와 같이, 액티브 액세스 모니터(105)(도 1a에서 도시함)는, 예를 들어, 본 발명의 일실시예에 따른 참조 모니터링 시스템 또는 참조 모니터를 포함한다. 그리고 불허-액세스 조건은 컴퓨팅 시스템 및/또는 컴퓨팅 환경과 관련된 하나 또는 그 이상의 상태 변수에 기초하거나 및/또는 포함할 수 있다.
도 2a는 본 발명의 일 실시예에 따른 액티브 상태-인식(state-aware) 참조 모니터(200)를 도시한 도면이다.
도 2a를 참조하면, 상태 기반의 액세스 정책 관리자(202)는 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204)에 대한 액세스를 효과적으로 제어하도록 동작할 수 있다. 액세스될 수 있는 컴포넌트(204)는, 예를 들어, 당업자에게 잘 알려져 있는 바와 같이, OS를 포함하는 하나 또는 그 이상의 자원이 될 수 있다. 하나 또는 그 이상의 컴포넌트(206)는 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204)를 액세스하도록 시도 및/또는 요청할 수 있다. 예를 들어, 하나 또는 그 이상의 컴포넌트(206)는, 하나 또는 그 이상의 파일을 액세스하는 것을 시도하는 하나 또는 그 이상의 애플리케이션 프로그램(또는 애플리케이션)이 될 수 있다. 그리고, 컴퓨팅 디바이스(예, PC, 셀룰러 폰)에서 동작하는 OS에 의해 제공되는 하 나 또는 그 이상의 시스템 콜을 만드는 컴퓨팅 디바이스의 연결 및/또는 서비스가 될 수도 있다.
상태 기반의 액세스 정책 관리자(202)는 컴포넌트(206)가 컴포넌트(204)를 액세스하는 것을 허용하도록 동작할 수 있다. 더욱이, 상태 기반의 액세스 정책 관리자(202)는 컴포넌트(206)가 여전히 활성이거나 및/또는 컴포넌트(204)에 대한 액세스를 시도하고 있거나 액세스중인 경우라고 하더라도, 액세스가 허용된 후에는 컴포넌트에 대한 액세스를 불허하도록 동작할 수 있다.
상태 기반의 액세스 정책 관리자(202)는 상태 구성(state configuration)(210)으로 저장되어 있는 하나 또는 그 이상의 상태-기반의 조건, 정책 및/또는 규칙에 기초하여 액세스의 허용 및/또는 불허에 관한 결정을 한다. 일반적으로, 상태-기반의 조건, 정책 및/또는 규칙(210)은 컴퓨팅 환경 및/또는 컴퓨팅 시스템과 연관된 하나 또는 그 이상의 상태 변수에 기초하여 정의되거나 및/또는 이 상태 변수를 포함할 수 있다. 상태 모니터(212)는 이 상태 변수를 효과적으로 모니터하고, 상태-기반의 액세스 정책 관리자에게 상태 변수의 현재값을 제공하여, 상태-기반의 액세스 정책 관리자(202)가 하나 또는 그 이상의 상태변수에 기초한 액세스의 허용 및/또는 불허에 관한 결정을 하도록 한다. 이들 상태 변수는 하나 또는 그 이상의 컴포넌트(204)에 대한 액세스의 허용 및/또는 불허를 위해 정의된 하나 또는 그 이상의 조건, 정책 및/또는 규칙과 관련된다.
그리고 이들 조건, 정책 및/또는 규칙(210)은, 하나의 상태-기반의 액세스 규칙을 명시적 및/또는 암시적으로 정의하기 위해, 사용자 인터페이스(UI)를 통해 상호작용할 수 있는 사용자(214)에 의해 제공되는 입력에 기초하여 정의될 수 있다. 또한, 상태-기반의 액세스 정책 관리자(202)와 상태 모니터(212)는, 하나 또는 그 이상의 컴포넌트(204)의 액세스를 불허하도록 정의된 하나 또는 그 이상의 상태-기반의 불허-액세스 조건, 정책 및/또는 규칙을 전체적으로 그리고 효과적으로 모니터할 수 있다. 이 모니터링은, 예를 들어, 컴포넌트(206)가 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204)를 액세스할때, 컴포넌트(206)가 수행중이거나 및/또는 활성일때, 그리고 컴포넌트(206)가 하나 또는 그 이상의 컴포넌트(204)를 액세스하는 것을 요청하지 않을 때 수행될 수 있다.
불허-액세스 조건이 충족되었는지의 여부는, 액세스될 수 있는 컴포넌트(204)에 대한 액세스의 허용이 수락된 후, 상태 액세스 데이터(또는 상태 데이터)가 변경되었는지의 여부를 결정하는 것에 기초하여 이루어질 수 있고, 이에 따라 액세스의 허용이 계속적으로 제어될 수 있다. 예를 들어, 상태 데이터는 도 2a에 도시한 바와 같이 상태 구성(210)에 저장되거나, 또는 독립적으로 상태 데이터(211)로 저장될 수 있다.
예를 들어, 상태 구성(210)에 저장된 상태 데이터는, 액세스가 허용되었을때 상태 변수의 저장 상태를 포함할 수 있다. 상태 구성 데이터(210)는 상태 변수 변화에 대한 수용가능한 범위를 정의할 수 있다. 저장된 값에 대한 상태 변수값의 변화는, 결과적으로 상태 변수의 현재값이 수용가능한 범위내에 있는지의 여부를 결정하도록 한다. 예를 들어, 상태 변수는 컴퓨팅 디바이스의 현재 지리적 위치가 될 수 있다. 현재 지리적 위치는 상태 모니터(212)에 의해 효과적으로 모니터될 수 있다. 만일 위치의 변화가 액세스가 허용된 이후 검출되면, 액세스가 진행되고 있다고 하더라도 자원(204)에 대한 액세스를 불허할 것인지의 여부를 결정하기 위하여, 불허-액세스 조건 또는 규칙이 구해진다. 그 결과, 자원(204)에 대한 액세스가, 예를 들어, 상태 모니터(212)가 액세스 조건, 정책 또는 규칙에 의해 정의된 허용가능한 범위를 넘어서는 지리적 위치의 변화를 검출하는 경우, 불허될 수 있다.
일반적으로, 상태-기반의 액세스 정책 관리자(202)와 상태 모니터(212)는, 컴포넌트(204)에 대한 액세스가 허용된 후에 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204)에 대한 액세스를 전체적으로 그리고 효과적으로 모니터할 수 있다. 모니터링은 컴퓨팅 환경 및/또는 컴퓨팅 디바이스와 관련된 하나 또는 그 이상의 액세스 상태 변수 및/또는 파라미터를 포함하는 하나 또는 그 이상의 액세스 상태를 모니터링하는 것을 포함할 수 있다. 액세스 상태 데이터(211)(또는 상태 데이터)는, 예를 들어, 하나 또는 그 이상의 다음의 것을 포함할 수 있다: 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204) 및/또는 하나 또는 그 이상의 컴포넌트(206)와 연관된 컴포넌트 데이터, 컴포넌트(206) 및/또는 액세스될 수 있는 컴포넌트(204)의 상태와 연관된 하나 또는 그 이상의 컴포넌트 상태, 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 하나 또는 그 이상의 컨텐스츄얼 변수(contextual variables)와 연관된 컨텍스츄얼 데이터이다.
내부 컨텍스츄얼 데이터(internal contextual data)는 컴퓨팅 환경 및/또는 컴퓨팅 시스템에 내부적인 하나 또는 그 이상의 내부 컨텍스츄얼 변수와 연관되어 있고, 외부 컨텍스츄얼 데이터(external contextual data)는 컴퓨팅 환경 및/또는 컴퓨팅 시스템에 외부적인 하나 또는 그 이상의 외부 컨텍스츄얼 변수와 연관되어 있다.
컨텍스츄얼 데이터 및/또는 컨텍스츄얼 변수는, 예를 들어, 컴퓨팅 시스템의 하나 또는 그 이상의 내부 및/또는 사용가능한 컴포넌트, 컴퓨팅 시스템에 내부적이거나 외부적인 하나 또는 그 이상의 내부 인자(factor) 및/또는 엘리먼트(element), 환경 요소 및/또는 엘리먼트, 상기 컴퓨팅 시스템에서의 하나 또는 그 이상의 활성 애플리케이션과 상호작용하는 하나 또는 그 이상의 사용자와 연관된 환경 요소 및/또는 엘리먼트, 컴퓨팅 시스템에서의 하나 또는 그 이상의 활성 애플리케이션과 상호작용하는 하나 또는 그 이상의 사용자의 환경과 연관된 사용 환경 컨텍스트, 지리적 및/또는 물리적 요소 및/또는 엘리먼트, 시간(time), 날짜(date), 위치(location), 모드(mode), 동작 모드(mode of operation), 조건(condition), 이벤트(event), 속도(speed) 및/또는 움직임 가속(acceleration of movement), 파워(power) 및/또는 힘(force)에 기초하여 결정될 수 있다.
상태-기반의 액세스 정책 관리자(202)는, 하나 또는 그 이상의 액세스될 수 있는 컴포넌트(204)의 액세스를 불허하기 위해 상태 구성(210) 및/또는 다른 소스(도시하지 않음)로부터, 하나 또는 그 이상의 상태-기반의 액세스 조건, 정책 및/또는 규칙을 얻도록(예, 탐색(retrieve), 수신(receive), 결정(determine)) 동작할 수 있다.
도 2b는 본 발명의 일 실시예에 따른 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트 액세스를 제어하는 방법(250)을 도시한 도면이다.
본 발명의 일실시예에 따른 방법(250)은, 예를 들어, 도 2a에서 도시한 액티브 상태-인식(state-aware) 참조 모니터(200)에 의해 수행될 수 있다. 도 2b를 참조하면, 초기에, 제1컴포넌트가 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 접근할 수 있는 컴포넌트를 액세스하는 것을 시도하거나 및/또는 요청할지의 여부를 결정한다(252). 사실상 본 발명의 일실시예에 따른 방법(250)은 컴포넌트가, 액세스될 수 있는 컴포넌트에 액세스하는 것을 시도하거나 및/또는 요청하는 것을 결정하는(252) 동안 기다릴 수 있다. 액세스될 수 있는 컴포넌트에 액세스하는 것을, 제1컴포넌트가 시도하고 요청하는 것으로 결정되면(252), 액세스될 수 있는 컴포넌트에 액세스하는 하나 또는 그 이상의 상태-기반의 액세스 규칙(정책 또는 조건)이 얻어진다(254).
하나 또는 그 이상의 상태-기반의 액세스 규칙은, 액세스될 수 있는 컴포넌트에 액세스하는 것을 허용하고 불허하는 양자에 대한 하나 또는 그 이상의 액세스 규칙을 효과적으로 정의할 수 있다. 상태-기반의 액세스 규칙은, 예를 들어, 액세스될 수 있는 컴포넌트에 액세스하는 것을 시도 및/또는 요청하는 컴포넌트에 대해 정의될 수 있다. 액세스 규칙은 또한, 액세스될 수 있는 컴포넌트에 기초하여 정의될 수 있다. 어떤 경우든, 상태-인식(state-aware) 규칙의 하나 또는 그 이상의 상태 변수에 대한 하나 또는 그 이상의 현재값은, 하나 또는 그 이상의 상태-기반의 액세스 규칙에 대해 얻어질 수 있다(256). 예를 들면, 만일 상태-기반의 액세스 규칙이, 상태변수로써 지리적 위치에 기초하여 정의된다면, 상태 변수의 현재값 즉, 현재의 지리적 위치가 얻어질 수 있다(256). 하나 또는 그 이상의 상태 변수의 현재 값에 기초하여, 하나 또는 그 이상의 상태-기반의 액세스 규칙은 구해져(258), 제1컴포넌트가, 액세스될 수 있는 컴포넌트를 액세스하는 것을 허용할지의 여부를 결정할 수 있다.
이와 같이, 액세스될 수 있는 컴포넌트에 제1컴포넌트가 액세스하는 것을 허용할지의 여부를 결정할 수 있다(260). 만일 액세스될 수 있는 컴포넌트에 제1컴포넌트가 액세스하는 것을 허락하지 않는 것으로(거절하는 것으로) 결정되면, 본 발명의 일실시예에 따른 방법(250)은 종료된다. 그러나 제1컴포넌트에 대한 액세스 허용을 허락하는 것으로 결정되면, 제1컴포넌트의 액세스 허용이 허락되고(262), 하나 또는 그 이상의 상태 변수의 모니터링이 시작된다(262). 이 상태 변수는, 제1컴포넌트에 대한 액세스 허용을 승인할 것인지의 여부를 결정하는 상태 변수와 동일하거나 및/또는 이 상태변수는 하나 또는 그 이상의 다른 변수가 될 수 있다.
일반적으로, 모니터되는(262) 하나 또는 그 이상의 상태 변수는, 하나 또는 그 이상의 불허-액세스 규칙, 정책 및/또는 조건에 관계될 수 있다. 이들 규칙, 정책 및/또는 조건은 허용-액세스를 위해 정의된 규칙, 정책 및/또는 조건과 동일하거나 유사할 수 있다. 이에 따라, 모니터되고 있는 하나 또는 그 이상의 상태 변수는, 제1장소에서 액세스될 수 있는 컴포넌트에 대한 액세스를 허용할지의 여부를 정하는데 사용되는 것과 동일한 상태변수가 될 수 있다. 예를 들어, 소정의(받아들여 질 수 있는) 지리적 영역외부로 컴퓨팅 디바이스가 움직이는 것과 같이, 액 세스 규칙의 위반을 검출하기 위해, 액세스될 수 있는 컴포넌트에 대한 액세스를 허용할지의 여부를 결정하는데 사용되는 것과 동일한 지리적 위치가, 모니터될 수 있다.
그러나, 상태 변수의 모니터링(262)은, 예를 들어, 시간, 네트워크 트래픽, 일반적으로 사용되거나 특정 액세싱 컴포넌트에 의해 사용되는 네트워크 연결의 수 등과 같은 것을 포함하는, 상태 변수의 셋을, 추가적으로 또는 택일적으로 모니터하는 것을 포함한다. 도 2b를 참조하면, 하나 또는 그 이상의 상태 변수의 현재값이 얻어질 수 있다(264). 이후, 하나 또는 그 이상의 상태 변수의 현재값에 기초하여, 액세스될 수 있는 컴포넌트에의 액세스 허용을 철회할 것인지의 여부를 결정한다(266). 예를 들어, 초기 액세스 조건을 정의하는 하나 또는 그 이상의 상태-기반의 규칙은, 하나 또는 그 이상의 상태 변수의 현재값에 기초하여 다시 구해질 수 있다. 예를 들어, 이렇게 다시 구하는 것은, 모니터된 상태 변수의 값에 변화가 저장된 값(예, 액세스가 초기에 승인되었을때 저장된 값)과 비교하여 달라진 것이 검출되었을 때 수행될 수 있다. 만일 액세스될 수 있는 컴포넌트에의 액세스 허용이 철회된 것으로 결정되면(266), 액세스될 수 있는 컴포넌트에 대한 허용은 철회되어, 액세스될 수 있는 컴포넌트를 제1컴포넌트가 더 이상 액세스하지 못하도록 할 수 있으며, 본 발명의 일실시에에 따른 방법(250)은 종료된다.
반면에, 액세스될 수 있는 컴포넌트에의 액세스 허용이 철회되지 않는 것으로 결정되면(266), 액세스에 대한 허용이 정상적으로 종료될지의 여부를 결정한다(270). 액세스에 대한 허용은, 예를 들어, 제1컴포넌트가 더 이상 활성이 아닐 때(실행되지 않을 때) 및/또는, 액세스될 수 있는 컴포넌트가 더 이상 액세스될 수 없을 때, 정상적으로 종결된다(terminated)(종료된다). 만일 액세스에 대한 허용이 정상적으로 종결된 것으로 결정되면(270), 하나 또는 그 이상의 상태 변수의 모니터링과 본 발명의 일실시예에 따른 방법(250)이 모두 종료된다. 그러나, 액세스될 수 있는 컴포넌트에 대한 액세스 허용이 정상적으로 종결되지 않은 것으로 결정되면, 하나 또는 그 이상의 상태 변수의 현재값이 얻어지고(268), 액세스될 수 있는 컴포넌트의 액세스 허용을 철회할지의 여부를 결정한다(266). 사실상 본 발명의 일실시예에 따른 방법(250)은, 액세스에 대한 허용을 철회한 것으로 결정될때까지(266), 또는 액세스에 대한 허용이 정상적으로 종결된 것으로 결정될때까지(270), 컴포넌트의 액세스를 불허할지의 여부를 결정하는데 필요로 하는 하나 또는 그 이상의 상태 변수를 계속하여 모니터할 수 있다. 액세스에 대한 허용이 정상적으로 종결된 것으로 결정되면 모니터링이 종료되고(272), 그렇지 않으면 264 단계로 되돌아간다.
전술한 바와 같이, 액티브 상태 모니터(105)(도 1a에서 도시됨)는 참조 모니터링 시스템 또는 참조 모니터가 될 수 있다.
도 3은 본 발명의 기술과 호환되는 참조 모니터링 구조를 도시한 도면이다.
다양한 액세스 제어 또는 참조 모니터링 기술이 본 발명과 연관되어 이용될 수 있다는 것은 당업자에게 자명하다. 또한 액세스 제어 또는 참조를 제공하는데 사용되는 기술 또는 특정구조에 관한 가정을 할 필요도 없음은 당업자에게 자명하다.
더 나아가, 상태-인식(state-aware) 참조 모니터는 예를 들어, 본 발명의 다양한 실시예에 따라, 운영체제(OS)(예, SELinux) 및/또는 미들웨어(Middleare)(예, 자바 가상머신(Java Virtual Machine, JVM))의 컴포넌트로써 제공될 수 있다. 상태-인식(state-aware) 참조 모니터는, 예를 들어, 하나 또는 그 이상의 구체적 오브젝트(예, 파일, 네트워크 연결, 디바이스)를 프로세스나 애플리케이션이 액세스하는 것을 허용할지의 여부를 결정할 수 있다. 또한, 예를 들어 시스템 콜 또는 API(Application Program Interface)를 경유한 일반 시스템 자원을, 프로세스나 애플리케이션이 액세스하는 것을 허용할지의 여부를 결정할 수 있다.
그리고, 본 발명의 일실시예에 따라 제공되는 상태-인식(state-aware) 참조 모니터는, 정적 라벨(static label) 또는 정적 허용(static permission)에 기초하여 정의된 규칙 및/또는 정책을 단순히 강요할 필요가 없고, 허용된 허락(permitted permission)을 적극적으로 또는 연속된 기초(continued basis)에 기초하여 체크할 수 있다. 이에 의해, 액세스 정책은 위반되지 않고 및/또는 불허 규칙 또는 정책을 강요하지 않는 액세스 정책을 보장한다.
전통적인 기술과는 달리, 액세스 결정은 단순히 액세스 요청에 기초하거나 또는, 심각한 상태 변화가 존재하는 경우라고 하더라도 일단 액세스의 허용이 된 후에는 이 액세스를 제어하는 효과적인 방법이 없는 요청 베이스에 의한 요청에 기초한다. 오히려, 액세스 결정은 또한, 액세스 제어를 적극적으로 또는 계속적으로 하기 위해, 컴퓨팅 디바이스 및/또는 컴퓨팅 환경의 다양한 상태를 모니터링하는 것에 기초하여 이루어질 수 있다.
다시 말하면, 액세스(또는 보안) 결정은 액세스 요청 포인트에서만 이루어질 필요는 없고, 오히려 액세스가 승인된 후에 이루어질 수 있다. 이 승인은, 다른 것들중에서, 정해진 시간(또는 세션)동안 컴포넌트를 액세스하는 행동(behavior)에 기초한 액세스 결정을 하는 "세션-인식(session-aware)" 액세스 제어 메카니즘을 지원한다. 이 행동은 다양한 상태 변수에 기초하여 측정될 수 있다. 예를 들어, 사용된 네트워크 연결의 수 및/또는 주어진 시간동안 애플리케이션에 의해 생성된 트래픽이 고려될 수 있으며, 만일 네트워크 연결의 수와 생성된 트래픽이 받아들여질 수 없을 정도라고 하면 다양한 네트워킹 자원에 대한 액세스가 효과적으로 철회될 수 있다. 액세스를 불허하는 것뿐만 아니라, 만일 하나 또는 그 이상의 상태 조건(또는 변수)에 기초하여 측정된 행동이 받아들여질 수 없는 것으로 생각되면 애플리케이션의 실행이 종결될 수 있다.
다양한 종류와 형태의 시스템 상태 및 애플리케이션 상태가 고려될 수 있음은 당업자에게 자명하다. 더 나아가, 상태, 상태-기반의 규칙, 상태-기반의 조건, 및/또는 상태-기반의 정책은, 그룹으로 또는 전체적으로 개별적인 기초에 근거하여, 예를 들어 시스템 관리자와 같은 최종 사용자(end-user)에 의해 정의되거나 구성되어, 개별적, 그룹별 등과 같은 보안 요구사항을 맞춤식으로(customization) 할 수 있다. 상태, 상태-기반의 규칙, 상태-기반의 조건 및/또는 상태-기반의 정책은, 최종 사용자 및/또는 관리자에 의해, 예를 들어 변경되거나 수정되거나 및/또는 업데이트될 수 있다. 이에 따라, 최종 사용자 및/또는 관리자에게 유연하고 맞춤형의 보안 환경에서 변경될 수 있도록 적용된 능력이 제공된다.
더 나아가 다양한 다른 장점이 실현될 수 있다는 것을 알 수 있다. 일예로써, 예를 들어 컨텍스트-인식(context-aware) 및/또는 위치-인식(location-aware) 보안을 제공함으로써, 애플리케이션 행동을 섬세하게 조정하는 것이 실현될 수 있다. 이러한 컨텍스트-인식(context-aware) 및/또는 위치-인식(location-aware) 보안은 예를 들어, J2ME에서 모바일 정보 디바이스 프로파일(Mobile Information Device Profile, MIDP) 보안 프레임워크을 포함하는 전통적인 참조 모니터링 시스템과 대비될 수 있다. 당업계에서 알려져 있듯이, MIDP는 모바일 폰과 PDA와 같은 임베디드 디바이스에서의 자바(Java)의 사용을 위해 공개된 규격이다. MIDP는 자바 플랫폼, Micro Edition(Java ME)의 일부이며, 연결되고 제한된 디바이스 구성(Connected Limited Device Configuration)을 이용할 수 있으며, 하위 레벨의 프로그래밍 인터페이스 셋이다. 다른 예로, 만일 상태-기반의 보안 조건, 규칙 또는 정책이 위반되면, 진행중인 통신은 종결될 수 있다. 또 다른 예로, 자원의 사용(또는 자원 용도)이, 예를 들어, 특정 애플리케이션에 의해 사용되는 네트워크 대역을 제어하도록 제어될 수 있다.
또 다른 실시예에 따르면, 저장 장치(예, 영구 저장장치)는 하나 또는 그 이상의 상태, 상태-기반의 규칙, 상태-기반의 조건 및/또는 상태-기반의 정책에 기초하여 제어되는 방법으로, 애플리케이션들간에 공유될 수 있다. 특히, 이러한 공유의 제어를 통해 컴퓨팅 디바이스의 최근 위협에 대비하여 저장장치를 격리시킨다는 것은 당업자에게 자명하다.
전형적인 기술과 대비하여, 참조 모니터링은 단지 종속적일 필요도 없고, 극 소의 허가 체크(예, SMS 또는 MMS를 전송하거나 전송하지 않음, 폰 콜(phone call)을 허여하거나 허여하지 않음, UMTS 연결 또는 TCP 연결을 허여하거나 허여하지 않음)에 기초하여 종료된다. 이러한 극소의 체크는, 다양한 상태(예, 하루에 사용되는 전체 네트워크 트래픽, 금주에 전송된 MMS 메시지의 최대수)에 대해 획득될 수 있는 애플리케이션 히스토리에 의존하지 않는다. 본 발명의 실시예에 따라 하나 또는 그 이상의 상태에 기초하여 액세스를 불허하는 것을 포함하는 액세스 결정을 하는데, 애플리케이션 히스토리가 사용되고 고려될 수 있음은 자명하다.
더 나아가, 이러한 결정을 하는데 고려된 상태는, 컨텍스츄얼 정보(contextual information)를 포함할 수 있다. 이 컨텍스츄얼 정보는, 예를 들어, 다음에 사용될 수 있다: 위치-기반의 규칙(예, 특정 지리적 범위에서만 허용된 액세스, 또는 특정 지리적 범위 내부 또는 외부에서 불허된 액세스), 시간-기반의 규칙(예, 피크 타임동안에는 게임 애플리케이션이 SMS 메시지를 전송하는 것을 불허함), 시스템-기반의 규칙(예, 다른 동시 연결이 없는 동안(없는 한) UMTS만 액세스할 수 있음)).
본 발명의 기술은 상태-인식(state-aware) 보안 정책을 제공하기 위해 J2ME 보안 모델과 구조를 확장할 수 있음은, 다른 것들 중에서 당업자에게 자명하다.
도 4는 본 발명의 일실시예에 따른 J2ME complaint 컴퓨팅 환경(400)을 도시한 도면이다.
도 4를 참조하면, 임베디드 디바이스 머신(MIDlet's)(401)에 대한 하나 또는 그 이상의 자바 프로그램은, K 가상 머신(KVM)에 의해 지지될 수 있다. 당업계에 서 잘 알려져 있듯이, KVM은 자바 가상 머신(JVM)에서 도출된, 썬마이크로시스템즈사에서 개발한 가상 머신일 수 있다. 전형적으로 KVM은 더 작고 및/또는 임베디드 디바이스를 위해 제공되고, JVM 특징의 서브셋을 지원한다. 상태-기반의 보안 체크 컴포넌트(402)는 상태 구성(404)에 저장되어 있는 상태-기반의 액세스(불허 액세스를 포함) 정책, 조건 및/또는 규칙을 실시한다. 상태-기반의 보안 체크 컴포넌트(402)는 상태 모니터(406)에 의해 수행된 상태(또는 상태 변수)의 모니터링에 기초하여, 상태-기반의 액세스 정책, 조건 및/또는 규칙을 실시한다.
액세스 정책 관리자(또는 정책 관리자)(408)은 액세스 정책, 조건 및/또는 규칙을 정의하고 변경하는데 사용될 수 있다. 상태-기반의 보안 체크 컴포넌트(402), 상태 구성(404), 상태 모니터(406), 그리고 정책 관리자(408)는, 예를 들어, J2ME의 프레임워크에서 새로운 "클래스"로써 제공될 수 있음은 당업자에게 자명하다.
보다 구체적으로, MIDP 허락 도메인 체크에 더하여, "보안토큰(SecurityToken)" 클래스는, MIdlet(401)의 현재 런타임 상태를 질의하는 상태-기반의 보안 체크를 호출할 수 있다.
상태 모니터(406)는 다양한 상태에 관련된 애플리케이션과 시스템 정보를 얻을 수 있으며, "상태-천이 로직(state-transition logic)(410)"(예, Finite State Machine(FSM))을 가동한다. 상태-기반 보안 체크는 상태 정보를 질의할 수 있으며, 상태-기반의 액세스 결정을 하기 위해 액세스 정책, 조건 및/또는 규칙에 기초한다. 이 상태-기반의 액세스 결정은 MIDP 허락 체크와 결합될 수 있고, 이에 따 라 만일 상태-기반의 액세스 결정과 MIDP허락 체크가 모두 이를 허여하면, 액세스는 허여될 수 있다.
정책 관리자(408)는 Midlets(401)과 연관된 다양한 상태를 정의할 수 있게 하기 위해, 사용자 및/또는 서비스 제공자에게 인터페이스를 제공할 수 있다. 예를 들어, 상태는 장착된 센서, 전체 시스템 상태, MIdlet(401)의 자원 사용 상태 등에 기초하여 모니터되거나 리포트될 수 있다.
이제까지 본 발명의 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1a는 본 발명의 일실시예에 따른 컴퓨팅 환경을 도시한 도면,
도 1b는 본 발명의 일실시예에 따른 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트(또는 액세스 가능한 컴포넌트)에 대한 현재 액세스 데이터를 (적극적으로) 유지하는 방법을 도시한 도면,
도 1c는 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트(또는 액세스 가능한 컴포넌트)에 대한 액세스를 (적극적으로) 제어하는 방법을 도시한 도면,
도 1d는 본 발명의 다른 실시예에 따른 컴퓨팅 환경의 하나 또는 그 이상의 컴포넌트의 액세스를 제어하는 방법을 도시한 도면,
도 2a는 본 발명의 일 실시예에 따른 액티브 상태-인식(state-aware) 참조 모니터(200)를 도시한 도면,
도 2b는 본 발명의 일 실시예에 따른 컴퓨팅 환경 및/또는 컴퓨팅 시스템의 컴포넌트 액세스를 제어하는 방법을 도시한 도면,
도 3은 본 발명의 기술과 호환되는 참조 모니터링 구조를 도시한 도면,
도 4는 본 발명의 일실시예에 따른 J2ME complaint 컴퓨팅 환경을 도시한 도면이다.
<도면의 주요부분에 대한 설명>
100 : 컴퓨팅 환경 102 : 액티브 액세스 제어 시스템
104 : 제1컴포넌트 105 : 액티브 액세스 모니터
106 : 제2컴포넌트 107 : 액티브 액세스 데이터
108 : 불허-액세스 조건 110 : 허용-액세스 조건
200 : 액티브 상태-인식 참조 모니터
202 : 상태-기반의 액세스-정책 관리자
212 : 상태 모니터 216 : 사용자 인터페이스

Claims (37)

  1. 컴퓨팅 환경에서 액세스될 수 있는, 하나 또는 그 이상의 컴포넌트의 액세스를 제어하는 액세스 모니터링 컴포넌트를 포함하되,
    상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스 허가를 효과적으로 승인하기 위해, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스가 허여된 후, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트의 액세스를 불허하기 위한 하나 또는 그 이상의 불허-액세스 조건이 만족되는지의 여부를 결정하는 단계; 및
    상기 결정이, 상기 액세스될 수 있는 하나 또는 그 이상의 액세스-불허 조건이 만족된 것으로 결정되면 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스를 불허하고, 그에 따라, 만일 상기 하나 또는 그 이상의 불허-액세스 조건이 만족되면 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스의 상기 허락을 철회하는 단계;
    에 의해 수행되는 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스 허용에 관한 하나 또는 그 이상의 액세스 조건 및/또는 규칙이 위반되었을때 상기 하나 또는 그 이상의 불허-액세스 조건은 만족되고,
    상기 하나 또는 그 이상의 불허-액세스 조건은, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스 허용을 위한 하나 또는 그 이상의 허용-액세스 조건 및/또는 규칙에 기초하여 정의되는 컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 하나 또는 그 이상의 불허-액세스 조건은, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스 허용을 위해 정의되는 하나 또는 그 이상의 허용-액세스 조건 및/또는 규칙과 상이하며, 및/또는
    상기 하나 또는 그 이상의 불허-액세스 조건은, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트의 액세스 불허를 위해 명시적으로 정의되는 컴퓨팅 시스템.
  4. 제1항에 있어서, 상기 액티브 액세스 모니터링 컴포넌트는
    상기 하나 또는 그 이상의 불허-액세스 조건을 모니터하여, 상기 하나 또는 그 이상의 불허-액세스 조건이 만족되는지의 여부를 결정하는 컴퓨팅 시스템.
  5. 제1항에 있어서,
    상기 하나 또는 그 이상의 불허-액세스 조건은 상기 컴퓨팅 환경과 연관된 하나 또는 그 이상의 변수에 기초하여 정의되고,
    상기 액티브 액세스 모니터링 컴포넌트는, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트가 허여된 후 상기 하나 또는 그 이상의 변수의 값의 변화를 검출하는 컴퓨팅 시스템.
  6. 제1항에 있어서, 상기 액세스 모니터링 컴포넌트는
    상기 하나 또는 그 이상의 변수의 현재값을, 액세스를 불허하기 위해 정의되는 상기 하나 또는 그 이상의 변수의 받아들여질 수 없는(unacceptable) 값에 비교하는 컴퓨팅 시스템.
  7. 제5항에 있어서,
    상기 하나 또는 그 이상의 변수는 상기 컴퓨팅 환경과 연관된 하나 또는 그 이상의 상태변수를 포함하는 컴퓨팅 시스템.
  8. 제1항에 있어서,
    상기 컴퓨팅 시스템은 컴퓨팅 디바이스를 포함하고, 상기 액세스 모니터링 컴포넌트는 상기 컴퓨팅 디바이스의 자원에 대한 액세스를 제어하는 참조 모니터를 포함하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 컴퓨팅 디바이스는 모바일 디바이스이거나 및/또는 모바일 디바이스를 포함하는 컴퓨팅 시스템.
  10. 제9항에 있어서,
    상기 모바일 디바이스는 모바일 폰, 스마트 폰, PDA 들 중 어느 하나 또는 그 이상인 컴퓨팅 시스템.
  11. 제8항에 있어서,
    상기 참조 모니터는 상기 컴퓨팅 디바이스의 운영체제의 자원에 대한 액세스를 제어하는 컴퓨팅 시스템.
  12. 제1항에 있어서,
    상기 하나 또는 그 이상의 불허-액세스 조건은 또한, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트에 대한 액세스 허용을 위한 하나 또는 그 이상의 허용-액세스 조건을 정의하는 컴퓨팅 시스템.
  13. 제1항에 있어서, 상기 컴퓨팅 시스템은
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스를 허용 및/또는 불허하기 위한, 하나 또는 그 이상의 상태-기반의 액세스 조건 및/또는 규칙을 정의하는 입력을 수신하고, 상기 입력에 기초하여, 상기 컴퓨팅 환경과 연관된 하나 또는 그 이상의 상태 변수를 포함하는 하나 또는 그 이상의 상태-기반 액세스 조건 및/또는 규칙을 생성하는 액세스 정책 매니저 컴포넌트; 및
    상기 하나 또는 그 이상의 상태 변수를 모니터하는 상태 모니터를 더 포함하는 컴퓨팅 시스템.
  14. 제1항에 있어서,
    상기 하나 또는 그 이상의 상태변수를 저장하는 상태 구성 스토리지를 더 포함하며,
    상기 액세스 정책 관리자 컴포넌트는, 상기 상태 구성 스토리지에 상기 하나 또는 그 이상의 상태-기반의 액세스 조건 및/또는 규칙이 저장하고,
    상기 상태 모니터는, 상기 하나 또는 그 이상의 상태 변수를 모니터할 것을 결정하기 위하여, 상기 상태 구성 스토리지를 액세스하고 상기 하나 또는 그 이상의 상태-기반의 액세스 조건 및/또는 규칙을 얻는 컴퓨팅 시스템.
  15. 제13항에 있어서, 상기 입력을 수신하는 것은
    상기 입력을 사용자 인터페이스(UI)를 통해 사용자로부터 입력받아, 그에 따라 상기 사용자가, 상기 액세스될 수 있는 컴포넌트의 액세스를 위한 상기 하나 또는 그 이상의 상태-기반의 액세스 조건 및/또는 규칙을 정의하도록 허용하는 컴퓨팅 시스템.
  16. 제13항에 있어서, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트의 액세스를 불허할지의 여부를 결정하는 것은,
    제1컴포넌트가 제2컴포넌트를 액세스하는 것을 허용하는 액세스후에 변경된 액세스 데이터에 기초하여, 상기 제1컴포넌트가 상기 하나 또는 그 이상의 컴포넌트의 액세스를 불허할지의 여부를 결정하고, 이에 의해, 액세스가 허용된 이후에는 액세스의 허용이 적극적으로 제어되거나 및/또는 모니터되는 컴퓨팅 시스템.
  17. 제1항에 있어서,
    상기 불허-액세스 조건은 소정 시간동안의 취해진 하나 또는 그 이상의 인자(factor)의 측정에 기초한 컴퓨팅 시스템.
  18. 제17항에 있어서,
    상기 하나 또는 그 이상의 인자는, 하나 또는 그 이상의 상태 변수에 기초 및/또는 포함하는 컴퓨팅 시스템.
  19. 제1항에 있어서,
    상기 하나 또는 그 이상의 인자는, 하나 또는 그 이상의 상태 변수에 기초 및/또는 포함하는 컴퓨팅 시스템.
  20. 컴퓨팅 환경의 액세스될 수 있는 하나 또는 그 이상의 컴포넌트의 액세스를 제어하는 방법에 있어서,
    상기 하나 또는 그 이상의 액세스될 수 있는 컴포넌트에 대한 액세스 허가가 승인된 후, 하나 또는 그 이상의 불허-액세스 조건을 모니터링하는 단계;
    상기 하나 또는 그 이상의 불허-액세스 조건 모니터링에 기초하여, 상기 하나 또는 그 이상의 불허-액세스 조건이 만족되는지의 여부를 결정하는 단계; 및
    상기 결정결과 적어도 하나의 상기 하나 또는 그 이상의 불허-액세스 조건이 만족된 것으로 결정되면, 상기 액세스될 수 있는 하나 또는 그 이상의 컴포넌트를 액세스하는 액세스 허가를 철회하여, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 허여된 액세스가 불허하는 단계를 포함하는 방법.
  21. 제20항에 있어서,
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 허용된 액세스를 불허하는 것을 나타내는 인디케이션을 생성하는 단계;
    상기 결정결과 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스를 불허하는 것으로 결정되면, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대해 허용된 액세스를 불허하는 단계; 및
    상기 결정결과 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스를 불허하는 것으로 결정되면, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대해 허용된 액세스를 결과적으로 불허되도록 하는 단계 중 적어도 어느 하나의 단계를 더 포함하는 방법.
  22. 제20항에 있어서,
    상기 액세스의 상기 허용은, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트를 제1컴포넌트가 액세스하도록 허용하는 것이며,
    상기 액세스의 상기 불허는, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트를 제1컴포넌트가 액세스하는 것을 불허하는 것인 방법.
  23. 제20항에 있어서,
    상기 하나 또는 그 이상의 불허-액세스 조건의 상기 모니터링은,
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트를 상기 제1컴포넌트가 액세스하거나,
    상기 제1컴포넌트가 실행중 및/또는 활성이거나,
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트를 상기 제1컴포넌트가 액세스하는 것을 요청하지 않거나 하는 것 중 어느 하나 또는 그 이상이 참인 경우에 수행되는 방법.
  24. 제20항에 있어서,
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트는,
    하나 또는 그 이상의 자원, 하나 또는 그 이상의 시스템 콜, 하나 또는 그 이상의 파일, 하나 또는 그 이상의 오브젝트, 하나 또는 그 이상의 연결, 하나 또는 그 이상의 네트워크 연결, 하나 또는 그 이상의 애플리케이션, 하나 또는 그 이상의 MIDlets, 하나 또는 그 이상의 모듈, 하나 또는 그 이상의 함수, 하나 또는 그 이상의 프로시져 중 어느 하나 또는 그 이상을 포함하며,
    상기 제1컴포넌트는 하나 또는 그 이상의 프로그램, 하나 또는 그 이상의 애플리케이션 프로그램, 하나 또는 그 이상의 오브젝트, 하나 또는 그 이상의 MIDlets, 하나 또는 그 이상의 모듈, 하나 또는 그 이상의 함수, 하나 또는 그 이상의 프로시져 중 어느 하나 또는 그 이상을 포함하는 방법.
  25. 제20항에 있어서,
    상기 하나 또는 그 이상의 불허-액세스 조건이 만족되었는지의 여부를 결정하는 단계는, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스 허가가 승인된 후에 변경된 액세스 데이터에 기초하여 이루어지고, 이에 따라 액세스의 허용이 활동적으로 제어되는 방법.
  26. 제25항에 있어서,
    상기 액세스 데이터는 상기 컴퓨팅 환경과 연관된 상태 데이터를 포함하고,
    상기 방법은, 상기 하나 또는 그 이상의 컴포넌트의 액세스를 허용 및/또는 불허하는 것과 연관된 상기 상태 데이터의 변화를 검출하는 단계를 더 포함하는 방법.
  27. 제20항에 있어서,
    상기 하나 또는 그 이상의 컴포넌트에 대한 액세스가 승인된 후 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스를 모니터링하는 단계; 및
    상기 컴퓨팅 환경과 연관된 하나 또는 그 이상의 상태 변수 및/또는 파라미터를 포함하는, 하나 또는 그 이상의 상태를 모니터링하는 단계 중 어느 하나 또는 그 이상을 더 포함하는 방법.
  28. 제27항에 있어서,
    상기 액세스 데이터는, 상기 컴퓨팅 환경의 하나 또는 그 이상의 상태와 연관된 상태 데이터를 포함하고,
    상기 방법은, 상기 상태 데이터에서의 변화를 더 검출하는 방법.
  29. 제28항에 있어서,
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트에 대한 액세스가 허용된 후, 상기 상태 데이터를 유지 및/또는 변경하는 단계를 더 포함하는 방법.
  30. 제29항에 있어서,
    상기 유지 및/또는 변경하는 단계는, 액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트가 액세스될 때 수행되는 방법.
  31. 제30항에 있어서, 상기 상태 데이터는
    액세스될 수 있는 상기 하나 또는 그 이상의 컴포넌트나, 상기 컴퓨팅 시스 템의 하나 또는 그 이상의 컴포넌트, 및/또는 액세스될 수 있는 상기 컴포넌트의 액세스를 액세스 및/또는 시도하는 하나 또는 그 이상의 컴포넌트와 관련된 컴포넌트 데이터;
    컴퓨팅 환경의 하나 또는 그 이상의 상태와 연관된 하나 또는 그 이상의 컴포넌트 상태;
    상기 컴퓨팅 환경과 연관된 하나 또는 그 이상의 컨텍스츄얼 변수와 연관된 컨텍스츄얼 데이터;
    상기 컴퓨팅 환경에 외부에 있는 하나 또는 그 이상의 내부 컨텍스츄얼 변수와 연관된 내부 컨텍스츄얼 데이터; 및
    상기 컴퓨팅 환경에 외부에 있는 하나 또는 그 이상의 외부 컨텍스츄얼 변수와 연관된 외부 컨텍스츄얼 데이터; 중 어느 하나 또는 그 이상을 포함하는 방법.
  32. 제20항에 있어서,
    액세스될 수 잇는 상기 하나 또는 그 이상의 컴포넌트의 액세스를 허용 및/또는 불허하기 위한 하나 또는 그 이상의 상태 변수에 기초하여 정의된, 하나 또는 그 이상의 상태-기반의 액세스 규칙을 얻는 단계; 및
    상기 하나 또는 그 이상의 상태-기반의 액세스 규칙에 기초하여, 액세스의 허용 및/또는 불허할 지의 여부를 결정하는 단계를 포함하는 방법.
  33. 제32항에 있어서,
    상기 입력에 기초하여 하나 또는 그 이상의 액세스 규칙을 정의 및/또는 변경하는 단계를 더 포함하는 방법.
  34. 제33항에 있어서,
    상기 입력은 사용자로부터 수신하여 제공되는 방법.
  35. 컴퓨팅 시스템에서의 참조 모니터를 제공하는 방법에 있어서,
    상기 컴퓨팅 시스템의 제1컴포넌트가, 상기 컴퓨팅 시스템의 액세스될 수 있는 컴포넌트를 액세스하는 것을 요청 및/또는 시도하는 것을 결정하는 단계;
    상기 액세스될 수 있는 컴포넌트의 액세스를 위한, 하나 또는 그 이상의 액세스-기반의 액세스 규칙을 얻되, 상기 하나 도는 그 이상의 상태-기반의 액세스 규칙은 상기 컴퓨팅 시스템과 연관된 하나 또는 그 이상의 상태 변수를 포함하는 단계;
    상기 하나 또는 그 이상의 상태 변수의 현재값을 얻는 단계;
    상기 하나 또는 그 이상의 현재값에 기초하여, 상기 제1컴포넌트가 상기 액세스될 수 있는 컴포넌트를 액세스하는 것을 승인할지의 여부를 결정하는 단계;
    상기 결정단계에서 상기 액세스될 수 있는 컴포넌트에 대한 액세스를 승인하도록 결정되면, 상기 제1컴포넌트가 상기 액세스될 수 있는 컴포넌트에 대한 액세스 허가를 승인하는 단계;
    상기 제1컴포넌트가 상기 액세스될 수 있는 컴포넌트에 액세스하는 것이 승 인되면, 상기 하나 또는 그 이상의 상태변수의 모니터링을 시작하는 단계;
    상기 모니터링에 기초하여, 상기 액세스될 수 있는 컴포넌트를 액세스하는 상기 허가를 철회할지의 여부를 결정하는 단계; 및
    상기 액세스될 수 있는 컴포넌트를 액세스하는 상기 허가를 철회하여, 상기 제1컴포넌트가 상기 액세스될 수 있는 컴포넌트를 더 이상 액세스하지 못하도록 하는 단계를 포함하는 방법.
  36. 제35항에 있어서,
    상기 제1컴포넌트가 비활성 및/또는 상기 액세스될 수 있는 컴포넌트를 애겟스할 수 없을때, 상기 하나 또는 그 이상의 상태 변수의 상기 모니터링을 종료하는 단계; 및
    상기 컴퓨팅 시스템의 상기 제1컴포넌트로부터, 상기 컴퓨팅 시스템의 제2컴포넌트 액세스에 대한 요청을 수신하는 단계 중 하나 또는 그 이상의 단계를 더 포함하는 방법.
  37. 제35항에 있어서,
    적어도 하나의 상기 하나 또는 그 이상의 상태 변수에서의 변화를 검출하는 단계; 및
    상기 적어도 하나의 변수의 상기 변화가 받아들여질 수 있는 정도인지의 여부를 판단하여, 상기 규칙을 다시 구하는 단계를 포함하는 방법.
KR1020090085003A 2008-11-10 2009-09-09 보다 안전한 컴퓨팅 환경 및 시스템을 위한 액티브 액세스 모니터링 KR20100052402A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/267,990 US8631468B2 (en) 2008-11-10 2008-11-10 Active access monitoring for safer computing environments and systems
US12/267,990 2008-11-10

Publications (1)

Publication Number Publication Date
KR20100052402A true KR20100052402A (ko) 2010-05-19

Family

ID=42166385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090085003A KR20100052402A (ko) 2008-11-10 2009-09-09 보다 안전한 컴퓨팅 환경 및 시스템을 위한 액티브 액세스 모니터링

Country Status (2)

Country Link
US (1) US8631468B2 (ko)
KR (1) KR20100052402A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015053906A1 (en) * 2013-10-08 2015-04-16 Crowdstrick, Inc. Event model for correlating system component states

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397306B1 (en) * 2009-09-23 2013-03-12 Parallels IP Holdings GmbH Security domain in virtual environment
US9053513B2 (en) 2010-02-25 2015-06-09 At&T Mobility Ii Llc Fraud analysis for a location aware transaction
US9196157B2 (en) 2010-02-25 2015-11-24 AT&T Mobolity II LLC Transportation analytics employing timed fingerprint location information
US9008684B2 (en) 2010-02-25 2015-04-14 At&T Mobility Ii Llc Sharing timed fingerprint location information
US9032013B2 (en) * 2010-10-29 2015-05-12 Microsoft Technology Licensing, Llc Unified policy over heterogenous device types
US9009629B2 (en) 2010-12-01 2015-04-14 At&T Mobility Ii Llc Motion-based user interface feature subsets
US8914851B2 (en) 2010-12-06 2014-12-16 Golba Llc Method and system for improved security
US20120222132A1 (en) * 2011-02-25 2012-08-30 Microsoft Corporation Permissions Based on Behavioral Patterns
US9462497B2 (en) 2011-07-01 2016-10-04 At&T Mobility Ii Llc Subscriber data analysis and graphical rendering
US9519043B2 (en) 2011-07-21 2016-12-13 At&T Mobility Ii Llc Estimating network based locating error in wireless networks
US8897802B2 (en) 2011-07-21 2014-11-25 At&T Mobility Ii Llc Selection of a radio access technology resource based on radio access technology resource historical information
JP5701715B2 (ja) * 2011-08-12 2015-04-15 株式会社東芝 エネルギー管理装置、電力管理システムおよびプログラム
US8909247B2 (en) 2011-11-08 2014-12-09 At&T Mobility Ii Llc Location based sharing of a network access credential
US8970432B2 (en) 2011-11-28 2015-03-03 At&T Mobility Ii Llc Femtocell calibration for timing based locating systems
US9026133B2 (en) 2011-11-28 2015-05-05 At&T Mobility Ii Llc Handset agent calibration for timing based locating systems
US9027076B2 (en) * 2012-03-23 2015-05-05 Lockheed Martin Corporation Method and apparatus for context aware mobile security
US8924713B2 (en) 2012-03-30 2014-12-30 Golba Llc Method and system for state machine security device
US8925104B2 (en) * 2012-04-13 2014-12-30 At&T Mobility Ii Llc Event driven permissive sharing of information
US9094929B2 (en) 2012-06-12 2015-07-28 At&T Mobility Ii Llc Event tagging for mobile networks
US9326263B2 (en) 2012-06-13 2016-04-26 At&T Mobility Ii Llc Site location determination using crowd sourced propagation delay and location data
US8938258B2 (en) 2012-06-14 2015-01-20 At&T Mobility Ii Llc Reference based location information for a wireless network
US8897805B2 (en) 2012-06-15 2014-11-25 At&T Intellectual Property I, L.P. Geographic redundancy determination for time based location information in a wireless radio network
US9408174B2 (en) 2012-06-19 2016-08-02 At&T Mobility Ii Llc Facilitation of timed fingerprint mobile device locating
US8892054B2 (en) 2012-07-17 2014-11-18 At&T Mobility Ii Llc Facilitation of delay error correction in timing-based location systems
US9351223B2 (en) 2012-07-25 2016-05-24 At&T Mobility Ii Llc Assignment of hierarchical cell structures employing geolocation techniques
US20160057213A1 (en) * 2013-03-29 2016-02-25 Gary S. Greenbaum Coupling application data with network connectivity
US9275221B2 (en) * 2013-05-01 2016-03-01 Globalfoundries Inc. Context-aware permission control of hybrid mobile applications
US9667655B2 (en) * 2015-02-12 2017-05-30 Ca, Inc. Intelligent content ghosting on mobile devices
US9351111B1 (en) 2015-03-06 2016-05-24 At&T Mobility Ii Llc Access to mobile location related information
WO2017011577A1 (en) * 2015-07-13 2017-01-19 Intertrust Technologies Corporation Systems and methods for protecting personal information
US10516972B1 (en) 2018-06-01 2019-12-24 At&T Intellectual Property I, L.P. Employing an alternate identifier for subscription access to mobile location information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889212B1 (en) * 2000-07-11 2005-05-03 Motorola, Inc. Method for enforcing a time limited software license in a mobile communication device
EP1944676B1 (en) 2001-06-14 2016-03-09 Cisco Technology, Inc. Stateful reference monitor
US7290266B2 (en) * 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
US7266786B2 (en) * 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
CA2563422C (en) * 2004-04-15 2013-06-04 Clearpath Networks, Inc. Systems and methods for managing a network
US20060137007A1 (en) * 2004-12-16 2006-06-22 Nokia Corporation Revoking a permission for a program
US7685633B2 (en) * 2005-02-25 2010-03-23 Microsoft Corporation Providing consistent application aware firewall traversal
US7562385B2 (en) * 2005-04-20 2009-07-14 Fuji Xerox Co., Ltd. Systems and methods for dynamic authentication using physical keys
US7614082B2 (en) * 2005-06-29 2009-11-03 Research In Motion Limited System and method for privilege management and revocation
US7873835B2 (en) * 2006-03-31 2011-01-18 Emc Corporation Accessing data storage devices
US9100417B2 (en) * 2007-09-12 2015-08-04 Avaya Inc. Multi-node and multi-call state machine profiling for detecting SPIT

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015053906A1 (en) * 2013-10-08 2015-04-16 Crowdstrick, Inc. Event model for correlating system component states
US9477835B2 (en) 2013-10-08 2016-10-25 Crowdstrike, Inc. Event model for correlating system component states

Also Published As

Publication number Publication date
US20100122314A1 (en) 2010-05-13
US8631468B2 (en) 2014-01-14

Similar Documents

Publication Publication Date Title
US8631468B2 (en) Active access monitoring for safer computing environments and systems
US8510805B2 (en) Safe and efficient access control mechanisms for computing environments
US8621551B2 (en) Safety and management of computing environments that may support unsafe components
US20230199010A1 (en) Reporting and processing controller security information
US8479266B1 (en) Network assignment appeal architecture and process
US8732827B1 (en) Smartphone security system
US9838392B2 (en) Method and apparatus for providing proxy-based access controls
US20100162240A1 (en) Consistent security enforcement for safer computing systems
US20070123214A1 (en) Mobile device system and strategies for determining malicious code activity
KR20040015703A (ko) 사용허가를 이용한 장치자원의 애플리케이션으로의 할당
US11386199B2 (en) Isolating an application running inside a native container application
US20050059352A1 (en) Methods and apparatus for determining device integrity
US7861295B2 (en) Risk detection
CN104239790B (zh) 病毒处理方法及装置
US20130303118A1 (en) Mobile device security
Wen et al. Thwarting Smartphone SMS Attacks at the Radio Interface Layer.
Niu et al. Enhancing the security of mobile device management with seccomp
Yubo et al. Using short message service (SMS) to deploy android exploits
KR101798101B1 (ko) 안전 통화 제공 방법, 보안 계정을 이용한 불법 앱의 설치 및 실행을 방지하는 방법, 단말 및 컴퓨터 프로그램
Dunning Bluetooth Threat Taxonomy
Androulidakis et al. Introduction: Confidentiality, Integrity, and Availability Threats in Mobile Phones
Ramteke SMART PHONE INTERACTION AND SECURITY
WO2010150047A1 (en) Method and apparatus for device rehabilitation management
Kukielka Evaluating the Effectiveness of Context-Based Security for Mobile Devices

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