1. BGP (Border Gateway Protocol) [1]

- 서로 다른 AS(autonomous system) 사이에서 사용되는 라우팅 프로토콜

- 179/TCP 사용하여, 유니캐스트 방식으로 라우팅 정보를 전송

- 조직간에 계약된 정책(Policy)에 따라 최적 경로를 결정

- 장애가 발생할 경우 적게는 하나의 국가, 크게는 전 세계의 네트워크에 영향을 미침

> AS 간 라우팅을 수행하며, 수만 개에서 수십만 개 이상의 네트워크가 라우팅 테이블에서 관리되기 때문으로 판단됨.

 

2. 취약점 [2]

2.1 개요

- FRRouting, BIRD, OpenBGPd, ​​Mikrotik RouterOS, Juniper JunOS, Cisco IOS, Arista EOS 등 7가지 BGP 구현을 분석

> BGP 보안에서 자주 간과되는 소프트웨어 구현의 취약점 발견

> 공격자가 취약한 BGP 피어에 서비스 거부(DoS)를 유발할 수 있는 BGP 메시지 구문 분석 취약점

> 각 취약점은 FRRouting 팀에 전달되었으며 다음 버전에서 수정됨

 

[사진 1] BGP 프로토콜 분포

 

- BGP 프로토콜 보안과 관련한 많은 연구가 진행

> BGP 피어가 리소스 공개 키 인프라(RPKI)와 같은 인증 및 암호화 메커니즘을 적용

※ RPKI (Resource Public Key Infrastructure): 인터넷주소자원 소유기관 및 IP주소, AS번호 등을 PKI(공개키 기반 암호화)를 기반으로 전자서명 처리하여 해당 라우팅 정보의 무결성을 인증하는 것

> 하지만, 최근 연구에서 BGP가 여전히 안전하지 않다는 것을 보여주고 있음

 

- 리눅스 및 유닉스용 오픈소스 인터넷 라우팅 프로토콜 FR라우팅(FRRouting) [4] 8.4 버전(22.07 배포)에서 새로운 취약점이 발견

> FR라우팅(FRRouting)은 엔비디아, 덴트, 소닉 등 유명 기업들에서도 사용하는 라우팅 프로토콜

해당 취약점들을 신속히 패치하지 않으면 공급망에 큰 영향을 미칠 수 있으며, 공격자는 취약점을 악용해 다음의 행위를 수행할 수 있음

① 모든 BGP 세션 및 라우팅 테이블을 삭제

② 지속적으로 잘못된 패킷을 전송해 BGP 피어를 응답하지 않는 서비스 거부 상태로 유지

※ BGP 데몬은 일정 시간 초과 후 자동으로 재시작함

CVE ID 설명 CVSS v3.1 잠재적 영향
CVE-2022-40302 [5] 확장된 선택적 매개변수 길이 옵션을 사용하여 특수 제작된 BGP OPEN 메시지를 처리할 때 발생하는 범위를 벗어난 읽기 취약점 6.5 서비스 거부
CVE-2022-40318 [5] 확장된 선택적 매개변수 길이 옵션을 사용하여 특수 제작된 BGP OPEN 메시지를 처리할 때 발생하는 범위를 벗어난 읽기 취약점 (CVE-2022-40302와 다른 취약점)
CVE-2022-43681 [6] 옵션 길이 옥텟(또는 확장된 옵션 길이 메시지가 있는 OPEN의 경우 옵션 길이 단어)로 갑자기 끝나는 잘못된 형식의 BGP OPEN 메시지를 처리할 때 발생하는 범위를 벗어난 읽기 취약점

 

2.2 CVE-2022-40302

- 취약점의 근본 원인은 BGP OPEN 메시지에서 확장 옵션 길이 옥텟에 대한 불충분한 경계 검사

 

[사진 2] 취약한 버전의 소스코드 중 일부

- line 1: 옵션 길이 옥텟(optlen 변수)을 읽음

> optlen이 0xff(BGP_OPEN_NON_EXT_OPT_LEN 상수로 정의됨)인 경우 stream_getc()를 호출하여 다음 옥텟 (optype) 읽기를 계속 수행

> 확장 옵션 매개 변수를 0xff로 끝나도록 조작된 BGP OPEN 메시지가 수신되면, stream_getc() 호출 시 범위를 벗어난 읽기가 발생하는 것으로 판단됨.

 

- line 8: 원시 패킷 스트림에서 다음 옥텟 값을 읽음

> optype이 0xff와 동일한 경우 OPEN 패킷에는 RFC 9072(프로토콜 표준 문서)에 따라 확장된 옵션 매개 변수가 포함된 것으로 간주

> 조작된 BGP OPEN 메시지에 의해 범위를 벗어난 읽기가 발생하며, 이로인해 SIGABRT 시그널이 발생하여 FRRouting의 bgpd 데몬이 다시 시작되어 DoS 상태가 발생하는 것으로 판단됨.

※ SIGABRT: 프로세스가 비정상적인 상태에 도달했을 때 강제로 프로세스를 종료하기 위한 시그널

 

2.3 CVE-2022-40318 // 불확실하므로 추가 공부 필요

- 취약점의 근본 원인은 AS4 기능(RFC 6793에 따른 4바이트 AS 번호)을 읽을 때 OPEN 메시지 패킷에 대한 잘못된 경계 검사

 

[사진 3] 취약한 버전의 소스코드 중 일부

- peek_for_as4_capability()는 AS4의 기능을 찾기위해 구문 분석을 수행하는 함수

> line12: 수신된 옵션의 길이 검증

> 수신된 OPEN 메시지에 길이가 확장된 옵션 매개 변수가 있는 경우(RFC 9072에 따름) 원시 패킷 스트림에서 2바이트 대신 3바이트를 읽음

> 코드가 "while" 루프에서 반복되도록 하여 반복 중 하나에서 범위를 벗어난 읽기를 트리거하는 것으로 판단 됨

 

2.4 CVE-2022-43681 // 불확실하므로 추가 공부 필요

- bgp_open_option_parse() 함수에서 취약점이 발생

> line6: 정규 옵션 길이를 가진 패킷에 존재해야 하는 2개의 옥텟만 설명하는 경계 검사 수행

> 경계 검사는 총 세 개의 옥텟이 있어야 하는 확장 옵션 길이를 고려하지 못하여 범위를 벗어난 읽기를 트리거

 

2.3 완화

- BGP는 인터넷의 필수적인 부분이기 때문에 보안에 대한 몇 가지 지침이 있음

> 그러나 이러한 지침은 BGP 보안에 대한 알려진 문제와 RPKI 배포 방법에만 초점을 맞추는 경향이 있음

> 따라서 조직은 BGP 보안을 처리하기 위해 ISP에만 의존해서는 안 됨

 

- 네트워크 인프라 장치 패치

> 확인된 3개의 취약점과 같은 BGP 구현상 취약점 완화 목적

> 조직의 모든 네트워크 장치와 해당 장치에서 실행 중인 소프트웨어 버전 형상 관리 필요

 

- Forescout은 Python 기반 오픈 소스 BGP Fuzzer 도구를 제공 [7]

> 조직이 내부적으로 사용되는 BGP 제품군의 보안을 테스트하고 BGP 구현에서 새로운 결함을 찾을 수 있도록하기 위함

 

3. 참조

[1] https://net-study.club/entry/Routing-Protocol-BGP-Border-Gateway-Protocol
[2] https://www.forescout.com/blog/three-new-bgp-message-parsing-vulnerabilities-disclosed-in-frrouting-software/
[3] https://thehackernews.com/2023/05/researchers-uncover-new-bgp-flaws-in.html
[4] https://github.com/FRRouting/frr
[5] https://github.com/FRRouting/frr/pull/12043
[6] https://github.com/FRRouting/frr/pull/12247
[7] https://github.com/Forescout/bgp_boofuzzer/

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

2009.07.07 DDoS  (0) 2023.07.06
Anonymous Sudan DDoS  (0) 2023.06.23
Apache Commons Fileupload 서비스 거부 취약점 (CVE-2023-24998)  (0) 2023.02.27
DDoS 공격 유형 #2  (0) 2023.02.02
DDoS 공격 유형  (0) 2023.02.02
요약 - LG유플러스가 4일 오후 5시 경 서울과 경기 일대에서 또 다시 인터넷 장애가 발생
- LG유플러스 해킹으로 인한 고객 개인정보 유출은 최초 알려진 18만 명에 이어 11만 명의 해지 고객의 유출 사실이 추가로 확인
내용 - 4일 오후 5시 경 LG유플러스의 인터넷망에서 장애가 발생
> LG유플러스 인터넷 이용자들이 인터넷 장애로 카드 결제나 인터넷 접속에 큰 불편
> 지난 1월 29일 새벽 2시와 오후 6시 경에 이어 엿새 만에 세 차례나 발생한 것

- LG유플러스 측
> “디도스 공격으로 추정되는 대용량 데이터가 유입되면서 오후 한때 간헐적인 장애가 발생했다”
> “디도스 공격을 차단한 후, 순차적으로 복구를 완료했고 현재는 정상적으로 서비스를 제공하고 있다”

- LG유플러스의 개인정보(성명, 생년월일, 전화번호 등) 유출 규모가 총 29만 명
> 1월 10일 게시한 공지사항에서 유출된 고객의 수는 최소 18만명
> 2월 3일 공지를 통해 이용자 11만 명에 대한 추가 개인정보 유출이 확인_2018년 LG유플러스를 이용하다 해지한 고객

- 2023.02.06 BGP 프로토콜을 악용한 DDoS 공격 확인
> BGP (Border Gateway Protocol): TCP 기반이며, 서로 다른 네트워크를 연결할 때 최적의 경로를 찾기위해 사용하는 라우팅 프로토콜로 179 포트 이용

- 2023.02.09 개인정보 유출 사고로 인해 피해를 입은 고객의 유심을 무상으로 교체 발표
> ‘스팸 알림 유료 서비스’도 전체 고객을 대상으로 (무료로) 확대 적용할 계획
> 전화번호 유출 피해자들의 범죄 노출 우려와 관련 번호를 교체 논의 계획
> 디도스 공격으로 영업에 피해를 본 소상공인에 대해 선보상하는 방안도 검토

- 2023.02.12 오후 10시 경 해커조직 ‘rxdancer751’이 “LG유플러스 고객 정보를 11만 달러에 팔겠다”고 자신들의 텔레그램 채널에 게시
> 해커조직 ‘rxdancer751’는 LG유플러스를 해킹해 3천만건의 고객정보를 탈취했다고 주장
> LG유플러스에서 탈취한 고객데이터라며 50개 파일로 나누어 59만건씩 총 3천만건 데이터 샘플이라며 캡처이미지를 공개하기도 함
기타 - LG유플러스 공식 홈페이지를 통해 ‘개인정보 유출 여부 및 정보항목 조회하기’ 서비스를 운영
> 개인의 유출 여부를 확인할 수 있도록 서비스
> 유출된 고객에게는 개인별로 문자와 이메일 등을 통해 정보 유출 사실을 안내

- BGP 프로토콜의 보안 문제점과 대응방안
① 문제점
> 1:1(peer)사이의 통신에 사용되는 메시지에 무결성, 상호인증 등을 지원하지 않음
> AS(Autonomous System)의 권한을 증명할 메커니즘이 정의 되어있지 않음
> AS에 의해 announce 되는 경로의 속성이 신뢰 할 수 있는지 확인할 수 있는 메커니즘 없음

② 대응방안
> IP Prefix 필터링
> peer간 통신의 경우, MD5(해쉬함수)를 이용하여 메시지 인증수행
> PKI를 이용해 라우팅 정보의 무결성(암호화, 인증) 보장

 

보안뉴스

 

LG유플러스, 디도스 공격으로 또 인터넷 장애... 11만명 개인정보 유출도 추가 확인

LG유플러스가 4일 오후 5시 경 서울과 경기 일대에서 또 다시 인터넷 장애가 발생해 많은 이들이 불편을 겪었다. 디도스 공격이 원인으로 추정되는데, 지난 1월 29일에 이어 엿새 만에 또 다시 대

www.boannews.com

 

정부, ‘디도스 공격 당한 LGU+’ 긴급 회의 소집... 탐지 어려운 BGP 공격에 ‘진땀’

정부, 디도스 공격 당한 LGU+ 긴급 회의 소집... 탐지 어려운 BGP 공격에 진땀 정부, 디도스 대응 체계 등 다각도 점검 RGP 공격, 적은 트래픽에도 과부하 LGU+, 기법 분석 대응5일 공격은 방어

biz.chosun.com

 

LG유플러스, “개인정보 유출 피해고객 유심 무상으로 교체”

LG유플러스가 개인정보 유출 사고로 인해 피해를 입은 고객의 유심을 무상으로 교체해 주겠다고 9일 밝혔다.

www.boannews.com

 

[단독] LG유플러스 해킹조직, 12일 “해킹한 데이터 11만 달러에 판매하겠다” 재공지 - 데

LG유플러스를 해킹해 3천만건의 고객정보를 탈취했다고 주장하는 해커조직 ‘rxdancer751’이 2월 12일 오후 10시 경 “LG유플러스 고객 정보를 11만 달러에 팔겠다”고 자신들의 텔레그램 채널에 게

www.dailysecu.com

 

+ Recent posts