Information Technology

악성코드 탐지 및 이상포트 탐지 방법

coinAA 2021. 11. 29. 16:04

 

목차

     

    악성코드 탐지 방법

    네트워크 상태 점검

    상당수의 악성 코드는 외부에 있는 해커나 악성 코드 작성자와 통신을 하기 위해 서비스 포트를 생성하기 마련이다.
    그렇기 때문에 의심가거나 알수없는 포트가 열려있다면 해당 포트는 차단하거나 공격자의 공격으로부터 사전에 방지해야한다. 번호만으로 추측하기가 어려운 경우에는 CPorts 같은 프로그램으로 서비스 포트별로 사용하는 응용 프로그램을 확인할 수 있고 BackDoor-DVR 실행한 뒤 CPorts에서 활성화된 네트워크 항목을 살펴보면 특이한 연결을 발견할 수 있다.

     

    주요 악성코드가 사용한 서비스 포트

    시스템에서는 명령프롬프트 창을 실행한 후에 netstat 명령으로 열려 있는 포트를 확인할 수 있다.

    포트 번호 악성 코드 포트 번호 악성코드
    21 trojanFore 1080 winhole
    23 tiny telnet server[TTS] 1090 xtreme
    25 naebiHappy 1150 orion
    31 agent, paradisemasters 1234 ultors trojan
    41 deepthroat foreplay 1243 backdoor G
    80 www tunnel 1245 voodoo doll
    119 happy 99 1257 frenzy 2000
    133 farnaz 1272 the matrix
    137 chodemsinit (UDP) 1441 remote storm
    514 RPCBackdoor 1524 trin00
    555 seven eleven 1999 sub seven
    666 serve U 2140 deep throat 1.3
    667 snipernet 2255 nirvana
    777 AIM spy 2583 wincrash
    808 winHole 2773 sub seven gold 2.1
    999 deep throat 3459 eclipse 2000
    1001 silencer 5400 blade runner
    1016 doly trojan 5880 Y3K rat
    1024 netSpy 8787 backorifice 20000

     

    정상적인 프로세스와 비교하기

    윈도우와 유닉스 시스템 등의 정상적인 프로세스를 외워두면 비정상적인 프로세스를 식별하는 데 도움이 많이 된다.
    윈도우에서는 [Ctrl]+[Alt]+[Delete]로 작업 관리자 실행하여 현재 실행 중인 프로세스를 확인 할수 있다.
    주로 악성 코드가 주로 사용하는 서비스명은 csrss와 svchost를 많이 사용한다.

    Windows 작업관리자 창

     

    윈도우 시스템이 동작하기 위한 기본 프로세스

    프로세스 명 설명
    csrss.exe
    (client/server runtime subsystem: win 32)
    윈도우 콘솔 관장, 스레드 생성 및 삭제, 32비트 가상 MS-DOS 모드 지원
    explorer.exe 작업 표시줄이나 바탕화면과 같은 사용자 셸 지원
    lsass.exe
    (local security authentication server)
    winlogon 서비스에 필요한 인증 프로세스 담당
    mstask.exe
    (window task scheduler)
    시스템 백업이나 업데이트와 관련된 작업의 스케줄러
    smss.exe
    (session manager subSystem)
    사용자 세션을 시작하는 기능 담당
    spoolsv.exe
    (printer spooler service)
    프린터와 팩스의 스풀링 기능 담당
    taskmgr.exe
    (task manager)
    작업 관리자 자신을 나타낸다.
    winlogon.exe
    (windows logon process)
    사용자의 로그인·로그오프를 담당하는 프로세스
    winmgmt.exe
    (window management service)
    장치 관리 및 계정 관리, 네트워크 동작 관련한 스크립트를 위한 프로세스
    msdtc.exe
    (distributed transaction coordinator)
    웹 서버와 SQL 서버 구동 시에 다른 서버와 연동하기 위한 프로세스
    ctfmon.exe
    (alternative user input services)
    키보드, 음성, 손으로 적은 글 등 여러 가지 텍스트 입력에 대한 처리를 지원하는 프로세스
    dfssvc.exe
    (distributed file system)
    분산 파일 시스템(DFS)을 지원하기 위해 백그라운드로 실행되는 프로세스

     

    시작 프로그램과 레지스트리 확인하기

    윈도우 시스템은 시작 프로그램 등 시스템 운영과 관련된 것의 기본 설정 값이 재부팅 시에도 변하지 않도록 레지스트리에 여러 가지 값을 기록한다. 이러한 레지스터를 악성 코드가 이용하는 경우가 많으므로 악성 코드를 삭제할 때는 레지스터에서도 관련 내용을 반드시 확인해야 한다. 시작 프로그램 목록은 msconfig 명령으로 확인 가능하다.

     

    악성코드 제거 절차

    • 악성 코드 서비스 프로세스 중지
    • 악성 코드 파일 삭제
    • 악성코드 관련 레지스트리 삭제