[Network] 트로이목마, 백도어

트로이목마

트로이목마는 정상인 프로그램처럼 위장하지만, 실제로는 바이러스처럼 동작하는 프로그램을 의미합니다.

트로이목마의 유형

  • 백도어: 컴퓨터의 방어망에 해커가 침투할 수 있는 구멍을 뚫습니다.
  • 다운로더: 해커 사이트에서 더 악의적인 코드를 다운로드해 컴퓨터 장악력을 확대합니다.
  • 루트킷: 다른 공격자가 이용할 수 있는 숨겨진 해킹 툴킷을 설치합니다.
  • 드롭퍼: 내부에 포함된 추가적인 멀웨어를 설치합니다.
  • 패스워드 스틸러: 사용자 계정 및 비밀번호를 유출합니다.
  • 클리커: 오류 메시지나 광고를 통해 사용자의 사이트 접속을 유도합니다.
  • DDoS: 컴퓨터를 탈취해 좀비화해서 다른 공격 목표에 대한 DDoS 공격에 이용합니다.
  • 랜섬웨어: 파일을 암호화한 다음 복원해주는 대가로 비트코인 몸값을 요구합니다.

트로이목마의 유형만 봐도 알 수 있듯이 정보 탈취, 시스템 파일 파괴, 컴퓨터 장악 등 다양한 목적을 위해 사용합니다.

트로이목마 감염 경로

  • 피싱(메일 첨부파일): 다른 누군가를 가장해 이메일을 보내 파일을 실행하도록 만듭니다.
  • 소프트웨어 취약점: 최신 소프트웨어로 업데이트하지 않을 때 취약점을 통해 감염될 수 있습니다
  • 물리적 접근

트로이목마 예방법

  • 소프트웨어, 백신의 최신 버전을 항상 유지합니다.
  • 신뢰할 수 있는 출처를 가진 프로그램만 다운받습니다.

백도어

크래커가 시스템에 침입한 후 자신이 원할 때 침입한 시스템을 재침입하거나 권한을 쉽게 획득하기 위하여 만들어 놓은 일종의 비밀 통로를 말합니다. 초기에는 주로 시스템에 문제가 생겼을 경우, 쉽게 시스템에 접속하기 위해서 시스템 관라자나 프로그래머등의 관리자가 의도적으로 만들어 놓은 비밀 통로였는데, 이후 크래커들에 의해 악의적인 목적으로 사용되고 있습니다.

백도어에서 제공해야 하는 기능

  • 파일 숨기기
  • 프로세스 숨기기
  • 네트워크 커넥션(연결) 숨기기
  • 원격 명령 실행 가능
  • 관리자 권한 흭득

백도어의 종류

  • 로컬 백도어: 서버의 셀을 얻어내 관리자로 권한 상승(Privilege Escalation)할 떄 사용합니다.

  • 원격 백도어: 계정에 패스워드 입력하고 로그인한 것처럼 원격으로 관리자 권한 흭득해 시스템에 접근하고, 네트워크 포트를 개방합니다.

  • 패스워드 크래킹 백도어: 인증에 필요한 패스워드를 공격자에게 보내주는 역할을 합니다.

  • 시스템 설정 변경 백도어: 시스템 설정을 해커가 원하는 대로 변경하기 위한 툴 역할을 합니다.

  • 트로이 목마 형태의 프로그램: 처음부터 백도어를 목적으로 만들어진 것은 아니지만 백도어로 동작하는 경우입니다. 이런 백도어를 실행하면 원하는 프로그램이 실행되면서 동시에 백도어도 설치됩니다.

  • login 백도어: 매직 패스워드와 같이 특정 패스워드 입력 시 인증 과정 없이 로그인을 허용합니다. utnp나 wtmp등의 로그 파일에 기록되지 않습니다.

  • telnetd 백도어: login 프로그램의 구동 전에 실행됩니다. 특정 터미널에서 시스템에 접속하는 경우 인증 과정 없이 셸을 부여합니다.

  • Service 백도어: finger,rsh,rexec,rlogin,ftp,inetd 등과 같은 대부분의 유닉스 서비스들에 존재하는 백도어 버전입니다.

  • Cronjob 백도어: Cron 데몬을 통해 특정 시간에 예약된 백도어 프로그램을 수행합니다.

  • 라이브러리 백도어: 시스템에 설치된 라이브러리를 수정하여 백도어 코드를 삽입하는 경우입니다.

  • 커널 백도어: 커널 코드가 수정되어 백도어가 만들어진 경우입니다. 이 경우 백도어와 침입을 인지하기 매우 힘들고 MD5 등과 같은 무결성 검사로드 진단이 불가능합니다.

  • 파일 시스템 백도어: ls,du,fsck 등과 같은 명령어를 수정하여 특정 디렉터리나 파일을 숨기는 백도어입니다. 숨기려는 대상을 불량 섹터(bad sector)로 처리합니다.

  • 프로세스 은닉 백도어: 스워드 크래커나 스니퍼등과 같은 프로세스들을 숨깁니다.

    • 라이브러리 루틴 수정을 통한 은닉
    • 인터럽트 처리 루틴에 삽입을 통한 은닉
    • 커널 수정에 의한 은닉
  • 네트워크 트래픽 백도어: 네트워크 트래픽을 숨겨 사용하지 않는 포트로 침입하는 경우입니다.

  • TCP 셀(shell) 백도어: 1024번 이상의 TCP 포트에 셸 제공 서비스를 설치하는 것을 허용합니다. 이 경우, netstat 명령 등을 통해 확인이 가능합니다.

  • UDP 셀 백도어: 칩입차단 시스템을 우회할 수 있음

백도어를 방지하기 위한 방법

  • 시스템 및 네트워크에 대한 보안 취약점을 주기적으로 판단해야 합니다.
  • 시스템 개발사로부터 주기적으로 패치 버전을 다운로드 받아 설치해야 합니다.
  • 주요 백도어 대상 프로그램에 대한 백업 및 해시 코드 값을 유지해야 합니다.
  • 프로그램 설치전에 MD5 등을 통해 무결성을 진단해야합니다..
  • 관리자가 새로운 백도어 공격과 이에 대한 예방책에 대한 동향을 주기적으로 파악하여 시스템에 대한 관리를 철저히 하는것이 필요합니다.



출처

  1. 트로이목마 관련 기사
  2. 트로이목마 위키
  3. 네트워크 해킹 퇴치 비법(HACK PROOFING YOUR NETWORK)
  4. 백도어 블로그 포스팅