KR20130027157A - 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 - Google Patents
클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 Download PDFInfo
- Publication number
- KR20130027157A KR20130027157A KR1020110090550A KR20110090550A KR20130027157A KR 20130027157 A KR20130027157 A KR 20130027157A KR 1020110090550 A KR1020110090550 A KR 1020110090550A KR 20110090550 A KR20110090550 A KR 20110090550A KR 20130027157 A KR20130027157 A KR 20130027157A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal device
- application
- unit
- cloud server
- virtual
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명은 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법에 관한 것이다. 클라우드 시스템을 살펴보면, 단말 장치는 데이터를 클라우드 서버에 백업하고, 클라우드 서버는 단말 장치와 동일한 동작을 수행하는 가장 장치를 생성하고, 단말 장치는 클라우드 서버에 설치된 어플을 원격으로 실행함으로써, 단말 장치에서 어플이 실행됨으로 발생할 수 있는 피해를 방지할 수 있다.
Description
본 발명은 단말 장치를 클라우드 서버에 백업하고, 클라우드 서버를 통해 단말 장치와 동일한 동작을 수행하는 가상 장치를 생성해서 설치하고자 하는 어플을 클라우드 서버를 통해 실행함으로써 단말 장치의 보안을 강화하는 장치 및 방법에 관한 것이다.
휴대용 단말기의 급격한 발달에 따라 특히 무선 음성 통화 및 정보 교환이 가능한 휴대폰은 필수품이 되었다. 휴대용 단말기 초기에는 단순히 휴대할 수 있고, 무선 통화가 가능한 것으로 인식되었으나, 그 기술이 발달함과 무선 인터넷의 도입에 따라 휴대용 단말기는 통화뿐 아니라 단순한 전화 통화 또는 일정 관리 등의 목적뿐만 아니라 장착된 디지털 카메라에 의한 이미지 촬영하거나, 위성 방송의 시청, 게임, 무선 인터넷을 통한 웹서핑, 블루투스를 이용한 무선 장치와의 연결 서비스, 음악청취 및, 이메일 서비스 등 그 활용범위가 갈수록 커지고 있다.
또한, 휴대용 단말기는 제조사에서 제공하는 응용 프로그램 외에도 사용자의 선택에 의한 다양한 응용 프로그램이 설치될 수 있다. 하지만, 응용 프로그램을 설치하기 전에는 악성코드가 포함되어 있는 여부를 확인하기 어려워서 악성코드가 삽입된 응용 프로그램이 설치되는 문제가 발생할 수 있다.
본 발명의 실시예는 단말 장치와 동일하게 동작할 수 있는 가상 장치를 생성할 수 있는 데이터들을 백업 데이터로 생성해서 클라우드 서버에 저장 함으로써 단말 장치에 문제 발생시 클라우드 서버에 저장한 백업 데이터를 이용해서 단말 장치를 복구하는 방법을 제공한다.
본 발명의 실시예는 단말 장치에서 메모리부에 저장된 데이터들을 백업 데이터로 송신하고, 클라우드 서버는 백업 데이터를 이용해서 단말 장치와 동일하게 동작하는 가상 장치를 생성하고, 가상 장치에 단말 장치에 설치될 응용 프로그램을 설치해서 클라우드 서버를 통해 응용 프로그램을 실행함으로써 바이러스 등으로부터의 피해를 방지하는 시스템 및 방법을 제공한다.
본 발명의 실시예에 따른 클라우드 시스템에서 보안을 강화하는 단말 장치는, 어플의 신뢰성을 평가하는 신뢰성 평가부와, 어플 공급 서버로부터 상기 어플을 다운받는 어플 다운로드부와, 상기 어플의 신뢰성이 기설정한 기준 이하이면, 상기 어플 다운로드부에서 다운받은 상기 어플을 미신뢰 영역에 설치하는 어플 설치부 및 상기 미신뢰 영역에 설치된 상기 어플에 대한 실행을 요청받으면, 클라우드 서버에서 관리하는 가상 장치의 함수가 호출되도록 상기 어플의 코드를 변경하고, 변경된 상기 어플의 코드에 따라 함수 호출 메시지를 상기 클라우드 서버로 송신하는 가상 인터페이스부를 포함한다.
본 발명의 실시예에 따른 클라우드 시스템에서 보안을 강화하는 클라우드 서버는, 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성하는 가상 장치 처리부 및 상기 단말 장치로부터 함수 호출 메시지를 수신하면, 상기 함수 호출 메시지에 포함된 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는 가상 인터페이스부를 포함한다.
본 발명의 실시예에 따른 클라우드 시스템의 단말 장치에서 보안을 강화하는 방법은, 어플의 신뢰성을 평가하는 단계와, 어플 공급 서버로부터 상기 어플을 다운받는 단계와, 상기 어플의 신뢰성이 기설정한 기준 이하이면, 다운받은 상기 어플을 미신뢰 영역에 설치하는 단계 및 상기 미신뢰 영역에 설치된 상기 어플에 대한 실행을 요청받으면, 클라우드 서버에서 관리하는 가상 장치의 함수가 호출되도록 상기 어플의 코드를 변경하고, 변경된 상기 어플의 코드에 따라 함수 호출 메시지를 상기 클라우드 서버로 송신하는 단계를 포함한다.
본 발명의 실시예에 따른 클라우드 시스템의 클라우드 서버에서 보안을 강화하는 방법은, 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성하는 단계 및 상기 단말 장치로부터 함수 호출 메시지을 수신하면, 상기 함수 호출 메시지에 포함된 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는 단계를 포함한다.
본 발명은 단말 장치를 클라우드 서버에 백업하고, 클라우드 서버를 통해 설치하고자 어플의 실행 명령을 수행하고 어플의 안전도를 검사하는 클라우드 시스템에 관한 것으로, 단말 장치에서 신뢰성이 없는 어플이 실행되지 않음으로써 단말 장치에 보안을 강화하고 발생할 수 있는 피해를 사전에 방지할 수 있다.
도 1은 가상 인터페이스를 이용해서 보안을 강화하는 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 단말 장치의 구성을 도시한 도면이다.
도 3은 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 클라우드 서버의 구성을 도시한 도면이다.
도 4는 신뢰성 데이터베이스의 예를 도시한 도면이다.
도 5는 단말 장치에 새로운 어플을 설치하는 과정을 도시한 흐름도이다.
도 6은 단말 장치에 가상 인터페이스를 이용해서 원격으로 어플을 실행하는 과정을 도시한 흐름도이다.
도 7은 클라우드 서버에서 가상 인터페이스를 이용해서 어플의 실행을 원격에서 제공하는 과정을 도시한 흐름도이다.
도 8은 클라우드 서버에서 단말 장치에 대응하는 가상 장치를 생성하고 준비하는 과정을 도시한 흐름도이다.
도 9는 신뢰 어플과 미신뢰 어플이 실행되는 과정을 간략하게 도시한 도면이다.
도 2는 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 단말 장치의 구성을 도시한 도면이다.
도 3은 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 클라우드 서버의 구성을 도시한 도면이다.
도 4는 신뢰성 데이터베이스의 예를 도시한 도면이다.
도 5는 단말 장치에 새로운 어플을 설치하는 과정을 도시한 흐름도이다.
도 6은 단말 장치에 가상 인터페이스를 이용해서 원격으로 어플을 실행하는 과정을 도시한 흐름도이다.
도 7은 클라우드 서버에서 가상 인터페이스를 이용해서 어플의 실행을 원격에서 제공하는 과정을 도시한 흐름도이다.
도 8은 클라우드 서버에서 단말 장치에 대응하는 가상 장치를 생성하고 준비하는 과정을 도시한 흐름도이다.
도 9는 신뢰 어플과 미신뢰 어플이 실행되는 과정을 간략하게 도시한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 설명에 앞서 이하의 설명에서 응용 프로그램, 어플리케이션(application) 및 펌웨어(firmware)를 어플로 칭한다.
도 1은 가상 인터페이스를 이용해서 보안을 강화하는 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면 클라우드 시스템은 크게 단말 장치(110), 클라우드 서버(120) 및 어플 공급 서버(130)를 포함한다.
단말 장치(110)는 단말 장치(110)에 포함된 모든 데이터 또는 일부 데이터를 백업 데이터로 생성해서 네트워크(100)를 통해 클라우드 서버(120)로 송신한다.
그리고, 단말 장치(110)는 시스템 오류 내지 바이러스 발견 등의 문제가 발생하면 클라우드 서버(120)에 저장한 백업 데이터를 이용해서 단말 장치(110)를 복구 할 수 있다.
또한, 단말 장치(110)는 신뢰도가 없는 어플을 설치하고자 할 때, 안전한 어플로 판별되기 전까지 어플의 실행을 클라우드 서버(120)를 통해 수행되도록 해서 단말 장치(110)의 보안을 강화 한다.
클라우드 서버(120)는 단말 장치(110)로부터 수신한 백업 데이터를 이용해서 단말 장치(110)와 동일하게 동작하는 가상 장치를 생성하고, 단말 장치(110)로부터 어플에 대한 함수 호출 메시지를 수신하면, 가상 장치 내에서 함수 호출 메시지에 포함된 함수가 처리되도록 하고 실행 결과를 단말 장치(110)로 제공 한다.
그러면, 단말 장치(110)와 클라우드 서버(120)의 구체적인 설명이 이하 도 2와 도 3을 참조해서 후술한다.
도 2는 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 단말 장치의 구성을 도시한 도면이다.
도 2를 참조하면 단말 장치(110)는 제어부(210), 백업 처리부(211), 복구 처리부(212), 신뢰성 평가부(213), 어플 다운로드부(214), 어플 설치부(215), 가상 인터페이스부(216), 통신부(220), 메모리부(230)를 포함한다. 또한, 단말 장치(110)는 추가로 신뢰성 데이터베이스(240)과 기준정보 데이터베이스(250) 중 하나 내지는 모두를 더 포함할 수도 있다.
통신부(220)는 유/무선으로 네트워크를 통해 클라우드 서버(120) 또는 어플 공급 서버(130)와 데이터를 송수신한다. 통신부(220)는 FDMA(Frequency Division Multiple Access), TDMA(Time Division Multiple Access), SDMA(Space-Division Multiple Access), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), OFDM, Wifi, 와이브로(Wibro), 블루투스, 적외선 통신 등을 기반으로 하는 무선 통신 기법을 통해 무선으로 데이터를 송수신할 수 있다. 무선으로 통신하는 통신부(220)는 안테나를 통해 입출력되는 데이터의 무선신호를 송수신 처리하는 기능을 수행할 수 있다. 예를 들어, 송신인 경우, 송신할 데이터를 채널 코딩(Channel coding) 및 확산(Spreading)한 후, RF처리하여 송신하는 기능을 수행하고, 수신인 경우, 수신된 RF신호를 기저대역신호로 변환하고 상기 기저대역신호를 역 확산(De-spreading) 및 채널 복호(Channel decoding)하여 데이터를 복원하는 기능을 수행한다. 단말 장치(110)의 구성요소가 클라우드 서버(120) 또는 어플 공급 서버(130)와 데이터를 송수신함은 모두 통신부(220)를 통해 이루어 지는 것임으로 이하의 설명에서 통신부(220)를 통한다는 내용은 생략한다.
메모리부(230)는 단말 장치(110)의 전반적인 동작을 제어하기 위한 운영체제에 속하는 시스템 데이터, 설치된 어플, 어플의 변경이력 정보 및 사용자 데이터(전화번호, SMS 메시지, 압축된 이미지 파일, 동영상 등) 등을 저장한다. 그리고, 메모리부(230)는 백업 처리부(211)에서 생성한 백업 데이터 또는 클라우드 서버(120)로부터 수신하는 백업 데이터를 저장할 수도 있다.
또한, 메모리부(230)는 신뢰성이 없는 어플이 설치되는 별도의 영역인 미신뢰 영역을 포함한다. 이때, 메모리부(230)에서 미신뢰 영역을 제외한 나머지 영역은 모두 신뢰할 수 있는 신뢰 영역이다.
신뢰성 데이터베이스(240)는 어플들 각각에 대한 신뢰도에 관한 정보들을 저장한다. 이때, 신뢰성 데이터베이스(240)에 저장된 어플들 각각에 대한 신뢰도에 관한 정보들은 클라우드 서버(120) 또는 신뢰성을 평가하는 별도의 서버로부터 제공받을 수 있다.
기준정보 데이터베이스(250)는 어플의 신뢰도를 평가하는 기준이 되는 정보인 기준정보를 저장한다. 이때, 기준정보 데이터베이스(250)에 저장된 기준정보는 클라우드 서버(120) 또는 기준정보를 생성하는 별도의 서버로부터 제공받을 수 있다. 여기서, 기준정보는 신뢰성이 있는 카테고리, 신뢰성이 있는 생산자, 신뢰성이 있는 판매 서버, 신뢰성이 있는 기준 출시일자 및 신뢰성이 있는 권한 중에서 적어도 하나 또는 하나 이상의 조합으로 구성된 정보일 수 있다.
예를 들어, 기준정보가 판매 서버 P인 경우, 판매 서버 P를 통해 판매되는 어플들은 신뢰할 수 있다. 다른 예로 기준정보가 생산자 A인 경우, 생산자 A가 생성한 어플은 신뢰할 수 있다. 또 다른 예로 기준정보가 판매 서버 P와 생산자 A의 조합인 경우, 판매 서버 P를 통해 판매되는 생산자 A가 생성하는 어플은 신뢰할 수 있다.
백업 처리부(211)는 메모리부(230)에 저장된 모든 데이터 또는 일부 데이터를 백업 데이터로 생성해서 클라우드 서버로 송신한다. 이때, 백업 데이터는 생성시점을 나타내는 타임 스템프(Time stamp)를 포함할 수 있다.
백업 처리부(211)는 클라우드 서버(120)에서 단말 장치(110)와 동일한 기능을 수행할 수 있는 가상 장치를 생성할 때 필요로 하는 데이터를 포함하는 백업 데이터를 생성한다. 이때, 가상 장치를 생성할 때 필요로 하는 데이터는 시스템 데이터, 설치된 어플 및 어플의 변경이력 정보를 포함하고, 추가로 사용자 데이터(전화번호, SMS 메시지, 압축된 이미지 파일, 동영상 등)를 더 포함할 수도 있다.
백업 처리부(211)는 백업 데이터를 생성할 때, 메모리부(230)에 저장된 데이터를 블록 단위로 읽고(read), 압축해서 백업 데이터를 생성할 수 있다.
또한, 백업 처리부(211)는 업데이트 이벤트의 발생을 감지하면 업데이트 데이터를 생성해서 클라우드 서버(120)로 송신한다. 업데이트 데이터는 생성시점을 나타내는 타임 스템프(Time stamp)를 포함할 수 있다.
백업 처리부(211)는 변경 또는 추가된 데이터를 압축해서 업데이트 데이터를 생성할 수도 있고, 메모리부(230)의 변경된 블록을 블록 단위로 압축해서 업데이트 데이터를 생성할 수도 있다. 블록 단위로 업데이트 데이터를 생성하는 경우, 하나의 블록 내에는 변경된 데이터와 변경되지 않은 데이터가 포함될 수 있다. 이 경우 변경되지 않은 데이터도 같이 압축하기 때문에 자원의 낭비가 발생할 수 있지만, 클라우드 서버(120) 측에서 백업 데이터를 최신 데이터로 관리하기 용이한 장점이 있다.
백업 처리부(211)는 업데이트 이벤트의 발생을 아래의 경우에 감지할 수 있다. 백업 처리부(211)는 메모리부에 저장된 데이터의 내용이 변경 또는 추가된 경우, 메모리부에 저장된 데이터의 내용이 변경 또는 추가된 횟수가 기설정된 횟수 이상인 경우, 메모리부에 저장된 데이터의 내용이 변경 또는 추가된 데이터의 양이 기설정된 데이터양을 초과한 경우, 메모리부의 블록이 변경된 경우, 메모리부의 블록이 변경되는 횟수가 기설정된 횟수 이상인 경우, 메모리부의 블록들 중에서 변경된 블록이 기설정된 개수 이상인 경우, 기설정된 업데이트 시간간격을 초과한 경우 및 사용자의 요청을 감지한 경우 중에서 적어도 하나의 경우에 업데이트 이벤트의 발생으로 감지한다.
복구 처리부(212)는 단말 장치(110)의 시스템 오류 발생시, 단말 장치(110)에 바이러스가 발견되거나, 클라우드 서버(120)로부터 어플이 안전하지 않다는 검사결과를 수신하거나 또는 사용자의 요청에 따라 클라우드 서버(120)로 백업 데이터를 요청하고, 클라우드 서버(120)로부터 백업 데이터를 수신해서 단말 장치(110)를 복구한다. 이때, 수신하는 백업 데이터는 마지막 업데이트 데이터가 적용된 가장 최근의 백업 데이터이다. 하지만, 복구 처리부(212)는 사용자의 요청에 따라 특정 시점에 저장된 백업 데이터를 수신해서 특정 시점으로 복구할 수도 있다.
신뢰성 평가부(213)는 사용자가 설치하고자 하는 어플의 신뢰성을 평가한다. 신뢰성 평가부(213)는 여러가지 방법을 통해 신뢰성을 평가할 수 있다. 신뢰성 평가부(213)가 신뢰성을 평가하는 예는 다음과 같다.
신뢰성 평가부(213)는 클라우드 서버(120)로 어플에 대한 신뢰성 평가를 요청하고 클라우드 서버(120)로부터 어플에 대한 신뢰성 평가결과를 수신해서 어플의 신뢰성을 평가할 수 있다.
신뢰성 평가부(213)는 신뢰성 데이터베이스(240)에서 어플을 검색해서 어플의 신뢰성을 평가할 수도 있다.
신뢰성 평가부(213)는 어플 공급 서버(130)로부터 어플에 관한 기본정보를 수신하고, 기본정보가 기준정보 데이터베이스(250)에 저장되어 있는 기준을 만족하는지 여부를 판단해서 신뢰성을 평가할 수 있다.
여기서, 기본정보는 어플의 카테고리, 어플의 생산자, 어플의 판매 서버, 어플의 출시일자 및 어플의 권한 등을 포함할 수 있다. 그리고, 기준정보는 신뢰성이 있는 카테고리, 신뢰성이 있는 생산자, 신뢰성이 있는 판매 서버, 신뢰성이 있는 기준 출시일자 및 신뢰성이 있는 권한 중에서 적어도 하나 또는 하나 이상의 조합으로 구성된 정보일 수 있다. 기준정보의 예를 들면, 특정 생산자가 생성한 어플은 모두 신뢰할 수 있다, 특정 판매 서버를 통해 판매되는 특정 생산자의 특정 출시일자 이전에 생성된 어플은 모두 신뢰할 수 있다. 특정 판매 서버를 통해 판매되는 특정 카테고리의 어플들은 모두 신뢰할 수 있다. 특정 판매 서버를 통해 판매되는 어플들 중에서 특정 권한만을 가진 어플들은 모두 신뢰 할 수 있다. 등등이 될 수 있다.
예를 들어, 기준정보가 판매 서버 P인 경우, 판매 서버 P를 통해 판매되는 어플들은 신뢰할 수 있다. 다른 예로 기준정보가 생산자 A인 경우, 생산자 A가 생성한 어플은 신뢰할 수 있다. 또 다른 예로 기준정보가 판매 서버 P와 생산자 A의 조합인 경우, 판매 서버 P를 통해 판매되는 생산자 A가 생성하는 어플은 신뢰할 수 있다.
어플 다운로드부(214)는 어플 공급 서버(130)로부터 어플을 다운받는다. 어플 다운로드부(214)에서 어플을 다운로드 하는 시점은 사용자로부터 어플 설치를 요청받은 후에 다운로드 할 수도 있고, 신뢰성 평가(213)의 평가 이후에 다운로드 할 수도 있다.
어플 설치부(215)는 어플의 신뢰성이 기설정한 기준 이하이면, 어플 다운로드부(214)에서 다운받은 어플을 미신뢰 영역에 설치한다. 추가로 어플 설치부(215)는 미신뢰 영역에 설치한 어플을 미신뢰 리스트에 저장해서 관리할 수 있다.
그리고, 어플 설치부(215)는 어플의 신뢰성이 기설정한 기준 보다 높으면, 어플 다운로드부(214)에서 다운받은 어플을 메모리부(230)의 신뢰하는 영역에 설치한다.
가상 인터페이스부(216)는 미신뢰 영역에 설치된 어플에 대한 실행을 요청받으면, 클라우드 서버(120)에서 관리하는 가상 장치의 함수가 호출되도록 어플의 코드를 변경하고, 변경된 어플의 코드에 따라 함수 호출 메시지를 클라우드 서버(120)로 송신한다. 그리고, 가상 인터페이스부(216)는 클라우드 서버(120)로부터 함수 호출 메시지에 대한 실행 결과를 수신하면, 실행 결과를 디스플레이 한다.
가상 인터페이스부(216)는 함수 호출 메시지에 포함된 함수를 처리하기 위해 단말 장치(110)에서만 획득 가능한 정보인 단말 가변 정보가 필요한 경우, 함수 호출 메시지에 포함된 함수를 처리하기 위한 단말 가변 정보를 수집해서 함수 호출 메시지에 포함시켜서 클라우드 서버로 송신한다. 이때, 단말 가변 정보는 단말 장치의 위치 정보, 단말 장치가 접속중인 기지국 정보, 단말 장치가 접속중인 공유기 정보, 단말 장치의 자세정보 및 단말 장치에 포함된 센서에서 측정한 측정 정보 중에서 적어도 하나를 포함할 수 있다.
예를 들어, 단말 장치(110)의 주변에 맛집을 검색하는 어플을 가상 처리하는 경우, 가상 인터페이스부(216)는 주변 맛집을 검색하는 함수를 포함하는 함수 호출 메시지에 단말 가변 정보에 해당하는 단말 장치(110)의 위치 정보를 포함시켜 클라우드 서버(120)로 송신한다.
다시 말해, 가상 인터페이스부(216)는 미신뢰 영역에 설치된 어플의 함수 호출에 해당하는 기존 코드(code)를 수정해서, 단말 장치(110)의 운영체제 내의 함수(method)가 아닌, 클라우드 서버(120) 의 가상 장치의 운영체제 내의 함수(method)가 호출되도록 한다. 이때, 가상 인터페이스부(216)에서 원격으로 가상 장치를 제어하는 방법은 RMI(Remote Method Invocation)등의 기술을 이용해서 구현될 수 있다. 여기서, RMI는 서로 다른 두 장치를 서로 호환되도록 해서, 원격으로 함수 호출을 제공하는 기술이다.
한편, 어플 설치부(215)는 클라우드 서버(120)로부터 어플이 안전하지 않다는 검사결과를 수신하면, 미신뢰 영역에서 어플을 삭제한다.
어플 설치부(215)는 미신뢰 영역에 설치된 어플이 안전한 어플로 판명되면 어플이 단말 장치(110)에서 실행될 수 있도록 어플을 미신뢰 영역에서 신뢰하는 영역으로 이동해서 설치한다.
이때, 안전한 어플로 판명하는 경우는 어플을 미신뢰 영역에 설치한 후, 기설정된 시간 내에 클라우드 서버로부터 어플이 안전하지 않다는 검사결과가 수신되지 않는 경우, 가상 인터페이스를 통해 어플에 대한 실행 명령을 기설정된 횟수만큼 수행하는 동안 클라우드 서버로부터 어플이 안전하지 않다는 검사결과가 수신되지 않는 경우, 클라우드 서버로부터 어플이 안전하다는 검사결과를 수신하는 경우 및 사용자의 요청을 감지한 경우 중에서 적어도 하나의 경우이다.
제어부(210)는 단말 장치(110)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(210)는 백업 처리부(211), 복구 처리부(212), 신뢰성 평가부(213), 어플 다운로드부(214), 어플 설치부(215) 및 가상 인터페이스부(216)의 기능을 수행할 수 있다. 제어부(210), 백업 처리부(211), 복구 처리부(212), 신뢰성 평가부(213), 어플 다운로드부(214), 어플 설치부(215) 및 가상 인터페이스부(216)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 제어부(210)는 백업 처리부(211), 복구 처리부(212), 신뢰성 평가부(213), 어플 다운로드부(214), 어플 설치부(215) 및 가상 인터페이스부(216) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 제어부(210)는 백업 처리부(211), 복구 처리부(212), 신뢰성 평가부(213), 어플 다운로드부(214), 어플 설치부(215) 및 가상 인터페이스부(216) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다.
도 3은 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 클라우드 서버의 구성을 도시한 도면이다.
도 3을 참조하면 클라우드 서버(120)는 제어부(310), 백업 처리부(311), 복구 처리부(312), 가상 장치 처리부(313), 신뢰성 평가부(314), 어플 다운로드부(315), 안전도 검사부(316), 가상 인터페이스부(318), 통신부(320), 백업 데이터 저장부(330), 신뢰성 데이터베이스(340)를 포함한다. 또한, 클라우드 서버(120)는 추가로 기준정보 생성부(317)과 기준정보 데이터베이스(350)를 더 포함할 수도 있다.
통신부(320)는 네트워크를 통해 단말 장치(110) 또는 어플 공급 서버(130)와 데이터를 송수신한다. 클라우드 서버(120)가 단말 장치(110) 또는 어플 공급 서버(130)와 데이터를 송수신함은 모두 통신부(320)를 통해 이루어 지는 것임으로 이하의 설명에서 통신부(320)를 통한다는 내용은 생략한다.
백업 데이터 저장부(330)는 단말 장치(110)로부터 수신한 백업 데이터와 업데이트 데이터를 저장한다. 백업 데이터 저장부(330)는 백업 데이터와 업데이트 데이터가 수신된 시점 또는 생성된 시점을 나타내는 타임 스템프를 함께 저장한다. 즉, 백업 데이터 저장부(330)는 백업 데이터와 업데이트 데이터를 수신된 시간 또는 생성된 시간에 따라 관리한다.
신뢰성 데이터베이스(340)는 어플들 각각에 대한 신뢰도에 관한 정보들을 저장한다. 신뢰성 데이터베이스(340)는 아래 도 4와 같이 구성될 수 도 있다.
도 4는 신뢰성 데이터베이스의 예를 도시한 도면이다.
도 4를 참조하면, 신뢰성 데이터베이스는 각 어플별로 다운로드 받은 시간, 설치 시각, 공급자 정보, 출시 일자, 권한, 신뢰성 여부, 사용한 바이러스 검색 엔진정보 및 사용자 리뷰정보 등을 포함할 수 있다.
기준정보 데이터베이스(350)는 어플의 신뢰도를 평가하는 기준이 되는 정보인 기준정보를 저장한다. 여기서, 기준정보는 신뢰성이 있는 카테고리, 신뢰성이 있는 생산자, 신뢰성이 있는 판매 서버, 신뢰성이 있는 기준 출시일자 및 신뢰성이 있는 권한 중에서 적어도 하나 또는 하나 이상의 조합으로 구성된 정보일 수 있다.
백업 처리부(311)는 단말 장치(110)의 메모리부에 저장된 모든 데이터 또는 일부 데이터를 이용해서 생성된 백업 데이터를 수신하면, 백업 데이터를 백업 데이터 저장부(330)에 저장한다. 클라우드 서버(120)에서 어플의 가상 처리를 수행 하는 경우, 백업 데이터는 단말 장치(110)와 동일한 기능을 수행할 수 있는 가상 장치를 생성할 때 필요로 하는 데이터를 포함한다. 이때, 가상 장치를 생성할 때 필요로 하는 데이터는 단말 장치(110)의 시스템 데이터, 설치된 어플 및 어플의 변경이력 정보를 포함하고, 추가로 사용자 데이터(전화번호, SMS 메시지, 압축된 이미지 파일, 동영상 등)를 더 포함할 수도 있다.
또한, 백업 처리부(311)는 단말 장치(110)로부터 업데이트 데이터를 수신하면 수신한 업데이트 데이터를 백업 데이터 저장부(330)에 저장한다. 이때, 백업 처리부(311)는 백업 데이터와 업데이트 데이터의 각각에 포함된 타임 스템프를 이용해서 백업 데이터와 업데이트 데이터를 관리한다.
복구 처리부(312)는 단말 장치(110)로부터 백업 데이터를 요청 받으면, 해당 단말 장치(110)의 백업 데이터를 백업 데이터 저장부(330)에서 검색해서 단말 장치(110)로 송신한다. 이때, 송신하는 백업 데이터는 마지막 업데이트 데이터가 적용된 가장 최근의 백업 데이터이다. 하지만, 복구 처리부(312)는 단말 장치(110)로부터 특정 시점에 저장된 백업 데이터를 요청받는 경우, 백업 데이터 저장부(330)에 저장된 백업 데이터와 업데이트 데이터의 타임 스템프를 이용해서 특정 시점의 백업 데이터를 송신한다.
신뢰성 평가부(314)는 단말 장치(110)로부터 어플의 신뢰성을 요청 받으면, 어플의 신뢰성을 평가하고 평가결과를 단말 장치(110)로 제공한다. 이때, 신뢰성 평가부(314)는 아래 방법으로 통해 어플의 신뢰성을 평가할 수 있다.
신뢰성 평가부(314)는 신뢰성 데이터베이스(340)에서 신뢰성을 요청 받은 어플을 검색해서 어플의 신뢰성을 평가할 수 있다.
다른 방법으로, 신뢰성 평가부(314)는 어플 공급 서버(130)로부터 어플에 관한 기본정보를 수신하고, 기본정보가 기준정보 데이터베이스(350)에 저장된 기준정보의 기준을 만족하는지 여부를 판단해서 신뢰성을 평가할 수 있다. 여기서, 기준정보는 어플의 신뢰도를 평가하는 기준이 되는 정보이다.
어플 다운로드부(315)는 단말 장치(110)로부터 어플의 가상처리를 요청 받으면, 어플 공급 서버(130)로부터 어플을 다운로드 받는다.
가상 장치 처리부(313)는 단말 장치(110)의 백업 데이터를 이용해서 단말 장치(110)와 동일한 동작을 수행하는 가상 장치(318)를 생성한다. 이때, 가상 장치(318)는 클라우드 서버(120)의 프레임워크(framework)나 운영체제를 이용해서 단말 장치(110)의 프레임워크(framework)나 운영체제를 이용하는 것과 같은 동작을 하는 클라우드 서버(120)에 존재하는 가상의 장치이다. 가상 장치 처리부(313)는 가상 장치(318)를 생성하면, 생성한 가상장치에 어플 다운로드부(315)를 통해 다운로드 받은 어플을 가상 장치(318)에 설치한다. 즉, 가상 장치 처리부(313)는 사용자가 단말 장치(110)에 설치하고자 하는 어플을 바이러스 검사하기 위해 클라우드 서버(120)에 존재하는 가상 장치(318)에 먼저 설치한다.
안전도 검사부(316)는 가장 장치(318)에 설치된 어플의 안전도를 검사하고, 검사결과를 단말 장치(110)로 송신한다. 이때, 안전도 검사부(316)에서 검사하는 안전도는 바이러스 또는 악성 코드의 존재 유무, 사용자의 정보의 수집 여부, 사용자 정보의 유출 여부 등이 될 수 있다.
또한, 안전도 검사부(316)는 안전도를 검사한 결과를 어플에 관한 신뢰성 정보를 신뢰성 데이터베이스에 저장한다.
가상 장치 처리부(313)는 가상 장치(318)에 설치한 어플이 안전하지 않은 어플로 판명되면, 백업 데이터 저장부(330)에 저장된 백업 데이터와 업데이트 데이터를 이용해서 가상 장치(318)를 어플을 설치하기 전 상태로 복구한다.
가상 장치 처리부(313)는 가상 장치(318)에 설치한 어플이 안전하지 않은 어플로 판명되면, 단말 장치(110)로부터 백업 데이터를 수신해서 가상 장치(318)를 어플을 설치하기 전 상태로 복구할 수도 있다.
또한, 가상 장치 처리부(313)는 가상 장치(318)에 설치한 어플이 안전하지 않은 어플로 판명되지 않아도 단말 장치(110)에서 어플이 삭제되는 경우, 백업 데이터 저장부(330)에 저장된 백업 데이터와 업데이트 데이터를 이용하거나, 단말 장치(110)로부터 백업 데이터를 수신해서 가상 장치(318)를 어플을 설치하기 전 상태로 복구한다.
기준정보 생성부(317)는 신뢰성 데이터베이스(340)에 저장된 신뢰도 정보를 이용해서 어플의 신뢰도를 평가하는 기준이 되는 정보인 기준정보를 생성해서 기준정보 데이터베이스(350)에 저장하고, 기준정보를 단말 장치(110)로 송신한다.
여기서, 기준정보는 신뢰성이 있는 카테고리, 신뢰성이 있는 생산자, 신뢰성이 있는 판매 서버, 신뢰성이 있는 기준 출시일자 및 신뢰성이 있는 권한 중에서 적어도 하나 또는 하나 이상의 조합으로 구성된 정보일 수 있다. 예를 들어, 기준정보 생성부(317)는 판매 서버 P를 통해 판매되는 생산자 A가 이전에 생성한 어플의 수가 50개(기설정 기준 개수)를 초과하고, 판매 서버 P를 통해 판매되는 생산자 A가 이전에 생성한 모든 어플에 바이러스가 존재하지 않은 경우, 판매 서버 P를 통해 판매되는 생산자 A가 생성하는 어플이 기준정보로 생성 될 수 있다. 이 경우, 추후 설치하고자 하는 어플이 판매 서버 P를 통해 판매되는 생산자 A가 생성하는 어플에 부합되면 설치하고자 하는 어플은 신뢰성이 있다고 판단될 수 있다.
가상 인터페이스부(318)는 단말 장치(110)로부터 함수 호출 메시지를 수신하면, 함수 호출 메시지에 포함된 함수가 가상 장치 내에서 호출되어 처리되도록 한다. 그리고, 가상 인터페이스부(318)는 함수 호출 메시지에 따른 가상 장치의 실행 결과를 단말 장치(110)로 송신한다.
가상 인터페이스부(318)는 단말 장치에서만 획득 가능한 정보인 단말 가변 정보가 추가로 포함된 함수 호출 메시지를 수신할 수도 있다. 가상 인터페이스부(318)는 함수 호출 메시지에 포함된 단말 가변 정보를 수신하면, 단말 가변 정보를 이용해서 함수 호출이 가상 장치에서 처리되도록 한다. 이때, 단말 가변 정보는 단말 장치의 위치 정보, 단말 장치가 접속중인 기지국 정보, 단말 장치가 접속중인 공유기 정보, 단말 장치의 자세정보 및 단말 장치에 포함된 센서에서 측정한 측정 정보 중에서 적어도 하나를 포함할 수 있다.
가상 인터페이스부(318)는 단말 장치(110)에 설치된 어플에 신뢰성이 확인되지 않을 때, 가상 장치를 이용해서 단말 장치(110)의 신뢰되지 않은 어플을 대신에 실행할 수 있다. 이때, 가상 인터페이스부(318)에서 원격으로 가상 장치를 제어하는 방법은 RMI(Remote Method Invocation)등의 기술을 이용해서 구현될 수 있다.
제어부(310)는 클라우드 서버(120)의 전반적인 동작을 제어할 수 있다. 그리고, 제어부(310)는 백업 처리부(311), 복구 처리부(312), 가상 장치 처리부(313), 신뢰성 평가부(314), 어플 다운로드부(315), 안전도 검사부(316), 기준정보 생성부(317) 및 가상 인터페이스부(318)의 기능을 수행할 수 있다. 제어부(310), 백업 처리부(311), 복구 처리부(312), 가상 장치 처리부(313), 신뢰성 평가부(314), 어플 다운로드부(315), 안전도 검사부(316), 기준정보 생성부(317) 및 가상 인터페이스부(318)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 제어부(310)는 백업 처리부(311), 복구 처리부(312), 가상 장치 처리부(313), 신뢰성 평가부(314), 어플 다운로드부(315), 안전도 검사부(316), 기준정보 생성부(317) 및 가상 인터페이스부(318) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 제어부(310)는 백업 처리부(311), 복구 처리부(312), 가상 장치 처리부(313), 신뢰성 평가부(314), 어플 다운로드부(315), 안전도 검사부(316), 기준정보 생성부(317) 및 가상 인터페이스부(318) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 클라우드 시스템에서 가상 인터페이스를 이용해서 보안을 강화하는 방법을 아래에서 도면을 참조하여 설명한다.
도 5는 단말 장치에 새로운 어플을 설치하는 과정을 도시한 흐름도이다.
도 5를 참조하면, 단말 장치(110)는 510단계에서 클라우드 서버(120)에서 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성할 때 필요로 하는 데이터를 포함하는 백업 데이터를 생성해서 클라우드 서버로 송신한다.
그리고, 단말 장치(110)는 512단계에서 어플을 설치하는 이벤트의 발생을 감지하면, 514단계에서 설치하고자 하는 어플의 신뢰성을 평가한다. 이때, 단말 장치(110)는 클라우드 서버(120)로 어플에 대한 신뢰성 평가를 요청하는 메시지를 송신해서 어플의 신뢰성을 평가할 수도 있고, 신뢰성 데이터베이스(240) 또는 기준정보 데이터베이스(250)에 저장된 정보들을 이용해서 어플의 신뢰성을 평가 할 수도 있다. 이때, 신뢰성 평가를 요청하는 메시지는 어플에 대한 기본정보를 포함할 수 있다.
514단계의 평가결과 신뢰할 수 있는 어플이면, 단말 장치(110)는 516단계에서 어플을 설치한다.
514단계의 평가결과 신뢰할 수 없는 어플이면, 단말 장치(110)는 518단계에서 어플을 메모리부(230)의 미신뢰 영역에 설치한다. 이때, 어플은 어플 공급 서버(130)로부터 다운로드 할 수 있는데, 514단계 이전에 다운로드 할 수도 있고, 514단계 이후에 다운로드 할 수도 있다.
그리고, 단말 장치(110)는 520단계에서 미신뢰 영역에 설치한 어플에 대한 정보를 미신뢰 리스트에 추가한다.
516단계 또는 520단계 이후에 단말 장치(110)는 업데이트가 발생했음을 알리는 업데이트 데이터를 생성해서 클라우드 서버로 송신하거나 또는 단말장치(110)에 설치한 어플을 클라우드 서버의 가상 장체에 설치하도록 요청하는 어플 설치 요처 메시지를 송신한다.
도 6은 단말 장치에 가상 인터페이스를 이용해서 원격으로 어플을 실행하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 단말 장치(110)는 610단계에서 어플의 실행 이벤트를 감지하면, 612단계에서 해당 어플이 미신뢰 어플인지 여부를 확인한다. 이때, 미신뢰 어플의 확인방법은 해당 어플이 미신뢰 영영에 설치된 어플인지 여부를 확인하거나, 또는 미신뢰 리스트에 저장된 어플인지 여부를 확인해서 확인할 수 있따.
612단계의 확인결과 신뢰된 어플이면, 단말 장치(110)는 614단계에서 단말 장치(110) 내에서 설치된 어플을 실행한다.
612단계의 확인결과 미신뢰 어플이면, 단말 장치(110)는 616단계에서 미신뢰 어플이 실행될 때, 클라우드 서버에서 관리하는 가상 장치의 함수가 호출되도록 미신뢰 어플의 코드를 변경한다.
그리고, 단말 장치(110)는 620단계에서 변경된 미신뢰 어플의 코드에 따라 함수 호출 메시지를 클라우드 서버로 송신한다. 620단계에서 클라우드 서버로 함수 호출하는 방법은 RMI(Remote Method Invocation) 기술을 이용해서 구현될 수 있다. 여기서, RMI는 서로 다른 두 장치를 서로 호환되도록 해서, 원격으로 함수 호출을 제공하는 기술이다.
한편, 단말 장치(110)는 620단계에서 함수가 처리될 때 단말 가변 정보가 필요한 경우, 단말 가변 정보를 수집해서 함수 호출 메시지에 포함시켜 클라우드 서버(120)로 송신할 수 있다. 이때, 단말 가변 정보는 단말 장치의 위치 정보, 단말 장치가 접속중인 기지국 정보, 단말 장치가 접속중인 공유기 정보, 단말 장치의 자세정보 및 단말 장치에 포함된 센서에서 측정한 측정 정보 중에서 적어도 하나를 포함할 수 있다.
이후, 단말 장치(110)는 622단계에서 클라우드 서버로부터 실행결과를 수신하는 지 확인한다.
622단계의 확인결과 클라우드 서버로 버터 실행결과를 수신하면, 단말 장치(110)는 624단계에서 수신한 실행결과를 디스플레이한다.
622단계의 확인결과 클라우드 서버로 버터 실행결과를 수신하지 않으면, 단말 장치(110)는 본 알고리즘을 종료한다.
도 7은 클라우드 서버에서 가상 인터페이스를 이용해서 어플의 실행을 원격에서 제공하는 과정을 도시한 흐름도이다.
도 7을 참조하면, 클라우드 서버(120)는 미신뢰 어플이 실행될 가상 장치를 준비한다. 가상 장치의 준비에 대한 보다 상세한 설명은 이후 도 8을 통해 후술한다.
그리고, 클라우드 서버(120)는 712단계에서 함수 호출 메시지의 수신 여부를 확인한다.
712단계의 확인결과 함수 호출 메시지가 수신되면, 클라우드 서버(120)는 714단계에서 함수 호출 메시지를 송신 단말 장치에 대응하는 가상 장치로 함수 호출 메시지를 송신한다.
그리고, 클라우드 서버(120)는 716단계에서 가상 장치를 통해서 함수 호출 메시지에 포함된 함수 호출을 수행한다.
그리고, 클라우드 서버(120)는 718단계에서 함수 호출 결과 출력할 실행 결과가 존재하는지 확인한다.
718단계의 확인결과 출력할 실행결과가 존재하면, 클라우드 서버(120)는 720단계에서 실행결과를 단말 장치(110)로 송신한다.
도 8은 클라우드 서버에서 단말 장치에 대응하는 가상 장치를 생성하고 준비하는 과정을 도시한 흐름도이다.
도 8을 참조하면 클라우드 서버(120)는 810단계에서 단말 장치(110)로부터 백업 데이터를 수신하면, 812단계에서 수신한 백업 데이터를 이용해서 단말 장치(110)와 동일한 동작을 수행하는 가상 장치를 생성한다.
그리고, 클라우드 서버(120)는 814단계에서 단말 장치(110)로부터 업데이트 데이터를 수신하면, 816단계에서 수신한 업데이트 데이터를 이용해서 백업 데이터를 업데이트 하고, 812단계에서 생성한 가상 장치에 업데이트를 적용한다.
그리고, 클라우드 서버(120)는 818단계에서 단말 장치(110)로부터 어플 설치 요청을 수신하면, 820단계에서 요청받은 어플을 어플 공급 서버(130)로부터 다운받아서 가상 장치에 설치한다.
도 9는 신뢰 어플과 미신뢰 어플이 실행되는 과정을 간략하게 도시한 도면이다.
도 9를 참조하면, 신뢰 어플(910)과 미신뢰 어플(920)이 실행되는 과정이 다름을 확인 할 수 있다.
먼저, 신뢰 어플(910)이 실행되면 코드의 분기 여부를 확인하는 930단계에서 신뢰 어플인지 확인해서 신뢰 어플(910)이면 기존 OS(operating system) code(912)를 이용해서 914단계에서 단말 장치 내의 자원이 사용된다.
반면, 미신뢰 어플(920)이 실행되면 분기 여부를 확인하는 930단계에서 신뢰 어플인지 확인해서 미신뢰 어플(920)이면 수정된 OS code(922)로 코드가 분기된다.
수정된 OS code(922)는 RMI(Remote Method Invocation)(924) 등의 기술을 이용하여 단말 장치 상의 함수(method)가 아닌, 926단계에서 클라우드 서버 내의 가상장치 상의 OS code 내의 함수(method)가 호출되도록 하는 것입니다. 이때, 926단계에서 상장치 상의 OS code 내의 함수(method)가 호출되면 928단계에서 가상 장치 내의 자원을 사용해서 호출된 함수가 처리된다.
예를 들면, 다운로드 받은 app이 file_create(“a.txt”)와 같이 “a.txt”라는 파일을 생성하는 함수를 호출한다고 하고, file_create(“a.txt”)의 함수 내에서 OS(operating system) 함수(method)인 createNewFile() 함수를 호출하도록 되어 있다면, 신뢰되지 않은 app의 경우는 기존 OS(operating system) code를 수정하여 수정된 내용의 createNewFile() 함수를 호출하도록 하는 것입니다. 수정된 createNewFile() 함수는 다시 RMI(Remote Method Invocation)등을 이용하여, 가상 장치 상의 OS에 있는 createNewFile() 함수를 호출하게 됩니다. 이때, 가상 장치 상의 createNewFile() 함수는 당연히 단말 장치의 본래 OS 함수와 동일한 내용과 기능을 가지며, 단지 가상 장치 위에서 실행되었으므로 “a.txt”라는 파일은 단말 장치가 아닌 가상 장치 에 생성된다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Claims (18)
- 어플의 신뢰성을 평가하는 신뢰성 평가부;
어플 공급 서버로부터 상기 어플을 다운받는 어플 다운로드부;
상기 어플의 신뢰성이 기설정한 기준 이하이면, 상기 어플 다운로드부에서 다운받은 상기 어플을 미신뢰 영역에 설치하는 어플 설치부; 및
상기 미신뢰 영역에 설치된 상기 어플에 대한 실행을 요청받으면, 클라우드 서버에서 관리하는 가상 장치의 함수가 호출되도록 상기 어플의 코드를 변경하고, 변경된 상기 어플의 코드에 따라 함수 호출 메시지를 상기 클라우드 서버로 송신하는 가상 인터페이스부를 포함하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제1항에 있어서,
상기 가상 인터페이스부는,
상기 클라우드 서버로부터 상기 함수 호출 메시지에 대한 실행 결과를 수신하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제1항에 있어서,
상기 가상 인터페이스부는,
상기 함수 호출 메시지에 포함된 함수를 처리하기 위해 상기 단말 장치에서만 획득 가능한 정보인 단말 가변 정보가 필요한 경우, 상기 함수 호출 메시지에 포함된 상기 함수를 처리하기 위한 단말 가변 정보를 수집해서 상기 함수 호출 메시지에 포함시켜 상기 클라우드 서버로 송신하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제3항에 있어서,
상기 단말 가변 정보는,
상기 단말 장치의 위치 정보, 상기 단말 장치가 접속중인 기지국 정보, 상기 단말 장치가 접속중인 공유기 정보, 상기 단말 장치의 자세정보 및 상기 단말 장치에 포함된 센서에서 측정한 측정 정보 중에서 적어도 하나를 포함하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제1항에 있어서,
상기 어플 설치부는,
상기 클라우드 서버로부터 상기 어플이 안전하지 않다는 검사결과를 수신하면, 상기 미신뢰 영역에서 상기 어플을 삭제하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제1항에 있어서,
설치된 어플, 상기 설치된 어플의 변경이력 정보, 사용자 데이터 및 시스템 데이터 중에서 적어도 하나와 상기 미신뢰 영역에 포함된 데이터를 저장하는 메모리부; 및
상기 메모리부에 저장된 데이터 중에서 상기 미신뢰 영역에 포함된 데이터를 제외한 데이터를 백업 데이터로 생성해서 클라우드 서버로 송신하는 백업 처리부를 더 포함하는
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 제1항에 있어서,
상기 백업 데이터는,
상기 클라우드 서버에서 상기 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성할 때 필요로 하는 데이터인
클라우드 시스템에서 보안을 강화하는 단말 장치.
- 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성하는 가상 장치 처리부; 및
상기 단말 장치로부터 함수 호출 메시지를 수신하면, 상기 함수 호출 메시지에 포함된 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는 가상 인터페이스부를 포함하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 제8항에 있어서,
상기 가상 인테페이스부는,
상기 함수 호출 메시지에 따른 상기 가상 장치의 실행 결과를 상기 단말 장치로 송신하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 제8항에 있어서,
상기 가상 인터페이스부는,
상기 함수 호출 메시지와 함께 상기 단말 장치에서만 획득 가능한 정보인 단말 가변 정보를 수신하면, 상기 단말 가변 정보를 이용해서 상기 함수 호출 메시지에 포함된 상기 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 제10항에 있어서,
상기 단말 가변 정보는,
상기 단말 장치의 위치 정보, 상기 단말 장치가 접속중인 기지국 정보, 상기 단말 장치가 접속중인 공유기 정보, 상기 단말 장치의 자세정보 및 상기 단말 장치에 포함된 센서에서 측정한 측정 정보 중에서 적어도 하나를 포함하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 제8항에 있어서,
상기 가장 장치에 설치된 어플의 안전도를 검사하고, 검사결과를 상기 단말 장치로 송신하는 안전도 검사부를 더 포함하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 제8항에 있어서,
상기 단말 장치로부터 상기 단말 장치와 동일한 기능을 수행할 수 있는 상기 가상 장치를 생성할 때 필요로 하는 데이터인 백업 데이터를 수신해서 백업 데이터 저장부에 저장하는 백업 처리부를 더 포함하고,
상기 가상 장치 처리부는,
상기 단말 장치의 백업 데이터를 이용해서 상기 가상 장치를 생성하는
클라우드 시스템에서 보안을 강화하는 클라우드 서버.
- 어플의 신뢰성을 평가하는 단계;
어플 공급 서버로부터 상기 어플을 다운받는 단계;
상기 어플의 신뢰성이 기설정한 기준 이하이면, 다운받은 상기 어플을 미신뢰 영역에 설치하는 단계; 및
상기 미신뢰 영역에 설치된 상기 어플에 대한 실행을 요청받으면, 클라우드 서버에서 관리하는 가상 장치의 함수가 호출되도록 상기 어플의 코드를 변경하고, 변경된 상기 어플의 코드에 따라 함수 호출 메시지를 상기 클라우드 서버로 송신하는 단계를 포함하는
클라우드 시스템의 단말 장치에서 보안을 강화하는 방법.
- 제14항에 있어서,
상기 클라우드 서버로부터 상기 함수 호출 메시지에 대한 실행 결과를 수신하는 단계를 더 포함하는
클라우드 시스템의 단말 장치에서 보안을 강화하는 방법.
- 제14항에 있어서,
상기 어플을 미신뢰 영역에 설치하는 단계 이후에,
상기 클라우드 서버로부터 상기 어플이 안전하지 않다는 검사결과를 수신하면, 상기 미신뢰 영역에서 상기 어플을 삭제하는 단계를 더 포함하는
클라우드 시스템의 단말 장치에서 보안을 강화하는 방법.
- 단말 장치와 동일한 기능을 수행할 수 있는 가상 장치를 생성하는 단계; 및
상기 단말 장치로부터 함수 호출 메시지을 수신하면, 상기 함수 호출 메시지에 포함된 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는 단계를 포함하는
클라우드 시스템의 클라우드 서버에서 보안을 강화하는 방법.
- 제17항에 있어서,
상기 함수 호출 메시지에 포함된 함수가 상기 가상 장치 내에서 호출되어 처리되도록 하는 단계 이후에,
상기 함수 호출 메시지에 따른 상기 가상 장치의 실행 결과를 상기 단말 장치로 송신하는 단계를 더 포함하는
클라우드 시스템의 클라우드 서버에서 보안을 강화하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110090550A KR101281825B1 (ko) | 2011-09-07 | 2011-09-07 | 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 |
US13/466,655 US20130060890A1 (en) | 2011-09-07 | 2012-05-08 | Apparatus and method for providing application execution using a cloud system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110090550A KR101281825B1 (ko) | 2011-09-07 | 2011-09-07 | 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130027157A true KR20130027157A (ko) | 2013-03-15 |
KR101281825B1 KR101281825B1 (ko) | 2013-08-23 |
Family
ID=47754000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110090550A KR101281825B1 (ko) | 2011-09-07 | 2011-09-07 | 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130060890A1 (ko) |
KR (1) | KR101281825B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160123574A (ko) * | 2015-04-16 | 2016-10-26 | 삼성전자주식회사 | 외부 디바이스에게 태스크 실행을 요청하는 디바이스 및 그 방법 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826240B1 (en) | 2012-09-29 | 2014-09-02 | Appurify, Inc. | Application validation through object level hierarchy analysis |
US9015832B1 (en) | 2012-10-19 | 2015-04-21 | Google Inc. | Application auditing through object level code inspection |
US9113358B1 (en) | 2012-11-19 | 2015-08-18 | Google Inc. | Configurable network virtualization |
US9268668B1 (en) | 2012-12-20 | 2016-02-23 | Google Inc. | System for testing markup language applications |
US9274935B1 (en) | 2013-01-15 | 2016-03-01 | Google Inc. | Application testing system with application programming interface |
US9021443B1 (en) | 2013-04-12 | 2015-04-28 | Google Inc. | Test automation API for host devices |
US9268670B1 (en) | 2013-08-08 | 2016-02-23 | Google Inc. | System for module selection in software application testing including generating a test executable based on an availability of root access |
US9569618B2 (en) * | 2013-08-28 | 2017-02-14 | Korea University Research And Business Foundation | Server and method for attesting application in smart device using random executable code |
US9367415B1 (en) | 2014-01-20 | 2016-06-14 | Google Inc. | System for testing markup language applications on a device |
US9491229B1 (en) | 2014-01-24 | 2016-11-08 | Google Inc. | Application experience sharing system |
US9170922B1 (en) | 2014-01-27 | 2015-10-27 | Google Inc. | Remote application debugging |
US9654497B2 (en) * | 2015-04-04 | 2017-05-16 | International Business Machines Corporation | Virus-release-date-based priority virus scanning |
US9864655B2 (en) | 2015-10-30 | 2018-01-09 | Google Llc | Methods and apparatus for mobile computing device security in testing facilities |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4145118B2 (ja) * | 2001-11-26 | 2008-09-03 | 松下電器産業株式会社 | アプリケーション認証システム |
KR101085681B1 (ko) * | 2005-02-02 | 2011-11-22 | 삼성전자주식회사 | 이동통신 단말기의 데이터 복구 시스템 및 방법 |
US8738786B2 (en) * | 2006-05-18 | 2014-05-27 | Sanggyu Lee | Method for protecting client and server |
US8311985B2 (en) * | 2008-09-16 | 2012-11-13 | Quest Software, Inc. | Remote backup and restore system and method |
US8347386B2 (en) * | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
KR101069744B1 (ko) * | 2009-08-20 | 2011-10-04 | 브이피 주식회사 | 이동단말기의 애플리케이션 관리 방법 및 그를 위한 시스템 |
KR101102088B1 (ko) * | 2009-09-01 | 2012-01-04 | 주식회사 팬택 | 이동단말의 숨겨진 이벤트 제공장치 |
US8903773B2 (en) * | 2010-03-31 | 2014-12-02 | Novastor Corporation | Computer file storage, backup, restore and retrieval |
US8224957B2 (en) * | 2010-05-20 | 2012-07-17 | International Business Machines Corporation | Migrating virtual machines among networked servers upon detection of degrading network link operation |
KR101389682B1 (ko) * | 2011-08-25 | 2014-04-28 | 주식회사 팬택 | 바이러스 피해를 방지하는 시스템 및 방법 |
-
2011
- 2011-09-07 KR KR1020110090550A patent/KR101281825B1/ko active IP Right Grant
-
2012
- 2012-05-08 US US13/466,655 patent/US20130060890A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160123574A (ko) * | 2015-04-16 | 2016-10-26 | 삼성전자주식회사 | 외부 디바이스에게 태스크 실행을 요청하는 디바이스 및 그 방법 |
US10795988B2 (en) | 2015-04-16 | 2020-10-06 | Samsung Electronics Co., Ltd. | Device and method of requesting external device to execute task |
Also Published As
Publication number | Publication date |
---|---|
KR101281825B1 (ko) | 2013-08-23 |
US20130060890A1 (en) | 2013-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101281825B1 (ko) | 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 | |
KR101389682B1 (ko) | 바이러스 피해를 방지하는 시스템 및 방법 | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
CN108241500B (zh) | 一种硬件组件的修复方法、装置、***和存储介质 | |
CN107509187B (zh) | 一种应用程序的安装方法、移动终端及服务器 | |
WO2017071207A1 (zh) | 一种应用安装方法、相关装置及应用安装*** | |
CN102331946B (zh) | 应用程序的安装方法及*** | |
EP2806357A1 (en) | Method and communication device for updating a web application | |
JP2015092374A5 (ko) | ||
JP2012084159A5 (ko) | ||
RU2339076C2 (ru) | Выполнение неверифицированных программ в операционной среде устройства радиосвязи | |
JP2015092374A (ja) | 無線装置上のファームウェア照合を管理するための装置および方法 | |
JP2008547092A5 (ko) | ||
CN106709346B (zh) | 文件处理方法及装置 | |
KR20130105627A (ko) | 획득된 파일의 평판 검사 | |
CN105530130A (zh) | 一种空中下载技术的升级方法及装置 | |
KR101286711B1 (ko) | 모바일 단말기의 악성 프로그램 차단 시스템 및 그 방법 | |
KR20130066901A (ko) | 데이터 분석 시스템에서 맬웨어를 분석하기 위한 장치 및 방법 | |
KR101244037B1 (ko) | 휴대용 단말의 관리 방법 및 시스템 | |
CN105786636B (zh) | 一种***修复方法及装置 | |
US9430638B2 (en) | Authentication method, authentication apparatus and authentication device | |
CN110045969B (zh) | 应用程序安装方法、服务器、***、设备及存储介质 | |
CN104348578A (zh) | 数据处理的方法及装置 | |
CN106293821B (zh) | 获取及传输应用程序数据、运行应用程序的方法及装置 | |
CN102622254B (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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160601 Year of fee payment: 4 |