3.2차 중간 보고

                 종합설계 프로젝트 2차 중간보고서 요약

팀명

15조

제출일

2013 5 2일

프로젝트 제목

CIA(Critical Information Alarm)

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

  • 프로젝트의 목표

가. 개인정보의 유출을 정확히 탐지함으로써 통보 대상 및 시점에 대한 모호성을 줄일 수 있는 

     시스템을 개발한다.


나. DB 단에서 필요한 정보만을 가지고 동작하여 기존 서비스의 성능에 대한 영향을 최소화하는

     시스템을 구축한다. 


다. 다른 서비스에 제한되지 않게 플랫폼을 독립적으로 개발한다.


라. 애플리케이션을 통한 사용자 친화적 시스템을 구축한다.


결과적으로 정보주체는 본인이 제공한 개인정보에 대한 합당한 권리를 보장 받을 수 있고, 시스템은 개인정보 처리에 대한 부담을 덜 수 있게 하는 것이 최종 목표이다.

  •   계획서 상의 연구내용

CIA 프로젝트에서는 데이터베이스로 들어오는 요청을 중간에 수집(Sniffing)하고 수집한 데이터를 분석(Parsing)하여 그로 인한 결과를 판단하여 알릴 수 있는 시스템(Push Service)이 필요하다. 그리고 연구를 위한 가상의 구현 공간(Virtual System)이 필요하다.


1. 가상 웹사이트 구현
Apache와 MySql, PHP 기반의 웹 서버와 DB 서버를 이용하여 실제 사용되고 있는 사이트와 유사한 시스템의 가상 환경을 설계한다.

2. Sniffing
Pcap 라이브러리를 이용하여 웹 서버에 요청되는 Query 문을 Sniffing 하는 기술을 구현한다.

3. Query Parsing
탐지되는 과정에서 오탐가능성을 없애기 위하여 정규표현식을 이용한 결과값 분석이 아닌 Sniffing으로 수집한 Query문으로부터 Table과 Column 명을 추출하기 위한 Query Parser를 구현한다.

4. Push Service
구글의 GCM 서비스를 이용하여 서버로부터 알림을 받고 기록을 조회할 수 있는 어플리케이션을 개발하고 기타 부가적인 서비스를 구현한다.

마일스톤 수행 내용

1.  가상 웹사이트 구현

Apache 기반의  서버를 구축하고 MySql 기반의 데이터베이스 서버를 구축하였다그리고 PHP 기반  사이트를 구현하여 기존에 존재하는  사이트와 유사한 환경을 구현하였다.

기존의  사이트처럼 회원 가입  주민등록번호연락처주소  다양한 개인정보를 입력하도록 만들어 CIA 프로젝트를 테스트   있는 환경을 만들었다.

주민등록번호에 대한 부분은 저장하지 않는 방향으로 서버를 구현하였다하지만 추후 다양한 내용에 대한 검증을 위해서는 주민등록번호 역시 HASH 암호화된 형태로 저장을 하여 검증 대상에 포함하도록 구현해야  것이다. 

2.  Sniffing

Pcap 라이브러리를 이용하여 가상 웹사이트에서 항목을 선택할  DB 서버에 들어오는 패킷을 Sniffing하여 실행되는 Query 문을 수집하는 기능을 구현하였다패킷에서 다양한 정보를 추출 할 수 있지만 그 중에서 Query 문과 IP Address 만이 필요하다.

하지만 현재 Parser에서 구현되어 있는 입력파일의 형태가 쿼리문 형태의 문자열만을 Parsing하도록 구현이 되어 있어 현재 시연 가능한 수준인 IP 주소를 제외한 쿼리문만 남기도록 소스코드를 변경하였다.

3. Query Parser 

Java 파일 입출력을 통하여 Log를 Scan한다. Log 확인은 지정한 정규표현식을 이용하여 확인한다. 확인 후 Query Parser를 통해 입력된 Query 문에서 Table 명과 Column 명을 추출한다. 이후 Jsql-Parser를 이용하여 구현한 프로그램으로 각 Token을 생성한다. Token의 조합으로 개인정보를 확인 후 개인정보여부에 따라 HTTP 통신을 통하여 패킷을 보낸다. 분석이 끝난 Log는 삭제하여 Local 상에는 기록을 남기지 않는다.

4.  Push Service

Google에서 제공하는 GCM(Google Cloud Messaging)을 이용하여 안드로이드 애플리케이션의 푸쉬 기능을 구현한다.

서버는 GCM 서버에 메시지를 전송하고 메시지를 받은 GCM 서버는 디바이스의 안드로이드 애플리케이션에 메시지를 전송한다.

디바이스에서는 HttpRequest를 이용하여 서버에 디바이스 고유의 아이디와 자신의 개인 아이디 등록 요청과 로그 기록 조회 요청을 한다. 로그 조회 요청을 받은 서버는 디바이스에서 로그 기록을 조회 할 수 있도록 xml 형식의 페이지를 제공하고 애플리케이션은 전송받은 페이지를 Parsing 과정을 거쳐 ListView 형식으로 화면에 보여준다.

5.  Alarm Level의 세분화

알람의 단계를 Level1(Normal), Level2(Warning), Level3(Emergency), Level4(Critical) 네 단계로 나누었다. Level1 Normal 단계는관리자나, 사내 IP, 인트라넷 등으로 유입되는 Query 중, 개인정보를 업무적으로 사용하였다는 판단이 될 경우. Level2 Warning 단계는 외부 공인 IP로 유입되는 Query 중, 개인정보의 정상적인 사용이라는 판단이 될 경우. Level3 Emergency 단계는 외부 공인 IP로 유입되는 Query 중, 로그인을 하는 Query로 판단 될 경우, Level4 Critical 단계는 관리자나 사내 IP, 인트라넷 등으로 유입되는 Query 중, 개인정보가 업무적으로 사용된 것이 아닌 공격에 의한 Query로 판단 될 경우로 정의한다.

네 단계 중 Normal 단계와 Warning 단계는 Log만을 남기고 Emergency 단계와 Critical 단계는 사용자에게 알람을 준다. 이와 같은 알람 레벨의 세분화를 통해 개인정보의 업무적 사용이나 정상적인 접근이 과반수인 실제 상황에서 불필요한 알람을 줄이고 사용자에게 보다 정확하고 구체적인 정보를 제공할 수 있다.


동영상

다음 마일스톤 일정

마일스톤

개요

시작일

종료일

2차 중간 보고

System 연동

지능적 개인정보 유출 탐지 알고리즘 구현 및 적용

산출물 :

1.     프로젝트 2차 중간 보고서

2.     프로젝트 진도 점검표

      3.     2차분 구현 소스 코드기능

2013-04-04

2013-05-02

테스트

시스템 통합 테스트

산출물 :

1.     오류 리포팅

2013-05-02

2013-05-12

최종 보고서

최종 보고

산출물 :

1.     프로젝트 최종 보고서

2.     최종 소스 코드

2013-05-12

2013-05-28

 

첨부화일 (아래 안내는 첨부 후에 삭제할 것)

1. 동영상 (위 본문 페이지에 삽입)
2. 중간 보고서(PDF)
Ċ
15조 캡스톤,
2013. 5. 2. 오전 8:01