본문 바로가기

[2021년 파트 - 김홍규 개발자] uftrace

honggyu 게시글 작성 시각 2021-07-17 19:47:32 게시글 조회수 1454

- 개발자 주요경력
(현) Arm
(전) LG전자

 

- 개발자 전문분야

system tracing/profiling/debugging
 

- 활동 커뮤니티

github

 

- 활동 프로젝트 분야

tracing
 

- 프로젝트 개요

uftrace는 C/C++/Rust로 작성된 프로그램을 코드 수정 없이 함수 단위로 성능을 측정하고 실행흐름을 추적(trace)할 수 있는 분석 도구이다. 이러한 분석을 위해 어떠한 코드 수정도 필요 없이 단지 기존에 존재하는 컴파일러 옵션의 도움으로 분석이 가능하고, 또한 최근에는 full dynamic tracing 기법의 도입으로 컴파일러의 도움 없이도 바이너리 분석 및 조작을 통해서도 분석이 가능하다.


- 프로젝트 목표
대상 프로그램의 실행 흐름 분석에 유용하게 사용될 수 있는 분석 방법 지원 및 다양한 언어, 플랫폼 및 아키텍쳐에 대한 안정성 확보를 목표로 하고 있다.

- 프로젝트 특징

uftrace 는 소스코드에 있는 전체 함수와 라이브러리 호출 및 리눅스 커널 내부 함수에 대한 통합된 실행 흐름 추적이 가능하고, 시간의 흐름에 기반한 tracing 을 할 수 있어서 전체적인 프로그램 실행 순서에 대한 이해에 큰 도움이 될 수 있다. 또한, uftrace 는 함수의 인자 값 및 반환값도 읽을 수 있어서 이를 활용하면 특정 함수에 어떤 기대하지 않았던 인자가 전달되거나 리턴 값을 반환하는 것을 코드 수정 없이 쉽게 찾아낼 수 있어서 버그나 취약점 분석에 활용할 수 있다.
 

- 참고자료

https://uftrace.github.io/slide

맨 위로
맨 위로