KR102156359B1 - 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 - Google Patents

사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 Download PDF

Info

Publication number
KR102156359B1
KR102156359B1 KR1020200025997A KR20200025997A KR102156359B1 KR 102156359 B1 KR102156359 B1 KR 102156359B1 KR 1020200025997 A KR1020200025997 A KR 1020200025997A KR 20200025997 A KR20200025997 A KR 20200025997A KR 102156359 B1 KR102156359 B1 KR 102156359B1
Authority
KR
South Korea
Prior art keywords
command
diagnosis
vulnerability
diagnosed
return value
Prior art date
Application number
KR1020200025997A
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 KR1020200025997A priority Critical patent/KR102156359B1/ko
Application granted granted Critical
Publication of KR102156359B1 publication Critical patent/KR102156359B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및그 시스템에 관한 것으로, 더욱 상세하게는, 진단대상시스템에 접속하여 보안취약점 진단을 수행하는 명령어를 수집하고 기능별로 그룹화한 후 보안취약점 진단 전 사전명령을 전송하여 정상적으로 동작하는 명령어를 지원명령어로 지정하고 진단관련정보별로 진단가부를 결정하여 보안취약점 진단 시 지원명령어를 전송하여 진단을 수행함으로써, 네트워크 상에 연결된 진단대상시스템의 보안취약점 진단 시 진단에 필요한 명령어가 동작하지 않아 실행불가능한 명령을 계속 시도하여 진단결과에 오류가 발생하는 것을 방지하며, 진단 전 명령어 실행여부를 확인하여 진단불가능한 항목을 사전에 확인하고 진단실패사유를 확인할 수 있는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템에 관한 것이다.

Description

사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템{A Method for Checking Vulnerability Diagnosis Command Execution through Sending Pre-Command and Its System}
본 발명은 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및그 시스템에 관한 것으로, 더욱 상세하게는, 진단대상시스템에 접속하여 보안취약점 진단을 수행하는 명령어를 수집하고 기능별로 그룹화한 후 보안취약점 진단 전 사전명령을 전송하여 정상적으로 동작하는 명령어를 지원명령어로 지정하고 진단관련정보별로 진단가부를 결정하여 보안취약점 진단 시 지원명령어를 전송하여 진단을 수행함으로써, 네트워크 상에 연결된 진단대상시스템의 보안취약점 진단 시 진단에 필요한 명령어가 동작하지 않아 실행불가능한 명령을 계속 시도하여 진단결과에 오류가 발생하는 것을 방지하며, 진단 전 명령어 실행여부를 확인하여 진단불가능한 항목을 사전에 확인하고 진단실패사유를 확인할 수 있는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템에 관한 것이다.
정보자산 내의 정보의 중요성과 정보의 양이 커짐에 따라, 네트워크 상 보안의 중요성 역시 대두되었다. 정보자산의 보안을 위하여 통합보안관리시스템, 위협관리시스템, 방화벽 등의 보안장비 및 보안시스템이 사용되고 있다. 현재 지속적이고 가변성인 사이버 침해 시도 증가에 따라 많은 양의 보안이벤트가 발생하고 있으며 변화하는 공격에 대한 효율적인 대응이 필요한 상황이다.
보안 취약점 점검이란 정보시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협이나 점검대상시스템에서 관리하는 중요 데이터의 유출, 변조, 삭제에 대한 위협이 발생할 수 있는 사항들에 대하여 점검하는 것으로, 점검대상시스템에 보안취약점이 존재하고 있는지에 대한 점검 작업을 수행한 후 점검대상시스템의 보안수준을 분석하는 것을 지칭한다.
보안 취약점 점검 대상이 되는 시스템이 클라이언트 PC, 네트워크 장비 등 여러 종류가 있음에 따라, 보안 취약점을 점검하는 Agent를 진단대상시스템에 설치하여 보안 취약점을 점검하는 경우도 있고, Agent를 진단대상시스템에 설치할 수 없음에 따라 매니저 시스템에서 명령어나 스크립트를 전송하고 응답을 수신한 후 매니저 시스템에서 보안 취약점을 점검하는 경우도 존재한다.
도 1은 종래의 보안성 진단방법 및 이를 위한 컴퓨터 프로그램에 대한 도면으로, 보안성 진단 서버가 진단대상시스템에 설치된 에이전트를 통해 네트워크로 연동된 진단대상시스템에 대한 보안성 진단을 수행하고, 에이전트는 진단 대상 시스템에 설치 및 구동되는 프로그램으로, 보안성 진단과 관련된 데이터를 수집하고 이를 진단 서버로 전송한다.
종래에는 보안취약점 진단 수행 시 진단대상시스템에서 다양한 명령어들을 실행하고, 그 결과값을 분석하여 취약점 진단이 완료된다. 그러나, 진단에 필요한 명령어를 대상시스템에서 지원하지 않거나 실행 권한이 없는 경우 진단에 필요한 명령어가 실행될 수 없다. 실행 불가능한 명령을 계속 시도하여 진단프로세스가 지연되거나, 실행결과가 비정상적으로 도출되어 진단결과에 오류가 발생하는 문제점이 있다. 또한, 진단이 실패한 경우 실패사유를 확인 하기 위해서 사후 분석시 대상 점검 시스템에 접속하여 진단 실패한 항목에 대해 해당 진단 항목에서 사용하는 명령어 실행 여부를 확인 해야 하는 번거로움이 존재하였다.
이에 따라, 업계에서는 보안취약점 진단 시 명령어 전송에 따른 진단오류를 개선하고, 진단대상시스템 내에서 명령어 실행여부를 보안취약점 진단 전에 확인할 수 있고, 오류 등에 따른 진단실패를 방지하며 진단이 실패하더라도 진단 실패사유를 빠르게 확인할 수 있는 보안취약점 점검시스템을 요구하고 있다.
한국등록특허공보 제10-1620601호(2016.05.04.)
본 발명은 상기와 같은 문제점을 해결하고자 안출된 것으로,
본 발명의 목적은, 네트워크를 통해 연결된 보안 취약점 점검 대상이 되는 진단대상시스템에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하는 그룹화단계, 보안취약점 진단 전 상기 진단대상시스템에 명령을 전송하고 리턴값을 수신하는 사전명령단계 및 수신한 리턴값을 기반으로 명령어를 통한 진단가부를 확인하는 진단확인단계를 포함하여 보안취약점 진단 전 명령어 그룹을 전송하여 사전에 명령어 실행여부를 알 수 있도록 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 상기 그룹화단계는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는 명령어수집단계와 상기 명령어를 소정 기준에 따라 분류하여 그룹화하는 명령어분류단계를 포함하여 기능별로 명령어 그룹을 전송하여 명령어 실행여부를 효과적으로 파악할 수 있는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 상기 명령어분류단계는 상기 명령어를 기능별로 그룹화하며, 그룹화된 명령어 그룹은 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어를 포함하여 명령어 그룹이 동일한 점검대상을 진단하도록 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 실질적으로 진단대상시스템의 보안취약점 진단을 수행하는 진단수행단계를 더 포함하고, 사전명령단계는 상기 진단수행단계 이전에 수행되며, 상기 사전명령단계는 진단대상시스템에 설정된 접근방법을 통해 접속하는 접속단계, 상기 진단대상시스템에 상기 명령어 그룹을 전송하는 명령전송단계 및 상기 진단대상시스템으로부터의 리턴값을 수신하는 결과수신단계를 포함하여 사전명령의 결과를 통해 보안취약점 진단 시 오류의 발생과 진단 지연을 방지하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 진단확인단계는 상기 사전명령단계에서 전송된 명령어 그룹에 따라 상기 진단대상시스템으로부터의 리턴값을 통해 정상동작하는 명령어를 확인하는 유효리턴값 확인단계와, 정상동작하는 명령어를 상기 명령어 그룹의 지원명령어로 지정하는 지원명령어 지정단계를 포함하여 진단대상시스템의 점검대상별로 실행되는 명령어를 효율적으로 파악가능한 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 상기 진단확인단계는 상기 지원명령어 지정단계 이후에 상기 명령어 그룹을 통해 진단관련정보를 진단 가능한지 결정하는 진단가부 결정단계를 더 포함하고, 상기 진단가부 결정단계는 진단관련정보를 진단할 수 있는 지원명령어가 상기 명령어 그룹에 존재하지 않는 경우 진단불가를 결정하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 상기 진단확인단계는 상기 진단가부 결정단계 이후에 진단대상시스템으로부터 유효하지 않은 리턴값이 전송되는 사유를 확인하는 에러분석단계를 더 포함하고, 상기 에러분석단계는 명령어 또는 명령어 그룹별로 진단불가 이유를 사용자에게 통지하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명의 목적은, 진단수행단계는 진단대상시스템으로부터 보안취약점진단을 위한 요청을 수신하는 요청수신단계, 상기 진단대상시스템에 설정된 접근방법을 통해 접속하는 후접속단계 및 접속된 진단대상시스템에 명령어를 전송하되, 전송되는 명령어는 상기 지원명령어인 지원명령어 전송단계, 상기 지원명령어 전송단계에 따른 진단대상시스템으로부터의 리턴값을 진단대상시스템의 진단관련정보를 추출하는 결과처리단계와, 추출된 상기 진단관련정보로부터 상기 진단대상시스템의 보안취약점을 판단하는 취약점 판단단계를 포함하여 빠르고 효율적으로 진단대상시스템의 보안취약점 진단을 수행하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 것이다.
본 발명은 앞서 본 목적을 달성하기 위해서 다음과 같은 구성을 가진 실시예에 의해서 구현된다.
본 발명의 일 실시예에 따르면, 본 발명은, 네트워크를 통해 연결된 보안 취약점 점검 대상이 되는 진단대상시스템에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하는 그룹화단계, 보안취약점 진단 전 상기 진단대상시스템에 명령을 전송하고 리턴값을 수신하는 사전명령단계 및 수신한 리턴값을 기반으로 명령어를 통한 진단가부를 확인하는 진단확인단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 상기 그룹화단계는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는 명령어수집단계와 상기 명령어를 소정 기준에 따라 분류하여 그룹화하는 명령어분류단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 상기 명령어분류단계는 상기 명령어를 기능별로 그룹화하며, 그룹화된 명령어 그룹은 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 실질적으로 진단대상시스템의 보안취약점 진단을 수행하는 진단수행단계를 더 포함하고, 사전명령단계는 상기 진단수행단계 이전에 수행되며, 상기 사전명령단계는 진단대상시스템에 설정된 접근방법을 통해 접속하는 접속단계, 상기 진단대상시스템에 상기 명령어 그룹을 전송하는 명령전송단계 및 상기 진단대상시스템으로부터의 리턴값을 수신하는 결과수신단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 진단확인단계는 상기 사전명령단계에서 전송된 명령어 그룹에 따라 상기 진단대상시스템으로부터의 리턴값을 통해 정상동작하는 명령어를 확인하는 유효리턴값 확인단계와, 정상동작하는 명령어를 상기 명령어 그룹의 지원명령어로 지정하는 지원명령어 지정단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 상기 진단확인단계는 상기 지원명령어 지정단계 이후에 상기 명령어 그룹을 통해 진단관련정보를 진단 가능한지 결정하는 진단가부 결정단계를 더 포함하고, 상기 진단가부 결정단계는 진단관련정보를 진단할 수 있는 지원명령어가 상기 명령어 그룹에 존재하지 않는 경우 진단불가를 결정하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 상기 진단확인단계는 상기 진단가부 결정단계 이후에 진단대상시스템으로부터 유효하지 않은 리턴값이 전송되는 사유를 확인하는 에러분석단계를 더 포함하고, 상기 에러분석단계는 명령어 또는 명령어 그룹별로 진단불가 이유를 사용자에게 통지하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 진단수행단계는 진단대상시스템으로부터 보안취약점진단을 위한 요청을 수신하는 요청수신단계, 상기 진단대상시스템에 설정된 접근방법을 통해 접속하는 후접속단계 및 접속된 진단대상시스템에 명령어를 전송하되, 전송되는 명령어는 상기 지원명령어인 지원명령어 전송단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 본 발명은, 상기 진단수행단계는 상기 지원명령어 전송단계에 따른 진단대상시스템으로부터의 리턴값을 진단대상시스템의 진단관련정보를 추출하는 결과처리단계와, 추출된 상기 진단관련정보로부터 상기 진단대상시스템의 보안취약점을 판단하는 취약점 판단단계를 더 포함하는 것을 특징으로 한다.
본 발명은 앞서 본 실시예와 하기에 설명할 구성과 결합, 사용관계에 의해 다음과 같은 효과를 얻을 수 있다.
본 발명은, 네트워크를 통해 연결된 보안 취약점 점검 대상이 되는 진단대상시스템에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하는 그룹화단계, 보안취약점 진단 전 상기 진단대상시스템에 명령을 전송하고 리턴값을 수신하는 사전명령단계 및 수신한 리턴값을 기반으로 명령어를 통한 진단가부를 확인하는 진단확인단계를 포함하여 보안취약점 진단 전 명령어 그룹을 전송하여 사전에 명령어 실행여부를 알 수 있도록 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 효과를 가진다.
본 발명은, 상기 그룹화단계는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는 명령어수집단계와 상기 명령어를 소정 기준에 따라 분류하여 그룹화하는 명령어분류단계를 포함하여 기능별로 명령어 그룹을 전송하여 명령어 실행여부를 효과적으로 파악할 수 있는 효과가 있다.
본 발명은, 명령어분류단계는 상기 명령어를 기능별로 그룹화하며, 그룹화된 명령어 그룹은 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어를 포함하여 명령어 그룹이 동일한 점검대상을 진단하도록 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 효과를 수반한다.
본 발명은, 실질적으로 진단대상시스템의 보안취약점 진단을 수행하는 진단수행단계를 더 포함하고, 사전명령단계는 상기 진단수행단계 이전에 수행되며, 상기 사전명령단계는 진단대상시스템에 설정된 접근방법을 통해 접속하는 접속단계, 상기 진단대상시스템에 상기 명령어 그룹을 전송하는 명령전송단계 및 상기 진단대상시스템으로부터의 리턴값을 수신하는 결과수신단계를 포함하여 사전명령의 결과를 통해 보안취약점 진단 시 오류의 발생과 진단 지연을 방지하는 효과를 제공한다.
본 발명은, 진단확인단계는 상기 사전명령단계에서 전송된 명령어 그룹에 따라 상기 진단대상시스템으로부터의 리턴값을 통해 정상동작하는 명령어를 확인하는 유효리턴값 확인단계와, 정상동작하는 명령어를 상기 명령어 그룹의 지원명령어로 지정하는 지원명령어 지정단계를 포함하여 진단대상시스템의 점검대상별로 실행되는 명령어를 효율적으로 파악가능한 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법을 제공하는 효과를 가진다.
본 발명은, 상기 진단확인단계는 상기 지원명령어 지정단계 이후에 상기 명령어 그룹을 통해 진단관련정보를 진단 가능한지 결정하는 진단가부 결정단계를 더 포함하고, 상기 진단가부 결정단계는 진단관련정보를 진단할 수 있는 지원명령어가 상기 명령어 그룹에 존재하지 않는 경우 진단불가를 결정하는 효과를 도출한다.
본 발명은, 상기 진단확인단계는 상기 진단가부 결정단계 이후에 진단대상시스템으로부터 유효하지 않은 리턴값이 전송되는 사유를 확인하는 에러분석단계를 더 포함하고, 상기 에러분석단계는 명령어 또는 명령어 그룹별로 진단불가 이유를 사용자에게 통지하는 효과를 발생시킨다.
본 발명은, 진단수행단계는 진단대상시스템으로부터 보안취약점진단을 위한 요청을 수신하는 요청수신단계, 상기 진단대상시스템에 설정된 접근방법을 통해 접속하는 후접속단계 및 접속된 진단대상시스템에 명령어를 전송하되, 전송되는 명령어는 상기 지원명령어인 지원명령어 전송단계, 상기 지원명령어 전송단계에 따른 진단대상시스템으로부터의 리턴값을 진단대상시스템의 진단관련정보를 추출하는 결과처리단계와, 추출된 상기 진단관련정보로부터 상기 진단대상시스템의 보안취약점을 판단하는 취약점 판단단계를 포함하여 빠르고 효율적으로 진단대상시스템의 보안취약점 진단을 수행할 수 있다.
도 1은 종래의 보안성 진단방법 및 이를 위한 컴퓨터 프로그램에 대한 도면
도 2는 본 발명의 바람직한 일 실시예에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)의 블록도
도 3은 본 발명에 따른 명령설정부(10)의 블록도
도 4는 진단대상시스템의 운영체제에 대해 복수의 명령어가 전송될 때 운영체제로부터의 응답에 해당하는 리턴값을 표시한 도면
도 5는 root 계정의 원격 터미널 접속차단 설정 적용여부를 점검하는 명령을 도시한 도면
도 6은 본 발명의 바람직한 일 실시예에 따른 그룹화모듈(15)에 의해 명령어가 운영체제에 따라 그룹화된 것을 도시한 도면
도 7은 본 발명의 일 실시예에 따른 통신부(30)의 블록도
도 8은 본 발명의 일 실시예에 따른 입력보정부(50)의 블록도
도 9는 본 발명의 일 실시예에 따른 점검대상 운영체제 및 소프트웨어 입력보정 방법(S)의 순서도
도 10은 본 발명의 일 실시예에 따른 통신단계(S30)가 수행되는 순서도
이하에서는 본 발명에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 방법의 바람직한 실시 예들을 첨부된 도면을 참고하여 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 공지의 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하도록 한다. 특별한 정의가 없는 한 본 명세서의 모든 용어는 본 발명이 속하는 기술분야의 통상의 지식을 가진 기술자가 이해하는 당해 용어의 일반적 의미와 동일하고 만약 본 명세서에서 사용된 용어의 의미와 충돌하는 경우에는 본 명세서에서 사용된 정의에 따른다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니고, 다른 구성요소 또한 더 포함할 수 있는 것을 의미하며, 명세서에 기재된 "~부","~모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어나 소프트웨어 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써 본 발명을 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)의 흐름도이다. 도 2를 참고하면, 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)은 진단대상시스템에 접속하여 보안취약점 진단을 수행하는 명령어를 수집하고 기능별로 그룹화한 후 보안취약점 진단 전 사전명령을 전송하여 정상적으로 동작하는 명령어를 지원명령어로 지정하고 진단관련정보별로 진단가부를 결정하여 보안취약점 진단 시 지원명령어를 전송하여 진단을 수행함으로써, 네트워크 상에 연결된 진단대상시스템의 보안취약점 진단 시 진단에 필요한 명령어가 동작하지 않아 실행불가능한 명령을 계속 시도하여 진단결과에 오류가 발생하는 것을 방지하며, 진단 전 명령어 실행여부를 확인하여 진단불가능한 항목을 사전에 확인하고 진단실패사유를 확인할 수 있도록 한다. 상기 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)은 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)에서 수행될 수 있으며, 그룹화단계(S10), 사전명령단계(S30), 진단확인단계(S50)를 포함하며, 실질적으로 진단대상시스템의 보안취약점 진단을 수행하는 진단수행단계(S70)를 더 포함할 수 있다.
명령어란, 쉘을 통하여 정보자원, 즉 진단대상시스템을 제어할 수 있는 언어체계를 말하며, 사용자가 운영체제나 응용프로그램에 특정 서비스 수행을 위해 입력하여 요구하거나 자동으로 정해진 시퀀스에 따라 수행하도록 할 수 있다. 컴파일된 바이너리형식의 파일(C, C++)이나 스크립트 언어 프로그램으로 제작된 실행 프로그램, 쉘에 내장되는 명령어, 쉘 함수, 새롭게 정의된 명령어인 별칭(Alias)도 명령어에 포함된다. 따라서 실질적으로 명령어의 기능을 하는 프로세스 파일, 프로그램과 스크립트 또한 명령어라고 지칭할 수 있으며, 이를 본 발명의 권리범위에서 배제하지 않는다.
도 3은 본 발명에 따른 그룹화단계(S10)의 흐름도이다. 도 3을 참고하면, 상기 그룹화단계(S10)는 그룹화부(10)에서 수행될 수 있으며, 진단대상시스템(T)에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하도록 한다. 본 발명은 진단대상시스템의 보안취약점 진단 전에 사전명령을 전송함으로써 어떤 명령어가 진단대상시스템 내에서 정상적으로 실행되는지 확인한 후, 보안취약점 진단 시 정상적으로 실행되는 명령어를 전송하여 빠르고 정확하며 명령어 전송에 따른 오류가 발생하지 않도록 하는데, 사전명령의 효율적인 전송을 위해서는 명령어를 분류하고 그룹화하는 것이 필요하다. 상기 그룹화단계(S10)는 명령어수집단계(S11)와 명령어분류단계(S13)를 포함한다.
상기 명령어수집단계(S11)는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는다. 데이터베이스(DB, 70)에 저장된 명령어를 읽어들여 수집할 수 있으며, 보안관리자인 사용자로부터 목적에 따라 명령어를 입력받을 수도 있다. 본 발명의 일 실시예에서는 KISA 등으로부터 배포된 정보통신기반시설의 기술적 취약점 분석을 위한 명령어가 데이터베이스에 저장되고, 상기 명령어수집단계(S11)에서 상기 명령어들을 수집할 수 있다.
상기 명령어분류단계(S13)는 수집된 명령어를 소정 기준에 따라 분류하여 그룹화한다. 사전명령 전송 시 만들어진 명령어 그룹별로 전송하고, 명령어 그룹별로 진단대상시스템에서 실행되는 명령어를 확인하기 위해 명령어들이 그룹화된다. 본 발명의 바람직한 일 실시예에서, 명령어 그룹은 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어들을 포함할 수 있다. 이에 따라 수집된 명령어들이 상기 명령어분류단계(S13)에서 기능별로 그룹화된다.
진단관련정보란 진단대상시스템(T)의 보안취약점의 점검을 위해서 수집되는 정보이다. 시스템의 운영체제(OS)나 소프트웨어, 네트워크 등에는 외부로부터의 사이버 공격의 기반이 되는 취약점이 존재하게 되는데, 시스템의 경우 시스템에 접근권한을 제어하는 계정 및 패스워드, 시스템 구성, 백도어 등이 보안취약점으로 존재하며, 네트워크의 경우 HTTP, SMTP, FTP 등의 경로를 통하여 사이버공격이 이루어질 수 있다. 이러한 사이버 공격을 방지하기 위하여 네트워크와 시스템에 공격이 용이하게 이루어질 수 있는지를 점검하게 되는데 이를 보안취약점 점검이라 하며, 여러 점검항목의 데이터를 분석하여야 한다. 바람직하게는 패스워드 관련 취약점, 패킷 관련 취약점, 포트 관련 취약점 등에 관한 정보들이 수집된다.
도 4는 본 발명의 바람직한 일 실시예에 따른 명령어분류단계(S13)에 의해 명령어가 진단관련정보에 따라 그룹화된 것을 도시한 도면이다. 진단대상시스템(T)에 설치된 소프트웨어나 시스템의 운영체제가 상이하더라도, 보안취약점 진단을 하려는 진단관련정보, 예를들면 패스워드 길이나 비인가자에게 관리자 권한 부여 여부 등은 진단대상시스템에 동일하게 존재한다. 따라서 상기 명령어분류단계(S13)에서는 같은 진단관련정보를 대상으로 하는 명령을 손쉽게 전송할 수 있도록 진단관련정보별로 명령어 그룹을 지정하도록 한다.
도 5는 root 계정의 원격 터미널 접속차단 설정 적용여부를 점검하는 명령을 도시한 도면으로, 시스템이 외부 비인가자의 root 계정 접근시도를 원천적으로 차단하는지를 점검하는 것이다. 도 5에 도시된 것과 같이 같은 진단관련정보에 대해서, 운영체제나 소프트웨어의 차이에 따라 점검파일의 위치와 확인해야 하는 설정값이 다르고, 상기 설정들을 확인하거나 설정파일을 변경하기 위해서 전송되는 명령이 도시된 것과 같이 다르더라도, 실질적으로 보안취약점 진단을 위해 진단하는 진단관련정보는 동일하다. 따라서 명령어분류단계(S13)는 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어별로 그룹화를 진행하도록 한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 사전명령단계(S30)의 흐름도이다. 도 6을 참고하면, 상기 사전명령단계(S30)는 보안취약점 진단 전 상기 진단대상시스템(T)에 명령을 전송하고 리턴값을 수신한다. 상기 사전명령단계(S30)는 통신부(30)에 의해 수행될 수 있으며, 명령어 그룹 전송하고 진단대상시스템(T)의 응답인 리턴값을 수신함에 따라 후술하는 진단확인단계(S50)에서 리턴값을 분석하고 정상작동하는 명령어를 분류할 수 있다. 상기 사전명령단계(S30)는 접속단계(S31), 명령전송단계(S33), 결과수신단계(S35)를 포함한다.
상기 접속단계(S31)는 상기 진단대상시스템에 설정된 접근방법을 통해 접속할 수 있도록 하는 단계이다. 점검 대상 시스템에 해당하는 진단대상시스템에 대한 IP 주소와 접근방법(Telnet, SSH 등), 접근 권한(ID, Password)이 지정되어 있는 경우 지정된 방법을 통해 접속할 수 있으며, 접근방법이나 접근 권한이 지정되어 있지 아니하는 경우에는 소정의 방식을 통해 접속방법을 탐지하여 접속을 시도할 수 있다. 여기서 소정의 방식이란 데이터베이스 상에서 유사한 IP주소 또는 Hostname 등 인식가능한 레이블을 통해 접근방법과 접근권한을 탐색하는 것으로, 적어도 하나 이상의 진단대상시스템(T)에 대한 데이터에서 접근방법과 접근권한을 추출하여 접속을 시도할 수 있다.
상기 명령전송단계(S33)는 명령어 그룹을 전송하여 상기 진단대상시스템에서 명령을 수행하도록 한다. 본 발명의 바람직한 일 실시예에 있어서, 상기 명령전송단계(S33)에서 전송되는 명령어 그룹은 상기 진단대상시스템으로 전송되고, 진단대상시스템이 유효한 리턴값을 리턴하도록 할 수 있다. 진단관련정보에 따라 그룹화된 명령어 그룹이 진단대상시스템(T)에 전송되므로, 바람직하게는 모든 명령어 그룹이 진단대상시스템(T)에 전송될 수 있다.
명령어 리턴값
wmic process get caption, commandline, ProcessID, executablepath /format:csv ...
WIN-4NIFO36GDKJ,oracle.exe,c:\oracle11g\product\11.2.0\
dbhome_1\bin\ORACLE.EXE ORCL,c:\oracle11g\product\11.2.0\dbhome_1\bin\ORACLE.EXE,3800
...
본 발명의 일 실시예에서, 상기 명령전송단계(S33)는 위와 같은 명령어를 포함하는 명령어 그룹을 전송하고, 상기의 리턴값을 응답받음으로써, 접속한 진단대상시스템의 점검대상 소프트웨어의 종류와 설치경로, 실행계정 등을 확인할 수 있다.
상기 결과수신단계(S35)는 진단대상시스템으로부터의 리턴값을 수신하는 단계이다. 상기 명령전송단계(S33)로부터 전송된 명령어에 따라 진단대상시스템(T)에서 명령어 그룹의 명령 수행시 리턴값이 발생하는데, 결과수신단계(S35)에서는 이 리턴값을 수신하여 후술하는 진단확인단계(S50)에서 이를 분석할 수 있도록 한다.
모든 명령어 그룹에 대한 리턴값이 진단대상시스템(T)으로부터 수신되어 하나의 진단대상시스템(T)에 대한 사전명령단계(S30)가 종결되면, 바람직하게는 다른 진단대상시스템(T)에 사전명령단계(S30)를 수행하여 네트워크 상에 연결된 복수의 진단대상시스템(T)에 대해서 보안취약점 진단 전에 사전명령을 전송하고 리턴값을 수신할 수 있다. 본 발명의 다른 일 실시예에서는 동시에 복수의 진단대상시스템(T)에 접속하여 사전명령을 전송하고 리턴값을 수신함으로써, 사전명령단계(S30)가 동시에 복수의 진단대상시스템(T)에 대하여 시행될 수 있다.
도 7은 본 발명의 바람직한 일 실시예에 따른 진단확인단계(S50)의 흐름도이다. 도 7을 참고하면, 상기 진단확인단계(S50)는 후술하는 결과처리부(50)의 정보추출모듈(51) 및 분석모듈(53)에서 수행될 수 있으며, 수신한 리턴값을 기반으로 지원명령어를 지정하고, 명령어를 통한 진단관련정보의 진단가부를 확인하는 단계이다. 상기 진단확인단계(S50)는 파싱단계(S51), 유효리턴값 확인단계(S53), 지원명령어 지정단계(S55), 진단가부 결정단계(S57), 및 에러분석단계(S59)를 포함한다.
상기 파싱단계(S51)는 진단대상시스템으로부터 수신한 리턴값을 파싱하는 ㄷ단계이다. 여기서, 전송된 명령어에 따라 리턴값이 상이할 수 있으므로 상기 파싱단계(S51)에서는 데이터베이스(70)에 저장된 파싱기준 또는 입력되는 파싱기준에 따라 리턴값을 파싱하게 된다.
상기 유효리턴값 확인단계(S53)는 진단대상시스템으로부터의 리턴값을 통해 정상동작하는 명령어를 확인한다. 바람직하게는 진단대상시스템으로부터의 리턴값이 진단관련정보를 가진 유효한 리턴값인 경우 해당 유효한 리턴값을 응답시킨 명령어는 진단대상시스템에서 정상적으로 작동한 것을 알 수 있다. 명령어를 진단대상시스템(T)에 전송할 시 진단관련정보를 포함하는 리턴값이 응답으로 전송되어야 하고, error나 null값이 발생하는 경우에는 유효하지 않은 리턴값으로 취급된다.
상기 지원명령어 지정단계(S55)는 정상동작하는 명령어를 상기 명령어 그룹의 지원명령어로 지정하는 단계이다. 상기 유효리턴값 확인단계(S53)에서 유효한 리턴값을 확인한 후 유효한 리턴값을 응답시키는 명령어를 지원명령어로 지정하게 된다. 진단대상시스템에 대해서 지원명령어를 지정하는 경우, 보안취약점 진단을 수행할 때 명령어 그룹 전체를 전송하는 것이 아니라 지원명령어만을 전송함으로써 필요한 진단관련정보를 수집할 수 있다. 따라서, 보안취약점 진단 시 실행 불가능한 명령어 전송을 방지할 수 있고, 이에 따라 진단수행 시 보안취약점 진단이 지연되거나 진단결과가 비정상적인 문제가 해결된다.
상기 진단가부 결정단계(S57)는 상기 명령어 그룹에 지정된 지원명령어가 존재하는지 여부에 따라 명령어 그룹의 진단가능 여부를 결정한다. 특정 진단대상시스템(T)에 관하여, 명령어 그룹 내에 유효한 리턴값을 응답시키는 명령어가 존재하는 경우, 즉 진단대상시스템으로부터 진단관련정보를 수집하거나 추출할 수 있는 명령어가 존재하는 경우 지원명령어가 지정되며, 해당 명령어 그룹은 해당 진단대상시스템(T)에 대해 진단가능 결정이 된다. 반면, 지정명령어가 명령어 그룹 내에 존재하지 않는다면, 진단대상시스템(T)에 대해 진단불가 결정이 된다. 이에 따라 사전에 명령어 사용여부를 미리 확인하여 진단 불가능한 항목을 사전에 확인할 수 있다.
상기 에러분석단계(S59)는 진단대상시스템으로부터 유효하지 않은 리턴값이 전송되는 사유를 확인하는 단계이다. 명령어 전송 시 진단대상시스템으로부터 유효하지 않은 리턴값이 응답되는 것에는 진단대상시스템에서 해당 명령어를 지원하지 않거나 명령어 실행 권한이 부여되지 않는 등 여러 이유가 있을 수 있는데, 상기 에러분석단계(S59)는 명령어 또는 명령어 그룹별로 진단불가 이유를 사용자에게 통지할 수 있다. 이에 따라 사용자인 보안관리자는 해당 명령어를 진단대상시스템에서 지원하지 않아 오류가 난 것이지, 또는 명령어의 실행 권한이 부여되지 않아 오류가 난 것인지, 단순히 입력오류 등에 의한 것인지를 파악할 수 있다.
도 8은 본 발명의 바람직한 일 실시예에 따라 명령어 그룹에서 지원명령어가 지정되고 진단관련정보에 대한 진단가부가 결정된 것을 도시한 도면이다. 도 8을 참고하면, 상기 지원명령어 지정단계(S55)와 진단가부 결정단계(S57)를 통해 각 명령어 그룹 내의 명령어가 진단대상시스템(T)에 대해 진단을 지원하는지 및 명령어 그룹이 해당 진단관련정보를 진단가능한지 여부가 표시된다. 명령어그룹 B의 경우, 명령어 그룹 내에 유효한 리턴값을 응답시키는 명령어가 존재하지 않아 지원명령어가 지정되지 않고, 따라서 해당 진단대상시스템에서 명령어 그룹 B에 관한 진단관련정보는 진단이 불가함을 알 수 있다. 본 발명에 따라서, 보안취약점 진단 실시 전에 이러한 정보를 사용자가 알 수 있게 되어 전체 명령어를 전송할 때와 달리 오류 발생을 방지하고 취약점 점검에 소요되는 시간을 획기적으로 단축시킬 수 있다. 나아가 상기 에러분석단계(S59)에서 유효한 리턴값이 도출되지 않은 이유(권한 부재, 운영체제 상이 등)를 분석하여 사용자에게 보고할 수 있으므로, 진단불가 오류의 문제도 해결된다.
본 발명의 다른 실시예에서는, 유효리턴값 확인단계(S53) 이후에 수행되는 지원명령어 지정단계(S55), 진단가부 결정단계(S57) 및 에러분석단계(S59)의 순서가 가변적일 수 있다. 상기 세 단계는 모두 진단대상시스템(T)으로부터의 리턴값을 확인한 후, 명령어 그룹에 대한 유효리턴값 존재 여부에 따라 상기 유효리턴값 확인단계(S53) 이후에 수행된다면 무방하다.
도 9는 본 발명의 바람직한 일 실시예에 따른 진단수행단계(S70)의 흐름도이다. 도 9를 참고하면, 상기 진단수행단계(S70)는 실질적으로 진단대상시스템(T)의 보안취약점 진단을 수행하는 단계이다. 상기 진단수행단계(S70)에서는 진단대상시스템(T)에서 보안취약점 진단 실시를 요청하는 경우 또는 주기적으로 진단대상시스템의 보안취약점 진단을 수행하며, 지정된 지원명령어를 전송하여 취약점 진단 시 명령어가 실행불가능한 문제를 방지하여 오류의 발생과 취약점 진단의 지연을 최소화할 수 있다. 상기 진단수행단계(S70)는 요청수신단계(S71), 후접속단계(S73), 지원명령어 전송단계(S75), 결과처리단계(S77) 및 취약점 판단단계(S79)를 포함한다.
상기 요청수신단계(S71)는 진단대상시스템으로부터 보안취약점진단을 위한 요청을 수신하는 단계이다. 통신부(30)의 수신모듈(35)에서 수행될 수 있으며, 진단대상시스템(T) 측에서 보안취약점 진단이 필요하다고 여겨지는 경우 또는 주기적인 보안취약점 진단을 위해 본 발명의 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)으로 보내는 진단요청을 수신한다.
상기 후접속단계(S73)는 진단대상시스템에 설정된 접근방법을 통해 접속하는 단계이다. 자세한 접속방법은 상기 접속단계(S31)에서와 같으며, 통신부(30)의 접속모듈(31)에서 수행될 수 있다.
상기 지원명령어 전송단계(S75)는 접속된 진단대상시스템에 명령어를 전송하는 단계이다. 통신부(30)의 명령전송모듈(33)에서 수행될 수 있으며, 바람직하게는 명령어 그룹의 명령어를 전송하되, 전송되는 명령어는 진단대상시스템으로부터 유효한 리턴값을 응답시키는 지원명령어인 것을 특징으로 한다. 상기 명령전송단계(S33)에서 모든 명령어 그룹을 진단대상시스템(T)에 전송하는 것과는 달리, 상기 지원명령어 전송단계(S75)에서는 상기 진단확인단계(S50)에서 지정한 지원명령어만을 진단대상시스템에 전송하게 된다. 이를 통해 유효한 리턴값을 응답시키는 명령어를 선별하여 진단대상시스템에 전송하고, 종래기술과 비교하더라도 진단대상시스템에서 실행되며 진단관련정보를 수집하는 명령어만을 선별적으로 전송함으로써, 오류의 발생과 진단지연을 방지할 수 있다.
상기 결과처리단계(S77)는 진단대상시스템으로부터 수신된 결과로부터 상기 진단대상시스템의 정보를 추출하고 진단대상시스템의 보안취약점을 진단하는 과정이다. 상기 결과처리단계(S77)는 결과처리부(50)의 정보추출모듈(51)에서 수행될 수 있으며, 수신한 리턴값을 분석함으로써, 종국적으로 진단대상시스템의 보안취약점을 판단하도록 한다. 상기 결과처리단계(S55)는 진단대상시스템으로부터 수신한 리턴값을 파싱기준에 따라 파싱하고, 파싱된 파싱정보를 분석하여 상기 진단대상시스템의 진단관련정보를 추출한다. 파싱정보는 진단대상시스템의 보안취약점 점검항목에 관련된 진단관련정보를 포함하므로, 결과처리단계(S55)에서 추출되는 진단관련정보는 진단대상시스템의 패스워드 취약성, 패킷 취약성 등의 정보에 해당한다.
상기 취약점 판단단계(S79)는 진단대상시스템의 진단관련정보와 보안취약점 판단기준을 비교하여 취약성 여부를 판단하는 단계이다. 상기 취약점 판단단계(S79)는 결과처리부(50)의 취약점 판단모듈(55)에서 수행될 수 있다. 결과처리단계(S77)에서 추출된 진단관련정보는 수, 스트링, True of False 등 여러 유형의 값을 가지는데, 데이터베이스로부터 판단기준을 불러와 상기 진단관련정보와 비교하여 진단관련시스템의 취약성 여부를 판단한다. 판단결과는 데이터베이스(70)에 저장될 수 있다.
상술한 바에 따라 본 발명의 일 실시예에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)이 구현된다. 이하에서는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)을 설명하도록 한다.
도 10은 본 발명의 일 실시예에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)의 블록도이다. 도 10을 참고하면, 상기 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)은 진단대상시스템에 접속하여 보안취약점 진단을 수행하는 명령어를 수집하고 기능별로 그룹화한 후 보안취약점 진단 전 사전명령을 전송하여 정상적으로 동작하는 명령어를 지원명령어로 지정하고 진단관련정보별로 진단가부를 결정하여 보안취약점 진단 시 지원명령어를 전송하여 진단을 수행함으로써, 네트워크 상에 연결된 진단대상시스템의 보안취약점 진단 시 진단에 필요한 명령어가 동작하지 않아 실행불가능한 명령을 계속 시도하여 진단결과에 오류가 발생하는 것을 방지하며, 진단 전 명령어 실행여부를 확인하여 진단불가능한 항목을 사전에 확인하고 진단실패사유를 확인할 수 있도록 한다. 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)은 그룹화부(10), 통신부(30) 및 결과처리부(50)를 포함하며, 데이터베이스(DB, 70)를 더 포함할 수 있다.
상기 그룹화부(10)는 진단대상시스템(T)에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하도록 한다. 상기 그룹화부(10)는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는데, 데이터베이스(DB, 70)에 저장된 명령어를 읽어들여 수집할 수 있으며, 보안관리자인 사용자로부터 목적에 따라 명령어를 입력받을 수도 있다. 이후 수집된 명령어를 소정 기준에 따라 분류하여 그룹화하는데, 바람직하게는 명령어 그룹은 실질적으로 동일한 진단관련정보에 대한 진단을 수행하는 명령어들을 포함하여 수집된 명령어들이 기능별로 그룹화된다.
도 11은 본 발명의 일 실시예에 따른 통신부(30)의 블록도이다. 도 11을 참고하면, 상기 통신부(30)는 보안 취약점 점검 대상이 되는 진단대상시스템에 명령을 전송하고 리턴값을 수신하도록 구비된다. 통신부(30)에서 명령어, 프로그램 또는 스크립트를 전송하고 진단대상시스템(T)의 응답인 리턴값을 수신함에 따라 후술하는 입력보정부(50)에서 진단대상시스템(T)을 분석하고 분류할 수 있다. 상기 통신부(30)는 접속모듈(31), 명령전송모듈(33), 수신모듈(35)을 포함한다.
상기 접속모듈(31)은 상기 진단대상시스템에 설정된 접근방법을 통해 접속할 수 있도록 구비된다. 점검 대상 시스템에 해당하는 진단대상시스템에 대한 IP 주소와 접근방법(Telnet, SSH 등), 접근 권한(ID, Password)이 지정되어 있는 경우 지정된 방법을 통해 접속할 수 있으며, 접근방법이나 접근 권한이 지정되어 있지 아니하는 경우에는 소정의 방식을 통해 접속방법을 탐지하여 접속을 시도할 수 있다. 여기서 소정의 방식이란 데이터베이스 상에서 유사한 IP주소 또는 Hostname 등 인식가능한 레이블을 통해 접근방법과 접근권한을 탐색하는 것으로, 적어도 하나 이상의 진단대상시스템(T)에 대한 데이터에서 접근방법과 접근권한을 추출하여 접속을 시도할 수 있다.
상기 접속모듈(31)은, 명령전송모듈(33)에서 전송한 명령어 그룹에 따라 수신모듈(35)에서 수신한 리턴값이 유효한 경우 다음 진단대상시스템(T)에 접속하도록 구비될 수 있다. 유효한 리턴값에 따라 진단대상시스템의 운영체제와 소프트웨어를 분석 및 분류하면서, 다른 진단대상시스템(T)에 접속하여 명령어 그룹을 전송하도록 함으로써 네트워크 상에 연결된 모든 진단대상시스템(T)의 정보를 더욱 빠르게 얻을 수 있다.
상기 명령전송모듈(33)은 명령어나 명령어 그룹을 전송하여 상기 진단대상시스템에서 명령을 수행하도록 한다. 본 발명의 바람직한 일 실시예에 있어서, 상기 명령전송모듈(33)에서 전송되는 명령 또는 명령어 그룹은 상기 진단대상시스템으로 전송되고, 진단대상시스템이 유효한 리턴값을 리턴하도록 할 수 있다. 이때, 진단대상시스템의 운영체제에 대한 정보가 DB에 등록되어 있는 경우에는 우선적으로 등록된 운영체제에 대응하는 명령어 그룹을 전송할 수 있다. 상기 명령전송모듈(33)은 진단대상시스템(T)에 모든 명령어 그룹을 전송할 수도 있고, 지정된 지원명령어만을 전송할 수도 있다.
상기 수신모듈(35)은 진단대상시스템으로부터의 리턴값을 수신하도록 구비된다. 명령전송모듈(33)로부터 전송된 명령어에 따라 진단대상시스템(T)에서 명령 수행시 리턴값이 발생하는데, 수신모듈(35)은 이 리턴값을 수신하여 후술하는 ㄱ결과처리부(50)에서 이를 분석할 수 있도록 한다.
도 12는 본 발명의 일 실시예에 따른 결과처리부(50)의 블록도이다. 도 12를 참고하면, 상기 결과처리부(50)는 진단대상시스템으로부터 수신된 결과로부터 상기 진단대상시스템의 정보를 추출하고 진단대상시스템의 보안취약점을 진단하도록 구비된다. 상기 결과처리부(50)가 수신한 결과를 분석으로써, 진단대상시스템의 보안취약점을 분석할 수 있다. 상기 결과처리부(50)는 정보추출모듈(51), 분석모듈(53) 및 취약점 판단모듈(55)을 포함한다.
삭제
삭제
상기 정보추출모듈(51)은 진단대상시스템으로부터 수신한 리턴값을 파싱하고, 파싱된 파싱정보를 분석하여 상기 진단대상시스템의 자산정보를 추출하도록 구비된다. 파싱정보는 진단대상시스템의 운영체제와 소프트웨어에 대한 진단관련정보를 포함한다. 명령어 또는 명령어 그룹에 의한 유효한 리턴값에는 진단대상시스템의 진단관련정보가 포함되어있기 때문에, 자산정보추출모듈(51)은 이러한 정보를 추출하여 비교할 수 있도록 구비된다.
상기 분석모듈(53)은 명령어 그룹의 전송을 통한 리턴값을 분석하고, 상기 리턴값에 따라 지원명령어를 지정하며 유효하지 않은 리턴값이 전송되는 사유를 확인하도록 구비된다. 상기 분석모듈(53)은 진단대상시스템으로부터 유효한 리턴값을 응답시키는 명령어에 대해서 지원명령어를 지정하고, 유효하지 않은 리턴값을 응답시키는 명령어에 대해서는 사유를 분석하여 사용자에게 통지하고, 그 결과를 데이터베이스(DB, 70)에 저장할 수 있다.
상기 취약점 판단모듈(55)은 진단대상시스템의 진단관련정보와 보안취약점 판단기준을 비교하여 취약성 여부를 판단하도록 구비된다. 결과추출모듈(53)에서 추출된 진단관련정보는 수, 스트링, True of False 등 여러 유형의 값을 가지는데, 데이터베이스로부터 판단기준을 불러와 상기 진단관련정보와 비교하여 진단관련시스템의 취약성 여부를 판단한다. 판단결과는 데이터베이스(70)에 저장될 수 있다.
다시 도 10을 참고하면, 상기 데이터베이스(DB, 70)에는 초기 네트워크에 연결된 시스템에 대한 정보, 보안취약점 진단을 위한 명령어에 대한 정보, 진단대상시스템에 대한 접속정보 등이 저장되어있다. 이후, 진단대상시스템의 운영체제 및 소프트웨어에 대한 정보가 갱신되면, 상기 정보가 데이터베이스(70)에 저장된다.
도 13은 본 발명의 바람직한 일 실시예에 따른 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템(1)에서 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법(S)의 수행에 따라 데이터가 전송되는 것을 도시한 도면이다. 도 13을 참고하면, 그룹화부(10)에서 명령어를 수집하고 기능별로 명령어 그룹을 생성하는 그룹화단계(S10)가 수행되고, 명령어 그룹은 통신부(30)를 통해 진단대상시스템(T)에 접속 후 전송된다(S31, S33). 전송된 명령어 그룹에 의해 리턴값인 결과를 수신하여(S35) 사전명령단계(S30)가 통신부에 의해 수행되고, 결과처리부(50)에서 결과를 전달받아 진단확인단계(S50)를 실시한다. 상기 진단확인단계(S50)의 수행에 따라 지원명령어와 명령어 그룹의 진단가부가 결정되면, 상기 정보는 데이터베이스에 저장되고, 에러분석을 하여 명령어가 정상적으로 실행되지 않은 이유가 사용자에게 통지될 수 있다. 이후, 진단수행단계(S70)의 수행을 위해 진단대상시스템(T)에서 보안취약점 진단 요청이 발생하면, 상기 요청을 수신하고(S71), 통신부(30)에서는 진단대상시스템에 접속하여 지원명령어를 전송한다(S73, S75). 결과처리부(50)로 전달된 리턴값은 결과처리단계(S77)에서 파싱을 거쳐 자산정보가 추출되고(S77), 추출된 자산정보를 기준으로 하여 진단대상시스템의 보안취약점을 판단하게 된다(S79).
이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한, 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 저술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.
S: 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법
S10: 그룹화단계 S11: 명령어수집단계
S13: 명령어분류단계
S30: 사전명령단계 S31: 접속단계
S33: 명령전송단계 S35: 결과수신단계
S50: 진단확인단계 S51: 파싱단계
S53: 유효리턴값 확인단계 S55: 지원명령어 지정단계
S57: 진단가부 결정단계 S59: 에러분석단계
S70: 진단수행단계 S71: 요청수신단계
S73: 후접속단계 S75: 지원명령어 전송단계
S77: 결과처리단계 S79: 취약점 판단단계
1: 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인
10: 그룹화부
30: 통신부 31: 접속모듈
33: 명령전송모듈 35: 수신모듈
50: 결과처리부 51: 정보추출모듈
53: 분석모듈 55: 취약점 판단모듈
70: 데이터베이스, DB

Claims (13)

  1. 네트워크를 통해 연결된 보안 취약점 점검 대상이 되는 진단대상시스템에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하는 그룹화단계, 보안취약점 진단 전 상기 진단대상시스템에 명령을 전송하고 리턴값을 수신하는 사전명령단계 및 수신한 리턴값을 기반으로 명령어를 통한 진단가부를 확인하는 진단확인단계를 포함하고,
    상기 그룹화단계는 상기 명령어를 기능별로 그룹화하되, 같은 진단관련정보에 대한 진단을 수행하는 명령어를 그룹화하는 명령어분류단계를 포함하며,
    상기 진단확인단계는 상기 사전명령단계에서 전송된 명령어 그룹에 따라 상기 진단대상시스템으로부터의 리턴값을 통해 정상동작하는 명령어를 확인하는 유효리턴값 확인단계, 정상동작하는 명령어를 상기 명령어 그룹의 지원명령어로 지정하는 지원명령어 지정단계 및 상기 명령어 그룹을 통해 진단관련정보를 진단 가능한지 결정하는 진단가부 결정단계를 포함하고,
    상기 진단가부 결정단계는 진단관련정보를 진단할 수 있는 지원명령어가 상기 명령어 그룹에 존재하지 않는 경우 진단불가를 결정하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  2. 제1항에 있어서, 상기 그룹화단계는 데이터베이스 또는 사용자로부터 상기 명령어분류단계에서 분류할 명령어를 수집하거나 입력받는 명령어수집단계를 더 포함하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  3. 삭제
  4. 제1항에 있어서, 상기 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법은 진단대상시스템의 보안취약점 진단을 수행하는 진단수행단계를 더 포함하고, 사전명령단계는 상기 진단수행단계 이전에 수행되며,
    상기 사전명령단계는 진단대상시스템에 설정된 접근방법을 통해 접속하는 접속단계, 상기 진단대상시스템에 상기 명령어 그룹을 전송하는 명령전송단계 및 상기 진단대상시스템으로부터의 리턴값을 수신하는 결과수신단계를 포함하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 진단확인단계는 상기 진단가부 결정단계 이후에 진단대상시스템으로부터 유효하지 않은 리턴값이 전송되는 사유를 확인하는 에러분석단계를 더 포함하고,
    상기 에러분석단계는 명령어 또는 명령어 그룹별로 진단불가 이유를 사용자에게 통지하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  8. 제1항에 있어서, 진단수행단계는 진단대상시스템으로부터 보안취약점진단을 위한 요청을 수신하는 요청수신단계, 상기 진단대상시스템에 설정된 접근방법을 통해 접속하는 후접속단계 및 접속된 진단대상시스템에 명령어를 전송하되, 전송되는 명령어는 상기 지원명령어인 지원명령어 전송단계를 포함하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  9. 제8항에 있어서, 상기 진단수행단계는 상기 지원명령어 전송단계에 따른 진단대상시스템으로부터의 리턴값을 진단대상시스템의 진단관련정보를 추출하는 결과처리단계와, 추출된 상기 진단관련정보로부터 상기 진단대상시스템의 보안취약점을 판단하는 취약점 판단단계를 더 포함하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법.
  10. 네트워크를 통해 연결된 보안 취약점 점검 대상이 되는 진단대상시스템에 전송할 명령어를 수집하고 상기 명령어를 기능별로 분류하는 그룹화부, 상기 진단대상시스템에 소정 방식을 통해 접속하여 명령을 전송하고 리턴값을 수신하는 통신부 및 수신한 리턴값을 기반으로 명령어를 통한 진단가부를 확인하고 보안취약점 진단을 수행하는 결과처리부를 포함하고,
    상기 그룹화부는 같은 진단관련정보에 대한 진단을 수행하는 명령어를 그룹화하는 명령어분류모듈을 포함하며,
    상기 결과처리부는 명령어 그룹 또는 지원명령어의 전송에 따른 진단대상시스템의 리턴값을 확인하고 상기 리턴값을 통해 보안취약점을 판단하도록 구비되며, 상기 리턴값에 따라 지원명령어를 지정하고 유효하지 않은 리턴값이 전송되는 사유를 확인하는 분석모듈과, 파싱된 파싱정보로부터 진단대상시스템의 자산정보를 추출하는 정보추출모듈 및 진단대상시스템의 진단관련정보와 보안취약점 판단기준을 비교하여 취약성 여부를 판단하는 취약점 판단모듈을 포함하되,
    상기 분석모듈은 진단대상시스템으로부터 유효한 리턴값을 응답시키는 명령어에 대해서 지원명령어를 지정하고, 유효하지 않은 리턴값을 응답시키는 명령어에 대해서는 사유를 분석하여 사용자에게 통지하며, 진단관련정보를 진단할 수 있는 지원명령어가 상기 명령어 그룹에 존재하지 않는 경우 진단불가를 결정하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템.
  11. 제10항에 있어서, 상기 그룹화부는 데이터베이스 또는 사용자로부터 명령어를 수집하거나 입력받는 명령어수집모듈을 더 포함하는 것을 특징으로 하는 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인시스템.
  12. 삭제
  13. 삭제
KR1020200025997A 2020-03-02 2020-03-02 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 KR102156359B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200025997A KR102156359B1 (ko) 2020-03-02 2020-03-02 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200025997A KR102156359B1 (ko) 2020-03-02 2020-03-02 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR102156359B1 true KR102156359B1 (ko) 2020-09-16

Family

ID=72670011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025997A KR102156359B1 (ko) 2020-03-02 2020-03-02 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102156359B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115333977A (zh) * 2022-08-11 2022-11-11 南京国电南自电网自动化有限公司 一种基于网络接口的系统诊断通道实现方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219535A (ja) * 2012-04-09 2013-10-24 Hitachi Ltd 遠隔制御管理装置、システム、管理方法、およびプログラム
KR101620601B1 (ko) 2015-03-04 2016-05-13 (주) 에스에스알 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체
KR101883400B1 (ko) * 2017-11-20 2018-07-30 주식회사 투엘소프트 에이전트리스 방식의 보안취약점 점검 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219535A (ja) * 2012-04-09 2013-10-24 Hitachi Ltd 遠隔制御管理装置、システム、管理方法、およびプログラム
KR101620601B1 (ko) 2015-03-04 2016-05-13 (주) 에스에스알 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체
KR101883400B1 (ko) * 2017-11-20 2018-07-30 주식회사 투엘소프트 에이전트리스 방식의 보안취약점 점검 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115333977A (zh) * 2022-08-11 2022-11-11 南京国电南自电网自动化有限公司 一种基于网络接口的系统诊断通道实现方法及装置
CN115333977B (zh) * 2022-08-11 2023-08-15 南京国电南自电网自动化有限公司 一种基于网络接口的系统诊断通道实现方法及装置

Similar Documents

Publication Publication Date Title
US10356044B2 (en) Security information and event management
US10965580B2 (en) Systems and methods for automated determination of network device transiting data attributes
KR101883400B1 (ko) 에이전트리스 방식의 보안취약점 점검 방법 및 시스템
US11962611B2 (en) Cyber security system and method using intelligent agents
KR102160950B1 (ko) 보안취약점 점검 시 데이터 분산처리 시스템 및 그 방법
CN113704767A (zh) 融合漏洞扫描引擎和漏洞工单管理的漏洞管理系统
CN112073437B (zh) 多维度的安全威胁事件分析方法、装置、设备及存储介质
KR102156379B1 (ko) 정보수집 프로세스를 통한 에이전트리스 방식 취약점 진단시스템 및 그 방법
KR102176324B1 (ko) 임시 권한부여를 통한 보안취약점 진단시스템 및 그 방법
KR102454948B1 (ko) IoT 기기 점검 방법 및 그 장치
KR102230442B1 (ko) 진단 대상 서버의 설정파일 수집 및 설정파일에 대한 취약점 진단의 주체가 이원화된 취약점 진단 장치 및 방법
KR101768079B1 (ko) 침입탐지 오탐 개선을 위한 시스템 및 방법
KR102156359B1 (ko) 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템
KR101767591B1 (ko) 침입탐지 오탐 개선을 위한 시스템 및 방법
CN112699369A (zh) 一种通过栈回溯检测异常登录的方法及装置
CN116318783B (zh) 基于安全指标的网络工控设备安全监测方法及装置
KR102176320B1 (ko) 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법
CN116996238A (zh) 一种网络异常访问的处理方法以及相关装置
CN115134106A (zh) 检测黑客攻击的方法及计算机程序产品
Jing-wei et al. A lightweight vulnerability scanning and security enhanced system for oracle database
KR102176336B1 (ko) 보안취약점 진단오류 분류방법 및 그 시스템
KR102159299B1 (ko) 보안취약점 점검 시 점검대상 자동인식 및 선별 시스템 및 그 방법
CN107124390B (zh) 计算设备的安全防御、实现方法、装置及系统
KR102159292B1 (ko) 미식별자산 인식시스템 및 그 방법
KR102155334B1 (ko) 다양한 진단기준을 적용한 통합 취약점 점검시스템 및 그 방법

Legal Events

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