본문 바로가기

gcc

(2)
relro,Stack Canary 방어 Linux 의 memory 보안을 위한 설정 relro GCC의 compile option을 통해서 relro ( Relocation Read-Only )공격, GOT overwirte을 막기 위한 option을 제공합니다.컴파일 옵션에 아래와 같이 적어주면 됩니다.gcc -Wl,-z,relro,-z,now 해당 사항을 조치하고 나서 테스트 하기 위해서는 아래 링크의 security check script 를 사용하여 확인 가능합니다. https://github.com/slimm609/checksec.sh # ../checksec.sh –file full_test Stack Canary, Terminator canaries, Null Canary...stack 공격을 막기 위해서는 stack 가드 활성화..
C++ 11과 C++ 99 를 동시에 지원하기 위해서 feature를 구분할 때 유용한 팁 어떻게 compiler version 에 따라 API 지원 피쳐를 구분해서 제공할까 고민하다가 compiler 를 변경해가면서 직접 값을 정리해봤습니다.예를 들면,c++11 부터 지원하기 시작한 매우 유용한 feature들이 있습니다.1. final, override keyword 2. class 선언부에서 변수 초기화 하는것 이러다 보니, c++11로 개발하고 c++99 용 모듈에서도 사용할 수 있게 할 수 없을까?하는 아이디어( 요구사항)이 있었습니다. 사실 개발은 c++11로 하고 싶었거든요.아니면 code를 다시 다 걷어내거나 내부 로직에서 사용하고 있는 auto, lamda등을 다 걷어내야 하는 판국이라서 말이죠. 그래서 나온 아이디어가 이렇습니다. 1. 개발은 C++11로 한다.2. 다른 모듈..