기업의 탈법, 비리 등 부정행위를 조사할 경우 인사, 회계, 물류, 생산 등의 업무데이터(Business Data)의 확보가 필요하다. 다수의 기업들은 분산된 업무 데이터를 데이터베이스(Database)화하여 통합적으로 관리하고 있기 때문에 디지털 포렌식 조사를 위하여 데이터베이스에 대한 체계적인 업무데이터 추출기법 연구가 중요하다. 일반적인 정보체계 환경에서 데이터베이스는 상위 어플리케이션 및 대용량 파일 서버와 통합된 정보체계 내의 부분적 형태로 존재한다. 또한 사용자가 입력한 원시 업무 데이터는 정규화 과정을 거친 테이블 설계에 의해 하나 이상의 테이블에 분산되어 저장된다. 기존 데이터베이스 구조 분석에 관한 연구들은 데이터베이스의 최적화와 시각화를 위하여 테이블 간 연관관계 분석이 가장 중요한 연구대상이었다. 그러나 원시 업무데이터를 획득해야 하는 디지털 포렌식 관점의 연구는 테이블 간 연관관계 시각화보다 데이터의 해석이 더 중요한 연구대상이다. 본 논문에서는 데이터베이스 내부에서 미리 정의된 테이블 간 연관관계 분석기술뿐만 아니라 도메인 전문 지식(domain knowledge)을 활용한 체계화된 분석절차를 제시하여 데이터베이스에 저장된 원시 업무 데이터 구조를 분석하고 사건관련 데이터를 추출할 수 있는 분석방안을 제안한다.
기업의 탈법, 비리 등 부정행위를 조사할 경우 인사, 회계, 물류, 생산 등의 업무데이터(Business Data)의 확보가 필요하다. 다수의 기업들은 분산된 업무 데이터를 데이터베이스(Database)화하여 통합적으로 관리하고 있기 때문에 디지털 포렌식 조사를 위하여 데이터베이스에 대한 체계적인 업무데이터 추출기법 연구가 중요하다. 일반적인 정보체계 환경에서 데이터베이스는 상위 어플리케이션 및 대용량 파일 서버와 통합된 정보체계 내의 부분적 형태로 존재한다. 또한 사용자가 입력한 원시 업무 데이터는 정규화 과정을 거친 테이블 설계에 의해 하나 이상의 테이블에 분산되어 저장된다. 기존 데이터베이스 구조 분석에 관한 연구들은 데이터베이스의 최적화와 시각화를 위하여 테이블 간 연관관계 분석이 가장 중요한 연구대상이었다. 그러나 원시 업무데이터를 획득해야 하는 디지털 포렌식 관점의 연구는 테이블 간 연관관계 시각화보다 데이터의 해석이 더 중요한 연구대상이다. 본 논문에서는 데이터베이스 내부에서 미리 정의된 테이블 간 연관관계 분석기술뿐만 아니라 도메인 전문 지식(domain knowledge)을 활용한 체계화된 분석절차를 제시하여 데이터베이스에 저장된 원시 업무 데이터 구조를 분석하고 사건관련 데이터를 추출할 수 있는 분석방안을 제안한다.
To investigate the business corruption, the obtainments of the business data such as personnel, manufacture, accounting and distribution etc., is absolutely necessary. Futhermore, the investigator should have the systematic extraction solution from the business data of the enterprise database, becau...
To investigate the business corruption, the obtainments of the business data such as personnel, manufacture, accounting and distribution etc., is absolutely necessary. Futhermore, the investigator should have the systematic extraction solution from the business data of the enterprise database, because most company manage each business data through the distributed database system, In the general business environment, the database exists in the system with upper layer application and big size file server. Besides, original resource data which input by user are distributed and stored in one or more table following the normalized rule. The earlier researches of the database structure analysis mainly handled the table relation for database's optimization and visualization. But, in the point of the digital forensic, the data, itself analysis is more important than the table relation. This paper suggests the extraction technique from the table relation which already defined in the database. Moreover, by the systematic analysis process based on the domain knowledge, analyzes the original business data structure stored in the database and proposes the solution to extract table which is related incident.
To investigate the business corruption, the obtainments of the business data such as personnel, manufacture, accounting and distribution etc., is absolutely necessary. Futhermore, the investigator should have the systematic extraction solution from the business data of the enterprise database, because most company manage each business data through the distributed database system, In the general business environment, the database exists in the system with upper layer application and big size file server. Besides, original resource data which input by user are distributed and stored in one or more table following the normalized rule. The earlier researches of the database structure analysis mainly handled the table relation for database's optimization and visualization. But, in the point of the digital forensic, the data, itself analysis is more important than the table relation. This paper suggests the extraction technique from the table relation which already defined in the database. Moreover, by the systematic analysis process based on the domain knowledge, analyzes the original business data structure stored in the database and proposes the solution to extract table which is related incident.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
기존 연구들은 데이터베이스 최적화 관점에서 설계상의 문제점은 없는지 확인하거나, 테이블 간 연관관계를 ERD(Entity Relation Diagram)로 표현하는 것을 목적으로 하였다. 기존 연구로는 확장된 엔티티 다이어그램의 표현에 관한 연구[2], 테이블 기반의 레거시 데이터베이스에서 엔티티 간 관계의 추출에 관한 연구가 발표되었다[3].
원시 업무데이터는 어플리케이션으로부터 데이터베이스 테이블에 분할되어 저장되기 때문에 단순히 기존 연구들이 수행해 왔던 데이터베이스 내부의 테이블 연관관계 분석 정보만으로는 완벽한 원시 업무데이터를 추출할 수 없다.따라서 본 논문에서는 위에서 제시한 문제점들을 극복하고 정확한 조사 업무데이터의 획득을 위하여 원시 업무데이터 구조 분석 방안과 대용량 객체 데이터 추출 방안을 제안한다. 또한 제안한 방안을 토대로 데이터베이스 조사 도구를 구현하여 가상의 조사환경에서 조사 도구 통하여 원시 업무데이터 구조를 분석하고 조사용 업무데이터를 추출한다.
본 논문에서는 기존의 연구 및 기술로 해결할 수 없었던 테이블 간 연관관계분석의 문제점을 보완하였다. 연관관계 검증 및 해석에 있어 기술적 메타정보와 정책적 메타정보를 활용하여 연관관계 정확성을 향상시켰다.
시스템 가용성이 확보된 상태에서 분석 및 추출 방식에 대한 동의, 조사행위에 대한 기록, 딕셔너리 테이블스페이스에 대한 무결성 확보 등으로 분석 및 추출과정 중에 데이터 테이블스페이스 영역에 수정을 가하지 않았음을 증명하여 추출한 조사데이터의 신뢰성을 확보하는 것이다.
4장의 원시데이터 구조분석 절차와 같이 미리 객체화된 특성정보에서 찾을 수 있는 참조테이블은 자동으로 검색되며, 추가적으로 도메인 지식 및 샘플링 데이터를 통하여 검색한다. 이때 조사자는 어떠한 특성정보, 도메인 지식, 샘플링 데이터로 연관관계 테이블을 검색할 것인지 선택하도록 한다.
제안 방법
기술적 메타정보와 정책적 메타정보를 획득하여 연관관계 구조분석에 활용할 수 있도록 한다. 스키마를 통한 기본적인 테이블, 컬럼 정보와 산출물 분석에 의한 추가정보, 그리고 샘플링 데이터를 구축한다.
연관관계 검색 조건 당 타임아웃은 30초 이며, 메모리 사용률 CPU 사용률이 동일한 조건에서 조사도구를 테스트하기 위하여 사용자 접근을 차단하였다. 데이터 모델링 혹은 데이터베이스 디자인 소프트웨어에서 레거시 데이터베이스의 연관관계를 분석하는 DBRE 기능과 본 논문에서 제시한 조사도구를 비교하였다. 모델링 도구는 연관관계 분석 외에도 엔티티 다이어그램으로 표현하는 시간이 추가적으로 소요되기 때문에 시간비교는 제외하였다.
첫 번째는 기존의 DBRE 기술과 동일하게 시스템 카탈로그 내에 주 테이블에 대한 참조테이블 관계정보가 존재할 경우 이를 바탕으로 참조테이블을 검색하는 방법이다. 데이터베이스 설계 및 관리상 키, 인덱스 설정정보 및 동일한 컬럼명을 활용하여 주 테이블의 각 컬럼별로 검색을 수행하여 참조 테이블을 검색한다.
둘째, 주 테이블에서 각 컬럼별 참조 테이블 목록을 조사한다. 4장의 원시데이터 구조분석 절차와 같이 미리 객체화된 특성정보에서 찾을 수 있는 참조테이블은 자동으로 검색되며, 추가적으로 도메인 지식 및 샘플링 데이터를 통하여 검색한다.
전 테이블을 대상으로 데이터를 찾는 방식은 테이블의 수나 데이터의 양이 적은 경우에는 가능하지만, 대량의 업무데이터를 저장하는 데이터베이스에서 모든 테이블의 자료를 검색하는 것은 서비스 부하 및 락(Rock)을 발생시킬 수 있다. 따라서 제안하는 원시데이터 구조분석 및 추출에서는 주 테이블의 선정과 이와 관련된 연관관계를 중심으로 분석하는 절차를 제안한다.
뿐만 아니라 조사데이터의 항목이 완벽하게 주 테이블에 참조되지 못했을 경우, 지속적으로 참조 테이블의 조인과 프로젝션 과정을 반복 수행하여 조사 데이터를 추출한다. 또한 도메인 지식정보를 활용하여 프로젝션 과정까지 끝난 데이터를 검증하도록 한다.
따라서 본 논문에서는 위에서 제시한 문제점들을 극복하고 정확한 조사 업무데이터의 획득을 위하여 원시 업무데이터 구조 분석 방안과 대용량 객체 데이터 추출 방안을 제안한다. 또한 제안한 방안을 토대로 데이터베이스 조사 도구를 구현하여 가상의 조사환경에서 조사 도구 통하여 원시 업무데이터 구조를 분석하고 조사용 업무데이터를 추출한다.
대용량 데이터베이스 환경에서 최적화된 명령을 사용함으로써 정보체계 자체의 가용성을 해치지 않았고, 데이터 변경 또한 가하지 않았다. 마지막으로 제안한 원시데이터 구조분석을 설계 및 구현된 도구를 통해 실현 가능하도록 하였다.
모델링 도구는 연관관계 분석 외에도 엔티티 다이어그램으로 표현하는 시간이 추가적으로 소요되기 때문에 시간비교는 제외하였다. 모델링 도구의 경우 데이터베이스 내 모든 테이블에 대한 연관관계 분석을 수행하지만 본 논문의 조사도구는 목표로 하는 연관관계만을 선별적으로 분석한다. 따라서 실험대상 데이터베이스의 연관관계 범위는 주 테이블과의 연관관계만을 대상으로 하였다.
선정된 주 테이블의 특성 정보를 객체화 한 후, 주 테이블에 대한 모든 참조 테이블을 확인한다. 이때 두 가지 검색방법이 존재한다.
두 번째는 키 추출(Key extraction) 과정으로 데이터베이스 테이블에 대한 기본 키와 외래 키를 획득한 후 테이블 간의 상하 관계를 확인함으로써 테이블 간 연관관계를 확인한다. 세 번째는 제약사항 추출(Constraint extraction)로써 기본 키와 외래 키 사이의 카디널리티를 획득하는 것으로써 관계를 가진 두 테이블의 대응 관계를 확인하여 두 테이블 사이의 관계에 대한 유효성을 검사한다. 이러한 데이터 구조 추출로써 테이블 연관관계를 확인할 수 있다.
기술적 메타정보와 정책적 메타정보를 획득하여 연관관계 구조분석에 활용할 수 있도록 한다. 스키마를 통한 기본적인 테이블, 컬럼 정보와 산출물 분석에 의한 추가정보, 그리고 샘플링 데이터를 구축한다. 특성화 정보는 다음과 같다.
대용량 데이터베이스는 데이터 조회 서비스 가용성을 확보하기 위하여 키, 인덱스를 필수적으로 구성해야만 하기 때문에 이외의 조건들은 실험대상에서 제외하였다. 연관관계 검색 조건 당 타임아웃은 30초 이며, 메모리 사용률 CPU 사용률이 동일한 조건에서 조사도구를 테스트하기 위하여 사용자 접근을 차단하였다. 데이터 모델링 혹은 데이터베이스 디자인 소프트웨어에서 레거시 데이터베이스의 연관관계를 분석하는 DBRE 기능과 본 논문에서 제시한 조사도구를 비교하였다.
본 논문에서는 기존의 연구 및 기술로 해결할 수 없었던 테이블 간 연관관계분석의 문제점을 보완하였다. 연관관계 검증 및 해석에 있어 기술적 메타정보와 정책적 메타정보를 활용하여 연관관계 정확성을 향상시켰다. 데이터 테이블스페이스에 변경을 가하지 않았음을 증명함으로써 조사 자료의 신뢰성을 향상시켰다.
조인 조건 선택은 주테이블에 참조 테이블을 조인하기 위한 조건 C에 참여하는 컬럼을 참조테이블에서 선택하는 것이고, 조인 대상은 원시 데이터에 포함되는 참조 테이블의 컬럼을 선택하는 것이다. 이때 조사도구는 테이블 인덱스 조건, 파티셔닝 등을 자동으로 적용하여 최적화된 조인으로 데이터베이스 서비스 가용성을 해치지 않도록 한다. 세 번째 과정은 원시데이터의 항목을 모두 포함할 때까지 계속해서 수행한다.
카디널리티를 활용한 검증 이외에 샘플링 데이터의 “반드시 있어야 할 데이터”로 해당 참조관계를 검증하도록 한다. 이후 두 연관관계의 1 대 N, N 대 N 관계를 검증한다.
조사도구 실험을 위하여 대용량 데이터가 저장된 주 테이블과 연관관계 테이블 샘플을 테스트 서버에 구축하였다. 테이블 연관관계는 아래의 표 2의 A~E 조건과 같다.
언두 테이블스페이스의 용량이 부족할 경우 서비스의 가용성을 해칠 염려가 있기 때문에 가용한 용량을 모니터링 하고, 분석행위에 의한 락(Rock)의 발생여부를 체크하여 조치한다. 조사의 분석 방식, 추출방식 등을 피 조사자에게 확인 받고, 이후 추출된 조사 데이터, 딕셔너리 테이블스페이스 데이터, 조사행위 로그, 모니터링 데이터 등의 해쉬 값을 기록하여 피 조사자로 하여금 확인 및 서명하도록 한다.
조사자의 행위로 인하여 데이터 테이블스페이스(Data Tablespace)가 변경되지 않았다는 것을 증명하기 위하여 조사행위에 대한 로그를 기록한다. 딕셔너리 테이블스페이스(Dictionary Tablespace)와 같은 메타정보들이 더 이상 변경될 수 없도록 전체 사용자 권한을 분석기간 내에 일시적으로 제거하여 수정을 제어한다.
이는 샘플링 데이터가 잘못 설정되어 있을 경우 다시 연관관계 분석절차를 거치는 것이 시간상으로 비효율적이기 때문이다. 참조하고자 하는 테이블 인덱스를 활용하여 참조조건을 설정하고, 인덱스 정보를 자료화하여 최적화된 명령을 사용하도록 한다.
첫째, 분석 도구에서 데이터베이스로 접속이 성공하면 목표로 하는 원시데이터의 구조 분석을 위하여 목표 테이블스페이스, 주 테이블 이름을 선택한다. 데이터베이스는 테이블스페이스 별로 접근 가능 테이블이 한정되기 때문에 목표로 하는 원시데이터의 획득을 위하여 주 테이블을 선택하는 과정에서 테이블스페이스, 주 테이블 이름 선택은 반드시 필요한 절차이다.
분석 대상의 식별을 위하여 추출 정보의 종류, 자료의 활용빈도, 도메인에 따라 주 테이블을 선정해야 한다. 특히 자료의 활용빈도를 통한 주 테이블선정은 데이터베이스 워크로드 식별 및 테이블별 데이터의 양과 테이블 구성형식을 조사함으로써 주 테이블 선정이 가능하다.
대상 데이터
셋째, 검색된 참조테이블 리스트에서 참조테이블을 선택하여 샘플링 데이터를 열람한다. 참조테이블의 데이터 중에서 원시 데이터 항목에 포함되어야 하는 데이터가 존재한다면 참조테이블의 조인 조건 선정과 조인 대상 선정 과정이 필요하다.
성능/효과
연관관계 검증 및 해석에 있어 기술적 메타정보와 정책적 메타정보를 활용하여 연관관계 정확성을 향상시켰다. 데이터 테이블스페이스에 변경을 가하지 않았음을 증명함으로써 조사 자료의 신뢰성을 향상시켰다. 대용량 데이터베이스 환경에서 최적화된 명령을 사용함으로써 정보체계 자체의 가용성을 해치지 않았고, 데이터 변경 또한 가하지 않았다.
후속연구
하지만 이와 같은 연구들은 대상 범위가 데이터베이스 내부에 국한되며, 분석 관점이 테이블 간 연관관계 유무와 연관되는 대응 관계의 표현에 맞춰졌기 때문에 디지털 포렌식 관점에서 필요한 원시 데이터 구조 분석에는 한계가 존재하였다. 그러므로 정확한 원시 데이터의 구조분석 및 데이터 획득을 위한 추가적인 기술연구가 필요하다.
질의응답
핵심어
질문
논문에서 추출한 답변
대용량 DBMS에는 무엇이 존재하나?
대용량 DBMS는 일정한 형식의 스키마 데이터가 존재한다. 테이블의 메타정보와 컬럼의 메타정보들을 포함하고 있다.
기업의 탈법, 비리 등 부정행위 조사 할 경우 무엇의 확보가 필요하나?
기업의 탈법, 비리 등 부정행위를 조사할 경우 인사, 회계, 물류, 생산 등의 업무데이터(Business Data)의 확보가 필요하다. 다수의 기업들은 분산된 업무 데이터를 데이터베이스(Database)화하여 통합적으로 관리하고 있기 때문에 디지털 포렌식 조사를 위하여 데이터베이스에 대한 체계적인 업무데이터 추출기법 연구가 중요하다.
데이터 구조 추출의 과정은?
데이터 구조 추출은 세 과정으로 나누어진다. 첫 번째 과정은 속성 추출(Attribute extraction)로써 데이터베이스 테이블에 정의된 각 필드명은 실제 업무에서의 의미와 차이가 있을 수 있기 때문에 데이터베이스 테이블의 필드에 대해서 실제 데이터의 의미를 연결하기 위한 과정이다. 두 번째는 키 추출(Key extraction) 과정으로 데이터베이스 테이블에 대한 기본 키와 외래 키를 획득한 후 테이블 간의 상하 관계를 확인함으로써 테이블 간 연관관계를 확인한다. 세 번째는 제약사항 추출(Constraint extraction)로써 기본 키와 외래 키 사이의 카디널리티를 획득하는 것으로써 관계를 가진 두 테이블의 대응 관계를 확인하여 두 테이블 사이의 관계에 대한 유효성을 검사한다. 이러한 데이터 구조 추출로써 테이블 연관관계를 확인할 수 있다.
참고문헌 (14)
한국데이터베이스진흥센터, "2007년 데이터베이스 산업 현황 및 전망 보고서", Jan. 2007
Alhajj, R., "Extracting the extended entity-relationship model from a legacy relational database.", Information Systems 28, pp.597-618, 29 May 2002.
Dowming Yeh, Yuwen Li, William Chu, "Extracting entity-relationship diagram from a table-based legacy database.", The Journal of Systems and Software 81, pp. 764-771, 26 July 2007.
Jean-Luc Hainaut, Introduction to Database Reverse Engineering, LIBD - Laboratory of Database Application Engineering Institut d''Informatique - University of Namur, 24 Sep. 2002.
ISO/IEC 9126, "Information Technology - Software Quality Characteristics and metrics"
ISO/IEC 25000, "Software Engineering - Software Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE"
ISO/IEC 15504, "Information Technology-Software Process Assessment"
CMMI, "Capability Maturity Model Integration for Development"
행정안전부고시 제2010-85호 정보시스템 감리 기준
Oracle, "Advanced Replication Management API Reference 10g Release 1 (10.1)", Part No. B10733-01, Oracle(R) Database, Dec. 2003
IBM, "IBM DB2 Database for Linux, UNIX, and Windows", IBM DB2 Information Center, Nov. 2011
※ AI-Helper는 부적절한 답변을 할 수 있습니다.