Timing Attacks
이 기술에 대한 깊은 이해를 얻으려면 https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work에서 원본 보고서를 확인하세요.
기본 정보
타이밍 공격의 기본 목표는 기본적으로 유사한 요청의 응답 시간 차이를 확인하여 복잡한 질문에 답하거나 숨겨진 기능을 감지하는 것입니다.
전통적으로 이는 네트워크와 서버에서 발생하는 지연 및 지터 때문에 매우 복잡했습니다. 그러나 Race Condition Single Packet attack의 발견 및 개선 이후, 이 기술을 사용하여 모든 네트워크 지연을 방정식에서 제거할 수 있게 되었습니다. 서버 지연만 남기면 타이밍 공격을 발견하고 악용하기가 더 쉬워집니다.
발견 사항
숨겨진 공격 표면
블로그 게시물에서는 이 기술을 사용하여 숨겨진 매개변수와 헤더를 찾을 수 있었던 방법이 언급되었습니다. 요청에 매개변수나 헤더가 있을 때마다 약 5ms의 시간 차이가 발생했습니다. 실제로 이 발견 기술은 Burp Suite의 Param Miner에 추가되었습니다.
이러한 시간 차이는 DNS 요청이 수행되었거나, 잘못된 입력으로 인해 로그가 기록되었거나, 매개변수가 요청에 있을 때 검사가 수행되었기 때문일 수 있습니다.
이러한 종류의 공격을 수행할 때 기억해야 할 점은 숨겨진 표면의 특성 때문에 시간 차이의 실제 원인을 알지 못할 수 있다는 것입니다.
리버스 프록시 잘못된 구성
같은 연구에서 타이밍 기술이 "범위가 제한된 SSRF"를 발견하는 데 매우 유용하다고 공유되었습니다(이는 허용된 IP/도메인에만 접근할 수 있는 SSRF입니다). 허용된 도메인이 설정된 경우와 허용되지 않은 도메인이 설정된 경우의 시간 차이를 확인하는 것이 열려 있는 프록시를 발견하는 데 도움이 됩니다.
범위가 제한된 열린 프록시가 발견되면, 대상의 알려진 하위 도메인을 파싱하여 유효한 대상을 찾을 수 있었고, 이를 통해:
열린 프록시를 통해 인터넷이 아닌 제한된 하위 도메인에 접근하여 방화벽을 우회할 수 있습니다.
또한, 열린 프록시를 악용하여 내부에서만 접근 가능한 새로운 하위 도메인을 발견할 수 있습니다.
프론트엔드 사칭 공격: 프론트엔드 서버는 일반적으로
X-Forwarded-For
또는X-Real-IP
와 같은 백엔드용 헤더를 추가합니다. 이러한 헤더를 수신하는 열린 프록시는 요청된 엔드포인트에 이를 추가하므로, 공격자는 이러한 헤더를 화이트리스트 값으로 추가하여 더 많은 내부 도메인에 접근할 수 있습니다.
참고 문헌
Last updated