about sast & dast & tools

2023. 3. 16. 18:12기타/info

# SAST VS DAST 

SAST DAST
화이트 박스 보안 테스트
테스터는 기본 프레임워크, 설계 구현에 액세스할 있습니다. 응용 프로그램은 내부에서 테스트됩니다. 이러한 유형의 테스트는 개발자 접근 방식을 나타냅니다.
블랙박스 보안 테스트
테스터는 애플리케이션이 구축된 기술이나 프레임워크에 대한 지식이 없습니다. 응용 프로그램은 외부에서 테스트됩니다. 이러한 유형의 테스트는 해커 접근 방식을 나타냅니다.
소스 코드가 필요합니다
SAST 배포된 애플리케이션이 필요하지 않습니다. 애플리케이션을 실행하지 않고 소스 코드나 바이너리를 분석합니다.
실행 중인 애플리케이션 필요
DAST에는 소스 코드나 바이너리가 필요하지 않습니다. 어플리케이션을 실행하여 분석합니다.
SDLC에서 조기에 취약점을 찾습니다.
코드가 완전한 기능을 갖춘 것으로 간주되는 즉시 스캔을 실행할 있습니다.
SDLC 끝날 때까지 취약점을 찾습니다.
취약점은 개발 주기가 완료된 후에 발견될 있습니다.
취약점 수정 비용이 저렴함
취약점은 SDLC에서 일찍 발견되기 때문에 이를 수정하는 것이 쉽고 빠릅니다. 결과는 종종 코드가 QA 주기에 들어가기 전에 수정될 있습니다.
취약점을 수정하는 많은 비용이 듭니다.
취약성은 SDLC 끝날 무렵에 발견되기 때문에 수정은 종종 다음 주기로 밀려납니다. 치명적인 취약점은 긴급 릴리스로 수정될 있습니다.
런타임 환경 관련 문제를 발견할 없습니다.
도구는 정적 코드를 스캔하기 때문에 런타임 취약성을 발견할 없습니다.
런타임 환경 관련 문제를 발견할 있습니다.
도구는 애플리케이션에 대한 동적 분석을 사용하기 때문에 런타임 취약점을 찾을 있습니다.
일반적으로 모든 종류의 소프트웨어 지원
예를 들면 애플리케이션, 서비스 클라이언트가 있습니다.
일반적으로 애플리케이션 서비스와 같은 앱만 검사합니다.
DAST 다른 유형의 소프트웨어에는 유용하지 않습니다.

-> https://www.synopsys.com/blogs/software-security/sast-vs-dast-difference/

가장 장점 == Devops환경 자동화 

 

# SAST(Static Application Security Testing)

- 애플리케이션 코드를 분석하여 보안 취약점을 검색하는 정적 분석 도구.

- 애플리케이션 개발 초기에 사용되며, 코드에 존재하는 취약점을 사전에 탐지할

있음.

tools -> sonarqube, breakeman, Appscan, Fortify, Sopotbug ... 

 

# related tool 

 

# 소나큐브

20 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼 

 

# 소나큐브 설치&환경구축 

1. 리소스에 대해 최대치를 올림. 가상 리소스를 올림.

2. 도커 설치

-> apt install docker.io –y

 

3. 도커에서 소나 큐브 이미지 설치

-> docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

 

4. 소나큐브 웹사이트 접속을 위해 파이어폭스 proxy 설정을 no proxy 설정

 

5. 이미지 확인을 위해 도커 프로세스 확인

-> docker ps –a 

 

6. http://127.0.0.1:9000 접속하여 소나큐브 로그인 화면으로 이동 -> id:admin pw:admin

 

cf) 실행이 안되는 경우 : docker stop -> docker start or run -> docker ps –a 정상적으로 프로세스가 올라갔는지 확인 

 

# 소나큐브 프로젝트 생성

1. Manually -> Project display name, Project key 해당 내용에 사용자 입력 setup

 

2. 프로젝트 생성 레포지토리 분석을 위한 2가지 옵션존재 [CI tools 연동해서 사용 or Locally]

 

3. Locally -> Token name 입력 -> Generate선택 

5. 클라이언트 소스 코드를 스캔해주기 위해 스캐너를 설치

https://docs.sonarqube.org/9.9/analyzing-source-code/scanners/sonarscanner/ 

 

다운받고 압축해제 bin폴더안의 sonar-scanner 파일의 경로를 소나큐브 명령어Dsonar.sources=. 이하의 부분에 추가

sonar-scanner \

-Dsonar.projectKey=test \

-Dsonar.sources=.(여기에다 소스 코드가 있는 경로 지정)\ <- sonar-scanner 경로 추가

-Dsonar.host.url=http://127.0.0.1:9000(서버 접속 주소)

-Dsonar.login=(서버 로그인을 위해 소나 큐브에서 발급받은 토큰 추가)

 

6. 칼리 커널창에 sonar-scanner 경로로 이동하여 명령어 실행

cd sonar-scanner-4.8.0.2856-linux

cd bin

./(자신의 칼리 스캐너 명령어 입력

 

# DAST

DAST(Dynamic Application Security Testing)

- 애플리케이션에 실제 데이터를 주입하여 애플리케이션을 분석하여

보안 취약점을 검색하는 동적 분석 도구

- 애플리케이션 운영 중에 사용되며, 실제 환경에서 취약점을 발견할

있음

- toos -> Whitehat, owasp-zap, Qualys, Veracode 

 

# related tool 

 

# OWASP ZAP

OWASP 개발한 오픈소스 애플리케이션 보안 스캐너이다. OWASP ZAP이라고도 한다. 개발단계에서 손쉽게 보안 취약점을 발견하고 조치할 있도록 하는 오픈소스 제품. ZAP 브라우저와 애플리케이션 사이에 전송된 메시지를 가로채고 검사할 있도록 테스터의 브라우저와 애플리케이션 사이에 있으며 중간자 역할을 수행함. 필요한 경우 내용을 수정한 다음 패킷들을 목적지에 전달가능.

 

# OWASP ZAP 실행 

1. 칼리 커맨드 창에 owasp-zap 명령후 설치, 실행 

1) 툴바영역 = 세션 저장/열기, 레이아웃 설정, 패킷 캡처 시작/중단 등의 버튼들이 위치함

2) 사이트 디렉터리 영역 = 접속, 공격한 사이틀 디렉터리 구조로 보여주는 영역

3) 작업영역 = 공격을 하거나 요청, 응답 패킷을 확인, 변조할 있는 영역

4) 정보영역 = 자동으로 스캔된 취약점이나 공격에 대한 결과, 기록 등을 출력해주는 영역

 

2. Automated Scan 선택하여 원하는 URL 입력해서 간편하게 취약점을 스캔할 있음

공격할 URL/IP 입력한 다음 Attack버튼을 누르면 자동으로 취약점을 스캔함 

 

검사를 통해 취약점이 발견되면 하단에 표시한 Alerts 깃발 아이콘 부분에서 개수가 표시됨

크리티컬 부분[주황색 이상]부터 공격에 활용됨. 하단 Alerts 탭에 들어가면 해당 취약점의 경고 정보 확인 가능 

'기타 > info' 카테고리의 다른 글

about agile  (0) 2023.02.20
about hypervisor  (0) 2023.02.07
about laas paas saas  (0) 2023.01.21
opt-in & opt-out  (0) 2022.05.31
Base64 Encoding  (0) 2022.03.21