시스템 해킹/Lazenca 3

[Lazenca] Canaries

Canaries Canaries 또는 Canary word는 버퍼 오버 플로우를 모니터하기 위해 버퍼와 제어 데이터 사이에 설정된 값이다. 버퍼 오버플로가 발생하면 Canary 값이 손상되며, Canaries 데이터의 검증에 실패하여 오버플로에 대한 경고가 출력되고, 손상된 데이터를 무효화 처리한다. Types of canaries Terminator canaries Terminator Canaries는 Canary의 값을 문자열의 끝을 나타내는 문자들을 이용해 생성한다. Terminator Canaries의 값은 NULL(0x00), CR(0x0d), LF(0x0a) 및 EOF(0xff)로 구성됨. 공격자는 canaries를 우회하기 위해 return address를 쓰기 전에 null 문자를 써야 한..

[Lazenca] ASLR

Protection Tech ASLR ASLR이란? 메모리 손상 취약점 공격을 방지 하기 위한 기술. 스택, 힙, 라이브러리 등의 주소를 랜덤한 영역에 배치하며, 공격에 필요한 Target address를 예측하기 어렵게 만듦. 프로그램이 실행될 때마다 각 주소들이 변경됨. 예를 들어 return-to-libc 공격을 하기 위해서는 공유 라이브러리에서 사용하려는 함수의 주소를 알아야 하는데, ASLR이 적용되면 프로그램이 호출될 때마다 스택, 힙, 라이브러리 영역의 주소가 변경되어 공격에 어려워짐. Set ASLR echo 0 > /proc/sys/kernel/randomize_va_space option 0 : ASLR 해제 1 : 랜덤 스택 & 랜덤 라이브러리 설정 2 : 랜덤 스택 & 랜덤 라이브러..

NX bit

Protection Tech 01.NX Bit(MX : DEP) NX Bit(MS : DEP) 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기술 NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그 곳에 상주하지 않음으로써 실행되지 않도록 만들어 줌. DEP 마이크로소프트 윈도우 운영 체제에 포함된 보안 기능 악의적인 코드가 실행되는 것을 방지하기 위해 메모리를 추가로 확인하는 하드웨어 및 소프트웨어 기술 DEP는 두 가지 모드로 실행된다. 1. 하드웨어 DEP : 메모리에 명시적으로 실행 코드가 포함되어 있는 경우를 제외하고 프로세스의 모든 메모리 위치에서 실행할 수 없도록 표시 대부분의 최신 프로세서는 하드웨어 적용 ..