__security_init_cookie__security_init_cookie

전역 보안 쿠키를 초기화합니다.Initializes the global security cookie.

구문Syntax

void __security_init_cookie(void);

설명Remarks

전역 보안 쿠키는 /GS(버퍼 보안 검사)를 사용하여 컴파일된 코드와 예외 처리를 사용하는 코드에서 버퍼 오버런을 방지하는 데 사용됩니다.The global security cookie is used for buffer overrun protection in code compiled with /GS (Buffer Security Check) and in code that uses exception handling. 오버런 방지 함수로 진입 시 쿠키가 스택에 배치되며 해당 함수 종료 시 스택의 값을 전역 쿠키와 비교합니다.On entry to an overrun-protected function, the cookie is put on the stack, and on exit, the value on the stack is compared with the global cookie. 쿠키의 값이 서로 다르면 버퍼 오버런이 발생한 것이며 프로그램이 즉시 종료됩니다.Any difference between them indicates that a buffer overrun has occurred and causes immediate termination of the program.

일반적으로 __security_init_cookie 는 초기화 될 때 CRT에 의해 호출 됩니다.Normally, __security_init_cookie is called by the CRT when it is initialized. CRT 초기화를 무시 하는 경우 (예: /entry 를 사용 하 여 진입점을 지정 하는 경우)에는 __security_init_am_l 을 직접 호출 해야 합니다.If you bypass CRT initialization—for example, if you use /ENTRY to specify an entry-point—then you must call __security_init_cookie yourself. __Security_init_cookie 를 호출 하지 않으면 전역 보안 쿠키가 기본값으로 설정 되며 버퍼 오버런 방지가 손상 됩니다.If __security_init_cookie is not called, the global security cookie is set to a default value and buffer overrun protection is compromised. 공격자는이 기본 쿠키 값을 악용 하 여 버퍼 오버런 검사를 쉽게 수행할 수 있으므로 사용자 고유의 진입점을 정의할 때 항상 __security_init_cookie 를 호출 하는 것이 좋습니다.Because an attacker can exploit this default cookie value to defeat the buffer overrun checks, we recommend that you always call __security_init_cookie when you define your own entry point.

모든 오버런 방지 함수를 입력 하기 전에 __security_init_stn_ss 를 호출 해야 합니다. 그렇지 않으면 의사 버퍼 오버런이 검색 됩니다.The call to __security_init_cookie must be made before any overrun-protected function is entered; otherwise a spurious buffer overrun will be detected. 자세한 내용은 C 런타임 오류 R6035를 참조하세요.For more information, see C Runtime Error R6035.

예제Example

C 런타임 오류 R6035의 예제를 참조하세요.See the examples in C Runtime Error R6035.

요구 사항Requirements

루틴에서 반환된 값Routine 필수 헤더Required header
__security_init_cookie__security_init_cookie <process.h><process.h>

_ststststststststn_s 쿠키 는 표준 C 런타임 라이브러리에 대 한 Microsoft 확장입니다.__security_init_cookie is a Microsoft extension to the standard C Runtime Library. 호환성에 대한 내용은 호환성을 참조하세요.For compatibility information, see Compatibility.

참고자료See also

Microsoft 보안 대응 센터Microsoft Security Response Center