티스토리챌린지7 CERT C - 규칙 목록 MEM Memory Management (MEM) - 메모리 관리 메모리 할당과 해제에 관련된 내용을 다루는 카테고리입니다. 동적 메모리 할당 시의 안전한 사용 방법과 메모리 누수 방지에 대한 규칙이 포함되어 있습니다. Rule NumberRule Definition설명MEM01-Cfree() 바로 뒤에 포인터에 새 값을 저장합니다.Dangling 포인터는 악용 가능한 double-free 및 access-freed 메모리 취약점으로 이어질 수 있습니다.Dangling 포인터를 제거하고 많은 메모리 관련 취약점을 방지하는 간단하면서도 효과적인 방법은 포인터가 해제된 후 포인터를 NULL로 설정하거나 다른 유효한 개체로 설정하는 것입니다.MEM30-C해제된 메모리에 액세스하지 마십시오.포인터 역참조, .. 2024. 11. 13. CERT C - STR 규칙 목록 STRCharacters and Strings (STR) - 문자와 문자열 문자열 조작에 관련된 내용을 다루는 카테고리입니다. 문자열 조작 함수의 안전한 사용과 버퍼 오버플로우(buffer overflow) 방지에 대한 규칙이 포함되어 있습니다. Rule NumberRule Definition설명STR03-C실수로 문자열을 자르지 마십시오.버퍼 오버플로 취약성을 완화하기 위해 복사된 바이트 수를 제한하는 대체 기능이 권장되는 경우가 많습니다. strncpy() instead of strcpy()strncat() instead of strcat()fgets() instead of gets()snprintf() instead of sprintf() 이러한 함수는 지정된 제한을 초과하는 문자열을 자릅니다... 2024. 11. 12. CERT C - ARR 규칙 목록 ARR Arrays (ARR) - 배열배열과 관련된 내용을 다루는 카테고리입니다. 배열의 안전한 사용을 위한 규칙이 포함되어 있습니다. Rule NumberRule Definition설명ARR02-C암시적으로 초기화된 경우라도 배열의 경계를 명시적으로 지정하라배열의 경계를 명시적으로 지정해야 합니다.암시적으로 초기화된 경우라도 배열의 경계를 벗어나지 않도록 주의해야 합니다.배열의 크기를 명시적으로 지정하는 측면에 초점을 두고 있습니다.ARR30-C배열의 인덱스가 유효한 범위 안에 있음을 보장하라배열의 인덱스가 유효한 범위 내에 있음을 확인해야 한다고 강조합니다.배열의 인덱스가 유효하지 않으면, 예를 들어 배열의 경계를 벗어난 경우, 정의되지 않은 동작이 발생할 수 있습니다.배열의 인덱스를 검사하여 유효.. 2024. 11. 11. CERT C - FLT 규칙 목록 FLP Floating Point (FLP) - 부동 소수점부동 소수점에 관한 내용을 다루는 카테고리입니다. 부동 소수점 변수를 루프 카운터로 사용하지 말 것과 같은 소수점 연산의 정확성과 안전성을 높이기 위해 지켜져야 하는 규칙이 포함되어 있습니다. RuleNumber Rule Definition 설명 FLP32-C수학(math) 함수의 도메인 및 범위 오류를 방지하거나 감지합니다.C 표준 7.12.1 [ISO/IEC 9899:2011]은 특히 의 수학 함수와 관련된 세 가지 유형의 오류를 정의합니다.- 입력 인수가 수학 함수가 정의된 도메인 외부에 있는 경우 도메인 오류가 발생합니다.- 유한 입력 인수가 극한에 접근할 때 수학 함수가 정확한 무한 결과를 갖는 경우 극점 오류(특이점 또는 무.. 2024. 11. 10. 이전 1 2 다음 728x90