KR20160058673A - 웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치 - Google Patents

웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치 Download PDF

Info

Publication number
KR20160058673A
KR20160058673A KR1020150142302A KR20150142302A KR20160058673A KR 20160058673 A KR20160058673 A KR 20160058673A KR 1020150142302 A KR1020150142302 A KR 1020150142302A KR 20150142302 A KR20150142302 A KR 20150142302A KR 20160058673 A KR20160058673 A KR 20160058673A
Authority
KR
South Korea
Prior art keywords
widget
data
invariant
invariant condition
html
Prior art date
Application number
KR1020150142302A
Other languages
English (en)
Inventor
예브게니 베스크로브니
마야 마이몬
야콥 호흐
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/527,159 priority Critical patent/US10542040B2/en
Priority to EP15195053.2A priority patent/EP3021252B1/en
Priority to PCT/KR2015/012352 priority patent/WO2016080735A1/en
Publication of KR20160058673A publication Critical patent/KR20160058673A/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • G06F17/2247
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • 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/2107File encryption
    • 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/2113Multi-level security, e.g. mandatory access control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

본 개시는 4G 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 통신 시스템을 IoT 기술과 융합하는 통신 기법 및 그 시스템에 관한 것이다. 본 개시는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스 (예를 들어, 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 적용될 수 있다.
본 발명은 무선통신 시스템에서 웹 서버가 장치에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 방법에 있어서, 상기 웹 서버에서 상기 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 적어도 하나의 불변 조건을 결정하고, 상기 적어도 하나의 불변 조건의 데이터를 포함하는 메타데이터 파일을 생성하고, 상기 위젯과 상기 메타데이터 파일을 연관짓고, 상기 위젯에 상기 연관된 메타데이터 파일을 포함시켜 상기 장치에 제공한다.

Description

웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치 {METHOD AND APPARATUS FOR PREVENTING INJECTION-TYPE ATTACKS IN A WEB BASED OPERATING SYSTEM}
본 발명은 웹 기반 운영 체제를 갖는 장치에서 위젯의 실행 콘텍스트 내에 주입되는 악성 코드의 실행을 검출하는 방법 및 장치 관한 것이다.
4G (4th-Generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G (5th-Generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파 (mmWave) 대역 (예를 들어, 60기가 (60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로 손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍 (beamforming), 거대 배열 다중 입출력 (massive multi-input multi-output: massive MIMO), 전차원 다중입출력 (Full Dimensional MIMO: FD-MIMO), 어레이 안테나 (array antenna), 아날로그 빔형성 (analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조 (Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC (Filter Bank Multi Carrier), NOMA (non orthogonal multiple access), 및 SCMA (sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 사물인터넷 (Internet of Things, IoT) 망으로 진화하고 있다. IoE (Internet of Everything) 기술은 클라우드 서버 등과의 연결을 통한 빅 데이터 (Big data) 처리 기술 등이 IoT 기술에 결합된 하나의 예가 될 수 있다.
IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술 등과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크 (sensor network), 사물 통신 (Machine to Machine, M2M), MTC (Machine Type Communication) 등의 기술이 연구되고 있다.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT (Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT 기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크, 사물 통신, MTC 등의 기술이 5G 통신 기술이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅 데이터 처리 기술로써 클라우드 무선 액세스 네트워크가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
한편, 웹 기반 운영 체제 (operation system: OS)는 오늘날 더욱 더 인기가 높아지는 새로운 기술이다. 눈에 띄는 예는 스마트폰 및 스마트 TV (television)와 같은 소비자 장치들을 대상으로 하여 삼성 전자와 인텔사가 공동 개발한 타이젠 OS이다.
웹 기반 운영 체제는 웹 브라우저를 중심으로 구축되는 실행 환경을 형성한다. 이 기술은 주로 HTML (hypertext markup language)/자바 스크립트로 작성된 위젯 (widget)들의 장치 내에서의 실행을 허용하고, 상기 위젯들은 웹 브라우저의 런타임 (runtime) 엔진에 의해 렌더링 (rendering)된다.
위젯은 웹 기반 OS 내에서 실행하는 가장 일반적인 소프트웨어 코드이다. 웹 기반 OS는 일반적으로 스마트폰, 태블릿 등과 같은 모바일 장치 및 스마트 TV의 작동을 위해 설계되기 때문에, 다양한 위젯들이 특정 장치의 제조업체가 소유하고 있는 앱스토어로부터 관련 장치 내에 공급된다. 예를 들어, 삼성 스마트 TV용 위젯들은 삼성 소유 앱스토어에 의해 공급된다.
어떠한 새로운 플랫폼과 마찬가지로, 웹 기반 OS들은 자신의 고유한 보안 문제 및 약점들을 가지고 있으며, 이들의 대부분은 웹 OS 아키텍처에 대해 고유하다. 가장 눈에 띄는 보안 약점은 적절한 액세스 제어의 부족, 독특하고 시행할 수 있는 사용자 권한의 부족 및 프리젠테이션 계층과 비지니스 로직 간의 명확한 분리의 부족 등에서 비롯된다.
XSS (cross site scripting) 주입 및 HTML 주입과 같은 주입형 취약점들은 웹 기반 어플리케이션들에 영향을 미치는 가장 중요한 취약점들이다. 이러한 취약점들로 인해 취약한 어플리케이션(즉, 위젯)은 실행 콘텍스트에서 악성 코드의 실행을 허용한다. 보안 약점의 전술된 유형은 소비자 장치 내에서의 완벽한 보안 손상 및 광범위한 시스템 악용을 잠재적으로 초래할 수 있는 주입, 임의의 위젯에 대한 악성 주입의 심각성을 증폭시킨다.
주입 공격들에 대한 대책은 대학과 산업체 모두에 의해 연구되고 있다. 주입 공격들을 대비하여 보호하기 위한 두 가지 주요 방법이 있다:
- 입력 검증 강화: 부적절한 입력 검증은 주입 취약점들에 대한 근본 원인들 중 하나이다. 검증 강화는 일반적으로 모든 사용자 입력들에 대해 메타데이터를 할당하거나, 구체적으로 신뢰할 수 있는 입력 소스 및 신뢰할 수 없는 입력 소스에 대해 상이한 인코딩을 할당함으로써 수행될 수 있다. 그러나 앞서 설명한 두 방법은 위젯 저자로부터의 중요한 수동 코딩이 필요하고, 표준 입력 검증들에 영향을 미치는 동일한 문제들에 취약하다.
- 스크립트들을 실행할 수 있는 범위 제한: 이것은 HTML에 포함된 정책의 사용에 의해, 그리고 각각의 페이지에서 실행할 수 있는 이들 스크립트를 지정함으로써 수행될 수 있다. 대안적으로, 콘텍스트 기반 정책은 신뢰할 수 있는 입력들만 액세스 보안 민감 리소스들에 허용되는, 각각의 스크립트 실행에 각각 적용될 수 있다.
기존의 솔루션들은 특정 취약점들을 대상으로 하고, 위젯 또는 웹 어플리케이션에서 사용되는 기존의 어플리케이션 또는 구성 요소들에서의 광범위한 수동 변경을 필요로 한다. 이들 중 어느 것도 웹 기반 운영 체제들에서 발생하는 이러한 새로운 위협들을 대상으로 하지 않는다. 알려진 솔루션들 중 어느 것도 일반적인 HTML 악성 주입을 처리할 수 없다.
상기 종래 기술들의 일부는 웹 기반 OS의 콘텍스트, 예를 들어 입력 채널들에 대해 할당하는 메타데이터에 적용할 수 있지만, 이들 기술 중 어떤 것도 웹 기반 OS 환경을 위해 특별히 설계되지 않았기 때문에, 더 나은 보안을 달성하기 위해 활용될 수 있는 웹 런타임과 앱스토어 간의 단단한 결합과 같은 고유 특성들을 이용할 수 없다.
보안 약점의 특정 유형에 상관없이, 사용자는 위젯의 저자에 의해 의도된 것과 동일한 방식으로 상기 위젯이 동작할 것이라 예상한다. 위젯의 사용자 인터페이스(user interface: UI) 및 런타임 동작을 수정할 수 있는 많은 상이한 유형 및 하위 유형의 취약점들이 존재하기 때문에, 다양한 특정 위협들의 완화에 초점을 맞추기 보다는 그 전체의 취약점 문제를 해결하는 것이 유리하다.
또한, 상기 기존의 솔루션들은 규칙적인 웹 어플리케이션들에 관한 것으로 웹 기반 실행 환경에 적합하지 않기 때문에, 특정 아키텍처를 고려하면서, 웹 기반 운영 체제들에 따라 달라지는 이러한 위협들을 해결할 필요가 있다.
한편, 상기와 같은 데이터는 본 발명의 이해를 돕기 위한 백그라운드(background) 데이터로서만 제시될 뿐이다. 상기 내용 중 어느 것이라도 본 발명에 관한 종래 기술로서 적용 가능할지 여부에 관해, 어떤 결정도 이루어지지 않았고, 또한 어떤 주장도 이루어지지 않는다.
본 발명의 일 실시예는 웹 기반 운영 체제 환경에서 주입형 취약점들의 악용을 검출하고 방지하기 위한 방법 및 장치를 제공한다.
또한 본 발명의 일 실시예는 웹 기반 운영 체제의 환경 및 콘텍스트에서 주입형 취약점들의 악용을 검출하고 방지하기 위한 방법 및 장치를 제공한다.
또한 본 발명의 일 실시예는 웹 기반 운영 체제의 환경 및 콘텍스트에서 간단하고 컴팩트한 방식으로 주입형 취약점들의 악용을 검출하고 방지하기 위한 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 방법은, 무선통신 시스템에서 웹 서버가 장치에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 방법에 있어서, 상기 웹 서버에서 상기 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 적어도 하나의 불변 조건을 결정하는 과정과, 상기 적어도 하나의 불변 조건의 데이터를 포함하는 메타데이터 파일을 생성하는 과정과, 상기 위젯과 상기 메타데이터 파일을 연관짓고, 상기 위젯에 상기 연관된 메타데이터 파일을 포함시켜 상기 장치에 제공하는 과정을 포함한다.
본 발명의 다른 실시예에 따른 방법은, 무선통신 시스템에서 장치가 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 방법에 있어서, 웹 서버로부터 메타데이터가 포함된 상기 위젯을 수신하여 실행하고, 상기 실행된 위젯을 분석하는 과정과, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 제1 불변 조건을 결정하는 과정과, 상기 제1 불변 조건의 데이터를 상기 메타데이터에 포함된 제2 불변 조건의 데이터와 비교하는 과정과, 상기 제1 불변 조건 데이터와 상기 제2 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 경보를 발령하는 과정을 포함한다.
본 발명의 일 실시예에 따른 장치는, 무선통신 시스템에서 장치에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 웹 서버에 있어서, 상기 웹 서버에서 상기 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 적어도 하나의 불변 조건을 결정하고, 상기 적어도 하나의 불변 조건의 데이터를 포함하는 메타데이터 파일을 생성하고, 상기 위젯과 상기 메타데이터 파일을 연관짓는 제어부와, 상기 위젯에 상기 연관된 메타데이터 파일을 포함시켜 상기 장치에 제공하는 송신부를 포함한다.
본 발명의 다른 실시예에 따른 장치는, 무선통신 시스템에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 장치에 있어서, 웹 서버로부터 메타데이터가 포함된 상기 위젯을 수신하여 실행하고, 상기 실행된 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 제1 불변 조건을 결정하고, 상기 제1 불변 조건의 데이터를 상기 메타데이터에 포함된 제2 불변 조건의 데이터와 비교하는 제어부와, 상기 제1 불변 조건 데이터와 상기 제2 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 경보를 발령하는 송신부를 포함한다.
본 발명의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 발명의 바람직한 실시예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 “포함하다(include)” 및 “포함하다(comprise)”과 그 파생어들은 한정없는 포함을 의미하며; 상기 용어 “혹은(or)”은 포괄적이고 '및/또는'을 의미하고; 상기 구문들 “~와 연관되는(associated with)” 및 ““~와 연관되는(associated therewith)”과 그 파생어들은 포함하고(include), ~내에 포함되고(be included within), ~와 서로 연결되고(interconnect with), 포함하고(contain), ~내에 포함되고(be contained within), ~에 연결하거나 혹은 ~와 연결하고(connect to or with), ~에 연결하거나 혹은 ~와 연결하고(couple to or with), ~와 통신 가능하고(be communicable with), ~와 협조하고(cooperate with), 인터리빙하고(interleave), 병치하고(juxtapose), ~로 가장 근접하고(be proximate to), ~로 ~할 가능성이 크거나 혹은 ~와 ~할 가능성이 크고(be bound to or with), 가지고(have), 소유하고(have a property of) 등과 같은 것을 의미하고; 상기 용어 “제어기”는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템, 혹은 그 부분을 의미하고, 상기와 같은 디바이스는 하드웨어, 펌웨어 혹은 소프트웨어, 혹은 상기 하드웨어, 펌웨어 혹은 소프트웨어 중 적어도 2개의 몇몇 조합에서 구현될 수 있다. 어떤 특정 제어기와 연관되는 기능성이라도 집중화되거나 혹은 분산될 수 있으며, 국부적이거나 원격적일 수도 있다는 것에 주의해야만 할 것이다. 특정 단어들 및 구문들에 대한 정의들은 이 특허 문서에 걸쳐 제공되고, 해당 기술 분야의 당업자는 많은 경우, 대부분의 경우가 아니라고 해도, 상기와 같은 정의들이 종래 뿐만 아니라 상기와 같이 정의된 단어들 및 구문들의 미래의 사용들에도 적용된다는 것을 이해해야만 할 것이다.
본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다:
도 1은 무선 통신 시스템에서 장치 내에서 위젯을 실행하는 예를 나타낸 도면,
도 2는 본 발명의 일 실시예에 따른 무선 통신 시스템에서 앱스토어가 장치에 위젯을 제공하는 동작을 나타낸 순서도,
도 3은 본 발명의 일 실시예에 따른 무선 통신 시스템에서 장치가 위젯의 실행 콘텍스트로의 악성 코드 주입을 검출하는 예를 나타낸 도면,
도 4는 본 발명의 다른 실시예에 따른 무선 통신 시스템에서 앱스토어가 장치에 위젯을 제공하는 동작을 나타낸 순서도,
도 5는 본 발명의 다른 실시예에 따른 무선 통신 시스템에서 장치의 모니터링 모듈이 앱스토어로부터 제공되는 위젯을 수신하는 동작을 나타낸 순서도,
도 6은 본 발명의 일 실시예에 따른 무선 통신 시스템에서 장치가 어플리케이션의 실행 콘텍스트로의 악성 코드 주입을 검출하는 동작을 나타낸 순서도,
도 7은 위젯의 불변 조건들 중 하나인 호출 그래프의 속성의 예를 나타낸 도면,
도 8은 메타데이터에 포함되는 불변 조건 데이터와 장치에서 실행된 위젯의 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 발령되는 경보 메시지의 예를 나타낸 도면.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
이하, 본 발명의 실시 예들을 첨부한 도면들을 참조하여 상세히 설명한다. 그리고, 하기에서는 본 발명의 실시예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외의 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. 그리고 후술되는 용어들은 본 발명의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(component surface)”은 하나 혹은 그 이상의 컴포넌트 표현들을 포함한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함할 수 있다. 일 예로, 전자 디바이스는 스마트 폰(smart phone)과, 태블릿(tablet) 개인용 컴퓨터(personal computer: PC)와, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP)와, 엠피3 플레이어(mp3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 가지는 스마트 가정용 기기(smart home appliance)가 될 수 있다. 일 예로, 상기 스마트 가정용 기기는 텔레비젼과, 디지털 비디오 디스크(digital video disk: DVD) 플레이어와, 오디오와, 냉장고와, 에어 컨디셔너와, 진공 청소기와, 오븐과, 마이크로웨이브 오븐과, 워셔와, 드라이어와, 공기 청정기와, 셋-탑 박스(set-top box)와, TV 박스 (일 예로, Samsung HomeSyncTM, Apple TVTM, 혹은 Google TVTM)와, 게임 콘솔(gaming console)과, 전자 사전과, 캠코더와, 전자 사진 프레임 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 의료 기기(일 예로, 자기 공명 혈관 조영술(magnetic resonance angiography: MRA) 디바이스와, 자기 공명 화상법(magnetic resonance imaging: MRI)과, 컴퓨터 단층 촬영(computed tomography: CT) 디바이스와, 촬상 디바이스, 혹은 초음파 디바이스)와, 네비게이션(navigation) 디바이스와, 전세계 위치 시스템(global positioning system: GPS) 수신기와, 사고 기록 장치(event data recorder: EDR)와, 비행 기록 장치(flight data recorder: FDR)와, 자동차 인포테인먼트 디바이스(automotive infotainment device)와, 항해 전자 디바이스(일 예로, 항해 네비게이션 디바이스, 자이로스코프(gyroscope), 혹은 나침반)와, 항공 전자 디바이스와, 보안 디바이스와, 산업용 혹은 소비자용 로봇(robot) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함하는, 가구와, 빌딩/구조의 일부와, 전자 보드와, 전자 서명 수신 디바이스와, 프로젝터와, 다양한 측정 디바이스들(일 예로, 물과, 전기와, 가스 혹은 전자기 파 측정 디바이스들) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 상기에서 설명한 바와 같은 디바이스들의 조합이 될 수 있다. 또한, 본 발명의 바람직한 실시예들에 따른 전자 디바이스는 상기에서 설명한 바와 같은 디바이스에 한정되는 것이 아니라는 것은 당업자에게 자명할 것이다.
한편, 본 발명의 일 실시예에서 제안하는 방법 및 장치는 IEEE 802.11 통신 시스템과, IEEE 802.16 통신 시스템과, 디지털 멀티미디어 방송(digital multimedia broadcasting: DMB) 서비스와, 휴대용 디지털 비디오 방송(digital video broadcasting-handheld: DVP-H), 및 모바일/휴대용 진화된 텔레비젼 시스템 협회(advanced television systems committee-mobile/handheld: ATSC-M/H) 서비스 등과 같은 모바일 방송 서비스와, 인터넷 프로토콜 텔레비젼(internet protocol television: IPTV) 서비스와 같은 디지털 비디오 방송 시스템과, 엠펙 미디어 트랜스포트(MPEG(moving picture experts group) media transport: MMT) 시스템과, 진화된 패킷 시스템(evolved packet system: EPS)과, LTE 통신 시스템과, LTE-A(LTE-advanced) 통신 시스템과, 고속 하향 링크 패킷 접속(high speed downlink packet access: HSDPA) 이동 통신 시스템과, 고속 상향 링크 패킷 접속(high speed uplink packet access: HSUPA) 이동 통신 시스템과, 3세대 프로젝트 파트너쉽 2(3rd generation project partnership 2: 3GPP2)의 고속 레이트 패킷 데이터(high rate packet data: HRPD) 이동 통신 시스템과, 3GPP2의 광대역 부호 분할 다중 접속(wideband code division multiple access: WCDMA) 이동 통신 시스템과, 3GPP2의 부호 분할 다중 접속(code division multiple access: CDMA) 이동 통신 시스템과, 모바일 인터넷 프로토콜(mobile internet protocol: Mobile IP) 시스템 등과 같은 다양한 통신 시스템들에 적용 가능함은 물론이다.
도 1은 무선 통신 시스템에서 장치 내에서 위젯을 실행하는 예를 나타낸 도면이다.
웹 기반 OS(70)는 모바일 장치, 스마트 TV 및 유사한 장치에서 사용하기 위한 브라우저와 같은 운영 체제이다. 상기 웹 기반 OS(70)는 장치(10)의 운영 체제로서 사용될 때, 장치(10) 내에서 위젯들(12a 내지 12f)의 실행을 개시하는 유일한 메커니즘이 된다. 또한, 웹 기반 OS(70)는 일반적으로 OS에 대한 업데이트 및 수정을 적용하는 유일한 소스인 장치 제조업체의 앱스토어 엔티티(20)에 의해 공급된다. 용어 앱스토어는 원래 애플사에 의해 개발되어 유지되는 iOS 상의 모바일 어플리케이션용 디지털 유통 플랫폼과 연관이 있었다. 나중에, 모바일 장치들의 많은 다른 제조업체 및 유통업체들이 이러한 유형의 플랫폼을 채택했을 때 용어의 의미가 확장되어 이제는 각각의 장치의 제조업체에 의해 유지되는, 어플리케이션 (또는 위젯) 유통 및 업데이트 플랫폼을 언급한다. 본 발명은 상기 확장된 의미로 용어 앱스토어를 언급한다.
모든 경우에서, 많은 소스들로부터 유통을 위한 어플리케이션 및 위젯들을 수신하지만, 그 자체의 특성 상 앱스토어(20)는 장치(10)에 공급되는 어플리케이션 및 위젯들의 인증, 신뢰성, 및 보안을 보장하는 과제를 갖는 신뢰할 수 있는 엔티티로서 간주된다. 대체로 장치(10)의 사용자는 일반적으로 장치(10)의 제조업체가 소유하고 운영하는 하나의 앱스토어(20)를 사용한다. 또한 언급된 바와 같이, 장치 제조업체의 앱스토어(20)는 또한 장치를 작동하기 위해 사용될 때 웹 기반 OS(70)의 공급자이다. 이들 사실은 본 발명의 보안 시스템에 의해 이용된다.
후술할 본 발명의 실시예에서는 웹 기반 OS 내에서 실행하는 위젯의 콘텍스트 내에 악성 코드 주입 및/또는 악성 코드의 실행을 검출하여 이를 방지하는 방안에 대해 설명하도록 한다. 또한 본 발명의 실시예는 이를 통해 웹 기반 OS를 갖는 장치들을 악성 코드들로부터 보호한다.
본 발명에 의한 솔루션은 위젯이 적절하게 실행될 때 위젯의 전체 실행에 걸쳐서 일정하게 유지되고 보존되는 특정 불변 조건들이 존재한다는 관찰을 기반으로 한다.
도 2는 본 발명의 일 실시예에 따른 무선 통신 시스템에서 앱스토어가 장치에 위젯을 제공하는 동작을 나타낸 순서도이다.
단계 70에서, 앱스토어는 위젯의 저자로부터 위젯을 수신한다. 단계 71에서, 앱스토어는 상기 수신된 위젯을 분석하여 불변 조건들의 구조 또는 모음 (collection)을 결정하여 추출한다.
단계 72에서, 앱스토어는 불변 조건들의 구조 또는 모음을 나타내는 하나 이상의 값들을 포함하는 메타데이터 파일을 생성한다.
단계 73에서, 앱스토어는 상기 위젯과 상기 생성된 메타데이터 파일을 연관시키고, 단계 74로 진행하여 상기 위젯 및 상기 연관된 메타데이터 파일을 장치에 전달한다. 이때 상기 위젯 및 상기 연관된 메타데이터 파일은 선택적으로 인코딩되어 상기 장치에 전달된다.
상기 단계 71에 의해 사용될 수 있는 다양한 유형의 불변 조건들이 존재한다. 예를 들어, 다음과 같은 불변 조건의 유형들, 즉 (a) HTML 페이지, (b) 자바 스크립트 (java script: JS) 기능 호출 그래프, (c) 위젯에 의해 사용되는 외부 JS 라이브러리 항목, 및 (d) 위젯에 의해 사용되는 CSSs (cascading style sheets)가 본 발명에 의해 사용되기 적합하다.
예를 들어, 위젯에 의해 사용되는 자바 기능들은 위젯이 앱스토어에 업로딩된 후 변화가 예상되지 않는다. 그러나, 위젯의 실행 콘텍스트가 악용되는 경우, 새로운 코드가 위젯의 실행 콘텍스트에 추가된다. 이러한 악용의 결과로서, 위젯이 앱스토어에 업로딩되었을 원래 존재하지 않았던 하나 이상의 새로운 자바 스크립트 기능들을 위젯이 실행할 수 있다. 마찬가지로, 이러한 악용은 HTML 페이지에 가짜 항목들을 생성할 수 있고, 또는 대안적으로 원래 페이지의 일부인 HTML 대상들을 제거하거나 위장할 수 있다.
후술할 본 발명의 실시예에서는 장치에서 모니터링 모듈이 위젯의 불변 조건들에 대한 수정을 검출하고, 상기 불변 조건들에 대한 수정이 검출될 시 관련 시스템이 악용되는 것을 표시하는 경보를 발령하는 방안에 대해 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 무선 통신 시스템에서 장치가 위젯의 실행 콘텍스트로의 악성 코드 주입을 검출하는 예를 나타낸 도면이다.
장치(110)의 제조업체가 소유하는 앱스토어(120)로부터 상기 장치(110)에 전달되는 위젯(112)은 상기 앱스토어(120)의 분석 프로세스에 의해 결정되는 바와 같이, 불변 조건들의 목록 또는 상기 분석 조건들과 관련 있는 구조적 세부 사항들을 포함하는 각각의 메타데이터 파일(140)과 연관지어진다. 또한 앱스토어(120)로부터 장치(110)에 공급되는 웹 기반 OS(170)는 모니터링 모듈(160)을 포함하기 위해 수정된다.
모니터링 모듈(160)은 웹 기반 OS 렌더링 엔진에 포함된다. 위젯(112)이 장치(110)에서 실행될 때, 웹 브라우저의 런타임은 위젯(112) 의 실행을 시작하고, 위젯(112)의 메타데이터 파일(140)은 위젯(112)의 코드와 함께 웹 런타임으로 로딩된다. 모니터링 모듈(160)은 위젯(112)의 실행 시 관련 불변 조건들 또는 상기 관련 불변 조건들의 구조를 결정하고 확인하기 위해 실행되는 위젯 코드를 구문 분석 (parsing)하여 실행 시간에 작동한다. 모니터링 모듈(160)은 상기 불변 조건 및 상기 관련 불변 조건들 구조의 타당성, 정확성, 및 정확도를 각각 확인하기 위해 상기 구문 분석 결과들을 사용한다. 이러한 확인은 메타데이터 파일(140) 내의 해당 데이터와 실 시간 구문 분석 결과들을 비교하여 수행된다.
메타데이터 파일(140) 내의 각각의 데이터와 실시간 불변 조건들 간의 불일치가 확인되면, 모니터링 모듈(160)은 경보를 발령한다. 또한 메타데이터 파일(140) 내의 각각의 데이터와 실시간 불변 조건들이 일치하면, 모니터링 모듈(160)은 위젯 실행 콘텍스트가 악성 코드로부터 깨끗하다고 결론짓는다.
본 발명은 다음과 같은 가정들을 기반으로 한다.
- 앱스토어(120)와 웹 기반 OS(170) 웹 런타임 사이에 단단한 결합이 존재한다. (바람직하게 앱스토어(120)와 웹 기반 OS(170) 웹 런타임 모두 동일한 엔티티에 의해 제어된다)
- 위젯 악용은 위젯의 불변 조건들 중 하나를 수정할 것이고, 이러한 수정은 위젯 악용이 발생한 장치에서 검출될 수 있다.
상기 두 개의 가정은 모두 웹 기반 OS의 콘텍스트에서 적용되며 그 이유는 다음과 같다.
- 전통적인 운영 체제와 반대로, 웹 기반 OS는 상대적으로 제한된 환경이다. 보통의 사용자들은 자신의 의지로 코드를 구축하거나 설치하지 않으며, 어플리케이션(위젯)들의 대부분은 앱스토어(120)에서 나온다. 앱스토어 기능은 바이패스하는 것이 가능하지만, 대부분의 사용자들은 그렇게 하지 않는다. 앱스토어(120)가 각각의 장치들에서 실행하는 어플리케이션(위젯)들에 대한 거의 유일한 소스이기 때문에, 앱스토어와 웹 런타임 사이에는 단단한 결합이 존재한다. 이러한 결합은 어플리케이션(위젯)들이 자동적으로 업데이트되는 프로토콜에서 및, 상기 어플리케이션(위젯)들이 시스템에 어떻게 전달되는 지를, 위젯들이 패키지화되는 형식으로 그 자체를 나타낸다.
- 위젯 악용은 위젯이 악의적으로 잘못 행동할 수 있는 유일한 방법은 본 발명의 시스템에 의해 차례로 검출할 수 있는 정보를 렌더링하거나 새로운 코드를 실행하는 것에 의한 것이므로, 위젯의 불변 조건들의 일부를 변함없이 변경한다.
위젯이 처음 앱스토어에 수신될 때, 상세한 분석 절차가 메타데이터 파일(140)을 생성하기 위해 개시된다. 이하에서는 각각의 목록 또는 구조들이 메타데이터 파일(140) 내에 포함되는 세 가지 유형의 불변 조건들에 대해 설명하도록 한다. 그러나, 본 발명은 상기 불변 조건들 또는 유사한 원리들을 사용하여 선택될 수 있는 다른 불변 조건들의 모든 조합을 사용할 수 있기 때문에, 본 발명은 임의의 유형의 불변 조건들에 한정되지 않는다는 것을 유의해야 한다. 보다 구체적으로, 본 발명은 바람직하게 다음의 불변 조건들, 즉 자바 스크립트 기능 호출 그래프, HTML 페이지, 및 외부 종속성들의 목록의 사용을 제안한다.
메타데이터 파일(140) 내의 호출 그래프 정보의 포함, 및 모니터링 모듈(160)에 의한 실시간의 각각의 확인은 스크립트 주입 취약점들의 완화를 허용한다. 위젯(112)의 호출 그래프는 예를 들어, 정적 코드 분석 기술들을 사용하여 추출될 수 있다. 입력 제어들로부터 도달할 수 있는 코드의 일부만을 포함하는 감소된 호출 그래프로 검증을 수행하는 것이 가능하기 때문에, 본 발명은 전체 호출 그래프에 의한 운영에 대해 한정되지 않는다는 것을 유의해야 한다. 여기서 상기 감소된 호출 그래프로 검증을 수행하는 것은 발명에 의한 확인과 연관된 오버헤드의 일부를 감소시킬 것이다
본 발명에 의해 확인될 수 있는 다른 유형의 불변 조건들은 모든 기능 및 글로벌 변수들의 목록이다. 보다 구체적으로, 모니터링 모듈(160)은 메타데이터 파일(140)에 대한 확인을 수행하여, 불변 조건들의 예상 목록으로부터 또는 불변 조건들 각각의 구조로부터의 임의의 편차를 위젯의 실행 동안 확인할 수 있다. 물론, 불변 조건 정보가 더 완벽할수록 검출의 정확도는 더 높아진다.
호출 그래프 분석은 자바 스크립트의 동적 특성으로 인해 몇 가지 도전을 제시한다. 실행 시간 동안 그래프 자체가 변할 수 있기 때문에 정적으로 호출 그래프를 구축하는 것이 항상 가능한 것은 아니다. 따라서, 본 발명의 일 실시예에서, 동적 호출 그래프는 앱스토어(120)에서 생성되고, 동적 확인은 장치(110)에서 실행 시간 동안 수행된다. 앱스토어에서의 동적 분석은 여러 번 위젯을 실행하는 단계 및 각각의 불변 조건 정보의 스택들을 저장하는 단계를 포함할 수 있다. 수집된 불변 조건 정보는 메타데이터 파일로의 그들의 피팅(fitting)에 대해 검증된다. 피팅되지 않는 호출 그래프의 스택은 무시되고, 메타데이터 파일(140) 내에 포함되지 않는다.
또한, 호출 그래프의 생성을 위한 크라우드소싱을 사용하는 것이 가능하다. 이러한 시나리오에서, 위젯이 여러 장치들에서 여러 번 실행되고 나서, 모든 스택들이 수집되고 기존의 호출 그래프와 비교된다. 기존의 호출 그래프 내에 아직 포함되지 않은 모든 경로들은 기존의 호출 그래프에 추가된다.
메타데이터 파일(140) 내의 HTML의 포함은 HTML 주입 취약점들의 완화를 허용한다. 위젯 실행 동안, 모니터링 모듈(160)이 HTML 문서 객체 모델 (document object model: DOM)이 메타데이터 파일(140) 내에 포함되는 HTML DOM과 일치하지 않는다는 것을 검출하면, 경보가 발령된다. 실질적으로 모든 HTML 구문 분석은 구분 분석된 HTML 페이지의 DOM을 구축하는 기능을 갖기 때문에, 앱스토어에서 수행되는 HTML DOM의 생성은 비교적 간단하다.
위젯에 의해 사용되는 모든 외부 기능들의 목록이 메타데이터 파일(140) 내에 포함될 수 있다. 이러한 외부 기능들의 목록은 무엇보다도 각각의 버전들을 포함한다. 이것은 동일한 이름을 갖는 악성 라이브러리가 장치 내에 공격자에 의해 다운로드되는 악용을 검출할 수 있도록 한다. 이러한 유형의 공격의 다른 변형은 특정 취약점들을 갖는 것으로 알려진 동일한 라이브러리의 구 버전을 공격자가 장치에 가져오는 경우이다. 메타데이터 파일 내의 적절한 버전 넘버를 포함시키는 것은 위젯 자체뿐만 아니라 라이브러리의 무결성을 보장한다.
상기와 같이, 웹 기반 OS(170) 내에 존재하는 모니터링 모듈(160)은 웹 기반 OS 렌더링 엔진에 포함된다.
본 발명의 일 실시예에서, 위젯이 장치(110)에서 웹 런타임에 의해 실행될 때, 실제 위젯의 일부인 메타데이터 파일(140)이 로딩되고, 웹 런타임은 모니터링 모듈(160)의 동시 실행을 시작시킨다. 이러한 프로세스로 인해, 위젯의 불변 조건 데이터들은 앱스토어에서 수행된 것과 유사한 방식으로 추출된다. 본 발명에 따른 위젯 실행은 다음과 같은 몇 개의 추가 단계 즉, (a) 페이지(외부 JS, CSS (cascading style sheet), 이미지 등)의 종속성(즉, 페이지 렌더링이 성공할 수 있도록 페이지에 넣을 필요가 있는 코드 구성 요소들)을 식별하는 단계; (b) 페이지를 렌더링하기 위한 DOM을 구축하는 단계를 포함하는 HTML 구문 분석 단계; 및 (c) 자바 스크립트 실행 단계를 포함할 수 있다. 모니터링 유닛(160)의 기능은 이들 3 단계 내의 적절한 지점들에서 호출되는 특별한 콜백(callback)의 형태로 구현될 수 있다.
- 위젯의 실행 동안, 모니터링 모듈(160)은 실행 시간 동안 위젯에 의해 로딩되는 CSS 및 라이브러리 전체 (또는 일부)의 각각의 목록을 기록하고 유지한다. 이러한 프로세스의 끝에서, 메타데이터 파일(140) 내의 각각의 데이터와 목록을 비교하기 위해 콜백이 수행된다. 편차가 라이브러리들의 이름 또는 버전에서 검출되면, 적절한 경보가 트리거된다.
- 모니터링 모듈(160) 내의 HTML 구문 분석 기능은 위젯의 레이아웃 매니저가 운영하는 엔티티인 DOM 트리를 구축한다. DOM 트리의 생성 완료 시, 콜백이 개시되고, DOM 또는 그의 일부가 메타데이터 파일(140) 내의 해당 데이터와 비교된다. 편차가 DOM 구조 또는 DOM 요소들에서 발견되면, 경보가 생성된다.
- JS 해석은 3 단계 즉, (a) 구문이 입증되고 각각의 이진 표시(binary representation)가 구축되는 구문 분석 단계; (b) 모든 기능들이 등록되는 기능 레졸루션(function resolution) 단계; 및 (c) 코드가 "재생"되는 코드 실행 단계로 이루어진다. 본 발명에 따르면, 콜백은 제3 단계에 주입된다. 제3단계에서, 스택이 앱 스토어(120)에서 생성된 호출 그래프와 일치하는 지 여부를 확인하는 것이 가능하다. 또한 제3단계에서, 특별한 미리 정의된 민감 기능이 호출되는 지 여부 또는 보안 민감 리소스에 대한 예기치 않은 액세스가 존재하는 지 여부를 결정하는 것이 가능하다. 이들 이벤트 중 하나가 모니터링 모듈(160)에 의해 검출되는 경우, 적절한 경보가 트리거된다.
예시
도 4는 본 발명의 일 실시예에 따른 무선 통신 시스템에서 앱스토어가 장치에 위젯을 제공하는 동작을 나타낸 순서도이다.
단계 601에서, 앱스토어는 위젯의 저자로부터 위젯을 수신한다. 단계 602에서, 앱스토어는 상기 수신된 위젯의 구문을 분석하고, 위젯의 호출 그래프를 생성한다.
단계 603에서, 앱스토어는 모든 HTML 페이지들에 대한 DOM들의 목록을 생성한다. 단계 604에서, 앱스토어는 위젯에 의해 사용되는 모든 외부 종속성(즉, 라이브러리 및 캐스케이딩 스타일시트)들 포함하는 목록을 생성한다.
단계 605에서, 앱스토어는 단계 602 내지 단계 604에서 축적된 데이터를 메타데이터 파일(140) 내에 저장한다.
도 5는 본 발명의 다른 실시예에 따른 무선 통신 시스템에서 장치의 모니터링 모듈이 앱스토어로부터 제공되는 위젯을 수신하는 동작을 나타낸 순서도이다.
단계 701에서, 모니터링 모듈은 앱스토어로부터 제공되는 위젯을 수신하여 실행하고, 상기 실행된 위젯의 URL (uniform resource locator) 구문 분석을 수행한다. 단계 702에서, 모니터링 모듈은 프로토콜 처리 (handling)를 수행한다.
단계 703에서, 모니터링 모듈은 HTML 구문 분석을 수행한다. 보다 구체적으로, 단계 703에서 모니터링 모듈은 런타임 동안 위젯에 의해 사용되는 모든 외부 기능들을 요약하는 목록을 생성하고, 메타데이터 파일에서의 해당 목록과 상기 생성된 목록을 비교한다. 또한, 모니터링 유닛은 실행하는 위젯에 대한 DOM 트리를 생성하고, 상기 실행하는 위젯이 완료될 때 상기 생성된 DOM 트리를 메타데이터 파일(140)에서의 해당 DOM 트리와 비교한다. 상기 비교 결과 편차가 발견되면, 모니터링 유닛은 경보를 발령한다.
단계 704에서, 모니터링 모듈은 위젯의 자바스크립트를 실행한다. 모니터링 모듈은 상기 위젯의 자바스크립트를 실행하는 동안, 메타데이터 파일 내에 저장된 호출 그래프와 임시 기능 스택을 비교하고, 비교 결과 편차가 검출되는 경우, 경보를 발령한다.
단계 705에서, 모니터링 모듈은 페이지 레이아웃 계산을 수행한다.
도 6은 본 발명의 일 실시예에 따른 무선 통신 시스템에서 장치가 어플리케이션의 실행 콘텍스트로의 악성 코드 주입을 검출하는 동작을 나타낸 순서도이다.
단계 801, 장치는 웹 서버 (일례로 앱스토어)로부터 수신된 어플리케이션이 이미지인지 여부를 검사한다. 검사 결과 상기 수신된 어플리케이션이 이미지인 경우, 장치는 단계 805로 진행하여 상기 수신된 이미지를 복호한다.
상기 검사 결과 상기 수신된 어플리케이션이 이미지가 아닌 경우, 장치는 단계 802로 진행하여 상기 수신된 어플리케이션의 압축을 해제한다. 단계 803단계 장치는 상기 압축 해제된 어플리케이션을 렉싱한다.
단계 804에서, 장치는 렉싱된 어플리케이션의 구문 분석을 수행하고, 또한 상기 렉싱된 어플리케이션에 대한 DOM을 생성한다.
단계 805에서, 장치는 단계 804에서 생성한 DOM과 상기 웹 서버로부터 수신되는 메타데이터에 포함되는 DOM을 비교하여, 실행 콘텍스트로의 악성 코드 주입을 검출한다.
상기 악성 코드 주입이 검출되지 않을 경우, 장치는 단계 807로 진행하여 레이아웃을 수행하고, 단계 808에서 장치는 렌더링을 수행한다.
도 7은 위젯의 불변 조건들 중 하나인 호출 그래프의 속성의 예를 나타낸 도면이다.
호출 그래프 uml_class_tree_graph()는 도시된 바와 같은 복수의 속성들, 일례로 apidoc.ClassDoc.mro(), DotGraph._init_(), DotGraphEdge._setitem_(), DotGraphUmlClassNode.link_attributes(), _class_tree_graph(), name_list() 를 포함할 수 있다.
도 8은 메타데이터에 포함되는 불변 조건 데이터와 장치에서 실행된 위젯의 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 발령되는 경보 메시지의 예를 나타낸 도면이다.
장치에서 실행된 위젯의 불변 조건 데이터와 웹 서버로부터 수신된 위젯의 메타데이터에 포함되는 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 경우, 장치는 도시된 바와 같은 경보 메시지를 발령한다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(read only memory: ROM, 이하 ROM이라 칭하기로 한다)와, 랜덤-접속 메모리(random access memory: RAM, 이하 RAM이라 칭하기로 한다)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 데이터 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.

Claims (18)

  1. 무선통신 시스템에서 웹 서버가 장치에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 방법에 있어서,
    상기 웹 서버에서 상기 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 적어도 하나의 불변 조건을 결정하는 과정과,
    상기 적어도 하나의 불변 조건의 데이터를 포함하는 메타데이터 파일을 생성하는 과정과,
    상기 위젯과 상기 메타데이터 파일을 연관짓고, 상기 위젯에 상기 연관된 메타데이터 파일을 포함시켜 상기 장치에 제공하는 과정을 포함하는 악성 코드 검출 방법.
  2. 제1 항에 있어서,
    상기 적어도 하나의 불변 조건의 데이터는 HTML (hypertext markup language) 페이지, 자바 스크립트 (java script: JS) 기능 호출 그래프, 상기 위젯에 의해 사용되는 외부 JS 라이브러리 항목, 상기 위젯에 의해 사용되는 CSS (cascading style sheets) 중 적어도 하나를 포함함을 특징으로 하는 악성 코드 검출 방법.
  3. 제2항에 있어서,
    상기 불변 조건의 데이터에 포함되는 HTML 페이지는 HTML 페이지의 문서 객체 모델 (document object model: DOM) 트리임을 특징으로 하는 악성 코드 검출 방법.
  4. 제1 항에 있어서,
    상기 위젯에 대한 업데이트를 수행하는 과정과,
    상기 업데이트 결과를 기반으로 상기 메타데이터 파일에 포함되는 상기 적어도 하나의 불변 조건의 데이터를 업데이트하는 과정과,
    상기 업데이트된 메타데이터 파일을 상기 장치에 제공하는 과정을 더 포함하는 악성 코드 검출 방법.
  5. 무선통신 시스템에서 장치가 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 방법에 있어서,
    웹 서버로부터 메타데이터가 포함된 상기 위젯을 수신하여 실행하고, 상기 실행된 위젯을 분석하는 과정과,
    상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 제1 불변 조건을 결정하는 과정과,
    상기 제1 불변 조건의 데이터를 상기 메타데이터에 포함된 제2 불변 조건의 데이터와 비교하는 과정과,
    상기 제1 불변 조건 데이터와 상기 제2 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 경보를 발령하는 과정을 포함하는 악성 코드 검출 방법.
  6. 제5항에 있어서,
    상기 제1 및 제2 불변 조건의 데이터는 각각 HTML (hypertext markup language) 페이지, 자바 스크립트 (java script: JS) 기능 호출 그래프, 상기 위젯에 의해 사용되는 외부 JS 라이브러리 항목, 상기 위젯에 의해 사용되는 CSS (cascading style sheets) 중 적어도 하나를 포함함을 특징으로 하는 악성 코드 검출 방법.
  7. 제6항에 있어서,
    상기 제1 및 제2 불변 조건의 데이터 각각에 포함되는 HTML 페이지는 HTML 페이지의 문서 객체 모델 (document object model: DOM) 트리임을 특징으로 하는 악성 코드 검출 방법.
  8. 제5항에 있어서,
    상기 실행된 위젯을 분석하는 과정은;
    상기 실행된 위젯의 URL (uniform resource locator) 구문 분석 (parsing)을 수행하는 과정과,
    프로토콜 처리를 수행하는 과정과,
    HTML (hypertext markup language) 구문 분석을 수행하는 과정과,
    상기 위젯의 자바 스크립트 (java script: JS)를 실행하는 과정을 포함함을 특징으로 하는 악성 코드 검출 방법.
  9. 제8항에 있어서,
    상기 HTML 구문 분석을 수행하는 과정은;
    상기 위젯의 런타임 (runtime) 동안 사용되는 외부 종속성들을 포함하는 리스트와 상기 메타데이터에 포함되는 외부 종속성들을 포함하는 리스트를 비교하는 과정, 또는
    상기 위젯의 상기 런타임 동안 생성된 문서 객체 모델 (document object model: DOM) 트리와 상기 메타데이터에 포함되는 DOM 트리를 비교하는 과정을 포함함을 특징으로 하는 악성 코드 검출 방법.
  10. 무선통신 시스템에서 장치에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 웹 서버에 있어서,
    상기 웹 서버에서 상기 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 적어도 하나의 불변 조건을 결정하고, 상기 적어도 하나의 불변 조건의 데이터를 포함하는 메타데이터 파일을 생성하고, 상기 위젯과 상기 메타데이터 파일을 연관짓는 제어부와,
    상기 위젯에 상기 연관된 메타데이터 파일을 포함시켜 상기 장치에 제공하는 송신부를 포함하는 웹 서버.
  11. 제10항에 있어서,
    상기 적어도 하나의 불변 조건의 데이터는 HTML (hypertext markup language) 페이지, 자바 스크립트 (java script: JS) 기능 호출 그래프, 상기 위젯에 의해 사용되는 외부 JS 라이브러리 항목, 상기 위젯에 의해 사용되는 CSS (cascading style sheets) 중 적어도 하나를 포함함을 특징으로 하는 웹 서버.
  12. 제11항에 있어서,
    상기 불변 조건의 데이터에 포함되는 HTML 페이지는 HTML 페이지의 문서 객체 모델 (document object model: DOM) 트리임을 특징으로 하는 웹 서버.
  13. 제10항에 있어서,
    상기 제어부는 상기 위젯에 대한 업데이트를 수행하고, 상기 업데이트 결과를 기반으로 상기 메타데이터 파일에 포함되는 상기 적어도 하나의 불변 조건의 데이터를 업데이트하고, 상기 송신부는 상기 업데이트된 메타데이터 파일을 상기 장치에 제공함을 특징으로 하는 웹 서버.
  14. 무선통신 시스템에서 웹 기반 OS에 의해 실행되는 위젯의 명령 스트림에 주입되는 악성 코드를 검출하는 장치에 있어서,
    웹 서버로부터 메타데이터가 포함된 상기 위젯을 수신하여 실행하고, 상기 실행된 위젯을 분석하고, 상기 분석 결과를 기반으로 상기 위젯이 실행되는 동안 일정하게 유지되고 보존되는 제1 불변 조건을 결정하고, 상기 제1 불변 조건의 데이터를 상기 메타데이터에 포함된 제2 불변 조건의 데이터와 비교하는 제어부와,
    상기 제1 불변 조건 데이터와 상기 제2 불변 조건 데이터 사이에서 미리 정의된 값 이상의 변동이 검출될 때 경보를 발령하는 송신부를 포함하는 장치.
  15. 제14항에 있어서,
    상기 제1 및 제2 불변 조건의 데이터는 각각 HTML (hypertext markup language) 페이지, 자바 스크립트 (java script: JS) 기능 호출 그래프, 상기 위젯에 의해 사용되는 외부 JS 라이브러리 항목, 상기 위젯에 의해 사용되는 CSS (cascading style sheets) 중 적어도 하나를 포함함을 특징으로 하는 장치.
  16. 제15항에 있어서,
    상기 제1 및 제2 불변 조건의 데이터 각각에 포함되는 HTML 페이지는 HTML 페이지의 문서 객체 모델 (document object model: DOM) 트리임을 특징으로 하는 장치.
  17. 제14항에 있어서,
    상기 제어부는 상기 실행된 위젯의 URL (uniform resource locator) 구문 분석 (parsing)을 수행하고, 프로토콜 처리를 수행하고, HTML (hypertext markup language) 구문 분석을 수행하고, 상기 위젯의 자바 스크립트 (java script: JS)를 실행함을 특징으로 하는 장치.
  18. 제17항에 있어서,
    상기 제어부는 상기 위젯의 런타임 (runtime) 동안 사용되는 외부 종속성들을 포함하는 리스트와 상기 메타데이터에 포함되는 외부 종속성들을 포함하는 리스트를 비교하거나, 상기 위젯의 상기 런타임 동안 생성된 문서 객체 모델 (document object model: DOM) 트리와 상기 메타데이터에 포함되는 DOM 트리를 비교함을 특징으로 하는 장치.
KR1020150142302A 2014-11-17 2015-10-12 웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치 KR20160058673A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/527,159 US10542040B2 (en) 2014-11-17 2015-11-17 Method and apparatus for preventing injection-type attack in web-based operating system
EP15195053.2A EP3021252B1 (en) 2014-11-17 2015-11-17 Method and apparatus for preventing injection-type attack in web-based operating system
PCT/KR2015/012352 WO2016080735A1 (en) 2014-11-17 2015-11-17 Method and apparatus for preventing injection-type attack in web-based operating system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/542,943 2014-11-17
US14/542,943 US20160142437A1 (en) 2014-11-17 2014-11-17 Method and system for preventing injection-type attacks in a web based operating system

Publications (1)

Publication Number Publication Date
KR20160058673A true KR20160058673A (ko) 2016-05-25

Family

ID=55962777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150142302A KR20160058673A (ko) 2014-11-17 2015-10-12 웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치

Country Status (2)

Country Link
US (2) US20160142437A1 (ko)
KR (1) KR20160058673A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112668056A (zh) * 2021-01-17 2021-04-16 复旦大学 一种安全文件系统构建方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305918B1 (en) * 2016-01-27 2019-05-28 Vmware Inc. Monitoring for hybrid applications
US10275596B1 (en) * 2016-12-15 2019-04-30 Symantec Corporation Activating malicious actions within electronic documents
CN107168613B (zh) * 2017-05-15 2020-11-17 海能达通信股份有限公司 一种界面交互方法及一种集群终端
CN107885995A (zh) * 2017-10-09 2018-04-06 阿里巴巴集团控股有限公司 小程序的安全扫描方法、装置以及电子设备
CN109800254A (zh) * 2018-12-28 2019-05-24 易票联支付有限公司 一种业务性能巡检报表生成方法、系统及装置
CN111538990B (zh) * 2020-04-24 2023-12-22 怀化学院 一种互联网分析系统
CN111460442A (zh) * 2020-04-24 2020-07-28 怀化学院 一种基于互联网交叉搜索缺陷的攻击检测方法
US11880461B2 (en) 2020-06-22 2024-01-23 Bank Of America Corporation Application interface based system for isolated access and analysis of suspicious code in a computing environment
US11797669B2 (en) 2020-06-22 2023-10-24 Bank Of America Corporation System for isolated access and analysis of suspicious code in a computing environment
US11269991B2 (en) 2020-06-22 2022-03-08 Bank Of America Corporation System for identifying suspicious code in an isolated computing environment based on code characteristics
US11636203B2 (en) 2020-06-22 2023-04-25 Bank Of America Corporation System for isolated access and analysis of suspicious code in a disposable computing environment
US11574056B2 (en) 2020-06-26 2023-02-07 Bank Of America Corporation System for identifying suspicious code embedded in a file in an isolated computing environment
US11770437B1 (en) * 2021-08-30 2023-09-26 Amazon Technologies, Inc. Techniques for integrating server-side and client-side rendered content
CN114780952A (zh) * 2022-03-09 2022-07-22 浙江吉利控股集团有限公司 敏感应用调用场景的检测方法、系统及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW313642B (en) 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US20040003248A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation Protection of web pages using digital signatures
FR2864655B1 (fr) 2003-12-31 2006-03-24 Trusted Logic Procede de controle d'integrite de programmes par verification d'empreintes de traces d'execution
US7565543B1 (en) 2005-03-23 2009-07-21 American Express Travel Related Services Company, Inc. System and method for authenticating a web page
EP1843250B1 (en) 2006-04-05 2015-06-10 Texas Instruments France System and method for checking the integrity of computer program code
US20080184041A1 (en) 2007-01-31 2008-07-31 Microsoft Corporation Graph-Based Tamper Resistance Modeling For Software Protection
US20090282480A1 (en) * 2008-05-08 2009-11-12 Edward Lee Apparatus and Method for Monitoring Program Invariants to Identify Security Anomalies
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8615804B2 (en) 2010-02-18 2013-12-24 Polytechnic Institute Of New York University Complementary character encoding for preventing input injection in web applications
WO2012154664A2 (en) 2011-05-06 2012-11-15 University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting injected machine code
US8505070B2 (en) 2011-09-08 2013-08-06 Microsoft Corporation Separate script context to isolate malicious script
US20130160126A1 (en) 2011-12-15 2013-06-20 Microsoft Corporation Malware remediation system and method for modern applications
US8819772B2 (en) * 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8752183B1 (en) * 2012-07-10 2014-06-10 Hoyt Technologies, Inc. Systems and methods for client-side vulnerability scanning and detection
WO2014036021A1 (en) * 2012-08-28 2014-03-06 Visa International Service Association Secure device service enrollment
US20140215614A1 (en) * 2013-01-30 2014-07-31 Samsung Electronics Co., Ltd. System and method for a security assessment of an application uploaded to an appstore
US9584543B2 (en) * 2013-03-05 2017-02-28 White Ops, Inc. Method and system for web integrity validator
WO2014150753A2 (en) * 2013-03-15 2014-09-25 Openpeak Inc. Method and system for restricting the operation of applications to authorized domains
US20140283038A1 (en) * 2013-03-15 2014-09-18 Shape Security Inc. Safe Intelligent Content Modification
US9225737B2 (en) 2013-03-15 2015-12-29 Shape Security, Inc. Detecting the introduction of alien content
US20140358916A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Personalized prioritization of integrated search results
WO2014204446A1 (en) * 2013-06-18 2014-12-24 Empire Technology Development Llc Remediating rogue applications
US20160127412A1 (en) * 2014-11-05 2016-05-05 Samsung Electronics Co., Ltd. Method and system for detecting execution of a malicious code in a web based operating system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112668056A (zh) * 2021-01-17 2021-04-16 复旦大学 一种安全文件系统构建方法
CN112668056B (zh) * 2021-01-17 2022-04-12 复旦大学 一种安全文件系统构建方法

Also Published As

Publication number Publication date
US20160142437A1 (en) 2016-05-19
US20170357804A1 (en) 2017-12-14
US10542040B2 (en) 2020-01-21

Similar Documents

Publication Publication Date Title
KR20160058673A (ko) 웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치
US8789204B2 (en) Method and apparatus for secure cross-site scripting
US10110590B2 (en) Live tiles without application-code execution
CN111522595B (zh) 短暂应用
EP2806357A1 (en) Method and communication device for updating a web application
US20140101654A1 (en) Method for Managing an Application and Application Platform
EP3021252B1 (en) Method and apparatus for preventing injection-type attack in web-based operating system
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
CN106502646A (zh) 应用的页面信息处理方法及装置
EP3313041B1 (en) Application download method and device
US20160197950A1 (en) Detection system and method for statically detecting applications
CN104102880A (zh) 一种检测Android权限提升攻击的应用程序重写方法和系统
CN110869907A (zh) 一种浏览应用页面的方法及终端
US11079904B2 (en) Technologies for indicating third party content and resources
EP3834113B1 (en) Detecting security risks in binary software code
RU2626658C2 (ru) Обработка контента для приложений
US20180247060A1 (en) Detecting security vulnerabilities on computing devices
CN104239514A (zh) 网页渲染方法、装置及移动终端
US20240031166A1 (en) Web-side data signature method and apparatus and computer device
US20130067458A1 (en) Application site of origin reference scheme
KR102131943B1 (ko) Url 분석 방법 및 그 전자 장치
Bagchi Ubiquitous Multimedia and Mobile Agents: Models and Implementations
KR101397431B1 (ko) 격리된 실행 환경 제공 시스템 및 그 방법
US20130262977A1 (en) Controlling Browser Preferences with a Rich Internet Application