🔐 소프트웨어 개발 보안 구축 #10 - 시간 및 상태
2020. 7. 14. 16:59ㆍ컴퓨터언어/소프트웨어공학
728x90
반응형
👍 시간 및 상태란?
시간 및 상태는 동시 수행을 지원하는 병렬처리 시스템이나 다수의 프로세스가 동작하는 환경에서, 시간과 실행 상태를 관리하여 시스템이 원활하게 동작되도록 하기 위한 보안검증항목을 말한다.
다음은 시간 및 상태의 점검 미비로 발생할 수 있는 보안약점이다.
TOCTOU 경쟁조건 (Time Of Check, Time Of Use) |
❗️ 검사시점과 사용시점의 격차를 고려하지 않고 코딩한다면, 사용이 가능했던 자원이 사용할 수 없게 되거나, 프로세스가 가진 자원 정보가 실제 자원 상태와 일치하지 않는 동기화 오류, 교착상태 등이 발생하는 현상 ✅ 코드 내에 동기화 구문을 사용하여 해당 자원에는 한 번에 하나의 프로세스만 접근 가능하도록 구성함으로써 방지. 단, 동기화 구문은 성능감소를 동반하기 때문에, 반드시 필요한 부분에 한정하여 사용해야 한다. |
종료되지 않는 반복문 또는 재귀함수 | ❗️ 반복문이나 재귀함수에서 종료 조건을 정의하지 않았거나 논리 구조상 종료될 수 없는 경우, 시스템 자원이 끊임없이 사용되어 자원고갈로 인한 서비스 장애 또는 시스템 장애가 발생하는 현상 ✅ 모든 반복문이나 재귀함수의 수행 횟수를 제한하는 설정을 추가하거, 종료 조건을 점검하여 반복 또는 호출의 종료 여부를 확인함으로써 방지 |
728x90
반응형
'컴퓨터언어 > 소프트웨어공학' 카테고리의 다른 글
🗝 시스템 보안 구축 #2 - 서버인증 (0) | 2020.07.15 |
---|---|
🗝 시스템 보안 구축 #1 - 서비스 공격 (0) | 2020.07.15 |
🔐 소프트웨어 개발 보안 구축 #9 - API 오용 (0) | 2020.07.14 |
🔐 소프트웨어 개발 보안 구축 #8 - 캡슐화 (0) | 2020.07.14 |
🔐 소프트웨어 개발 보안 구축 #7 - 코드오류 (0) | 2020.07.14 |