Security Note
article thumbnail
반응형

 


A01: Broken Access Control(손상된 엑세스 제어)

액세스 권한이 잘못 구성되어 공격자가 처음에 액세스해서는 안되는 데이터, 파일 및 계정에 액세스, 
수정 또는 삭제할 수 있는 경우 발생합니다. 


위험 및 결과

위험

  • 무차별 대입 공격으로 시스템 접근
  • 파라미터 변조로 필터링 우회
  • 호스팅 제어/관리 패널에 대한 액세스
  • FTP / SFTP / SSH를 통한 서버 접속
  • 웹사이트의 관리 패널에 액세스
  • 서버의 다른 애플리케이션에 액세스
  • 데이터베이스 접근 
  • 그 외 접근 우회 및 권한 상승 

 

결과

  • 승인되지 않은 기능 및/또는 데이터에 액세스
  • 민감한 파일 보기
  • 접근 권한 변경
  • 파일 및 기록 편집

 

실제 사례

스냅챗

스냅챗은 무차별 대입 공격으로 460만 명의 사용자 이름과 전화번호가 공개됬습니다.

 

페이스북

페이스북은 악의적인 사용자가 특정 Facebook 페이지에 대해 자신에게 관리자 권한을 할당하는 요청을 사용할 수 있음을 발견했다고 합니다.

 

[Request]
POST /<page_id>/userpermissions HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
role=MANAGER&user=<target_user_id>&business=<associated_business_id>&access_token=<application_access_token>
[Response]
200 OK HTTP/1.1


   ...
 중략
   ...

true

 

워드프레스 4.7.0 ~ 4.7.1

웹사이트가 취약한 버전의 워드프레스 4.7.1을 사용하고 있습니다. REST 엔드포인트 중 하나는 (API를 통해) 게시물을 열람/편집/삭제작성하기 위한 액세스를 허용합니다. 인증되지 않은 방문자가 사이트의 모든 게시물을 편집할 수 있습니다.

 

  • 일반적인 구문 : /wp-json/wp/v2/posts/1234
  • 문제가 된 구문 : /wp-json/wp/v2/posts/1234?id=2TEST
     - GET 메소드를 POST로 변경
     - Content-Type: application/json 추가
     - BODY에 JSON 구문 입력
      * 문제가 된 구문을 입력하게 되면 게시글 작성 수정 삭제 등이 가능합니다.
[Request BODY]
{
"title":"제목입니다.","content":"내용입니다.(악성 구문 입력 가능)"
}

 


A02 - Cryptographic Failures

민감한 데이터를 암호화 미적용 또는 복호화 가능한 알고리즘을 통해 암호화한 경우 해당 항목에 포함됩니다.


민감한 데이터 목록

  • 자격 증명
  • 신용카드 번호
  • 의료정보
  • 개인 식별 정보
  • 기타 개인정보
     

※ 위 내용과 함께 개인정보보호법을 참고하여 민감한 데이터는 노출되지 않도록 보호해야합니다.

발생 원인 

  • DB 자동 복호화로 인한 위험
  • SSL이 적용되지 않은 사이트
  • MD5 SHA1 등 복호화가 가능한 알고리즘 사용 

실제 사례

Equifax

약 1억 5천만 명의 미국인, 1,500만 명이 넘는 영국 시민 및 20,000명의 캐나다인의 개인 정보가 유출되었습니다. 그 결과 소송에서 회사는 5억 달러 이상의 벌금/지급금을 지불하라는 명령을 받았습니다. 한 법률 회사는 Equifax를 상대로 최대 700억 달러의 손해 배상을 요구하는 미국 역사상 최대 규모의 집단 소송을 시작했습니다.

LinkedIn

사용자 정보가 90% 유출되어 다크 웹에 게시되었다고합니다. 민감한 개인 정보는 유출되지 않았지만 유출된 세부 정보에는 이메일 주소, 전화번호, 지리적 위치 데이터(스피어 피싱 캠페인에서 해커를 지원하기에 충분함)와 같은 정보가 포함되었습니다.

Yahoo!

몇 년 전에 전체 사용자인 30억 명의 정보가 유출되었다고 보고했습니다. 가져온 자료의 구체적인 세부 사항에는 이름, 이메일 주소, 전화번호, 암호화되거나 암호화되지 않은 보안 질문 및 답변, 생년월일, 해시된 비밀번호가 포함됩니다. 야후는 당시 Verizon에 인수되는 중이었고 보고된 위반으로 인해 Yahoo! 미화 3억 5천만 달러를 지불했다고 합니다.


03 - Injection

생략


 


04 - Insecure Design

안전하지 않은 설계는 시큐어코딩의 중요성을 강조한 항목인거 같다.
보안 설정과는 사뭇 다른 느낌에 항목이지만 연계되어 취약점이 발생할 수는 있다고 본다.


발생 원인 

 

  • 개발 완료를 중점으로 진행함에 있어 발생한다고 생각한다

예시

무작위 대입공격

WordPress를 포함한 대부분의 CMS 플랫폼은 관리자 패널에서 로그인 실패 횟수를 제한하지 않다. 이로 인해 무차별 대입 공격에 특히 취약해지고 이를 조치하기 위해 소스코드를 수정해야한다.

관리자페이지 URL

WordPress 등의 CMS 플랫폼은 기본 관리자페이지 URL을 사용한다. 관리자 외 관리자페이지에 접근하게 되면 무작위 대입공격 등 다양한 취약점을 통해 다양한 취약점에 노출될 수 있다.

거래 봇 보호 기능

많은 전자 상거래 플랫폼에는 자동화된 봇 거래에 대한 보호 기능이 구현되어 있지 않다.

티켓이나 컴퓨터 구성 요소를 구매하는 스캘퍼와 피해자 웹사이트에서 도난당한 신용 카드 정보를 테스트하는 공격자 모두에게 취약하게 만듭니다.(보완 예정)

 

 

반응형
profile

Security Note

@긴면봉

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!