Tcache PoisoningDouble Free Bug를 이용하여 tcache_entry를 조작하고 이미 할당된 메모리에 다시 힙 청크를 할당하는 공격 기법이다. tcache에서 사용하는 tcache_put과 tcache_get 함수에서는 old와 p를 검증하지 않기 때문에 한 개의 청크를 연속으로 해제할 수 있다.참고로 GLIBC 2.26과 2.29 이상의 버전에서는 DFB를 검증하는 로직이 추가됐다. 기본적으로 크기가 32byte ~ 1040byte 크기를 갖는 청크들의 경우에는 tcache에 보관한다. tcache poisoning을 이해하기 위해서는 청크 개념을 알아야 한다. [사진]의 왼쪽은 alloc 청크, 오른쪽은 free 청크다. 차이점은 alloc 청크에서는 data를 담는 부분이 fr..
Use After Free (UAF)Use After Free (UAF) 취약점은 프로그램이 메모리를 해제한 후에도 해당 메모리 위치를 계속 사용하는 경우 발생하는 보안 취약점이다. 운영 체제는 메모리를 효율적으로 사용하기 위해 동일한 크기의 메모리를 재할당할 때 종종 이전에 해제된 메모리 영역을 재사용한다. 만약 메모리를 해제하는 과정에서 데이터가 제대로 지워지지 않으면, 재할당된 포인터가 이전 데이터를 참조하게 되어 문제가 발생한다. 다음은 UAF 취약점을 설명하는 간단한 C++ 예제다.#include #include class Vulnerable {public: char* data; Vulnerable(size_t size) { data = new char[size]; ..
안녕하세요. 2023년 7~8월에 금융보안원에서 진행한 금융보안아카데미 1기 후기 글을 남기려고 합니다. 이 글을 읽는 분들은 차후 금융보안아카데미에 지원하실 분들이나 금융보안원 입사에 관심 있으신 분들이 되겠네요. 자세한 이야기를 하기에 앞서, 금융보안아카데미의 장점을 얘기해 보겠습니다. 일단 금융보안원 입사에 관심 있는 인원들을 대상으로 교육하는 만큼 금융보안원에서 근무하고 계신 현직자분들과 소통할 기회를 얻는 점이 가장 큰 장점이라고 생각합니다. 현직자와의 인적 네트워크를 쌓을 수 있는 기회가 제공되는 만큼 금융보안원 입사에 관심이 있으시다면 매우 큰 도움이 되겠죠? 또한 금융보안원이라는 이름에 걸맞게 투자가 확실히 많다는 느낌이었습니다. 교육생들을 위한 식사 제공이나 회식 등등 돈을 아끼지 않고 ..