KR101620601B1 - 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 - Google Patents
보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 Download PDFInfo
- Publication number
- KR101620601B1 KR101620601B1 KR1020150030617A KR20150030617A KR101620601B1 KR 101620601 B1 KR101620601 B1 KR 101620601B1 KR 1020150030617 A KR1020150030617 A KR 1020150030617A KR 20150030617 A KR20150030617 A KR 20150030617A KR 101620601 B1 KR101620601 B1 KR 101620601B1
- Authority
- KR
- South Korea
- Prior art keywords
- security
- data
- diagnosis
- analysis
- data file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체에 관한 것이다.
본 발명의 일측면에 따르면, 진단 대상 시스템에 설치된 에이전트를 통해 보안성 진단 서버가 보안성 진단을 수행하는 방법으로서, 1) 에이전트로부터 보안성 진단을 위한 데이터를 전송받는 단계- 상기 데이터는 특정 진단 대상 항목의 보안성 진단 분석을 위해 보안성 진단 서버에 의해 설정 또는 요청된 데이터로서, 상기 진단 대상 시스템으로부터 에이전트가 수집하거나 생성한 데이터 파일 형태로 전송됨-; 2) 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 저장하는 단계; 및 3) 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행하는 단계- 상기 보안성 진단 분석은 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄짐-;를 포함하여 구성된 보안성 진단 방법이 개시된다.
본 발명의 일측면에 따르면, 진단 대상 시스템에 설치된 에이전트를 통해 보안성 진단 서버가 보안성 진단을 수행하는 방법으로서, 1) 에이전트로부터 보안성 진단을 위한 데이터를 전송받는 단계- 상기 데이터는 특정 진단 대상 항목의 보안성 진단 분석을 위해 보안성 진단 서버에 의해 설정 또는 요청된 데이터로서, 상기 진단 대상 시스템으로부터 에이전트가 수집하거나 생성한 데이터 파일 형태로 전송됨-; 2) 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 저장하는 단계; 및 3) 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행하는 단계- 상기 보안성 진단 분석은 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄짐-;를 포함하여 구성된 보안성 진단 방법이 개시된다.
Description
본 발명은 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체에 관한 것으로서, IT 시스템의 보안성을 진단함에 있어서 진단 대상 시스템에 설치된 에이전트에서는 보안성 진단에 필요한 정보를 수집하여 전달하는 기능만을 수행하고, 리소스 소요가 많은 보안성 진단 분석 프로세스는 진단 대상 시스템이 아닌 보안성 진단 서버에서 이뤄지도록 함으로써, 보안성 진단 분석 프로세스 실행에 따른 진단 대상 시스템의 과부하의 부담을 해소할 수 있도록 구성된 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체에 관한 것이다.
IT 시스템의 보안성을 진단하기 위해서는 다양한 항목에 대한 분석이 필요하다. DB 취약점 진단의 경우를 예로 들면, 무제한 로그인 시도 차단, 패스워드 복잡도 설정, 패스워드 최대 사용 기간, DBA 권한 제한 등의 항목에 대한 분석이 필요하다.
종래에는 IT 시스템의 보안성을 진단함에 있어서 진단 대상 시스템에 설치된 에이전트에서 보안성 진단에 필요한 정보를 수집하고 분석한 후, 분석 결과를 보안성 진단 서버로 전송하는 과정을 통해 보안성 진단이 이뤄졌다.
보안성 분석에 소요되는 컴퓨팅 리소스의 측면에서, 이러한 종래의 방식은 에이전트가 설치된 진단 대상 시스템의 리소스(예, CPU, 메모리 등)를 사용하는 방식으로 볼 수 있다.
그런데, 종래의 보안성 진단 방식에 따르면, 보안성 분석에 에이전트가 설치된 진단 대상 시스템의 리소스를 사용하므로, 분석 프로세싱 과정에서 컴퓨팅 리소스의 사용이 많이 필요한 경우 진단 대상 시스템 자체의 운영 안정성을 크게 해칠 수 있다는 문제점이 있었다.
특히, 이러한 보안성 진단 과정에서, 특정 항목의 분석 과정에는 컴퓨팅 리소스가 많이 필요할 수 있는데, 진단 대상 시스템 자체의 컴퓨팅 리소스를 사용하는 종래의 방식의 경우, 이러한 특정 항목에 대해서는 분석이 이뤄지기 어렵다는 문제점도 있었다.
일예로, 패스워드가 보안에 취약한지의 여부를 확인하기 위해, 패스워드 크랙(crack) 프로그램을 사용하여 패스워드를 추측(guessing)하는 방식으로 진단이 이뤄질 수 있다. 이러한 패스워드 추측 프로세스는 쓰레드 당 CPU를 100% 사용하는 부하가 높은 작업이므로, 진단 대상 시스템 자체의 컴퓨팅 리소스를 사용하기가 어렵다는 문제점이 있었다.
또한, 정보의 수집, 분석, 결과 생성으로 이뤄지는 보안성 진단 단계 중 어느 하나의 단계에서 오류가 발생하는 경우에는 전체 단계에 대한 재수행이 이뤄질 수 있으므로, 종래의 방식의 경우, 진단 대상 시스템의 컴퓨팅 리소스의 사용이 더욱 많이 필요하게 된다는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로서, IT 시스템의 보안성을 진단함에 있어서 진단 대상 시스템에 설치된 에이전트에서는 보안성 진단에 필요한 정보를 수집하여 전달하는 기능만을 수행하고, 리소스 소요가 많은 보안성 진단 분석 프로세스는 진단 대상 시스템이 아닌 보안성 진단 서버에서 이뤄지도록 함으로써, 보안성 진단 분석 프로세스 실행에 따른 진단 대상 시스템의 과부하의 부담을 해소할 수 있도록 구성된 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체를 제공하는 것을 그 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따르면, 진단 대상 시스템에 설치된 에이전트를 통해 보안성 진단 서버가 보안성 진단을 수행하는 방법으로서, 1) 에이전트로부터 보안성 진단을 위한 데이터를 전송받는 단계- 상기 데이터는 특정 진단 대상 항목의 보안성 진단 분석을 위해 보안성 진단 서버에 의해 설정 또는 요청된 데이터로서, 상기 진단 대상 시스템으로부터 에이전트가 수집하거나 생성한 데이터 파일 형태로 전송됨-; 2) 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 저장하는 단계; 및 3) 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행하는 단계- 상기 보안성 진단 분석은 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄짐-;를 포함하여 구성된 보안성 진단 방법이 개시된다.
바람직하게, 상기 데이터는, 파일 및 디렉터리 권한 데이터, 파일 내용 데이터, 프로세스 현황 데이터, 네트워크 서비스 현황 데이터, 시스템 명령어 실행 결과 데이터 중 적어도 어느 하나이며, 상기 분석용 데이터는, 상기 데이터가 포함된 데이터 파일로부터 추출 또는 생성한 것임을 특징으로 한다.
바람직하게, 본 발명은, 4) 재분석 요청을 확인하는 단계- 상기 재분석 요청은 재분석 요청 입력 또는 상기 보안성 진단 서버에 미리 설정된 기준에 따른 재분석 요청 이벤트 발생에 따라 이뤄짐-; 및 5) 상기 2) 단계에서 저장된 데이터 파일로부터 분석용 데이터를 추출 또는 생성하여 보안성 진단 재분석을 실행하는 단계;를 더 포함하여 구성된다.
바람직하게, 상기 1) 단계에서 데이터 파일의 전송은 직렬화된 데이터 형태로 전송하며, 상기 2) 단계에서 데이터 파일의 저장은 구조화된 데이터 형태로 저장하는 것을 특징으로 한다.
바람직하게, 본 발명은, 상기 1) 단계 전에, 상기 에이전트로 데이터베이스 보안성 진단을 위한 데이터를 요청하며; 상기 1) 단계에서, 에이전트로부터 데이터베이스 보안성 진단을 위한 데이터를 전송받으며- 상기 데이터는, 상기 에이전트가 특정 진단 대상 항목의 보안성 진단 분석에 필요한 데이터가 포함된 테이블을 쿼리(query) 실행을 통해 수집한 것임-; 상기 2) 단계에서, 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 쿼리(query) 실행이 가능한 데이터 파일 형태로 저장하며; 상기 3) 단계에서, 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행- 상기 보안성 진단 분석은 쿼리(query) 실행을 통해 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄짐-;하도록 더욱 구성된 것을 특징으로 한다.
바람직하게, 상기 쿼리(query) 실행이 가능한 데이터 파일은, 복수의 데이터 테이블이 조인(join)되어 이뤄진 것임을 특징으로 한다.
본 발명의 또다른 일측면에 따르면, 하드웨어와 결합되어 상기 보안성 진단 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 개시된다.
본 발명의 또다른 일측면에 따르면, 상기 보안성 진단 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체가 개시된다.
이와 같은 본 발명은, IT 시스템의 보안성을 진단함에 있어서 리소스 소요가 많은 보안성 진단 분석 프로세스가 진단 대상 시스템이 아닌 보안성 진단 서버에서 이뤄지도록 함으로써, 보안성 진단 분석 프로세스 실행에 따른 진단 대상 시스템의 과부하의 부담을 해소할 수 있다는 장점이 있다.
또한, 본 발명은, 컴퓨팅 리소스가 많이 필요한 특정 항목의 분석도 원활하게 수행될 수 있다는 장점이 있다.
또한, 본 발명은, 정보의 수집, 분석, 결과 생성으로 이뤄지는 보안성 진단 단계 중 어느 하나의 단계에서 오류가 발생하더라도, 분석 및 결과 생성에 대한 재수행은 보안성 진단 서버에서 이뤄지므로, 진단 대상 시스템의 컴퓨팅 리소스의 소요에 대한 부담을 더욱 경감시키는 장점이 있다.
도 1은 본 발명의 일실시예에 따른 보안성 진단 방법이 실행되는 시스템 구성도,
도 2는 본 발명의 일실시예에 따른 보안성 진단 방법의 흐름도이다.
도 2는 본 발명의 일실시예에 따른 보안성 진단 방법의 흐름도이다.
본 발명은 그 기술적 사상 또는 주요한 특징으로부터 벗어남이 없이 다른 여러가지 형태로 실시될 수 있다. 따라서, 본 발명의 실시예들은 모든 점에서 단순한 예시에 지나지 않으며 한정적으로 해석되어서는 안 된다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다", "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일실시예에 따른 보안성 진단 방법이 실행되는 시스템 구성도이다.
본 실시예의 보안성 진단 서버(1000)는, 진단 대상 시스템(2000)에 설치된 에이전트(2010)를 통해 네트워크(10)로 연동하는 진단 대상 시스템(2000)에 대한 보안성 진단을 수행하는 서버로서, 보안 정책 설정부(1010), 보안성 진단부(1012), 데이터 관리부(1014), 제어부(1016)를 포함하여 구성된다.
상기 보안 정책 설정부(1010)는, 보안성 진단을 위한 진단 대상 항목의 설정과 보안성 기준 설정을 포함하는 보안 정책 전반의 설정 및 관리 기능을 수행한다. 이러한 정책 설정 및 수정은 보안성 진단 서버(1000)의 관리자 또는 사용자 클라이언트를 통해 이뤄질 수 있다.
상기 보안성 진단부(1012)는, 에이전트(2010)로부터 전송되어 저장된 데이터 파일에 근거하여, 각 진단 대상 항목별로 보안성 기준 충족 여부를 판단하는 기능을 수행한다.
상기 데이터 관리부(1014)는, 에이전트(2010)로부터 전송된 데이터를 데이터 파일 형태로 저장하여 관리하고, 보안성 진단부(1012)의 요청에 의해 데이터를 독출하여 제공하는 기능을 수행한다. 상기 데이터 관리부(1014)는, 보안성 진단 결과에 대한 저장 및 제공, 관리 기능도 수행한다.
상기 제어부(1016)는, 보안성 진단 서버(1000)의 일반적인 서버 관리 기능을 수행한다.
본 실시예의 에이전트(2010)는, 진단 대상 시스템(2000)에 설치 및 구동되는 프로그램으로 이해될 수 있으며, 일예로, 진단 대상 시스템(2000)의 운영 체제, 각종 응용 프로그램, 데이터베이스, 네트워크용 프로그램 등의 접속/사용 권한 설정, 사용 조건 설정, 데이터베이스 접속/사용 설정 등과 같이 보안성 진단과 관련된 각종 데이터를 수집하여 보안성 진단 서버(1000)로 전송하는 기능을 수행한다.
본 실시예의 에이전트(2010)는, 진단 대상 시스템(2000)으로부터 수집하거나 생성한 데이터를 데이터 파일 형태로 바로 전송할 수도 있으며, 바람직한 일예로, 진단 대상 시스템(2000)의 저장 공간에 부담을 주지 않는 범위에서 데이터 파일 형태로 일단 저장을 한 후 전송할 수도 있다. 데이터 파일의 형태는 특별한 제약을 갖지는 않으며, 바람직하게는 구조화된 데이터 형태(미리 설정된 구조/계층에 근거하여 데이터가 결합된 파일) 형태로 저장될 수 있다. 데이터 구조는 공지의 다양한 구조체 데이터 정의 방식 또는 데이터 저장/전송 규격 등에 근거하여 정의될 수 있다.
본 실시예의 에이전트(2010)는, 진단 대상 시스템(2000)으로부터 수집하거나 생성한 데이터를 직렬화된 데이터 형태로 전송할 수 있다.
일예로, 직렬화된 데이터는 SAM(Sequential Access Method) 파일과 같은 순차 파일의 개념으로 이해될 수 있다. 순차 파일이란, 데이터 레코드를 일렬로 순차적으로 기록해 놓은 파일 구조로 이해될 수 있다.
도 2는 본 발명의 일실시예에 따른 보안성 진단 방법의 흐름도이다.
S1 단계에서, 보안성 진단 서버는, 에이전트로부터 보안성 진단을 위한 데이터를 전송받는다.
바람직하게, 상기 데이터는, 파일 및 디렉터리 권한 데이터, 파일 내용 데이터, 프로세스 현황 데이터, 네트워크 서비스 현황 데이터, 시스템 명령어 실행 결과 데이터 중 적어도 어느 하나가 된다.
상기 데이터는 특정 진단 대상 항목의 보안성 진단 분석을 위해 보안성 진단 서버에 의해 설정 또는 요청된 데이터로서, 상기 진단 대상 시스템으로부터 에이전트가 수집하거나 생성한 데이터 파일 형태로 전송된다. 데이터 파일의 전송은 주기적 또는 비주기적으로 이뤄질 수 있다.
바람직하게, 상기 S1 단계에서 데이터 파일의 전송은 직렬화된 데이터 형태로 전송이 이뤄질 수 있다.
S2 단계에서, 보안성 진단 서버는, 상기 전송된 데이터 파일을 저장한다.
바람직하게, 상기 S2 단계에서 데이터 파일의 저장은 구조화된 데이터 형태로 저장이 이뤄질 수 있다. 구조화된 데이터 형태는, 미리 설정된 구조/계층에 근거하여 데이터가 결합된 파일 형태로 이해될 수 있으며, 이러한 데이터 구조는 공지의 다양한 구조체 데이터 정의 방식 또는 데이터 저장/전송 규격 등에 근거하여 정의될 수 있다.
S3 단계에서, 보안성 진단 서버는, 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행한다.
바람직하게, 상기 보안성 진단 분석은 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄진다.
일예로, 상기 판단에 따른 보안성 진단 결과는, 관리자 또는 사용자 클라이언트를 통해 전자 문서화 되어 제공될 수 있다.
한편, 상기 S2 내지 S3 단계의 실행 과정이나 실행 결과에서 오류가 발생된 경우에는 재분석이 이뤄질 수 있다.
이를 위해, S4 단계에서, 보안성 진단 서버는, 재분석 요청을 확인한다.
상기 재분석 요청은 관리자 또는 사용자 클라이언트를 통한 재분석 요청 입력 또는 상기 보안성 진단 서버에 미리 설정된 기준에 따른 재분석 요청 이벤트 발생에 따라 이뤄진다. 일예로, 재분석 요청 이벤트는, 상기 S2 내지 S3 단계의 실행 과정이나 실행 결과에 따라 발생된 데이터가 미리 설정된 오류 발생 기준에 해당하는 것으로 판단된 경우 보안성 진단 서버에 의해 자동 발생되도록 구성될 수 있다.
S5 단계에서, 보안성 진단 서버는, 상기 S2 단계에서 저장된 데이터 파일로부터 분석용 데이터를 추출 또는 생성하여 보안성 진단 재분석을 실행한다.
Linux 시스템을 예로 들면, 진단 대상 항목 중 '사용자 계정에 대한 패스워드 보안성 확인'이 있다면 다음의 표 1과 같은 '/etc/shadow' 파일을 이용하여 보안성 분석을 실행하게 된다.
'/etc/shadow' 파일은 특정 사용자 계정의 실제 패스워드가 기록된 '/etc/passwd'가 암호화된 데이터 파일로서 다음의 표 2와 같은 항목별 데이터를 포함한다.
항목 | 제목 | 내용 |
1 | Login Name | 사용자 계정 명칭 |
2 | Encrypted | 패스워드를 암호화시킨 값 |
3 | Last Changed | 1970년부터 1월 1일부터 패스워드가 수정된 날짜의 일수를 계산 |
4 | Minimum | 패스워드가 변경되기 전 최소사용기간(일수) |
5 | Maximum | 패스워드 변경 전 최대사용기간(일수) |
6 | Warn | 패스워드 사용 만기일 전에 경고 메시지를 제공하는 일수 |
일예로, 진단 대상 항목이 '파일 및 디렉터리 권한 데이터'에 관한 것으로서, 세부 항목이 '패스워드 변경 관리'로서 '패스워드는 30일에 한번씩 변경되어야 한다'는 보안성 기준이 설정되어 있는 경우에는, 보안성 진단 서버에서 분석을 실행하는 분석 시점을 기준으로 보안성 진단 대상이 되는 사용자 계정의 '/etc/shadow' 파일의 항목 3 'Last Changed'을 확인하여 패스워드 변경 시점이 아직 30일 이내인지를 분석하면 된다. 만일, 항목 3 'Last Changed'에 대한 분석 결과, 패스워드 변경 시점이 아직 30일 이내이면 보안성 기준을 충족하는 것으로 판단할 수 있고, 그렇지 않다면 보안성 기준을 충족하지 못한 것으로 판단하게 된다. 이러한 판단은 진단 대상 시스템에서 관리하는 사용자 계정 중 일부 또는 전부에 대하여 이뤄질 수 있다.
다른 예로, 진단 대상 항목이 '파일 및 디렉터리 권한 데이터'에 관한 것으로서, 세부 항목이 '패스워드 해킹 용이성'으로서 '패스워드는 패스워드 추측(password guessing) 기법에 의해 해킹되지 않아야 한다'는 보안성 기준이 설정되어 있는 경우에는, 보안성 진단 서버에서 사용자 계정의 '/etc/shadow' 파일의 항목 2 'Encrypted'을 패스워드 크래킹 프로그램에 입력하여 패스워드 추측(password guessing)이 가능한지 여부를 확인하는 방식으로 분석하게 된다.
'/etc/shadow' 파일의 항목 2 'Encrypted'는 '$암호화방식$솔트(salt)값$해시값'의 구조를 가지며, 일예로, 암호화방식이 '1'이면 MD5로 암호화된 것이며, 솔트값은 진단 대상 시스템으로부터 랜덤으로 부여되는 값으로 이해될 수 있다. 패스워드와 솔트값을 더한 값을 MD5로 암호화하면 해시값이 구해지며, 이들 값을 결합하면 표 1의 항목 2에 예시된 형태의 'Encrypted'가 생성된다.
예를 들어, 진단 대상 시스템의 에이전트를 통해 솔트값과 해시값을 수집하고, 사전공격파일과 솔트값을 이용하여 특정 해시값을 생성하며, 생성된 해시값과 수집한 해시값을 비교하여 동일한 값이 나올 때까지 반복 생성을 하여 동일한 값이 나오게 되면, 해당 값이 패스워드인 것으로 판단할 수 있다.
패스워드가 파악되지 못하거나 상기 반복 생성 횟수가 소정의 기준 횟수를 초과하는 경우라면 보안성 기준을 충족하는 것으로 판단할 수 있고, 그렇지 않다면 보안성 기준을 충족하지 못한 것으로 판단하게 된다.
특히, 상술한 바와 같이, 패스워드 크래킹 프로그램을 이용하는 경우, 진단 대상 시스템 자체의 컴퓨팅 리소스를 사용하는 종래의 방식에서는 이러한 분석 자체를 수행하는 것이 실질적으로 불가능하였지만, 본 실시예의 경우, 진단 대상 시스템의 에이전트로부터 '/etc/shadow' 파일을 전송받아, 크래킹 프로그램의 구동은 보안성 진단 서버에서 이뤄지므로, 진단 대상 시스템에 대한 과부하 위험성이 없이 패스워드 보안성 진단을 수행할 수 있다는 장점이 있다.
한편, 데이터베이스에 대한 보안성 진단은 다음과 같이 더욱 구성될 수 있다.
상기 S1 단계 전에, 보안성 진단 서버는, 상기 에이전트로 데이터베이스 보안성 진단을 위한 데이터를 요청한다.
상기 S1 단계에서, 보안성 진단 서버는, 에이전트로부터 데이터베이스 보안성 진단을 위한 데이터를 전송받는다.
상기 데이터는, 상기 에이전트가 특정 진단 대상 항목의 보안성 진단 분석에 필요한 데이터가 포함된 테이블을 쿼리(query) 실행을 통해 수집한 것이다.
상기 S2 단계에서, 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 쿼리(query) 실행이 가능한 데이터 파일 형태로 저장한다.
바람직하게, 상기 쿼리(query) 실행이 가능한 데이터 파일은, 복수의 데이터 테이블이 조인(join)되어 이뤄진 것이 되며, 이러한 테이블 조인은 에이전트에서 데이터 저장 시 또는 전송 전에 이뤄지거나 보안성 진단 서버에서 데이터 수신 후 저장 시에 이뤄질 수도 있다.
상기 S3 단계에서, 보안성 진단 서버는, 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행한다.
바람직하게, 상기 보안성 진단 분석은 쿼리(query) 실행을 통해 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄진다.
상기와 같은 방식으로, 데이터베이스 보안성 진단을 하는 경우, 데이터 수집을 위한 에이전트의 테이블 쿼리(query)는 진단 대상 시스템 내에서 테이블 당 1회만 실행되면 되고, 보안성 진단 분석을 위한 각각의 테이블에 대한 다수회의 쿼리는 데이터베이스 테이블이 데이터 파일로 저장된 보안성 진단 서버에서 실행하면 되므로, 진단 대상 시스템 내에서의 테이블 쿼리 횟수를 대폭 줄일 수 있다는 장점이 있다.
일예로, 하기의 표 3은 '무제한 로그인 시도 차단'에 관한 보안성 진단을 위한 쿼리문이고, 표 4는 '패스워드 복잡도 설정'에 관한 보안성 진단을 위한 쿼리문이고, 표 5는 '패스워드 최대 사용 기간'에 관한 보안성 진단을 위한 쿼리문이고, 표 6은 'DBA 권한 제한'에 관한 보안성 진단을 위한 쿼리문이다.
표 3 내지 표 6의 쿼리문은 각각 'dba_users' 테이블과, 'dba_profiles' 테이블과, 'dba_role_privs' 테이블 중 2개의 테이블을 동시에 쿼리하도록 구성되어 있다.
종래의 예와 같이, 진단 대상 시스템에서 에이전트가 보안성 진단을 직접 실행하려면, 동일한 테이블에 대한 중복 쿼리를 포함하여 총 8회의 테이블 접근이 필요하지만, 본 실시예의 경우 이러한 복잡한 쿼리 실행은 보안 진단 서버에서 이뤄지고 진단 대상 시스템에서는 'dba_users' 테이블과, 'dba_profiles' 테이블과, 'dba_role_privs' 테이블 각각에 대하여 1회씩만 접근이 이뤄지므로 총 3회의 접근만이 필요하게 된다. 이러한 방식을 취하게 되면, 진단 대상 시스템에서의 데이터베이스 쿼리 실행 횟수를 대폭 줄여 진단 대상 시스템의 리소스 소모를 대폭 줄일 수 있다는 장점이 있다.
본 발명의 실시예들은 실행 프로그램 동작 감시방법을 실행시키기 위하여, 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 프로그램 및 상기 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체를 포함한다.
상기 컴퓨터로 판독 가능한 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
본 발명은 첨부된 도면을 참조하여 바람직한 실시예를 중심으로 기술되었지만 당업자라면 이러한 기재로부터 본 발명의 범주를 벗어남이 없이 많은 다양하고 자명한 변형이 가능하다는 것은 명백하다. 따라서 본 발명의 범주는 이러한 많은 변형예들을 포함하도록 기술된 특허청구범위에 의해서 해석돼야 한다.
1000: 보안성 진단 서버
2000: 진단 대상 시스템
2010: 에이전트
2000: 진단 대상 시스템
2010: 에이전트
Claims (8)
- 진단 대상 시스템에 설치된 에이전트를 통해 보안성 진단 서버가 보안성 진단을 수행하는 방법으로서,
1) 에이전트로부터 보안성 진단을 위한 데이터를 전송받는 단계- 상기 데이터는 특정 진단 대상 항목의 보안성 진단 분석을 위해 보안성 진단 서버에 의해 설정 또는 요청된 데이터로서 상기 진단 대상 항목은 패스워드 해킹 용이성이고 상기 데이터는 패스워드를 암호화시킨 값이며, 상기 진단 대상 시스템으로부터 에이전트가 수집하거나 생성한 데이터 파일 형태로 전송됨-;
2) 상기 보안성 진단 서버가 상기 전송된 데이터 파일을 저장하는 단계; 및
3) 상기 저장된 데이터 파일을 이용하여 보안성 진단 분석을 실행하는 단계- 상기 보안성 진단 분석은 상기 데이터 파일로부터 추출 또는 생성한 분석용 데이터가 진단 대상 항목 별로 설정된 보안성 기준을 충족하는지 여부를 판단하는 방식으로 이뤄지되, 패스워드를 암호화시킨 값을 패스워드 크래킹 프로그램에 입력하여 생성한 분석용 데이터에 근거하여 패스워드 추측(password guessing)이 가능한지 여부를 판단하는 방식으로 이뤄짐-;를 포함하여 구성된 보안성 진단 방법.
- 삭제
- 제1항에 있어서,
4) 재분석 요청을 확인하는 단계- 상기 재분석 요청은 재분석 요청 입력 또는 상기 보안성 진단 서버에 미리 설정된 기준에 따른 재분석 요청 이벤트 발생에 따라 이뤄짐-; 및
5) 상기 2) 단계에서 저장된 데이터 파일로부터 분석용 데이터를 추출 또는 생성하여 보안성 진단 재분석을 실행하는 단계;를 포함하여 구성된 보안성 진단 방법.
- 제1항에 있어서,
상기 1) 단계에서 데이터 파일의 전송은 직렬화된 데이터 형태로 전송하며,
상기 2) 단계에서 데이터 파일의 저장은 구조화된 데이터 형태로 저장하는 것을 특징으로 하는 보안성 진단 방법.
- 삭제
- 삭제
- 하드웨어와 결합되어 제1항에 따른 보안성 진단 방법을 실행시키기 위하여 기록 매체에 저장된 컴퓨터 프로그램.
- 제1항에 따른 보안성 진단 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150030617A KR101620601B1 (ko) | 2015-03-04 | 2015-03-04 | 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150030617A KR101620601B1 (ko) | 2015-03-04 | 2015-03-04 | 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101620601B1 true KR101620601B1 (ko) | 2016-05-13 |
Family
ID=56023719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150030617A KR101620601B1 (ko) | 2015-03-04 | 2015-03-04 | 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101620601B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102155334B1 (ko) | 2020-02-10 | 2020-09-14 | 주식회사 이글루시큐리티 | 다양한 진단기준을 적용한 통합 취약점 점검시스템 및 그 방법 |
KR102156359B1 (ko) | 2020-03-02 | 2020-09-16 | 주식회사 이글루시큐리티 | 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 |
KR102159299B1 (ko) | 2020-02-10 | 2020-09-24 | 주식회사 이글루시큐리티 | 보안취약점 점검 시 점검대상 자동인식 및 선별 시스템 및 그 방법 |
KR102176324B1 (ko) | 2020-03-19 | 2020-11-10 | 주식회사 이글루시큐리티 | 임시 권한부여를 통한 보안취약점 진단시스템 및 그 방법 |
KR102176320B1 (ko) | 2020-03-02 | 2020-11-10 | 주식회사 이글루시큐리티 | 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법 |
US20220318374A1 (en) * | 2021-03-30 | 2022-10-06 | Yokogawa Electric Corporation | Diagnosis apparatus, diagnosis method, and computer-readable recording medium |
-
2015
- 2015-03-04 KR KR1020150030617A patent/KR101620601B1/ko active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102155334B1 (ko) | 2020-02-10 | 2020-09-14 | 주식회사 이글루시큐리티 | 다양한 진단기준을 적용한 통합 취약점 점검시스템 및 그 방법 |
KR102159299B1 (ko) | 2020-02-10 | 2020-09-24 | 주식회사 이글루시큐리티 | 보안취약점 점검 시 점검대상 자동인식 및 선별 시스템 및 그 방법 |
KR102156359B1 (ko) | 2020-03-02 | 2020-09-16 | 주식회사 이글루시큐리티 | 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 |
KR102176320B1 (ko) | 2020-03-02 | 2020-11-10 | 주식회사 이글루시큐리티 | 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법 |
KR102176324B1 (ko) | 2020-03-19 | 2020-11-10 | 주식회사 이글루시큐리티 | 임시 권한부여를 통한 보안취약점 진단시스템 및 그 방법 |
US20220318374A1 (en) * | 2021-03-30 | 2022-10-06 | Yokogawa Electric Corporation | Diagnosis apparatus, diagnosis method, and computer-readable recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544154B2 (en) | Systems and methods for monitoring distributed database deployments | |
KR101620601B1 (ko) | 보안성 진단 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체 | |
KR102264288B1 (ko) | 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법 | |
Zipperle et al. | Provenance-based intrusion detection systems: A survey | |
US8056141B2 (en) | Method for monitoring stored procedures | |
US7356545B2 (en) | Enabling relational databases to incorporate customized intrusion prevention policies | |
US20110239293A1 (en) | Auditing access to data based on resource properties | |
US20090063437A1 (en) | Secure hosted databases | |
US10171487B2 (en) | Generating a virtual database to test data security of a real database | |
WO2011054555A1 (en) | Method and system for managing security objects | |
US11595416B2 (en) | Method, product, and system for maintaining an ensemble of hierarchical machine learning models for detection of security risks and breaches in a network | |
US20120254416A1 (en) | Mainframe Event Correlation | |
KR102338998B1 (ko) | 로그 무결성 검사 및 이를 통한 로그 위변조 행위 증빙 시스템 및 그 방법 | |
Sekar et al. | eaudit: A fast, scalable and deployable audit data collection system | |
CN115906184B (zh) | 一种控制进程访问文件的方法、装置、介质及电子设备 | |
Sapegin et al. | Evaluation of in‐memory storage engine for machine learning analysis of security events | |
CN113949578B (zh) | 基于流量的越权漏洞自动检测方法、装置及计算机设备 | |
KR101318234B1 (ko) | 데이터베이스 시스템을 위한 데이터 캐시 방법 및 장치 | |
Fonseca et al. | Detecting malicious SQL | |
Sapegin et al. | High-speed security analytics powered by in-memory machine learning engine | |
KR102022984B1 (ko) | 웹 기반의 sso 서비스 방법 | |
CN113468217A (zh) | 数据查询管理方法、装置、计算机设备及可读存储介质 | |
US11797419B2 (en) | Task-specific logging in digital computer systems | |
US8756699B1 (en) | Counting unique identifiers securely | |
Kamra et al. | Privilege states based access control for fine-grained intrusion response |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190425 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200225 Year of fee payment: 5 |