제퍼넷 로고

안전하지 않은 직접 개체 참조 (IDOR) 란 무엇입니까?

시간

HackerOne Hacker Noon 프로필 사진

@해커HackerOne

HackerOne은 세상이보다 안전한 인터넷을 구축 할 수 있도록 지원합니다.

Insecure Direct Object References (또는 IDOR)는 강력한 기능을 제공하는 간단한 버그입니다. 악용되면 공격자에게 중요한 데이터 또는 암호에 대한 액세스를 제공하거나 정보를 수정할 수있는 기능을 제공 할 수 있습니다. HackerOne에서는 매달 200 개가 넘는 항목을 찾아 안전하게 고객에게보고합니다. 

IDOR은 무엇입니까?

다음과 같은 여러 유형의 IDOR 공격이 있습니다.

  • 신체 조작공격자가 체크 박스, 라디오 버튼, API 및 양식 필드의 값을 수정하여 다른 사용자의 정보에 쉽게 액세스 할 수 있습니다.
  • URL 변조, 여기에서 URL은 HTTP 요청의 매개 변수를 조정하여 클라이언트 쪽에서 수정됩니다. 
  • HTTP 요청 IDOR 취약성은 일반적으로 GET, POST, PUT 및 DELETE 동사에서 발견됩니다.
  • 대량 할당, 사용자가 액세스 할 수없는 데이터를 수정하기 위해 레코드 패턴을 악용 할 수 있습니다. 항상 IDOR 취약성의 결과는 아니지만, 그 결과 인 강력한 예가 많이 있습니다. 

가장 간단하고 가장 일반적인 형태로, 콘텐츠에 액세스하거나 교체하는 데 필요한 유일한 입력이 사용자 일 때 IDOR 취약성이 발생합니다. 이 취약점을 캘리포니아에 기반을 둔 해커 Rojan Rijal (일명 뿡 빵뀨) 2018 년이 완벽한 예입니다.

Shopify의 Exchange Marketplace 애플리케이션에 쿼리를 보낼 때 파일 첨부 파일에 레이블이 지정되는 방식을 관찰함으로써 Rojan은 다른 계정의 동일한 파일 이름을 활용하여 문서를 교체 할 수있었습니다. 

그림 1 : @rijalrojan이 HackerOne 플랫폼에서 Shopify에보고 한 IDOR 취약성.

소매 및 전자 상거래 회사의 경우 IDOR 취약성은 조직이 현상금을 지불하는 금액의 15 %를 나타내며 정부 (18 %), 의료 기술 (36 %) 및 전문 서비스 (31 %) 산업 전반에서 프로그램에 대한 최고 취약성을 나타냅니다. 

그들이 그렇게 단순하다면 왜 그렇게 흔한가요? 

요컨대, IDOR은 도구만으로는 감지 할 수 없습니다. 

IDOR은이를 식별하기 위해 창의성과 수동 보안 테스트가 필요합니다. 대상 응용 프로그램의 비즈니스 컨텍스트를 이해해야합니다. 일부 스캐너는 활동을 감지 할 수 있지만 분석, 평가 및 해석에는 사람의 눈이 필요합니다. 더 깊은 맥락을 이해하는 것은 기계가 복제 할 수없는 타고난 인간의 기술입니다. 기존의 침투 테스트에서는 펜 테스터가 모든 요청 엔드 포인트에서 가능한 모든 매개 변수를 테스트하지 않는 한 이러한 취약성이 감지되지 않을 수 있습니다. 

IDOR 취약점의 의미는 무엇입니까? 

최근에 가장 악명 높은 IDOR 취약점은 대체 기술 소셜 미디어 플랫폼 인 Parler에서 발견 된 것입니다. 회사는 IDOR의 표시 인 URL에있는 번호로 게시물을 주문했습니다. Parler 게시물 URL에 순차적 숫자를 추가하면 플랫폼의 다음 게시물에 무기한으로 액세스 할 수 있습니다. 인증 또는 액세스 제한없이 공격자는 전체 사이트에서 모든 게시물, 사진, 비디오 및 데이터를 다운로드하는 프로그램을 쉽게 구축 할 수 있습니다. 이것은 단지 공개 게시물 (계정 확인에 사용되는 ID 일 필요는 없음) 이었지만 게시물의 위치 정보 데이터도 다운로드되어 사용자 집의 GPS 좌표를 표시 할 수 있습니다.  

IDOR이 잘리는 것을 어떻게 방지 할 수 있습니까?

"IDOR을 피하는 것은 강력한 액세스 제어 메커니즘을 구축하고, 시나리오에 가장 적합한 방법론을 선택하고, 모든 액세스를 기록하고, 가능한 경우 사후 승인 확인으로 감사를 수행해야만 가능합니다."라고 온라인으로 더 잘 알려진 HackerOne 해커 Manoel Abreu Netto는 말했습니다. 뿡뿡.

“그러나 IDOR의 영향을 줄이려면 간단한 패턴을 사용하여 백엔드의 개체를 참조하지 않도록하세요. 따라서 순차 정수 값을 사용하지 말고 uuid 또는 MAC (해시 ID) 소금 사용자 세션 당.

이것은 IDOR을 제거하지는 않지만 전반적인 영향과 개체 열거 능력을 감소시킵니다.”

다음은 IDOR 취약성을 해결하기위한 몇 가지 모범 사례입니다. 

  1. 개발자는 키 또는 파일 이름과 같은 개인 개체 참조를 표시하지 않아야합니다.
  2. 매개 변수의 유효성 검사는 제대로 구현되어야합니다.
  3. 참조 된 모든 개체의 확인을 확인해야합니다.
  4. 토큰은 사용자에게만 매핑 될 수 있고 공개되지 않는 방식으로 생성되어야합니다.
  5. 쿼리의 범위가 리소스 소유자인지 확인합니다. 
  6. UUID는 종종 IDOR 취약성이 감지되지 않게하므로 순차 ID보다 UUID (Universally Unique Identifier)를 사용하는 것과 같은 것을 피하십시오.

위험을 줄이고 해커 기반 보안을 시작하는 방법에 대한 자세한 내용은 해커 기반 보안에서 가치를 도출하기위한 CISO 가이드.

태그

Hacker Noon 가입

무료 계정을 만들어 맞춤형 독서 경험을 잠금 해제하세요.

코인 스마트. 유로파 최고의 비트 코인-보르 스
출처 : https://hackernoon.com/what-are-insecure-direct-object-references-idor-hz1j33e0?source=rss

spot_img

VC 카페

라이프사이VC

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?