스패로우(sparrow)

신원상·2024년 11월 12일

Sparrow v5.6e (유료)

O 구성

  • 클라이언트 - 서버 구조로 구성

O 점검 방법

  • 개발자가 직접 점검
  • 형상 관리 도구와 연결해서 점검(git, svn ..)
  • 소스코드를(war, zip) 넣어서 점검

[사전 설정]

  • 점검 기준에 사용될 체커를 사전에 설정
    : 대부분의 기준에 맞춰 스패로우에서 기준을 제공
    : 점검 시 여러개의 점검 기준을 사용해 점검 가능함
    : 체커 설정 시 개발 환경에 대한 설정도 가능

  • 프로젝트 생성
    : 프로젝트 생성시 유지보수, 가독성을 위해 각각의 프로젝트별 폴더를 생성해 관리

O 순서
1) 소스코드 삽입
2) 기준 설정
3) 저장 위치 설정
4) 분석
5) 분석 후 담당자와 피드백

  • 분석 시 취약하다고 나온 부분에 대한 각각의 피드백 확인
  • 1차 피드백 후 양호, 조치 된 부분이라고 하는 부분에 대한 2차 점검(수동으로)
    6) 이후 각각의 취약점에 대해 수용, 취약을 설정
    7) 결과 파일 내보내기
  • pdf, xlsx 등 확장자로 파일 내보내기 가능

O 특이사항

  • 이전에 동일한 소스코드, 대상을 점검한 기록이 남아있다면, 이전 점검 결과와 대조 후 점검을 진행한다. 즉 동일한 대상을 2회 이상 점검 시 점검 시간이 줄어듬
  • 원본 소스 코드가 아닌 컴파일된 war 파일을 점검하는 경우 스패로우가 디컴파일 후 점검을 진행하기 때문에 소요시간, 오탐률이 높아질 가능성이 다분함

소나큐브와는 도구 사용 목적에 있어서 큰 차이가 있다
스패로우는 보안 강화에 목적을 둔 도구
소나큐브는 소스 코드의 품질 개선 및 유지보수성 향상에 더 초점이 맞춰진 도구이다.


추가 조사

Sparrow SAST 사용 매뉴얼

1. Sparrow SAST 개요

Sparrow SAST는 정적 애플리케이션 보안 테스트 도구로, 소스코드 내의 보안 취약점을 자동으로 탐지하여 보안 강화 및 컴플라이언스 준수를 지원한다.
주로 SQL 인젝션, XSS, CSRF 등 웹 애플리케이션 취약점을 사전에 예방하는 데 활용된다.

2. 설치 및 초기 설정

2.1 시스템 요구 사항

OS: Windows, Linux (Red Hat, CentOS)
RAM: 최소 8GB (권장 16GB 이상)
Disk: 10GB 이상의 여유 공간
Java: JDK 11 이상

2.2 설치 절차

1) Sparrow 설치 파일 다운로드: 공식 웹사이트에서 최신 버전을 다운로드
2) 설치 파일 실행: OS에 맞는 설치 파일을 실행하고 설치 경로를 지정
3) 라이선스 키 등록: 라이선스 키를 입력하여 활성화
4) 웹 브라우저에서 접근: 설치 후, 브라우저에서 http://localhost:8080으로 접속하여 Sparrow SAST 대시보드에 접근

3. 프로젝트 생성 및 소스코드 업로드

3.1 프로젝트 생성

대시보드에서 "새 프로젝트" 클릭
프로젝트 이름과 설명을 입력한 후 생성 버튼을 클릭

3.2 소스코드 업로드

형상 관리 도구(Git, SVN 등)와 연동하여 소스코드를 가져오거나, war, zip 파일 형태로 직접 업로드.
분석할 코드의 경로와 대상 디렉토리를 설정합니다.

4. 점검 기준(체커) 설정

1) 체커 설정 메뉴로 이동
: 프로젝트 생성 후, 대시보드에서 "체커 설정"을 클릭
2) 보안 기준 선택
: 기본 제공 체커 중 OWASP Top 10, CWE, CERT 등을 선택
필요에 따라 사용자 정의 체커를 추가하여 맞춤 설정이 가능
3) 프로그래밍 언어 선택
: 분석할 소스코드의 프로그래밍 언어(Java, Python, C#, JavaScript 등)를 지정

5. 소스코드 분석 수행

1) "분석 실행" 버튼 클릭
: 모든 설정이 완료되면, "분석 실행"을 클릭하여 분석을 시작
2) 분석 진행 상황 모니터링
: 분석 시간은 소스코드 양과 복잡도에 따라 다르며, 대시보드에서 실시간으로 확인 가능
3) 분석 완료 후 알림
: 분석이 완료되면 대시보드에서 알림을 통해 결과를 확인

6. 분석 결과 검토 및 피드백

1) 분석 결과 대시보드 확인
: 취약점 목록, 취약한 코드 라인, 심각도(High, Medium, Low)가 표시
2) 취약점 상세 내용 확인
: 각 취약점을 클릭하여 세부 설명 및 수정 권장 사항을 확인
3) 담당자와 피드백 주고받기
: 분석 결과를 팀원과 공유하여 피드백을 주고받고, 필요한 조치를 논의 가능

7. 취약점 수정 및 재분석

1) 소스코드 수정
: 분석 결과에서 제공된 수정 가이드에 따라 소스코드를 수정
2) 재분석 수행
: 수정된 소스코드를 다시 업로드한 후 재분석을 실행하여 문제가 해결되었는지 확인
3) 증분 분석 기능 사용
: 이전 분석 기록을 바탕으로 변경된 부분만 빠르게 재분석하여 시간을 절약 가능

8. 분석 결과 보고서 내보내기

1) 보고서 생성
: 대시보드에서 "보고서 내보내기" 버튼을 클릭
2) 파일 형식 선택
: PDF, XLSX 등의 형식으로 결과를 내보내기 가능
3) 보고서 내용
: 취약점 목록, 심각도, 수정 제안 사항이 포함되며, 컴플라이언스 준수 보고서도 생성 가능

profile
wonsang

0개의 댓글