일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AINCAA
- 게임 개발
- Security
- pdlc
- MAC
- dirty cow
- 게임개발
- DP
- CTF
- 메카님
- frequency-domain spectrum analysis
- Unity #Indie Game
- 배경 그림
- STCF
- Double free
- MLFQ
- sampling theory
- 유니티
- 유스케이스
- 운영체제
- ret2libc
- 언리얼엔진
- linear difference equation
- dtft
- stride
- RBAC
- DSP
- TSet
- Rr
- Race condition
- Today
- Total
목록ROP (2)
다양한 기록
공격자는 system()을 쓰고 싶은데 libc에 없음..=> fork 다음 exec을 할 수 있음 공격자 입장- 악의적인 코드 주입, 라이브러리 함수 호출도 안하고, 본래 코드 조작도 안하고 임의의 연산을 하는 방법을 만들어보자-> ROP* 그러나 여전히 스택 내용은 변조해야 함 명령어의 조각을 찾아야 함명령어들의 순차 .. 각 sequence는 2~5개의 명령이고, return 으로 끝남시퀀스들이 체이닝되어 모여 가젯 (gadget)가젯은 특정한 일을 수행 (ex. 로드, 스토어, xor, branch)=> 가젯들을 결합하여 원하는 액션을 강제로 시퀀스들을 차례차례 실행하게 하고 싶으면 버퍼를 넘치게해서 각 시퀀스들의 시작 주소들을 넣으면 됨 ROP- 인스트럭션 시퀀스와 가젯의 관계- Instruct..
Ret2Libc의 기본 아이디어- 리턴 어드레스를 Libc의 함수 주소로 덮어쓰는 것- 코드 주입 대신 이미 존재하는 코드를 이용- 프로세스의 메모리 이미지 구성1. 쓰기 가능한 메모리 영역 (ex. 스택, 데이터, 힙)2. 실행 가능한 메모리 영역 (ex. 코드 세그먼트, 연결된 시스템 라이브러리) Libc- 모든 유닉스, 리눅스 계열의 프로그램에 링크됨- 시스템 콜이나 다른 기능들 들고 있음 .. ex. system()ROP (Return-Oriented Programming)기본적인 Ret2Libc는 두 함수를 체인했음 (system, exit)이 기법을 일반화 시킨 것- 무한히 코드 청크를 연결 가능방어 기법ASLRCFI (Control-flow integrity) Ret2Libc는 NX 비트를 ..