KR102513460B1 - 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템 - Google Patents

원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템 Download PDF

Info

Publication number
KR102513460B1
KR102513460B1 KR1020210100611A KR20210100611A KR102513460B1 KR 102513460 B1 KR102513460 B1 KR 102513460B1 KR 1020210100611 A KR1020210100611 A KR 1020210100611A KR 20210100611 A KR20210100611 A KR 20210100611A KR 102513460 B1 KR102513460 B1 KR 102513460B1
Authority
KR
South Korea
Prior art keywords
sandbox
client
remote
server
rendering screen
Prior art date
Application number
KR1020210100611A
Other languages
English (en)
Other versions
KR20230018736A (ko
Inventor
배환국
Original Assignee
소프트캠프 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소프트캠프 주식회사 filed Critical 소프트캠프 주식회사
Priority to KR1020210100611A priority Critical patent/KR102513460B1/ko
Priority to JP2022120100A priority patent/JP2023021040A/ja
Priority to US17/878,251 priority patent/US20230033714A1/en
Publication of KR20230018736A publication Critical patent/KR20230018736A/ko
Application granted granted Critical
Publication of KR102513460B1 publication Critical patent/KR102513460B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라이언트와 서버 간의 안전한 통신을 구현하는 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템에 관한 것으로, 원격 브라우징 서버가 지정 IP에 접근하는 클라이언트 웹브라우저에 접속하고 지정 IP의 서비스 서버와 클라이언트 단말 간의 중계 환경을 세팅하는 제1단계; 상기 원격 브라우징 서버가 가상 웹브라우징 기능의 샌드박스를 클라이언트 웹브라우저에 대응해서 조성하고, 상기 샌드박스에서 서비스 서버의 웹사이트에 구성된 웹페이지가 실행되는 제2단계; 상기 샌드박스에서 웹페이지의 렌더링 화면이 추출되고, 상기 클라이언트 웹브라우저에서 렌더링 화면이 디스플레이되도록 렌더링 화면 정보가 전송되는 제3단계; 상기 샌드박스에서 렌더링 화면 정보에 대한 제1입력정보가 수신되어 제1입력정보에 상응한 제2입력정보가 생성 및 전송되는 제4단계;를 포함하는 것이다.

Description

원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템{METHOD AND SYSTEM FOR TRANSMITTING SAFTY FILE BY REMOTE BROWSER}
본 발명은 클라이언트와 서버 간의 안전한 통신을 구현하는 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템에 관한 것이다.
인터넷 및 네트워크 관련 통신 기술이 발달하면서 개인은 각종 정보를 인터넷 환경에서 자유롭게 취득하거나 전달할 수 있고, 각종 기업체와 관공서는 상호가 원거리에 위치해도 인터넷을 통해 다양한 정보 자료를 공유할 수 있게 되었다. 이러한 환경에서 개인은 관공서와 금융기관 등에서의 민원처리와 금융처리 등의 서비스를 비대면으로 제공받을 수 있었다.
그러나 네트워크를 통한 정보 취득과 전달 및 공유가 자유롭게 이루어짐에 따라 각종 악성코드에 의해 개인정보의 불법 유출은 물론 기업체와 관공서 등의 중요 정보를 불특정 개인에게 제공하는 과정에서 무단 유출되는 사례가 급증했다. 또한, 비대면 서비스를 제공하는 경우에는 해당 서버의 서비스가 외부에 노출되어 있어 악의적인 공격에 취약했고, 서버가 악성코드에 감염되면 해당 악성코드의 확산을 방지하기 위해 서버의 서비스 운영을 중단하는 문제가 발생했다. 따라서 네트워크에서의 정보보호와 안전을 위한 악성코드 보안 기술이 요구되었다.
일반적으로 악성코드는 컴퓨터 시스템에서 사용자의 의사에 반하여 악의적 활동이 수행될 수 있도록 설계된 소프트웨어로서, 자기 복제 능력과 감염 대상 유무에 따라 바이러스(virus), 웜(worm), 트로이목마(trojan horse) 등으로 분류될 수 있다. 이러한 악성코드는 과거에 비해 그 수가 급격히 증가하는 추세인 바, 효과적인 악성코드 진단 및 치료의 필요성도 점점 더 커지고 있다.
이러한 악성코드 진단 및 치료를 위한 기술의 일환으로, 대한민국 공개특허공보 제10-2009-0005933호(2009.01.14 공개)에는 특정 컴퓨터 프로그램의 행동으로 악성인지 여부를 판단하는 것이 가능하도록, 특정 컴퓨터 프로그램의 행동을 모델링하는 기술이 개시된 바 있다. 그러나 종래기술은 알려진 악성코드에 대한 프로그램의 행동패턴을 데이터베이스화하기 위하여 피해를 입은 피해자들의 신고를 통해 해당 악성 프로그램에 대한 데이터를 수집하고, 그 이후에야 추가적인 피해를 막는 형태로 이루어진다. 따라서 피해자의 신고가 접수되기 전까진 일정한 수의 피해자가 발생할 수밖에 없고, 새로운 패턴을 나타내는 악성코드에 대해서는 진단 및 치료가 불가능하다는 문제가 있었다.
최근에는 기업 및 개인의 보안인식이 높아지면서 기존의 실행파일 형태의 악성 위협 공격에 대한 성공률이 낮아지고 있다. 그러나 공격자들은 기존 종래기술과 같은 보안환경을 무력화시키거나, 우회하기 위하여 알려지지 않은 방식으로 지능화된 공격을 시도하고 있다. 상기 공격은 일반적으로 마이크로소프트 오피스 계열, 한글 계열, PDF 등의 문서파일과 같은 파일(이하 '문서파일')의 취약점을 이용하여 문서파일 내 악성코드를 삽입하는 것이다. 특히, 문서파일을 통한 공격은 문서파일 자체가 업무에서 이용 빈도가 높기 때문에 수신자는 별다른 의심 없이 문서파일을 다운로드하거나 실행할 수 있어 항상 위협에 노출되었다. 일반적으로 매크로(macro), 자바스크립트(javascript) 등과 같은 문서파일 포맷의 기본 기능을 이용해서 해당 기능이 실행될 경우, 외부 링크를 통해 악성코드를 다운받기 때문에 문서파일 내에 악성코드가 포함되지 않은 경우도 있다. 따라서 알려진 악성코드를 기반으로 악성 위협을 탐지하는 보안환경에서는 해당 악성코드를 탐지하는데 한계가 존재했다.
또한, 샌드박스(sandbox) 기반의 행위분석 보안 기술 역시 악성코드가 포함된 문서파일이 한 번은 실행되어야만 의심행위를 분석할 수 있다. 따라서 제로데이(zero day) 공격, 랜섬웨어(ransomware) 공격 등은 막기 어려웠다. 더욱이 악성코드가 특정 이벤트에서 실행되거나 지연 실행 등의 우회 방법이 지속적으로 등장하고 있어, 알려진 악성코드 기반으로 방어하는 기존의 보안환경에 대한 문제가 계속적으로 언급되고 있는 실정이다.
선행기술문헌 1. 공개특허공보 제10-2009-0005933호(2009.01.14 공개)
이에 본 발명은 상기의 문제를 해소하기 위한 것으로, 인터넷을 통한 정보의 무단 유출을 방지하고 정보 제공 서비스 서버의 보안성을 강화하는 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템의 제공을 해결하고자 하는 과제로 한다.
상기의 과제를 달성하기 위하여 본 발명은,
원격 브라우징 서버가 지정 IP에 접근하는 클라이언트 웹브라우저에 접속하고 지정 IP의 서비스 서버와 클라이언트 단말 간의 중계 환경을 세팅하는 제1단계;
상기 원격 브라우징 서버가 가상 웹브라우징 기능의 샌드박스를 클라이언트 웹브라우저에 대응해서 조성하고, 상기 샌드박스에서 서비스 서버의 웹사이트에 구성된 웹페이지가 실행되는 제2단계;
상기 샌드박스에서 웹페이지의 렌더링 화면이 추출되고, 상기 클라이언트 웹브라우저에서 렌더링 화면이 디스플레이되도록 렌더링 화면 정보가 전송되는 제3단계; 및
상기 샌드박스에서 렌더링 화면 정보에 대한 제1입력정보가 수신되어 제1입력정보에 상응한 제2입력정보가 생성 및 전송되는 제4단계;
를 포함하는 원격 브라우저를 통한 안전한 파일 전송 방법이다.
상기의 본 발명은, 클라이언트 단말과 서비스 서버 간의 통신을 중계해서 업로드 문서파일을 보안 처리하고 불특정 클라이언트 단말에 대한 서비스 서버의 노출을 최소화하므로 악성코드의 확산을 방지하고 개인정보는 물론 보안이 요구되는 정보도 보호할 수 있는 효과가 있다.
도 1은 본 발명에 따른 전송 시스템의 네트워크 통신 구성을 개략적으로 도시한 도면이고,
도 2는 본 발명에 따른 전송 시스템의 원격 브라우징 서버를 다른 통신 객체와 연계해 도시한 블록도이고,
도 3은 본 발명에 따른 전송 시스템 기반의 전송 방법을 순차 도시한 플로차트이고,
도 4는 본 발명에 따른 전송 시스템의 클라이언트 단말이 원격 브라우징 서버에 접속하며 디스플레이한 서비스 서버의 웹페이지 화면을 개략적으로 도시한 도면이다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 발명을 구체적인 내용이 첨부된 도면에 의거하여 상세히 설명한다.
도 1은 본 발명에 따른 전송 시스템의 네트워크 통신 구성을 개략적으로 도시한 도면이고, 도 2는 본 발명에 따른 전송 시스템의 원격 브라우징 서버를 다른 통신 객체와 연계해 도시한 블록도이다.
도 1 내지 도 2를 참조하면, 본 발명에 따른 전송 시스템은, 클라이언트 단말(10, 10', 10"; 이하 10)과 서비스 서버(30) 간의 통신을 중계하며 보안 프로세스를 실행하는 원격 브라우징 서버(20)를 포함한다. 본 발명에 대해 좀 더 구체적으로 설명하면, 원격 브라우징 서버(20)는, 클라이언트 단말(10)의 클라이언트 웹브라우저(11)를 대신하여 서비스 서버(30)의 웹사이트에 접속하고 실행시키는 가상 웹브라우징 기능을 수행하며, 실행된 상기 웹사이트의 웹페이지에서 렌더링 화면을 추출하여 클라이언트 단말(10)에 전송한다. 또한, 원격 브라우징 서버(20)는 클라이언트 단말(10)에서 전송된 문서파일의 악성코드를 제거하고 서비스 서버(30)에 전송한다.
이를 위해 원격 브라우징 서버(20)는 가상 웹브라우징 기능을 통해 1차 보안 프로세스를 수행하기 위한 중계 환경(21, 21', 21"; 이하 21)을 세팅하고, 악성코드 제거를 위해 2차 보안 프로세스를 실행하는 무해화 장치(22)를 더 포함한다. 또한, 무해화 이외에 악성코드를 탐지해서 치료하는 백신 프로그램 등의 보안솔루션(23)을 더 포함할 수 있다.
원격 브라우징 서버(20)가 세팅하는 중계 환경(21)은, 서비스 서버(30)의 보안을 위해서 클라이언트 단말(10)에 대한 웹사이트의 직접 노출을 제한함은 물론, 클라이언트 단말(10)의 클라이언트 웹브라우저(11)에서 웹사이트에 구성된 웹페이지의 풀 브라우징을 실현하도록 가상 웹브라우징 기능을 수행한다. 상기 중계 환경(21)은 클라이언트 웹브라우저(11)와 서비스 서버(30)의 웹사이트 간 통신이 원격 브라우징 서버(20)를 통해서만 이루어지도록 채널을 조성한다. 중계 환경(21)은 동일한 클라이언트 웹브라우저(11)에 대해 다중으로 구성해서, 동일한 클라이언트 웹브라우저(11)가 원격 브라우징 서버(20)에서 다양한 채널을 통해 서비스 서버(30)의 웹사이트와 간접 통신할 수 있게 한다.
원격 브라우징 서버(20)의 각 구성을 좀 더 설명하면, 세팅된 중계 환경(21)에서 샌드박스부(211)와 화면추출부(212)가 활성화되고, 클라이언트 웹브라우저(11)로부터 업로드된 문서파일을 무해화 장치(22)에 전달하는 무해화 채널(213)이 활성화된다. 샌드박스부(211)는 가상 웹브라우징 기능의 샌드박스를 조성하고, 화면추출부(212)는 샌드박스에서 웹페이지의 렌더링 화면을 추출한다. 한편, 무해화 채널(213)을 통해 전달된 문서파일은 무해화 장치(22)에 의해 재조합되어 다양한 악성코드가 무력화된다. 무해화 장치(22)에서 이루어지는 무해화 프로세스는 공지의 CDR(Content Disarm & Reconstruction) 알고리즘을 통해 실행되므로, 무해화 장치(22)의 알고리즘 및 기타 보안 프로세스에 대한 구체적인 기술 설명은 생략한다. 참고로, 상기 샌드박스는 컴퓨터에서 어떠한 프로그램 또는 코드를 실행할 때 보안을 목적으로 조성되는 격리된 공간으로서, 상기 샌드박스가 실행되면 지정된 공간 이외의 공간에서는 허용되지 않는 프로세스가 진행되지 못한다. 예를 들면, 웹브라우저 상에서 실행되는 JavaScript 코드는 웹브라우저가 허용하는 범위 안에서만 작동하며 브라우저 바깥의 컴퓨터 환경에 영향을 줄 수 없다. 플래시 파일들도 마찬가지 예이다.
한편, 보안솔루션(23)은 공지의 백신 프로그램과 같이 코드 변경을 통해 악성코드를 제거 또는 무력화한다. 보안솔루션(23)은 무해화 장치(22)에서 처리된 문서파일을 2차로 보안처리하거나, 무해화 장치(22)보다 우선해서 보안처리하고 무해화 장치(22)에 문서파일을 전달할 수 있다. 보안솔루션(23)은 무해화 장치(22)와 같이 공지의 기술이므로, 보안솔루션(23)의 알고리즘 및 기타 보안 프로세스에 대한 구체적인 기술 설명은 생략한다.
한편, 전술한 바와 같이 원격 브라우징 서버(20)는 중계 환경(21)을 다중으로 세팅해서 원격 브라우징 서버(20)와 클라이언트 웹브라우저(11) 간의 통신 부하를 유연하게 분산하고, 유사시 failover 기능을 수행토록 한다. 중계 환경(21)은 동일한 웹페이지에 대해 다수 개가 세팅될 수도 있고, 웹사이트에 구성된 웹페이지별로 분리 구성되어서 클라이언트 웹브라우저(11)의 웹페이지 변경 요청에 대응하여 해당 렌더링 화면 정보가 신속히 전송되도록 할 수도 있다. 전자(前者)의 경우에는 failover 기능이 안정적으로 이루어지게 하고, 후자(後者)의 경우에는 통신 부하를 유연하게 분산하는 효과가 있다.
이상 설명된 본 발명에 따른 전송 시스템 기반의 전송 방법을 아래에서 설명한다.
도 3은 본 발명에 따른 전송 시스템 기반의 전송 방법을 순차 도시한 플로차트이고, 도 4는 본 발명에 따른 전송 시스템의 클라이언트 단말이 원격 브라우징 서버에 접속하며 디스플레이한 서비스 서버의 웹페이지 화면을 개략적으로 도시한 도면이다.
도 1 내지 도 4를 참조하면, 본 발명에 따른 전송 방법은, 원격 웹브라우징 서버(20)가 서비스 서버(30)와 클라이언트 단말(10) 간의 중계 환경(21)을 세팅하는 단계와, 중계 환경(21)에서 활성화된 샌드박스부(211)가 샌드박스를 조성하고 샌드박스를 통해 서비스 서버(30)의 웹사이트에 접속하며 실행하는 가상 웹브라우징 단계와, 상기 가상 웹브라우징 단계에서 실행된 웹페이지(W)를 렌더링 화면으로 추출하는 렌더링 화면 디스플레이 단계와, 클라이언트 단말(10)의 입력정보를 수신해서 확인하고 웹사이트를 실행시키는 입력정보 대응 단계와, 클라이언트 웹브라우저(11)가 업로드한 문서파일을 확인하는 문서파일 업로드 단계와, 상기 문서파일을 무해화 처리는 무해화 단계와, 원격 웹브라우징 서버(20)가 무해화된 문서파일을 웹사이트에 전달하고 서비스 서버(30)가 확인하는 무해화 파일 수신 단계를 포함한다.
상기 각 단계에 대해 좀 더 구체적으로 설명한다.
S11; 서비스 서버와 클라이언트 단말 간의 중계 환경 세팅 단계
원격 브라우징 서버(20)가 지정 IP에 접근하는 클라이언트 웹브라우저(11)와 접속하고 지정 IP의 서비스 서버(30)와 클라이언트 단말(10) 간의 중계 환경을 세팅한다. 여기서 지정 IP는 본 실시 예의 서비스 서버(30)의 웹사이트에 해당한다. 상기 웹사이트는 일반 관공서, 기업, 기타 개인 등이 운영하는 서버의 사이트일 수 있다.
클라이언트 웹브라우저(11)는 지정 IP, 즉 특정 웹사이트에 접속을 시도하거나 접속하면 원격 브라우징 서버(20)로 접속이 전환된다. 따라서 클라이언트 웹브라우저(11)는 이후부터 원격 브라우징 서버(20)와 통신한다.
중계 환경(21)은 서비스 서버(30)와 클라이언트 웹브라우저(11) 간의 통신을 중계하는 중계 프로세스이며, 클라이언트 웹브라우저(11)와의 통신이 중지되면 중계 환경(21)은 삭제된다. 세팅된 중계 환경(21)에는 샌드박스부(211)와 화면추출부(212)가 구성되고, 필요한 경우 무해화 장치(22)와의 통신 루트인 무해화 채널(213)이 구성된다. 중계 환경(21, 21', 21")은 클라이언트 웹브라우저(11)에 대해 다중으로 구성될 수 있으며, 이에 대해서는 전술한 바 있으므로 추가 설명은 생략한다.
S12; 가상 웹브라우징 단계
원격 브라우징 서버(20)가 가상 웹브라우징 기능의 샌드박스를 클라이언트 웹브라우저(11)에 대응해 조성하고, 서비스 서버(30)의 웹사이트에 구성된 웹페이지(W)를 샌드박스에서 실행시킨다. 이를 좀 더 구체적으로 설명하면, 중계 환경(21)의 샌드박스부(211)는 서비스 서버(30)의 웹사이트에 접속하는 가상의 웹브라우저로서 클라이언트 웹브라우저(11)의 기능을 대신하는 샌드박스를 조성한다. 상기 샌드박스는 정의된 범위 내에서만 해당 웹사이트의 프로세싱이 이루어진다. 따라서 상기 웹사이트와의 데이터 통신과, 상기 웹사이트로부터 수신한 데이터의 실행 등은 샌드박스 범위 내에서만 이루어지며, 샌드박스 이외에 샌드박스부(211)가 지정하지 않은 다른 프로그램과의 연동은 제한된다.
S13; 렌더링 화면 디스플레이 단계
상기 샌드박스에서 웹페이지(W)의 렌더링 화면을 추출하고, 클라이언트 웹브라우저(11)에서 렌더링 화면을 디스플레이하도록 렌더링 화면 정보를 전송한다. 전술한 바와 같이 원격 브라우징 서버(20)는 가상 웹브라우징 기능을 수행하는 샌드박스에서 웹사이트의 웹페이지 화면(W)가 실행되므로, 중계 환경(21)의 화면추출부(212)는 해당 웹페이지(W)를 렌더링 처리해서 화면에 관한 정보를 추출한다. 이를 좀 더 구체적으로 설명하면, 화면추출부(212)는 상기 샌드박스에 수신된 웹페이지(W)의 소스코드를 파악해서 HTML, CSS, 자바스크립트 등의 기술을 기반으로 웹페이지(W)의 화면 모습을 추출하고, 상기 화면 모습의 이미지만을 렌더링 화면으로 생성해서 정보로 추출한다. 이때, 상기 렌더링 화면 정보는 디스플레이를 위한 이미지 정보로만 구성되며, 링크정보 또는 기타 클라이언트 단말(10)의 다른 프로그램과 연계해 동작하는 코드 정보 등은 제외된다. 하지만, 웹페이지(W)의 화면에서 클라이언트가 선택하는 메뉴 또는 입력란의 경우에는 렌더링 화면 정보에 메뉴키와 입력키 등이 포함된다.
상기 렌더링 화면 정보는 클라이언트 웹브라우저(11)에 전송되고, 클라이언트 단말(10)의 클라이언트 웹브라우저(11)는 렌더링 화면 정보를 리딩해서 해당 이미지를 디스플레이한다. 클라이언트 웹브라우저(11)에 출력된 렌더링 화면은 원본 웹페이지(W)가 아니므로, 본 실시 예에서 URL 표시란에는 원본 웹페이지(W)가 아님을 클라이언트에게 안내하기 위한 표시(A)가 구성된다. 그러나 이외에도 웹페이지(W)의 특정 위치에 해당 표시(A)가 구성될 수 있고, 해당 표시(A)가 구성되지 않을 수도 있다.
이후, 클라이언트는 디스플레이된 웹페이지(W) 화면, 즉 렌더링 화면을 확인하며 서비스 서버(30)의 웹사이트에서 제공하는 정보를 취득한다.
S14; 입력정보 대응 단계
상기 샌드박스에서 렌더링 화면 정보에 대한 제1입력정보가 수신되어 제1입력정보에 상응한 제2입력정보가 생성 및 전송된다. 클라이언트는 클라이언트 웹브라우저(11)의 실행을 통해 웹페이지(W)의 렌더링 화면이 클라이언트 단말(10)에 이미지로 디스플레이되면 클라이언트는 디스플레이된 렌더링 화면을 확인하면서 정보를 취득하고, 렌더링 화면에 메뉴 또는 입력란을 선택한다. 상기 메뉴 또는 입력란이 선택되면 해당 메뉴키 또는 입력키가 활성화되고, 상기 활성화를 통해 생성된 제1입력정보가 원격 브라우징 서버(20)에 전송되어서 샌드박스에서 수신한다.
상기 제1입력정보는 해당 웹페이지(W) 정보를 기반으로 샌드박스에서 분석되어서 제2입력정보로 생성되고 서비스 서버(30)에 전송된다. 서비스 서버(30)는 상기 제2입력정보를 웹사이트와 클라이언트 웹브라우저(11) 간의 일반적인 데이터 통신에 의해 생성된 응답정보 또는 입력정보로 인식하므로, 설정된 프로세스에 따라 제2입력정보에 대응한 결과값인 해당 웹페이지(W) 정보를 원격 브라우징 서버(20)에 전송한다. 이후, 원격 브라우징 서버(20)는 렌더링 화면 디스플레이 단계(S13)를 시작으로 이후 과정을 반복 수행한다. 참고로, 상기 제1입력정보는 사용자(클라이언트)의 개인정보일 수 있다.
S15; 문서파일 업로드 단계
원격 브라우징 서버(20)가 클라이언트 웹브라우저(11)로부터 문서파일을 수신한다. 특정 웹페이지(W)에는 클라이언트에게 문서파일을 요구하는 콘텐츠가 포함될 수 있고, 이에 대응해서 클라이언트는 문서파일을 선의 또는 악의로 첨부란에 첨부해서 업로드할 수 있다.
전술한 바와 같이, 클라이언트 웹브라우저(11)에 출력된 웹페이지(W) 이미지는 렌더링 화면이므로, 첨부란에 입력된 문서파일은 샌드박스가 아닌 무해화 채널(213)에 전송되고, 무해화 채널(213)은 원격 브라우징 서버(20)에 구성된 무해화 장치(22)로 문서파일을 전달한다.
S16; 무해화 단계
상기 문서파일이 파일형식 변환 및 복원을 통해 무해화 처리된다. 상기 무해화 처리는 무해화 장치(22)에서 실행된다. 무해화 장치(22)가 실행하는 무해화 알고리즘은 전술한 바와 같이 공지의 CDR 기술이므로 무해화 과정에 대한 구체적인 설명은 생략한다.
한편, 원격 브라우징 서버(20)는 무해화 장치(22)와 더불어 추가 보안을 위한 보안솔루션(23)을 더 포함한다. 보안솔루션(23)은 무해화 장치(22)와 병행하여 문서파일에 감염된 악성코드를 탐지하고 치료하는 백신 프로그램 등일 수 있다. 보안솔루션(23)의 보안 과정은 무해화 장치(22)의 무해화 처리 전 또는 이후일 수 있고, 무해화 및 악성코드 치료 등의 과정이 모두 종료하면 하기 무해화파일 수신 단계(S17)가 실행된다.
S17; 무해화파일 수신 단계
무해화 장치(22)를 통해 상기 문서파일의 무해화가 완료되면, 해당 문서파일은 무해화 채널(213)을 통해 샌드박스에 전달되고, 상기 샌드박스에서 실행된 해당 웹페이지의 통신 경로에 따라 무해화 처리된 문서파일이 서비스 서버(30)에 전송된다. 결국, 서비스 서버(30)는 요구한 문서파일을 클라이언트 단말(10)로부터 수신하므로, 해당 문서파일을 웹페이지의 첨부란에 클라이언트가 첨부한 문서파일인 것으로 인식하고 후속 프로세스를 실행한다. 또한, 이에 대응한 결과값인 다른 웹페이지 정보를 원격 브라우징 서버(20)에 전송해서, 클라이언트가 업로드 결과를 확인할 수 있게 한다.
이후, 원격 브라우징 서버(20)는 렌더링 화면 디스플레이 단계(S13)를 시작으로 이후 과정을 반복 수행한다.
전술한 과정을 통해 원격 브라우징 서버(20)가 서비스 서버(30)와 클라이언트 단말(10)의 통신을 중계하므로, 불특정 다수의 클라이언트 단말(10)에 대한 서비스 서버(30)의 노출을 최소화하고, 문서파일에 감염된 악성코드의 전이를 차단할 수 있다. 또한, 악성코드의 전파를 차단해서 선의 클라이언트 단말(10)의 감염을 예방할 수 있다.
앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예들을 참조해 설명했지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10, 10', 10"; 클라이언트 단말 21, 21', 21"; 중계 환경
30; 서비스 서버 W; 웹페이지
A; 표시

Claims (4)

  1. 원격 브라우징 서버가 지정 IP에 접근하는 클라이언트 단말에 접속하고 지정 IP의 서비스 서버와 클라이언트 단말 간의 중계 환경을 세팅하는 제1단계;
    상기 원격 브라우징 서버가 가상 웹브라우징 기능의 샌드박스를 클라이언트 단말에 대응해서 조성하고, 상기 샌드박스에서 서비스 서버의 웹사이트에 구성된 웹페이지가 실행되는 제2단계;
    상기 샌드박스에서 웹페이지의 렌더링 화면이 추출되고, 상기 클라이언트 단말에서 렌더링 화면이 디스플레이되도록 렌더링 화면 정보가 전송되는 제3단계;
    상기 샌드박스에서 렌더링 화면 정보에 대한 제1입력정보가 수신되어 제1입력정보에 상응한 제2입력정보가 생성 및 전송되는 제4단계;
    상기 원격 브라우징 서버가 클라이언트 단말로부터 문서파일을 수신하는 제5단계;
    상기 문서파일이 파일형식 변환 및 복원을 통해 무해화 처리되는 제6단계;
    상기 샌드박스에서 실행된 해당 웹페이지의 통신 경로에 따라 무해화 처리된 문서파일이 서비스 서버에 전송되는 제7단계;
    를 포함하는 것을 특징으로 하는 원격 브라우저를 통한 안전한 파일 전송 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 제5단계 이후 및 제7단계 이전에,
    상기 문서파일의 악성코드 감염 여부를 보안프로그램을 통해 체크하는 단계를 더 포함하는 것;을 특징으로 하는 원격 브라우저를 통한 안전한 파일 전송 방법.
  4. 제 1 항 또는 제 3 항에 있어서,
    상기 원격 브라우징 서버는 샌드박스 조성과 렌더링 화면 추출을 수행하도록 세팅된 중계 환경을 클라이언트 단말에 대응해 다중으로 구성하는 것;을 특징으로 하는 원격 브라우저를 통한 안전한 파일 전송 방법.
KR1020210100611A 2021-07-30 2021-07-30 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템 KR102513460B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210100611A KR102513460B1 (ko) 2021-07-30 2021-07-30 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템
JP2022120100A JP2023021040A (ja) 2021-07-30 2022-07-28 遠隔ブラウザーを介しての安全なファイル伝送方法及び伝送システム
US17/878,251 US20230033714A1 (en) 2021-07-30 2022-08-01 Method and system for securely transmitting file via remote browser

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210100611A KR102513460B1 (ko) 2021-07-30 2021-07-30 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템

Publications (2)

Publication Number Publication Date
KR20230018736A KR20230018736A (ko) 2023-02-07
KR102513460B1 true KR102513460B1 (ko) 2023-03-24

Family

ID=85038469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210100611A KR102513460B1 (ko) 2021-07-30 2021-07-30 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템

Country Status (3)

Country Link
US (1) US20230033714A1 (ko)
JP (1) JP2023021040A (ko)
KR (1) KR102513460B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017046713A2 (en) * 2015-09-14 2017-03-23 Colorado Code Craft Patent Holdco Llc Secure, anonymous browsing with a remote browsing server

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101421136B1 (ko) 2007-07-10 2014-07-21 더 리젠츠 오브 더 유니버시티 오브 미시건 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치
KR101712138B1 (ko) * 2016-06-08 2017-03-03 라온위즈기술 주식회사 사용자 서버를 이용한 파일 제어 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘가상 브라우저 vs 원격 브라우저 격리(웹격리) : 보안을 위한 적합한 브라우징 솔루션 찾기’, 네이버블로그, 2020. 10. 13.*

Also Published As

Publication number Publication date
US20230033714A1 (en) 2023-02-02
JP2023021040A (ja) 2023-02-09
KR20230018736A (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
JP4405248B2 (ja) 通信中継装置、通信中継方法及びプログラム
KR101514984B1 (ko) 홈페이지 악성코드 유포 탐지 시스템 및 방법
JP6624771B2 (ja) クライアントベースローカルマルウェア検出方法
US8181246B2 (en) System and method for preventing web frauds committed using client-scripting attacks
US8732794B2 (en) Browser plug-in firewall
KR101672791B1 (ko) 모바일 웹 애플리케이션 환경에서의 취약점 탐지 방법 및 시스템
US20090119769A1 (en) Cross-site scripting filter
US20100037317A1 (en) Mehtod and system for security monitoring of the interface between a browser and an external browser module
ES2882125T3 (es) Sistema y procedimiento para identificar ataques en Internet
US9081956B2 (en) Remote DOM access
CN101816148A (zh) 用于验证、数据传送和防御网络钓鱼的系统和方法
WO2015001535A1 (en) System and method for web application security
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
Rauti et al. Browser extension-based man-in-the-browser attacks against Ajax applications with countermeasures
Makura et al. Proactive forensics: Keystroke logging from the cloud as potential digital evidence for forensic readiness purposes
Bukhari et al. Reducing attack surface corresponding to Type 1 cross-site scripting attacks using secure development life cycle practices
KR102513460B1 (ko) 원격 브라우저를 통한 안전한 파일 전송 방법과 전송 시스템
Hamon Malicious URI resolving in PDF documents
Gupta et al. Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions
KR101372906B1 (ko) 악성코드를 차단하기 위한 방법 및 시스템
Heiderich et al. The bug that made me president a browser-and web-security case study on helios voting
Snehi et al. Web client and web server approaches to prevent xss attacks
Thompson et al. Information security challenge of QR codes
Sahani et al. Clickjacking: Beware of clicking
Shah et al. Securing third-party web resources using subresource integrity automation

Legal Events

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