2016년 8월 4일 목요일

정보보안기사 정리 10 - 2013 OWASP TOP 10: 민감 데이터 노출 및 개인 정보 비식별화 기술

A6. 민감 데이터 노출 - 정의, 노출방법, 공격 방법 및 공격 대상, 취약점 탐지 방법, 대응, 개인 정보 비식별화 기술(가명처리, 총계처리, 값 삭제, 범주화, 데이터 마스킹)


1. 민감 데이터 정의
- "민감 데이터 = 개인 정보" 라고 생각함.
- 특정한 개인의 사상·신념, 노동조합·정당의 가입·탈퇴, 정치적 견해, 건강, 성생활 등에 관한 정보, 그 밖에 정보주체의 사생활을 현저히 침해할 우려가 있는 정보
- 살아 있는 개인에 관한 정보로서 성명, 주민등록번호 및 영상 등을 통하여 개인을 알아볼 수 있는 정보를 말함.
  해당 정보만으로는 특정 개인을 알아볼 수없더라도 다른 정보와 쉽게 결합하여 알아볼 수 있는 것을 포함 함.


2. 민감 데이터 노출
- 서버와 클라이언트 통신 시 암호화되지 않은 평문으로 민감 데이터를 전송하게 되면 곧바로 노출되는 위험이 있음.
- 대다수의 어플리케이션들이 개인정보를 적절하게 보호하지 않고 있음.
  따라서 암호화 및 SSL 통신같은 방법을 사용해야 함.


3. 공격 유형 및 대상
- 유형: 공격자들이 암호문을 직접 풀지는 않고 암호문의 키를 유출시키거나 중간자 공격, 저장되어 있던 암호화되지 않은 정보, 전송 중인 정보 등을 가로챔
- 대상: 개인 건강 정보, 금융 관련 정보, 개인 신상 관련 정보
- 시나리오
  ① SSL을 사용하지 않을 경우 공격자의 스니핑의 가능성이 있음.
  ② 패스워드 저장시 Salt 값이 없으면 레인보우 테이블 공격 등에 의해 패스워드가 노출 될 수 있음.
  ③ 애플리케이션은 DB의 신용카드 번호를 암호화할 때 자동 DB 암호화를 사용 함.
      그러나 이것은 평문으로 된 신용카드 번호를 검색할 수 있는 SQL 인젝션 취약점을 사용하여 검색하면 자동으로 복호화될 수 있음.
      신용카드 번호와 같은 정보들은 공개키를 사용해서 암호화 되어야 하고, 비밀키를 사용하여 복호화하는 백엔드 에플리케이션을 사용해야 함.


4. 취약점 탐지 방법
- 개인 정보들이 암호화 되고 있는가
- 암호화에 사용되는 키는 잘 관리가 되고 있는가
- 외부와의 통신 시 안전한 방법을 사용하는 가


5. 대응
- 모든 데이터 암호화
- 불필요한 개인 정보를 저장하지 않음
- 웹 브라우저에서 캐싱, 자동완성과 같은 기능 비활성화 할 것


6. 개인 정보 비식별화
- 비식별화: 정보의 일부 또는 전부를 삭제·대체 하거나 다른 정보와 쉽게 결합하지 못하도록 하여 특정 개인을 알아볼 수 없도록 하는 일련의 조치를 의미.
- 예1: 그 자체로 개인을 식별할 수 있는 정보
  이름, 전화번호, 주소, 생년월일, 사진, 주민등록번호, 운전면허번호, 의료보험번호, 여권번호,
  생체정보(지문, 홍채, DNA 정보 등), 이용자 계정(등록번호, 계좌번호, 이메일 주소 등)
- 예2: 다른 정보와 쉽게 결합하여 개인을 알아볼 수 있는 정보
  개인 특성: 성별, 생년, 생일, 나이, 국적, 고향, 거주지, 병역여부, 결혼여부, 종교, 취미, 동호회, 흡연여부, 음주여부,채식여부, 관심사항 등)
  신체 특성: 혈액형, 신장, 몸무게, 허리둘레, 혈압, 병명, 상병코드, 투약코드, 진료내역 등
  전자적 특성 : 쿠키정보, 접속일시, 방문일시, 서비스 이용기록, 접속로그, IP주소, MAC주소, SIM Card 정보 등
  위치 특성: GPS 정보, RFID 리더 접속 기록, 특정 시점 센싱기록, 인터넷 접속, 핸드폰 사용기록, 사진 등


7. 비식별화 방법
- 가명처리: 휴리스틱 익명화, K-익명화, 암호화, 교환 방법
- 총계처리: 부분집계, 라운딩, 재배열
- 값 삭제: 속성 값 전체삭제/부분삭제, 데이터 행 삭제, 준식별자 제거를 통한 익명화
- 범주화: 랜덤 올림, 범위 방법, 세분정도 제한 방법, 제어 올림 방법
- 데이터 마스킹: 잡음 추가, 공백 및 대체 방법


8. 가명처리
- 예: 홍길동, 35세, 서울 거주, 한국대 재학 -> 임꺽정, 30대, 서울 거주, 국내 대학 재학
- 장점: 그 자체로는 완전 비식별화가 가능하며 데이터의 변형, 변질 수준이 적음
- 단점: 일반화된 대체값으로 가명 처리함으로써 성명을 기준으로 한 분석에 한계 존재
- 기술①: 휴리스틱 익명화(Heuristic Pseudonymization)
  정해진 규칙으로 개인정보를 숨기는 방법. 혹은 사람의 판단에 따라 가공하여 자세한 개인 정보를 숨기는 방법.
  예를 들어, 성명을 홍길동, 임꺽정 등 몇몇 일반화된 이름으로 대체하여 표기.
  소속 기관명을 화성, 금성 등으로 일반적 명칭을 쓰지 않는 몇몇 대명사로 대체.
  장점: 식별자의 분포를 고려하거나 수집된 자료의 사전 분석을 하지 않고 모든 데이터를 동일한 방법으로 가공하기 때문에 사용자가 쉽게 이해하고 활용할 수 있음.
  단점: 휴리스틱 익명화 적용 이후의 데이터 유용성이 떨어지고 활용할 수 있는 대체 변수의 한계가 있음.
  다른 값으로 대체하는 일정한 규칙이 노출되는 취약점이 있음. 따라서 개인을 쉽게 식별할 수 없도록 규칙을 고려해야 함.
- 기술②: K-익명화(K-anonymity)
  동일한 속성 값을 가지는 데이터를 k개 이상으로 유지하여 데이터를 공개하는 방법.
  지정된 속성이 가질 수 있는 값을 일정 수준(k개) 이상으로 유지함으로써 프라이버시 누출을 방지.
  예를 들어, 30개의 데이터에서 3-anonymity를 수행함. 이때 최소한 3개 이상의 데이터들끼리 같은 속성값으로 대체되어
  전체 자료가 10개의 대표 데이터로 표현될 수 있는 기법임.
- 기술③: 암호화(Encryption)
  암호화/복호화 값(key)을 가지고 있어서 key에 대한 보안방안도 함께 필요함.
  활용 목적에 따라 단방향 암호화(one-way encryption 또는 hash)를 사용할 수 있으며, 이 경우 이론상 개인 정보로의 복호화가 원천적으로 불가능함.
  단방향 암호화는 개인정보의 식별성을 완전히 제거하는 것으로, 양방향 암호화에 비해 더욱 안전하고 효과적인 비식별화 기술에 해당함.
- 기술④: 교환 방법(Swapping)
  추출된 표본 레코드에 대해 적용함.
  미리 정해진 변수(항목)들의 집합에 대하여 데이터베이스의 레코드와 연계하여 교환함.
  사전에 정의된 외부값으로 대체됨. 따라서, 이는 민감한 속성이 있는 경우 그룹 내에서만 교환이 이루어질 경우,
  전체 그룹을 식별할 수 있는 위험성을 내포하고 있을 때 사전에 정해진 외부값으로 대체하여 민감 정보를 비식별화 함.
  * 총계처리(aggregation)의 데이터 재배열(rearrangement)은 레코드 값들간의 교환.


9. 총계 처리(평균값 대체)
- 데이터의 총합을 보여주어 개별 데이터 값을 숨김.
- 장점: 민감한 정보에 대하여 비식별화가 가능하며 다양한 통계분석(전체, 부분)용 데이터 셋 작성에 유리함
- 단점: 집계 처리된 데이터를 기준으로 정밀한 분석이 어려우며 집계 수량이 적을 경우 데이터 결합 과정에서 개인정보 추출 또는 예측이 가능
- 기술①: 총계처리(Aggregation)
  데이터 집단 또는 부분으로 집계(총합, 평균 등) 처리를 하여 민감성을 낮춤.
  예를 들어, 특정 나이 값이 있는 경우 집단의 평균 나이값(대표값)을 구한 후 각 개인정보 속성값을 구해진 대표값으로 대체.
  해당 집단의 소득을 전체 평균을 구한 뒤 일정규칙의 오차를 가감하여 각 개인정보의 소득 속성값을 변환.
  단점: 전체가 유사한 특정 속성을 지닌 개인으로 구성되어 있을 경우 단체의 대표 속성이 개인의 정보를 그대로 대변할 수도 있으므로 주의.
- 기술②: 부분집계(Micro Aggregation)
  분석 목적에 따라 부분 그룹만 비식별 처리.
  예를 들어, 다양한 연령대의 소득 분포에 있어서 40대의 소득 분포 편차가 다른 연령대에 비하여 매우 크거나 특정 소득 구성원을 포함하고 있을 경우,
  40대의 소득만 선별하여 평균값을 구한 후 40대에 해당하는 각 개인정보의 소득 속성값을 해당 평균값으로 대체.
- 기술③: 라운딩(Rounding)
  라운딩(올림, 내림, 사사오입) 기준을 적용하여 최종 집계 처리.
  예를 들어, 23, 41, 57, 26, 33 등 세세한 나이의 속성값을 20, 30, 40, 50 등의 각 대표 연령대로 표기하거나,
  3,576,000원, 4,210,000원 등의 소득 표기를 십만원 혹은 백만원 단위 이하를 절삭하여 3백만원, 4백만원 등으로 집계 처리하는 방식.
- 기술④: 데이터 재배열(Rearrangement)
  기존 정보값은 유지하면서 개인정보와 연관이 되지 않도록 해당 데이터를 재배열.
  즉, 개인의 정보가 타인의 정보와 뒤섞임으로써 전체 정보의 손상없이 개인의 민감 정보가 해당 개인과 연결되지 않도록 하는 방법.
  예를 들어, 여러 개인정보 중에서 나이, 소득 등의 특정 속성을 개인별로 서로 교환.
  장점: 전체적인 통계적 분석 등에 있어서는 자료의 손실없이 분석을 할 수 있음.


10. 데이터 값 삭제(가치있는 데이터 삭제)
- 필요없는 값 또는 개인식별에 중요한 값을 삭제
- 장점: 민감한 개인식별 정보에 대하여 완전한 삭제 처리가 가능하여 예측, 추론 등이 어려움.
- 단점: 데이터 삭제로 인한 분석의 다양성, 분석 결과의 유효성, 분석정보의 신뢰성을저하시킴.
- 예: 홍길동, 35세, 서울 거주, 한국대 졸업 → 35세, 서울 거주
       주민등록번호 901206-1234567 → 90년대 생, 남자
       개인과 관련된 날짜 정보(자격 취득일짜, 합격일 등)는 연 단위로 처리
- 기술①: 속성값 삭제(Reducing Variables) 
  원시 데이터에서 민감한 속성값 등 개인식별 항목을 단순 제거하는 방법.
  단, 남아 있는 정보로도 분석의 유효성을 가져야 함과 동시에 개인을 식별할 수 없어야 하며,
  인터넷 등에 공개되어있는 정보 등과 결합하였을 경우에도 개인을 식별할 수 없어야 함.
- 기술②: 속성값 부분 삭제(Reducing Partial Variables)
  민감한 속성값에 대해 속성의 일부값을 삭제함으로써 대표성을 가진 값으로 보이도록 하는 방법.
  예: 서울특별시 중구 무교동 77번지 → 서울시 중구)
  * 범주화(suppression)의 경우와 유사할 수 있으나 범주화 방법은 주로 수치데이터에 적용하고,
    속성값 부분 삭제는 수치데이터 및 텍스트 데이터 등에도 활용 가능.
- 기술③: 데이터 행 삭제(Reducing Records)
  타 정보와 비교하여 값이나 속성의 구별이 뚜렷하게 식별되는 정보 전체를 삭제.
  즉, 특정하게 민감한 개인의 내용 전체를 제거하는 방법.
  예: 소득이 다른 사람에 비하여 뚜렷이 구별되는 값을 가진 정보를 삭제.
- 기술④: 식별자 제거를 통한 단순 익명화(Trivial Anonymization)
  식별자뿐만 아니라 잠재적으로 개인을 식별할 수 있는 준식별자를 모두 제거함으로써 프라이버시 침해 위험을 줄이는 방법. 
  예: 연예인·정치인 등의 가족 정보(관계정보), 판례 및 보도 등의 정보는 잠재적 식별자가 될 수 있으므로 이를 제거함.
  단점: 개인정보 유출 가능성을 최대한 줄일 수 있지만 데이터 활용에 필요한 정보까지 없어지므로 데이터의 유용성이 낮아지는 문제 발생.


11. 범주화(Data Suppression)
- 데이터의 값을 범주의 값(예: 평균)으로 변환하여 명확한 값을 감춤.
- 단, 특정 속성을 지닌 개인으로 구성된 단체의 속성 정보 공개는 그 집단에 속한 개인의 정보를 공개하는 것과 마찬가지의 결과가 나타남.
- 예: 에이즈 환자 집단임을 공개하면서 특정인물 ‘갑’이 그 집단에 속함을 알 수 있도록 표시하는 것은 ‘갑’이 에이즈 환자임을 공개하는 것.
- 장점: 범주나 범위는 통계형 데이터 형식이므로 다양한 분석 및 가공이 가능
- 단점: 범주, 범위로 표현됨에 따라 정확한 수치 값에 따른 분석, 특정한 분석 결과 도출이 어려우며, 데이터 범위 구간이 좁혀질 경우 추적, 예측이 가능
- 예: 홍길동, 35세 → 홍씨, 30-40세
- 기술①: 랜덤 올림 방식(Random Rounding)
  개인식별 정보에 대한 수치데이터를 임의의 수 기준으로 올림(round up) 또는 절사(round down)하는 기법.
  예: 나이 : 42, 45 → 40 혹은 40대로 대표값 표현
- 기술②: 범위 방법(Data Range)
  개인식별 정보에 대한 수치데이터를 임의의 수 기준의 범위(range)로 설정하는 기법.
  해당 값의 분포(범위(range), 구간(interval)로 표현.
  예: 소득의 경우 3,300만원은 3,000만원∼4,000만원으로 대체.
- 기술③: 세분화 제한 방법
  단일 항목으로 개인식별이 될 수 있는 항목을 상한(top), 하한(bottom) 코딩, 구간 재코딩(recoding into intervals) 방법을 이용하여 정보노출 위험을 줄임.
  예: 소득 항목 상한을 7,000만원, 하한을 3,000만원으로 정할 경우 해당 구간에 속하는 값은 ‘ > 7,000만원’과 ‘ < 3,000만원’으로 각각 표현.
  그 사이의 속성값들은 구간 재코딩 방법을 적용해 3,000만원∼3,999만원 등으로 나누어 대체 표기.
- 기술④: 제어 올림 방법 (Controlled Rounding)
  랜덤 올림 방법에서 어떠한 특정 속성값을 변경시킬 때 행과 열의 합이 일치하지 않는 단점을 해결하기 위해 행과 열이 맞지 않는 것을 제어하여 일치시키는 기법.
  단점: 프로그램으로 구현하기 어렵고, 복잡한 통계표에는 적용하기 어려워 잘 사용하지 않는 방법.


12. 데이터 마스킹
- 공개된 정보 등과 결합하여 개인을 식별하는데 기여할 확률이 높은 주요 개인식별자가 보이지 않도록 처리하는 것.
- 예: 홍길동, 35세, 서울 거주, 한국대 재학 → 홍**, 35세, 서울 거주, **대학 재학
- 장점: 완전 비식별화가 가능하며 원시 데이터의 구조에 대한 변형이 적음
- 단점: 과도한 마스킹 적용 시 필요한 정보로 활용하기 어려우며, 마스킹의 수준이 낮을 경우 특정한 값의 추적 예측 가능함
- 기술①: 임의 잡음 추가 방법(Adding Random Noise)
  소득과 같은 민감 개인식별 항목에 대해 임의의 숫자 등의 잡음 추가(더하거나 곱)하여 식별 정보 노출을 방지하는 기법.
  장점: 지정된 평균과 분산의 범위 내에서 잡음이 추가되므로 원 자료의 유용성을 해치지 않음.
  단점: 경우에 따라 잡음값은 속성을 유지하면서 추적, 예측을 방지하기 위한 마스킹 값으로 적용되어
          데이터 값과는 무관하기 때문에 분석이나 유효한 데이터로 활용할 수 없음.
- 기술②: 공백(blank)과 대체(impute) 방법
  비식별 대상 데이터를 선택한 후, 선택된 항목을 공백으로 바꾼 후 공백부분을 채움.
  공백 이외에도 특수문자(‘ * ’, ‘ _ ’ 등이나 전각 기호)로 처리하는 경우가 많음.


* 출처
1. OWASP TOP 10 2013
2. 2015.10 NIA 빅데이터 활용을 위한 개인정보 비식별화 기술활용 안내서Ver 1.0

댓글 없음:

댓글 쓰기