Security/pwnable (2) 썸네일형 리스트형 Stack Canary Stack Cancary : Stack overflow를 막기 위한 메모리 보호 기법 Buffer와 SFP 사이에 랜덤한 4byte 또는 8byte의 Canary 값을 삽입 SFP와 RET 값이 변조 되는 것을 막아 Exploit을 하지 못하도록 함 Memory 보호 과정 함수 진입시 Canary 값을 설정 함수 종료시 변조 되었는지 확인 Canary 값이 변조 되었을 경우 ⇒ __stack_check_fail 함수 → 강제 종료 Compile option Canary 해제 : -fno-stack-protector Canary 설정 : -fstack-protector 우회 방법 (Bypass) 1. Memory leak 해당 Buffer를 출력할 수 있다면 Buffer를 Canary 전까지 채워서 Can.. 1. 취약점이란? 익스플로잇(exploit) : 취약점을 이용해 공격자가 의도한 동작을 수행하게 하는 코드 혹은 이를 이용한 공격 행위. 소프트웨어 버그 보안에 영향을 미치는 정도에 따라 4가지로 분류함 소프트웨어 버그(Bug) 프로그래머가 의도하지 않은 동작을 수행 소프트웨어 취약점(Vulnerability) 보안에 영향을 미칠 수 있는 버그 익스플로잇 가능한 취약점(Exploitable Vulnerability) 공격자가 의도한 동작을 수행할 수 있는 버그 안정적으로 익스플로잇 가능한 취약점 (Reliably Exploitable Vulnerability) 익스플로잇이 가능한 취약점 중 매우 높은 확률로 공격에 성공할 수 있는 버그 Attack Vector 모든 소프트웨어의 취약점은 소프트웨어와 공격자가 상호작용 하는.. 이전 1 다음