자료공유, 채팅, MP3 이러한 단어를 연상시키는 통신체계가 있다면 쉽게 P2P 방식을 떠올릴 것이다.
손쉽게 자료를 공유하여 사용할 수 있고, 인터넷이 되는 곳이라면 어디서든 메시지를 주고 받을 수 있는 P2P 프로그램은 이제 어느 PC에서나 흔히 볼 수 있는 클라이언트 프로그램으로 자리 매김하였다.
몇 해전부터 사용자가 급격히 증가하며 대중적인 인기를 얻은 P2P 프로그램은 사회적인 이슈로 떠오르는 계기가 있었다.
지적 재산권인 데이터를 불법으로 공유하여 사용하고, 웜, 바이러스, 개인정보유출 등 개인 및 기업에 막대한 피해를 입히면서 국내뿐 아니라 국제사회에서도 많은 논란거리가 되고 있다.
P2P 기술은 생산성을 증가시킬 수 있는 긍정적인 측면을 가지고 있으나, 더 많은 잠재적인 취약한 구조를 가지고 있을 수 있어 새로운 형태의 보안 취약점으로 나타날 수 있다.
이 시점에서 P2P 통신체계에 대한 정리를 해보고, P2P 통신체계를 사용하고 있는 프로그램의 위협요소와 잠재되어 있는 취약성 등을 분석하여 개인 및 기업에서 발생할 수 있는 문제를 최소화 할 수 있는 방안을 마련하고자 한다.
P2P 프로그램이란?
MSN 메신저, 네이트온, 소리바다 등의 프로그램은 모르는 사람이 없을 정도로 많이 알려져 있는 P2P 프로그램들이다.
P2P의 개념에 대해 간단히 정리하면 사용자와 사용자간의 통신이 서버를 통하지 않고 직접 이루어지는 통신체계라 말할 수 있다.
즉, 우리가 많이 사용하는 P2P 프로그램들은 중앙의 서버에서 기본적인 사용자 인증만을 거치며, 실질적인 사용자와 사용자간의 데이터 교환은 서버를 경유하지 않고 직접 이루어 진다고 이해하면 쉬울 것이다.
이러한 P2P 프로그램이 활성화된 배경을 알아보자. 네트워크의 대역폭 및 사용자 컴퓨터 환경이 급속도로 발전하고는 있지만, 서버를 통한 자료 교환 방식은 트래픽이 한곳에 집중되기 때문에 사용자가 원하는 빠른 자료 교환을 가능하게 할 수가 없었다.
이를 극복하기 위한 방법으로 P2P를 이용한 자료 교환 및 메시지 교환 방식이 활성화 되면서 P2P를 이용한 여러 프로그램들이 활용되고
있다.
또한 과거와는 달리 PC의 사양이 높아짐에 따라 대용량 저장소, 빠른 처리 속도 등으로 인해 PC와 서버 간의 경계가 거의 없어졌다는 점도 들 수 있다.
보안 위협 요소
P2P는 이와 같이 서버에의 리소스 집중을 해결하고 원하는 자료를 손쉽게 구할 수 있다는 점에서 업무 효율성도 많이 높이고 있다.
하지만 이러한 P2P 프로그램이 널리 전파되면서 다양한 보안 상의 문제점도 제기되고 있다. 이 절에서는 그러한 위협요소에 대하여 살펴보도록 하겠다.
1) 저작권 침해
P2P 프로그램을 이용하여 MP3 및 동영상, 상용 소프트웨어 등을 공유하는 것은 국내뿐 아니라 국제사회에서도 저작권 침해로 논란이 계속 발생하고 있다.
이를 해결하기 위한 방안으로 미개봉된 영화나, 음반 등을 불법으로 공유하여 적발될 경우 저작권법에 의해 처벌을 받을 수 있도록 법적 효력을 인터넷 범위까지 넓혀가고 있다.
실제 지난 8월경 미디어 파일을 P2P 프로그램을 이용하여 공유하던 일반 사용자들이 저작권법 위반 협의로 적발된 사례도 있었다.
또한 상용 소프트웨어의 경우 기업이 적게는 수개월에서 많게는 수십년동안 엄청난 자금을 투입하여 개발한 소프트웨어를 P2P를 이용하여 공유해 사용한다는 것은 기업에 크나큰 손실을 입힐 수 있는 문제로서, P2P는 소프트웨어 발전에 크나큰 걸림돌로 작용하고 있다고 지적하기도 했다.
2) 패스워드 및 중요정보 유출
사용자의 부주의, 프로그램 상의 버그로 나타날 수 있는 문제로 공유할 폴더 및 다른 폴더로 접근할 수 있을 때 발생할 수 있다.
일반적으로 P2P 프로그램을 이용한 공유는 자신이 공유할 폴더를 선택할 수 있는데 사용자의 부주의로 시스템 전체를 접근할 수 있도록 허용하는 것은 보안상 많은 문제를 야기 시킬 수 있다.
시스템에 접근하기 위한 정보를 획득할 수 있는 경로로 사용될 수 있으며, 기밀 사항이 외부로 유출될 수 있기 때문이다.
이외에 과거 특정 P2P 프로그램 자체의 구현 상 취약성으로 공유된 폴더 외에 다른 폴더로 접근할 수 있는 취약점이 발견되기도 하였다.
3) 바이러스, 웜, 백도어, Malware 감염 및 전파
악성코드를 정상적인 프로그램으로 위장하거나 프로그램에 삽입하여 메신저에 파일이나 인증서 형태로 첨부되어 전파되는 사례가 늘고 있는 추세이다.
웜이 이러한 경로를 이용하는 이유는 기존 공유된 폴더나 E-mail 등으로 전파되는 웜보다 훨씬 강력한 전파력을 가질 수 있기 때문이다.
또한 흔히 기업에서는 바이러스 월 등을 도입하고 있는 경우가 있는데 대부분의 바이러스 월은 SMTP, FTP, POP3, IMAP, HTTP 등과 같은 표준화된 프로토콜에 대한 스캐닝을 주로 하기 때문에 P2P 구현마다 다양한 자사의 프로토콜을 적용한 경우에 있어서는 네트워크 레벨에서의 차단도 어렵기에 관리자로 하여금 처치 곤란한 문제로 되고 있다.
메신저를 통해 전파되는 대부분의 웜은 온라인으로 등록되어 있는 리스트로 악성코드가 담긴 메시지를 전송하는 방법을 이용한다.
또한, 이러한 악성코드로 침해 당한 시스템이 외부에서 접근 불가능한 방화벽 내부에 있거나, VPN Client를 설치하고 있다면 정상적인 방법으로 접근할 수 없었던 다른 시스템으로 접근하기 위한 중간 경로로 사용될 수 있다.
방화벽으로 트래픽이 차단되어 백도어포트로 접근이 불가능하다고 생각할 수도 있으나, 이런 경우는 보통 공개된 서비스로 쓰이는 포트를 백도어 포트로 설정하여 쓰는 방법을 통해 공격함으로 그리 어려운 일은 아닐 것이다.
P2P 문제는 한 시스템에만 국한되는 것이 아니라는 사실을 염두해 두어야 한다.
4) 네트워크 대역폭 점유
최근 들어 기업 또는 개인이 사용하는 네트워크 대역폭이 급격히 증가함에 따라 공유할 수 있는 파일의 종류도 대형화되고 있는 추세이다.
특히 동영상 파일의 경우 적게는 수메가에서 수기가에 이르며, 이러한 파일들을 공유하여 전송할 때는 기업의 모든 네트워크 대역폭을 점유하여 사용하기에 이른다.
기업 내에서 이러한 문제가 발생할 경우 네트워크를 통한 업무는 거의 마비될 것이고, 이런 P2P 프로그램을 주요 서버가 존재하는 네트워크에서 실행시킬 경우, 외부 사용자들 역시 늦은 응답속도로 인해 해당 기업의 E-Business 이미지에 막대한 손실을 입을 수 있다.
5) 대화 내용 스니핑
MSN 메신저, 야후! 메신저, 네이트온과 같은 프로그램들은 P2P를 통해 Text 문자, Voice 메시지, 파일등을 보낼 수 있다.
하지만 대부분의 인스턴트 메시지 Client 들은 인증 기능을 제공하고 있지 않아 중간에 대화내용을 모두 스니핑하여 볼 수 있다. 대표적인 예로 MSN 메신저의 경우 MSNSniffer와 같은 툴로 쉽게 대화내용을 볼 수 있다.
만약 기밀사항이나, 카드정보, 계정 및 패스워드가 대화내용에 포함되어 있을 경우 악의 있는 공격자는 대화 내용을 확인 할 수 있을 것이다.
6) P2P 프로그램의 방화벽 우회
몇 해전까지만 하더라도 P2P 프로그램에서 사용하고 있는 포트나 중앙제어 서버를 차단하면 프로그램의 사용이 불가능 했었으나, 최근 들어 많은 P2P 프로그램이 사용자 임의로 포트를 변경할 수 있거나, 프락시 서버를 경유하여 중앙 제어 서버로 접근하는 방법이 이용되어 방화벽에서 차단하는데 많은 어려움이 발생하고 있다.
또한 자료를 전송하기 위한 포트가 차단되어 있을 경우 공개된 서비스로 쓰이고 있는 포트를 이용하는 등 방화벽을 우회 하기 위한 방법을 사용하는 P2P 프로그램의 차단은 점점 불가능해 지고 있다.
7) 분산 처리 시스템
전세계에 분포되어 있는 시스템 중 쓰이고 있지 않은 리소스를 이용하여 대용량의 자료를 분산처리 하는데 P2P 방식을 이용하기도 한다.
대표적인 예로 SETI@Home을 들 수 있다.
이 프로젝트는 지구 이외의 행성에 대한 연구에 필요한 데이터를 처리하기 위해서 세계에 분포되어 있는 컴퓨터에 화면 보호기로 만들어진 프로그램이 설치되고 화면보호기가 동작되는 동안에 데이터를 다운받고 처리하게 된다.
이러한 프로그램은 슈퍼컴퓨터에 버금가는 능력을 가지게 된다.
예를 들어 1999년 초에 Electronic Frontier Foundation ( http://www.eff.org/ )에서는 약 10만대의 PC에 분산처리 Agent를 설치하고 Brute-Force 공격을 통해 약 22시간동안 2450억개의 키를 테스트하여 56-bit의 DES 암호화 알고리즘을 크랙하였다.
하지만 모든 시스템이 동시에 이 테스트에 참여한 것은 아니였고, 사용자가 시스템을 사용하지 않을 경우만을 이용하여 테스트한 결과이다.
이러한 점을 미루어 정상적인 프로젝트로 위장한 에이전트를 사용자들 PC에 설치하도록 유도하고, 에이전트가 설치된 PC들을 이용하여 암호화 되어 있는 키를 크랙하거나 분산서비스거부 공격에 사용될 수 있다.
클라이언트 입장에서 볼 때 정상적인 프로젝트를 수행하는 목적보다는 P2P 프로그램의 취약점을 이용하여 다른 시스템의 접근 또는 정보유출 등의 목적을 가지고 프로젝트에 참여하기도 한다.
물론 대부분의 분산 처리 시스템에 사용되는 소스코드는 공개되지 않은채 사용되기 때문에 이러한 공격은 쉽게 이루어 질 수 없다.
만약 공격자가 분산 처리 시스템에 사용되는 프로그램의 버그를 발견하여 이를 악용한다면 엄청난 일이 벌어질지도 모른다.
일부 P2P 프로그램에서는 사용자 모르게 스트리밍 서비스와 같은 네트워크 서비스 기능을 추가하여 서버로 집중될 수 있는 트래픽을 다른 사용자 컴퓨터를 이용하여 서비스 하고 사용자의 자료를 동의 없이 사용하는 사례도 발견 되었다.
손쉽게 자료를 공유하여 사용할 수 있고, 인터넷이 되는 곳이라면 어디서든 메시지를 주고 받을 수 있는 P2P 프로그램은 이제 어느 PC에서나 흔히 볼 수 있는 클라이언트 프로그램으로 자리 매김하였다.
몇 해전부터 사용자가 급격히 증가하며 대중적인 인기를 얻은 P2P 프로그램은 사회적인 이슈로 떠오르는 계기가 있었다.
지적 재산권인 데이터를 불법으로 공유하여 사용하고, 웜, 바이러스, 개인정보유출 등 개인 및 기업에 막대한 피해를 입히면서 국내뿐 아니라 국제사회에서도 많은 논란거리가 되고 있다.
P2P 기술은 생산성을 증가시킬 수 있는 긍정적인 측면을 가지고 있으나, 더 많은 잠재적인 취약한 구조를 가지고 있을 수 있어 새로운 형태의 보안 취약점으로 나타날 수 있다.
이 시점에서 P2P 통신체계에 대한 정리를 해보고, P2P 통신체계를 사용하고 있는 프로그램의 위협요소와 잠재되어 있는 취약성 등을 분석하여 개인 및 기업에서 발생할 수 있는 문제를 최소화 할 수 있는 방안을 마련하고자 한다.
P2P 프로그램이란?
MSN 메신저, 네이트온, 소리바다 등의 프로그램은 모르는 사람이 없을 정도로 많이 알려져 있는 P2P 프로그램들이다.
P2P의 개념에 대해 간단히 정리하면 사용자와 사용자간의 통신이 서버를 통하지 않고 직접 이루어지는 통신체계라 말할 수 있다.
즉, 우리가 많이 사용하는 P2P 프로그램들은 중앙의 서버에서 기본적인 사용자 인증만을 거치며, 실질적인 사용자와 사용자간의 데이터 교환은 서버를 경유하지 않고 직접 이루어 진다고 이해하면 쉬울 것이다.
이러한 P2P 프로그램이 활성화된 배경을 알아보자. 네트워크의 대역폭 및 사용자 컴퓨터 환경이 급속도로 발전하고는 있지만, 서버를 통한 자료 교환 방식은 트래픽이 한곳에 집중되기 때문에 사용자가 원하는 빠른 자료 교환을 가능하게 할 수가 없었다.
이를 극복하기 위한 방법으로 P2P를 이용한 자료 교환 및 메시지 교환 방식이 활성화 되면서 P2P를 이용한 여러 프로그램들이 활용되고
있다.
또한 과거와는 달리 PC의 사양이 높아짐에 따라 대용량 저장소, 빠른 처리 속도 등으로 인해 PC와 서버 간의 경계가 거의 없어졌다는 점도 들 수 있다.
보안 위협 요소
P2P는 이와 같이 서버에의 리소스 집중을 해결하고 원하는 자료를 손쉽게 구할 수 있다는 점에서 업무 효율성도 많이 높이고 있다.
하지만 이러한 P2P 프로그램이 널리 전파되면서 다양한 보안 상의 문제점도 제기되고 있다. 이 절에서는 그러한 위협요소에 대하여 살펴보도록 하겠다.
1) 저작권 침해
P2P 프로그램을 이용하여 MP3 및 동영상, 상용 소프트웨어 등을 공유하는 것은 국내뿐 아니라 국제사회에서도 저작권 침해로 논란이 계속 발생하고 있다.
이를 해결하기 위한 방안으로 미개봉된 영화나, 음반 등을 불법으로 공유하여 적발될 경우 저작권법에 의해 처벌을 받을 수 있도록 법적 효력을 인터넷 범위까지 넓혀가고 있다.
실제 지난 8월경 미디어 파일을 P2P 프로그램을 이용하여 공유하던 일반 사용자들이 저작권법 위반 협의로 적발된 사례도 있었다.
또한 상용 소프트웨어의 경우 기업이 적게는 수개월에서 많게는 수십년동안 엄청난 자금을 투입하여 개발한 소프트웨어를 P2P를 이용하여 공유해 사용한다는 것은 기업에 크나큰 손실을 입힐 수 있는 문제로서, P2P는 소프트웨어 발전에 크나큰 걸림돌로 작용하고 있다고 지적하기도 했다.
2) 패스워드 및 중요정보 유출
사용자의 부주의, 프로그램 상의 버그로 나타날 수 있는 문제로 공유할 폴더 및 다른 폴더로 접근할 수 있을 때 발생할 수 있다.
일반적으로 P2P 프로그램을 이용한 공유는 자신이 공유할 폴더를 선택할 수 있는데 사용자의 부주의로 시스템 전체를 접근할 수 있도록 허용하는 것은 보안상 많은 문제를 야기 시킬 수 있다.
시스템에 접근하기 위한 정보를 획득할 수 있는 경로로 사용될 수 있으며, 기밀 사항이 외부로 유출될 수 있기 때문이다.
이외에 과거 특정 P2P 프로그램 자체의 구현 상 취약성으로 공유된 폴더 외에 다른 폴더로 접근할 수 있는 취약점이 발견되기도 하였다.
3) 바이러스, 웜, 백도어, Malware 감염 및 전파
악성코드를 정상적인 프로그램으로 위장하거나 프로그램에 삽입하여 메신저에 파일이나 인증서 형태로 첨부되어 전파되는 사례가 늘고 있는 추세이다.
웜이 이러한 경로를 이용하는 이유는 기존 공유된 폴더나 E-mail 등으로 전파되는 웜보다 훨씬 강력한 전파력을 가질 수 있기 때문이다.
또한 흔히 기업에서는 바이러스 월 등을 도입하고 있는 경우가 있는데 대부분의 바이러스 월은 SMTP, FTP, POP3, IMAP, HTTP 등과 같은 표준화된 프로토콜에 대한 스캐닝을 주로 하기 때문에 P2P 구현마다 다양한 자사의 프로토콜을 적용한 경우에 있어서는 네트워크 레벨에서의 차단도 어렵기에 관리자로 하여금 처치 곤란한 문제로 되고 있다.
메신저를 통해 전파되는 대부분의 웜은 온라인으로 등록되어 있는 리스트로 악성코드가 담긴 메시지를 전송하는 방법을 이용한다.
또한, 이러한 악성코드로 침해 당한 시스템이 외부에서 접근 불가능한 방화벽 내부에 있거나, VPN Client를 설치하고 있다면 정상적인 방법으로 접근할 수 없었던 다른 시스템으로 접근하기 위한 중간 경로로 사용될 수 있다.
방화벽으로 트래픽이 차단되어 백도어포트로 접근이 불가능하다고 생각할 수도 있으나, 이런 경우는 보통 공개된 서비스로 쓰이는 포트를 백도어 포트로 설정하여 쓰는 방법을 통해 공격함으로 그리 어려운 일은 아닐 것이다.
P2P 문제는 한 시스템에만 국한되는 것이 아니라는 사실을 염두해 두어야 한다.
4) 네트워크 대역폭 점유
최근 들어 기업 또는 개인이 사용하는 네트워크 대역폭이 급격히 증가함에 따라 공유할 수 있는 파일의 종류도 대형화되고 있는 추세이다.
특히 동영상 파일의 경우 적게는 수메가에서 수기가에 이르며, 이러한 파일들을 공유하여 전송할 때는 기업의 모든 네트워크 대역폭을 점유하여 사용하기에 이른다.
기업 내에서 이러한 문제가 발생할 경우 네트워크를 통한 업무는 거의 마비될 것이고, 이런 P2P 프로그램을 주요 서버가 존재하는 네트워크에서 실행시킬 경우, 외부 사용자들 역시 늦은 응답속도로 인해 해당 기업의 E-Business 이미지에 막대한 손실을 입을 수 있다.
5) 대화 내용 스니핑
MSN 메신저, 야후! 메신저, 네이트온과 같은 프로그램들은 P2P를 통해 Text 문자, Voice 메시지, 파일등을 보낼 수 있다.
하지만 대부분의 인스턴트 메시지 Client 들은 인증 기능을 제공하고 있지 않아 중간에 대화내용을 모두 스니핑하여 볼 수 있다. 대표적인 예로 MSN 메신저의 경우 MSNSniffer와 같은 툴로 쉽게 대화내용을 볼 수 있다.
만약 기밀사항이나, 카드정보, 계정 및 패스워드가 대화내용에 포함되어 있을 경우 악의 있는 공격자는 대화 내용을 확인 할 수 있을 것이다.
6) P2P 프로그램의 방화벽 우회
몇 해전까지만 하더라도 P2P 프로그램에서 사용하고 있는 포트나 중앙제어 서버를 차단하면 프로그램의 사용이 불가능 했었으나, 최근 들어 많은 P2P 프로그램이 사용자 임의로 포트를 변경할 수 있거나, 프락시 서버를 경유하여 중앙 제어 서버로 접근하는 방법이 이용되어 방화벽에서 차단하는데 많은 어려움이 발생하고 있다.
또한 자료를 전송하기 위한 포트가 차단되어 있을 경우 공개된 서비스로 쓰이고 있는 포트를 이용하는 등 방화벽을 우회 하기 위한 방법을 사용하는 P2P 프로그램의 차단은 점점 불가능해 지고 있다.
7) 분산 처리 시스템
전세계에 분포되어 있는 시스템 중 쓰이고 있지 않은 리소스를 이용하여 대용량의 자료를 분산처리 하는데 P2P 방식을 이용하기도 한다.
대표적인 예로 SETI@Home을 들 수 있다.
이 프로젝트는 지구 이외의 행성에 대한 연구에 필요한 데이터를 처리하기 위해서 세계에 분포되어 있는 컴퓨터에 화면 보호기로 만들어진 프로그램이 설치되고 화면보호기가 동작되는 동안에 데이터를 다운받고 처리하게 된다.
이러한 프로그램은 슈퍼컴퓨터에 버금가는 능력을 가지게 된다.
예를 들어 1999년 초에 Electronic Frontier Foundation ( http://www.eff.org/ )에서는 약 10만대의 PC에 분산처리 Agent를 설치하고 Brute-Force 공격을 통해 약 22시간동안 2450억개의 키를 테스트하여 56-bit의 DES 암호화 알고리즘을 크랙하였다.
하지만 모든 시스템이 동시에 이 테스트에 참여한 것은 아니였고, 사용자가 시스템을 사용하지 않을 경우만을 이용하여 테스트한 결과이다.
이러한 점을 미루어 정상적인 프로젝트로 위장한 에이전트를 사용자들 PC에 설치하도록 유도하고, 에이전트가 설치된 PC들을 이용하여 암호화 되어 있는 키를 크랙하거나 분산서비스거부 공격에 사용될 수 있다.
클라이언트 입장에서 볼 때 정상적인 프로젝트를 수행하는 목적보다는 P2P 프로그램의 취약점을 이용하여 다른 시스템의 접근 또는 정보유출 등의 목적을 가지고 프로젝트에 참여하기도 한다.
물론 대부분의 분산 처리 시스템에 사용되는 소스코드는 공개되지 않은채 사용되기 때문에 이러한 공격은 쉽게 이루어 질 수 없다.
만약 공격자가 분산 처리 시스템에 사용되는 프로그램의 버그를 발견하여 이를 악용한다면 엄청난 일이 벌어질지도 모른다.
일부 P2P 프로그램에서는 사용자 모르게 스트리밍 서비스와 같은 네트워크 서비스 기능을 추가하여 서버로 집중될 수 있는 트래픽을 다른 사용자 컴퓨터를 이용하여 서비스 하고 사용자의 자료를 동의 없이 사용하는 사례도 발견 되었다.
'컴퓨터 > Web' 카테고리의 다른 글
파이어폭스에 대한 다섯가지 오해 (Mozilla) (2) | 2004.12.25 |
---|---|
브라우저의 미래 파이어폭스(불여우) (0) | 2004.12.23 |
MS, 블로그 시장에도 발 담근다 (0) | 2004.12.19 |
블로그 시대, 당신은 어떤 블로거? (0) | 2004.12.19 |
'격침! MS' 모토로 한국 진출 시도 (0) | 2004.12.19 |