[개인정보보호 솔루션 개발]
- 개인정보 검색과 유출 차단 및 매체/출력물 제어까지 가능한 엔드포인트 통합 보안 솔루션 개발
- Endpoint DLP (Privacy-i) Agent
- Endpoint DLP (Privacy-i) Server
- Endpoint DLP (Privacy-i) 통합 관제 솔루션
- Database 내의 개인정보 검색 솔루션
- DLP (DLPCenter) 통합 관제 솔루션
- 운영 서버의 모니터링 및 제어 모듈
- 메시징 프로토콜 (MQTT) 기반의 알림 시스템
------------------------------------------------------------------------------------------------------
1. 프로젝트명 : 엔드포인트 DLP (Privacy-i) Agent 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 1명, FE 3명, BE 2명 / 기획, FE, BE 담당, 기여도 : 70%
3) 기술 스택 : C++, VC++, MFC, Java, SQLite, Git, SVN / Windows
4) 업무 기간 : 2006.05 ~ 2007.06, 2008.02 ~ 2020.12
5) 주요 업무 :
사용자 PC내의 개인정보 검색과 검색 결과를 서버로 전송하는 GUI 어플리케이션 개발
전체 아키텍쳐 설계 및 프로젝트 리딩 (Main Developer)
대규모 사용자 및 대용량 트래픽 처리를 위해 3-tier 구조로 설계
시스템(Agent/Server/관제콘솔)간 통신, 정책, 이벤트, 데이터 저장 등의 인터페이스 설계
UI/UX 설계 (Main frame layout, menu, controls) 및 Desktop tray app 개발
Third party skin 라이브러리 적용 (Codejock Toolkit Pro)
사용자 PC에서 동작하는 소켓 통신 프로그램 개발 (Agent)
에이전트의 각종 운영 결과 데이터와 로그를 서버로 전송
개인정보 검색 결과를 시각화하여 통계 및 리포트로 제공
검색할 개인정보 패턴(주민등록번호 등)을 정규 표현식으로 처리
통신 프로토콜 인터페이스 및 환경 설정에 필요한 파일 처리 (XML, JSON, INI)
네트워크 단절 시 저장했던 검색 데이터를 네트워트 활성화 시 자동 재전송하는 기능
개인정보 유형별로 분류하여 보여주는 기능 (고객 정보/직원 정보/자신소유 개인정보)
개인정보 검색에서 제외할 필터 옵션 제공 (파일 경로/이름/확장자 등)
공지사항 및 이벤트 내용을 사용자에게 팝업으로 알리는 기능
스케줄링을 통한 예약 검색 기능
솔루션에서 사용하는 모듈 및 파일에 대한 자체 업데이트 기능
시스템 권한 획득을 위해 자체 업데이트 기능을 윈도우 서비스 모듈로 개발
유니코드 및 다국어 처리
외부 라이브러리 활용 (텍스트 추출 라이브러리 등)
외부 API 연동 및 타사 보안 솔루션 연동 (인사 정보, NAC, DRM 등)
UI 컨트롤 소스를 오버라이딩하여 심플하고 편리한 Custom Control 제공
검색 로직 중 파일 입출력 최적화와 멀티쓰레딩을 통해 개인정보 검색 속도를 30% 향상
검색한 파일 정보를 SQLite 에 저장하여 재검색 시 기존 3시간에서 5분으로 속도 개선
상업용 솔루션의 기획/설계/개발/배포 단계를 모두 참여한 경험
벤치마킹을 통한 타사 솔루션 분석
개발 리더 경험과 유관 부서 업무 협업을 리딩
6) 개발 성과 :
국내 최초로 Endpoint 에서 동작하는 개인정보보호 검색 솔루션 개발
국내 1위로 시장에 안정적으로 정착한 솔루션으로 성장하고 국정원 CC 인증 획득
------------------------------------------------------------------------------------------------------
2. 프로젝트명 : 엔드포인트 DLP (Privacy-i) Server 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 1명, BE 1명 / 기획, BE 담당, 기여도 : 100%
3) 기술 스택 : Java, Spring Framework, Apache, Tomcat, PostgreSQL, MSSQL, Git, SVN / Linux
4) 업무 기간 : 2008.02 ~ 2020.12
5) 주요 업무 :
개인정보 검색 결과를 전송 받아 DB에 저장하는 서버 개발 (Java daemon)
전체 아키텍쳐 설계 및 프로젝트 리딩 (Main Developer)
DB 스키마 설계
소켓 통신을 위한 통신 프로토콜 정의 및 구현
각 시스템간 통신에 사용할 프로토콜 데이터 형식을 표준화 (XML, JSON)
Server단에서 동작하는 소켓 통신 프로그램 개발 (Server)
DBCP(Database Connection Pool)를 사용하여 DB 연결 처리의 효율성 증대
네트워크 데이터 수집 큐와 DB 저장 큐를 멀티쓰레드로 분리하여 대용량 트래픽 처리
에이전트로부터 각종 운영 결과 데이터와 로그를 전송 받아 실시간으로 DB에 저장
네트워크 전송 속도 향상을 위해 검색 데이터를 압축하여 서버로 전송
에이전트에게 검색 데이터 저장 시기를 알려주는 로드 밸런싱으로 서버 부담을 최소화
한번의 세션으로 여러개의 네트워크 데이터 전송 가능 (XML, JSON, Text, Binary stream)
에이전트에게 Command(XML)를 전달하여 Task를 수행하는 원격 명령 인터페이스 개발
관리자 PC에서 사용자 PC내 개인정보를 원격으로 검색/파기/암호화하는 기능
관리자 PC에서 사용자 PC내 파일을 암호화/삭제/격리하기 위한 결제 기능
DB로부터 XML을 읽어와 에이전트에게 할당된 Policy, Configuration 배포 기능
안전한 데이터 처리가 필요한 부분에 암복호화 로직 적용 (AES256, SHA512)
인사 정보에 기반한 사용자 로그인 및 인증 관리
LDAP 연동 기능
데이터베이스 성능 튜닝 및 장애 대응
성능 측정, 병목 구간 분석 및 최적화
OSI 7 Layer 및 TCP/IP 기반의 네트워크 통신 이해
오픈 소스/라이브러리 분석 및 활용
객체지향, 자료구조, 알고리즘 이해와 실무 사용 경험
소스 형상 관리 도구 사용 경험 (Git, SVN)
빌드/테스트/배포 자동화에 대한 이해와 경험 (Jenkins, Nexus)
이슈 관리 및 코드 리뷰 진행 (Redmine)
6) 개발 성과 :
고객사(금융기관, 대기업, 통신사, 공공기관 등)에서 안정적인 서비스 제공
서버 구성 가이드를 통해 10,000명 이상의 고객사에서 안정적인 서비스 제공
고객사의 사용자 계정 증가 시 Server 와 Database 추가를 통한 유연한 확장성 제공
기존 Windows 환경(C++/MFC/MSSQL)에서 Linux 환경(Java/PostgreSQL)으로 모듈 변경
기존 Windows service (IOCP)에서 Linux환경의 Java daemon으로 소켓 서버 모듈 변경
------------------------------------------------------------------------------------------------------
3. 프로젝트명 : 엔드포인트 DLP (Privacy-i) 통합 관제 솔루션 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 1명, FE 2명 / 기획, FE 담당, 기여도 : 60%
3) 기술 스택 : C++, VC++, MFC, MSSQL, Git, SVN / Windows
4) 업무 기간 : 2008.02 ~ 2016.12
5) 주요 업무 :
엔드포인트 DLP (Privacy-i) 전체 기능을 통합 관제하는 GUI 어플리케이션 개발
전체 아키텍쳐 설계 및 프로젝트 리딩 (Main Developer)
DB 스키마 설계
UI/UX 설계 (Main frame layout, menu, controls)
Third party skin 라이브러리 적용 (Codejock Toolkit Pro)
데이터 쿼리, 저장 프로시저 개발
데이터 분석 및 처리를 위한 실시간, 배치 처리 및 모듈 개발
날짜/부서/사용자별로 개인정보 검색 결과를 조회하여 리스트로 제공하고 Chart 로 표시
날짜/부서/사용자/개인정보 유형별로 데이터를 분석하여 통계/리포트 제공
개인 정보 보유 및 장기 보관 파일에 대한 추이 분석 기능
에이전트로부터 받은 각종 이벤트 로그를 조회하여 리스트로 제공
Server 및 솔루션에서 남긴 보안/시스템 로그를 조회하여 리스트로 제공
엑셀 파일을 이용하여 Task 작업을 일괄 등록하는 기능
개인정보 검색 결과를 관리자와 사용자에게 메일로 전송하는 리포트 자동 발송 기능
리포트 데이터 저장 기능 (Excel, Csv, Html, Text)
관리자/사용자 계정 생성 및 인사 정보 관리 기능
관리자 계정에 대한 로그인 제한 기능 (특정 IP, 특정 관리자)
관리자에 의한 중앙 통제 기능 (원격으로 검색/파기/암호화, 원격 명령, 결제)
관리자에 의한 정책 배포 기능 (Policy, Configuration)
관리자에 의한 알림 배포 기능 (Retension, Alert/Notification)
부서/사용자별 정책 수립 기능
개인정보 검색 및 매체/출력물 제어를 위한 정책 설정 기능
로드 밸런싱을 위해 에이전트가 접속할 서버 정보를 정책으로 관리하고 배포
통계 요약 정보를 멀티쓰레드로 분리하여 초기 화면의 로딩 속도를 개선
중요 로직에 Event log 를 남겨 시스템 문제를 파악
UI/UX 개발 경험 (Report, Chart 등)
Dump 분석 및 Debugging 경험
개발 로드맵 수립과 필요 기술 파악 경험
6) 개발 성과 :
관리자 PC에서 솔루션이 설치된 중앙 서버에 원격으로 접속하여 통합 관제 가능
Server의 시작 및 중지/상태 확인/환경 설정을 위한 별도의 제어판 UI 모듈 제공
------------------------------------------------------------------------------------------------------
4. 프로젝트명 : Database Discover 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 1명, BE 2명 / 기획, BE 담당, 기여도 : 50%
3) 기술 스택 : Java, PostgreSQL, Git, SVN, Jenkins, Nexus / Linux
4) 업무 기간 : 2016.01 ~ 2018.02
5) 주요 업무 :
고객사 Database내의 개인정보 검색과 검색 결과를 DB에 저장하는 Java daemon 개발
전체 아키텍쳐 설계 및 프로젝트 리딩 (Main Developer)
Multi thread, Thread safe, Thread pool을 이용하여 효율적인 검색 로직 구현
테이블 및 컬럼 단위로 검색하는 필터 옵션 제공
스케줄링을 통한 예약 검색으로 관리자의 운영 과정을 자동화 처리
오픈 소스/라이브러리 분석 및 활용
6) 개발 성과 :
고객사(금융기관, 대기업, 통신사, 공공기관 등)에서 안정적인 서비스 제공
지원하는 Database (Oracle, MSSQL, PostgreSQL, MySQL, MongoDB 외 다수)
------------------------------------------------------------------------------------------------------
5. 프로젝트명 : DLP (DLPCenter) 통합 관제 솔루션 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 2명, FE 5명, BE 5명 / BE 담당, 기여도 : 20%
3) 기술 스택 : Java, Spring Framework, Apache, Tomcat, PostgreSQL, Git, SVN, Jenkins, Nexus / Linux
4) 업무 기간 : 2018.03 ~ 2020.12
5) 주요 업무 :
사내 전체 솔루션을 통합 관제하는 Web based GUI 어플리케이션 개발
Spring Framework 기반의 MVC에서 Model 영역 개발 (데이터 처리 담당)
데이터 쿼리, 저장 프로시저 개발
데이터 분석 및 처리를 위한 실시간, 배치 처리 및 모듈 개발
날짜/부서/사용자별로 데이터를 조회하여 리스트로 제공하고 Chart 로 표시
날짜/부서/사용자/개인정보 유형별로 데이터를 분석하여 통계/리포트 기능 개발
개인정보 검색 결과를 관리자와 사용자에게 메일로 전송하는 리포트 자동 발송 기능
관리자에 의한 중앙 통제 기능 (원격으로 검색/파기/암호화, 원격 명령, 결제)
관리자에 의한 정책 배포 기능 (Policy, Configuration)
관리자에 의한 알림 배포 기능 (Retension, Alert/Notification)
개인정보 검색 및 매체/출력물 제어를 위한 정책 설정 기능
로드 밸런싱을 위해 에이전트가 접속할 서버 정보를 정책으로 관리하고 배포
전자정부 표준프레임워크 사용 (Eclipse, Java, Maven 개발 환경)
6) 개발 성과 :
기존 Windows 환경(C++/MFC/MSSQL)에서 Linux 환경(Java/PostgreSQL)으로 모듈 변경
관리자 PC에서 원격으로 서버(Web)에 접속하여 통합 관제 가능
------------------------------------------------------------------------------------------------------
6. 프로젝트명 : 메시징 프로토콜 (MQTT) 기반의 알림 시스템 프로젝트
------------------------------------------------------------------------------------------------------
1) 소속 회사 : (주)소만사
2) 개발 구성 : 기획 1명, FE 1명 / 기획, FE 담당, 기여도 : 100%
3) 기술 스택 : Java, Git, SVN / Windows (Agent), Linux (Server)
4) 업무 기간 : 2018.01 ~ 2018.02
5) 주요 업무 :
솔루션내 서비스 모듈간 이벤트 전달 및 Command 처리를 위한 메시징 모듈 개발
Mosquitto 와 Paho 클라이언트 라이브러리로 구현
Publisher / Subscriber / Topic 구현
Command 처리를 위한 통신 프로토콜 정의 (JSON 형식)
이벤트 전달 처리 (정책 변경사항 통지, 공지사항 등록 등)
Java Swing 라이브러리를 사용하여 GUI 구현
오픈 소스/라이브러리 분석 및 활용
6) 개발 성과 :
TCP/IP 위에서 동작하는 가볍고 빠른 메시징 시스템 구현
1:1, 1:n 통신이 모두 가능
더보기