상세 컨텐츠

본문 제목

[MacOS] 인터넷 다운로드 파일 실행 차단 - 확인되지 않은 개발자 실행 불가

IT 이야기

by 리치윈드 - windFlex 2020. 12. 8. 18:47

본문

반응형

맥OS를 사용할 때, 인터넷에서 다운 받은 파일이 실행되지 않는 경우가 있습니다.

다음과 같은 창을 보게 되는데요.

"확인되지 않은 개발자가 배포했기 때문에 열 수 없습니다"

 

개발자가 확인되지 않았기 때문에 실행할 수 없다. 경우에 따라서 바로 삭제(휴지통 이동)을 권고하기도 한다.

악의적으로 악성코드를 포함한 App일 수 있기 때문에, 의도한 기관의 개발자와 일치하여야 구동이 가능하도록 설정해 두었습니다.

(애플 보안정책)

 

위 그림의 경우에는, 크롬 웹드라이버를 설치할 경우의 화면 입니다. 

저는 크롬 웹드라이버 공식 사이트에서 다운로드 하고, Hash를 확인을 하였기 때문에 안전하다고 판단하고 설치를 진행합니다. 

(믿을 만한 App인지 다시 한번 확인하세요. 이상한 블로그나 불법 SW에서 발생하는 위 메세지는 피하시길 권고 드립니다.)

 


[ 원인 ]

 

맥OS에서는 다운로드한 파일에 대해서, 개발자 (코드사이닝) 확인을 하고, 각 파일에 대해서 속성(Attribute)을 부여합니다. 

 "ls -l"을 실행하면, @ 표시가 되어 있는 파일을 볼 수 있는데, 속성이 추가되었다고 보면 됩니다. 다운로드(/Downloads) 폴더는 대부분 속성이 추가되어 있는 것을 확인 할 수 있습니다. 

 

인터넷 다운로드 실행 차단 이유

이러한 속성은 xattr 명령어를 통해서 확인 할 수 있습니다.

 

자.. 그럼 문제의 파일에는 어떤 속성이 부여 되어 있을까요?

xattr 명령어를 통해서 확인 할 수 있습니다. "xattr <해당파일>"을 실행하면 속성값을 볼 수 있습니다. 

인터넷 다운로드 파일의 속성 확인. xattr

속성은 "com.apple.*" 형태로 표기되어 있습니다. 즉, 위 예제에서는 macl 과 quarantine 이라는 2개의 속성이 부여 되어 있습니다. 

실행차단이 된 이유는 격리속성(quarantine)이 부여되어 있기 때문입니다. 

 

따라서, 실행을 하려면, 근본적으로 quarantine 속성을 제거 하면 됩니다.


[해결 방법] 

방법 1. 터미널창에서 다음을 실행한다. (feat. xattr -d )

xattr -d com.apple.quarantine <다운로드한 파일경로와 이름>

본 포스팅에서는 다운로드 폴더로 이동하여, chromedriver라는 파일을 실행하고자 하므로, 다음처럼 처리합니다. 

xattr -d com.apple.quarantine ./chromedriver
xattr -d 옵션은 해당 속성을 제거한다는 의미 입니다. 

 

방법 2. 시스템 환경 설정 > 일반 탭

터미널에서 명령어 실행이 편하지 않으신 분은 "시스템 환경 설정" 메뉴에서 처리할 수 있습니다. 

시스템 환경 설정 메뉴를 열고, 상단에 "일반탭"을 눌러 줍니다. 

 

하단에 "다음에서 다운로드한 앱 허용" 항목에 평소에는 없던 항목을 볼 수 있다. 

"OOO 앱 사용을 차단 되었습니다." 옆에 "확인 없이 열기" 클릭

 

 

시스템 환경 설정 > 일반 탭에서, 다운로드한 앱 허용

 

더보기

MacOS 시에라 이전에는, "다운로드한 앱 허용" 항목에 "모든"이라는 선택항목이 있었다. MacOS 시에라 부터 이 항목은 보안상 이유로 제거됬다. 대신, 각각 파일에 격리(Quarantine)

 

아래와 같은 어마 무시한 경고 창을 볼 수 있다. 

신뢰할 수 없는 개발자 이기 때문에 악성코드로 동작할 가능성이 있다는 이야기이다. 

우리는 신뢰할 만한 파일을 가정하기 때문에 열기를 눌러 준다. 

마지막 경고창. 신뢰하지 않은 코드는 실행하지 말것

이후 정상 실행 것을 확인 할 수 있을 것입니다. 

 

 

맥북 인터넷 다운로드 파일 실행하기. 개발자 확인 할 수 없어 실행 차단

반응형

관련글 더보기

댓글 영역