KR20220039905A - 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법 - Google Patents

인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법 Download PDF

Info

Publication number
KR20220039905A
KR20220039905A KR1020200121611A KR20200121611A KR20220039905A KR 20220039905 A KR20220039905 A KR 20220039905A KR 1020200121611 A KR1020200121611 A KR 1020200121611A KR 20200121611 A KR20200121611 A KR 20200121611A KR 20220039905 A KR20220039905 A KR 20220039905A
Authority
KR
South Korea
Prior art keywords
security
program
business
endpoint
module
Prior art date
Application number
KR1020200121611A
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 KR1020200121611A priority Critical patent/KR20220039905A/ko
Publication of KR20220039905A publication Critical patent/KR20220039905A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

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)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

엔드포인트 보안을 위한 방법이 제공된다. 상기 방법은 일반 모드에서 에이전트가 기 설정된 업무용 사이트에 접속하는 이벤트 혹은 기 설정된 업무용 프로그램을 실행하는 이벤트를 감지하면, 보안 정책 및 보안 프로그램을 다운로드하는 단계와, 상기 에이전트가 상기 보안 프로그램을 설치하여 보안모듈을 실행시키는 단계와, 상기 보안모듈이 상기 보안 정책에 따라 상기 업무용 프로그램의 실행 중 기 허가된 프로그램을 제외한 나머지 모든 프로그램의 실행을 차단하는 보안 프로세스를 수행하는 단계를 포함한다.

Description

인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법{Apparatus for endpoint security tailored to the point of work based on artificial neural network and method therefor}
본 발명은 엔드포인트 보안 기술에 관한 것으로, 보다 상세하게는, 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법에 관한 것이다.
엔드포인트는 단어의 뜻 그대로 끝점을 의미한다. 현재 우리가 사용하는 대부분의 전자기기들은 네트워크에 연결되어 있는데, 네트워크로 연결되어 있는 최종 장치가 엔드포인트가 된다. 예를 들어 우리가 스마트폰으로 인터넷에 접속한다고 했을 때, 우리의 스마트폰은 네트워크 연결의 시작점인 동시에 끝점이 된다.
스마트폰을 사용할 때 생성되는 데이터들은 스마트폰을 시작으로 인터넷 상에 퍼져 나간다. 동시에 인터넷에서 떠돌던 수많은 데이터 중 일부는 스마트폰을 통해 사용자에게 전달된다. 즉, 사용자가 직접 접촉하는 모든 네트워크 연결기기는 엔드포인트라고 할 수 있다. 스마트폰은 물론이고, PC, 태블릿, 웨어러블 기기, 사물인터넷(IoT) 기기들도 여기에 속한다. 엔드포인트 보안은 엔드포인트인 스마트폰이나 PC 등을 안전하게 보호하는 것이다.
한국공개특허 제10-2015-0090154호 2015년 08월 05일 공개 (명칭: 보안 환경에서 엔드포인트 하드웨어 지원형 네트워크 방화벽을 위한 시스템 및 방법)
본 발명의 목적은 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법은 일반 모드에서 에이전트가 기 설정된 업무용 사이트에 접속하는 이벤트 혹은 기 설정된 업무용 프로그램을 실행하는 이벤트를 감지하면, 보안 정책 및 보안 프로그램을 다운로드하는 단계와, 상기 에이전트가 상기 보안 프로그램을 설치하여 보안모듈을 실행시키는 단계와, 상기 보안모듈이 상기 보안 정책에 따라 상기 업무용 프로그램의 실행 중 기 허가된 프로그램을 제외한 나머지 모든 프로그램의 실행을 차단하는 보안 프로세스를 수행하는 단계를 포함한다.
상기 보안 프로세스를 수행하는 단계는 상기 보안모듈이 상기 보안 정책에 따라 기 설정된 폴더에만 읽기 및 쓰기 권한을 부여하고, 기 설정된 폴더 이외의 다른 폴더에 읽기 및 쓰기를 금지하는 것을 특징으로 한다.
상기 방법은 상기 보안모듈을 실행시키는 단계 후, 상기 보안 프로세스를 수행하는 단계 전, 상기 보안모듈이 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔하는 단계와, 상기 보안모듈이 상기 스캔 결과, 악성 코드가 발견되지 않으면, 백업 및 스냅샷 중 적어도 하나를 통해 상기 레지스트리에 대한 백업 파일을 생성하는 단계와, 상기 보안모듈이 상기 백업 파일을 기 설정된 보안 프로그램이 설치된 보안 디렉터리에 저장하는 단계를 더 포함한다.
상기 방법은 상기 업무용 사이트에 대한 접속이 해제되거나, 상기 업무용 프로그램이 종료되면, 상기 보안모듈이 상기 보안 디렉터리에 저장된 백업 파일을 통해 레지스트리를 복원하는 단계를 더 포함한다.
상기 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔하는 단계는
상기 레지스트리 및 상기 실행중인 프로세스 중 적어도 하나를 포함하는 스캔 대상 데이터를 이미지로 변환하는 단계와, 상기 이미지를 검출모델에 입력하는 단계와, 상기 검출모델이 복수의 계층의 가중치가 적용되는 복수의 연산을 통해 상기 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재할 확률을 산출하는 단계와, 상기 확률이 기 설정된 수치 이상이면, 상기 스캔 대상 데이터의 코드를 직접 분석하여 악성 코드 존재 여부를 확인하는 단계를 더 포함한다.
상기 방법은 상기 업무용 사이트에 대한 접속이 해제되거나, 상기 업무용 프로그램이 종료되면, 상기 보안 프로그램을 삭제하는 단계를 더 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치는 보안서버와의 통신을 위한 통신부와, 일반 모드에서 에이전트를 통해 기 설정된 업무용 사이트에 접속하는 이벤트 혹은 기 설정된 업무용 프로그램을 실행하는 이벤트를 감지하면, 보안 정책 및 보안 프로그램을 다운로드하고, 상기 보안 프로그램을 설치하여 보안모듈을 실행시키며, 보안모듈을 통해 상기 보안 정책에 따라 상기 업무용 프로그램의 실행 중 기 허가된 프로그램을 제외한 나머지 모든 프로그램의 실행을 차단하는 보안 프로세스를 수행하는 제어부를 포함한다.
본 발명에 따르면, 사용자의 개인 용도로도 사용하는 사용자장치를 통해서 업무를 수행 할 경우 업무를 수행하는 시점에 맞게 해당 업무에 맞는 보안 프로그램 및 보안 정책을 제공하여, 그 정책에 맞게 사용자장치를 운영할 수 있도록 한다. 또한, 운영 시 모니터링을 통해 보안 프로세스에서 운영체제의 리소스에 접근하는 행위에 대한 로그를 생성하며, 정책에 위반되는 행위가 발생 시 해당 행위를 통제하며, 업무가 종료되었을 때는 해당 보안 프로그램과 정책을 종료시킨다. 이에 따라, 본 발명은 업무 수행 시점의 사용자장치에 대한 보안, 즉, 엔드포인트 보안을 보증한다.
도 1은 본 발명의 실시예에 따른 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 보안서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 보안서버의 제어모듈에서 실행되는 분류모델을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 실시예에 따른 스캔을 위한 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 스캔을 위한 검출모델의 구성을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 보안 프로세스를 수행하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 다른 실시예에 따른 보안 프로세스를 수행하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 추가적인 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에"연결되어" 있다거나"접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는"포함 한다" 또는"가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된"…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 프로그램 또는 하드웨어 및 프로그램의 결합으로 구현될 수 있다.
또한, "일(a 또는an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른(유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 광고를 제공하는데 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
먼저, 본 발명의 실시예에 따른 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 시스템(이하, '보안시스템'으로 축약함)은 보안서버(100), 사용자장치(200) 및 업무용서버(300)를 포함한다. 이러한 보안서버(100), 사용자장치(200) 및 업무용서버(300)는 네트워크(NW)를 통해 상호간에 데이터를 송수신할 수 있다.
사용자장치(200)는 사용자가 사용하는 장치이며, 본 발명의 실시예에 따른 엔드포인트(end-point)이다. 사용자장치(200)는 대표적으로, 노트북, 퍼스널컴퓨터 등을 예시할 수 있다. 하지만, 사용자장치(200)를 이에 한정하는 것은 아니다. 사용자장치(200)는 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 예컨대, 사용자장치(200)는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 스마트폰(Smart Phone), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 수도 있다. 특히, 사용자장치(200)는 무선 통신 기능을 포함하는 트립-컴퓨터(Trip Computer), 내비게이션, 전자제어유닛(Electronic Control Unit) 등의 장치가 될 수도 있다. 특히, 전술한 트립-컴퓨터(Trip Computer), 내비게이션, 전자제어유닛(Electronic Control Unit) 등의 장치는 미국자동차공학회(SAE: Society of Automotive Engineers)에 따른 레벨 0 내지 레벨 5를 포함하는 자율주행의 기능의 일부 혹은 전부를 수행할 수 있는 장치가 될 수 있다. 또한, 무선 통신 기능은 네트워크에 접속하는 범용 통신 기능을 의미하지만, 단방향의 OTA(Over-the-air programming) 기능만을 가지는 것도 포함된다.
사용자장치(200)는 사용자의 개인 용도 혹은 일반 용도로 사용될 수 있다. 이러한 상태를 일반 모드라고 칭하기로 한다. 또한, 사용자장치(200)는 사용자가 업무용으로도 사용할 수 있다. 이러한 상태를 보안 모드라고 칭하기로 한다. 사용자장치(200)는 기 설정된 업무용 프로그램을 실행하거나, 기 설정된 업무용 사이트, 즉, 업무용 서버(300)에 접속함으로써 보안 모드로 전환된다.
보안서버(100)는 복수의 사용자장치(200)에서 특정 시점에 보안 정책을 제공하기 위한 것이다. 사용자장치(200)는 보안서버(100)와의 연결을 위한 에이전트(AG)가 설치되어 상주하며, 보안 모드로 전환되는 경우, 에이전트(AG)에 의해 보안서버(100)와 연결되어 보안서버(100)로부터 보안 정책을 다운로드 받고 사용자장치(200)는 보안 정책에 따른 보안 프로세스를 실행한다. 본 발명의 실시예에 따른 보안 모드에서 보안 정책은 기본적으로 업무를 위해 필요한 프로세스 이외의 다른 모든 프로세스를 차단하는 것이다. 이에 따라, 사용자는 일반 모드에서 다양한 용도로 사용자장치(200)를 사용할 수 있고, 보안 모드로 전환한 경우 안전하게 업무에 사용할 수 있다.
그러면, 보다 상세히 본 발명의 실시예에 따른 보안서버(100) 및 사용자장치(200)의 구성에 대해서 살펴보기로 한다. 먼저, 본 발명의 실시예에 따른 보안서버(100)의 구성에 대해서 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 보안서버의 구성을 설명하기 위한 블록도이다. 도 3은 본 발명의 실시예에 따른 보안서버의 제어모듈에서 실행되는 분류모델을 설명하기 위한 도면이다. 도 2를 참조하면, 보안서버(100)는 통신모듈(110), 저장모듈(120) 및 제어모듈(130)을 포함한다.
통신모듈(110)은 사용자장치(200)와의 통신을 위한 것이다. 통신모듈(110)은 사용자장치(200)가 보안서버(100)에 접속하면 사용자장치(200)와 필요한 정보를 포함하는 데이터를 교환하기 위한 통신을 수행한다. 통신모듈(110)은 제어모듈(130)로부터 사용자장치(200)로 전송하기 위한 데이터, 예컨대, 보안 프로그램 및 보안 정책을 포함하는 데이터를 전달 받고, 전달받은 데이터를 패킷으로 구성하여 전송한다. 또한, 통신모듈(110)은 사용자장치(200)로부터 수신되는 패킷으로부터 보안 요청 메시지를 추출하여, 추출된 보안 요청 메시지를 제어모듈(130)로 전달한다.
저장모듈(120)은 보안서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 보안서버(100)의 전반적인 동작을 제어하는 프로그램 및 보안서버(100)을 부팅시키는 운영체제(OS, Operating System), 이미지 검색을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 보안서버(100)의 운영에 따라 발생하는 데이터 및 보안서버(100)의 운영에 필요한 데이터가 저장되는 영역이다. 예컨대, 저장모듈(120)은 다양한 보안 정책 및 보안 프로그램을 저장할 수 있다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어모듈(130)은 보안서버(100)의 전반적인 동작 및 보안서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(130)은 중앙 처리 장치(Central Processing Unit: CPU)인 것이 바람직하다. 도 3을 참조하면, 제어모듈(130)은 인공신경망 알고리즘인 분류모델(CM)을 포함한다. 제어모듈(130)은 통신모듈(110)을 통해 보안 요청 메시지를 수신하면, 분류모델(CM)을 통해 보안 요청 메시지를 전송한 사용자장치(200)에 적합한 보안 프로그램 및 보안 정책을 도출하고, 도출된 보안 프로그램 및 보안 정책을 통신모듈(110)을 통해 사용자장치(200)에 전송한다. 보다 구체적으로 설명하면 다음과 같다. 사용자장치(200) 제어부(250)에서 상주하는 에이전트(AG)는 통신부(210)를 통해 보안서버(200)에 접속하여 보안 요청 메시지를 보안서버(200)로 전송할 수 있다. 보안 요청 메시지는 실행된 업무용 프로그램을 식별하기 위한 프로그램식별자, 접속한 업무용 사이트를 식별하기 위한 사이트주소, 작업 그룹을 식별하기 위한 작업그룹식별자, 사용자 그룹을 식별하기 위한 사용자그룹식별자 및 사용자를 식별하기 위한 사용자식별자 중 적어도 하나를 포함한다. 이에 따라, 제어모듈(130)은 인공신경망이며 분류기의 일종인 분류모델(CM)을 통해 업무용 프로그램, 업무용 사이트, 작업 그룹, 사용자 그룹 및 사용자 중 적어도 하나의 파라미터에 따라 적합한 보안 정책 및 보안 프로그램을 도출하고, 통신모듈(110)을 통해 사용자장치(200)의 에이전트(AG)에 제공한다.
다음으로, 본 발명의 실시예에 따른 사용자장치(200)에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 5는 본 발명의 실시예에 따른 스캔을 위한 이미지를 생성하는 방법을 설명하기 위한 도면이다. 도 6은 본 발명의 실시예에 따른 스캔을 위한 검출모델의 구성을 설명하기 위한 도면이다. 도 7은 본 발명의 일 실시예에 따른 보안 프로세스를 수행하는 방법을 설명하기 위한 도면이다. 그리고 도 8은 본 발명의 다른 실시예에 따른 보안 프로세스를 수행하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 사용자장치(200)는 통신부(210), 입력부(220), 표시부(230), 저장부(240) 및 제어부(250)를 포함한다.
통신부(210)는 보안서버(100) 및 업무용서버(300)를 비롯한 다른 장치와 통신을 위한 것으로, 다양한 통신 연결 방식을 통해 통신을 수행한다. 이러한 통신부(210)는 다양한 통신 연결 방식의 통신 기능 중 어느 하나를 선택하여 통신할 수 있다. 이러한 통신부(210)는 하나의 모듈 혹은 복수의 모듈로 구현될 수도 있다. 예컨대, 통신부(210)는 WCDMA, LTE, LTE-A 등의 표준에 따라 기지국을 통해 네트워크에 접속하는 광대역이동통신 방식, Wi-Fi(wireless fidelity)를 이용하는 WLAN(Wireless Local Area Network) 방식에 따라 접속포인트(AP: Access Point)를 통해 네트워크에 접속하여 통신을 수행하는 무선근거리통신 방식 등을 이용할 수 있다. 통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 제어부(250)로부터 전달 받은 데이터, 예컨대, 보안 요청 메시지를 무선 신호로 변환하여 무선 채널을 통해 전송할 수 있다. 또한, 통신부(210)는 무선 채널을 통해 수신된 무선 신호에서 데이터, 예컨대, 보안 프로그램, 보안 정책, 업무용 프로그램 등을 추출하여 제어부(250)로 전달할 수 있다.
입력부(220)는 사용자장치(200)를 제어하기 위한 사용자의 키 조작을 입력 받고 입력 신호를 생성하여 제어부(250)로 전달한다. 입력부(220)는 전원 on/off를 위한 전원버튼, 문자키, 숫자키, 특수키, 방향키 등을 포함할 수 있다. 표시부(230)가 터치스크린으로 이루어진 경우, 입력부(220)의 각 종 키들의 기능이 표시부(230)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(220)는 생략될 수도 있다.
표시부(230)는 사용자장치(200)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(230)는 사용자장치(200)의 부팅 화면, 대기 화면, 메뉴 화면 등의 각종 화면을 출력하는 기능을 수행한다. 이러한 표시부(230)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(230)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(230)는 터치센서를 포함하며, 제어부(250)는 터치센서를 통해 사용자의 터치 입력을 감지할 수 있다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(250)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(250)로 전송할 수 있다.
저장부(240)는 사용자장치(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자장치(200)의 전반적인 동작을 제어하는 프로그램 및 사용자장치(200)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자장치(200)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(240)는 사용자장치(200)의 동작에 따라 발생되는 각 종 데이터 등을 저장할 수 있다.
제어부(250)는 사용자장치(200)의 전반적인 동작 및 사용자장치(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(250)는 중앙 처리 장치(Central Processing Unit: CPU), 애플리케이션 프로세서(Application Processor), 그래픽 프로세서(GPU: graphic processing unit) 등이 될 수 있다.
제어부(250)의 에이전트(AG)는 일반 모드 실행 중 입력부(220) 혹은 표시부(230)를 통해 기 설정된 업무용 사이트에 대한 접속 혹은 기 설정된 업무용 프로그램을 실행에 대한 입력이 감지되면, 통신부(210)를 통해 보안서버(200)에 접속하여 보안 정책 및 보안 프로그램을 다운로드한다. 앞서 설명된 바와 같이, 보안서버(200)는 업무용 프로그램, 업무용 사이트, 작업 그룹, 사용자 그룹 및 사용자에 따라 적합한 보안 정책 및 보안 프로그램을 도출한다. 그러면, 에이전트(AG)는 이러한 보안 정책 및 보안 프로그램을 다운로드한다. 그런 다음, 에이전트(AG)는 다운로드된 보안 프로그램을 설치하고, 설치된 보안 프로그램에 따른 보안모듈(SM: Security Module)을 실행시킬 수 있다.
보안모듈(SM)이 실행되면, 보안모듈(SM)은 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔한다. 이때, 보안모듈(SM)은 검출모델(DM: Detecting Model)을 통해 레지스트리 및 실행중인 프로세스를 스캔할 수 있다. 검출모델(DM)은 컨벌루션신경망(CNN: Convolution Neural Network)이 될 수 있다. 이러한 경우, 검출모델(DM)은 입력층(Input Layer: IL), 교번으로 반복되는 적어도 한 쌍의 컨벌루션층(Convolution Layer: CL)과 풀링층(Pooling Layer: PL), 적어도 하나의 완전연결층(Fully-connected Layer: FL) 및 출력층(Output Layer: OL)을 포함할 수 있다.
도 6에 검출모델(DM)의 일례가 도시되었다. 도시된 바와 같이, 검출모델(DM)은 복수의 계층, 즉, 순차로 입력층(IL), 컨볼루션층(CL), 풀링층(PL), 완전연결층(FL) 및 출력층(OL)을 포함한다. 복수의 계층 각각은 이전 계층의 연산 결과에 대해 가중치를 적용한 값을 입력받고, 가중치가 적용된 입력값에 대해 소정의 활성화함수에 의한 연산을 수행하여 그 연산 결과를 다음 계층으로 전달한다. 그리고 최종 계층의 연산 결과를 검출모델(DM)의 출력값으로 출력한다.
본 발명의 실시에에 따르면, 보안모듈(SM)은 레지스트리 및 실행중인 프로세스를 포함하는 스캔 대상 데이터를 소정의 단위 규격(w*h)을 가지는 복수의 이미지로 변환하고, 복수의 이미지 각각을 순차로 검출모델(DM)에 입력한다. 검출모델(DM)은 스캔 대상 데이터가 변환된 복수의 이미지 각각이 순차로 입력되면(R01, R02, R03, R04), 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 출력값을 산출한다. 이러한 출력값은 입력된 이미지에 대응하는 스캔 대상 데이터에 악성 코드가 존재할 확률을 나타낸다.
입력층(IL)은 이미지를 입력받기 위한 버퍼의 역할을 수행하며, 입력 데이터인 이미지의 복수의 픽셀 각각이 위치 정보(예컨대, 픽셀 좌표)를 유지하도록 이미지의 단위 규격(w*h)에 맞춰 형성된다.
컨볼루션층(CL)은 적어도 하나의 제1 특징맵(FM 1: Feature Map)으로 구성된다. 입력층(IL)에 이미지가 입력되면, 컨볼루션층(CL)은 입력층(IL)의 이미지의 각 픽셀값에 대해 제1 필터(W1)를 이용한 컨벌루션(convolution) 연산을 수행하여 가중치를 적용하고, 활성화함수에 의한 연산을 수행하여 복수의 제1 특징맵(FM1)을 도출한다.
풀링층(PL)은 적어도 하나의 제2 특징맵(FM 2: Feature Map 2)으로 구성된다. 풀링층(PL)은 컨볼루션층(CL)의 적어도 하나의 제1 특징맵(FM1)에 대해 제2 필터(W2)를 이용한 풀링(pooling 또는 sub-sampling) 연산을 수행하여 적어도 하나의 제2 특징맵(FM2)을 도출한다.
완결연결층(FL)은 복수의 연산노드(f1 내지 fn)로 이루어진다. 완결연결층(FL)의 복수의 연산노드(f1 내지 fn)는 풀링층(PL)의 적어도 하나의 제2 특징맵(FM2)에 대해 활성화함수에 의한 연산을 통해 복수의 연산값을 산출한다. 선택적으로, 풀링층(PL)과 완전연결층(FL) 사이에 다음 계층의 값의 형태에 맞춰 이전 계층의 값의 형태를 변경하여 다음 계층에 입력하는 역할을 수행하는 평탄화계층(FLL: FLatten Layer)이 개재될 수 있다. 즉, 평탄화계층(FLL)은 풀링계층(PL)의 행렬 형태인 제2 특징맵(FM2)의 값을 완전연결계층(FL)의 연산 노드에 맞춰 변경하여 입력하는 역할을 수행한다. 예컨대, 평탄화계층(FLL)은 풀링계층(PL)의 제2 특징맵이 (행ㅧ열ㅧ채널)의 형태라면, 이를 완전연결계층(FL)의 연산 노드의 형태인 (열ㅧ채널)의 형태로 변경하여 그 연산 노드에 입력할 수 있다.
출력층(OL)은 하나의 출력노드(O)를 포함한다. 완결연결층(FL)의 복수의 연산노드(f1 내지 fn) 각각은 가중치(W: weight)를 가지는 채널로 출력층(OL)의 출력노드(O)와 연결된다. 다른 말로, 복수의 연산노드(f1 내지 fn)의 복수의 연산값은 가중치가 적용되어 출력노드(O)에 입력된다. 이에 따라, 출력층(OL)의 출력노드(O)는 완결연결층(FL)의 가중치가 적용되는 복수의 연산값에 대해 활성화함수에 의한 연산을 통해 출력값을 산출한다.
전술한 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)에서 연산에 사용되는 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)은 이러한 활성화함수 중 어느 하나를 선택하여 연산을 수행한다.
출력층(OL)의 출력노드(O)의 출력값은 입력된 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재할 확률을 나타낸다. 출력노드(O)는 완결연결층(FL)의 복수의 연산 노드(f1 내지 fn)로부터 입력되는 복수의 연산값 x=[x1, x2, … , xn]에 가중치 w=[w1, w2, … , wn]를 적용한 후, 그 결과에 활성화함수 F를 취하여 출력값을 산출한다. 일례로, 출력노드(O)의 출력값이 0.07911이라고 가정하면, 이는 입력된 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재할 확률이 8%임을 나타낸다. 다른 예로, 출력노드(O)의 출력값이 0.92089이라고 가정하면, 이는 입력된 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재할 확률이 92%임을 나타낸다. 따라서 보안모듈(SM)은 이러한 확률이 임계치 이상이면, 해당 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재하는 것으로 판단하고, 임계치 미만이면, 악성코드가 존재하지 않는 것으로 판단한다.
도 5의 (가)에 도시된 바와 같이, 보안모듈(SM)은 스캔 대상 데이터를 1byte 단위로 구분하여 픽셀값으로 변환함으로써 소정의 단위 규격(w*h)의 복수의 이미지를 생성한다. 그런 다음, 보안모듈(SM)은 복수의 이미지를 순차로 검출모델(DM)에 입력한다. 검출모델(DM)은 악성 코드를 1byte 단위로 구분하여 픽셀값으로 변환했을 때의 특징을 학습(deep learning)한 모델이다. 이에 따라, 검출모델(DM)은 이미지가 입력되면, 이미지에 대해 검출모델(DM)의 복수의 계층의 학습된 가중치가 적용된 복수의 연산을 통해 해당 이미지에 대응하는 스캔 대상 데이터에 악성 코드가 존재할 확률을 산출하여 출력값으로 출력한다. 보안모듈(SM)은 검출모델(DM)의 출력값의 확률이 기 설정된 수치 이상이면, 해당 이미지에 대응하는 스캔 대상 데이터의 코드를 직접 분석하여 악성 코드 존재 여부를 최종 확인한다.
반면, 보안모듈(SM)은 검출모델(DM)의 출력값의 확률이 기 설정된 수치 미만이면, 도 5의 (가)의 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재하지 않는 것으로 판단하고, 도 5의 (가)의 이미지를 모두 저장한다. 그런 다음, 보안모듈(SM)은 후속의 보안 프로세스를 수행한다. 이러한 보안 모드에서 업무용 프로그램의 종료 혹은 업무용 사이트에 대한 접속 종료로 인해 보안 프로세스가 종료된 후, 다시 보안 업무용 사이트에 접속하거나, 업무용 프로그램을 실행하는 경우, 보안모듈(SM)이 다시 실행되어 레지스트리 및 실행중인 프로세스를 스캔하는 상황을 가정한다. 이러한 경우, 보안모듈(SM)은 도 5의 (나)와 같이 레지스트리 및 실행중인 프로세스를 포함하는 스캔 대상 데이터를 소정의 단위 규격(w*h)을 가지는 복수의 이미지로 변환한다. 그런 다음, 보안모듈(SM)은 기 저장된 도 5의 (가)의 복수의 이미지와 대응하는 도 5의 (나)의 복수의 이미지를 비교한다. 예컨대, R01과 R11, R02와 R12, R03과 R13 그리고 R04와 R14를 비교한다. 이러한 비교에 따라 보안모듈(SM)은 도 6에 도시된 바와 같이, 앞서 악성코드가 존재하지 않는 것으로 판단된 이미지(R01, R02, R03, R04)와 동일한 이미지가 존재하면 동일한 이미지(예컨대, R12, R14)를 제외하고, 차이가 있는 이미지(R11, R14)만, 검출모델(DM)에 입력하여 악성코드 존재 여부를 스캔한다. 이로써, 스캔 시간을 단축시킬 수 있다.
스캔이 완료된 후, 악성 코드가 존재하지 않으면, 보안모듈(SM)은 보안 모드에서 본 발명의 실시예에 따라 보안 정책을 적용하여 미리 인가된 업무용 프로그램 외의 인가되지 않은 다른 프로그램, 즉, 비인가 프로그램을 모두 차단할 수 있다. 또한, 보안모듈(SM)은 보안 모드에서 미리 허가된 폴더에만 읽기 및 쓰기가 가능하게 하고, 미리 허가된 폴더 이외의 다른 폴더, 즉, 허가되지 않은 비허가 폴더에 대한 읽기 및 쓰기를 모두 차단할 수 있다.
프로그램이 실행되기 위해서는 운영체제(OS)에 리소스를 할당하도록 요청해야 한다. 일 실시예에 따르면, 예컨대, 도 7에 도시된 바와 같이, 보안모듈(SM)은 업무용 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이를 허가하고, 업무용 프로그램 외에 다른 비인가 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 요청이 이루어지기 전에 이를 차단할 수 있다.
다른 실시예에 따르면, 예컨대, 도 8에 도시된 바와 같이, 보안모듈(SM)은 운영체제(OS) 상에 가상의 계층을 형성하는 미들웨어로 동작할 수 있다. 이에 따라, 업무용 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이를 허가하고, 업무용 프로그램 외에 다른 비인가 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이러한 요청을 중간에서 수신한 후, 요청을 거부한다.
그러면, 보다 상세히 본 발명의 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법에 대해서 설명하기로 한다. 도 9는 본 발명의 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, S110 단계에서 사용자장치(100)는 일반 모드에 있다고 가정한다. 이러한 일반 모드에서 에이전트(AG)는 S120 단계에서 보안 모드 실행 요건을 만족하는지 여부를 판단한다. 에이전트(AG)는 기 설정된 업무용 사이트에 접속하는 이벤트 발생을 감지하거나, 기 설정된 업무용 프로그램을 실행하는 이벤트 발생을 감지하면, 보안 모드 실행 요건을 만족하는 것으로 판단한다. 에이전트(AG)는 입력부(220) 혹은 표시부(230)를 통해 감지되는 사용자의 입력을 통해 보안 모드 실행 요건을 감지할 수 있다.
상기 판단 결과, 보안 모드 실행 요건이 만족되면, 에이전트(AG)는 S130 단계에서 보안서버(100)로부터 보안 정책 및 보안 프로그램을 다운로드한다. 보다 상세하게 설명하면, 에이전트(AG)는 통신부(210)를 통해 보안서버(200)에 접속하여 실행한 업무용 프로그램을 식별하기 위한 프로그램식별자, 접속한 업무용 사이트를 식별하기 위한 사이트주소, 작업 그룹을 식별하기 위한 작업그룹식별자, 사용자 그룹을 식별하기 위한 사용자그룹식별자 및 사용자를 식별하기 위한 사용자식별자 중 적어도 하나를 포함하는 보안 요청 메시지를 보안서버(200)로 전송한다. 그러면, 보안서버(200)는 업무용 프로그램, 업무용 사이트, 작업 그룹, 사용자 그룹 및 사용자 중 적어도 하나의 파라미터에 따라 적합한 보안 정책 및 보안 프로그램을 도출하고, 에이전트(AG)에 제공한다. 이에 따라, 에이전트(AG)는 보안 정책 및 보안 프로그램을 다운로드할 수 있다.
이어서, 에이전트(AG)는 S140 단계에서 다운로드된 보안 프로그램을 설치하고, 설치된 보안 프로그램에 따른 보안모듈(SM: Security Module)을 실행시킨다.
그러면, 보안모듈(SM)은 S150 단계에서 검출모델(DM)을 통해 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔하고, S160 단계에서 악성 코드가 발견되었는지 여부를 확인한다. S160 단계의 확인 결과, 악성 코드가 발견되면, 보안모듈(SM)은 S190 단계로 진행한다. 반면, S160 단계의 확인 결과, 악성 코드가 발견되지 않으면, 보안모듈(SM)은 S170 단계로 진행한다.
S190 단계에서 보안모듈(SM)은 발견된 악성코드를 격리하고, 치료가 가능한 경우 치료하고, 치료가 불가능한 경우 삭제한다. 또한, 보안모듈(SM)은 악성 코드에 대한 리포트를 생성하여 보안서버(100)로 전송할 수 있다.
S170 단계에서 보안모듈(SM)은 백업 및 스냅샷 중 적어도 하나를 이용하여 레지스트리를 백업하여 백업 파일을 생성하고, 백업 파일을 기 설정된 보안 디렉터리에 저장한다. 보안 디렉터리는 보안 프로그램이 설치되어 보안 프로그램에 의해 정보가 보호되는 보안 폴더가 될 수 있다.
다음으로, 보안모듈(SM)은 S180 단계에서 보안 정책에 따른 보안 프로세스를 실행한다. 이러한 S180 단계에서 보안모듈(SM)은 보안 정책에 따라 업무용 프로그램의 실행 중 기 허가된 프로그램, 예컨대, 업무용 프로그램을 제외한 나머지 모든 프로그램, 즉, 비인가 프로그램의 실행을 차단한다. 프로그램이 실행되기 위해서는 운영체제(OS)에 리소스를 할당하도록 요청해야 한다. 일 실시예에 따르면, 예컨대, 도 7에 도시된 바와 같이, 보안모듈(SM)은 업무용 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이를 허가하고, 업무용 프로그램 외에 다른 비인가 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 요청이 이루어지기 전에 이를 차단할 수 있다. 다른 실시예에 따르면, 예컨대, 도 8에 도시된 바와 같이, 보안모듈(SM)은 운영체제(OS) 상에 가상의 계층을 형성하는 미들웨어로 동작할 수 있다. 이에 따라, 업무용 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이를 허가하고, 업무용 프로그램 외에 다른 비인가 프로그램이 운영체제(OS)에 리소스 할당을 요청하는 경우 이러한 요청을 중간에서 수신한 후, 요청을 거부한다. 또한, S180 단계에서 보안모듈(SM)은 보안 정책에 따라 기 설정된 폴더에만 읽기 및 쓰기 권한을 부여하고, 기 설정된 폴더 이외의 다른 폴더에 읽기 및 쓰기를 금지한다.
특히, 보안모듈(SM)은 보안 프로세스의 수행 중 모니터링을 통해 운영체제(OS)에 접근하여 리소스를 요청하는 모든 행위를 감시하고, 이에 대한 로그를 생성할 수 있다.
다음으로, 본 발명의 실시예에 따른 보안 프로세스의 종료에 대해서 설명하기로 한다. 도 10은 본 발명의 추가적인 실시예에 따른 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, S210 단계에서 앞서 도 9에서 설명된 바와 같은 보안 프로세스를 수행하는 보안 모드에 있다고 가정한다.
보안모듈(SM)은 S220 단계에서 업무용 사이트에 대한 접속이 해제되거나, 업무용 프로그램이 종료되는지 여부를 확인한다. 상기 확인 결과, 무용 사이트에 대한 접속이 해제되거나, 업무용 프로그램이 종료되면, 보안모듈(SM)은 S230 단계에서 통신부(210)를 통해 보안 모드가 진행되는 동안의 로그 기록을 보안서버(100)로 전송한다. 그런 다음, 보안모듈(SM)은 S240 단계에서 백업 파일을 이용하여 레지스트리를 복원한다.
레지스트리가 복원되면, 에이전트(AG)는 S250 단계에서 보안 프로그램을 삭제할 수 있다. 보안 프로그램이 삭제되는 경우에도 보안 프로그램의 디렉토리는 삭제되지 않으며, 디렉토리 내의 날짜별 백업 파일은 저장되어 유지된다. 이러한 S250 단계에서 보안 프로그램의 삭제는 설정에 의해 수행되지 않을 수 있다. 또한, 기본적으로, 읽기 및 쓰기가 금지된 폴더에 대한 정책은 유지된다. 하지만, 이러한 정책은 설정에 따라 읽기 및 쓰기가 금지된 폴더에 대한 일기 및 쓰기를 허용하도록 복원할 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 사용자의 개인 용도로 사용되는 사용자장치(200)를 통해서 업무를 수행 할 경우 업무를 수행하는 시점에 맞게 해당 업무에 맞는 보안 프로그램 및 보안 정책을 제공하여, 그 정책에 맞게 사용자장치(200)를 운영할 수 있도록 한다. 이러한 운영 시 모니터링을 통해 모든 프로세스에 대한 로그를 생성하며, 정책에 위반되는 행위가 발생 시 해당 행위를 통제하며, 업무가 종료되었을 때는 해당 보안 프로그램과 정책을 종료시킨다. 이에 따라, 본 발명은 업무 수행 시점의 사용자장치(200)에 대한 보안, 즉, 엔드포인트 보안을 보증한다.
이러한 본 발명에 따르면 하나의 사용자장치(예컨대, PC)를 업무용, 개인용 또는 내부망용과 외부망용 등으로 사용할 수 있다. 이에 따라, 재택근무자에 대한 별도의 PC 지급 등의 불필요한 관리 포인트를 배제할 수 있다. 설정을 통해 사용자장치 내 업무별 또는 개인별 중요 정보를 별도로 저장하고 관리할 수 있다. 사용자장치를 통한 악성코드나 바이러스 침투를 업무 시작 시점에 점검함으로써 사용자장치에서 사전 방역이 가능하다. 수많은 사용자장치의 보안 통제가 아닌 업무에 따른 서버(클라우드)에 접속하는 사용자장치에 대한 보안 통제하며, 보안에 필요한 프로그램을 설치 후 관리하는 것이 아닌, 접속 시에만 보안 정책에 맞게 설정되어 있는지에 대한 보안을 통제한다. 또한, 사용자장치(혹은 사용자, 작업 그룹)의 역할에 따라 각기 다른 보안 정책을 적용할 수 있다. 업무용으로 사용하는 경우 업무용 문서의 저장 및 출력에 대한 관리가 가능하다. 또한, 업무 시 허가 받지 않은 프로그램의 실행 또는 행위에 대한 차단이 가능하다. 녹음 및 녹화를 할 수 없는 환경에서 별도의 녹음 혹은 녹화용 프로그램에 대한 실행 프로세스 차단할 수 있다. 사용자장치 내 내장된 센서의 데이터 이외 외부 입력 데이터에 대해 차단할 수 있다. 사용자장치의 기본 보안 사항(O/S, 백신, 기타 응용프로그램의 보안 업데이트 여부)을 점검할 수 있다.
한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 프로그램 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 프로그램 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100: 연산장치 110: 통신모듈
120: 저장모듈 130: 제어모듈
200: 사용자장치 210: 통신부
220: 입력부 230: 표시부
240: 저장부 250: 제어부

Claims (7)

  1. 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 방법에 있어서,
    일반 모드에서 에이전트가 기 설정된 업무용 사이트에 접속하는 이벤트 혹은 기 설정된 업무용 프로그램을 실행하는 이벤트를 감지하면, 보안 정책 및 보안 프로그램을 다운로드하는 단계;
    상기 에이전트가 상기 보안 프로그램을 설치하여 보안모듈을 실행시키는 단계; 및
    상기 보안모듈이 상기 보안 정책에 따라 상기 업무용 프로그램의 실행 중 기 허가된 프로그램을 제외한 나머지 모든 프로그램의 실행을 차단하는 보안 프로세스를 수행하는 단계;
    를 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  2. 제1항에 있어서,
    상기 보안 프로세스를 수행하는 단계는
    상기 보안모듈이 상기 보안 정책에 따라 기 설정된 폴더에만 읽기 및 쓰기 권한을 부여하고,
    기 설정된 폴더 이외의 다른 폴더에 읽기 및 쓰기를 금지하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  3. 제1항에 있어서,
    상기 보안모듈을 실행시키는 단계 후,
    상기 보안 프로세스를 수행하는 단계 전,
    상기 보안모듈이 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔하는 단계;
    상기 보안모듈이 상기 스캔 결과, 악성 코드가 발견되지 않으면, 백업 및 스냅샷 중 적어도 하나를 통해 상기 레지스트리에 대한 백업 파일을 생성하는 단계; 및
    상기 보안모듈이 상기 백업 파일을 기 설정된 보안 프로그램이 설치된 보안 디렉터리에 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  4. 제3항에 있어서,
    상기 업무용 사이트에 대한 접속이 해제되거나, 상기 업무용 프로그램이 종료되면,
    상기 보안모듈이 상기 보안 디렉터리에 저장된 백업 파일을 통해 레지스트리를 복원하는 단계;
    를 더 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  5. 제3항에 있어서,
    상기 악성 코드가 존재하는지 여부를 판단하기 위해 레지스트리 및 실행중인 프로세스를 스캔하는 단계는
    상기 레지스트리 및 상기 실행중인 프로세스 중 적어도 하나를 포함하는 스캔 대상 데이터를 이미지로 변환하는 단계;
    상기 이미지를 검출모델에 입력하는 단계;
    상기 검출모델이 복수의 계층의 가중치가 적용되는 복수의 연산을 통해 상기 이미지에 대응하는 스캔 대상 데이터에 악성코드가 존재할 확률을 산출하는 단계; 및
    상기 확률이 기 설정된 수치 이상이면, 상기 스캔 대상 데이터의 코드를 직접 분석하여 악성 코드 존재 여부를 확인하는 단계;
    를 더 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  6. 제1항에 있어서,
    상기 업무용 사이트에 대한 접속이 해제되거나, 상기 업무용 프로그램이 종료되면,
    상기 보안 프로그램을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 방법.
  7. 엔드디바이스의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치에 있어서,
    보안서버와의 통신을 위한 통신부; 및
    일반 모드에서 에이전트를 통해 기 설정된 업무용 사이트에 접속하는 이벤트 혹은 기 설정된 업무용 프로그램을 실행하는 이벤트를 감지하면, 보안 정책 및 보안 프로그램을 다운로드하고, 상기 보안 프로그램을 설치하여 보안모듈을 실행시키며,
    보안모듈을 통해 상기 보안 정책에 따라 상기 업무용 프로그램의 실행 중 기 허가된 프로그램을 제외한 나머지 모든 프로그램의 실행을 차단하는 보안 프로세스를 수행하는
    제어부;
    를 포함하는 것을 특징으로 하는
    엔드포인트 보안을 위한 장치.
KR1020200121611A 2020-09-21 2020-09-21 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법 KR20220039905A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200121611A KR20220039905A (ko) 2020-09-21 2020-09-21 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200121611A KR20220039905A (ko) 2020-09-21 2020-09-21 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법

Publications (1)

Publication Number Publication Date
KR20220039905A true KR20220039905A (ko) 2022-03-30

Family

ID=80948390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200121611A KR20220039905A (ko) 2020-09-21 2020-09-21 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법

Country Status (1)

Country Link
KR (1) KR20220039905A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150090154A (ko) 2013-01-23 2015-08-05 맥아피 인코퍼레이티드 보안 환경에서 엔드포인트 하드웨어 지원형 네트워크 방화벽을 위한 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150090154A (ko) 2013-01-23 2015-08-05 맥아피 인코퍼레이티드 보안 환경에서 엔드포인트 하드웨어 지원형 네트워크 방화벽을 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11893123B2 (en) Systems and methods for screenshot mediation based on policy
CN109992965B (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN111355721A (zh) 一种访问控制方法、装置、设备及系统和存储介质
CN109416800B (zh) 一种移动终端的认证方法及移动终端
CN111897786B (zh) 日志读取方法、装置、计算机设备和存储介质
KR102118294B1 (ko) 무선 네트워크 유형 검출 방법과 장치, 및 전자 디바이스
CN108235767B (zh) 一种支付应用的隔离方法、装置及终端
CN112099979B (zh) 一种访问控制方法、装置、计算机设备和存储介质
US20190163544A1 (en) Transforming Sensor Data Streamed to Applications
US11544415B2 (en) Context-aware obfuscation and unobfuscation of sensitive content
US20190370040A1 (en) Native execution bridge for sandboxed scripting languages
US20210303718A1 (en) Context based data leak prevention of sensitive information
CN111222153A (zh) 应用程序权限管理方法、装置和存储介质
KR20220039905A (ko) 인공신경망 기반의 업무 시점에 맞춘 엔드포인트 보안을 위한 장치 및 이를 위한 방법
CN109992362B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
US20230138176A1 (en) User authentication using a mobile device
CN117561509A (zh) 用于控制提供给服务工作方的信息的持久性、利用率和传播的代理服务
US10331937B2 (en) Method and system for context-driven fingerprint scanning to track unauthorized usage of mobile devices
TWI814877B (zh) 將重定向的生物辨識裝置隔離到遠程會話
CN113852962A (zh) 网络连接控制方法、设备、存储介质和软件程序产品
CN105491026A (zh) 一种安全策略的远程加载方法
CN110753909B (zh) 服务调度方法和装置、计算机设备、计算机可读存储介质
CN106851648B (zh) 一种用于分享无线接入点的接入信息的方法、装置与系统
KR102334093B1 (ko) 데이터 관리 장치 및 방법
KR102099291B1 (ko) 감염이 의심되는 압축 파일을 처리하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Legal Events

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