System Security
-
[Linux Exploitation & Mitigation]-ASLR / PLT,GOTSystem Security/dreamhack 2021. 3. 16. 00:24
* 드림핵 공부한 후 정리한 내용이다. 1. ASLR Address Space Layout Randomization은 바이너리가 실행될 때마다 라이브러리, 힙, 스택 영역 등의 주소가 랜덤하게 바뀌도록 해 RTL처럼 고정된 주소값을 이용하는 공격을 막기 위한 메모리 보호 기법이다. aslr은 서버의 설정 파일에 의해 보호 기법 적용이 결정된다. 더보기 /proc/sys/kernel/randomize_va_space 를 확인해 적용 여부를 확인할 수 있다. 0 : 적용 x 1: 스택, 힙 메모리 랜덤화 2: 스택, 힙, 라이브러리 메모리 랜덤화 aslr을 적용시켜 스택, 힙 , 라이브러리 메모리 주소는 랜덤화 시킬 수 있지만 코드 영역의 주소는 변하지 않는다. 이를 이용해 aslr 보호 기법을 우회해 익스..
-
[Linux Exploitation & Mitigation] NX bit / RTLSystem Security/dreamhack 2021. 3. 15. 15:12
* 드림핵 공부한 후 정리한 내용이다. 1. NX bit의 등장 return addr overwrite과 nop sled 에서는 버퍼 오버플로우 취약점을 이용해 스택에 쉘코드를 넣어 해당 쉘코드가 실행될 수 있도록 실행 흐름을 조작하는 방법을 다뤘다. 하지만 일반적인 프로그램에서는 스택을 프로그램을 실행하는 용도로 사용하지 않고 일시적으로 데이터를 읽고 쓰는 데 사용되기 때문에 실행권한이 필요하지 않다. 따라서 공격을 어렵게하기 위하여 메모리에 대해 쓰고 읽는 권한을 주지 않는 No-eXecute bit (NX bit)가 등장하였다. example2.c는 쉘코드를 데이터 영역에 저장한 후 실행시키는 예제이다. 서로 다른 컴파일 옵션을 통해 nx bit 보호 기법을 적용한 example2_nx 바이너리와,..
-
시스템 해킹 기초System Security/dreamhack 2021. 3. 9. 22:38
드림핵 system exploitation fundamental을 공부하고 정리한 내용이다. 1. 취약점의 분류 익스플로잇 : 악용; 취약점을 이용해 공격자가 의도한 동작을 수행하게 하는 코드 혹은 이를 공격한 공격 행위 소프트웨어 버그 분류 버그 : 프로그래머가 의도하지 않은 동작을 수행하는 소프트웨어 버그 취약점 : 그러한 버그 중 보안에 영향을 줄 수 있는 버그 익스플로잇 가능한 취약점 : 그러한 취약점 중 이를 이용해 공격자가 의도한 동작을 수행할 수 있는 버그 안정적으로 익스플로잇 가능한 취약점 : 매우 높은 확률로 공격에 성공할 수 있는 버그 모든 sw 취약점은 sw와 공격자가 상호작용하는 곳인 사용자의 입력 에서부터 발생한다. 공격자가 sw와 상호작용할 수 있는 곳을 attack vector..