모바일 기기가 보편화되면서 애플리케이션은 현대인의 생활에 없어서는 안될 일부가 되었습니다. 장보기에서 인터넷 뱅킹에 이르기까지 거의 모든 것을 애플리케이션과 웹사이트에 의존하고 있습니다. 이로 인해 방대한 양의 데이터가 저장되고, 교환되며, 모든 단계에서 데이터에 대한 보호가 필요하게 되었습니다.
기업들은 데이터 보안을 보장하기 위해 관련기관에서 정한 규정과 적용규칙과 함께 데이터 보호를 위한 다양한 방법에 의존해오고 있습니다. 데이터 마스킹은 인가되지 않은 사용자로부터 데이터를 보호하는 기법 중 한 가지입니다. 이번 글에서는 데이터 마스킹과 이에 관한 유형, 적용, 장점, 적용사례 등을 알아보겠습니다.
데이터 마스킹이란?
데이터 마스킹이란 민감한 데이터의 보호를 통해 조직의 데이터 사본을 생성하는 프로세스이며, 데이터는 인가되지 않은 사용자와 해커가 사용할 수 없게 변경됩니다. 복제된 데이터 세트는 소프트웨어 테스트, 판매 데모 및 교육 목적으로 사용 가능한 실제 데이터와 같습니다. 이처럼 데이터 마스킹은 민감한 데이터를 변경하지만, 데이터의 고유한 특성은 그대로 유지됩니다.
데이터는 다양한 용도로 필요하지만 테스트나 교육을 위해 매번 생산 데이터를 사용하는 것은 실용적이고, 안전한 방안이 아닙니다. 데이터 마스킹을 적용하면 새로운 데이터세트에서 테스트가 이루어지도록 수치가 변경되어 원래 데이터 세트에서 수행하는 것과 동일한 결과를 얻을 수 있습니다. 해커에게 노출되어도 데이터에서 민감한 정보는 노출되지 않습니다.
데이터 마스킹의 중요성
데이터 마스킹은 생산 환경 이외에서 민감한 정보가 사용되지 않게 합니다. 보안이 저하되지 않고 데이터베이스 관리자나 테스트 팀이 데이터를 사용할 수 있도록 대체 데이터가 생성됩니다. 데이터 마스킹이 중요한 몇 가지 이유는 다음과 같습니다.
1. 생산 데이터의 사본은 애플리케이션 개발, 테스트 및 직원 교육을 위해 생산 환경 이외에서 자주 사용됩니다. 데이터 마스킹은 생산 환경 이외에서 사용할 때 민감한 데이터를 보호하는데 필수적입니다.
2. 내부자 위협을 간과할 수 없고, 데이터 마스킹은 의도하지 않은 직원의 행동이나 내부자의 데이터 침해에 대한 효과적인 대응책이 될 수 있습니다.
3. 데이터 마스킹은 클라우드 기술 사용에 따른 데이터 위험을 줄여줍니다.
4. 데이터 손실, 계정 손상, 데이터 유출, 보안이 보장되지 않은 인터페이스는 조직이 직면하고 있는 심각한 위협입니다. 데이터 마스킹은 이러한 위협으로부터 보호해줄 수 있습니다.
5. 데이터 마스킹은 데이터 삭제에 매우 효과적입니다. 데이터 삭제는 파일을 삭제한 후에도 데이터 흔적이 오용되지 않도록 이전 값을 마스킹된 값으로 대체하는 것입니다.
데이터 마스킹이 필요한 데이터 유형은 무엇입니까?
데이터 마스킹은 네 가지 유형의 데이터 보호에 필수적입니다 . 데이터 마스킹을 통해 보호해야 할 데이터 유형은 다음과 같습니다.
1. 개인 식별정보(Personally Identifiable Information, PII)
개인의 신원을 노출하는 데이터가 개인 식별정보에 포함됩니다. 이러한 데이터는 데이터 마스킹으로 보호해야 합니다.
2. 보호된 개인 건강정보(Protected Health Information, PHI)
이러한 데이터는 일반적으로 의료 서비스 제공자가 수집합니다. 보호된 개인 건강 정보에는 인구통계 정보, 병력, 의료 보고서, 환자의 보험정보가 포함됩니다.
3. 지불 카드 정보(Payment card information, PCI-DSS)
지불 카드 정보의 저장 및 전송을 처리하는 기관은 보안에 관한 최선의 적용사례로 데이터 마스킹을 구현해야 합니다. PCI DSS는 지불 데이터를 처리하는 방법을 관리하는 보안 표준입니다.
4. 지적 재산(Intellectual property, IP)
예술 작품이나 새로운 발명과 같이 모든 창작품은 데이터 마스킹을 통해 보호할 수 있습니다.
데이터 마스킹의 유형
민감한 데이터를 보호하기 위해 사용할 수 있는 데이터 마스킹에는 여러 유형이 있습니다. 데이터 마스킹의 가장 일반적인 유형은 다음과 같습니다.
1. 정적 데이터 마스킹
정적 데이터 마스킹은 생산 데이터베이스의 삭제된 사본을 생성하는 것을 의미합니다. 이 프로세스는 세 가지 단계로 이루어지며, 이는 생산 데이터의 백업 사본을 만들어 다른 환경으로 전송하고, 원하지 않는 데이터를 삭제하며, 정지 상태에서 데이터를 마스킹하는 세 단계가 포함됩니다. 그런 다음 마스킹된 데이터를 원하는 위치에 저장할 수 있습니다.
2. 결정적 데이터 마스킹
데이터베이스 내 하나의 값은 대체된 값이 모든 곳에 나타나도록 다른 값으로 대체됩니다. 예를 들어, 하나의 테이블에서 ‘Mark’라는 이름을 ‘John’으로 대체할 수 있고, 이와 연결된 모든 테이블에는 원래의 이름인 ‘Mark’ 대신 ‘John’으로 표시됩니다.
3. 즉각적 데이터 마스킹
생산 환경에서 테스트 또는 개발 환경으로 전송하는 과정에서 데이터를 마스킹하는 것을 의미합니다. 이때 데이터 마스킹은 디스크에 저장되기 전에 발생합니다. 소프트웨어를 지속적으로 배포하는 기업의 경우 원본 데이터베이스의 백업을 매번 생성하는 것은 실용적이지 않습니다. 즉각적 마스킹을 사용하면 필요할 때마다 마스킹된 데이터의 더 작은 하위세트를 보낼 수 있습니다. 생산 이외의 환경에 데이터를 지속적으로 전송하기 위한 효과적인 방법입니다.
4. 동적 데이터 마스킹
이러한 유형의 마스킹은 보조 데이터 저장소가 필요하지 않지만 역방향 프록시가 필요합니다. 데이터가 데이터베이스에 유지되고 있는 동안에는 데이터가 마스킹되지 않습니다. 이를 대신하여 요청에 따라 마스킹되어 개발/테스트 환경으로 전송됩니다. 마스킹되지 않은 데이터는 언제나 인가되지 않은 접근으로부터 보호됩니다.
데이터 마스킹 기법
데이터 마스킹 기법에는 여러 가지 방법이 있습니다. 데이터 마스킹을 수행하기 위해 조직에서 사용하는 다양한 기술을 살펴보겠습니다.
1. 암호화(Encryption)
암호화는 암호화 알고리즘을 사용하여 인가되지 않은 사용자나 해커가 데이터를 이해할 수 없게 합니다. 복호화 키가 있는 사용자만 데이터를 이해할 수 있습니다. 데이터를 마스킹하기 위한 가장 안전한 방법 중 하나입니다. 암호화 키를 올바르게 관리하는 것이 완벽한 보안을 위해 매우 중요합니다. 악의적인 인원??이 키에 접근하면 데이터가 노출됩니다.
2. 데이터 스크램블링(Data scrambling)
데이터 스크램블은 데이터베이스에서 문자나 숫자를 재구성하여 데이터를 보호하는 것을 의미합니다. 특정한 ID 번호가 45879로 저장되어 있는 경우 스크램블링으로 데이터 마스킹을 적용하면 테스트 데이터베이스에서 ID 번호는 98754로 변경됩니다. 하지만, 이 기법은 안전한 것으로 여겨지지 않습니다.
3. 무효화(Nulling out)
무효화는 인가되지 않은 인원이 데이터를 볼 수 없도록 하는 데이터 마스킹 기법입니다. 민감한 데이터가 완전히 누락됩니다. 하지만, 이 기법은 데이터를 테스트 환경에서 사용해야 하는 경우에는 바람직하지 않습니다.
4. 수정(Redaction)
무효화와 유사하게 수정은 민감한 데이터를 NULL값 대신 일반적인 값으로 대체하는 것을 의미합니다. 하지만, 이 기법도 개발 및 Q/A 목적으로는 유용하지 않습니다.
5. 대체(Substitution)
민감한 데이터를 실제 값과 유사해 보이는 검색 테이블에서 제공한 모조 값으로 대체하는 신뢰할 수 있는 마스킹 기술입니다. 인가된 사용자만 원본 데이터를 읽을 수 있습니다.
6. 데이터 가명화(Data pseudonymization)
이 기술은 데이터 세트에서 직접 식별자를 제거하기 때문에 개인별 식별이 불가합니다. 이름이나 이메일 ID는 가명이나 별칭으로 대체됩니다.
7. 평균화
수치 데이터의 경우 평균화 기법을 적용할 수 있습니다. 개별 셀 값이 데이터 마스킹의 평균화 기법의 열에 있는 모든 값의 집합적인 평균으로 대체됩니다.
8. 셔플링(Shuffling)
셔플링은 값을 서로 변경하는 것을 의미합니다. 예를 들어, 직원별 급여가 포함된 급여 테이블에 실제 수치가 포함되어있지만 해당되는 직원의 이름과는 일치하지 않게 됩니다.
9. 일자 변경(Date aging)
일자 변경이란 일자 필드에 특정한 정책을 적용하여 테이블의 일자를 마스킹하는 것을 의미합니다. 일자를 늦추거나 당겨서 실제 일자를 마스킹합니다. 100~200일 전후로 설정할 수 있습니다. 이렇게 하면 선택한 알고리즘이나 특정한 일자 정책에 따라 모든 실제 일자를 숨길 수 있습니다.
데이터 마스킹의 이점
데이터 마스킹은 내부자 위협으로부터 보호하고, 클라우드 적용에 관련된 위험을 감소시키는 등 조직에 여러 이점을 제공합니다. 데이터 마스킹의 기업에 대한 주요 이점은 다음과 같습니다.
1. 데이터 유출 및 해킹을 방지합니다.
2. 개인 식별 데이터를 엄격하게 보호해야 하는 일반적인 데이터 보호 규정과 기타 규제 요구사항을 준수에 도움이 됩니다.
3. 데이터 마스킹은 데이터 구조와 형식을 유지하기 때문에 생산 이외의 목적에 이상적입니다.
4. 데이터 마스킹을 통해 보안을 저해하지 않으면서 데이터 관련 작업을 제 3의 업체에 아웃소싱할 수 있습니다.
5. 데이터 마스킹은 데이터 분석을 확인할 때 보안에 관한 위험을 감소시킵니다.
데이터 마스킹에 관한 최적의 적용사례
아래와 같은 최적의 적용사례를 적용하면 데이터 마스킹을 통해 최대의 보안을 달성할 수 있습니다.
1. 프로젝트 범위 이해하기
가장 먼저 해야할 일은 보호해야 하는 데이터, 데이터에 접근하도록 인가된 사용자, 데이터에 접근해야 하는 응용 프로그램의 종류를 결정하는 것입니다. 이는 적합한 마스킹 기법을 선택하는데 중요합니다.
2. 참조 무결성 유지하기
참조 무결성은 동일한 유형의 데이터를 마스킹하기 위해 동일한 알고리즘을 사용하는 것을 의미합니다. 기업은 다양한 비즈니스 라인에 대해서 다양한 마스킹 도구를 적용해야 할 수도 있습니다. 하지만, 동일한 데이터 유형에 사용되는 마스킹 도구는 데이터에 원활하게 접근할 수 있도록 기업 전반에서 동기화되어야 합니다.
3. 데이터 마스킹 알고리즘
인가되지 않은 사용자가 리버스 엔지니어링을 수행하지 못하도록 데이터 마스킹에 사용되는 알고리즘을 보호해야 합니다. 데이터를 마스킹해도 적용된 마스킹 기술이나 알고리즘이 침해에 취약하다면 데이터 손실 가능성을 배제할 수 없습니다.
데이터 마스킹의 적용
데이터 마스킹의 적용 분야는 광범위합니다. 핵심적인 몇 가지를 살펴보겠습니다.
• 감사: 감사 과정에서 데이터 보안이 저해되어서는 안됩니다. 마스킹은 감사를 수행하는 중에도 사용되는 데이터의 정확성 유지에 도움이 되는 효과적인 보안대책입니다.
• 접근 제어: 접근 제어는 민감한 데이터에 접근하고, 이를 변경할 수 있는 인가된 대상자를 결정하는 것을 말합니다. 데이터 마스킹은 엄격한 보안을 통해 접근 제어를 구현하는데 도움이 될 수 있습니다.
• 암호화: 데이터 마스킹은 데이터를 효과적으로 암호화하기 때문에 암호화가 필수적인 애플리케이션에서 유용합니다.
데이터 마스킹의 도전과제
데이터 마스킹은 확실한 이점을 갖추고 있지만 데이터 마스킹을 구현하기 위해서는 도전과제가 존재합니다. 데이터 마스킹을 구현하는데 있어서 주요 도전과제는 다음과 같습니다.
1. 형식 유지
원본의 데이터를 모조 데이터로 교체하더라도 데이터 형식은 유지되어야 합니다. 이는 데이터 마스킹 솔루션은 데이터의 형식을 유지하기 위해 데이터가 무엇인지 알아야 한다는 점을 의미합니다.
2. 참조 무결성
테이블이 기본 키와 상호 연결되면 모든 테이블의 기본 키 값이 동일하게 교체되어야 합니다. 값의 수정은 데이터베이스 전체에 대해서 일관되게 이루어져야 하며, 이 점은 데이터 마스킹의 또 하나의 도전과제입니다.
3. 성별 보존
데이터 마스킹으로 인해 성별 분포를 어렵게 하는 데이터베이스 내 이름의 무작위 대체가 일어나서는 안됩니다. 데이터 마스킹 기술은 값을 대체하더라도 성별을 올바르게 식별할 수 있어야 합니다.
4. 의미적 무결성
데이터베이스는 대부분 필드 입력 값에 대한 제한사항이 지정되어 있습니다. 데이터 마스킹은 의미적 무결성을 유지하고, 대체된 값이 지정된 제한사항에 해당되지 않게 해야 합니다.
5. 데이터 고유성
테이블에 고유의 값이 포함되어 있는 경우 마스킹 시스템은 데이터 고유성을 유지해야 합니다. 테이블에 직원별 고유한 직원 ID가 포함되어 있는 경우 마스크된 값도 고유한 값이 되어야 합니다. 마스킹이 이루어져도 빈도 분포가 유지되어야 하며, 마스킹이 적용된 값의 평균도 원래의 값에 가까워야 합니다.
결론
앞서 제시한 도전과제가 있지만, 데이터 마스킹은 데이터 손실, 유출, 내부자 위협을 방지하기 위한 효과적인 방법입니다. 데이터 마스킹을 다른 보안대책과 함께 구현하면 정교한 사이버 공격으로부터 조직을 보호할 수 있습니다. 규정을 준수하고, 데이터 보안 요구사항을 충족하는 것을 도와줍니다. 데이터 마스킹은 모조이나 실제적인 데이터를 생성하여 조직 내에서 교육 및 개발 목적으로 유용하게 활용할 수 있습니다. 데이터 마스킹을 통해 데이터 침해, 계정, 서비스 강탈, 데이터 손실, 안전하지 않은 인터페이스, 내부자의 악의적 데이터 사용이라는 다섯 가지 위협을 해결할 수 있습니다. 보안에 대한 어려움이 지속적으로 증가하고 있으며, 이에 따라 사이버 보안 위협을 줄이기 위해 마스킹과 같은 보안대책을 강구하는 것이 필수적입니다.
데이터 마스킹에 대해 더 알아보시겠습니까? 질문에 대한 답을 확인하시려면 여기를 클릭하십시오.
Appsealing은 기업을 대상으로 다양한 최신 솔루션을 제공하는 뛰어난 모바일 애플리케이션 보안 솔루션 제공업체입니다. 게임, 핀테크, 영화 및 O2O를 위한 안드로이드, iOS 및 하이브리드 애플리케이션에 대한 전문지식을 바탕으로 제로 코딩 기능을 갖춘 확장 가능한 보호기능을 제공합니다. 인앱 보호 및 실시간 위협분석을 활용하여 보안을 강화하고 경쟁력을 갖춰보십시오.
자주 묻는 질문
1. 데이터 마스킹과 암호화의 차이는 무엇인가요?
암호화는 정보를 인코딩하여 민감한 데이터를 보호합니다. 암호화 키를 사용하여 정보를 일반 텍스트로 변환할 수 있습니다. 이에 반해 데이터 마스킹은 실제 데이터를 유사한 값으로 대체하여 민감한 정보를 마스킹하는 알고리즘입니다. 데이터 마스킹은 암호화에 비해 더욱 안전합니다.
2. 데이터 마스킹은 되돌릴 수 없나요?
암호화를 사용하면 난독화된 코드에서 기존 값을 확인할 수 있지만 데이터 마스킹은 올바르게 구현되었을 때 되돌릴 수 없습니다.
3. 데이터 마스킹과 토큰화의 차이점은 무엇인가요?
데이터 마스킹과 토큰화의 가장 큰 차이점은 마스킹은 사용 중인 데이터를 보호하는 반면 토큰화는 저장 데이터를 보호하는데 사용된다는 것입니다.
4. 암호화는 데이터 마스킹의 하나의 형태인가요?
구조화된 데이터 필드 수준에서 암호화는 데이터 마스킹 기능의 하나로 간주됩니다. 하지만, 규정준수 요구사항과 애플리케이션의 특정한 보안 요구사항에 따라 두 보안 기술을 별도로 사용할 수 있습니다.