티스토리 뷰

반응형

 

 

 

가. 취약점 개요

  - 시스템이 보호하는 자원에 임의로 접근하여 자원의 수정, 삭제, 정보노출, 시스템 충돌 등을 통해 권한획득, 설정파일 변경, 시스템 장애 등을 유발하는 취약점

   → 경로조작 및 자원삽입

 

  - 입력값에 의해 의도하지 않은 시스템 명령어를 실행하여 권한변경하거나 시스템 동작에 영향을 미치는 취약점

   → 운영체제 명령어 삽입

 

 

나. 요구사항

1. 허가되지 않은 시스템자원이 사용되지 않도록 방지

2. 악의적인 명령어가 실행되지 않도록 방지

 

 

다. 요구사항 별 고려사항

1. 허가되지 않은 시스템자원이 사용되지 않도록 방지

  - 입력값으로 리소스를 결정하는데 직접적으로 사용되지 않도록 설계

  - 리소스 목록은 프로퍼티 또는 XML파일로 정의

  - 경로조작을 일으킬 수 있는 특수기호( .., \, / ) 필터링

 

2. 악의적인 명령어가 실행되지 않도록 방지

  - 서버 프로그램에서 쉘을 이용한 명령어가 실행되는 구조를 가지지 않도록 설계

  - 명령어로 사용해야 할 값을 프로퍼티 또는 XML파일로 정의

  - 입력값은 인덱스 값을 사용하여 목록화 정보의 노출을 최소화

  - 명령어 조작을 일으킬 수 있는 특수기호( |, &, ; 등 ) 필터링 

 

 

라. 요구사항 별 진단기준 및 방법

0. 공통내용

  - 요구사항 정의서에 보안요구항목에 대한 대책이 수립

  - 아키텍쳐 설계서에 보안요구항목 적용계획이 수립

  - 요구사항 추적표를 통해 요구사항 추적가능 여부

 

1. 허가되지 않은 시스템자원이 사용되지 않도록 방지

  - 접근이 허가된 시스템자원이 식별되어 있는지 확인

  - 시스템자원이 사용가능한 기능과 매핑되어 있는지 아키텍쳐 설계서에서 확인

  - 시스템자원 접근이력이 로그(시간, ID, IP, 입력값 등)로 기록되도록 설계되었는지 아키텍쳐 설계서에서 확인

  - 권한없는 접근에 대한 로그를 기록하는지 확인

  - 경로조작을 일으키는 특수기호( .., /, \ ) 필터링 확인

 

2. 악의적인 명령어가 실행되지 않도록 방지

  - 명령어를 실행하는 기능이 포함되어 있는지 확인

  - 실행가능한 명령어 및 파라미터가 제한되도록 설계되어 있는지 확인

  - 명령어 실행이력이 로그(시간, IP, IP, 입력값 등)로 기록되도록 설계되어있는지 확인

  - 명령어 조작을 일으킬 수 있는 특수기호( |, &, ; 등 ) 필터링 확인 

 

 

마. 진단기준

1. 허가되지 않은 시스템자원이 사용되지 않도록 방지

  - 외부입력값이 시스템자원을 식별하는 값으로 사용될 경우, 허가된 자원에만 접근가능하도록 보안설계 되었는지 확인

  - 허가되지 않은 자원에 접근이 가능한지의 테스트 계획 확인

 

2. 악의적인 명령어가 실행되지 않도록 방지

  - 외부입력값이 명령어 또는 파라미터에 사용될 경우, 허가된 명령만 실행되도록 보안설계 되었는지 확인

  - 허가되지 않는 명령어 실행가능한지의 테스트 계획 확인

 

 

바. 안전한 보안설계 예

No 요구사항 명 해결방안 검수기준
1 경로조작 및 자원 삽입 취약점 방어 사용가능한 자원의 식별자를 미리 정의하고 정의된 범위내에서 사용되도록 한다. 파일의 경우 경로조작 문자열을 필터링 한다. 경로조작 및 자원삽입 공격을 방어한다.
2 운영체제 명령어 삽입 취약점 방어 사용가능한 명령어를 미리 정의하고 정의된 범위 내에서 사용되도록 한다. 운영체제 명령어 삽입 공격을 방어한다.

 

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday