소프트웨어 진단원

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 중요자원 접근통제

가. 취약점 개요   사례3 : 부적절한 인가 프로그램이 모든 가능한 실행경로에 대해서 접근제어를 검사하지 않거나 불완전하게 검사하는 경우, 공격자는 접근 가능한 실행경로로 정보를 유출할 수 있는 취약점이다.   사례4 : 중요자원에 대한 잘못된 권한 설정 소프트웨어가 중요한 자원에 대하여 읽기, 수정 등의 권한을 의도하지 않게 허가할 경우 권한을 갖지 않은 사용자가 해당 자원을 사용하게 될 수 있는 취약점이다.    나. 설계시 고려사항 RBAC(Role Based Access Controll : 역할기반 접근제어) 모델을 사용하여 기업, 정부 등 다수의 사용자와 정보객체들로 구성된 조직체계에서 사용자에게 할당된 역할을 기반으로 권한을 부여하도록 설계한다.  접근제어목록(Access Control Li..

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 인증 수행 제한

가. 취약점 개요  로그인 시도에 대한 횟수를 검사하지 않으면 로그인 시도 횟수와 상관없이 지속적으로 로그인 시도가 이루어지는 비밀번호 무차별 대입 공격이 시도되어 계정정보가 노출될 수 있다.    나. 설계시 고려사항 ① 로그인 기능 구현 시, 인증시도 횟수를 제한하고, 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다. 로그인 시도횟수를 3~5번 이내로 제한하고 이를 초과하여 로그인에 실패하는 경우 추가 입력값을 요구하거나 계정 잠금을 수행하도록 다음과 같은 메커니즘으로 설계한다.계정정보 입력 시 자동입력방지 문자와 같은 장치를 마련하도록 설계한다. 보안문자 이미지 생성 및 입력값과 보안문자를 비교하기 위해 다음과 같은 서비스나 솔루션의 사용을 고려할 수 있다.    [테스트 문제] 문제: 보안대..

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 인증 대상 및 방식

가. 취약점 개요  중요기능이나 리소스를 요청하는 경우 인증이 되었는지를 먼저 확인하지 않고 요청을 처리하는 경우 중요 정보나 리소스가 노출될 수 있다.  나. 설계시 고려사항  ① 중요기능이나 리소스에 대해서는 인증 후 사용 정책이 적용되어야 한다. 분석단계에 분류된 중요기능에 대해 “인증 후 사용” 정책이 반드시 적용될 수 있도록 한다.각각의 중요기능에서 인증을 요청하도록 구현하는 것은 쉽지 않다. 시스템 설계시 중요기능을 분류 하고 식별된 중요기능에 대해 일괄적으로 인증을 요구하도록 시스템을 설계한다. 이 경우 직접적으로 기능과 인증을 매핑시켜 처리하는 컴포넌트를 개발하거나, 인증기능을 제공하는 프레임 워크 또는 라이브러리를 활용하여 중앙집중식 인증이 적용되도록 설계한다.  ② 안전한 인증방식을 사..

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 업로드·다운로드 파일 검증

가. 취약점 개요   사례1 : 위험한 형식 파일 업로드 서버 측에서 실행될 수 있는 스크립트 파일(asp, jsp, php 파일 등)을 업로드 가능하고, 이 파일을 공격자가 웹으로 직접 실행시킬 수 있는 경우 시스템 내부 명령어를 실행하거나 외부와 연결하여 시스템을 제어할 수 있게 된다.  사례2 : 경로조작 문자를 이용한 파일 다운로드 취약점외부입력값에 대해 경로 조작에 사용될 수 있는 문자를 필터링하지 않으면, 예상 밖의 접근제한 영역에 대한 경로 문자열 구성이 가능해져 시스템 정보누출, 서비스 장애 등을 유발할 수 있는 취약점이다.  사례3 : 무결성 검사 없는 코드 다운로드 원격으로부터 소스코드 또는 실행파일을 무결성 검사 없이 다운로드 받고 이를 실행할 경우, 호스트 서버의 변조, DNS 스푸..

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 보안기능 입력값 검증

가. 취약점 개요  사례1 : 보안기능 결정에 사용되는 부적절한 입력값 서버는 사용자가 전달하는 쿠키, 환경변수, 파라미터 등을 충분히 검증하지 않고 사용할 경우 공격자는 이에 포함된 사용자 권한, 역할 등을 나타내는 변수를 조작한 뒤 서버로 요청하여 상승된 권한으로 작업을 수행한다.    사례2 : 정수형 오버플로우 정수형 변수의 오버플로우는 정수 값이 증가하면서, 허용된 가장 큰 값보다 더 커져서 실제 저장되는 값이 의도하지 않게 아주 작은 수이거나 음수가 되어 발생한다. 특히 반복문 제어, 메모리 할당, 메모리 복사 등을 위한 조건으로 사용하는 외부입력값이 오버플로우 되는 경우 보안상 문제를 유발 할 수 있다.   사례3 : Null Pointer 역참조 일반적으로, 그 객체가 ‘널(Null)이 될..

자격증/SW보안약점 진단원

[SW 보안약점 진단원] 허용된 범위내 메모리 접근

가. 취약점 개요 사례1 : 버퍼 오버플로우스택(Stack)이나 힙(Heap)에 할당되는 메모리에 문자열 등이 저장될 때 최초 정의된 메모리의 크기를 초과하여 문자열을 저장하는 경우 버퍼 오버플로우가 발생한다.   사례2 : 포맷 스트링 삽입 공격자는 외부입력값에 포맷 문자열을 삽입하여 취약한 프로세스를 공격하거나 메모리 내용을 읽거나 쓸 수 있다. 그 결과, 공격자는 취약한 프로세스의 권한을 취득하여 임의의 코드를 실행할 수 있다.   나. 설계 시 고려사항 ① C나 C++ 같이 메모리를 프로그래머가 관리하는 플랫폼을 사용하는 경우 메모리 버퍼의 경계값을 넘어서 메모리를 읽거나 저장하지 않도록 경계설정 또는 검사를 반드시 수행해야 한다. 실행되는 시스템 Non-executable Stack, 랜덤스택(..

DevSecOps
'소프트웨어 진단원' 태그의 글 목록 (2 Page)