일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nanite
- rpc
- os
- 유니티
- local prediction
- gameplay effect
- 게임개발
- Unreal Engine
- photon fusion2
- Multiplay
- 언리얼 엔진
- Replication
- ret2libc
- MAC
- gravity direction
- 언리얼엔진
- animation
- attribute
- CTF
- ability task
- gameplay ability system
- gameplay tag
- dirty cow
- 게임 개발
- unity
- map design
- gas
- UI
- listen server
- Aegis
Archives
- Today
- Total
Replicated
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 |