[논문 리뷰] Leveraging AI to optimize website structure discovery during Penetration Testing
이 논문은 자연어 처리 기반의 의미적 군집화 기법을 활용해 웹사이트 구조 탐색을 최적화하는 AI 강화된 dirbusting 기법을 제안한다. 어휘 목록의 의미적 유사성을 기반으로 단어들을 군집화하고, 다음 단어 예측 전략을 적용함으로써 유효한 경로를 찾기 위한 HTTP 요청 수를 줄이며, 전통적인 브루트포스 기법 대비 최대 50%의 성능 향상을 달성하였다. 이는 여덟 개의 웹 애플리케이션에서 검증되었다.
Dirbusting is a technique used to brute force directories and file names on web servers while monitoring HTTP responses, in order to enumerate server contents. Such a technique uses lists of common words to discover the hidden structure of the target website. Dirbusting typically relies on response codes as discovery conditions to find new pages. It is widely used in web application penetration testing, an activity that allows companies to detect websites vulnerabilities. Dirbusting techniques are both time and resource consuming and innovative approaches have never been explored in this field. We hence propose an advanced technique to optimize the dirbusting process by leveraging Artificial Intelligence. More specifically, we use semantic clustering techniques in order to organize wordlist items in different groups according to their semantic meaning. The created clusters are used in an ad-hoc implemented next-word intelligent strategy. This paper demonstrates that the usage of clustering techniques outperforms the commonly used brute force methods. Performance is evaluated by testing eight different web applications. Results show a performance increase that is up to 50% for each of the conducted experiments.
연구 동기 및 목표
- 블랙박스 펜트레잉 테스팅에서 랜덤 또는 히وري스틱 기반 어휘 목록 사용에 의존하는 전통적 dirbusting 기법의 비효율성을 해결하기 위해.
- 어휘 목록의 의미적 이해를 활용해 웹 디렉터리 구조 브루트포스 공격에 소요되는 시간과 자원 소비를 줄이기 위해.
- AI 기반 의미적 군집화가 기존의 랜덤 또는 순차적 어휘 목록 접근 방식보다 숨겨진 웹 애플리케이션 경로 탐지에서 뛰어난 성능을 보임을 입증하기 위해.
- NLP와 임베딩 기반 군집화를 활용해 웹사이트 구조 탐색을 최적화하는 확장 가능하고 재사용 가능한 프레임워크를 제공하기 위해.
제안 방법
- 여덟 개의 다양한 웹 애플리케이션을 도커 컨테이너에 배포하고, 이들에서 절대 경로를 추출하여 통합된 어휘 목록을 구성한다.
- 사전 학습된 문장 임베딩(Universal Sentence Encoder)을 적용해 단어를 벡터화하고, 경로 구성 요소 간의 의미적 유사도를 계산한다.
- 계층적 군집화 알고리즘을 통해 의미적으로 관련된 경로들(예: 'admin', 'login', 'dashboard')을 군집화하여 탐색 순서를 안내한다.
- 의미적 관련성에 기반해 다음 단어 전략을 지능적으로 적용함으로써, 중복되거나 확률이 낮은 요청을 줄인다.
- 응답 코드(404가 아닌 경우)를 기준으로 탐지 성능을 기준으로 표준 랜덤 브루트포스 dirbusting과 비교한다.
- 통계적 유의성을 확보하기 위해 여덟 개의 실제 웹 애플리케이션에서 각 테스트를 30회 반복하여 실험한다.
실험 결과
연구 질문
- RQ1어휘 목록의 의미적 군집화가 웹 애플리케이션 펜트레잉 테스팅에서 dirbusting의 효율성을 향상시킬 수 있는가?
- RQ2의미적 군집화 기반 dirbusting 전략의 성능은 전통적인 랜덤 또는 순차적 브루트포스 방법 대비 유효한 경로를 모두 탐지하기 위해 필요한 요청 수 측면에서 어떻게 비교되는가?
- RQ3군집화 기반 접근 방식은 숨겨진 또는 비공개 웹 애플리케이션 경로를 탐지하기 위해 필요한 HTTP 요청 수를 얼마나 줄이는가?
- RQ4성능 향상은 다양한 웹 애플리케이션 프레임워크 간에 다를 수 있으며, 만약 그렇다면 그 이유는 무엇인가?
주요 결과
- 의미적 군집화 기법은 테스트한 여덟 개의 웹 애플리케이션 전반에서 브루트포스 방법 대비 최대 50%의 성능 향상을 달성하였다.
- 군집 기반 방법은 랜덤 브루트포스 방법이 요구하는 요청 수의 약 절반으로 거의 모든 유효한 URL을 탐지하였다.
- 의미적 군집화의 성능 향상은 'admin', 'login', 'dashboard' 등과 같은 주요 경로가 어휘 목록에 덜 포함되어 있거나 분산되어 있는 애플리케이션(예: Bodgeit, Bricks, DVWS)에서 가장 두드러졌다.
- Joomla는 어휘 목록 커버리지가 매우 높아(8367개 중 4672개) 의미 기반 우선순위 전략의 상대적 이점이 줄어들어 성능 향상이 약 2000개의 요청 감소 수준에 머물렀다.
- 의미적 군집화 기법을 사용할 경우 유효한 요청 수가 시간이 지남에 따라 더 급격히 증가하는 경향을 보였으며, 이는 전체 경로 탐지에 더 빠르게 수렴함을 시사한다.
- 결과적으로 의미적 이해를 통한 어휘 목록 분석은 펜트레잉 테스팅 중 웹 애플리케이션 아키텍처 탐색의 지능적이고 효율적인 방식을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.