Threat Intelligence Report

웹 애플리케이션 취약성, 공격, 대응 방안에 대한 최신 정보를 확인하세요.

Threat Intelligence Report 메인페이지로 돌아가기

[2024년 5월] 웹 공격 동향 보고서

 

주 단위 웹 공격 추이

 

주 단위 웹 공격 추이를 통해 웹 공격이 어느 시기에 많이 발생했는지 확인할 수 있습니다. 이를 바탕으로 공격이 많은 시기에 미리 웹 공격으로부터 예방 및 대응책을 마련할 수 있습니다.

아래 그래프는 2024년 5월을 기준으로 AIWAF에서 탐지된 웹 공격들을 보여주고 있습니다.

 

 

2024년 5월에는 일 평균 20만 건 이상의 공격이 탐지되었으며, 특히 10일 ~ 12일에 가장 많은 공격이 발생한 것을 확인할 수 있습니다.

10일 ~ 12일에 발생한 취약점 중 가장 많은 공격 시도된 SQL Injection의 경우 저희 AIWAF 내 많은 탐지 조건을 가지고 있는 패턴 중 하나 입니다.

하지만 SQL Injection의 경우 새로운 공격 유형 및 우회 방법이 많기 때문에 항시 모니터링을 진행하고 있습니다.

 


 

공격 유형별 웹 공격 동향

 

탐지 로그 기반으로 공격 유형별 웹 공격 동향을 통해 한 달 동안 어떤 공격이 많았는지 확인할 수 있습니다.

이를 바탕으로 기본적인 웹 공격 대응 가이드라인을 수립함으로써 해당 공격 유형에 대한 예방 및 대응책을 마련할 수 있습니다.

 

아래 그래프는 2024년 5월을 기준으로 AIWAF에서 탐지된 웹 공격들을 보여주고 있습니다.

 

 

SQL Injection(38.79%) 유형이 가장 많았으며, Default Page(29.6%), Application Vulnerability(11.3%), Directory Traversal(7.56%) 순으로 탐지 되었습니다.

 

SQL Injection은 OWASP 에서 1위에 랭크되어 있는 만큼 가장 다양하며 위험한 공격입니다.

사용자 요청에 따라 동적으로 데이터를 생성하는 SQL 구문에 악의적인 SQL 문을 강제로 삽입하는 공격으로 취약한 어플리케이션의 경우 비정상으로 인증을 받거나 SQL 결과값을 리턴받을 수 있습니다.

특이사항이 있는 구문이 쿼리값에서 발생하였다면 공격을 의심해보시기 바랍니다.

 

Default Page는 정상적이지 않은 경로로 파일 접근을 시도하거나 인가된 파일을 우회해서 해당 파일에 직접적으로 접근하는 경우가 이에 해당합니다.

일반적으로 웹서비스에서 사용되는 파일들이 아니기 때문에 부정한 의도로 인한 접근시도를 의심해보시기 바랍니다.

 


 

최근 3개월 웹 공격 추이 그래프 요약

 

2월

 

 

3월

 

 

4월

 

 


 

공격자 IP Top 30

 

 


 

취약점 분석 보고서

 

[XZ Utils Backdoor]

 

1. 개요

XZ Utils 백도어는 2001년부터 공격자가 준비해온 백도어로 공개된 오픈소스 XZ 래포지토리에 악성 사용자가 악성코드를 삽입하고 제대로 검증이 안된 체 배포되어 발견되었습니다.

 

해당 취약점은 초기에는 SSH 인증 우회 백도어로 보고 되었지만 추가 분석 결과 실제로는 RCE 취약점으로 변경 되었습니다.

XZ Utils와 그 기본 라이브러리인 liblzma는 lzma 압축 및 압축 해제를 구축하는 오픈소스 프로젝트입니다.

많은 Linux 배포판에 기본으로 포함되어 있고, 개발자들에게 매우 인기 있으며 Linux 생태계 전반에서 광범위하게 사용되고 있습니다.

 

 

2. 공격 분석

XZ Utils 백도어의 경우 여러 요소로 구성되어 수차례에 걸쳐 도입 되었습니다.

 

B-1 요소

  • 멀웨어로 심볼 확인 기능을 탈취하는 데 사용 되도록 빌드 프로세스에 IFUNC 사용
  • 테스트 파일에 난독화되어 숨겨진 공유 오브젝트 포함
  • 라이브러리 빌드 프로세스 중 공유 오브젝트를 추출하는 스크립트 세트 실행
  • 프로세스 권한을 제한하는 보안 기능인 랜드로킹 비활성화

B-2 실행 체인

  • 라이브러리의 빌드 프로세스 중에 악성 스크립트 build-to-host.m4가 실행되어 테스트 파일 bad-3-corrupt_lzma2.xz를 bash 스크립트로 디코딩
  • bash 스크립트는 또 다른 테스트 파일인 good-large_compressed.lzma에 더 복잡한 디코딩 프로세스를 실행 후 다른 스크립트로 디코딩

이 스크립트는 공유 오브젝트 liblzma_la-crc64-fast.o를 추출, 해당 오브젝트는 liblzma의 컴파일 프로세스에 추가

 

위 사진은 B-1 요소, B-2 실행 체인에 관한 내용을 그림으로 정리한 것
<출처 : https://x.com/fr0gger_/status/1774342248437813525>

 

B-3 RCE 실행

  • 위의 항목들을 진행한 다음 해당 함수를 통해 공격자 여부를 확인한 후 인증 클라이언트의 인증서에서 명령을 추출하고 이것이 실행되도록 system() 함수에 전달해 인증 전에 RCE를 실행

 

<출처 : https://www.akamai.com/ko/blog/security-research/critical-linux-backdoor-xz-utils-discovered-what-to-know>

 

3. 대응 방안

백도어 악성코드는 결국 해당 악성코드를 심는 과정이 필요하기 때문에 파일 업로드 등의 선행 작업이 필요하고 바이너리화 된 악성코드들을 패턴으로 탐지하기 어렵다는 점을 이유로 패턴 대응이 어려운 취약점입니다.

 

저희는 XZ Utils 취약점과 유사한 케이스들에 대해 모니터링 중입니다.

 

4. 결론

XZ Utils 백도어 악성코드로서 감염 시스템에서 공격자의 명령을 받아 명령 실행 등의 기능을 수행할 수 있습니다.

 

이와 같은 오픈소스 소프트웨어 공급망 공격은 단순히 시큐어 코딩이나 모의해킹 등의 단편적인 방법으로 막을 수 없으므로, 다양한 관점에서 대응 방안을 고려해야 합니다. 해당 취약점과 같은 오픈소스에 대한 공급망 공격에 대한 별도의 주의가 필요합니다.

 

저희 모니터랩은 최신 취약점에 대해 상시 모니터링 중에 있습니다.

 

5. 참고 자료

https://ko.wikipedia.org/wiki/XZ_Utils

https://medium.com/s2wblog/

https://yozm.wishket.com/magazine/detail/2597/

https://news.hada.io/topic?id=14122

https://www.akamai.com/ko/blog/security-research/critical-linux-backdoor-xz-utils-discovered-what-to-know

Scroll Up