MacOS 하이시에라 root 로그인 겸 취약점

어느 OS던 보안에 자유로울 수 없다. 이건 당연하다.
그래서 각자 나름의 보안 정책으로 OS의 보안을 책임진다.

윈도우를 예를 들면,
Administrator 계정은 윈도우 설치 시 비활성화한다. (기본값 User, 튜닝으로 자동 활성화는 가능, 서버 제품군은 제외)
윈도우는 “비번 없음” 과 “비활성화” 속성이 다름에 유의하라.
그리고 어떤 계정이던 간에 비밀번호를 설정하지 않으면 원격 데스크톱 접속을 막는다.
그리고 UAC.

리눅스와 맥이야 UAC 비슷하게 시스템을 건드리는 작업이 발견되면 인증을 요구한다.
요즘 리눅스는 root 비밀번호가 없다. 비밀번호가 없다면 그 계정은 비활성화나 다름없는 것이다.
대신에 sudo를 통해 root 행세를 할 수 있고, 필요시 sudo passwd -u root 명령어로 비번을 바꿈으로 인해 root 계정 활성화는 가능하다.

대충 이런 식이다.

근데… 맥. 그것도 최신 버전인 하이 시에라에서는…
root 비번이 없는데도 불구하고 활성화가 가능한 어이 상실하는 취약점이 발견됐다.

방법은 이렇다.

설정(Preferences)에 들어간 뒤, 아무 설정이나 간다. 계정 관련 설정이면 접근이 더 쉬울 것이다.
그리고, 우측 하단 자물쇠가 있는데 그 아이콘을 누른다.

설정

그리고 사용자엔 root 입력한 뒤, 비번은 입력하지 않고 승인(Unlock) 버튼을 누르면 된다.
물론 한번에 안된다. 여러번 하면 된다. 여러번.

그러면 로그인 성공한 것처럼 인증 창이 닫히면서 자물쇠가 풀린다.

자. 이제 당신의 맥은 좆됐다는 마음가짐으로 임해야 한다.

이제 이로 인해 당신의 맥의 잠재적인 위험성이 뭐가 있을까?

  • 만약 당신의 맥을 원격으로 ssh 명령어를 통해 접근할 경우 비번 없이 root에 접근할 수 있다.
  • ssh 뿐만이겠나? VNC 등 원격으로 접근 가능한 모든 수단이 털릴텐데.

뭐 대충 설명해도 위험성은 충분히 인지했으리라 믿는다. 공중 WiFi 들어가는 순간 니 맥은 공공재가 되는 것이다.

그렇다고 그걸 막는 방법이 없는 건 아니다.
가장 간단한 방법은 우분투에 root 비번 바꿨던 것처럼 명령어를 이용해 바꾸는 것이다.
터미널 열고,
sudo passwd -u root
그리고 원하는 강력한 비번을 입력하면 조치는 끗. 제발 특문까지 들어간 강력한 비번 써라. 제발이다.

아래는 간단한 root 인증여부를 확인하는 스크립트이다. 대충 UI 자동화 스크립트라고 보면 되겠다.
osascript -e 'do shell script "id" with administrator privileges user name "root" password ""'

이 문제는 하이 시에라에서만 발생한 문제이고 수정 사항이며, 하위 버전은 신경 안 써도 된다.
당연히 발견자는 애플에게 보고했고, 이제 애플의 응답만 남았다. 왜냐면 이건 한국시각으로 글을 최초로 쓴 날 새벽에 발견한 취약점이기 때문이다.

끗.

composite / 2017년 11월 29일 / Piss Development / 0 Comments