[web]Information disclosure 취약점

zzsla·2023년 7월 26일
0

Information disclosure이란

information leakage(정보 유출)이라고도 하는 information disclosure(정보 공개)는 웹사이트가 의도치 않게 민감한 정보를 사용자에게 공개하는 것이다. 상황에 따라 다음을 포함한 모든 종류의 정보를 공격자에게 유출할 수 있다.

  • 사용자 이름 또는 금융 정보와 같은 사용자에 대한 데이터
  • 민감한 상업 또는 business 데이터
  • 웹사이트 및 해당 인프라에 대하나 기술 세부 정보

민감한 사용자 또는 business 데이터 유출 위험은 상당히 위험하지만 기술 정보가 공개되는 것도 역시 심각할 수 있다. 제한적이지만, 추가적인 공격 가능성을 드러내는 시작점이 될 수 있고, 이는 다른 취약점이 들어있을 수 있다.
간혹 정상적인 방식으로 웹사이트를 탐색하는 사용자에게 민감한 정보가 유출될 수 있다. 그러나 일반적으로 공격자는 예기치 않거나 악의적인 방식으로 웹사이트와 상호작용하여 정보공개를 유도한다.

Information disclosure 예

  • robots.txt 파일 또는 디렉토리 목록을 통해 숨겨진 디렉토리의 이름, 구조 및 내용 공개
  • 임시 백업을 통해 소스 코드 접근
  • 오류 메시지에서 데이터베이스 테이블 또는 열 이름을 언급
  • 신용 카드 세부 정보와 같은 매우 민감한 정보를 불필요하게 노출
  • API 키, IP 주소, 데이터베이스 자격 증명 등이 소스코드 안에 하드 코딩되어 있을 때
  • application 동작의 미묘한 차이를 통해 리소스, 사용자의 이름 등의 존재여부를 암시

Information disclosure 취약점 발생 원인

  • Failure to remove internal content from public content. 예를 들어 마크업 개발자의 주석이 프로덕션 환경의 사용자에게 표시되는 경우가 있다.
  • Insecure configuration of the website and related technologies. 예를 들어 디버깅 및 진단 기능을 비활성화하지 않으면 때때로 공격자가 중요한 정보를 얻는 데 도움이 되는 도구를 사용할 수 있다. 또한 기본 설정 구성은 웹사이트를 취약하게 만들 수 있다. 예를 들ㅇ어 지나치게 상세한 오류를 표시함으로써 취약점을 노출시킬 수 있다.
  • Flawed design and behavior of the application. 예를 들어 서로 다른 오류 상태가 발생할 때 웹사이트에서 고유한 응답을 반환하는 경우 공격자가 유효한 사용자 자격 증명과 같은 중요한 데이터를 얻을 수 있다.

Information disclosure 취약점 영향

정보공개취약점은 웹 사이트의 목적과 공격자가 얻을 수 있는 정보에 따라 직,간접적 영향을 모두 가질 수 있다. 경우에 따라 민감한 정보를 공개하는 행위만으로도 영향을 받는 당사자에게 큰 영향을 미칠 수 있다. 예를 들어 고객의 신용 카드 정보를 유출하는 온라인 상점은 심각한 결과를 초래할 수 있다.
반면에 디렉토리 구조 또는 사용 중인 태사 프레임워크와 같은 기술 정보 유출은 직접적인 영향이 거의 또는 전혀 없을 수 있다. 그러나 잘못 사용하면 다른 익스플로잇을 구성하는 데 필요한 정보가 될 수 있다. 이 경우 심각도는 공격자가 이 정보로 무엇을 할 수 있는지에 따라 다르다.

Information disclosure 취약점 심각도 평가

궁극적인 영향은 극도로 심각할 수 있지만, 정보 노출이 심각한 문제로 간주되는 경우는 특정 상황에서만 해당된다. 특히 테스트 중에는 정보 노출이 공격자가 그것을 악용하는 방법을 시연할 수 있는 경우에만 관심을 가지는 경우가 많다.
예를 들어, 웹사이트가 특정한 버전을 사용하고 있다는 사실은 해당 버전이 완전히 패치된 경우에는 제한적으로 활용될 수 있다. 이 정보는 해당 웹사이트가 알려진 취약점을 포함한 오래된 버전을 사용하고 있을 때가 중요하다. 이 경우, 파괴적인 공격을 수행하는 것은 공개적으로 문서화된 익스플로잇을 적용하는 것이다. 이만큼 쉽고 간단하다.
잠재적으로 민감한 정보가 누출되고 있는 상황에서는 빠르게 머리를 쓰는 것이 중요하다. 테스트하는 많은 웹사이트에서 다양한 방법으로 사소한 기술적 세부 정보를 발견할 수 있다. 따라서 주요 초점은 정보 공개 취약점 뿐만 아니라 유출된 정보의 영향과 악용 가능성도 초점을 맞추어야 한다. 예외는 유출된 정보가 너무 민감해서 그 자체로 주의를 기울여야하는 경우이다.

profile
[README]newbi security hacker :p

0개의 댓글