WIN
Microsoft Windows (WIN) - 마이크로소프트 윈도우
프로그램에서 사용되는 Microsoft Windows API와 관련된 내용을 다루는 카테고리입니다.
강제로 실행을 종료하지 말 것과 같은 프로그램의 안전성과 신뢰성을 높이기 위해 지켜져야 하는 규칙이 포함되어 있습니다.
Rule Number |
Rule Definition | 설명 |
WIN01-C | 강제로 실행을 종료하지 마세요. | 소프트웨어 개발 및 시스템 운영에서 중요한 원칙 중 하나로, 프로그램이나 프로세스의 실행을 강제로 중단하는 것이 시스템의 안정성이나 데이터 무결성에 부정적인 영향을 미칠 수 있음을 강조합니다. 강제 종료는 다음과 같은 문제를 일으킬 수 있습니다: 1. 데이터 손실 : 실행 중인 프로세스가 데이터를 처리하고 있을 때 강제로 종료하면, 데이터가 손실되거나 손상될 수 있습니다. 2. 시스템 불안정성 : 프로세스가 비정상적으로 종료되면, 시스템의 다른 부분에 영향을 미쳐 불안정성을 초래할 수 있습니다. 3. 리소스 누수 : 강제 종료로 인해 할당된 리소스(메모리, 파일 핸들 등)가 해제되지 않아 리소스 누수가 발생할 수 있습니다. 따라서, 프로세스를 종료해야 할 경우에는 정상적인 종료 절차를 따르는 것이 중요합니다. 이를 통해 시스템의 안정성과 데이터 무결성을 유지할 수 있습니다. |
WIN02-C | 자식 프로세스를 생성할 때 권한을 제한하라. | 규칙의 목적은 보안 취약점을 줄이고 시스템의 안전성을 높이는 것입니다. 자식 프로세스는 부모 프로세스의 권한을 상속받기 때문에, 부모 프로세스가 높은 권한을 가지고 있을 경우, 자식 프로세스도 그 권한을 가지게 됩니다. 만약 자식 프로세스가 악의적인 코드나 취약점을 포함하고 있다면, 높은 권한을 통해 시스템에 심각한 피해를 줄 수 있습니다. 따라서, 자식 프로세스를 생성할 때는 필요한 최소한의 권한만을 부여하고, 불필요한 권한은 제거하는 것이 중요합니다. 이를 통해 공격자가 시스템에 접근할 수 있는 경로를 줄이고, 보안을 강화할 수 있습니다. |
WIN03-C | Windows 프로그래밍에서 HANDLE 상속을 이해합니다. | 프로세스가 자식 프로세스를 생성할 때, 부모 프로세스의 핸들이 자식 프로세스에 상속될 수 있다는 점을 설명합니다. 핸들은 시스템 리소스(예: 파일, 소켓, 이벤트 등)에 대한 참조를 나타내며, 상속된 핸들은 자식 프로세스에서도 사용할 수 있습니다. 핸들 상속은 다음과 같은 중요한 사항을 포함합니다. 1. 상속의 기본 원리 : 부모 프로세스가 생성한 핸들은 기본적으로 자식 프로세스에 상속됩니다. 그러나 특정 핸들은 상속되지 않도록 설정할 수 있습니다. 2. 보안 고려사항 : 핸들이 상속되면 자식 프로세스가 부모 프로세스의 리소스에 접근할 수 있게 되므로, 보안상의 위험이 발생할 수 있습니다. 따라서 필요한 경우 핸들을 상속하지 않도록 설정하는 것이 중요합니다. 3. 핸들 상속 제어 : 핸들의 상속 여부는 CreateProcess 함수의 bInheritHandles 매개변수를 통해 제어할 수 있습니다. 이 매개변수를 TRUE로 설정하면 핸들이 상속되고, FALSE로 설정하면 상속되지 않습니다. 4. 상속된 핸들의 사용: 자식 프로세스에서 상속된 핸들을 사용할 때는 부모 프로세스와의 동기화 및 리소스 관리에 주의해야 합니다. |
WIN04-C | 함수 포인터를 암호화하는 것을 고려하세요. | 함수 포인터는 프로그램에서 특정 함수의 주소를 저장하는 포인터로, 이를 통해 동적으로 함수를 호출할 수 있습니다. 그러나 악의적인 공격자가 이러한 함수 포인터를 조작하면, 프로그램의 흐름을 변경하거나 원하지 않는 코드를 실행할 수 있습니다. 따라서 함수 포인터를 암호화하면, 공격자가 함수 포인터의 값을 쉽게 알아내거나 변경하는 것을 어렵게 만들어 보안을 강화할 수 있습니다. 이 규칙은 특히 신뢰할 수 없는 입력을 처리하거나 보안이 중요한 애플리케이션에서 유용합니다. 요약하자면, 함수 포인터의 보안을 강화하기 위해 암호화를 고려하라는 권장 사항입니다. |
728x90
'소프트웨어 개발(SW Dev) > Rule(CERT C)' 카테고리의 다른 글
CERT-C와 MISRA-C 규칙 간 관계 (0) | 2025.04.15 |
---|---|
CERT C - POS 규칙 목록 (0) | 2024.11.22 |
CERT C - API 규칙 목록 (0) | 2024.11.21 |
CERT C - MSC 규칙 목록 (2) | 2024.11.20 |
CERT C - CON 규칙 목록 (0) | 2024.11.18 |
댓글