시스코 라우터 RV320,325 해킹 취약점

CVE-2019-1652,1653

Cisco의 중소기업용 라우터(공유기) RV320, 325에서 원격으로 기기를 완전히 제어할 수 있는 취약점이 발견됐다. 취약점은 라우터를 관리하는 웹 인터페이스에 있었다.

CVE-2019-1652는 command injection 취약점으로, 원격의 해커가 임의의 코드를 실행할 수 있다. 다만 이를 악용하려면 사용자 인증과 관리자 권한이 필요하다.

CVE-2019-1653은 information disclosure 취약점으로, 설정 정보 및 자기진단 데이터로부터 중요한 정보를 탈취할 수 있다. 더 큰 문제는 이 취약점 악용에는 어떠한 인증도 필요치 않다는 것이다. 설정 내용을 관리하는 /cgi-bin/config.exp 페이지가 아무런 보호 없이 LAN(내부 네트워크)에, 일부 펌웨어 버전에서는 WAN(외부 네트워크 즉 인터넷에)에 그대로 노출돼 있기 때문이다.

유출 내용에는 해시된 암호(hashed password)도 포함되는데, 이를 이용해 라우터에 로그인해서 1652 취약점을 이용하게 된다.

즉시 업데이트해야

시스코는 1.23일 이를 해결한 업데이트를 발표했다. 그 직후에 취약점을 발견한 연구팀은 자세한 내용과 exploit code를 공개했다. 당연히 실전에 투입할 수 있는 악성코드가 나왔고, 이 취약점을 탐색하는 트래픽이 크게 늘고 있다. 따라서 해당 기종 사용자는 즉시 업데이트를 적용해야 한다.

요즘은 취약점 패치 직후에 상세한 내용과 샘플 코드가 공개되는 일이 많다. 보안업체 간의 과당경쟁 때문으로, 큰 문제라고 생각한다. 제조사가 패치를 내놔도 그것이 사용자에게 적용되는 데는 어느 정도 시간이 걸리기 마련이다. 그럴 여유도 주지 않고 성급하게 공개해 버리는 것은 사실상 범죄자를 돕는 무책임한 짓이다.

현실이 이런데 어쩌겠는가. 항상 뉴스를 주시하고 있다가 보안 이슈와 업데이트가 나오면 즉시 적용하는 수 밖에.

해시된 암호로 로그인(pass-the-hash attack)

이 취약점에서 해커는 관리자의 실제 암호를 알 필요 없이, 유출된 암호의 해시 값(password hash)만으로 라우터에 로그인할 수 있었다. 이건 심각한 문제다.

hash는 encryption(암호화)과는 전혀 다른 것이지만, 다른 사람이 알아볼 수 없게 한다는 점에서, 크게 보면 암호화라 할 수 있다. 해시를 이용한 인증은 웹 사이트에서 많이 이용하는데, 사용자가 입력한 암호의 해시 값과 저장된 암호의 해시 값을 비교하는 방식이다.

암호를 평문(plain text)으로 저장하지 않고 digest(해시 값)만을 저장하는 이유는, 저장된 암호가 유출되더라도 원래 암호를 알 수 없게 하기 위함이다. 그런데 다이제스트를 그대로 이용해 로그인할 수 있다면, 해시를 하는 의미가 없는 것이다.

다이제스트만으로 로그인을 할 수 있다면, 이것 자체가 인증 과정의 취약점이다. 이런 경우가 흔한 것은 아니겠지만, SQL server에도 있었다(참3). 이런 공격 방법을 pass-the-hash attack이라 한다.

이 점은 지문이나 홍채 등 생체인식을 이용한 인증에서도 마찬가지이다. 스마트폰의 경우, 사용자의 생체 데이터는 기기에 직접 저장되지 않고, 해시 값만 저장하므로 해킹으로부터 안전하다고 한다. 그러나 해시 값 유출만으로도 어느 정도 위험성은 있는 것이다.


참고 자료
  1. Hackers Targeting Cisco RV320/RV325 Routers Using New Exploits
  2. Cisco RV320 Unauthenticated Configuration Export
  3. How to Re-Create a Login with only a Hashed Password 

댓글

이 블로그의 인기 게시물

엑셀 필터 상태에서 복사와 잘라내기

가정에서도 망 분리를 해보자

잉크젯 프린터 전원은 항상 켜 놓아야 좋다