분류 전체보기 38

[설계보안] 웹 서비스 요청 및 결과 검증

분류: 입력데이터 검증 및 표현 / 크로스사이트 스크립트 가. 항목명 웹 서비스 요청 및 결과 검증 나. 취약점 설명 외부 입력값 검증 없이 응답페이지 생성에 사용(Reflected XSS) 웹 페이지에 악의적 스크립트가 포함되어 페이지 열람하는 접속자의 권한으로 부적절한 스크립트가 실행되는 취약점 DB에 저장된 값을 검증없이 응답페이지 생성에 사용(Stored XSS) 악의적인 스크립트가 포함된 정보를 저장하여 사용자들이 해당 정보를 조회하는 경우 접속자의 권한으로 부적절한 스크립트가 실행되는 취약점 다. 보안대책 ① 입력받은 값을 생성되는 페이지에 사용하는 경우 크로스사이트 스크립팅 필터링 수행 ② DB조회 결과를 생성되는 페이지에 사용하는 경우 HTML 인코딩 및 크로스사이트 스크립팅 필터링 수행 ..

[설계보안] 시스템 자원 접근 및 명령어 수행 입력값 검증

분류: 입력데이터 검증 및 표현 / 코드삽입, 경로 조작 및 자원 삽입, 서버사이드 요청 위조, 운영체제 명령어 삽입 가. 항목명 시스템 자원 접근 및 명령어 수행 입력값 검증 나. 취약점 설명 경로조작 및 자원삽입 시스템이 보호하는 자원에 임의접근하여 자원의 수정/삭제, 시스템 정보누출, 자원 간 충돌로 인한 서비스 장애 등을 유발시키는 취약점 입력값 조작을 통한 허가되지 않은 명령 실행(운영체제 명령어 삽입) 입력값에 의해 의도하지 않은 시스템 명령어가 실행되어 부적절하게 사용자 권한이 변경되거나 운영에 악영향을 미치는 취약점 다. 보안대책 ① 허가되지 않은 자원이 사용되지 않도록 설계 ② 외부입력값에 의해 악의적인 명령어 실행되지 않도록 설계 라. 설계시 고려사항 ① 허가되지 않은 자원이 사용되지 ..

[설계보안] 디렉토리 서비스 조회 및 결과 검증

분류: 입력데이터 검증 및 표현 / LDAP 삽입 가. 항목명 디렉토리 서비스 조회 및 결과 검증 나. 취약점 설명 LDAP 조회 필터링 생성에 사용될 경우 입력값 검증이 수행하지 않게되어 공격자가 의도하는 LDAP 조회가 수행되는 취약점 다. 보안대책 ① 외부 입력값에 LDAP 삽입되지 않도록 필터링 적용 라. 설계시 고려사항 ① LDAP 인증서버로 인증 구현 시 외부입력값은 LDAP 삽입 취약점을 가지지 않도록 필터링. 필터 규칙으로 인식 가능한 특수문자(=, +, , #, ;, \ 등)을 제거 LDAP Syntax Filters dap-syntax-filters.aspx 마. 진단기준 및 세부사항 ① LDAP 인증서버로 인증 구현 시 외부입력값은 LDAP 삽입 취약점을 갖지 않도록 설계 ② LDAP..

[설계보안] XML 조회 및 결과 검증

분류: 입력데이터 검증 및 표현 / XML 삽입, 부적절한 XML 외부개체 참조 가. 항목명 XML 조회 및 결과 검증 나. 취약점 설명 XQuery 나 XPath와 같은 XML 질의문의 구조를 임의변경하여 허가되지 않은 데이터를 조회 하거나 인증절차를 우회하는 취약점 다. 보안대책 ① XML 질의문에 사용되는 파라미터에 조작할 수 없는 필터링을 사용하거나 자료형으로 바인딩하여 사용 라. 설계시 고려사항 ① XML 질의문을 조작할 수 없도록 필터링하거나 자료형으로 바인딩하여 사용 공통 검증 컴포넌트를 이용한 필터링 XML 삽입공격이 가능한 문자열 Validator 컴포넌트 일괄적용하도록 설계 필터 컴포넌트를 이용한 필터링 웹 입력값(", [, ], /, =, @) 필터링하도록 설계 개별 코드 입력값 필터..

[설계보안] DBMS 조회 및 결과 검증

분류: 입력데이터 검증 및 표현 가. 항목명 DBMS 조회 및 결과 검증 나. 취약점 설명 SQL 질의문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안 취약점 다. 보안대책 ① DB연결을 수행할 때 최소권한의 계정을 사용 ② SQL 질의문을 동적으로 생성해서 실행하지 않도록 방지 ③ (동적 SQL질의문 생성이 필요한 경우) 입력값에 대한 검증을 수행한 후 사용 라. 설계시 고려사항 ① 애플리케이션에 DB연결 시 최소권한의 계정을 사용한다. 취약한 애플리케이션으로 인해 침해사고 발생하더라도 나머지 부분에 대해 공격자가 액세스 권한을 가지지 못하도록 설계 ② 외부 입력값 삽입 되는 SQL 질의문을 동적으로 생성하지 않도록 방지 ORM 프레임워크를 사용하여 안전한 정적쿼리 구조로 SQL문을 수행..

준비 ③

입력데이터 검증 및 표현(10) 번호 분석/설계단계 구현단계 1 DBMS 조회 및 결과 검증 SQL 삽입 2 XML 조회 및 결과 검증 XML삽입 부적절한 XML 외부개체 참조 3 디렉토리 서비스 조회 및 결과 검증 LDAP 삽입 4 시스템 자원 접근 및 명령어 수행 입력값 검증 코드삽입 경로조작 및 자원 삽입 서버사이드 요청 위조 운영체제 명령어 삽입 5 웹 서비스 요청 및 결과 검증 크로스 사이트 스크립트 6 웹 기반 중요 기능 수행 요청 유효성 검증 크로스사이트 요청 위조 7 HTTP 프로토콜 유효성 검증 신뢰되지 않는 URL 주소로 자동접속 연결 HTTP 응답 분할 8 허용된 범위내 메모리 접근 포맷 스트링 삽입 메모리 버퍼 오버플로우 9 보안기능 입력값 검증 보안기능 결정에 사용되는 부적절한 입..

준비 ①

이전 진단원 시험 합격후기를 남긴 사람들의 내용들 토대로 정리 SW진단원 문제유형 1. O/X를 포함한 객관식 문제 2. 단답형: (사전 배부된 보안약점 목록지) 지문 파악 후 보안약점을 매칭 3. 실기시험 : 정/오탐 판별 및 근거 제시 : "S/W 보안약점 진단 가이드" 문서 내 정/오탐 샘플코드를 참고하여 판별 및 근거제시 학습방법 설계과 구현단계를 단계별로 구분하여 취약한 코드를 보고 아래 내용을 기입해보는 방식으로 준비할 것 - 설계보안 취약점 개요 취약점 설명 요구사항 보안대책(간결한 문장으로) 고려사항 설계 고려사항 정리 진단기준 진단 기준 ①~③.. 진단방법 기준별 세부 방법 작성 안전한 보안설계 5. 부록의 안전한 보안설계 예시 취약한 코드/ 안전한 코드 JAVA 시큐어코딩, 보안약점 내..