공격 성립 조건 까다롭긴 하지만 결과는 치명적
[보안뉴스 문가용] OpenSSH가 최근 공격자가 비밀 암호화 키를 훔칠 수 있도록 해주는 취약점을 패치했다. 해당 비밀 키는 클라언트 컴퓨터에서 사용돼 다른 시스템으로의 원격 접근을 가능하게 해준다.
.jpg)
해당 오류는 모든 5.4와 7.1 사이의 모든 버전의 OpenSSH에 존재하는 것으로 보안 전문업체은 퀄리스(Qualys)가 제일 처음 발견했다. 이에 대해 OpenSSH 측은 두 가지 권고를 이번 주 발행했다. 이 취약점을 악용할 경우 사용자의 비밀 키를 훔쳐, 해당 사용자의 아이디로 접속이 가능하다.
“SSH 키들은 자동화 시스템의 관리자 계정 로그인에 널리 사용되는 것입니다.” 퀄리스의 CTO인 울프강 칸덱(Wolfgang Kandek)의 설명이다. “SSH 키에 접근할 수 있다면 공격자들이 마치 자신이 피해자인냥 행세할 수 있게 됩니다. 그 피해자가 관리자라면 공격자가 관리자 행세를 할 수 있는 거죠. 사실상 모든 일을 할 수 있게 되는 겁니다.”
하지만 그렇다고 해서 익스플로잇이 간편한 건 아니다. 공격이 성공하려면 공격자가 SSH 서버에 대한 관리자 통제권을 가지고 있어야 한다. OpenSSH가 운영되고 있는 컴퓨터의 사용자가 악성 SSH 서버나 그에 준하는 오염된 서버로 접속을 해야만 공격이 성립한다는 뜻이다. 그리고 이런 조건이 맞아 들어갈 가능성은 그다지 높지 않다는 게 카덱의 설명이다.
취약점은 5.4 버전부터 도입된 OpenSSH 클라이언트 코드에 존재한다. 해당 코드는 중간에 취소된 SSH-연결을 다시 시작하는 것과 관련이 있다. 칸덱에 의하면 해당 코드는 SSH 서버와 클라이언트 사이의 연결이 갑작스레 종료되었을 경우 클라이언트가 다시 서버와의 연결을 시도할 수 있도록 하기 위해서 만들어졌다고 한다. 이는 5.4부터 7.1 사이의 모든 버전에서 디폴트로 설정되어 있다. 다만 SSH 서버에는 없는 기능이다. 그럼에도 관리자 권한을 가진 계정으로는 해당 오류를 익스플로잇 하는 게 가능하다.
퀄리스의 취약점 수석 엔지니어 및 연구원인 아몰 사와트(Amol Sarwate)는 “클라이언트 측에서 발생하는 취약점들이 어도비 제품들과 같은 소프트웨어에서만 일어나는 게 아니라는 게 증명됐다”고 이번 SSH 취약점에 대한 큰 시각을 제공한다. “OpenSSH와 같은 명령줄 소프트웨어에도 해당되는 얘기라는 걸 다시 떠올릴 필요가 있습니다. OpenSSH 클라이언트를 사용해 서버와 연결할 경우 서버가 클라이언트의 취약점을 악용할 수 있다는 사실을 대부분 잊어버립니다.”
OpenSSH는 관리자와 서버를 운영할 때 가장 널리 사용되는 프로토콜로 특히 리눅스와 유닉스 환경에서 원격의 기기에 연결할 때 애용된다. 이번에 발견된 취약점을 공격자가 대규모로 활용하려면 악성 SSH 서버를 호스팅한 후에 OpenSSH 클라이언트를 가진 사용자가 이에 연결하도록 만들어야 한다. 소셜네트워킹 기법이 많이 활용된다. “해당 조건에 맞는 피해자가 서버에 연결을 하고 나면, 공격자가 시스템을 쉽게 통제할 수 있게 됩니다.”
퀄리스와 OpenSSH는 모두 사용자들에게 긴급히 패치하라고 권고하고 있다. 패치가 여의치 않을 경우 OpenSSH 클라이언트에서 Use Roaming 기능을 꺼두는 것도 도움이 된다고 한다.
Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>