15.5. GCC를 사용하여 코드 강화


컴파일러가 소스 코드를 개체 코드로 변환할 때 일반적으로 악용되는 상황을 방지하기 위해 다양한 검사를 추가하여 보안을 강화할 수 있습니다. 올바른 컴파일러 옵션 세트를 선택하면 소스 코드를 변경하지 않고도 보다 안전한 프로그램 및 라이브러리를 생성하는 데 도움이 될 수 있습니다.

릴리스 버전 옵션

다음은 Red Hat Enterprise Linux를 대상으로 하는 개발자에게 최소 권장 옵션 목록입니다.

$ gcc ... -O2 -g -Wall -Wl,-z,now,-z,relro -fstack-protector-strong -D_FORTIFY_SOURCE=2 ...
  • 프로그램의 경우 -fPIE-pie Position Independent Executable 옵션을 추가합니다.
  • 동적으로 연결된 라이브러리의 경우 필수 -fPIC (Position Independent Code) 옵션은 간접적으로 보안을 강화합니다.

개발 옵션

다음 옵션을 사용하여 개발 중 보안 결함을 탐지하는 것이 좋습니다. 릴리스 버전 옵션과 함께 다음 옵션을 사용합니다.

$ gcc ... -Walloc-zero -Walloca-larger-than -Wextra -Wformat-security -Wvla-larger-than ...

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.