일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ability task
- photon fusion2
- 유스케이스
- Unreal Engine
- DP
- 게임 개발
- ret2libc
- Delegate
- gameplay ability system
- DSP
- 운영체제
- 게임개발
- gameplay effect
- Race condition
- Rr
- 언리얼 엔진
- unity
- animation
- Replication
- MAC
- 유니티
- CTF
- 메카님
- Multiplay
- stride
- dirty cow
- gas
- 언리얼엔진
- MLFQ
- Security
Archives
- Today
- Total
Replicated
Dirty COW #1 Copy-on-Write 본문
Copy-on-Write
부모와 자식 프로세스가 초기엔 메모리의 같은 페이지 프레임을 공유할 수 있게 함 (* 페이지 테이블 관련 내용은 운영체제 카테고리 참조)
이유:
보통 프로세스들은 fork 이후 exec해서 다른 프로그램이 됨
=> 굳이 쓰지도 않을 메모리를 복제하면 낭비니까 일단 부모 자식 간 프레임 공유를 시킴
처음엔 공유 시키고, Write 시 복제를 함 (copy on write)
물론 각각 PCB 따로 가지니까 페이지 테이블은 각각 가지지만,
페이지 테이블 엔트리가 가리키는 페이지 프레임이 공유됨
1. 부모 프로세스와 자식 프로세스는 둘 다 일단 read-only로 마크됨
- read시에는 아무 상관 없음
2. 자식 프로세스가 write 요청
- Protection fault 발생 -> 커널이 페이지 프레임을 카피하고, 페이지 테이블에 매핑 시킴
이전 게시글까지는 주로 공격 대상이 루트 소유 setuid 프로그램이었음
더티 카우는 COW와 관련된 커널의 취약점을 이용해서 권한을 상승
'운영체제보안' 카테고리의 다른 글
Dirty COW #3 Exploit (0) | 2024.12.06 |
---|---|
Dirty COW #2 mmap(), madvise() (0) | 2024.12.06 |
ToCTToU (Time of Check-to-Time of Use) Vulnerability (0) | 2024.12.06 |
Race Condition Problem (0) | 2024.12.06 |
Return-Oriented Programming (ROP) (0) | 2024.12.06 |