2.1차 중간 보고

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

팀명

15조

제출일

2012 4 4

프로젝트 제목

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 형식으로 화면에 보여준다.

동영상

다음 마일스톤 일정

마일스톤

개요

시작일

종료일

1차 중간 보고

Log Sniffer 구현 완료

Log Parser 구현 완료

Push Service 구현 완료

Virtual System 구현 완료

산출물 :

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

2.     프로젝트 진도 점검표

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

2013-03-14

2013-04-04

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

 

 

Ċ
15조 캡스톤,
2013. 4. 4. 오전 7:13