[ 공인 인증서 기술 우회를 통한 전체 시스템 보안성 침해 영향에 대하여 ]
                                                                                               - PKI
기반 기술 우회 대응방안에 대한 고찰

 


문서는 ‘A3 Security Solution Day 2009’ ‘(In)Security’ 세션의 내용을 간략하게 정리한 문서입니다. 따라서, 민감하거나 악용될 우려가 있는 세부적 코드나 기술 방법에 관련된 내용은 비공개로 하며, 문서의 내용은 특정 제품과 일체의 연관이 없습니다.

 

1.  인증서 기술 개요

PKI(public key infrastructure) 기반의 인증서 기술은 다양한 분야에서 사용자 식별’, ‘인증’, ‘전자서명’, ‘암호화등의 목적으로 사용되고 있다. 기술요소는 CA(Certificate Authority), RA(Registration Authority), OCSP(Online Certificate Status Protocol), TSA(Timestamping Authority) 등으로 구성되며, 관련 표준은 PKCS RFC에서 규정하고 있다.

 

2.  공인 인증서 우회 기법의 개념 전체 시스템 보안성 침해 영향

인증서 우회 기법은 인증서 기술과 기존의 Legacy 시스템이 연동할 야기되는 보안 공동 홀을 이용하는 기법이다. , 인증서 기술의 구현/구성 오류로 인하여 전체 시스템의 보안성이 저해될 있음을 의미한다.

정보보호를 위해 사용자 식별’, ‘인증’, ‘전자서명’, ‘암호화등의 목적으로 구현된 인증서 기술로 인하여 전체 시스템의 보안성이 침해될 있으며, 이로 인하여 인증 우회를 통한 권한 오남용, 조직의 주요정보 개인정보 유출 등의 악영향이 발생할 있다. 또한 우회 기법이기 때문에 감사(Audit) 통한 사고 추적도 어렵게 되고, 정확한 침해 원인분석도 난해하게 된다.

정리하면, 보안성(CIA, 기밀성/무결성/가용성) 강화를 위한 기술의 통제 공동으로, 전체 시스템의 보안성이 오히려 저해될 있다는 것이 핵심이다.

이러한 전체 보안성 침해 factor들은 여러가지가 있을 있는데, ‘인증서 세션 도용’, ‘인증서 기반 암호화 무력화’, ‘인증서 파일 업로드 기능을 악용한 악성파일 실행’, ‘OCSP 우회를 통한 만료된 인증서의 재사용등이 그것이다.

문서에서는 이중 인증서 세션 도용’, ‘인증서 파일 업로드 기능을 악용한 악성파일 실행 대하여 간략히 언급하도록 하겠다.

 

3.  공인 인증서 기술 우회로 인한 전체 보안성 침해 기법 상세


3.1
사용자 인증서의 세션 도용을 통한 PKI 인증 무력화

특정 환경에서 인증서 기반의 데이터 전송 인증서 키가 노출될 있으며, 노출된 키를 공격자가 도용하였을 경우 세션 재전송 공격(Replay Attack) 가능하다. 이러한 기법을 통하여 공격자는 PKI 인증을 무력화할 있으며 인가자의 권한을 도용하여 전체 시스템의 보안성을 저해할 있다. 

                                               [그림 1] 노출된 인증서 키를 도용한 PKI 인증 무력화



3.2
전자서명 업로드 method 악용한 악성 파일 실행

인증서 ActiveX 전자서명 파일 업로드 method 악용하여 파일 업로드 실행을 통한 시스템 권한 획득이 가능하다. 이를 통해 공격자는 악성 파일 실행을 통한 주요정보 개인정보 등을 유출할 있으며, 시스템 권한을 악용하여 연계 서버 내부망에 대한 침투를 시도할 있다.



                                      [그림 2] 전자서명 파일 업로드 기능을 악용한 악성파일 실행

 

이상의 기법 이외에도 인증서 기반 암호화 무력화’, ‘OCSP 우회를 통한 만료된 인증서의 재사용등의 우회 기법이 존재한다.

 

4.  대응 방안

먼저 전체적인 시스템 아키텍처가 안전하여야 하고, 이는 경계선 보안 등의 기본적인 보안 개념이 적용되어야 함을 의미한다. 또한, 서버, 네트워크 장비, DBMS, Web Application, Client Application 등의 전체 시스템이 정보보증(Information Assurance) 측면에서 기밀성, 무결성, 가용성, 인증, 부인방지를 보장하여야 한다.


그리고
, 무엇보다 중요한 것은 단위 시스템의 보안성’, ‘단위 시스템 인터페이스의 보안성’, ‘전체 시스템의 보안성 검토하고 개선해 나가려는 노력이라고 있다. 이러한 노력은 다음의 활동 등이 PDCA 관점에서 지속적으로 이루어져야 함을 의미한다.

● 시스템 분석/설계/구축/전개 시의 보안성 검토

모의해킹 등을 통한 현실적이고 실제적인 취약점 도출 개선

●  주기적인 취약점 진단 개선


신고

온라인 컨텐츠 DRM 보안 취약점과 대응방안 


By Ju Se Hong (jsh@a3sc.co.kr)



1.  서론
음악파일, 동영상파일 등 온라인 정보자산에 대한 저작권이 중요해짐에 따라 온라인 컨텐츠 DRM을 통한 정보보호가 많이 보편화되었다. 특히 웹 및 모바일 환경의 급속한 발전에 따라, 관련 기술을 적용한 온라인 컨텐츠 DRM 시장도 많이 성장하였다.

본 문서에서는 성숙기에 있는 온라인 컨텐츠 DRM의 보안에 대해서 취약점과 대응방안 위주로 알아보고자 한다. 단, 본 문서의 내용은 특정 벤더나 특정 솔루션을 대상으로 하지 않고 있으며, 따라서 본 문서의 내용이 일반적인 표현으로 기술된다는 것을 전제한다.


2.  온라인 컨텐츠 DRM이란?
온라인 컨텐츠 DRM은 컨텐츠의 불법사용방지 및 저작권 보호를 위한 기술이다. Wikipedia에서는 DRM을 디지털 컨텐츠 및 디바이스의 사용을 제한하기 위한 접근 통제 기술과 관련된 일반적인 용어로 설명하고 있다. 일반적인 개념으로 DRM은 디지털 컨텐츠의 불법유통과 복제를 방지하고, 인가된 사용자만이 컨텐츠를 사용하게 하며, 디지털 컨텐츠 저작권을 관리하는 기술로 설명할 수 있다.

온라인 컨텐츠 DRM의 기술적인 스펙은 MPEG-21, OMA 등의 표준에서 정의하고 있다. 이러한 DRM 표준들을 적용한 솔루션이 국내•외에서 많이 사용되고 있는데, 특히 웹에서 사용되는 온라인 컨텐츠 DRM은 ActiveX 방식이 많이 사용되고 있다.


3.  보안 취약점
일반적으로 컨텐츠DRM은 암호화를 통해서 컨텐츠를 보호한다. 그리고, MPEG-21, OMA-DRM 등의 DRM 표준 기술은 암호화 기술이 많은 영역을 차지하고 있다.
DRM 표준은 암호화 알고리즘의 적절한 구현과 Rights의 적절한 유통 및 보호에 초점을 맞추어 표준스펙을 정의하고 있으며, 각각의 DRM 표준은 DRM 아키텍처 및 개별 기능에 대한 공격에 대해서도 대응방안을 고려하고 있다.
그러나 DRM 표준을 솔루션으로 구현 시 표준에서 정의하는 대로 적절히 구현되지 않았거나, 특히 암/복호화 루틴과 키가 공격자에게 노출된다면 컨텐츠를 적절하게 보호할 수 없다.

따라서, 표준의 보안성과 표준을 솔루션으로 구현했을 때 솔루션의 보안성은 Gap이 발생 할 수 있다. 또한 솔루션의 보안성과 솔루션을 적용한 시스템의 전체 보안성도 Gap이 발생할 수 있기 때문에, 전체적으로 DRM 표준의 보안성과 DRM을 적용한 컨텐츠 유통 시스템의 보안성은 Gap이 발생하는게 현실이다.
즉, 시스템의 보안성이 전반적으로 향상되지 않으면, 취약한 부분이 생기게 마련이고 공격자는 가장 취약한 부분을 통해 전체 시스템의 보안성을 저해하게 된다.

이러한 통제공동(Control Hole)은 주로 클라이언트 Application에서 많이 발생하는데, 이는 공격자 관점에서도 시스템, 인프라, 알고리즘에 대한 공격보다 클라이언트 Application에 대한 공격이 더 용이하기 때문이다.
아래는 컨텐츠 DRM의 클라이언트 Application에 대한 대표적인 공격 기법들이다.

  • Reverse-Engineering을 통한 Application Tampering
  • Data 조작을 통한 Input/Output Tampering
  • 비인가 Module을 통한 Control-Flow Tampering
  • 채널 조작을 통한 Communication Tampering

이상에서 나온 항목들의 요점은 사용자 PC에서는 모든 것이 조작 가능하고, 그렇기 때문에 사용자 PC에서 동작하는 클라이언트 Application은 가장 Malicious한 환경에 노출되어 있다는 점이다.
이러한 현실적인 한계는 다양한 통제공동(Control Hole)을 야기하고, 공격자는 가장 취약한 부분을 공격하여 전체 시스템의 보안성을 저해하게 된다. 다음은 관련 사례이다.


1.1 복호화 루틴 분석을 통한 DRM 컨텐츠 파일 복호화
공격자는 DRM 클라이언트 Application을 분석하여 암/복호화 루틴을 조작할 수 있으며, 암호화 key가 노출 가능하면 DRM 컨텐츠 파일의 암호화를 해제하여 무단배포할 수 있다.

[그림 1]에서 볼 수 있듯이, DRM 클라이언트의 바이너리 자체를 리버스 엔지니어링(Reverse-Engineering) 기법으로 분석하면, 취약한 루틴을 찾을 수 있다. 특히 DRM 클라이언트 바이너리가 anti-reversing(리버스 엔지니어링 분석에 대한 대응 기술) 기법이 적용되어 있지 않는 경우가 많아, DRM 클라이언트의 기능을 어셈블리어 수준에서 분석 가능한 경우가 존재한다.

                                        [그림 1] 리버스 엔지니어링으로 복호화 루틴 분석


또한 암호화 key가 노출된다면 노출된 key로 컨텐츠 파일의 복호화가 가능하며, 이런 경우에는 컨텐츠 파일의 불법 복제 및 유통에 대한 통제가 적용되지 않는다. [그림 2]는 인터넷에서 검색을 통하여 발견할 수 있는 내용인데, 복호화 루틴 뿐 아니라 복호화 key가 작성되어 있는 것을 확인할 수 있다.

                                                 [그림 2] DRM 컨텐츠 파일 복호화


1.2 컨텐츠 구매 가격조작을 통한 컨텐츠 무료 사용

공격자는 컨텐츠 구매 시스템에 대한 통신 데이터를 조작하여 구매 프로세스를 우회할 수 있으며, 유료 컨텐츠를 무료 혹은 저비용으로 사용할 수 있다.
이러한 공격 기법은 DRM 기술이 기타 구매/유통 등의 시스템과 맞물려 생기는 통제공동을 이용하는 것이라고 볼 수 있다.

즉, 보안성을 고려하여 만들어진 DRM 기술이 보안성을 크게 고려하지 못한 시스템과 연동될 때 취약점이 생기고, 그 취약점이 전체 시스템에 영향을 미친다는 의미이다.
[그림 3]과 [그림 4]는 온라인 컨텐츠의 구매 시 구매시스템과 통신하는 패킷을 분석하여 구매 프로세스를 우회 및 악용하려는 기술이다. 이러한 기술은 서비스하는 서버에 대해서 조작된 데이터를 전송하거나 클라이언트 바이너리로 전송된 데이터를 조작하여 이루어진다.

                                               [그림 3] 구매 프로세스 상의 패킷 분석

                                                        [그림 4] 구매 패킷 조작
 

4.  대응 방안
먼저 전체적인 시스템 아키텍처가 안전하여야 하고, 이는 경계선 보안 등의 기본적인 보안 개념이 적용되어야 함을 의미한다. 또한, 서버, 네트워크 장비, DBMS, Web Application, Client Application 등의 전체 시스템이 정보보증(Information Assurance) 측면에서 기밀성, 무결성, 가용성, 인증, 부인방지를 보장하여야 한다.

                                                         [그림 5] 정보보증 개념

이상에서 설명한 대로 공격자의 주된 타겟이 되고 주 보안이슈가 되는 부분은 클라이언트 Application이기 때문에, 이에 대한 상세 대응방안을 알아보자.

아래 언급된 대응방안 중 아직 이론적으로도 완전하지 못한 기술도 있고, 이론적으로 완성도가 높은 기술도 구현의 문제가 있기 때문에 현실에 반영할 때는 여러가지 trade-off를 고려해야 할 것이다.

● Application Tamper Resistance
- Debugging Detection, Binary Packing/Encryption, Code Obfuscation 등
● Input/Output Tamper Resistance
- Debugging Detection, Message Hooking Blocking, Unauthorized memory access Blocking, Data Encryption 등
● Control-Flow Tamper Resistance
- Module Signaturing, Integrity Checking 등
● Communication Tamper Resistance
- Channel Encryption, Data Validation 등

저작자 표시 비영리 변경 금지
신고


 

티스토리 툴바