강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

유닉스 root 침해시 복구 절차

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

==========================================================================
문 서 번 호 : CERTCC-KR-TR-97-003
문 서 제 목 : 유닉스 root 침해시 복구 절차 
버전/작성일 : Version 1/ 1997. 6. 7. Sat.
원       문 : CERT/CC, Steps for Recovering from a UNIX Root Compromise
              August 1996, Version 3.1
                ftp://info.cert.org/pub/tech_tips/root_compromise
==========================================================================
* 당신의 유닉스 시스템이 root 권한을 빼았겼을 때 이  문서에서 권고하는 절차
를 따라주길 바람.
--------------------------------------------------------------------------
========================   내                용  =========================
--------------------------------------------------------------------------

A. 침입 상황을 파악한다. 

        1. 시스템 소프트웨어 및 구성(Configuration)파일의 변조유무 점검 
        2. 침입자의 불법 SW 도구 설치 유무 점검 
        3. 운영하는 다른 시스템도 유사하게 점검 
        4. 이 침입에 관련있거나 침입당한 정황이 있는 시스템 점검 

B. 침입으로 부터의 복구 

        1. 시스템 제어 회복 
                - 필요하다면 네트워크 접속을 끊고, 로그파일을 복사해둠
                - 로그 파일 분석, 시스템의 실행 파일 및 구성 파일 점검 
        2. 침입자가 변조한 파일을 복구하고 시스템 다시 설치 
        3. 로그시 분석된 다른 기관이나 시스템의 관리자에게 연락 및 체크 

C. 시스템 보안화 작업 

        1. 패치 설치
        2. CERT 기술권고문 등 관련 자료를 참고함
        3. 해킹방지 보안 도구들을 설치함 
        4. 로그시스템을 다시 운영 시작 
        5. 네트워크 방화벽 시스템 설치 및 운영
        6. 유닉스 보안 구성지침에 따라 보안상태 검토
        7. 사용자 패스워드 교체 
        8. 네트워크 재접속 및 운영 시작 
        9. CERTCC-KR 사고보고 양식 작성 및 연락 

--------------------------------------------------------------------------
* 이와 관련한 문서로서 다음 3가지 문서들을 참고하기 바람
--------------------------------------------------------------------------

        1.  CERTCC-KR 기술문서 : TR-97-004-유닉스 보안 구성 방법 
            ftp://info.cert.org/pub/tech_tips/UNIX_configuration_guidelines
            
        2.  CERTCC-KR 기술문서 : TR-97-005-침입자 탐지 방법 

        3. CERTCC-KR 기술문서 : TR-97-006-침입 장지를 위한 보안 도구 
           - contains descriptions of tools that can be used to help secure 

--------------------------------------------------------------------------
A. 침입 상황을 파악한다. 
--------------------------------------------------------------------------
   * 여러분의 보안정책과 절차에 따라 이루어져야 한다. 

   1. 시스템 소프트웨어 및 구성(Configuration)파일의 변조유무 점검 

        파일시스템내의 트로이목마 프로그램 존재 유무 및 구성 파일의 변조를
        점검해야 하며, 최신 버전의 시스템으로 패치를 해야 한다. 백업해놓은 
        파일시스템과 비교한다. 트로이목마의 예제는, 

                login, su, telnet, in.telnetd, ftp, ls, ps, netstat,
                ifconfig, find, du, df, libc, sync, inetd, and syslogd

        등이다. 그리고 /etc/inetd.conf 의 변조 유무, 또한 중요한 네트워크 
        프로그램과 공유라이브러리 등을 점검해야 한다. 

        트로이목마프로그램은 때로 원본과 생성시간이 같도록 만들고 있기 때문
        에 sum을 이용하여 체크썸을 받아 두었다가 cmp를 이용하여 비교하는 것
        이 좋다. 또는 문제가 있는 프로그램에 대해 MD5 결과값을 받아두고 업체
        가 제공하는 값과 비교하는 것이 좋다.

        시스템 설치가 끝난 후 Tripwire 와 같은 도구를 이용하여 시스템의 MD5
        결과값을 받아두는 것이 좋다. Tripwire를 이용하면 정기적으로 시스템의
        변조유무를 점검할 수 있다. 
        
        MD5, Tripwire 에 대해 알고 싶다면 "CERTCC-KR-TR-97-006-침입 방지를 
        위한 보안 도구", 

                ftp://info.cert.org/pub/tech_tips/security_tools

        를 참고하기 바란다. 

   2. 침입자의 불법 SW 도구 설치 유무 점검 

        보통 침입자들은 침입에 성공한 후 추후 접근을 용이하게 하려는 목적
        이나 지속적인 모니터링를 위해 트로이목마나 스니퍼 등을 설치한다. 
        특히 root 권한을 뺏은 경우에는 다른 시스템 및 사용자들의 계정 및 
        패스워드를 모니터링하기 위해 스니퍼를 설치한다. 

   3. 기관내의 다른 시스템도 점검함

        하나의 시스템에 대한 침입에 대해 점검을 한 후 NIS 나 NFS 등으로 연결
        된 내부의 다른 시스템들도 같은 방법으로 점검하야 한다. 그리고 신뢰하
        는 호스트로서 /etc/hosts.equiv 나 HOME/.rhosts 등에 정의된 호스트들
        도 마찬가지로 점검해야 한다.

   4. 관련된 원격지 시스템들도 점검 

        침입자가 침입한 시기의 로그파일과 침입자가 남긴 여러 흔적들을 분석
        하여 내부망의 호스트가 아니더라도 관련된 호스트를 점검하여야 하는데, 
        만약 직접 그 기관의 관리자와 접촉하기 어려우면 CERTCC-KR 에 도움을 
        요청해야 한다. 
--------------------------------------------------------------------------
B. 침입으로부터의 복구 
--------------------------------------------------------------------------

   1. 시스템 제어 회복 

        시스템에 대한 제어를 다시 회복하려면 침입자가 다시 접근할 수 없도록 
        네트워크 접속을 끊거나 단일사용자(Single-User) 모드에서 작업해야 한
        다. 그런 이후 로그파일과 구성파일을 분석하여 침입자가 남긴 흔적들을 
        찾아야 한다.  특히 이를 위해 시스템의 중요한 파일들에 대해 복사본을 
        가능한 오프라인 디스켓 등으로 보관하고 있는 것이 좋다

        추후 법적인 조사과정에서의 물증으로 확보하려면 파일시스템을 아주 자
        세한 수준으로 덤프(Dump)를 받고 결과의 레이블을 만들고 서명, 일시 등
        을 기록해두어야 한다. 물론 이 덤프파일은 안전한 곳에 보관해야 한다. 

   2. 침입자가 변조한 파일을 복구하고 시스템 다시 설치 

        시스템을 훼손되지 않은 시스템으로 다시 설치해야 하는데 만약 백업 에
        서 다시 설치하는 것이라면 훼손되지 않았음을 확인해야 한다. 필요
        하다면 원래의 OS 미디어(tape, CD)로부터 다시 시스템을 설치한다, 

        시스템의 취악요소들을 다시 확인하고 제거하도록 한다. 다시 설치한 
        시스템이 이러한 취약점들이 제거된 것을 확인하고 필요하다면 점검해
        줄 수 있는 도구들을 활용한다.

        외부에 공개할 네트워크 응용프로그램과 그렇지 않은 응용프로그램에 대
        해 정의하고 제대로 구성화일이 되었는지 점검한다. 

        Tripwire 와 같은 도구를 이용하여 새로 설치된 시스템에 대한 MD5 체크
        섬 파일을 받아둔다. 


   3. 로그시 분석된 다른 기관이나 시스템 관리자에게 연락 및 체크 

      * 다른 기관에 무엇을 말하나?
        침해당하는 기간동안 관련된 외부기관에 대한 증거나 흔적이 있다면 자신
        이 발견한 내용과 그 기관의 시스템이 당할지 모르는 침해에 대해 설명하
        고 도움을 주거나 요구해야 한다. 이러한 내용을 CERTCC-KR 에도 Email 
        로 보내면 해당하는 기관이 CERTCC-KR 과의 협조를 받아 침해사고처리가 
        진행된다면 그쪽에서 신뢰감을 얻을 수 있으며 그 기관의 문제점에 대해 
        CERTCC-KR 이 도움을 줄수 있다.

      * 어떻게 연락처를 알 수 있나?
        whois, traceroute 등의 도구를 이용하여 알아낸다.
                # whois -h whois.krnic.net example.co.kr 
                # traceroute example.co.kr 
        만약 해외 기관이라면, 
                # whois -h rs.internic.net 
        을 이용하면 된다. 이 경우 어려움이 있다면 CERTCC-KR에 도움을 청하기
        바란다. 특히 국내 전산망침해사고대응팀협의회(CONCERT)에 대해 알고 
        싶거나 해외 FIRST(Forum of Incident Response Security Team)에 대해 
        알고 싶다면 CERTCC-KR 에 접촉하거나 FIRST 홈페이지
        (http://www.first.org)를 접속하기 바란다. 

      * 패스워드 파일을 메일로 보낼때는 어떻게 하는가?
        인터넷을 경유하여 패스워드 파일을 보내는 것은 매우 위험하므로 
        암호화된 패스워드 부분만 제거하고 보낸다. 

          # awk -F: '{ print $1":(deleted):"$3":"$4":"$5":"$6":"$7 }' 
            $file > $file.stripped

      * 패킷스니퍼 경우에는 어떻게 하나 
        당신의 시스템에 패킷스니퍼가 설치된 경우라면 패스워드가 알려진 
        시스템이 위험에 처해있음을 알 수 있다. 스니퍼 결과파일의 목적지 
        시스템이 문제인 것이다. 다음 명령으로 그 시스템을 알 수 있다.

          # grep PATH: $sniffer_log_file | awk '{print $4}' | 
            awk -F( '{print $1}'| sort -u

        이 명령은 대부분의 스니퍼가 만든 경우이며 다음과 같은 예제 파일을
        가정으로 한 것이다. 

          -- TCP/IP LOG -- TM: Tue Nov 15 15:12:29 --
          PATH: not_at_risk.co.kr(1567) => at_risk.ac.kr(telnet)

        또한 하나의 스니퍼 결과 뿐 아니라 이전에 만들었을지도 모르는 스니퍼 
        결과 파일이 있는지 조사해야 한다. 

--------------------------------------------------------------------------
C. 시스템 보안화 작업 
--------------------------------------------------------------------------

   1. 패치를 가져와서 설치

        당신의 시스템에 관한 모든 패치들을 가져와서 설치한다. 이것은 외부의 
        침입시도를 막는 기본적인 과정의 첫걸음이며 시스템 공급업체로부터 요
        구할 수 있다. 

   2. CERT 기술권고문 등 관련 자료를 참고

        미국의 CERT 기술권고문(Advisory)나 CERTCC-KR의 권고문(KA:Korea
        Advisory) 혹은 CERT의 요약문 등을 참고하기 바란다. 이 권고문에는 
        시스템 취약점에 대한 패치 방법과 절차들이 기술되어 있다. 

        * 이 권고문들은 다음에서 찾을 수 있다. 
          - CERTCC-KR : http://www.certcc.or.kr/advisory.html
          - US CERT/CC : ftp://info.cert.org/pub/cert_advisories/

   3. 해킹방지 등 보안 도구들을 설치함 

        CERTCC-KR-TR-97-006, "침입 방지를 위한 보안 도구"를 참고하여 
        TCPWrapper, COPS, Tripwire 등의 보안도구들을 설치한다. 이 도구들은 
        미국 CERT에서 가져올 수 있다. 

                ftp://info.cert.org/pub/tools/
                ftp://info.cert.org/pub/tech_tips/security_tools

   4. 로그시스템을 다시 운영 시작 

        로그/감사/회계 등의 패키지들을 올바르게 지정하여 다시 실행시키는데, 
        sendmail은 레벨 8-9 등으로 적당한 수준을 정해야 하며 백업을 전용의
        시스템으로 받을 것을 권고한다. 

   5. 네트워크 방화벽 시스템 설치 및 운영

        외부에서 들어오는 패킷에 대한 필터링은 매우 중요하므로 CERTCC-KR의 
        홈페이지에서 방화벽 FAQ 대해 이해하고 미국 CERT 의 패킷 필터링에 
        대한 권고사항을 이해하여 실시한다. 

                ftp://info.cert.org/pub/tech_tips/packet_filtering

   6. 유닉스 보안 구성지침에 따라 보안상태 검토

        시스템의 보안구성에 대해서는 CERTCC-KR-TR-97-004, "유닉스 보안구성 
        지침"을 참고로 한다. 

   7. 사용자 패스워드 교체 

        시스템에 대한 안전한 작업이 끝났다면 이 침해를 당한 시스템의 모든 
        계정의 패스워드를 교체할 것을 권고한다. 그리고 패스워드 정책을 구현
        할 수 있는 도구들을 활용할 것을 건의한다. 

   8. 네트워크 재 접속 및 운영 시작 

        만약 작업을 시작하기 전에 네트워크를 끊었다면 다시 연결을 시도한다.

   9. CERTCC-KR 사고보고 양식 작성 및 연락 

        CERTCC-KR 에 침해사고를 보고하려면, 홈페이지에서 보고양식을 작성
        하여 Email이나 팩스등을 이용하여 보낸다. 이때 이 양식에 해당하는 
        것만 그리고 할 수 있는 것만 우선 작성하여 보낸다. 

                http://www.certcc.or.kr/Service/Incrpt.html

-- 한국정보보호센터 CERTCC-KR 침해사고 지원 안내 --------------------------
전 화  : 02-3488-4119                          삐 삐 : 015-993-4571
핸드폰 : 011-732-7821                          팩 스 : 3488-4129
Email  : cert@certcc.or.kr
침해사고 접수 방법은 http://www.certcc.or.kr/service.html을 참고 바람
===========================================================================


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  127 명