본문 바로가기

전체 글129

이직 이후 eBPF 활용기 연습 1일차 이전 회사에서 보안 프로그램 개발을 했었지만 새로온 회사에서는 기존과 다른직무를 맡게 되었다. 회사가 해커분들에게 인력 자원을 더 지원하다 보니 개발팀은 개발보다는 유지보수쪽으로 자원을 쏟아야했기에 자체적으로 일감이 줄어들었고 개인적으로 더 성장하고 싶어서 나오게 되었다. 그래서 너무 한 도메인만 신경쓰는 것 보다 개발자로써 다른 서비스에 기여하는 개발을 도전해보고 싶어서 도전했고, 현재 회사에서 신입으로써 기회를 주셔서 차세대 트래픽 제어 엔진 개발자 포지션으로 일하게 되었다. 아직은 업무가 크게 눈에 들어오지는 않지만 관련 자료들을 찾아보면 Naver에서 eBPF/XDP를 활용해서 쿠버네티스에서 인프라 상황에서의 고성능과 고가용성 개선을 했던 이력들이 있어서 보면서 공부를 진행중이다. https:/.. 2026. 3. 21.
쓰레드 생성 후 exec()와 프로세스에서의 exec() 간만에 스택오버플로우를 보다가 재밌는 질문을 발견했다. RUNNING 상태인 프로세스에서 exec() 시스템 콜로 호출하면 부모 프로세스 -> 자식 프로세스 -> 부모 프로세스 처럼 원활환 진행 플로우가 나오게 되는데 프로세스에서 thread를 생성하고 해당 생성된 thread에서 exec()를 호출하게 된다면 어떻게 되냐는 질문이었다. 보자마자 생기는 후폭풍 같은것이 바로 생각되지 않았다. 그래서 코드로 작성해서 결과를 봤는데 코드는 다음과 같다. #include #include #include #include #include int main(){ pid_t pid; pid = fork(); if(pid 그냥 가볍게 프로세스 생성후 명령 실행 #include #include #inc.. 2026. 2. 20.
커널 구조 태스크 관리 실행 파일 이란 애초에 그냥 디스크에 있는 실행 가능한 수동파일이다.이 수동적인 녀석이 실행되려면 커널로부터 CPU 등의 자원을 할당받는 동적인 객체가 되어야하는데 이 동적인 객체가 프로세스이다.프로세스 자신의 독립적인 자원(메모리 공간)을 가지게 되고, 쓰레드는 부모와 자원을 공유하기 때문에 결함이 발생하면 부모까지 영향을 끼친다fork()와 vfork()의 차이는 둘다 프로세스를 생성하지만 vfork()의 경우 일단 같은 주소공간을 가르킨다. execl은 기존에 사용하던 프로세스의 주소공간을 모두 없애고 요청된 바이너리를 기반으로 새로운 주소 공간을 생성한다.그래서 fork()이후 execl()이 되었다면결국 fork() 때 수행되었던 부모 프로세스의 주소 공간을 복사하여 자식 프로세스의.. 2026. 2. 19.
나무정신 요즘 개인적으로 난독화 코드를 지속적으로 보다보니 멘탈이 약해지고 기초가 부족함을 느끼는 것 같다. windows 시스템 프로그래밍을 기초부터 다시 공부하고 리버싱의 핵심원리 책을 다시 봐야겠다. 정신 차려보자 ㅋㅋ... 나무정신 2025. 6. 13.