2025/05 10

[소프트웨어 보안] 퀴즈: Dirty COW 경쟁 조건 공격

1. Dirty COW(Copy-On-Write) 취약점에 대한 설명으로 옳은 것은?(1) 쓰기 작업이 발생하면 즉시 메모리 복사본이 생성되며 보호된다.(2) MAP_SHARED로 메모리 매핑 시 개인 복사본이 생성되어야 한다.(3) COW는 A, B, C 단계가 atomic하게 수행되므로 race condition이 없다.(4) madvise() 호출로 페이지 테이블이 원래 매핑된 메모리를 다시 가리킬 수 있다. 더보기정답: (4) madvise() 호출로 페이지 테이블이 원래 매핑된 메모리를 다시 가리킬 수 있다.해설:(1) X 쓰기 작업 시 즉시 복사본이 생성되지 않음. 쓰기 요청이 있을 때만 복사본을 만들며, 이때 race condition이 발생할 수 있음.(2) X MAP_SHARED는 메모리..

[소프트웨어 보안] 9주차: 퀴즈zz

Q1. 다음 중 TOCTTOU(Time-Of-Check To Time-Of-Use) 공격을 성공시키기 위한 공격자의 전략으로 옳은 것은?1. 파일을 열기 전에 파일의 inode 번호를 변경한다.2. 취약한 프로그램이 파일을 열기 전에 심볼릭 링크를 빠르게 바꾼다.3. 파일에 대한 읽기 권한을 root에서 일반 사용자로 바꾼다.4. setuid() 시스템 호출을 사용하여 파일을 복호화한다. 더보기정답: 2→ TOCTTOU 공격은 check()와 use() 사이에 링크 등을 바꾸는 타이밍 공격임. Q2. O/X 퀴즈 (1) Set-UID 프로그램에서 access()와 open() 사이에 심볼릭 링크가 변경되더라도, open()은 항상 안전하게 보호된 파일만 연다.(2) 경쟁 조건(Race Condition)..

[소프트웨어 보안] 8주차: 버퍼 오버플로우 퀴즈

1. 다음 중 StackGuard에 대한 설명으로 옳은 것은?(1) Stack 영역을 실행 불가능하게 만드는 하드웨어 기능이다.(2) 스택에 삽입된 canary 값을 함수 종료 시 검사하여 스택 변조 여부를 판단한다.(3) getuid()를 0으로 설정하여 setuid 우회를 수행하는 기법이다.(4) 셸코드 내에서 /bin/sh 경로를 문자열로 제공하지 않아도 된다. 더보기정답: (2) 스택에 삽입된 canary 값을 함수 종료 시 검사하여 스택 변조 여부를 판단한다. 관련 내용:StackGuard는 스택 기반 버퍼 오버플로우를 방지하기 위한 컴파일러 기반 보안 기법이다.함수 시작 시, 리턴 주소와 버퍼 사이에 canary(카나리)라 불리는 임의의 값을 삽입한다.함수 종료 시, 이 값이 변경되었는지를 검..