본문 바로가기
Security_/Reversing

[Reversing] Reversing?

by 낭람_ 2018. 8. 21.
반응형

[시작]


리버싱 : 프로그램의 구조, 기능, 동작 등을 역으로 따라가며 분석하고 그 원리를 이해하며 부족한 부분을 보완하며 새로운 기능 등을 추가하는 작업


분석 방법

- 정적분석 : 파일의 겉모습을 관찰하며 분석하는 방법. 즉, 파일을 실행하지 않고, 파일의 종류(exe, dll, doc, zip 등), 크기, 헤더정보, 실행 압축 여부, 등록 정보, 디지털 인증서 등의 내용을 확인하는 것. 또한 디스어셈블러를 이용해서 내부코드와 그 구조를 확인하는 방법이다.

- 정적 화이트박스 분석 : 프로그램을 실행하지 않고 소프트웨어의 설계, 코드나 구조 등에서 상세하게 버그를 찾을 수 있는 방법

- 정적 블랙박스 분석 : 프로그램의 소스코드를 파악할수 없고, 실행시키지도 않은 상태에서 수행하는 분석.

- 동적분석 : 파일을 직접 실행시켜서 그 행위를 분석하고, 디버깅을 통하여 코드의 흐름과 메모리의 상태 등을 자세히 살펴보는 방법. 레지스트리, 네트워크 등을 관찰하면서 프로그램의 행위를 분석하고 디버거를 이용하여 프로그램 내부 구조와 동작 원리를 분석하기도 한다.

- 동적 화이트박스 분석 : 프로그램을 돌리면서 소스코드를 확인하는 방법

- 동적 블랙박스 분석 : 소스코드의 구조는 배제한체 프로그램을 실행하여, 사용자의 입장에서 테스트를 진행하는 방식


동적 화이트박스 분석 vs 디버깅

- 동적 화이트 박스 테스트의 목표는 버그 발견, 디버거의 목표는 발견된 버그에 대한 수정


리버싱 활용 분야

- 악성코드 분석, 버그 헌팅, 해킹 등




반응형

댓글