'해킹'에 해당되는 글 2건

  1. 2007.10.17 Web 2.0 UCC의 위협요소 - 보안위협 33
  2. 2007.08.23 최초의 바이러스는 누가 왜 만들었을까? 13
2007. 10. 17. 09:35

Web 2.0 UCC의 위협요소 - 보안위협

image

올해 년초의 보안 전망에서 너도나도 할 것 없이 UCC의 위험에 대해서 언급을 하고 있습니다.

해외 보안 업체 뿐 아니라 국내 보안 업체들도 마찬가지의 목소리를 내고 있는데 실상 얼마 만큼의 위험요소가 있을까요?

실제 가벼운 예를 통해서 풀어 보도록 하겠습니다.

http://www.etnews.co.kr/news/detail.html?id=200701080117

Web 2.0은 사용자 중심의 UI를 통한 사용자에 의한 컨텐츠 제어로 규정 할 수 있을 것 같습니다. 물론 제 나름의 정의입니다. ^^

이 관계에서 AJAX든 UCC든 다양한 사용자 중심의 컨텐츠 구성이 핵심이 될 수 있을 것 같습니다. 이 중에서도 UCC [ 사용자 저작 컨텐츠]라고 칭할 만한 것은 매우 많이 있지만 국내외적으로 통용되는 부분은 동영상 부분을 언급 할 수 있습니다. 구글에 인수된 유튜브를 비롯하여 국내에도 다양하고 많은 동영상 서비스 제공 업체들이 있으며 현재도 활발하게 서비스를 하고 있는 상황입니다.

동영상이 핵심이 된 UCC 부분에 다가올 위협은 어떤 것들이 있을까요? 그리고 우리에겐 어떤 영향들이 있을까요?

Myspace 를 통한 Application 웜의 전파는 이미 시일이 지난 뉴스 입니다만 매우 손쉽게 기업이나 사용자들이  다양한 타격들을 받았습니다. 05년도에는 Javascript를 통한 이용자의 정보 도용 및 임의 전파가 가능한 가벼운 수준의 Application worm이 출현 하였습니다만 기업 입장에서는 개발 코딩의 변경 및 여러 관계 부분을 고치느라 고생을 하였을 것입니다.   이후 지난 연말 즈음에 Applie의 QuickTime 파일에서 임의적인 코드를 실행하게 하는 악성코드가 발견 되었고 해당 유형으로 인해 사용자의 피해가 다수 있었습니다. 앞으로도 계속 이어지겠죠. 온라인 상에서 서비스를 하는 기업이라면 말입니다.

QuickTime 포맷의 경우 편집기를 통해 중간 부분에 스크립트를 밀어 넣는 것이 가능해 집니다. 스크립트를 밀어 넣는다는 것은 원격지의 웹서버에서 악의적인 코드를 실행 시키게 하는 것이 가능하다는 것이죠. XSS [Cross site scripting] 취약성의 문제는 외부 링크를 허용하게 하거나 임의의 스크립트 코드를 실행 시키게 함으로써 사용자 PC에 악의적인 행위 혹은 사용자가 이용하는 웹사이트에 악의적인 행동을 할 수 있게 됩니다.

그렇다면 멀쩡한 게시판 및 링크들을 올릴 수 있는 부분을 제외하고 왜 동영상인가? 할 수 있습니다. 그 동안 XSS 취약성은 게시판 및 댓글 ..등등 사용자가 작성 할 수 있는 유형의 게시물에 많은 부분 발생이 되었고 많은 권고와 문제의 지적에 따라 상당부분 해결이 되었습니다.  즉 악의적인 코드의 실행을 유도 할 수 있는 원천 문제들이 다수 수정이 되었으므로 사용자가 직접 제작하여 올릴 수 있는 컨텐츠에 집중이 되는 것으로 볼 수 있습니다.

원천적인 악성코드 설치를 유도하는 소스의 변경은 다음과 같이 가볍게 볼 수 있습니다.

게시물의 XSS 취약성 이용 -> Jpeg 파일 변조를 통한 악성코드 설치 ->Flash내에 임의 코드 실행 루틴 추가 -> 동영상내에 악성코드 실행 루틴 첨가

현 재의 위험요소는 동영상 편집의 일반화 및 동영상 업로딩의 일반화에 따라 보다 더 많은 대중에게 노출이 가능한 컨텐츠가 보다 큰 효과를 얻을 수 있다고 판단을 하였을 것입니다. Mpeg 계열뿐 아니라 모든 동영상이 마찬가지의 문제를 안고 있습니다. 다만 문제의 해결은 이런 동영상들을 플레이 하는 플레이어의 판단에 따라 외부 코드가 실행이 되거나 되지 않거나 할 뿐입니다.

서론이 길었습니다. 간단하게 나타날 위험을 짚어 보겠습니다.

* 동영상 편집을 통해 중간이나 시작 부분등에 치료툴 [ 그동안 지긋지긋 하게 봐왔던 유형] 설치 및 광고가 들어 갈 수 있고 이런 유형은 매우 손쉽게 사용자 정보 유출 및 사용자 PC에 악의적인 코드를 실행 시키게 하여 원격에서 제어가 가능한 형태로  쉽게 전환이 될 것입니다.

* 동영상 플레이어의 경우 자체 제작한 동영상 플레이어 및 Media Player등을 거의 대부분 사용하고 있을 것인데 Media Player에 포함된 외부 URL , 스크립트에 대한 허용/ 비허용 기능의 Default On 기능이 Media Player 버전에 따라 들쭉날쭉 일관성이 없습니다.  Media player의 경우에는 허용/비허용이라도 있지만 대부분 자체 개발한 부분에는 해당 옵션 조차 없습니다.

* 자체 동영상 파일 원본을 보유한 곳은 패턴에 따른 검수라도 가능 하겠으나 단순 스트리밍 서비스를 제공 받는 곳은 치명적인 타격을 받을 수 있습니다.  [ MMS 프로토콜을 이용할 경우 버퍼링을 통해 방송이 됩니다. ] 파일 원본속에 포함된 악의적인 코드를 검출 하는 것이 불가능 하며 알려진 악성코드의 유형에 대해서만 다양한 보호장치를 통해 일부 판별하는 것이 가능합니다.

* 악성코드의 사용자 PC 공격 유형은 일반인들의 상상을 초월합니다. 보안장비나 패턴을 찾아내는 탐지기를 피하기 위해 다양한 변형기법들을 사용 하고 있으며  현재에도 널리 사용이 되고 있습니다. 단순하게 패턴을 찾는 유형으로는 일차적인 대응외에는 더 할 수 있는 일이 없다고 볼 수 있습니다. encoding 단계를 넘어선 상황입니다.

- 최악이라 볼 수 있는 것은 이슈성이 매우 큰 폭발력이 있는 동영상에 신규 취약성을 공격하는 코드 실행 루틴이 숨겨져 있을 경우 [ 일반적인 패턴매칭으로는 찾을 수 없을때] 한번에 몇백만개의 백도어가 설치된 PC들을 동시에 제어하는 것이 가능해 질 수도 있다고 생각 됩니다.

대책은 무엇일까요?

- 자체개발 동영상 Viewer에서의 외부 URL 링크 및 스크립트 실행 부분을 비허용으로 설정 [ 이럴 경우 광고등에 문제가 있을 것이므로 적당하게 현명한 대책이 필요합니다.] Media Player의 경우 버전에 따라 오락가락함.

- 전체 동영상 원본에 대한 발생 가능한 패턴의 발견 및 검증 절차 수립 [ 동영상 원본 자체내의 패턴을 검사하여 비정상 패턴을 걸러내야만 합니다. ]

- Streamming 서비스시에는 Streamming 서비스 원본을 제공하는 주체에서 명확하게 검증을 수행 하여야 하며 단순한 스트리밍 서비스를 중계하는 업체의  경우 에는 인력을 동원한 검증작업 이후나 검증 루틴을 소스제공 주체에 제공하여 보안을 강화하는 방식이 효과가 있을 것입니다.

여 담으로 IPTV가 활성화 된다고 합니다. 생방송 도중 악성코드가 삽입이 된다면 어떻게 될까요? 발생할 일이 없을까요? 장담하기 어려울 것입니다. 주문형 VoD의 경우에도 매우 큰 문제가 될 것이구요. 비단 UCC만의 문제가 아니라 전체 웹 및 서비스 산업의 발전에 따른 비용입니다. 서비스의 발전에는 그만큼의 그늘이 존재 할 수 밖에 없습니다. 모든 것은 발전을 지향하고 이상적인 모델을 추구합니다. 또한 공격자들도 이상적인 모델을 꿈꿉니다. 발전은 병행하며 공격기술의 발전은 무어의 법칙을 넘은 수준입니다. ^^;

모 든 서비스의 발전에는 물밑의 수없이 많은 다리의 움직임이 있어서 유지가 되는 것이라 할 수 있습니다. 많은 부분 노출이 되고 숨길만한 게재가 없는 "UCC"의 흐름에서 작은 문제 하나가 종종 만사를 어렵게 만들기도 합니다. 보안이라는 부분은 더이상 여유가 있을때 노력을 해야만 하는 충분조건이 아닌 필요충분조건으로서의 폭발력을 이미 가지고 있다고 봅니다.

앞으로 곧 현실화 될 문제이고 현재 당면한 문제입니다.

출처: http://blog.naver.com/p4ssion?Redirect=Log&logNo=50012928081

2007. 8. 23. 13:17

최초의 바이러스는 누가 왜 만들었을까?

제1단계 원시형 바이러스에서 제 5단계 매크로 바이러스까지

컴퓨터와 관련해 '바이러스'라는 용어는 1972년 'When Harlie Was One'이라는 공상 과학 소설에서 처음 등장했습니다. 저자 데이비드 제롤드는 '다른 컴퓨터에 계속 전화하여 자신을 복제한 후 감염된 컴퓨터의 운영체제에 영향을 미쳐 점차적으로 시스템을 마비시키는 기능을 가진 바이러스를 한 과학자가 제작하여 배포한다'라는 구절에서 컴퓨터에서의 바이러스라는 개념을 최초로 사용하였습니다.

이 소설가의 상상이 현실화된 것은 1985년으로, 파키스탄에서 세계 최초의 컴퓨터 바이러스인 브레인(Brain) 바이러스가 만들어진 것입니다. 파키스탄의 한 프로그래머 형제가 자신들이 애써 개발한 프로그램들이 잘 팔리기는 커녕 불법 복제가 성행하는 것을 보고 불법 복제한 사용자들을 골탕먹이기 위해 컴퓨터 바이러스라는 악성 프로그램을 개발하였다고 합니다. 이후 88년에 이스라엘의 예루살렘 대학에서 예루살렘(Jerusalem) 바이러스가 발견 되었으며, 이 바이러스는 13일의 금요일 바이러스라는 별명으로 유명해지기도 했습니다. 이렇게 파키스탄과 이스라엘에서 제작된 바이러스는 그 당시에만 해도 퇴치 방법이 없거나 바이러스라는 새로운 개념에 무지한 상태에서 전세계로 널리 퍼졌습니다. 우리나라에도 88 년에 브레인 바이러스가 유입되어 V3+의 전신인 백신(VACCINE.COM) 프로그램이 최초로 만들어지게 되었습니다.

컴퓨터 바이러스라는 개념을 받아들여서 대량의 컴퓨터 바이러스를 만들기 시작한 나라는 미국입니다. 미국의 해커(Hacker)들은 브레인 바이러스와 예루살렘 바이러스를 모방한 수많은 컴퓨터 바이러스를 만들었으며, 전세계적으로 수많은 변형 바이러스가 만들어지고 전파되었습니다. 그러나 얼마 가지 않아 미국에서의 컴퓨터 바이러스에 대한 열기가 식기 시작했습니다.

이러한 시점에서 컴퓨터 바이러스를 본격적으로 발전시키기 시작한 것은 동구권의 여러 국가들로, 특히 불가리아의 활약(?)이 두드러졌습니다. 불가리아는 은폐형 바이러스의 개념을 처음으로 도입, 발전시켰으며 그 외에도 새로운 기법을 사용하는 수많은 컴퓨터 바이러스를 개발했습니다.

불가리아에서 만들어져 전세계적으로 퍼져나간 대표적인 컴퓨터 바이러스로는 우리나라에서도 많은 문제를 일으킨 어둠의 복수자(Dark_Avenger) 바이러스, Dir_Ⅱ 바이러스 등이 있습니다. 이 때문에 불가리아에 대해 바이러스 제작소(Bulgarian Virus Factory)라는 불명예스러운 이름이 붙게 되었습니다. 또한 최근에는 사회적으로 비슷한 상황에 있는 독립국가 연합(구 소련)에서도 대량의 컴퓨터 바이러스가 만들어지고 있습니다.

이러한 국가에서 컴퓨터 바이러스가 많이 만들어지는 이유는, 경제난이 심각해져 생필품조차 구하기 어려운 실정인데다, 저작권이 보호되지 않고 불법 복제가 성행하기 때문에, 능력있는 많은 프로그래머들이 프로그램을 작성할 의욕을 잃어버렸기 때문입니다.

컴퓨터 바이러스의 발전 단계

컴퓨터 바이러스의 발전 단계는 연구자에 따라 분류 방법이 다르지만, 안철수 컴퓨터 바이러스 연구소 소장의 경우 다음의 다섯 가지 단계로 나누고 있습니다.

컴퓨터바이러스의 발전단계

제 1 세대 - 원시형 바이러스(Primitive Virus)

제 2 세대 - 암호형 바이러스(Encryption Virus)

제 3 세대 - 은폐형 바이러스(StealthVirus)

제 4 세대 - 갑옷형 바이러스(Armour Virus)

제 5 세대 - 매크로 바이러스(Macro Virus)

제 1세대 : 처음 출현한 제 1세대 '원시형 바이러스(Primitive Virus)'는 실력이 그다지 뛰어나지 않은 아마추어 프로그래머들이 만든 것으로, 프로그램 구조가 단순해 분석하기가 매우 쉬운 바이러스입니다. 돌(Stoned) 바이러스, 예루살렘(Jerusalem) 바이러스 등 대부분의 바이러스가 여기 속합니다.

제 2세대 : '암호화 바이러스(Encryption Virus)'는 어느 정도 실력을 갖춘 프로그래머들이 만들었으며, 백신 프로그램이 진단할 수 없게 하기 위해서 바이러스 프로그램의 일부 또는 대부분을 암호화시켜 저장합니다. 그러나 실행이 시작되는 부분에 존재하는 암호 해독 부분은 항상 일정하기 때문에 어렵지 않게 퇴치할 수 있습니다. 폭포(Cascade) 바이러스, 느림보 (Slow) 바이러스 등이 대표적인 예입니다.

제 3세대 : '은폐형 바이러스(Stealth Virus)'는 자신을 은폐하고 사용자나 백신 프로그램에 거짓 정보를 제공하기 위해서 다양한 기법을 사용합니다. 즉, 기억 장소에 존재하면서 감염 된 파일의 길이가 증가하지 않은 것처럼 보이게 하고, 백신 프로그램이 감염된 부분을 읽으려고 하면 감염되기 전의 내용을 보여줌으로써 바이러스가 존재하지 않는 것처럼 백신 프로 그램이나 사용자를 속이는 것입니다. 이 경우 기억 장소를 먼저 검사해서 은폐 기능을 무력화시키면 쉽게 진단할 수 있습니다. 은폐형 바이러스에는 브레인(Brain) 바이러스, 조쉬(Joshi) 바이러스, 512 바이러스, 4096 바이러스 등이 있습니다.

제 4세대 : 2, 3세대 바이러스가 암호화나 은폐 기법을 통해 백신 프로그램을 무력화시키는데 실패한 후 새롭게 등장한 것이 제 4세대 '갑옷형 바이러스(Armour Virus)'입니다. 컴퓨터 바이러스 제작자들은 이제 백신 프로그램 자체가 아닌 백신 프로그래머를 공격 목표로 삼아 여러 단계의 암호화와 고도의 자체 수정 기법을 동원함으로써, 백신 프로그래머가 바이러스를 분석하고 백신을 제작하는 과정을 어렵게 만드는 작전을 구사하기 시작했습니다.

갑 옷형 바이러스의 일종으로 '다형성 바이러스(Polymorphic Virus)'가 있습니다. 이것은 암호화 바이러스의 일종이지만 암호화를 푸는 부분이 항상 일정한 단순 암호화 바이러스와는 달리, 암호화를 푸는 부분조차도 감염될 때마다 달라지는 바이러스입니다. 다형성 바이러스 중에는 한 바이러스가 100만 가지 이상의 변형을 만드는 경우도 있어 백신 프로그래머를 혼란에 빠뜨립니다.

이러한 갑옷형 바이러스들은 최상급의 실력을 가진 전문 프로그래머가 개인 혹은 단체로 만들어낸 것이라고 추측됩니다. 대표적인 예에 해당하는 고래(Whale) 바이러스의 경우는 그것을 분석하는 데 여러 명의 전문가가 동원된 것으로 알려져 있습니다. 현재로서는 갑옷형 바이러스의 종류가 많지 않지만 앞으로 제작될 가능성은 매우 높습니다. 그러나 은폐형 바이러스와 마찬가지로 다형성 바이러스도 진단이나 치료가 불가능한 것은 아니며, 실제로 대부분의 백신 프로그램을 사용하면 진단 및 치료가 가능합니다.

제 5세대 : 매크로 바이러스는 전세계적으로 급속히 확산되고 있는 새로운 형태의 바이러스로 마이크로소프트사의 오피스 프로그램에 있는 매크로 기능을 이용한 매크로 바이러스가 전세계적으로 계속 발견되고 있습니다. 지금까지 발견된 매크로 바이러스는 크게 마이크로소프트 워드와 엑셀에 감염되는 2가지 종류가 있으며, 1997년까지 무려 2,000여 종 이상 발견된 것으로 알려져 있습니다. 앞으로는 기존의 1 ~ 4 세대의 바이러스보다는 매크로 바이러스가 급증할 것으로 예상됩니다.

1 세대∼5세대의 구분은 컴퓨터 바이러스의 발전 단계이지, 시기적인 순서대로 발견되었음을 뜻하는 것은 아닙니다. 한 가지 예로, 브레인 바이러스는 아주 초기에 발견된 컴퓨터 바이러스지만 은폐 기법을 사용하고 있기 때문에 제 3세대 바이러스로 분류합니다. 지금은 제 1세대 바이러스부터 제 5세대 바이러스까지 공존하는 상태입니다.

백신 프로그램이란

백신 프로그램(Anti-Virus Program)이란 컴퓨터 바이러스를 예방, 검사, 치료할 수 있는 프로그램입니다. 백신 프로그램은 지금까지 발견된 컴퓨터 바이러스에 한하여 예방, 검사, 치료할 수 있습니다. 최소한 다음의 컴퓨터 바이러스 예방 규칙 3가지는 준수해야 하며, 그 다음 단계에서 필요한 것이 백신 프로그램입니다.

1. 중요한 데이터들은 반드시 정기적으로 백업을 해 놓는 것이 좋습니다.

2. 정품 소프트웨어만을 사용하는 것이 좋습니다.

3. 백신 프로그램은 항상 최신 버전을 사용하는 것이 좋습니다.

컴퓨터 바이러스에 감염되었을 경우

컴퓨터 바이러스에 감염되면 다음 네 가지의 증상이 나타납니다.

컴퓨터 속도의 저하 - 부팅 시간의 지연, 프로그램의 실행시간 지연 등.

바이러스의 감염 흔적 - 기본 메모리 크기의 감소, 파일의 길이 증가, 파일의 작 성일 변경 등.

파괴증상 - 프로그램의 실행 중지, 파익의 삭제, 하드디스크의 인식 불가능 등.

바이러스의 특징적인 증상 - 특정 문자열이 출력, 음악 연주 등.

이러한 경우에는 해당 시스템을 깨끗한 부팅 디스켓으로 다시 부팅한 후, V3와 같은 백신 프로그램을 이용해 컴퓨터 바이러스의 감염 여부를 확인하시기 바랍니다.

컴퓨터 바이러스의 감염 경로

무분별한 정품 소프트웨어의 불법 복제, 인증되지 않은 불법 통신망등의 공개자료실에 올라오는 프로그램들을 다운로드할 때 바이러스에 감염되어 있는 파일이 있으면 자신의 컴퓨터도 바이러스에 감염되는 것입니다.

바이러스의 제작 동기는 자신의 실력을 시험하기 위해서, 혹은 자신의 실력을 과시하기 위해서 제작되는 경우가 많습니다. 하지만 바이러스를 제작한 첫 번째 의도는 불법 복제를 했을 때 감염되는 것이었습니다.

힘들여 제작하여 상용으로 판매하고 있는 프로그램 제작자가 자신의 프로그램을 불법 복제하거나 또 올바르지 않은 경로를 통해 프로그램을 설치하거나 실행했을 경우 컴퓨터 바이러스를 만들어 데이터를 파괴하는 목적에 사용되었다고 합니다.