KR102566618B1 - 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법 - Google Patents

리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법 Download PDF

Info

Publication number
KR102566618B1
KR102566618B1 KR1020220170121A KR20220170121A KR102566618B1 KR 102566618 B1 KR102566618 B1 KR 102566618B1 KR 1020220170121 A KR1020220170121 A KR 1020220170121A KR 20220170121 A KR20220170121 A KR 20220170121A KR 102566618 B1 KR102566618 B1 KR 102566618B1
Authority
KR
South Korea
Prior art keywords
information
file
crash dump
binary
unit
Prior art date
Application number
KR1020220170121A
Other languages
English (en)
Inventor
조호묵
이정호
지수근
이종협
오동엽
Original Assignee
주식회사 파이랩테크놀로지
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이랩테크놀로지, 한국과학기술원 filed Critical 주식회사 파이랩테크놀로지
Priority to KR1020220170121A priority Critical patent/KR102566618B1/ko
Application granted granted Critical
Publication of KR102566618B1 publication Critical patent/KR102566618B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법이 제공된다. 상기 시스템은 시스템의 오류 발생에 따라 OS(Operating System)에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성하는 바이너리 정보 수집부 및 상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS의 취약점 식별을 위한 정보를 데이터베이스로 생성하는 덤프 정보 수집부를 포함한다.

Description

리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법{INFORMATION COLLECTION SYSTEM FOR LINUX VULNERABILITY IDENTIFICATION AND OPERATING METHOD OF THE SAME}
본 발명은 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법에 관한 것으로, 시스템의 오류 발생 시 리눅스 OS(Operating System)에 의하여 자동적으로 생성되는 크래시 덤프(crash dump) 파일에 시스템 오류와 관련되어 포함된 정보를 정형화시킴으로써 리눅스의 취약점 정보 분석에 이용할 수 있도록 하는 시스템 및 그 시스템의 동작 방법에 관한 것이다.
리눅스 OS는 웹서버, 메일서버, 데이터베이스 서버 등 다양한 서버에 활용되어 서버 운영체제 시장에서 높은 점유율을 보이고 있다. 중요한 IT 서비스 및 응용 프로그램을 운영하는 리눅스 OS의 오류 및 버그로 장애가 발생하면 막대한 금전적 손해로 이어질 수 있는 바 높은 시스템의 안정성 및 신뢰성 확보가 요구된다.
리눅스 OS를 비롯한 운영체제들은 시스템 기동 중 오류가 발생한 경우 원인 파악을 위한 객관적인 정보를 제공하기 위해 크래시 덤프 파일을 생성한다. 이러한 크래시 덤프 파일은 크래시가 발생한 시각의 메모리 상태 등이 기록되어 시스템의 오류 및 버그 등을 분석하기 위한 파악 도구로 사용될 수 있다.
본 발명이 해결하고자 하는 기술적 과제는, 시스템에서 발생한 오류로 인해 리눅스 OS가 자동적으로 생성한 크래시 덤프 파일을 수집하고, 수집된 크래시 덤프로부터 필요한 정보를 추출하여 정형화된 데이터베이스를 구축함으로써 리눅스 OS의 취약점 분석에 이용될 수 있는 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템은, 시스템의 오류 발생에 따라 OS(Operating System)에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성하는 바이너리 정보 수집부, 및 상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS의 취약점 식별을 위한 정보를 데이터베이스로 생성하는 덤프 정보 수집부를 포함한다.
본 발명의 몇몇 실시예에서, 상기 바이너리 정보 수집부는, 상기 OS로부터 생성된 크래시 덤프 파일을 수집하는 크래시 덤프 생성부; 상기 크래시 덤프 생성부에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 제1 파일 탐색부; 상기 파일 탐색부에 의해 실행되어 상기 크래시 덤프 파일에 포함된 바이너리 정보를 생성하는 바이너리 분석부; 상기 바이너리 정보와 크래시 덤프 파일을 상기 덤프 정보 수집부에 전송하는 파일 송신부; 및 상기 생성된 바이너리 정보를 정형화하는 제1 전처리부를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 바이너리 분석부는 프로그램의 기본 정보, 파일 타입, 관련 라이브러리, 바이너리 파일 내 문자열, 해시값 및 컴파일러 중 적어도 하나 이상을 분석할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제1 전처리부는 상기 바이너리 및 라이브러리의 저장 위치, 바이너리 이름, 해시값 중 적어도 하나 이상을 정형화할 수 있다.
본 발명의 몇몇 실시예에서, 상기 덤프 정보 수집부는, 상기 바이너리 정보와 크래시 덤프 파일을 수신하는 파일 수신부; 상기 파일 수신부에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 제2 파일 탐색부; 상기 크래시 덤프 파일을 분석하여 상기 OS의 취약점 식별을 위한 정보를 수집하는 크래시 덤프 분석부; 상기 수집된 OS 취약점 식별을 위한 정보를 정형화하는 제2 전처리부; 및 상기 제1 전처리부 및 제2 전처리부에 의해 정형화된 정보를 이용하여 데이터베이스를 구축하는 데이터베이스 생성부를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 크래시 덤프 분석부는 상기 크래시 덤프의 시그널 번호, 실행 시간, 레지스터 값, 프로그램 이름, 아규먼트(argument) 목록 및 사용자의 uid/pid 값 중 적어도 하나 이상을 수집할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 방법은, 시스템의 오류 발생에 따라 OS(Operating System)에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성하는 단계; 및 상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS의 취약점 식별을 위한 정보를 데이터베이스로 생성하는 단계를 포함한다.
또한 상술한 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 방법은 프로그램으로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템 및 방법을 통해 OS에 발생한 오류로 인해 생성된 크래시 덤프 파일을 이용하여 OS 취약점 식별을 위한 정보가 저장된 데이터베이스를 생성할 수 있다. 생성된 데이터베이스는 OS의 취약성을 정의할 수 있도록 다양한 형태의 익스플로잇(exploit) 데이터베이스를 포함한다. 이러한 데이터베이스를 이용하여 다양한 조건에서 발생하는 시스템의 오류 및 버그를 검증할 수 있으며, 발견되지 않은 OS의 취약점에 대한 발견 및 대응책의 수립에 도움이 될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템에 포함된 바이너리 정보 수집부의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템에 포함된 덤프 정보 수집부의 구성을 설명하기 위한 블록도이다.
도 4 내지 6은는 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 구성 요소가 다른 구성 요소와 "연결된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 구성 요소와 직접 연결 또는 커플링된 경우 또는 중간에 다른 구성 요소를 개재한 경우를 모두 포함한다. 반면, 하나의 구성 요소가 다른 구성 요소와 "직접 연결된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 구성 요소를 개재하지 않은 것을 나타낸다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 구성 요소들을 서술하기 위해서 사용되나, 이들 구성 요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성 요소를 다른 구성 요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성 요소는 본 발명의 기술적 사상 내에서 제2 구성 요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 실시예에서 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그러나 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소과, 함수들, 서브루틴들, 프로그램 코드의 세그먼트들, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
도 1은 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 리눅스 취약점 식별을 위한 정보 수집 시스템(10)은 OS 구동부(100), 바이너리 정보 수집부(200), 덤프 정보 수집부(300) 및 메모리(400) 및 저장부(500) 등을 포함할 수 있다.
본 발명의 시스템(10)은 운영체제(OS)가 설치되어 기동되고, OS 상에서 다양한 응용 프로그램이 실행되는 컴퓨팅 장치일 수 있으며, 예를 들어 개인용 컴퓨터(PC), 서버 컴퓨터, 워크 스테이션, 랩탑 컴퓨터 등의 다양한 컴퓨터 시스템을 포함할 수 있으나 상술한 장치에 제한되는 것은 아니다. 예를 들어 시스템(10)은 복수의 컴퓨팅 장치의 집합으로 구성될 수도 있다.
OS 구동부(100)는 저장부(500)에 저장된 OS 파일을 로딩하고, OS를 구동하여 시스템(10)의 기능을 제어할 수 있다. 또한 OS 구동부(100)는 OS 상에서 구동되는 각종 응용 프로그램, 애플리케이션 등을 실행할 수 있다.
본 명세서에서 시스템(10)은 주로 OS 구동부(100)를 통해 리눅스(Linux) OS를 구동하고, 리눅스 OS 상에서 생성된 크래시 덤프 파일을 분석하여 데이터베이스를 생성하는 것으로 설명되나 본 발명이 이에 제한되는 것은 아니다. OS 구동부(100)에서 구동하는 OS는 예를 들어 윈도우(Windows), UNIX, MacOS 등을 포함할 수 있으며, 바이너리 정보 수집부(200) 및 덤프 정보 수집부(300)는 해당 OS 상에서 구동될 수 있는 응용 프로그램의 형태로 컴파일되어 시스템(10) 상에서 실행될 수 있다.
OS 구동부(100)에 리눅스 OS를 구동하는 경우, 리눅스 OS는 Ubuntu, fedora, RedHat 등 다양한 배포판을 포함하는 것으로 이해될 수 있으며, 안드로이드 OS 등 임베디드 시스템 상에서 구동되는 리눅스 OS 또한 포함될 수 있다.
OS 구동부(100)는 OS를 구동하며 발생하는 시스템 오류에 대하여 크래시 덤프(crash dump) 파일을 생성할 수 있다. 크래시 덤프 파일은 시스템(10) 상에서 프로그램의 오류로 인한 비정상 종료, 커널 패닉(Kernel Panic) 등이 발생하였을 때 작업 중인 메모리(400) 상태를 기록하여 생성한 파일이다. 크래시 덤프 파일은 오류를 발생시킨 프로세스에 속하는 메모리(400)의 이미지 또는 해당 프로세스와 관련된 주소 공간에 대응하는 메모리(400)의 이미지 파일을 포함할 수 있으며, 시스템(10)의 프로세스 레지스터, 프로그램 카운터, 시스템 플래그 및 해당 오류가 발생한 원인을 결정하는데 필요한 기타 정보를 포함할 수 있다. 본 명세서에서 설명되는 크래시 덤프는 당업계에서 통상적으로 사용되는 코어 덤프, 메모리 덤프, 시스템 덤프 또는 ABEND 덤프 등을 포함하는 것으로 이해될 수 있다.
OS 구동부(100)는 생성된 크래시 덤프 파일을 저장부(500)에 저장할 수 있다. 저장부(500)는 시스템(10)에서 실행하는 OS 및 응용 프로그램에서 이용하는 임시 데이터를 저장하는 메모리(400)와 상대적인 개념의 저장소로, 시스템(10)에 설치되거나 유무선 네트워크로 연결된 HDD(Hard Disk Drive) 및 SSD(Solid State Drive) 장치를 포함할 수 있다.
OS 구동부(100)는 크래시 덤프 파일을 예를 들어 메모리 이미지 그 자체를 덤프한 Raw 파일, ELF(Executable and Linking Format) 파일, Windows Crash Dump에 의해 생성된 dmp 파일, LiME 등 OS 구동부(100)에 의해 실행되는 다양한 OS에서 규정한 덤프 파일 형식으로 생성하여 저장부(500)에 저장할 수 있다.
바이너리 정보 수집부(200)는 시스템의 오류 발생에 따라 OS에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성할 수 있다. 바이너리 정보 수집부(200)는 저장부(500)에 저장된 크래시 덤프 파일을 로딩하여 분석에 이용할 수 있도록 바이너리 정보를 수집한 후, 덤프 정보 수집부(300)로 바이너리 정보 및 크래시 덤프 파일을 송신할 수 있다.
바이너리 정보 수집부(200)의 세부적인 구성과 관련하여 도 2를 이용하여 설명한다.
도 2는 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템에 포함된 바이너리 정보 수집부의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 바이너리 정보 수집부(200)는 크래시 덤프 생성부(210), 제1 파일 탐색부(220), 바이너리 분석부(230), 파일 송신부(240) 및 제1 전처리부(250)를 포함할 수 있다.
크래시 덤프 생성부(210)는 OS 구동부(100)가 생성한 크래시 덤프 파일을 수집할 수 있다. 구체적으로, 크래시 덤프 생성부(210)는 OS 구동부(100)가 생성하여 저장부(500)에 저장한 크래시 덤프 파일을 수집할 수 있으며, 예를 들어 크래시 덤프 생성부(210)는 크래시 덤프 파일의 사본을 생성하여 저장부(500) 내 다른 영역 또는 메모리(400) 내의 시스템(10)에 할당된 영역에 저장할 수 있다.
제1 파일 탐색부(220)는 크래시 덤프 생성부(210)에 의해 트리거되어 크래시 덤프 파일의 분석을 위한 프로세스를 개시할 수 있다. 구체적으로, 제1 파일 탐색부(220)는 크래시 덤프 생성부(210)에 의한 크래시 덤프 파일 수집이 탐지되면 바이너리 분석부(230)의 프로세스를 실행할 수 있다.
제1 파일 탐색부(220)는 크래시 덤프 생성부(210)에 할당된 저장부(500) 또는 메모리(400) 내의 영역에 크래시 덤프 파일이 쓰여지는 것을 탐지할 수 있다. 제1 파일 탐색부(220)는 바이너리 분석부(230)를 실행할 수 있으며, 제1 파일 탐색부(220)와 바이너리 분석부(230)는 서로 다른 프로세스일 수 있으나 본 발명이 이에 제한되는 것은 아니다. 바이너리 분석부(230)는 파일 탐색부(220)와 동일한 프로세스 내의 서로 다른 객체 또는 인스턴스 등으로 구현될 수도 있다.
바이너리 분석부(230)는 크래시 덤프 파일에 포함된 바이너리에 대한 정보를 수집할 수 있다. 상술한 것과 같이 바이너리 분석부(230)는 파일 탐색부(220)에 의해 실행될 수 있으며, 시스템(10)의 오류를 발생시킨 바이너리(프로그램)에 대하여 분석할 수 있다. 바이너리 분석부(230)는 크래시 덤프 파일 및 해당 오류와 관련된 바이너리로부터 해당 바이너리의 기본 정보, 파일 타입, 관련된 라이브러리, 바이너리 파일 내 문자열, 바이너리의 해시값 및 컴파일러 등의 정보를 추출할 수 있다. 바이너리 분석부(230)로부터 분석된 파일 송신부(240) 및 제1 전처리부(250)로 제공될 수 있도록 저장부(500)에 저장되거나, 메모리(400)에 로딩될 수 있다.
바이너리 분석부(230)에 의해 바이너리 분석이 완료되면 파일 송신부(240)는 크래시 덤프 파일로부터 추출된 바이너리와 크래시 덤프 파일을 덤프 정보 수집부(300)로 전송할 수 있다. 즉, 바이너리 정보 수집부(200)에서 바이너리 정보 수집의 추출 및 정형화가 완료되면 덤프 정보 수집부(300)에 의해 OS 취약점 식별을 위한 정보 추출 등을 수행할 수 있도록 파일을 전달하는 것이다.
한편, 파일 송신부(240)가 크래시 덤프 파일과 바이너리를 전송하는 것은, 덤프 정보 수집부(300)로 데이터를 직접 전송하는 것을 포함할 수 있으나, 크래시 덤프 파일과 바이너리를 덤프 정보 수집부(300)가 접근할 수 있는 메모리(400) 또는 저장부(500)의 영역에 저장하고 저장된 주소를 전달하는 것을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 파일 송신부 (240)는 크래시 덤프 파일과 바이너리 분석부(230)에 의해 추출된 바이너리를 함께 압축하여 덤프 정보 수집부(300)로 전송할 수 있으나 이에 제한되는 것은 아니며, 파일 송신부 (240)는 크래시 덤프 파일과 바이너리를 개별적으로 덤프 정보 수집부(300)로 전송할 수 있다.
제1 전처리부(250)는 추출된 바이너리에서 OS 취약점 식별을 위한 정보를 정형화할 수 있다. 본 명세서에서 설명하는 정보의 '정형화'는 임의로 추출된 데이터에 대하여 미리 정해진 구조에 따라 구조화된 데이터(structured data)로 저장하는 것을 의미할 수 있으며, 예를 들어 관계형 데이터베이스(Relational DataBase Management System)에 저장될 수 있도록 행과 열의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 저장하는 것을 의미할 수 있다.
제1 전처리부(250)는 예를 들어 바이너리 및 라이브러리의 파일 저장 위치, 바이너리 이름, 바이너리 해시값(예를 들어 fileHash(sha256), sha1, md5 hash)에 따라 바이너리를 구분하고 정렬할 수 있다. 제1 전처리부(250)로부터 정형화된 바이너리 정보는 이후 데이터베이스(360)의 생성을 이해 데이터베이스 생성부(350)로 제공될 수 있다.
다시 도 1을 참조하면, 덤프 정보 수집부(300)는 바이너리 정보 및 크래시 덤프 파일을 이용하여 OS 취약점 식별을 위한 정보를 데이터베이스로 생성할 수 있다. 덤프 정보 수집부(300)의 구성 및 동작과 관련하여 도 3을 이용하여 더욱 자세하게 설명한다.
도 3은 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템에 포함된 덤프 정보 수집부의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 정보 수집 시스템에 포함된 덤프 정보 수집부(300)는 파일 수신부(310), 제2 파일 탐색부(320), 크래시 덤프 분석부(330), 제2 전처리부(340) 및 데이터베이스 생성부(350)를 포함할 수 있다.
파일 수신부(310)는 파일 송신부(240)가 전송한 크래시 덤프 파일 및 바이너리를 수신할 수 있다. 파일 수신부(310)가 상기 데이터를 수신하는 것은 예를 들어 파일 송신부(240)로부터 직접 수신하는 것을 포함할 수 있으나, 파일 송신부(240)가 상기 데이터를 메모리(400) 또는 저장부(500)에 저장하고 그 주소를 전달받는 것 또한 포함될 수 있다.
파일 수신부(310)가 수신한 크래시 덤프 파일 및 바이너리는 하나의 파일로 압축되어 있을 수 있다.
제2 파일 탐색부(320)는 파일 수신부(310)에 의해 크래시 덤프 파일 및 바이너리 정보가 수신되는 것을 탐지하는 것에 의해 트리거(trigger)되어 크래시 덤프 파일의 분석을 위한 프로세스로서 크래시 덤프 분석부(330)를 실행할 수 있다.
제2 파일 탐색부(320)는 크래시 덤프 분석부(330)를 실행할 수 있으며, 제2 파일 탐색부(320)와 크래시 덤프 분석부(330)는 서로 다른 프로세스일 수 있으나 본 발명이 이에 제한되는 것은 아니다. 제2 파일 탐색부(320)는 크래시 덤프 분석부(330)와 동일한 프로세스 내의 서로 다른 객체 또는 인스턴스 등으로 구현될 수도 있다.
크래시 덤프 분석부(330)는 파일 수신부(310)가 수신한 크래시 덤프 파일을 분석하여 OS 취약점 식별을 위한 정보를 수집할 수 있다. 이는 주로 크래시 덤프에 관한 정보로, 예를 들어 크래시 덤프의 시그널 번호, 실행된 시간, 레지스터에 저장된 값, 크래시 덤프가 발생한 프로그램 이름, 아규먼트 목록 및 크래시를 발생시킨 프로세스를 실행한 사용자의 UID(User ID) 및 프로세스의 PID(Process ID)를 포함할 수 있다.
필요에 따라, 크래시 덤프 분석부(330)는 파일 수신부(310)가 수신한 압축 파일의 압축을 해제하여 크래시 덤프 파일을 분석할 수 있다.
제2 전처리부(340)는 분석된 크래시 덤프 파일에서 OS 취약점 식별을 위한 정보를 정형화할 수 있다. 이는 앞서 제1 전처리부(250)와 마찬가지로 관계형 데이터베이스(RDBMS)에 저장될 수 있도록 행과 열의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 저장하는 것을 의미할 수 있다.
제2 전처리부(340)에 의해 정형화될 수 있는 데이터는 예를 들어 크래시 덤프의 매직 넘버(magic number), 클래스 타입(class type), OS 버전, 파일 타입 및 아키텍처 타입(architecture type), 크래시가 발생한 시스템의 OS, 발생 시간, 해당 프로세스를 실행한 사용자의 UID(User ID), GID(Group ID) 및 프로세스의 PID(Process ID)를 포함할 수 있다.
데이터베이스 생성부(350)는 제1 전처리부(250) 및 제2 전처리부(340)로부터 제공된 정보를 이용하여 데이터베이스(360)를 구축할 수 있다.
데이터베이스 생성부(350)는 제1 전처리부(250) 및 제2 전처리부(340)로부터 OS 취약점 식별을 위한 정보를 정형화된 형태로 수신할 수 있다. 제1 전처리부(250)는 바이너리 및 라이브러리의 파일 저장 위치, 바이너리 이름, 바이너리 해시값(예를 들어 fileHash(sha256), sha1, md5 hash)에 따라 바이너리를 구분하고 정렬한 데이터를 데이터베이스 생성부(350)로 제공할 수 있다. 제2 전처리부(340)는 크래시 덤프의 매직 넘버(magic number), 클래스 타입(class type), OS 버전, 파일 타입 및 아키텍처 타입(architecture type), 크래시가 발생한 시스템의 OS, 발생 시간, 해당 프로세스를 실행한 사용자의 UID(User ID), GID(Group ID) 및 프로세스의 PID(Process ID)에 따라 크래시 덤프 파일을 분류 및 정렬한 데이터를 데이터베이스 생성부(350)로 제공할 수 있다.
데이터베이스 생성부(350)는 제공된 자료에 기초하여 데이터베이스(360)를 생성할 수 있으며, 이에 따라 생성되어 OS 취약점 식별을 위한 정보를 포함하는 데이터베이스(360)는 이후 해당 OS의 취약점 분석을 위해 로딩될 수 있도록 메모리(400) 또는 저장부(500)에 저장될 수 있다.
정리하면, 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템(10)은 OS에 발생한 오류로 인해 OS 구동부(100)가 생성한 크래시 덤프 파일을 이용하여 OS 취약점 식별을 위한 정보가 저장된 데이터베이스(360)를 생성할 수 있다.
생성된 데이터베이스(360)는 OS의 취약성을 정의할 수 있도록 다양한 형태의 익스플로잇(exploit) 데이터베이스를 포함한다. 이러한 데이터베이스(360)를 이용하여 다양한 조건에서 발생하는 시스템의 오류 및 버그를 검증할 수 있으며, 발견되지 않은 OS의 취약점에 대한 발견 및 대응책의 수립에 도움이 될 수 있다.
도 4 내지 6은 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 본 발명의 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 방법은 수집된 크래시 덤프 파일의 바이너리 정보를 생성하는 단계(S100) 및 바이너리 정보 및 크래시 덤프 파일을 이용하여 OS 취약점 식별을 위한 정보를 데이터베이스로 생성하는 단계(S200)를 포함할 수 있다. 이는 상술한 것과 같이 시스템(10)에 포함된 바이너리 정보 수집부(200) 및 덤프 정보 수집부(300)에 의하여 각각 수행되는 것으로 이해될 수 있다.
도 5를 참조하면, 상기 바이너리 정보를 수집하는 단계(S100)는, 크래시 덤프 파일을 수집하는 단계(S110), 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 단계(S120), 바이너리 정보를 생성하는 단계(S130), 바이너리 정보와 크래시 덤프 파일을 데이터베이스 생성을 위해 전송하는 단계(S140) 및 생성된 바이너리 정보를 정형화하는 단계(S150)를 포함할 수 있다. 이는 바이너리 정보 수집부(200)에 포함된 각각의 구성 요소에 의해 수행되는 것으로 이해될 수 있다.
도 6을 참조하면, 바이너리 정보 및 크래시 덤프 파일을 이용하여 OS 취약점 식별을 위한 정보를 데이터베이스로 생성하는 단계(S200)는 바이너리 정보와 크래시 덤프 파일을 수신하는 단계(S210), 바이너리 정보 및 크래시 덤프 파일의 수신에 트리거되어 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 단계(S220), 크래시 덤프 파일로부터 OS취약점 식별을 위한 정보를 수집하는 단계(S230), 수집된 OS취약점 식별을 위한 정보를 정형화하는 단계(S240) 및 정형화된 정보를 이용하여 데이터베이스를 생성하는 단계(S250)를 포함할 수 있다. 이는 덤프 정보 수집부(3200)에 포함된 각각의 구성 요소에 의해 수행되는 것으로 이해될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템(20)은 OS 구동부(100)에 포함된 가상 머신 실행부(110)에서 가상 머신을 실행할 수 있다.
가상 머신 실행부(110)는 예를 들어, QEMU, Virtual Box, VMware, Hyper-V 등의 가상 머신 생성용 프로그램을 이용하여 가상 머신 동작 환경을 설정할 수 있으나 본 발명이 이에 제한되는 것은 아니다.
가상 머신 실행부(110)는 가상 머신 상에서 구동되는 OS 파일을 실행하여 OS를 구동하는 한편, 해당 OS 상에서 응용 프로그램을 실행시킬 수 있다. 가상 머신 실행부(110)에서 실행되는 OS 또는 응용 프로그램에서 오류가 발생한 경우, 크래시 덤프 파일을 생성할 수 있다.
가상 머신 실행부(110)에 의해서 생성된 크래시 덤프 파일은 가상 머신에할당된 메모리 가운데 해당 오류를 발생시킨 프로세스에 속하는 메모리(400) 공간의 이미지 또는 해당 프로세스와 관련된 주소 공간에 대응하는 메모리(400)의 이미지 파일을 포함할 수 있다.
가상 머신 실행부(110)에 의해서 생성된 크래시 덤프 파일은 시스템(20) 상에서 실행되는 가상 머신의 프로세스 레지스터, 프로그램 카운터, 시스템 플래그 및 해당 오류가 발생한 원인을 결정하는데 필요한 기타 정보를 포함할 수 있다.
바이너리 정보 수집부(200) 및 덤프 정보 수집부(300)는 가상 머신 실행부(110)에 의해 생성된 크래시 덤프 파일을 수집하고 분석함으로써 OS 취약점 식별을 위한 정보를 획득할 수 있다. 이하 앞선 실시예와 중복되는 내용에 대한 설명은 생략한다.
도 8은 본 발명의 또 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템을 설명하기 위한 블록도이다.
도 8을 참조하면, 본 발명의 또 다른 실시예에 따른 리눅스 취약점 식별을 위한 정보 수집 시스템(30)은 시스템(30)과 유무선 네트워크로 연결된 다른 시스템으로부터 생성된 크래시 덤프 파일을 수신할 수 있다.
바이너리 정보 수집부(200)는 시스템(30)이 수신한 크래시 덤프 파일, 즉 다른 시스템에 의해 생성된 크래시 덤프 파일로부터 바이너리 정보를 획득할 수 있다. 따라서 시스템(30)에서 분석하는 크래시 덤프 파일을 생성한 OS와, OS 구동부(100)가 실행하는 OS의 종류는 서로 다를 수 있다. 이하 앞선 실시예와 중복되는 내용에 대한 설명은 생략한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드디스크, ROM, RAM, CD-ROM, 하드 디스크, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10, 20, 30: 시스템 100: OS 구동부
110: 가상 머신 실행부 200: 바이너리 정보 수집부
210: 크래시 덤프 생성부 220: 제1 파일 탐색부
230: 파일 송신부 240: 파일 송신부
250: 제1 전처리부 300: 덤프 정보 수집부
310: 파일 수신부 320: 제2 파일 탐색부
330: 크래시 덤프 분석부 340: 제2 전처리부
350: 데이터베이스 생성부 360: 데이터베이스

Claims (15)

  1. 시스템의 오류 발생에 따라 OS(Operating System)에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성하는 바이너리 정보 수집부; 및
    상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS의 취약점 식별을 위한 정보를 데이터베이스로 생성하는 덤프 정보 수집부를 포함하고,
    상기 바이너리 정보 수집부는,
    상기 OS로부터 생성된 크래시 덤프 파일을 수집하는 크래시 덤프 생성부;
    상기 크래시 덤프 생성부에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 제1 파일 탐색부;
    상기 파일 탐색부에 의해 실행되어 상기 크래시 덤프 파일에 포함된 바이너리 정보를 생성하는 바이너리 분석부;
    상기 바이너리 정보와 크래시 덤프 파일을 상기 덤프 정보 수집부에 전송하는 파일 송신부; 및
    상기 생성된 바이너리 정보를 정형화하는 제1 전처리부를 포함하고,
    상기 제1 전처리부는 상기 바이너리 및 라이브러리의 저장 위치, 바이너리 이름, 해시값 중 적어도 하나 이상에 따라 상기 바이너리 정보를 구분 및 정렬하고,
    상기 덤프 정보 수집부는,
    상기 바이너리 정보와 크래시 덤프 파일을 수신하는 파일 수신부;
    상기 파일 수신부에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 제2 파일 탐색부;
    상기 크래시 덤프 파일을 분석하여 상기 OS의 취약점 식별을 위한 정보를 수집하는 크래시 덤프 분석부;
    상기 수집된 OS 취약점 식별을 위한 정보를 정형화하는 제2 전처리부; 및
    상기 제1 전처리부 및 제2 전처리부에 의해 정형화된 정보를 이용하여 데이터베이스를 구축하는 데이터베이스 생성부를 포함하고,
    상기 제2 전처리부는 상기 크래시 덤프 분석부가 수집한 정보로부터 크래시 덤프의 매직 넘버, 클래스 타입, OS 버전, 파일 타입, 아키텍처 타입, 발생 시간, uid/gid/pid 정보 및 시그널 번호 중 적어도 하나 이상에 따라 상기 크래시 덤프 파일을 분류 및 정렬하는,
    리눅스 취약점 식별을 위한 정보 수집 시스템.
  2. 삭제
  3. 제 1항에 있어서,
    상기 바이너리 분석부는 프로그램의 기본 정보, 파일 타입, 관련 라이브러리, 바이너리 파일 내 문자열, 해시값 및 컴파일러 중 적어도 하나 이상을 분석하는,
    리눅스 취약점 식별을 위한 정보 수집 시스템.
  4. 삭제
  5. 삭제
  6. 제 1항에 있어서,
    상기 크래시 덤프 분석부는 상기 크래시 덤프의 시그널 번호, 실행 시간, 레지스터 값, 프로그램 이름, 아규먼트(argument) 목록 및 사용자의 uid/pid 값 중 적어도 하나 이상을 수집하는,
    리눅스 취약점 식별을 위한 정보 수집 시스템.
  7. 삭제
  8. 시스템의 오류 발생에 따라 OS(Operating System)에 의해 생성되는 크래시 덤프 파일의 바이너리 정보를 생성하는 단계; 및
    상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS의 취약점 식별을 위한 정보를 데이터베이스로 생성하는 단계를 포함하고,
    상기 바이너리 정보를 생성하는 단계는,
    상기 OS로부터 생성된 크래시 덤프 파일을 수집하는 단계;
    상기 크래시 덤프의 수집에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 프로세스를 개시하는 단계;
    상기 크래시 덤프 파일에 포함된 바이너리 정보를 생성하는 단계;
    상기 바이너리 정보와 크래시 덤프 파일을 상기 데이터 베이스 생성을 위해 전송하는 단계; 및
    상기 생성된 바이너리 정보를 정형화하는 단계를 포함하고,
    상기 생성된 바이너리 정보를 정형화하는 단계는,
    상기 바이너리 및 라이브러리의 저장 위치, 바이너리 이름, 해시값 중 적어도 하나 이상에 따라 상기 바이너리 정보를 구분 및 정렬하고,
    상기 바이너리 정보 및 크래시 덤프 파일을 이용하여 상기 OS 취약점 식별을 위한 정보를 데이터베이스로 생성하는 단계는,
    상기 바이너리 정보와 크래시 덤프 파일을 수신하는 단계;
    상기 바이너리 정보 및 크래시 덤프 파일의 수신에 의해 트리거되어 상기 크래시 덤프 파일의 분석을 위한 단계;
    상기 크래시 덤프 파일을 분석하여 상기 OS 취약점 식별을 위한 정보를 수집하는 단계;
    상기 수집된 OS 취약점 식별을 위한 정보를 정형화하는 단계; 및
    상기 정형화된 바이너리 정보와 정형화된 OS 취약점 식별을 위한 정보를 이용하여 데이터베이스를 생성하는 단계를 포함하고,
    상기 수집된 OS 취약점 식별을 위한 정보를 정형화하는 단계는,
    상기 크래시 덤프 파일의 분석에 의해 수집된 정보로부터 크래시 덤프의 매직 넘버, 클래스 타입, OS 버전, 파일 타입, 아키텍처 타입, 발생 시간, uid/gid/pid 정보 및 시그널 번호 중 적어도 하나 이상에 따라 상기 크래시 덤프 파일을 분류 및 정렬하는 단계를 포함하는,
    리눅스 취약점 식별을 위한 정보 수집 방법.
  9. 삭제
  10. 제 8항에 있어서,
    상기 크래시 덤프 파일에 포함된 바이너리 정보를 생성하는 단계는,
    프로그램의 기본 정보, 파일 타입, 관련 라이브러리, 바이너리 파일 내 문자열, 해시값 및 컴파일러 중 적어도 하나 이상을 분석하여 상기 바이너리 정보를 생성하는 단계를 포함하는,
    리눅스 취약점 식별을 위한 정보 수집 방법.
  11. 삭제
  12. 삭제
  13. 제 8항에 있어서,
    상기 크래시 덤프 파일을 분석하여 상기 OS 취약점 식별을 위한 정보를 수집하는 단계는,
    상기 크래시 덤프의 시그널 번호, 실행 시간, 레지스터 값, 프로그램 이름, 아규먼트(argument) 목록 및 사용자의 uid/pid 값 중 적어도 하나 이상을 수집하는 단계를 포함하는,
    리눅스 취약점 식별을 위한 정보 수집 방법.
  14. 삭제
  15. 컴퓨터를 이용하여 제8항, 제10항 및 제13항의 방법 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 상기 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020220170121A 2022-12-07 2022-12-07 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법 KR102566618B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220170121A KR102566618B1 (ko) 2022-12-07 2022-12-07 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220170121A KR102566618B1 (ko) 2022-12-07 2022-12-07 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
KR102566618B1 true KR102566618B1 (ko) 2023-08-16

Family

ID=87848218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220170121A KR102566618B1 (ko) 2022-12-07 2022-12-07 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법

Country Status (1)

Country Link
KR (1) KR102566618B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070019881A (ko) * 2005-08-11 2007-02-15 엔에이치엔(주) 디버깅 정보를 제공하는 에러 관리 시스템 및 이를 이용한에러 관리 방법
KR20200082422A (ko) * 2018-12-28 2020-07-08 성균관대학교산학협력단 보안성을 고려한 경량 크래시 리포트 기반 디버깅 방법
KR20220067011A (ko) * 2020-11-17 2022-05-24 한국인터넷진흥원 바이너리 취약점 식별 코드 생성 방법, 그리고 이를 구현하기 위한 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070019881A (ko) * 2005-08-11 2007-02-15 엔에이치엔(주) 디버깅 정보를 제공하는 에러 관리 시스템 및 이를 이용한에러 관리 방법
KR20200082422A (ko) * 2018-12-28 2020-07-08 성균관대학교산학협력단 보안성을 고려한 경량 크래시 리포트 기반 디버깅 방법
KR20220067011A (ko) * 2020-11-17 2022-05-24 한국인터넷진흥원 바이너리 취약점 식별 코드 생성 방법, 그리고 이를 구현하기 위한 장치

Similar Documents

Publication Publication Date Title
Grieco et al. Toward large-scale vulnerability discovery using machine learning
Saha et al. Hector: Detecting resource-release omission faults in error-handling code for systems software
CN101295268B (zh) 面向软件系统的分区存储器转储方法和装置
Dean et al. Perfscope: Practical online server performance bug inference in production cloud computing infrastructures
Sethi et al. A novel machine learning based malware detection and classification framework
CN102930210B (zh) 恶意程序行为自动化分析、检测与分类系统及方法
US7877642B2 (en) Automatic software fault diagnosis by exploiting application signatures
US7337092B2 (en) Event-based automated diagnosis of known problems
CN101515320B (zh) 一种攻击时漏洞检测方法及其系统
US20130145350A1 (en) Efficient, large scale trace storage system
Haq et al. Malware lineage in the wild
CN101923617A (zh) 一种基于云的样本数据库动态维护方法
RU2427890C2 (ru) Система и способ сравнения файлов на основе шаблонов функциональности
Xu et al. Dynamic android malware classification using graph-based representations
CN112181833A (zh) 一种智能化模糊测试方法、装置及系统
CN109857520B (zh) 一种虚拟机自省中的语义重构改进方法及系统
US10452459B2 (en) Device driver telemetry
CN111723380A (zh) 一种检测组件漏洞的方法及装置
CN111694750A (zh) 一种软件测试环境的构建方法及装置
CN111597089B (zh) 一种Linux系统调用事件采集和缓存装置及方法
Dai et al. Dscope: Detecting real-world data corruption hang bugs in cloud server systems
Vadrevu et al. Maxs: Scaling malware execution with sequential multi-hypothesis testing
KR101860674B1 (ko) 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
Campos et al. Fault injection to generate failure data for failure prediction: A case study
KR102566618B1 (ko) 리눅스 취약점 식별을 위한 정보 수집 시스템 및 그 시스템의 동작 방법

Legal Events

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