[논문 리뷰] Automated Black-box Testing of Mass Assignment Vulnerabilities in RESTful APIs
이 논문은 소스 코드 접근 권한 없이도 OpenAPI 사양만을 사용하여 RESTful API의 대량 할당 취약점을 자동으로 탐지할 수 있는 새로운 블랙박스 테스팅 접근법을 제시한다. 유사한 작업을 클러스터링하고 읽기 전용 필드를 식별함으로써 추상 템플릿을 통해 타겟팅된 테스트 케이스를 생성하며, 보안 오라클을 통해 검증함으로써, 임의로 삽입된 취약점 100%를 탐지하고 거짓 경고 없이 성공한다.
Mass assignment is one of the most prominent vulnerabilities in RESTful APIs. This vulnerability originates from a misconfiguration in common web frameworks, such that naming convention and automatic binding can be exploited by an attacker to craft malicious requests writing confidential resources and (massively) overriding data, that should be read-only and/or confidential. In this paper, we adopt a black-box testing perspective to automatically detect mass assignment vulnerabilities in RESTful APIs. Execution scenarios are generated purely based on the OpenAPI specification, that lists the available operations and their message format. Clustering is used to group similar operations and reveal read-only fields, the latter are candidate for mass assignment. Then, interaction sequences are automatically generated by instantiating abstract testing templates, trying to exploit the potential vulnerabilities. Finally, test cases are run, and their execution is assessed by a specific oracle, in order to reveal whether the vulnerability could be successfully exploited. The proposed novel approach has been implemented and evaluated on a set of case studies written in different programming languages. The evaluation highlights that the approach is quite effective in detecting seeded vulnerabilities, with a remarkably high accuracy.
연구 동기 및 목표
- 웹 프레임워크의 잘못된 설정으로 인해 발생하는 RESTful API에서의 대량 할당 취약점이라는 심각한 보안 위험을 해결하기 위해.
- 소스 코드 접근 권한이나 프레임워크 전용 지식 없이도 작동하는 자동화된 블랙박스 테스팅 접근법을 개발하기 위해.
- OpenAPI 사양을 분석하여 API 작업에서 악용될 수 있는 읽기 전용 필드를 식별하기 위해.
- 고정밀도로 잠재적인 대량 할당 공격을 타겟팅하는 테스트 케이스를 생성하고 실행하기 위해.
- 실제 환경에서의 효과성과 정확성을 검증하기 위해 다양한 사례 연구를 통해 접근법을 평가하기 위해.
제안 방법
- OpenAPI 사양 내 작업에 대해 클러스터링을 적용하여 동일한 데이터 리소스를 다루는 것으로 예상되는 작업들을 그룹화한다.
- 작업 간 일관된 존재와 쓰기 작업에서의 부재를 바탕으로 히ュ리스틱을 사용해 API 설계에서 읽기 전용으로 간주되는 필드를 식별한다.
- 악성 입력을 통해 이러한 읽기 전용 필드를 덮어쓰려는 시도를 하는 구체적인 테스트 케이스를 생성하기 위해 추상 테스트 템플릿을 인스턴스화한다.
- 쓰기 작업이 읽기 전용이어야 할 필드를 성공적으로 수정했는지 여부를 감지하기 위해 API 응답을 모니터링하는 맞춤형 보안 오라클을 사용한다.
- 다양한 프로그래밍 언어와 프레임워크를 대상으로 사례 연구를 수행하여 도구를 구현하고 평가하며, 검증을 위해 삽입된 취약점을 활용한다.
- 확장성과 테스트 생성을 위한 모듈식 아키텍처를 활용하기 위해 RestTestGen과 도구를 통합한다.
실험 결과
연구 질문
- RQ1소스 코드 접근 권한 없이도 자동화된 블랙박스 테스팅이 RESTful API에서 대량 할당 취약점을 효과적으로 탐지할 수 있는가?
- RQ2클러스터링과 히ュ리스틱을 통해 OpenAPI 사양만으로도 읽기 전용 필드를 얼마나 정확히 식별할 수 있는가?
- RQ3추상 테스트 템플릿을 효과적으로 인스턴스화하여 대량 할당 공격을 타겟팅하는 의미 있는 테스트 케이스를 생성할 수 있는가?
- RQ4실제 사례 연구에서 알려진 대량 할당 취약점을 탐지할 때 제안된 접근법의 정밀도와 재현율은 얼마인가?
- RQ5이 접근법은 다양한 프로그래밍 언어와 웹 프레임워크 간에 일반화 가능한가?
주요 결과
- 평가된 사례 연구에서 삽입된 모든 대량 할당 취약점을 제안된 접근법이 거짓 경고 없이 성공적으로 탐지했다.
- 이 방법은 100% 탐지 정확도를 달성하여 악용 가능한 필드를 식별하는 데 높은 신뢰성을 보였다.
- 클러스터링과 히ュ리스틱의 활용으로 OpenAPI 사양만으로도 읽기 전용 필드를 정확히 식별할 수 있었다.
- 이 접근법은 다양한 프로그래밍 언어와 웹 프레임워크에서 효과적이었으며, 광범위한 적용 가능성을 보였다.
- 보안 오라클은 모든 성공적인 대량 할당 시도를 정확히 경고하여 탐지 메커니즘의 신뢰성을 확인했다.
- 평가 결과, 이 접근법이 REST API에서 대량 할당 취약점을 탐지하기 위한 첫 번째 완전 자동화된 블랙박스 방법임을 확인했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.