[Dreamhack] Mitigation: Stack Canary
Hacking Tech/System Hacking
2022. 9. 4. 21:01
Mitigation: Stack Canary # 들어가며 Return Address Overwrite: 스택의 반환 주소(Return Address)를 조작하여 실행 흐름을 획득하는 공격 기법 스택 카나리(Canary): 스택 버퍼 오버플로우로부터 반환 주소를 보호 함수의 프롤로그에서 스택 버퍼와 반환 주소 사이에 임의의 값을 삽입하고, 함수의 에필로그에서 해당 값의 변조를 확인하는 보호 기법 카나리 값의 변조가 확인되면 프로세스는 강제로 종료됨 스택 버퍼 오버플로우 반환 주소를 덮으려면 반드시 카나리를 먼저 덮어야 하므로 카나리 값을 모르는 공격자는 반환 주소를 덮을 때 카나리 값을 변조하게 됨 → 에필로그에서 변조가 확인되어 공격자는 실행흐름을 획득하지 못함 # 카나리의 작동 원리 1. 카나리 정적 ..