상세 컨텐츠

본문 제목

라이브러리의 DNS 취약점, IoT 기기 수백만 대에 영향 미쳐

국내외 보안동향

by 알약4 2022. 5. 4. 09:00

본문

A DNS flaw impacts a library used by millions of IoT devices

 

Nozomi Networks에서 다수의 IoT 제품에서 사용되는 uClibc 라이브러리의 DNS 컴포넌트에 존재하는 취약점인 CVE-2022-05-02에 대해 경고했습니다.

 

이 취약점은 모든 버전의 uClibc-ng 라이브러리 내 DNS 구현에 영향을 미치는 것으로 나타났습니다. 이는 다양한 중요 인프라 부문에서 사용되는 라우터용 공통 OS OpenWRT용으로 특별히 설계되었습니다.

 

공격자는 해당 취약점을 악용하여 DNS 포이즈닝 또는 DNS 스푸핑을 실행하여 피해자를 정식 웹 사이트가 아닌 악성 웹 사이트로 이동시킬 수 있습니다.

 

Nozomi Networks는 권고문을 발행해 아래와 같이 밝혔습니다.

 

"이 취약점은 라이브러리에서 생성된 DNS 요청에 포함된 트랜잭션 ID가 예측이 가능하기 때문에 발생하며, 공격자가 타깃 장치에 DNS 포이즈닝 공격을 수행할 수 있도록 허용합니다.”

 

uClibc 라이브러리는 Linksys, Netgear, Axis를 포함한 주요 벤더나 Embedded Gentoo와 같은 리눅스 배포판에서 사용됩니다.

 

이 취약점은 아직까지 패치되지 않았기 때문에, 보안 전문가들은 취약점과 관련된 자세한 내용은 공개하지 않았습니다.

 

연구원들은 테스트 환경에서 IoT 장치가 수행한 DNS 요청의 흔적을 확인한 후 이 문제를 발견했습니다.

 

이들은 Wireshark의 출력을 통해 ​​수행된 DNS 요청의 패턴을 알아낼 수 있었습니다. 트랜잭션 ID는 증분이고, 이후 0x2 값으로 재설정된 다음 다시 증분이 됩니다.

 

요청 내 트랜잭션 ID는 예측이 가능했으며, 공격자는 특정 상황에서 DNS 포이즈닝을 수행할 수 있는 상황이 됩니다.

 

 

<이미지 출처 : https://www.nozominetworks.com/blog/nozomi-networks-discovers-unpatched-dns-bug-in-popular-c-standard-library-putting-iot-at-risk/>

 

 

연구원들은 실행 파일을 분석한 후 DNS 요청 생성 문제가 C 표준 라이브러리 uClibc 버전 0.9.33.2("libuClibc-0.9.33.2.so")에 존재하는 것을 발견했습니다.

 

"소스코드를 검토한 결과, uClibc 라이브러리는 소스 파일 "/libc/inet/resolv.c"에 있는 내부 "__dns_lookup" 기능을 호출하는 방식으로 DNS 요청을 구현합니다."

 

Nozomi는 아래와 같이 결론을 내렸습니다.

 

"트랜잭션 ID가 예측 가능하다는 점을 감안할 때, 공격자가 취약점을 악용하려면 올바른 소스 포트를 포함하는 DNS 응답을 작성하고 DNS 서버에서 들어오는 정식 DNS 응답과 경쟁하여 승리해야 합니다. 이 기능은 소스 포트를 랜덤화하지 않았기 때문에, 예측 가능한 소스 포트를 사용하도록 구성된 경우 문제를 쉽게 악용할 수 있습니다."

 

“이 취약점은 아직 패치되지 않았습니다. 유지 관리자는 패치를 개발할 수 없는 상태이며, 커뮤니티의 도움을 기대하고 있는 중입니다.”

 

 

 

 

출처:

https://securityaffairs.co/wordpress/130865/security/dns-vulnerability.html

https://www.nozominetworks.com/blog/nozomi-networks-discovers-unpatched-dns-bug-in-popular-c-standard-library-putting-iot-at-risk/

관련글 더보기

댓글 영역