주 단위 웹 공격 추이
주 단위 웹 공격 추이를 통해 웹 공격이 어느 시기에 많이 발생했는지 확인할 수 있습니다. 이를 바탕으로 공격이 많은 시기에 미리 웹 공격으로부터 예방 및 대응책을 마련할 수 있습니다.
아래 그래프는 2024년 9월을 기준으로 AIWAF에서 탐지된 웹 공격들을 보여주고 있습니다.
2024년 9월에는 일 평균 약 23만 건 이상의 공격이 탐지되었으며, 특히 1일에 가장 많은 공격이 발생한 것을 확인 할 수 있습니다.
24일에 발생한 취약점중 가장 많은 공격 시도된 SQL Injection의 경우 저희 AIWAF내 가장 많은 탐지 조건을 가지고 있습니다. 하지만 SQL Injection 공격의 경우 새로운 공격 유형 및 우회 방법이 많기 때문에 항시 모니터링을 진행 하고 있습니다.
공격 유형별 웹 공격 동향
탐지 로그 기반으로 공격 유형별 웹 공격 동향을 통해 한 달 동안 어떤 공격이 많았는지 확인할 수 있습니다. 이를 바탕으로 기본적인 웹 공격 대응 가이드라인을 수립함으로써 해당 공격 유형에 대한 예방 및 대응책을 마련 할 수 있습니다.
아래 그래프는 2024년 9월을 기준으로 AIWAF에서 탐지된 웹 공격들을 보여주고 있습니다.
Web Attack Trends by Rule
SQL Injection(37.68%) 공격 유형이 가장 많았으며, App weak(20.2%), Default page(16.67%), Directory Traversal(9.68%) 순으로 탐지 되었습니다.
SQL Injection은 OWASP 에서 1위에 랭크되어 있는 만큼 가장 다양하며 위험한 공격입니다. 사용자 요청에 따라 동적으로 데이터를 생성하는 SQL 구문에 악의적인 SQL 문을 강제로 삽입하는 공격으로 취약한 어플리케이션의 경우 비정상으로 인증을 받거나 SQL 결과값을 리턴받을 수 있습니다. 다음과 같은 구문이 쿼리값에서 발생하였다면 공격을 의심해보시기 바랍니다.
app weak은 공격자가 무단 액세스를 얻거나 악의 적인 작업을 수행하기 위해 악용할 수 있는 앱 내의 취약점을 나타냅니다. 이러한 취약점은 잘못된 코딩 관행, 잘못된 구성 또는 불충분한 보안 조치로 인한 경우가 이에 해당됩니다. 일반적으로 앱 프로그램 사용 시 인가된 파일을 제외하고 인가 되지 않은 파일들을 의심해 보시기 바랍니다.
최근 3개월 웹 공격 추이 그래프 요약
6월
7월
8월
공격자 IP Top 30
취약점 분석 보고서
[Jenkins Arbitrary File Read]
1. 개요
Jenkins는 소프트웨어 빌드, 테스트, 배포와 같은 작업을 자동화하는 데 사용되는 도구로, 해당 도구에서 발생한 파일 읽기 취약점인 CVE-2024-43044에 대한 분석을 진행하였습니다.
2. 공격 유형
Jenkins의 아키텍처를 살펴보면 Jenkins Agent와 해당 Agent들을 관리, 작업 스케줄링 및 모니터링등의 작업을 조율하는 Controller로 구성되어 있습니다. 이때 Jenkins Agent와 Controller 간 통신은 자체 프로토콜 혹은 SSH를 통해 통신하는 Remoting 라이브러리를 사용합니다.
출처 : https://blog.convisoappsec.com/en/analysis-of-cve-2024-43044/
이 취약점은 Agent가 Controller 내 임의 파일에 접근 및 읽기가 가능하도록 하는 취약점으로, Controller 내 함수 중 일부 코드에서 Agent가 Controller 파일 시스템에 필요한 파일을 요청할 때 해당 요청 경로를 제한하지 않기 때문에 발생합니다.
따라서 공격자는 agent.jar 파일을 얻거나 remoting.jar 파일을 통해 자격 증명을 유출시켜 agent name 및 secret 정보를 확보하여 Agent에 접근, 통신 라이브러리인 Remoting 라이브러리를 사용해 Controller와 연결하고 취약한 인스턴스인 hudson.remoting.RemoteClassLoader를 호출하여 임의 파일에 접근합니다.
해당 취약점을 활용하여 특정 사용자에 대한 정보를 탈취하여 그 정보를 토대로 Remomber-Me 쿠키를 생성, Jenkins Scripting Engine에 액세스하여 악성 명령을 실행할 수 있습니다.
3. 대응 방안
해당 취약점의 경우 Jenkins 2.471, LTS 2.452.4 및 2.462.1에서 패치 되었으며, Jenkins에서는 불가피하게 수정 사항을 적용하지 못한 Jenkins Controller를 위한 수정된 Agent 파일들도 제공하였습니다.
해당 취약점의 경우 자체 프로토콜 혹인 SSH 통신 환경에서 발생하는 취약점으로 AIWAF에서 패턴으로 대응 가능한 영역이 아닌 것으로 보여집니다.
출처: https://github.com/jenkinsci/remoting/blob/master/docs/protocols.md
4. 결론
Jenkins에서 발생한 파일 읽기 취약점은 어떠한 방법으로든 Agent에 접근할 수만 있다면 해당 취약점을 손쉽게 사용할 수 있으며, 2024-09-24 기준 516,000개가 넘는 Jenkins 서버가 노출되어 있는 만큼 해당 취약점에 대한 영향력이 높기에 Jenkins를 항상 최신 버전으로 패치를 진행하여야 합니다.
ZoomEye에서 "Jenkins"를 검색한 결과
저희 AIWAF 제품에서는 Jenkins에서 발생하는 취약점들에 대해 지속적으로 모니터링하고 있으며, 앞으로도 발견되는 관련 취약점들에 대해서도 신속하게 대응할 예정입니다.
5. 참고 자료
- https://blog.convisoappsec.com/en/analysis-of-cve-2024-43044/
- https://blog.criminalip.io/ko/2024/08/22/cve-2024-43044/
최신 취약점 CVE 현황
1. 고위험 취약점 현황 (2024.09)
2. 고위험 취약점 설명