본문 바로가기
AI 스쿨 리팩토링 보안직무 과정

12주차 과제 - 악성코드 분석 도구

by IT스터디큐브 2022. 12. 19.

 이번 시간에는 악성코드 분석에 사용되는 소프트웨어적 도구들에 대하여 알아보도록 하겠습니다.

12주차 과제 - 악성코드 분석.pptx
3.83MB

 과제 발표에 사용한 PPT 파일을 첨부하겠습니다. 현재 진행하고 있는 과제는 AI 스쿨의 리팩토링 보안직무 과정의 일부입니다. 만약 해당 과정에 더 관심이 있으시다면 AI스쿨의 공식 카페에 방문하여 더많은 정보를 확인해 주시기 바랍니다.

https://cafe.naver.com/itscholar

 

정보보안전문가 취업카페 스칼라 : 네이버 카페

비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성

cafe.naver.com





 악성 코드 분석에 사용되는 도구는 두가지 갈래로 볼 수 있습니다. 먼저 정적 분석 도구에 대해 알아보겠습니다.

 정적 분석이란 악성 코드를 실행하지 않고 내부 원시 코드를 보고 분석하는 것을 말합니다. 그리고 정적 분석 도구는 이런 정적 분석을 행하기 위해 사용하는 일련의 소프트웨어들을 말합니다.



 가장 먼저 소개할 도구는 마이크로소프트의 Strings입니다. 아스키 혹은 유니코드로 만들어진 실행 파일을 서식등을 무시하고 내부를 확인할 수 있게 해 줍니다.

 마이크로소프트 Strings를 이용한 분석 예시를 보여드리겠습니다.

 [이미지 1]

 위 이미지는 마이크로소프트 Strings를 이용하여 분석을 하는 모습입니다. 위 이미지의 21번째 줄 부터 본다면 FindNextFileA와 FindFirstFileA라는 명령어를 확인할 수 있습니다. 이는 특정한 파일을 찾으라는 명령입니다. 앞선 명령어와 다음줄의 CopyFileA를 결합한다면 특정한 파일을 찾아 교체를 하는 명령어가 완성됩니다.

 [이미지 2]

 이번 이미지의 뒤에서 7번쨰 줄의 명령어를 본다면 InternetOpenURLA라는 명령어를 확인할 수 있습니다. 해당 명령어는 특정한 URL에 접근하라는 명령어이며, 마지막에서 두번쨰 둘에 있는 URL을 접근하는 작업이 이루어질 것이란 것을 쉽게 알아차릴 수 있습니다. 악성코드가 이런 URL에 접근한다면 다른 악성코드를 추가로 다운로드하는 작업을 할 가능성이 매우 높습니다.



 두번째 정적 분석 도구로는 PeStudio입니다. Strings가 메모장이라면 PeStudio는 notepad++로 비유할 수 있습니다. 메모장으로 코딩을 할 수도 있고 실제로 그렇게 하는 경우도 존재하지만, 일반적으로 관련 코딩 툴을 사용하는 것이 편리합니다. 마찬가지로 PeStudio의 경우 Strings가 제공하는 명령어 목록 불러오기 기능은 물론이며, 파일 정보, 불러오는 dll정보, 제장 날자 등을 볼수 있는 등의 여러 편의기능이 존재합니다.



 정적 분석 도구들에 관하여 알아 보았으니 이번에는 동적 분석 도구들에 관하여 알아보는 시간이 되겠습니다. 동적 분석 도구는 동적 분석을 하기 위한 도구이기에, 먼저 동적 분석이 무엇인지 알아보도록 하겠습니다.

 동적 분석은 악성코드로 의심되는 파일을 직접 실행한 후, 해당 파일이 실시간으로 시스템, 파일, 헤지스트리, 네트워크 등에 어떤 영향을 미치는지 알아보는 것 입니다. 동적 분석 과정에서 해당 파일이 다음과 같은 행동을 보인다면 악성코드일 가능성이 매우 높습니다.

- 새 파일 생성
- 기존 파일 변형
- 새로운 소프트웨어/서비스 설치
- 레지스트리 변조
- 시스템 설정 변경
- 의심스러운 IP에 접근



  첫번째로 설명할 동적 분석 도구는 WIRESHARK(와이어샤크)입니다. 와이어샤크는 네트워크 패킷을 캡쳐하고 분석하기 위한 가장 강력한 도구 입니다. 와이어샤크의 경우 현재 일어나는 모든 데이터 통신 패킷을 열어볼 수 있으며, 통신 패킷의 종류, 출발지와 목적지, 간략한 내용까지 볼 수도 있습니다.



 두번째로 소개할 도구는 Process Hacker(프로세스 해커)입니다. 프로세스 해커의 경우 현재 메모리상에 실행중인 모든 프로세스들을 관찰하는프로그램입니다. 모든 프로세스의 상위 하위관계를 트리 형식으로 나타내 주고, 프로세스의 파일 탐색기 위치 등을 알려줍니다. 보안 관제사는 해당 프로그램의 정보들을 종합해서 프로세스를 강제로 종료할지 판단할 수도 있습니다.



 세번째로 소개할 도구는 Process Monitor(프로세스 모니터)입니다. 프로세스 모니터의 경우 프로세스 분석을 위해 레지스트리, 파일, 프로세스, 네트워크의 모든 동작 사항을 실시간으로 감지하여 리스트로 남기는 기능이 있습니다.



  마지막으로 소개할 도구는 PROCDOT 입니다 프로세스의 입 출력 동작 로그를 읽고 프로세스의 동작을 보기 편한 형식으로 보여주는 도구입니다. 이를 이용한다면 프로세스의 동작을 편하게 분석할 수 있습니다.

댓글