본문 바로가기

보안 이슈

루니튜너블즈 예전부터 존재했었어요!

언론사 : 보안뉴스

뉴스 제목 : 현존하는 거의 모든 리눅스 시스템에서 발견된 취약점, 루니튜너블즈

게시일 : 2023-10-05

URL : https://m.boannews.com/html/detail.html?mtype=1&idx=122421 

 

현존하는 거의 모든 리눅스 시스템에서 발견된 취약점, 루니튜너블즈

공격자들이 수많은 리눅스 기반 시스템들에 접근해 높은 권한을 가져갈 수 있도록 해 주는 취약점이 발견됐다. 이 취약점은 익스플로잇 난이도가 낮으며, 리눅스 배포판 대부분에서 흔하게 사

m.boannews.com

 


 

[ 기사 요약 ]

사물인터넷 장비들 대부분 리눅스 기반인데, 이 리눅스 기반 시스템들에 접근해 높은 권한을 가져갈 수 있도록 해 주는 취약점이 발견됐다. 이 취약점은 루니튜너블즈(Lonney Tunables)라고 불린다. 익스플로잇 난이도가 낮기에 공격자는 여러 데이터를 쉽게 접근하여 시스템 경보를 마음대로 울릴 수 있게 되는 등 각정 악성 행위를 실시할 수 있으며, 생산 환경에 있는 리눅스 장비가 공격에 당했다면 생산 체제를 망가트리거나 일시적으로 마비시키고, 중요한 생산 관련 데이터를 훔쳐갈 수 있다. 또한  리눅스 배포판 대부분에서 흔하게 사용되는 라이브러리에서 발견되고 있어 파급력이 높다.

루니튜너블즈는 CVSS를 기준으로 7.8점의 점수를 받았으며, 유명 리눅스 배포판인 페도라, 우분투, 데비안이 모두 영향을 받는 것으로 분석됐다. 루니튜너블즈는 GNU C 라이브러리(glibc)에서 발견되고 있다. GNU C 라이브러리는 리눅스 커널이 존재하는 모든 시스템에 존재한다고 봐도 무방하며, 그렇기에 거의 모든 리눅스 시스템이 위험하다고 볼 수 있다. 하지만 glibc가 아닌 musl libc라는 라이브러리를 사용하는 알파인 리눅스는 예외이다.

레드헷, 우분투, 업스트림, 데비안, 젠투 등 주요 리눅스 배포판들이 일제히 사용자들을 위한 보안 업데이를 발표하고있다.

 

[ 개인 의견 ]

기사를 요약하다보니 진짜 새로운 취약점이 발견되는 것도 있지만 대부분은 예전에 발견되었던 것이 다시 발견되거나 좀 더 발전해서 발견되는 것이 많은 것 같다. 이럴때마다 항상 궁금한 점이 예전에 발견되었고 왜 생겼는지 알고 있으면서 그때는 해결책을 제안하지 못하고 냅둬서 나중가서야 발견이 또 되는건지...아니면 그때 해결책을 내린것이 발전해서 다시 나온건지...잘 모르겠다....아니면....과거에는 이 취약점을 발견 못했는데 지금와서 발견한건가...? 근데 과거에는 왜 발견을 못했던 거지....? 조금 혼란스러운 것 같다... 이번 루니튜너블즈는 후자로 예전부터 존재해온 취약점이지만 지금와서야 발견된 취약점이다. 훔....기술력이 향상되며 취약점이 발견된건지....그러면 여태 공격당한적은없나...? 공격당했다면 그것을 찾아내기 위해 이 취약점을 발견했을 텐데....훔....혼란스러워!

움....이런걸 보면 항상 느끼는 것이 취약점을 발견했다고 그 당시에 대한 대응책만 세우고 마는 것이 아니라 이 취약점이 어떤 방향으로 발전할 수 있는지를 생각해보고 그에 대한 대응책 혹은 다시 일어날 수 없게 보안 대책을 세우는 게 매우 중요할 것 같다는 생각이 들었다.


 

[ 용어 정리 ]

 

CVSS(Common Vulnerability Scoring System)

- 공통 취약점 등급 시스템

- 소프트웨어 취약점의 특성과 심각도를 파악하는데 도움이 되는 개방형 프레임워크

(https://www.appsealing.com/kr/cvss-blog/)

 

환경변수 GLIB_TUNABLES

- 사용자들이 런타임 시 라이브러리의 행동 패턴을 조정할 수 있게 해주는 것

- 이 변수를 통해 사용자가 매번 필요할 때마다 컴파일링 작업을 다시 하지않아도 된다.

→ 이러한 특징으로인해 루니튜너블즈 취약점이 생긴 것이다. 사용자들이 직접 값을 입력해 설정하는 것이므로, 늘 이상한 값이 입력될 위험성이 존재하고, 그럴 때 예상 외의 현상이 발동될 수 있기 때문이다.

 

다이내믹 로더(dynamic loader)

- glibc가 프로그램을 실제로 실행시키는 것을 담당하는 기능

1) 공유되는 라이브러리들을 찾아내고 할당한다.

2) 공유되는 라이브러리들을 실행 파일과 연결시킨다.

3) 함수와 변수 등 각종 레퍼런스들을 정립한다.

4) 프로그램 실행에 있어 방해가 될 만한 요소들을 찾아 ㅈ어리하거나 사용자에게 알린다.

→ 이러한 다이내믹 로더 요소만 잘 공략하면 꽤나 높은 권한을 가져갈 수 있다. 이번 루니튜너블즈 취약점도 다이내믹 로더를 통해 공격자가 높은 권한을 가져가는 것이다.