22-2학기 (SISS)/시스템해킹(4)
-
시스템 해킹_4주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 4주차 (9/26 ~ 10/2) : STAGE 6 STAGE 6 : Stack Canary 1. Stack Canary [Mitigation : Stack Canary] 1. 들어가며 스택 버퍼 오버플로우로부터 반환 주소를 보호하는 스택 카나리에 대해 배울 것임 2. 카나리의 작동 원리 1) 카나리 정적 분석 -카나리 비활성화 : Ubuntu 18.04의 gcc는 스택 카나리를 적용하여 바이너리를 컴파일한다. 컴파일 옵션으로 -fno-stack-protector옵션을 추가하면 카나리 없이 컴파일할 수 있다. 2) 카나리 정적 분석 | 카나리 ..
2022.09.30 -
시스템해킹_3주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 3주차 (9/19 ~ 9/25) : STAGE 5 STAGE 5 : Stack Buffer Overflow 1. Calling Convention [Background : Calling Convention] 1. 서론 1) 함수 호출 규약 -함수 호출 규약 : 함수의 호출 및 반환에 대한 약속이다. 함수를 호출할 때는 반환된 이후를 위해 호출자(caller)의 상태(stack frame) 및 반환 주소(return address)를 저장해야 한다. 또한, 호출자는 피호출자(callee)가 요구하는 인자를 전달해줘야 하며, 피호출자의 실행이 종..
2022.09.23 -
시스템해킹_2주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 2주차 (9/12 ~ 9/18) : STAGE 3, 4 STAGE 3 : Tool Installation [Tool : gdb] 1. 서론 컴퓨터 과학에서는 실수로 발생한 프로그램의 결함을 버그 (bug)라고 한다. 그런데 이미 완성된 코드에서 버그를 찾는 것은 어렵다. 그래서 이런 어려움을 해소하고자 디버거 (Debugger)라는 도구가 개발되었다. 디버거는 버그를 없애기 위해 사용되는 도구로, 프로그램을 어셈블리 코드 단위로 실행하면서, 실행결과를 사용자에게 보여준다. 그런데 이러한 디버거의 효용을 개발자만 얻는 것이 아니라, 해커, 리버..
2022.09.22 -
시스템해킹_1주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 1주차 (9/5 ~ 9/11) : STAGE 1, 2 STAGE1 : System Hacking Introduction 1. 소개 [Welcome Hackers] C언어와 파이썬에 대한 기본적인 이해를 갖고 있어야 한다. 소프트웨어에서 발생할 수 있는 대부분의 취약점 및 이를 공격하는 방법을 총 40코드에 걸쳐 배울 것이다. 2. 리눅스 환경 구축 [Tool: Environment Setup] 1. 환경 구축 1) 실습 환경 Ubuntu 18.04(x86-64)를 기반으로 작성됐다. 이를 위해 가상 머신(Virtual Machie, VM)을 ..
2022.09.11