골치아픈 ActiveX 문제
먼저, 나는 ActiveX (이하 Ax) 개발 자체를 아주 싫어하였기 때문에 Ax 자체에 호감이 없다. 개발자로서 Ax 개발은 지저분하고 디버깅하기도 아주 괴롭고 짜증이 나는 녀석이다. 그리고 나는 최근의 각종 웹 기술에 대해서 별로 알지 못한다. 예를 들어, Ajax라는 녀석이 어떤 녀석이라는 것만 알지 자세히 알지는 못한다.

올블로그에 가보니 Ax 관련해서 열띤 글을 볼 수가 있었다. 많은 사람들이 우리나라의 과도한 Ax 사용을 비난한다. 그러나 Ax 덕분에 웹 기반의 인터넷 뱅킹에서 풍부한 서비스를 사용할 수 있는 것도 사실이다(조금 뒤에가서 부연 설명). 그런데 기존의 서비스를 고스란히 살릴 수 있는 웹 표준에 기반한 대안 기술을 제대로 제시하는 경우는 아직 보지를 못했다.

Ax가 가지는 가장 큰 의미는 웹 환경에서 exe와 같은 임의의 바이너리 파일을 실행하게 한다는 점이다. 과거 버퍼 오버플로우와 같은 보안 취약성을 노린 웜이나 바이러스가 적었을 경우에는 이것은 아주 좋은 기술이었다. exe만 뚝딱 만들 수 있으면 풍부한 웹서비스를 쉽게 제공할 수 있었기 때문이다. 아무리 아작스니 뭐니해도 exe가 할 수 있는 모든 일을 웹이 할 수는 없다.

그러나 임의의 exe를 실행할 수 있다는 점은 심각한 보안 취약성을 내포하고 있다. 수 많은 보안 취약성을 악용하는 공격들의 대표적인 목적이 'remote code execution'이기 때문이다. 그래서 대놓고 웹에서 exe를 실행케하는 Ax는 언제나 취약의 대상이고 MS에서도 이걸 버리려고하는 것이다.

문제는 우리나라의 인터넷 뱅킹 같은 곳을 들어가면, 키보드 해킹 보안이랍시고 각종 보안 툴이 Ax를 통해 설치가 된다 (사실 사용자에게 해킹 보안 툴을 직접 다운 받아 깔게 시키면 Ax 사용을 피할 수 있다. 단순히 자동 설치가 되게끔하는 것이 Ax의 역할이니깐. 그런데 이렇게 만들자고하면 영업팀에서 난리난다. 사용자들이 그렇게 하지 않는다고! 모두 자동으로 해줘야한다고!). 그리고 이걸 기반으로 인터넷 뱅킹에서 계좌 조회는 기본이요, 출금, 계좌 신설, 계좌 닫기 등 거의 모든 은행 업무가 가능하게 되었다. 당연한 것으로 생각하면 안된다. 이건 정말 대한민국만이 할 수 있는 놀라운 일이다.

많은 사람들이 외국 인터넷 뱅킹은 Ax를 쓰지 않고 된다고 하는데 너무나 당연한 말이다. 그런데 한국 인터넷 뱅킹처럼 화려한 서비스가 제공되지 못한다. 기본적으로 계좌 이체는 적어도 내가 아는 미국 은행들은 인터넷에서 하지를 못한다(사실 미국이라는 동네가 ATM을 이용한 송금보다도 그냥 개인 수표을 적어주는 경우가 더 많은 것 같으니).

잠시 일본 얘기를 해보자. 일본 사람들은 인터넷에서 우리의 인터넷 뱅킹과 같이 복잡한 서비스를 하기를 꺼려한다고 한다(직접 일본 시장 진출을 위해 조사했던 분에게 들음). 그래서 굳이 Ax가 필요없어도 해결할 수 있는 문제가 대부분이다. 그러나 우리는 과도한 SI 업체들의 경쟁도 있겠지만 너무 많은 것을 웹에서 하기를 바랬다. 그래서 초창기 '어쩔 수 없이' Ax와 같은 기술을 쓸 수 밖에 없었다는 변명도 충분히 일리가 있다.

결론은 간단하다. Ax를 버리는 것은 오히려 쉬울 수 있다. 그런데 Ax를 버리면 지금까지 누려왔던 각종 풍부한 웹서비스가 상당수 불가능해질 수 있다. 기업들이 이런 타협점만 찾을 수 있으면 의외로 간단하다. 그런데 Ax 포기로 인해 각종 인터넷 뱅킹 서비스가 중단되면 또 소비자들의 항의는 상당할 것이다.

하나 대안을 들자면, 인터넷 뱅킹을 굳이 웹에서 다 해결하려 하지 말자. 그냥 별도의 응용 프로그램으로 만드는 것이 더 현명하리라 생각한다. 예를 들어 신한은행의 경우에는 별도의 인터넷 뱅킹 프로그램이 지급되고 맥에서도 사용이 가능하다. 웹 표준 논쟁에서도 벗어날 수 있고, 오히려 더 적은 개발비로 더 풍부한 서비스를 보다 높은 보안 기술을 적용할 수 있기 때문이다.


ps. 사실 저는 Ax 및 웹 기술에 대해 정말 아는 것이 거의 없습니다. 그래서 정확치 않은 내용이 본문 중에 있을 수 있습니다.
by object | 2007/01/19 11:44 | 컴퓨터 | 트랙백 | 덧글(14)
트랙백 주소 : http://minjang.egloos.com/tb/828357
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 사토미 at 2007/01/19 12:21
대안 또하나 가장 힘든 대안 입니다만 이왕 웹에서 인터넷 뱅킹을 쓰고자 한다면..오브젝트씨가 언급하신 Ax 말고 다른 웹프로그램 프로그램을 써서
사용하게 하는 것 입니다. Ax가 문제라면 안 쓰고 다른 프로그램을 쓰면 되는게 아닌가 하는 제 생각 입니다.
물론, Ax 가 유일하다면 어쩔 수 없지만...-_- 하지만 이제와서 Ax가 생활화된 마당에 Ax를 갑자기 포기한다고하면 반발은 뒤에 두고서라도
큰 대란이 일어날 겁니다. Ax 시작은 좋았지만 없애자니 이미 늦어버린 거죠..없앨 수도 그냥 쓰게 할 수도 없고..난감한 문제 입니다.
Commented by WakanaFan at 2007/01/19 12:30
상당히 잘 보셨습니다. ^^ 어찌되엇든 예전부터 MS에서부터 태클을 걸어왔던 Ax기술에 대해 예전부터 말은 많았지만 어찌저찌하면 사용할 수 있는 환경이었기에 다들 '설마'하는 마음에 넘어가고 있었던 것이었겠죠. (솔직히 말해 MS가 갑자기 버리는 것은 아니었죠. XP sp2에서 부터 견재해오고 작년이맘때는 특허를 핑계로 자동실행도 막았었습니다.) 단지 예전부터 문제가 되왔던 Ax에 대해 왜 진작에 새로운 대안을 생각하지 않고 땜빵을 해왔었나 하는 아쉬움이 들 뿐입니다.
Commented by object at 2007/01/19 12:40
한 말씀만 더 드리자면 과도한 Ax 사용을 "MS에 종속적인..." 이라고 단순히 욕하지는 않았으면 좋겠습니다. 우리 웹서비스가 지향했던 서비스의 풍부함이나 다양함이 상당한 수준이었습니다. Ax가 아니고서는 대안이 없었던 시절도 있었지요.
Commented by yser at 2007/01/19 14:06
종합선물 셋트 방식의 서비스를 좋아하는 우리나라 국민들 특성에 맞춰서 ActiveX 로 개발해왔다고 한다면.. 그것도 일리가 있겠습니다. 확실히 ActiveX가 없다면 지금의 웹에서 클릭 몇 번으로 인터넷 뱅킹을 하도록 만들기는 어렵겠죠. 문제가 된 건 보안면과 IE에서만 된다는 것, 그리고 복잡한 키보드 보안 모듈이라고 생각합니다. 사실 ActiveX 를 빼면 대안 기술은 본문에서 언급하신 응용 프로그램 밖에 없습니다. 마소에서는 SmartClient라는 것을 차후의 기술로 대두시키고자 하는 것 같지만 이건 닷넷 프레임워크도 필요한데다 결국 이전과 별 다를 바 없는 문제를 낳을 것 같더군요.

기존에 ActiveX로 인터넷 뱅킹을 만들었다고 비판하는 얘기는 많았는데 그게 가져다 준 이점에 대해서 쓴 글은 거의 없었습니다. 문제점만 너무 부각시키는 게 아닐까 생각이 든 적도 있군요. 이래나저래나 현재로선 ActiveX로 인터넷 뱅킹을 잘 쓰고 있으니까요. 남은 건 이걸 어떻게 처분하고 다음의 방식으로 넘어가느냐..겠군요.
Commented by 학주니 at 2007/01/19 14:48
다양함과 편리성만을 추구하다보니 파생된 문제점인거 같습니다..
MS입장에서는 어떻게든 ActiveX를 버리고 딴걸로 가고 싶었을겁니다(보안문제가 수두룩하게 나왔으니까요)..
object님의 대안인 응용프로그램 이용은 괜찮은듯 합니다..
Client가 커지는 문제와 다운로드를 받아서 처리해야하는 문제도 있지만 어느누구도 PC방에서 인터넷뱅킹은 안할려고 할껍니다(인증서를 다시 넣었다빼었다하는것도 문제죠. 아~ 이제는 USB로 가능하군요. -.-).
여하튼간에 빨리 이 문제가 해결되었으면 합니다..
Commented by 머스타드 at 2007/01/19 18:32
ActiveX 얘기가 나올 때 마다 외국에서는 보안 문제를 어떻게 해결하는가 궁금했는데, 문제가 생길 여지가 있는 서비스를 아예 제공하지 않는 방식으로 해결하는군요. 전용 소프트웨어를 제공하는 것에 대해서는 공감합니다만, 가능하다면 은행별로 개개의 소프트웨어를 제공하는 것보다는 전 은행이 공동으로 사용할 수 있는 통합소프트웨어를 제공하는 쪽으로 가는 것이 더 좋을 것 같습니다. 어차피 은행들이 제공하는 서비스가 거의 비슷하니 큰 문제는 없을 것 같습니다. 은행별로 특화된 서비스를 제공하려면 플러그인 기능으로 해결할 수도 있을거고요.
Commented by object at 2007/01/20 15:48
머스타드님 의견 아주 좋은데요. 높은 수준의 보안을 요구하는 작업을 모두 웹 브라우저 안에서 하기 보다는 간단한 통합 플랫폼을 만드는 것도 좋겠네요. 비슷할런지는 모르겠지만 Microsoft Money라는 프로그램이 있습니다. 한국에 있을 땐 이거 뭐하는거냐 그랬는데 미국와서 보니까 아주 유용하더군요. MS Money는 각 은행에 접속해서 해당 계좌의 입출금 내역을 다 보여줍니다. 이말인즉, 각 은행마다 공통된 인터페이스나 프로토콜이 있거나, 아니면 MS Money와 같은 유틸이 이해할 수 있는 포맷을 제공해준다가 되겠지요. (물론 계좌이체는 안 됩니다.)

원초적으로 돌아가서 왜 인터넷 뱅킹을 "웹 브라우저"에서만 해야하는지부터 물어봐야겠군요.
좋은 의견 감사합니다.
Commented by object at 2007/01/20 18:11
http://yonghee.tistory.com/77

남의 포스팅을 이렇게 뒷담화(?) 까는 것은 별로 보기 좋지 않지만... 이 포스팅과 덧글 몇개만 봐도 "엑티브 엑스는 무조건 나쁜 것이다"라는 인식이 얼마나 널리 퍼져있는가를 알 수 있습니다. Ax가 없으면 웹 브라우저에서 빗자루 같은 서비스 하는 것 자체가 불가능한데 그냥 Ax면 싫다고하니 참 괴롭죠. Ax 아니면 직접 소프트웨어 깔아야한다고 하면 또 사용자들은 싫다고하지요. 회사 다닐 때 영업쪽 사람들이랑 얘기해보면 사용자들은 웹에서 클릭 한방으로 다 되는걸 원한다고... 결국 Ax 말곤 딱히 대안이 없는 것이 사실인데... 쓰고보니 Ax 옹호하는 댓글이 되었군요.
Commented by 용희 at 2007/02/28 13:29
안녕하세요 object님 ^^.. 어떻게 돌고 돌아서 여기 방문하게 되었습니다 ..
저도 앞으로 프로그래밍으로 밥을 먹고 살아야는데 저도 엑티브 엑스가 무조건 나쁘다고는 생각하지 않습니다.
하지만 보안성이 취약으로 MS에서도 사용하지 말것을 권고했다고 하고 그레이웨이들이 너무 판을 치니..
인식이 너무 않좋게 바뀐 것이지요.
빛자루 서비스는 향후 ms 비스타에서 엑티브엑스를 지원하지 않겠다고 한것도 알고 있었을텐데..
무시한체 엑티브 엑스로 강행한 것은 이해가 가지 않았을 뿐이죠..
액티브 엑스 말고도 다른 방법이 여러개 있습니다. 물론 더 어렵겠지만요..
그런점에서 나쁘다고 이야기 한것입니다. ^^
빛자루는 1월 25일 오픈한다고 예정되었지만.. 4월로 연기 되었습니다.
아마 제 생각이지만 액티브 엑스를 대체하기 위해서 그런거라 생각됩니다.
말이 조금 길어 졌네요 ㅋㅋ
Commented by object at 2007/02/28 14:10
반갑습니다. 아마 리퍼러 분석 보시고 오신 것 같군요;

먼저 비스타에서 엑티브엑스는 너무나 잘 돌아가구요. 앞으로도 계속 돌아갈 것입니다. MS에서도 ActiveX를 이용해서 만든 웹페이지도 여전히 있구요. 다만 사용자 동의를 무시한채 깔리는 (사실상 SP2 이후부터 이런 문제는 없어졌습니다만, 사용자들이 무심코 동의를 누르니...) 엑티브엑스가 문제인데요. 비스타에서는 IE가 권한이 낮은 보호모드로 작동하기 때문에 악성 엑티브엑스가 실행되더라도 그 피해는 다소 줄 것으로 보입니다. 사용자가 주의만 하고 함부로 깔지만 않는다면 보안 문제가 일어날 수가 없습니다.

먼저, 빛자루 서비스는 윈도우 전용 서비스입니다. 그것도 시스템 자원을 아주 제대로 접근해야하는 로우레벨 응용프로그램이죠. 이것을 어떻게 웹에서 구현할 수 있을까요? 사실 말이 안되는 소리입니다. 이런 서비스는 애초에 '웹'이라는 것을 빼고 일반 소프트웨어로 구현을 해야 옳은 것입니다.

그런데 사용자들은 웹브라우저 안에서 하기를 원합니다. 설치형 블로그를 하실 정도면 상당한 수준의 컴퓨터 전문가이지만 우리나라 절대 다수의 사용자들은 네이버를 사용하고 그냥 익스플러어를 사용합니다. 일반 사용자들은 그냥 IE를 켜고 빛자루 접속해서 컴퓨터 보안까지 해결되기를 원합니다. 그러면 도대체 무엇으로 구현해야할까요? 아작스 같은 웹표준으로 될까요? 자바와 같이 느려터진 솔루션으로 (그것도 윈도우에서만 돌아갈 것을) 만들어야할까요? 어차피 빛자루 같은 것은 Win32 기반의 exe/dll 형태입니다. 그러니 엑티브엑스를 사용하여 웹페이지에 넣는 것이 가장 합리적인 선택입니다.

구글에서 빛자루로 검색해보고 많은 관련 글들을 보았습니다. 많은 분들이 여전히 잘못된 정보를 가지고 계시더군요. 1) 비스타에서 엑티브엑스가 안 되는데 우리나라가 앞장서서 이것을 계속 유지하려고 한다. 2) 왜 빛자루는 엑티브엑스를 쓰냐라는 것입니다. 첫번째는 말씀드렸듯이 완전 사실이 아니구요. 두번째도 역시 이쯤되면 설명이 충분히 되었으리라 생각합니다. 엑티브엑스 설치하라는 메세지를 보기 싫으면 그 대신에 어플리케이션 인스톨 화면을 보셔야합니다.

너 무 길게 썼군요. 그러니까 굳이 빛자루를 욕하려면 "너희들 왜 윈도우 기반으로만 만들었냐? 리눅스나 맥에서는 왜 안돼?"라고 비난을 하셔야지 "너 왜 엑티브엑스 썼냐?"라는 비난은 사실 말이 되지 않습니다. 빛자루 서비스에서 엑티브엑스가 차지하는 비율은 1%도 안 될걸요? 엑티브엑스는 단순히 윈도우 어플리케이션을 실행시키거나 웹 페이지에 끼워주는 기술에 지나지 않으니깐요. 그러니까 엑티브엑스로 밥 벌어먹고 사는 개발자도 당연히 없습니다. 그냥 윈도우 프로그래머가 있는 것이지요.
Commented by object at 2007/02/28 14:17
그러니까 마케팅을 생각하지 않고 기술적인 접근만 한다면 빛자루 같은 서비스는 일반적인 응용프로그램 형태로 제작되는 것이 옳습니다. 그러나 초보자들을 위해, 웹 브라우저만 켜면 복잡한 인스톨 화면을 보지 않고서도 (그 대가로 엑티브엑스를 설치하는 겁니다) 보안 서비스를 누릴 수 있다라는 것을 강조하기 위해 굳이 엑티브엑스 기술을 빌리는 것이지요. 우리나라 웹서비스는 웹 브라우저에서 못 하는 것이 없어야합니다. 이것이 모든 문제의 근원입니다.
Commented by 나그네 at 2007/03/03 12:35
지나가다가 잠시 딴생각이 나서 적어 봅니다.
ActiveX 대신에 java VM을 사용하면 되지 않나요 물론 로딩하는 시간이 오래걸리긴 하지만
표준화된 java cache direcry 같은 것을 사용하거나 interpreter mode로 사용하면 상당히 좋을것 같은데요.
위에서 java 문제점을 지적 했지만 platform 비의존적이라는 막강한기능을 간과하신것 같읍니다.
그리고 Java VM 자체가 이미 독립된 OS 환경을 위해서 진화하고 있읍니다.
암튼 Ax 같은 종류는 firefox를 사용하는 유저 입장에서는 딱~ 질색입니다.
아니면 독립된 x86 emulator 에서 Ax를 돌려주는 것도 한 방법이겠네요 VM처롬 ^^
암튼 개인적인 생각으론 Windows Vista가 자충수를 둔게 아닌가 생각 합니다.
Vista에서 획기적인 Ax 대처방안을 마련하면 그것은 곳 OsX 이나 Linux, Solaris, Free BSD 계열에서도
출구가 되기 때문입니다. 게임전용 PC를 쓰기 위해 Vista를 깔려고 할까요 ㅋㅋ
암튼 고민되는 사람이 많이 만드는 군요 ^^
Commented by hirameki at 2007/12/08 09:13
우연히 지나가다가 보게 되어서 뒷북이지만 씁니다.
우리나라 인터넷 뱅킹에서 뭘 얼마나 화려하게 지원하는지 모르겠습니다만, 일본 인터넷 뱅킹에서는 물론 복잡한 기능은 별로 없습니다.
1. 계좌이체(타은행 가능)
2. 해외송금(미리 등록하면 가능)
3. 잔고 확인
4. 거래내역 확인
등입니다. 더 있는지는 평소에 많이 안써서 잘 모릅니다만..
위에 계좌이체 안된다는 이야기는 제가 이미 작년 초부터 쓰고 있으므로 시기상 틀린것 같아 적어봅니다.
참고로 핸드폰용 사이트도 있어서 핸드폰으로도 가능합니다.(은행 2개 씁니다만 한쪽은 핸드폰용 전용 어플리를 제공하고, 한쪽은 핸드폰용 web사이트를 만들어서 제공합니다.)
물론 위 서비스들은 activeX없이 모두 가능한 상태이고, activeX를 이용한 방법도 추가로 제공하고 있습니다.
일본에서 복잡한 서비스를 원하지 않는것이 아니라, 일본에서는 한 목적을 가진 시스템에 너무 많은 기능을 집어넣는것을 피하는 것 뿐입니다. 그렇게 되면 보수나 개수 코스트가 증가하기 때문이죠.(제가 알기로 우리나라에서는 이 코스트를 업체가 지불하지 않는 경우가 많아서 잘 고려하지 않는 것으로 알고 있습니다. 일본에서는 개수 발생시 개발회사가 돈을 받아가기 때문에, 은행등의 발주 업체도 신중하지 않을수 없습니다. 인건비도 비싸고..)

솔직히 우리나라처럼 보안 툴 어쩌고 하는 정체불명의 프로그램을 10개정도 설치해야만 인터넷 뱅킹을 사용할 수 있는 것도 어찌보면 ActiveX를 워낙 남발하다보니 고려해야할 경우의 수도 너무 많아진것 아닐까요?
유저가 자진해서 해킹 툴을 설치하는것이 워낙 자연스러운 환경이다 보니 해킹툴 투성이 시스템에서 실행하는것을 전제로 하다보면 그럴 수도 있다는 생각이 듭니다.

애초에 해킹툴이 마음껏 활동할 수 없는 비 IE환경이 더 좋다는것은 제 개인적인 의견일 뿐인 것일까요?
Commented by hirameki at 2007/12/08 09:21
좀 부족했군요. 현재 우리나라에서 요구하는 풍부한 웹기능(?)은 JAVA로 대처하기 힘든건 사실입니다.
왜냐하면 애초에 사용자의 시스템을 마음대로 주무르는 기능들을 요구하니까요.
제가 알고있는것만 해도
1. 유저의 프린터를 멋대로 제어하는 기능.
2. 유저의 로컬 파일을 마음대로 불러내는 기능.
3. 유저의 브라우저 설정을 멋대로 바꾸는 기능.
4. 윈도우에서 제공하는 시스템의 기능을 브라우저와 연동하는 기능(추가 프로그램 없이 불가능한)
이정도입니다. 물론 더 있겠지만요. 이럴거면 애초에 옛날 유니텔처럼 전용 어플리케이션을 만드는것이 옳은것 아닐까요? 왜 웹 서비스처럼 위장할 필요가 있는지 궁금합니다.
솔직히 하는짓을 보면 웹서비스라기보다는 어플리케이션을 억지로 웹사이트에서 보이게 만들려고 애쓴다는 느낌을 지울수가 없습니다.

:         :

:

비공개 덧글

<< 이전 페이지 다음 페이지 >>





by object 2008 이글루스 TOP 100
최근 등록된 덧글
최근 등록된 트랙백
마사키군의 생각
by ayukawa's me2DAY
민영의 생각
by kkung's me2DAY
메뉴릿

한RSS 구독자수 website counter

한RSS에 추가

Add to Google

rss

skin by 이글루스