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 |