목차
* 사업 등 관련 문의: 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. 탐지 패턴 적용 기준
- YYMMDD는 6자리, ABCDEFG는 7자리로 총 13자리로 제한
- YY: 숫자의 범위는 0~99로 제한
- MM: 숫자의 범위는 1~12로 제한
- DD: 숫자의 범위는 1~31로 제한
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. 탐지 패턴 적용 기준
- 신용카드 또는 체크카드의 기본적인 번호 구조(0000-0000-0000-0000)를 입력
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}” |