KR101723937B1 - 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스 - Google Patents

애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스 Download PDF

Info

Publication number
KR101723937B1
KR101723937B1 KR1020157005358A KR20157005358A KR101723937B1 KR 101723937 B1 KR101723937 B1 KR 101723937B1 KR 1020157005358 A KR1020157005358 A KR 1020157005358A KR 20157005358 A KR20157005358 A KR 20157005358A KR 101723937 B1 KR101723937 B1 KR 101723937B1
Authority
KR
South Korea
Prior art keywords
browser
application
computing device
based application
security
Prior art date
Application number
KR1020157005358A
Other languages
English (en)
Other versions
KR20150040325A (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 KR20150040325A publication Critical patent/KR20150040325A/ko
Application granted granted Critical
Publication of KR101723937B1 publication Critical patent/KR101723937B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • 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/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

브라우저 기반 애플리케이션 보안 검증을 위한 방법, 디바이스, 및 시스템이 개시된다. 클라이언트 디바이스는 웹 서버로부터 브라우저 기반 애플리케이션을 요청한다. 클라이언트 디바이스의 애플리케이션 보안 모듈은 애플리케이션 검증 요청을 클라우드 서비스 시스템으로 개재시키고 전송한다. 클라우드 서비스 시스템은 애플리케이션의 보안과 관련한 데이터 및 클라우드 리소스로부터의 리소스 및 클라우드 서버의 로컬 데이터베이스를 취득한다. 그 다음 클라우드 서비스 시스템은 소스를 인증하고 브라우저 기반 애플리케이션의 보안을 검증하기 위해 데이터를 사용한다. 클라우드 서비스 시스템은 클라이언트 디바이스에게 브라우저 기반 애플리케이션의 보안에 관한 권고를 제공하고 이를 로컬 데이터베이스에 업데이트한다. 그 다음 클라이언트 디바이스는 브라우저 기반 애플리케이션을 다운로드 또는 실행할지 여부를 결정하는 것에 있어서 권고를 고려하여 피드백을 클라우드 서비스 시스템으로 제공할 수 있다. 클라이언트 디바이스는 또한 클라우드 서비스 시스템의 권고를 수신한 이후에 로컬 보안 분석을 수행할 수 있다.

Description

애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스{CLOUD-ASSISTED METHOD AND SERVICE FOR APPLICATION SECURITY VERIFICATION}
본 발명은 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스에 관한 것이다.
웹 커뮤니티에 HTML5 프로그래밍 플랫폼의 출현은 상호작용하는 사용자에게 급변(fast-paced)하며 동적인 경험을 가능하게 했다. 프로그래밍 플랫폼은 애플리케이션 프로그래밍 인터페이스(API)를 동적 콘텐츠 생성 및 표시와 결합하여서, 개발자가 증대된 특징 및 기능을 브라우저 기반 애플리케이션에 통합하는 것을 가능하게 한다. 예를 들어, HTML5는 개발자가 클라이언트 디바이스의 브라우저 내부에서 실행하는 것이 가능한 웹페이지로 활성 코드를 통합하는 것을 가능하게 한다.
유감스럽게도, HTML5의 동적 속성은 또한 사용자에게 다수의 보안 리스크를 도입시킨다. 프로그래밍 플랫폼이 개발자에게 활성 코드를 웹페이지로 통합시키는 것을 가능하게 하기 때문에, 종종 사용자가 코드에 관한 지식이 없이도 코드가 실행될 수 있다. 일부 기존 솔루션은 클라이언트 디바이스가 애플리케이션의 진위를 인증하는 것을 가능하게 한다. 예를 들어, 일부 개발자들은 클라이언트 디바이스가 다운로드 시에 코드를 인증하는 것을 가능하게 하도록 이들의 개발된 소프트웨어를 사인하기 위해 디지털 서명을 사용할 수 있다. 하지만, 이들 솔루션은 단일 소스 및 1회용 방식으로, 특정 개발자 또는 발행인에 의해 전달되는 소프트웨어의 진위 인증만을 제공한다. 또한, 이러한 솔루션은 웹 서비스 애플리케이션(예를 들어, HTML 5 기반 동적 콘텐츠 생성 및 브라우저 플러그인)의 동적 검증을 제공하지 않아서 특정 소프트웨어 공급자 또는 서비스 제공자와 독립적이다. 따라서, 브라우저 기반 애플리케이션이 애플리케이션을 다운로드하거나 실행하기 이전에 안전함을 보장하도록 사용자에게 사용가능한 제한된 옵션들이 존재한다.
본원에서 설명된 개념이 첨부한 도면에 제한의 방식이 아닌 예시의 방식으로 도시되어 있다. 도시의 간결성 및 명료성을 위해, 도면에서 도시된 요소는 반드시 실체 축적으로 도시되어 있는 것은 아니다. 적절하다고 생각되는 경우, 대응하는 또는 유사한 요소를 나타내는데, 동일 참조 부호가 도면들 중에서 반복되었다.
도 1은 브라우저 기반 애플리케이션 보안 검증을 위한 시스템의 적어도 하나의 실시예의 간략한 블록도이다.
도 2는 도 1의 시스템의 클라우드 서비스 서버의 환경의 적어도 하나의 실시예의 간략한 블록도이다.
도 3는 도 1의 시스템의 클라이언트 컴퓨팅 디바이스의 환경의 적어도 하나의 실시예의 간략한 블록도이다.
도 4는 도 1의 클라우드 서비스 서버를 사용하는 브라우저 기반 애플리케이션을 위한 보안 권고를 생성하는 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
도 5는 도 1의 클라이언트 컴퓨팅 디바이스에 의해 액세스되는 브라우저 기반 애플리케이션의 보안을 검증하기 위한 방법의 적어도 하나의 실시예의 간략한 흐름도이다.
본 개시의 개념은 다양한 수정 및 대안적인 형식에 영향을 받기 쉽지만, 이들의 특정 실시예가 도면에서 예시의 방식으로 도시되고 본원에서 더 자세하게 설명될 것이다. 하지만, 개시된 특정 형식에 대한 본 개시의 개념을 제한하도록 의도되는 것이 아니고, 반대로, 본 개시 및 첨부된 청구항과 일치하는 모든 수정, 동등한 것 및 대안을 커버하려는 의도가 이해될 것이다.
명세서에서 "일 실시예", "실시예", "예시적인 실시예" 등에 대한 참조는 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있음을 나타내지만, 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함할 수 있거나 포함할 수 없는 것은 아니다. 또한, 이러한 구절은 반드시 동일한 실시예를 지칭하지 않는다. 또한, 특정 특징, 구조 또는 특성이 실시예와 관련하여 설명될 때, 명시적으로 설명되는지 여부에 상관없이 다른 실시예와 관련한 이러한 특징, 구조 또는 특성에 영향을 주는 것이 당업자의 지식 내에 있다는 것이 제기된다.
일부 경우에, 개시된 실시예는, 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 개시된 실시예는 또한 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는, 일시적 또는 비일시적 머신 판독가능(예를 들어, 컴퓨터 판독가능) 저장 매체에 의해 수행되거나 이에 저장되는 명령으로서 구현될 수 있다. 머신 판독가능 저장 매체는 머신(예를 들어, 휘발성 또는 비휘발성 메모리, 미디어 디스크, 또는 다른 미디어 디바이스)에 의해 판독가능한 형식으로 정보를 저장하기 위한 임의의 저장 디바이스, 매커니즘, 또는 다른 물리적 구조로서 구현될 수 있다.
도면에서, 일부 구조적 특징 또는 방법적 특징은 특정 배열 및/또는 순서로 도시될 수 있다. 하지만, 이러한 특정 배열 및/또는 순서가 필요하지 않을 수 있음이 이해될 것이다. 오히려, 일부 실시예에서, 이러한 특징은 예시적인 도면에서 도시된 것과는 상이한 방식 및/또는 순서로 배열될 수 있다. 추가적으로, 특정 도면에서의 구조적 특징 또는 방법적 특징의 포함은 이러한 특징이 모든 실시예에서 필요하다는 것을 의미하지 않으며, 일부 실시예에서는 다른 특징을 포함하지 않을 수 있거나 다른 특징과 조합될 수 있다.
이제 도 1을 참조하면, 클라우드 지원형 브라우저 기반 애플리케이션 보안 검증을 위한 시스템(100)은 클라이언트 컴퓨팅 디바이스(102), 네트워크(104), 웹 서버(106), 클라우드 서비스 시스템(108), 및 클라우드 서비스 시스템(108)의 내부 또는 외부일 수 있는 클라우드 리소스(110)를 포함한다. 사용 중에, 이하에서 더 자세하게 논의되는 바와 같이, 클라이언트 컴퓨팅 디바이스(102)는, 브라우저 기반 애플리케이션(304)의 보안과 관련한 클라우드 서비스 시스템(108)의 긍정적인 권고에 응답하여 웹 서버(106)로부터 요청된 브라우저 기반 애플리케이션(304)(도 3 참조)를 안전하게 설치할 수 있다. 비록 오직 하나의 클라이언트 컴퓨팅 디바이스(102), 하나의 네트워크(104), 하나의 웹 서버(106), 하나의 클라우드 서비스 시스템(108) 및 하나의 클라우드 리소스(110)가 도 1에서 예시적으로 도시되었지만, 다른 실시예에서 시스템(100)은 임의의 수의 클라이언트 컴퓨팅 디바이스(102), 네트워크(104), 웹 서버(106), 클라우드 서비스 시스템(108) 및 클라우드 리소스(110)를 포함할 수 있다. 예를 들어, 일부 실시예에서, 하나의 클라우드 서비스 시스템(108)은, 다수의 웹 서버(106)로부터 요청된 다수의 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위해 여러 네트워크(104)를 통해 여러 클라이언트 컴퓨팅 디바이스(102)와 통신할 수 있다.
클라이언트 컴퓨팅 디바이스(102)는 본원에서 설명된 기능을 수행하는 것이 가능한 임의의 타입의 컴퓨팅 디바이스로서 구현될 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 기업 레벨 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 모바일 인터넷 디바이스, 핸드헬드 컴퓨터, 스마트 폰, 개인용 디지털 보조장치, 전화기 디바이스, 또는 다른 컴퓨팅 디바이스로서 구현될 수 있다. 도 1의 예시적인 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 프로세서(112), I/O 서브시스템(114), 메모리(116), 통신 회로(118), 데이터 저장 디바이스(120), 및 하나 이상의 주변 디바이스(122)를 포함한다. 일부 실시예에서, 위의 컴포넌트 중 몇몇은 클라이언트 컴퓨팅 디바이스(102)의 마더보드 상에 통합될 수 있지만, 반면 다른 컴포넌트는 예를 들어, 주변 포트를 통해 마더보드에 통신가능하게 연결될 수 있다. 또한, 클라이언트 컴퓨팅 디바이스(102)는, 설명의 명료성을 위해 도 1에서 도시되지 않은, 다른 컴포넌트, 서브컴포넌트, 및 컴퓨터 및/컴퓨팅 디바이스에서 공통적으로 발견되는 디바이스를 포함할 수 있음이 이해될 것이다.
클라이언트 컴퓨팅 디바이스(102)의 프로세서(112)는 예를 들어, 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러, 또는 유사한 것과 같은, 소프트웨어/펌웨어를 실행하는 것이 가능한 임의의 타입의 프로세서로서 구현될 수 있다. 일부 실시예에서, 프로세서(112)는 프로세서 코어를 갖는 단일 코어 프로세서가 될 수 있다. 하지만, 다른 실시예에서, 프로세서(112)는 다중 프로세서 코어를 갖는 다중 코어 프로세서로서 구현될 수 있다. 추가적으로, 클라이언트 컴퓨팅 디바이스(102)는 하나 이상의 프로세서 코어를 갖는 추가적인 프로세서(112)를 포함할 수 있다.
클라이언트 컴퓨팅 디바이스(102)의 I/O 서브시스템(114)은 프로세서(112) 및/또는 클라이언트 컴퓨팅 디바이스(102)의 다른 컴포넌트와의 입력/출력 동작을 용이하게 하는 회로 및/또는 컴포넌트로서 구현될 수 있다. 일부 실시예에서, I/O 서브 시스템(114)은 메모리 컨트롤러 허브(MCH 또는 "노스브릿지"), 입력/출력 컨트롤러 허브(ICH 또는 "사우스브릿지"), 및 펌웨어 디바이스로서 구현될 수 있다. 이러한 실시예에서, I/O 서브시스템(114)의 펌웨어 디바이스는 BIOS(Basic Input/Output System) 데이터 및/또는 명령 및/또는 다른 정보를 저장하기 위한 메모리 디바이스로서 구현될 수 있다(예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 부팅 동안 사용되는 BIOS 드라이버). 하지만, 다른 실시예에서, 다른 구성을 갖는 I/O 서브시스템이 사용될 수 있다. 예를 들어, 일부 실시예에서, I/O 서브시스템(114)은 플랫폼 컨트롤러 허브(PCH)로서 구현될 수 있다. 이러한 실시예에서, 메모리 컨트롤러 허브(MCH)는 프로세서(112)와 통합될 수 있거나 그렇지 않으면 연관될 수 있고, 프로세서(112)는 프로세서(112)는 메모리(116)(도 1에서 해시 라인으로 도시됨)와 직접 통신할 수 있다. 추가적으로, 다른 실시예에서, I/O 서브시스템(114)은 SoC(system-on-a-chip)의 일부를 형성할 수 있고, 프로세서(112) 및 클라이언트 컴퓨팅 디바이스(102)의 다른 컴포넌트를 따라, 단일 집적 회로 칩 상에 통합될 수 있다.
프로세서(112)는 다수의 신호 경로를 통해 I/O 서브시스템(110)에 통신가능하게 연결된다. 이들 신호 경로(및 도 1에 도시된 다른 신호 경로)는 클라이언트 컴퓨팅 디바이스(102)의 컴포넌트들 사이의 통신을 용이하게 하는 것을 가능하게 하는 임의의 타입의 신호 경로로서 구현될 수 있다. 예를 들어, 신호 경로는 임의의 다수의 와이어, 케이블, 광도체, 인쇄 회로 보드 트레이스, 비아, 버스, 개재 디바이스 및/또는 유사한 것으로서 구현될 수 있다.
클라이언트 컴퓨팅 디바이스(102)의 메모리(116)는 예를 들어, 동적 랜덤 액세스 메모리 디바이스(DRAM), 동기화 동적 랜덤 액세스 메모리 디바이스(SDRAM), 2배속 동기화 동적 랜덤 액세스 메모리 디바이스(DDR SDRAM), 마스크 판독전용 메모리(ROM) 디바이스, 제거가능한 프로그램가능 ROM(EPROM), 전기적으로 제거가능한 프로그램가능 ROM(EEPROM) 디바이스, 플래쉬 메모리 디바이스, 및/또는 다른 휘발성 및/또는 비휘발성 메모리 디바이스를 포함하는 하나 이상의 메모리 디바이스 또는 데이터 저장 위치로서 구현될 수 있거나 그렇지 않으면 이들을 포함할 수 있다. 메모리(116)는 다수의 신호 경로를 통해 I/O 서브시스템(114)에 통신가능하게 연결된다. 비록 오직 단일 메모리 디바이스(116)가 도 1에서 도시되었지만, 클라이언트 컴퓨팅 디바이스(102)는 다른 실시예에서 추가적인 메모리 디바이스를 포함할 수 있다. 다양한 데이터 및 소프트웨어가 메모리 디바이스(116)에 저장될 수 있다. 예를 들어, 프로세서(112)에 의해 실행되는 소프트웨어 스택을 구성하는 하나 이상의 운영 시스템, 애플리케이션, 프로그램, 라이브러리, 및 드라이버가 실행 동안 메모리(116)에 존재할 수 있다. 또한, 메모리 관리 동작의 일부로서, 메모리(116)에 저장된 소프트웨어 및 데이터는 메모리(116)와 데이터 저장부(120) 사이에서 스와핑될 수 있다.
클라이언트 컴퓨팅 디바이스(102)의 통신 회로(118)는 네트워크(104)를 통한 클라이언트 컴퓨팅 디바이스(102)와 원격 컴퓨팅 디바이스(예를 들어, 웹 서버(106) 및 클라우드 서비스 시스템(108) 사이의 통신을 가능하게 하는 임의의 다수의 디바이스 및 회로로서 구현될 수 있다. 네트워크(104)는 임의의 다수의 다양한 유선 및/또는 무선 통신 네트워크로서 구현될 수 있다. 예를 들어, 네트워크(104)는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 또는 인터넷과 같이, 공개적으로 액세스가능한, 글로벌 네트워크로서 구현될 수 있거나 그렇지 않으면 이들을 포함할 수 있다. 추가적으로, 네트워크(104)는 클라이언트 컴퓨팅 디바이스(102), 웹 서버(106), 및 클라우드 서비스 시스템(108) 사이의 통신을 용이하게 하는 임의의 다수의 추가적인 디바이스를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(102), 웹 서버(106), 및 클라우드 서비스 시스템(108)은 예를 들어, 특정 타입의 네트워크(104)에 따라 네트워크(104)를 통해 서로 통신하는 임의의 적합한 통신 프로토콜을 사용할 수 있다. 도 1의 예시적인 실시예에서, 클라우드 서비스 시스템(108)은 또한 네트워크(104)를 통해 클라우드 리소스(110)와 통신할 수 있다. 일부 실시예에서, 클라우드 리소스(110)는 클라우드 서비스 시스템(108)에 의해 액세스가능하지만 클라이언트 컴퓨팅 디바이스(102) 및/또는 웹 서버(106)에 의해 액세스 불가능하다.
데이터 저장 디바이스(120)는 예를 들어, 메모리 디바이스 및 회로, 메모리 카드, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 또는 다른 데이터 저장 디바이스와 같은, 임의의 타입의 디바이스 또는, 단기 또는 장기의 데이터 저장부로 구성되는 디바이스로서 구현될 수 있다. 예를 들어, 이하에서 더 자세하게 논의되는 바와 같이, 브라우저 기반 애플리케이션(304)의 일부(즉, 실행가능한 코드)는, 일부 실시예에서, 로컬 코드 분석 모듈(308)(도 3 참조)에 의해 액세스될 데이터 저장 디바이스(120)의 안전한 위치에 저장될 수 있다.
클라이언트 컴퓨팅 디바이스(102)의 주변 디바이스(122)는 임의의 다수의 주변 또는 인터페이스 디바이스를 포함할 수 있다. 예를 들어, 주변 디바이스(122)는 디스플레이, 키보드, 마우스, 외부 스피커, 및/또는 다른 주변 디바이스를 포함할 수 있다. 주변 디바이스(122)에 포함되는 특정 디바이스는 예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 의도된 사용에 의존할 수 있다. 주변 디바이스(122)는 다수의 신호 경로를 통해 I/O 서브시스템(114)에 통신가능하게 연결되어서, I/O 서브시스템(114) 및/또는 프로세서(112)가 주변 디바이스(122)로부터 입력을 수신하고 이에 출력을 송신하는 것을 가능하게 한다.
웹 서버(106)는 본원에서 설명된 기능을 수행하는 것을 가능하게 하는 임의의 타입의 데이터 서버 또는 다른 컴퓨팅 디바이스로서 구현될 수 있다. 예를 들어, 도 1의 예시적일 실시예에서 웹 서버(106)는 네트워크(104)를 통해 클라이언트 컴퓨팅 디바이스(102)로 브라우저 기반 애플리케이션을 생성하여 전송하는 것을 가능하다. 일부 실시예에서, 위에서 논의된 바와 같이 웹 서버(106)는 클라이언트 컴퓨팅 디바이스(102)의 컴포넌트와 유사한 컴포넌트를 포함할 수 있다. 웹 서버(106)는 설명의 명료성을 위해 도 1에서 도시되지 않은, 다른 컴포넌트, 서브컴포넌트, 및 서버 및/또는 컴퓨팅 디바이스에서 공통적으로 발견되는 디바이스를 포함할 수 있음이 이해될 것이다. 추가적으로, 도 1 에서 웹 서버(106)는 단일의, 개별적인 웹 서버로서 도시되었지만, 위에서 논의된 바와 같이 웹 서버(106)는 웹 서버의 집합 및/또는 브라우저 기반 애플리케이션(304)을 생성하고 송신하는 것이 가능한 유사한 디바이스로서 구현될 수 있다.
도 1의 예시적인 실시예에서, 클라우드 서비스 시스템(108)은 프로세서(124), I/O 서브시스템(126), 메모리(128), 통신 회로(130), 데이터 저장 디바이스(132), 로컬 데이터베이스(134), 및 하나 이상의 주변 디바이스(136)를 포함하는 클라우드 서비스 서버로서 구현된다. 일부 실시예에서, 위의 컴포넌트들 중 몇몇은 클라우드 서비스 시스템(108)의 마더보드 상에 통합될 수 있지만, 반면 다른 컴포넌트는 예를 들어, 주변 포트를 통해 마더보드에 통신가능하게 연결될 수 있다. 또한, 클라우드 서비스 시스템(108)은, 설명의 명료성을 위해 도 1에서 도시되지 않은, 다른 컴포넌트, 서브컴포넌트, 및 컴퓨터 및/컴퓨팅 디바이스에서 공통적으로 발견되는 디바이스를 포함할 수 있음이 이해될 것이다. 추가적으로, 도 1에서 도시되고 이하에서 논의된 클라우드 서비스 시스템(108)은 단일의, 개별적인 클라우드 서비스 서버로서 도시되었지만, 이하에서 논의되는 바와 같이 클라우드 서비스 시스템(108)은 클라우드 서버의 집합 및/또는 유사한 디바이스로서 구현될 수 있어서 하나 이상의 클라우드 서비스를 제공하도록 협업한다.
위에서 논의된 바와 같이 클라우드 서비스 시스템(108)의 프로세서(124), I/O 서브시스템(126), 메모리(128), 통신 회로(13), 데이터 저장 디바이스(132), 및 하나 이상의 주변 디바이스(136)는 클라이언트 컴퓨팅 디바이스(102)의 대응하는 컴포넌트와 유사할 수 있다. 따라서, 클라이언트 컴퓨팅 디바이스(102)의 이러한 유사한 컴포넌트의 설명은 클라우드 서비스 시스템(108)의 유사한 컴포넌트에 동일하게 적용가능하고 설명의 명료성을 위해 본원에서 반복되지 않는다. 추가적으로, 클라우드 서비스 시스템(108)의 로컬 데이터베이스(134)는 브라우저 기반 애플리케이션(304)의 보안 및 브라우저 기반 애플리케이션(304)의 소스에 관한 데이터를 저장하기에 적합한 임의의 전자 구성 또는 구조로서 구현될 수 있다.
도 1의 예시적인 실시예에서, 클라우드 리소스(110)는 데이터 및 다른 전자 리소스를 포함하여 브라우저 기반 애플리케이션(304)의 소스를 인증하고/거나 브라우저 기반 애플리케이션(304)의 진위를 검증하기 위해 클라우드 서비스 시스템(108)에 의해 사용될 수 있다. 일부 실시예에서, 클라우드 리소스(110)는 클라우드 서비스 시스템(108)과 동일한 클라우드 컴퓨팅 환경에 속하는 다른 서버 및/또는 컴퓨팅 디바이스를 포함할 수 있다. 다른 실시예에서, 클라우드 리소스(110)는 브라우저 기반 애플리케이션 검증 데이터 및/또는 소스 인증 데이터를 저장하기 위한 하나 이상의 데이터베이스 또는 다른 데이터 구조를 포함할 수 있다.
사용 중에, 도 2에서 도시된 바와 같이, 클라우드 서비스 시스템(108)은 클라우드 서비스 시스템(108) 상에서 브라우저 기반 애플리케이션(304)에 대한 보안 권고를 생성하기 위한 환경(200)을 설정할 수 있다. 예시적인 실시예에서, 환경(200)은 소스 인증 모듈(202), 애플리케이션 검증 모듈(204), 권고 엔진(206), 및 통신 모듈(208)을 포함하고, 이들의 각각은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로서 구현될 수 있다.
소스 인증 모듈(202)은 브라우저 기반 애플리케이션(304)의 소스(예를 들어, 브라우저 기반 애플리케이션(304)이 다운로드되는 웹사이트)를 인증하도록 구성된다. 이를 위해, 소스 인증 모듈(202)은 클라우드 서비스 시스템(108)의 로컬 데이터베이스(118) 및/또는 클라우드 리소스(110)로부터 소스 인증 데이터를 수신할 수 있다. 소스 인증 데이터는 브라우저 기반 애플리케이션(304)의 소스의 신뢰성을 결정하기 위해 소스 인증 모듈(202)에 의해 사용가능한 임의의 타입의 데이터로서 구현될 수 있다. 예를 들어, 소스 인증 데이터는 기지의(known) 신뢰할 수 있는 및/또는 악성의 브라우저 기반 애플리케이션(304) 배포자 또는 호스트(예를 들어, 웹사이트)를 식별하는 정보로서 구현될 수 있거나 그렇지 않으면 이를 포함할 수 있다.
소스 인증 모듈(202)은 또한 애플리케이션 소스 데이터를 수신할 수 있고, 이는 클라이언트 컴퓨팅 디바이스(102) 또는 웹 서버(106)로부터 브라우저 기반 애플리케이션(304)의 특정 소스를 식별한다. 이러한 실시예에서, 소스 인증 모듈(202)은 브라우저 기반 애플리케이션(304)의 식별된 소스가 안전하고 신뢰할 수 있는 호스트 또는 엔티티인지를 판정하도록 애플리케이션 소스 데이터와 소스 인증 데이터를 비교함으로써 브라우저 기반 애플리케이션(304)의 소스를 인증할 수 있다.
애플리케이션 검증 모듈(204)은 브라우저 기반 애플리케이션(304) 자체의 보안을 검증하도록 구성된다. 이를 위해, 일부 실시예에서, 애플리케이션 검증 모듈(204)은 클라우드 서비스 시스템(108)의 로컬 데이터베이스(118)로부터 애플리케이션 검증 데이터를 취득하고/거나 클라우드 리소스(110)로부터 애플리케이션 검증 데이터를 취득할 수 있다. 애플리케이션 검증 데이터는 신뢰할 수 있는 소스 코드로서 구현될 수 있어서 애플리케이션 모듈(204)은 브라우저 기반 애플리케이션(304) 코드와 비교할 수 있다. 이러한 실시예에서, 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위해 애플리케이션 검증 모듈(204)은 신뢰할 수 있는 소스 코드를 브라우저 기반 애플리케이션의 코드와 비교할 수 있다. 추가적으로 또는 대안적으로, 애플리케이션 검증 데이터는, 애플리케이션 검증 모듈(204)이 브라우저 기반 애플리케이션(304)의 코드를 분석하는데 사용가능한, 기지의 바이러스 서명 또는 패턴을 포함할 수 있다. 즉, 브라우저 기반 애플리케이션(304)이 악성 코드를 포함하는지, 아니면 가짜인지를 판정하도록 애플리케이션 검증 모듈(204)이 브라우저 기반 애플리케이션(304)의 코드 분석을 수행할 수 있다. 추가적으로, 일부 실시예에서, 애플리케이션 검증 모듈(204)은 브라우저 기반 애플리케이션(304)의 개발자/발행인의 신원을 판정할 수 있다. 예를 들어, 소스 인증 데이터와 유사한, 애플리케이션 검증 데이터는 기지의 신뢰할 수 있는 악성의 브라우저 기반 애플리케이션(304) 개발자 및 발행인에 관한 정보를 포함할 수 있어서 브라우저 기반 애플리케이션(304)의 보안을 검증하는데 애플리케이션 검증 모듈(204)에 의해 사용될 수 있다.
권고 엔진(206)은 소스 인증 모듈(202)/또는 애플리케이션 검증 모듈(204)에 의해 수행되는 분석에 기초하여 브라우저 기반 애플리케이션(304)의 보안에 관한 클라이언트 컴퓨팅 디바이스(102)에 대한 권고를 제공하도록 구성된다. 위에서 논의된 바와 같이, 소스 인증 모듈(202)은 브라우저 기반 애플리케이션(304)의 소스를 분석하고, 애플리케이션 검증 모듈(204)은 브라우저 기반 애플리케이션(304) 자체를 분석한다. 일부 실시예에서, 권고 엔진(206)은, 브라우저 기반 애플리케이션(304)이 안전한지 여부를 판정하고 클라이언트 컴퓨팅 디바이스(102)에게 권고를 수행하기 위해 소스 인증 모듈(202) 및 애플리케이션 검증 모듈(204)의 분석을 상관시킬 수 있다. 권고 엔진(206)의 안전 권고는 많은 여러가지 형식이 될 수 있다. 예를 들어, 일부 실시예에서, 소스 인증 모듈(202)이 브라우저 기반 애플리케이션(304)의 소스가 신뢰할 수 있는 소스인지를 판정하고/거나 애플리케이션 검증 모듈(204)이 브라우저 기반 애플리케이션(304)이 신뢰할 수 있는 당사자에 의해 개발되거나 발행되었는지를 판정할 경우에만, 권고 엔진(206)이 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 실행하는 것을 권고할 수 있다. 다른 실시예에서, 권고 엔진(206)은 클라이언트 컴퓨팅 디바이스(102)에게 브라우저 기반 애플리케이션(304)이 안전하거나 그렇지 않으면 일부 임계치에 대한 권고에 기초한다는 가능성의 백분율을 제공한다. 물론, 다른 형식의 권고가 다른 실시예에서 사용될 수 있다. 권고 엔진(206)은, 클라우드 서비스 시스템(108)과 시스템(100)의 다른 디바이스 사이의 통신을 처리하는, 통신 모듈(208)을 사용하여 클라이언트에게 권고를 전송할 수 있다.
이제 도 3을 참조하면, 사용 중에, 클라이언트 컴퓨팅 디바이스(102)가 클라이언트 컴퓨팅 디바이스(102)에 의해 요청되는 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위한 환경(300)을 설정할 수 있다. 예시적인 실시예에서의 환경(300)은 브라우저(302), 브라우저 기반 애플리케이션(304), 애플리케이션 보안 모듈(306), 로컬 코드 분석 모듈(308), 및 통신 모듈(310)을 포함하고, 이들의 각각은 소프트웨어, 하드웨어, 펌웨어, 및/또는 이들의 조합으로서 구현될 수 있다.
클라이언트 컴퓨팅 디바이스(102)의 브라우저(302)는 웹서버(106)로부터 브라우저 기반 애플리케이션(304)을 요청하고 해석하는데 사용될 수 있다. 일부 실시예에서, 브라우저 기반 애플리케이션(304)이 HTML5(a Hypertext Markup Language 5) 애플리케이션으로서 구현될 수 있다. 다른 실시예에서, 브라우저 기반 애플리케이션(304)은 클라이언트 컴퓨팅 디바이스(102)의 브라우저(302)에 의해 실행되고/거나 해석되는 것이 가능한 임의의 소프트웨어 애플리케이션으로서 구현될 수 있다.
애플리케이션 보안 모듈(306)은 클라이언트 컴퓨팅 디바이스(102) 상에서 브라우저 기반 애플리케이션(304)의 보안 검증을 수행하도록 구성된다. 애플리케이션 보안 모듈(306)은 독립적인 모듈로서 구현될 수 있거나, 일부 실시예에서, 브라우저 플러그인으로서 구현될 수 있다. 이하에서 논의되는 바와 같이, 브라우저(302)가 브라우저 기반 애플리케이션(304)을 요청했다면, 애플리케이션 보안 모듈(306)은 클라우드 서비스 시스템(108)으로부터 검증의 결과를 수신하는, 통신 모듈(310)을 사용하여 요청된 브라우저 기반 애플리케이션(304)의 보안을 검증하도록 클라우드 서비스 시스템(108)에게 요청할 수 있다. 일부 실시예에서, 애플리케이션 보안 모듈(306)은 브라우저 기반 애플리케이션(304)를 실행하거나 브라우저 기반 애플리케이션(304)의 임의의 부분을 다운로드하도록 브라우저(302)를 허용하기 이전에 분석을 위해 클라우드 서비스 시스템(108)에 대한 요청을 전달할 수 있다. 추가적으로, 일부 실시예에서, 클라우드 서비스 시스템(108)에 의한 검증의 결과는 클라이언트 컴퓨팅 디바이스(102)에 의해 수행될 명령 또는 지시를 포함할 수 있다. 이러한 실시예에서, 애플리케이션 보안 모듈(306)은, 예를 들어, 브라우저 기반 애플리케이션(304)을 삭제하거나 격리하는 것과 같은 임의의 타입의 보안 액션을 포함할 수 있는, 이러한 추가적인 명령 또는 액션을 수행하도록 구성된다.
일부 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 또한 로컬 코드 분석 모듈(308)을 포함할 수 있다. 이러한 실시예에서, 로컬 코드 분석 모듈(308)은, 클라우드 서비스 시스템(108)의 애플리케이션 검증 모듈(204)과 유사하게, 브라우저 기반 애플리케이션(304)이 악성 코드를 포함하거나 그렇지 않으면 가짜인지 여부를 판정하도록 구성될 수 있다. 예를 들어, 일부 실시예에서, 로컬 코드 분석 모듈(308)은 클라우드 서비스 시스템(108)으로부터 권고를 수신한 이후에 브라우저 기반 애플리케이션(304)을 더 분석할 수 있고/거나 브라우저 기반 애플리케이션(304)과 관련하여 추가적인 보안 측정을 수행할 수 있다.
이제 도 4를 참조하면, 클라우드 서비스 시스템(108)에 의해 수행될 수 있는, 브라우저 기반 애플리케이션(304)과 관련하여 보안 권고를 생성하기 위한 방법(400)의 예시적인 실시예가 블록(402)로 시작한다. 블록(402)에서, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위한 애플리케이션 검증 요청이 클라이언트 컴퓨팅 디바이스(102)로부터 수신되었는지 여부를 판정한다. 그렇다면, 블록(404)에서, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304) 또는 브라우저 기반 애플리케이션(304)의 코드의 일부를 수신한다. 일부 실시예에서, 블록(404)에서는, 클라우드 서비스 시스템(108)이 클라이언트 컴퓨팅 디바이스(102)로부터 브라우저 기반 애플리케이션(304)의 위치를 나타내는 메타데이터를 수신할 수 있고 특정 위치에서 웹 서버(106)로부터 브라우저 기반 애플리케이션(304)을 다운로드할 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 클라우드 서비스 시스템(108)에게 브라우저 기반 애플리케이션(304)의 URL(uniform resource locator)을 제공할 수 있다. 클라우드 서비스 시스템(108)은 분석을 위해 브라우저 기반 애플리케이션(304)을 취득하도록 클라이언트 컴퓨팅 디바이스(102)에 의해 제공되는 위치 정보를 사용할 수 있다.
블록(406)에서, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304)의 소스를 인증한다. 이를 위해, 블록(408)에서 클라우드 서비스 시스템(108)은 클라이언트 컴퓨팅 디바이스(102)로부터 애플리케이션 소스 데이터를 추가적으로 수신할 수 있다. 위에서 논의된 바와 같이, 애플리케이션 소스 데이터는 브라우저 기반 애플리케이션(304)의 소스를 식별하는 임의의 타입의 데이터로서 구현될 수 있다. 예를 들어, 애플리케이션 소스 데이터는 브라우저 기반 애플리케이션(304)과 연관된 상위 레벨 도메인, 서브도메인, 또는 인터넷 프로토콜(IP) 어드레스를 식별할 수 있다. 대안으로, 애플리케이션 소스 데이터가 특별히 식별되지 않는 실시예에서, 블록(404)에서는 브라우저 기반 애플리케이션(304)의 소스를 결정하기 위해 클라우드 서비스 시스템(108)이 클라이언트 컴퓨팅 디바이스(102)에 의해 제공되는 위치 데이터를 사용할 수 있다. 일부 실시예에서, 클라우드 서비스 시스템(108)은, 클라이언트 컴퓨팅 디바이스(102) 또는 웹 서버(106)외에 원격 서버로부터 브라우저 기반 애플리케이션(304) 및/또는 애플리케이션 소스 데이터를 다운로드할 수 있다.
일부 실시예에서, 블록(410)에서는 클라우드 서비스 시스템(108)의 소스 인증 모듈(202)이 또한 클라우드 서비스 시스템(108)의 로컬 데이터 베이스(118)로부터 및/또는 클라우드 리소스(110)로부터 소스 인증 데이터를 취득할 수 있다. 위에서 논의된 바와 같이, 소스 인증 데이터는 브라우저 기반 애플리케이션(304)의 소스의 신뢰성을 판정하도록 클라우드 서비스 시스템(108)에 의해 사용가능한 임의의 타입의 데이터로서 구현될 수 있거나, 그렇지 않으면 이를 포함할 수 있다. 예를 들어, 소스 인증 데이터는 악의적인 브라우저 기반 애플리케이션(304)의 기지의 호스트를 식별하는 데이터를 포함할 수 있다. 다른 실시예에서, 소스 인증 데이터는 브라우저 기반 애플리케이션(304)의 신뢰할 수 있는 호스트를 식별하는 데이터를 포함할 수 있다. 계속해서 다른 실시예에서, 소스 인증 데이터는 이전에 설명된 정보 및/또는 브라우저 기반 애플리케이션(304)의 소스의 신뢰성에 관한 다른 정보의 조합을 포함할 수 있다. 따라서, 일부 실시예에서, 클라우드 서비스 시스템(108)은 식별된 소스의 신뢰성(또는 이들의 결점)을 결정하기 위해 식별된 애플리케이션 소스 데이터와 취득된 소스 인증 모듈을 비교함으로써 블록(406)에서 브라우저 기반 애플리케이션을 소스를 인증할 수 있다.
블록(412)에서, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304) 자체의 보안을 검증하도록 구성된다. 이를 위해, 블록(412)에서 클라우드 서비스 시스템(108)은 애플리케이션 검증 데이터를 취득할 수 있다. 블록(410)에서 취득된 소스 인증 데이터와 유사하게, 클라우드 서비스 시스템(108)은 클라우드 서비스 시스템(108)의 로컬 데이터 베이스(118)로부터 및/또는 클라우드 리소스(110)로부터 애플리케이션 검증 데이터를 취득할 수 있다. 애플케이션 검증 데이터는 브라우저 기반 애플리케이션(304)의 보안(예를 들어, 신뢰성, 악의성 등)을 검증하기 위해 클라우드 서비스 시스템(108)에 의해 사용가능한 임의의 타입의 데이터로서 구현될 수 있다. 예를 들어, 위에서 논의된 바와 같이, 애플리케이션 검증 데이터는 알려진, 신뢰할 수 있는 소스 코드로서 구현될 수 있다. 추가적으로 또는 대안적으로, 애플리케이션 검증 데이터는 기지의 바이러스 및 다른 멀웨어의 서명 또는 패턴으로서 구현될 수 있거나 그렇지 않으면 이들을 포함할 수 있다. 또한, 애플리케이션 검증 데이터는 기지의 브라우저 기반 애플리케이션(304) 개발자 및 발행인의 신뢰성과 관련한 정보를 포함할 수 있다.
클라우드 서비스 시스템(108)은 블록(412)에서 블록(404)에서 취득된 브라우저 기반 애플리케이션(304)과 블록(414)에서 취득된 애플리케이션 검증 데이터를 비교함으로써 브라우저 기반 애플리케이션(304)의 보안성 및 무결성을 검증할 수 있다. 예를 들어, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304)이 악성 코드를 포함하거나 그렇지 않으면 가짜인지를 판정하기 위해 브라우저 기반 애플리케이션(304)의 코드 분석을 수행하여 브라우저 기반 애플리케이션(304)을 멀웨어 서명과 비교할 수 있다. 추가적으로 또는 대안적으로, 클라우드 서비스 시스템(108)은 코드가 안정적이고 클라이언트 컴퓨팅 디바이스(102) 상에서 안정하게 동작가능하다는 것을 검증하도록 브라우저 기반 애플리케이션(304)의 코드를 분석할 수 있다. 이러한 실시예에서, 권고 엔진(206)은 클라이언트 컴퓨팅 디바이스(102)에게 브라우저 기반 애플리케이션(304)의 가장 안정적인 현재 릴리즈(release)의 위치를 통지할 수 있다.
방법(400)의 블록(406 및 412)는 임의의 순서로 발생할 수 있거나 동시에 발생할 수 있음이 이해될 것이다. 또한, 일부 실시예에서, 블록(406 및 412) 중 어느 하나가 브라우저 기반 애플리케이션(304), 또는 이의 소스가 안전하지 않다는 표시를 제공하면, 클라우드 서비스 시스템(108)은 다른 블록을 실행시킬 수 있거나 실행시킬 수 없다. 오히려, 이하에서 논의된 바와 같이 클라우드 서비스 시스템(108)은 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 다운로드하거나 실행시키는 것을 금지하도록 단순하게 권고할 수 있다.
블록(416)에서의 클라우드 서비스 시스템(108)은 블록(406)의 소스 인증 및 블록(412)에서의 브라우저 기반 애플리케이션 검증에 따라서, 클라이언트 컴퓨팅 디바이스(102)에 대한 보안 권고를 생성할 수 있다. 위에서 논의된 바와 같이, 보안 권고는 브라우저 기반 애플리케이션(304)이 안전한지 여부에 관하여 클라이언트 컴퓨팅 디바이스(102)에게 일부 표시를 제공한다. 예를 들어, 클라우드 서비스 시스템(108)은, 소스 및 브라우저 기반 애플리케이션(304) 모두가 안전한 것으로 판정되면 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 실행하도록 권고할 수 있다. 그렇지 않으면, 클라우드 서비스 시스템(108)은, 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 다운로드하거나 실행하는 것을 금지하고 브라우저 기반 애플리케이션 코드 중 임의의 다운로드된 부분을 삭제하도록 권고할 수 있다. 다른 실시예에서, 클라우드 서비스 시스템(108)은, 브라우저 기반 애플리케이션(304)이 안전할 가능성(예를 들어, 백분율 또는 다른 숫자적 표현)을 생성할 수 있고, 브라우저 기반 애플리케이션(304)을 실행시킬지 여부를 결정하기 위해 클라이언트 컴퓨팅 디바이스가 이러한 가능성을 활용할 수 있다. 즉, 클라우드 서비스 시스템(108)은 브라우저 기반 애플리케이션(304)의 신뢰의 레벨을 식별할 수 있다. 예를 들어, 브라우저 기반 애플리케이션(304)과 이의 소스 모두가 안전한 것으로 판정되면, 브라우저 기반 애플리케이션(304)이 안전한 것으로서 식별될 수 있으며, 브라우저 기반 애플리케이션 및 이의 소스 중 오직 하나가 안전한 것으로 판정되면, 가능하면 안전하지 않을 수 있다고 식별되며, 브라우저 기반 애플리케이션과 이의 소스 모두가 안전한 것으로 판정되지 않는다면, 안전하지 않은 것으로 식별될 수 있다. 블록(418)에서, 클라우드 서비스 시스템(108)은 로컬 데이터베이스(118)를 클라우드 리소스(110)로부터 수신된 이의 권고 및/또는 보안 정보로 업데이트할 수 있다.
블록(420)에서, 클라우드 서비스 시스템(108)은 블록(416)에서 생성된 보안 권고를 클라이언트 컴퓨팅 디바이스(102)로 전송할 수 있다. 그 후에, 블록(422)에서 클라우드 서비스 시스템(108)은 클라이언트 컴퓨팅 디바이스(102)로부터 피드백을 수신할 수 있다. 일부 실시예에서, 보안 권고에 응답하여 피드백은 클라이언트 컴퓨팅 디바이스(102)에 의해 행해진 보안 액션을 포함할 수 있다. 예를 들어, 피드백은 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 실행하는지 여부를 나타낼 수 있다. 추가적으로, 피드백은 클라이언트 컴퓨팅 디바이스(102)가, 예를 들어, 사용자에게 보안 권고를 통지하고, 브라우저 기반 애플리케이션을 삭제하거나 다운로드하는 것을 금지하거나, 브라우저 기반 애플리케이션(304)을 격리하는 것을 나타낼 수 있다. 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)의 로컬 보안 분석을 수행하는 실시예에서(도 5의 블록(512) 참조), 피드백은 또한 로컬 보안 분석의 결과를 포함할 수 있다. 블록(424)에서, 클라우드 서비스 시스템(108)은 로컬 데이터베이스(118)를 클라이언트 컴퓨팅 디바이스(102)로부터의 피드백으로 업데이트할 수 있다.
이제 도 5를 참조하면, 클라이언트 컴퓨팅 디바이스(102)에 의해 실행될 수 있는, 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위한 방법(500)의 예시적인 실시예가 블록(502)에서 시작한다. 블록(502)에서, 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)이 요청되었는지 여부를 판정한다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)의 보안 모듈(306)은 클라이언트 컴퓨팅 디바이스(102)의 사용자가 브라우저 기반 애플리케이션(304)으로의 하이퍼링크를 실행할 때를 결정하기 위해 브라우저(302)를 모니터링할 수 있다. 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)이 요청되었는지를 판정한다면, 블록(504)에서 브라우저 기반 애플리케이션(304)의 보안을 검증하기 위해 클라이언트 컴퓨팅 디바이스(102)가 요청을 클라우드 서비스 시스템(108)으로 전송한다. 위에서 논의된 바와 같이, 그리하여, 블록(506)에서 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304), 또는 브라우저 기반 애플리케이션(304)의 임의의 다운로드된 부분 또는 이의 소스 코드를 클라우드 서비스 시스템(108)으로 전송할 수 있다. 대안적으로, 블록(508)에서 클라이언트 컴퓨팅 디바이스(102)는, 브라우저 기반 애플리케이션(304)을 입수 가능한 위치를 나타내는 데이터를 클라우드 서비스 시스템(108)에 전송할 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)의 URL을 클라우드 서비스 시스템(108)으로 전송할 수 있다. 도 5의 예시적인 실시예에서, 클라우드 서비스 시스템(108)이 브라우저 기반 애플리케이션(304)의 보안을 검증할 때까지 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)을 실행시키지 않는다(도 5에서 이중 물결표시로 나타됨).
블록(510)에서, 클라이언트 컴퓨팅 디바이스(102)는 클라우드 서비스 시스템(108)으로부터 보안 권고를 수신한다. 위에서 논의된 바와 같이, 보안 권고는, 예를 들어, 브라우저 기반 애플리케이션(304)이 안전한지 여부 및/또는 브라우저 기반 애플리케이션(304)의 보안의 레벨을 나타낼 수 있다. 일부 실시예에서, 클라우드 서비스 시스템(108) 상의 브라우저 기반 애플리케이션(304)의 보안을 검증하는 것과 유사하게, 블록(512)에서는, 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)의 로컬 보안 분석을 다운로드하고 수행할 수 있다. 브라우저 기반 애플리케이션(304)이 악성 코드를 포함하는지 여부를 판정하기 위해 클라이언트 컴퓨팅 디바이스(102)의 로컬 코드 분석 모듈(308)은 브라우저 기반 애플리케이션(304)을 바이러스 또는 멀웨어 서명 및 패턴과 비교할 수 있다. 다른 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)의 보안을 로컬적으로 검증하기 위해 추가적인 또는 대안의 코드 분석을 수행할 수 있다. 추가적으로, 일부 실시예에서, 블록(512)에서 수행되는 로컬 보안 분석은 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 클라우드 서비스 시스템(108)으로 전송하기 이전에 수행될 수 있다. 이러한 실시예에서, 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)이 보안 리스크(예를 들어, 멀웨어를 포함함)를 갖는다는 것을 로컬적으로 판정하면, 그 때 클라우드 서비스 시스템(108) 상으로 송신하는 것 없이, 단순히 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)을 폐기할 수 있다. 다른 실시예에서, 로컬 보안 분석의 결과에 상관없이 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)을 클라우드 서비스 시스템(108)으로 전송할 수 있다.
블록(514)에서, 클라이언트 컴퓨팅 디바이스(102)는 블록(510)에서 클라우드 서버로부터 수신된 보안 권고에 기초하여 보안 액션을 수행할 수 있다. 일부 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 사용자에게 보안 권고를 통지할 수 있다(예를 들어, 보안 권고가 브라우저 기반 애플리케이션(304)을 다운로드/실행하지 않는 것이면). 예를 들어, 블록(516)에서, 클라이언트 컴퓨팅 디바이스(102)의 사용자는 브라우저(302) 또는 다른 그래픽 사용자 인터페이스를 통해 통지될 수 있다. 다른 실시예에서, 블록(518)에서 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)의 소스 코드, 또는 이들의 다운로드된 임의의 부분을 클라이언트 컴퓨팅 디바이스(102)의 메모리(116)로부터 삭제할 수 있다. 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304)의 임의의 부분을 다운로드하지 않는 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 사용자가 브라우저 기반 애플리케이션(304)을 다운로드하는 것을 방지할 수 있다. 다른 실시예에서, 블록(520)에서 클라이언트 컴퓨팅 디바이스(102)의 메모리(116)의 안전한 위치에서, 클라이언트 컴퓨팅 디바이스(102)가 브라우저 기반 애플리케이션(304), 또는 이의 임의의 다운로드된 부분을 격리할 수 있다. 하지만, 클라우드 서비스 시스템(108)이 브라우저 기반 애플리케이션(304)이 안전한지를 판정한다면, 클라이언트 컴퓨팅 디바이스(102)는 브라우저 기반 애플리케이션(304)을 다운로드하고 실행할 수 있다. 클라이언트 컴퓨팅 디바이스(102)가 블록(512)에서 로컬 보안 분석을 수행하는 실시예에서, 클라이언트 컴퓨팅 디바이스(102)는 클라우드 서비스 시스템(108) 보안 권고 이외에 로컬 보안 분석을 추가적으로 고려할 수 있다.
블록(522)에서, 클라이언트 컴퓨팅 디바이스(102)는 클라우드 서비스 시스템(108)으로 피드백을 전송할 수 있다. 위에서 논의된 바와 같이, 보안 권고에 응답하여 피드백은 클라이언트 컴퓨팅 디바이스(102)에 의해 행해진 보안 액션을 포함할 수 있다. 추가적으로, 피드백은 클라이언트 컴퓨팅 디바이스(102)에 의해 브라우저 기반 애플리케이션(304) 상에서 수행되는 임의의 로컬 보안 분석의 결과를 포함할 수 있다. 클라우드 서비스 시스템(108)은 이 피드백을 사용해서, 관련 브라우저 기반 애플리케이션 보안 정보로 클라우드 서비스 시스템(108)의 로컬 데이터베이스(118)를 업데이트할 수 있다.
본원에서 개시된 디바이스, 시스템 및 방법의 예시적인 실시예가 이하에서 제공된다. 디바이스, 시스템, 및 방법의 실시예가 이하에서 설명된 예시들 중, 어느 하나 이상 및 임의의 조합을 포함할 수 있다.
예시 1은 브라우저 기반 애플리케이션에 대한 보안 권고를 생성하기 위한 클라우드 서비스 시스템을 포함한다. 클라우드 서비스 시스템은 클라이언트 컴퓨팅 디바이스로부터 애플리케이션 검증 요청을 수신하는 통신 모듈과, (i) 상기 브라우저 기반 애플리케이션의 소스를 식별하는 애플리케이션 소스 데이터를 수신하고, (ii) 소스 인증 데이터를 취득하고, (iii) 상기 애플리케이션 소스 데이터 및 상기 소스 인증 데이터에 따라서 상기 브라우저 기반 애플리케이션의 소스를 인증하는 소스 인증 모듈과, (i) 애플리케이션 검증 데이터를 취득하고, (ii) 상기 애플리케이션 검증 데이터에 따라서 상기 브라우저 기반 애플리케이션을 검증하는 애플리케이션 검증 모듈과, 상기 소스 인증 모듈의 인증 및 상기 애플리케이션 검증 모듈의 검증에 응답하여 보안 권고를 생성하는 권고 엔진을 포함하되, 상기 통신 모듈은 상기 클라이언트 컴퓨팅 디바이스로 상기 보안 권고를 더 전송한다.
예시 2는 예시 1의 청구 대상을 포함하되, 상기 소스 인증 모듈은 (i) 상기 브라우저 기반 애플리케이션의 위치를 식별하는 위치 데이터를 수신하고 (ii) 상기 식별된 위치에 위치된 웹 서버로부터 상기 브라우저 기반 애플리케이션을 다운로드한다.
예시 3은 예시 1 및 2의 청구 대상을 포함하되, 상기 위치 데이터는 상기 브라우저 기반 애플리케이션의 URL(a uniform resource locator)을 포함한다.
예시 4는 예시 1 내지 3 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 모듈은 상기 클라이언트 컴퓨팅 디바이스와는 다른 원격 위치로부터 상기 애플리케이션 소스 데이터를 취득하고 상기 애플리케이션 검증 모듈은 상기 원격 위치로부터 상기 브라우저 기반 애플리케이션을 취득한다.
예시 5는 예시 1 내지 4 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고는 상기 브라우저 기반 애플리케이션의 신뢰 레벨을 식별한다.
예시 6은 예시 1 내지 5 중 어느 하나의 청구 대상을 포함하되, 상기 권고 엔진은 상기 보안 권고에 응답하여 상기 클라이언트 컴퓨팅 디바이스로부터 피드백을 수신한다.
예시 7은 예시 1 내지 6 중 어느 하나의 청구 대상을 포함하되, 상기 피드백은 상기 클라이언트 컴퓨팅 디바이스에 의해 행해진 보안 액션을 나타낸다.
예시 8은 예시 1 내지 7 중 어느 하나의 청구 대상을 포함하되, 상기 권고 엔진은 상기 클라이언트 컴퓨팅 디바이스로부터 피드백을 수신하는 것에 응답하여 상기 클라우드 서버의 로컬 데이터베이스를 업데이트한다.
예시 9는 예시 1 내지 8 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 소스 데이터는 상기 브라우저 기반 애플리케이션의 호스트를 식별한다.
예시 10은 예시 1 내지 9 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 소스 데이터는 상기 브라우저 기반 애플리케이션이 사용가능한 인터넷 프로토콜 어드레스를 나타낸다.
예시 11은 예시 1 내지 10 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 모듈은 상기 클라우드 서버의 로컬 데이터베이스로부터 상기 소스 인증 데이터를 취득하고 상기 애플리케이션 검증 모듈은 상기 로컬 데이터베이스로부터 상기 애플리케이션 검증 데이터를 취득한다.
예시 12는 예시 1 내지 11 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 모듈은 상기 클라우드 서버에 액세스가능한 클라우드 리소스로부터 상기 소스 인증 데이터를 취득하고 상기 애플리케이션 검증 모듈은 상기 클라우드 리소스로부터 상기 애플리케이션 검증 데이터를 취득한다.
예시 13은 예시 1 내지 12 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 모들은 상기 애플리케이션 소스 데이터를 상기 소스 인증 데이터와 비교함으로써 상기 소스를 인증하고, 상기 소스 인증 데이터는 기지의 악성 브라우저 기반 애플리케이션 호스트의 리스트를 포함한다.
예시 14는 예시 1 내지 13 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 모듈은 상기 브라우저 기반 애플리케이션을 상기 브라우저 기반 애플리케이션의 신뢰할 수 있는 소스 코드와 비교함으로써 상기 브라우저 기반 애플리케이션의 보안을 검증한다.
예시 15는 예시 1 내지 14 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 모듈은 상기 브라우저 기반 애플리케이션을 상기 애플리케이션 검증 데이터와 비교함으로써 상기 브라우저 기반 애플리케이션의 보안을 검증하고, 상기 애플리케이션 검증 데이터는 기지의 멀웨어 서명(known malware signatures)을 포함한다.
예시 16은 예시 1 내지 15 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 모듈은 상기 클라우드 서버에 액세스가능한 클라우드 리소스로부터 상기 애플리케이션 검증 데이터를 취득한다.
예시 17은 예시 1 내지 16 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 모듈은 상기 클라우드 서버의 로컬 데이터베이스로부터 상기 애플리케이션 검증 데이터를 취득한다.
예시 18은 예시 1 내지 17 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고는 상기 브라우저 기반 애플리케이션이 안전한지 여부를 나타낸다.
예시 19는 예시 1 내지 18 중 어느 하나의 청구 대상을 포함하되, 상기 권고 엔진은 상기 보안 권고를 생성하는 것에 응답하여 상기 클라우드 서버의 로컬 데이터베이스를 업데이트한다.
예시 20은 예시 1 내지 19 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션은 HTML5(a Hypertext Markup Language 5) 애플리케이션 또는 다른 웹 애플리케이션이다.
예시 21은 브라우저 기반 애플리케이션의 보안을 검증하는 클라이언트 컴퓨팅 디바이스를 포함한다. 상기 클라이언트 컴퓨팅 디바이스는 (i) 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하고 (ii) 상기 브라우저 기반 애플리케이션이 요청되었다는 결정에 응답하여, 상기 브라우저 기반 애플리케이션의 보안을 검증하기 위해 애플리케이션 검증 요청을 클라우드 서비스 시스템으로 전송하는 애플리케이션 보안 모듈과, 상기 클라우드 서비스 시스템으로부터 보안 권고를 수신하는 통신 모듈을 포함하되, 상기 애플리케이션 보안 모듈은 상기 보안 권고에 응답하여 보안 액션을 더 수행한다.
예시 22는 예시 21의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션은 HTML5 애플리케이션 또는 다른 웹 애플리케이션이다.
예시 23은 예시 21 및 22의 청구 대상을 포함하되, 상기 애플리케이션 보안 모듈이 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하는 것은 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션으로의 하이퍼링크를 실행했는지 여부를 판정하는 것을 포함한다.
예시 24는 예시 21 내지 23 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 보안 모듈이 상기 애플리케이션 검증 요청을 전송하는 것은 상기 클라우드 서비스 시스템으로 상기 브라우저 기반 애플리케이션의 소스 코드의 적어도 일부를 전송하는 것을 포함한다.
예시 25는 예시 21 내지 24 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 보안 모듈이 상기 애플리케이션 검증 요청을 전송하는 것은 상기 브라우저 기반 애플리케이션이 사용가능한 위치를 나타내는 위치 데이터를 전송하는 것을 포함한다.
예시 26은 예시 21 내지 25 중 어느 하나의 청구 대상을 포함하되, 상기 위치 데이터는 상기 브라우저 기반 애플리케이션의 URL(a uniform resource locator)을 포함한다.
예시 27은 예시 21 내지 26 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션은 상기 클라이언트 컴퓨팅 디바이스의 사용자에게 상기 보안 권고를 통지하는 것을 포함한다.
예시 28은 예시 21 내지 27 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션은 상기 클라이언트 컴퓨팅 디바이스로부터 상기 브라우저 기반 애플리케이션의 소스 코드를 삭제하는 것을 포함한다.
예시 29는 예시 21 내지 28 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션은 상기 클라이언트 컴퓨팅 디바이스의 메모리로의 상기 브라우저 기반 애플리케이션의 다운로드를 금지하는 것을 포함한다.
예시 30은 예시 21 내지 29 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션은 상기 클라이언트 컴퓨팅 디바이스의 메모리의 안전한 위치에 상기 브라우저 기반 애플리케이션을 격리시키는 것을 포함한다.
예시 31은 예시 21 내지 30 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 보안 모듈은 상기 클라우드 서비스 시스템으로 피드백을 전송한다.
예시 32는 예시 21 내지 31 중 어느 하나의 청구 대상을 포함하되, 상기 피드백은 상기 클라이언트 컴퓨팅 디바이스에 의해 수행된 상기 보안 액션을 나타낸다.
예시 33은 예시 21 내지 32 중 어느 하나의 청구 대상을 포함하되, 상기 클라이언트 컴퓨팅 디바이스 상에서 상기 브라우저 기반 애플리케이션의 로컬 보안 분석을 수행하는 로컬 코드 분석 모듈을 더 포함한다.
예시 34는 예시 21 내지 33 중 어느 하나의 청구 대상을 포함하되, 상기 로컬 보안 분석은 상기 브라우저 기반 애플리케이션을 바이러스 서명과 비교하는 것을 포함한다.
예시 35는 클라우드 서비스 시스템 상에서 브라우저 기반 애플리케이션에 대한 보안 권고를 생성하는 방법을 포함한다. 상기 방법은 상기 브라우저 기반 애플리케이션의 소스를 식별하는 애플리케이션 소스 데이터 및 상기 브라우저 기반 애플리케이션을 수신하는 단계와, 소스 인증 데이터 및 애플리케이션 검증 데이터를 취득하는 단계와, 상기 애플리케이션 소스 데이터 및 상기 소스 인증 데이터에 따라서 상기 브라우저 기반 애플리케이션의 소스를 인증하는 단계와, 상기 애플리케이션 검증 데이터에 따라서 상기 브라우저 기반 애플리케이션의 보안을 검증하는 단계와, 상기 소스를 인증하는 단계와 상기 브라우저 기반 애플리케이션을 검증하는 단계에 따라서 보안 권고를 생성하는 단계와, 상기 보안 권고를 클라이언트 컴퓨팅 디바이스로 전송하는 단계를 포함한다.
예시 36은 예시 35의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션을 수신하는 단계는 (i) 상기 브라우저 기반 애플리케이션의 위치를 식별하는 위치 데이터를 수신하는 단계와, (ii) 상기 식별된 위치에 위치된 웹 서버로부터 상기 브라우저 기반 애플리케이션을 다운로드하는 단계를 포함한다.
예시 37은 예시 35 및 36의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션의 위치를 식별하는 위치 데이터를 수신하는 단계는 상기 브라우저 기반 애플리케이션의 URL(a uniform resource locator)을 수신하는 단계를 포함한다.
예시 38은 예시 35 내지 37 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션에 관한 보안 권고를 생성하기 위해 상기 클라이언트 컴퓨팅 디바이스로부터 요청을 수신하는 단계를 더 포함한다.
예시 39는 예시 35 내지 38 중 어느 하나의 청구 대상을 포함하되, 상기 클라이언트 컴퓨팅 디바이스와는 다른 원격 위치로부터 상기 브라우저 기반 애플리케이션 및 상기 애플리케이션 소스 데이터를 수신하는 단계를 포함한다.
예시 40은 예시 35 내지 39 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고를 생성하는 단계는 상기 브라우저 기반 애플리케이션의 신뢰 레벨을 식별하는 단계를 포함한다.
예시 41은 예시 35 내지 40 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고에 응답하여 상기 클라이언트 컴퓨팅 디바이스로부터 피드백을 수신하는 단계를 더 포함한다.
예시 42는 예시 35 내지 41 중 어느 하나의 청구 대상을 포함하되, 상기 피드백을 수신하는 단계는 상기 클라이언트 컴퓨팅 디바이스에 의해 행해진 액션을 나타내는 피드백을 수신하는 단계를 포함한다.
예시 43은 예시 35 내지 42 중 어느 하나의 청구 대상을 포함하되, 상기 클라이언트 컴퓨팅 디바이스로부터 피드백을 수신하는 것에 응답하여 상기 클라우드 서비스 시스템의 로컬 데이터베이스를 업데이트하는 단계를 더 포함한다.
예시 44는 예시 35 내지 43 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 소스 데이터를 수신하는 단계는 상기 브라우저 기반 애플리케이션의 호스트를 식별하는 소스 데이터를 수신하는 단계를 포함한다.
예시 45는 예시 35 내지 44 중 어느 하나의 청구 대상을 포함하되, 기 소스 데이터를 수신하는 단계는 상기 브라우저 기반 애플리케이션이 사용가능한 인터넷 프로토콜 어드레스를 수신하는 단계를 포함한다.
예시 46은 예시 35 내지 45 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 데이터 및 상기 애플리케이션 검증 데이터를 취득하는 단계는 상기 클라우드 서비스 시스템의 로컬 데이터베이스로부터 상기 소스 인증 데이터 및 상기 애플리케이션 검증 데이터를 취득하는 단계를 포함한다.
예시 47은 예시 35 내지 46 중 어느 하나의 청구 대상을 포함하되, 상기 소스 인증 데이터 및 상기 애플리케이션 검증 데이터를 취득하는 단계는 상기 클라우드 서비스 시스템에 액세스가능한 클라우드 리소스로부터 상기 소스 인증 데이터 및 상기 애플리케이션 검증 데이터를 취득하는 단계를 포함한다.
예시 48은 예시 35 내지 47 중 어느 하나의 청구 대상을 포함하되, 상기 소스를 인증하는 단계는 상기 애플리케이션 소스 데이터를 상기 소스 인증 데이터와 비교하는 단계를 포함하고, 상기 소스 인증 데이터는 기지의 악성 브라우저 기반 애플리케이션 호스트의 리스트를 포함한다.
예시 49는 예시 35 내지 48 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션의 보안을 검증하는 단계는 상기 브라우저 기반 애플리케이션을 상기 브라우저 기반 애플리케이션의 신뢰할 수 있는 소스 코드와 비교하는 단계를 포함한다.
예시 50은 예시 35 내지 49 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션의 보안을 검증하는 단계는 상기 브라우저 기반 애플리케이션을 상기 애플리케이션 검증 데이터와 비교하는 단계를 포함하고, 상기 애플리케이션 검증 데이터는 기지의 멀웨어 서명을 포함한다.
예시 51은 예시 35 내지 50 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 데이터를 취득하는 단계는 상기 클라우드 서비스 시스템에 액세스가능한 클라우드 리소스로부터 상기 애플리케이션 검증 데이터를 취득하는 단계를 포함한다.
예시 52는 예시 35 내지 51 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 데이터를 취득하는 단계는 상기 클라우드 서비스 시스템의 로컬 데이터베이스로부터 상기 애플리케이션 검증 데이터를 취득하는 단계를 포함한다.
예시 53은 예시 35 내지 52 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고를 생성하는 단계는 상기 브라우저 기반 애플리케이션이 안전한지 여부를 나타내는 단계를 포함한다.
예시 54는 예시 35 내지 53 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고를 생성하는 단계에 응답하여 상기 클라우드 서비스 시스템의 로컬 데이터베이스를 업데이트하는 단계를 더 포함한다.
예시 55는 예시 35 내지 54 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션은 HTML 5 애플리케이션 또는 다른 웹 애플리케이션이다.
예시 56은 프로세서와, 내부에 저장된 복수의 명령어를 갖는 메모리를 포함하는 컴퓨팅 디바이스를 포함하되, 상기 복수의 명령어는 상기 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 청구항 제 35 항 내지 제 55항 중 어느 한 항의 방법을 수행하게 한다.
예시 57은 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독가능 저장 매체를 포함하되, 상기 복수의 명령어는 실행되는 것에 응답하여 컴퓨팅 디바이스가 청구항 제 35 항 내지 제 55 항 중 어느 한 항의 방법을 수행하게 한다.
예시 58은 브라우저 기반 애플리케이션의 보안을 검증하는 방법을 포함한다. 상기 방법은 클라이언트 컴퓨팅 디바이스를 사용하여, 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하는 단계와,상기 브라우저 기반 애플리케이션이 요청되었다는 결정에 응답하여, 상기 브라우저 기반 애플리케이션의 보안을 검증하기 위해 애플리케이션 검증 요청을 클라우드 서비스 시스템으로 전송하는 단계와, 상기 클라이언트 컴퓨팅 디바이스에 의해, 상기 애플리케이션 검증 요청을 전송하는 것에 응답하여 상기 클라우드 서비스 시스템으로부터 보안 권고를 수신하는 단계와, 상기 클라이언트 컴퓨팅 디바이스 상에서, 상기 클라우드 서비스 시스템으로부터 수신된 상기 보안 권고에 응답하여 보안 액션을 수행하는 단계를 포함한다.
예시 59는 예시 58의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션은 HTML 5 애플리케이션 또는 다른 웹 애플리케이션이다.
예시 60은 예시 58 및 59의 청구 대상을 포함하되, 상기 애플리케이션 보안 모듈이 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하는 단계는 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션으로의 하이퍼링크를 실행했는지 여부를 판정하는 단계를 포함한다.
예시 61은 예시 58 내지 60 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 요청을 전송하는 단계는 상기 클라우드 서비스 시스템으로 상기 브라우저 기반 애플리케이션의 소스 코드의 적어도 일부를 전송하는 단계를 포함한다.
예시 62는 예시 58 내지 61 중 어느 하나의 청구 대상을 포함하되, 상기 애플리케이션 검증 요청을 전송하는 단계는 상기 브라우저 기반 애플리케이션이 사용가능한 위치를 나타내는 위치 데이터를 전송하는 단계를 포함한다.
예시 63는 예시 58 내지 62 중 어느 하나의 청구 대상을 포함하되, 상기 위치 데이터를 전송하는 단계는 상기 브라우저 기반 애플리케이션의 URL(a uniform resource locator)을 전송하는 단계를 포함한다.
예시 64는 예시 58 내지 63 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션을 수행하는 단계는 상기 클라이언트 컴퓨팅 디바이스의 사용자에게 상기 보안 권고를 통지하는 단계를 포함한다.
예시 65는 예시 58 내지 64 중 어느 하나의 청구 대상을 포함하되, 상기 보안 권고를 수행하는 단계는 상기 클라이언트 컴퓨팅 디바이스로부터 상기 브라우저 기반 애플리케이션의 소스 코드를 삭제하는 단계를 포함한다.
예시 66은 예시 58 내지 65 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션을 수행하는 단계는 상기 클라이언트 컴퓨팅 디바이스의 메모리로의 상기 브라우저 기반 애플리케이션의 다운로드를 금지하는 단계를 포함한다.
예시 67은 예시 58 내지 66 중 어느 하나의 청구 대상을 포함하되, 상기 보안 액션을 수행하는 단계는 상기 클라이언트 컴퓨팅 디바이스의 메모리의 안전한 위치에 상기 브라우저 기반 애플리케이션을 격리시키는 단계를 포함한다.
예시 68은 예시 58 내지 67 중 어느 하나의 청구 대상을 포함하되, 피드백을 상기 클라우드 서비스 시스템으로 전송하는 단계를 더 포함한다.
예시 69는 예시 58 내지 68 중 어느 하나의 청구 대상을 포함하되, 상기 피드백을 상기 클라우드 서비스 시스템으로 전송하는 단계는 상기 클라이언트 컴퓨팅 디바이스에 의해 수행된 상기 보안 액션을 나타내는 피드백을 전송하는 단계를 포함한다.
예시 70은 예시 58 내지 69 중 어느 하나의 청구 대상을 포함하되, 상기 클라이언트 컴퓨팅 디바이스 상에서 상기 브라우저 기반 애플리케이션의 로컬 보안 분석을 수행하는 단계를 더 포함한다.
예시 71은 예시 58 내지 70 중 어느 하나의 청구 대상을 포함하되, 상기 브라우저 기반 애플리케이션의 로컬 보안 분석을 수행하는 단계는 상기 브라우저 기반 애플리케이션을 바이러스 서명과 비교하는 단계를 포함한다.
예시 72는 프로세서와, 내부에 저장된 복수의 명령어를 갖는 메모리를 포함하는 컴퓨팅 디바이스를 포함하되, 상기 복수의 명령어는 상기 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 청구항 제 58 항 내지 제 71항 중 어느 한 항의 방법을 수행하게 한다.
예시 73은 저장된 복수의 명령어를 포함하는 하나 이상의 머신 판독가능 저장 매체를 포함하되, 상기 복수의 명령어는 실행되는 것에 응답하여 컴퓨팅 디바이스가 청구항 제 58 항 내지 제 71 항 중 어느 한 항의 방법을 수행하게 한다.

Claims (73)

  1. 브라우저 기반 애플리케이션을 위한 보안 권고(a security recommendation)를 생성하는 클라우드 서버에 있어서,
    클라이언트 컴퓨팅 디바이스로부터 애플리케이션 검증 요청을 수신하는 통신 모듈과,
    (i) 상기 브라우저 기반 애플리케이션의 소스를 식별하는 애플리케이션 소스 데이터를 수신하고, (ii) 상기 클라우드 서버의 로컬 데이터베이스로부터 소스 인증 데이터를 취득하고 - 상기 로컬 데이터베이스는 브라우저 기반 애플리케이션 보안 정보를 나타내는, 하나 이상의 클라이언트 컴퓨팅 디바이스로부터의 이전 피드백을 포함하고 있음 - , (iii) 상기 애플리케이션 소스 데이터 및 상기 소스 인증 데이터에 따라서 상기 소스를 인증하는 소스 인증 모듈과,
    (i) 상기 로컬 데이터베이스로부터 애플리케이션 검증 데이터를 취득하고, (ii) 상기 애플리케이션 검증 데이터에 따라서 상기 브라우저 기반 애플리케이션을 검증하는 애플리케이션 검증 모듈과,
    상기 소스 인증 모듈의 인증, 상기 애플리케이션 검증 모듈의 검증 및 상기 이전 피드백에 따라서 보안 권고를 생성하는 권고 엔진을 포함하되,
    상기 통신 모듈은 또한 상기 보안 권고를 상기 클라이언트 컴퓨팅 디바이스로 전송하고,
    상기 권고 엔진은 또한 (i) 상기 보안 권고의 전송에 응답하여 상기 클라이언트 컴퓨팅 디바이스로부터 피드백을 수신하며, (ii) 상기 클라이언트 컴퓨팅 디바이스로부터 수신한 상기 피드백에 기초하여 상기 로컬 데이터베이스를 업데이트하고,
    상기 피드백은, 상기 클라이언트 컴퓨팅 디바이스가 상기 보안 권고를 수신한 것에 응답해서, 상기 클라이언트 컴퓨팅 디바이스에 의해 행해진 상기 브라우저 기반 애플리케이션의 로컬 보안 분석의 결과 및 상기 클라이언트 컴퓨팅 디바이스에 의해 행해진 보안 액션을 나타내는
    클라우드 서버.
  2. 제 1 항에 있어서,
    상기 소스 인증 모듈은 (i) 상기 브라우저 기반 애플리케이션의 위치를 식별하는 위치 데이터를 수신하고 (ii) 상기 식별된 위치에 위치된 웹 서버로부터 상기 브라우저 기반 애플리케이션을 다운로드하는
    클라우드 서버.
  3. 제 2 항에 있어서,
    상기 위치 데이터는 상기 브라우저 기반 애플리케이션의 URL(a uniform resource locator)을 포함하는
    클라우드 서버.
  4. 제 1 항에 있어서,
    상기 소스 인증 모듈은 상기 클라이언트 컴퓨팅 디바이스 이외의 원격 위치로부터 상기 애플리케이션 소스 데이터를 취득하고, 상기 애플리케이션 검증 모듈은 상기 원격 위치로부터 상기 브라우저 기반 애플리케이션을 취득하는
    클라우드 서버.
  5. 제 1 항에 있어서,
    상기 보안 권고는 상기 브라우저 기반 애플리케이션의 신뢰 레벨을 식별하는
    클라우드 서버.
  6. 제 1 항에 있어서,
    상기 애플리케이션 소스 데이터는, 상기 브라우저 기반 애플리케이션의 호스트 및 상기 브라우저 기반 애플리케이션을 입수 가능한 인터넷 프로토콜 어드레스 중 적어도 하나를 나타내는
    클라우드 서버.
  7. 제 1 항에 있어서,
    상기 소스 인증 모듈은, 상기 클라우드 서버의 로컬 데이터베이스 및 상기 클라우드 서버에 액세스 가능한 클라우드 리소스 중 적어도 하나로부터 상기 소스 인증 데이터를 취득하고,
    상기 애플리케이션 검증 모듈은 상기 로컬 데이터베이스 및 상기 클라우드 리소스 중 적어도 하나로부터 상기 애플리케이션 검증 데이터를 취득하는
    클라우드 서버.
  8. 제 1 항에 있어서,
    상기 소스 인증 모듈은 상기 애플리케이션 소스 데이터를 상기 소스 인증 데이터와 비교함으로써 상기 소스를 인증하고, 상기 소스 인증 데이터는 기지의(known) 악성 브라우저 기반 애플리케이션 호스트의 리스트를 포함하며,
    상기 애플리케이션 검증 모듈은 상기 브라우저 기반 애플리케이션을, 상기 브라우저 기반 애플리케이션의 신뢰할 수 있는 소스 코드 및 상기 애플리케이션 검증 데이터 중 적어도 하나와 비교함으로써, 상기 브라우저 기반 애플리케이션의 보안을 검증하고, 상기 애플리케이션 검증 데이터는 기지의 멀웨어 서명을 포함하는
    클라우드 서버.
  9. 제 1 항에 있어서,
    상기 권고 엔진은 상기 보안 권고에 기초해서 상기 클라우드 서버의 상기 로컬 데이터베이스를 업데이트하는
    클라우드 서버.
  10. 제 1 항에 있어서,
    상기 브라우저 기반 애플리케이션은 HTML5(a Hypertext Markup Language 5) 애플리케이션 또는 다른 웹 애플리케이션인
    클라우드 서버.
  11. 브라우저 기반 애플리케이션의 보안을 검증하는 클라이언트 컴퓨팅 디바이스에 있어서,
    (i) 상기 클라이언트 컴퓨팅 디바이스가 소스로부터 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하고 (ii) 상기 브라우저 기반 애플리케이션이 상기 소스로부터 요청되었다는 결정에 응답하여 애플리케이션 검증 요청을 상기 소스와는 다른 클라우드 서버로 전송해서 상기 브라우저 기반 애플리케이션의 보안을 검증하는 애플리케이션 보안 모듈과,
    상기 클라우드 서버로부터 보안 권고를 수신하는 통신 모듈 - 상기 보안 권고는, 브라우저 기반 애플리케이션 보안 정보를 나타내는, 하나 이상의 클라이언트 컴퓨팅 디바이스로부터의 이전 피드백에 기초함 - 과,
    상기 클라이언트 컴퓨팅 디바이스 상에서 상기 브라우저 기반 애플리케이션의 로컬 보안 분석을 수행하는 로컬 코드 분석 모듈
    을 포함하고,
    상기 애플리케이션 보안 모듈은 또한 상기 보안 권고가 상기 브라우저 기반 애플리케이션이 보안되어 있다고 나타내는 것에 응답하여 상기 소스로부터 상기 브라우저 기반 애플리케이션을 다운로드하며,
    상기 애플리케이션 보안 모듈은 또한 (i) 상기 로컬 보안 분석 혹은 상기 클라우드 서버의 상기 보안 권고가 상기 브라우저 기반 애플리케이션이 보안되지 않는다는 것을 나타내는 것에 응답하여, 상기 보안 권고 및 상기 로컬 보안 분석에 기초해서 보안 액션을 수행하고, (ii) 상기 로컬 보안 분석의 결과를 나타내는 피드백을 상기 클라우드 서버에 전송하는
    클라이언트 컴퓨팅 디바이스.
  12. 제 11 항에 있어서,
    상기 브라우저 기반 애플리케이션은 HTML5 애플리케이션 또는 다른 웹 애플리케이션인
    클라이언트 컴퓨팅 디바이스.
  13. 제 11 항에 있어서,
    상기 애플리케이션 보안 모듈이 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션을 요청했는지 여부를 판정하는 것은, 상기 클라이언트 컴퓨팅 디바이스가 상기 브라우저 기반 애플리케이션으로의 하이퍼링크를 실행했는지 여부를 판정하는 것을 포함하는
    클라이언트 컴퓨팅 디바이스.
  14. 제 11 항에 있어서,
    상기 애플리케이션 보안 모듈이 상기 애플리케이션 검증 요청을 전송하는 것은, (i) 상기 브라우저 기반 애플리케이션의 소스 코드의 적어도 일부 및 (ii) 상기 브라우저 기반 애플리케이션을 입수 가능한 위치를 나타내는 위치 데이터 중 적어도 하나를 전송하는 것을 포함하는
    클라이언트 컴퓨팅 디바이스.
  15. 제 14 항에 있어서,
    상기 위치 데이터는 상기 브라우저 기반 애플리케이션의 URL을 포함하는
    클라이언트 컴퓨팅 디바이스.
  16. 제 11 항에 있어서,
    상기 보안 액션은
    상기 클라이언트 컴퓨팅 디바이스의 사용자에게 상기 보안 권고를 통지하는 것과,
    상기 클라이언트 컴퓨팅 디바이스로부터 상기 브라우저 기반 애플리케이션의 소스 코드를 삭제하는 것과,
    상기 클라이언트 컴퓨팅 디바이스의 메모리로의 상기 브라우저 기반 애플리케이션의 다운로드를 금지하는 것과,
    상기 클라이언트 컴퓨팅 디바이스의 메모리의 안전한 위치에 상기 브라우저 기반 애플리케이션을 격리시키는 것
    중 적어도 하나를 포함하는
    클라이언트 컴퓨팅 디바이스.
  17. 제 11 항에 있어서,
    상기 애플리케이션 보안 모듈은 상기 클라우드 서버로 피드백을 전송하고,
    상기 피드백은, 상기 클라이언트 컴퓨팅 디바이스가 상기 보안 권고에 기초해서 수행한 상기 보안 액션을 나타내는
    클라이언트 컴퓨팅 디바이스.
  18. 제 11 항에 있어서,
    상기 로컬 보안 분석은 상기 브라우저 기반 애플리케이션을 바이러스 서명과 비교하는 것을 포함하는
    클라이언트 컴퓨팅 디바이스.
  19. 복수의 명령어가 저장된 하나 이상의 비일시적 머신 판독가능 저장 매체로서,
    상기 명령어는 실행될 때 컴퓨팅 디바이스로 하여금,
    브라우저 기반 애플리케이션의 소스를 식별하는 애플리케이션 소스 데이터 및 상기 브라우저 기반 애플리케이션을 수신하게 하고,
    상기 컴퓨팅 디바이스의 로컬 데이터베이스로부터 소스 인증 데이터 및 애플리케이션 검증 데이터를 취득하게 하며 - 상기 로컬 데이터베이스는 브라우저 기반 애플리케이션 보안 정보를 나타내는, 하나 이상의 클라이언트 컴퓨팅 디바이스로부터의 이전 피드백을 포함하고 있음 - ,
    상기 애플리케이션 소스 데이터 및 상기 소스 인증 데이터에 따라서 상기 소스를 인증하게 하고,
    상기 애플리케이션 검증 데이터에 따라서 상기 브라우저 기반 애플리케이션의 보안을 검증하게 하며,
    상기 소스의 인증, 상기 브라우저 기반 애플리케이션의 검증 및 상기 이전 피드백에 따라서 보안 권고를 생성하게 하고,
    상기 보안 권고를 원격 컴퓨팅 디바이스로 전송하게 하며,
    상기 보안 권고를 전송하는 것에 응답해서 상기 원격 컴퓨팅 디바이스로부터 피드백을 수신하게 하고 - 상기 피드백은, 상기 보안 권고를 수신한 것에 응답해서 상기 클라이언트 컴퓨팅 디바이스가 행한 상기 브라우저 기반 애플리케이션의 로컬 보안 분석의 결과 및 상기 원격 컴퓨팅 디바이스가 취한 보안 액션을 나타냄 - ,
    상기 원격 컴퓨팅 디바이스로부터 수신한 상기 피드백에 기초하여 상기 로컬 데이터베이스를 업데이트하게 하는
    비일시적 머신 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 명령어는 상기 컴퓨팅 디바이스로 하여금 또한,
    상기 브라우저 기반 애플리케이션의 신뢰 레벨에 관한 보안 권고를 생성하는 요청을, 상기 원격 컴퓨팅 디바이스로부터 수신하게 하는
    비일시적 머신 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    상기 소스를 인증하게 하는 것은, 상기 애플리케이션 소스 데이터를 상기 소스 인증 데이터와 비교하게 하는 것을 포함하고 - 상기 소스 인증 데이터는 기지의 악성 브라우저 기반 애플리케이션 호스트의 리스트를 포함함 - ,
    상기 브라우저 기반 애플리케이션의 보안을 검증하게 하는 것은, 상기 브라우저 기반 애플리케이션을, 상기 브라우저 기반 애플리케이션의 신뢰할 수 있는 소스 코드 및 상기 애플리케이션 검증 데이터와 비교하게 하는 것을 포함하는 - 상기 애플리케이션 검증 데이터는 기지의 멀웨어 서명을 포함함 -
    비일시적 머신 판독가능 저장 매체.
  22. 제 19 항에 있어서,
    상기 브라우저 기반 애플리케이션은 HTML 5 애플리케이션 또는 다른 웹 애플리케이션인
    비일시적 머신 판독가능 저장 매체.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
KR1020157005358A 2012-09-28 2013-09-27 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스 KR101723937B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,283 2012-09-28
US13/631,283 US9430640B2 (en) 2012-09-28 2012-09-28 Cloud-assisted method and service for application security verification
PCT/US2013/062407 WO2014052892A1 (en) 2012-09-28 2013-09-27 Cloud-assisted method and service for application security verification

Publications (2)

Publication Number Publication Date
KR20150040325A KR20150040325A (ko) 2015-04-14
KR101723937B1 true KR101723937B1 (ko) 2017-04-06

Family

ID=50386611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157005358A KR101723937B1 (ko) 2012-09-28 2013-09-27 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스

Country Status (6)

Country Link
US (1) US9430640B2 (ko)
EP (1) EP2901615A4 (ko)
JP (1) JP6061364B2 (ko)
KR (1) KR101723937B1 (ko)
CN (1) CN104584480B (ko)
WO (1) WO2014052892A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430640B2 (en) 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
US9436838B2 (en) * 2012-12-20 2016-09-06 Intel Corporation Secure local web application data manager
US9852290B1 (en) * 2013-07-12 2017-12-26 The Boeing Company Systems and methods of analyzing a software component
US9692789B2 (en) 2013-12-13 2017-06-27 Oracle International Corporation Techniques for cloud security monitoring and threat intelligence
US10063654B2 (en) 2013-12-13 2018-08-28 Oracle International Corporation Systems and methods for contextual and cross application threat detection and prediction in cloud applications
US9665718B2 (en) 2014-03-14 2017-05-30 International Business Machines Corporation Correlating a task with commands to perform a change ticket in an IT system
CN104378345B (zh) * 2014-06-24 2016-04-13 腾讯科技(深圳)有限公司 移动客户端url的安全检测方法及系统
US9356969B2 (en) 2014-09-23 2016-05-31 Intel Corporation Technologies for multi-factor security analysis and runtime control
US9715597B2 (en) * 2014-09-25 2017-07-25 Mcafee, Inc. Data verification using enclave attestation
WO2016121348A1 (ja) * 2015-01-29 2016-08-04 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラムが格納された記録媒体
US9727737B1 (en) * 2015-07-27 2017-08-08 Amazon Technologies, Inc. Trustworthy indication of software integrity
US9667657B2 (en) * 2015-08-04 2017-05-30 AO Kaspersky Lab System and method of utilizing a dedicated computer security service
WO2017053768A1 (en) * 2015-09-24 2017-03-30 Saudi Arabian Oil Company Providing secure data transfer between networks
CN107113316A (zh) * 2015-11-03 2017-08-29 国民技术股份有限公司 一种app认证的系统和方法
US10536478B2 (en) 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
KR101875863B1 (ko) * 2016-09-08 2018-07-06 주식회사 유플렉스소프트 암호화된 해시값에 기반하여 클라우드 접속 허가를 결정하는 클라우드 시스템, 및 클라우드 접속 방법과 클라우드 단말에 설치된 소켓 데몬 장치
US9753834B1 (en) * 2016-12-19 2017-09-05 General Electric Company Certification process for cloud platform
US20180191718A1 (en) * 2016-12-29 2018-07-05 Ingram Micro Inc. Technologies for securely extending cloud service apis in a cloud service marketplace
US10333918B2 (en) * 2017-02-22 2019-06-25 Accenture Global Solutions Limited Automated system identification, authentication, and provisioning
JP7081210B2 (ja) * 2018-02-28 2022-06-07 ブラザー工業株式会社 アプリケーションプログラム
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application
US10628244B1 (en) * 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
CN111767489B (zh) * 2020-06-29 2024-04-19 百度在线网络技术(北京)有限公司 网页运行的加速方法、装置、设备以及存储介质
CN111859378B (zh) * 2020-07-31 2022-11-18 中国工商银行股份有限公司 保护数据模型的处理方法和装置
WO2022191746A1 (en) * 2021-03-11 2022-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Adapting a communication device in a network node
US11818148B1 (en) * 2022-05-15 2023-11-14 Uab 360 It Optimized analysis for detecting harmful content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198054A (ja) * 2009-02-23 2010-09-09 National Institute Of Information & Communication Technology コンピュータ検査システム、コンピュータ検査方法
WO2012036893A2 (en) * 2010-09-13 2012-03-22 Microsoft Corporation Reputation checking obtained files
US20120117650A1 (en) * 2010-11-10 2012-05-10 Symantec Corporation Ip-based blocking of malware
US20120210431A1 (en) 2011-02-11 2012-08-16 F-Secure Corporation Detecting a trojan horse

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467211B1 (en) 1999-10-18 2008-12-16 Cisco Technology Inc. Remote computer system management through an FTP internet connection
US20030177248A1 (en) 2001-09-05 2003-09-18 International Business Machines Corporation Apparatus and method for providing access rights information on computer accessible content
US8615800B2 (en) 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US20080104699A1 (en) 2006-09-28 2008-05-01 Microsoft Corporation Secure service computation
US8930555B2 (en) * 2007-03-08 2015-01-06 Microsoft Corporation Extending functionality of web-based applications
US20090070873A1 (en) 2007-09-11 2009-03-12 Yahoo! Inc. Safe web based interactions
US8806618B2 (en) 2008-03-31 2014-08-12 Microsoft Corporation Security by construction for distributed applications
EP2144420B1 (en) 2008-07-07 2011-06-22 Barracuda Networks AG Web application security filtering
US8763071B2 (en) * 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8141158B2 (en) 2008-12-31 2012-03-20 International Business Machines Corporation Measuring coverage of application inputs for advanced web application security testing
US8272065B2 (en) 2009-03-11 2012-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Secure client-side aggregation of web applications
US8392973B2 (en) 2009-05-28 2013-03-05 International Business Machines Corporation Autonomous intelligent user identity manager with context recognition capabilities
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
EP2402860B1 (en) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Data processing apparatus
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US9317680B2 (en) * 2010-10-20 2016-04-19 Mcafee, Inc. Method and system for protecting against unknown malicious activities by determining a reputation of a link
CN102469146B (zh) 2010-11-19 2015-11-25 北京奇虎科技有限公司 一种云安全下载方法
US20120192280A1 (en) 2011-01-20 2012-07-26 Board Of Trustees Of The University Of Illinois Apparatus for enhancing web application security and method therefor
KR101295709B1 (ko) * 2011-08-24 2013-09-16 주식회사 팬택 백그라운드 프로세스에 대한 보안 정보 제공 장치 및 방법
US8181254B1 (en) 2011-10-28 2012-05-15 Google Inc. Setting default security features for use with web applications and extensions
US9053042B2 (en) 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
US9213827B2 (en) 2012-09-27 2015-12-15 Intel Corporation Security data aggregation and business intelligence for web applications
US8856864B2 (en) 2012-09-27 2014-10-07 Intel Corporation Detecting, enforcing and controlling access privileges based on sandbox usage
US9245144B2 (en) 2012-09-27 2016-01-26 Intel Corporation Secure data container for web applications
US9430640B2 (en) 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
US9092617B2 (en) 2012-11-08 2015-07-28 Intel Corporation Protecting systems from unauthorized access to system resources using browser independent web page technology
US9436838B2 (en) 2012-12-20 2016-09-06 Intel Corporation Secure local web application data manager
US8918837B2 (en) 2012-12-28 2014-12-23 Intel Corporation Web application container for client-level runtime control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198054A (ja) * 2009-02-23 2010-09-09 National Institute Of Information & Communication Technology コンピュータ検査システム、コンピュータ検査方法
WO2012036893A2 (en) * 2010-09-13 2012-03-22 Microsoft Corporation Reputation checking obtained files
US20120117650A1 (en) * 2010-11-10 2012-05-10 Symantec Corporation Ip-based blocking of malware
US20120210431A1 (en) 2011-02-11 2012-08-16 F-Secure Corporation Detecting a trojan horse

Also Published As

Publication number Publication date
CN104584480A (zh) 2015-04-29
EP2901615A4 (en) 2016-06-22
EP2901615A1 (en) 2015-08-05
KR20150040325A (ko) 2015-04-14
US20140096241A1 (en) 2014-04-03
CN104584480B (zh) 2018-10-26
US9430640B2 (en) 2016-08-30
JP2015527685A (ja) 2015-09-17
JP6061364B2 (ja) 2017-01-18
WO2014052892A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
KR101723937B1 (ko) 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스
US8321949B1 (en) Managing software run in a computing system
JP5830102B2 (ja) 取得ファイルの評判チェック
KR102087478B1 (ko) 클라이언트를 다운로드 및 인스톨하는 방법 및 장치
US9971908B2 (en) Method and apparatus for determining permission of application program
JP5644770B2 (ja) アクセス制御システム、サーバ、およびアクセス制御方法
US8914864B1 (en) Temporary virtual identities in a social networking system
JP2015530673A (ja) アプリケーションが悪意のあるものであるかどうかを識別するための方法、処理システム、およびコンピュータ・プログラム
CN107040518B (zh) 一种私有云服务器登录方法及系统
CN112703496B (zh) 关于恶意浏览器插件对应用用户的基于内容策略的通知
CN107835228B (zh) 一种基于动态广义路由的指令处理方法及装置
CN110708335A (zh) 访问认证方法、装置及终端设备
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
CN111737687A (zh) 网页应用系统的访问控制方法、系统、电子设备和介质
CN106709281B (zh) 补丁发放和获取方法、装置
RU2638779C1 (ru) Способ и сервер для вьполнения авторизации приложения на электронном устройстве
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
Angelogianni et al. How many FIDO protocols are needed? Surveying the design, security and market perspectives
EP2793160A1 (en) Method and device for verification of an application
KR20160109241A (ko) 리소스의 안전성 검증 장치와 서버 및 검증방법
CN107770143B (zh) 一种验证客户端合法性的方法和装置
CN109714371B (zh) 一种工控网络安全检测系统
CN112333134A (zh) 密码安全的动态第三方资源
CN110177096A (zh) 客户端认证方法、装置、介质和计算设备
CN113783824B (zh) 防止跨站请求伪造的方法、装置、客户端、系统及介质

Legal Events

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

Payment date: 20200227

Year of fee payment: 4