[Linux] namespace
개요 Linux Kernel Exploit을 할 때 switch_task_namespaces(bpf_get_current_task(), &init_nsproxy) 함수를 통해서 네임스페이스를 변경하는 경우가 있어서 해당 포스터를 통해 개념을 정리하고자 합니다. namespace 우선, namespace라는 개념은 프로세스 별 격리된 공간을...
개요 Linux Kernel Exploit을 할 때 switch_task_namespaces(bpf_get_current_task(), &init_nsproxy) 함수를 통해서 네임스페이스를 변경하는 경우가 있어서 해당 포스터를 통해 개념을 정리하고자 합니다. namespace 우선, namespace라는 개념은 프로세스 별 격리된 공간을...
개요 이전 포스터에 이어서 glibc 2.34 버전에서 패치된 사항을 분석하고자 합니다. 새로운 개념이 생긴것은 아니지만 보호기법이 많이 추가되어서 포스터를 작성합니다. [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) [glibc 2.27] malloc 분석(3) [glibc 2.29] ...
개요 이전 포스터에 이어서 glibc 2.33 버전에서 패치된 사항을 분석하고자 합니다. Memory Tagging이 생기면서 많은 부분에서 수정이 이루어져서 포스터를 작성합니다. 앞선 포스터를 먼저 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) [glibc 2....
개요 이전 포스터에 이어서 glibc 2.32 버전에서 패치된 사항을 분석하고자 합니다. safe-linking이 생기면서 많은 부분에서 수정이 이루어져서 포스터를 작성합니다. 앞선 포스터를 먼저 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) [glibc 2.27...
개요 이전 포스터에 이어서 glibc 2.30 버전에서 패치된 사항을 분석하고자 합니다. 새로운 개념이 등장한 것은 아니지만 많은 부분에서 수정이 이루어져서 포스터를 작성합니다. 앞선 포스터를 먼저 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) [glibc 2.2...
개요 이전 포스터에 이어서 glibc 2.29 버전에서 패치된 사항을 분석하고자 합니다. 새로운 개념이 등장한 것은 아니지만 많은 부분에서 수정이 이루어져서 포스터를 작성합니다. 앞선 포스터를 먼저 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) [glibc 2.2...
개요 이전 포스터에 이어서 glibc 2.27 버전에서 패치된 사항을 분석하고자 합니다. 새로운 개념이 등장한 것은 아니지만 많은 부분에서 수정이 이루어져서 포스터를 작성합니다. 앞선 포스터를 먼저 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) [glibc 2.26] malloc 분석(2) Single Thr...
개요 이전 포스터에 이어서 tcache가 도입된 glibc 2.26 버전에 대해서 분석하고자 합니다. 이전 포스터를 읽고 보시는 것을 추천드립니다! [glibc 2.23] malloc 분석(1) tcache 해당 버전에서 tcache 개념이 도입되었습니다. __libc_malloc 함수를 보면 다음과 같은 로직이 추가되었습니다. #de...
개요 시스템 해킹을 heap 공격기법은 공부했지만, malloc과 free 함수의 오픈소스도 분석하면 좋을 것 같아서 glibc 2.23 버전부터 소스코드를 토대로 분석하고자 합니다. 해당 포스터를 읽기 위해 heap에 대해서 어느정도 알 고 있어야 이해가 가능합니다! malloc 분석 __libc_malloc __libc_malloc 함수는 ...
개요 Linux Kernel 관련 1-day 취약점을 공부하다가 BPF에서 LPE 취약점이 발견되어서 BPF에 대해서 서술하고자 합니다. BPF BPF는 Berkeley Packet Filter의 약자로 말 그대로 패킷을 걸러내는 필터 역할을 수행합니다. BPF는 in-kernel virtual machine으로 가상의 레지스터를 가지고 ...