Netsparker란?
웹 애플리케이션 보안 스캐너
웹 애플리케이션과 서비스의 취약점을 식별하는 데 도움을 줍니다.
이 도구는 SQL 인젝션, (크로스사이트 스크립팅(XSS)- 셀레니움으로도 할 수 있음) 등 OWASP Top Ten 리스트에 정의된 다양한 보안 문제를 자동으로 스캔하여 찾아냅니다.
주요 기능
- 자동 스캐닝: Netsparker는 취약점 탐지를 자동화하여 수작업 테스트의 필요성을 줄입니다.
- 증명 기반 스캐닝: 발견된 취약점의 증거를 제공하여 보안 팀이 문제의 심각성과 영향을 이해하는 데 도움을 줍니다.
- 지속적인 스캐닝: 사용자는 정기적으로 스캔을 예약하여 보안 상태를 모니터링하고 관리할 수 있습니다.
- 통합 기능: 다양한 개발 및 보안 도구와 통합되어 기존 프로세스 내에서 원활한 워크플로를 제공합니다.
- url만 입력하면 OWASP TOP 10이나 XSS, SQL Injection, 가이드에 맞춰져 있어서 URL입력 후 클릭하면 보고서가 나오게 됨
단점 : 비용(천만원?!)
사용 사례
- 개발 팀: 웹 애플리케이션이 개발 주기 동안 안전한지 확인하기 위해 사용합니다.
- 보안 전문가: 기존 애플리케이션의 보안 평가 및 감사를 수행하는 데 유용합니다.
*보고서 분석
보통의 경우 : 자기가 알아서 찾아줌, SQL 문을 URL, 로그인 입력필드에 다 넣음
사용자가 보기에는 GUI로 보지만 Netsparker로 보면 코드로 보기 때문에 자동으로 다 넣음(SQL 문을)
못 찾는 경우 : 자기가 아이디, PW 필드를 지정하면 (id값을 따오는 지, CSS값을 따오는지는 모르겠지만 따와줌)
- out-of-version : 바이러스가 버전에 따라서 접근할 수 있는지 없는지 중요하므로 최신버전으로 업데이트 해야 된다 -> (틀린 정보일수도 있음)
- 어떤 것을 보고 판단을 했는지 확인 가능함
- 보고서를 이 도구가 맞게 보안성 테스트를 했는지를 판단 후, 맞다면 개발자한테 문의 후 수정 요청
- 노란색 : 우선순위가 Medium, Low
- 파란색 : 경고
- 로그인 ID/PW CSS/WS정보 분석
- 결과값 가지고 직접 SQL Injection, XSS도 해보고, 개발자하고 소통도 하고
보안성 도구의 프로세스를 발전시켰다.
- Netsparker는 조직이 보안 조치를 강화하고 PCI DSS 또는 ISO 27001과 같은 표준 준수를 보장하는 데 인기가 있습니다.
=> GPT 해석 보기
더 자세한 정보는 Netsparker의 공식 웹사이트를 방문
*ISO/IEC 25023을 표준
소프트웨어 제품의 품질을 측정하기 위한 국제 표준
시스템 및 소프트웨어 제품 품질 요구사항 및 평가 (SQuaRE) - 품질 측정 요소에 관한 내용을 다룸.
이는 소프트웨어와 시스템의 품질 속성을 평가하고, 이를 측정하기 위한 지표를 정의한 표준
Salting이란?
주로 데이터 보안 및 암호화 분야에서 사용되는 기법
해시 함수와 결합하여 암호화된 비밀번호를 저장할 때 보안을 강화하는 데 사용
Salting의 기본 아이디어는 사용자 비밀번호에 무작위 데이터를 추가(즉, 'salt' 추가)하여 해시를 생성하는 것입니다.
주요 특징
- 해시 함수: Salting은 비밀번호를 해시할 때 사용됩니다. 해시 함수는 임의의 길이 데이터를 고정된 길이의 데이터로 변환하는 함수입니다. 해시 값은 원본 데이터로부터 쉽게 복구할 수 없도록 설계되었습니다.
- 무작위성: Salt는 무작위로 생성된 데이터로, 각 사용자마다 고유한 값을 갖습니다. 이는 같은 비밀번호가 여러 사용자에게 사용될 때, 각 사용자의 해시 값이 다르게 만들어지도록 합니다.
- 보안 강화: Salting은 여러 가지 공격으로부터 보호합니다. 예를 들어, 동일한 비밀번호가 여러 사용자에게 사용될 경우, salt가 다르기 때문에 해시 값이 달라지므로, 해시 테이블을 이용한 공격(예: 레인보우 테이블 공격)으로부터 방어할 수 있습니다.
예시
예를 들어, 사용자의 비밀번호가 "password123"라고 가정하고, 무작위로 생성된 salt가 "abc123"일 때, 해시는 다음과 같이 생성될 수 있습니다:
- Salted 비밀번호: "abc123password123"
- 해시 함수 적용: hash("abc123password123")
이렇게 생성된 해시는 데이터베이스에 저장되며, 로그인 시 사용자가 입력한 비밀번호에 동일한 salt를 추가하여 해시를 비교합니다.
결론
Salting은 데이터 보안에서 비밀번호 저장을 안전하게 만들기 위한 효과적인 방법
이를 통해 해시 값이 동일하더라도 원본 비밀번호가 다르게 보일 수 있도록 하여, 해킹이나 데이터 유출의 위험을 줄여줌.
1234 / 562234312312 비밀번호로 설정된 암호값이 aes-16인지 아니면, 평문인데 여기에 솔팅값을 넣은 건지 해커는 모름. 따라서 보안성 강화를 위해 솔팅값을 넣는 것이 중요하다.
=> 글자수가 256자, 512자인 경우 뒤에 16자 또는 32자 salting값을 넣게 되어 257자(한자리만 추가)만 되어도 헷갈림
=> salting 앞에 넣을수도 있고 뒤에 넣을수도 있어서 경우의 수가 굉장히 많아짐
=> 앞에 한자리냐, 뒤에 한 자리냐 256자인데 몇 자를 더 추가했느냐 512자가 aes-512, 256 모른다
Netsparker와 비슷한 도구
1. Fiddler
2. Burp Suite
- Burp Suite는 웹 애플리케이션 보안 테스트를 위한 종합 도구
- 페네트레이션 테스터(Penetration Tester)들에게 널리 사용
- 자동화된 스캔 도구뿐만 아니라 수동 테스트를 위한 다양한 기능도 제공하여, 취약점 발견과 분석에 적합
- 범용성이 굉장히 넓음
- 주요 기능: 웹 애플리케이션의 취약점 스캐닝, 트래픽 분석, SQL 인젝션, XSS 탐지, 강력한 페이로드 생성 및 분석 기능
3. Wireshark (네트워크 분석 및 모니터링을 위한 오픈 소스 도구)
- 네트워크 트래픽을 실시간으로 캡처하고 분석하는 데 사용
- 네트워크 엔지니어, 보안 전문가, 그리고 IT 관리자가 네트워크의 성능과 보안을 확인하고 문제를 진단하는 데 사용
- 주요 기능
- 네트워크 패킷 캡처: Wireshark는 네트워크 상의 패킷을 실시간으로 캡처하여 상세한 정보를 분석할 수 있습니다.
- 프로토콜 분석: 다양한 네트워크 프로토콜을 지원하며, 각 패킷의 상세한 헤더와 데이터를 분석합니다.
- 네트워크 트래픽 모니터링: 실시간 네트워크 트래픽을 모니터링하고 특정 패킷이나 통신의 흐름을 추적할 수 있습니다.
- 필터링 및 검색: 특정 트래픽만을 선택적으로 분석할 수 있도록 강력한 필터링 기능을 제공합니다.
- 그래픽 인터페이스: 직관적인 그래픽 인터페이스를 통해 비전문가도 쉽게 사용할 수 있으며, 캡처한 데이터를 다양한 형식으로 저장하고 공유할 수 있습니다.
- 주요 기능
- 사용 사례
- 네트워크 문제 해결: 지연, 연결 끊김 등 네트워크 관련 문제를 진단하고 해결
- 보안 분석: 의심스러운 트래픽이나 해킹 시도를 탐지하고 분석
- 프로토콜 개발: 새롭게 개발된 네트워크 프로토콜의 테스트 및 분석
Wireshark는 강력하면서도 사용자 친화적인 네트워크 분석 도구로, 많은 보안 및 네트워크 전문가들에게 필수적인 툴로 자리잡았습니다.
4. avalanche(포트를 사용해서 부하테스트 자동화 도구)
*OWASP TOP 10이란?
웹 애플리케이션 보안에서 가장 흔히 발생하는 취약점 목록을 제시하는 **비영리 단체 OWASP(Open Web Application Security Project)**에서 발표하는 가이드라인
이 리스트는 웹 애플리케이션 보안 전문가들이 주기적으로 업데이트하며, 보안 취약점의 심각성, 발생 빈도, 잠재적 영향 등을 고려해 선정됩니다.
주요 목표는 개발자, 보안 전문가, 기업들이 보안 문제에 대해 인식하고 이를 방지하기 위한 조치를 취할 수 있도록 돕는 것
OWASP Top 10 (2021 버전 기준)
- Broken Access Control (취약한 접근 제어): 권한 없는 사용자가 민감한 데이터에 접근하거나 특정 기능을 사용할 수 있는 문제.
- Cryptographic Failures (암호화 실패): 민감한 데이터를 보호하지 못하거나 안전하지 않은 암호화 방법을 사용하는 경우.
- Injection (인젝션): 공격자가 SQL, NoSQL, OS 명령어 등을 삽입하여 시스템을 손상시키는 공격.
- Insecure Design (불안전한 설계): 보안 설계나 보호 메커니즘이 부족한 시스템.
- Security Misconfiguration (보안 설정 오류): 기본 설정 사용, 잘못된 보안 설정으로 인한 취약점.
- Vulnerable and Outdated Components (취약하거나 오래된 구성 요소): 패치되지 않은 소프트웨어 또는 취약점이 있는 라이브러리 사용.
- Identification and Authentication Failures (인증 및 식별 실패): 비정상적인 인증 과정 또는 약한 비밀번호 정책으로 인한 취약점.
- Software and Data Integrity Failures (소프트웨어 및 데이터 무결성 실패): 서명되지 않거나 무결성이 확인되지 않은 코드 또는 데이터 사용.
- Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패): 보안 관련 사건이 감지되지 않거나 로그가 적절히 관리되지 않음.
- Server-Side Request Forgery (SSRF): 서버가 신뢰하지 않는 외부 리소스에 HTTP 요청을 보내는 취약점.
'QA 업무' 카테고리의 다른 글
[CI/CD]Jenkins (0) | 2024.11.11 |
---|---|
[Katalon Studio] 캐털런 스튜디오 (3) | 2024.11.11 |
[Linux] 우분투 설치 (3) | 2024.08.08 |
Putty 사용법 - 1 (0) | 2024.07.29 |
Linux 로그 확인 - 1 (0) | 2024.07.28 |