1.31k likes | 2.04k Views
목 차 ( 표지포함 총 120 페이지 ). 개요 분석결과 검토 개요 HP Fortify 기능 정의 3-1. Suppress 3-2. Project Template 3-3. Custom Rule HP Fortify 기능 사례 4-1. Suppress 4-2. Project Template 4-3. Custom Rule. Fortify SCA 3.50 분석결과 검토 매뉴얼. 2012. 09. 개요. 개요
E N D
목 차 (표지포함 총 120페이지) • 개요 • 분석결과 검토 개요 • HP Fortify 기능 정의 • 3-1. Suppress • 3-2. Project Template • 3-3. Custom Rule • HP Fortify 기능 사례 • 4-1. Suppress • 4-2. Project Template • 4-3. Custom Rule Fortify SCA 3.50 분석결과 검토 매뉴얼 2012. 09.
개요 • 개요 • 본 문서는 HP Fortify SCA 3.50을 이용한 소스 코드 분석 결과 검토 시 HP Fortify를 활용한 절차와 방법을 설명합니다. • 본 문서의 아래 내용을 포함하고 있으며, HP Fortify Audit Workbench를 기준으로 작성되었습니다. • ① HP Fortify SCA 3.50 Suppress • ② HP Fortify SCA 3.50 Project Template • ③ HP Fortify SCA 3.50 Custom Rule
분석결과 검토 개요 • 분석결과 검토 개요 • HP Fortify SCA 3.50을 이용하여 소스코드 분석결과 검토 시 고려 사항 • ① 오 탐지에 대한 예외 처리 • ② 분석 결과 열람 조건 및 수준 변경 • 결과를 열람하는 관점 변경(보안 또는 개발 담당자) • 결과 보안 수준 변경 • ③ 분석 결과에 대한 사용자 작성 보안 함수 적용 • 분석 결과에 대한 사용자 작성 보안 함수를 Rule에 적용하여, 향후 발견되지 않도록 처리 • HP Fortify SCA 3.50을 이용하여 소스코드 분석결과 검토 시 이슈에 대한 HP Fortify 기능 활용 • : 소스코드 분석결과 검토 시 이슈에 대하여 아래와 같이 다양한 HP Fortify 기능을 활용하여 조정 및 변경 할 수 있습니다.
분석결과 검토 개요 • 분석결과 검토 개요 • ① HP Fortify SCA 3.50을 이용하여 소스코드 분석결과 검토 시 이슈에 대한 HP Fortify 기능 활용 • : 소스코드 분석결과 검토 시 이슈에 대하여 아래와 같이 다양한 HP Fortify 기능을 활용하여 조정 및 변경 할 수 있습니다.
분석결과 검토 개요 • 분석결과 검토 개요 • HP Fortify SCA 3.50을 이용하여 소스코드 분석 결과검토 시 이슈에 대한 HP Fortify 기능 활용 예제 • : 소스코드 분석결과 검토 시 발생되는 일부 이슈를 사례로 HP Fortify의 기능을 활용한 조정 및 변경하는 방법을 설명한 예제입니다. • ① 오 탐지 예외 처리 • [사례1] TEST 파일에서 발견된 결과를 보이지 않도록 처리하고, 향후 발견되지 않도록 처리하는 예제입니다. • [절차1-1] Suppress 기능을 활용합니다. • [절차1-2] Project Template 기능을 활용합니다.
분석결과 검토 개요 • 분석결과 검토 개요 • ② 분석결과 열람 조건 및 수준 변경 • [사례1] PCI DSS(Payment Card Industry Data Security Standard) 관련 보안규격에 포함되지 않는 결과는 보이지 않도록 처리하는 예제입니다. • [절차1-1] Project Template 기능을 활용합니다. • [사례2] 특정 분석결과의 수준을 Critical에서 Medium으로 하향 조절하는 예제입니다. • [절차2-1] Project Template 기능을 활용합니다.
분석결과 검토 개요 • 분석결과 검토 개요 • ③ 분석결과에 대한 사용자 작성 보안 함수 적용 • [사례1] Cross-Site Scripting : Reflected 결과에 Validation 함수를 소스 코드에 적용, Validation 함수가 적용된 소스코드에서는 향후 분석결과에 발견되지 않도록 처리하는 예제입니다. • [절차1-1] Custom Rule 기능을 활용합니다.
분석결과 검토 개요 • 분석결과 검토 개요 • HP Fortify SCA 3.50을 이용하여 소스코드 분석결과 검토 시 이슈에 대한 HP Fortify 기능 활용 절차입니다.
HP Fortify 기능 정의 • 3-1. Suppress • HP Fortify Suppress 설명 • ① 불필요한 결과 및 잘못된 결과항목을 감사자 판단에 의해 제거 할 경우에 사용됩니다. • ② 소스코드 분석결과에서 삭제하지 않고 보이지 않게 처리하며, Suppress된 취약점 항목을 열람 및 복원할 수 있습니다. • HP Fortify Suppress 상세 기능
HP Fortify 기능 정의 • 3-1. Suppress • ① 단일 취약점에 대한 취약점 제거방법 • 제거할 취약점을 클릭합니다.
HP Fortify 기능 정의 • 3-1. Suppress • 우측 마우스 버튼을 클릭한 후 “Suppress Instances” 항목을 클릭합니다.
HP Fortify 기능 정의 • 3-1. Suppress • ② 다중 취약점에 대한 취약점 제거방법 • 제거할 취약점을 “ctrl(컨트롤) 키”를 누른 상태에서 다중으로 클릭합니다.
HP Fortify 기능 정의 • 3-1. Suppress • 우측 마우스버튼을 클릭한 후 “Suppress Instances” 항목을 클릭합니다.
HP Fortify 기능 정의 • 3-1. Suppress • ③ 카테고리 별 취약점 제거 방법 • 제거할 취약점 카테고리를 클릭합니다. • (다중 취약점 카테고리는 다중 취약점 제거와 동일하게 “ctrl(컨트롤)키”를 사용하여 카테고리를 다중으로 클릭 후 제거합니다.)
HP Fortify 기능 정의 • 3-1. Suppress • 우측 마우스버튼을 클릭한 후 “Suppress Group” 항목을 클릭합니다.
HP Fortify 기능 정의 • 3-1. Suppress • ④ 제거한 취약점에 대하여 결과 보기 및 복원 방법 • HP Fortify Audit Workbench 메뉴 바의 Options 하위메뉴인 “Show Suppressed Issues”를 클릭하여 제거한 취약점 보기가 가능합니다.
HP Fortify 기능 정의 • 3-1. Suppress • 복원할 취약점 항목 또는 취약점 카테고리를 클릭합니다. • (다중 선택 시 “ctrl(컨트롤)키”를 사용하여 클릭합니다.)
HP Fortify 기능 정의 • 3-1. Suppress • -제거된 취약점 카테코리 항목 : (Suppressed)로 표기 • - 제거된 취약점 항목 : 소스 코드 파일 명 앞에 X 표기 및 (Suppressed) 표기
HP Fortify 기능 정의 • 3-1. Suppress • 복원 할 취약점 항목 또는 취약점 카테고리를 클릭 후 마우스 오른 버튼을 클릭하여 “Unsuppress Instances” 항목을 클릭합니다.
HP Fortify 기능 정의 • 3-2. Project Template • HP Fortify SCA Project Template 설명 • ① HP Fortify SCA Project Template은 소스코드 분석결과에 대한 Filtering 설정을 포함하고 있으며, 소스코드 분석 프로젝트 단위로 적용됩니다. • ② 감사자에 의하여 소스코드 분석결과를 Filter Set으로 Filtering 설정하며, 해당 설정은 HP Fortify SCA Project Template에 저장됩니다. • ③ HP Fortify SCA Project Template을 개발자 및 관련자에게 배포하여, 감사자의 의도를 전사에 적용시킬 수 있는 도구입니다.
HP Fortify 기능 정의 • 3-2. Project Template • HP Fortify SCA Project Template 상세설명 • : HP Fortify SCA Project Template의 Filter Set과 Filter로 구성되며, 이를 변경하여 결과가 보여지는 범위 또는 조건 등을 설정합니다. • ① Filter Set, Filter
HP Fortify 기능 정의 • 3-2. Project Template • 소스코드 분석결과는 업무 담당자의 관점(보안, 품질, 개발 관점)에 따라 보고자 하는 결과의 범위가 다릅니다. • Filter Set : 소스코드 분석결과를 보는 범위 • Filter : 소스코드 분석결과를 보는 범위에 대한 상세조건 • 소스코드 분석결과에 대한 폴더 배치 변경 및 숨기도록 설정 • 작성된 Filter는 활성, 비활성, 수정, 삭제가 가능
HP Fortify 기능 정의 • 3-2. Project Template • ② Filter Set 종류 • : HP Fortify에서는 기본적으로 5종류의 Filter Set을 제공하며, 필요에 따라 Filter Set 설정을 변경할 수 있습니다.
HP Fortify 기능 정의 • 3-2. Project Template • ③ Filter Set 작성 • HP Fortify Audit Workbench 메뉴 바의 Tools 하위 메뉴인 “Project Configuration”를 클릭합니다.
HP Fortify 기능 정의 • 3-2. Project Template • “Project Configuration” 창에서 “Filter Sets” 탭을 클릭 한 후 “+” 아이콘을 클릭 합니다.
HP Fortify 기능 정의 • 3-2. Project Template • “Create New Filter Set…” 창이 나타나면 Filter Set 명을 입력한 후, 아래 Filter Set 리스트에서 복사하고자 하는 Filter Set 이름을 정하고, “OK” 버튼을 클릭하면 Filter Set 생성이 완료됩니다.
HP Fortify 기능 정의 • 3-2. Project Template • 생성된 Filter Set에 대해서 수준(Folder)을 변경하고자 할 경우, Project Configuration 창에서 “Folder” 항목을 클릭, 생성된 Filter Set을 지정한 후 수준(Folder)을 변경하고 “OK” 버튼을 클릭하면 완료됩니다.
HP Fortify 기능 정의 • 3-2. Project Template • ④ Filter Set 삭제 • Filter Set에 대한 삭제는 Project Configuration 창에서 “-” 아이콘을 클릭하여 삭제합니다.
HP Fortify 기능 정의 • 3-2. Project Template • ④ Filter 종류 • Folder Filters : 결과에 대해 Filter Set 하위 Folder 배치설정 • Visibility Filters : 결과에 대해 숨기도록 설정
HP Fortify 기능 정의 • 3-2. Project Template • ⑥ Filter 작성 • Summary & Detail Panel에서 Filter 작성 • - “Summary & Detail Panel Filter 탭”에서 Folder Filters 메뉴를 우측 마우스버튼으로 클릭, “Create New Filter…” 항목을 클릭하여 작성합니다. • - Filter 조건을 클릭한 후 “Hide Issue” 또는 “Set Folder to:”를 클릭하여 Filter 작성을 완료합니다. • Visibility Visibility Filter Folder Filter
HP Fortify 기능 정의 • 3-2. Project Template • Analysis Results Panel에서 Filter 작성 • - 좌측 Analysis Results Panel에서 Filter를 설정하고자 하는 취약점을 클릭 한 후 우측 마우스버튼을 클릭, “Generate Filter…” 항목을 클릭하여 작성합니다.
HP Fortify 기능 정의 • 3-2. Project Template • - Filter 조건을 클릭한 후 “Hide Issue” 또는 “Set Folder to:”를 클릭하여 Filter 설정을 완료합니다. • (“Show all conditions” 항목을 클릭 할 경우 모든 Filter 조건이 보여집니다.) Visibility Filter Folder Filter
HP Fortify 기능 정의 • 3-2. Project Template • ⑦ Filter 수정 및 삭제 관련 • : 수정 및 삭제, 기타 설정을 하고자 하는 Filter를 클릭한 후 아래 항목을 클릭 합니다. • Show Matching Issues : Filter 적용된 결과만 Analysis Results Panel에 출력 • Disable Filter : Filter 설정을 비활성화 • Edit Filter… : Filter의 조건수정 • Create New Filter… : Filter작성 • Delete Filter : Filter삭제 • Copy Filter : Filter복제 • Copy Filter To… : Filter를 Filter Set에 복제
HP Fortify 기능 정의 • 3-3. Custom Rule • Custom Rule 설명 • ① 자체보안 또는 품질정책 반영 • ② 오 탐지, 과 탐지를 감소시켜 고품질의 분석결과를 도출 • ③ 분석성능의 향상 • Custom Rule 작성방법 • ① HP Fortify Audit Workbench를 실행하고 소스코드 분석결과를 불러옵니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ② 분석 결과 해당 소스 파일에서 Validation 함수(신뢰 할 함수)를 지정합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ③ 지정된 함수를 드래그한 상태에서 우측 마우스버튼을 클릭하여 출력되는 메뉴 중 “Write Rule for This Function…” 항목을 클릭합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ④ “Custom Rule Wizard” 창이 나타나면 아래와 같이 룰 타입을 클릭합니다. • ※ Validation함수 관련 Custom Rule 생성의 경우 DataflowCleanseRule 디렉터리 안 해당 취약점카테고리 Rule을 클릭합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑤ Validation 함수의 개발언어를 클릭합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑥ Validation 함수에 대한 정보를 설정합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑦ Validation 함수에 대하여 신뢰 할 수 있는 값을 설정합니다. • Return value : 리턴 값 신뢰 • Object the Function is Called on : 객체가 함수 호출 시 신뢰 • Argument : 인자 값을 신뢰 (인자 값의 번호를 지정)
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑧ 만들어진 Custom Rule의 파일에 대한 저장위치를 지정 후 “Finish” 버튼을 클릭 합니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑨ “Run a scan using this rulepack?” 부분에 체크 후 “Finish” 버튼을 클릭할 경우 Custom Rule이 생성되며, 아래와 같이 생성한 Custom Rule를 이용하여 Rescan에 대한 창이 출력됩니다.
HP Fortify 기능 정의 • 3-3. Custom Rule • ⑩ 지정한 경로에서 Custom Rule 파일 생성여부를 확인합니다.
HP Fortify 기능 사례 • 4-1. Suppress • [사례1] 분석 결과검토 개요부분의 사례를 가지고 진행합니다.
HP Fortify 기능 사례 • 4-1. Suppress • ① HP Fortify Audit Workbench를 실행하고 소스코드 분석결과를 로드합니다.
HP Fortify 기능 사례 • 4-1. Suppress • ② 좌측 “Analysis Results Panel” 검색 입력란에 “file:test” 입력 후 엔터 키를 클릭합니다. • (파일 이름 중 test가 포함 된 결과를 검색합니다.)
HP Fortify 기능 사례 • 4-1. Suppress • “Analysis Results Panel” 검색입력란 옆의 “Advanced…” 링크 클릭 시 아래와 같은 창이 나타나며, Search Query 부분에서 순서대로 file, contains, test를 입력 후 “Find” 버튼을 클릭합니다.
HP Fortify 기능 사례 • 4-1. Suppress • ③ 검색이 완료되면 파일이름에 test가 포함되어 있는 소스파일목록이 출력됩니다.
HP Fortify 기능 사례 • 4-1. Suppress • ④ 검색된 결과항목들을 “ctrl(컨트롤) 키”를 활용하여 모두 클릭한 후 우측 마우스버튼을 클릭, “Suppress Groups” 항목을 클릭하여 Suppress를 실시합니다.
HP Fortify 기능 사례 • 4-1. Suppress • ⑤ HP Fortify Audit Workbench 메뉴 “Tools Upload Audit Project”을 클릭하여 Suppress를 완료한 결과 FPR 파일을 HP Fortify SSC Server에 Upload합니다.