게이트키퍼(macOS)

Gatekeeper (macOS)
게이트키퍼
Gatekeeper logo.png
개발자애플사
초기 릴리즈2012년 7월 25일(2012-07-25)
운영 체제MacOS

게이트키퍼[1][2]Apple이 제공하는 MacOS 운영 체제의 보안 기능입니다.코드 서명을 적용하고 다운로드한 응용 프로그램을 실행하도록 허용하기 전에 확인하므로 악성 프로그램이 잘못 실행될 가능성을 줄일 수 있습니다.게이트키퍼는 Mac OS X Leopard에서 도입되어 Mac OS X Snow [3][4]Leopard에서 확장File Quarantine을 기반으로 합니다. 기능은 명령줄 유틸리티Mac OS X Lion 버전 10.7.3에서 시작되었습니다. spctl.[5][6] 원래 OS X Mountain Lion(10.8)에 그래픽 사용자 인터페이스가 추가되었지만 10.7.5 [7]업데이트로 Lion으로 역리포트되었습니다.

기능들

배열

Screenshot of the System Preferences application of OS X Yosemite, showing the three Gatekeeper options as radio buttons.
[ System Preferences ]어플리케이션의 게이트키퍼 옵션macOS Sierra 이후 "Anywhere" 옵션은 기본적으로 숨겨져 있습니다.

[ System Preferences ]의 [Security & Privacy]패널에서는, 다음의 3개의 옵션을 사용해 애플리케이션을 다운로드할 수 있습니다.

Mac App Store
Mac App Store에서 다운로드한 응용 프로그램만 시작할 수 있습니다.
Mac App Store and identified developers
Mac App Store에서 다운로드한 응용 프로그램과 인증된 Apple 개발자가 서명한 응용 프로그램을 시작할 수 있습니다.이것은 Mountain Lion 이후 기본 설정입니다.
Anywhere
모든 애플리케이션을 기동할 수 있습니다.그러면 실질적으로 게이트키퍼가 꺼집니다.이것은 Lion의 기본 설정입니다.macOS Sierra에서 이 옵션은 기본적으로 [8][9]숨겨져 있습니다.
그러나 터미널에서 'sudo spctl --master-disable' 명령을 사용하여 관리자 비밀번호로 인증하여 이 옵션을 다시 활성화할 수 있습니다.

명령줄 유틸리티 spctl은 커스텀 규칙, 개별 권한 또는 포괄적인 권한 등의 세밀한 제어 기능과 게이트키퍼를 [6]끄는 옵션을 제공합니다.

격리

응용 프로그램 다운로드 시 특정 확장 파일 속성("검역 플래그")을 다운로드된 [10]파일에 추가할 수 있습니다.이 속성은 웹 브라우저나 이메일클라이언트 등의 파일을 다운로드하는 응용 프로그램에 의해 추가되지만 일반적으로 전송 일반적인 BitTorrent 클라이언트소프트웨어에 의해 추가되지는 않습니다.애플리케이션 개발자는 이 기능을 응용 프로그램에 구현해야 하며 시스템에 의해 구현되지 않습니다.시스템은 Xprotect라는 이름의 [11]시그니처 기반 시스템을 사용하여 개별 응용 프로그램에 이 동작을 강제할 수도 있습니다.

실행

Screenshot of a system alert, informing the user that the application cannot be opened, because it was not signed by a registered developer.
Apple 인증 개발자에 의해 서명되지 않았기 때문에 Gatekeeper가 응용 프로그램 실행을 차단할 때 표시되는 시스템 경보 스크린샷입니다.

사용자가 이러한 Atribut을 사용하여 응용 프로그램을 열려고 하면 시스템은 실행을 연기하고 다음 중 하나를 확인합니다.

  • 블랙리스트에 올라 있습니다.
  • Apple 또는 인정 개발자에 의해 코드 서명이 되어 있는지,
  • 에는 시그니처와 일치하는 코드 서명 내용이 포함되어 있습니다.

Mac OS X Snow Leopard 이후 시스템은 알려진 악성 프로그램 또는 안전하지 않은 소프트웨어를 식별하기 위해 두 가지 블랙리스트를 유지합니다.블랙리스트는 정기적으로 갱신됩니다.응용 프로그램이 블랙리스트에 있는 경우 파일 검역은 응용 프로그램 열기를 거부하고 [11][12]휴지통으로 이동할 것을 사용자에게 권장합니다.

코드 서명 요건이 충족되지 않으면 게이트키퍼는 애플리케이션 열기를 거부합니다.애플은 응용프로그램이 서명된 개발자의 인증서를 해지하고 추가 [1][3]배포를 방지할 수 있습니다.

응용 프로그램이 파일 검역 또는 게이트키퍼를 통과하면 정상적으로 실행이 허용되고 다시 [1][3]검증되지 않습니다.

오버라이드

Gatekeeper를 덮어쓰려면 사용자(관리자로서 작업)는 System Preferences의 Security & Privacy 패널에서 보다 관대한 정책으로 전환하거나 컨텍스트메뉴에서 응용 프로그램을 열거나 spctl[1]사용하여 특정 응용 프로그램의 수동 덮어쓰기를 허가해야 합니다.

경로 랜덤화

개발자는 시스템에 의해 하나의 단위로 검증될 수 있는 디스크 이미지에 서명할 수 있습니다.macOS Sierra에서는 이를 통해 개발자가 모든 번들 파일의 무결성을 보장하고 공격자가 번들 파일을 감염시켜 나중에 재배포하는 것을 방지할 수 있습니다.또한 "경로 랜덤화"는 임의의 숨겨진 경로에서 응용 프로그램 번들을 실행하여 해당 위치에 상대적인 외부 파일에 액세스할 수 없도록 합니다.애플리케이션 번들이 서명된 설치 패키지 또는 디스크이미지에서 생성된 경우 또는 사용자가 다른 파일 없이 애플리케이션을 다른 [8]디렉토리로 수동으로 이동한 경우 이 기능은 꺼집니다.

시사점

말웨어 퇴치에 있어서의 게이트키퍼의 효과와 근거는 [3]인정되고 있습니다만, 의구심을 가지고 있습니다.보안 조사원인 Chris Miller는 Gatekeeper가 개발자 증명서를 검증하고 어플리케이션을 처음 열었을 때만 기존의 말웨어 목록을 참조할 것이라고 지적했습니다.이미 게이트키퍼를 통과한 멀웨어는 [13]중지되지 않습니다.또한 게이트키퍼는 검역 플래그가 있는 응용 프로그램만 확인합니다.이 플래그는 시스템이 아닌 다른 응용 프로그램에 의해 추가되므로 이를 무시하거나 실행하지 않아도 게이트키퍼가 트리거되지 않습니다.보안 블로거 Thomas Reed에 따르면 BitTorrent 클라이언트는 이를 자주 위반합니다.애플리케이션이 네트워크 공유나 USB 플래시 드라이브 [10][13]다른 소스로부터 온 경우에도 플래그는 추가되지 않습니다.개발자 자격증을 취득하기 위한 등록 절차와 증명서 [14]도용 가능성에 대해서도 의문이 제기되고 있습니다.

2015년 9월 보안 연구원 패트릭 워들(Patrick Wardle)은 외부 파일과 함께 배포되는 애플리케이션,[8] 예를 들어 JavaScript를 포함할 수 있는 HTML 파일과 관련된 또 다른 결점에 대해 기술했습니다.공격자는 이러한 파일을 조작하여 서명된 응용 프로그램의 취약성을 이용할 수 있습니다.그런 다음 응용 프로그램 번들의 원래 시그니처는 그대로 유지하면서 응용 프로그램과 외부 파일을 재배포할 수 있습니다.Gatekeeper는 이러한 개별 파일을 확인하지 않기 때문에 보안이 손상될 [15]수 있습니다.경로 랜덤화와 서명된 디스크 이미지를 통해 Apple은 MacOS [8]Sierra에서 이 문제를 완화하는 메커니즘을 제공했습니다.

2021년에 퍼팅의 취약성이 발견되었습니다.#!([16]인터프리터의 패스를 사용하지 않는) 파일의 첫 번째 줄에 있는 Gatekeeper를 바이패스합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d "OS X: About Gatekeeper". Apple. February 13, 2015. Retrieved June 18, 2015.
  2. ^ Siegler, MG (February 16, 2012). "Surprise! OS X Mountain Lion Roars Into Existence (For Developers Today, Everyone This Summer)". TechCrunch. AOL Inc. Retrieved March 3, 2012.
  3. ^ a b c d Siracusa, John (July 25, 2012). "OS X 10.8 Mountain Lion: the Ars Technica review". Ars Technica. pp. 14–15. Archived from the original on March 14, 2016. Retrieved June 17, 2016.
  4. ^ Reed, Thomas (April 25, 2014). "Mac Malware Guide : How does Mac OS X protect me?". The Safe Mac. Retrieved October 6, 2016.
  5. ^ Ullrich, Johannes (February 22, 2012). "How to test OS X Mountain Lion's Gatekeeper in Lion". Internet Storm Center. Retrieved July 27, 2012.
  6. ^ a b "spctl(8)". Mac Developer Library. Apple. Retrieved July 27, 2012.
  7. ^ "About the OS X Lion v10.7.5 Update". Apple. February 13, 2015. Retrieved June 18, 2015.
  8. ^ a b c d "What's New in Security". Apple Developer (Video). June 15, 2016. At 21:45. Retrieved June 17, 2016.
  9. ^ Cunningham, Andrew (June 15, 2016). "Some nerdy changes in macOS and iOS 10: RAW shooting, a harsher Gatekeeper, more". Ars Technica UK. Archived from the original on June 16, 2016. Retrieved June 17, 2016.
  10. ^ a b Reed, Thomas (October 6, 2015). "Bypassing Apple's Gatekeeper". Malwarebytes Labs. Retrieved June 17, 2016.
  11. ^ a b Moren, Dan (August 26, 2009). "Inside Snow Leopard's hidden malware protection". Macworld. Retrieved September 30, 2016.
  12. ^ "About the 'Are you sure you want to open it?' alert (File Quarantine / Known Malware Detection) in OS X". Apple Support. March 22, 2016. Archived from the original on June 17, 2016. Retrieved September 30, 2016.
  13. ^ a b Foresman, Chris (February 17, 2012). "Mac developers: Gatekeeper is a concern, but still gives power users control". Ars Technica. Retrieved June 18, 2015.
  14. ^ Chatterjee, Surojit (February 21, 2012). "OS X Mountain Lion Gatekeeper: Can it Really Keep Malware Out?". International Business Times. Retrieved March 3, 2012.
  15. ^ Goodin, Dan (September 30, 2015). "Drop-dead simple exploit completely bypasses Mac's malware Gatekeeper". Ars Technica. Archived from the original on March 20, 2016. Retrieved June 17, 2016.
  16. ^ Gatlan, Sergiu (December 23, 2021). "Apple fixes macOS security flaw behind Gatekeeper bypass". Bleeping Computer. Retrieved May 6, 2022.