KR102392394B1 - 함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 - Google Patents
함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 Download PDFInfo
- Publication number
- KR102392394B1 KR102392394B1 KR1020200148944A KR20200148944A KR102392394B1 KR 102392394 B1 KR102392394 B1 KR 102392394B1 KR 1020200148944 A KR1020200148944 A KR 1020200148944A KR 20200148944 A KR20200148944 A KR 20200148944A KR 102392394 B1 KR102392394 B1 KR 102392394B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- security
- function
- vulnerability
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012038 vulnerability analysis Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006870 function Effects 0.000 claims abstract description 140
- 238000004458 analytical method Methods 0.000 claims abstract description 105
- 238000001514 detection method Methods 0.000 claims description 11
- 239000004744 fabric Substances 0.000 claims description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 15
- 230000003068 static effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 3
- 238000005206 flow analysis Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000609666 Tuber aestivum Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3624—Debugging of software by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
Description
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 전자 장치의 입력코드 처리기가 입력 코드에 따라 상이하게 구현되는 실시예를 설명하기 위한 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 중간언어 변환기를 설명하기 위한 블록도이다.
도 4는 본 개시의 예시적 실시예에 따른 보안약점 분석기를 설명하기 위한 블록도이다.
도 5는 본 개시의 예시적 실시예에 따른 보안 취약점 분석 방법을 설명하기 위한 흐름도이다.
도 6은 본 개시의 예시적 실시예에 따른 중간언어 코드 상의 보안 취약점 분석 결과를 설명하기 위한 코드이다.
도 7은 본 개시의 예시적 실시예에 따른 중간언어 코드 및 함수 요약 정보를 설명하기 위한 코드이다.
도 8은 본 개시의 예시적 실시예에 따른 가상 기계를 설명하기 위한 블록도이다.
Claims (15)
- 바이너리 레벨에서 함수 단위로 분할된 중간언어 코드를 입력받는 단계;
분석 대상을 특정하는 단계;
특정한 분석 대상에 대해 보안 취약점 분석을 수행하여 상기 분석 대상의 위치를 표시하고, 취약점 식별 정보를 생성하는 단계;
표시된 상기 분석 대상의 보안 취약점 탐지 여부에 관한 상기 취약점 식별 정보를 기입하여 함수 요약 정보를 생성하는 단계; 및
상기 함수 요약 정보 및 중간언어 코드를 가상 기계로 출력하는 단계를 포함하고,
입력 받은 상기 중간언어 코드는, 소스 코드를 포함하는 입력 코드로부터 변환된 코드이고,
상기 입력 코드는, 탈중앙화 분산형 어플리케이션(Decentralized Application)의 실행 코드이고, 이더리움 솔리디티(Ethereum Solidity) 및 하이퍼레저 패브릭(Hyperledger Fabric) 중 적어도 하나의 언어로 구현된 것을 특징으로 하는 보안 취약점 분석 방법. - 제1항에 있어서,
보안 약점 리스트를 수신하는 단계를 더 포함하며,
상기 함수 요약 정보를 생성하는 단계는,
상기 분석 대상으로부터 상기 보안 약점 리스트에 대응되는 보안 약점에 관한 상기 취약점 식별 정보를 기입하는 것을 특징으로 하는 보안 취약점 분석 방법. - 제2항에 있어서,
상기 취약점 식별 정보를 생성하는 단계는,
코드 라인 별 순차적으로 상기 보안 취약점 분석을 수행하며,
상기 보안 약점 리스트는,
스택 버퍼 오버플로우, 정수 오버플로우 및 금지 API 리스트 중 적어도 하나의 보안 취약점을 포함하는 것을 특징으로 하는 보안 취약점 분석 방법. - 제3항에 있어서,
상기 취약점 식별 정보는, 상기 스택 버퍼 오버플로우, 정수 오버플로우 및 금지 API 리스트 중 적어도 하나의 탐지 결과를 표시하는 것을 특징으로 하는 보안 취약점 분석 방법. - 제4항에 있어서,
상기 취약점 식별 정보는, 상기 적어도 하나의 탐지 결과에 따라 서로 다른 서식으로 표시되는 것을 특징으로 하는 보안 취약점 분석 방법. - 제1항에 있어서,
상기 함수 요약 정보는,
EAT(Export Address Table) 레벨에서 분석되는 함수 시작 주소, 함수 이름 및 외부 함수 호출 목록을 포함하는 것을 특징으로 하는 보안 취약점 분석 방법. - 제6항에 있어서,
상기 함수 요약 정보는,
타입 추론 레벨에서 분석되는 매개변수 수 및 매개변수 자료형을 포함하는 것을 특징으로 하는 보안 취약점 분석 방법. - 바이너리 레벨에서 함수 단위로 분할된 중간언어 코드를 입력받고, 분석 대상을 특정하며, 특정한 분석 대상에 대해 보안 취약점 분석을 수행하는 보안약점 분석기; 및
상기 분석 대상의 위치를 표시하고, 표시된 상기 분석 대상의 보안 취약점 탐지 여부에 관한 취약점 식별 정보를 기입하여 함수 요약 정보를 생성하며, 상기 함수 요약 정보 및 상기 중간언어 코드를 가상 기계로 출력하는 함수 요약정보 생성기를 포함하고,
입력 받은 상기 중간언어 코드는, 소스 코드를 포함하는 입력 코드로부터 변환된 코드이고,
상기 입력 코드는, 탈중앙화 분산형 어플리케이션(Decentralized Application)의 실행 코드이고, 이더리움 솔리디티(Ethereum Solidity) 및 하이퍼레저 패브릭(Hyperledger Fabric) 중 적어도 하나의 언어로 구현된 것을 특징으로 하는 전자 장치. - 제8항에 있어서,
상기 함수 요약정보 생성기는,
보안 약점 리스트를 수신하며, 상기 분석 대상으로부터 상기 보안 약점 리스트에 대응되는 보안 약점에 관한 상기 취약점 식별 정보를 기입하는 것을 특징으로 하는 전자 장치. - 제9항에 있어서,
상기 보안약점 분석기는,
코드 라인 별 순차적으로 상기 보안 취약점 분석을 수행하며,
상기 보안 약점 리스트는,
스택 버퍼 오버플로우, 정수 오버플로우 및 금지 API 리스트 중 적어도 하나의 보안 취약점을 포함하는 것을 특징으로 하는 전자 장치. - 제10항에 있어서,
상기 함수 요약정보 생성기는, 상기 스택 버퍼 오버플로우, 정수 오버플로우 및 금지 API 리스트 중 적어도 하나의 탐지 결과를 상기 취약점 식별 정보로써 표시하는 것을 특징으로 하는 전자 장치. - 제11항에 있어서,
상기 함수 요약정보 생성기는, 상기 적어도 하나의 탐지 결과에 따라 서로 다른 서식으로 상기 취약점 식별 정보를 표시하는 것을 특징으로 하는 전자 장치. - 제8항에 있어서,
상기 함수 요약 정보는,
EAT(Export Address Table) 레벨에서 분석되는 함수 시작 주소, 함수 이름 및 외부 함수 호출 목록을 포함하는 것을 특징으로 하는 전자 장치. - 제13항에 있어서,
상기 함수 요약 정보는,
타입 추론 레벨에서 분석되는 매개변수 수 및 매개변수 자료형을 포함하는 것을 특징으로 하는 전자 장치. - 보안 취약점 분석 방법을 실행하기 위한 비일시적 컴퓨터 판독가능 기록 매체에 있어서,
상기 보안 취약점 분석 방법은,
바이너리 레벨에서 함수 단위로 분할된 중간언어 코드를 입력받는 단계;
분석 대상을 특정하는 단계;
특정한 분석 대상에 대해 보안 취약점 분석을 수행하여 상기 분석 대상의 위치를 표시하고, 취약점 식별 정보를 생성하는 단계;
표시된 상기 분석 대상의 보안 취약점 탐지 여부에 관한 상기 취약점 식별 정보를 기입하여 함수 요약 정보를 생성하는 단계; 및
상기 함수 요약 정보 및 중간언어 코드를 가상 기계로 출력하는 단계를 포함하며,
입력 받은 상기 중간언어 코드는, 소스 코드를 포함하는 입력 코드로부터 변환된 코드이고,
상기 입력 코드는, 탈중앙화 분산형 어플리케이션(Decentralized Application)의 실행 코드이고, 이더리움 솔리디티(Ethereum Solidity) 및 하이퍼레저 패브릭(Hyperledger Fabric) 중 적어도 하나의 언어로 구현된 것을 특징으로 하는 비일시적 컴퓨터 판독가능 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200148944A KR102392394B1 (ko) | 2020-11-09 | 2020-11-09 | 함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200148944A KR102392394B1 (ko) | 2020-11-09 | 2020-11-09 | 함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102392394B1 true KR102392394B1 (ko) | 2022-05-02 |
Family
ID=81593379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200148944A Active KR102392394B1 (ko) | 2020-11-09 | 2020-11-09 | 함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102392394B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240030078A (ko) * | 2022-08-29 | 2024-03-07 | 주식회사 폭씨 | 블록체인 스마트 컨트랙트 취약점 위치 탐지 방법 및 장치 |
KR102801584B1 (ko) * | 2023-11-06 | 2025-04-25 | 한전케이디엔주식회사 | 오픈소스 라이브러리를 보호하기 위한 전자 장치 및 이의 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014225160A (ja) * | 2013-05-16 | 2014-12-04 | 日本電信電話株式会社 | 情報処理装置および情報処理方法 |
KR101568224B1 (ko) * | 2014-12-26 | 2015-11-11 | 고려대학교 산학협력단 | 소프트웨어 취약점 분석방법 및 분석장치 |
KR20190084468A (ko) * | 2018-01-08 | 2019-07-17 | 국방과학연구소 | 함수 정보 요약 장치 및 방법 |
-
2020
- 2020-11-09 KR KR1020200148944A patent/KR102392394B1/ko active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014225160A (ja) * | 2013-05-16 | 2014-12-04 | 日本電信電話株式会社 | 情報処理装置および情報処理方法 |
KR101568224B1 (ko) * | 2014-12-26 | 2015-11-11 | 고려대학교 산학협력단 | 소프트웨어 취약점 분석방법 및 분석장치 |
KR20190084468A (ko) * | 2018-01-08 | 2019-07-17 | 국방과학연구소 | 함수 정보 요약 장치 및 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240030078A (ko) * | 2022-08-29 | 2024-03-07 | 주식회사 폭씨 | 블록체인 스마트 컨트랙트 취약점 위치 탐지 방법 및 장치 |
KR102762065B1 (ko) * | 2022-08-29 | 2025-02-05 | 주식회사 폭씨 | 블록체인 스마트 컨트랙트 취약점 위치 탐지 방법 및 장치 |
KR102801584B1 (ko) * | 2023-11-06 | 2025-04-25 | 한전케이디엔주식회사 | 오픈소스 라이브러리를 보호하기 위한 전자 장치 및 이의 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983094B2 (en) | Software diagnostic context selection and use | |
US11157640B2 (en) | Protecting sensitive data in software products and in generating core dumps | |
Backes et al. | Artist: The android runtime instrumentation and security toolkit | |
US8850581B2 (en) | Identification of malware detection signature candidate code | |
Bichhawat et al. | Information flow control in WebKit’s JavaScript bytecode | |
WO2021101762A1 (en) | Software diagnosis using transparent decompilation | |
US8667298B2 (en) | Module signing for unprivileged users to create and load trustworthy kernel modules | |
US11030074B2 (en) | Code update based on detection of change in runtime code during debugging | |
US10078510B1 (en) | Late-stage software feature reduction tool for security and performance | |
US12153907B2 (en) | Method for operating second system application on first system, terminal device and storage medium | |
KR102392394B1 (ko) | 함수 요약 정보를 생성하는 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 | |
US9129137B2 (en) | Method, computer program and device for providing security for intermediate programming code for its execution by a virtual machine | |
KR102209151B1 (ko) | 바이너리 취약점 패치 방법 및 장치 | |
KR102367196B1 (ko) | 중간언어 기반 보안 취약점 분석 방법 및 이를 포함하는 전자 장치 | |
KR102341137B1 (ko) | 중간언어 기반 코드 변환 방법 및 이를 포함하는 전자 장치 | |
US11868465B2 (en) | Binary image stack cookie protection | |
US8843908B2 (en) | Compiler validation via program verification | |
US11886589B2 (en) | Process wrapping method for evading anti-analysis of native codes, recording medium and device for performing the method | |
KR102421394B1 (ko) | 하드웨어와 소프트웨어 기반 트레이싱을 이용한 악성코드 탐지 장치 및 방법 | |
CN115270115B (zh) | 一种边缘应用行为信息采集方法及系统 | |
US11403371B2 (en) | Device and method for bypassing analysis evasion technique, and recording medium for a program for performing the same | |
Reynolds | Modeling the java bytecode verifier | |
Matos | Precise Information Flow Control for JavaScript | |
KR20240066072A (ko) | 프로그램 정적 분석 방법 및 시스템 | |
CN112287335A (zh) | 基于fortify安全保护的检测方法、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20201109 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20211027 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220421 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220426 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220426 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |