블로그

최근 Apache 문제의 원인인 경로 탐색 취약점의 영향을 직접 경험해 보세요

October 18, 2021
찰리 에릭슨
노트북 화면에 선명한 컴퓨터 코드가 보이고, 안경 렌즈 밖의 배경 코드는 흐릿하게 처리된 모습.

10월 초, Apache는 경로 탐색 및 원격 코드 실행 취약점을 해결하기 위해 2.4.49 버전을 출시했으나, 해당 수정 사항이 불완전하여 2.4.50 버전을 추가로 발표했습니다. 일부 추산에 따르면 전 세계 인터넷의 25%가 Apache를 기반으로 운영되고 있는 만큼, 이러한 위험을 방지하기 위해 최신 버전으로 업데이트하는 것이 중요하다는 이야기를 소셜 미디어에서 보셨을지도 모릅니다. 그런데 도대체 무슨 일이 있었던 걸까요? 얼마나 위험한 상황일까요?

직접 확인해 보시는 건 어떨까요?

저희는 이러한 위험을 실제 환경에서 직접 확인해 볼 수 있는 미션을 구축하여 누구나 체험할 수 있도록 공개했습니다. 이 미션에서는 경로 탐색 취약점이 귀하의 인프라와 애플리케이션에 어떤 영향을 미칠 수 있는지 단계별로 안내해 드립니다. 아래 버튼을 클릭하여 바로 시작하거나, 계속 읽으며 취약점에 대한 자세한 내용을 확인해 보세요.

Banner that says try out the Apache CVE-2021-41773 Mission
공개 미션으로 이동


경로 탐색 취약점 정보

이 취약점은 2.4.49 릴리스에서 URL 정규화 기능이 변경되면서 도입되었습니다. 새로 도입된 경로 정규화 기능이 URL 인코딩된 경로를 올바르게 처리하지 못하는 문제가 발생한 것입니다. 이로 인해 다음과 같은 설정이 되어 있지 않을 경우 경로 탐색 공격이 가능해집니다.

Deny or permit access to directory file system


또한 mod_cgi가 활성화되어 있다면 원격 코드 실행 취약점으로까지 이어질 수 있습니다. 무엇이 문제였는지 더 깊이 이해하기 위해 먼저 URL 인코딩에 대해 알아보겠습니다.

URL 인코딩

가장 근본적인 원인은 URL 인코딩이 적용된 URL에 대한 고려가 부족했기 때문입니다. 새로 도입된 경로 정규화 기능은 점(dot)이 URL 인코딩된 경우를 완전히 처리하지 못했습니다.

경로 탐색 공격을 수행하려면 ../ 시퀀스를 사용하여 경로를 이동해야 한다는 점을 기억하세요. 하지만 정규화 기능은 이를 제거할 만큼 똑똑합니다. 그렇다면 어떻게 해야 할까요? 점(Dot)을 . URL 인코딩하여 %2e로 만들고, .%2e/와 같은 시퀀스를 사용할 수 있습니다. 이는 Apache 2.4.40을 대상으로 하는 많은 경우에 효과가 있습니다. 여기서 한 걸음 더 나아가 이중 인코딩을 사용할 수도 있습니다. .%2e/의 URL 인코딩 버전은 .%252e/입니다. 이는 Apache의 정규화 시도를 우회하는 데 성공했습니다.

하지만 한 가지 제약이 있습니다

누군가 이 취약점을 브라우저에서 직접 악용하려고 한다면 성공할 수 없습니다. 브라우저 역시 서버로 전송되는 URL을 정규화하려고 시도하기 때문입니다. 즉, 이중 인코딩된 시퀀스조차 브라우저에 의해 제거됩니다. 따라서 브라우저만으로는 이 취약점을 시연할 수 없습니다.

cURL을 사용하면 --path-as-is 플래그를 통해 URL을 전송하기 전에 정규화하는 과정을 방지하여 취약점을 시연할 수 있습니다.

Curl path as is code with link

예방 및 완화 조치

이 문제를 완전히 예방하려면 Apache에서 제공하는 최신 패치를 항상 적용하는 것이 중요합니다. 특히 최소 2.4.51 버전 이상으로 업그레이드해야 합니다. 또한 정기적인 일정에 따라 업그레이드를 수행하는 것을 권장합니다.

2.4.49 버전을 사용 중인 경우, 이 문제를 완화하려면 Apache 설정에 다음 내용을 포함해야 합니다.

Directory code tags with allowoverride none and require all denied rules

원격 코드 실행을 방지하려면 mod_cgi를 사용하지 않는 경우 비활성화하십시오.

직접 그 효과를 경험해 보세요

정확히 어떤 일이 발생했는지 살펴보고 직접 테스트해 보고 싶으신가요?

‍

태그라인

배포 전 AI 기반 개발 거버넌스 확보

AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.

데모 예약하기
리소스 라이브러리

더 많은 블로그 살펴보기

보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.

전체 보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

하나의 보안 문화: Sage는 어떻게 챔피언 프로그램을 구축했는가

Sage가 유연하고 관계 중심적인 접근 방식을 통해 보안을 강화하고, 200명 이상의 보안 챔피언을 양성하며 실질적인 위험 감소를 달성한 사례를 확인해 보세요.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

2026년 사이버 보안 인식의 달: 기업 방어의 핵심, AI 보안 이해하기

주요 AI 기업 대부분이 안전 가이드라인이 마련될 때까지 AI 개발 속도를 전 세계적으로 늦춰야 한다고 공개적으로 촉구하는 시점에 이르렀지만, 사실 심각한 보안 문제는 이미 현실화되었습니다. 이로 인해 AI 도입에 따른 금전적 비용과 위험 부담이 계속 쌓이면서 수많은 보안 책임자와 경영진이 절박한 상황에 놓였습니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

인에이블러 8: 프로그램 브랜딩

성공적인 보안 코딩 프로그램을 위해서는 훌륭한 콘텐츠 그 이상의 것이 필요합니다. 인에이블러 8에서는 브랜딩을 통해 참여를 누구나 선망하는 위상 중심의 경험으로 바꾸는 방법을 알아봅니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

이제 모든 직원이 AI 사이버 보안의 최전선에 있습니다

엔터프라이즈 기술 환경은 너무 늦기 전까지는 아무도 예상하지 못한 속도로 변화하고 있습니다. 우리는 공식적으로 사람이 직접 작성한 코드와 기본적인 코파일럿 지원의 시대를 지나 '에이전트 기반 개발 수명 주기(ADLC)'의 시대로 진입했습니다. 자율형 AI 에이전트는 여러 기능 전반에 걸쳐 전례 없는 효율성을 약속하지만, 동시에 완전히 새로운 차원의 보안 및 규제 위험을 야기합니다.

더 알아보기

배포 전 AI 기반 개발 보안 확보

소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.

데모 예약하기
항목이 없습니다.