Season 1/기술 보안

[ActiveX] 1장. ActiveX란?

작성자 - S1ON

개요

컨설팅 프로젝트에서 웹사이트를 진단하다 보면 종종 액티브X를 만나게 된다.

KISA 홈페이지의 취약점 정보 게시판이나, 프로그램 개발사의 가이드를 참고하여 우연히 취약점을 몇 번 찾은 적이 있다. 하지만 언제까지 눈에 보이는 취약점만 찾을 수는 없기 때문에 직접 개발하고 분석해보기로 한다.

 

ActiveX란 무엇인가?

1. 정의

마이크로소프트 사에서 개발한 액티브X는 기존의 응용 프로그램을 웹과 연결하여 그대로 실행할 수 있게 해주는 웹 브라우저(IE)의 플러그인 기술이다.  

※ Internet Explorer 11까지는 ActiveX가 지원되지만, 이후 Microsoft Edge 브라우저에서는 지원되지 않음

 

2. 사용방법

액티브X는 컴포넌트 오브젝트 모델(COM)과 객체 연결 삽입(OLE)을 적용해 WWW으로부터 다운로드받은 컨텐츠들을 이용하는데 웹에서 OBJECT 태그를 이용해 프로그램을 호출하고 해당 프로그램의 메소드와 자원을 이용하여 기능을 수행한다.

 

아래 코드는 웹 브라우저에서 OBJECT 태그를 이용하여 프로그램(CLASSID)를 호출하고, SCRIPT 태그를 이용해 프로그램(TEST_OBJECT)의 메소드(print)를 호출하는 예시 코드이다.

<html>

<OBJECT ID ='TEST_OBJECT' CLASSID = 'CLSID:aaaaaaaa-1111-1111-1111-111111111' 
CODEBASE='경로/cab파일명.cab#version=2,0,2,6'"></OBJECT>

<script>
TEST_OBJECT.print();
</script>

</html>

 

3. 활용사례

전자결제 웹 에디터 문서 위변조 방지 전자문서 통합
그래픽 동영상 재생 음악 재생 시스템 정보 확인
장치관리 화상채팅 PC 원격제어 리포팅 툴
그리드 컴포넌트 다중파일 업로드/다운로드 보안 통합 백신
키보드 보안 개인방화벽 통신데이터 암호화 공인인증서(전자서명)

 

ActiveX의 특징

1. ActiveX 관련 기술

ActiveX Control 웹 페이지에 내장되어 실행 가능한 객체로 C/C++, 비주얼베이직, 델파이 등과 같은 다양한 언어와 개발툴로 작성 할 수 있다.
ActiveX Document 웹 브라우저를 통해 볼 수 있는 HTML과 무관하게 작성된 Document로 MS워드나 엑셀 파일등을 의미한다.
Active Scripting 액티브X 컨트롤이나 자바 애플릿에 포함시킬 수 있는 스크립트 언어로 자바스크립트에 기반한 스크립트나 비주얼 베이직에 기반한 VB 스크립트가 대표적이다.
ActiveX Server Framework 웹 서버에 기반한 기능으로 보안이나 데이터베이스 연결을 가능하게 하는 서버 사이드 아키텍쳐이다.

 

2. ActiveX의 장/단점

장점  - PC에 자동으로 설치가 가능하며, 빠른 실행이 가능함
 - C++, 파스칼, 베이직 등의 프로그래밍 언어로 개발할 수 있으며, JAVA에 비해 개발비용이 저렴함
 - 사용자 PC 제어가 가능하므로 서비스 제공자의 편의성이 증가함
단점  - Windows OS 및 Internet Explorer를 사용하는 경우에만 해당 기술을 활용 가능함
 - 새로운 디바이스(스마트폰, 태블릿 PC 등)에 대한 환경이 제공되지 않음
 - 바이러스 및 악성코드 내포가 가능하며, 취약한 모듈이 포함된 경우 원격명령실행 공격으로 악용될 수 있음

 

ActiveX의 대안

보안분야  - 전자서명 기술: 한국전자통신연구소(ETRI)에서 개발한 URL 프로토콜 핸들러 기술 이용
 - 통신 데이터 암호화 기술: SSL 프로토콜 이용으로 암호화 구현
 - 개인방화벽: 운영체제에서 지원하는 PC 방화벽
 - 키보드 보안: 가상키보드
 - 보안 이메일: SSL 통신을 통한 POP3 서버 사용
파일 처리 기술  - 다중 파일 업로드: HTML5 태그를 이용
 - 다중 파일 다운로드: HTML4 이상의 웹 표준문서와 자바 스크립트 이용
 - 파일 다운로드: HTML 표준을 이용
그래픽 및 차트 표현  - 그래픽 구현: SVG 기술, HTML5의 canvas, 자바스크립트 DOM을 이용
멀티미디어 재생  - 동영상/음악 재생: HTML5 표준의 <video> 및 <audio> 태그 이용

※ 대표적인 대안이며, 자세한 내용은 차세대웹기술지원센터(https://www.koreahtml5.kr/main.do) 참고

 

국내 ActiveX 현황

1. 문제제기

- 박근혜 정부 시절 천송이코트 논란을 계기로 국내에서 ActiveX 폐지 정책을 제시

- 문재인 정부가 Good bye ActiveX 공약을 내세워 2020년까지 공공 웹사이트 ActiveX 교체에 돌입

※ 불가피할 경우 EXE를 사용한다는 조항이 명시되어 있어, 모든 공공 웹사이트에서 100% 교체는 이루어지지 않음

→ 기존에는 브라우저에 OCX가 있었다면 EXE로 대체할 경우 로컬에 OCX를 설치하는 것이기에 여전히 보안에 취약함

 

2. 개선현황

차세대웹기술지원센터에서 2020년 민간 500대 웹사이트를 대상으로 실시한 플러그인 사용 현황 조사 결과, ‘17년말 대비 액티브X는 91.0%(810개 -> 73개), 전체 플러그인은 89.0%(2,266개 -> 248개) 로 감소함

 

참고사이트

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jin750226&logNo=120189869808 

https://ko.wikipedia.org/wiki/%EC%95%A1%ED%8B%B0%EB%B8%8CX

https://namu.wiki/w/ActiveX

https://blog.softcamp.co.kr/69

https://www.koreahtml5.kr/main.do

 

Contents

이 글이 도움이 되었다면, 응원의 댓글 부탁드립니다.