Code::Security/비박스(BWAPP)

비박스(bWAPP) A6 Sensitive Data Exposure (민감 데이터 노출)

태군 코드 2022. 9. 15. 14:59
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
 

A6 - Sensitive Data Exposure

 

A6 민감 데이터 노출

 

OWASP TOP 10

OWASP에서는 이전에 민감한 데이터 노출로 알려진 2번으로 한 위치를 옮기며 근본 원인보다는 광범위한 증상에 더 가깝습니다. 초점은 암호화와 관련된 실패(또는 그 부족)에 있습니다. 이는 종종 민감한 데이터의 노출로 이어집니다. 포함된 주목할만한 CWE(Common Weakness Enumerations)에는 CWE-259: 하드 코딩된 암호 사용 , CWE-327: 손상되거나 위험한 암호화 알고리즘  CWE-331 불충분한 엔트로피가 있습니다.

 

반응형

 

설명
첫 번째는 전송 중인 데이터와 저장되지 않은 데이터의 보호 요구 사항을 결정하는 것입니다. 예를 들어 암호, 신용 카드 번호, 건강 기록, 개인 정보 및 비즈니스 비밀은 주로 해당 데이터가 개인 정보 보호법(예: EU의 일반 데이터 보호 규정(GDPR)) 또는 규정(예: 금융 데이터 보호)에 해당하는 경우 추가 보호가 필요합니다. PCI 데이터 보안 표준(PCI DSS)과 같은. 이러한 모든 데이터의 경우:

- 데이터가 일반 텍스트로 전송됩니까? 이는 STARTTLS와 같은 TLS 업그레이드도 사용하는 HTTP, SMTP, FTP와 같은 프로토콜과 관련이 있습니다. 외부 인터넷 트래픽은 위험합니다. 로드 밸런서, 웹 서버 또는 백엔드 시스템 간의 모든 내부 트래픽을 확인합니다.

- 기본적으로 또는 이전 코드에서 사용되는 오래되거나 약한 암호화 알고리즘이나 프로토콜이 있습니까?

- 기본 암호화 키가 사용 중이거나 약한 암호화 키가 생성되거나 재사용되거나 적절한 키 관리 또는 순환이 누락되었습니까? 암호화 키는 소스 코드 저장소에 체크인됩니까?

- 암호화가 적용되지 않습니까? 예를 들어 HTTP 헤더(브라우저) 보안 지시문이나 헤더가 누락되었습니까?

- 수신한 서버 인증서와 신뢰 체인이 제대로 검증되었습니까?

- 초기화 벡터가 무시, 재사용 또는 생성되어 암호화 작동 모드에 대해 충분히 안전하지 않습니까? ECB와 같은 안전하지 않은 작동 모드가 사용 중입니까? 인증된 암호화가 더 적절할 때 암호화가 사용됩니까?

- 암호 기반 키 파생 기능이 없는 경우 암호가 암호 키로 사용됩니까?

- 암호화 요구 사항을 충족하도록 설계되지 않은 암호화 목적으로 임의성이 사용됩니까? 올바른 기능을 선택하더라도 개발자가 시드 해야 합니까? 그렇지 않은 경우 개발자가 충분한 엔트로피/예측 불가능성이 부족한 시드로 내장된 강력한 시딩 기능을 덮어썼습니까?

- MD5 또는 SHA1과 같은 더 이상 사용되지 않는 해시 함수가 사용 중이거나 암호화 해시 함수가 필요할 때 비암호화 해시 함수가 사용됩니까?

- PKCS 번호 1 v1.5와 같은 더 이상 사용되지 않는 암호화 패딩 방법이 사용 중입니까?

- 예를 들어 패딩 오라클 공격의 형태로 암호화 오류 메시지 또는 부채널 정보가 악용될 수 있습니까?

 

공격 시나리오의 예
시나리오 #1 : 애플리케이션이 자동 데이터베이스 암호화를 사용하여 데이터베이스의 신용 카드 번호를 암호화합니다. 그러나 이 데이터는 검색 시 자동으로 해독되어 SQL 주입 결함이 신용 카드 번호를 일반 텍스트로 검색할 수 있습니다.

시나리오 #2 : 사이트가 모든 페이지에 대해 TLS를 사용하거나 시행하지 않거나 약한 암호화를 지원합니다. 공격자는 네트워크 트래픽(예: 안전하지 않은 무선 네트워크에서)을 모니터링하고, HTTPS에서 HTTP로 연결을 다운그레이드하고, 요청을 가로채고, 사용자의 세션 쿠키를 훔칩니다. 그런 다음 공격자는 이 쿠키를 재생하고 사용자의 (인증된) 세션을 하이재킹 하여 사용자의 개인 데이터에 액세스 하거나 수정합니다. 위의 대신 송금받는 사람과 같이 전송된 모든 데이터를 변경할 수 있습니다.

시나리오 #3 : 암호 데이터베이스는 무염 또는 단순 해시를 사용하여 모든 사람의 암호를 저장합니다. 파일 업로드 결함을 통해 공격자는 암호 데이터베이스를 검색할 수 있습니다. 모든 무염 해시는 미리 계산된 해시의 레인보우 테이블로 노출될 수 있습니다. 단순하거나 빠른 해시 함수로 생성된 해시는 솔트 처리된 경우에도 GPU에 의해 크랙될 수 있습니다.

 

참고

https://owasp.org/Top10/

https://owasp.org/www-project-top-ten/2017/A3_2017-Sensitive_Data_Exposure

 

반응형