KR102199054B1 - 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 - Google Patents

직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 Download PDF

Info

Publication number
KR102199054B1
KR102199054B1 KR1020170101667A KR20170101667A KR102199054B1 KR 102199054 B1 KR102199054 B1 KR 102199054B1 KR 1020170101667 A KR1020170101667 A KR 1020170101667A KR 20170101667 A KR20170101667 A KR 20170101667A KR 102199054 B1 KR102199054 B1 KR 102199054B1
Authority
KR
South Korea
Prior art keywords
vulnerability
check
serial port
database
cyber security
Prior art date
Application number
KR1020170101667A
Other languages
English (en)
Other versions
KR20190017208A (ko
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 KR1020170101667A priority Critical patent/KR102199054B1/ko
Priority to US16/041,974 priority patent/US10929541B2/en
Publication of KR20190017208A publication Critical patent/KR20190017208A/ko
Application granted granted Critical
Publication of KR102199054B1 publication Critical patent/KR102199054B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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/23Updating
    • 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/52Monitoring 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
    • G06F21/53Monitoring 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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예는, 취약점 점검 항목을 저장하는 취약점 데이터베이스; 점검 대상 장치와 직렬 통신 환경을 구성하고, 상기 취약점 데이터베이스의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성하는 통신부; 상기 취약점 데이터베이스에 저장된 취약점 점검 항목 중에서, 상기 점검 대상 장치에 대하여 사이버 보안 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정하고, 직렬 포트로 연결된 상기 점검 대상 장치에 대하여 상기 선정된 취약점 점검 항목을 확인하기 위한 스캐닝을 수행하는 취약점 스캐닝부; 상기 스캐닝에 따른 상기 점검 대상 장치의 응답을 분석하여 상기 점검 대상 장치에 상응하는 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 결정하는 응답 분석부; 및 상기 결정된 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 이용하여 상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 취약점 존재 판단부를 포함하는, 직렬 포트 기반 사이버 보안 취약점 점검 장치를 제공한다.

Description

직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 {APPARATUS FOR SERIAL PORT BASED CYBER SECURITY VULNERABILITY ASSESSMENT AND METHOD FOR THE SAME}
본 발명은 TCP/IP 기반의 일반 네트워크 환경으로는 취약점 점검이 불가능한 환경에서 운영되는 시스템에 대한 사이버 보안 취약점 점검 기술에 관련된 것이다.
현재 출시되어 사용되고 있는 취약점 점검도구들은 모두 네트워크 기반 취약점 점검 도구로 IP/TCP/UDP 등의 네트워크 프로토콜 상에서 동작한다. 즉, IP주소를 가지고 있는 시스템들을 대상으로 네트워크를 통해 원격지에서 취약점 점검을 수행하고 그 결과를 제시하고 있다.
그러나, 일반적인 네트워크 환경이 아닌 산업제어망, 스카다망, 전력망 등에는 IP 네트워크와는 다른 프르토콜을 이용하거나, 양방향 통신이 불가능하여 정보 수집이 어려운 형태로 운영되는 시스템들이 존재한다. 여기서 양방향 통신이 불가능하다는 것은 특정 시스템의 안전성 보장을 위해 단방향 게이트웨이 등을 적용함으로써 네트워크를 등급별로 구분하고 등급이 다른 시스템 간의 통신은 단방향만이 가능하도록 구현되는 것을 포함한다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라할 수는 없다.
국내 등록특허공보 제10-1744631호
본 발명의 목적은 일반적인 산업제어망 등에서 운용되는 점검 대상 장치 등에 기본적으로 제공되는 직렬 포트를 이용하여 점검 대상 장치의 취약점을 점검하는 장치 및 그 방법을 제공하는 것이다.
본 발명의 일 실시예는, 취약점 점검 항목을 저장하는 취약점 데이터베이스; 점검 대상 장치와 직렬 통신 환경을 구성하고, 상기 취약점 데이터베이스의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성하는 통신부; 상기 취약점 데이터베이스에 저장된 취약점 점검 항목 중에서, 상기 점검 대상 장치에 대하여 사이버 보안 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정하고, 직렬 포트로 연결된 상기 점검 대상 장치에 대하여 상기 선정된 취약점 점검 항목을 확인하기 위한 스캐닝을 수행하는 취약점 스캐닝부; 상기 스캐닝에 따른 상기 점검 대상 장치의 응답을 분석하여 상기 점검 대상 장치에 상응하는 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 결정하는 응답 분석부; 및 상기 결정된 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 이용하여 상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 취약점 존재 판단부를 포함하는, 직렬 포트 기반 사이버 보안 취약점 점검 장치를 제공한다.
이때, 상기 점검 대상 장치는 양방향 통신이 제한된 네트워크 환경에 구축되어 네트워크를 통하여 취약점을 점검할 수 없는 장치일 수 있다.
이때, 상기 선정된 취약점 점검 항목은 네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드 정보 및 네트워크 프로토콜 정보 중 하나 이상을 포함할 수 있다.
이때, 상기 선정된 취약점 점검 항목은 상기 취약점 데이터베이스에 저장된 모든 취약점 점검 항목 또는 추천 취약점 점검 항목 또는 사용자의 입력에 의한 선택 취약점 점검 항목 중에서 하나를 의미할 수 있다.
이때, 상기 응답 분석부는 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 상기 응답을 분석할 수 있다.
이때, 상기 직렬 포트 기반 사이버 보안 취약점 점검 장치는 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 갱신하고 관리하는 데이터베이스 관리부를 더 포함할 수 있다.
이때, 상기 데이터베이스 관리부는 외부 취약점 데이터베이스에 저장된 취약점 점검 항목과 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 비교하고, 상기 취약점 데이터베이스에 저장되지 않은 새로운 취약점 점검 항목을 상기 취약점 데이터베이스에 업데이트할 수 있다.
이때, 상기 직렬 포트 기반 사이버 보안 취약점 점검 장치는 취약점 점검에 따른 취약점 점검 결과 보고서를 생성하는 결과 보고서 생성부를 더 포함하고, 상기 취약점 데이터베이스는 상기 결과 보고서를 더 저장할 수 있다.
이때, 상기 취약점 스캐닝부는 상기 취약점 데이터베이스에서 상기 선정된 취약점 점검 항목을 읽어와 임시 저장하고 있는 메모리로부터 상기 선정된 취약점 점검 항목을 읽어올 수 있다.
이때, 상기 통신부는 상기 점검 대상 장치와의 직렬 통신을 위한 직렬 통신 파라미터를 설정하여 직렬 통신 환경을 구성하고, 상기 직렬 통신 파라미터는 상기 취약점 점검 장치의 취약점 점검에 사용될 수 있다.
본 발명의 다른 일 실시예는, 취약점 데이터베이스에 저장된 취약점 점검 항목 중에서, 점검 대상 장치에 대하여 사이버 보안 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정하는 단계; 점검 대상 장치와 직렬 통신 환경을 구성하는 단계; 상기 취약점 데이터베이스의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성하는 단계; 직렬 포트로 연결된 상기 점검 대상 장치에 대하여 상기 선정된 취약점 점검 항목을 확인하기 위한 스캐닝을 수행하는 단계; 상기 스캐닝에 따른 상기 점검 대상 장치의 응답을 분석하여 상기 점검 대상 장치에 상응하는 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 결정하는 단계; 및 상기 결정된 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 이용하여 상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 단계를 포함하는, 직렬 포트 기반 사이버 보안 취약점 점검 방법을 제공한다
이때, 상기 점검 대상 장치는 양방향 통신이 제한된 네트워크 환경에 구축되어 네트워크를 통하여 취약점을 점검할 수 없는 장치일 수 있다.
이때, 상기 선정된 취약점 점검 항목은 네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드 정보 및 네트워크 프로토콜 정보 중 하나 이상을 포함할 수 있다.
이때, 상기 선정된 취약점 점검 항목은 상기 취약점 데이터베이스에 저장된 모든 취약점 점검 항목 또는 추천 취약점 점검 항목 또는 사용자의 입력에 의한 선택 취약점 점검 항목 중에서 하나를 의미할 수 있다.
이때, 상기 결정하는 단계는 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 상기 응답을 분석할 수 있다.
이때, 상기 직렬 포트 기반 사이버 보안 취약점 점검 방법은 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 갱신하고 관리하는 단계를 더 포함할 수 있다.
이때, 상기 취약점 점검 항목을 갱신하고 관리하는 단계는 외부 취약점 데이터베이스에 저장된 취약점 점검 항목과 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 비교하고, 상기 취약점 데이터베이스에 저장되지 않은 새로운 취약점 점검 항목을 상기 취약점 데이터베이스에 업데이트할 수 있다.
이때, 상기 직렬 포트 기반 사이버 보안 취약점 점검 방법은 취약점 점검에 따른 취약점 점검 결과 보고서를 생성하는 단계; 및 상기 결과 보고서를 상기 취약점 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
이때, 상기 스캐닝을 수행하는 단계는 상기 취약점 데이터베이스에서 상기 선정된 취약점 점검 항목을 읽어와 임시 저장하고 있는 메모리로부터 상기 선정된 취약점 점검 항목을 읽어올 수 있다.
이때, 상기 직렬 통신 환경을 구성하는 단계는 상기 점검 대상 장치와의 직렬 통신을 위한 직렬 통신 파라미터를 설정하여 직렬 통신 환경을 구성하고, 상기 직렬 통신 파라미터는 상기 취약점 점검 장치의 취약점 점검에 사용될 수 있다.
본 발명에 따르면, 직렬 포트를 이용하여 취약점을 점검하는 장치 및 그 방법에 의해, 일반적인 네트워크 환경(TCP/IP 등)으로는 접속이 불가능한 환경에서 운영됨으로 인해 기존 취약점 점검도구로는 점검이 불가능한 산업제어시스템, SCADA 시스템, 전력망 시스템 등에 대해 사이버보안 취약점 점검이 가능하다.
도 1은 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치가 적용될 수 있는 시스템에 적용된 심층방호 개념을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치가 적용될 수 있는 시스템의 일 예를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 시스템의 구성을 나타낸 블록도이다.
도 4는 도 3에 도시된 직렬 포트 기반 사이버 보안 취약점 점검 장치의 일 예를 나타낸 블록도이다.
도 5 내지 8은 본 발명의 일 실시예에 따른 직렬 통신 내용을 모니터링한 결과를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법을 나타낸 동작 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성되어 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로한다.
도 1은 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치가 적용될 수 있는 시스템에 적용된 심층방호 개념을 나타낸 도면이다.
도 1을 참조하면, 원자력발전소는 심층방호 개념이 존재하며, 기설정된 보안 등급에 따라 다른 보안 등급 계층과의 양방향 통신 혹은 단방향 통신이 여부가 결정된다.
등급 4 계층(1a)은 등급 3 계층(1b)으로의 단방향 통신만 가능하고, 등급 3 계층(1b)은 등급 2 계층(1c)으로의 단방향 통신만 가능하고, 등급 2 계층(1c)은 등급 1 계층(1d)과 양방향 통신이 가능하며, 등급 1 계층(1d)은 등급 0 계층(1e)과 양방향 통신이 가능하다.
즉, 보안의 요청으로 각 보안 등급 계층마다 방향성 있는 통신 채널 혹은 라인을 이용하므로, 통상적인 네트워크 기반으로 취약점 점검은 곤란하다.
도 2는 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치가 적용될 수 있는 시스템의 일 예를 나타낸 도면이다.
만약 도 1과 같은 형태로 전체 네트워크 및 시스템들이 구성되고 운영되더라도, 기본적으로 시스템을 운영하는 운영자는 등급 4 계층(도 1의 1a 참조)에 존재하는 시스템을 제어할 필요가 있고, 그 제어의 결과를 확인할 필요가 있다. 따라서, 등급 4 계층(도 1의 1a 참조)와 같이 다른 보안 등급 계층과 단방향 통신만이 가능한 운영환경에서는 도 2에 도시된 형태로 구성될 수 있다.
도 2를 참조하면, 제어 시스템(2a)은 단방향 통신만을 지원하는 제어망 단방향 게이트웨이(2b)를 통하여 PLC 장치(2c: programmable logic controller)에 제어 명령을 전달하고, 모니터링 시스템(2e)는 단방향 통신만을 지원하는 감시망 단방향 게이트웨이(2d)를 통하여 제어 대상 장치(2c)의 상태 및 제어 결과 등을 확인할 수 있다.
도 2에 도시된 시스템은 매우 간단한 형태로 표현된 것으로, 실제로는 보다 안전한 망 운영을 위해 추가적인 보안 기능들이 구현되어 운영될 수 있다.
이러한 환경에서 제어 시스템(2a)에 속하는 서버 혹은 시스템이 임의의 방법으로 공격을 당하는 경우 공격의 성공여부는 알 수 없지만, PLC 장치와 제어망 단방향 게이트웨이에 특정 취약점이 존재한다면 PLC 장치에 대한 공격은 가능할 수 있다.
즉, 이와 같이 비록 단방향 네트워크 구성으로 안전성을 향상시키더라도 PLC 장치에 대한 공격 자체가 불가능한 것은 아니기 때문에 PLC 장치에 대한 취약점 점검은 지속적으로 수행되어야 한다. 도 2에 도시된 것과 같은 형태로 구성된 네트워크 상에서는 원격지에서 IP/TCP/UDP 프로토콜을 기반으로 동작하는 일반적인 취약점 점검 도구를 이용해서는 취약점 점검이 불가능하므로, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치를 이용하여 취약점을 점검하는 것이 효과적이다.
다만, 직렬 포트를 이용하여 취약점을 점검하게 되면 기존의 취약점 점검도구처럼 한 장소에서 연결 가능한 모든 시스템을 점검할 수 없고, 취약점 점검 도구가 실행되는 시스템이 점검 대상 시스템과 직렬 포트로 접속되어야 하기 때문에 1:1 방식의 취약점 점검이 수행될 수 밖에 없다. 그러나, 본 발명에서 제공하는 방식을 이용하지 않는다면, 관리자가 직접 점검 대상 시스템에 접속하여 제공되는 서비스와 사용중인 운영체제 버전을 확인하고 해당 버전들에 대한 취약점을 수동으로 검색 확인해야 하기 때문에 취약점 점검 자체에 매우 오랜 시간이 소요될 수 있다. 따라서, 오랜 시간이 소요되어 취약점 점검 자체가 불가능하게 되는 문제를 해결하는 본 발명은 의미가 있다고 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 시스템(3)의 구성을 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 시스템(3)에서 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)가 직렬 포트(350)를 통하여 점검 대상 장치(300)와 상호 연결되고, 취약점 점검 장치(100)가 외부 취약점 데이터베이스(200)와 상호 연결된다.
본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 직렬 포트(350)를 통하여 연결된 점검 대상 장치(300)에 대하여 취약점 점검을 수행할 취약점 점검 항목을 선정하고, 선정된 취약점 점검 항목에 대하여 점검 대상 장치(300)을 스캐닝하며, 스캐닝에 따른 응답을 수신하고 분석하여 점검 대상 장치(300)에 상응하는 운영체제, 응용 프로그램 및 프로토콜을 결정하고, 결정된 운영체제, 응용 프로그램 및 프로토콜에 따른 취약점 존재 여부를 판단하는 것을 특징으로 한다.
선택적 실시예에서, 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 외부 취약점 데이터베이스(200)에 저장된 취약점 점검 항목과 내부의 취약점 데이터베이스(도 4의 140 참조)에 저장된 취약점 점검 항목을 비교하여, 새로운 취약점 점검 항목이 존재하는 경우에는 내부의 취약점 데이터베이스(도 4의 140 참조)에 업데이트할 수 있다.
선택적 실시예에서, 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 취약점 점검을 위하여 점검 대상 장치(300)을 스캐닝할 때, 메모리(도 4의 130 참조)에 임시 저장된 선정된 취약점 점검 항목을 이용할 수 있다.
즉, 취약점 데이터베이스(도 4의 140 참조)로부터 직접 선정된 취약점 점검 항목을 읽어오는 대신에, 선정된 취약점 점검 항목을 메모리(도 4의 130 참조)에 임시적으로 저장 또는 로드(load)하도록 하여 더욱 빠른 속도로 취약점 점검 항목을 읽어도록 할 수 있다.
선택적 실시예에서, 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 취약점 점검에 따른 점검 결과를 생성하고, 생성 결과를 취약점 데이터베이스(도 4의 140 참조)에 저장할 수 있다.
선택적 실시예에서, 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 취약점 점검 결과에 따른 결과 보고서를 생성할 수 있고, 생성한 결과 보고서 또한 취약점 데이터베이스(도 4의 140 참조)에 저장할 수 있다.
이때, 생성된 결과 보고서는 추후 사용자 혹은 관리자에 제공될 수 있다.
외부 취약점 데이터베이스(200)는 외부 기관이나 보안 업체가 제공하는 다양한 ICS 및 SCADA 관련 취약점 데이터베이스를 의미하거나, 유료 혹은 무료로 제공되는 산업제어시스템에 대한 취약점 목록을 의미할 수 있다.
점검 대상 장치(300)는 취약점 점검을 위한 대상 장치 혹은 시스템을 의미한다.
특히, 점검 대상 장치(300)는 보안 유지의 요청에 의하여 양방향 통신이 제한된 환경이나 통상적인 네트워크 통신이 제한된 환경에 위치하는 장치 혹은 시스템을 의미할 수 있다.
직렬 포트(350, serial port)는 컴퓨터 환경에서 한 번에 하나의 비트 단위로 정보를 주고 받을 수 있는 직렬 통신의 물리 인터페이스를 의미한다.
도 4는 도 3에 도시된 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)의 일 예를 나타낸 블록도이다.
본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 직렬 포트(도 3의 350 참조)를 이용하여 점검 대상 장치(도 3의 300 참조)에 대한 취약점 점검을 수행하는 장치로, 직렬 포트를 통해 점검 대상 장치(도 3의 300 참조)의 정보를 수집하여 운영체제, 운영 응용 프로그램, 사용 네트워크 프로토콜 정보 등을 수집하고 해당 정보와 일치하는 취약점 정보를 사용자에게 제시하는 기능을 수행한다. 즉, 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 기존 네트워크 환경과는 다른 형태로 운영되는 시스템들에 대하여도 직렬 포트를 이용하여 취약점 점검을 수행할 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)는 제어부(110), 통신부(120), 메모리(130), 취약점 데이터베이스(140), 데이터베이스 관리부(150), 취약점 스캐닝부(160), 응답 분석부(170), 취약점 존재 판단부(180) 및 결과 보고서 생성부(190) 등을 포함한다.
상세히, 제어부(110)는 일종의 중앙처리장치로서 직렬 포트를 이용하여 점검 대상 장치에 대한 취약점 점검 과정의 전체 과정을 제어한다. 즉, 제어부(110)는 데이터베이스 관리부(150), 취약점 스캐닝부(160), 응답 분석부(170), 취약점 존재 판단부(180) 및 결과 보고서 생성부(190) 등을 제어하여 다양한 기능을 제공할 수 있다.
여기서, 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(120)는 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)와 외부 취약점 데이터베이스(도 3의 200 참조) 및 점검 대상 장치(도 3의 300 참조) 간의 송수신 신호를 전송하는데 필요한 통신 인터페이스를 제공한다.
여기서, 통신부(120)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
특히, 통신부(120)는 점검 대상 장치(도 3의 300 참조)와는 직렬 포트(도 3의 350 참조)를 통하여 제어 신호 또는 데이터 신호와 같은 신호를 송수신할 수 있다.
이때, 통신부(120)는 점검 대상 장치(도 3의 300 참조)와 정확한 직렬 통신 환경 구성을 이루어야 하는데, 환경 구성이 정확히 이루어지지 않으면 통신 자체가 불가능하기 때문이다.
이때, 통신부(120)는 이러한 통신 환경 자동 설정 기능을 포함할 수 있다.
이때, 통신 환경 설정에 사용되는 파라미터 값들은 취약점 점검에 활용될 수 있다.
또한, 통신부(120)는 취약점 데이터베이스(140)의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성할 수 있다.
또한, 통신부(120)는 원격 장치(미도시)가 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)를 모니터링 및 제어할 수 있도록 제어 신호 또는 데이터 신호와 같은 신호를 송수신할 수 있다.
메모리(130)는 제어부(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(130)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
이때, 메모리(130)는 취약점 스캐닝부(160)에서 이용할 선정된 취약점 점검 항목들을 취약점 데이터베이스(140)로부터 읽어와 임시적으로 저장하여, 취약점 점검 속도를 향상시킬 수 있다.
이때, 메모리(130)는 선정된 취약점 점검 항목들을 임시적으로 저장하여, 추후 취약점 존재 판단부(180)에서 수집된 정보를 이용하여 취약점의 존재 여부를 확인하는데 사용할 수 있도록 제공할 수 있다.
취약점 데이터베이스(140)는 다양한 취약점 점검 항목과 운영체제 정보, 응용 프로그램 정보, 프로토콜 정보, 그리고 취약점 점검 결과 등을 저장한다.
이때, 취약점 데이터베이스(140)는 취약점 점검 항목으로서 원자력발전소의 안전계통 운영 시스템에 대한 취약점 항목, 원자력발전소의 비안전계통 운영 시스템에 대한 취약점 항목, ICS(Industrial Control System, 산업제어시스템) 및 SCADA(Supervisory control and data acquisition) 장치에 대한 취약점 항목 등이 포함될 수 있다.
이때, 취약점 데이터베이스(140)는 각 취약점 항목에 자체적으로 발견한 취약점 점검 항목을 추가하여 저장할 수 있다.
이때, 취약점 데이터베이스(140)는 취약점 점검 결과를 저장할 수 있다.
이때, 취약점 데이터베이스(140)는 취약점 점검 결과에 따른 결과 보고서를 저장할 수 있다.
여기서, 각 취약점 점검 항목은 기존 취약점 점검 프로그램에서 사용하는 점검 항목과는 차별된 정보를 이용한다. 이에 대해서는 추후 세부적으로 명시한다.
데이터베이스 관리부(150)는 취약점 데이터베이스(140)에 저장되어 있는 취약점 점검 항목을 업데이트하고 관리한다.
이때, 데이터베이스 관리부(150)는 외부 취약점 데이터베이스(도 3의 200 참조)와 취약점 데이터베이스(140)가 보유하고 있는 취약점 항목을 비교하여 새로운 취약점이 존재하는 경우, 새로운 취약점 항목을 취약점 데이터베이스(140) 업데이트할 수 있다.
여기서, 외부 취약점 데이터베이스(도 3의 200 참조)는 외부 기관이나 보안 업체가 제공하는 다양한 ICS 및 SCADA 관련 취약점 데이터베이스를 의미하거나, 유료 혹은 무료로 제공되는 산업제어시스템에 대한 취약점 목록을 의미할 수 있다. 이러한 취약점 목록을 획득하여 기존에 보유하고 있던 취약점 데이터베이스(140)의 항목을 업데이트할 수 있다.
이때, 데이터베이스 관리부(150)는 외부 취약점 데이터베이스(도 3의 200 참조)와 통신부(120)를 통하여 데이터를 송수신할 수 있다.
이때, 데이터베이스 관리부(150)는 외부 취약점 데이터베이스(도 3의 200 참조)와 이더넷 인터페이스를 이용하여 데이터를 송수신할 수 있다.
이때, 데이터베이스 관리부(150)는 취약점 점검에 따라 직렬 포트 기반 사이버 보안 취약점 점검 장치(100)에서 자체적으로 발견한 취약점 점검 항목을 취약점 데이터베이스(140)에 추가적으로 저장하도록 할 수 있다.
이때, 데이터베이스 관리부(150)는 취약점 점검에 따른 점검 결과 또는 점검 결과 보고서를 취약점 데이터베이스(140)에 저장하도록 할 수 있다.
취약점 스캐닝부(160)는 직렬(시리얼) 포트(도 3의 350 참조) 인터페이스를 통하여 연결된 점검 대상 장치(도 3의 300 참조)에 대하여 선정된 취약점 점검 항목을 확인하기 위한 접근 시도를 수행한다.
이때, 취약점 스캐닝부(160)가 확인하기 위한 선정된 취약점 점검 항목은 취약점 데이터베이스(140)에 저장된 전체 취약점 점검 항목일 수도 있고, 기설정된 중요 취약점 점검 항목을 추천하여 제공하는 추천 취약점 점검 항목일 수도 있으며, 사용자의 입력에 의하여 직접 선택된 취약점 점검 항목일 수도 있다.
즉, 취약점 스캐닝부(160)가 스캐닝을 수행할 때, 임의의 모든 가능성에 대한 취약점 점검을 수행하는 것이 아니라, 선정된 취약점 점검 항목에 해당되는 사항과 관련된 운영체제, 응용 프로그램 및 네트워크 프로토콜에 대해서만 취약점 점검을 수행할 수 있도록 하기 때문에 취약점 점검이 최소화될 수 있다.
이때, 취약점 스캐닝부(160)는 취약점 데이터베이스(140)로부터 추출되어 메모리(130)에 임시 저장된 선정된 취약점 점검 항목을 이용하여 취약점을 스캐닝할 수 있다.
이때, 취약점 스캐닝부(160)는 선정된 취약점 점검 항목에 명시된 네트워크 프로토콜을 이용하여 점검 대상에 접근하며, 다양한 직렬 통신 프로토콜을 이용할 수 있다.
이때, 취약점 스캐닝부(160)는 선정된 취약점 점검 항목에 해당하는 운영체제와 응용 프로그램의 존재 여부를 확인할 수 있다.
이때, 취약점 스캐닝부(160)는 선정된 취약점 점검 항목이 전체 취약점 점검 항목인 경우에는 점검 대상 장치(도 3의 300 참조)의 운영체제, 네트워크 프로토콜 및 응용 프로그램을 확인하기 위해 임의 접근 방식을 시도할 수 있다.
여기서, 취약점 스캐닝부(160)에서 사용하는 취약점 점검 항목은 기존 취약점 점검 프로그램에서 사용하는 정보와는 차별된 정보를 이용한다. 왜냐하면, 본 발명은 기존의 네트워크 환경이 아닌 직렬 통신에 기반하여 취약점을 확인하기 때문이다.
이에, 취약점 스캐닝부(160)는 특정 운영체제나 응용 프로그램 및 네트워크 프로토콜을 확인하기 위하여, 네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드(데이터) 정보, 네트워크 프로토콜 정보 등을 사용할 수 있다.
여기서, 네트워크 접속 환경 정보에는 데이터 비트(Data bits), 동기화 비트(Synchronization bits(Start/Stop)), 패리티 비트(Parity bits), 보 레이트(Baud rate) 등이 포함될 수 있다.
그리고, 응답 지연시간은 점검 대상 장치에 따라 직렬 통신의 응답 지연시간이 서로 다르므로, 특정 운영체제 및 시스템을 정의하는데 활용할 수 있다.
그리고, 배너 정보는 직렬 통신으로 수집되는 읽기 가능한 데이터에 대한 정보로, 배너 정보에 포함된 특정 문자열은 특정 운영체제 및 응용 프로그램을 정의하는데 활용할 수 있다.
그리고, 페이로드 정보는 취약점 점검 도구의 응답 요청에 따른 점검 대상 장치의 응답 정보 페이로드 값으로, 특정 데이터를 이용하여 응답 요청했을 때의 점검 대상 장치의 응답이 도달되면 어떤 운영체제 및 응용 프로그램이 동작되는지 확인할 수 있다.
그리고, 네트워크 프로토콜 정보는 어떤 네트워크 프로토콜을 이용하는지 확인하는데 이용할 수 있으며, 모드버스(Modbus), 프로피버스(Profibus: Process Field Bus), CAN(Controller Area Network), CC-링크(CC-Link) 등이 포함될 수 있다.
상기 정보들은 단일 정보로는 운영체제나 응용 프로그램을 특정하지 못할 수 있으나, 상기 정보들을 통합 분석함으로써 해당 운영체제, 응용 프로그램 및 프로토콜을 찾고 이를 기반으로 취약점의 존재여부를 판단한다.
응답 분석부(170)는 취약점 스캐닝부(160)로부터 전달받은 점검 대상 장치(도 3의 300 참조)의 응답을 분석한다.
이때, 응답 분석부(170)는 점검 대상 장치(도 3의 300 참조)의 응답에 대하여 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 등을 이용하여 분석을 수행할 수 있다.
도 5 내지 8은 본 발명의 일 실시예에 따른 직렬 통신 내용을 모니터링한 결과를 나타낸 도면이다.
이때, 배너 정보 분석 기능은 수집된 점검 대상 장치(도 3의 300 참조)의 응답에 대해 사람이 읽을 수 있는 문자들을 추출하고, 추출된 문자열들을 분석하여 점검대상 시스템이 어떤 운영체제, 응용 프로그램 및 프로토콜을 이용하고 있는지에 대한 정보를 추정할 수 있다.
이때, 응답 지연시간 분석 기능은 취약점 스캐닝부(160)가 점검 대상 장치(도 3의 300 참조)로 특정 메시지를 전달했을 때 그 메시지에 대한 응답이 도착할 때까지 소요되는 시간을 수집하여, 다수 번의 응답에 대한 응답 지연시간을 수집 및 계산할 수 있다.
이때, 응답 페이로드 분석 기능은, 직렬 통신의 경우 운영되는 응용 프로그램 또는 펌웨어에 따라 접속 요청에 따른 응답이 상이하게 생성되므로, 접속 요청에 따른 응답을 분석하여 해당 응용 프로그램에 대한 정보를 유추할 수 있다.
취약점 존재 판단부(180)는 응답 분석부(170)에서 전달받은 정보를 이용하여 최종적으로 점검 대상 장치(도 3의 300 참조)의 운영체제, 응용 프로그램 및 프로토콜을 확정하고, 이를 바탕으로 취약점 점검 항목의 내용을 비교하여 취약점 존재 여부를 판단한다.
이때, 취약점 존재 판단부(180)는 판단된 취약점 목록을 취약점 데이터베이스(140)에 취약점 점검 결과로 저장할 수 있다.
결과 보고서 생성부(190)는 취약점 점검을 수행한 후, 취약점 점검 결과에 대하여 보고서 형태로 작성한다.
이때, 결과 보고서 생성부(190)에서 보고서 형태로 작성된 취약점 점검 결과는 사용자에게 제공될 수 있다.
이에 따라, 일반적인 네트워크 환경으로는 접속이 불가능한 환경에서 운영되는 시스템에 대하여도 직렬 포트를 이용하여 보안 취약점 점검을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법을 나타낸 동작 흐름도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 취약점 데이터베이스(도 4의 140 참조)를 업데이트한다(S901).
이때, 외부 취약점 데이터베이스(도 3의 200 참조)와 취약점 데이터베이스(도 4의 140 참조)가 보유하고 있는 취약점 항목을 비교하여 새로운 취약점이 존재하는 경우, 새로운 취약점 항목을 취약점 데이터베이스(도 4의 140 참조) 업데이트할 수 있다.
여기서, 외부 취약점 데이터베이스(도 3의 200 참조)는 외부 기관이나 보안 업체가 제공하는 다양한 ICS 및 SCADA 관련 취약점 데이터베이스를 의미하거나, 유료 혹은 무료로 제공되는 산업제어시스템에 대한 취약점 목록을 의미할 수 있다.
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 점검 대상 장치(도 3의 300 참조)에 대하여 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정한다(S903).
이때, 선정된 취약점 점검 항목은 취약점 데이터베이스(도 4의 140 참조)에 저장된 전체 취약점 점검 항목일 수도 있고, 기설정된 중요 취약점 점검 항목을 추천하여 제공하는 추천 취약점 점검 항목일 수도 있으며, 사용자의 입력에 의하여 직접 선택된 취약점 점검 항목일 수도 있다.
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 점검 대상 장치(도 3의 300 참조)와 직렬 통신을 위하여 통신 환경을 구성한다(S905).
이때, 통신 환경을 구성하기 위하여 통신 환경 자동 설정 기능을 이용할 수 있다.
이때, 통신 환경 설정에 사용되는 파라미터 값들은 취약점 점검에 활용될 수 있다.
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 직렬 포트(도 3의 350 참조) 인터페이스를 통하여 연결된 점검 대상 장치(도 3의 300 참조)에 대하여 선정된 취약점 점검 항목을 확인하기 위하여 스캐닝을 수행한다(S907).
이때, 선정된 취약점 점검 항목은 취약점 데이터베이스(도 4의 140 참조)에서 바로 읽어질 수 있다.
이때, 선정된 취약점 점검 항목은 취약점 데이터베이스(도 4의 140 참조)에서 메모리(도 4의 130 참조)로 임시 저장된 항목에서 읽어질 수 있다.
이때, 선정된 취약점 점검 항목에 명시된 네트워크 프로토콜을 이용하여 점검 대상에 접근하며, 다양한 직렬 통신 프로토콜을 이용할 수 있다.
이때, 선정된 취약점 점검 항목에 해당하는 운영체제와 응용 프로그램의 존재 여부를 확인할 수 있다.
이때, 선정된 취약점 점검 항목이 전체 취약점 점검 항목인 경우에는 점검 대상 장치(도 3의 300 참조)의 운영체제, 네트워크 프로토콜 및 응용 프로그램을 확인하기 위해 임의 접근 방식을 시도할 수 있다.
여기서, 취약점 점검 항목은 기존 취약점 점검 프로그램에서 사용하는 정보와는 차별된 정보를 이용한다. 왜냐하면, 본 발명은 기존의 네트워크 환경이 아닌 직렬 통신에 기반하여 취약점을 확인하기 때문이다.
이에, 특정 운영체제나 응용 프로그램 및 네트워크 프로토콜을 확인하기 위하여, 네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드(데이터) 정보, 네트워크 프로토콜 정보 등을 사용할 수 있다.
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 점검 대상 장치(도 3의 300 참조)로부터 스캐닝에 대한 응답을 수신한다(S909).
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 선정된 점검 대상 항목 전체에 대하여 스캐닝이 완료되었는지 여부를 판단한다(S911).
단계(S911)의 판단 결과, 모든 항목에 대하여 스캐닝이 완료되지 않은 경우에는, 단계(S905)로 돌아가 스캐닝이 완료되지 않은 항목에 대하여 점검 대상 장치(도 3의 300 참조)의 스캐닝을 수행한다.
단계(S911)의 판단 결과, 모든 항목에 대하여 스캐닝이 완료된 경우에는, 스캐닝에 따른 응답을 분석한다(S913).
이때, 점검 대상 장치(도 3의 300 참조)의 응답에 대하여 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 등을 이용하여 분석을 수행할 수 있다.
이때, 배너 정보 분석 기능은 수집된 점검 대상 장치(도 3의 300 참조)의 응답에 대해 사람이 읽을 수 있는 문자들을 추출하고, 추출된 문자열들을 분석하여 점검대상 시스템이 어떤 운영체제, 응용 프로그램 및 프로토콜을 이용하고 있는지에 대한 정보를 추정할 수 있다.
이때, 응답 지연시간 분석 기능은 점검 대상 장치(도 3의 300 참조)로 특정 메시지를 전달했을 때 그 메시지에 대한 응답이 도착할 때까지 소요되는 시간을 수집하여, 다수 번의 응답에 대한 응답 지연시간을 수집 및 계산할 수 있다.
이때, 응답 페이로드 분석 기능은, 직렬 통신의 경우 운영되는 응용 프로그램 또는 펌웨어에 따라 접속 요청에 따른 응답이 상이하게 생성되므로, 접속 요청에 따른 응답을 분석하여 해당 응용 프로그램에 대한 정보를 유추할 수 있다.
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 응답을 분석한 결과를 이용하여 점검 대상 장치(도 3의 300 참조) 에 상응하는 운영체제, 응용 프로그램, 프로토콜을 결정한다(S915).
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 결정된 운영체제, 응용 프로그램 및 프로토콜을 바탕으로 취약점 존재 여부를 판단한다(S917).
또한, 본 발명의 일 실시예에 따른 직렬 포트 기반 사이버 보안 취약점 점검 방법은 직렬 포트 기반 사이버 보안 취약점 점검 장치(도 3의 100 참조)가, 취약점 점검 결과를 기반으로 점검 결과 보고서를 작성한다(S919).
이때, 취약점 점검에 따른 취약점 점검 결과는 취약점 데이터베이스(도 4의 140 참조)에 저장될 수 있다.
이때, 작성된 점검 결과 보고서는 취약점 데이터베이스(도 4의 140 참조)에 저장될 수 있다.
이에 따라, 일반적인 네트워크 환경으로는 접속이 불가능한 환경에서 운영되는 시스템에 대하여도 직렬 포트를 이용하여 보안 취약점 점검을 수행할 수 있다.
선택적 실시예에서, 상기 단계들(S901, S903, S905, S909, S911, S913, S915, S917 및 S919)에 있어서, 취약점을 스캐닝하는 단계(S905)와 스캐닝에 따른 응답을 수신하는 단계(S909)는 병렬적으로 수행될 수 있다.
선택적 실시예에서, 상기 단계들(S901, S903, S905, S909, S911, S913, S915, S917 및 S919)에 있어서, 응답을 분석하는 단계(S913)와 운영체제, 응용 프로그램 및 프로토콜을 결정하는 단계(S915)는 병렬적으로 수행될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
3: 직렬 포트 기반 사이버 보안 취약점 점검 시스템
100: 직렬 포트 기반 사이버 보안 취약점 점검 장치
110: 제어부 120: 통신부
130: 메모리 140: 취약점 데이터베이스
150: 데이터베이스 관리부 160: 취약점 스캐닝부
170: 응답 분석부 180: 취약점 존재 판단부
190: 결과 보고서 생성부
200: 외부 취약점 데이터베이스
300: 점검 대상 장치

Claims (20)

  1. 취약점 점검 항목을 저장하는 취약점 데이터베이스;
    점검 대상 장치와 직렬 통신 환경을 구성하고, 상기 취약점 데이터베이스의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성하는 통신부;
    상기 취약점 데이터베이스에 저장된 취약점 점검 항목 중에서, 상기 점검 대상 장치에 대하여 사이버 보안 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정하고, 직렬 포트로 연결된 상기 점검 대상 장치에 대하여 상기 선정된 취약점 점검 항목을 확인하기 위한 스캐닝을 수행하는 취약점 스캐닝부;
    상기 스캐닝에 따른 상기 점검 대상 장치의 응답을 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 분석하여 상기 점검 대상 장치가 이용하는 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 유추하는 응답 분석부; 및
    상기 응답 분석부에서 전달받은 정보를 이용하여 상기 점검 대상 장치의 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 확정하고, 확정된 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 이용하여 상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 취약점 존재 판단부
    를 포함하는, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  2. 청구항 1에 있어서,
    상기 점검 대상 장치는
    양방향 통신이 제한된 네트워크 환경에 구축되어 네트워크를 통하여 취약점을 점검할 수 없는 장치인 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  3. 청구항 2에 있어서,
    상기 선정된 취약점 점검 항목은
    네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드 정보 및 네트워크 프로토콜 정보 중 하나 이상을 포함하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  4. 청구항 3에 있어서,
    상기 선정된 취약점 점검 항목은
    상기 취약점 데이터베이스에 저장된 모든 취약점 점검 항목 또는 추천 취약점 점검 항목 또는 사용자의 입력에 의한 선택 취약점 점검 항목 중에서 하나를 의미하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  5. 청구항 4에 있어서,
    상기 응답 분석부는
    응답에서 추출된 문자열을 분석하는 배너 정보 분석 기능, 다수번의 응답에 대한 응답 지연 시간을 수집하는 응답 지연시간 분석 기능 및 접속 요청에 따른 응답을 분석하는 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 상기 응답을 분석하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  6. 청구항 5에 있어서,
    상기 직렬 포트 기반 사이버 보안 취약점 점검 장치는
    상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 갱신하고 관리하는 데이터베이스 관리부
    를 더 포함하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  7. 청구항 6에 있어서,
    상기 데이터베이스 관리부는
    외부 취약점 데이터베이스에 저장된 취약점 점검 항목과 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 비교하고, 상기 취약점 데이터베이스에 저장되지 않은 새로운 취약점 점검 항목을 상기 취약점 데이터베이스에 업데이트하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  8. 청구항 7에 있어서,
    상기 직렬 포트 기반 사이버 보안 취약점 점검 장치는
    취약점 점검에 따른 취약점 점검 결과 보고서를 생성하는 결과 보고서 생성부
    를 더 포함하고,
    상기 취약점 데이터베이스는
    상기 결과 보고서를 더 저장하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  9. 청구항 8에 있어서,
    상기 취약점 스캐닝부는
    상기 취약점 데이터베이스에서 상기 선정된 취약점 점검 항목을 읽어와 임시 저장하고 있는 메모리로부터 상기 선정된 취약점 점검 항목을 읽어오는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  10. 청구항 9에 있어서,
    상기 통신부는
    상기 점검 대상 장치와의 직렬 통신을 위한 직렬 통신 파라미터를 설정하여 직렬 통신 환경을 구성하고,
    상기 직렬 통신 파라미터는
    상기 취약점 점검 장치의 취약점 점검에 사용되는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 장치.
  11. 취약점 데이터베이스에 저장된 취약점 점검 항목 중에서, 점검 대상 장치에 대하여 사이버 보안 취약점 점검을 수행하기 위한 취약점 점검 항목을 선정하는 단계;
    점검 대상 장치와 직렬 통신 환경을 구성하는 단계;
    상기 취약점 데이터베이스의 업데이트 및 시스템 관리를 위한 네트워크 환경을 구성하는 단계;
    직렬 포트로 연결된 상기 점검 대상 장치에 대하여 상기 선정된 취약점 점검 항목을 확인하기 위한 스캐닝을 수행하는 단계;
    상기 스캐닝에 따른 상기 점검 대상 장치의 응답을 배너 정보 분석 기능, 응답 지연시간 분석 기능 및 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 분석하여 상기 점검 대상 장치가 이용하는 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 유추하는 단계; 및
    상기 유추된 정보를 이용하여 상기 점검 대상 장치의 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 확정하고, 확정된 운영체제, 응용 프로그램 및 프로토콜 중 하나 이상을 이용하여 상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 단계
    를 포함하는, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  12. 청구항 11에 있어서,
    상기 점검 대상 장치는
    양방향 통신이 제한된 네트워크 환경에 구축되어 네트워크를 통하여 취약점을 점검할 수 없는 장치인 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  13. 청구항 12에 있어서,
    상기 선정된 취약점 점검 항목은
    네트워크 접속 환경 정보, 응답 지연시간, 배너 정보, 페이로드 정보 및 네트워크 프로토콜 정보 중 하나 이상을 포함하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  14. 청구항 13에 있어서,
    상기 선정된 취약점 점검 항목은
    상기 취약점 데이터베이스에 저장된 모든 취약점 점검 항목 또는 추천 취약점 점검 항목 또는 사용자의 입력에 의한 선택 취약점 점검 항목 중에서 하나를 의미하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  15. 청구항 14에 있어서,
    상기 유추하는 단계는
    응답에서 추출된 문자열을 분석하는 배너 정보 분석 기능, 다수번의 응답에 대한 응답 지연 시간을 수집하는 응답 지연시간 분석 기능 및 접속 요청에 따른 응답을 분석하는 응답 페이로드 분석 기능 중 하나 이상의 분석 기능을 이용하여 상기 응답을 분석하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  16. 청구항 15에 있어서,
    상기 직렬 포트 기반 사이버 보안 취약점 점검 방법은
    상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 갱신하고 관리하는 단계
    를 더 포함하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  17. 청구항 16에 있어서,
    상기 취약점 점검 항목을 갱신하고 관리하는 단계는
    외부 취약점 데이터베이스에 저장된 취약점 점검 항목과 상기 취약점 데이터베이스에 저장된 취약점 점검 항목을 비교하고, 상기 취약점 데이터베이스에 저장되지 않은 새로운 취약점 점검 항목을 상기 취약점 데이터베이스에 업데이트하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  18. 청구항 17에 있어서,
    상기 직렬 포트 기반 사이버 보안 취약점 점검 방법은
    취약점 점검에 따른 취약점 점검 결과 보고서를 생성하는 단계; 및
    상기 결과 보고서를 상기 취약점 데이터베이스에 저장하는 단계
    를 더 포함하는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  19. 청구항 18에 있어서,
    상기 스캐닝을 수행하는 단계는
    상기 취약점 데이터베이스에서 상기 선정된 취약점 점검 항목을 읽어와 임시 저장하고 있는 메모리로부터 상기 선정된 취약점 점검 항목을 읽어오는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
  20. 청구항 19에 있어서,
    상기 직렬 통신 환경을 구성하는 단계는
    상기 점검 대상 장치와의 직렬 통신을 위한 직렬 통신 파라미터를 설정하여 직렬 통신 환경을 구성하고,
    상기 직렬 통신 파라미터는
    상기 점검 대상 장치에 취약점이 존재하는지 여부를 판단하는 단계에서 사용되는 것인, 직렬 포트 기반 사이버 보안 취약점 점검 방법.
KR1020170101667A 2017-08-10 2017-08-10 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 KR102199054B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170101667A KR102199054B1 (ko) 2017-08-10 2017-08-10 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법
US16/041,974 US10929541B2 (en) 2017-08-10 2018-07-23 Apparatus and method for assessing cybersecurity vulnerabilities based on serial port

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170101667A KR102199054B1 (ko) 2017-08-10 2017-08-10 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190017208A KR20190017208A (ko) 2019-02-20
KR102199054B1 true KR102199054B1 (ko) 2021-01-07

Family

ID=65275117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170101667A KR102199054B1 (ko) 2017-08-10 2017-08-10 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법

Country Status (2)

Country Link
US (1) US10929541B2 (ko)
KR (1) KR102199054B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115431B2 (en) * 2018-10-05 2021-09-07 Rapid7, Inc. Identifying network vulnerabilities
US11038776B2 (en) 2019-05-07 2021-06-15 Electronics And Telecommunications Research Institute Method and system for providing service experience analysis based on network data analysis
US11381494B2 (en) 2019-05-07 2022-07-05 Electronics And Telecommunications Research Institute Method and system for providing communication analysis of user equipment based on network data analysis
CN112073355A (zh) * 2019-05-25 2020-12-11 福建雷盾信息安全有限公司 基于网络流量的脆弱性分析方法
CN110493254A (zh) * 2019-09-03 2019-11-22 国家计算机网络与信息安全管理中心 工业云安全评估方法及装置
US11582116B2 (en) 2020-01-07 2023-02-14 Electronics And Telecommunications Research Institute Method and apparatus for collecting network data
DE102020108070A1 (de) * 2020-03-24 2021-09-30 Basler Aktiengesellschaft Robuste Überwachung von Computersystemen und/oder Steuerungssystemen
CN111611592A (zh) * 2020-05-27 2020-09-01 中国信息安全测评中心 一种大数据平台安全评估方法及装置
KR102581422B1 (ko) * 2021-10-08 2023-09-20 엘에스일렉트릭(주) 직렬 통신 장치에 대한 취약성 테스트 방법 및 장치
CN115622754B (zh) * 2022-09-29 2024-05-14 四川启睿克科技有限公司 一种检测并防止mqtt漏洞的方法、系统和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210027B1 (ko) * 2011-08-26 2012-12-07 한국수력원자력 주식회사 원자력발전소 디지털계측제어계통의 사이버보안 관리 방법 및 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127359B2 (en) * 2003-04-11 2012-02-28 Samir Gurunath Kelekar Systems and methods for real-time network-based vulnerability assessment
US20150033353A1 (en) * 2003-07-01 2015-01-29 Securityprofiling, Llc Operating system anti-vulnerability system, method, and computer program product
US9118708B2 (en) * 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
US20150040233A1 (en) * 2003-07-01 2015-02-05 Securityprofiling, Llc Sdk-equipped anti-vulnerability system, method, and computer program product
US20150033348A1 (en) * 2003-07-01 2015-01-29 Securityprofiling, Llc System, method, and computer program product for providing multiple remediation techniques
US9100431B2 (en) * 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
WO2010045596A1 (en) * 2008-10-16 2010-04-22 Qualys, Inc. Systems and methods for assessing the compliance of a computer across a network
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9009837B2 (en) * 2010-07-01 2015-04-14 Onapsis S.R.L. Automated security assessment of business-critical systems and applications
KR101857289B1 (ko) * 2011-08-29 2018-05-16 한국전력공사 제어시스템 프로토콜의 취약성 분석 시스템 및 방법
US9021587B2 (en) * 2011-10-27 2015-04-28 Microsoft Technology Licensing, Llc Detecting software vulnerabilities in an isolated computing environment
KR101378057B1 (ko) 2012-10-22 2014-03-27 한국원자력연구원 원자력발전소 내의 디지털계측제어 시스템의 사이버 보안 요건 분석 장치 및 그 방법
US20140137257A1 (en) * 2012-11-12 2014-05-15 Board Of Regents, The University Of Texas System System, Method and Apparatus for Assessing a Risk of One or More Assets Within an Operational Technology Infrastructure
KR101977731B1 (ko) 2013-03-29 2019-05-14 한국전자통신연구원 제어 시스템의 이상 징후 탐지 장치 및 방법
US9264444B2 (en) * 2013-05-21 2016-02-16 Rapid7, Llc Systems and methods for determining an objective security assessment for a network of assets
KR101359378B1 (ko) 2013-07-23 2014-02-07 (주)넷맨 보안 무결성 검사 장치와 방법
US9667643B2 (en) * 2014-02-20 2017-05-30 Digital Defense Incorporated Apparatus, system, and method for correlating security vulnerabilities from multiple independent vulnerability assessment methods
US10445505B2 (en) * 2014-09-22 2019-10-15 Mcafee, Llc Process vulnerability assessment
US9928369B2 (en) * 2015-02-09 2018-03-27 Cisco Technologies, Inc. Information technology vulnerability assessment
US10110622B2 (en) * 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner
KR101744631B1 (ko) 2015-08-25 2017-06-20 주식회사 아이티스테이션 네트워크 보안 시스템 및 보안 방법
US9836512B1 (en) * 2016-05-11 2017-12-05 Acalvio Technologies, Inc. Systems and methods for identifying similar hosts
US10380348B2 (en) * 2016-11-21 2019-08-13 ZingBox, Inc. IoT device risk assessment
US20180191766A1 (en) * 2017-01-04 2018-07-05 Ziften Technologies, Inc. Dynamic assessment and control of system activity
US10218741B2 (en) * 2017-01-12 2019-02-26 Acalvio Technologies, Inc. Immunizing network devices using a malware marker

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210027B1 (ko) * 2011-08-26 2012-12-07 한국수력원자력 주식회사 원자력발전소 디지털계측제어계통의 사이버보안 관리 방법 및 장치

Also Published As

Publication number Publication date
US10929541B2 (en) 2021-02-23
KR20190017208A (ko) 2019-02-20
US20190050578A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
KR102199054B1 (ko) 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법
CA2937820C (en) Efficient vulnerability management and verification service
US8667589B1 (en) Protection against unauthorized access to automated system for control of technological processes
CN103748853B (zh) 用于对数据通信网络中的协议消息进行分类的方法和系统
Graveto et al. Security of Building Automation and Control Systems: Survey and future research directions
US10348570B1 (en) Dynamic, endpoint configuration-based deployment of network infrastructure
CN114787792A (zh) 集中式知识库和数据挖掘系统
JP2021515498A (ja) 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー
KR20200118887A (ko) 메세지를 처리하는 네트워크 프로브 및 방법
JP2019523951A (ja) セキュアな通信を行う方法および産業コンピューティング装置
Qasim et al. Automated reconstruction of control logic for programmable logic controller forensics
CN104506370A (zh) 无网管系统管理方法及装置
CN114679292A (zh) 基于网络空间测绘的蜜罐识别方法、装置、设备及介质
US11683336B2 (en) System and method for using weighting factor values of inventory rules to efficiently identify devices of a computer network
US20210099479A1 (en) System and method for using inventory rules to identify devices of a computer network
CN111316272A (zh) 使用行为和深度分析的先进网络安全威胁减缓
KR102195016B1 (ko) 사이버 보안 취약점 및 규제지침 점검 장치 및 방법
KR102196970B1 (ko) 콘솔 접속을 통한 보안 취약점 점검 장치 및 그 방법
Johansson Profinet industrial internet of things gateway for the smart factory
TWI703846B (zh) Url異常定位方法、裝置、伺服器及儲存媒體
CN111737084A (zh) 信息的监控方法、装置、智能设备、计算机设备和介质
CN116170203A (zh) 一种安全风险事件的预测方法及系统
KR20190123370A (ko) 스마트 팩토리를 위한 cps 시스템
CN107508838A (zh) 一种访问控制方法、装置和系统
KR20180046615A (ko) 산업제어시스템의 현장 제어 기기 데이터 수집 장치 및 방법

Legal Events

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