태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

해킹 (7)


유닉스/리눅스 운영체제는 태어난지 수십년이 지난 지금(2014)도 그 자체로 취약성 덩어리라 해도 과언이 아니다. 다만 네트워크기반의 다른 보안솔루션들의 집중적인 보호(침입차단)를 받고 있고 자체적으로는 사용자인증(로그인)과 기본적인 사용자간의 권한분리(계정을 통한 분리)를 통해 최소한의 보안을 유지하고 있는 것이다. 하지만 말 그대로 "최소한"의 보안이다.


유닉스/리눅스 운영체제를 공부하다 보면 수도 없이 많은 보안 취약성을 발견하게 된다. 그 취약성은 개방성을 기반으로 개발된 운영체제이기 때문이기도 하지만 사실...별다른 보안개념을 적용하지 않고 개발된 운영체제이기 때문이기도 한다.


그중에서 오늘 소개할 것은 심볼릭링크 취약성과 쉘의 취약성이다. (심볼릭링크는 윈도의 단축아이콘과 유사하다.)


이따금씩 서버보안 S/W의 시연이나 BMT를 진행하다보면 일부 취약성 공격의 방어에 대한 시연을 요청하는 경우가 있다. 대부분 웹쉘 방어 혹은 웹 소스 위변조 차단에 대한 시연을 진행하는데 이번엔 심볼릭링크 취약성까지 시연해야 하는 경우가 생겼다. 사실... 버퍼오버플로나 포맷스트링 등은 이론적으로만 이해하고 있고 실습(?)을 해보지는 않았다. 사실 해당 취약성을 내포한 애플리케이션을 코딩(C로)하고 테스트하는 과정은 썩 단순하지는 않다. 이따금씩 하는 코딩 실력으론 어려운게 사실이다.


하지만 레이스컨디션은 너무도 쉽고 단순한 쉘스크립트로도 실습이 가능하다. 아주 오래전 한참 코딩에 빠져있을 때 원조 모의해킹 실습사이트(이름은 생각나지 않음)에 들어가 모의해킹을 통해 레벨을 올라가는 도전을 해본적이 있다. 당시 15레벨인가가 명예의전당이었던것 같은데 당시에 8레벨인가가 레이스컨디션 공격을 해야하는 문제였었다. 난 8레벨 획득을 끝으로 더이상 도전하지 않았다. 9레벨에 가려면 인라인어셈블리까지 해야했기 때문이었다. (어셈블리는 인간의 언어가 아니라고 난 생각한다. ^^)


이제 본론으로 넘어가자.


1. 심볼릭링크 취약성을 가진 쉘스크립트


심볼릭링크 취약성은 다양한 프로그램에서 갖고 있다. 특히 임시파일을 생성하고 생성한 임시파일에 쓰기를 하거나 실행을 하는 경우 발생할 수 있다. 특히 root계정으로 실행되면서 임시파일을 생성하고 그 임시파일이 다른 작업을 수행하는 경우 심각한 2차 취약성을 만들거나 시스템에 장애 혹은 정보유출 등으로 이어질 수 있다.



위의 vulrace.sh 는 무한루프를 돌면서 /tmp 디렉토리에 1.sh라는 파일을 만들고 메시지 한줄을 화면에 출력하는 echo문을 저장한 뒤 그 생성한 파일(1.sh)에 실행퍼미션을 부여하고 그 파일을 실행한다.(설명이 복잡한가?) 그리고 실행이 종료되면 임시파일(1.sh)을 삭제한다.


이 과정에서 취약성은 바로 /tmp/1.sh를 삭제하고 다음번 루프에서 echo명령으로 임시파일을 생성하고 실행하는 사이에서 발생한다. 임시파일인 1.sh를 생성하기 전에 누군가가 root 권한으로 실행되기를 바라는 파일로 1.sh라는 심볼릭링크를 먼저 생성하면 이 프로그램(vulrace.sh)은 1.sh라는 정상 임시파일을 만들지 못하고 심볼릭링크인 1.sh에 echo문을 실행하게 된다. 즉 1.sh가 가리키고 있는 엉뚱한 파일에 echo문이 추가되고 실행되는 것이다. 이 엉뚱한 파일이 무엇이냐에 따라 공격의 내용이 달라지게 된다. 그 엉뚱한 파일은 root 권한으로 실행되게 된다. vulrace.sh가 root 권한으로 실행되었으므로...


위의 예제에서는 해당 취약성 공격 성공률을 높이기 위해 sleep 1을 넣어 공격이 쉽게 성공하도록 하였다.


2. 엉뚱한 파일 (쉘카피백도어)


이제  1.sh로  심볼릭링크가  걸릴 스크립트, 즉 공격자가 root권한으로 실행하고자 하는 "엉뚱한 파일"을 만들 차례다. 이 엉뚱한  파일은 쉘카피백도어를 만드는 스크립트를 예를 든다. 따로 설명은 안하겠다. 악용될 경우 심각한 문제를 유발할 수 있기 때문이며... 이 예제를 악용하여 발생하는 문제는 해당 사용자에게 있음을 분명히 밝혀둔다. 하지만 이 정도의 예제는 인터넷을 통해 얼마든지 접할 수 있고 매우 고전적인 방법이지만 최신 운영체제에서도 적용 가능한 기법이다.


이 스크립트가 root 계정에 의해 실행될 경우 /tmp/ 디렉토리에 backdoor라는 루트쉘이 생성된다. 이후 일반계정에서 이 생성된 /tmp/backdoor를 실행할 경우 root 권한을 획득하게 된다.


vulrace.sh가 실행하는 1.sh로 attack.sh 를 심볼릭링크를 걸면된다. (방법은 뒤에서~~)


3.  취약한 스크립트 실행과 공격 성공


심볼릭링크 취약성을 가진 vulrace.sh를 root 계정에서 실행하면 vulrace.sh가 생성하는 /tmp/1.sh에 의해 심볼릭링크 취약성이 있다는 메시지가 출력된다. 이 메시지를 출력하는 것은 정상적인 /tmp/1.sh 이다.


중간의 Attack Success...!! 메시지는 엉뚱한 파일(attack.sh)를 가리키는 /tmp/1.sh 라는 심볼릭링크가 실행되었을 때 attack.sh가 실행되어 출력되는 메시지다. 해커가 /tmp 디렉토리에 1.sh라는 심볼릭링크를 생성하고 vulrace.sh가 해당 심볼릭링크를 실행한 것이다.


4. 공격과 결과


공격은 아래 화면의 ln 명령에 의해 이루어진다. 즉 해커가 root 권한으로 실행하고자 하는 내용을 담은 스크립트를 /tmp/1.sh 로 심볼릭링크를 생성하는 것이다. 


그리고 공격이 성공하면 attack.sh가 하고자 했던 /tmp/backdoor 가 생성된다.

root 소유자이고 소유자의 setuid가 생성되어 있다.

일반계정인 taeho에서 /tmp/backdoor를 실행하면 root 권한을 얻을 수 있다.


p.s 만약 tmp 디렉토리에서 chown  명령이 에러가 발생한다면 tmp 디렉토리에 sticky bit 가 설정되어 있기 때문이다. 샘플 소스의 디렉토리를 /tmp가 아닌 다른 경로로 설정한 뒤 테스트하면 된다.


5. 레이스컨디션 공격 방어 방법


이 심볼릭링크가 갖는 취약성 공격을 방어하기 위해서는 서버 내에서 실행되는 모든 스크립트와 실행파일에 대해 하나하나 모두 검증해야 한다. 


1. 임시파일을 생성하고 실행하거나 수정하는 어떤 프로그램들이나 쉘스크립트가 있는가?

2. 만약 있다면...(100% 존재하며 모두 파악하는 것은 거의 불가능함) 임시파일을 생성하기 전에 생성할 임시파일이 이미 존재하는지 확인하고 존재한다면 프로그램을 중단하도록 소스코드 수정 --> 사실상 불가능함

3. 심볼릭링크를 사용하지 못하도록 함. (역시 사실상 불가능함)


그렇다면 방법이 없는가?


방법은 있다. 

바로 RedCastle SecureOS를 설치하면 된다. RedCastle SecureOS는 Race Condition 공격을 100% 차단 할 수 있다. RedCastle SecureOS는 운영체제의 커널수준에서 심볼릭링크의 생성을 모니터링하여 root계정에서 실행된 명령어 혹은 대몬프로세스가 일반소유자의 파일로 연결되는 심볼릭링크를 실행하는 것을 차단해준다. 

이러한 보호는 SecureOS의 핵심보듈인 커널수준에서 구현된 참조모니터에 의해 구현되기 때문에 예외없이 모든 심볼릭링크 취약성 공격에 대해 방어가 가능하다.





최근의 보안사고들.. 그중에서도 대형사고는 APT 공격이라는 신종 공격기법으로 발생하는 경우가 대부분이다. APT 공격은 Advanced Persistent Threat라는 해석도 까다로운 용어로 정의된다. 궂이 번역을 하자면 어떤 사람은 "능동 지속형 위협(공격)"   이라고 하기도 하고 어떤 사람은 "지능형 지속 위협(공격)" 이라고 하기도 한다. 

여기서 중요한 것은 persistent 라는 단어다. 바로 "지속"이라는 의미다. 

이 의미가 중요한 것은 APT 공격은 단시간내에 공격 목표에 침투하는 것이 아니라 오랜 시간을 두고 끈질기게 공격 목표까지 침투할 수 있는 경로를 찾는다는 의미이기 때문이다. 그 시간은 짧게는 하루가 될 수도 있고 길게는 수개월이 소요될 수도 있는..해커의 입장에서 보면 오랜시간 동안 많은 노력을 요구하는 무척 지루하고도 힘든 과정이다. 

하지만 시간이 오래걸린다는 의미는 방어자의 입장에서 볼 때 그만큼 해커가 침투 경로를 탐색하기 위해 내부의 컴퓨터시스템에서 활동하는 시간이 길어지기 때문에 적절한 방어시스템의 구축과 구축한 방어시스템의 활용도를 높이고 직원의 보안의식을 높이면 의외로 쉽게 탐지하여 공격을 차단할 수 있다는 의미가 되기도 한다.

▶ APT 공격의 단계

APT 공격은 다음과 같이 크게 4가지의 단계와 단계별 해커의 공격으로 구분된다. APT공격의 단계APT공격의 단계

여러 보안 이론에서 설명하듯 보안 시스템은 관리적, 기술적으로 수평적이 아닌 계층적 구조로 구축되어야 하며 각 계층은 APT 공격의 단계별 공격을 적절하게 차단할 수 있도록 구축되어야 한다. 또한 구축된 보안 시스템은 APT 공격 뿐만 아니라 TCP/IP 취약성 공격, 애플리케이션 프로토콜 취약성 공격, 웹 취약성 공격, 서버의 취약성 공격(내/외부), 내부자에 의한 정보유출, 기술적인 실수 등에도 유연하게 대응할 수 있도록 구축되어야 한다.

▶ 침투 단계의 공격

APT 공격을 감행하는 해커의 입장과 그 해커의 침투를 차단하기 위한 방어자의 입장 모두에서 침투 단계의 공격과 방어가 가장 어렵다. 대부분 물리적으로 격리되어 있는 공격 목표에 침투하기 위해서 해커는 다음과 같은 기법들을 사용하는 것으로 알려져 있다.

→ 내부 사용자의 이메일 주소를 수집/내부자 간의 이메일로 위장하여 이메일을 보내고 첨부파일(악성코드)을 실행토록 함.

→ 타 웹사이트를 해킹하여 악성코드를 심어 둔 뒤 그 악성코드가 공격 대상 시스템을 사용하는 내부자PC에 감염되도록 함.

→ 공격 대상 기관 입구 및 인근에 USB, SD카드 등 저장매체를 흘려둔 뒤 내부자가 습득하여 반입되어 내부 PC에 접속되면 자동실행 되도록 함.

→ 기타 사회공학적 기법을 이용해 내부 사용자의 PC 혹은 서버가 악성코드에 감염되도록 함.

위의 침투기법들은 많이 알려진 기법들일 뿐 전부는 아니다. 또한 침투 기법은 "내부망에 탐색 및 침투 거점 마련"이라는 단순하고 명확한 목표를 실현하기 위해 활용 가능한 모든 사회공학적, 기술적 방법을 동원하기 때문에 예측 및 탐지/차단이 어려운 것이 현실이고 보안 업계에서도 완벽한 차단은 불가능하다고 입을 모으고 있다.

▶ 탐색 단계의 공격

일단 침투 단계의 공격이 성공하여 내부의 PC 혹은 서버에 악성 코드가 감염되면 악성코드는 그 역할에 따라 다양한 작업을 수행한다. 해커의 입장에서 가장 중요한 작업은 감염시킨 악성코드를 자신의 의도대로 실시간 조종이 가능하도록 하는 것이다. 악성코드가 미리 정해진 IP로 아웃바운드(outbound) 통신 연결이 가능하다면 해커는 이후 감염시킨 악성코드를 통해 다양한 공격도구를 해당 컴퓨터에 전송, 설치하여 탐색 단계로 진입할 수 있다.

탐색 단계에서는 다음과 해킹 기법이 사용된다.

→ 키보드 로깅 (Keyboard logging) 및 화면 갈무리(screen capture)

→ 포트스캔 (port scan)

→ 원격제어(Remote Control)

해커는 위의 기법들을 이용해 끈질기게 자신이 공격목표로 삼은 서버에 해당 컴퓨터의 사용자가 접속하기를 기다리거나 어떤 프로그램을 이용해 어떤 방법으로 서버나 DB 혹은 관리 프로그램을 접속하는지 모니터링(탐색) 하게 된다.

▶ 유출 단계의 공격

사실 탐색과 유출단계는 동시에 이루어진다고 봐야한다. 악성코드에 감염되어 해커에게 조종당하는 해당 컴퓨터에 중요한 자료가 있다면 100% 해커에게 유출된다고 봐야하며 해당 컴퓨터를 사용하는 사용자의 개인정보 또한 해커에게서 자유롭지 못하다.

유출단계에서는 탐색단계의 기법이 그대로 사용되며 탐색 과정에서 주요 서버의 IP, 관리자 계정, 패스워드, 접속 방법 등이 로그파일 혹은 이미지로 저장되어 해커의 손에 넘어가게 된다.(유출) 이 과정에서 해커가 목표로 하지는 않았지만 해커의 흥미를 끌만한 정보가 해커에게 넘어갈 경우 공격 목표는 얼마든지 추가되거나 변경될 수 있다.

또한 수집된 정보를 분석하여 보다 금전적인 이익을 얻을 수 있는 방법이나 중요한 정보가 저장된 서버를 파악하게 되고 해당 서버에 대한 접근 권한을 얻기 위해 더욱 신중하게 정보를 추가적으로 탐색하고 분석하게 된다.

▶ 수집/공격 단계의 공격

해커가 공격 목표로 삼은 서버에 접속할 수 있는 권한을 탐색과 유출단계를 통해 얻게 되면 사실상 해커의 승리(?)라고 봐야한다. 이 단계가 되면 이미 서버의 관리자 권한이 해커에게 넘어간 것과 다름이 없기 때문에 이 단계에서 해킹 탐지는 일반적인 보안 솔루션으로는  불가능하다. 이때부터는 해커가 접속에 성공한 서버 내에서의 행위를 통제하여야 하는데 사실상 통제 불능 상태라고 봐야한다. 만약 RedCastle SecureOS와 같은 서버 내부의 행위 통제 방안이 마련되어 있다면 통제가 가능하긴 하다.

이 유출단계에서 사용되는 방법들은 해킹 기법이라고 볼 수 없다. 왜냐하면 해커는 이 단계에서부터는 일반적인 서버 관리자나 DB관리자, 네트워크 관리자들이 서버 및 DB 그리고 네트워크를 운영하면서 사용되는 일반적인 명령어나 프로그램들을 사용하는 경우가 대부분이기 때문이다.

Unix/Linux 서버에서 사용되는 명령어 (관리자들이 사용하는 명령어와 동일함)

→ telnet, ssh, ftp, rm, mv, tar, perl, cd, ls, su, vi, df, ifconfig, chmod, chown, useradd, paswd, compress, gzip, sqlplus, export 등등등

Windows 서버에서 사용되는 명령어

→ dir, cd, net, ipconfig, regedit, isql(osql),cp, ftp, mstsc 등등등

왜냐하면 서버 내에서 실행되는 명령어나 파일에 대한 접근은 기술적인 방법으로는 합법적인 행위냐 불법적인 행위냐를 구별하는 것이 불가능하기 때문이다. 해커가 서버에 접속하여 DB 접근 명령어를 실행하거나 중요한 DB 파일을 통째로 분할 압축하여 외부로 유출한다거나 DB 백업 명령어를 통해 데이터베이스의 회원정보 테이블을 Export 한 뒤 Export 된 파일을 반출하는 행위(수집)에 대하여 기술적으로 불법 여부를 판단할 수 없기 때문이다.

또한 모든 정보를 빼내간 뒤 농협사태 처럼 해당 서버의 디스크를 로우레벨에서 삭제하여 흔적을 지우고 서비스의 심각한 장애를 유발(공격)한 뒤 유유히 빠져나가도 서버에 장애가 발생하기 전까지는 서버에 대한 해킹을 탐지하는 것이 거의 불가능하다.

많은 보안업체들이 APT 공격에 대해 이야기하고 방어책을 이야기하지만 아직은 APT 공격에 대해 특정 보안솔루션 하나로 대응할 수 있는 방법은 존재하지 않는다. 

▶ 정리

APT 공격을 방어하기 위해서는 현재의 정보시스템 운용/개발 조직과 네트워크 및 서버 시스템의 현황분석 그리고 존재하는 취약점의 파악과 분석을 통해 계층적 보안 시스템을 구축하고 각 보안 계층에서 취합할 수 있는 실시간 이벤트와 로그를 분석하여 연관성을 파악하고 리포팅한 뒤 경험이 풍부한 보안관리자가 판단하는 것이 현재로서는 가장 바람직한 방향이라고 생각된다.

시간이 되면 조만간 APT 공격의 각 단계별 방어 및 탐지가 가능한 보안솔루션을 정리해보도록 하겠다.




홈페이지를 운영하는 많은 쇼핑몰들과 인터넷신문사 홈페이지는 수시로 홈페이지 위변조 및 자바스크립트 위변조 공격에 시달린다. 최근 방문했던 한 인터넷 뉴스사이트도 그런 공격이 너무도 많다는 고충을 토로하기도 했다. 때문에 여러 솔루션들을 사용하지만 보안정책 수립의 어려움, 실시간 모니터링의 어려움 등으로 인해 제대로 대응하지 못하는 경우가 많다고 한다.

사고가 발생하면 다음과 같은 사항들을 해킹이 발생한 서버내에서 신속하게 파악하고 취약성을 제거하고 모니터링을 해야지만 솔루션 부재로 인해 대부분 정확한 경로를 파악하지 못하는 경우가 많다. 

- 침입 경로

- 칩입 후 실행한 명령어

- 수정한 파일

- 작업 과정

대부분 서버내에서는 해킹에 성공하여 수정한 파일"만 원상복구하고 네트워크에서 해당 출발지 IP를 차단하는 정도의 응급조치만을 하게된다. 해커는 공격지IP를 변경하여 재공격을 수행할 수 있고 사고는 다시 발생한다.

2013년 1월 5일... 국내의 대형 인터넷서점 홈페이지의 Java Script 파일이 변조되어 악성코드가 해당 인터넷 서점에 접속한 웹브라우저를 통해 접속자의 PC에 감염되는 심각한 보안사고가 발생했다. 

웹페이지 악성코드

이 사고는 해킹당한 홈페이지의 소스파일 위변조를 통해 웹브라우저를 통해 접속한 사용자의 PC가 악성코드에 감영되는 전형적인 사고사례다. 워낙 유명한 대형 인터넷 서점이고 비교적 모니터링 체계가 잘되어 있어 장시간 유표되는 사태는 막을 수 있었지만 사용자의 접속이 많지 않은 홈페이지의 경우 장시간에 걸쳐 많은 PC에 악성코드를 감염시키게 된다.



이러한 사고를 근본적으로 방지하기 위해서는 서버내의 주요 자산인 홈페이지 소스파일에 대한 철저한 보안이 필요하다. 

1. 웹서버의 취약성에 의해 서버내의 계정 권한이 탈취되는 것을 차단해야하고

2. 웹서버 혹은 WAS 서비스에 웹쉘이 업로드되어 운영체제의 명령어를 실행하지 못하도록 해야하며

3. 만에 하나라도 서버의 웹서버 혹은 WAS서비스의 계정 권한이 탈취되더라도 운영체제의 임시디렉토리에 스크립트 파일을 생성하고 실행하는 것을 차단해야하며

4. 홈페이지 소스가 웹서버 혹은 WAS서버의 구동 계정으로 수정되지 않도록 통제하여야 한다.

이 몇가지 보안정책만 준수할 수 있다면 홈페이지 위변조에 의한 보안사고는 대부분 예방할 수 있을 것이다.


관련포스트

웹쉘의 위험성과 서버보안SW를 이용한 웹쉘 실행 차단

서버보안SW를 이용한 웹서버보안 강화 방안

웹해킹방어사례 - 남다른 끈기를 보여준 해커



  • kmk 2013.01.10 21:57

    사기조직동두천경찰 폭파 Naver ckmk1

  • 1 2013.03.27 20:11

    홈페이지개발자와 작업의뢰인의 거래사이트 "오투잡"

    오투잡은 현재 하루 접속자 3000명이 접속하는 재능거래 사이트 입니다.
    오픈한지 얼마되지 않았지만 부업분야 전체 점유율 2위, 국가지원을 받고있습니다.

    오투잡에서 판매자 대모집 중입니다.
    카테고리 활성화가 시작 되니, 많은 판매 등록 바랍니다.
    오투잡은 네이버에서 "오투잡" 으로 검색 하세요.


2011년 7월 26일, 대한민국 IT 역사상 최대 규모의 개인정보 해킹 사고가 발생했다. 대한민국의 중딩(?) 이상 국민이라면 하나쯤 ID를 갖고 있는 네이트닷컴과 싸이월드에서 발생한 보안사고 이기에 그 심리적인 충격은 상상하기 어려울 만큼 크다.

 "공지확인"을 타고 들어가면 다음과 같이 개인정보 유출 여부를 확인할 수 있다.



아무짝에도 쓸모없는 패스워드 암호화 ?


SK컴즈는 유출된 정보에 ID와 패스워드가 포함되어 있으나 패스워드는 암호화되어 있으므로 아무문제가 없다고 말한다. 하지만 SBS의 기자가 테스트한 결과 숫자와 알파벳으로 구성된 6자리의 패스워드의 경우 짧으면 3초, 길면 30여초 내에 패스워드를 확인할 수 있다고 한다. (남들 다 쓰는 단순한 hashing알고리즘만을 썼다면 당연한 결과다.)

관련기사
http://news.sbs.co.kr/section_news/news_read.jsp?news_id=N1000960683

인터넷에는 여러가지의 패스워드 크래킹 툴들이 공개되어 있다. 이 크래킹툴들을 이용하면 "암호화된 패스워드"만 알고 있다면 패스워드가 아무리 복잡하고 길어도 이론적으로 해킹이 가능하다. 더군다나 8자리 이하에 숫자와 알파벳으로만 구성되어 있다면 요즘 판매되는 PC의 우수한 성능을 감안할 때 한시간이내에 뚫린다고 보면 된다.

만약 여러 패스워드 크래킹 툴을 무력화 할 수 있는 더욱 안전한 암호화 방법을 사용했다면 SK컴즈의 말대로 훨씬 안전할 수 있다. 하지만 그렇다고 확신할 수는 없다. 네이트의 암호화 방식이 안전하다고 누가 책임진다고하던가?
개인정보를 보관하고 있는 포털에서 개인정보를 허술하게 관리하여 해킹에 무기력하게 데이터를 탈취당한 상태에서 패스워드가는 안전하다고 외치는 것을 과연 신뢰할 사람이 몇이나 되겠는가 ?

즉...
네이트와 동일한 아이디를 사용하는 모든 사이트의 패스워드를 즉각적으로 변경하여야 한다. 아직 변경하지 않은 분이 있다면 즉시 변경하길 강력하게 권고한다.

이번에도 좀비PC 때문이다 ?

또 나왔다. DDOS 공격때문에 발생한 77인터넷 대란, 그 후에 발생한 몇몇 공공기관의 서비스 마비, 농협의 270대 서버의 파일삭제로 인한 사고 , 그리고 이번 네이트닷컴과 싸이월드의 해킹사고까지 단골 손님(?)으로 등장하는 것이 좀비PC다.

현재까지의 네이트닷컴의 해킹사고에 대한 조사결과를 정리하면 다음과 같은 해킹 과정이 추측된다.

1. 이메일을 통해 개발자의 PC에 원격제어가 가능한 프로그램이 설치되었다.
2. 해커가 개발자의 PC에 연결하고 서버의 관리자(root 혹은 db접근가능한 ID) 계정과 패스워드를 
    획득하였다.
3. 해커가 개발자 모르게 서버에 접속하여 DB까지 접속하였다.
4. 3500만명의 정보를 파일로 Export하였다.
5. PC로 Export된 파일을 가져오고...
   (혹은 서버에서 직접 중국의 해커가 관리하는 서버로 접속하여 파일 직접 전송)
6. PC로 가져온 파일을 해커의 PC혹은 서버로 전송

이번에도 역시 서버의 책임보다는 개발자 개인의 PC로 그 책임이 귀결되어지는 양상이다. Windows가 설치되는 PC는 근본적으로 보안에 취약할 수 밖에 없다. 역시 이번에도 백신이 설치되어 있었지만 무용지물이었다. 알려지지 않은 공격도구를 백신은 탐지하지 못하기 때문이다. 그리고 이 사실은 SK컴즈의 보안책임자도 잘~알고 있을 것이다.

그리고 이메일로 전파되는 공격도구를 차단할 방법은 사실 없다고 봐도 무방하다. 메일월이나 IPS등등 많은 네트워크 보안도구들이 있지만 이번처럼 새로운 공격도구를 만들어 공격하면 차단이 불가능하다. 이러한 사실 또한 보안전문가들은 잘~알고 있다.

결국 이러한 보안사고를 예방하기 위해서는 좀비PC가 되는 개인PC와 그 PC의 주인인 개인만 조질(?)것이 아니라 중요한 데이터가 저장된 서버의 보안을 강화하는 것이 보다 효과적임은 자명한 사실이다.

서버의 보안을 강화하지 않으면 이번 SK컴즈의 해킹사고와 같은 보안사고는 계속 발생할 것이다.
아니... 언론에 공개되지 않는 수많은 보안사고가 이미 발생하고 있다. 지금도 발생하고 있을 수 많은 보안사고 중 하나가 "네이트닷컴" 개인정보 DB 해킹사고 일 뿐이다.

별로 새로운 이야기는 아니다.




 



또한 번의 보안사고가 전산업계를 뒤흔들고 있다. 하지만 이전의 보안사고들과는 달리 외부(인터넷을 통해)에서 침입하여 현대캐피탈 고객 42만명의 개인정보는 물론 일부 금융정보까지 빼내어간 완벽(?)한 해킹사고라는 점에서 충격의 여파는 상당히 크고 오래 지속될 것으로 보인다. 비록 1금융권이 아닌 대출전문 캐피탈 업체이긴 하지만 업계 1위의 업체인데다가 "현대그룹" 이라는 간판으로 인해 1금융권도 보안에 취약한 것이 아니냐는 우려마저 나오고 있다.

= 대캐피탈 해킹사건의 전말. (이데일리 기사 발췌)=

◇ 해킹 피해 `42만명+α`..신용정보도 새나가

현대캐피탈 고객정보보호를 담당하는 황유노 부사장은 10일 서울 여의도 본사에서 열린 기자회견에서 "해킹 당한 고객 정보가 더 있을 수 있다고 판단하고 있다"고 말했다.
42만명과 프라임론 피해고객이 중복되기 때문에 현재까지 피해고객 총수는 파악하기 어려운 상태다.

현재까지 유출된 고객정보는 기본 정보 이외에 금융 정보가 포함돼 금융사고 피해가 우려되는 상황. 이름, 주소, 전화번호, 이메일, 주민등록번호, 신용등급, 신용대출 `프라임론` 패스카드의 번호와 비밀번호 등이 해킹당했다.

황 부사장은 "프라임론 패스카드 정보는 현대캐피탈과 거래 외에 활용할 수 없다"며 "신용등급 자체도 금전적 손해를 끼칠 가능성이 낮다"고 설명했다.

현대캐피탈은 2차 피해를 막기 위해 고객에게 "전화로 개인정보, 홈페이지 ID, 패스워드 등을 요구할 때 각별히 주의하라"며 "11일부터 프라임론 패스카드를 재발급받고, 홈페이지 비밀번호도 바꿀 필요가 있다"고 당부했다.

또 자동응답시스템(ARS) 거래를 막고, 거래 계좌를 변경하는 고객에게 고객 휴대폰으로 다시 전화해 본인 확인 절차를 강화했다.


◇ 2개월간 해킹 당한지도 몰라..정태영 사장 "수치스러워"

현대캐피탈이 해킹 사실을 두달간 인지하지 못했다는 점에서 문제의 심각성이 크다는 지적이다. 현대캐피탈 고객정보가 해킹당한 것은 지난 2월부터 조금씩 이루어진 것으로 현대캐피탈은 지난 7일 오전 9시 해커의 협박 이메일이 있을 때까지 모르고 있었다. 현대캐피탈 보안시스템에 큰 구멍이 뚫렸던 셈이다.

현대캐피탈은 지난 7일부터 서울지방경찰청 사이버범죄수사대에 해킹수사를 의뢰해 범인 검거를 위해 총력을 기울이고 있지만 현재까지 정확한 피해 규모와 범인의 소재를 파악하지 못한 상태다. 금융감독원은 오는 11일 정보기술(IT) 전문가로 대책반을 구성해 현대캐피탈 특별검사에 나서기로 했다.

정태영 현대캐피탈 사장은 이날 "개인적으로 죄송스럽고 수치스럽다"며 "현재까지 직접적이고 금전적 피해는 없고 고객 피해를 파악하는데 모든 역량을 집중하고 있다"고 사과했다. 또 "지금은 사태 전모를 확실히 아는 것이 중요하다고 생각한다"며 "책임질 일이 있으면 책임지겠다"고 강조했다.

캐피탈업계에선 1위업체인 현대캐피탈이 해킹당했다는 사실이 알려지자 긴장하는 분위기다. 한 캐피탈사 관계자는 "현대캐피탈이 당할 정도면 다른 캐피탈사도 안전할 수 없다"고 우려를 표명했다.

현대캐피탈 신용정보도 유출..`최악의 해킹사고`(종합)

2011/04/10 19:26:47 이데일리


=========================================================================================

최근 주로 발생되는 DDOS 공격은 단순히 공객 대상이 되는 업체의 일부 서버가 서비스를 수행하지 못하도록 비정상적인 과도한 트래픽을 유발시키는 해킹기업이다. 따라서 개인정보 혹은 기타 공공 및 기업의 기밀에 해당되는 정보 유출은 없다.

또한 과거 발생했던 GS칼텍스 등에서 발생했던 대량의 고객정보 유출은 외부에서의 해킹이 아닌 내부자가 연관되어 발생된 "내부 보안 사고"의 성격이 강했다.

하지만 과거 옥션의 개인정보 유출과 이번 현대캐피탈 고객정보 및 금융정보 해킹사건은 내부자가 아닌 외부자가 인터넷을 통해 내부 시스템에 침입한 완벽한(?) 해킹으로 인해 발생한 보안사고이기 때문에 그 심각성은 다른 보안사고와는 차원이 다른 수준이다.


현대캐피탈의 내부통제 수준

몇차례 현대캐피탈의 IT 부서에 방문하여 업무협의와 PT, Demo 등을 진행한 경험이 있다. 공교롭게도 현대캐피탈에서 해킹이 발생했다고 공개한 날짜와 비슷한 시기였다. 결국 담당자가 선호하는 외산 SecureOS를 도입하는 것으로 결정이 되었다는 안타까운(?) 소식을 접하긴 했지만 그 과정에서 경험한  현대캐피탈의 내부통제 시스템은 듣던대로 비교적 잘 갖추어져 있고 적용도 잘되어 있는 듯 했다. 또한 필요한 네트워크 보안 시스템 즉, 방화벽, IPS 등도 운영중이었다.


문제는 서버 및 애플리케이션 보안

이번 해킹사고는 완벽할 것이라고 믿는 네트워크 보안시스템의 한계를 잘 드러낸 사건이다. 방화벽, IPS 그리고 클라이언트와 서버간의 통신 암호화로 대변되는 네트워크 보안이 결코 시스템을 해킹으로부터 완벽하게 보호해줄 수 없다는 일반적인 상식(?)을 증명해준 해킹사건이다.

과거 해커들은 시스템의 취약점을 데이터의 이동 통로인 네트워크서 찾는 경향이 있었지만 최근에는서 서버에서 데이터를 관리하는 애플리케이션에서 찾는 경향이 두드러지게 나타나고 있다. 특히 이번 해킹사건에서 보듯 인터넷에 공개되어 있는 웹서버는 해커들의 주요 공격대상이 되고 있다.

해커들은 집요하게 웹서버를 공격하려 취약성을 찾는다. 이 취약성의 대부분은 웹서버에서 구동되는 서버사이드스크립트인 JSP(Java Server Page) 및 서블릿이 갖고 있게 된다. 결국 웹 응용프로그램 개발자의 보안 수준에 따라 취약성이 많은 시스템을 개발하느냐 아니면 취약성이 거의 없는 시스템을 개발하느냐가 결정되어 진다.



또한 취약성이 발견되어 해커가 해당 취약성을 공격하였을 때 해커가 얻게되는 최초의 서버 접근권한을 운영체제 차원에서 제대로 통제하느냐에 따라 해킹의 성공여부가 판가름 난다. 만약 운영체제 차원에서 적절한 통제를 수행하지 못한다면 해커는 해당 시스템을 장악할 수 있는 발판을 마련하게되고 그때부터 시스템은 해커의 공격에 무방비 상태로 노출되는 것이다. (네트워크 보안 시스템으로는 통제하기 어려움)

해커가 취약성에 대한 공격으로 서버 접근 권한을 얻게 되면 그때부터 원격지에서 서버에 존재하는 수많은 파일을 뒤져 자기가 원하는 추가적인 정보를 얻을 수도 있다. 이때부터 주요 정보의 유출은 시간문제가 된다. 운이 좋다면 root의 패스워드 혹은 다른 서버에 관리자 권한으로 접근할 수 있는 계정정보가 하드코딩된 스크립트를 얻을 수도 있을 것이다.

현대캐피탈의 해킹은 지금까지 설명한 과정을 거쳐 이루어졌을 것으로 보인다. 이러한 과정은 전형적인 웹서버 해킹의 과정일 뿐이다.


또다른 문제... 서버 감사시스템의 부재

많은 금융사에서 고객의 계좌정보를 메인프레임에서 Unix 서버로 다운사이징하여 운영하고 있다. 그리고 계좌정보의 일부가 서비스의 성능을 높이기 위해 기간계 서버에서 각기 다른 Unix 및 Windows 서비스 시스템으로 (예를 들면 이번 해킹사고가 발생한 프라임론 시스템) 분산되어 저장된다.

하지만 Unix 나 Windows 모두 보안에 취약한 운영체제다. 외부로 부터 침입한 해커든, 내부자이든, 아니면 기술지원을 나온 외부의 엔지니어든 서버에 접근하여 무엇을 하는지 통제하고 감사기록을 남길 수 있는 솔루션을 운영체제 자체적으로 제공해주지 않는다.

사실 이번 해킹의 경우도 정확하게 어떤 정보가 유출되었는지 확실치 않다. 또한 해커가 어떤 백도어를 숨겨두었는지 찾아낼 방법도 없다. 아니면 해킹당했다는 프라임론 시스템외에 같은 네트워크내에 있는 다른 어떤 서버가 또 해킹을 당했는지 확인할 완벽한 방법이 없다. 확인할 수 있는 것은 외부의 어떤 IP에서 접근했는지와 다른 서버로 Telnet, FTP, rlogin 같은 단순한 방법으로 로그온을 시도했는지와 그 로그인의 성공여부 정도 뿐이다.

해커가 서버에서 어떤 파일을 열어보았는지, 어떤 명령어를 수행했는지, 어떤 파일을 만들었는지와 같은 구체적인 활동정보는 어디에도 기록되어 있지 않을 것이다. 보안사고 및 침해행위를 감사할 수 있는 기능을 제공하는 솔루션은 현재로서는 SecureOS를 이용하여 감사정책을 적용하는 것이 최선의 방법이나 현대캐피탈에는 아직 적용되어 있지 않은 듯 하다.


= 서버 보안의 강화가 필요한 시점

많은 공공기관과 금융기관 그리고 일반 기업체에서 SecureOS 를 도입하고도 제대로 활용하지 못하는 경우가 많다. 네트워크 보안과는 달리 서버 운영체제, 네트워크, 시스템소프트웨어, 웹응용프로그램에 대한 지식을 비롯한 다양한 경험과 지식을 필요로 하는 것이 바로 SecureOS 제품이다.

하지만 국내의 엔지니어에 대한 정서(?)상 그렇게 다양하고 풍부한 경험과 지식을 갖춘 엔지니어를 찾기는 어렵다. 기술자를 경시하는 풍조가 IT 업계에도 만연되어 있어 엔지니어가 오랫동안 다양한 분야에서 경험과 지식을 쌓기란  무척 어렵기 때문이다. 그리고 그러한 이유에서 제대로 서버보안S/W(SecureOS)를 운영할만한 엔지니어를 찾기란 쉽지 않다.

하지만 주요 데이터가 보관되고 서비스되는 서버의 보안을 서버 내부가 아닌 서버 외부의 네트워크 보안 시스템에게 맞기는 것은 사람이 오리털 파카를 입고 있으면서 그 속에는 홀라당~~ 벗고 있는 것과 크게 다를 바가 없다.

서버와 애플리케이션 보안의 강화....
그것만이 보안이 취약한 Unix/Linux/Windows 서버의 해킹을 막을 수 있는 유일한 해결책이다.


결론부터 말하자면 "끊임없이 다시 발생한다" 이다.

엊그제 발생한 대대적인 DDOS 공격... 아니나 다를까 또 백신타령이다. 역시나 좀비PC가 된 불특정 다수의 죄없는 일반인들이 해커 대접(?)을 받고 있다. 그나마 이번엔 좀비PC를 양산(?)한 중간 감염 사이트가 운좋게 밝혀졌다.

인터넷 다운로드 사이트인 쉐어박스와 수퍼다운이 해킹되어 이 두 사이트에 접근한 사용자들의 PC에 공격도구를 감염시켰다고 한다.


이전의 국가적인 DDOS 공격이 있었을 때도 분명 이렇게 매개체가 되는 웹사이트가 무척 많았을 것이다. 이번 공격에도 어쩌면 더 많은 웹사이트가 해킹되어 더 많은 PC를 좀비PC로 만들었을 지도 모른다. 다만 밝혀진 웹사이트가 2곳일 뿐일지도 모른다.

이제는 더이상은 많은 피해자(좀비PC의주인들)를에게 주의의 의무만을 지우지 않았으면 한다.

공공의 서비스를 위해 그리고 돈을 벌기 위해 운용중인 수 많은 보안에 취약한 웹서버에 소스위변조 차단을 위해 서버보안 S/W 혹은 위변조 모니터링 솔루션, 홈페이지 위변조 차단 솔루션 등의 설치를 의무화할 필요가 있다고 본다. 대부분의 기업과 공공기관의 PC에 백신설치는 의무화되다시피 했다. 또한 방화벽과 IPS도 거의 의무적으로 도입되다시피 했다. 그럼에도 불구하고 이러한 네트워크 기반의 보안솔루션으로는 홈페이지의 위변조를 차단하지는 못한다. 이제는 서버 내부에서 홈페이지의 보안을 더욱 강화할 필요가 있다.

홈페이지 위변조를 통해 발생하는 해킹의 피해는 이번 DDOS 공격 사건에서 보듯 심각한 수준이다. 더 이상 지체할 수 없는 상황이라는 것을 하루빨리 인지하면 좋겠다.

DDOS공격을 수행하는 좀비PC는 그냥 생기는 것이 아니다. 좀비PC가 왜 생기는지... 어떤 경로로 정상적인 PC가 좀비PC로 변신(?)하는지을 이해해야 한다.


위의 그림의 (1)과 같이 "보안에 취약한 웹사이트"의 홈페이지 소스를 위/변조하여 악성코드를 직접 심어놓거나 타 사이트에 올려져 있는 악성코드를 다운로드 받는 코드를 삽입한다.

그리고 (2)와 같이 보안에 취약한 PC가 해당 웹사이트에 접근하면 악성코드가 PC에 설치되어 좀비PC가 된다.

일단 좀비PC가 되면 (3)과 같이 공격자(해커)의 명령에 따라 (4)와 같이 DDOS 공격을 수행하게 된다.
하지만 해커가 자신의 IP를 직접 노출해가면서 (3) 처럼 직접 공격하는 경우는 드물다. 해커와 좀비PC사이에는 또하나의 명령서버(Command Server)가 존재하는 경우가 대부분이다. (이 그림에서는 생략되어 있다.)

그렇다면 가장 효과적으로 DDOS 공격을 방어하는 방법은 무엇일까..??
지금까지는 (4)번의 DDOS 공격을 막는데 주력하고 있다. 그래서 DDOS 공격이 시작되면 대한민국 국민에게 사용하는 PC에 백신을 설치하라고 방송을 통해서까지 호소하고있다. 과연 이것이 효과적인 대응인지를 곰곰히 생각해볼 필요가 있다.

일단 (1)의 공격이 성공하면 그 이후에는 DDOS공격이 발생하는 것은 시간문제다. 그리고 어느 PC가 좀비PC인지 식별하는 것도 사실상 불가능하다. 국민전체를 믿고 기다리는 것밖에는 할일이 없는 것이다. 너무도 소극적인 대응이 아닌가 ?

가장 효과적인 방법은 바로 (1)을 차단하는 것이다. 웹사이트를 개발하고 운영하는 이들은 누구인가? 바로 영리목적의 기업이거나 공공기관이다. 웹사이트의 보안을 강화하고 해킹을 차단할 능력이 충분히 있다. 다만 비용과 신속한 개발과 빠른 서비스 시작에 목매어 보안을 등한시하고 있을 뿐이다.

(1)의 공격을 막기위해 보안을 강화해야만 효과적으로 DDOS 공격을 차단할 수 있다.


이번엔 은행이었다..

금융권... 전산망에 관한한 가장 철저한 보안이 유지되고 있다고 "스스로들.." 자부하는 곳이다. 은행 임직원의 직장에 대한 자부심은 정말 대단하다.  그리고 스스로의 보안은 철저하다고 생각하고 있다. 그리고 실제로도 가장 철저한 보안을 유지하고 있는 곳이 바로 금융권이다.

"루트 권한 획득"

"루트"는 root 이다.

해커에게 root 사용자 계정의 권한이 탈취당했다는 것은... 서버에게는... 사망선고다. 복구..?? 포렌식..?? 다 필요없다. root 계정이 탈취당했다는 사실은 해킹의 흔적도 이미 삭제되고 없다는 것과 마찬가지다. root 계정을 해킹할 정도의 해커라면 게다가 아무리 헛점이 있었다 하더라도 은행의 네트웍을 해킹하고 서버의 root 권한을 획득한 해커라면... 서버에 자신의 흔적을 남길 가능성은 10% 미만이다. 이러한 해킹은 방화벽으로도 IPS로도 웹방화벽으로도 차단하기는 불가능하다.
시스템의 모든 권한을 장악할 수 있는 root(루트) 계정을 해커로부터 보호하기 위해서는 오로지 서버보안S/W (SecureOS : RedCastle)이 서버에 설치되고 최소한의 보안정책이 적용되어 있어야 한다.

이중삼중의 방화벽과 IPS 등으로 무장한 서버에 대한 나의 느낌은...

겉옷은 입었지만 팬티를 입지않은 것과 같지 않을까 생각한다.. ㅋㅋㅋ

아래 기사에서 잡혔다는 J씨는 어딘가.. 모자라는 듯한 느낌을 주고 있다. 실력에 비해 사회적인 감각은 많이 부족하다는 생각이 든다.

----------------------------------------------------------------------------------------

은행전산망 해킹 잇따라…`루트권한 획득' 충격(종합)

2008년 05월 15일 (목) 15:00   연합뉴스


시중은행 2곳 시도·제2금융권 1곳 성공 (서울=연합뉴스) 임화섭 장재은 기자 = 시중은행과 제2금융권 등의 전산망을 해킹했거나 해킹하려고 시도한 용의자들이 경찰에 잇따라 검거됐다. 특히 이 중에는 내부 전산망의 루트 권한(전산시스템의 모든 것을 통제할 수 있는 최고위 관리자 권한)을 획득한 뒤 은행측이 고객정보를 사용할 수 없도록 해 놓고 암호를 풀어 주는 대가로 거액을 요구하는 등 은행측을 완전히 `농락'하는 데 성공한 사례마저 있어 충격을 주고 있다. 경찰청 사이버테러대응센터는 15일 정보통신망 이용 촉진 및 정보보호에 관한 법률 위반 등 혐의로 미국인 J(24)씨에 대해 구속영장을 신청했다.
경찰에 따르면 J씨는 지난달 말 인천에 본사를 둔 모아저축은행에서 대출정보 관리시스템을 해킹해 루트 권한을 획득한 뒤 고객정보가 담긴 파일을 암호화해 사용 불능 상태로 만들고 이를 풀어 주는 대가로 20만달러를 요구한 혐의를 받고 있다. 경찰 관계자는 "해커들이 금융기관 내부 시스템 해킹에 실제로 성공해 모든 정보에 접근할 수 있고 시스템 전체를 좌지우지할 수 있는 루트 권한을 획득한 것은 이번이 처음"이라고 설명했다. 경찰은 J씨를 검거하면서 압수한 컴퓨터와 휴대용 저장장치 등을 정밀 분석하고 있으며 다른 은행을 상대로도 유사한 범죄를 저질렀는지, 해킹으로 확보한 은행 내부 자료를 유출했는지 등 여죄를 추궁할 방침이다.
한편 서울경찰청도 이날 은행의 인터넷뱅킹 고객민원센터에 설치된 무선 공유기를 통해 오가는 데이터를 가로채는 방식으로 해킹을 시도한 혐의(정보통신망 이용 촉진 및 정보보호에 관한 법률 위반)로 이모(51.무직)씨와 전산 기술자 김모(25)씨, 이모(36)씨를 구속했다. 경찰에 따르면 이씨 등은 지난 11일 0시 50분께부터 오전 1시 40분께까지 서울 중구의 하나은행 허브센터와 외환은행 본사 앞에 승용차를 주차해두고 무선 랜카드와 지향성 안테나(AP)를 장착한 노트북 컴퓨터로 인터넷 무선 공유기에서 흘러나오는 데이터를 채집한 혐의를 받고 있다. 조사 결과 이씨 등은 암호화돼 그대로 쓸 수는 없는 데이터를 채집한 뒤 중국으로 건너가 해독해서 고객계좌정보를 알아내 예금을 가로채려고 계획했던 것으로 드러났다.

경찰은 무선 공유기에서 나오는 데이터를 가로채는 수법의 해킹을 시도한 피의자가 검거된 것은 이번이 처음이라고 말했다. 이에 대해 하나은행 관계자는 "우리 경우는 내부 주 전산망에 대한 해킹 시도가 있었던 것은 아니고 인터넷뱅킹 고객민원센터에서 쓰는 무선 공유기에 대한 무단 접속 시도가 있었다가 실패한 경우"라고 설명했다.
solatido@yna.co.kr jangje@yna.co.kr

(끝) 주소창에 '속보'치고 연합뉴스 속보 바로 확인 <연합뉴스 긴급속보를 SMS로! SKT 사용자는 무료 체험!> <저작권자(c)연합뉴스. 무단전재-재배포금지.>