* 사업 등 관련 문의: T) 02-322-4688, F) 02-322-4646, E) info@wikisecurity.net
평문 개인정보 형태와 PCRE기반의 탐지 패턴
(*) 참고: “개인정보 유출공격 탐지 방안 연구”, KISA연구보고서
A-1. 주민등록번호 구조
구조: YYMMDD-ABCDEFG
YYMMDD(6): 생년월일, 년도는 뒤 2자리로 표현
A: 성별을 의미, 총 6가지의 경우가 있음
9: 1800~1899년에 태어난 남성
0: 1800~1899년에 태어난 여성
1: 1900~1999년에 태어난 남성
2: 1900~1999년에 태어난 여성
3: 2000~2099년에 태어난 남성
4: 2000~2099년에 태어난 여성
BCDE: 지역번호를 의미, 주민등록지, 행정자치부에서 읍, 면, 동마다 고유번호
F: 신고순서, 주민등록지에서 해당 연월일에 신고된 순서를 의미
G: 오류검출 코드, 앞의 숫자들을 조합하여 계산
A-2. 주민등록번호 평문 존재 형태
구분자(-)를 기준으로 양쪽에 공백이 있음 — 123456 - 1234567
구분자(-)를 기준으로 양쪽에 공백이 없음 — 123456-1234567
구분자(-)가 존재하지 않는 않음 ———– 1234561123456
구분자가 공백()으로 구성 —————- 1234561 123456
A-3. 탐지 패턴 적용 기준
B-1. 계좌번호의 구조
기업은행: 123-123456-12-123
경남은행: 123-12-1234567
국민은행: 123456-12-123456
농협은행: 123-12-123456
대구은행: 123-12-123456-1
부산은행: 123-12-12-1234-1
산업은행: 123-1234-1234-123
신한은행: 123-12-123456
외환은행: 123-12-12345-1
우리은행: 123-123456-12-123
제일은행: 123-12-123456
하나은행: 123-123456-12345
한미은행: 123-12345-123
B-2. 탐지 패턴 적용 기준
C-1. 전화번호의 구조
^ 종류 ^ 구분 ^ 번호 ^ 구분 ^ 번호 ^ 패턴 ^
유선전화 | 서울 | 02 | 울산 | 052 | 지역번호
(○○)-○○○-○○○○ |
경기 | 031 | 대구 | 053 |
인천 | 032 | 경북 | 054 |
강원 | 033 | 경남 | 055 |
충남 | 041 | 전남 | 061 |
대전 | 042 | 광주 | 062 |
충북 | 043 | 전북 | 063 |
부산 | 051 | 제주 | 064 |
휴대전화 | SKT | 011
017 | KTF | 016
018 | 통신사
(○○)-○○○-○○○○ |
LGT | 019 | 3G통합 | 010 |
C-2. 탐지 패턴 적용 기준
각 지역의 지역번호와 통신사 번호를 입력
일반적인 전화번호 구조를 입력
D-1. 신용카드번호 구조
1 | 2 | 3 | 4 | - | 5 | 6 | 7 | 8 | - | 9 | 10 | 11 | 12 | - | 13 | 14 | 15 | 16 |
Bin 번호
(Bank Identifier Number) | 발행기관의 일련번호 | 검증 |
Bin번호: 전 세계적으로 발행기관(은행/카드사 등)을 인식할 수 있는 번호
발행기관 보통 첫 자리는 발행기관별 카드대분류로 사용한다.
Check Digit(검증): 비자/마스터/JBC 등의 국제카드는 검증번호 체계를 따른다.
D-2. 시작번호에 따른 카드 종류
시작번호 | 카드 종류 |
3 | 아메리칸익스프레스카드, JCB카드 등 |
4 | 비자카드 |
5 | 마스터카드 |
6 | 중국은련카드 |
9 | 각 국가 내에서 사용하는 카드번호 |
D-3. 탐지 패턴 적용 기준
E-1. Oracle의 데이터 타입에 따른 저장 형태
개인정보 종류 | 출력 값 |
주민등록번호 | “\d{2}[01]\d[0-3]\d[-][1-4]\d{6}” |
계좌번호 | “\d{3}[-]\d{2}[-]\d{5}[-]\d{3}” |
전화번호 | “[0]\d{2,3}[-]\d{4}[-]\d[4]” |
신용카드번호 | “\d{4}[-]\d{4}[-]\d{4}[-]\d{4}” |