KR101860642B1 - Apparatus and method for watching illegality using source code modification effect assessment - Google Patents

Apparatus and method for watching illegality using source code modification effect assessment Download PDF

Info

Publication number
KR101860642B1
KR101860642B1 KR1020160133449A KR20160133449A KR101860642B1 KR 101860642 B1 KR101860642 B1 KR 101860642B1 KR 1020160133449 A KR1020160133449 A KR 1020160133449A KR 20160133449 A KR20160133449 A KR 20160133449A KR 101860642 B1 KR101860642 B1 KR 101860642B1
Authority
KR
South Korea
Prior art keywords
monitoring
source code
unit
change
source
Prior art date
Application number
KR1020160133449A
Other languages
Korean (ko)
Other versions
KR20180041386A (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 KR1020160133449A priority Critical patent/KR101860642B1/en
Priority to PCT/KR2016/013798 priority patent/WO2018070598A1/en
Priority to DE112016007340.2T priority patent/DE112016007340T5/en
Publication of KR20180041386A publication Critical patent/KR20180041386A/en
Application granted granted Critical
Publication of KR101860642B1 publication Critical patent/KR101860642B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/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/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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치 및 그 방법에 관한 것으로, 본 발명의 일실시예에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치는, 프로세스에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 감시영역 정보를 생성하기 위한 감시영역 정보 생성부; 및 상기 감시영역 정보를 이용하여 소스코드 또는 프로세스를 감시하는 감시부;를 포함한다.The present invention relates to an illegal behavior monitoring apparatus and method using source code change impact evaluation, and an illegal behavior monitoring apparatus using source code change impact evaluation according to an embodiment of the present invention, A surveillance zone information generating unit for generating surveillance zone information indicating an area of interest associated with the surveillance zone information; And a monitoring unit monitoring the source code or the process using the monitoring area information.

Description

소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치 및 그 방법{APPARATUS AND METHOD FOR WATCHING ILLEGALITY USING SOURCE CODE MODIFICATION EFFECT ASSESSMENT}[0001] APPARATUS AND METHOD FOR WATCHING ILLEGALITY USING SOURCE CODE MODIFICATION EFFECT ASSESSMENT [0002]

본 발명은 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치 및 그 방법에 관한 것으로, 구체적으로는 소프트웨어 변경 영향 정도를 분석하여 소스코드를 감시하는 정적 감시의 일환으로 'SW 변경 영향도 분석'을 수행하고, 비즈니스 로직을 추적하여 프로세스를 감시하는 동적 감시의 일환으로 '비즈니스 로직 추적'을 수행함으로써, 소프트웨어의 변경(수정, 생성, 삭제 등) 권한을 가진 내부자를 대상으로 불법 행위를 탐지할 수 있는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치 및 그 방법에 관한 것이다.The present invention relates to an illegal behavior monitoring apparatus and method using source code change impact evaluation, and more particularly, to a 'SW change impact analysis' as a static monitoring for monitoring source code by analyzing the degree of influence of software change , Which can detect illegal activity against insiders who are authorized to make changes to the software (modify, create, delete, etc.) by performing "business logic tracking" as part of dynamic monitoring that tracks business logic and processes. The present invention relates to an illegal behavior monitoring apparatus and method using source code change impact evaluation.

기업내 정보 보안은 정보를 여러가지 위협으로부터 보호하는 것을 의미한다. 즉, 정보 보안은 정보의 수집, 가공, 저장, 검색, 송신, 수신 도중에 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적, 기술적 방법을 의미한다. 정보 보안은 정보를 제공하는 공급자 측면과 사용자 측면에서 이해할 수 있다. 공급자 측면은 내외부의 위협요인들로부터 네트워크, 시스템 등의 하드웨어, 데이터베이스, 통신 및 전산시설 등 정보자산을 안전하게 보호 및 운영하기 위한 일련의 행위를 나타내며, 사용자 측면은 개인 정보 유출, 남용을 방지하기 위한 일련의 행위를 나타낸다.Information security in the enterprise means protecting information from various threats. In other words, information security means management and technical methods to prevent information from being damaged, altered, or leaked during collection, processing, storage, retrieval, transmission and reception of information. Information security can be understood from the provider side and the user side that provide information. The supplier side represents a series of actions to safely protect and operate information assets such as network, system hardware, database, communication, and computer facilities from internal and external threat factors. The user side is to prevent leakage and abuse of personal information Represents a series of actions.

최근에는 기업 외부에 있는 불특정 해커들에 의한 해킹범죄 뿐만 아니라, 기업 내부에 있는 내부자들(즉, 내부 프로그래머, 위탁/하청 업체 프로그래머 포함)에 대한 해킹범죄까지 정보보안을 위한 감시범위를 확대하고 있다. 특히, 일부 기업에서는 하청직원이 연루된 해킹범죄에 대한 재발을 방지하기 위해, 내부자 행동탐지기술 연구의 일환으로 이상거래탐지시스템(Fraud Detection System, FDS) 수준의 비즈니스 로직 감시기술을 연구중에 있다.In recent years, it has expanded the scope of information security monitoring, not only for hacking offenses by unspecified hackers outside the enterprise, but also for hacking crimes against insiders (ie internal programmers, contract / subcontractor programmers) inside the company . In particular, some companies are investigating business logic monitoring technology at the level of the Fraud Detection System (FDS) as part of a study of insider behavior detection technology to prevent recurrence of hacking crimes involving subcontractors.

전술한 연구는 일반인이 아닌, 소프트웨어의 수정/삭제 권한을 가진 프로그래머를 대상으로 그동안 보안감시에서 제외되었던 내부자들까지 감시범위를 확대할 수 있다.The above-mentioned research can extend the scope of surveillance to programmers who have the right to modify / delete software, not the general public, to insiders who have been excluded from the security surveillance in the meantime.

기업의 내부자들은 자신의 업무 특성상 손쉽게 시스템에 접근하여 임의변경(혹은 순간적 변경 후 원상 회복)이 가능하기 때문에, 언제든 중요한 로직을 변경할 수 있다는 위험 요인을 가지고 있다. 이로 인해, 내부자들에 의한 해킹범죄는 전문적인 지식없이 증거를 발견하기 어렵다.Insiders of the enterprise have the risk that they can change important logic at any time because they can access the system easily due to the nature of their work and can make a random change (or restoration after a momentary change). Because of this, hacking crimes by insiders are difficult to find evidence without professional knowledge.

한편, 소스코드를 검사하기 위한 다양한 보안툴이 상용화되었다. 이에 따라, 기업들은 시큐어 코딩(secure coding), 소프트웨어 복잡도, 메모리 누수, 커버리지/허용인자 등을 검사하는 다양한 보안툴들을 도입하고 있다.Meanwhile, various security tools for examining source code have been commercialized. Accordingly, companies are introducing a variety of security tools to inspect secure coding, software complexity, memory leaks, coverage / acceptance factors, and so on.

하지만 이러한 보안툴들은 소스코드 자체의 품질 및 보안관리를 목적으로 하기 때문에, 내부자가 시도할 수 있는 해킹범죄에 대해 본래의 정보 보안 기능을 수행하기 곤란하다. However, since these security tools aim at managing the quality and security of the source code itself, it is difficult to perform the original information security functions against hacking crimes that insiders can attempt.

도 1은 내부자에 의한 해킹사고의 침해방식 예를 나타낸 도면이다. 도 1에 나타난 표는 보안상 문제가 없어 보이는 단 한줄의 조건절(1)을 추가하여 논리적인 구멍(예외)을 발생시키는 경우를 나타낸다. 특정조건 상황이 간헐적(1%)으로 발생된다면, 보안담당자가 상시 모니터링을 하더라도 프로세스 상에 논리적 문제가 있는지 확인하기 쉽지 않다. 결국, 논리적 불법침해는 정상동작(99%)에 대해 간헐적(1%)으로 발생하는 특정상황이 발생될 때 일어날 수 있다.1 is a view showing an example of a violation method of a hacking accident caused by an insider. The table shown in FIG. 1 shows a case where a logical hole (exception) is generated by adding a single line of conditional expression (1) that seems to have no security problem. If a particular condition condition occurs intermittently (1%), it is not easy to see if there is a logical problem in the process, even if the security officer is constantly monitoring it. Eventually, logical illegal infringement can occur when certain conditions occur intermittently (1%) for normal operation (99%).

이와 같이, 종래에는 내부자에 의한 해킹범죄를 예방하고 감시하기 쉽지 않은 실정이다. 또한, 내부자에 의한 해킹범죄를 방지하기 위해서는 더욱더 강력한 강력한 접근권한 설정, 감독/절차 강화, 관리인원 확충 등과 같은 제도적/인적 방안이 필요하지만 근본적인 해결책이 될 수 없다. 왜냐하면, 제도적/인적 방안은 예기치 못한 상황(예를 들어, 긴급 유지보수요청, 시스템 점검 등)에서 허점이 발생할 수 있기 때문이다.In this way, it is not easy to prevent and monitor hacking crimes by insiders in the past. In addition, in order to prevent hacking crimes by insiders, institutional / personal measures such as setting stronger access rights, strengthening supervision / procedures, and expanding management personnel are necessary but can not be a fundamental solution. This is because the institutional / human approach can cause loopholes in unexpected situations (eg, emergency maintenance requests, system checks, etc.).

따라서, 종래에는 내부자에 의한 해킹범죄를 기술적으로 예방할 뿐만 아니라, 중요 프로세스를 우회하거나 알고리즘을 임의로 변경하는 불법시도를 감시할 수 있는 기술이 제안될 필요성이 있다.Accordingly, there is a need in the past to provide a technology capable of not only technically preventing a hacking crime by an insider but also monitoring an illegal attempt to bypass important processes or arbitrarily change an algorithm.

본 발명의 목적은 소프트웨어 변경 영향 정도를 분석하여 소스코드를 감시하는 정적 감시의 일환으로 'SW 변경 영향도 분석'을 수행하고, 비즈니스 로직을 추적하여 프로세스를 감시하는 동적 감시의 일환으로 '비즈니스 로직 추적'을 수행함으로써, 소프트웨어의 변경(수정, 생성, 삭제 등) 권한을 가진 내부자를 대상으로 불법 행위를 탐지할 수 있는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치 및 그 방법을 제공하는데 있다.The object of the present invention is to provide a method and apparatus for analyzing the effect of software changes, analyzing the effect of software change as a part of static monitoring for monitoring source code, The present invention also provides an apparatus and method for monitoring illegal activities using an influence evaluation of a source code that can detect illegal activities of an insider having authority to change (modify, create, delete, etc.)

또한, 본 발명의 다른 목적은 내부자에 의한 불법 행위의 정적 감시 및 동적 감시를 통해 간단하게 알고리즘 임의 변경 및 프로세스 우회를 감지 및 예방하는데 있다.Another object of the present invention is to detect and prevent an arbitrary change of an algorithm and a process detour through static monitoring and dynamic monitoring of illegal actions by an insider.

또한, 본 발명의 다른 목적은 소스코드의 라인 비교, 입력 인자 확인 등 비교적 간단한 분석을 통해 내부자가 연루된 소스코드에 대한 불법 행위를 예방하는데 있다.Another object of the present invention is to prevent illegal actions on source code involving an insider through a relatively simple analysis such as line comparison of source code and input factor verification.

또한, 본 발명의 다른 목적은 비즈니스 로직을 구성하는 전체 프로세스 중에서 중요 프로세스의 우회 시도나 핵심 알고리즘의 임의 수정을 빠르게 감지하는데 있다. Another object of the present invention is to quickly detect a bypass of important processes or arbitrary modifications of core algorithms among all the processes constituting business logic.

또한, 본 발명의 다른 목적은 관심 프로세스와 관련된 파일, 그 중에서도 일부 영역에 대해서만 비교 및 분석을 수행할 뿐만 아니라, 감시 범위를 설정할 수 있기 때문에 성능 저하를 최소화하는데 있다.Another object of the present invention is to minimize the performance degradation since it is possible to set not only the comparison and analysis of the files related to the interest process, but some of the areas, but also the monitoring range.

본 발명의 일면에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치는, 프로세스에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 감시영역 정보를 생성하기 위한 감시영역 정보 생성부; 및 상기 감시영역 정보를 이용하여 소스코드 또는 프로세스를 감시하는 감시부;를 포함하고, 상기 감시부는, 상기 감시영역 정보를 이용하여 어노테이션(annotation) 처리를 통해 감시용 소스코드를 생성하고, 상기 어노테이션의 삽입에 따라 누적된 프로세스 변이 데이터를 분석하는 프로세스 감시부;를 포함하며, 상기 프로세스 감시부는, 시스템이 운영됨에 따라 로그에 누적된 프로세스 변이 데이터를 이용하여 패턴 분석을 수행하여 프로세스 변이 모델을 도출하는 프로세스 변이 패턴 모델부; 상기 프로세스 변이 모델을 이용하여 프로세스 이상을 감지하는 프로세스 변이 이상 모니터링부; 및 상기 프로세스 변이 모델을 이용하여 프로세스 변이에 대한 시각적 정보로 표시하는 프로세스 변이 시각화부;를 포함할 수 있다.An illegal behavior monitoring apparatus using source code change impact evaluation according to an aspect of the present invention includes a monitoring area information generating unit for generating surveillance area information indicating a region of interest related to a source to be monitored in a process; And a monitoring unit monitoring the source code or the process using the monitoring area information, wherein the monitoring unit generates an observation source code through an annotation process using the monitoring area information, And a process monitoring unit for analyzing the accumulated process variation data in accordance with the insertion of the process variation data, wherein the process monitoring unit derives a process variation model by performing pattern analysis using the process variation data accumulated in the log as the system is operated A process variation pattern model unit; A process variation anomaly monitoring unit for detecting process anomaly using the process variation model; And a process variation visualization unit for displaying the process variation image as visual information on the process variation using the process variation model.

상기 감시부는, 상기 소스코드의 변경시, 상기 감시영역 정보를 이용하여 상기 소스코드의 버전별 비교를 통해 변경분을 추출하고, 상기 소스코드의 변경에 따른 위험 가능성과 프로세스 우회 가능성을 산정하여 감시하기 위한 소스코드 감시부;를 포함한다.Wherein the monitoring unit extracts a change through comparison of versions of the source code by using the monitoring area information when the source code is changed, calculates a possibility of danger due to the change of the source code, And a source code monitoring unit.

삭제delete

상기 감시영역 정보 생성부는, 프로세스 영역을 스캔하여 감시영역 정보를 추출하기 위한 감시영역 정보 추출부; 및 상기 감시영역 정보를 기 설정된 데이터 구조에 따라 정리된 형태로 저장 및 관리하기 위한 감시영역 정보 관리부;를 포함한다.The surveillance area information generation unit may include a surveillance area information extraction unit for scanning the process area to extract surveillance area information; And a monitoring area information management unit for storing and managing the monitoring area information in an organized form according to a predetermined data structure.

상기 소스코드 감시부는, 상기 소스코드의 변경을 감지하는 소스코드 변경 감지부; 상기 감시영역 정보를 이용하여 상기 변경된 소스코드가 포함된 해당 소스파일을 버전별로 비교하여 상기 소스코드의 변경분을 추출하는 소스코드 변경분 추출부; 및 상기 추출된 소스코드의 변경분을 통해 상기 소스코드 변경에 따른 위험 가능성과 프로세스 우회 가능성을 분석하는 위험인지 및 영향도 분석부;를 포함할 수 있다.Wherein the source code monitoring unit comprises: a source code change detection unit detecting a change of the source code; A source code change extracting unit for comparing the corresponding source file including the changed source code by version using the monitoring area information to extract a change of the source code; And a risk awareness and influence analysis unit for analyzing the risk potential and the process detour possibility according to the source code change through the modification of the extracted source code.

상기 프로세스 감시부는, 상기 감시영역 정보를 통해 확인된 원본 소스코드에 보안용 어노테이션을 일괄적으로 삽입하여 감시용 소스코드로 자동으로 변환하는 어노테이션 처리부; 및 상기 감시용 소스코드에 삽입된 모든 어노테이션 코드의 위치(라인넘버)를 저장 및 관리하는 어노테이션 관리부;를 포함할 수 있다.Wherein the process monitoring unit includes: an annotation processing unit for collectively inserting a security annotation into the original source code identified through the surveillance region information and automatically converting the security annotation into a monitoring source code; And an annotation management unit for storing and managing the positions (line numbers) of all the annotation codes inserted in the monitoring source code.

삭제delete

상기 프로세스는, 중요도에 따라 결정된 관심 프로세스인 것을 특징으로 한다.The process is characterized by a process of interest determined according to importance.

상기 프로세스는, 알고리즘 구현 영역과 프로세스 호출 영역으로 분류하여 구성된 것을 특징으로 한다.The process is characterized by being categorized into an algorithm implementation area and a process call area.

상기 알고리즘 구현 영역은, 컴파일 언어로 작성된 원본소스의 영역인 것을 특징으로 한다.The algorithm implementation area is an area of an original source written in a compilation language.

상기 프로세스 호출 영역은, 인터프리터 언어로 작성된 원본소스의 영역인 것을 특징으로 한다.The process calling area is an area of an original source written in an interpreter language.

상기 감시영역 정보는, 원본 소스에 포함된 프로세스명, 소스명, 감시대상, 관심영역(라인넘버)을 포함한다.The monitoring area information includes a process name, a source name, a monitored object, and an area of interest (line number) included in the original source.

상기 감시대상은, 알고리즘 조작 감시영역과 프로세스 우회 감시영역으로 구분되는 것을 특징으로 한다.The monitoring target is divided into an algorithm operation monitoring area and a process bypass monitoring area.

상기 소스코드 변경분은, 코드수정 부분, 코드생성 부분, 코드삭제 부분을 포함하는 소스코드 변경내용, 해당 소스코드 변경내용에 해당되는 코드라인이 추출된 것을 특징으로 한다.The source code change section is characterized in that a code line corresponding to the code modification section, the code generation section, the source code change section including the code deletion section, and the source code change contents are extracted.

상기 위험인지 및 영향도 분석부는, 이전 버전 소스와 변경 버전 소스 간의 영역정보에 대한 비교결과에 따라, 상기 소스코드 변경에 따른 위험 가능성을 확인하는 것을 특징으로 한다.The risk awareness and impact analysis unit is characterized by checking the possibility of danger due to the source code change according to the comparison result of the region information between the source of the previous version and the source of the changed version.

상기 위험인지 및 영향도 분석부는, 외부의 작업 지시 시스템과 연동하여 내부자에 의한 코드 조작이 허용된 행위인지를 판단하는 것을 특징으로 한다.The risk awareness and influence analyzing unit is characterized by interlocking with an external work instruction system to judge whether or not the operation of the code by the insider is permitted.

상기 위험인지 및 영향도 분석부는, 상기 비교 결과로 확인된 변경영역이 프로세스 우회 감시영역에 해당하면, 미리 정의된 위험등급에 따라 SW 변경 영향도를 산정하는 것을 특징으로 한다.The risk awareness and impact analysis unit may calculate the SW change influence degree according to a predefined risk level if the change area identified as a result of the comparison corresponds to the process bypass monitoring area.

상기 변경영역은 상기 이전 버전 소스에 우회 가능 코드를 삽입하거나, 상기 이전 버전 소스에 새로운 호출문을 삽입하여 나타나는 영역인 것을 특징으로 한다.Wherein the change area is an area appearing by inserting a bypass code into the previous version source or inserting a new call statement into the previous version source.

상기 어노테이션 처리부는, 포워드(Foward)/백워드(Backward) 변수이용하여 감시 프로세스의 추적 범위를 설정하는 것을 특징으로 한다.The annotation processing unit sets a tracking range of the monitoring process using a forward / backward variable.

상기 어노테이션 관리부는, 상기 어노테이션 변경 시도를 감지하는 것을 특징으로 한다.And the annotation management unit detects the annotation change attempt.

상기 프로세스 변이 이상 모니터링부는, 베이지언 알고리즘(bayesian algorithm) 및 흐름 분석 그래프(control flow graph)의 서브 그래프(subgraph) 감시 기법을 이용하여 프로세스 변이 이상을 감지하는 것을 특징으로 한다.The process variation abnormality monitoring unit detects a process variation abnormality using a subgraph monitoring technique of a bayesian algorithm and a control flow graph.

또한, 본 발명의 일실시예에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 방법은, 프로세스에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 감시영역 정보를 생성하는 단계; 및 상기 감시영역 정보를 이용하여 소스코드 또는 프로세스를 감시하는 단계;를 포함하고, 상기 프로세스 감시 단계는, 시스템이 운영됨에 따라 로그에 누적된 프로세스 변이 데이터를 이용하여 패턴 분석을 수행하여 프로세스 변이 모델을 도출하는 단계; 상기 프로세스 변이 모델을 이용하여 프로세스 이상을 감지하는 단계; 및 상기 프로세스 변이 모델을 이용하여 프로세스 변이에 대한 시각적 정보로 표시하는 단계;를 포함한다.In addition, the illegal action monitoring method using the source code change impact evaluation according to an embodiment of the present invention includes generating surveillance region information indicating a region of interest related to each source in the process; And monitoring the source code or the process using the monitoring area information, wherein the process monitoring step performs a pattern analysis using the process variation data accumulated in the log as the system is operated, ; Detecting a process anomaly using the process variation model; And displaying the process variation information as visual information on the process variation using the process variation model.

상기 소스코드 감시 단계는, 상기 소스코드 감시 단계는, 상기 소스코드의 변경시, 상기 감시영역 정보를 이용하여 상기 변경된 소스코드가 포함된 해당 소스파일의 버전별 비교를 통해 변경분을 추출하는 단계; 및 상기 소스코드의 변경에 따른 위험 가능성과 프로세스 우회 가능성을 산정하여 감시하는 단계;를 포함한다.The monitoring of the source code may include a step of monitoring the source code when the source code is changed using the monitoring area information and comparing the version of the corresponding source file including the changed source code, ; And monitoring and monitoring the possibility of risk and the circumvention possibility of the process due to the change of the source code.

상기 프로세스 감시 단계는, 상기 감시영역 정보를 통해 확인된 원본 소스코드에 보안용 어노테이션을 일괄적으로 삽입하여 감시용 소스코드로 자동으로 변환하는 단계; 및 상기 감시용 소스코드에 삽입된 모든 어노테이션 코드의 위치(라인넘버)를 저장 및 관리하는 단계;를 포함한다.Wherein the process monitoring step includes: collectively inserting a security annotation into the original source code identified through the monitoring area information and automatically converting the security annotation into a monitoring source code; And storing and managing the position (line number) of all the annotation codes inserted in the monitoring source code.

삭제delete

본 발명은 일반직원이 아닌 소프트웨어의 변경(수정, 생성, 삭제 등) 권한을 가진 내부자를 대상으로 불법 행위를 탐지하는 기술로, 보안 감시에서 제외되었던 영역까지 감시범위를 확대할 수 있다.The present invention can extend the scope of surveillance to the area that was excluded from the security surveillance by the technique of detecting illegal activity for the insider having the authority to change (modify, create, delete, etc.)

또한, 본 발명은 내부자에 의한 불법 행위의 정적 감시 및 동적 감시를 통해 간단하게 알고리즘 임의 변경 및 프로세스 우회를 감지 및 예방할 수 있다.In addition, the present invention can easily detect and prevent algorithm arbitrary change and process detour through static monitoring and dynamic monitoring of illegal actions by an insider.

또한, 본 발명은 SW 변경 영향도 분석을 통해 소스파일별 접근 통제 방식이 아니라, 라인별 접근 통제 방식을 제공할 수 있기 때문에, 하나의 파일 내에 여러가지 함수 또는 기능 등이 구현된 저품질의 소스파일에 대해서도 간단히 내부자에 의한 불법 행위를 감시할 수 있다.In addition, since the present invention can provide a line-by-line access control method instead of the access control method according to the source file through the analysis of the SW change influence, it is possible to provide a low-quality source file in which various functions or functions are implemented in one file It is possible to simply monitor illegal activities by the insider.

또한, 본 발명은 어노테이션 관리부를 통해 모든 어노테이션 코드의 위치를 저장 및 관리하고 있기 때문에, 내부자에 의한 불법행위를 방지하는 보안 요소를 충족할 수 있다. 즉, 내부자는 모든 어노테이션 코드의 위치가 저장 및 관리되고 있기 때문에, 어노테이션 코드를 임의로 삭제하거나 주석으로 처리할 수 없다. 그리고, 내부자는 어노테이션 코드가 어떠한 역할을 수행하는지, 어노테이션 코드가 감시용 소스코드의 어느 부분을 감시하는지, 컴파일할 때 어떠한 어노테이션 코드가 삽입되는지에 대해서는 알 수 없다. In addition, since the present invention stores and manages the positions of all annotation codes through the annotation management unit, a security element for preventing illegal actions by the insider can be satisfied. That is, since the insider stores and manages the location of all annotation codes, the annotation code can not be arbitrarily deleted or annotated. The insider can not know what role the annotation code plays, what part of the source code the monitoring code monitors, or what annotation code is inserted when compiling.

또한, 본 발명은 소스코드의 라인 비교, 입력 인자 확인 등 비교적 간단한 분석을 통해 내부자가 연루된 소스코드에 대한 불법 행위를 예방할 수 있다.In addition, the present invention can prevent illegal actions on source code involving an insider through a comparatively simple analysis such as line comparison of source code and input factor confirmation.

또한, 본 발명은 비즈니스 로직을 구성하는 전체 프로세스 중에서 중요 프로세스의 우회 시도나 핵심 알고리즘의 임의 수정을 빠르게 감지할 수 있다. 특히, 본 발명은 정적 및 동적 감시를 모두 포함하므로 견고하게 감시할 수 있다. In addition, the present invention can quickly detect an attempt to bypass a critical process or arbitrary modification of a core algorithm among all the processes constituting the business logic. In particular, the present invention encompasses both static and dynamic surveillance and can therefore be rigidly monitored.

또한, 본 발명은 관심 프로세스와 관련된 파일, 그 중에서도 일부 영역에 대해서만 비교 및 분석을 수행할 뿐만 아니라, 감시 범위를 설정할 수 있기 때문에 성능 저하를 최소화할 수 있다.In addition, the present invention minimizes performance degradation since it can perform comparison and analysis not only for some areas related to a process of interest, but also for some areas, as well as setting a monitoring scope.

도 1은 내부자에 의한 해킹사고의 침해방식 예를 나타낸 도면,
도 2는 프로그램 내부에서 프로세스 동작 절차를 나타낸 도면,
도 3은 내부자에 의해 코드가 변경된 경우의 프로세스 동작 절차를 나타낸 도면,
도 4는 본 발명의 일실시예에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치에 대한 구성도,
도 5는 상기 도 4의 불법 행위 감시 장치에 대한 상세 구성도,
도 6은 프로세스 변이를 나타낸 예시도,
도 7은 감시영역 정보를 생성하기 위한 프로세스 구성에 대한 도면,
도 8은 감시영역 정보 생성부(110)의 상세 구성을 나타낸 도면,
도 9는 소스코드 감시부(110)의 상세 구성을 나타낸 도면,
도 10a 및 도 10b는 소스코드 변경분 추출부에 의한 소스코드의 버전별 비교를 나타내는 도면,
도 11은 위험인지 및 영향도 분석부에 의한 위험인지를 설명하는 도면,
도 12a 및 도 12b는 위험인지 및 영향도 분석부에 의한 영향도 분석을 설명하는 도면,
도 13은 간헐적 프로세스 우회를 나타낸 도면,
도 14는 프로세스 변이 추적부(140)의 상세 구성을 나타낸 도면,
도 15는 원본소스에 어노테이션을 삽입을 나타낸 도면,
도 16a 내지 도 16e는 감시 프로세스의 추적 범위(tracking area) 설정에 대한 설명을 나타낸 도면,
도 17은 프로세스 변이 패턴 모델부에 의한 프로세스 구성 및 확률 모델 도출 과정을 나타낸 도면,
도 18a 및 도 18b는 프로세스 이상 감지 기법을 나타낸 예시도,
도 19는 프로세스 변이 시각화를 나타낸 예시도이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a view showing an example of a violation method of a hacking accident by an insider,
2 is a diagram illustrating a process operation procedure within a program,
3 shows a process operation procedure when a code is changed by an insider,
4 is a block diagram of an illegal behavior monitoring apparatus using source code change impact evaluation according to an embodiment of the present invention.
FIG. 5 is a detailed configuration diagram of the illegal behavior monitoring apparatus of FIG. 4,
Figure 6 is an illustration showing process variation,
7 is a diagram of a process configuration for generating surveillance zone information,
8 is a diagram showing a detailed configuration of the monitoring area information generating unit 110,
9 is a diagram showing a detailed configuration of the source code monitoring unit 110,
FIGS. 10A and 10B are diagrams showing version-by-version comparisons of source codes by the source code change extracting unit;
11 is a view for explaining the danger perception by the risk perception and influence analyzing unit,
12A and 12B are diagrams for explaining the influence analysis by the risk awareness and influence analysis unit,
13 is a diagram showing intermittent process bypassing,
14 is a diagram showing a detailed configuration of the process variation tracking unit 140,
Figure 15 shows the insertion of an annotation into an original source,
16A to 16E are diagrams for explaining setting of a tracking area of the monitoring process,
17 is a diagram showing a process configuration and a probability model derivation process by the process variation pattern modeling unit,
18A and 18B are views showing an example of a process anomaly detection technique,
19 is an exemplary view showing a process variation visualization.

본 발명을 충분히 이해하기 위해서 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 설명한다. 본 발명의 실시예는 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상세히 설명하는 실시예로 한정되는 것으로 해석되어서는 안 된다. 본 실시예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공 되어지는 것이다. 따라서 도면에서의 요소의 형상 등은 보다 명확한 설명을 강조하기 위해서 과장되어 표현될 수 있다. 각 도면에서 동일한 부재는 동일한 참조부호로 도시한 경우가 있음을 유의하여야 한다. 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 기술은 생략된다.For a better understanding of the present invention, a preferred embodiment of the present invention will be described with reference to the accompanying drawings. The embodiments of the present invention may be modified into various forms, and the scope of the present invention should not be construed as being limited to the embodiments described in detail below. The present embodiments are provided to enable those skilled in the art to more fully understand the present invention. Therefore, the shapes and the like of the elements in the drawings can be exaggeratedly expressed to emphasize a clearer description. It should be noted that in the drawings, the same members are denoted by the same reference numerals. Detailed descriptions of well-known functions and constructions which may be unnecessarily obscured by the gist of the present invention are omitted.

본 발명의 설명에 앞서 다음 용어를 정의한다.Prior to the description of the present invention, the following terms are defined.

'내부자(insider)'는 파일 시스템(file system)의 소스코드(source code)를 변경(즉, 수정, 생성, 삭제 등)하는 권한을 가진 프로그래머이며, 사내에 있는 내부 인력과 위탁/하청 업체 인력을 포함한다. An "insider" is a programmer who has the authority to change (ie modify, create, delete, etc.) the source code of a file system. It is a programmer who manages the internal workforce and contract / .

'프로세스(process)'는 비즈니스 로직(business logic)을 구성하는 이벤트 요소 단위이며, 예를 들어, 입찰 시스템에서의 프로세스는 입찰시작/종료, 투찰, 개찰, 예가산정, 낙찰자 선정 등으로 구성할 수 있다. A process is a unit of event elements that constitute business logic. For example, a process in a bidding system can be composed of bidding start / end, tactics, wicking, calculation of a prize, selection of a winning bidder have.

'메서드(method)'는 프로세스를 구성하는 함수 혹은 함수의 집합이다.A 'method' is a set of functions or functions that make up a process.

'불법 행위(illegality)'는 중요 프로세스를 우회 또는 임의로 조작하거나 알고리즘을 임의로 변경하려는 내부자에 의한 불법적인 시도 또는 행위의 결과를 통칭한다.'Illegality' refers to the result of an illegal attempt or action by an insider to circumvent or arbitrarily manipulate a critical process or arbitrarily alter the algorithm.

도 2는 프로그램 내부에서 프로세스 동작 절차를 나타낸 도면이고, 도 3은 내부자에 의해 코드가 변경된 경우의 프로세스 동작 절차를 나타낸 도면이다.FIG. 2 illustrates a process operation procedure in a program, and FIG. 3 illustrates a process operation procedure when a code is changed by an insider.

본 발명이 해결하고자 하는 바는 프로그램 내부에서 동작하는 중요 프로세스를 내부자가 임의로 조작하지 못하게 하는 것이다. 예를 들어, 도 2에서 '프로세스 3'(2)이 해당 프로그램에서 가장 중요한 프로세스일 경우에, 프로세스가 정상적으로 수행되었는지를 확인할 수 있어야 한다. 그런데, 도 3과 같이 내부자가 '프로세스 3'(2) 대신 '프로세스 3″'(3)을 호출하도록 코드를 변경하면, 해당 프로세스의 호출 코드 변경에 대한 내부자의 불법 행위는 전문기관으로부터 인증받은 수학/통계적 기법이 적용되더라도 쉽게 감지하기 어렵다. 결국, 해당 프로그램은 내부자에 의한 불법 행위에 의해 손쉽게 무력화될 수 있다.It is an object of the present invention to prevent an insider from arbitrarily manipulating an important process operating in a program. For example, if 'process 3' (2) in FIG. 2 is the most important process in the program, it should be possible to confirm whether or not the process has been normally performed. However, if the insider changes the code to call "process 3" (3) instead of "process 3" (2) as shown in FIG. 3, the insider's illegal actions for changing the calling code of the process are authenticated Even if mathematical / statistical techniques are applied, it is difficult to detect easily. Eventually, the program can be easily disabled by illegal actions by insiders.

아래와 같은 이유로 인해, 내부자에 의한 불법행위는 감지하기 어렵다.Illegal acts by insiders are difficult to detect because of the following reasons.

먼저, 프로그램 감시자(즉, 담당자)는 내부자에 의한 잦은 유지보수 작업 내역을 일일이 확인하기 어렵고, 소스코드의 변경 내역을 확인하더라도 정상 또는 이상 유무를 판단하기 쉽지 않다. First, it is difficult for the program supervisor (that is, the person in charge) to check the details of frequent maintenance work performed by the insider, and it is not easy to determine whether the program is normal or abnormal even if the change history of the source code is checked.

더욱이, 소스코드에 대한 논리적 조작 또는 우회시도는 상용 보안툴에 의해서 검출되지 않는다.Moreover, logical manipulation or bypass attempts on the source code are not detected by commercial security tools.

또한, 인터프리터 언어의 하나인 JSP(Java Server Pages) 파일은 내부자에 의해 변경될 경우, 컴파일(compile)이나 재기동(restart) 같은 과정이 없기 때문에 이상 징후로 판단할 만한 증거가 적다. 특히, 도 3에서 내부자가 중요 프로세스인 '프로세스 3'(2)[컴파일 언어 자바(java)임]에 대해 불법행위를 시도할 때, '프로세스 3'(2)을 직접 수정하는 방식을 선택하기 보다 '프로세스 3'(2)을 호출하는 코드인 JSP 파일을 변경하는 방식을 선호한다.In addition, there is little evidence that the JSP (Java Server Pages) file, which is one of the interpreter languages, is judged to be an abnormal symptom because there is no process such as compile or restart when the insider changes the file. In particular, in FIG. 3, when the insider tries to illegitimate the important process 'Process 3' (2) [Compiled language Java], select 'Process 3' (2) We prefer to change the JSP file, which is code that calls 'process 3' (2).

그리고 코드 노후 단계에서는 오랜 기간 운영 및 유지보수를 거치며 여러 기능이 하나의 파일에 구현되는 강결합(tightly coupled) 현상이 발생하기 때문에 분석이 쉽지 않다. 예를 들어, 하나의 시스템 내에서는 2~4천 라인이 넘는 파일을 다수 포함하는 경우가 많다.In the old phase of code, it is difficult to analyze because it is operated and maintained for a long time, and a tightly coupled phenomenon occurs in which various functions are implemented in one file. For example, many systems often contain more than 2 to 4,000 files in one system.

도 4는 본 발명의 일실시예에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치에 대한 구성도이고, 도 5는 상기 도 4의 불법 행위 감시 장치에 대한 상세 구성도이다.FIG. 4 is a configuration diagram of an illegal behavior monitoring apparatus using source code change impact evaluation according to an embodiment of the present invention, and FIG. 5 is a detailed configuration diagram of the illegal behavior monitoring apparatus of FIG.

본 발명의 일실시예에 따른 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치(이하 "불법 행위 감시 장치"라 함, 100)는, 프로그램 내부에서 동작하는 중요 프로세스를 우회하거나 알고리즘을 임의로 변경하는 불법 행위를 감시할 수 있다. 또한, 이와 같이 불법 행위를 감시하는 것은 내부자에 의한 불법 행위를 사전에 예방하는 효과를 얻을 수도 있다. 여기서, 감시 범위는 소스코드, 중요 프로세스의 정상 수행(완료) 여부일 수 있으며, 대상 소스코드는 JAVA, C#, C++ 등의 컴파일 언어(compile language)와 JSP, PYTHON 등의 인터프리터 언어(interpretive language)일 수 있다.The illegal behavior monitoring apparatus (hereinafter referred to as "illegal behavior monitoring apparatus") 100 using the source code change impact evaluation according to the embodiment of the present invention is an illegal behavior monitoring apparatus You can monitor your actions. In addition, monitoring illegal activities in this manner may also have the effect of preventing illegal acts by insiders in advance. In this case, the monitoring range may be whether or not the source code and the important process are normally performed. The target source code may be a compile language such as JAVA, C #, C ++, or an interpretive language such as JSP, PYTHON, Lt; / RTI >

불법 행위 감시 장치(100)는 소프트웨어 변경 영향 정도를 분석하여 소스코드를 감시하는 정적 감시의 일환으로 'SW 변경 영향도 분석'을 수행하고, 비즈니스 로직을 추적하여 프로세스를 감시하는 동적 감시의 일환으로 '비즈니스 로직 추적'을 수행한다. The illegal behavior monitoring apparatus 100 performs 'SW change impact analysis' as a static monitoring for analyzing the influence of software change and monitors the source code, and as part of dynamic monitoring for monitoring the business logic and monitoring the process Perform 'business logic tracking'.

먼저, 'SW 변경 영향도 분석'은 내부자에 의해 소스코드가 변경될 때, 운영 체제(operating system, 20)에 반영하기에 앞서, 전체 서비스에 어떠한 영향을 주는지를 평가하는 기술을 나타낸다. 즉, 'SW 변경 영향도 분석'은 정적 감시 방식에 해당하는 것으로, 내부자에 의해 소스코드가 변경되면 이전 버전의 소스코드와 비교하여 변경 영역을 추출한 후, 이 부분을 통해 중요 프로세스가 조작 또는 우회될 수 있는지를 평가한다. First, 'SW change impact analysis' shows a technique for evaluating how an insider changes the source code before it is reflected in the operating system (20), thereby affecting the entire service. In other words, 'SW change impact analysis' corresponds to the static monitoring method. When the source code is changed by the insider, the change area is extracted by comparing with the source code of the previous version. To be evaluated.

다음에, '비즈니스 로직 추적'은 동적 감시 방식에 해당하는 것으로, 프로세스 상태(즉, 시작→처리→종료)의 변이(transition)(도 6 참조)를 모니터링하여 이상점(outlier)을 찾는다. 도 6은 프로세스 변이를 나타낸 예시도이다.Next, the 'business logic tracking' corresponds to the dynamic monitoring method and monitors the transition (see FIG. 6) of the process state (ie, start → process → end) to find an outlier. Fig. 6 is an exemplary view showing a process variation.

이하, 도 4 및 도 5에 도시된 불법 행위 감시 장치(100)의 구성요소에 대해 상세히 설명한다. 불법 행위 감시 장치(100)의 구성요소에 대해 설명할 때, 설명의 이해를 돕기 위해 각 구성요소와 관련된 도면을 추가하여 설명하기로 한다.Hereinafter, the components of the illegal behavior monitoring apparatus 100 shown in FIGS. 4 and 5 will be described in detail. In describing the components of the illegal behavior monitoring apparatus 100, additional drawings related to the respective components will be described to facilitate understanding of the explanation.

불법 행위 감시 장치(100)는 감시영역 정보 생성부(110), 소스코드 감시부(120), 프로세스 감시부(130)를 포함하여 구성할 수 있다. The illegal behavior monitoring apparatus 100 may include a monitoring area information generating unit 110, a source code monitoring unit 120, and a process monitoring unit 130.

먼저, 감시영역 정보 생성부(110)는 '중요 프로세스(또는 관찰대상이 되는 관심 프로세스)에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 정보'(이하 "감시영역 정보"라 함)를 생성한다. 여기서, 감시영역 정보는 'SW 변경 영향도 분석' 또는 '비즈니스 로직 추적'을 진행하기 위해 필요한 정보로서, 'SW 변경 영향도 분석' 또는 '비즈니스 로직 추적'의 진행 이전에 생성되어야 한다.First, the surveillance region information generation unit 110 generates (hereinafter referred to as "surveillance region information") indicating 'a region of interest related to a surveillance target for each source in a critical process (or a process of interest to be observed) do. Here, the surveillance area information is information necessary for proceeding with 'SW change impact analysis' or 'business logic tracking', and should be generated before proceeding with 'SW change impact analysis' or 'business logic tracking'.

이하, 도 7을 참조하여 감시영역 정보를 생성하기 위한 프로세스의 구성에 대해 설명하기로 한다. 도 7은 감시영역 정보를 생성하기 위한 프로세스 구성에 대한 도면이다. Hereinafter, the configuration of a process for generating surveillance region information will be described with reference to FIG. 7 is a diagram of a process configuration for generating surveillance zone information.

프로세스는 '로직(알고리즘) 구현 영역'과 '프로세스 호출 영역'으로 분류하여 구현영역(코드라인)을 추출할 수 있도록 구성된다. 상기와 같이 프로세스를 구성하는 이유는 중요 프로세스의 우회/조작 여부를 평가하기 위해, 중요 프로세스가 어느 소스파일에 있는지와 어느 영역에서 구현되는지를 우선적으로 파악하는 것이 중요하기 때문이다.The process is structured so as to be able to extract an implementation area (code line) by classifying it as a 'logic (algorithm) implementation area' and a 'process calling area'. The reason for configuring the process as described above is that it is important to grasp in advance which source file the important process is in and which area it is implemented in order to evaluate whether the important process is bypassed / manipulated.

도 7의 해당 프로그램에서 가장 중요한 프로세스는 '프로세스 3(Process_3)'이다. 원본소스 'A.Java'는 컴파일 언어(Java)로 구성되고, 로직(알고리즘) 구현 영역(151)이 존재한다. 원본소스 'B.jsp'와 'C.jsp'는 인터프리터 언어(jsp)로 구성되고, 프로세스 호출 영역(152,153)이 존재한다.The most important process in the corresponding program of FIG. 7 is 'Process 3'. The original source 'A.Java' is composed of a compilation language (Java), and a logic (algorithm) implementation area 151 exists. The original sources 'B.jsp' and 'C.jsp' are composed of the interpreter language (jsp), and the process call areas 152 and 153 exist.

이하, 도 8을 참조하여 감시영역 정보 생성부(110)의 상세 구성에 대해 설명하기로 한다. 도 8은 감시영역 정보 생성부(110)의 상세 구성을 나타낸 도면이다.Hereinafter, the detailed configuration of the monitoring area information generating unit 110 will be described with reference to FIG. 8 is a diagram showing the detailed configuration of the surveillance zone information generation unit 110. As shown in FIG.

감시영역 정보 생성부(110)는 감시영역 정보 추출부(111)와 감시영역 정보 관리부(112)를 포함하여 구성할 수 있다.The monitoring area information generating unit 110 may include a monitoring area information extracting unit 111 and a monitoring area information managing unit 112.

감시영역 정보 추출부(111)는 중요 프로세스에 대해 로직(알고리즘) 구현 영역과 프로세스 호출 영역을 스캔하여 감시영역 정보(160)를 구성하는 정보들을 추출한다. 즉, 감시영역 정보 추출부(111)는 원본 소스로(A,B,C)부터 프로세스명(161), 소스명(162), 감시대상(163), 관심영역(라인넘버)(164) 등에 해당하는 정보들을 추출한다. 감시영역 정보 추출부(111)에 의해 추출된 정보들은 기 설정된 데이터 구조에 따라 정리되지 않은 형태의 정보들이다. 아울러, 감시영역 정보 추출부(111)는 소스코드 파일 전체를 전부 스캔하여 중요 프로세스를 구별할 수 있다.The monitoring area information extracting unit 111 extracts information constituting the monitoring area information 160 by scanning a logic (algorithm) implementation area and a process calling area with respect to an important process. That is, the surveillance region information extraction unit 111 extracts the process name 161, the source name 162, the monitored object 163, the area of interest (line number) 164, and the like from the original source A, B, And extracts corresponding information. The information extracted by the surveillance region information extracting unit 111 is information that is not organized according to a predetermined data structure. In addition, the surveillance region information extracting unit 111 can scan the entire source code file to distinguish important processes.

감시영역 정보 관리부(112)는 감시영역 정보 추출부(111)로부터 추출된 정보들을 기 설정된 데이터 구조에 따라 정리된 형태의 감시영역 정보(160)로 저장 및 관리한다.The surveillance area information management unit 112 stores and manages the information extracted from the surveillance area information extracting unit 111 as the surveillance area information 160 in a form of a predetermined data structure.

감시영역 정보(160)는 원본 소스(A,B,C)에서 내부자에 의한 불법행위가 발생할 가능성이 높은 감시영역(160a,160b,160c)을 특정하는 정보라 할 수 있다. 즉, 감시영역 정보(160)의 프로세스명(161), 소스명(162), 관심영역(164)은 감시영역(160a,160b,160c)이 특정된다. 감시영역 정보(160)의 감시대상(163)은 내부자에 의해 발생할 수 있는 불법 행위의 유형이 특정될 수 있다. 즉, 감시대상(163)은 '알고리즘 조작 감시영역'과 '프로세스 우회 감시영역'으로 구분된다.The surveillance region information 160 may be information for specifying the surveillance regions 160a, 160b, and 160c that are likely to cause illegal actions by the insiders in the original sources A, B, That is, the process names 161, the source name 162, and the ROI 164 of the monitoring area information 160 are specified as the monitoring areas 160a, 160b, and 160c. The type of the illegal action that can be caused by the insider can be specified as the monitored object 163 of the surveillance area information 160. [ That is, the monitoring object 163 is divided into an 'algorithm operation monitoring area' and a 'process bypass monitoring area'.

프로세스는 소스명(162)을 통해 컴파일 언어 또는 인터프리터 언어 중 어느 하나를 사용하는지가 구별되며, 이들 언어 유형을 통해 로직 구현 영역 또는 프로세스 호출 영역 중 어느 하나에 속하는지가 구별될 수 있다. 따라서, 소스명(162)은 감시대상(163)의 유형을 특정하는데 관련성이 있다.Whether a process uses either a compiled language or an interpreter language through the source name 162 is distinguished, and through these language types it can be distinguished whether it belongs to a logic implementation area or a process calling area. Thus, the source name 162 is relevant for specifying the type of the monitored object 163.

다음으로, 소스코드 감시부(120)는 감시영역 정보 생성부(110)에 의해 생성된 감시영역 정보를 이용하여 'SW 변경 영향도 분석'을 통한 정적 감시를 수행할 수 있다. 즉, 소스코드 감시부(120)는 소스코드의 변경시, 감시영역 정보를 이용하여 소스코드의 버전별 비교를 통해 변경분을 추출하고, 소스코드의 변경에 따른 위험 가능성과 프로세스 우회 가능성을 산정하여 감시한다.Next, the source code monitoring unit 120 can perform static monitoring through 'SW change impact analysis' using the monitoring area information generated by the monitoring area information generating unit 110. That is, when the source code is changed, the source code monitoring unit 120 extracts the change by comparing the version of the source code with the use of the monitoring area information, and estimates the risk potential and the process detour possibility according to the source code change .

이하, 도 9를 참조하여 소스코드 감시부(120)의 상세 구성에 대해 설명하기로 한다. 도 9는 소스코드 감시부(110)의 상세 구성을 나타낸 도면이다.Hereinafter, the detailed configuration of the source code monitoring unit 120 will be described with reference to FIG. 9 is a diagram showing a detailed configuration of the source code monitoring unit 110. As shown in FIG.

소스코드 감시부(120)는 소스코드 변경 감지부(121), 소스코드 변경분 추출부(122), 코드 수정 영향도 분석부(123), 위험인지부(124)를 포함하여 구성할 수 있다.The source code monitoring unit 120 may include a source code change detection unit 121, a source code change source extraction unit 122, a code modification influence analysis unit 123, and a risk protection unit 124 .

소스코드 변경 감지부(121)는 운영체제(20)의 로그(log)를 이용하여 소스코드의 변경을 감지한다. 예를 들어, 내부자가 'Revision 541'(이전 버전 소스)에서 'Revision 542'(변경 버전 소스)로 소스코드를 변경하면, 소스코드 변경 감지부(121)는 운영체제(20)의 로그를 통해 소스코드의 변경을 감지할 수 있다.The source code change detection unit 121 detects a change in the source code using a log of the operating system 20. [ For example, if the insider changes the source code from "Revision 541" (previous version source) to "Revision 542" (change version source), the source code change detection unit 121 detects the source You can detect changes to the code.

그리고, 소스코드 변경 감지부(121)는 변경된 소스코드가 포함된 소스파일이 감시영역 정보 리스트에 있는지에 대해 감시영역 정보 관리부(112)로 조회한다. 이때, 감시영역 정보 관리부(112)는 감시영역 정보 리스트 상에 해당 소스파일이 있는지를 확인한다. 여기서, 감시영역 정보 관리부(112)는 해당 소스파일의 소스명을 이용하여 감시영역 정보 리스트 상에 해당 소스파일이 있는지를 확인할 수 있다.The source code change detection unit 121 inquires of the surveillance region information management unit 112 whether the source file including the changed source code is included in the surveillance region information list. At this time, the surveillance area information management unit 112 checks whether the corresponding source file exists on the surveillance area information list. Here, the surveillance zone information management unit 112 can check whether the corresponding source file exists on the surveillance zone information list by using the source name of the corresponding source file.

소스코드 변경 감지부(121)는 감시영역 정보 리스트 상에 해당 소스파일이 있는 것으로 확인되면, 소스코드 변경분 추출부(122)가 해당 소스파일의 소스코드 변경분(즉, 변경부분)을 추출하도록 한다. 여기서, 해당 소스파일의 소스코드 변경분은 소스코드 변경내용 및 영역(코드라인)을 포함한다.When it is determined that the corresponding source file exists on the surveillance region information list, the source code change detection unit 121 extracts the source code change (that is, the changed portion) of the corresponding source file . Here, the source code change of the corresponding source file includes the source code change contents and the area (code line).

이하, 도 10a 및 도 10b를 참조하여 소스코드 변경분 추출부(122)에 의한 소스코드의 버전별 비교에 대해 설명하기로 한다. 도 10a 및 도 10b는 소스코드 변경분 추출부에 의한 소스코드의 버전별 비교를 나타내는 도면이다.Hereinafter, the version-by-version comparison of the source code by the source code change extractor 122 will be described with reference to FIGS. 10A and 10B. FIGS. 10A and 10B are diagrams showing version-by-version comparisons of source codes by the source code change extracting unit. FIG.

소스코드 변경분 추출부(122)는 도 10a 및 도 10b와 같이 해당 소스파일을 버전별로 비교하여 소스코드 변경분을 추출할 수 있다. 즉, 소스코드 변경분 추출부(122)는 파일 비교 유틸리티인 "Diff"를 이용하여 이전 버전 소스(Revision 541)와 변경 버전 소스(Revision 542) 간의 차이에 대한 정보를 출력할 수 있다. The source code change extracting unit 122 can extract the source code change by comparing the corresponding source files by version as shown in FIGS. 10A and 10B. That is, the source code change extracting unit 122 can output information about the difference between the previous version source (Revision 541) and the change version source (Revision 542) by using the file comparison utility "Diff".

도 10a 및 도 10b를 참조하여 설명하면, 소스코드 변경분 추출부(122)는 이전 버전 소스(Revision 541)와 변경 버전 소스(Revision 542) 간의 소스코드 변경분으로서, 코드수정 부분(171a,171b), 코드생성 부분(172a,172b), 코드삭제 부분(173a,173b)과 같이 소스코드 변경내용 뿐만 아니라, 해당 소스코드 변경내용에 해당되는 코드라인(CL1 내지 CL9)까지 추출할 수 있다.10A and 10B, the source code change extracting unit 122 extracts the source code changes between the previous version source (Revision 541) and the change version source (Revision 542), and the code modification units 171a and 171b The code lines CL1 to CL9 corresponding to the source code change contents as well as the source code change contents such as the code generation parts 172a and 172b and the code deletion parts 173a and 173b can be extracted.

위험인지 및 영향도 분석부(123)는 1차로 영역정보의 비교를 통해 소스코드가 변경됨에 따른 위험 가능성에 대해 확인이 필요하다는 알람을 주는 '위험인지'를 수행하고, 2차로 위험인지 결과로 변경영역이 프로세스 우회 감시영역과 겹치는 경우, 프로세스 우회 가능성에 따른 SW 변경 영향도를 산정하여 알람을 주는 '영향도 분석'을 수행한다.The risk awareness and impact analysis unit 123 performs 'risk perception' by giving an alarm that it is necessary to check the possibility of danger due to the change of the source code through the comparison of the first area information, When the change area overlaps with the process bypass monitoring area, an 'impact analysis' is performed to calculate an influence of the SW change according to the possibility of process bypass and to provide an alarm.

이하, 도 11, 도 12a 및 도 12b를 참조하여 위험인지 및 영향도 분석부(123)에 의한 위험인지 및 영향도 분석에 대해 설명하기로 한다. 도 11은 위험인지 및 영향도 분석부에 의한 위험인지를 설명하는 도면이고, 도 12a 및 도 12b는 위험인지 및 영향도 분석부에 의한 영향도 분석을 설명하는 도면이다.Hereinafter, the risk perception and influence analysis by the risk perception and influence analysis unit 123 will be described with reference to FIGS. 11, 12A, and 12B. FIG. 11 is a view for explaining the risk perception by the risk perception and influence analysis unit, and FIGS. 12A and 12B are diagrams for explaining the influence analysis by the perception perception and the perception unit.

구체적으로, 위험인지 및 영향도 분석부(123)는 소스코드 변경분 추출부(122)에 의해 추출된 소스코드 변경분의 변경영역과 감시영역 정보 관리부(112)에 의해 관리되는 감시영역 정보의 감시영역(즉, 알고리즘 조작 감시영역, 프로세스 우회 감시영역)이 일치하는지를 비교하여 위험인지를 수행한다.Specifically, the risk awareness and influence analyzing unit 123 analyzes the change area of the source code change extracted by the source code change extracting unit 122 and the change area of the source code change extracted by the monitoring area information managing unit 112 And compares the monitoring areas (that is, the algorithm operation monitoring area and the process bypass monitoring area) with each other to perform a risk recognition.

도 11을 참고하여 설명하면, 이전 버전 소스(Revision 541)(181)에서 알고리즘 조작 감시영역(181a)은 라인넘버 1∼121에 해당하는 영역이다. 변경 버전 소스(Revision 542)(182)에서 내부자에 의해 변경된 변경영역(182a,182b)은 라인넘버 60∼78에 해당하는 영역과 라인넘버 978∼981에 해당하는 영역이다. 위험인지 및 영향도 분석부(123)는 이전 버전 소스(Revision 541)(181)와 변경 버전 소스(Revision 542)(182) 간의 영역정보를 비교하여 일부라도 겹치는 경우에, 알람부(30)를 통해 코드 조작 확인이 필요하다는 알람을 담당자에게 전송한다. 이 경우에, 위험인지 및 영향도 분석부(123)는 외부의 작업 지시 시스템(미도시)과 연동하는 경우, 내부자에 의한 코드 조작이 허용된 행위인지를 판단할 수 있다. 또한, 위험인지 및 영향도 분석부(123)는 내부자에 의한 코드 조작이 허용되지 않은 행위로 판단되는 경우, 알람부(30)를 통해 코드 조작 확인이 필요하다는 알람을 담당자에게 전송할 수 있다.Referring to FIG. 11, in the previous version source (Revision 541) 181, the algorithm operation monitoring area 181a is an area corresponding to the line numbers 1-121. The change areas 182a and 182b changed by the insider in the change version source (Revision 542) 182 are areas corresponding to the line numbers 60 to 78 and the line numbers 978 to 981, respectively. The danger recognition and influence analysis unit 123 compares the area information between the previous version source Revision 541 181 and the revision version source Revision 542 182 so that the alarm unit 30 An alarm indicating that the code operation confirmation is necessary is transmitted to the person in charge. In this case, the risk recognition and influence analyzing unit 123 can determine whether the code manipulation by the insider is an allowed action when interfacing with an external work instruction system (not shown). In addition, when it is determined that the operation of the code by the insider is not allowed, the risk recognition and influence analyzing unit 123 can transmit an alarm to the responsible person through the alarm unit 30 that the code operation confirmation is necessary.

한편, 위험인지 및 영향도 분석부(123)는 이전 버전 소스(Revision 541)와 변경 버전 소스(Revision 542) 간의 영역정보를 비교하여 변경영역을 확인한 후, 확인된 변경영역이 프로세스 우회 감시영역과 겹치면 추가로 영향도 분석을 수행한다. 즉, 위험인지 및 영향도 분석부(123)는 프로세스 우회 가능성이 확인되면, 미리 정의된 위험등급에 따라 SW 변경 영향도(상/중/하)를 산정하여 알람부(30)를 통해 담당자에게 알려줄 수 있다.On the other hand, the risk awareness and influence analysis unit 123 compares the area information between the previous version source (Revision 541) and the revision version source (Revision 542) to check the changed area, If overlapped, an additional impact analysis is performed. That is, when the possibility of circumventing the process is confirmed, the risk awareness and influence analyzing unit 123 calculates the SW change influence degree (upper / middle / lower) according to the predefined risk level, You can tell.

도 12a 및 도 12b를 참고하여 설명하면, 원본소스 즉, 이전 버전 소스(Revision 541)(185)의 프로세스 우회 감시영역(185a)은 라인넘버 419∼423에 해당하는 영역이다. 여기서, 내부자는 이전 버전 소스(Revision 541)(185)에 우회 가능 코드(186a)를 삽입하거나, 이전 버전 소스(Revision 541)(185)에 새로운 호출문(187a)을 삽입할 수 있다. 즉, 변경 버전 소스(Revision 542)(186,187)는 이전 버전 소스(Revision 541)(185)에 우회 가능 코드(186a)가 삽입된 '우회 코드 삽입 버전'(186), 이전 버전 소스(Revision 541)(185)에 새로운 호출문(187a)이 삽입된 '호출문 삽입 버전'(187)과 같이 2가지 버전으로 존재할 수 있다.Referring to FIGS. 12A and 12B, the process bypassing monitoring area 185a of the original source, that is, the previous version source (Revision 541) 185 is an area corresponding to the line numbers 419 to 423. Here, the insider may insert a detachable code 186a into the previous version source (Revision 541) 185 or insert a new call statement 187a into the previous version source (Revision 541) In other words, the change version source (Revision 542) 186, 187 includes a 'bypass code insert version' 186, a previous version source (Revision 541) 185 in which a detachable code 186a is inserted in a previous version source (Revision 541) Quot; insert call insert version " 187 in which a new call insert 187a is inserted into the insert call insertion block 185, as shown in FIG.

위험인지 및 영향도 분석부(123)는 우회 코드 삽입 버전(186)의 경우, 'Process_3()' 앞단에 우회 가능 코드(186a)가 삽입되었는지를 확인하고, 이에 대한 SW 변경 영향도를 분석할 수 있다. 여기서, 우회 가능 코드(186a)는 if/else, for, while, switch/case, MACRO(#ifndef/endif) 등의 코드일 수 있다. In the case of the bypass code insert version 186, the risk awareness and influence analysis unit 123 checks whether the bypass enable code 186a is inserted before the 'Process_3 ()' and analyzes the influence of the SW change on the bypass enable code 186a . Here, detour code 186a may be code such as if / else, for, while, switch / case, and MACRO (# ifndef / endif).

또한, 위험인지 및 영향도 분석부(123)는 호출문 삽입 버전(187)의 경우, 해당 메서드가 바로 뒤에 실행된 'Process_3()'에 미치는 영향을 분석한다. 예를 들어, 도 12b에서 'Process_3' 호출시 전달하는 입력인자(parameter) 'param2'(188a)가 'Process_new'의 입력인자에도 'param2'(189)로 동일하게 들어가는 경우에는, 'Process_new'의 수행 결과에 따라 'Process_3'의 수행 결과가 영향을 받을 수 있다. 즉, 변경 버전 소스(Revision 542)에서 'Process_3'의 호출시 전달하는 입력인자 'param2'(188b)는 'Process_new'의 수행 결과에 따라 재정의된 입력인자 즉, 'param2→param2′'에 영향을 받는다.In addition, in the case of the call statement insertion version 187, the risk awareness and influence analysis unit 123 analyzes the influence on the 'Process_3 ()' executed immediately after the corresponding method. For example, if the input parameter 'param2' 188a, which is passed in the 'Process_3' call in FIG. 12b, equals 'param2' 189 in the input argument of 'Process_new' Depending on the execution result, the execution result of 'Process_3' may be affected. That is, the input parameter 'param2' (188b), which is transmitted when calling 'Process_3' in the change version source (Revision 542), influences the input argument redefined according to the execution result of 'Process_new', that is, 'param2 → param2' Receive.

전술한 바와 같이, 'SW 변경 영향도 분석'에 따른 정적 감시는 소스파일별 접근 통제 방식이 아니라, 라인별 접근 통제 방식이기 때문에 하나의 파일 내에 여러가지 함수 또는 기능 등이 구현된 저품질의 소스파일에 대해서도 간단하게 내부자에 의한 불법 행위를 감시할 수 있다.As described above, since the static monitoring according to the 'SW change impact analysis' is not the access control for each source file but the access control for each line, a low-quality source file in which various functions or functions are implemented in one file It is possible to simply monitor the illegal actions by the insider.

부가적으로, 알고리즘 조작 방지를 위해 실행파일과 소스코드 모두를 해쉬값으로 변환하고, 이를 감시하는 방법도 있다. 하지만, 이러한 방법은 빈번하게 유지보수되는 시스템의 경우에 바람직하지 않은 방법이며, 해쉬코드 이력 관리/변경 통제 등의 추가적 관리가 필요하다.In addition, there is also a method of converting both the executable file and the source code into a hash value and monitoring it to prevent the operation of the algorithm. However, this method is undesirable in the case of a system that is frequently maintained and requires additional management such as hash code history management / change control.

다음으로, 프로세스 감시부(130)는 감시영역 정보 생성부(110)에 의해 생성된 감시영역 정보를 이용하여 '비즈니스 로직 추적'을 통한 동적 감시를 수행할 수 있다.Next, the process monitoring unit 130 can perform dynamic monitoring through 'business logic tracking' using the monitoring area information generated by the monitoring area information generating unit 110.

비즈니스 로직 추적을 통한 동적 감시는 어노테이션(annotation) 또는 매크로(macro) 기법을 이용하여 프로세스 감시하는 것이다. 비즈니스 로직 추적을 통한 동적 감시는 실시간으로 프로세스 흐름 및 변이(transition) 추적을 목적으로 하기 때문에, 프로세스의 동적 감시용으로 사용된다. '어노테이션'은 프로그램이나 문서에 삽입 또는 추가되는 기술적, 설명적 참조, 주석 또는 표식 등을 의미한다. 여기서는 '어노테이션'이 프로세스 감시를 위해 코드라인 위치에 자동으로 삽입되는 보안용 코드 기법을 의미하며, JVM(Java Virtual Machine), C++, C# 등의 사용자 정의 어노테이션(User Define Annotation) 기법(즉, 매크로, macro)을 사용하면 구현할 수 있다.Dynamic monitoring through business logic tracking is process monitoring using annotation or macro techniques. Dynamic monitoring through business logic tracking is used for dynamic process monitoring because it aims at process flow and transition tracking in real time. 'Annotation' means any technical, descriptive reference, annotation or marking inserted or added to a program or document. Here, 'annotation' refers to a security code technique that is automatically inserted at the position of a code line for process monitoring. It is a security code technique using a user definition annotation technique (JVM, C ++, C # , macro) can be used.

SW 변경 영향도 분석을 통한 정적 감시는 수정된 소스코드에 대한 분석만으로 내부자에 의한 불법행위를 감지할 수 있는 반면에, 비즈니스 로직 추적을 통한 동적 감시는 시스템을 실제 운영하면서 특정 프로세스의 변이를 확률 및 통계학적으로 실시간 추적하고 시각화하여 내부자에 의한 불법행위를 감지할 수 있다.Static monitoring through SW change impact analysis can detect illegal actions by insiders only by analyzing the modified source code, while dynamic monitoring through business logic tracking allows the variation of a specific process And statistically track and visualize in real time to detect tampering by insiders.

도 13은 간헐적 프로세스 우회를 나타낸 도면이다.13 is a diagram showing an intermittent process bypass.

'프로세스 3'(191)이 해당 프로그램에서 중요한 프로세스 일 경우에, 내부자는 '프로세스 3'(191) 대신에 '프로세스 3′'(192)을 호출하도록 코드를 변경함으로써 프로세스 우회를 발생시킬 수 있다. If 'Process 3' 191 is an important process in the program, the insider can cause the process bypassing by changing the code to call 'Process 3' 192 instead of 'Process 3' 191 .

프로세스 감시부(130)는 비즈니스 로직 추적을 통해 시스템을 실제로 운영하면서 특정 프로세스 변이를 확률/통계학적으로 실시간 추적하고 시각화할 수 있다. 따라서, 프로세스 감시부(130)는 도 13과 같은 간헐적 프로세스 우회를 실시간 추적하고 시각화할 수 있다.The process monitoring unit 130 can perform real-time tracking and visualization of a certain process variation in a probability / statistical manner while actually operating the system through business logic tracking. Accordingly, the process monitoring unit 130 can track and visualize intermittent process detour as shown in FIG. 13 in real time.

프로세스 감시부(130)는 프로세스 변이 추적부(140)와 프로세스 변이 분석부(150)를 포함할 수 있다. 프로세스 변이 추적부(140)는 어노테이션 처리부(141), 어노테이션 관리부(142)를 포함하고, 프로세스 변이 분석부(150)는 프로세스 변이 이상 모니터링부(151), 프로세스 변이 패턴 모델부(153), 프로세스 변이 시각화부(152)를 포함한다.The process monitoring unit 130 may include a process variation tracking unit 140 and a process variation analysis unit 150. The process variation monitoring unit 140 includes an annotation processing unit 141 and an annotation management unit 142. The process variation analysis unit 150 includes a process variation monitoring unit 151, a process variation pattern modeling unit 153, And a variation visualization unit 152.

이하, 도 14, 도 15, 도 16a 내지 도 16e를 참조하여 프로세스 변이 추적부(140)의 상세 구성 및 추적 범위 설정 기능에 대해 설명하기로 한다. 도 14는 프로세스 변이 추적부(140)의 상세 구성을 나타낸 도면이고, 도 15는 원본소스에 어노테이션을 삽입을 나타낸 도면이고, 도 16a 내지 도 16e는 감시 프로세스의 추적 범위(tracking area) 설정에 대한 설명을 나타낸 도면이다.Hereinafter, the detailed configuration and tracking range setting function of the process variation tracking unit 140 will be described with reference to FIGS. 14, 15, and 16A to 16E. FIG. 14 is a diagram showing a detailed configuration of the process variation tracking unit 140, FIG. 15 is a diagram showing insertion of an annotation into an original source, and FIGS. 16A to 16E are diagrams Fig.

전술한 바와 같이, 프로세스 변이 추적부(140)는 어노테이션 처리부(141), 어노테이션 관리부(142)를 포함하여 구성할 수 있다.As described above, the process variation tracking unit 140 may include an annotation processing unit 141 and an annotation management unit 142.

도 14를 참조하여 설명하면, 어노테이션 처리부(141)는 감시영역 정보 관리부(112)에 의해 관리되는 감시영역 정보를 이용하여 원본 소스코드(141a)를 감시용 소스코드(141c)로 자동 변환시키는 어노테이션 처리(141b)를 수행한다. 여기서, 어노테이션 처리는 프로세스 감시를 위해 코드 라인 위치에 보안용 어노테이션(즉, 프로세스 추적에 필요한 감시용 또는 보안용 표식)을 원본 소스코드(141a)에 일괄적으로 삽입하여 감시용 소스코드(141c)로 변환시키는 것이다. 14, the annotation processing unit 141 is an annotation processing unit for automatically converting the original source code 141a to the monitoring source code 141c using the monitoring area information managed by the monitoring area information management unit 112 And performs processing 141b. Here, the annotation processing is performed by inserting the security annotation (that is, the monitoring or security marking necessary for the process tracking) into the original source code 141a at the position of the code line for monitoring the process, .

그리고 감시용 소스코드(141c)는 시스템(서비스) 운영용 코드로 사용될 수 있다. 이로 인해, 시스템 운영시에 로그에는 프로세스 변이, 날짜, 시간 및 횟수 등이 빠짐없이 기록될 수 있다. 따라서, 로그는 실시간 분석을 통해 프로세스 이상(outlier)의 추적을 위한 요소로 활용될 수 있다. 즉, 프로세스 변이 분석부(150)는 로그를 이용하여 실시간 이상 감지를 수행할 수 있다.The monitoring source code 141c can be used as a code for operating the system (service). Therefore, at the time of system operation, the log of the process variation, the date, the time and the number of times can be recorded without fail. Therefore, the log can be used as an element for tracking outliers through real-time analysis. That is, the process variation analyzer 150 can perform real-time anomaly detection using the log.

또한, 어노테이션 처리부(141)는 도 15와 같이 원본 소스코드에 어노테이션(201,202)을 삽입하여 감시용 소스코드로 생성하고, 도 16a 내지 도 16e와 같이 감시 프로세스의 추적 범위를 설정할 수 있다.In addition, the annotation processing unit 141 can insert annotations 201 and 202 into the original source code as shown in FIG. 15 to generate the source code for monitoring, and set the tracking range of the monitoring process as shown in FIGS. 16A to 16E.

도 15에서, 삽입된 어노테이션(201,202)은 내부자가 유지보수할 때 눈으로 확인 가능한 상태이다. 즉, 삽입된 어노테이션(201,202)은 단순한 표시(즉, @핵심코드, @우회감시)로만 적혀 있기 때문에 내부적으로 어떤 기능을 수행하는지, 어떤부분을 감시하는지 내부자가 알 수 없다. 그리고 삽입된 어노테이션(201,202)은 삭제시 담당자에게 알람을 주기 때문에 임의 삭제가 불가능하다. 이로 인해, 삽입된 어노테이션(201,202)은 보안적으로 안전성을 줄 수 있다.In FIG. 15, the inserted annotations 201 and 202 are visually recognizable when an insider is performing maintenance. That is, since the inserted annotations 201 and 202 are written in a simple representation (i.e., @ core code, @ bypass monitoring), the insider can not know what function is performed internally or which part is monitored. Since the inserted annotations 201 and 202 give an alarm to the person in charge at the time of deletion, it is impossible to delete them. As a result, the inserted annotations 201 and 202 can securely provide security.

특히, 어노테이션 처리부(141)는 포워드(Foward)/백워드(Backward) 변수(즉, F/B 변수)이용하여 감시 프로세스의 추적 범위를 설정한다. 도 16a는 '프로세스 1'부터 '프로세스 8'까지의 프로세스에 있어서, 관심 프로세스인 '프로세스 3'을 기준으로 감시 프로세스의 추적 범위를 다양하게 설정하는 경우를 나타낸다. 즉, 어노테이션 처리부(141)는 관심 프로세스를 기준으로 앞(포워드)/뒤(백워드) 프로세스 혹은 전체 비즈니스 로직까지 감시 프로세스의 변이에 대한 추적 범위를 설정할 수 있다.In particular, the annotation processing unit 141 sets the tracking range of the monitoring process using a forward / backward variable (i.e., an F / B variable). 16A shows a case in which the tracking range of the monitoring process is variously set on the basis of the process 'Process 3' which is a process of interest from the process 1 'to the process 8'. That is, the annotation processing unit 141 can set a tracking range for the variation of the monitoring process to the forward (forward) / backward (backward) process or the entire business logic on the basis of the interested process.

감시 프로세스의 추적 범위는 하기 [표 1]과 같은 F/B 변수를 이용하여 결정된다. 즉, F/B 변수는 감시 프로세스의 앞/뒤 프로세스의 진행 단계를 결정하는 변수이다. 따라서, 감시 프로세스의 추적 범위는 관심 프로세스를 기준으로 앞/뒤 프로세스의 진행 단계로 결정된다.The tracking range of the monitoring process is determined using the F / B variable as shown in [Table 1]. That is, the F / B variable is a variable that determines the progress stage of the process before and after the monitoring process. Therefore, the scope of tracing of the surveillance process is determined as the progress stage of the preceding / following process based on the interested process.

F/B 변수F / B variable 감시 프로세스의 추적 범위Tracking scope of monitoring process F=0 /B=0F = 0 / B = 0 관심 프로세스만 추적Track only interested processes F=n /B=0F = n / B = 0 n번째 앞 프로세스까지 추적Track to the nth previous process F=0 /B=mF = 0 / B = m m번째 뒤 프로세스까지 추적Track to the mth backward process F=n /B=mF = n / B = m n번째 앞, m번째 뒤 프로세스 추적nth forward, mth backward process tracking

이하, 상기 [표 1]을 참조하여 도 16a 내지 도 16e에 도시된 예를 설명한다.Hereinafter, examples shown in Figs. 16A to 16E will be described with reference to Table 1 above.

도 16a에서 감시 프로세스의 추적 범위(Tracking Area, TA)는 제1 추적범위(TA1), 제2 추적범위(TA2), 제3 추적범위(TA3) 및 제4 추적범위(TA4)와 같이 4개의 추적범위로 설정할 수 있다. 여기서, 관심 프로세스는 '프로세스 3'이다.In FIG. 16A, the tracking range TA of the monitoring process is divided into four areas such as a first tracking range TA1, a second tracking range TA2, a third tracking range TA3, and a fourth tracking range TA4 You can set it to trace range. Here, the interested process is 'process 3'.

제1 추적범위(TA1)는 도 16b와 같이 관심 프로세스 '프로세스 3'만을 추적 범위로 하는 경우를 나타낸다. 이때, F/B 변수는 F=0/B=0이다. 즉, 제1 추적범위(TA1)에는 '프로세스 3'만 포함된다.As shown in FIG. 16B, the first tracking range TA1 shows a case in which only the interested process 'process 3' is set as a tracking range. At this time, the F / B variable is F = 0 / B = 0. That is, only the process 3 is included in the first tracking range TA1.

또한, 제2 추적범위(TA2)는 도 16c와 같이 관심 프로세스 '프로세스 3'을 기준으로 '1번째 앞 프로세스'까지를 추적 범위로 하는 경우를 나타낸다. 이때, F/B 변수는 F=1/B=0이다. 즉, 제2 추적범위(TA2)에는 '프로세스 3'을 기준으로 1번째 앞 프로세스에 해당하는 '프로세스 7' 및 '프로세스 8'이 포함된다.In addition, the second tracking range TA2 indicates a case where the tracking range from the process 'process 3' to the 'first process' is set as the tracking range as shown in FIG. 16C. At this time, the F / B variable is F = 1 / B = 0. That is, in the second tracking range TA2, 'Process 7' and 'Process 8' corresponding to the first process before the process 3 are included.

또한, 제3 추적범위(TA3)는 도 16d와 같이 관심 프로세스 '프로세스 3'을 기준으로 '1번째 뒤 프로세스'까지를 추적 범위로 하는 경우를 나타낸다. 이때, F/B 변수는 F=0/B=1이다. 즉, 제3 추적범위(TA3)에는 '프로세스 3'을 기준으로 1번째 뒤 프로세스에 해당하는 '프로세스 2' 및 '프로세스 4'가 포함된다.In addition, the third tracking range TA3 shows a case where the tracking range from the process 'process 3' to the 'first back process' is set as the tracking range as shown in FIG. 16D. At this time, the F / B variable is F = 0 / B = 1. That is, in the third tracking range TA3, 'Process 2' and 'Process 4' corresponding to the first and second processes are included based on Process 3 '.

또한, 제4 추적범위(TA4)는 도 16e와 같이 관심 프로세스 '프로세스 3'을 기준으로 '1번째 앞, 1번째 뒤 프로세스'까지를 추적 범위로 하는 경우를 나타낸다. 이때, F/B 변수는 F=1/B=1이다. 즉, 제4 추적범위(TA4)에는 '프로세스 3'을 기준으로 1번째 앞 프로세스에 해당하는 '프로세스 7' 및 '프로세스 8'이 포함되고, 1번째 뒤 프로세스에 해당하는 '프로세스 2' 및 '프로세스 4'가 포함된다.In addition, the fourth tracking range TA4 shows a case where the tracking range is from the first process to the first process and back to the first process based on the process 'Process 3' as shown in FIG. 16E. At this time, the F / B variable is F = 1 / B = 1. That is, in the fourth tracking range TA4, 'Process 7' and 'Process 8' corresponding to the first preceding process are included on the basis of 'Process 3', and 'Process 2' and ' Process 4 'is included.

한편, 어노테이션 관리부(142)는 감시용 소스코드에 삽입된 모든 어노테이션 코드의 위치(즉, 라인넘버)를 저장 및 관리한다. 이와 같이 어노테이션 관리부(142)가 모든 어노테이션 코드의 위치를 저장 및 관리하고 있기 때문에, 내부자에 의한 불법행위를 방지하는 보안 요소가 충족될 수 있다. 즉, 어노테이션 관리부(142)는 감시용 소스코드에 삽입된 모든 어노테이션 코드에 대한 내부자의 악의적인 접근을 방지함으로써, 감시용 소스코드에 삽입된 모든 어노테이션 코드를 보호하는 기능을 담당한다. 즉, 어노테이션 관리부(142)는 내부자에 의한 소스코드 변경 시도(예를 들어, 어노테이션 삭제 또는 수정 등)를 소스코드 변경 감지부(121)에 알려줄 수 있다.On the other hand, the annotation managing unit 142 stores and manages the positions (i.e., line numbers) of all the annotation codes inserted in the monitoring source code. Since the annotation managing unit 142 stores and manages the positions of all the annotation codes, the security element for preventing illegal actions by insiders can be satisfied. That is, the annotation managing unit 142 protects all the annotation codes inserted in the monitoring source code by preventing the insider malicious access to all the annotation codes inserted in the monitoring source code. That is, the annotation managing unit 142 may notify the source code change detecting unit 121 of an attempt by the insider to change the source code (for example, annotation deletion or correction).

구체적으로, 내부자는 모든 어노테이션 코드의 위치가 저장 및 관리되고 있기 때문에, 어노테이션 코드를 임의로 삭제하거나 주석으로 처리할 수 없다. 그리고, 내부자는 어노테이션 코드가 어떠한 역할을 수행하는지, 어노테이션 코드가 감시용 소스코드의 어느 부분을 감시하는지, 컴파일할 때 어떠한 어노테이션 코드가 삽입되는지에 대해서는 알 수 없다. 다만, 내부자는 감시용 소스코드에 삽입된 어노테이션 코드를 볼 수는 있다.Specifically, the insider can not arbitrarily delete or annotate the annotation code because the positions of all the annotation codes are stored and managed. The insider can not know what role the annotation code plays, what part of the source code the monitoring code monitors, or what annotation code is inserted when compiling. However, the insider can view the annotation code inserted in the monitoring source code.

이하, 도 17, 도 18a, 도 18b 및 도 19를 참조하여 프로세스 변이 분석부(150)에 의한 프로세스 이상 감지에 대해 설명하기로 한다. 도 17은 프로세스 변이 패턴 모델부에 의한 프로세스 구성 및 확률 모델 도출 과정을 나타낸 도면이고, 도 18a 및 도 18b는 프로세스 이상 감지 기법을 나타낸 예시도이고, 도 19는 프로세스 변이 시각화를 나타낸 예시도이다.Hereinafter, process anomaly detection by the process variation analyzer 150 will be described with reference to Figs. 17, 18A, 18B and 19. FIG. 17 is a diagram illustrating a process configuration and a probability model derivation process by the process variation pattern modeling unit. FIGS. 18A and 18B are exemplary views showing a process anomaly detection technique, and FIG. 19 is an example of process variation visualization.

프로세스 변이 분석부(150)는 로그를 이용하여 프로세스 구성 및 확률 모델(즉, 프로세스 변이 모델)을 도출하여 실시간으로 프로세스 이상을 감지할 수 있다.The process variation analyzer 150 can detect a process anomaly in real time by deriving a process configuration and a probability model (i.e., a process variation model) using the log.

프로세스 변이 분석부(150)는 프로세스 변이 이상 모니터링부(151), 프로세스 변이 패턴 모델부(152), 프로세스 변이 시각화부(153)를 포함하여 구성할 수 있다.The process variation analyzing unit 150 may include a process variation abnormality monitoring unit 151, a process variation pattern model unit 152, and a process variation visualization unit 153.

프로세스 변이 이상 모니터링부(151)는 프로세스 변이 패턴 모델부(152), 프로세스 변이 시각화부(153)와 연동하여 실시간으로 프로세스 이상을 감지하고, 프로세스 이상 감지 결과를 시각적으로 표시하여 담당자에게 제공할 수 있다.The process variation abnormality monitoring unit 151 detects a process abnormality in real time in cooperation with the process variation pattern model unit 152 and the process variation visualization unit 153 and visually displays the process abnormality detection result to the person in charge have.

구체적으로, 프로세스 변이 패턴 모델부(152)는 시스템이 운영됨에 따라 로그에 누적된 프로세스 변이 이력데이터를 이용하여 패턴 분석을 수행한다. 여기서, 로그는 시스템이 수행될 때마다 출력된다. 즉, 프로세스 추적에 필요한 감시용 표적, 즉, 어노테이션이 원본 소스에 삽입되어 있기 때문에, 로그에는 시스템 운영시에 프로세스 변이, 날짜, 시간, 횟수 등이 빠짐없이 기록될 수 있다.Specifically, the process variation pattern modeling unit 152 performs pattern analysis using the process variation history data accumulated in the log as the system is operated. Here, the log is output every time the system is executed. That is, since the target for monitoring, that is, the annotation necessary for the process tracking, is embedded in the original source, the log can be recorded without missing any process variation, date, time,

그리고 프로세스 변이 이상 모니터링부(151)는 프로세스 변이 패턴 모델부(153)에 의해 프로세스 변이 모델이 도출되면, 베이지언 알고리즘(bayesian algorithm)(도 18a 참조) 및 흐름 분석 그래프(control flow graph)(도 18b 참조)의 서브 그래프(subgraph) 감시 기법 등을 이용하여 실시간으로 프로세스 이상(outlier)을 감지 및 추적할 수 있다. 프로세스 변이 이상 모니터링부(151)는 프로세스 이상을 감지하면, 알람부(30)를 통해 담당자에게 알려준다.When the process variation model is derived by the process variation pattern modeling unit 153, the process variation abnormality monitoring unit 151 generates a process variation model based on a Bayesian algorithm (see FIG. 18A) and a control flow graph 18b) can be used to detect and track process outliers in real time. The process variation abnormality monitoring unit 151 notifies the person in charge through the alarm unit 30 when it detects an abnormality in the process.

프로세스 변이 시각화부(153)는 프로세스 변이 모델에 대해 프로세스 변이, 주기, 빈도수 등을 확인할 수 있는 시각적 정보로 표시(즉, 시각화)할 수 있다(도 19 참조). 프로세스 변이 시각화부(153)는 프로세스 변이 모델에 대한 시각적 정보를 담당자에게 제공할 수 있다.The process variation visualization unit 153 can display (i.e., visualize) the process variation model, the process variation, the cycle, the frequency, and the like as visual information that can confirm the process variation model (see FIG. 19). The process variation visualization unit 153 can provide visual information about the process variation model to the person in charge.

한편, 불법 행위 감시 장치(100)는 파일 시스템(file system, 10)과 운영 체제(operating system, 20)와 연동함으로써, 정적 감시 방식인 SW 변경 영향도 분석을 수행하고, 동적 감시 방식인 비즈니스 로직 추적을 수행한다. 또한, 불법 행위 감시 장치(100)는 정적 또는 동적 감시를 통해 문제 가능성이 있을 경우에, 이를 알람부(30)를 통해 감시 담당자에게 알려준다. Meanwhile, the illegal behavior monitoring apparatus 100 performs a SW change influence analysis, which is a static monitoring method, in cooperation with a file system 10 and an operating system 20, Perform tracking. In addition, the illegal behavior monitoring apparatus 100 notifies the surveillance person through the alarm unit 30 of the possibility of a problem through static or dynamic monitoring.

다시 말해, 불법 행위 감시 장치(100)는 'SW 변경 영향도 분석' 및 '비즈시스 로직 추적'을 이용하여 내부자에 의한 소스코드 변경이 감지되면 프로세스 우회 및 로직 불법 변경 여부를 평가한다. 그리고, 불법 행위 감시 장치(100)는 평가 결과로 문제 가능성이 있는 경우, 알람을 발생하여 감시 담당자가 인지할 수 있도록 한다.In other words, the illegal behavior monitoring apparatus 100 evaluates whether a process bypassing and logic illegal change is detected when a source code change by an insider is detected by using "SW change impact analysis" and "BizSys logic tracking". If there is a problem as a result of the evaluation, the illegal behavior monitoring apparatus 100 generates an alarm so that the monitoring person can recognize the alarm.

한편, 본 발명의 불법 행위 감시 방법은 보안 감시를 위해 필요한 로그 혹은 로그 문법을 표준화하는 용도로 사용할 수 있다. 특히, 본 발명의 불법 행위 감시 방법은 관심 대상을 모든 메서드/프로세스로 확장할 경우 소프트웨어 커버리지 검사 용도로 사용할 수 있다. 여기서, 커버리지 검사는 소프트웨어 품질을 검사하는 기법 중 하나로서, 코드 오류나 사용하지 않은 데드 코드(dead-code: 한번도 호출되지 않는 함수)를 발견하는 검사를 말한다.Meanwhile, the illegal activity monitoring method of the present invention can be used for standardizing the log or log grammar necessary for security monitoring. In particular, the illegal behavior monitoring method of the present invention can be used for software coverage inspection when the object of interest is extended to all methods / processes. Here, the coverage test is one of techniques for checking software quality, and refers to a test for detecting a code error or an unused dead code (a function that is never called).

이상에서 설명된 본 발명의 실시예는 예시적인 것에 불과하며, 본 발명이 속한 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 잘 알 수 있을 것이다. 그럼으로 본 발명은 상기의 상세한 설명에서 언급되는 형태로만 한정되는 것은 아님을 잘 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. 또한, 본 발명은 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 그 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.It will be apparent to those skilled in the art that various modifications and variations may be made in the present invention. Accordingly, it is to be understood that the present invention is not limited to the above-described embodiments. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims. It is also to be understood that the invention includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

10 : 파일 시스템 20 : 운영체제
30 : 알람부 100 : 불법 행위 감시 장치
110 : 감시영역 정보 생성부 111 : 감시영역 정보 추출부
112 : 감시영역 정보 관리부 120 : 소스코드 감시부
121 : 소스코드 변경 감지부 122 : 소스코드 변경분 추출부
123 : 위험인지 및 영향도 분석부 130 : 프로세스 감시부
140 : 프로세스 변이 추적부 141 : 어노테이션 처리부
142 : 어노테이션 관리부 150 : 프로세스 변이 분석부
151 : 프로세스 변이 이상 모니터링부 152 : 프로세스 변이 패턴 모델부
153 : 프로세스 변이 시각화부
10: File system 20: Operating system
30: alarm part 100: illegal behavior monitoring device
110: Surveillance zone information generation unit 111: Surveillance zone information extraction unit
112: Surveillance zone information management unit 120: Source code monitoring unit
121: source code change detection unit 122: source code change minute extraction unit
123: Risk perception and influence analysis unit 130: Process monitoring unit
140: Process variation tracking unit 141: Annotation processing unit
142: annotation management unit 150: process variation analysis unit
151: process variation abnormality monitoring unit 152: process variation pattern model unit
153: process variation visualization unit

Claims (25)

프로세스에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 감시영역 정보를 생성하기 위한 감시영역 정보 생성부; 및
상기 감시영역 정보를 이용하여 소스코드 또는 프로세스를 감시하는 감시부;를 포함하고,
상기 감시부는,
상기 감시영역 정보를 이용하여 어노테이션(annotation) 처리를 통해 감시용 소스코드를 생성하고, 상기 어노테이션의 삽입에 따라 누적된 프로세스 변이 데이터를 분석하는 프로세스 감시부;를 포함하며,
상기 프로세스 감시부는,
시스템이 운영됨에 따라 로그에 누적된 프로세스 변이 데이터를 이용하여 패턴 분석을 수행하여 프로세스 변이 모델을 도출하는 프로세스 변이 패턴 모델부;
상기 프로세스 변이 모델을 이용하여 프로세스 이상을 감지하는 프로세스 변이 이상 모니터링부; 및
상기 프로세스 변이 모델을 이용하여 프로세스 변이에 대한 시각적 정보로 표시하는 프로세스 변이 시각화부;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
A monitoring area information generating unit for generating surveillance area information indicating a region of interest related to each source of monitoring in the process; And
And a monitoring unit monitoring the source code or the process using the monitoring area information,
Wherein,
And a process monitoring unit for generating surveillance source code through annotation processing using the surveillance region information and analyzing accumulated process variation data according to insertion of the annotation,
The process monitoring unit,
A process variation pattern model unit for deriving a process variation model by performing pattern analysis using process variation data accumulated in the log as the system is operated;
A process variation anomaly monitoring unit for detecting process anomaly using the process variation model; And
A process variation visualization unit for displaying the process variation information as visual information on a process variation using the process variation model;
And a source code change impact assessment comprising:
제 1 항에 있어서,
상기 감시부는, 상기 소스코드의 변경시, 상기 감시영역 정보를 이용하여 상기 소스코드의 버전별 비교를 통해 변경분을 추출하고, 상기 소스코드의 변경에 따른 위험 가능성과 프로세스 우회 가능성을 산정하여 감시하기 위한 소스코드 감시부;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Wherein the monitoring unit extracts a change through comparison of versions of the source code by using the monitoring area information when the source code is changed, calculates a possibility of danger due to the change of the source code, A source code monitoring unit for detecting the source code;
And a source code change impact assessment comprising:
삭제delete 제 1 항에 있어서,
상기 감시영역 정보 생성부는,
프로세스 영역을 스캔하여 감시영역 정보를 추출하기 위한 감시영역 정보 추출부; 및
상기 감시영역 정보를 기 설정된 데이터 구조에 따라 정리된 형태로 저장 및 관리하기 위한 감시영역 정보 관리부;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Wherein the surveillance zone information generation unit comprises:
A monitoring area information extracting unit for scanning the process area and extracting surveillance area information; And
A surveillance zone information management unit for storing and managing the surveillance zone information in an organized form according to a predetermined data structure;
And a source code change impact assessment comprising:
제 2 항에 있어서,
상기 소스코드 감시부는,
상기 소스코드의 변경을 감지하는 소스코드 변경 감지부;
상기 감시영역 정보를 이용하여 상기 변경된 소스코드가 포함된 해당 소스파일을 버전별로 비교하여 상기 소스코드의 변경분을 추출하는 소스코드 변경분 추출부; 및
상기 추출된 소스코드의 변경분을 통해 상기 소스코드 변경에 따른 위험 가능성과 프로세스 우회 가능성을 분석하는 위험인지 및 영향도 분석부;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
3. The method of claim 2,
The source code monitoring unit,
A source code change detection unit detecting a change of the source code;
A source code change extracting unit for comparing the corresponding source file including the changed source code by version using the monitoring area information to extract a change of the source code; And
A risk awareness and influence analysis unit for analyzing the risk potential and the process detour possibility according to the source code change through the modification of the extracted source code;
And a source code change impact assessment comprising:
제 1 항에 있어서,
상기 프로세스 감시부는,
상기 감시영역 정보를 통해 확인된 원본 소스코드에 보안용 어노테이션을 일괄적으로 삽입하여 감시용 소스코드로 자동으로 변환하는 어노테이션 처리부; 및
상기 감시용 소스코드에 삽입된 모든 어노테이션 코드의 위치(라인넘버)를 저장 및 관리하는 어노테이션 관리부;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
The process monitoring unit,
An annotation processing unit for collectively inserting the security annotation into the original source code identified through the surveillance region information and automatically converting the security annotation into the monitoring source code; And
An annotation management unit for storing and managing the positions (line numbers) of all the annotation codes inserted in the monitoring source code;
And a source code change impact assessment comprising:
삭제delete 제 1 항에 있어서,
상기 프로세스는, 중요도에 따라 결정된 관심 프로세스인 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Characterized in that the process is a process of interest determined according to the importance.
제 1 항에 있어서,
상기 프로세스는, 알고리즘 구현 영역과 프로세스 호출 영역으로 분류하여 구성된 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Wherein the process is classified into an algorithm implementation area and a process call area.
제 9 항에 있어서,
상기 알고리즘 구현 영역은, 컴파일 언어로 작성된 원본소스의 영역인 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
10. The method of claim 9,
Wherein the algorithm implementation area is an area of an original source written in a compilation language.
제 9 항에 있어서,
상기 프로세스 호출 영역은, 인터프리터 언어로 작성된 원본소스의 영역인 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
10. The method of claim 9,
Wherein the process calling area is an area of an original source written in an interpreter language.
제 1 항에 있어서,
상기 감시영역 정보는, 원본 소스에 포함된 프로세스명, 소스명, 감시대상, 관심영역(라인넘버)을 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Wherein the monitoring area information includes source code change impact evaluation including a process name, a source name, a monitoring target, and a region of interest (line number) included in the original source.
제 12 항에 있어서,
상기 감시대상은, 알고리즘 조작 감시영역과 프로세스 우회 감시영역으로 구분되는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
13. The method of claim 12,
Wherein the monitoring object is divided into an algorithm operation monitoring area and a process bypass monitoring area.
제 5 항에 있어서,
상기 소스코드 변경분은, 코드수정 부분, 코드생성 부분, 코드삭제 부분을 포함하는 소스코드 변경내용, 해당 소스코드 변경내용에 해당되는 코드라인이 추출된 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
6. The method of claim 5,
Wherein the source code change includes a code modification section, a code generation section, a source code change content including a code deletion section, and a code line corresponding to the source code change content, Illegal behavior monitoring device.
제 5 항에 있어서,
상기 위험인지 및 영향도 분석부는,
이전 버전 소스와 변경 버전 소스 간의 영역정보에 대한 비교결과에 따라, 상기 소스코드 변경에 따른 위험 가능성을 확인하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
6. The method of claim 5,
The risk perception /
And checking the possibility of the danger due to the source code change according to a result of comparing the region information between the source of the previous version and the source of the change version.
제 15 항에 있어서,
상기 위험인지 및 영향도 분석부는,
외부의 작업 지시 시스템과 연동하여 내부자에 의한 코드 조작이 허용된 행위인지를 판단하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
16. The method of claim 15,
The risk perception /
And the intervention is interlocked with an external work instruction system to judge whether the operation of the code by the insider is an allowed action.
제 15 항에 있어서,
상기 위험인지 및 영향도 분석부는,
상기 비교 결과로 확인된 변경영역이 프로세스 우회 감시영역에 해당하면, 미리 정의된 위험등급에 따라 SW 변경 영향도를 산정하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
16. The method of claim 15,
The risk perception /
And when the change area identified as a result of the comparison corresponds to the process bypass monitoring area, the SW change influence degree is calculated according to a predefined risk level.
제 17 항에 있어서,
상기 변경영역은 상기 이전 버전 소스에 우회 가능 코드를 삽입하거나, 상기 이전 버전 소스에 새로운 호출문을 삽입하여 나타나는 영역인 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
18. The method of claim 17,
Wherein the change area is an area appearing by inserting a bypass code into the previous version source or inserting a new call statement into the previous version source.
제 6 항에 있어서,
상기 어노테이션 처리부는, 포워드(Foward)/백워드(Backward) 변수이용하여 감시 프로세스의 추적 범위를 설정하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 6,
Wherein the annotation processing unit sets the trace range of the monitoring process by using a forward / backward variable.
제 6 항에 있어서,
상기 어노테이션 관리부는, 상기 어노테이션 변경 시도를 감지하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 6,
Wherein the annotation management unit detects the attempt to change the annotation.
제 1 항에 있어서,
상기 프로세스 변이 이상 모니터링부는, 베이지언 알고리즘(bayesian algorithm) 및 흐름 분석 그래프(control flow graph)의 서브 그래프(subgraph) 감시 기법을 이용하여 프로세스 변이 이상을 감지하는 것을 특징으로 하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 장치.
The method according to claim 1,
Wherein the process variation abnormality monitoring unit detects a process variation abnormality by using a subgraph monitoring technique of a bayesian algorithm and a control flow graph. Illegal behavior monitoring device.
프로세스에 있어서, 소스별 감시 대상과 관련된 관심 영역을 나타내는 감시영역 정보를 생성하는 단계; 및
상기 감시영역 정보를 이용하여 소스코드 또는 프로세스를 감시하는 단계;를 포함하고,
상기 프로세스 감시 단계는,
시스템이 운영됨에 따라 로그에 누적된 프로세스 변이 데이터를 이용하여 패턴 분석을 수행하여 프로세스 변이 모델을 도출하는 단계;
상기 프로세스 변이 모델을 이용하여 프로세스 이상을 감지하는 단계; 및
상기 프로세스 변이 모델을 이용하여 프로세스 변이에 대한 시각적 정보로 표시하는 단계;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 방법.
Generating surveillance region information indicating a region of interest associated with each source of surveillance in the process; And
And monitoring the source code or the process using the monitoring area information,
Wherein the process monitoring step comprises:
Performing pattern analysis using process variation data accumulated in the log as the system is operated to derive a process variation model;
Detecting a process anomaly using the process variation model; And
Displaying visual information on the process variation using the process variation model;
A method for monitoring illegal activities using source code change impact assessment.
제 22 항에 있어서,
상기 소스코드 감시 단계는,
상기 소스코드의 변경시, 상기 감시영역 정보를 이용하여 상기 변경된 소스코드가 포함된 해당 소스파일의 버전별 비교를 통해 변경분을 추출하는 단계; 및
상기 소스코드의 변경에 따른 위험 가능성과 프로세스 우회 가능성을 산정하여 감시하는 단계;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 방법.
23. The method of claim 22,
The source code monitoring step includes:
Extracting a change through comparison of versions of a corresponding source file including the changed source code using the monitoring area information when the source code is changed; And
Estimating the possibility of risk and the possibility of circumventing the process due to the change of the source code and monitoring it;
A method for monitoring illegal activities using source code change impact assessment.
제 22 항에 있어서,
상기 프로세스 감시 단계는,
상기 감시영역 정보를 통해 확인된 원본 소스코드에 보안용 어노테이션을 일괄적으로 삽입하여 감시용 소스코드로 자동으로 변환하는 단계; 및
상기 감시용 소스코드에 삽입된 모든 어노테이션 코드의 위치(라인넘버)를 저장 및 관리하는 단계;
를 포함하는 소스코드 변경 영향 평가를 이용한 불법 행위 감시 방법.
23. The method of claim 22,
Wherein the process monitoring step comprises:
Automatically inserting the security annotation into the original source code identified through the monitoring area information and automatically converting the security annotation into the monitoring source code; And
Storing and managing the position (line number) of all the annotation codes inserted in the monitoring source code;
A method for monitoring illegal activities using source code change impact assessment.
삭제delete
KR1020160133449A 2016-10-14 2016-10-14 Apparatus and method for watching illegality using source code modification effect assessment KR101860642B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160133449A KR101860642B1 (en) 2016-10-14 2016-10-14 Apparatus and method for watching illegality using source code modification effect assessment
PCT/KR2016/013798 WO2018070598A1 (en) 2016-10-14 2016-11-28 Device for monitoring illegal activity by using source code change influence evaluation and method therefor
DE112016007340.2T DE112016007340T5 (en) 2016-10-14 2016-11-28 APPARATUS FOR MONITORING UNLAWFUL ACTIVITY BY USING AN ASSESSMENT OF THE INFLUENCE OF A CHANGE IN A SOURCE COD AND METHOD THEREFOR

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160133449A KR101860642B1 (en) 2016-10-14 2016-10-14 Apparatus and method for watching illegality using source code modification effect assessment

Publications (2)

Publication Number Publication Date
KR20180041386A KR20180041386A (en) 2018-04-24
KR101860642B1 true KR101860642B1 (en) 2018-05-23

Family

ID=61905645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160133449A KR101860642B1 (en) 2016-10-14 2016-10-14 Apparatus and method for watching illegality using source code modification effect assessment

Country Status (3)

Country Link
KR (1) KR101860642B1 (en)
DE (1) DE112016007340T5 (en)
WO (1) WO2018070598A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024034720A1 (en) * 2022-08-10 2024-02-15 쿠팡 주식회사 Electronic device and information providing method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021244123A1 (en) * 2020-06-05 2021-12-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. A system and method of creating real-time intelligent media
KR102415833B1 (en) * 2020-09-28 2022-07-05 네이버클라우드 주식회사 Apparatus and method for analyzing vulnerabilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100670209B1 (en) * 2004-12-23 2007-01-16 한국전자통신연구원 Device of analyzing web application source code based on parameter status tracing and method thereof
KR101428915B1 (en) * 2013-02-22 2014-08-11 한양대학교 산학협력단 Feedback based application rewriting framework method and system for android security
KR101568224B1 (en) * 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926735B1 (en) * 2009-04-24 2009-11-16 주식회사 이븐스타 Web source security management system and method
KR100954758B1 (en) * 2009-07-29 2010-04-27 주식회사 코드원 System and method for securing web application
KR101264615B1 (en) * 2011-06-17 2013-05-27 (주)네오위즈게임즈 Device and method for executing and managing job file of game server
KR101701902B1 (en) * 2013-10-31 2017-02-06 주식회사 에스크레인 Method and system of verifying mobile accessibility
KR101660181B1 (en) * 2015-08-12 2016-09-26 한국전력공사 Apparatus and method for detecting suspicious behavior of insider based on chain rule method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100670209B1 (en) * 2004-12-23 2007-01-16 한국전자통신연구원 Device of analyzing web application source code based on parameter status tracing and method thereof
KR101428915B1 (en) * 2013-02-22 2014-08-11 한양대학교 산학협력단 Feedback based application rewriting framework method and system for android security
KR101568224B1 (en) * 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024034720A1 (en) * 2022-08-10 2024-02-15 쿠팡 주식회사 Electronic device and information providing method thereof

Also Published As

Publication number Publication date
WO2018070598A1 (en) 2018-04-19
KR20180041386A (en) 2018-04-24
DE112016007340T5 (en) 2019-06-19

Similar Documents

Publication Publication Date Title
US11748095B2 (en) Automation of task identification in a software lifecycle
US9424426B2 (en) Detection of malicious code insertion in trusted environments
Martinez-Moyano et al. A behavioral theory of insider-threat risks: A system dynamics approach
Fontana et al. Impact of refactoring on quality code evaluation
US20180373880A1 (en) Machine Learning Statistical Methods Estimating Software System's Security Analysis Assessment or Audit Effort, Cost and Processing Decisions
Bugeja et al. IoTSM: an end-to-end security model for IoT ecosystems
KR101640479B1 (en) Software vulnerability attack behavior analysis system based on the source code
KR101860642B1 (en) Apparatus and method for watching illegality using source code modification effect assessment
CN116842531B (en) Code vaccine-based vulnerability real-time verification method, device, equipment and medium
CN113761519A (en) Detection method and device for Web application program and storage medium
Zanutto et al. The Shadow Warriors: In the no man’s land between industrial control systems and enterprise IT systems
Guaman et al. A systematic mapping study on software quality control techniques for assessing privacy in information systems
CN110955897A (en) Software research and development safety control visualization method and system based on big data
Fenz et al. FORISK: Formalizing information security risk and compliance management
KR101464736B1 (en) Security Assurance Management System and Web Page Monitoring Method
JP7235126B2 (en) BACKDOOR INSPECTION DEVICE, BACKDOOR INSPECTION METHOD, AND PROGRAM
Ganz et al. Detecting Backdoors in Collaboration Graphs of Software Repositories
CN111666216B (en) Intelligent contract analysis method and device
Zulkernine et al. Software security engineering: toward unifying software engineering and security engineering
Halepmollasi A composed technical debt identification methodology to predict software vulnerabilities
Liu Quantitative security analysis for service-oriented software architectures
CN111131248B (en) Website application security defect detection model modeling method and defect detection method
US20230394159A1 (en) A method and system for security risk identification and controlling release management of software application with vulnerable codes
Yin et al. On estimating the security risks of composite software services
Zhou et al. A Coloured Petri Nets Based Attack Tolerance Framework

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant