KR102413355B1 - 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버 - Google Patents

디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버 Download PDF

Info

Publication number
KR102413355B1
KR102413355B1 KR1020210061603A KR20210061603A KR102413355B1 KR 102413355 B1 KR102413355 B1 KR 102413355B1 KR 1020210061603 A KR1020210061603 A KR 1020210061603A KR 20210061603 A KR20210061603 A KR 20210061603A KR 102413355 B1 KR102413355 B1 KR 102413355B1
Authority
KR
South Korea
Prior art keywords
web page
application
screen
security service
user
Prior art date
Application number
KR1020210061603A
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 US17/382,181 priority Critical patent/US20220309151A1/en
Application granted granted Critical
Publication of KR102413355B1 publication Critical patent/KR102413355B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • 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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/12Application layer protocols, e.g. WAP [Wireless Application Protocol]
    • 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/032Protect output to user by software means
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 보안 서비스 제공 방법으로서, 상기 방법은, 사용자의 디바이스로부터 웹 페이지로의 연결이 가능한 링크를 수신하는 단계, 원격 브라우저를 통해 상기 링크와 대응되는 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하는 단계, 결정된 위험도에 따라 상기 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링하는 단계 및 상기 디바이스에 설치된 브라우저와 실질적으로 동일한 UX(user experience)를 제공하도록 상기 렌더링된 웹 페이지 화면을 스트리밍으로 전송하는 단계를 포함하도록 구성된다.

Description

디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버{METHOD OF PROVIDING SECURITY SERVICE TO DEVICES AND SERVER PERFORMING THE SAME}
본 발명은 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버에 관한 것이다.
오늘날 스마트폰, 태블릿과 같은 모바일 통신 가능한 스마트 디바이스의 발달과 보급이 확산되면서, 스마트 디바이스는 모바일 오피스, 스마트 뱅킹, 주식 거래, 전자 정부와 같은 민원 처리, 영화 예약 등의 각종 생활 편의 서비스, 모바일 인스턴트 메신저 서비스와 SNS(social networking service) 등에 폭넓게 활용되고 있다.
그 중에서도 모바일 인스턴스 메신저 서비스나 SNS는 스마트 디바이스를 사용하는 사용자라면 누구나 활용하는 서비스로, 단지 문자만을 보내고 받는 것이 아니라 URL(Uniform Resource Locator)을 문자 메시지에 넣어 전송할 수도 있다. 수신자는 스마트 다비이스에서 수신한 문자 메시지에 표시된 URL을 클릭하여 동영상, 이미지, 웹 페이지 등을 확인할 수 있다.
스마트 디바이스를 활용한 서비스가 발달할수록, 이와 더불어 이를 이용한 사기 수법도 다양해지고 있다. 대표적으로, 신뢰할 수 있는 사람 또는 기업이 보낸 문자 메시지인 것으로 가장하고, 사용자로 하여금 개인 정보를 빼내거나, 소액 결제를 유도하는 악성 코드와 연결된 URL을 클릭하도록 하는 스미싱이 존재한다.
발명의 배경이 되는 기술은 본 발명에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 발명의 배경이 되는 기술에 기재된 사항들이 선행기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.
악성 URL로부터 사용자의 개인 정보와 자산을 보호하기 위한 다양한 어플리케이션과 보안 기술들이 개발되었으나, 종래의 기술들은 스마트 디바이스(이하, 디바이스)에 보안 서비스를 제공하는 어플리케이션을 설치해야만 하는 불편함이 있다.
뿐만 아니라, 디바이스와 연결된 별도의 서버가 메시지의 안전성을 검토해주는 기술이 개시되었으나, 새로운 유형의 사기 수법일 경우 또는 새로운 유형의 안전 링크인 경우, 서버가 자체적으로 안전성을 검토해주기에 한계가 있다.
이에, 사용자가 선택한 URL을 별도의 브라우저에서 실행하여 디바이스 화면에 출력하되, 실행 화면이 사용자의 디바이스(모바일 웹브라우저 또는 어플리케이션)와 실질적으로 동일해지도록 하는 UX(User experience)를 제공하여, 디바이스로 이질감 없는 보안 서비스를 제공하는 방법이 요구된다.
그 결과, 본 발명의 발명자들은 사용자가 선택한 URL을 별도 서버의 격리된 브라우저 엔진을 통해 실행시키고, 격리된 브라우저에서 보여지는 화면을 렌더링하여 스트리밍함으로써, 사용자의 디바이스를 외부의 공격으로부터 보호할 수 있는 방법 및 이를 수행하는 서버를 개발하고자 하였다.
특히, 본 발명의 발명자들은 별도 서버에서 판단한 위험의 정도와 공유된 화면을 통해서 사용자가 자체적으로 판단한 결과를 이용하여, 디바이스가 해당 URL로 직접 접속할지 또는 연결을 해제할 지 선택함으로써, 서비스에 대한 사용자 신뢰도를 높일 수 있는 방법 이를 수행하는 서버를 개발하기에 이르렀다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 보안 서비스 제공 방법이 제공된다. 상기 방법은, 사용자의 디바이스로부터 웹 페이지로의 연결이 가능한 링크를 수신하는 단계, 원격 브라우저를 통해 상기 링크와 대응되는 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하는 단계, 결정된 위험도에 따라 상기 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링하는 단계 및 상기 디바이스에 설치된 브라우저와 실질적으로 동일한 UX(user experience)를 제공하도록 상기 렌더링된 웹 페이지 화면을 스트리밍으로 전송하는 단계를 포함하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 보안 서비스 제공 방법이 제공된다. 상기 방법은, 사용자의 디바이스로부터 어플리케이션의 호출이 가능한 식별 데이터를 수신하는 단계, 웹 컨테이너의 원격 브라우저를 통해 상기 식별 데이터에 대응되는 어플리케이션 링크의 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하는 단계, 결정된 위험도에 따라 상기 원격 브라우저에서 실행되는 어플리케이션의 접근 권한을 결정하는 단계, 상기 결정된 접근 권한에 따라 상기 원격 브라우저에서 처리되는 어플리케이션의 실행 화면을 렌더링하는 단계 및 상기 디바이스 또는 상기 디바이스에 설치된 상기 어플리케이션과 실질적으로 동일한 UX(user experience)를 제공하도록 상기 어플리케이션의 실행 화면을 스트리밍으로 전송하는 단계를 포함하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 또 다른 실시예에 따른 보안 서비스 제공 서버가 제공된다. 상기 서버는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 사용자의 디바이스로부터 웹 페이지로의 연결이 가능한 링크를 수신하고, 원격 브라우저를 통해 상기 링크와 대응되는 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하고, 결정된 위험도에 따라 상기 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링하고, 상기 디바이스에 설치된 브라우저와 실질적으로 동일한 UX(user experience)를 제공하도록 상기 렌더링된 웹 페이지 화면을 스트리밍으로 전송하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 또 다른 실시예에 따른 보안 서비스 제공 서버가 제공된다. 상기 서버는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 사용자의 디바이스로부터 어플리케이션의 호출이 가능한 식별 데이터를 수신하고, 원격 브라우저를 통해 상기 식별 데이터에 대응되는 어플리케이션 링크의 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하고, 결정된 위험도에 따라 상기 원격 브라우저에서 실행되는 어플리케이션의 접근 권한을 결정하고, 상기 결정된 접근 권한에 따라 상기 어플리케이션의 실행 화면을 렌더링하고, 상기 디바이스 또는 상기 디바이스에 설치된 상기 어플리케이션과 실질적으로 동일한 UX(user experience)를 제공하도록 상기 어플리케이션의 실행 화면을 스트리밍으로 전송하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 보안 서비스 제공 서버가 URL을 격리된 브라우저에서 실행시키고, 실행된 렌더링한 뒤, 디바이스로 스트리밍함으로써, 해당 URL에 포함된 악성 웹 페이지, 어플리케이션으로부터 사용자의 개인 정보 및 자산을 보호할 수 있다.
또한, 본 발명은 원격 브라우저에서 실행시킨 URL 화면을 디바이스와 실질적으로 동일한 UX(User experience)를 가질 수 있도록 렌더링하여, 스트리밍함으로써, 마치 디바이스에 설치된 기본 브라우저를 통해 URL에 접속한 것과 같은 자연스러운 보안 서비스를 제공할 수 있다.
또한, 본 발명은 사용자가 선택한 URL의 위험성을 단계적으로 구분해 주어, 사용자로 하여금 해당 URL의 안정성을 자체적으로 판단할 수 있도록 도움을 줄 수 있다.
또한, 본 발명은 악성 URL로부터 사용자의 디바이스를 보호하기 위해 별도의 보안 프로그램을 설치할 필요가 없다. 아울러, 디바이스를 악성 URL로부터 보호해주는 별도 서버의 경우에도, URL을 실행시키기 위한 격리된 브라우저 엔진만을 필요로 하기 때문에, 서비스를 제공하기 위한 개발 비용을 크게 절감할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 보안 서비스 제공 방법의 개요를 설명하기 위한 개략도이다.
도 3은 본 발명의 일 실시예에 따른 보안 서비스 제공 시스템의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 디바이스의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 보안 서비스 제공 서버의 구성을 나타낸 블록도이다.
도 6은 본 발명의 일 실시예에 따른 웹 페이지에 대한 보안 서비스 제공 방법의 개략적인 순서도이다.
도 7은 도 6에 도시된 S130 단계를 구체화한 순서도이다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 디바이스로 제공되는 보안 서비스 인터페이스 화면의 예시도이다.
도 9는 본 발명의 일 실시예에 따른 어플리케이션에 대한 보안 서비스 제공 방법의 개략적인 순서도이다.
도 10은 본 발명의 일 실시예에 따른 디바이스로 제공되는 어플리케이션에 대한 보안 서비스 인터페이스 화면의 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 보안 서비스 제공 방법의 개요를 설명하기 위한 개략도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 보안 서비스 제공 방법은 검증되지 않은 링크로부터 디바이스(100)를 보호하기 위한 방안을 제공해 줄 수 있다. 구체적으로, 보안 서비스 제공 서버(200)의 브라우저 엔진(200a)은 디바이스(100)에 설치된 기본 브라우저(로컬 브라우저) 보다 우선적으로 사용자가 선택한 링크에 접속할 수 있다.
이에 더하여, 본 발명의 일 실시예에서 보안 서비스 제공 서버(200)는 접속된 화면을 로컬 브라우저와 실질적으로 동일한 UX(User experience)를 제공할 수 있도록 렌더링한 뒤, 스트리밍할 수 있다.
여기서 실질적으로 동일한 UX의 제공이란, 예를 들어 URL 주소창 및 웹 페이지 표시 창을 표시함을 의미한다. 디바이스(100)는 보안 서비스 제공 서버(200)에서 렌더링한 웹페이지를 스트리밍하여 웹 페이지 표시 창을 표시할 수 있다. 따라서, 기술적으로 웹 페이지 표시 창은 종래의 브라우저와 기능적으로 상이할 수 있으나 동일한 UX를 제공한다. 나아가, 실질적으로 동일한 UX를 제공한다는 의미는 예를 들어, 세로 화면에서 가로 화면의 변동 등 디바이스(100)에서 표시가 변동되는 동작을 적용 및 스트리밍하여 동일한 방식으로 표시할 수 있다는 점도 포함할 수 있다.
즉, 본 발명의 일 실시예에서는, 보안 서비스 제공 서버(200)가 디바이스(100)를 대신하여, 링크에 접속한 뒤, 그 일련의 과정이 마치 디바이스(100)에서 진행되고 있는 것과 같은 사용자 경험을 제공할 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 보안 서비스 제공 방법은 검증되지 않은 어플리케이션으로 연결되는 링크로부터 디바이스(100)를 보호하기 위한 방안을 제공해 줄 수 있다. 예를 들어, 보안 서비스 제공 서버(200)의 안드로이드 엔진(200a)은 디바이스(100)에 설치된 어플리케이션 호환 프로그램 보다 우선적으로 어플리케이션 실행 또는 설치 링크에 접속할 수 있다.
아울러, 보안 서비스 제공 서버(200)는 안드로이드 엔진(200a)를 통해 실행 또는 설치된 안드로이드 앱(200b)의 화면/영상을 스트리밍할 수 있다. 다만, 보안 서비스 제공 서버(200)는 해당 링크의 위험도에 따라, 어플리케이션의 접근 권한을 일부 차단할 수 있다. 여기서, 접근 권한은 해당 어플리케이션에서 제공하는 기능에 대한 사용자의 접근 권한을 의미할 수 있다.
즉, 보안 서비스 제공 서버(200)는 사용자가 검증되지 않은 웹 페이지 또는 어플리케이션의 특정 기능을 수행함에 따라, 사용자의 개인 정보가 유출되는 상황을 방지할 수 있다.
도 3은 본 발명의 일 실시예에 따른 보안 서비스 제공 시스템의 구성을 나타낸 블록도이다.
도 3을 참조하면, 보안 서비스 제공 시스템(1000)은 디바이스(100), 보안 서비스 제공 서버(200) 및 위협 분석 데이터베이스(300)를 포함할 수 있다.
디바이스(100)는 사용자가 소지한 휴대 가능한 다양한 종류의 디바이스일 수 있다. 예를 들어, 디바이스(100)는 스마트 폰, PC, 태블릿 PC 등을 포함할 수 있다.
디바이스(100)는 사용자가 선택한 링크를 보안 서비스 제공 서버(200)로 전송할 수 있다. 링크는 이미지, 영상을 출력할 수 있는 링크이거나, 특정 사이트에 접속할 수 있는 링크이거나, 어플리케이션을 실행 또는 설치할 수 있는 링크일 수 있다.
보안 서비스 제공 서버(200)는 링크를 통해 웹 페이지에 접속하거나, 링크를 통해 어플리케이션을 실행하고, 접속된 화면 또는 실행된 화면을 스트리밍할 수 있다.
보안 서비스 제공 서버(200)는 접속된 화면의 제공 과정에서, 디바이스(100) 또는 디바이스(100)에 설치된 로컬 브라우저의 출력 데이터를 반영할 수 있다. 여기서, 출력 데이터란 디바이스(100)의 브라우저 어플리케이션에서 설정된 시각적, 청각적, 촉각적 출력 데이터일 수 있다. 예를 들어, 출력 데이터는 브라우저 어플리케이션의 해상도, 알람, 알림에 따른 진동의 패턴, 세기 등을 포함할 수 있다.
디바이스(100)는 스트리밍되고 있는 화면을 출력할 수 있으며, 사용자는 실제로 링크가 디바이스(100)를 통해서 실행된 것과 같은 경험을 할 수 있다.
한편, 보안 서비스 제공 서버(200)는 디바이스(100)로 접속된 모든 종류의 웹 페이지/어플리케이션을 스트리밍하여 제공하지 않고, 외부 위협으로부터 안전한 웹 페이지/어플리케이션만을 스트리밍하여 제공할 수 있다.
보안 서비스 제공 서버(200)는 접속된 웹 페이지의 위험도를 결정할 수 있으며, 결정된 위험도에 따라 상이한 웹 페이지 화면/어플리케이션 실행 화면을 스트리밍하여 제공할 수 있다.
보안 서비스 제공 서버(200)는 다양한 기준을 통해 링크의 위험도(웹 페이지의 위험도)를 결정할 수 있다. 대표적인 예로, 보안 서비스 제공 서버(200)는 링크에 포함된 도메인 또는 경로 이름이 보안 리스트 또는 차단 리스트에 등록되었는지 확인하고, 확인 결과에 따라 링크의 위험도를 결정할 수 있다.
실시예에 따라, 링크의 위험도는 “안전(Safe)(위험도 0)”“주의(Caution) (위험도 2)”““경고(Danger)(위험도 3)””의 기준을 가지고 결정될 수 있으며, 필요에 따라 보다 세분화된 지표로 구분될 수도 있다.
위협 분석 데이터베이스(300)는 보안 서비스 제공 서버(200)가 링크의 위험도를 결정하기 위한 각종 데이터를 저장할 수 있다. 위협 분석 데이터베이스(300)는 보안 확인에 필요한 데이터를 보안 서비스 제공 서버(200)로 송신할 수 있다. 예를 들어, 위협 분석 데이터베이스(300)는 보안 서비스 제공 서버(200)로 보안 리스트 또는 차단 리스트의 업데이트 내용을 송신할 수 있다. 다른 예를 들어, 위협 분석 데이터베이스(300)는 보안 서비스 제공 서버(200)로 위험 사이트의 접근 패턴, 위협 패턴 등을 송신할 수 있다.
이하에서는, 보안 서비스를 제공 받는 디바이스(100)의 구성과, 보안 서비스를 제공하는 보안 서비스 제공 서버(200)의 구성에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 디바이스의 구성을 나타낸 블록도이다. 이하에서는 설명의 편의를 위해 디바이스(100)는 모바일 디바이스인 것으로 설명하나 이에 제한되지 않고, TV 셋탑, 안드로이드 TV, 데스크탑 등을 포함할 수 있다.
도 4를 참조하면, 디바이스(100)는 메모리 인터페이스(110), 하나 이상의 프로세서(120) 및 주변 인터페이스(130)를 포함할 수 있다. 디바이스(100) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인에 의해 연결될 수 있다.
메모리 인터페이스(110)는 메모리(150)에 연결되어 프로세서(120)로 다양한 데이터를 전할 수 있다. 여기서, 메모리(150)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 운영 체제(151), 통신 모듈(152), 그래픽 사용자 인터페이스 모듈(GUI)(153), 센서 처리 모듈(154), 전화 모듈(155) 및 애플리케이션(156) 중 적어도 하나 이상을 저장할 수 있다. 구체적으로, 운영 체제(151)는 기본 시스템 서비스를 처리하기 위한 명령어 및 하드웨어 작업들을 수행하기 위한 명령어를 포함할 수 있다. 통신 모듈(152)은 다른 하나 이상의 디바이스, 컴퓨터 및 서버 중 적어도 하나와 통신할 수 있다. 그래픽 사용자 인터페이스 모듈(GUI)(153)은 그래픽 사용자 인터페이스를 처리할 수 있다. 센서 처리 모듈(154)은 센서 관련 기능(예를 들어, 하나 이상의 마이크(192)를 이용하여 수신된 음성 입력을 처리함)을 처리할 수 있다. 전화 모듈(155)은 전화 관련 기능을 처리할 수 있다. 애플리케이션 모듈(156)은 사용자 애플리케이션의 다양한 기능들, 예컨대 전자 메시징, 웹 브라우징, 미디어 처리, 탐색, 이미징, 기타 프로세스 기능을 수행할 수 있다. 아울러, 디바이스(100)는 메모리(150)에 어느 한 종류의 서비스와 연관된 하나 이상의 소프트웨어 애플리케이션(156-1, 156-2)을 저장할 수 있으며, 본 발명의 일 실시예에서, 소프트웨어 어플리케이션(156-1, 156-2)는 보안 서비스 제공 서버(200)가 스트리밍하는 웹 페이지 화면을 출력하고, 사용자의 선택에 따라, 보안 서비스의 활성화를 유지 또는 해제할 수 있는 어플리케이션일 수 있다. 여기서, 만약 보안 서비스의 활성화를 해제시킬 경우, 디바이스(100)는 메모리(150)에 저장된 기본 브라우저(다른 종류의 애플리케이션)를 통해 링크에 접속할 수 있다.
다양한 실시예에서, 메모리(150)는 디지털 어시스턴트 클라이언트 모듈(157)(이하, DA 클라이언트 모듈)을 저장할 수 있으며, 그에 따라 디지털 어시스턴트의 클라이언트 측의 기능을 수행하기 위한 명령어 및 다양한 사용자 데이터(158)(예. 사용자의 건강 상태 데이터, 사용자 맞춤형 어휘 데이터, 선호도 데이터, 할 일 목록 등과 같은 기타 데이터)를 저장할 수 있다.
한편, DA 클라이언트 모듈(157)은 디바이스(100)에 구비된 다양한 사용자 인터페이스(예. I/O 서브시스템(140))를 통해 사용자의 음성 입력, 텍스트 입력, 터치 입력 및/또는 제스처 입력을 획득할 수 있다.
또한, DA 클라이언트 모듈(157)은 시청각적, 촉각적 형태의 데이터를 출력할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 음성, 소리, 알림, 텍스트 메시지, 메뉴, 그래픽, 비디오, 애니메이션 및 진동 중 적어도 둘 하나 이상의 조합으로 이루어진 데이터를 출력할 수 있다. 아울러, DA 클라이언트 모듈(157)은 통신 서브시스템(180)을 이용하여 디지털 어시스턴트 서버(미도시)와 통신할 수 있다.
다양한 실시예에서, DA 클라이언트 모듈(157)은 사용자 입력과 연관된 상황(context)을 구성하기 위하여 다양한 센서, 서브시스템 및 주변 디바이스로부터 디바이스(100)의 주변 환경에 대한 추가 정보를 수집할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 사용자 입력과 함께 상황 정보를 디지털 어시스턴트 서버에 제공하여 사용자의 의도를 추론할 수 있다. 여기서, 사용자 입력에 동반될 수 있는 상황 정보는 센서 정보, 예를 들어, 광(lighting), 주변 소음, 주변 온도, 주변 환경의 이미지, 비디오 등을 포함할 수 있다. 다른 예를 들어, 상황 정보는 디바이스(100)의 물리적 상태(예. 디바이스 배향, 디바이스 위치, 디바이스 온도, 전력 레벨, 속도, 가속도, 모션 패턴, 셀룰러 신호 강도 등)을 포함할 수 있다. 또 다른 예를 들어, 상황 정보는 디바이스(100)의 소프트웨어 상태에 관련된 정보(예. 디바이스(100)에서 실행 중인 프로세스, 설치된 프로그램, 과거 및 현재 네트워크 활동성, 백그라운드 서비스, 오류 로그, 리소스 사용 등)를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 추가 또는 삭제된 명령어를 포함할 수 있으며, 나아가 디바이스(100)도 도 4에 도시된 구성 외에 추가 구성을 포함하거나, 일부 구성을 제외할 수도 있다.
프로세서(120)는 메모리 인터페이스(110), 주변 인터페이스(130) 및 I/O 서브 시스템(140)과 연결되어 디바이스(100)의 전반적인 동작을 제어할 수 있으며, 메모리(150)에 저장된 저장된 어플리케이션 또는 프로그램을 구동하여 내면 집중력을 훈련하기 위한 다양한 명령들을 수행할 수 있다.
프로세서(120)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(120)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다.
실시예에 따라, 프로세서(120)는 사용자에 의해 선택된 링크를 보안 서비스 제공 서버(200)로 송신할 수 있으며, 보안 서비스 제공 서버(200)가 스트리밍으로 전송하는 웹 페이지를 출력(스트리밍)할 수 있다.
프로세서(120)는 SMS, MMS로부터 링크를 획득하거나, 디바이스(100)에 설치된 어플리케이션을 통해 링크를 획득할 수 있다. 다시 말하자면, 링크는 문자 메시지에 포함될 수 있으며, 다른 사용자가 메신저(어플리케이션)를 통해 보낸 대화 내용 속에 포함될 수 있다.
한편, 링크는 “프로토콜://도메인 이름:포트”(예. http://www.example.com: 80/path/to)와 같은 기본적인 구조를 가지고 터치 스크린(143)에 표시되거나, “SSG.COM”과 같이 프로토톨과 기타 구성을 드러내지 않는 구조로 터치 스크린(143)에 표시될 수 있다.
주변 인터페이스(130)는 다양한 센서, 서브 시스템 및 주변 디바이스와 연결되어, 디바이스(100)가 다양한 기능을 수행할 수 있도록 데이터를 제공해 줄 수 있다. 여기서, 디바이스(100)가 어떠한 기능을 수행한다는 것은 프로세서(120)에 의해 수행되는 것으로 이해될 수 있다.
주변 인터페이스(130)는 모션 센서(160), 조명 센서(광 센서)(161) 및 근접 센서(162)로부터 데이터를 제공 받을 수 있으며, 이를 통해, 디바이스(100)는 배향, 광, 및 근접 감지 기능 등을 수행할 수 있다. 다른 예를 들어, 주변 인터페이스(130)는 기타 센서들(163)(포지셔닝 시스템-GPS 수신기, 온도 센서, 생체인식 센서)로부터 데이터를 제공 받을 수 있으며, 이를 통해 디바이스(100)가 기타 센서들(163)과 관련된 기능들을 수행할 수 있다.
다양한 실시예에서, 디바이스(100)는 주변 인터페이스(130)와 연결된 카메라 서브시스템(170) 및 이와 연결된 광학 센서(171)를 포함할 수 있으며, 이를 통해 디바이스(100)는 사진 촬영 및 비디오 클립 녹화 등의 다양한 촬영 기능을 수행할 수 있다.
다양한 실시예에서, 디바이스(100)는 주변 인터페이스(130)와 연결된 통신 서브 시스템(180)을 포함할 수 있다. 통신 서브 시스템(180)은 하나 이상의 유/무선 네트워크로 구성되며, 다양한 통신 포트, 무선 주파수 송수신기, 광학 송수신기를 포함할 수 있다.
다양한 실시예에서, 디바이스(100)는 주변 인터페이스(130)와 연결된 오디오 서브 시스템(190)을 포함하며, 이러한 오디오 서브 시스템(190)은 하나 이상의 스피커(191) 및 하나 이상의 마이크(192)를 포함함으로써, 디바이스(100)는 음성 작동형 기능, 예컨대 음성 인식, 음성 복제, 디지털 녹음, 및 전화 기능 등을 수행할 수 있다.
다양한 실시예에서, 디바이스(100)는 주변 인터페이스(130)와 연결된 I/O 서브시스템(140)을 포함할 수 있다. 예를 들어, I/O 서브시스템(140)은 터치 스크린 제어기(141)를 통해 디바이스(100)에 포함된 터치 스크린(143)을 제어할 수 있다. 일 예로서, 터치 스크린 제어기(141)는 정전용량형, 저항형, 적외형, 표면 탄성파 기술, 근접 센서 어레이 등과 같은 복수의 터치 감지 기술 중 어느 하나의 기술을 사용하여 사용자의 접촉 및 움직임 또는 접촉 및 움직임의 중단을 검출할 수 있다. 다른 예를 들어, I/O 서브시스템(140)은 기타 입력 제어기(들)(142)를 통해 디바이스(100)에 포함된 기타 입력/제어 디바이스(144)를 제어할 수 있다. 일 예로서, 기타 입력 제어기(들)(142)은 하나 이상의 버튼, 로커 스위치(rocker switches), 썸 휠(thumb-wheel), 적외선 포트, USB 포트 및 스타일러스 등과 같은 포인터 디바이스를 제어할 수 있다.
도 5는 본 발명의 일 실시예에 따른 보안 서비스 제공 서버의 구성을 나타낸 블록도이다.
도 5를 참조하면, 보안 서비스 제공 서버(200)는 통신 인터페이스(210), 메모리(220), I/O 인터페이스(230) 및 프로세서(240)를 포함할 수 있으며, 각 구성은 하나 이상의 통신 버스 또는 신호 라인을 통해 서로 통신할 수 있다.
통신 인터페이스(210) 유/무선 통신 네트워크를 통해 디바이스(100) 및 위협 분석 데이터베이스(300)와 연결되어 데이터를 주고 받을 수 있다. 예를 들어, 통신 인터페이스(210)는 디바이스(100)로부터 출력 데이터, 링크에 대한 접속 데이터, 키/마우스 입력 데이터, 텍스트를 수신하거나, 위협 분석 데이터베이스(300)로부터 보안 리스트 또는 차단 리스트의 업데이트 내용을 수신할 수 있다. 다른 예를 들어, 통신 인터페이스(210)는 디바이스(100)로 웹 페이지 화면을 스트리밍으로 전송할 수 있으며, 여기서 웹 페이지 화면은 텍스트를 기초로 생성된 입력 객체를 포함하고, 앞서 수신된 출력 데이터가 적용되어 있을 수 있다.
한편, 이러한 데이터의 송수신을 가능하게 하는 통신 인터페이스(210)는 유선 통신 포트(211) 및 무선 회로(212)를 포함하며, 여기 유선 통신 포트(211)는 하나 이상의 유선 인터페이스, 예를 들어, 이더넷, 범용 직렬 버스(USB), 파이어와이어 등을 포함할 수 있다. 또한, 무선 회로(212)는 RF 신호 또는 광학 신호를 통해 외부 디바이스와 데이터를 송수신할 수 있다. 아울러, 무선 통신은 복수의 통신 표준, 프로토콜 및 기술, 예컨대 GSM, EDGE, CDMA, TDMA, 블루투스, Wi-Fi, VoIP, Wi-MAX, 또는 임의의 기타 적합한 통신 프로토콜 중 적어도 하나를 사용할 수 있다.
메모리(220)는 보안 서비스 제공 서버(200)에서 사용되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 보안 서비스를 제공 중인 디바이스(100)의 식별 정보를 저장하고, 디바이스(100) 각각의 출력 데이터를 저장할 수 있다. 또한, 위협 분석 데이터베이스(300)를 대신하여, 보안 리스트와 차단 리스트를 저장하고, 다른 디바이스(100) 또는 관리자를 통해 새롭게 업데이트된 보안 내용을 저장할 수 있다.
다양한 실시예에서, 메모리(220)는 각종 데이터, 명령 및 정보를 저장할 수 있는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(220)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(220)는 운영 체제(221), 통신 모듈(222), 사용자 인터페이스 모듈(223) 및 하나 이상의 애플리케이션(224) 중 적어도 하나의 구성을 저장할 수 있다.
운영 체제(221)(예. LINUX, UNIX, MAC OS, WINDOWS, VxWorks 등의 내장형 운영 체제)는 일반적인 시스템 작업(예. 메모리 관리, 저장 디바이스 제어, 전력 관리 등)를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및 드라이버를 포함할 수 있으며, 다양한 하드웨어, 펌웨어, 및 소프트웨어 컴포넌트 간의 통신을 지원할 수 있다.
통신 모듈(223)은 통신 인터페이스(210)를 통해 다른 디바이스와 통신을 지원할 수 있다. 통신 모듈(220)은 통신 인터페이스(210)의 유선 통신 포트(211) 또는 무선 회로(212)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 구성 요소들을 포함할 수 있다.
사용자 인터페이스 모듈(223)은 I/O 인터페이스(230)를 통해 키보드, 터치 스크린, 마이크 등으로부터 사용자의 요청 또는 입력을 수신하고, 디스플레이 상에 사용자 인터페이스를 제공할 수 있다.
애플리케이션(224)은 하나 이상의 프로세서(240)에 의해 실행되도록 구성되는 프로그램 또는 모듈을 포함할 수 있다. 여기서, 보안 서비스를 제공하기 위한 애플리케이션은 서버 팜(server farm) 상에서 될 수 있다.
I/O 인터페이스(230)는 보안 서비스 제공 서버(200)의 입출력 디바이스(미도시), 예컨대 디스플레이, 키보드, 터치 스크린 및 마이크 중 적어도 하나를 사용자 인터페이스 모듈(223)과 연결할 수 있다. I/O 인터페이스(230)는 사용자 인터페이스 모듈(223)과 함께 사용자 입력(예. 음성 입력, 키보드 입력, 터치 입력 등)을 수신하고, 수신된 입력에 따른 명령을 처리할 수 있다.
프로세서(240)는 통신 인터페이스(210), 메모리(220) 및 I/O 인터페이스(230)와 연결되어 보안 서비스 제공 서버(200)의 전반적인 동작을 제어할 수 있으며, 메모리(220)에 저장된 애플리케이션 또는 프로그램을 통해 디바이스(100)에 설치된 브라우저와 실질적으로 동일한 UX를 가진 웹 페이지 화면을 제공하게 하는 다양한 명령들을 수행할 수 있다.
프로세서(240)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(240)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다. 또는 프로세서(240)는 NPU(Neural Processing Unit)과 같이 인공 신경망 모델을 계산하기 위한 모듈을 포함할 수 있다.
이하에서는, 프로세서(240)가 검증되지 않은 링크로부터 디바이스(100)를 보호할 수 있는 보안 서비스 제공 방법에 대하여 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 웹 페이지에 대한 보안 서비스 제공 방법의 개략적인 순서도이다.
도 6을 참조하면, 디바이스(100)는 링크를 포함하는 메시지를 획득할 수 있다(S110). 예를 들어, 디바이스(100)는 텍스트만을 담고 있는 SMS(Short Message Service), 이미지, 영상 등의 멀티미디어 파일이 첨부 가능한 MMS(Multimedia Message Service)를 획득할 수 있으며, SMS와 MMS는 링크를 포함할 수 있다. 다른 예를 들어, 디바이스(100)는 메신저 서비스 어플리케이션(예. 라인), 소셜 네트워크 서비스 어플리케이션(예. 페이스북, 인스타그램)을 통해 다른 사용자로부터 링크를 포함하는 메시지를 획득할 수 있다.
S110 단계 이후, 디바이스(100)는 사용자가 선택한 링크를 보안 서비스 제공 서버(200)로 송신할 수 있다(S120). 그에 따라, 서비스 제공 서버(200)의 프로세서(240)는 통신 인터페이스(210)를 통해 웹 페이지로의 연결이 가능한 링크를 수신할 수 있다.
S120 단계 이후, 보안 서비스 제공 서버(200)의 프로세서(240)는 원격 브라우저 통해 링크에 대응되는 웹 페이지로 접속할 수 있으며, 접속된 웹 페이지의 위험도를 결정할 수 있다(S130). 그리고, 프로세서(240)는 결정된 위험도에 따라 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링할 수 있다(S140). 즉, 프로세서(240)는 디바이스(100)와 웹 페이지의 화면을 실시간 공유할 수 있도록, 웹 페이지의 화면을 스트리밍 가능한 형태로 변경시킬 수 있다.
실시예에 따라, 프로세서(240)는 메모리(220)에 저장된 리스트를 통해 웹 페이지의 위험도를 결정할 수 있다. 구체적으로, 프로세서(240)는 링크에 포함된 도메인 또는 경로 이름이 보안 리스트 또는 차단 리스트에 등록되었는지 여부에 따라 웹 페이지의 위험도를 결정할 수 있다. 이 외에도, 프로세서(240)는 링크에 포함된 어느 하나의 문구(한글, 영어, 숫자 및 특수문자 중 적어도 하나를 포함하는 문구)가 보안 리스트 또는 차단 리스트에 등록되었는지 여부에 따라 웹 페이지의 위험도를 결정할 수 있다.
다른 실시예에 따라, 프로세서(240)는 접속된 웹 페이지에서 자동으로 디바이스(100)에 액세스(Access)를 시도하는지 확인하고, 확인 결과에 따라 웹 페이지의 위험도를 결정할 수 있다. 보다 구체적으로, 프로세서(240)는 접속된 웹 페이지에서 디바이스(100)의 접근 권한을 자동으로 획득하고자 하는지, 접속된 웹 페이지에서 디바이스(100)에 저장된 사용자 데이터 또는 로컬 데이터를 자동으로 수집하고자 하는지 확인할 수 있다.
즉, 프로세서(240)는 웹 페이지가 사용자의 허용 없이 사용자와 연관된 데이터를 획득하기 위한 동작을 수행할 경우, 해당 웹 페이지가 안전하지 않은 것으로 간주할 수 있다.
다양한 실시예에 따라, 프로세서(240)는 웹 페이지의 위험도를 “안전(Safe)(위험도 0)”“주의(Caution) (위험도 2)”““경고(Danger)(위험도 3)”” 3 단계로 구분하고, 접속된 웹 페이지의 위험도를 결정할 수 있다.
한편, 프로세서(240)는 앞서 결정된 위험도에 따라, 웹 페이지의 화면을 처리할 수 있다. 프로세서(240)는 웹 페이지의 위험도를 “”으로 결정한 경우, 접속된 웹 페이지의 화면을 그대로 사용자에게 제공할 수 있다. 프로세서(240)는 웹 페이지의 위험도를 “1, 2”로 결정한 경우, 접속된 웹 페이지의 화면을 전체 또는 일부 삭제 처리할 수 있다.
프로세서(240)는 결정된 위험도에 따라, 처리되는 웹 페이지 화면에 보안 서비스의 활성화 해제 요청을 포함할 수 있다. 만약, 통신 인터페이스(210)를 통해 보안 서비스의 활성화 해제 요청을 수신하는 경우, 프로세서(240)는 원격 브라우저를 종료하고, 디바이스(100)에 설치된 브라우저로 링크로의 접속 요청을 송신할 수 있다.
프로세서(240)는 다양한 방법 중 하나의 방법을 선택하여 웹 페이지의 위험도를 결정할 수 있으며, 아래의 도 7에 도시된 순서대로 웹 페이지의 위험도를 결정할 수도 있다.
도 7은 도 6에 도시된 S130 단계를 구체화한 순서도이고, 도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 디바이스로 제공되는 보안 서비스 인터페이스 화면의 예시도이다.
도 7을 참조하면, 프로세서(240)는 링크에 포함된 도메인 또는 주소가 보안 리스트 또는 차단 리스트에 등록되었는지 확인할 수 있다(S131).
만약 확인 결과, 링크에 포함된 도메인 또는 주소가 보안 리스트에 등록된 경우, 프로세서(240)는 디바이스(100)로 접속된 웹 페이지의 화면을 그대로 사용할 수 있다(S132).
이와 관련하여, 도 8a를 참조하면, 디바이스(100)는 보안 서비스 제공 서버(200)를 통해 링크에 대응되는 웹 페이지의 접속 화면을 출력할 수 있다. 도 8a는 링크에 포함된 도메인 또는 주소가 보안 리스트에 등록된 경우에 출력되는 화면(81)의 예시도이다. 디바이스(100)에 출력되는 화면(81)의 일 영역에는 보안 서비스가 제공 중임을 표시할 수 있는 안내창(82)과 보안 서비스의 활성화를 해제할 수 있는 버튼(83)이 제공될 수 있다.
실시예에 따라, 해당 링크가 보안 서비스 제공 서버(200)에서 제공 중임을 사용자가 인지할 수 없도록, 안내창(82)은 화면(81)의 일 영역에 숨김 표시될 수도 있다.
이와 반대로, 링크에 포함된 도메인 또는 주소가 차단 리스트에 등록된 경우, 프로세서(240)는 접속된 웹 페이지의 화면을 삭제하고, 접속 불가 메시지를 삽입할 수 있다. 도 8b 및 도 8c는 링크에 포함된 도메인 또는 주소가 차단 리스트에 등록된 경우에 출력되는 화면의 예시도이다. 디바이스(100)에 출력되는 화면(84)의 일 영역에는 보안 서비스가 제공 중임을 표시할 수 있는 안내창(85)(88)과 접속 불가 메시지(87)가 제공될 수 있다.
프로세서(240)는 위험도의 등급에 따라 보안 서비스의 활성화를 해제할 수 있는 권한을 사용자에게 제공하지 않을 수 있다.
다시 도 7을 참조하면, 프로세서(240)는 웹 페이지 내에서 자동으로 디바이스(100)의 데이터를 수집하고자 하는지 확인할 수 있다(S134). 사용자의 허가 없는 데이터 수집 시도가 발견되지 않는 경우, 프로세서(240)는 보안 서비스의 활성화를 해제할 수 있는 버튼을 삽입할 수 있다(S135). 예를 들어, 도 8b와 같이, 프로세서(240)는 안내창(85) 속에 보안 서비스의 활성화를 해제할 수 있는 버튼(86)을 활성화시켜 제공할 수 있다.
반대로, 사용자의 허가 없는 데이터 수집 시도가 발견되는 경우, 프로세서(240)는 속에 보안 서비스의 활성화를 해제할 수 있는 버튼을 비활성화시킨 상태로 삽입할 수 있다(S136). 예를 들어, 도 8c와 같이, 프로세서(240)는 안내창(88) 속에 보안 서비스의 활성화를 해제할 수 있는 버튼(89)을 비활성화시켜 제공할 수 있다.
다시 도 6을 참조하면, 프로세서(240)는 프로세서(240)는 렌더링된 웹 페이지 화면을 스트리밍으로 전송할 수 있다(S150). 프로세서(240)는 디바이스(100)에 설치된 기본 브라우저와 실질적으로 동일한 UX를 제공할 수 있다. 즉, 프로세서(240)는 사용자가 현재 보안 서비스를 이용 중인 것을 인지할 수 없도록, 디바이스(100)에 설치된 기본 브라우저와 실질적으로 동일한 형태의 화면을 디바이스(100)로 제공할 수 있다.
이를 위해, 프로세서(240)는 웹 페이지의 화면을 렌더링하기 이전에, 디바이스(100)로부터 기본 브라우저(디바이스에 설치된 브라우저)의 출력 데이터 또는 디바이스(100)의 출력 데이터를 획득할 수 있다. 여기서, 출력 데이터는 디바이스(100) 또는 기본 브라우저의 해상도, 글꼴 설정, 페이지 확대/축소 설정, 언어 설정, 탭 설정, 화면 회전 설정 등 시각적, 청각적으로 확인 가능한 다양한 종류의 출력 데이터를 포함할 수 있다.
프로세서(240)는 원격 브라우저에서 처리되는 웹 페이지 화면에 획득된 출력 데이터를 적용시킬 수 있다. 예를 들어, 프로세서(240)는 웹 페이지 화면의 글꼴, 해상도를 변경시킬 수 있다.
즉, 프로세서(240)는 링크가 마치 디바이스(100)의 브라우저에서 실행된 것과 같은 웹 페이지 화면을 제공할 수 있다.
S150 단계 이후, 디바이스(100)는 보안 서비스 제공 서버(200)가 전송하는 웹 페이지를 실시간으로 스트리밍할 수 있다(S160). 보안 서비스 제공 서버(200)에 의해 스트리밍이 진행되는 동안, 디바이스(100)와 보안 서비스 제공 서버(200)는 웹 페이지 화면을 공유할 수 있다. 또한, 프로세서(240)는 디바이스(100)로부터 보안 서비스의 활성화 해제 요청을 수신하기 전까지, 디바이스(100)로 웹 페이지 화면을 계속해서 스트리밍으로 전송할 수 있다.
S160 단계 이후, 디바이스(100)는 웹 페이지 화면 내 사용자 조작 데이터를 획득하고, 획득된 사용자 조작 데이터를 보안 서비스 제공 서버(200)로 전송할 수 있다(S170). 즉, 사용자는 디바이스(100)가 아닌 보안 서비스 제공 서버(200)를 통해 링크에 접속한 상태를 유지하면서, 현재 웹 페이지 또는 새로운 웹 페이지를 탐색할 수 있다. 프로세서(240)는 사용자의 웹 페이지 탐색 과정을 사용자 조작 데이터를 통해 확인할 수 있다.
구체적으로, 프로세서(240)는 웹 페이지 화면을 통해 사용자의 키, 마우스 입력 데이터를 획득하거나, 디바이스(100)의 모션 데이터를 획득할 수 있다. 예를 들어, 프로세서(240)는 통신 인터페이스(210)를 통해 웹 페이지 화면 내 우클릭, 좌클릭 입력 데이터, 좌/우클릭에 따라 선택된 데이터, 확대/축소 입력 데이터, 검색을 위해 입력된 텍스트 데이터 등을 획득할 수 있다. 다른 예를 들어, 보안 프로세서(240)는 통신 인터페이스(210)를 통해 디바이스(100)가 세로에서 가로로 전환되는 모션 데이터를 획득할 수 있다.
한편, 텍스트 데이터의 경우, 디바이스(100)에 설치된 입력기를 통해 획득될 수 있다. 예를 들어, 키 입력 데이터는 디바이스(100)의 터치 스크린(143)에 표시되는 가상 키보드를 통해 획득되거나, 디바이스(100)에 연결된 기타 입력/제어 디바이스들(144)(키보드)를 통해 획득될 수 있다.
프로세서(240)는 디바이스(100)로 전송된 웹 페이지 화면에서 가상 입력창의 위치를 검출할 수 있다. 구체적으로, 프로세서(240)는 웹 페이지 화면의 소스 코드를 분석하여, 텍스트 표시가 가능한 INPUT 영역을 검출할 수 있으며, INPUT 영역을 가상 입력창의 위치로 지정할 수 있다.
이후, 프로세서(240)는 디바이스(100)에서 획득되어, 가상 입력창의 위치로 입력되는 텍스트를 수신할 수 있다. 프로세서(240)는 웹 페이지 화면을 렌더링하는 과정에서, 수신된 텍스트를 포함하는 입력 객체를 생성한 뒤, 가상 입력창의 위치에 이를 스트리밍으로 전송할 수 있다.
즉, 프로세서(240)는 사용자가 입력하고자 하는 텍스트의 종류(예. 한국어, 영어, 중국어, 러시아어 등)에 맞는 텍스트 입력기를 구비할 필요 없이, 디바이스(100)로부터 획득된 텍스트를 그대로 영상화할 수 있다.
S170 단계 이후, 프로세서(240)는 사용자 조작 데이터(입력 데이터/모션 데이터) 획득에 따라, 웹 페이지를 처리할 수 있다(S180). 예를 들어, 프로세서(240)는 새로운 웹 페이지로 이동하거나, 출력 데이터에 맞게 웹 페이지 화면을 변경시킬 수 있다.
S180 단계 이후, 프로세서(240)는 통신 인터페이스(210)를 통해 웹 페이지의 화면을 디바이스(100)로 전송하기 이전에, 해당 화면을 모니터링할 수 있다(S190).
보안 서비스 제공 서버(200)는 새로운 웹 페이지로 이동하게 될 경우, S130 단계와 동일하게 새로운 웹 페이지 화면의 위험도 결정할 수 있다(S200). 그리고, 프로세서(240)는 결정된 위험도에 따라, 웹 페이지의 화면을 그대로 또는 일부 삭제한 뒤, 디바이스(100)로 전송할 수 있다. S150 단계와 동일하게, 프로세서(240)는 처리되는 웹 페이지의 화면을 렌더링하고, 디바이스(100)로 렌더링된 웹 페이지 화면을 스트리밍으로 전송할 수 있다.
S160 내지 S200 단계를 통해, 사용자는 디바이스(100)가 아닌 보안 서비스 제공 서버(200)를 통해 링크에 접속한 상태를 유지하면서, 새롭게 이동하게 되는 웹 페이지의 위험도를 검토 받을 수 있다.
S200 단계 이후, 디바이스(100)는 사용자의 선택에 따라 보안 서비스 활성화 해제 또는 종료시킬 수 있다(S210). 예를 들어, 디바이스(100)는 “원격 해제”에 대응되는 입력 데이터를 획득할 경우, 이를 보안 서비스 제공 서버(200)로 제공할 수 있다. 그에 따라, 보안 서비스 제공 서버(200)의 프로세서(240)는 원격 브라우저를 종료하고, 디바이스(100)에 설치된 브라우저로 링크로의 접속 요청을 송신할 수 있다. 다른 예를 들어, 디바이스(100)는 “종료”에 대응되는 입력 데이터를 획득할 경우, 보안 서비스 제공 서버(200)와의 연결을 종료할 수 있다.
지금까지, 보안 서비스 제공 서버(200)의 프로세서(240)를 통해 검증되지 않은 링크로부터 디바이스(100)를 보호할 수 있는 방법에 대해서 설명하였다.
이하에서는, 보안 서비스 제공 서버(200)의 프로세서(240)를 통해 검증되지 않은 어플리케이션으로부터 디바이스(100)를 보호할 수 있는 방법에 대하여 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 어플리케이션에 대한 보안 서비스 제공 방법의 개략적인 순서도이고, 도 10은 본 발명의 일 실시예에 따른 디바이스로 제공되는 어플리케이션에 대한 보안 서비스 인터페이스 화면의 예시도이다.
도 9를 참조하면, 사용자의 디바이스(100)는 어플리케이션 실행/설치 링크를 포함하는 메시지를 획득할 수 있다(S310).
실시예에 따라, 디바이스(100)는 링크를 포함하는 SMS 또는 MMS를 획득하거나, 메신저 서비스 어플리케이션, 소셜 네트워크 서비스 어플리케이션을 통해 다른 사용자로부터 링크를 포함하는 메시지를 획득할 수 있다.
다른 실시예에 따라, 디바이스(100)는 기본 브라우저를 통해 접속한 웹 페이지 내에서 어플리케이션 실행/설치 링크를 포함하는 메시지를 획득하거나, 메시지 없이 링크만을 획득할 수도 있다.
S310 단계 이후, 디바이스(100)는 사용자로부터 특정 링크를 선택 받고(S320), 링크를 링크를 보안 서비스 제공 서버(200)로 송신할 수 있다(S330). 그에 따라, 서비스 제공 서버(200)의 프로세서(240)는 통신 인터페이스(210)를 통해 어플리케이션의 호출이 가능한 식별 데이터를 수신할 수 있다. 구체적으로, 식별 데이터는 어플리케이션에 대한 패키지 ID(Package ID)이거나, 어플리케이션에 대한 설치 링크일 수 있다.
S330 단계 이후, 프로세서(240)는 원격 어플리케이션을 통해 식별 데이터에 대응되는 어플리케이션 링크의 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정할 수 있다(S340). 그리고, 프로세서(240)는 결정된 위험도에 따라 원격 어플리케이션에서 실행되는 어플리케이션의 접근 권한을 결정할 수 있다(S350).
예를 들어, 어플리케이션 링크가 어플리케이션 설치 링크인 경우, 프로세서(240)는 접속된 웹 페이지 화면을 디바이스(100)로 제공할 것인지 여부를 결정할 수 있다.
다른 예를 들어, 어플리케이션 링크가 어플리케이션 실행 링크인 경우, 프로세서(240)는 실행된 어플리케이션에서 위험도에 따라 각 기능 별로 접근 권한을 결정할 수 있다. 구체적으로, 프로세서(240)는 디바이스(100)에 출력될 어플리케이션의 실행 화면 속에서 기능 별로 접근 권한을 결정할 수 있다. 구체적으로, 프로세서(240)는 위험도가 높은 어플리케이션의 경우, 사용자 정보와 연동되는 기능의 접근 권한을 차단할 수 있다.
실시예에 따라, 원격 어플리케이션의 실행은 보안 서비스 제공 서버(200)에 구비된 가상 머신에서 구동될 수 있다. 예를 들어 도 10에서 보여지는 영상 스트리밍 서비스를 제공하는 어플리케이션은 가상 머신에서 구동되고, 디바이스(100)에서는 가상 머신에서 구동되는 어플리케이션의 화면을 스트리밍 받아서 표시한다.
이와 관련하여, 도 10을 참조하면, 영상 스트리밍 서비스를 제공하는 어플리케이션 실행 화면 내에서, 사용자 정보와 연동되는 기능의 접근 권한을 차단할 수 있으며, 사용자 정보와 연동되지 않는 기능의 접근 권한은 허용할 수 있다. 예를 들어, 접근 권한을 차단하는 기능은 디바이스(100)의 메모리(150)에 저장할 수 있는 기능들(좋아요, 싫어요, 공유하기, 다운로드, 저장하기)(102), 사용자 ID가 노출될 수 있는 구독하기 기능(105), 댓글 쓰기 기능(106)을 포함할 수 있다. 다른 예를 들어, 접근 권한을 허용하는 기능은 연관된 다른 영상을 시청할 수 있는 기능들(101)(103)(107)(108)을 포함할 수 있다.
다시 도 9를 참조하면, 프로세서(240)는 가상 머신에서 실행된 어플리케이션에 임의의 사용자 데이터를 입력 데이터로 입력할 수 있다. 즉, 사용자 데이터를 입력해야만 실행 가능한 어플리케이션에 대해서는, 프로세서(240)가 임의로 사용자 데이터를 입력할 수 있다.
한편, 프로세서(240)는 메모리(220)에 저장된 리스트를 통해 접속된 웹 페이지(어플리케이션 링크)의 위험도를 결정하고, 그에 따른 접근 권한을 결정할 수 있다. 구체적으로, 프로세서(240)는 어플리케이션 링크에 포함된 도메인 또는 경로 이름이 보안 리스트 또는 차단 리스트에 등록되었는지 여부에 따라 웹 페이지의 위험도를 결정할 수 있다. 예를 들어, 프로세서(240)는 도메인 또는 경로 이름이 보안 리스트에 등록된 경우, 가상 머신을 통해 실행된 어플리케이션에서 사용자의 접근 권한을 허용할 수 있다. 다른 예를 들어, 프로세서(240)는 도메인 또는 경로 이름이 차단 리스트에 등록된 경우, 가상 머신을 실행된 어플리케이션에서 사용자의 접근 권한을 적어도 일부 차단할 수 있다.
이 외에도, 프로세서(240)는 어플리케이션 링크에 포함된 어느 하나의 문구(한글, 영어, 숫자 및 특수문자 중 적어도 하나를 포함하는 문구)가 보안 리스트 또는 차단 리스트에 등록되었는지 여부에 따라 웹 페이지의 위험도를 결정하고, 그에 따른 접근 권한을 결정 수 있다.
다른 실시예에 따라, 프로세서(240)는 접속된 웹 페이지에서 자동으로 디바이스(100)에 액세스(Access)를 시도하는지 확인한 뒤, 확인 결과에 따라 웹 페이지의 위험도를 결정하고, 그에 따른 접근 권한을 결정할 수 있다. 보다 구체적으로, 프로세서(240)는 접속된 웹 페이지에서 디바이스(100)의 접근 권한을 자동으로 획득하고자 하는지, 접속된 웹 페이지에서 디바이스(100)에 저장된 사용자 데이터 또는 로컬 데이터를 자동으로 수집하고자 하는지 확인할 수 있다.
즉, 프로세서(240)는 웹 페이지가 사용자의 허용 없이 사용자와 연관된 데이터를 획득하기 위한 동작을 수행할 경우, 해당 웹 페이지가 안전하지 않은 것으로 간주할 수 있다.
다양한 실시예에 따라, 프로세서(240)는 어플리케이션 링크와 대응되는 웹 페이지의 위험도를 “안전(Safe)(위험도 0)”“주의(Caution) (위험도 2)”““경고(Danger)(위험도 3)”” 3 단계로 구분하고, 접속된 웹 페이지의 위험도를 결정할 수 있다. 만약, 프로세서(240)가 웹 페이지의 위험도를 “”으로 결정한 경우, 프로세서(240)는 어플리케이션 실행 화면 내에서 사용자의 접근 권한을 모두 허용할 수 있다. 또한, 프로세서(240)가 웹 페이지의 위험도를 “2”로 결정한 경우, 프로세서(240)는 어플리케이션 실행 화면 내에서 사용자의 접근 권한을 전부 차단할 수 있다.
S350 단계 이후, 프로세서(240)는 어플리케이션 실행 화면을 스트리밍 하기 위해 압축(또는 렌더링)할 수 있다(S360). 프로세서(240)는 디바이스(100)와 어플리케이션 실행 화면을 실시간 공유할 수 있도록, 어플리케이션 실행 화면을 스트리밍 가능한 형태로 변경시킬 수 있다.
S360 단계 이후, 프로세서(240)는 어플리케이션의 실행 화면을 스트리밍으로 전송할 수 있다(S370). 구체적으로, 프로세서(240)는 디바이스(100) 또는 디바이스(100)에 설치된 어플리케이션과 실질적으로 동일한 UX를 제공할 수 있다. 즉, 프로세서(240)는 사용자가 현재 보안 서비스를 이용 중인 것을 인지할 수 없도록, 디바이스(100)에 설치된 어플리케이션과 실질적으로 동일한 형태의 화면을 디바이스(100)로 제공할 수 있다.
이를 위해, 프로세서(240)는 디바이스(100)로부터 어플리케이션의 출력 데이터 또는 디바이스(100)의 출력 데이터를 획득할 수 있다. 여기서, 출력 데이터는 디바이스(100) 또는 어플리케이션의 해상도, 글꼴 설정, 페이지 확대/축소 설정, 언어 설정, 탭 설정, 화면 회전 설정 등 시각적, 청각적으로 확인 가능한 다양한 종류의 출력 데이터를 포함할 수 있다.
프로세서(240)는 가상 머신에서 구동되는 어플리케이션의 실행 화면에 획득된 출력 데이터를 적용시킬 수 있다. 예를 들어, 프로세서(240)는 어플리케이션의 실행 화면에서 글꼴, 해상도를 변경시킬 수 있다.
한편, 프로세서(240)는 스트리밍으로 전송되는 어플리케이션의 실행 화면에 보안 서비스의 활성화 해제 요청을 포함할 수 있다.
도 10을 참조하면, 디바이스(100)는 어플리케이션 화면의 일 영역에는 보안 서비스가 제공 중임을 표시할 수 있는 안내창(109)과 보안 서비스의 활성화를 해제할 수 있는 버튼(110)이 제공될 수 있다.
실시예에 따라, 어플리케이션이 보안 서비스 제공 서버(200)에서 실행 중임을 사용자가 인지할 수 없도록, 안내창(109)은 화면의 일 영역에 숨김 표시될 수도 있다.
만약, 통신 인터페이스(210)를 통해 보안 서비스의 활성화 해제 요청을 수신하는 경우, 프로세서(240)는 원격 어플리케이션을 종료할 수 있다. 그리고, 프로세서(240)는 디바이스(100)에 설치된 어플리케이션 또는 기본 브라우저로 어플리케이션 링크를 통한 어플리케이션 실행 요청을 송신할 수 있다.
다시 도 9를 참조하면, 디바이스(100)는 보안 서비스 제공 서버(200)가 전송하는 어플리케이션의 실행 화면을 실시간으로 스트리밍(출력)할 수 있다(S380).
어플리케이션의 실행 화면이 공유되는 동안, 디바이스(100)는 웹 페이지 화면 내 사용자 조작 데이터를 획득하고, 획득된 사용자 조작 데이터를 보안 서비스 제공 서버(200)로 전송할 수 있다(S390). 즉, 사용자는 디바이스(100)가 아닌 보안 서비스 제공 서버(200)를 통해 어플리케이션의 실행 상태를 유지하면서, 현재의 어플리케이션 실행 화면 또는 새로운 어플리케이션 실행 화면을 탐색할 수 있다. 프로세서(240)는 사용자의 어플리케이션 실행 화면 탐색 과정을 사용자 조작 데이터를 통해 확인할 수 있다.
구체적으로, 프로세서(240)는 어플리케이션 실행 화면을 통해 사용자의 입력 데이터를 획득하거나, 디바이스(100)의 모션 데이터를 획득할 수 있다. 예를 들어, 프로세서(240)는 통신 인터페이스(210)를 통해 웹 페이지 화면 내 일 영역의 터치 데이터, 터치에 따라 선택된 데이터, 확대/축소 입력 데이터, 검색을 위해 입력된 텍스트 데이터 등을 획득할 수 있다. 다른 예를 들어, 보안 프로세서(240)는 통신 인터페이스(210)를 통해 디바이스(100)가 세로에서 가로로 전환되는 모션 데이터를 획득할 수 있다.
한편, 텍스트 데이터의 경우, 디바이스(100)에 설치된 입력기를 통해 획득될 수 있다. 예를 들어, 키 입력 데이터는 디바이스(100)의 터치 스크린(143)에 표시되는 가상 키보드를 통해 획득되거나, 디바이스(100)에 연결된 기타 입력/제어 디바이스들(144)(키보드)를 통해 획득될 수 있다.
프로세서(240)는 디바이스(100)로 전송된 어플리케이션 실행 화면에서 가상 입력창의 위치를 검출할 수 있다. 구체적으로, 프로세서(240)는 어플리케이션 실행 화면(이미지)에서 텍스트 표시가 가능한 INPUT 영역을 검출할 수 있으며, INPUT 영역을 가상 입력창의 위치로 지정할 수 있다.
이후, 프로세서(240)는 디바이스(100)에서 획득되어, 가상 입력창의 위치로 입력되는 텍스트를 수신할 수 있다. 프로세서(240)는 어플리케이션 실행 화면을 렌더링하는 과정에서, 수신된 텍스트를 포함하는 입력 객체를 생성한 뒤, 가상 입력창의 위치에 이를 스트리밍으로 전송할 수 있다.
즉, 프로세서(240)는 사용자가 입력하고자 하는 텍스트의 종류(예. 한국어, 영어, 중국어, 러시아어 등)에 맞는 텍스트 입력기를 구비할 필요 없이, 디바이스(100)로부터 획득된 텍스트를 그대로 영상화할 수 있다.
S390 단계 이후, 프로세서(240)는 사용자 조작 데이터(입력 데이터/모션 데이터) 획득에 따라, 어플리케이션 실행 화면을 처리할 수 있다(S400). 구체적으로, 프로세서(240)는 가상 머신에서 구동되는 어플리케이션에서 사용자의 입력 데이터/모션 데이터를 획득하고, 그에 따라 원격 어플리케이션의 실행 화면을 처리할 수 있다. 예를 들어, 프로세서(240)는 새로운 어플리케이션 실행 화면으로 이동하거나, 출력 데이터에 맞게 어플리케이션 실행 화면을 변경시킬 수 있다.
S400 단계 이후, 프로세서(240)는 통신 인터페이스(210)를 통해 어플리케이션 실행 화면을 디바이스(100)로 전송하기 이전에, 해당 화면을 모니터링할 수 있다(S410). 보안 서비스 제공 서버(200)는 새로운 어플리케이션 실행 화면으로 이동하게 될 경우, S340 단계와 동일하게 새로운 어플리케이션 실행 화면의 위험도 결정할 수 있다(S420). 그리고, 프로세서(240)는 결정된 위험도에 따라, 어플리케이션 실행 화면을 그대로 또는 일부 삭제한 뒤, 디바이스(100)로 전송할 수 있다. S370 단계와 동일하게, 프로세서(240)는 처리되는 어플리케이션 실행 화면을 렌더링하고, 디바이스(100)로 렌더링된 어플리케이션 실행 화면을 스트리밍으로 전송할 수 있다.
S380 내지 S420 단계를 통해, 사용자는 디바이스(100)가 아닌 보안 서비스 제공 서버(200)를 통해 어플리케이션 링크에 접속한 상태를 유지하면서, 새롭게 이동하게 되는 어플리케이션 실행 화면의 위험도를 검토 받을 수 있다.
S420 단계 이후, 디바이스(100)는 사용자의 선택에 따라 보안 서비스 활성화 해제 또는 종료시킬 수 있다(S430). 예를 들어, 디바이스(100)는 “원격 해제”에 대응되는 입력 데이터를 획득할 경우, 이를 보안 서비스 제공 서버(200)로 제공할 수 있다. 그에 따라, 보안 서비스 제공 서버(200)의 프로세서(240)는 어플리케이션을 종료하고, 디바이스(100)에 설치된 어플리케이션 또는 다른 브라우저로 어플리케이션 링크를 통한 어플리케이션 실행 요청을 송신할 수 있다. 다른 예를 들어, 디바이스(100)는 “종료”에 대응되는 입력 데이터를 획득할 경우, 보안 서비스 제공 서버(200)와의 연결을 종료할 수 있다.
지금까지 본 발명의 일 실시예에 따른 보안 서비스 제공 서버(200) 및 이를 이용한 보안 서비스 제공 방법에 대하여 설명하였다. 본 발명에 따르면, 보안 서비스 제공 서버(200)는 URL을 격리된 브라우저에서 실행시키고, 실행된 화면을 렌더링하거나, 실행된 어플리케이션을 압축한 뒤, 디바이스(100)로 스트리밍함으로써, 해당 URL에 포함된 악성 웹 페이지, 어플리케이션으로부터 사용자의 개인 정보 및 자산을 보호할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1000: 보안 서비스 제공 시스템
100: 디바이스
110: 메모리 인터페이스 120: 프로세서
130: 주변 인터페이스 140: I/O 서브 시스템
141: 터치 스크린 제어기 142: 기타 입력 제어기
143: 터치 스크린
144: 기타 입력 제어 디바이스
150: 메모리 151: 운영 체제
152: 통신 모듈 153: GUI 모듈
154: 센서 처리 모듈 155: 전화 모듈
156: 애플리케이션들
156-1, 156-2: 애플리케이션
157: 디지털 어시스턴트 클라이언트 모듈
158: 사용자 데이터
160: 모션 센서 161: 조명 센서
162: 근접 센서 163: 기타 센서
170: 카메라 서브 시스템 171: 광학 센서
180: 통신 서브 시스템
190: 오디오 서브 시스템
191: 스피커 192: 마이크
200: 보안 서비스 제공 서버
210: 통신 인터페이스
211: 유선 통신 포트 212: 무선 회로
220: 메모리
221: 운영 체제 222: 통신 모듈
223: 사용자 인터페이스 모듈 234: 애플리케이션
230: I/O 인터페이스 240: 프로세서
300: 위협 분석 데이터베이스

Claims (26)

  1. 사용자의 디바이스로부터 웹 페이지로의 연결이 가능한 링크를 수신하는 단계;
    원격 브라우저를 통해 상기 링크와 대응되는 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하는 단계;
    결정된 위험도에 따라 상기 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링하는 단계; 및
    상기 디바이스에 설치된 브라우저와 실질적으로 동일한 UX(user experience)를 제공하도록 상기 렌더링된 웹 페이지 화면을 스트리밍으로 전송하되,
    상기 화면을 렌더링하는 단계는,
    상기 디바이스에 설치된 브라우저 또는 상기 디바이스에 설정된 시각적, 청각적 및 촉각적 출력 데이터 중 적어도 하나의 출력 데이터를 획득하는 단계, 와
    상기 원격 브라우저에서 처리되는 웹 페이지 화면에 상기 획득된 적어도 하나의 출력 데이터를 적용시키는 단계, 를 더 포함하고,
    상기 스트리밍으로 전송하는 단계는,
    상기 원격 브라우저에서 처리되는 웹 페이지 화면이 공유되는 동안, 사용자 조작 데이터를 획득하는 경우, 상기 획득된 적어도 하나의 출력 데이터에 맞게 웹 페이지 화면을 변경시키는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 위험도를 결정하는 단계는,
    상기 링크에 포함된 도메인 또는 경로 이름이 보안 리스트 또는 차단 리스트에 등록되었는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 화면을 렌더링하는 단계는,
    상기 도메인 또는 경로 이름이 보안 리스트에 등록된 경우, 상기 접속된 웹 페이지의 화면을 그대로 렌더링하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  4. 제2항에 있어서,
    상기 화면을 렌더링하는 단계는,
    상기 도메인 또는 경로 이름이 차단 리스트에 등록된 경우, 상기 접속된 웹 페이지의 화면을 삭제하고, 접속 불가 메시지가 삽입된 화면을 렌더링하는 단계, 를 더 포함하는, 보안 서비스 제공 방법.
  5. 제1항에 있어서,
    상기 위험도를 결정하는 단계는,
    상기 접속된 웹 페이지에서 자동으로 상기 디바이스에 액세스(access)를 시도하는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  6. 제5항에 있어서,
    상기 확인하는 단계는,
    상기 접속된 웹 페이지에서 상기 디바이스의 접근 권한을 자동으로 획득하고자 하는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  7. 제5항에 있어서,
    상기 확인하는 단계는,
    상기 디바이스에 저장된 사용자 데이터 또는 로컬 데이터를 자동으로 수집하고자 하는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  8. 제1항에 있어서,
    상기 스트리밍으로 전송하는 단계는,
    상기 결정된 위험도에 따라, 상기 처리되는 웹 페이지 화면에 보안 서비스의 활성화 해제 요청을 포함시키는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 활성화 해제 요청을 수신하는 경우, 상기 원격 브라우저를 종료하고, 상기 디바이스에 설치된 브라우저로 상기 링크로의 접속 요청을 송신하는 단계; 를 더 포함하는 보안 서비스 제공 방법.
  10. 삭제
  11. 제1항에 있어서,
    복수의 디바이스 각각에 대응되는 복수의 원격 브라우저로부터 링크에 대한 접속 데이터를 수집하는 단계, 와
    수집된 접속 데이터를 기초로 상기 웹 페이지의 위험도를 결정하기 위한 데이터베이스를 업데이트 하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  12. 제1항에 있어서,
    상기 디바이스로 전송된 웹 페이지 화면을 통해 사용자의 키, 마우스 입력 데이터를 획득하거나, 상기 디바이스의 모션 데이터를 획득하는 단계, 를 더 포함하고,
    상기 화면을 렌더링하는 단계는,
    상기 획득된 입력 데이터 또는 모션 데이터를 기초로 처리되는 웹 페이지 화면을 렌더링하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  13. 제12항에 있어서,
    상기 입력 데이터 또는 상기 모션 데이터를 기초로 처리되는 웹 페이지 화면을 모니터링하는 단계, 와
    모니터링 결과에 따라, 상기 웹 페이지 화면의 위험도를 결정하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  14. 제1항에 있어서,
    상기 링크는,
    상기 디바이스가 수신한 SMS 또는 MMS으로부터 획득되거나, 상기 디바이스에 설치된 어플리케이션을 통해 획득되는, 보안 서비스 제공 방법.
  15. 제1항에 있어서,
    상기 스트리밍으로 전송하는 단계 이후에,
    상기 디바이스로 전송된 웹 페이지 화면에서 가상 입력창의 위치를 검출하는 단계,
    상기 디바이스에서 획득되어, 상기 가상 입력창의 위치로 입력되는 텍스트를 수신하는 단계, 와
    상기 수신된 텍스트를 포함하는 입력 객체를 생성하여 상기 위치에 스트리밍으로 전송하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  16. 사용자의 디바이스로부터 어플리케이션의 호출이 가능한 식별 데이터를 수신하는 단계;
    원격 브라우저를 통해 상기 식별 데이터에 대응되는 어플리케이션 링크의 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하는 단계;
    결정된 위험도에 따라 상기 어플리케이션의 접근 권한을 결정하는 단계;
    상기 결정된 접근 권한에 따라 상기 어플리케이션의 실행 화면을 렌더링하는 단계; 및
    상기 디바이스 또는 상기 디바이스에 설치된 상기 어플리케이션과 실질적으로 동일한 UX(user experience)를 제공하도록 상기 어플리케이션의 실행 화면을 스트리밍으로 전송하는 단계; 를 포함하되,
    상기 화면을 렌더링하는 단계는,
    상기 디바이스에 설치된 어플리케이션 또는 상기 디바이스에 설정된 시각적, 청각적 및 촉각적 출력 데이터 중 적어도 하나의 출력 데이터를 획득하는 단계, 와
    상기 원격 브라우저에서 실행되는 어플리케이션 화면에 상기 획득된 적어도 하나의 출력 데이터를 적용시키는 단계, 를 더 포함하고,
    상기 스트리밍으로 전송하는 단계는,
    상기 원격 브라우저에서 실행되는 어플리케이션 화면이 공유되는 동안, 사용자 조작 데이터를 획득하는 경우, 상기 획득된 적어도 하나의 출력 데이터에 맞게 어플리케이션 화면을 변경시키는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  17. 제16항에 있어서,
    상기 식별 데이터는,
    어플리케이션에 대한 패키지 ID(Package ID) 또는 어플리케이션에 대한 설치 링크를 포함하는, 보안 서비스 제공 방법.
  18. 제16항에 있어서,
    상기 위험도를 결정하는 단계는,
    상기 어플리케이션 링크에 포함된 도메인 또는 경로 이름이 보안 리스트 또는 차단 리스트에 등록되었는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  19. 제18항에 있어서,
    상기 어플리케이션의 접근 권한을 결정하는 단계는,
    상기 도메인 또는 경로 이름이 보안 리스트에 등록된 경우, 상기 웹 페이지를 통해 실행된 어플리케이션에서 사용자의 접근 권한을 허용하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  20. 제18항에 있어서,
    상기 어플리케이션의 접근 권한을 결정하는 단계는,
    상기 도메인 또는 경로 이름이 차단 리스트에 등록된 경우, 상기 웹 페이지를 통해 실행된 어플리케이션에서 사용자의 접근 권한을 적어도 일부 차단하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  21. 제16항에 있어서,
    상기 위험도를 결정하는 단계는,
    상기 접속된 웹 페이지 또는 어플리케이션에서 자동으로 상기 디바이스에 액세스(access)를 시도하는지 확인하는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  22. 제16항에 있어서,
    상기 스트리밍으로 전송하는 단계는,
    상기 결정된 위험도에 따라, 상기 어플리케이션의 화면에 보안 서비스의 활성화 해제 요청을 포함시키는 단계, 를 더 포함하는 보안 서비스 제공 방법.
  23. 제22항에 있어서,
    상기 활성화 해제 요청을 수신하는 경우, 상기 어플리케이션의 실행을 종료하고, 상기 디바이스에 설치된 어플리케이션 또는 다른 브라우저로 상기 어플리케이션 링크를 통한 어플리케이션 실행 요청을 송신하는 단계; 를 더 포함하는 보안 서비스 제공 방법.
  24. 제16항에 있어서,
    상기 원격 브라우저에서 실행되는 어플리케이션에 임의의 사용자 데이터를 입력 데이터로 입력하는 단계, 를 더 포함하는 원격 브라우저 기반의 보안 서비스 제공 방법.
  25. 통신 인터페이스;
    메모리; 및
    상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서; 를 포함하고,
    상기 프로세서는,
    사용자의 디바이스로부터 웹 페이지로의 연결이 가능한 링크를 수신하고,
    원격 브라우저를 통해 상기 링크와 대응되는 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하고,
    결정된 위험도에 따라 상기 원격 브라우저에서 처리되는 웹 페이지의 화면을 렌더링하고,
    상기 디바이스에 설치된 브라우저와 실질적으로 동일한 UX(user experience)를 제공하도록 상기 렌더링된 웹 페이지 화면을 스트리밍으로 전송하도록 구성되되,
    상기 프로세서는,
    상기 디바이스에 설치된 브라우저 또는 상기 디바이스에 설정된 시각적, 청각적 및 촉각적 출력 데이터 중 적어도 하나의 출력 데이터를 획득하고, 상기 원격 브라우저에서 처리되는 웹 페이지 화면에 상기 획득된 적어도 하나의 출력 데이터를 적용시키고,
    상기 원격 브라우저에서 처리되는 웹 페이지 화면이 공유되는 동안, 사용자 조작 데이터를 획득하는 경우, 상기 획득된 적어도 하나의 출력 데이터에 맞게 웹 페이지 화면을 변경시키도록 구성되는, 보안 서비스 제공 서버.
  26. 통신 인터페이스;
    메모리; 및
    상기 통신 인터페이스, 상기 메모리와 동작 가능하게 연결된 프로세서; 를 포함하고,
    상기 프로세서는,
    사용자의 디바이스로부터 어플리케이션의 호출이 가능한 식별 데이터를 수신하고,
    원격 브라우저를 통해 상기 식별 데이터에 대응되는 어플리케이션 링크의 웹 페이지에 접속하고, 접속된 웹 페이지의 위험도를 결정하고,
    결정된 위험도에 따라 상기 어플리케이션의 접근 권한을 결정하고,
    상기 결정된 접근 권한에 따라 상기 어플리케이션의 실행 화면을 렌더링하고,
    상기 디바이스 또는 상기 디바이스에 설치된 상기 어플리케이션과 실질적으로 동일한 UX(user experience)를 제공하도록 상기 어플리케이션의 실행 화면을 스트리밍으로 전송하도록 구성되되,
    상기 프로세서는,
    상기 디바이스에 설치된 어플리케이션 또는 상기 디바이스에 설정된 시각적, 청각적 및 촉각적 출력 데이터 중 적어도 하나의 출력 데이터를 획득하고, 상기 원격 브라우저에서 실행되는 어플리케이션 화면에 상기 획득된 적어도 하나의 출력 데이터를 적용시키고,
    상기 원격 브라우저에서 실행되는 어플리케이션 화면이 공유되는 동안, 사용자 조작 데이터를 획득하는 경우, 상기 획득된 적어도 하나의 출력 데이터에 맞게 어플리케이션 화면을 변경시키도록 구성되는, 보안 서비스 제공 서버.

KR1020210061603A 2021-03-25 2021-05-12 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버 KR102413355B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/382,181 US20220309151A1 (en) 2021-03-25 2021-07-21 Method for providing remote service capable of multilingual input and server performing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210039119 2021-03-25
KR20210039119 2021-03-25

Publications (1)

Publication Number Publication Date
KR102413355B1 true KR102413355B1 (ko) 2022-06-27

Family

ID=82247126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210061603A KR102413355B1 (ko) 2021-03-25 2021-05-12 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버

Country Status (2)

Country Link
US (1) US20220309151A1 (ko)
KR (1) KR102413355B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144636A (ko) * 2013-06-11 2014-12-19 에스케이텔레콤 주식회사 악성 url 검사장치 및 방법
KR101493820B1 (ko) * 2013-03-14 2015-02-16 이요민 모바일 보안 시스템
KR101516997B1 (ko) * 2013-11-07 2015-05-04 주식회사 엘지유플러스 스미싱 차단 방법 및 장치
KR20180028246A (ko) * 2016-09-08 2018-03-16 주식회사 엘지유플러스 스미싱 메시지 검출 방법 및 이를 수행하는 단말과 검증 서버

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079087B1 (en) * 2005-05-03 2011-12-13 Voltage Security, Inc. Universal resource locator verification service with cross-branding detection
US8584232B2 (en) * 2007-04-23 2013-11-12 Sap Ag Enhanced cross-site attack prevention
US9461819B2 (en) * 2007-05-23 2016-10-04 Nec Corporation Information sharing system, computer, project managing server, and information sharing method used in them
US9009334B1 (en) * 2011-12-09 2015-04-14 Amazon Technologies, Inc. Remote browsing session management
US11023088B2 (en) * 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US11381597B2 (en) * 2019-07-19 2022-07-05 Mcafee, Llc Expedition of web phishing detection for suspicious sites
US20220174092A1 (en) * 2020-12-01 2022-06-02 Mimecast Israel Ltd. Detection of impersonated web pages and other impersonation methods for web-based cyber threats

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101493820B1 (ko) * 2013-03-14 2015-02-16 이요민 모바일 보안 시스템
KR20140144636A (ko) * 2013-06-11 2014-12-19 에스케이텔레콤 주식회사 악성 url 검사장치 및 방법
KR101516997B1 (ko) * 2013-11-07 2015-05-04 주식회사 엘지유플러스 스미싱 차단 방법 및 장치
KR20180028246A (ko) * 2016-09-08 2018-03-16 주식회사 엘지유플러스 스미싱 메시지 검출 방법 및 이를 수행하는 단말과 검증 서버

Also Published As

Publication number Publication date
US20220309151A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US9591001B2 (en) Remote processing of mobile applications
JP6732891B2 (ja) マルウェア警告
US20210319091A1 (en) Multiple device credential sharing
US9319400B2 (en) Sharable content item links with use restrictions
US10187419B2 (en) Method and system for processing notification messages of a website
US20140358964A1 (en) Natural language processing (NLP) query formulation engine for a computing device
US9825934B1 (en) Operating system interface for credential management
EP3469545B1 (en) Architecture for performing actions in a third-party service by an email client
EP3176719B1 (en) Methods and devices for acquiring certification document
KR20210003224A (ko) 원격 디바이스로부터의 직접 입력
US11501019B2 (en) Securing digital content using separately authenticated hidden folders
KR102064623B1 (ko) 언어 독립적인 확률적 콘텐츠 매칭 기법
WO2013176837A1 (en) Learning information on usage of one or more device(s) for cumulative inference of user situation
US20170228504A1 (en) Mobile device network traffic modification and user based restrictions on data access
KR102413355B1 (ko) 디바이스로의 보안 서비스 제공 방법 및 이를 수행하는 서버
US9906553B1 (en) Personalized privacy warnings
US10936710B1 (en) Interaction based posture assessment
US11356481B1 (en) Preventing phishing attempts of one-time passwords
CN110856173B (zh) 网络接入方法、装置及电子设备
KR20140075839A (ko) 악성행위 탐지 장치 및 방법
US20230353599A1 (en) Access control management
US20230353574A1 (en) Managing access to resources using serialized tokens
US12008105B2 (en) Protected QR code scanner using operational system override
US20230362153A1 (en) Multi-platform authentication
US20210209217A1 (en) Method and system for authentication using mobile device id based two factor authentication

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant