본문 바로가기

추천팁

OS X에 내장된 기능만을 사용해 의심스러운 파일이 설치되는 것을 모니터링 하는 방법

들어가며

악성코드와 보안을 위협하는 요소가 나날이 증가함에 따라 맥 운영체제도 해킹의 안전지대가 아니라는 경고를 쉽게 접할 수 있습니다.

불과 2~3년 전만해도 광고를 띄우는 경미한 애드웨어가 주를 이뤘지만, 최근에는 사용자 몰래 루트 권한을 탈취하거나 시스템 깊숙한 곳에 악성코드를 심어놓는 해킹 공격이 급증해 사용자의 불안감을 키우고 있죠. 멀리 갈 것도 없이 백투더맥 블로그만 해도 이전보다 운영체제 보안과 관련된 소식을 포스팅하는 빈도가 대폭 늘어났습니다.

이 떄문에 맥에도 백신을 설치할 필요가 있느냐는 질문을 자주 받고 있는데, 몇 가지 보안 수칙만 잘 준수하면 백신 없이도 맥을 안전하게 쓸 수 있다는 생각에는 변함이 없습니다.

운영체제와 인터넷 브라우저를 늘 최신 버전으로 유지하는 것, 프로그램을 구할 때는 앱스토어나 공식 사이트 같이 신뢰할 수 있는 곳을 이용하는 등의 아주 기초적인 수칙들말이죠. 최근 맥의 보안을 위협하는 요소는 주로 불법 사이트나 다운로드 중계 사이트, 또는 토렌트로 내려받은 프로그램을 사용할 때 발생하는 경우가 대부분이었습니다. 또 웹사이트마다 암호를 달리 사용하고, 영문과 숫자 등을 적절히 조합해서 유추가 어렵도록 설정하는 것도 한 군데가 털렸을 때 추가적인 정보 유출을 막을 수 있는 좋은 방법이라고들 합니다.

여기에 더해 이번에 소개해 드리는 팁 한 가지도 맥의 보안을 강화하는데 많은 도움이 될 듯합니다. 정상 프로그램으로 가장한 악성 프로그램이 사용자 몰래 백그라운드에서 프로세스를 실행하는 것을 방지할 수 있는 방법입니다.

폴더 스크립트로 시스템 모니터링 하기

정상 프로그램이든 악성 프로그램이든 종류를 불문하고 프로그램이 작동하기 위해서는 일단 '실행'되어야 할 것입니다. 단순히 디스크에 저장되어 있다고 프로그램이 작동하는 것은 아니니 말이죠. 그런데 악성 프로그램은 자신의 존재를 들키지 않기 위해 백그라운드(Daemon) 프로세스 형태로 작동하거나, 아니면 백그라운드 프로세스의 도움을 받아 실행되는 경우가 많습니다. 또 애플의 서명을 받지 않은 커널 확장자(Kext)를 설치하기도 합니다.

따라서 어떤 프로그램을 설치하는데 미심쩍은 데몬 프로세스나 커널 확장자가 같이 설치된다면 악성 프로그램이 아닌지 의심해 볼 필요가 있는 것입니다. 그럼 시스템에 데몬 프로세스나 커널확장자가 설치되는지는 어떻게 확인할 수 있을까요?

OS X에 내장된 '스크립트 편집기'로 쉽게 해결할 수 있습니다. 스크립트 편집기 안에는 폴더를 실시간으로 모니터링 할 수 있는 자동화 스크립트가 준비되어 있습니다. 자동화 스크립트를 사용해 시스템 주요 영역을 모니터링하도록 설정하면 데몬 프로세스나 커널 확장자 설치 여부를 그때그때 바로 확인할 수 있게 되는 것이죠. 백신의 시스템 스캔 기능을 흉내낼 수 있을 뿐만 아니라 시스템 자원도 훨씬 적게 사용합니다. OS X에 내장되어 있기 때문에 추가 비용도 필요 없죠.

바로 자동화 스크립트 사용 방법에 대해 알아보겠습니다. 초보자도 금방 익힐 수 있을 정도로 간단합니다.

적용 방법

1. 응용 프로그램 ▶︎ 유틸리티 폴더에 있는 '스크립트 편집기'를 실행합니다. ▼

2. 스크립트 편집기의 환경설정으로 이동한 뒤 일반 탭에 있는 '메뉴 막대에서 스크립트 메뉴 보기' 상자를 체크하세요. ▼

3. 메뉴 막대에 두루마리 모양의 아이콘이 나타나는데 Folder Action ▶︎ Configure Folder Actions 를 선택하면 됩니다. ▼

5. 화면에 '폴더 적용 스크립트 설정' 윈도우가 나타나면 상단에 있는 '폴더 적용 스크립트 활성화' 상자를 체크합니다. 스크립트를 추가하기 위해 윈도우 하단에 있는 '+' 버튼을 눌러주세요. ▼

6. 모니터링할 폴더를 선택할 수 있는 대화상자가 나타납니다. ▼

대화상자를 통해 등록할 폴더는 총 10군데입니다. command + shift + G 키를 누른 후 아래 경로를 입력하면 빠르게 이동할 수 있습니다.

시스템 에이전트 및 데몬 실행 폴더

/System/Library/LaunchAgents/
/System/Library/LaunchDaemons/

공용 에이전트 및 데몬 실행 폴더

/Library/LaunchAgents/
/Library/LaunchDaemons/

사용자 에이전트 실행 폴더

~/Library/LaunchAgents/

커널 확장자 폴더

/System/Library/Extensions/
/Library/Extensions/

시작 항목 폴더

/Library/StartupItems/

인터넷 플러그인 폴더

/Library/Internet Plug-Ins/
~/Library/Internet Plug-Ins/

7. 폴더를 하나하나 등록할 때마다 어떤 스크립트를 짝지어 줄 것인지를 물어보는데요. 목록에서 'add - new item aler.scpt'를 선택하면 됩니다. ▼

8. 모든 폴더를 추가하면 다음 사진과 같이 나옵니다. ▼

9. 폴더와 스크립트 등록이 완료되었으면 '메뉴 막애에서 스크립트 메뉴 보기' 항목을 다시 체크 해제하여 메뉴 막대 아이콘을 없애줍니다. ▼

자! 이제 스크립트가 실시간으로 시스템을 모니터링하다가 해당 폴더에 파일이 추가되는 등의 변화를 감지하면 사용자 주의를 환기시키는 경고창을 띄워줍니다. 경고창을 통해 파일이 설치되는 장소와 개수를 정확하게 파악할 수 있을 뿐만 아니라, 파일을 바로 검토할 수 있도록 해당 폴더로 이동하는 버튼도 달려 있습니다. ▼

코멘트

사실 이번에 소개해 드린 기능은 OS X 엘 캐피탠이 출시되면 쓸모 없는 기능으로 전락할 가능성이 높습니다.

응용 프로그램이 시스템 폴더를 무단으로 건드리지 못하도록 '루트리스'라고 불리는 강력한 시스템 보호 기능이 도입되기 때문입니다. 루트리스를 우회할 수 있는 심각한 취약점이 등장하지 않은 이상, 악성코드나 변조된 커널확장자가 사용자 몰래 설치될 가능성이 원천 차단되는 셈이죠. 애플이 욕을 먹어가면서까지 괜히 루트리스 도입하는 게 아닙니다. 고급 프로그램의 기능성을 제한한다는 단점이 있지만, 보안에 있어서 만큼은 그만한 값어치를 하기 때문입니다.

그럼에도 새 운영체자가 안정화 단계에 들어갈 때까지 한동안 OS X 요세미티를 쓰면서 관망하는 분도 계실 거고, 일부 프로그램 때문에 루트리스를 강제로 끄는 경우도 있을 것 같아 나름의 효용성은 발휘할 수 있을 거라 생각합니다. 간단한 작업으로 운영체제 보안을 향상 시킬 수 있는 방법이니 관심 있는 분들은 한번 적용해 보시기 바랍니다.



참조
Apple - Folder Actions Reference

관련 글
OS X 요세미티 취약점을 노린 새로운 제로데이 익스플로잇 발견
OS X 악성코드 정의 데이터베이스 'XProtect'의 업데이트 여부를 알림센터로 모니터링하는 방법
잘 알려지지 않은 OS X 보안 체계의 한 기둥 'XProtect'
맥용 안티바이러스 제품 18종 벤치마크 테스트 결과