2. 개인정보보호를 위한 기술적 수단들
상태바
2. 개인정보보호를 위한 기술적 수단들
  • 데이터넷 관리자
  • 승인 2006.12.07 00:00
  • 댓글 0
이 기사를 공유합니다

개인정보보호
개인정보 보호, ‘꾸준한 관심·관리’가 최선

웹 사이트·게시판 업로드 취약점 등 보완 필요 …
전문 툴·서비스 통한 점검 ‘절실’

개인정보들은 다양한 경로로 유출될 수 있으며 여기에서는 이와 관련된 사례를 통해 개인정보가 유출될 수 있는 환경과 이를 방지하기 위한 기술적인 방법들을 설명한다. 정보통신망 이용촉진 및 정보보호 등에 관한 법률(28조) 에서는 개인정보 보호를 위한 기술적/ 관리적 조치를 확보할 것을 권장하고 있다. 또한 관련 정보통신망 이용촉진 및 정보보호 등에 환한 시행령에서는 개인정보에 대한 불법적인 접근을 차단하기 위한 접근통제장치를 설치할 것을 권장하고 있다. 개인정보보호를 위해서 우리가 실제 생활에서 겪고 있는 사례들을 중심으로 고려해야 할 사항들을 검토해봤다. <편집자>

박노원 //

컴트루테크놀로지 이사
rwpark@comtrue.com

연재순서
1. 개인정보 보호 정책
2. 개인정보보호를 위한 기술적 수단들(이번호)

개인정보들은 다양한 경로로 유출이 가능하다. 이와 관련된 사례를 통해 개인정보가 유출될 수 있는 환경과 이를 방지하기 위한 기술적인 방법들을 살펴보자.

Case 1 : 웹쇼핑몰에서의 개인정보보호
일반적으로 원활한 서비스를 위해서 DMZ지역에 놓여 있는 웹서버들은 원활한 서비스를 위해서 다른 보안관련 사항을 소홀히 할 수도 있다. 그러나 웹서비스의 보안을 강화하기 위해 필요한 것은 특별한 기술이 아니라 기본적인 웹프로그래밍 원칙을 준수하는 것이다. 이렇게 함으로써 다른 보안정책이 필요없을 만큼 효과를 볼 수 있다.
쇼핑몰 웹서버에 로그인을 한 개인사용자 PC의 경우 개인구매정보가 중간에 해킹당할 수 있다. 이럴 경우를 대비해서 공인인증서 로그인을 해서 개인정보가 노출되는 것을 차단할 수 있도록 한다. 아래 <표 1>는 이와 같은 보안서버를 통한 SSL인증기능을 지원하는 보안서버의 설치비율을 2006년7월에 조사한 결과다.
개인정보 방지를 위해서는 개인사용자 PC 에 키로거방지 프로그램을 설치해 사용자PC에 암호화전송을 할 수 있도록 해야 한다.

Case 2 : 내부사용자 및 용역업체에 대한 개인정보 보호
개인정보는 내부자에 의해서 유출되는 경우도 많이 발생한다. NTT도코모의 경우 개인단말기에 접속할 수 있는 254명의 내부직원에 의해 개인정보가 유출된 사건이 있었는데 이 때 2만4천632명분의 개인정보가 유출됐다고 한다.
이렇게 내부직원이나 기관에서 고용하고 있는 용역업체 직원이 기관내 네트워크에 접속해서 시스템 관리의 허점을 노리고 자료를 밖으로 유출하는 경우가 자주 발생을 할 수 있다. 이러한 상황에 대비하게 위해서 내부자에 의한 개인정보를 차단할 수 있는 방법들이 모색되고 있다.
보안 분야에서는 이러한 내부자에 의한 정보유출을 내부 위협(Insider Threat)라고 명명하고 이러한 분야의 사례수집과 대응방법을 체계적으로 모색하고 있다. 원래 내부(insider)의 개념은 사람중심에서 시스템에 영향(Infrection)을 줄 수 있는 모든 가능성을 지칭하는 의미로 확장되어 사용돼 여기에는 외부 해커가 내부의 액세스 권한을 획득했을 경우도 모두 포함된 확장의 의미로 사용되기도 한다.
개인정보의 유출을 방지하기 위해서는 해당직원이 사용하는 컴퓨터를 모니터링할 필요가 있으며 보통 다음과 같은 방법으로 해당직원이나 용역지원의 PC를 별도로 관리하는 방안이 필요하다. 개인정보는 여러 가지 다양한 경로로 유출될 수 있기 때문에 기본적으로 온라인으로 유출되는 개인정보를 차단하는 방법에 대해 생각해보면 아래와 같이 텔넷, 메일, FTP 그리고 웹 형태로 유출되는 정보를 모니터링해 차단하는 경우를 상정해볼 수 있다.
이 경우 모니터링 되는 장비는 네트워크의 로우레벨에서의 검사가 SPI방식으로 가능해야 하며(스테이트풀 패킷 인스펙션) 애플리케이션 영역에서의 검사도 가능해야 한다. 개인정보들의 유출은 보통 게시판, 웹하드, 블로그, 카페 등을 이용하거나 메일을 이용해 외부로 전달될 수 있다. 개인정보 유출을 차단하고자 하는 경우 시스템적으로 다음과 같은 기본적인 절차가 필요하다.

1) 감시할 PC나 노트북용 IP대역 설정
감시대상의 단말기에 대한 IP정보 관리가 일차적으로 선행돼야 한다. 업무상 내부직원들이 외부로 접속을 빈번하게 시도하는 경우 일정한 IP 대역에서 이러한 작업을 수행하도록 제한할 경우 모니터링 효율성이 높아진다.

2) 차단할 대상
올인원 장비가 시장에서 환영을 받고 있는 것 같지만 실제로 중소기업이상이 환경에서 네트워크의 모든 패킷을 모든 네트워크 계층에서 처리하는 것은 어렵기도 하지만 권장할만한 접근 방법은 아니다. 따라서 검색하고자 하는 대상이 웹정보인지 메일정보인지 기타 특정한 애플리케이션을 이용하는 메신저 인지에 대한 구분이 필요하다.
필자의 생각에는 웹과 메일에 대한 분리처리는 가장 기본적인 구분이라고 생각된다. 아래 <그림 2>는 정보분석이 필요한 기본 파트에 대한 전체트래픽 비율을 나타낸 것이다( 플로우/바이트/패킷을 모두 고려할 경우의 평균값).

Case 3 : 웹사이트 취약점에 의한 개인정보 유출
웹 게시판이나 홈페이지에 원하지 않은 개인정보가 게시되거나 유출되는 경우가 발생할 수 있다. 관리자의 조그만 실수로 이러한 정보가 게제되는 경우가 발생한다. 필자의 이름이 포함돼 있는 엑셀파일을 구글 검색엔진으로 찾아봤을 때 <그림 3>과 같은 결과가 나왔다. 웹페이지 본문만 아니라 특정한 형식의 첨부파일에 포함된 내용도 검색결과에 포함되는 것을 알 수 있다.
이러한 구글해킹의 위험 때문에 웹에 등록되어 공개돼 정보들은 모두 각별한 주의가 필요하다. 현재도 많은 개인정보가 삭제되지 않은 채로 웹에 등록되고 있기 때문에 검색엔진을 통해 개인정보를 접할 수 있는 것이 현실이기도 하다.

1) 디렉토리 검색(Directory Listing) 관련 정보유출
웹서버에서 직접 하위 URL을 입력하면 해당 위치에 포함된 자료리스트가 보여지는 경우가 발생한다. 윈도 웹서버(IIS서버이용의 경우)의 경우 아래 <그림 4>와 같이 디렉토리 검색항목이 체크부분을 해제해야 한다.
아파치 웹서버를 이용하는 리눅스 서버의 경우 아파치 서버를 이용하는 경우 httpd.conf 설정파일에서 Indexes관련 부분을 변경해줘야 한다. 그리고 Tomcat만으로 웹서비스를 하고 있는 경우 디렉토리 검색으로 인한 버그가 퇴치된 5.5.17 이상의 버전으로 사용해야 한다. Web.xml파일의 리스팅 부분이 아래와 같이 false로 설정돼 있을 경우 모든 폴더와 파일을 볼 수 있도록 아래와 같이 설정되면 효력이 나타난다.

2) 쿠키정보 노출
일부 웹사이트에서 쿠키 정보에 ID정보 및 개인정보가 일괄적으로 기록되도록 웹페이지를 구축하는 사례가 있었다. 쿠키에 저장된 ID값을 기반으로 관련 페이지에서 필요로 하는 값들을 DB에서 하나씩 읽어와서 부여해야 함에도 불구하고 개발자의 편의성 때문에 이렇게 처리되는 경우가 있었다. 최근에는 개인정보유출의 위험 때문에 웹사이트에서 이러한 쿠키로 인한 개인정보노출부분은 많이 시정됐다.

3) 게시판 업로드 취약점
대부분의 게시판은 첨부파일을 본문과 함께 웹서버에 업로드할 수 있는 기능을 제공한다. 이 때 업로드되는 파일이 일반적인 문서나 이미지 파일이 아니라 웹서버에서 실행될 수 있는 형태의 asp,php,jsp와 같은 파일이라면 보안 문제를 야기시킬 가능성이 매우 높다. 업로드한 파일을 다운로드하게 되면 웹서버는 해당파일을 불러오게 되는데 이때 실행가능한 파일 형식이라면 다운로드 대신에 해당 파일을 실행하게 돼 악의적인 공격코드가 웹서버에서 동작하게 된다.
시스템 명령어를 코드에 기술하여 놓게 되면 웹서버의 시스템 정보를 조회하거나 수정하는 것이 가능하다. 따라서 asp, php, jsp와 같은 파일의 업로드를 원천적으로 방지하거나 업로드된 파일의 저장 디렉토리에서 웹서버의 파일 실행을 막아놓아야만 업로드 취약점을 피할 수 있다.

4) XSS 취약점
크로스 사이트 스크립트(XSS : Cross Site Script) 취약점은 게시판의 본문에 웹브라우져에서 실행가능한 스크립트 언어를 직접 게재해 정보유출을 시도하는 방식이다. 스크립트 언어가 포함된 본문을 다른 사용자가 게시글 읽기를 통해 접근하게 되면 해당 스크립트가 사용자 웹브라우져에서 동작하게 되고 개인 사용자의 쿠키정보가 공격자가 원하는 곳으로 스크립트에 의하여 보내질 수 있다. 게시판 글쓰기 페이지에서 본문에 스크립트 언어를 검사하고 글쓰기를 방지하거나 스크립트 언어를 변조해 등록하면 취약점을 극복할 수 있다.


5) SQL 인젝션
일반적인 웹페이지를 보면 사용자 ID나 비밀번호, 검색단어 등 이용자들이 직접 텍스트를 입력해 웹서버로 전송하는 경우가 있다. 이런 입력 텍스트에 SQL에서 사용되는 명령어의 일부를 입력하여 전송하게 되면 입력어를 통해 DB검색을 수행하는 SQL문에 공격자가 입력한 명령어가 결합돼 엉뚱한 결과를 내어 놓거나 무한 루프에 빠지게 돼 DB를 이용불능 상태로 빠뜨릴 수 있다.
경우에 따라 관리자로 로그인되기도 하며 이럴 경우 개인 정보 유출에 무방비 상태로 노출된다. 따라서 특수문자와 SQL문으로 의심되는 텍스트의 입력을 제한하거나 SQL관련 코드 작성시 바인드 변수등을 이용하면 공격에 안전하다. <그림 5>는 실제로 SQL 인젝션을 이용해 해킹을 시도하고 있는 예이다.

개인정보 보호/관리방안
개인정보를 보호하기 위해서는 1) 내부사용자 및 용역업체에 대한 보호, 2) 네트워크 보안, 3) 사용자 보안, 4) 데이터베이스 보안, 5) 웹서버 등 애플리케이션 보안 등의 영역에 대한 검토가 필요하며 이는 기존의 보안영역과 중첩이 될 수 있는 분야도 있는 반면 새로운 보안방식을 고려해야 하는 부분도 발생하게 된다. 다음은 개인정보보호에 대해 관리자들이 새롭게 고려해야 하는 상황에 대해 정리를 해보도록 하겠다.

1) 개인정보 안정성 확보
개인정보는 취급자별로 세분화해 개인정보에 대한 접근권한을 설정할 수 있도록 해야 하며 접속기록을 철저히 관리하고 주기적으로 점검해 개인정보 처리시스템에 대한 보안체계를 구축해야 한다. 이 부분은 개인정보시스템에 접근하는 인가자, 비인가자들을 대상으로 하며 기본적으로 <표 2>와 같은 시스템 로그파일에 대한 점검을 기본으로 한다.


2) 개인정보 위탁처리
대량의 개인정보를 외부기관 등에 위탁해 처리할 경우 이러한 개인정보의 취급은 특별한 관리를 필요로 하게 된다. 현실적으로 대형 SI업체가 개인정보 처리업무를 제 3의 기관에 용역, 위탁하는 경우는 원칙적으로 불가하지만 현실에서는 이런 부분이 용인되고 있는 것 또한 사실이다. 아직 이런 부분에 대해서는 정부차원의 세부시행방침의 관리기준의 제시되어야 할 것으로 생각된다.

3) 개인정보의 결합방지
데이터베이스에서 개인정보들이 다뤄질때는 특정한 키값을 기준으로 개인정보와 부가정보들이 결합돼 또 다른 형태의 확장된 정보DB로 제공할 수 없도록 규정하고 있다. 특히 정보수집시의 목적과 다른 목적으로도 이러한 조합된 개인정보를 제공할 수 없음은 물론 타기관에게 업무상 정보를 제공할 시에도 정보주체의 동의가 있을 경우에만 원칙적으로 가능하다. 또한 다른 시스템으로의 개인정보 DB를 전이하는 경우 시스템연계가 필요한데 이 부분은 기존 개인정보 DB 를 가공해서 변형해야 하는데 이러한 부분도 원칙적으로 금하고 있다.

4) 개인정보 노출 관리
업무상 필요한 경우 개인정보가 홈페이지나 게시판에 노출이 필요한 경우 관련 정보를 일정기간만 고시할 수 있으며 특히 주민번호 등과 같은 정보는 뒤의 7자리가 보이지 않도록 설정할 수 있도록 조치돼야 한다. 이 부분은 기술적/보안적인 조치를 취해야 함을 의미한다. 의도적으로 개인정보를 홈페이지에 올릴 수 없도록 차단해주는 필터링 장치가 1차적으로 필요하겠지만 이미 등록된 개인정보도 필요시 선별적으로 보여줄 수 있는 하드웨어 장비( 또는 필터링 소프트웨어)가 필요하다고 할 수 있다.

5) 모니터링 툴
웹이나 메일, 게시판 , 블로그 형태로 정보교한이 자유롭기 때문에 이를 중간에서 감시하는 디바이스가 필요하다고 판단된다. 기존의 서비스 트래픽에 맞춰 장비설정 및 프록시 방식, 태핑(Tapping) 방식 등을 고려해 이러한 개인정보들이 다양한 형태로 교환되는 형태를 검출해 차단하는 모니터링 툴이 필요하다.
마지막으로 웹서비스를 시행하고 있는 기관중에서 대민서비스를 하고 있는 공공기관중에는 서비스중인 홈페이지나 게시판에 개인정보가 노출된 경우가 없는지 확인할 필요가 있다. 이는 물론 담당자가 수작업으로도 가능하겠지만 운영하는 웹서비스나 게시판이 증가하면서 관리자의 관리, 감독 영역을 벗어나는 경우가 발생하기 때문에 정기적으로 이러한 개인정보 노출사항을 진단해주는 서비스를 받는 것도 필요하다고 판단된다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.