반응형
https://www.kisa.or.kr/public/laws/laws3.jsp
구현 단계 시큐어코딩 가이드 - 보안 기능 - 중요한 자원에 대한 잘못된 권한 설정
가. 개요
- SW가 중요한 보안 관련 자원에 대하여 읽기 또는 수정하기 권한을 의도하지 않게 허가할 경우, 권한을 갖지 않은 사용자가 해당 자원을 사용하게 된다.
나. 보안대책
- 설정파일, 실행파일, 라이브러리 등은 SW 관리자에 의해서만 읽고 쓰기가 가능하도록 설정하고 설정 파일과 같이 중요한 자원을 사용하는 경우, 허가받지 않은 사용자가 중요한 자원에 접근 가능 한지 검사한다.
다. 코드예제
JAVA
더보기
"/home/setup/system.ini" 파일에 대해 모든 사용자가 읽고, 쓰고, 실행할 수 있도록 권한을 부여하고 있다.
- setExecutable(p1, p2) : 첫 번째 파라미터의 true/false 값에 따라 실행가능 여부를 결정한다. 두 번째 파라미터가 true 일 경우 소유자만 실행 권한을 가지며, false 일 경우 모든 사용자가 실행 권한을 가진다.
- setReadable(p1, p2) : 첫 번째 파라미터의 true/false 값에 따라 읽기가능 여부를 결정한다. 두 번째 파라미터가 true 일 경우 소유자만 읽기권한을 가지며, false 일 경우 모든 사용자가 읽기 권한을 가진다.
- setWritable(p1, p2) : 첫 번째 파라미터의 true/false 값에 따라 쓰기가능 여부를 결정한다. 두 번째 파라미터가 true 일 경우 소유자만 쓰기권한을 가지며, false 일 경우 모든 사용자가 쓰기 권한을 가진다.
파일에 대해서는 최소 권한을 할당해야 한다. 즉 해당 파일의 소유자에게만 읽기 권한을 부여한다.
- setExecutable(p1) : 파라미터의 true/false 값에 따라 소유자의 실행권한 여부를 결정한다.
- setReadable(p1) : 파라미터의 true/false 값에 따라 소유자의 읽기권한 여부를 결정한다.
- setWritable(p1) : 파라미터의 true/false 값에 따라 소유자의 쓰기권한 여부를 결정한다
C#
더보기
아래의 C# 코드는 모든 사용자에게 파일의 권한을 부여하고 있다.
적절한 권한을 파일에 설정해야 한다.
C
더보기
모든 사용자에게 권한을 부여하는 C 코드의 예제이다.
umask()를 사용하여 권한 설정을 할 때, 올바른 권한을 설정해야 합니다.
참고자료
- CWE-732 Incorrect Permission Assignment for Critical Resource, MITRE,
http://cwe.mitre.org/data/definitions/732.html - Create files with appropriate access permissions, CERT,
http://www.securecoding.cert.org/confluence/display/c/FIO06-C.+Create+files+with+appropriate+access+permissions
반응형
'공부 > KISA' 카테고리의 다른 글
중요정보 평문저장 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
---|---|
취약한 암호화 알고리즘 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
부적절한 인가 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
적절한 인증 없는 중요기능 허용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
포맷 스트링 삽입 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
댓글