리치 웹 애플리케이션 파라미터 변조 자동 탐지

리치 웹 애플리케이션 파라미터 변조 자동 탐지
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 다중 페이지와 복잡한 파라미터 흐름을 갖는 웹 애플리케이션에서 워크플로와 파라미터 종속성을 자동으로 추출하고, 이를 기반으로 파라미터 변조 취약점을 효율적으로 탐지하는 블랙박스 스캐너를 제안한다. 기존 퍼징 방식이 워크플로 검증을 무시해 탐지율이 낮았던 문제를 해결하고, 실제 대형 은행 사이트에서도 새로운 심각 취약점을 발견하였다.

상세 분석

이 연구는 현대 웹 애플리케이션이 단일 요청이 아닌 여러 단계에 걸친 복합적인 파라미터 교환을 수행한다는 점에 주목한다. 특히 온라인 뱅킹과 같은 금융 서비스는 사용자가 입력한 값과 서버가 생성한 토큰, 세션 식별자, 일회용 인증 코드 등이 서로 의존적인 형태로 전파된다. 이러한 의존성은 워크플로 제어와 파라미터 종속성 검증이라는 두 축으로 구분할 수 있다. 워크플로 제어는 사용자가 특정 순서대로 페이지를 방문해야만 다음 단계가 허용되는지를 판단하고, 파라미터 종속성 검증은 이전 단계에서 발급된 값이 이후 요청에 정확히 포함되는지를 확인한다. 서버가 이러한 검증을 충분히 수행하지 않을 경우, 공격자는 파라미터 값을 임의로 변조해 권한 상승, 금액 변조 등 심각한 공격을 수행할 수 있다.

기존의 퍼징 기반 스캐너는 주로 개별 HTTP 요청에 대한 파라미터 변조만을 시도했으며, 워크플로와 종속성을 무시했다. 결과적으로 서버는 비정상적인 순서나 누락된 토큰을 감지하고 요청을 즉시 차단하거나 오류 페이지를 반환했으며, 실제 취약 코드에 도달하지 못했다. 따라서 탐지율이 현저히 낮았다.

논문은 이를 해결하기 위해 두 단계의 자동화된 모델링을 제안한다. 첫 번째 단계는 동적 분석을 통해 애플리케이션의 페이지 전이 그래프와 파라미터 흐름 그래프를 추출한다. 이를 위해 브라우저 자동화 도구와 프록시를 사용해 실제 사용자 행동을 기록하고, 각 요청·응답에서 파라미터와 그 출처(사용자 입력, 서버 생성)를 라벨링한다. 두 번째 단계는 추출된 그래프를 기반으로 제약 조건을 정형화한다. 워크플로 제약은 “페이지 A → 페이지 B”와 같은 전이 조건으로 표현되고, 파라미터 종속성은 “파라미터 X는 페이지 A에서 생성된 토큰 Y와 일치해야 함”과 같은 관계식으로 모델링된다.

이후 퍼징 엔진은 제약을 만족하도록 요청 시퀀스를 자동으로 구성한다. 즉, 먼저 워크플로를 따라 정상적인 순서로 페이지를 탐색하고, 각 단계에서 필요한 서버 생성 파라미터를 캡처한다. 그런 다음 목표 파라미터에 변조값을 삽입하고, 이전 단계에서 확보한 종속 파라미터를 그대로 전달한다. 서버가 변조된 파라미터를 수용하면 “서버 수용(acceptance)” 신호를 감지하고, 이를 취약점으로 보고한다. 서버 수용 판단은 응답 코드, 리다이렉션, 페이지 내용 변화 등을 종합적으로 분석한다.

실험 결과는 두드러진데, 제안된 스캐너는 30개의 실제 서비스(은행, 전자상거래, SNS 등)에서 12건의 신규 파라미터 변조 취약점을 발견했으며, 그 중 하나는 세계적인 다국적 은행 웹사이트에서 발견된 고위험 취약점이었다. 기존 상용 스캐너와 비교했을 때 탐지율은 평균 45%p 상승했으며, 오탐률은 비슷하거나 낮은 수준을 유지했다.

이 논문의 핵심 기여는 (1) 워크플로와 파라미터 종속성을 자동으로 추출·정형화하는 방법, (2) 이러한 제약을 퍼징에 통합해 실제 서버 로직에 도달하도록 하는 테스트 전략, (3) 블랙박스 환경에서도 높은 탐지 효율을 달성한 실용적인 도구 구현이다. 또한, 복잡한 웹 애플리케이션 보안 테스트에 있어 “시퀀스 기반 퍼징”의 필요성을 실증적으로 입증했다. 향후 연구는 동적 UI 변형, AJAX 기반 비동기 호출, 그리고 클라이언트 측 암호화된 파라미터에 대한 지원을 확대하는 방향으로 진행될 수 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기