개발세발보안중
Analysis 본문
정적 분석 (Static Analysis) : 외적인 관찰만을 통해 정보를 알아내는 것, 프로그램을 실행시키지 않고 분석하는 방법
장점)
1. 전체구조를 파악하기 쉬움
어떤 함수로 구성됐는가? 함수들은 서로 어떤 호출 관계를 갖는가? 어떤 API를 사용하는가? 어떤 문자열을 포함하는가?
~를 알 수 있다.
2. 분석 환경의 제약에서 자유롭다
3. 바이러스와 같은 악성 프로그램의 위협으로부터 안전하다
단점)
1. 난독화가 적용되면 분석이 어려워짐
2. 다양한 동적 요소를 고려하기 어려움
동적 분석 (Dynamic Analysis) : 실행을 통해 동작을 분석하는 것
장점)
1. 코드를 자세히 분석해보지 않고도 프로그램의 개략적인 동작을 파악할 수 있음
단점)
1. 분석 환경을 구축하기 어려울 수 있음
2. 안티디버깅이라는 기법이 디버깅을 방해할 수 있음
if (is_debugging()) // 디버깅인지 확인
exit(-1); // 프로그램 종료
Func();
동적 분석의 예) x64bg : 실행 중인 어셈블리 코드, CPU의 레지스터, 메모리와 스택을 확인 및 분석할 수 있음
'Reversing' 카테고리의 다른 글
리버싱 7주차 -2 (0) | 2022.11.07 |
---|---|
리버싱 7주차 (0) | 2022.11.07 |
디스어셈블과 디컴파일 (0) | 2022.09.25 |
프로그램과 컴파일 (0) | 2022.09.25 |
리버싱 스터디 1주차 (0) | 2022.09.20 |
Comments