KR102180098B1 - A malware detecting system performing monitoring of malware and controlling a device of user - Google Patents
A malware detecting system performing monitoring of malware and controlling a device of user Download PDFInfo
- Publication number
- KR102180098B1 KR102180098B1 KR1020200101809A KR20200101809A KR102180098B1 KR 102180098 B1 KR102180098 B1 KR 102180098B1 KR 1020200101809 A KR1020200101809 A KR 1020200101809A KR 20200101809 A KR20200101809 A KR 20200101809A KR 102180098 B1 KR102180098 B1 KR 102180098B1
- Authority
- KR
- South Korea
- Prior art keywords
- user terminal
- information
- management server
- malicious code
- inspection
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
본 발명은 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 서버를 구비하는 악성코드 탐지 시스템에 관한 것으로, 특히, 기계 학습을 통해 태그 정보, 코드 정보 및 행위 정보로 구성된 학습 데이터를 기반으로 기계 학습을 수행하여 위험도를 판단하는 악성코드 탐지 시스템에 관한 것이다.The present invention relates to a malware detection system having a server that performs malware monitoring and user terminal control functions. In particular, machine learning is performed based on learning data composed of tag information, code information, and behavior information through machine learning. It relates to a malicious code detection system that determines the degree of risk by performing.
악성코드(Malicious software, malware)는 컴퓨터에 악영향을 끼칠 수 있는 소프트웨어를 말한다. 악성코드에는 고전적인 컴퓨터 바이러스 외에 웜, 트로이 목마, 스파이웨어, 애드웨어, 하이재커, 랜섬웨어, 키로거(keylogger) 등의 프로그램 형태뿐만 아니라 해킹된 아이디, 신용카드 정보, 해킹툴, 여권 등 서류, 익스플로잇(exploit) 혹은 취약점과 같은 정보 형태도 있다.Malicious software (malware) refers to software that can adversely affect a computer. In addition to classic computer viruses, malicious codes include programs such as worms, trojans, spyware, adware, hijackers, ransomware, and keyloggers, as well as hacked IDs, credit card information, hacking tools, passports, documents, and exploits. There are also forms of information such as (exploit) or vulnerability.
보안 장비에서 악성코드가 탐지되는 것을 우회하기 위해, 공격자는 주로 기존 악성코드를 변형한 변종 악성코드를 이용하여 사이버 공격을 수행한다. 신종 악성코드를 개발하는 것보다 기존 악성코드를 변형하는 것이 상대적으로 용이하고 개발 비용도 저렴하기 때문이다. 최근에는 악성코드를 자동으로 제작하는 도구가 등장하면서 전문적인 공격자가 아니더라도 손쉽게 다양한 기능을 갖춘 악성코드를 대량으로 생성, 유포할 수 있는 환경이 형성되고 있다. 새로운 악성코드와 변종 악성코드는 'AV-TEST'(Anti-Virus 시험기관) 통계 기준으로 하루에 평균 390,000개가 발생하고 있다.In order to bypass detection of malicious codes in security equipment, attackers mainly perform cyber attacks using variant malicious codes modified from existing malicious codes. This is because it is relatively easier to modify the existing malicious code than to develop a new type of malicious code, and the development cost is cheap. Recently, as tools that automatically create malicious codes have appeared, an environment in which malicious codes with various functions can be easily generated and distributed in large quantities, even without a professional attacker, has been formed. There are an average of 390,000 new malicious codes and variants of malicious codes per day based on the statistics of'AV-TEST' (Anti-Virus testing agency).
현재의 악성코드 탐지기술은 시그니처 기반의 패턴탐지가 핵심을 이루고 있고, 악성코드의 패턴은 분석가에 의하여 수작업으로 분석되며, 악성코드 패턴을 추출하여 악성코드 데이터베이스에 등록하여 비교하고 있다. 그러나, 해커들의 회피 기술 역시 발전해 악성코드 탐지가 더욱 어려워지고 있다. 즉, 이러한 방법은 더 이상 악성코드의 증가에 따른 대안이 될 수 없다는 문제가 있다.In the current malicious code detection technology, signature-based pattern detection is the core, and the pattern of malicious code is manually analyzed by an analyst, and malicious code patterns are extracted and registered in a malicious code database for comparison. However, hackers' evasion techniques have also developed, making it more difficult to detect malicious codes. In other words, there is a problem that such a method can no longer be an alternative to the increase of malicious codes.
이에 대하여 휴리스틱 탐지 방법과 동적 분석 탐지 방법이 계속 발전하면서 적용되고 있지만 아직까지 현실적인 대안으로는 부족하다.On the other hand, heuristic detection methods and dynamic analysis detection methods are being applied as they continue to develop, but there are still insufficient practical alternatives.
본 발명은 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 기계학습을 시키고, 이를 통해 악성코드 여부 및 위험도를 판별함으로써, 패턴 기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지 및 치료하는 악성코드 탐지 시스템을 제공하는데 그 목적이 있다. The present invention conducts machine learning by utilizing all of the tag information, code information, and behavior information of the target file, and determines the presence and risk of malicious code through this, thereby exceeding the limit of pattern-based, zero-day malicious code and Its purpose is to provide a malicious code detection system that detects and treats variant malicious codes.
또한 본 발명은 관리 서버 및 사용자 단말을 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있는 악성코드 탐지 시스템을 제공하는데 그 목적이 있다.Another object of the present invention is to provide a malicious code detection system capable of increasing the convenience of an administrator managing a server and a user using a user device by diversifying a method of managing a management server and a user terminal.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 악성코드 탐지 시스템은, 제1 제어 모듈 및 제1 통신 모듈을 포함하는 관리 서버, 및 제2 제어 모듈 및 상기 제1 통신 모듈과 데이터를 송수신하는 제2 통신 모듈을 포함하는 제1 사용자 단말을 포함하고, 상기 관리 서버는, 상기 제1 사용자 단말의 실시간 모니터링을 수행하고, 상기 제1 사용자 단말의 이상 여부가 감지되는 경우 상기 제1 사용자 단말의 악성코드 검사를 수행하며, 상기 제1 제어 모듈은, 검사 파일의 프로파일링 태그 분석을 수행하여 태그 정보를 추출하는 태그 분석부, 상기 검사 파일의 정적 분석을 수행하여 코드 정보를 추출하는 정적 검사부, 상기 검사 파일의 동적 분석을 수행하여 행위 정보를 추출하는 동적 검사부, 및 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보를 기초로 상기 검사 파일의 위험도를 판단하는 위험도 판단부를 포함하고, 상기 악성코드 검사는 상기 태그 분석부, 상기 정적 검사부, 및 상기 동적 검사부 중 적어도 하나와 상기 위험도 판단부에 의해 수행된다.A malicious code detection system according to an embodiment of the present invention for solving the above problem includes a management server including a first control module and a first communication module, and a second control module and transmitting and receiving data with the first communication module. And a first user terminal including a second communication module, wherein the management server performs real-time monitoring of the first user terminal, and when an abnormality in the first user terminal is detected, the first user terminal The first control module includes a tag analysis unit that extracts tag information by performing a profiling tag analysis of the inspection file, and a static inspection unit that extracts code information by performing static analysis of the inspection file. , A dynamic inspection unit for extracting behavior information by performing a dynamic analysis of the test file, and a risk determination unit for determining a risk of the test file based on the tag information, the code information, and the behavior information, and the malicious Code inspection is performed by at least one of the tag analysis unit, the static inspection unit, and the dynamic inspection unit and the risk level determination unit.
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하는 경우, 상기 제1 사용자 단말은 상기 관리 서버에 악성코드 발견 신호를 전송하고, 상기 관리 서버는 상기 악성코드 발견 신호에 응답하여 상기 제1 사용자 단말의 상기 악성코드를 치료할 수 있다.According to a result of the malicious code inspection, when a malicious code exists in the first user terminal, the first user terminal transmits a malicious code detection signal to the management server, and the management server responds to the malicious code detection signal. The malicious code of the first user terminal can be treated.
상기 악성코드가 치료된 후, 상기 관리 서버는 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고, 상기 제1 사용자 단말은 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고, 이후 상기 제1 사용자 단말은 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제할 수 있다.After the malicious code is healed, the management server transmits a data transmission signal and a data deletion signal to the first user terminal, and the first user terminal responds to the data transmission signal with information stored in the first user terminal. And transmitting data to the management server, after which the first user terminal deletes the information and the data stored in the first user terminal in response to the data deletion signal.
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하지 않는 경우, 상기 제1 사용자 단말은 상기 관리 서버에 악성코드 미발견 신호를 전송하고, 상기 관리 서버는 상기 악성코드 미발견 신호에 응답하여 제2 사용자 단말에 상기 제1 사용자 단말의 도난 여부 확인을 요청할 수 있다.According to the result of the malicious code inspection, when there is no malicious code in the first user terminal, the first user terminal transmits a malicious code non-discovery signal to the management server, and the management server sends the malicious code non-discovery signal. In response to, it is possible to request a second user terminal to check whether the first user terminal is stolen.
상기 제1 사용자 단말이 도난 상태인 경우, 상기 제2 사용자 단말은 상기 관리 서버에 도난 신호를 전송하고, 상기 관리 서버는 상기 도난 신호에 응답하여 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송할 수 있다.When the first user terminal is in a stolen state, the second user terminal transmits a theft signal to the management server, and the management server responds to the theft signal, a data transmission signal and a data deletion signal to the first user terminal Can be transmitted.
상기 제1 사용자 단말은, 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고, 이후, 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제할 수 있다.The first user terminal transmits the information and data stored in the first user terminal to the management server in response to the data transmission signal, and thereafter, the information stored in the first user terminal in response to the data deletion signal And delete the data.
상기 제1 사용자 단말은 상기 관리 서버 및 상기 제2 사용자 단말에 상기 제1 사용자 단말의 현재 위치를 전송할 수 있다.The first user terminal may transmit the current location of the first user terminal to the management server and the second user terminal.
상기 제1 사용자 단말이 도난 상태가 아닌 경우, 상기 제2 사용자 단말은 상기 관리 서버에 미도난 신호를 전송하고, 상기 관리 서버는 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 보안 모드 신호 및 저전력 모드 신호를 전송할 수 있다.When the first user terminal is not in a stolen state, the second user terminal transmits a non-theft signal to the management server, and the management server transmits a security mode signal to the first user terminal in response to the non-theft signal, and Can transmit low power mode signals.
상기 제1 사용자 단말은, 상기 보안 모드 신호에 응답하여 상기 관리 서버 또는 상기 제2 사용자 단말에 의해 설정되거나 미리 설정된 2차 암호로 잠금되고, 상기 저전력 모드 신호에 응답하여 상기 제1 사용자 단말의 전력 소모를 최소화할 수 있다.The first user terminal is locked with a secondary password set or preset by the management server or the second user terminal in response to the security mode signal, and power of the first user terminal in response to the low power mode signal Consumption can be minimized.
상기 위험도 판단부는 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)을 수행할 수 있다.The risk determination unit may perform machine learning based on learning data composed of the tag information, the code information, and the behavior information.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.
본 발명의 실시예에 따른 악성코드 탐지 시스템에 의하면, 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 기계학습을 시키고, 이를 통해 악성코드 여부 및 위험도를 판별함으로써, 패턴 기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지 및 치료할 수 있다.According to the malicious code detection system according to an embodiment of the present invention, machine learning is performed by utilizing all of the tag information, code information, and behavior information of the target file, and by determining the presence and risk of malicious code through this, the pattern-based limit is reduced. Beyond that, it can detect and treat zero-day malware and variant malware.
또한 본 발명의 다양한 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.In addition, according to various embodiments of the present disclosure, a method of managing a server and a user device may be diversified to increase convenience of an administrator managing a server and a user using a user device.
실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.Effects according to the embodiments are not limited by the contents illustrated above, and more various effects are included in the present specification.
도 1은 본 발명의 일 실시예에 따른 악성코드 모니터링을 수행하는 방법을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 시스템을 나타내는 블록도이다.
도 3은 도 1의 관리 서버가 포함하는 제1 제어 모듈을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 일 예를 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 다른 예를 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 또 다른 예를 나타내는 흐름도이다.1 is a diagram illustrating a method of monitoring a malicious code according to an embodiment of the present invention.
2 is a block diagram illustrating a system for monitoring a malicious code and controlling a user terminal according to an embodiment of the present invention.
3 is a block diagram illustrating a first control module included in the management server of FIG. 1.
4 is a flowchart illustrating a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
5 is a flowchart illustrating an example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
6 is a flowchart illustrating another example of a method of performing malicious code monitoring and user terminal control functions according to an embodiment of the present invention.
7 is a flowchart illustrating another example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims.
실시예들을 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략되거나 간소하게 표현될 수 있다.The shapes, sizes, ratios, angles, numbers, etc. disclosed in the drawings for describing the embodiments are exemplary, and the present invention is not limited to the illustrated matters. The same reference numerals refer to the same components throughout the specification. In addition, parts not related to the present invention in the drawings may be omitted or simplified in order to clarify the description of the present invention.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Although the first, second, and the like are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다.In this case, it will be appreciated that each block of the flowchart diagrams and combinations of the flowchart diagrams may be executed by computer program instructions.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative execution examples, functions mentioned in blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding function.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다.In this case, the term'~ unit' used in the present embodiment refers to software or hardware components such as field-programmable gate array (FPGA) or application specific integrated circuit (ASIC), and'~ unit' is a certain role. Perform them.
본 발명의 실시예들을 구체적으로 설명함에 있어서, 특정 시스템의 예를 주된 대상으로 할 것이지만, 본 명세서에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 명세서에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.In describing the embodiments of the present invention in detail, examples of specific systems will be the main target, but the main subject matter to be claimed in this specification is the scope disclosed in the present specification to other communication systems and services having a similar technical background. It can be applied within a range that does not deviate greatly, and this will be possible at the judgment of a person skilled in the art.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 악성코드 모니터링을 수행하는 방법을 나타내는 도면이다.1 is a diagram illustrating a method of monitoring a malicious code according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 악성코드 탐지 시스템은 수집채널과 가상환경 분석시스템, 리얼머신 분석시스템, 연관정보 분석시스템 간의 정보공유 및 파일전송을 통하여 구현될 수 있다. 또한 파일정보를 관리/기록하는 가상환경 분석시스템과 행위정보를 관리/기록하는 리얼머신 분석시스템과 연관정보를 관리/기록하는 연관정보 분석시스템은 상호 간에 각종 정보들을 공유할 수 있다.Referring to FIG. 1, the malicious code detection system of the present invention may be implemented through information sharing and file transmission between a collection channel, a virtual environment analysis system, a real machine analysis system, and a related information analysis system. In addition, a virtual environment analysis system that manages/records file information, a real machine analysis system that manages/records behavior information, and a related information analysis system that manages/records related information can share various types of information with each other.
상기 가상환경 분석시스템, 리얼머신 분석시스템, 연관정보 분석시스템 각각은 후술하는 관리 서버(310) 및/또는 외부 서버(미도시)에 의해 구현되거나, 각각 관리 서버(310) 또는 외부 서버에 상응할 수 있다.Each of the virtual environment analysis system, real machine analysis system, and related information analysis system may be implemented by a
도 2는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 시스템을 나타내는 블록도이다.2 is a block diagram illustrating a system for monitoring a malicious code and controlling a user terminal according to an embodiment of the present invention.
도 2를 참조하면, 관리 서버(100)는 제1 제어 모듈(110), 제1 통신 모듈(120), 제1 입력 모듈(130), 및/또는 제1 출력 모듈(140)을 포함할 수 있다. 또한 관리 서버(100)는 본 발명의 악성코드 모니터링 및 사용자 단말 제어 서비스를 제공하는 플랫폼에 관한 웹사이트(website) 및/또는 모바일 앱(mobile application)을 운용하는 서버일 수 있다.2, the
사용자 단말(200)은 제2 제어 모듈(210), 제2 통신 모듈(220), 제2 입력 모듈(230), 및/또는 제2 출력 모듈(240)을 포함할 수 있다.The user terminal 200 may include a second control module 210, a second communication module 220, a second input module 230, and/or a second output module 240.
제1 제어 모듈(110)은 본 발명의 일 실시예에 따른 동작/단계/과정을 구현할 수 있도록 관리 서버(100)를 직/간접적으로 제어할 수 있다. 또한 제1 제어 모듈(110)은 적어도 하나의 프로세서를 포함할 수 있으며, 상기 프로세서는 적어도 하나의 중앙 처리 유닛(CPU) 및/또는 적어도 하나의 그래픽 처리 디바이스(GPU)를 포함할 수 있다.The first control module 110 may directly/indirectly control the
또한 제1 제어 모듈(110)은 API(Application Programming Interface), IoT(Internet of Things), IIoT(Industrial Internet of Things), ICT(Information & Communication Technology) 기술에 기반하여 제어 정보(예를 들어, 명령어) 등을 생성하거나 및/또는 관리할 수 있다.In addition, the first control module 110 is based on API (Application Programming Interface), IoT (Internet of Things), IIoT (Industrial Internet of Things), ICT (Information & Communication Technology) technology based on control information (e.g., command ), etc. can be created and/or managed.
실시예에 따라, 제1 제어 모듈(110)은 사용자 단말(200)로부터 파일 정보를 제공받고, 제공된 파일 정보를 분석하여 악성코드 여부 및 위험도를 판단할 수 있다. 제1 제어 모듈(110)이 제공받는 파일 정보는 파일의 해시값(hash value)일 수 있으나, 이에 한정되는 것은 아니다. According to an embodiment, the first control module 110 receives file information from the user terminal 200 and analyzes the provided file information to determine the presence of a malicious code and a degree of risk. The file information provided by the first control module 110 may be a hash value of the file, but is not limited thereto.
또한, 제1 제어 모듈(110)은 사용자 단말(200)을 제어하기 위한 다양한 단말 신호를 생성할 수 있다. In addition, the first control module 110 may generate various terminal signals for controlling the user terminal 200.
제2 제어 모듈(210)은 본 발명의 일 실시예에 따른 동작/단계/과정을 구현할 수 있도록 사용자 단말(200)을 직/간접적으로 제어할 수 있다. 또한 제2 제어 모듈(210)은 적어도 하나의 프로세서를 포함할 수 있으며, 상기 프로세서는 적어도 하나의 중앙 처리 유닛(CPU) 및/또는 적어도 하나의 그래픽 처리 디바이스(GPU)를 포함할 수 있다. The second control module 210 may directly/indirectly control the user terminal 200 to implement an operation/step/process according to an embodiment of the present invention. In addition, the second control module 210 may include at least one processor, and the processor may include at least one central processing unit (CPU) and/or at least one graphic processing device (GPU).
제2 제어 모듈(210)은 사용자 단말(200)에서 실행되거나 실행될 예정인 파일을 분석하여 관리 서버(100)에 송신하기 위한 해시값을 생성할 수 있다.The second control module 210 may analyze a file to be executed or to be executed in the user terminal 200 and generate a hash value for transmission to the
제1 통신 모듈(120) 및 제2 통신 모듈(220)은 관리 서버(100) 및 사용자 단말(200) 간 각종 데이터, 신호, 정보를 송수신할 수 있다. 예컨대, 상술한 해시값 및 단말 신호는 제1 통신 모듈(120) 및 제2 통신 모듈(220)에 의해 송수신될 수 있다. The first communication module 120 and the second communication module 220 may transmit and receive various data, signals, and information between the
제1 통신 모듈(120) 및 제2 통신 모듈(220)은 무선 통신 모듈(예를 들어, 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예를 들어, LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 또한, 통신 모듈(120, 220)은 제1 네트워크(예를 들어, 블루투스, WiFi direct 또는 IrDA(Infrared Data Association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(예를 들어, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예를 들어, LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예를 들어, 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예를 들어, 복수 칩들)로 구현될 수 있다.The first communication module 120 and the second communication module 220 may be a wireless communication module (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (eg For example, a local area network (LAN) communication module, or a power line communication module) may be included. In addition, the communication module (120, 220) is a first network (for example, Bluetooth, WiFi direct, or a short-range communication network such as IrDA (Infrared Data Association)) or a second network (for example, a cellular network, the Internet, or a computer It can communicate with an external electronic device through a network (eg, a telecommunication network such as a LAN or WAN). These various types of communication modules may be integrated into one component (eg, a single chip), or may be implemented as a plurality of separate components (eg, multiple chips).
제1 입력 모듈(130) 및 제2 입력 모듈(230)은 관리 서버(100) 및 사용자 단말(200)의 구성요소(예를 들어, 제1 제어 모듈(110) 및 제2 제어 모듈(210))에 사용될 명령 또는 데이터를 관리 서버(100) 및/또는 사용자 단말(200)의 외부(예를 들어, 관리자 또는 사용자)로부터 수신할 수 있다. The first input module 130 and the second input module 230 are components of the
제1 입력 모듈(130) 및 제2 입력 모듈(230)은 관리 서버(100) 및/또는 사용자 단말(200)에 설치된 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈, 음성인식센서, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다. 여기서 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈은 감압식 및/또는 정전식 방식을 통하여 사용자의 신체(예; 손가락)를 통한 터치를 인식할 수 있다. 또한 상기 제1 입력 모듈(130) 및 제2 입력 모듈(230) 각각은 지문인식 및/또는 홍채인식을 위한 센서부를 더 포함할 수도 있다.The first input module 130 and the second input module 230 are a touch recognition capable display installed in the
제1 출력 모듈(140) 및 제2 출력 모듈(240)은 관리 서버(100) 및/또는 사용자 단말(200)의 제1 제어 모듈(110) 및 제2 제어 모듈(210)에 의해 생성되거나 제1 통신 모듈(120) 및 제2 통신 모듈(220)을 통하여 획득된 신호, 정보, 데이터, 이미지, 및/또는 각종 객체(object) 등을 표시하는 모듈일 수 있다. 예를 들어, 제1 출력 모듈(140) 및 제2 출력 모듈(240)은 디스플레이, 스크린, 표시부(displaying unit), 스피커 및/또는 발광장치(예; LED 램프) 등을 포함할 수 있다.The first output module 140 and the second output module 240 are generated by the
저장 모듈(150)은 관리 서버(100)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 또한, 저장 모듈은 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한 저장 모듈(150)은 클라우드 서버 및/또는 블록체인 서버를 포함하는 하드웨어 모듈이거나 상기 클라우드 서버 및/또는 블록체인 서버의 기능을 포함하는 소프트웨어 모듈일 수도 있다.The storage module 150 stores data such as a basic program, an application program, and setting information for the operation of the
또한, 저장 모듈(150)은 관리 서버(100) 및/또는 사용자 단말(200)을 사용하거나 운용하는 자의 개인정보 등을 저장할 수 있다. 여기서 개인 정보는 이름, 생년월일정보, 아이디(ID; identifier), 패스워드, 도로명 주소, 전화 번호, 휴대폰 번호, 이메일 주소 등을 포함할 수 있다. 또한 제1 제어 모듈(110) 및 제2 제어 모듈(210)은 상기 저장 모듈(150)에 저장된 각종 프로그램, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the storage module 150 may store personal information of a person who uses or operates the
도 3은 도 1의 관리 서버가 포함하는 제1 제어 모듈을 나타내는 블록도이다.3 is a block diagram illustrating a first control module included in the management server of FIG. 1.
도 3을 참조하면, 제1 제어 모듈(110)은 태그 분석부(111), 정적 검사부(112), 동적 검사부(113), 및 위험도 판단부(114)를 포함할 수 있다. Referring to FIG. 3, the first control module 110 may include a tag analysis unit 111, a static inspection unit 112, a dynamic inspection unit 113, and a risk determination unit 114.
상술한 바와 같이, 제1 통신 모듈(120) 및 제2 통신 모듈(220)에 의해, 관리 서버(100) 및 사용자 단말(200)은 제어 신호 및 데이터를 송수신할 수 있다. 이를 통해, 관리 서버(100)는 사용자 단말(200)에 대한 실시간 모니터링을 수행할 수 있다. 사용자 단말(200)은 사용자 단말(200)에서 실행 또는 실행 예정인 파일의 파일 정보를 관리 서버(100)에 송신할 수 있으며, 관리 서버(100)는 수신된 파일 정보를 분석하여 악성코드 여부 및 위험도 등을 판단할 수 있다. 여기서 파일은 어플리케이션 파일, 설치 파일, 실행 파일 등을 포함할 수 있다. 또한 상기 파일은 웹 브라우저(web browser), 이메일(e-mail), 엑셀(excel), 오피스(office) 프로그램, 이동식 디스크(usb) 등을 포함하는 외부 유입 경로를 통해 생성될 수 있다.As described above, by the first communication module 120 and the second communication module 220, the
실시예에 따라, 관리 서버(100)는 파일에 대한 위험도(또는, 보안 등급)을 설정할 수 있다. 일 예로, 관리 서버(100)는 상기 파일의 파일 시그니쳐(file signature) 및 클라우드(cloud) DB 정보 등을 활용하여 악성코드가 의심되는 파일인지를 검사하고, 악성코드가 의심되는 경우에는 상기 파일을 '의심 파일'로 설정하고 상기 파일에 대한 보안 등급을 '의심 등급'으로 설정할 수 있다. 관리 서버(100)는 사용자 단말(200)로부터 상기 파일의 생성 이력, 유입 경로, 실행된 이력, 수정된 이력 및/또는 서명 정보 등을 획득할 수 있다.According to an embodiment, the
구체적으로, 관리 서버(100)는 제1 제어 모듈(110)의 태그 분석부(111)를 통해 파일의 프로파일링 태그를 분석하고 태그 정보를 추출할 수 있다. 여기서 프로파일링 태그는 빅데이터 기반의 머신 러닝을 통해 획득된 다양한 파일들에 대한 정보로서, 악성코드 종류, 침해 대상 및 침해 방법 등에 대한 정보일 수 있다. 예컨대, 태그 분석부(111)는 수신된 파일에 대한 정보 중 기존 존재하는 프로파일링 태그에 부합하는 정보가 존재할 경우, 태그 내용을 바탕으로 파일의 악성코드 여부 및 위험도 등을 판단하기 위한 태그 정보를 추출할 수 있다.Specifically, the
또한, 제1 제어 모듈(110)의 정적 검사부(112)는 파일에 대한 정적 분석을 수행하여 파일의 코드 정보를 추출할 수 있다. 여기서, 코드 정보란 파일을 실행하지 않고 코드 자체로부터 추출할 수 있는 정보를 의미하는 것으로, 예를 들어, 해시값, 코드 크기 정보, 파일 헤더 정보, 코드 내에 포함되어 있는 식별 가능한 문자열 정보 및 동작 플랫폼 정보 등을 포함할 수 있다.In addition, the static inspection unit 112 of the first control module 110 may perform static analysis on the file to extract code information of the file. Here, code information refers to information that can be extracted from the code itself without executing the file. For example, hash value, code size information, file header information, identifiable string information included in the code, and operation platform Information may be included.
또한, 제1 제어 모듈(110)의 동적 검사부(113)는 파일에 대한 동적 분석을 수행하여 파일의 행위 정보를 추출한다. 일 예로, 동적 검사부(113)는 파일을 관리 서버(100), 사용자 단말(200) 및 모바일 단말 환경과 동일하게 구성된 에뮬레이터나 가상화 환경 중 적어도 하나에서 직접 실행하고, 파일이 실행된 후에 단말(또는, 에뮬레이터)에 발생하는 모든 변화, 즉 행위 정보를 추출하고 기록한다. 행위 정보는 단말의 OS 환경에 따라 상이하나, 통상적으로 프로세스, 파일, 메모리 및 네트워크 정보를 포함할 수 있다.Also, the dynamic inspection unit 113 of the first control module 110 extracts behavior information of the file by performing dynamic analysis on the file. For example, the dynamic inspection unit 113 directly executes the file in at least one of the
한편, 제1 제어 모듈(110)의 위험도 판단부(114)는 태그 분석부(111), 정적 검사부(112), 및 동적 검사부(113)로부터 제공되는 정보를 토대로 파일의 위험도를 결정할 수 있다. 위험도 판단부(114)는 태그 분석부(111)의 태그 정보, 정적 검사부(112)의 코드 정보, 및 동적 검사부(113)의 행위 정보를 종합적으로 고려하여 위험도를 판단할 수 있으나, 태그 분석부(111), 정적 검사부(112), 및 동적 검사부(113)에서 제공된 정보들의 가중치는 서로 상이할 수 있다. 예를 들어, 동적 검사부(113)에서 추출된 행위 정보의 중요도가 가장 높고, 정적 검사부(112)에서 추출된 코드 정보의 중요도가 가장 낮을 수 있으나, 이에 한정되는 것은 아니다. 또한, 검사 대상 파일의 종류에 따라 상기 가중치는 변경될 수 있다. Meanwhile, the risk level determination unit 114 of the first control module 110 may determine the risk level of the file based on information provided from the tag analysis unit 111, the static test unit 112, and the dynamic test unit 113. The risk determination unit 114 may determine the risk by comprehensively considering tag information of the tag analysis unit 111, code information of the static test unit 112, and behavior information of the dynamic test unit 113, but the tag analysis unit Weights of the information provided by (111), the static test unit 112, and the dynamic test unit 113 may be different from each other. For example, the importance of the behavior information extracted by the dynamic tester 113 may be the highest, and the importance of the code information extracted by the static tester 112 may be the lowest, but is not limited thereto. In addition, the weight may be changed according to the type of the file to be inspected.
일 실시예로, 위험도 판단부(114)는 인공신경망 모델(artificial intelligence network model)이 적용된 구성으로서, 머신 러닝을 통해 위험도 판단 방법을 지속적으로 학습할 수 있다. 예컨대, 위험도 판단부(114)는 태그 정보, 코드 정보, 및 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)되는 구성일 수 있다. In one embodiment, the risk determination unit 114 is a component to which an artificial intelligence network model is applied, and may continuously learn a risk determination method through machine learning. For example, the risk determination unit 114 may be a component in which machine learning is performed by learning data consisting of tag information, code information, and behavior information.
상술한 바와 같이, 본 발명에 따른 악성코드 탐지 시스템에 의하면, 대상 파일의 태그 정보, 코드 정보 및 행위 정보를 모두 활용하여 악성의 특징이 강한 특징(feature)들의 연관성과 그들의 연속성에 대해 기계학습을 시키고, 이를 통해, 악성코드 여부 및 위험도를 판별함으로써 패턴기반의 한계를 넘어 제로데이(zero-day) 악성코드 및 변종 악성코드를 탐지할 수 있으며 악성코드를 신속히 파악하여 대응할 수 있다. As described above, according to the malicious code detection system according to the present invention, machine learning is performed on the relevance of features with strong malicious features and their continuity by utilizing all of the tag information, code information, and behavior information of the target file. Through this, it is possible to detect zero-day malicious code and variant malicious code beyond the pattern-based limit by determining the presence of malicious code and the degree of risk, and quickly identify and respond to malicious code.
도 4는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법을 나타내는 흐름도이다. 도 5는 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 일 예를 나타내는 흐름도이다. 도 6은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 다른 예를 나타내는 흐름도이다. 도 7은 본 발명의 일 실시예에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법의 또 다른 예를 나타내는 흐름도이다.4 is a flowchart illustrating a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention. 5 is a flowchart illustrating an example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention. 6 is a flowchart illustrating another example of a method of performing malicious code monitoring and user terminal control functions according to an embodiment of the present invention. 7 is a flowchart illustrating another example of a method of performing a malicious code monitoring and user terminal control function according to an embodiment of the present invention.
이하, 도 4 내지 도 7을 더 참조하여, 본 발명에 따른 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법에 대해 구체적으로 설명한다.Hereinafter, a method of performing malicious code monitoring and user terminal control functions according to the present invention will be described in detail with further reference to FIGS. 4 to 7.
도 4를 참조하면, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말에 대한 실시간 모니터링을 수행하는 단계를 포함할 수 있다(S100).Referring to FIG. 4, a method of performing malicious code monitoring and user terminal control functions may include performing real-time monitoring of the user terminal (S100).
도 5 내지 도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 대해 실시간 모니터링(310, 410, 510)을 수행할 수 있다. 이를 위해, 관리 서버(100)는 사용자 단말(200)로부터 온라인 접속 기록 및 파일 실행 기록 등에 대한 정보를 실시간으로 제공받을 수 있다. As shown in FIGS. 5 to 7, the
상기 온라인 접속 기록은 사용자 단말(200)이 접속한 IP 주소, 접속 시간(예를 들어, 접속 내역, 마지막 접속 시간 등), 접속 횟수, 접속 대상(예를 들어, 특정 사이트, 네트워크 노드, 단말 등)에 대한 정보를 포함할 수 있다. The online access record includes the IP address to which the user terminal 200 is connected, access time (eg, access details, last access time, etc.), access number, access target (eg, a specific site, network node, terminal, etc.). ) Can be included.
상기 파일 실행 기록은 실행된 파일명, 파일 용량, 파일 실행 시간, 파일 실행 후 사용자 단말(200)의 동작 프로세스, 파일 실행 후 사용자 단말(200)의 성능 등에 대한 정보를 포함할 수 있다. The file execution record may include information on an executed file name, a file capacity, a file execution time, an operation process of the user terminal 200 after executing the file, and a performance of the user terminal 200 after executing the file.
다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 이상 여부를 감지하는 단계를 포함할 수 있다(S200).Next, the method of performing the malicious code monitoring and user terminal control function may include detecting whether the user terminal is abnormal (S200).
도 5 내지 도 7에 도시된 바와 같이, 사용자 단말(200)은 이상 현상이 발생한 경우, 관리 서버(100)에 이상 신호를 전송(320, 420, 520)할 수 있다. 여기서 이상 현상은 사용자 단말(200)의 분실, 손상, 침수, 분해 등 다양한 현상을 의미할 수 있다. 이하에서는 상기 이상 현상이 사용자 단말(200)의 분실인 것으로 설명한다.5 to 7, when an abnormality occurs, the user terminal 200 may transmit (320, 420, 520) an abnormal signal to the
다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 악성코드 검사를 수행하는 단계를 포함할 수 있다(S300).Next, a method of performing a malicious code monitoring and user terminal control function may include performing a malicious code inspection of the user terminal (S300).
도 5 내지 도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)로부터 전송된 이상 신호에 응답하여 사용자 단말(200)에 대한 악성코드 검사(330, 430, 530)를 수행할 수 있다. 도 2 및 도 3을 통해 설명한 바와 같이, 관리 서버(100)는 제1 제어 모듈(110)을 이용하여 사용자 단말(200)의 악성코드 검사를 수행할 수 있는 바, 구체적인 검사 방법은 생략하기로 한다. 다른 예로, 사용자 단말(200)은 관리 서버(100)로부터 악성코드 검사 수행 명령 신호를 제공받고, 사용자 단말(200)에 기 설치된 악성코드 검사 프로그램을 동작하여 사용자 단말(200)에 대한 악성코드 검사를 수행할 수 있다. As shown in FIGS. 5 to 7, the
다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 상기 악성코드 검사 결과에 따라 악성 코드 존재 여부를 판단하는 단계를 포함할 수 있다(S400). Next, a method of performing a malicious code monitoring and user terminal control function may include determining whether a malicious code exists according to the malicious code inspection result (S400).
여기서, 상기 악성코드 검사 결과에 따라 사용자 단말(200)에 악성코드가 존재하는 경우, 상기 방법은 사용자 단말의 악성코드를 치료하는 단계를 포함할 수 있다(S500). Here, when a malicious code exists in the user terminal 200 according to the result of the malicious code inspection, the method may include treating the malicious code of the user terminal (S500).
도 5에 도시된 바와 같이, 사용자 단말(200) 내에 악성코드가 존재하는 경우, 사용자 단말(200)은 관리 서버(100)로 악성코드 발견 신호를 전송(340)할 수 있다. 상기 악성코드 발견 신호는 사용자 단말(200) 내에 존재하는 악성코드의 종류, 실행 여부, 및 위험도에 대한 정보를 포함할 수 있다. As shown in FIG. 5, when a malicious code exists in the user terminal 200, the user terminal 200 may transmit a malicious code discovery signal to the management server 100 (340 ). The malicious code detection signal may include information on the type of malicious code existing in the user terminal 200, whether it is executed, and a risk.
또한, 관리 서버(100)는 사용자 단말(200)로부터 전송된 악성코드 발견 신호를 분석하여, 사용자 단말(200)의 악성코드를 치료(350)할 수 있다. 상기 악성코드를 치료하는 방법은 악성코드를 포함하는 파일을 삭제, 격리, 및/또는 치환하여 이루어질 수 있으나, 이에 한정되는 것은 아니며, 공지의 다양한 악성코드 치료 방법이 수행될 수 있다. In addition, the
몇몇 실시예에서, 사용자 단말(200)의 악성코드 발견 신호를 분석한 결과, 악성코드의 위험도가 극히 낮거나 사용자의 의도에 따라 설치된 것에 해당하는 경우, 관리 서버(100)는 사용자 단말(200) 내에 악성코드가 존재하지 않는 것으로 판정할 수도 있다. In some embodiments, as a result of analyzing the malicious code detection signal of the user terminal 200, if the risk of the malicious code is extremely low or corresponds to the installation according to the user's intention, the
다음으로, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 데이터를 관리 서버에 전송하고, 사용자 단말의 데이터를 삭제하는 단계(S600)를 포함할 수 있다. Next, the method of performing the malicious code monitoring and user terminal control function may include transmitting the data of the user terminal to the management server and deleting the data of the user terminal (S600).
도 5에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 데이터 전송 신호 및 데이터 삭제 신호를 전송(360)할 수 있다. 사용자 단말(200)에 이상 현상(예컨대, 분실)이 발생한 상황에서, 악성코드에 감염된 사용자 단말(200)은 정보 유출 또는 데이터 손실이 발생할 우려가 있다. 이에 따라, 관리 서버(100)는 사용자 단말(200)의 정보 및 데이터를 보존하기 위해, 사용자 단말(200)로부터 사용자 단말(200)에 저장된 정보 및 데이터를 수신할 수 있다. 사용자 단말(200)로부터 제공된 정보 및 데이터는 관리 서버(100)의 저장 모듈(150)에 저장될 수 있다. 상술한 바와 같이 저장 모듈(150)은 블록체인 서버를 포함하는 하드웨어 모듈이거나 블록체인 서버의 기능을 포함하는 소프트웨어 모듈일 수도 있다. 이에 따라, 사용자 단말(200)의 정보 및 데이터는 그룹화 및/또는 해시(hash)되어 블록 체인에 저장될 수 있다. 또한, 사용자 단말(200)로부터 정보 및 데이터가 수신된 이후, 사용자 단말(200) 내 정보 및 데이터를 제거함으로써, 사용자 단말(200)의 정보 유출을 방지할 수 있다. As shown in FIG. 5, the
이후, 악성코드 모니터링 및 사용자 단말 제어 기능을 수행하는 방법은 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).Thereafter, the method of performing the malicious code monitoring and user terminal control function may include transmitting location information of the user terminal (S700).
도 5에 도시된 바와 같이, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송하여 사용자에게 분실 장소 또는 도난 장소를 알릴 수 있다. As shown in FIG. 5, after deleting information and data, the user terminal 200 may transmit the current location of the user terminal 200 to inform the user of the lost or stolen place.
한편, 상기 악성코드 검사 결과에 따라 사용자 단말(200)에 악성코드가 존재하지 않는 경우, 상기 방법은 사용자 단말의 도난 신호 발생 여부를 판단하는 단계를 포함할 수 있다(S800). Meanwhile, when the malicious code does not exist in the user terminal 200 according to the result of the malicious code inspection, the method may include determining whether the theft signal of the user terminal is generated (S800).
도 6 및 도 7에 도시된 바와 같이, 사용자 단말(200) 내에 악성코드가 존재하지 않는 경우, 사용자 단말(또는, 제1 사용자 단말)(200)은 관리 서버(100)로 악성코드 미발견 신호를 전송(440, 540)할 수 있다. 6 and 7, when there is no malicious code in the user terminal 200, the user terminal (or the first user terminal) 200 sends a signal to the
또한, 관리 서버(100)는 사용자 단말(200)로부터 전송된 악성코드 미발견 신호에 대응하여 제2 사용자 단말(201)에 제1 사용자 단말(200)의 도난 여부 확인을 요청(450, 550)할 수 있다. In addition, the
제1 사용자 단말(200)이 도난된 경우, 제1 사용자 단말(200)의 사용자는 다른 기기(예를 들어, 제2 사용자 단말(201))를 통해 제1 사용자 단말(200)이 도난 상태임을 표시할 수 있다. 예컨대, 제2 사용자 단말(201)은 제1 사용자의 퍼스널 PC, 태블릿 PC, 스마트폰, 스마트 워치 등 일 수 있다. 즉, 제1 사용자 단말(200) 및 제2 사용자 단말(201)은 서로 동일한 사용자에 의해 제어되는 단말들일 수 있으나, 이에 한정되는 것은 아니다. 제2 사용자 단말(201)은 관리 서버(100)의 도난 여부 확인 요청에 따라 도난 신호 또는 미도난 신호를 관리 서버(100)에 전송(460, 560)할 수 있다. When the first user terminal 200 is stolen, the user of the first user terminal 200 indicates that the first user terminal 200 is in a stolen state through another device (for example, the second user terminal 201). Can be displayed. For example, the second user terminal 201 may be a personal PC, a tablet PC, a smart phone, or a smart watch of the first user. That is, the first user terminal 200 and the second user terminal 201 may be terminals controlled by the same user, but are not limited thereto. The second user terminal 201 may transmit (460, 560) a stolen signal or a non-theft signal to the
다른 실시예로 상기 도난 상태는 사용자 단말(200) 내의 제2 제어 모듈(210)에 의해 판정될 수 있다. 사용자 단말(200)이 인가되지 않은 사용자에 의해 제어되거나 실행되는 경우, 제2 제어 모듈(210)은 사용자 단말(200)이 도난 상태인 것으로 판정하여 도난 신호를 생성할 수 있다. 이 경우, 관리 서버(100)는 제2 사용자 단말(201)이 아닌 제1 사용자 단말(200)로부터 도난 신호 또는 미도난 신호를 직접 수신할 수 있다. In another embodiment, the theft state may be determined by the second control module 210 in the user terminal 200. When the user terminal 200 is controlled or executed by an unauthorized user, the second control module 210 may determine that the user terminal 200 is in a stolen state and generate a theft signal. In this case, the
여기서, 상기 도난 신호 발생 여부 판단에 따라 사용자 단말에 대한 도난 신호가 존재하는 경우, 상기 방법은 사용자 단말의 데이터를 관리 서버에 전송하고, 사용자 단말의 데이터를 삭제하는 단계(S600) 및 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).Here, when there is a theft signal for the user terminal according to the determination of whether the theft signal has occurred, the method includes transmitting the data of the user terminal to the management server and deleting the data of the user terminal (S600) and It may include the step of transmitting the location information (S700).
도 6에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 데이터 전송 신호 및 데이터 삭제 신호를 전송(470)할 수 있다. 사용자 단말(200)의 데이터 전송 및 삭제는 도 5를 통해 설명한 바와 유사한 바, 중복되는 설명은 생략하기로 한다. 또한, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송(480)하여 사용자에게 도난 장소를 알릴 수 있다. As shown in FIG. 6, the
이와 달리, 상기 도난 신호 발생 여부 판단에 따라 사용자 단말에 대한 도난 신호가 존재하지 않는 경우, 상기 방법은 사용자 단말의 보안 모드 및 저전력 모드를 실행하는 단계(S900) 및 사용자 단말의 위치 정보를 전송하는 단계를 포함할 수 있다(S700).In contrast, when there is no theft signal to the user terminal according to the determination of whether the theft signal has occurred, the method includes executing a security mode and a low power mode of the user terminal (S900) and transmitting location information of the user terminal. It may include a step (S700).
도 7에 도시된 바와 같이, 관리 서버(100)는 사용자 단말(200)에 보안 모드 신호 및 저전력 모드 신호를 전송(570)할 수 있다. As shown in FIG. 7, the
사용자 단말(200)이 보안 모드 상태로 설정된 경우, 사용자 단말(200)을 사용하기 위해 2차 암호가 요구될 수 있다. 여기서 2차 암호는 제1 사용자 단말(200) 또는 제2 사용자 단말(201)에 의해 설정되거나, 미리 설정되어 있는 값일 수 있다. 사용자 단말(200)이 보안 모드 상태 중 인가되지 않은 사용자에 의해 사용자 단말(200)이 실행되고, 2차 암호가 응답되지 않는 경우, 사용자 단말(200)은 단말 내 데이터를 관리 서버(100)에 전송하고 이후 데이터를 사용자 단말(200) 내에서 삭제할 수 있다.When the user terminal 200 is set to a security mode state, a second password may be required to use the user terminal 200. Here, the secondary password may be set by the first user terminal 200 or the second user terminal 201 or may be a preset value. If the user terminal 200 is executed by an unauthorized user during the security mode state and the secondary password is not answered, the user terminal 200 transfers the data in the terminal to the
사용자 단말(200)이 저전력 모드로 설정된 경우, 사용자 단말(200)은 단말의 동작 시간을 최대한 확보하기 위해, 사용자 단말(200)의 다양한 동작을 중단시키거나 최소화시킬 수 있다. 예를 들어, 사용자 단말(200)이 표시 장치를 포함하는 경우, 표시 장치의 밝기를 최소화할 수 있으며, 사용자 단말(200)로부터 음향 및 진동이 발생되지 않도록 변경할 수 있다.When the user terminal 200 is set to the low power mode, the user terminal 200 may stop or minimize various operations of the user terminal 200 in order to maximize the operation time of the terminal. For example, when the user terminal 200 includes a display device, the brightness of the display device may be minimized, and sound and vibration may not be generated from the user terminal 200.
또한, 사용자 단말(200)은 정보 및 데이터를 삭제한 뒤, 사용자 단말(200)의 현재 위치를 전송(580)하여 사용자에게 분실 장소를 알릴 수 있다. In addition, after deleting information and data, the user terminal 200 may transmit 580 the current location of the user terminal 200 to inform the user of the lost location.
또는 예를 들어, 상기 제1 사용자 단말로의 상기 보안 모드 신호 및 상기 저전력 모드 신호는 상기 관리 서버가 상기 제2 사용자 단말로부터 식별 코드 정보를 수신한 경우 전송될 수 있고, 상기 식별 코드 정보는 상기 관리 서버가 상기 제2 사용자 단말의 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 전송한 검증 코드 정보와 대응될 수도 있다. 여기서, 상기 검증 코드 정보 또는 식별 코드 정보는 영문 및 숫자로 구성된 8자리의 코드 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또는 예를 들어, 상기 관리 서버는 상기 제1 사용자 단말로 상기 검증 코드 정보를 전송한 시점으로부터 5분 내에 상기 제2 사용자 단말로부터 상기 식별 코드 정보를 수신하지 못한 경우, 상기 제1 사용자 단말로 새로운 검증 코드 정보를 전송할 수 있으며, 상기 관리 서버는 상기 제2 사용자 단말로부터 상기 새로운 검증 코드 정보에 대응되는 새로운 식별 코드 정보를 10분 내에 수신하지 못한 경우, 상기 제1 사용자 단말을 도난 상태로 판단할 수도 있다. 이를 통해 일 실시예는 제1 사용자 단말이 도난당하지 않은 것을 명확히 파악할 수 있으며, 이에 효과적으로 대응할 수 있다. Or, for example, the security mode signal and the low power mode signal to the first user terminal may be transmitted when the management server receives identification code information from the second user terminal, and the identification code information is The management server may correspond to verification code information transmitted to the first user terminal in response to the non-theft signal from the second user terminal. Here, the verification code information or identification code information may include 8-digit code information composed of English and numbers, but is not limited thereto. Or, for example, if the management server does not receive the identification code information from the second user terminal within 5 minutes from the time when the verification code information is transmitted to the first user terminal, a new Verification code information can be transmitted, and the management server may determine that the first user terminal is in a stolen state when new identification code information corresponding to the new verification code information is not received from the second user terminal within 10 minutes. May be. Through this, in an embodiment, it is possible to clearly identify that the first user terminal has not been stolen, and to respond effectively to this.
상술한 바와 같이, 본 발명의 실시예들에 따르면, 서버 및 사용자 디바이스를 관리하는 방법을 다각화하여, 서버를 관리하는 관리자 및 사용자 디바이스를 이용하는 사용자의 편의를 증대할 수 있다.As described above, according to embodiments of the present invention, it is possible to diversify a method of managing a server and a user device, thereby increasing the convenience of a manager managing a server and a user using a user device.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시예는 일부분들이 서로 조합되어 관리 서버(100) 및 사용자 단말(200)에 의해 구현될 수 있다.The embodiments of the present invention disclosed in the present specification and drawings are only provided for specific examples to easily explain the technical content of the present invention and to aid understanding of the present invention, and are not intended to limit the scope of the present invention. That is, it is apparent to those of ordinary skill in the art that other modifications based on the technical idea of the present invention can be implemented. In addition, each of the above embodiments can be operated in combination with each other as needed. For example, in all embodiments of the present invention, portions may be combined with each other and implemented by the
또한, 본 발명에 따른 관리 서버(100) 및 사용자 단말(200) 등을 제어하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.In addition, the method for controlling the
이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.As described above, various embodiments of the present invention may be implemented as computer readable code in a computer readable recording medium from a specific viewpoint. A computer-readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of computer-readable recording media include read only memory (ROM), random access memory (RAM), and compact disk-read only memory (CD-ROM). ), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet). The computer readable recording medium can also be distributed through networked computer systems, so that the computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for achieving various embodiments of the present invention can be easily interpreted by experienced programmers in the field to which the present invention is applied.
또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 또한 상기 소프트웨어는 클라우드 서버 및/또는 블록체인 서버를 포함하는 하드웨어 모듈에 저장되거나 상기 클라우드 서버 및/또는 블록체인 서버의 기능을 포함하는 소프트웨어 모듈에 저장될 수도 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부(예를 들어, 제1 및 제2 제어 모듈(110, 210)) 및 메모리를 포함하는 컴퓨터, 데이터 서버 또는 휴대 단말에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. In addition, it will be appreciated that the apparatus and method according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software. Such software may be, for example, a volatile or nonvolatile storage device such as a storage device such as a ROM, or a memory such as a RAM, memory chip, device or integrated circuit, or For example, it may be optically or magnetically recordable, such as a compact disk (CD), a DVD, a magnetic disk, or a magnetic tape, and stored in a storage medium that can be read by a machine (for example, a computer). In addition, the software may be stored in a hardware module including a cloud server and/or a block chain server, or may be stored in a software module including a function of the cloud server and/or a block chain server. The method according to various embodiments of the present invention may be implemented by a computer, a data server, or a portable terminal including a control unit (eg, first and second control modules 110 and 210) and a memory. It will be appreciated that the memory is an example of a program including instructions for implementing the embodiments of the present invention or a machine-readable storage medium suitable for storing programs.
따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the present invention includes a program including a code for implementing the apparatus or method described in the claims of the present specification, and a storage medium readable by a machine (such as a computer) storing such a program. Further, such a program may be transferred electronically through any medium, such as a communication signal transmitted through a wired or wireless connection, and the present invention suitably includes equivalents thereto.
100: 관리 서버 110: 제1 제어 모듈
120: 제1 통신 모듈 130: 제1 입력 모듈
140: 제1 출력 모듈 150: 저장 모듈
200: 사용자 단말, 제1 사용자 단말
201: 제2 사용자 단말 210: 제2 제어 모듈
220: 제2 통신 모듈 230: 제2 입력 모듈
240: 제2 출력 모듈 100: management server 110: first control module
120: first communication module 130: first input module
140: first output module 150: storage module
200: user terminal, first user terminal
201: second user terminal 210: second control module
220: second communication module 230: second input module
240: second output module
Claims (5)
제1 제어 모듈 및 제1 통신 모듈을 포함하는 관리 서버; 및
제2 제어 모듈 및 상기 제1 통신 모듈과 데이터를 송수신하는 제2 통신 모듈을 포함하는 제1 사용자 단말; 을 포함하고,
상기 관리 서버는,
상기 제1 사용자 단말의 실시간 모니터링을 수행하고,
상기 제1 사용자 단말의 이상 여부가 감지되는 경우 상기 제1 사용자 단말의 악성코드 검사를 수행하며,
상기 제1 제어 모듈은,
검사 파일의 프로파일링 태그 분석을 수행하여 태그 정보를 추출하는 태그 분석부;
상기 검사 파일의 정적 분석을 수행하여 코드 정보를 추출하는 정적 검사부;
상기 검사 파일의 동적 분석을 수행하여 행위 정보를 추출하는 동적 검사부; 및
상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보를 기초로 상기 검사 파일의 위험도를 판단하는 위험도 판단부; 를 포함하고,
상기 악성코드 검사는 상기 태그 분석부, 상기 정적 검사부, 및 상기 동적 검사부 중 적어도 하나와 상기 위험도 판단부에 의해 수행되고,
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하는 경우,
상기 관리 서버는 상기 제1 사용자 단말의 상기 악성코드를 치료하고,
상기 악성코드가 치료된 후, 상기 관리 서버는 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고,
상기 제1 사용자 단말은 상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고,
이후 상기 제1 사용자 단말은 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제하고,
악성코드 검사 결과에 따라, 상기 제1 사용자 단말에 악성코드가 존재하지 않는 경우,
상기 제1 사용자 단말은 상기 관리 서버에 악성코드 미발견 신호를 전송하고,
상기 관리 서버는 상기 악성코드 미발견 신호에 응답하여 제2 사용자 단말에 상기 제1 사용자 단말의 도난 여부 확인을 요청하고,
상기 제1 사용자 단말이 도난 상태인 경우, 상기 제2 사용자 단말은 상기 관리 서버에 도난 신호를 전송하고,
상기 관리 서버는 상기 도난 신호에 응답하여 상기 제1 사용자 단말에 데이터 전송 신호 및 데이터 삭제 신호를 전송하고,
상기 제1 사용자 단말은,
상기 데이터 전송 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 정보 및 데이터를 상기 관리 서버에 전송하고,
이후, 상기 데이터 삭제 신호에 응답하여 상기 제1 사용자 단말 내에 저장된 상기 정보 및 상기 데이터를 삭제하고,
상기 제1 사용자 단말은 상기 관리 서버 및 상기 제2 사용자 단말에 상기 제1 사용자 단말의 현재 위치를 전송하고,
상기 제1 사용자 단말이 도난 상태가 아닌 경우, 상기 제2 사용자 단말은 상기 관리 서버에 미도난 신호를 전송하고,
상기 관리 서버는 상기 미도난 신호에 응답하여 상기 제1 사용자 단말에 보안 모드 신호 및 저전력 모드 신호를 전송하고,
상기 제1 사용자 단말은,
상기 보안 모드 신호에 응답하여 상기 관리 서버 또는 상기 제2 사용자 단말에 의해 설정되거나 미리 설정된 2차 암호로 잠금되고,
상기 저전력 모드 신호에 응답하여 상기 제1 사용자 단말의 전력 소모를 최소화하고,
상기 위험도 판단부는 상기 태그 정보, 상기 코드 정보, 및 상기 행위 정보로 구성되는 학습 데이터에 의해 기계 학습(machine learning)을 수행하는 악성코드 탐지 시스템. In a malicious code detection system that performs malicious code monitoring and user terminal control functions,
A management server including a first control module and a first communication module; And
A first user terminal including a second control module and a second communication module for transmitting and receiving data to and from the first communication module; Including,
The management server,
Perform real-time monitoring of the first user terminal,
When it is detected whether the first user terminal is abnormal, performs a malicious code inspection of the first user terminal,
The first control module,
A tag analysis unit for extracting tag information by performing profiling tag analysis of the inspection file;
A static inspection unit for extracting code information by performing static analysis of the inspection file;
A dynamic inspection unit for extracting behavior information by performing dynamic analysis of the inspection file; And
A risk level determination unit determining a risk level of the inspection file based on the tag information, the code information, and the behavior information; Including,
The malicious code inspection is performed by at least one of the tag analysis unit, the static inspection unit, and the dynamic inspection unit and the risk level determination unit,
According to the malicious code inspection result, if the malicious code is present in the first user terminal,
The management server treats the malicious code of the first user terminal,
After the malicious code is cured, the management server transmits a data transmission signal and a data deletion signal to the first user terminal,
The first user terminal transmits the information and data stored in the first user terminal to the management server in response to the data transmission signal,
Thereafter, the first user terminal deletes the information and the data stored in the first user terminal in response to the data deletion signal,
If there is no malicious code in the first user terminal according to the result of the malicious code inspection,
The first user terminal transmits a malicious code not found signal to the management server,
The management server requests a second user terminal to check whether the first user terminal is stolen in response to the malicious code not found signal,
When the first user terminal is in a stolen state, the second user terminal transmits a theft signal to the management server,
The management server transmits a data transmission signal and a data deletion signal to the first user terminal in response to the theft signal,
The first user terminal,
In response to the data transmission signal, information and data stored in the first user terminal are transmitted to the management server,
Thereafter, in response to the data deletion signal, the information and the data stored in the first user terminal are deleted,
The first user terminal transmits the current location of the first user terminal to the management server and the second user terminal,
When the first user terminal is not in a stolen state, the second user terminal transmits a non-theft signal to the management server,
The management server transmits a security mode signal and a low power mode signal to the first user terminal in response to the non-theft signal,
The first user terminal,
Locked with a secondary password set in advance or set by the management server or the second user terminal in response to the security mode signal,
Minimizing power consumption of the first user terminal in response to the low power mode signal,
The risk determination unit performs machine learning based on learning data composed of the tag information, the code information, and the behavior information.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200101809A KR102180098B1 (en) | 2020-08-13 | 2020-08-13 | A malware detecting system performing monitoring of malware and controlling a device of user |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200101809A KR102180098B1 (en) | 2020-08-13 | 2020-08-13 | A malware detecting system performing monitoring of malware and controlling a device of user |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR102180098B1 true KR102180098B1 (en) | 2020-11-17 |
Family
ID=73642497
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200101809A Active KR102180098B1 (en) | 2020-08-13 | 2020-08-13 | A malware detecting system performing monitoring of malware and controlling a device of user |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102180098B1 (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220165073A (en) | 2021-06-07 | 2022-12-14 | 숭실대학교산학협력단 | Method for on-device android malware detection using transfer learning based adaptive model, recording medium and device for performing the method |
| KR102517057B1 (en) * | 2021-11-12 | 2023-04-03 | 주식회사 시큐어링크 | Detecting apparatus of evasion type malicious code for virtualization system based on artificial intelligence using integrated features |
| KR20230066754A (en) * | 2021-11-08 | 2023-05-16 | 주식회사 발카리 | Distributed endpoint security method using blockchain technology and device thereof |
| KR20230097974A (en) * | 2021-12-24 | 2023-07-03 | 박승필 | System and method to support detection, analysis, and training of cyber threat information |
| WO2025116601A1 (en) * | 2023-11-30 | 2025-06-05 | 주식회사 유에이치엠소프트 | Smart phone protection system and method using mdm when detecting ransomware |
| KR20250082999A (en) * | 2023-11-30 | 2025-06-09 | 주식회사 유에이치엠소프트 | The Smart Phone Protection System And Method Using MDM when detecting Ransomware |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030117316A1 (en) * | 2001-12-21 | 2003-06-26 | Steve Tischer | Systems and methods for locating and tracking a wireless device |
| JP2009217556A (en) * | 2008-03-11 | 2009-09-24 | Nec Personal Products Co Ltd | Information processing system, information terminal, and program |
| KR20130075430A (en) * | 2011-12-27 | 2013-07-05 | 주식회사 안랩 | Object data backup apparatus and backup server |
| KR20150124020A (en) * | 2014-04-25 | 2015-11-05 | (주) 세인트 시큐리티 | System and method for setting malware identification tag, and system for searching malware using malware identification tag |
| KR101880686B1 (en) * | 2018-02-28 | 2018-07-20 | 에스지에이솔루션즈 주식회사 | A malware code detecting system based on AI(Artificial Intelligence) deep learning |
-
2020
- 2020-08-13 KR KR1020200101809A patent/KR102180098B1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030117316A1 (en) * | 2001-12-21 | 2003-06-26 | Steve Tischer | Systems and methods for locating and tracking a wireless device |
| JP2009217556A (en) * | 2008-03-11 | 2009-09-24 | Nec Personal Products Co Ltd | Information processing system, information terminal, and program |
| KR20130075430A (en) * | 2011-12-27 | 2013-07-05 | 주식회사 안랩 | Object data backup apparatus and backup server |
| KR20150124020A (en) * | 2014-04-25 | 2015-11-05 | (주) 세인트 시큐리티 | System and method for setting malware identification tag, and system for searching malware using malware identification tag |
| KR101880686B1 (en) * | 2018-02-28 | 2018-07-20 | 에스지에이솔루션즈 주식회사 | A malware code detecting system based on AI(Artificial Intelligence) deep learning |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220165073A (en) | 2021-06-07 | 2022-12-14 | 숭실대학교산학협력단 | Method for on-device android malware detection using transfer learning based adaptive model, recording medium and device for performing the method |
| US12248571B2 (en) | 2021-06-07 | 2025-03-11 | Foundation Of Soongsil University-Industry Cooperation | On-device android malware detection method based on adaptive model through transfer learning, and recording medium and apparatus for performing the same |
| KR20230066754A (en) * | 2021-11-08 | 2023-05-16 | 주식회사 발카리 | Distributed endpoint security method using blockchain technology and device thereof |
| KR102574384B1 (en) * | 2021-11-08 | 2023-09-04 | 주식회사 발카리 | Distributed endpoint security method using blockchain technology and device thereof |
| KR102517057B1 (en) * | 2021-11-12 | 2023-04-03 | 주식회사 시큐어링크 | Detecting apparatus of evasion type malicious code for virtualization system based on artificial intelligence using integrated features |
| WO2023085476A1 (en) * | 2021-11-12 | 2023-05-19 | 주식회사 시큐어링크 | Device for detecting virtualization system-avoiding malicious code on basis of integrated characteristic artificial intelligence |
| KR20230097974A (en) * | 2021-12-24 | 2023-07-03 | 박승필 | System and method to support detection, analysis, and training of cyber threat information |
| KR102681411B1 (en) * | 2021-12-24 | 2024-07-05 | 박승필 | System and method to support detection, analysis, and training of cyber threat information |
| WO2025116601A1 (en) * | 2023-11-30 | 2025-06-05 | 주식회사 유에이치엠소프트 | Smart phone protection system and method using mdm when detecting ransomware |
| KR20250082999A (en) * | 2023-11-30 | 2025-06-09 | 주식회사 유에이치엠소프트 | The Smart Phone Protection System And Method Using MDM when detecting Ransomware |
| KR102838893B1 (en) * | 2023-11-30 | 2025-07-28 | 주식회사 유에이치엠소프트 | The Smart Phone Protection System And Method Using MDM when detecting Ransomware |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102180098B1 (en) | A malware detecting system performing monitoring of malware and controlling a device of user | |
| CN111931166B (en) | Application anti-attack method and system based on code injection and behavior analysis | |
| CN104766011B (en) | The sandbox detection alarm method and system of Intrusion Detection based on host feature | |
| CN102651061B (en) | System and method of protecting computing device from malicious objects using complex infection schemes | |
| US7934261B1 (en) | On-demand cleanup system | |
| US10986103B2 (en) | Signal tokens indicative of malware | |
| US10783239B2 (en) | System, method, and apparatus for computer security | |
| US8640233B2 (en) | Environmental imaging | |
| US10142343B2 (en) | Unauthorized access detecting system and unauthorized access detecting method | |
| US10033761B2 (en) | System and method for monitoring falsification of content after detection of unauthorized access | |
| CN107463841B (en) | System and method for detecting malicious computer systems | |
| RU2750628C2 (en) | System and method for determining the file trust level | |
| WO2017071148A1 (en) | Cloud computing platform-based intelligent defense system | |
| CN116340943A (en) | Application program protection method, device, equipment, storage medium and program product | |
| Bhuiyan et al. | API vulnerabilities: Current status and dependencies | |
| Jang et al. | Function‐Oriented Mobile Malware Analysis as First Aid | |
| KR20160090566A (en) | Apparatus and method for detecting APK malware filter using valid market data | |
| KR102177223B1 (en) | Server and system for performing mornitoring of malware | |
| Shibija et al. | A machine learning approach to the detection and analysis of android malicious apps | |
| US11763004B1 (en) | System and method for bootkit detection | |
| Aneja et al. | Malware Mobile Application Detection Using Blockchain and Machine Learning | |
| EP3252645A1 (en) | System and method of detecting malicious computer systems | |
| Dua et al. | Review on mobile threats and detection techniques | |
| US20250272396A1 (en) | Placement location selection device, placement location selection method, and non-transitory computer readable medium | |
| US20240354406A1 (en) | Malicious pattern matching using graph neural networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20200813 |
|
| PA0201 | Request for examination | ||
| PA0302 | Request for accelerated examination |
Patent event date: 20200825 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20200813 Patent event code: PA03021R01I Comment text: Patent Application |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20201106 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20201111 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20201111 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20231102 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240820 Start annual number: 5 End annual number: 5 |