| 각종 리눅스 플랫폼의 메모리 노리는 스택 클래시 공격 | 2017.06.22 |
메모리 관리 시스템 노린 공격이라 활용 방법 무궁무진
아직까진 로컬 공격...하지만 원격 공격 가능성 배제 못해 [보안뉴스 문가용 기자] 리눅스 커널의 방어기제 중 하나가 새로운 공격으로 무너졌다. 공격 방법 자체는 새롭다고 볼 수 있지만, 그 공격이 겨냥하는 취약점 자체는 오래된 것이라고 한다. 이 문제를 찾아낸 보안 업체 퀄리스(Qualys)는 해당 취약점을 스택 클래시(Stack Clash)라고 부르며, i386 프로세서와 amd64 프로세서에서 돌아가는 리눅스, 오픈BSD, 프리BSD, 솔라리스(Solaris)에서 모두 발견되고 있다고 설명한다. ![]() ▲ 취약점은 유행처럼 돌고 돈다 (ⓒ iclickart) 스택 클래시 취약점은 리눅스 커널에 존재하는 메모리 관리 오류로 공격자들이 보안 장치를 우회할 수 있도록 해주며, 리눅스 기반의 서버, 가전기기, 사물인터넷 기기들 모두를 잠재적인 공격에 노출시킨다. 다행히 위에서 언급된 플랫폼들에 대한 패치는 이번 주 초에 진행된 바 있다. 퀄리스는 스택 클래시의 익스플로잇 방법을 7개 개발했는데, 공격을 통해 메모리를 변형시켜 악성 코드를 실행시킬 수 있게 해주는 기능을 가지고 있다. 악성 코드의 종류에 따라 결국엔 기기의 통제권을 온전히 가져올 수도 있었다. 이 연구 조사에 참여한 퀄리스 전문가들은 리눅스 플랫폼을 최대한 빠르게 업데이트 해야 한다고 촉구한다. “메모리 관리 시스템과 관련이 있는 오류라면 매우 위험한 오류라고 볼 수 있습니다. 공격으로 인해 할 수 있는 것들이 굉장히 많기 때문이죠. 권한 상승 공격과 비슷한 성격의 것들을 감행할 수 있게 됩니다.” 퀄리스의 제품보호 책임자인 지미 그래함(Jimmy Graham)의 설명이다. 스택 클래시 취약점이 ‘특별한’ 이유는 리눅스 개발자들이 ‘메모라 관리 시스템’을 방어하려고 만든 방어책들을 전부 우회한다는 점에 있다. 제발 이것만은 하지 말라고 조치를 취해놨는데, 그걸 피해서 그 하지 말라는 걸 정확히 할 수 있게 된다는 것이다. 그래함은 “보편적인 방어술이 아니라 특정 공격에 대한 맞춤형 방어술이 완전히 무용지물이라는 게 드러난 것이라 개발자들의 자존심에도 상처가 났을 것”이라고 말한다. 게다가 스택 클래시 공격법이 이전에 한 번도 없었던 새로운 것이 아니기 때문에 ‘자존심 상처’는 더 깊을 수 있다. 리눅스 환경에서 메모리 관리 시스템을 공격하는 개념 자체는 이미 2005년에 등장했고, 2010년에도 한 차례 이슈가 된 적이 있다. 리눅스 개발자들은 스택가드 페이지(StackGuard Page)라는 걸 만들어 이에 대응한 적이 있기도 하다. “스택가드 페이지는 리눅스 메모리 앞에 서 있는 문지기 같은 존재입니다. 하지만 스택 클래시를 공격함으로써 이 문지기를 피해갈 수 있었죠.” 스택 클래시 취약점을 공격하려면 먼저 공격 목표가 되는 리눅스 기기에 물리적으로 접근해야 한다. 그런 다음 스택이라고 불리는 커널 메모리의 일부 영역을 덮어쓰기 해서 메모리 체계에 혼란을 야기한다. 이때 공격자가 덮어쓰기 당한 스택을 다른 메모리 영역과 충돌(clash)하게 만들 수 있다. 퀄리스의 전문가들은 이 현상을 활용해 권한 상승 공격을 이어갔고, 루트 권한까지도 탈취하는 데 성공했다. 여기서 스택 클래시 익스플로잇의 참 위험성이 드러난다. 바로 ‘연쇄적인 공격’이 가능하다는 것이다. 위에서 “공격자가 할 수 있는 것이 많다”고 퀄리스 측에서 설명한 것이 이를 두고 한 말이다. “공격자 입장에서는 이 취약점을 통해 SQL 인젝션 공격도 할 수 있고, 네트워크 내에서 횡적으로 움직여 다른 시스템으로 옮아갈 수도 있습니다. 리눅스 기반의 모든 기기도 이 공격에서 자유로울 수 없고요. 가능성은 무궁무진 합니다.” 또 다른 보안 업체인 랩 마우스 시큐리티(Lab Mouse Security)의 CEO 돈 베일리(Don Bailey)는 이런 식의 메모리 시스템 공격이 이미 전에 있던 것이라는 걸 기억해야 한다고 강조한다. “취약점을 공개하는 건 다음에도 똑같은 공격을 받지 말라는 의미인데, 오히려 공격자들이 ‘좋은 정보 감사합니다’라며 더 잘 사용하고 있어요. 이런 식이면 취약점을 공개할 필요가 있기는 한지 모르겠습니다.” 또한 다가오는 사물인터넷 시대, 리눅스가 다시금 중요한 OS가 되고 있으며, 이에 대한 공격들을 좀 더 진지하게 받아들여야 한다고 주장하기도 한다. “여태까지 발견된 바에 따르면 스택 클래시 공격은 로컬 단위에서만 가능한 것으로 보입니다. 하지만 원격 공격이 아예 불가능할 수도 없습니다. 물리적인 접근이 있어야만 공격이 성립한다고 해서 안심하고 있어서는 안 됩니다. 꺼진 불도 다시 봐야 하는 게 사물인터넷 시대로 접어드는 때 보안의 책임입니다.” 퀄리스는 스택 클래시 취약점에 대한 상세 기술 보고서도 발표했다. 해당 취약점은 CVE-2017-1000364이며, CVE-2017-1000365와 CVE-2017-1000367과도 관련성이 있는 것으로 밝혀졌다. [국제부 문가용 기자(globoan@boannews.com)] Copyrighted 2015. UBM-Tech. 117153:0515BC |
|
|
|