새롭게 추가되는 보안 기술을 중심으로

김현준 hyunjoon@mdstec.com  / MDS테크놀로지(주)


최근 들어 인터넷 검색을 하다 보면 불법 사이트에 접속하지 않았음에도 불구하고 본의 아니게 원치 않는 사이트에 접속하게 되는 경우가 빈번하다.

문제는 이러한 악성코드가 사용자의 인지 없이 전파되고 있다는 점과 루트킷(Rootkit) 전파와 같이 응용되는 기술이 다양화, 고도화되고 있다는 점이다. 더구나 시간이 갈수록 그 빈도도 높아지고 있다.

이는 보안과 관련하여 새로운 패러다임이 필요한 시점이며, 보안을 고려하지 않고 편리성만을 강조하는 컴퓨팅 환경은 매우 위험한 것임을 시사한다.

오늘날 우리의 개인정보를 탈취하고 보안을 위협하는 Buffer Overflow, Password Crackin g, API Hooking, DLL Injection, XSS, DDOS, Spoofing 등 우리가 알고 있는 것만 해도 너무나 많은 해킹 기술들이 우리 주변에 산재해 있다.

이러한 위협요소들은 특히 휴대성(Portable)과 연결성(Networked)을 지닌 디바이스 시대로 접어들면서 더욱 지능화되고 교묘해지고 있는 추세다.

최근의 해킹 트렌드는 어플리케이션이나 내부시스템 공격뿐 아니라 Network Infra를 활용하고, 심지어는 운영체제 부팅 전 단계인 펌웨어단에서부터 이루어지고 있다. 로우(low) 레벨의 HW단에서부터 최상위 어플리케이션단에 이르기까지 해킹위협은 전반적으로 존재한다고 볼 수 있다.

이렇게 종합적인 보안이 요구되는 상황에서 우리가 시스템의 어느 한 부분이라도 취약점을 노출하게 된다면 한 쪽을 수수깡으로 받쳐놓은 삼각대의 형세처럼 시스템 전반에 위협을 가하는 일이 될 것이다.

마이크로소프트는 지난 한 세대가 지나는 동안 매번 새로운 기술을 접목한 진보하는 운영체제를 선보여 왔다. 그 중에서도 특히 Windows Firewall, User Acc ount Control 등과 같은 보안 메커니즘은 마이크로소프트 개발 정책에서도 항상 최우선 과제로 처리되고 있다.

윈도우 8 출시와 더불어 마이크로소프트는 다각적인 취약점 분석을 통해 보안대상의 범주를 넓혔으며 창과 방패의 보안전쟁에서 더욱 견고해진 방어선을 구축하게 되었다.

이번 기고에서는 윈도우 8에서 새롭게 추가되는 보안 기술에 대해 소개하고, 추가로 같은 기반의 임베디드 디바이스 전용 운영체제인 윈도우 임베디드 8(Windows Embedded 8)에서만 제공하는 Embedded Lockdown 기능에 대해서도 알아보고자 한다.

강력한 보안의 시작은 HW에서부터

전문에 잠시 언급된 루트킷(Rootkit)이란 백도어나 트로이목마 공격을 위한 바이러스의 일종이며, 여기서 Root(뿌리)란 시스템 코어에 부여된 전지적 권한을 의미한다.

동작원리는 특정 HW 및 SW에 대한 취약점을 통해 펌웨어 또는 모듈로 위장하여 시스템에 침투한다. 이 때 전지적 권한을 얻게 되며 실행파일, 라이브러리 등을 교체하거나 모듈에 설치되는 형태이다.

이렇게 감염된 시스템은 ID와 암호가 유출되더라도 사용자 입장에서는 탐지하기가 매우 어려운 것이 현실이다.

대체 이 소동은 언제, 어떻게 벌어진 것일까?

이는 운영체제가 구동되기 전 시스템 시동과정에서 이루어지는 데서 기인한다. 즉, 백신프로그램 설치만으로는 이를 막을 수 없다는 이야기이다.

따라서 시스템이 시작되는 첫 단계부터 보안은 시작되어야 한다. 이외에도 시스템 시동과정 침투를 이용해 공격하는 말웨어(Malware)에는 부트킷(Bootkit) 등이 있으며 다양한 형태로 존재한다.

이와 같은 상황 속에서 마이크로소프트는 기존의 어플리케이션단의 보안뿐 아니라, HW 제조사와의 긴밀한 협조를 통해 UEFI, TPM 등 HW 기반 보안솔루션의 새로운 표준도 정립해 나가고 있다.


그림 1.
Rootkit을 이용한 바이러스 감염은 사용자의 감지 없이 수행된다.


 


UEFI(Unified Extensible Firmware Interface)

우리는 오랫동안 운영체제 부팅을 위해 입출력장치나 주변장치를 구동하기 위한 명령어들의집합체로 BIOS를 사용해왔다.

그러나 BIOS는 16비트 구조로 메모리 관리 제약 등 급속히 발전하고 있는 디바이스에 더 이상 어울리지 않는 솔루션이다.

UEFI는 이러한 Legacy BIOS의 보안적인 한계를 극복하고 보안기술을 접목시킨 최신 표준 솔루션이다. 디바이스는 어떠한 SW가 구동되기 전에 UEFI를 구동하고 부트로더에게 부팅 권한을 넘긴다.

최신 UEFI는 펌웨어가 구동되기 전에 디지털 서명을 확인하는 내부 무결성(Internal Integrity) 검증을 수행한다.
유효한 펌웨어 서명을 생성하기 위한 디지털 인증은 오로지 디바이스 제조사만 접근 가능하기 때문에 UEFI는 Rootkit과 같은 비정상적인 부팅을 막을 수 있다.

UEFI는 이후에 소개되는 Secure Boot와 Meas ured Boot의 필수 조건이다.

TPM(Trusted Platform Module)

TPM은 시스템의 암호화를 위해 생성된 암호 키와 해시를 저장하는 프로세서이다.

데이터 저장 외에 SW 접근이 불가능한 고유키를 이용해 데이터를 서명할 수 있다. 윈도우는 TPM을 통해 암호화 연산과 BitLocker 키 저장, 가상 스마트 카드 등의 정보를 저장할 수 있다.

TPM은 UEFI 및 운영체제에서 무결성 검증 해시와 디지털 서명 인증키를 저장할 수 있는 안전한 저장소이다.

Secure Boot

디바이스가 켜지면 하드디스크의 부트로더를 호출하여 운영체제 로딩이 진행된다.

만약 디바이스에서 Secure Boot를 지원하지 않으면 말웨어(malware) 탐색 없이 부트로더에게 모든 권한을 위임하게 된다.

Secure Boot가 진행되고, 펌웨어가 부트로드를 시작하는 것은 부트로더의 서명이 무결하거나 다음의 경우뿐이다.

•부트로더가 UEFI 데이터베이스에 등록된 인증관리자로부터 서명된 경우
•사용자가 부트로더 디지털 서명을 추가한 경우

Secure Boot 사용을 위해 Windows 8 인증 디바이스는 다음의 조건을 만족해야 한다.

•Secure Boot 설정 활성화
•마이크로소프트 인증관리자 신뢰
• UEFI 데이터베이스 서명 및 해시 추가 가능
• Secure Boot 비활성화 가능


그림 2.
Trusted Platform Module





안전한 시스템 시동을 위해

시작부터 안전해야 진정한 보안이다.

이번 단에서는 앞에서 살펴본 HW 안전 기술과 연관되어, HW와 운영체제가 서로간의 온전성을 검증하기 위해 어떻게 상호통신을 하는지 알아보도록 한다.

HW에서 제공하는 물리적인 보안기능을 활용하면 시스템이 부팅하면서 발생할 수 있는 다양한 위험요소를 제거할 수 있다. HW와 운영체제는 상호보완적으로 동작하며 이를 통해 보안을 강화할 수 있다.

Trusted Boot

Secure Boot는 부트로더의 무결성을 검증하는 프로세스이다. Trusted Boot는 나머지 모든 윈도우의 구성요소의 무결성을 검증하는 프로세스이다.

부트로더는 윈도우 8 커널이 로딩되기 전 디지털 서명을 검증하게 된다.

반면 윈도우 8 커널은 윈도우 부트 드라이버, 시동 파일, ELAM 등 시작 프로세스의 다른 모든 구성요소를 확인한다.
만약 말웨어(malware) 감염에 의해 파일이 손상되었다면, Trusted Boot는 문제를 인식하고 자동적으로 수정한 뒤 다시 부팅을 진행한다.

ELAM(Early Launch Anti-Malware)

기존 운영체제에서는 백신프로그램이 구동되기 전에 악성코드가 실행될 수 있었다. 이에 따라 부팅하는 동안 기타 드라이버가 업데이트 되거나 교체될 수 있다.

그 결과, 악성 드라이버는 커널 레벨의 권한을 부여 받고 백신 프로그램이 구동되기 전에 주요 시스템 리소스를 수정하고 은폐시킨다.

윈도우 8 환경에서 ELAM은 기타 드라이버가 로드되기 전에 실행되며 각 드라이버의 무결성을 검증한다. 빠른 부팅을 위해 ELAM은 알려진 말웨어의 서명에 확인만을 하는 간단한 구조로 되어 있다.

ELAM은 인증된 드라이버 목록을 통해 부트 드라이버를 비교하는 단순한 기능만 한다. 부트 드라이버가 수정되면 ELAM은 변화를 감지하고 해당 드라이버를 로드하지 않음으로써 드라이버 구조의 부트킷(Bootkit) 실행을 방지하게 된다.

간단한 구조이지만 효과적인 방법이다. ELAM은 부트 프로세스 이후 수초 안에 수행된다. 윈도우 8의 Windows Defender는 ELAM을 지원한다.

ELAM을 통해 조작된 부트 드라이버에 대한 처리 방법을 결정하기 위해 그룹정책을 이용한다. 
 
 

그림 3.
UEFI Secure Boot 프로세스


 


 


Measured Boot

이전 버전의 운영체제에서 루트킷, 부트킷과 관련한 가장 큰 문제는 사용자가 인식하지 못한다는 점이었다. 이는 백신 프로그램이 구동하기 전에 실행되어 시스템 레벨 권한을 가지고 시스템 리소스 접근을 위한 은폐를 진행할 수 있다는 이야기다.

그 결과 Rootkit에 감염된 디바이스는 백신 프로그램이 구동하고 있음에도 불구하고 정상으로 인식되게 된다.

그렇다면 부트킷의 은폐된 악성코드는 과연 어떻게 확인할 수 있을까? 윈도우 8에서는 가능하다.

윈도우 8에서는 Measured Boot 기능을 추가했다. Measured Boot는 펌웨어, 윈도우, 심지어 ELAM 드라이버 포함한 부트 관련 구성요소의 수치를 기록하기 위해 TPM HW 구성요소를 이용한다.

TPM이라는 물리적인 보안기능을 이용하기 때문에 모든 수치화된 구성요소의 로그는 말웨어의 공격으로부터 안전할 수 있다.


그림 4.
그룹 정책 관리 편집기를 이용한 ELAM 설정





뼛속부터 안전하게


통뼈라 건강하다는 말이 있다. 이것은 그것이 이루어진 기반 코어(Core)가 견고해야 외부로부터의 면역력을 갖는다는 말이다.

우리는 종종 특정 프로세스로부터 시스템 메모리에 대한 공격을 받게 된다. 이전 버전의 운영체제에서는 이와 같은 커널레벨의 공격에 대해 취약점을 가지고 있었다. 윈도우 8의 코어는 다음과 같은 기술을 제공함으로써 시스템 침입 및 불법실행을 방지하고 있다.

ASLR(Address Space Layout  Randomization)

시스템 접근 권한을 얻는 가장 일반적인 방법은 이미 구동하고 있는 프로세스의 취약점을 이용해 중요한 시스템코드 및 데이터가 있는 메모리 주소를 파악하여 악성코드를 삽입하는 것이다.

이전 운영체제에서는 알려진 시스템 메모리 위치에 이 같은 직접적인 침입이 가능했다.

ASLR은 중요한 데이터 메모리에 저장하는 방법과 주소 임의로 설정하여 위와 같은 공격을 막을수 있다. ASLR을 통해 말웨어의 특정 프로세스 공격을 막을 수 있다.

그림 5는 윈도우가 부팅 시마다 중요한 윈도우 구성요소의 주소가 어떻게 변하는지 보여준다.
윈도우 7에서는 같은 기능을 제공했지만 Heap Spraying과 같은 고도화된 공격을 막기에는 최신 레벨의 솔루션은 아니었다. 윈도우 8에서는 좀 더 향상된 ASLR을 제공한다.

윈도우 8에서는 64비트 시스템에서 제공하는 광대한 메모리 영역의 이점을 이용하여 훨씬 신뢰도 있는 ASLR을 구성할 수 있다.

또한 TPM을 통해 ASLR 임의 메모리 주소는 고유의 값으로 보관되기 때문에 더욱 안전하다.

DEP(Data Execution Prevention)

말웨어는 대개 메모리에 악성코드를 심어 추후에 구동되도록 하는데 ASLR은 이를 막는 기능이다. 이에 추가로, 오직 정보 저장을 위한 영역에 악성코드가 삽입되었음에도 불구하고 구동을 막을 수 있다면 어떨까?

DEP가 바로 그런 기술이다. DEP는 악성코드가 실행될 수 있는 메모리 영역을 한정하고 No eXecute(NX) 비트를 이용하여 코드로 실행되어서는 안되는 데이터에 대한 메모리 블록을 지정한다.

따라서 말웨어코드가 특정 블록 메모리에 로드되었다고 하더라도 해당 영역에서는 절대 실행되지 않는다.

이러한 DEP의 중요성 때문에 윈도우 8부터는 별도의 DEP 지원 HW를 포함한 프로세서를 필요로 한다. 사용자는 DEP가 활성화되지 않은 디바이스에는 윈도우 8을 설치할 수 없다. 다행히도 현재는 대부분의 프로세서가 이 기능을 포함하고 있다.

추가로 윈도우 8은 사용자의 편리한 DEP 사용을 위해 보안 이점을 살릴 수 있는 Process Monitor와 같은 많은 SW가 제공된다.



그림 5.
부팅에 따라 변경되는 시스템 메모리 주소






안전한 데스크톱 환경


윈도우 8은 사용자 레벨의 보안 기술도 제공하고 있다. 사용자에게 IE, 백신 프로그램 등 익숙한 보호 환경을 제공하는 동시에 강력한 보안기능도 유지하고 있다.

Windows Defender

윈도우 8의 Windows Defender는 기존 Antisp yware 개념에서 잠재된 악성 SW의 탐색과 중지까지 모두 지원하는 Full-featured Antimalw are로 업그레이드되었다.

따라서 윈도우 8 사용자는 더 이상 Microsoft Security Essential을 이용할 필요가 없다. Wind ows Defender는 윈도우 8의 ELAM 기능을 제공하며, 기타 드라이버를 감염시키는 Rootkit 바이러스를 감지하면 해당 드라이버가 구동하지 못하도록 막을 수 있다.

SmartScreen Filter

최근 윈도우는 사용자의 인지 없이 설치되는 악성코드를 방지하기 위해 다양한 효과적인 기술을 제공한다.

이러한 보안기능을 피해가기 위해 악성 프로그램은 종종 사용자의 실수를 이용한 Social Engi neering 기술을 이용한다.

예를 들어 Trojan 바이러스로 알려진 악성코드를 잘 알려진 게임이나 유틸리티에 위장하여 설치하게 하는 것이다.
IE 8(Internet Explorer 8)을 시작으로 SmartScr een은 어플리케이션 및 URL 평가 서비스를 이용하여 악성 어플리케이션이나 웹사이트 실행을 방지해왔다.

SmartScreen은 IE의 기능으로, 마이크로소프트 관리 목록과 비교하여 새롭게 설치된 어플리케이션이나 웹사이트를 확인해준다.

특정 어플리케이션이나 URL이 안전하지 않다고 판단될 경우에는 그룹정책 설정에 따라 사용자에게 경고 하거나 실행 중지시킬 수 있다.

윈도우 8의 SmartScreen은 사용하는 브라우저에 상관없이 어플리케이션 평가 서비스를 제공하고 있다. 인터넷을 통해 직접 실행하던 다운로드하여 다른 디바이스에서 실행하던 SmartS creen은 마이크로소프트 관리 서비스 항목을 참조하여 해당 파일의 평가를 확인한다.

그림 7에서 실행한 인터넷 다운로드 프로그램을 Windows 7에서 실행한다면 그림 8과 같이 아무 경고 없이 실행되는 것을 볼 수 있을 것이다.

Internet Explorer 10

윈도우 8의 IE 10(Internet Explorer 10)은 모던앱 스타일의 터치기반 풀 스크린 브라우저와 데스크톱 스타일의 브라우저, 두 가지 환경을 제공한다.

두 가지 환경 모두 IE 10의 동일한 iexplorer.exe를 사용하며 풍부하고 향상된 보안 기능을 제공한다.

• Enhanced Protected Mode. 64비트 운영체제의 광대한(이론적으로, 1테라바이트 이상) 메모리 공간을 활용하여 악성코드가 시스템 권한을 할당 받는 것을 막는다. IE 10은 Hot mail에서 첨부파일을 업로드하는 경우와 같이 사용자가 파일을 접근할 때 별도의 Broker 프로세스를 이용한다. 사용자가 파일열기를 클릭하면 별도의 Broker 프로세스가 동작하면서 불편함 없이 보안성을 높일 수 있다.
• Improved Memory Protection. 과거에는 악성코드를 포함하는 웹사이트가 브라우저의 취약점을 이용해 악성코드를 설치할 수 있었다. 때로는 신뢰하는 웹사이트에 방문하여 사용자 허락 없이 악성코드가 실행되는 경우도 있었다. IE 10에서는 Improved Memory Prote ction 기능을 이용해 이러한 시스템 권한 획득을 통한 감염을 막을 수 있다.
• Improved Cross-Site Scripting(XSS) Filter. XSS는 사용자의 인지 없이 신뢰할 수 있는 사이트에 악성코드를 포함시킬 수 있다. IE 10은 XSS 필터를 통해 감염을 막을 수 있다. 윈도우 스토어 버전 IE 10은 성능을 저하시키는 add-on 기능을 실행하지 못하게 했다. 반면 HTML 또는 CSS3와 같은 최신 표준을 지원하며 풍부하고 인터랙티브한 웹사이트 환경을 제공한다.
 
 

그림 6.
Windows Sysinternals의 모니터링 유틸리티를 이용해 프로세스의 상세 정보를 얻을 수 있다.




 
 

그림 7.
SmartScreen은 어플리케이션의 잠재적인 위협 요소를 안내해준다.







그림 8.
이전 버전의 윈도우에서 실행한 모습




 
 

그림 9.
세심한 검토를 통해 제작되는 스토어 앱







그림 10.
그룹정책을 통한 AppLocker 규칙 설정





표 1.
Embedded Lockdown 기능 정리



 
 

그림 11.
급증하고 있는 스미싱 악성코드





 
 

그림 12.
윈도우 버전별 말웨어 감염 추이 비교


 
 

Windows Store Apps

SmartScreen이 인터넷으로부터 악성코드 다운로드를 막고 있는 것은 사실이지만, 다양한 형태로 출현하는 모든 위협요소를 제거한다는 것은 어려운 일이다. 과거에는 신뢰하는 웹사이트의 경우에도 사용자의 인지 없이 악성코드가 실행되기도 했었다. 어떠한 인터넷 환경도 믿을 수 없다는 이야기이다.

이런 관점에서 윈도우 스토어를 통해 어플리케이션을 다운로드한다는 것은 매우 고무적인 일이다.

스토어에 등재되기 위해서는 세심한 검토가 수행되기 때문이다. 기관에 의해 제작되고 Sidel oading 프로세스를 거쳐 배포된 윈도우 스토어 어플리케이션은 보안 규정을 준수하기 위해 내부적으로 검토될 것이다.

따라서 사용자 입장에서는 신뢰성을 확보하게 되는 것이다.

AppLocker

기존 운영체제와 더불어 윈도우 8에서도 사용자가 허가한 어플리케이션만 구동하도록 하기 위한 AppLocker를 제공한다. AD DS(Active Directory Domain Services) 환경의 그룹정책 설정을 통해 구동을 원하는 모든 어플리케이션과 신뢰하는 배포자의 목록 등을 생성할 수 있다.

윈도우 8은 AppLocker 기능을 윈도우 스토어 어플리케이션까지 확장하였으며 AppLocker 규칙을 단순화하였다.
윈도우 스토어 어플리케이션의 AppLocker 규칙은 어플리케이션에 포함된 App Installer와 모든 파일에 자동적으로 적용된다. 모든 스토어 어플리케이션은 배포자에 의해 서명되었기 때문에 관리자는 단순히 배포자 규칙만 생성하면 된다.

생성한 규칙은 데스크톱 버전과 윈도우 스토어 버전 모두 적용되기 때문에 기존 어플리케이션과 더불어 새로운 패키지를 관리하는데도 편하다.

임베디드 시스템만을 위한 보안

마이크로소프트는 임베디드 디바이스 개발을 위한 별도의 임베디드 플랫폼을 제공한다. 대표적인 운영체제는 윈도우 임베디드 8 스탠다드다.

임베디드 8 스탠다드(Windows Embedded 8 Standard)는 윈도우 8의 풀피쳐를 이용하여, 임베디드 디바이스 환경에 필요한 피쳐 재구성 및 설계를 위한 별도의 개발 툴을 제공하는 특수 운영체제이다.

표 1은 앞서 기술한 윈도우 8기반 보안기능에 추가로 제공되는 임베디드만의 특화된 보안기능인 Embedded Lockdown 기능을 보여준다.

일반적으로 임베디드 시스템은 특수 목적만을 반복적으로 수행하는 시나리오가 많기 때문에 사용자의 시스템 접근은 오히려 해가 되는 경우가 많다.

우리는 ELM(Embedded Lockdown Manager)을 통해 사용자로부터의 불법적인 조작을 방지할 수 있다.

편리 vs 보안, 언제나 양면성은 있다

윈도우 비스타가 처음 나왔을 때 사용자들의 반응은 모두 불편하고 귀찮다는 것이었다. 그 이유는 보안을 위해 제공된 UAC(User Account Control)가 오히려 사용자의 편리성을 침해한다는 편견 때문이었다. 이같은 견해에 대해서는 우리가 재조명해 볼 필요가 있다.

우리는 컴퓨터 15.6인치의 작은 창을 통해 드넓은 WORLD WIDE WEB 세상과 대면해 있다.

이러한 디지털 세상에는 우리 삶과 마찬가지로 많은 위험과 범죄가 도사리고 있다. 도둑이 없는 시골에서 자물쇠란 불필요한 것이지만, 고도화되고 낯선 사람들이 즐비한 이 도시에서의 관건(關鍵)이란 당연한 일상인 것이다.

악성코드는 개선되는 운영체제 못지않게 발전하고 있다. 백신 프로그램 개발사에서도 하루가 멀다 하고 출현하는 악성코드를 일일이 분석하는 현재의 블랙리스트 방식이 아닌 인증된 프로그램만 구동하도록 하는 화이트리스트 방식으로의 전환도 신중히 검토 중인 것으로 알고 있다.

그 만큼 웹 환경은 험난해지고 있으며 우리의 컴퓨팅 습관은 개인정보와 사생활을 보호하는 일차적인 방어막이 될 것이다.

방어가 최대한의 보안인 시대가 오고 있다. 이러한 관점에서 윈도우가 내놓은 새로운 메커니즘은 귀찮은 존재가 아닌, 쓰지만 익숙해지고 발전시켜 나가야 할 약초와 같은 존재는 아닐까?
 

참고

 MDS테크놀로지 홈페이지: www.mdstec.com
윈도우임베디드 솔루션: www.embedsolution.com
윈도우임베디드 개발자 커뮤니티: www.iwecom.co.kr


회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지