KR20140068935A - 프로세스별 네트워킹 기능 관리 기법 - Google Patents

프로세스별 네트워킹 기능 관리 기법 Download PDF

Info

Publication number
KR20140068935A
KR20140068935A KR1020147006056A KR20147006056A KR20140068935A KR 20140068935 A KR20140068935 A KR 20140068935A KR 1020147006056 A KR1020147006056 A KR 1020147006056A KR 20147006056 A KR20147006056 A KR 20147006056A KR 20140068935 A KR20140068935 A KR 20140068935A
Authority
KR
South Korea
Prior art keywords
computing device
network
access
implemented
token
Prior art date
Application number
KR1020147006056A
Other languages
English (en)
Other versions
KR101839647B1 (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 KR20140068935A publication Critical patent/KR20140068935A/ko
Application granted granted Critical
Publication of KR101839647B1 publication Critical patent/KR101839647B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • 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/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

프로세스별 네트워킹 기능 기술이 설명된다. 하나 이상의 구현에서, 프로세스와 연관되는 토큰에 기초하여 컴퓨팅 디바이스 상에서 실행되는 프로세스에 대해 네트워크 기능으로의 액세스가 허용되는지 여부에 대해 판정이 이루어진다. 토큰은 매니페스트에 기술된 하나 이상의 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는다. 네트워크 기능으로의 액세스는 이러한 판정에 기초하여 관리된다.

Description

프로세스별 네트워킹 기능 관리 기법{PER PROCESS NETWORKING CAPABILITIES}
사용자가 컴퓨팅 디바이스에 의해 실행되는 실행가능 코드(예를 들어, 소프트웨어)로의 액세스를 얻을 수 있는 방식이 점점 증가하고 있다. 예를 들어, 사용자는 사용자에 의해 수동으로 설치되는 어플리케이션을 찾고 구매하기 위해 통상적으로 "소매(bricks-and-mortar)" 가게에 간다. 따라서, 사용자는 가게 자체의 명성뿐만 아니라 소프트웨어의 개발자의 명성으로 인해 소프트웨어를 통상적으로 신뢰할 수 있었다.
하지만, 어플리케이션 시장의 도래로 인해, 사용자는 수백 심지어 수천의 다른 개발자로부터의 수천의 다른 유형의 어플리케이션에 대한 액세스를 가질 수 있다. 따라서, 사용자는 광범위한 소스로부터 컴퓨팅 디바이스에 다수의 어플리케이션을 설치할 수 있는데, 이들 소스 중 일부는 하나의 어플리케이션이 또 다른 어플리케이션을 손상시키는 결과를 가져올 수 있다. 따라서, 어플리케이션이 신뢰할 수 있지, 그에 따라 사용자의 컴퓨팅 디바이스의 기능에 액세스하도록 허용되어야 하는지에 대해 사용자와 심지어 시장이 결정하는 것이 곤란할 수 있다. 이러한 곤란함은, 심지어 신뢰할 수 있는 소스로부터 유래된 어플리케이션에 대해서도, 민감한 데이터에 대한 액세스와 같이, 어플리케이션에 의해 지원되는 기능에 액세스하는 어플리케이션들을 공격할 수 있는 악의적인 공격측(malicious party)에 의해 더욱 악화될 수 있다.
프로세스별 네트워킹 기능 기술에 대해 설명한다. 하나 이상의 구현에서, 네트워크 기능에 대한 액세스가 프로세스와 연관되는 토큰에 기초하여 컴퓨팅 디바이스 상에서 실행되는 프로세스에 대해 허용되는지 여부에 대한 판정이 이루어진다. 토큰은 매니페스트(manifest)에 기술된 하나 이상의 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는다. 네트워크 기능에 대한 액세스는 이러한 판정에 기초하여 관리된다.
하나 이상의 구현에서, 네트워크는 프록시 서버, 서브넷, 또는 원격 액세스가능 네트워크를 식별하기 위해 조사된다. 네트워크의 네트워크 기능에 대한 컴퓨팅 디바이스 상에서 실행되는 프로세스의 액세스는 프록시 서버 또는 서브넷의 식별자와 프로세스와 연관되는 토큰의 검사에 기초하여 관리된다. 토큰은 프로세스에 의한 사용을 위해 허용되는, 매니페스트에 기술된, 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는다. 이것은 프로세스에 의해 영향을 받도록 구성되지 않는 보안 방식으로 수행될 수 있다.
하나 이상의 구현에서, 하나 이상의 컴퓨터 판독가능 저장 매체는, 컴퓨팅 디바이스 상에서의 실행에 응답하여 컴퓨팅 디바이스로 하여금 운영 체제를 실행하여 컴퓨팅 디바이스에 의해 실행가능한 코드의 실행을 통해 형성되는 프로세스에 대응하는 매니페스트에 기술된 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는 토큰을 형성하도록 하는 명령어를 포함하고, 실행가능 코드 및 매니페스트는 패키지로부터 컴퓨팅 디바이스 상에 설치되고, 토큰은 네트워크 기능에 대한 프로세스의 액세스를 관리하기 위해 운영 체제에 의해 사용가능하다.
본 요약은 후술하는 상세한 설명에서 추가적으로 설명되는 단순화된 형식의 개념의 선택을 도입하기 위해 제공된다. 본 요약은 청구되는 청구물의 핵심 특징 또는 본질적 특징을 식별하려는 것도 아니고, 청구된 청구물의 범위를 결정하는 것을 돕고자 사용하려는 것도 아니다.
첨부 도면을 참조하여 상세한 설명을 기술한다. 도면에서, 참조 번호의 가장 왼쪽의 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 설명과 도면에서 다른 순간에서의 동일한 참조 번호의 사용은 유사하거나 동일한 항목을 나타낼 수 있다.
도 1은 프로세스별 네트워킹 기능 기술을 수행하도록 동작가능한 예시적인 구현의 환경의 예시이다.
도 2는 프로세스별 네트워킹 기능 기술의 예시적인 구현을 나타내는 예시적인 구현의 시스템의 예시이다.
도 3은 프로세스별 네트워킹 기능 기술의 예시적인 구현을 나타내는 예시적인 구현의 시스템의 다른 예시이다.
도 4는 실행가능 코드와 매니페스트를 갖는 패키지가 컴퓨팅 디바이스 상에 설치되고 실행가능 코드의 실행을 개시하는 것에 응답하여 토큰을 형성하는 데 사용되는 예시적인 구현의 절차를 나타내는 흐름도이다.
도 5 기능에 대한 액세스가 도 4에서 형성된 토큰을 사용하여 컴퓨팅 디바이스에 의해 관리되는 예시적인 구현의 절차를 나타내는 흐름도이다.
도 6은 네트워크 기능에 대한 프로세스별 액세스를 관리하기 위해 토큰과 함께 조사가 사용되는 예시적인 구현의 절차를 나타내는 흐름도이다.
도 7은 도 1을 참조하여 설명한 바와 같이 컴퓨팅 디바이스를 포함하는 예시적인 시스템을 나타낸다.
도 8은 여기에 설명된 기술의 실시예를 구현하기 위해 도 1 내지 3과 7을 참조하여 설명된 임의의 유형의 컴퓨팅 디바이스로서 구현될 수 있는 예시적인 디바이스의 다양한 컴포넌트를 나타낸다.
통상적으로, 컴퓨팅 디바이스 상에서 실행되었던 어플리케이션은, 심지어 이러한 액세스를 원하는지 여부와도 무관하게, 컴퓨팅 디바이스의 기능의 전부는 아니더라도 대부분에 대한 액세스를 부여받는다. 이것은 네트워크에 대한 자유로운 액세스를 포함할 수 있다. 하지만, 일부 예에서 이러한 동일 어플리케이션이 악의적인 공격측에 의해 이용될 수 있다. 따라서, 자유로운 액세스는 이러한 악의적인 공격측에 의해 사용되어, 인터넷 상의 리소스에 액세스하고, 청하지 않은 접속을 수신하고, 웹-접속 기능에 액세스하는 등을 할 수 있다. 따라서, 이러한 어플리케이션에 부여되는 폭넓은 액세스는 사용자의 컴퓨팅 디바이스뿐만 아니라 컴퓨팅 디바이스에 액세스가능한 디바이스에 대해서도 상당한 위험을 현재 제공할 수 있다.
프로세스별 네트워크 기능 기술에 대해 설명한다. 하나 이상의 구현에서, 어플리케이션이 개발자-규정 네트워크 리소스에 대한 액세스를 갖고 개발자에 의해 규정되지 않은 다른 네트워크 리소스에 액세스할 수 없는 것을 보장하는 능력 모델(capability model)이 이용된다. 따라서, 능력 모델은, 이용되는 어플리케이션이 통상적으로 어플리케이션에 의해 이용되지 않는 네트워크 리소스를 이용하는 것을 방지할 수 있다. 이러한 방식으로, 모델은, 손상된 어플리케이션이 한정된 네트워크 기능에 액세스하도록 제한되고, 개발자에 의해 한정된 네트워크 기능의 이용을 그 어플리케이션에 대해 액세스 불가로 제한하는 것을 보장하는 데 사용될 수 있다. 다양한 다른 예들도 생각될 수 있으며, 이에 대한 추가적인 설명은 후술하는 섹션과 관련하여 설명되어 있다.
후술하는 설명에서, 본 명세서에서 설명된 네트워크 기능 기술을 채용할 수 있는 예시적인 환경이 우선 설명된다. 이어서, 이러한 예시적인 환경뿐만 아니라 다른 환경에서도 수행될 수 있는 예시적인 절차가 설명된다. 따라서, 예시적인 절차의 수행은 예시적인 환경으로 제한되지 않고, 예시적인 환경은 예시적인 절차의 수행으로 제한되지 않는다.
예시적인 환경
도 1은 전반적으로 100으로, 하나 이상의 실시예에 따른 동작 환경을 나타낸다. 환경(100)은 하나 이상의 프로세서를 포함할 수 있는 프로세싱 시스템(104)을 갖는 컴퓨팅 디바이스(102), 메모리(106)로서 나타내어지는 컴퓨터 판독가능 저장 매체, 운영 체제(108) 및 하나 이상의 어플리케이션(108)을 포함한다. 컴퓨팅 디바이스는, 예시로서 데스크탑 컴퓨터, 포터블 컴퓨터, PDA(personal digital assistant), 모바일 폰, 태블릿 컴퓨터 등과 같은 휴대용 컴퓨터와 같은 임의의 적절한 컴퓨팅 디바이스로 구현될 수 있지만 이에 한정되지는 않는다. 컴퓨팅 디바이스(102)의 다른 예에 대해 이하의 도 6 및 7에서 도시 및 설명한다.
또한, 컴퓨팅 디바이스(102)는 프로세싱 시스템(104) 상에서 실행되는 것으로 예시되고 메모리(106)에 저장가능한 운영 체제(108)를 포함한다. 컴퓨팅 디바이스(102)는 메모리(106)에 저장되는 것으로 예시되고 또한 프로세싱 시스템(104) 상에서 실행가능한 어플리케이션(110)을 더 포함한다. 운영 체제(108)는 어플리케이션(110)에 의한 사용을 위하여 하위의 하드웨어 및 소프트웨어 리소스를 추출할 수 있는 컴퓨팅 디바이스(102)의 기능을 나타낸다. 예를 들어, 운영 체제(108)는, 어플리케이션(110)이 이러한 디스플레이가 달성되는 방식을 반드시 "알(know)" 필요도 없이, 데이터가 디스플레이 디바이스(112) 상에 디스플레이되는 기능을 추출할 수 있다. 컴퓨팅 디바이스(102)의 프로세싱 시스템(104) 및 메모리(106) 리소스, 네트워크 리소스 등을 추출하는 것과 같이 다양한 다른 예들도 생각된다.
또한, 컴퓨팅 디바이스(102)는 프로세스 관리자 모듈(114)을 포함하는 것으로 예시된다. 프로세스 관리자 모듈(114)은 컴퓨팅 디바이스(102)의 기능에 대한 실행가능 코드의 액세스를 관리하는 컴퓨팅 디바이스(102)의 기능을 나타낸다. 예를 들어, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102) 상의 설치를 위해 실행가능 코드(118)(예를 들어, 어플리케이션)를 갖는 패키지(116)를 수신할 수 있다. 또한, 패키지(116)는, 네트워크(124)에 대해 액세스하는 컴퓨팅 디바이스(102)의 기능을 포함할 수 있는, 컴퓨팅 디바이스(102)의 하나 이상의 기능(122)을 기술하는, 실행가능 코드(118)의 개발자에 의해 생성된 매니페스트(120)를 포함할 수 있다. 따라서, 이러한 설명은, 실행가능 코드(118)의 실행을 통해 형성된 프로세스가 컴퓨팅 디바이스(102)의 어느 기능에 액세스하도록 허용되는지 및/또는 허용되지 않는지를 기술할 수 있다. 예를 들어, 매니페스트(120)는 프로세스에 액세스가능하게 이루어진 기능을 열거할 수 있고/있거나 프로세스에 의해 액세스 불가하게 이루어진 기능을 열거할 수도 있다. 이러한 방식으로, 실행가능 코드(118)의 개발자는, 어플리케이션을 손상시켜 실행가능 코드(118)에 의해 통상적으로 액세스되지 않는 기능에 액세스하려는 악의적인 공격측의 능력을 감소시키거나 심지어 제거하는 것을 돕기 위한 기능을 매니페스트(120)에 특정할 수 있다.
예를 들어, 프로세스 관리자 모듈(114)은 모듈 자체의 일부로서 또는 다른 모듈과의 통신으로, 예를 들어 전용 방화벽 모듈, 방화벽 기능을 이용할 수 있다. 이러한 기능은 패키지(116)의 매니페스트에 의해 특정되는 네트워크(124)에 대한 액세스를 허용 또는 거부하는 데 사용될 수 있다. 따라서, 실행가능 코드(118)는 코드의 개발자에 의해 고안된 대로 기능할 수 있고, 그에 따라 악의적인 공격측에 의해 코드를 훼손시키는 기회를 감소하는 것을 도울 수 있다.
패키지(116)는 각종 상이한 소스로부터 컴퓨팅 디바이스(102) 상의 설치를 위해 수신될 수 있다. 예를 들어, 어플리케이션 서비스(126)(예를 들어, 어플리케이션 스토어)는 예를 들어 Internet과 같은 네트워크(124)를 통해 컴퓨팅 디바이스(102)에 의해 액세스될 수 있다. 구매시에, 실행가능 코드(118) 및 매니페스트(120)를 포함하는 패키지(116)는 컴퓨팅 디바이스(102) 상의 설치를 위해 네트워크(124)를 통해 전달될 수 있다. 다른 예에서, 사용자는 패키지(116)를 포함하는 컴퓨터 판독가능 저장 매체(예를 들어, 광 디스크)를 취득할 수 있다. 컴퓨팅 디바이스(102) 상에서 실행가능 코드(118) 및 매니페스트를 포함하는 패키지(118)의 설치에 대한 추가적인 설명은 도 2와 관련하여 설명되어 있다.
일반적으로, 여기에서 설명되는 임의의 기능은 소프트웨어, 펌웨어, 하드웨어(예를 들어, 고정형 논리 회로망) 또는 이러한 구현들의 조합을 사용해서 구현될 수 있다. 여기에서 사용되는 "모듈", "기능" 및 "논리"라는 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 그 조합을 나타낸다. 소프트웨어 구현의 경우에, 모듈, 기능 또는 논리는 프로세서(예를 들어, CPU 또는 CPU들) 상에서 실행되었을 때 특정 업무를 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스에 저장될 수 있다. 후술하는 본 기술의 특징은 플랫폼 독립적이며, 이것은 본 기술이 각종 프로세서를 갖는 각종 상업용 컴퓨팅 플랫폼 상에서 구현될 수 있다는 것을 의미한다.
예를 들어, 컴퓨팅 디바이스(102)는 또한 예를 들어 프로세서, 기능 블록 등과 같은, 컴퓨팅 디바이스(102)의 하드웨어로 하여금 동작을 수행하게 하는 엔티티(예를 들어, 소프트웨어)를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스, 보다 구체적으로는 컴퓨팅 디바이스의 하드웨어로 하여금 동작을 수행하게 하는 명령을 유지하도록 구성될 수 있는 컴퓨터 판독가능 매체를 포함할 수 있다. 따라서, 명령은 하드웨어가 동작을 수행하도록 구성하는 기능을 하며, 이런 방식으로 기능을 수행하는 하드웨어의 변환으로 귀결된다. 명령은 각종 상이한 구성을 통해 컴퓨터 판독가능 매체에 의해 컴퓨팅 디바이스(102)로 제공될 수 있다.
컴퓨터 판독가능 매체의 이러한 하나의 구성은 신호 전달 매체이며, 그에 따라 네트워크를 통하는 것과 같이 명령(예를 들어, 반송파로서)을 컴퓨팅 디바이스의 하드웨어로 송신하도록 구성된다. 컴퓨터 판독가능 매체는 또한 컴퓨터 판독가능 저장 매체로서 구성될 수 있으며, 그에 따라 신호 전달 매체는 아니다. 컴퓨터 판독가능 저장 매체의 예들은 명령 및 다른 데이터를 저장하기 위하여 자기, 광 및 다른 기술을 사용할 수 있는 RAM(random access memory), ROM(read only memory), 광 디스크, 플래시 메모리, 하드 디스크 메모리 및 다른 메모리 디바이스를 포함한다.
도 2는 컴퓨팅 디바이스(102) 상의 패키지(116)의 설치 및 컴퓨팅 디바이스의 네트워크 기능에 대한 프로세스 액세스를 관리하는 토큰의 형성을 나타내는 예시적인 구현에서의 시스템(200)을 나타낸다. 상술한 바와 같이, 개발자가 실행가능 코드(118)를 생성할 때, 또한 코드의 실행을 통해 구현된 프로세스에 대해 선언되는 기능(122) 세트를 포함하는 매니페스트(120)가 생성될 수 있다. 이러한 기능(122)은 설치 동안 등록될 수 있으며, 이는 도 2의 패키지 배치로서 나타내어진다.
예를 들어, 실행가능 코드(118)는 어플리케이션 디렉토리(204)를 통해 액세스를 위해 설치될 수 있다. 매니페스트에 기술된 기능(122)은 기능 스토어(206)에 설치될 수 있고 패키지(116) 및/또는 실행가능 코드(118) 자체의 아이덴티티와 연관될 수 있다. 하나 이상의 구현에서, 기능 스토어(206)는, 프로세스들 자체에 의한 액세스를 방지하기 위한 것과 같이, 악성 코드가 액세스를 얻거나 그 내부에 기술된 기능(122)을 변형시키지 못하도록 조작하기 어렵게 구성된다.
실행 코드(118)의 실행에 기인하는 프로세스 생성(208) 동안, 상술한 바와 같이 예를 들어 패키지(116), 실행가능 코드(118) 등의 식별자와 같은, 프로세스(210)에 대해 기술된 기능을 찾기 위해 프로세스 관리자 모듈(114)에 의해 사용가능한 식별자가 취득된다. 그 후, 이러한 기능(122)은 컴퓨팅 디바이스(102)의 기능에 대한 액세스를 제어하기 위해 프로세스 관리자 모듈(114)에 의해 사용될 수 있는 토큰(212)을 형성하는 프로세스 생성(208)의 일부로서 사용된다.
예를 들어, 토큰(212)은 그 프로세스에 대해 기능 스토어에 기술된 하나 이상의 기능(122)에 대응하는 하나 이상의 보안 식별자(214)를 포함할 수 있다. 즉, 토큰(212)은 보안 식별자(214)로서 패키지(116)와 연관되는 적절한 기능으로 채워질 수 있다. 따라서, 프로세스 관리자 모듈(114)은, 기능에 대한 액세스가 프로세스(210)에 의해 요구될 때 그 액세스가 그 프로세스(210)에 대해 허용되어야 할지 여부를 판정하기 위해 토큰(212)을 이용할 수 있다.
하나 이상의 구현에서, 토큰(212)은 프로세스(210)에 의해 조작될 수 없다. 토큰(212)은, 프로세스(210)가 기능에 대한 액세스 검증 체크(예를 들어, 리소스에 대한 ACL)에 참여하는 것을 또한 허용할 수 있다. 프로세스 관리자 모듈(114)은 기능에 대한 액세스를 허가하기 전에 기능(또는 기능의 조합)의 존재에 기초한 판정과 관련된 기술을 구현할 수 있다. 프로세스(210)가 토큰에 대한 직접적인 액세스를 갖지 않으므로, 프로세스 관리자 모듈(114)은 적절한 액세스가 프로세스(210)에 대해 허가되는 것을 보장하기 위해 토큰(212)의 불변성을 이용하는 중개자로서 기능할 수 있다.
각종 상이한 기능(122)이 보안 식별자(214)에 의해 참조될 수 있다. 추가적으로, 보안 식별자(214)는 각종 방식으로 이러한 기능을 참조할 수 있다. 예를 들어, 개발자는, 실행가능 코드(118)의 실행을 통해 구현되는, 패키지(116) 내의 프로세스들의 각각에 대하여 선언된 기능들의 세트를 포함하는 매니페스트(120) 및 실행가능 코드(118)(예를 들어, 어플리케이션)를 생성할 수 있다. 또한, 이러한 패키지(116)는, 패키지(116)가 설치될 때 네트워크 기능이 이러한 아이덴티티를 사용하여 운영 체제(108)로 등록되는 "강한 아이덴티티(strong identity)"를 가질 수 있다.
따라서, 프로세스(210)가 후속적으로 론칭될 때(그리고 프로세스 생성 파라미터로서 패키지 아이덴티티를 포함할 때), 토큰(212)은 프로세스 아이덴티티로 채워질 수 있으며 네트워크 기능은 보안 식별자(214)로서 채워질 수 있다. 또한, 운영 체제(108)는, 프로세스(210)가 토큰(212)을 변형시키는 것을 방지할 수 있다. 하나 이상의 구현에서, 자식 프로세스는 네트워크 기능의 아이덴티티 및 서브셋을 상속받을 수 있고, 여기에서 서브셋은 부모에 의해 규정된다.
각종 상이한 기능(122)은, 예를 들어 미리 규정된 네트워크 기능으로부터 풍부한 방화벽 유형의 규칙까지 액세스를 관리하는 데 사용하기 위해 매니페스트(120)에 의해 특정될 수 있다. 예를 들어, "인터넷-클라이언트" 기능은 프로세스(210)에 의한 네트워크(124)(예를 들어, 인터넷)로의 송출 접속에 대한 액세스를 관리하도록 규정될 수 있다. 다른 예에서, "인터넷 클라이언트/서버" 기능은 인입 및 송출 네트워크(124) 접속 양쪽을 허용하도록 규정될 수 있다. 예를 들어, 이러한 기능은, 프로세스가 인터넷으로부터 요청하지 않은 접속을 수용하는 것뿐만 아니라 방화벽을 통해 데이터를 송신 및 수신하는 것을 허용하는 데 사용될 수 있다. 추가적인 예에서, "PrivateNetworkClientServer" 기능은 예를 들어 홈 네트워크, 작업 네트워크, 인트라넷 등과 같은 동일하게 규정된 네트워크(124) 상의 컴퓨팅 디바이스로의 또는 컴퓨팅 디바이스로부터의 통신을 허용하도록 규정될 수 있다. 예컨대 특정 포트로의 액세스와 같이, 한층 더 특정적이고 풍부해질 수 있는 기능을 참조하는 풍부한 방화벽 규칙이 생성될 수 있도록, 각종 다른 예들도 고려될 수 있다. 이러한 방식으로, 토큰(212) 내의 보안 식별자(214)의 사용은, 네트워크 기능에 대한 프로세스(210)의 액세스를 프로세스 관리자 모듈(114)이 관리하는 것을 허용할 수 있는데, 그 한 예가 후술하는 도면과 관련하여 설명된다.
도 3은 도 1의 프로세스 관리자 모듈에 의한 네트워크 기능으로의 프로세스의 액세스의 관리를 나타내는 예시적인 구현에서의 시스템을 나타낸다. 프로세스(210)가 네트워크(124)로의 액세스를 요청할 때, 프로세스 관리자 모듈(114)은 어플리케이션 아이덴티티(예를 들어, 패키지 ID(302))를 검증하고, 토큰(212)에 의해 특정된 네트워크 기능(304, 306)이 기능 스토어(206)에서의 설치시에 등록된 네트워크 기능의 서브셋이라는 것을 보장한다. 나머지 기능이 네트워크 통신에 충분하다면, 통신이 허용된다. 그렇지 않다면, 통신은 차단된다. 따라서, 프로세스 관리자 모듈(114)은 컴퓨팅 디바이스(102)의 네트워크 기능으로의 액세스를 허용하고/하거나 거부하는 방화벽의 일부로서 기능할 수 있다.
하나 이상의 구현에서, 어플리케이션은 기능 스토어(206)에서 등록되는 기능의 풀 세트에 액세스하도록 허용될 수 있다. 하지만, 프로세스(210)가 자식 프로세스를 생성하는 것 또한 가능할 수 있는데, 이 경우 자식 프로세스는 부모에게는 이용가능한 액세스 권한의 풀 세트를 갖지는 않을 것이다.
상술한 바와 같이, 각종 상이한 기능이 선언될 수 있다. 또한, 아웃바운드 접속(예를 들어, 클라이언트) 또는 인바운드 및 아웃 바운드 접속(예를 들어, 클라이언트 & 서버)에 대하여, 프로세스(210)에 인터넷 및 인트라넷(예를 들어, 사설 네트워크) 액세스를 부여하기 위해 기능들이 결합될 수 있다.
또한, 인터넷 기능은 HTTP 프록시로의 액세스를 허용할 수 있다. 예를 들어, 프로세스 관리자 모듈(114)은 프록시 서버 또는 서브넷이 존재하는지 여부를 판정하기 위해 네트워크를 능동적으로 조사할 수 있어서, 사설 네트워크(예를 들어, 인트라넷)에 결합된 네트워킹 기능이 올바르게 이용될 수 있다. 액티브 디렉토리(Active Directory) 서버가 서브넷 규정에 대한 특정 정보를 포함한다면, 프로세스 관리자 모듈(114)은 서브넷의 에지(edge)를 판정하는 것을 돕기 위해 이 정보를 이용할 수도 있다. 서브넷 및 프록시가 운영 관리 툴을 통해 미리 특정되며 따라서 조사가 포함되지 않는 메커니즘이 또한 이용될 수 있다. 조사를 통한 이러한 특정 및/또는 운영 관리 툴의 사용이 없으면, 일부 디바이스들은 잘못된 네트워크 유형을 할당받을 수 있으므로, 프로세스 관리자 모듈(114)은 올바르지 않게 액세스를 허용하거나 거부할 수 있다. 따라서, 프로세스 관리자 모듈(114)은 예를 들어 인트라넷을 통해서든 또는 인터넷을 통해서든 이용가능한 이러한 식별에 기초하여 올바르게 기능을 관리할 수 있다.
하나 이상의 구현에서, 중대하게 여겨지는 포트는 동일 메커니즘을 사용한 통상적인 공격 벡터를 방지하기 위해 요청되지 않은 인바운드 액세스로부터 차단된다. 이러한 설정은 정책을 통하여 수동으로 구성될 수도 있다. 루프백(예를 들어, 127.0.0.1을 사용한 동일 머신으로의 접속)도 보호될 수 있어, 이러한 프로세스에 대하여 규정된 기능을 프로세스(210)가 "검토(working around)"하는 것을 방지한다. 예를 들어, 루프백은 상술한 "PrivateNetworkClientServer" 기능에 결합될 수 있지만, 다른 예에서는 이것이 모델을 사용하는 별개의 기능으로서 특정될 수 있다는 것이 용이하게 명백할 것이다.
따라서, 본 기술은 상술한 바와 같이 프로세스별 네트워크 액세스를 제한하고, 그래뉼래리티(granularity)의 변하는 정도를 제공하는 메커니즘을 지원하는 데 사용될 수 있다. 상술한 바와 같이, 프로세스별 네트워킹 기능은 이러한 프로세스에 대해 강한 아이덴티티에 결합될 수 있다. 이러한 아이덴티티는 또한 자식 프로세스에 의해 상속될 수 있으며, 이는 부모 프로세스에 의해 그 프로세스에 대해 허가되지 않은 네트워킹 기능을 프로세스가 피할 수 없게 하는 것을 보장한다. 방화벽 룰과 동일한 유연성을 갖는 고충실 네트워킹 기능 또한 프로세스 관리자 모듈(114)에 의해 지원될 수 있다. 예를 들어, 네트워킹 기능은 방화벽으로 설치시에 등록될 수 있으며, 방화벽 룰에 대하여 발견될 수 있는 유연성을 가질 수 있으며, 이는 네트워크 유형, 접속 유형 및 인바운드/아웃바운드 접속을 포함할 수 있다. 트래픽 방향 또한 방화벽에 의해 발견되는 네트워크 프로파일과 연관될 수 있다.
또한, 선언된 네트워킹 어플리케이션은 상이한 기능들의 조합인 액세스를 제공하기 위해 결합될 수 있다. 예를 들어, 네트워크 기능은 사설 네트워크(예를 들어, 인트라넷) 액세스 및 아웃바운드 인터넷 액세스와 같은 상이한 네트워크 액세스의 조합을 제공하기 위하여 프로세스(210)에 대해 결합될 수 있다. 각종 다른 예들도 고려될 수 있으며, 그 추가적인 설명은 후술하는 절차와 관련하여 논의된다.
그리고 또한, 기능들을 집행하는 데 사용되는 방화벽 룰은 향상된 유용성을 가질 수 있는 기능을 제공하기 위하여 "높은 무결성(high integrity)" 시스템에 의해 변형되거나 집행되거나 실행 시간에서 동적으로 수정될 수 있다. 규정되는 기능은 네트워크 내의 애플리케이션을 또한 추가적으로 올바르게 관리하기 위해 격리되고/되거나 시스템 내의 다른 방화벽 요소로 전달될 수 있다.
예시적인 절차
후술하는 설명은 상술한 시스템 및 디바이스를 이용하여 구현될 수 있는 프로세스별 네트워킹 기능 기술을 설명한다. 각 절차의 양태는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그 조합으로 구현될 수 있다. 절차는 하나 이상의 디바이스에 의해 수행되는 동작을 특정하는 블록의 세트로 나타내어지며, 각각의 블록에 의한 동작을 수행하는 것에 의해 나타내어진 순서로 반드시 제한되지는 않는다. 후술하는 설명의 일부에서, 도 1의 환경(100) 및 도 2 및 3의 시스템(200, 300)에 대해 각각 참조할 것이다.
도 4는, 실행가능 코드 및 매니페스트를 갖는 패키지가 컴퓨팅 디바이스 상에 설치되고 토큰을 형성하기 위해 사용되는 예시적인 구현에서의 절차(400)를 나타낸다. 실행가능 코드의 기능을 기재한 매니페스트와 실행가능 코드를 포함하는 패키지가 컴퓨팅 디바이스에서 수신된다(블록 402). 예를 들어, 패키지(116)는 네트워크(124) 등을 통해 어플리케이션 서비스(126)로부터 다운로드되어 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다. 상술한 바와 같이, 매니페스트(120)는, 실행가능 코드(122)의 개발자에 의해 고려된 바와 같이, 코드의 실행 동안 사용되는 컴퓨팅 디바이스(102)의 네트워크 기능을 기술할 수 있다.
실행가능 코드는 실행을 위하여 컴퓨팅 디바이스 상에 설치된다(블록 404). 예를 들어, 실행가능 코드(122)는 어플리케이션 디렉토리, 3자 플러그-인 모듈 등을 통한 액세스를 위하여 컴퓨팅 디바이스 상에 설치되는 어플리케이션으로서 구성될 수 있다.
매니페스트에 의해 실행가능 코드에 대해 기술된 네트워크 기능은 컴퓨팅 디바이스 상의 기능 스토어에 저장되며, 저장된 기능은 컴퓨팅 디바이스의 기능에 대해, 실행 가능 코드의 실행을 통해 형성된, 하나 이상의 프로세스의 액세스를 관리하는 토큰을 형성하는 데 사용가능하다(블록 406). 예를 들어, 기능 스토어(206)는 예를 들어 물리적으로 및/또는 전자적으로 조작하기 어렵도록 구성될 수 있다. 이러한 방식으로 여기에 설명된 기능은 권한 없는 엔티티에 의해 액세스 불가하며, 컴퓨팅 디바이스(102) 등에서 실행되는 프로세스에 의해 액세스 불가하다. 따라서, 기능의 설명은 "신뢰성 있는" 것으로 고려될 수 있으므로, 프로세스에 의한 액세스를 관리하는 데 사용될 수 있는 토큰을 형성하는 데 사용될 수 있다.
그 후에, 컴퓨팅 디바이스 상에 설치된 실행가능 코드의 실행을 개시하라는 입력이 수신될 수 있다(블록 408). 예를 들어, 입력은 예를 들어, 아이콘, 타일 등과 같은 코드의 표현의 사용자 선택을 통해 수신될 수 있다. 또한, 입력은 코드 자체(예를 들어, 미리 정해진 간격에서의 웨이크(wake)), 컴퓨팅 디바이스(102) 상에서 실행된 다른 코드, 등으로부터 발원될 수 있다.
실행가능 코드에 대해 매니페스트에 기술된 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는 토큰이 형성된다(블록 410). 상술한 바와 같이, 보안 식별자(122)는 기능 스토어(206)에 기술된 기능을 열거할 수 있다. 예를 들어, 토큰(212)은 실행가능 코드(118) 및/또는 패키지(116)의 식별자와 일치하는 식별자를 포함할 수 있으며, 기능에 대한 액세스를 요청할 때(예를 들어, 토큰 자체 및/또는 토큰(212)을 발견하는 데 사용가능한 식별자), 실행가능한 코드(118) 자체 등에 의해 전달될 수 있다. 그 후, 토큰(212)은 컴퓨팅 디바이스(102)의 하나 이상의 네트워크 기능에 대한 프로세스(210)의 액세스를 관리하는 데 사용될 수 있으며, 그 예들은 후술하는 도면과 연관하여 설명된다.
도 5는 도 4에서 형성된 토큰을 사용하여 네트워크 기능에 대한 액세스가 컴퓨팅 디바이스에 의해 관리되는 예시적인 구현에서의 절차(500)를 나타낸다. 프로세스와 연관된 토큰에 기초하여 컴퓨팅 디바이스 상에서 실행되는 프로세스에 대해 네트워크 기능에 대한 액세스가 허용되는지 여부에 대해 판정이 이루어지며, 토큰은 매니페스트에 기술된 하나 이상의 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는다(502). 예를 들어, 요청은 프로세스로부터 프로세스 관리자 모듈(114)에 의해 수신될 수 있다. 프로세스(210)는 상술한 바와 같이 컴퓨팅 디바이스(102)에 의해 실행가능 코드(118)의 실행을 통해 구현될 수 있다.
그 후에, 토큰은 상술한 바와 같이 예를 들어, 패키지(116) 식별자, "강한 유형(strong type)" 등을 사용하여 프로세스 관리자 모듈(114)에 의해 찾아질 수 있다. 토큰(212)은 허용되는 액세스를 기재(예를 들어, 허용되는 기능을 참조)하고/하거나 예를 들어 대응 프로세스(210)에 의한 액세스가 되도록 허용되지 않는 기능을 참조하는 것과 같이 허용되지 않는 액세스를 기술하도록 형성될 수 있다.
네트워크 기능에 대한 액세스는 판정에 기초하여 관리된다(블록 504). 예를 들어, 프로세스 관리자 모듈(114)은 송출 네트워크 접속을 사용하는 것과 같이, 네트워크 기능에 액세스하라는 요청을 프로세스(210)로부터 수신할 수 있다. 그 후에, 프로세스 관리자 모듈(114)은 토큰(212)을 검사하여 송출 네트워크 통신을 참조하는 보안 식별자를 찾는 것과 같이, 이 네트워크 액세스가 허용되는지 여부를 판정할 수 있다. 따라서, 프로세스 관리자 모듈(114)은, 어떠한 액세스가 허용되고 그에 따라 도달되는지를 용이하게 판정할 수 있다. 상술한 바와 같이, 토큰(212)에 의한 열거에 기초하여 어떠한 액세스가 허용되지 않는지를 판정하는 것과 같이, 각종 다른 예들도 고려된다.
도 6은 프로세스에 대해 부여된 네트워크 기능 액세스의 관리를 돕는 데 사용되는, 네트워크가 프록시 서버 또는 서브넷을 식별하기 위해 조사되는 예시적인 구현에서의 절차(600)를 나타낸다. 네트워크는 프록시 서버 또는 서브넷을 식별하기 위해 조사된다(블록 602). 이것은 서버로 송신되는 하나 이상의 통신을 형성하는 것, 네트워크 설정의 검출 등에 의해 수행될 수 있다.
네트워크의 네트워크 기능에 대한 컴퓨팅 디바이스 상에서 실행되는 프로세스의 액세스는 프록시 서버 또는 서브넷의 식별과 프로세스와 연관되는 토큰의 검사에 기초하여 관리되며, 토큰은 프로세스에 의한 사용을 위해 허용되는, 매니페스트에 기술된 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 갖는다(블록 604). 이전과 같이, 액세스는 토큰과 연관된 프로세스에 의해 어떠한 기능이 액세스되도록 허용되는지를 "말해 주는(say)" 토큰의 사용을 통해 프로세스 관리자 모듈(114)에 의해 관리될 수 있다. 또한, 예를 들어 디바이스가 서브넷 또는 인터넷 등을 통해 액세스가능한지 여부를 그 액세스가 정확하게 반영하는 것 등과 같이, 네트워크에 대한 액세스가 이러한 열거와 일치한다는 것을 보장하기 위해 조사가 이루어질 수 있다. 각종 다른 예들도 고려된다.
예시적인 시스템 및 디바이스
도 7은 도 1을 참조하여 설명한 컴퓨팅 디바이스(102)를 포함하는 예시적인 시스템(700)을 나타낸다. 예시적인 시스템(700)은 PC(personal computer), 텔레비전 디바이스, 및/또는 모바일 디바이스를 실행할 때 끊김없는 사용자 경험을 위하여 유비쿼터스 환경(ubiquitous environment)을 가능하게 한다. 서비스 및 어플리케이션은, 어플리케이션을 이용하거나, 비디오 게임을 하거나, 비디오를 시청하는 것 등을 계속하면서 하나의 디바이스로부터 다음 디바이스로 옮겨갈 때, 통상적인 사용자 경험에 대해 세 환경 모두에서 실질적으로 동일하게 실행된다.
예시적인 시스템(700)에서, 복수의 디바이스는 중앙 컴퓨팅 디바이스를 통해 상호 접속된다. 중앙 컴퓨팅 디바이스는 복수의 디바이스에 대해 로컬일 수 있거나 복수의 디바이스로부터 원격으로 위치될 수 있다. 일 실시예에서, 중앙 컴퓨팅 디바이스는 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 복수의 디바이스에 접속되는 하나 이상의 서버 컴퓨터의 클라우드일 수 있다. 일 실시예에서, 이러한 상호접속 아키텍처는 복수의 디바이스의 사용자에게 공통적이고 끊김없는 경험을 제공하기 위하여 기능들이 복수의 디바이스에 걸쳐 전달될 수 있게 한다. 복수의 디바이스들의 각각은 상이한 물리적 요건 및 기능을 가질 수 있으며, 중앙 컴퓨팅 디바이스는 디바이스에 대하여, 그 디바이스에 맞춤화되거나 심지어 모든 디바이스에 공통적인 양쪽의 경험의 전달을 가능하게 하기 위해 플랫폼을 사용한다. 일 실시예에서, 타겟 디바이스의 클래스가 생성되고, 경험이 디바이스의 포괄적인 클래스에 맞춤화된다. 디바이스의 클래스는 물리적인 특징, 용법의 유형 또는 디바이스의 다른 통상적인 특징에 의해 규정될 수 있다.
다양한 구현에서, 컴퓨팅 디바이스(102)는 컴퓨터(702), 모바일(704), 및 텔레비전(706) 사용과 같은 각종 상이한 구성을 상정할 수 있다. 이러한 각각의 구성은 일반적으로 상이한 구조 및 기능을 가질 수 있는 디바이스를 포함하므로, 컴퓨팅 디바이스(102)는 상이한 디바이스 클래스 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 퍼스널 컴퓨터, 데스크톱 컴퓨터, 멀티-스크린 컴퓨터, 랩톱 컴퓨터, 넷북 등을 포함하는 디바이스의 컴퓨터(702) 클래스로서 구현될 수 있다.
또한, 컴퓨팅 디바이스(102)는 모바일 폰, 포터블 뮤직 플레이어, 포터블 게이밍 디바이스, 태블릿 컴퓨터, 멀티 스크린 컴퓨터 등과 같은 모바일 디바이스를 포함하는 디바이스의 모바일(704) 클래스로서 구현될 수 있다. 또한, 컴퓨팅 디바이스(102)는 평상적인 시청 환경에서 일반적으로 보다 큰 스크린을 갖거나 이에 접속되는 디바이스를 포함하는 디바이스의 텔레비전(706) 클래스로서 구현될 수 있다. 이러한 디바이스는 텔레비전, 셋톱 박스, 게이밍 콘솔 등을 포함한다. 여기에서 설명되는 기술은 컴퓨팅 디바이스(102)의 이러한 다양한 구성에 의해 지원될 수 있으며, 여기에 설명되는 특정예와 기술에 한정되지 않는다.
클라우드(708)는 컨텐츠 서비스(702)에 대한 플랫폼(710)을 포함하고/하거나 나타낸다. 플랫폼(710)은 클라우드(708)의 하드웨어(예를 들어, 서버) 및 소프트웨어 리소스의 하부 기능을 추출한다. 컨텐츠 서비스(712)는, 컴퓨팅 디바이스(102)로부터 떨어져 있는 서버 상에서 컴퓨터 프로세싱이 실행되면서 이용될 수 있는 어플리케이션 및/또는 데이터를 포함할 수 있다. 컨텐츠 서비스(712)는 셀룰라 또는 Wi-Fi 네트워크와 같은 가입자 네트워크를 통하거나 및/또는 Internet을 통한 서비스로서 제공될 수 있다.
플랫폼(710)은 컴퓨팅 디바이스(102)를 다른 컴퓨팅 디바이스와 접속하기 위하여 리소스 및 기능을 추출할 수 있다. 또한, 플랫폼(710)은 플랫폼(710)을 통해 구현되는 컨텐츠 서비스(712)에 대해 직면한 수요에 대한 스케일의 대응 레벨을 제공하기 위하여 리소스의 스케일링을 추출하는 역할을 할 수 있다. 따라서, 상호접속된 디바이스 환경에서, 여기에 설명된 기능의 기능 구현은 시스템(700) 전체에 분포될 수 있다. 예를 들어, 기능은 컴퓨팅 디바이스(102) 상의 일부에뿐만 아니라 클라우드(708)의 기능을 추출하는 플랫폼(710)을 통해서도 구현될 수 있다.
도 8은 여기에 설명된 기술의 실시예를 구현하기 위해서 도 1, 2 및 7을 참조하여 설명한 바와 같이 임의의 유형의 컴퓨팅 디바이스로서 구현될 수 있는 예시적인 디바이스(800)의 다양한 요소를 나타낸다. 디바이스(800)는 디바이스 데이터(804)(예를 들어, 수신된 데이터, 수신 중인 데이터, 브로드캐스트를 위해 스케줄링된 데이터, 데이터의 데이터 패킷 등)의 유선 및/또는 무선 통신을 가능하게 하는 통신 디바이스(802)를 포함한다. 디바이스 데이터(804) 또는 다른 디바이스 컨텐츠는 디바이스의 컨피규레이션 설정, 디바이스 상에 저장된 미디어 컨텐츠, 및/또는 디바이스의 사용자와 연관된 정보를 포함할 수 있다. 디바이스(800) 상에 저장된 미디어 컨텐츠는 임의의 유형의 오디오, 비디오 및/또는 이미지 데이터를 포함할 수 있다. 디바이스(800)는, 사용자 선택가능 입력, 메시지, 뮤직, 텔레비전 미디어 컨텐츠, 녹화된 비디오 컨텐츠, 및 임의의 다른 유형의 오디오, 비디오, 및/또는 임의의 컨텐츠 및/또는 데이터 소스로부터 수신된 이미지 데이터와 같은, 임의의 유형의 데이터, 미디어 컨텐츠, 및/또는 입력이 수신될 수 있는 하나 이상의 데이터 입력(806)을 포함한다.
또한, 디바이스(800)는 직렬 및/또는 병렬 인터페이스, 무선 인터페이스, 임의의 유형의 네트워크 인터페이스, 모뎀, 및 임의의 다른 유형의 통신 인터페이스 중 임의의 하나 이상으로서 구현될 수 있는 통신 인터페이스(808)를 포함한다. 통신 인터페이스(808)는, 다른 전자, 컴퓨팅 및 통신 디바이스가 디바이스(800)와 데이터 통신하는 통신 네트워크와 디바이스(800) 사이의 접속 및/또는 통신 링크를 제공한다.
디바이스(800)는, 디바이스(800)의 동작을 제어하고 여기에 설명된 기술의 실시예를 구현하기 위하여 다양한 컴퓨터 실행가능 명령을 프로세싱하는 하나 이상의 프로세서(810)(예를 들어, 임의의 마이크로프로세서, 컨트롤러 등)를 포함한다. 대안으로, 또는 이에 추가하여, 디바이스(800)는 812에서 일반적으로 식별되는 프로세싱 및 제어 회로와 접속되어 구현되는 하드웨어, 펌웨어, 또는 고정형 논리 회로망 중 임의의 하나 또는 그 조합으로 구현될 수 있다. 나타내지는 않았지만, 디바이스(800)는 디바이스 내에서 다양한 요소들을 결합시키는 시스템 버스 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는, 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 범용 직렬 버스, 및/또는 임의의 각종 버스 아키텍처를 이용하는 프로세서 또는 로컬 버스와 같은 상이한 버스 구조의 임의의 하나 또는 그 조합을 포함할 수 있다.
또한, 디바이스(800)는 그 예로서 RAM(random access memory), 비휘발성 메모리(예를 들어, ROM(read-only memory), 플래시 메모리, EPROM, EEPROM 등), 및 디스크 저장 디바이스를 포함하는 하나 이상의 메모리 요소와 같은 컴퓨터 판독가능 매체(814)를 포함한다. 디스크 저장 디바이스는 하드 디스크 드라이브, 기록가능 및/또는 재기입가능 CD(compact disc), 임의의 유형의 DVD(digital versatile disc) 등과 같은 임의의 유형의 자기 또는 광 저장 디바이스로서 구현될 수 있다. 또한, 디바이스(800)는 대용량 저장 매체 디바이스(816)를 포함할 수 있다.
컴퓨터 판독가능 매체(814)는 디바이스 데이터(804)뿐만 아니라 다양한 디바이스 어플리케이션(818)과 임의의 다른 유형의 정보 및/또는 디바이스(800)의 동작적 양태에 관련된 데이터를 저장하는 데이터 저장 메커니즘을 제공한다. 예를 들어, 운영 체제(820)는 컴퓨터 판독가능 매체(814)와 컴퓨터 어플리케이션으로서 유지될 수 있고 프로세서(810) 상에서 실행될 수 있다. 디바이스 어플리케이션(818)은 디바이스 관리자(예를 들어, 제어 어플리케이션, 소프트웨어 어플리케이션, 신호 프로세싱 및 제어 모듈, 특정 디바이스, 특정 디바이스에 대한 하드웨어 추상화 계층에 고유한 코드 등)를 포함할 수 있다. 또한, 디바이스 어플리케이션(818)은 여기에 설명된 기술의 실시예를 구현하기 위하여 임의의 시스템 요소 또는 모듈을 포함한다. 본 예에서, 디바이스 어플리케이션(818)은 소프트웨어 모듈 및/또는 컴퓨터 어플리케이션으로서 나타내어진 인터페이스 어플리케이션(822) 및 입력/출력 모듈(824)을 포함한다. 입력/출력 모듈(824)은 터치스크린, 트랙 패트, 카메라, 마이크로폰 등과 같은, 입력을 캡쳐하도록 구성된 디바이스와의 인터페이스를 제공하는 데 사용되는 소프트웨어를 나타낸다. 대안적으로 또는 이에 추가하여, 인터페이스 어플리케이션(822) 및 입력/출력 모듈(824)은 하드웨어, 소프트웨어, 펌웨어 또는 그 임의의 조합으로서 구현될 수 있다. 추가적으로, 입력/출력 모듈(824)은 비주얼 및 오디오 입력을 각각 캡쳐하는 별개의 디바이스와 같은 복수의 입력 디바이스를 지원하도록 구성될 수 있다.
또한, 디바이스(800)는 오디오 데이터를 오디오 시스템(828)에 제공하고/하거나 비디오 데이터를 디스플레이 시스템(830)에 제공하는 오디오 및/또는 비디오 입력-출력 시스템(826)을 포함한다. 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 오디오, 비디오 및 이미지 데이터를 프로세싱, 디스플레이 및/또는 이와 달리 렌더링하는 임의의 디바이스를 포함할 수 있다. 비디오 신호 및 오디오 신호는 RF(radio frequency) 링크, S-비디오 링크, 복합 비디오 링크, 요소 비디오 링크, DVI(digital video interface), 아날로그 오디오 접속 또는 다른 유사한 통신 링크를 통해 디바이스(800)로부터 오디오 디바이스 및/또는 디스플레이 디바이스로 전달될 수 있다. 일 실시예에서, 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 디바이스(800)에 대하여 외부 요소로서 구현된다. 대안적으로, 오디오 시스템(828) 및/또는 디스플레이 시스템(830)은 예시적인 디바이스(800)의 통합된 요소로서 구현된다.
본 발명이 구조적 특징 및/또는 방법론적인 동작에 특정한 언어로 설명되었지만, 첨부된 청구항에서 규정된 본 발명이 특정의 특징 또는 설명된 동작으로 반드시 한정되는 것은 아니라는 것이 이해되어야 한다. 오히려, 특정의 특징 및 동작은 청구된 본 발명을 구현하는 예시적인 형태로서 개시되었다.

Claims (10)

  1. 컴퓨팅 디바이스에 의해 구현되는 방법으로서,
    상기 컴퓨팅 디바이스 상에서 실행되는 프로세스에 대하여 네트워크 기능(network capability)에 대한 액세스가 허용되는지 여부를, 상기 프로세스와 연관되는 토큰에 기초하여 판정하는 단계- 상기 토큰은 매니페스트(manifest)에 기술된 하나 이상의 네트워크 기능을 참조하는 하나 이상의 보안 식별자를 가짐 -; 및
    상기 판정에 기초하여 상기 네트워크 기능에 대한 액세스를 관리하는 단계를 포함하는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  2. 제 1 항에 있어서,
    상기 매니페스트는, 실행시 상기 프로세스를 구현하는 실행가능 코드의 설치의 일부로서 상기 컴퓨팅 디바이스 상에 저장되는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  3. 제 2 항에 있어서,
    상기 네트워크 기능의 기술(description)이 상기 컴퓨팅 디바이스 상의 상기 실행가능 코드의 설치의 일부로서 조작하기 어려운(tamper-resistant) 위치에 저장되는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  4. 제 1 항에 있어서,
    상기 토큰은, 상기 프로세스에 대해 액세스 불가한, 상기 컴퓨팅 디바이스의 조작하기 어려운 위치에 저장되는 상기 기능의 기술에 액세스함으로써 형성되는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  5. 제 1 항에 있어서,
    상기 판정하는 단계 및 상기 관리하는 단계는 상기 컴퓨팅 디바이스 상의 운영 체제의 실행을 통해 수행되는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  6. 제 1 항에 있어서,
    상기 매니페스트에 기술된 상기 네트워크 기능 중 적어도 하나는, 상기 프로세스에 의한 루프백(loopback)이 허용되는지 여부를 나타내는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  7. 제 1 항에 있어서,
    상기 매니페스트에 기술된 상기 네트워크 기능 중 적어도 하나는, 네트워크를 통한 송출(outgoing) 접속이 상기 프로세스에 의한 사용을 위해 허용되는지 여부를 나타내는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  8. 제 1 항에 있어서,
    상기 매니페스트에 기술된 상기 네트워크 기능 중 적어도 하나는, 네트워크를 통한 인입(incoming) 및 송출 접속이 상기 프로세스에 의한 사용을 위해 허용되는지 여부를 나타내는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  9. 제 8 항에 있어서,
    상기 인입 접속은, 상기 프로세스가 요청되지 않은 접속을 수락하는 것을 허용하는
    컴퓨팅 디바이스에 의해 구현되는 방법.
  10. 제 1 항에 있어서,
    상기 매니페스트에 기술된 상기 네트워크 기능 중 적어도 하나는, 사설 네트워크 액세스가 상기 프로세스에 의한 사용을 위해 허용되는지 여부를 나타내는
    컴퓨팅 디바이스에 의해 구현되는 방법.
KR1020147006056A 2011-09-06 2011-10-09 프로세스별 네트워킹 기능 관리 기법 KR101839647B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/226,223 US9118686B2 (en) 2011-09-06 2011-09-06 Per process networking capabilities
US13/226,223 2011-09-06
PCT/US2011/055538 WO2013036253A1 (en) 2011-09-06 2011-10-09 Per process networking capabilities

Publications (2)

Publication Number Publication Date
KR20140068935A true KR20140068935A (ko) 2014-06-09
KR101839647B1 KR101839647B1 (ko) 2018-03-16

Family

ID=47483999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006056A KR101839647B1 (ko) 2011-09-06 2011-10-09 프로세스별 네트워킹 기능 관리 기법

Country Status (6)

Country Link
US (1) US9118686B2 (ko)
EP (1) EP2754084B1 (ko)
JP (1) JP6038924B2 (ko)
KR (1) KR101839647B1 (ko)
CN (1) CN102882855B (ko)
WO (1) WO2013036253A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9021574B1 (en) * 2013-03-12 2015-04-28 TrustPipe LLC Configuration management for network activity detectors
US9998536B2 (en) * 2013-05-29 2018-06-12 Microsoft Technology Licensing, Llc Metered network synchronization
US9900285B2 (en) 2015-08-10 2018-02-20 International Business Machines Corporation Passport-controlled firewall
US10536464B2 (en) * 2016-06-22 2020-01-14 Intel Corporation Secure and smart login engine
US11381575B2 (en) * 2019-05-03 2022-07-05 Microsoft Technology Licensing, Llc Controlling access to resources of edge devices
DE102022206744B3 (de) 2022-07-01 2023-11-02 Infineon Technologies Ag Ressourcenschutz

Family Cites Families (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
CA2242596C (en) * 1996-01-11 2012-06-19 Mrj, Inc. System for controlling access and distribution of digital property
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
EP0862124A3 (en) 1997-02-28 2003-03-26 Fujitsu Limited File access system for efficiently accessing a file having encrypted data within a storage device
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6117187A (en) 1997-09-30 2000-09-12 Hewlett-Packard Company Automatic generation of a software installation package
US6101607A (en) 1998-04-24 2000-08-08 International Business Machines Corporation Limit access to program function
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6697569B1 (en) 1998-09-11 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Automated conversion of a visual presentation into digital data format
US7151832B1 (en) 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
US7398532B1 (en) 2000-03-02 2008-07-08 Hewlett-Packard Development Company, L.P. System and method for establishing a secure execution environment for a software process
US6725452B1 (en) 2000-06-01 2004-04-20 Aduoa, Inc. Method for resolving dependency conflicts among multiple operative entities within a computing environment
AU2001268647A1 (en) 2000-06-20 2002-01-02 James R Clark Multi-session secured digital transmission process
US7669238B2 (en) * 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
AU2001280490A1 (en) 2000-07-10 2002-01-21 Critical Devices, Inc. Method and system for software inventory management using a global central repository
US20030084134A1 (en) 2000-09-01 2003-05-01 Pace Charles P. System and method for bridging assets to network nodes on multi-tiered networks
JP3776705B2 (ja) 2000-09-28 2006-05-17 株式会社東芝 通信システム、移動端末装置、ゲートウェイ装置及び通信制御方法
US6604209B1 (en) 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7069330B1 (en) 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US7401235B2 (en) 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
GB0212314D0 (en) 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US6865659B2 (en) 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
US7542988B1 (en) 2006-01-03 2009-06-02 Symantec Corporation File type associative application layered system
US7152243B2 (en) 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7401352B2 (en) 2002-08-30 2008-07-15 International Business Machines Corporation Secure system and method for enforcement of privacy policy and protection of confidentiality
EP1420323A1 (en) 2002-11-18 2004-05-19 Koninklijke KPN N.V. Method and system for distribution of software components
US7337442B2 (en) 2002-12-03 2008-02-26 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7478094B2 (en) 2003-06-11 2009-01-13 International Business Machines Corporation High run-time performance method for setting ACL rule for content management security
US7392383B2 (en) * 2003-09-25 2008-06-24 International Business Machines Corporation Method and apparatus for providing process-based access controls on computer resources
US20050091535A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US20050091658A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US8590032B2 (en) 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7480655B2 (en) 2004-01-09 2009-01-20 Webroor Software, Inc. System and method for protecting files on a computer from access by unauthorized applications
US7698393B2 (en) 2004-03-23 2010-04-13 Microsoft Corporation Method and system for shadowing information between computing devices
US20050246762A1 (en) * 2004-04-29 2005-11-03 International Business Machines Corporation Changing access permission based on usage of a computer resource
US20050256859A1 (en) 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US7650627B1 (en) 2004-05-28 2010-01-19 Sap Ag Abstract configuration files for efficient implementation of security services
US7540013B2 (en) * 2004-06-07 2009-05-26 Check Point Software Technologies, Inc. System and methodology for protecting new computers by applying a preconfigured security update policy
US7509497B2 (en) * 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
US20100081375A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for simplified control of electronic devices
US7676835B2 (en) * 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US8499337B1 (en) 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
US8117623B1 (en) 2004-11-18 2012-02-14 Adobe Systems Incorporated System and method for providing notices to users of a computer program in a flexible way
WO2006055838A2 (en) 2004-11-18 2006-05-26 America Online, Inc. Runtime environment
US7475396B2 (en) 2004-12-03 2009-01-06 International Business Machines Corporation Method and apparatus for defining, building and deploying pluggable and independently configurable install components
CN100490387C (zh) 2004-12-28 2009-05-20 北京邮电大学 用于应用服务器的基于令牌的细粒度访问控制系统及方法
US7472377B2 (en) 2005-01-18 2008-12-30 International Business Machines Corporation Systems and methods for determining software package identity during a system build
US7802294B2 (en) * 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7650501B1 (en) 2005-02-15 2010-01-19 Sun Microsystems, Inc. System and methods for construction, fusion, prosecution, and maintenance of minimized operating environments
US20060193467A1 (en) 2005-02-16 2006-08-31 Joseph Levin Access control in a computer system
EP1872211A4 (en) 2005-04-18 2008-05-28 Research In Motion Ltd METHOD AND SYSTEM FOR EXECUTING A CONTAINER-MANAGED APPLICATION ON A PROCESSING DEVICE
US20060259980A1 (en) * 2005-05-16 2006-11-16 Microsoft Corporation Method and system for limiting rights of services
US7716734B2 (en) 2005-05-19 2010-05-11 Microsoft Corporation Systems and methods for pattern matching on principal names to control access to computing resources
US7580933B2 (en) * 2005-07-28 2009-08-25 Microsoft Corporation Resource handling for taking permissions
US8073442B2 (en) 2005-10-05 2011-12-06 Microsoft Corporation Binding a device to a provider
US20070083620A1 (en) 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
CN1959631B (zh) 2005-11-04 2016-09-21 上海启明软件股份有限公司 一种基于itron的应用软件自主装配系统及方法
US20100153671A1 (en) 2005-12-01 2010-06-17 Drive Sentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US7664924B2 (en) 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US7779265B2 (en) 2005-12-13 2010-08-17 Microsoft Corporation Access control list inheritance thru object(s)
US8621549B2 (en) * 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US8150816B2 (en) * 2005-12-29 2012-04-03 Nextlabs, Inc. Techniques of optimizing policies in an information management system
US8209747B2 (en) * 2006-01-03 2012-06-26 Cisco Technology, Inc. Methods and systems for correlating rules with corresponding event log entries
US20070192500A1 (en) 2006-02-16 2007-08-16 Infoexpress, Inc. Network access control including dynamic policy enforcement point
US20070208857A1 (en) 2006-02-21 2007-09-06 Netiq Corporation System, method, and computer-readable medium for granting time-based permissions
EP1833222A1 (en) 2006-03-10 2007-09-12 Abb Research Ltd. Access control protocol for embedded devices
US20070240194A1 (en) * 2006-03-28 2007-10-11 Hargrave Bentley J Scoped permissions for software application deployment
US20070234412A1 (en) 2006-03-29 2007-10-04 Smith Ned M Using a proxy for endpoint access control
US9489109B2 (en) 2006-03-30 2016-11-08 Sony Ericsson Mobile Communication Ab Data communication in an electronic device
US8001528B2 (en) 2006-03-30 2011-08-16 Microsoft Corporation Organization of application state and configuration settings
US8166472B2 (en) 2006-10-12 2012-04-24 Apple Inc. Installation utility system and method
US20080120707A1 (en) 2006-11-22 2008-05-22 Alexander Ramia Systems and methods for authenticating a device by a centralized data server
US7934087B2 (en) 2006-11-29 2011-04-26 Novell, Inc. Techniques for secure event recording and processing
US7925875B2 (en) 2006-12-31 2011-04-12 Sandisk Corporation Systems and methods for identifying and booting a computer architecture
CN100483352C (zh) 2007-02-13 2009-04-29 华为技术有限公司 Idl调用装置及调用方法
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
CN101616719A (zh) 2007-02-23 2009-12-30 高通股份有限公司 用以基于接近度创建或加入游戏会话的方法和设备
US7797743B2 (en) 2007-02-26 2010-09-14 Microsoft Corporation File conversion in restricted process
US20080244723A1 (en) 2007-03-27 2008-10-02 Microsoft Corporation Firewall Restriction Using Manifest
US8239954B2 (en) 2007-05-07 2012-08-07 Microsoft Corporation Access control based on program properties
CN102006334B (zh) 2007-06-11 2013-01-02 华为技术有限公司 安装软件组件的方法、系统及装置
US8185889B2 (en) 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
GB2455059A (en) 2007-10-09 2009-06-03 Symbian Software Ltd Transmitting device pairing information over multiple available out of band channels/interfaces
US8978028B2 (en) 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US8356335B2 (en) * 2007-10-30 2013-01-15 Apple Inc. Techniques for authentication via network connections
KR101474561B1 (ko) 2007-11-27 2014-12-19 삼성전자주식회사 이동통신 단말기에서의 어플리케이션 실행방법 및 장치
US8107879B2 (en) 2007-12-31 2012-01-31 Intel Corporation Device, system, and method of establishing multiple wireless connections
US20090193507A1 (en) 2008-01-28 2009-07-30 Wael Ibrahim Authentication messaging service
EP2086206A1 (en) 2008-01-31 2009-08-05 Alcatel Lucent System for operating a peer-to-peer network taking into account access network subscriber information
JP4613969B2 (ja) 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
EP2107458A1 (en) 2008-03-31 2009-10-07 Jatho Investments Modelling software appliance
US7930760B2 (en) 2008-04-01 2011-04-19 Microsoft Corporation Centralized enforcement of name-based computer system security rules
US8090852B2 (en) * 2008-06-04 2012-01-03 Sophos Plc Managing use of proxies to access restricted network locations
US8407693B2 (en) 2008-06-09 2013-03-26 International Business Machines Corporation Managing package dependencies
US20090327900A1 (en) 2008-06-26 2009-12-31 Microsoft Corporation Indicating resources to which there are access rights
US8204969B2 (en) 2008-08-05 2012-06-19 Canon Kabushiki Kaisha Method for retrieving updates via the internet
US20100058320A1 (en) 2008-09-04 2010-03-04 Microsoft Corporation Managing Distributed System Software On A Gaming System
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8146134B2 (en) * 2008-10-28 2012-03-27 Yahoo! Inc. Scalable firewall policy management platform
US20100174599A1 (en) 2009-01-05 2010-07-08 Apple Inc. System and method for providing content associated with a product or service
US9288210B2 (en) * 2009-01-26 2016-03-15 Microsoft Technology Licensing, Llc Revocable object access
US8131214B2 (en) 2009-03-02 2012-03-06 Motorola Mobility, Inc. Method for selecting content for transfer or synchronization between devices
US8375377B2 (en) 2009-03-06 2013-02-12 International Business Machines Corporation Controlling java virtual machine component behavior on a per-classloader basis
US8468608B1 (en) 2009-03-30 2013-06-18 Symantec Corporation Enforcing digital rights management in a heterogeneous environment
US20100287513A1 (en) 2009-05-05 2010-11-11 Microsoft Corporation Multi-device gesture interactivity
KR101590188B1 (ko) 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
US9270683B2 (en) 2009-05-15 2016-02-23 Amazon Technologies, Inc. Storage device authentication
US8826269B2 (en) 2009-06-15 2014-09-02 Microsoft Corporation Annotating virtual application processes
US20110066851A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Secure Route Discovery Node and Policing Mechanism
US20110070827A1 (en) 2009-09-24 2011-03-24 Research In Motion Limited Communications device and method for initiating communications at a communications device
US20110098030A1 (en) 2009-10-27 2011-04-28 Nokia Corporation Method and apparatus for activating services
US8838644B2 (en) 2009-11-25 2014-09-16 International Business Machines Corporation Extensible access control list framework
CN102129364B (zh) 2010-01-14 2013-09-25 中国电信股份有限公司 应用程序中嵌入微件工具栏的方法和快速访问微件的方法
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US20120194534A1 (en) 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
US20120297288A1 (en) 2011-05-16 2012-11-22 Edward Mansouri Method and System for Enhancing Web Content
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
JP5701715B2 (ja) * 2011-08-12 2015-04-15 株式会社東芝 エネルギー管理装置、電力管理システムおよびプログラム
US20130054734A1 (en) 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
WO2013036223A1 (en) 2011-09-07 2013-03-14 Intel Corporation Verifying firmware integrity of a device
US20130067459A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Order-Independent Deployment Collections with Dependency Package Identifiers
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
CN103188797A (zh) 2011-12-28 2013-07-03 北京三星通信技术研究有限公司 一种改变tdd上下行配置的方法
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references

Also Published As

Publication number Publication date
US20130061309A1 (en) 2013-03-07
KR101839647B1 (ko) 2018-03-16
EP2754084A4 (en) 2015-05-06
EP2754084B1 (en) 2016-11-30
CN102882855A (zh) 2013-01-16
WO2013036253A1 (en) 2013-03-14
EP2754084A1 (en) 2014-07-16
JP6038924B2 (ja) 2016-12-07
CN102882855B (zh) 2016-06-29
JP2014526728A (ja) 2014-10-06
US9118686B2 (en) 2015-08-25

Similar Documents

Publication Publication Date Title
KR101839647B1 (ko) 프로세스별 네트워킹 기능 관리 기법
KR102146034B1 (ko) 네트워크 종점들의 보안 보호와 원격 관리를 위한 사용자 인터페이스
US10728269B2 (en) Method for conditionally hooking endpoint processes with a security agent
US20190268303A1 (en) Secure labeling of network flows
EP2909775B1 (en) Mobile application management
JP6072792B2 (ja) ウェブランタイムシステムのためのサンドボクシング技術
CN110651269A (zh) 隔离的容器事件监视
EP2486509B1 (en) Platform security
GB2549807A (en) Labelling network flows according to source applications
KR102076878B1 (ko) 안티 멀웨어 프로세스를 보호하는 기법
EP3994595B1 (en) Execution environment and gatekeeper arrangement
US10951642B2 (en) Context-dependent timeout for remote security services
Sze et al. Hardening openstack cloud platforms against compute node compromises
US20130061316A1 (en) Capability Access Management for Processes
US11314859B1 (en) Cyber-security system and method for detecting escalation of privileges within an access token
KR101977428B1 (ko) 애플리케이션용 콘텐츠 핸들링 기법
WO2019211592A1 (en) Locally securing endpoints in an enterprise network using remote network resources
Gupta et al. A risk-driven model to minimize the effects of human factors on smart devices
US20140181527A1 (en) Unsecure network socket communication
Friesen PLOX: A Secure Serverless Framework for the Smart Home
Obser User-controlled Internet Connections in Android

Legal Events

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