KR20230056236A - 펌웨어 위변조 검출 장치 - Google Patents

펌웨어 위변조 검출 장치 Download PDF

Info

Publication number
KR20230056236A
KR20230056236A KR1020210140034A KR20210140034A KR20230056236A KR 20230056236 A KR20230056236 A KR 20230056236A KR 1020210140034 A KR1020210140034 A KR 1020210140034A KR 20210140034 A KR20210140034 A KR 20210140034A KR 20230056236 A KR20230056236 A KR 20230056236A
Authority
KR
South Korea
Prior art keywords
firmware
forgery
detection device
present
binary
Prior art date
Application number
KR1020210140034A
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 KR1020210140034A priority Critical patent/KR20230056236A/ko
Publication of KR20230056236A publication Critical patent/KR20230056236A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

펌웨어 위변조 검출 장치가 개시된다. 개시되는 일 실시예에 따른 펌웨어 위변조 검출 장치는, 대상 펌웨어를 추출하고, 추출한 대상 펌웨어와 기 저장된 펌웨어를 비교하여 위변조 여부를 확인하고, 위변조 된 경우 대상 펌웨어의 바이너리를 수정한다.

Description

펌웨어 위변조 검출 장치{APPARATUS FOR DETECTING FIRMWARE FORGERY}
본 발명의 실시예는 펌웨어 위변조를 검출하기 위한 장치와 관련된다.
펌웨어는 일반적으로 롬(ROM: Read Only Memory)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 펌웨어는 프로그램이라는 관점에서 볼 경우 소프트웨어와 동일하지만, 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용 소프트웨어와는 구분되고 있으며, 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 보는 것이 일반적이다.
통상적으로 다양한 기능을 수행하는 시스템, 특히 임베디드 시스템은 해당 기능을 수행하기 위한 펌웨어를 내장하는데, 펌웨어는 운영 체제(operating system)와 같은 대규모의 프로그램을 사용하기 보다는 소규모의 단일 프로그램을 탑재하기 위해 많이 사용된다. 이와 같이, 펌웨어는 소규모의 프로그램이기 때문에 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 업데이트 될 필요가 있다.
이러한 펌웨어의 빈번한 업데이트 과정에서 악성 코드를 펌웨어에 삽입하거나 펌웨어를 위변조하는 보안 위협이 가해질 수 있는 바, 펌웨어의 위변조를 탐지할 수 있는 방안이 요구된다.
한국등록특허공보 제10-2020793호(2019.11.04)
본 발명의 실시예는 펌웨어의 위변조를 탐지할 수 있는 펌웨어 위변조 검출 장치가 개시된다.
개시되는 일 실시예에 따른 펌웨어 위변조 검출 장치는, 대상 펌웨어를 추출하고, 추출한 대상 펌웨어와 기 저장된 펌웨어를 비교하여 위변조 여부를 확인하고, 위변조 된 경우 대상 펌웨어의 바이너리를 수정한다.
개시되는 실시예에 의하면, 펌웨어에서 위변조 여부를 확인하여 펌웨어의 바이너를 수정할 수 있다.
도 1은 본 발명의 일 실시예에서 펌웨어 위변조 검출 과정을 개략적으로 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 펌웨어 위변조 검출 장치의 구성을 나타낸 블록도
도 3 및 도 4는 본 발명의 일 실시예에 따른 펌웨어 위변조 검출 장치에서 펌웨어를 섹션 별로 분류하고 언팩하는 과정을 나타낸 도면
도 5는 본 발명의 일 실시예에서 펌웨어의 특정 부분을 수정하고, 수정된 바이너리를 재조합하는 상태를 나타낸 도면
도 6은 본 발명의 일 실시예에서 펌 웨어간 바이너리 데이터를 비교하는 상태를 나타낸 도면
도 7은 본 발명의 일 실시예에서 펌웨어의 비교 과정을 나타낸 순서도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에서 펌웨어 위변조 검출 과정을 개략적으로 나타낸 도면이다. 도 1을 참조하면, 펌웨어 분석과정, 펌웨어 변조 확인 과정, 및 바이너리 수정 과정을 포함한다.
도 2는 본 발명의 일 실시예에 따른 펌웨어 위변조 검출 장치의 구성을 나타낸 블록도이다. 펌웨어 위변조 검출 장치는 데이터 뷰어 모듈은 Hex Editor를 포함하며, Main Window에서 바이너리 분석 및 수정을 수행하고, Compare Window에서 위변조 여부를 확인할 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 펌웨어 위변조 검출 장치에서 펌웨어를 섹션 별로 분류하고 언팩하는 과정을 나타낸 도면이다. 대상 펌웨어 파일(.bin)을 선택한 후 섹션(section) 별로 분류하고 언팩을 수행할 수 있다.
도 5는 본 발명의 일 실시예에서 펌웨어의 특정 부분을 수정하고, 수정된 바이너리를 재조합하는 상태를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에서 펌 웨어간 바이너리 데이터를 비교하는 상태를 나타낸 도면이다. 여기서, 대상 펌웨어와 기 저장된 펌웨어를 비교하여 대상 펌웨어가 위변조 되었는지 여부를 확인할 수 있다.
도 7은 본 발명의 일 실시예에서 펌웨어의 비교 과정을 나타낸 순서도이다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 펌웨어 위변조 검출 장치일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
100 : 펌웨어 위변조 검출 장치

Claims (1)

  1. 펌웨어 분석과정, 펌웨어 변조 확인 과정, 및 바이너리 수정 과정을 수행하는 펌웨어 위변조 검출 장치로서,
    상기 펌웨어 위변조 검출 장치의 데이터 뷰어 모듈은 Hex Editor를 포함하며, Main Window에서 바이너리 분석 및 수정을 수행하고, Compare Window에서 위변조 여부를 확인하고,
    대상 펌웨어 파일을 선택한 후 섹션 별로 분류하고 언팩을 수행하며,
    대상 펌웨어와 기 저장된 펌웨어를 비교하여 위변조 여부를 확인하고, 위변조 된 경우 대상 펌웨어의 바이너리를 수정하는, 펌웨어 위변조 검출 장치.
KR1020210140034A 2021-10-20 2021-10-20 펌웨어 위변조 검출 장치 KR20230056236A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210140034A KR20230056236A (ko) 2021-10-20 2021-10-20 펌웨어 위변조 검출 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140034A KR20230056236A (ko) 2021-10-20 2021-10-20 펌웨어 위변조 검출 장치

Publications (1)

Publication Number Publication Date
KR20230056236A true KR20230056236A (ko) 2023-04-27

Family

ID=86099806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140034A KR20230056236A (ko) 2021-10-20 2021-10-20 펌웨어 위변조 검출 장치

Country Status (1)

Country Link
KR (1) KR20230056236A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020793B1 (ko) 2017-11-28 2019-11-04 (주)유엠로직스 평판분석기반 펌웨어 위변조 탐지시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020793B1 (ko) 2017-11-28 2019-11-04 (주)유엠로직스 평판분석기반 펌웨어 위변조 탐지시스템 및 그 방법

Similar Documents

Publication Publication Date Title
US11188650B2 (en) Detection of malware using feature hashing
US10735374B2 (en) Method, apparatus, and system for detecting terminal security status
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
CN102542201B (zh) 一种网页中恶意代码的检测方法及系统
US10489591B2 (en) Detection system and method thereof
US9135030B2 (en) Method, an apparatus and a computer program product for extending an application in a client device
US20140090054A1 (en) System and Method for Detecting Anomalies in Electronic Documents
US20150154398A1 (en) Optimizing virus scanning of files using file fingerprints
US9384364B1 (en) System and method of controlling access of a native image of a machine code to operating system resources
KR101963756B1 (ko) 소프트웨어 취약점 예측 모델 학습 장치 및 방법, 소프트웨어 취약점 분석 장치 및 방법
WO2016135729A1 (en) A method to identify known compilers functions, libraries and objects inside files and data items containing an executable code
US8001595B1 (en) System, method and computer program product for identifying functions in computer code that control a behavior thereof when executed
US8060747B1 (en) Digital signatures for embedded code
KR101765211B1 (ko) 랜섬웨어 예방 시스템 및 방법
US10623426B1 (en) Building a ground truth dataset for a machine learning-based security application
US8484232B2 (en) Method, computer arrangement, computer program and computer program product for checking for the presence of control statements in a data value
JP5441043B2 (ja) プログラム、情報処理装置、及び情報処理方法
US9367686B1 (en) System and method for antivirus checking of native images of software assemblies
KR102308477B1 (ko) 악성 코드의 악성 행위 특징 정보를 생성하는 방법
CN102982279A (zh) 计算机辅助设计病毒感染防止系统和方法
KR101345867B1 (ko) 클라우드 스토리지를 위한 악성파일 탐지 시스템 및 그 탐지 방법
US20120023480A1 (en) Scripting language processing engine in data leak prevention application
US20180213000A1 (en) Safe data access through any data channel
CN104580200A (zh) 一种网站防护方法与装置
US11170103B2 (en) Method of detecting malicious files resisting analysis in an isolated environment