일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- DLL 사이드로딩
- 논문리뷰
- h4ckinggame
- 세마포어
- 코드엔진
- 리버싱
- BoB 12기 최종합격 후기
- cve-2022-26923
- 디지털 포렌식 전문가 2급
- Active Directory
- Best of the Best
- 정보보안기사
- race condition
- 디지털 포렌식 트랙
- 뮤텍스
- bob
- 정보기
- BoB 12기
- malware
- 필기
- CodeEngn
- 디포전
- dll side-loading
- 디포전 2급
- 프로그래머스
- cve-2024-6387
- Today
- Total
목록Security/System (4)
SEO

최근 CS 지식과 기초 보안 개념을 다시 점검할 기회가 있었습니다.정말 부끄럽게도, 원리나 세부적인 내용을 깊이 있게 이해하지 못한 채 단순히 정의만 알고 있는 경우가 많았습니다.그동안 공부한 시간이 적지 않은데도 기본적인 개념조차 헷갈려하는 제 모습을 보며 반성 많이 했습니다. 하하아무튼! 앞으로 같은 실수를 반복하지 않기 위해 이제부터라도 관련 개념들을 제대로 정리해보려고 합니다..! Race Condition이란?여러 개의 스레드(또는 프로세스)가 공유 자원에 접근할 때 실행 순서에 따라 예상치 못한 결과가 발생하는 현상입니다. Race Condition 문제 상황현재 상황 : 은행 계좌에 100원의 잔고가 존재하며, 동시에 스레드 1과 2가 실행됨정상 동작 : 잔고 20원이 남아야 함스레드 1 :..

멀티스레딩 환경에서 동적 메모리 할당의 변화멀티스레딩 환경에서 효율적인 동적 메모리 할당은 성능에 중요한 영향을 미칩니다. 리눅스 초기에는 dlmalloc이라는 메모리 할당자를 사용했지만, 이후에 멀티스레딩 성능을 개선한 ptmalloc2로 대체되었습니다. 1. dlmallocdlmalloc은 리눅스 초창기에 사용된 기본 메모리 할당자입니다.여러 스레드가 동시에 malloc 함수를 호출하면, freelist라는 데이터 구조를 공유합니다.freelist : 사용 가능한 메모리 블록들의 목록이 과정에서 하나의 스레드만 임계 영역에 진입하여 메모리를 할당받을 수 있으므로, 다른 스레드는 대기해야 합니다.이러한 동작 방식은 멀티스레딩 환경에서 병목현상을 초래하고, 성능 저하로 이어지게 됩니다.2. ptmallo..
Unsorted Bin이란?ptmalloc2는 여러 종류의 빈(bin)을 사용하여 메모리를 효율적으로 관리합니다. 그 중에서 Unsorted Bin은 해제된 청크들이 초기 상태에서 들어가는 곳입니다. 이 곳에 들어간 청크는 크기가 정렬되지 않으며, 다시 할당될 때까지 대기하는 상태에 있습니다. malloc() 함수가 메모리를 할당할 때, 만약 요청된 크기에 맞는 청크가 Unsorted Bin에 있다면, 이 청크를 재사용하게 됩니다. Unsorted Bin에 첫 연결되는 청크의 특성Unsorted Bin에 처음 연결되는 청크는 몇 가지 중요한 특징을 가집니다.이중 원형 연결 리스트ptmalloc2는 이중 원형 연결 리스트를 사용하여 해제된 청크들을 관리합니다. 첫 번째로 Unsorted Bin에 들어간 청..
Use-After-Free(UAF) 취약점 개념 정리Use-After-Free(UAF)는 프로그램이 메모리에서 해제된 객체를 참조하려고 시도할 때 발생하는 심각한 메모리 취약점 중 하나입니다. 이 문제는 메모리 관리 오류에서 비롯되며, 주로 C와 같은 수동 메모리 관리 언어에서 발생합니다. UAF 취약점은 악의적인 공격자가 이를 악용해 임의 코드를 실행하거나 시스템을 손상시킬 수 있는 가능성을 제공합니다. UAF 취약점의 동작 원리UAF 취약점은 일반적으로 다음 단계를 통해 발생합니다:메모리 할당: 프로그램이 객체를 생성하고 메모리를 할당합니다.메모리 해제: 해당 객체가 더 이상 필요하지 않을 때 메모리를 해제합니다.해제된 메모리 접근: 해제된 메모리 주소를 여전히 참조하거나 사용하려는 시도가 발생합니다..