본문 바로가기
소프트웨어 개발(SW Dev)/Rule(CERT C)

CERT C - CON 규칙 목록

by flowhistory 2024. 11. 18.

CON

Concurrency (CON) - 동시성
프로그램에서 발생하는 동시성(concurrency)과 관련된 내용을 다루는 카테고리입니다.
여러 스레드에서 비트 필드에 접근할 때 데이터 경합을 방지할 것과 같은 프로그램의 동시성과 안전성을 높이기 위해 지켜져야 하는 규칙이 포함되어 있습니다.

 

Rule
Number
Rule Definition 설명
CON33-C 라이브러리 함수를 사용할 때 경쟁 상태(race condition)을 피해라 다중 스레드 환경에서 표준 C 라이브러리 함수를 사용할 때 발생할 수 있는 경쟁 상태(race condition)를 피하는 것을 목표로 합니다.
 
다중 스레드 환경에서 사용할 때 주의해야 하는 몇 가지 표준 C 라이브러리 함수들은 다음과 같습니다:
 
strtok() asctime():
이 함수들은 각각 프로세스별로 함수가 할당한 메모리에 저장된 결과에 대한 포인터를 반환합니다.
여러 스레드가 동일한 함수를 호출하면 경쟁 상태가 발생할 수 있으며, 비정상적인 동작이나 중대한 취약점 (: 비정상 종료, 서비스 거부 공격, 데이터 무결성 위반)이 발생할 수 있습니다.

rand() srand():
이 함수들은 프로세스별로 상태 정보를 함수가 할당한 메모리에 저장합니다.
여러 스레드가 동일한 함수를 호출하면 이러한 상태 정보를 수정하면서 경쟁 상태(race condition)가 발생할 수 있습니다.
728x90

'소프트웨어 개발(SW Dev) > Rule(CERT C)' 카테고리의 다른 글

CERT C - API 규칙 목록  (0) 2024.11.21
CERT C - MSC 규칙 목록  (2) 2024.11.20
CERT C - ERR 규칙 목록  (0) 2024.11.17
CERT C - SIG 규칙 목  (0) 2024.11.16
CERT C - ENV 규칙 목록  (0) 2024.11.15

댓글