C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[12768] 액티부 엑수에 대한 유감
주정섭 [jjsverylong] 2483 읽음    2007-02-26 13:39
이글을 쓰고 보니 나는 요새 참으로 유감이 많은 모양이다.... 델 2007에 이어 액티부 엑수에 까정...

일전에 액티부 엑수에 대한 상당히 방대한 토론의 글이 있었다. 간혹 윈도우 진영 개발자들과 이야기하다 보면  액티부 엑수나 COM을 무슨 만병통치약 혹은 전지전능한 개발 개념으로 보는 사람들이 많다. 심지어 COM을 개발기법 중에서 단군신화적인 존재로 보듯 하는 사람도 있다.

이 개발이라는 바닥에 오래 있다보면 대 벤더들의 허무맹랑한 말장난에 무지 어이가 없는 경우가 많다. 희안한 약어를 들이대면서 대빵 엄청난 개념이 담겨져 있는 것처럼 선전하지만, 실제 그 정체를 알고보면 가소롭기 그지 없는 개념들이 무지 많다는 것이다. COM, DCOM, OLE, Active X 이 모든 개념들이 사실 알고보면 그나물에 그밥같은 개념들이다. 그런데 이런 약어들의 들이댐 앞에서 상당수의 개발자들은 쉽게 속아넘어가거나 먼가 대단한 것이 있을 거라고 믿는 것 같다.

액티부 엑수(Active X)! 그 이름에서 조차 뭔가 대단히 애매모호하지 않는가? 헐리우드의 허접한 삼류 영화들 제목 중에 영문 X(엑수)가 매우 잘 등장하지 않던가? 왜 이런 이름을 지었는지 알수 없지만, "활동적인 엑수" 정말 기막힌 이름이다. 정체가 먼지 대단히 아리송하게 이름을 지은 것 같다. 그러나, 그 실체는 알고보면 정말로 어이가 없다.

액티부엑스의 기본개념은 COM에서 발전한 것이다. COM의 허접한 정체는 다음 기회에 밝히기로 하고, 오늘은 액티부 엑스의 정체를 알아보자. 액티부 엑수는 두가지 용도가 있다. 하나는 델파이의 콤포넌트 비슷하게 비주얼 베이직에서 사용하는 외부 콘트롤같은 용도이다. 이 경우 액티부 엑수는 타 개발툴에서 불러 쓸 수 있는 미약한 기능의 클래스 같은 기능이다. 또 다른 기능은 웹부라우저, 그것도 오로지 IE 진영에서만 사용할 수 있는 액티부 엑수의 용도이다.

IE에서의 액티부 엑수의 기능이란, 요약하면 다음과 같은 기능이다.

"HTML에 약속한 표현식으로 링크를 삽입하면, 그 링크에 지정된 실행 파일을 웹서버로 부터 다운받아서 사용자 피시에 설치하고 실행하도록 하는 기능"

이말을 달리 말하면 웹에서의 액티부 엑수란 실행파일을 서버로부터 다운 받아서 클라이언트(사용자) 컴에서 바로 실행토록 하는 것이다. 예전 IE는 서버로부터 실행파일을 다운받고 설치하는 과정에서 사용자도 모르게 지 맘대로 자동으로 처리하는 기능이 있었다. "사용자 모르게 실행파일을 설치하고 실행한다!" 그렇다. 이 기능은 엄밀히 말하면 바이러스 프로그램과 거의 비슷한 매우 위험한 기능이다. 이 때문에 액티부 엑수는 보안의 기본 ABC마저 위반한다고 그렇게 많은 지탄을 받아왔던 것이다. 액티부 엑수는 보안에 대한 개념이 과거 아주 희박했던 엠에수의 결정적 실수였다.

이후 엠에수는 부랴부랴 엑티부 엑수에 대한 편법적 대책으로 두가지 정책을 내 놓은다. 첫번째는 베리사인 같은 특정 회사로 부터 내가 만든 액티부 엑수 실행파일 내에 아무런 위험한 혹은 악의적 기능이 없음을 증명받는 인증서를 사도록 하는 것, 즉 액티부 액수 인증제이다. 두번째는 IE에서 액티부 엑수를 설치하기 전에 사용자의 반드시 동의를 득하도록 하는 것이다.

베리사인같은 곳으로부터의 인증제는 효과가 있을까? 이게 참 웃기는 것이 돈이면 머든 다 되는 요즘같은 세상에 베리사인이 모든 액티부엑수에 대해서 어셈블리 레벨의 철저한 점검을 다 해줄것이라고 믿는다면 너무 어리석은 것이다. 사용자 동의 또한 여전히 문제가 많다. 컴이 많이 보급됬다고는 하지만, 아직도 무지한 사람이 많기 때문에, 이거 깔아야 되요라고 하면 그냥 쉽게 오케이 버튼을 클릭하는 사람들이 무지 많다는 것이다.

그런데, 이 독약같은 액티부 엑수는 보안을 위배할 수 있다는 것, 즉 사용자 피시에 실행파일을 자동 설치 실행할 수 있다는 기능 때문에 무지 남발되어 왔다. 사실 웹 개발자에게 이보다 더 막강한 기능이 어디 있겠는가? 웹서버 쪽에서 자바로 혹은 닷넷으로 혹은 귀신 씨나락으로 만들었던 간에, 근본적으로 웹이란, 웹부라우저의 자바스크립트와 HTML의 짬봉 파싱 능력에 의존하게 되어 있다. 이 자바스크립트와 HTML의 조합만으로는, 아무리 해도 실행파일보다는 할 수 있는 기능들이 무지 적다. 실행파일은 원하면 사용자 컴을 포맷할수 도 있지만, 자바스크립트와 HTML만으로는 불가능하다.

즉 액티부 엑수는 개발자가 맘만 먹는다면 얼마든지 악용할 수 있다는 것이다. 과거 액티부 엑수의 이런 보안 결함적 단점을 극복하기 위한 대안으로 자바 애플릿이 등장한 때가 있었다. 당시 선은 액티부 엑수의 보안결함을 자바 애플릿을 사용하면 극복할 수 있다고 무지 광고를 해댔었다. 그러나....

자바 애플릿의 단점은 보안을 너무 신경 쓴 나머지, 상당히 많은 기능에 대해 심한 제한을 걸었던 것에 있었다. 자바 애플릿으로 사용자 컴에 파일을 읽거나 쓰거나 하려면 대부분 거부되고, 상당히 미션 크리티컬한 기능들 역시 보안 이유로 금지된다. 즉 자바 애플릿의 문제는, 보안 때문에 차포를 떼고보니 할만한 기능이 없더라 였다. 그래서 자바 애플릿은 시들시들 사라져갔다. 이 때문에 현재 국내외를 막론하고 자바 애플릿을 사용하는 사이트는 매우 적은 편이다. 최근 내가 자주 들아가는 사이트들에서는 자바 애플릿을 거의 잘 본적이 없을 정도이다.

비수타에서는 액티부 엑수의 이런 보안적 결함을 막기 위해, 사용자 컴에 위해를 가할 수 있는, 액티부 엑수같은 외부 실행 파일의 특정 윈 API 콜을 차단하는 기능이 있다고 한다. 그런데, 위험성이 높은 윈 API 호출은 감지할지 몰라도, 어셈블러 레벨로 접근하는 매우 위험한 코드들을 비수타가 모조리 다 차단할 수 있을지는 무지 의아스럽다.

설령 비수타가 어셈블러 레벨의 모든 위험한 코드까지 싸그리 차단해 준다고 치자. 그러면 비수타에서 액티부 엑수는 자바 애플릿의 꼴을 당하게 된다. 즉 보안 때문에 이런 저런 기능을 막고 나니, 액티부 엑수가 예전에 비해서 아주 별볼일 없게 되는 것이다.

액티부 엑수의 편리함은 오래전에 웹 관련 개발을 할때 나역시 이미 잘 알고 있었다. 특히 델파이는 액티부 엑수 만들기에 VC++보다 월등히 편한 존재인데도 불구하고, 나는 액티부 엑수를 사용하지 않았다. 액티부 엑수로 해결하면 무지 편한 경우가 무지 많음은 부인할 수 없는 사실이다. 사용자 컴에 깔려 바로 실행되는 실행파일인데 대체 못하는 기능이 뭣이 있단 말인가? 액티부 엑수로 내가 못하는 기능이 있다면 나의 코딩 실력이 부족하여 그 방법을 어떻게 구현할지 모를때 뿐일 것이다.

그러나, 그 당시에 나는 액티부 엑수를 사용해서는 안된다고 믿었기에 사용하지 않았을 뿐이다. 그런데, 우리 나라 웹개발자들이 액티부 엑수를 너무 남발하여 사용한다는 것을 알게 된 것은, 내가 웹쪽 개발을 그만둔지 한참 지나서였다. 아마도 당시에도 생각 깊은 웹 개발자들은 액티부 엑수 사용을 매우 꺼려했을 것이다.

그러나, 사악하더라도 쉽고 편한 방법에 한번 맛들이면, 그것을 버리기가 무지 힘들듯이, 우리나라의 액티부 엑수 문제는, 세계의 다른 개발자들 대부분이 사용을 금기했던 사악한 기법을 너무 애용했다는 것이 가장 큰 원인일 것이다.
크레브 [kkol]   2007-02-26 15:38 X
절대 동감입니다. 비스타에서 액티브 X 제한하는건.. 전에도 제가 얘기했듯이 10년전에 나온 자바 애플릿 기술과 뭐가 다르단 말입니까? 10년이나 걸려서 다시 그때 수준의 기술로 회귀하려는 꼬라지하구는... --; 
김호광 [testcode]   2007-02-26 15:49 X
이런 말이 나오지요 개발자는 어느 장단에 맞추라고!!! 덕분에 많은 게임 회사들은 요즘 죽어 나고 있습니다. 특히 vc 6 버전으로 만든 게임의 호환성 문제도 있거든요
양병규 [bkyang]   2007-02-26 17:10 X
흠... 요즘 무슨 걱정거리 있으시거나 잘 안되는일이 있으신건 아니죠? ^^;
유감이 많다는건 뭔가 심리 상태가.. 기분이 좋지는 않다는 것 아닐까여?(아니면 말져머... ^^)
암튼...
COM과 ActiveX, OLE는....
처음 윈3.0때였던가... OLE가 처음 등장하고 윈3.1때 OLE2.0이 나왔는데...
처음 OLE1.0은 DirectX처럼 별도로 설치해야하는 프로그램이었고 그것이 윈3.1때 2.0으로 올라가면서 OS에 기본으로 깔리게되었고 그것이 95로 가면서 명칭을 ActiveX 로 바꾼겁니다. ActiveX와 OLE는 같은 제품 명입니다. 다만 버전에따라 명칭이 바뀐거구요...
COM이라는 것은 ActiveX를 기반으로해서 시스템에서 필요한 객체들은 만들어놓은 건데 델파이로치자면 VCL정도에 해당한다고 할수 있져....물론 DCOM이나 COM+등은 그것을 다른 용도로 더 확장한것들이구요....
머....
일단 그 OLE가 처음 등장했을때는 인터넷이 없었고 모든 프로그램은 디스켓을 통해서 깔아야했기때문에 지금과 같은 상황은 전혀 고려되지 않고 만들어졌었고 그것은 오날날까지 유지를 할려니깐 문제가 되는것같습니다. 그 부분을 MS가 빨리 판단하지 못한게 문제의 발단인것같습니다. 문제가될만한건 빨리 빨리 치우던가 당초 IE만들때 지금과같은 상황을 충분히 예측했어야겠지요...
머...
암튼....... 델파이 만세입니다. ^^;
소리바람.OJ [phonon]   2007-02-26 17:15 X
먹지 말라고 하면 더 먹고 싶은 '금단의 열매'가 아닐까요?
nicekr.황경록 [mpbox]   2007-02-27 07:56 X
좋은 점이 있다면 나쁜 점이 있기 마련인것 같습니다만 ^^...

자동차는 심각한 대기 오염을 초래하고 있습니다만...
담배는 인체에 유해합니다만...
...

결국 어느 영화에서 처럼... 모두 같은 옷을 입고 제한된 사고 속에서 그렇게 살게될 날이 머지 않은것 같네요. 마치 자유라는 이름이 그 책임을 다하지 못함 속에서 남발이 되었을때의 변수와 같은 걸까요... 강력한 통제와 안전함...

결론: 실패는 성공의 또 다른 이름입니다. 후 세대를 위한...

음;;; 술도 안마셨는데;;; 인생이 참 감상적이 되어버렸네요 -_-a

아참... ActiveX 문제(?)는 개인적으로 별 문제(?) 아니라구 생각이 됩니다만
ActiveX로 배포된 프로그램이 별도 실행 파일로 다운로드 받아 설치되는 패키지로
변하나 그대로 ActiveX로 있나... 그 근본적(?)인 문제가 해결이 될까요?
물론 :) 남용(!)의 문제는 줄어들겠네요 ^^

그러나 결국 원래 흘러야 하는 건 흐르는 거고 새는 건 새는 거란 거죠 ^^

+ -

관련 글 리스트
12768 액티부 엑수에 대한 유감 주정섭 2483 2007/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.