Security&Hacking/악성코드

악성코드 분석 기법

Dior2ky 2020. 4. 21. 01:25
반응형

악성코드 분석 기법

악성코드를 분석하는 경우 일반적으로 악성코드는 사람이 읽기 어려운 형태로 존재하고 있다. 

이 악성코드를 파악하기 위해서 다양한 도구와 기법을 활용하여 적은 양의 정보를 부분적으로 알아내게 된다.

이렇게 적은 양의 정보를 조금씩 조금씩 알아내어 전체적인 그림을 그리게 되는데 이를 위해 다양한 도구들이 필요하게 된다.

 

악성코드 분석에는 두가지 기초적인 접근방식이 있다. 

정적분석과 동적분석으로 나누어진다. 

정적분석은 악성코드를 실행하지 않고 분석하는 방법이며 동적분석은 악성코드를 실행하면서 분석하는 것을 말한다.

나아가 두 기법을 각각 기초 또는 고급으로 분류하여 총 4가지로 분석 기법을 나눌 수 있다.

 

기초 정적 분석

기초 정적 분석은 악성코드의 실제 명령어를 확인하지 않고 실행파일을 조사한다. 

기초 정적 분석은 파일이 악성파일인지 아닌지를 확인하고 기능 정보를 확인한다.

또한 이를 통해 간단한 네트워크 시그니처를 생성한다.

기초 정적 분석은 직관적이고 신속하게 수행할 수 있다. 

간단한 정보는 얻을 수 있지만 정교하고 복잡하게 만들어진 악성코드에 대해서는 중요한 정보를 얻기가 힘들고 분석에도 용이하지 않다.

 

기초 동석 분석

기초 동적 분석은 악성코드를 실행하여 시스템의 행위를 관찰한다.

악성코드가 동작하여 감염흔적을 없애는지, 남겨둔 흔적들은 없는지를 파악하게 된다. 

악성코드를 실행하는 것이기 때문에 시스템과 네트워크에 피해가 없도록 환경을 구성해야 한다. 

 

고급 정적 분석

고급 분석은 악성코드를 좀 더 세밀하게 분석한다. 

고급 정적 분석에서는 역시 악성코드를 실행하지 않고 분석하며 악성코드에 포함된 명령어가 어떤 작업을 하는지 파악하는지 분석하게 된다.

실행 파일을 디스어셈블러로 로드해 내부를 역공학하게 된다. 

내부를 자세하게 분석하기 때문에 프로그램의 정확한 내용을 알 수 있다.

정확한 내용을 알 수 있는 대신 어렵고 디스어셈블리에 특화된 지식, 코드 해석, 운영체제의 개념을 모두 알아야 한다. 

 

고급 동적 분석

고급 동적 분석에서는 디버거를 이용한다. 

악성 실행 파일의 내부 상태를 점검하고 세부 정보를 추출하게 된다. 

다른 기법으로는 알아내기 어려운 정보들을 얻을 때 유용하다. 

 

  


참고 <실전 악성코드와 멀웨어 분석, 에이콘>

반응형

'Security&Hacking > 악성코드' 카테고리의 다른 글

DDE(Dynamic Data Exchange) 공격  (0) 2021.08.12
기초 정적 분석  (0) 2020.04.23
악성코드 유형  (0) 2020.04.21
랜섬웨어(Ransomware)  (0) 2020.03.12