일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- AINCAA
- pdlc
- MLFQ
- dirty cow
- Unity #Indie Game
- 운영체제
- Security
- MAC
- Race condition
- 유니티
- linear difference equation
- frequency-domain spectrum analysis
- 유스케이스
- DP
- CTF
- stride
- dtft
- DSP
- 게임 개발
- Rr
- TSet
- ret2libc
- 게임개발
- Double free
- RBAC
- 메카님
- 언리얼엔진
- 배경 그림
- sampling theory
- STCF
Archives
- Today
- Total
다양한 기록
Ret2Libc 정리 및 ROP 개념 본문
Ret2Libc의 기본 아이디어
- 리턴 어드레스를 Libc의 함수 주소로 덮어쓰는 것
- 코드 주입 대신 이미 존재하는 코드를 이용
- 프로세스의 메모리 이미지 구성
1. 쓰기 가능한 메모리 영역 (ex. 스택, 데이터, 힙)
2. 실행 가능한 메모리 영역 (ex. 코드 세그먼트, 연결된 시스템 라이브러리)
Libc
- 모든 유닉스, 리눅스 계열의 프로그램에 링크됨
- 시스템 콜이나 다른 기능들 들고 있음 .. ex. system()
ROP (Return-Oriented Programming)
기본적인 Ret2Libc는 두 함수를 체인했음 (system, exit)
이 기법을 일반화 시킨 것
- 무한히 코드 청크를 연결 가능
방어 기법
ASLR
CFI (Control-flow integrity)
Ret2Libc는 NX 비트를 우회함
'운영체제보안' 카테고리의 다른 글
Return-Oriented Programming (ROP) (0) | 2024.12.06 |
---|---|
Chaining Function Calls (without arguments) (0) | 2024.12.05 |
Ret2Libc - Func's Prologue & Epilogue (0) | 2024.12.05 |
Return-to-libc Attacks (Ret2Libc) / 실습 (0) | 2024.12.05 |
Heap Overflow with code reuse (0) | 2024.12.05 |