Prolog
비스타가 출시되기 이전부터 비스타에서 구동되지 않은 프로그램이나 게임의 목록이 블로그들을 타고 돌기 시작했다. 정부기관의 ActiveX 문제 역시 기존 ActiveX가 비스타에서 호환되지 않은 이유로 정부가 MS에 도움을 요청했다는
굴욕사실때문에 뜨거운 이슈로 급부상했다. 아직까지 비스타를 써본 적이 없었는 필자는 무슨 문제 때문에 호환되지 않는지가 매우 궁금했으나, 구체적인 이유가 기술된 글들을 찾지 못해 두리뭉실한 느낌으로 ACL문제와 웹브라우저의 보안문제 등이 문제일 꺼라고 생각하고 있던 차에 오늘 우연히 Windows ME 시스템을 Windows Vista Home Edition에 migration해달라는 부탁을 받고 처음으로 비스타의 문제에 직면했다. (본 문제는 하위호환이 안되는 많은 문제중에 하나이기 때문에 넘버링을 했다. 문제를 찾을 때마다 포스팅할 예정이다.)
비스타의 하위호환문제 #1
이번에 발견한 문제는 ACL에 관련된 문제인데,
비스타(최소한 홈에디션)에서는 프로그램이 OS 루트 홀더의 파일 생성 및 저장의 권한을 가지지 못한다. XP의 최신 OEM버전에서도 이런 세팅이 있었지만, 안전모드에 administrator로 들어가서 루트+하위홀더의 권한을 유저나 원하는 계정에 부여해주면 해결되었다. 하지만, 비스타에서는 루트의 모든 권한을 해당 유저나 USERS 그룹등에 부여한다해도 파일을 생성할 수 없었다.(짧은 시간 리뷰였기 때문에 방법이 존재할 수도 있습니다. 아시는 분이 계신다면 리플 부탁드립니다.) 필자가 마이그레이션하던 프로그램은 BDE(Borland Database Engine)을 사용한 어플리케이션이었는데, BDE의 기본 DB인 Paradox에서는 DB파일의 네트워크 엑세스를 위하여 C:\에 PDOXUSRS.NET이라는 파일을 생성하는데 이 파일이 생성되지 않기 때문에 프로그램이 작동하지 않았다.
두개의 해결방안
이 문제는 해결하는 방법은 2가지가 있는데, 첫째는 BDE Administrator를 통하여 NET Directory를 변경하는 방법이 첫번째인데, 간단한 방법이기는 하나 어플리케이션에 따라 BDE Confiuration을 자체적으로 가지고 있는 넘들에게는 해결이 안되는 단점이 있다. 두번째는 단축아이콘 옵션에서 프로그램에 Administrator의 권한을 부여해주는 것이다. 확실한 방법이지만 역시 단점이 있는데, 시작할때 매번 이 프로그램의 권한은 Administrator로 실행하겠냐는 질문에 답을 해줘야한다. (끌 수 있는 옵션이 없다)
비스타의 새로운 정책을 꼬집은 Apple의 ad. 비스타를 써 봤다면 300% 공감이 가능하다.

애플광고에서 썬글라스 아저씨의 Cancel or Allow. 겨우 2시간 봤는데 짜증이 무럭무럭 났다;;
누구를 탓할 것인가
그럭저럭 문제를 해결하고나서 XP가 설치된 내 작업 노트북의 C루트를 보니
보안 ActiveX, 게임 런쳐 ActiveX, 웹하드 ActiveX 등등이 남긴 로그파일들이 쌓여있었다;; 비스타에서 이 모든 프로그램들은 구동중 OS 루트 홀더의 권한을 얻지 못하여 죽을 것이 뻔하다.. 자 그럼 누구를 탓할 것인가? 개발자가 무책임하게 가장 만만한 루트에 로그를 남긴 것을? 아님 ActiveX를 남용한 국내 사이트 제작자들? 아님 정부의 정책?
문제의 핵심은 무엇일까
아직까지 모든 비스타의 호환문제를 겪어본 것이 아니라 속단하기는 이르지만, 이 문제는
언젠가는 짚고 넘어가야할 Windows라는 OS의 문제였지 ActiveX의 문제라던가 정부정책의 문제를 수면으로 끌고 올라올 문제는 아니라는 생각이 든다. (주. ActiveX에서 호환문제가 더 커지는 것은 Stand-alone Application이 아니기 때문에 권한 설정이 불가능하고 Exception발생시 프로그램이 죽을 확률이 더 높기 때문이다.)한 회사의 솔루션을 정부 사이트에 적용해버린 부분의 문제는 이 문제와는 별개란거다. 시간을 거슬러
처음 NT기술이 일반 사용자에게 접목된 2000, 혹은 XP가 나올때 MS는 일반 사용자에게는 걸맞지 않은 NT 기술의 ACL을 도대체 어떻게 사용하기 쉽게 펼쳐놓을지를 고민했을 것이 분명하다. 하나의 홀더안에서도 파일의 성격에 따라 다른 권한을 주는 복잡다단한 OS가 될 것인가, 아니면 모든 파일이 관리자소유이고 모든 사용자가 관리자인 단순한 OS가 될 것인가의 갈림길에서 MS는 과감히 후자를 택했고,
그 이후로 대부분의 우리는 파일의 권한관리와는 담을 쌓고 살아왔다.
비스타의 하위 호환문제의 핵심은 새로운 "기능(function)"이 아니라 새로운 "정책(policy)"이다.
이미 가지고 있는 기능이지만 사용자의 편의를 위해서 죽여놨던 기능들을 허술한 보안체계의 OS라는 불명예를 씻어버리기 위해 부활시킨 것 뿐이다. 다만 그 과정에서 예고없이 강화한 많은 "정책"들이 기존 프로그램들의 호환성을 떨어뜨린 것뿐이다. 물론 개발자가 루트 홀더에 마구잡이로 파일을 생성한 것은 잘못된 것이지만,
그것이 이후 하위호환성을 떨어뜨릴 수 있다고 경고하지 않은 것은 M$다.
감솨감솨
동감입니다. 관리자 권한으로 실행하면 각종 침해 요소가 ...
아크몬드님 오랜만이네요. 제대하셨나요? ^^
저는 액티브X 뜨면 그저 가운데 중지를 쳐들고 "쉣더뻑"을 외칠 뿐입니다.
재밋는 사실이 ActiveX가 처음 나올때만해도 Add-on 인스톨러를 다운받아서 설치한다음 웹사이트를 이용하는 것보다 ActiveX설치의 단계가 간단했기 때문에 빠른 속도로 퍼진 것이지만, XP SP2 이후는 exe받아서 실행하는 2단계가 보안옵션이다 인증이다하면서 여러단계의 인증을 원하는 ActiveX보다 훨씬 더 간편하고 안정적이죠.
브라우저를 run as administrator로 실행하는 것은 굉장히 위험 천만한 일입니다. 하지만 키보드 보안 모듈에 방화벽, 그리고 백신까지 깔아주는 한국의 인터넷뱅킹을 사용하려면 어쩔 수 없겠지만요... 보안을 위한다는 것들이 오히려 보안을 해치고 있습니다.
근본적으론, 온라인 금융거래에서 공인인증 사용을 강제하고 있는 전자서명법의 보완혹은 전면적 폐지가 되어야 하겠고. 쓸데없이 activex로 구현된 웹사이트들은 그 성격에 따라 첫째, ajax 등을 이용한 자바스크립트 기반의 ui로 대체되거나 둘째, 어도브의 플래쉬를 사용하여 구현하거나 셋째, 앞서 첫째 둘째 방법이 모두 불가한 경우에는 그건 웹으로 구현할 수 있는 요구사항이 아님을 인정하고 과감히 포기하거나 별도의 설치가 필요한 어플리케이션 형태로 구현해서 배포해야 합니다.
이것이 실현되기 위해서는 전세계적으로 유례가 없는 전자서명법을 입안한 사람들의 생각이 바뀌어야 하고 서비스기획자, 웹개발자, 웹디자이너의 수준이 지금보다 한층 높아져야 하며 이 과정에서 자질이 부족한 이들은 퇴출되어야 합니다.
그리고, 무엇보다 외국의 사례처럼 웹 표준 AJAX, FLASH(도 activex이긴 합니다만...) 등을 사용해도 우수한 서비스를 충분히 구현해낼 수 있다는 사실이 우리 사회 저변에 확산되어야 합니다. 구글의 구글맵 서비스는 activex를 전혀 사용하지 않는데도 미국전역의 도로 정보를 포함한 상세한 지도는 물론이고 전세계 위성사진까지 보여줍니다.
그러나 우리는 어떻습니까? activex를 설치하지 않고서는 비슷한 아니 오히려 수준이 한층 낮은 지도 서비스도 이용할 수 없습니다. 물론 한국에도 나쁜 예만 있는 것은 아닙니다. 모 극장의 온라인 예약 서비스에서 처음으로 구현됐던 플래쉬를 사용한 시스템이 이제는 일반화 된것은 매우 긍적적 현상입니다. 성공 사례들이 좀 더 나와야 합니다.
기술흐름을 무시하고 왜곡하는 법과 제도가 바뀌기를 기대하는 한편, 표준에 근접하지 않은 기술을 사용하는 서비스를 철저히 배격하는 보다 적극적인 방법으로 세계적인 기술 표준에 근접한 서비스가 더 경쟁력이 있다는 사실을 보여주어야 합니다. 대한민국에서 더이상 악화가 양화를 구축하는 일을 더 이상 보기 싫습니다.
신희섭씨 의견에 100% 공감합니다. 저는 이러한 기류가 탁상공론에서 머물지 않고 금융권 개발관계자분들과 함께 차세대 금융웹(뱅킹 2.0?) 워크샵을 열었으면 하는 바램이 있습니다. 여러분들이 말씀하신 대안이나 고려해야할 수백가지 요소들을 실제적으로 implementation가능한 것인지 분석해보고 시뮬레이션 해보는 것이지요. 보안업체와 제1금융권과 금감원이 참여한다면 더더욱 부드러운 분위기를 이끌 수 있겠죠.
사실 엑티브엑스가 대부분의 유저들에게 불편한 점이 많다는건 인정합니다
어느게임사이트건 은행권이건, 뭐 동영상 하나 보려고 하면 엑티브 엑스 깔라그러고..
참 눈안의 가시 같은 존재죠..
하지만, 우리가 엑티브엑스 덕분에 얼마나 편하게 살았는지.. 더듬어 볼 필요도 있다고 생각합니다.
가령, 게임 좋아하는 사람들에겐 장비 혹은 아이템이 목숨과도 같죠 >.,<
정신나간 초딩들 게임방에 백도어 프로그램 깔아서 아이템 해킹하고 그러지요..
이때 게임실행과 같에 키보드 보안 및 백신이 실행되어 대부분의 백도어 및 악성코드는 잡아냅니다.
아마 돈과 직접적으로 관련된 은행권에선 절대적 보안 시스템이지요.
공인 인증서 또는 https 와 같은 정도의 보안과는 비교가 되지 않습니다.
가령, https 과 같은 경우는 서버로 전송되는 데이터만 암호화가 될뿐, 악성 혹은 백도어 프로그램이
설치된 PC 의 경우 치명적인 피해를 예상하셔야 합니다
그래서인지, 어디 은행 해킹당했다.. 어디 게임사이트 해킹당했다는 말은 들어 본적이 없는것 같네요.
단순 패스워스 관리 소홀정도에서 원인을 찾아 볼 수 있었지요.
단지 엑티브엑스가 치를떨며 싫어지는건 어떠한 표준도 없이 비슷한 종류의 프로그램을
사이트마다 깔아야 한다는거지요.
은행권도 자사의 은행 전용 보안 엑티브엑스가 여러개있지 않습니까
이것도 나라에서 앞장서서 표준화를 하던지.. 좀 귀찮긴 귀찮네요..
위 분은 Ajax 를 엑티브엑스와 비교하셨는데요..
Ajax 와 엑티브엑스는 비교 대상이 아니라고 봅니다.
Ajax 는 이런저런 해석이 있지만, 결론적으로 비동기적으로 서버에 접근하기 위함이죠.
Ajax 는 보안과 동떨어진 기술입니다. 왜냐하면 순전히 자바스크립트로 표현하며,
이 소스를 누구나 볼 수 있기 때문이지요~~
우리나라에선 엑티브엑스가 대세라고 하면 외국에서 비웃더군요.
하지만 외국에선 자바 애플릿이 대세라고 하더군요...
엑티브엑스 자체가 나쁜것이 아니라, 이를 표준화 하지 못하고 재각각 무차별 배포하는
나라, 사이트 기획자가 문제가 아닐까 생각하네요... >.,<
추천 한방 날리구 갑니다^^
의견 감사합니다. 저 역시 ActiveX가 과거 국내 웹에 가져다준 변혁에 대해 공감하고 있습니다. 비스타로 인해 불거진 ActiveX 문제는 하나의 의견에 손을 들어줄 수 없도록 복잡하게 얽혀있죠. 단순하게 봐서는 안된다는 생각입니다. 금융권의 AcitveX가 조잡해보이고, 외국 금융권에서 이런식으로 만들지 않는다고 주장하시는 분들도 일리가 있지만, 미국에서 한국 인터넷뱅킹과 미국 인터넷뱅킹을 동시에 사용하는 제가 보기엔 미국 인터넷 뱅킹이 https로 커버되는 이유는 그만큼 "할 수 있는 업무"의 영역이 작기 때문입니다. 일례로 미국 인터넷 뱅킹에서는 계좌이체도 안됩니다. 자신의 돈이 얼마나 사용됐냐를 체크하는 것은 가능하지만, 트랜젝션이 안되죠. 국내 인터넷 뱅킹은? 계좌이체는 이미 오래전 일이고 요즘은 외국계 펀드를 온라인에서 개설하고, 미국 송금도 온라인에서 가능하죠. 저는 한국 안들어간지 한참 됐지만 뱅킹 서비스로 불편해본 적이 없습니다. 많은 분들이 AJAX나 FLEX를 말씀하시는데 그것이 대안이 될 수는 없죠. 그렇기 때문에 업계 관계자 분들이 같이 모여서 대안을 논의하는 자리가 만들어졌으면 하는 바램입니다. ^-^
땡초님//
의견 감사드립니다.
이미 다른 곳에서 같은 내용으로 토론이 활발히 이뤄지고 있고 그곳에 충분한 설명이 있을테지만, 윗분의 이해를 돕기 위해 인터넷뱅킹에서 사용되는 activex 에 대해서 자세한 설명을 적어드리니 참고하시기 바랍니다.
http 커넥션을 통해 오가는 정보는 암호화 되지 않은 plain text 입니다. 보안상 문제가 있으므로 오가는 정보를 암호화된 형태로 처리하는 (말씀하셨듯이) ssl/https 라는 de-facto standard가 있고 거의 모든 브라우저가 이를 지원합니다. 하지만 한국에서는 자체 암호화 기술의 사용을 무조건 강제하고 있으며 서버인증 프로세스에 사용되는 최상위 루트인증기관으로 KISA만을 인정하는 전자서명법을 시행하고 있으므로 브라우저에 내장된 HTTPS를 사용할 수 없고 따라서 별도의 프로그램을 설치해 처리하고 있습니다. 그리고, 모든 온라인거래에 있어서 개인인증을 통해야만 법률적 진정성을 인정하고 있다는 점도 빠뜨릴 수 없겠지요. 이 모든 사항들을 activex형태로 구현해 놓았습니다. (최대한 요약해보았는데 저의 설명에 기술적 오류가 있다면 지적해 주십시오...)
국내 자체 기술이라는 미명하에 사용이 강제되고 있는 암호화 방식이 전세계적으로 널리 사용되고 테스트되는 암호화 방식보다 더 우수하다고 할 수 없고, 서버인증을 위해 국내 독자적인 최상위인증기관을 운영할 뚜렷한 명분도 사실상 없으며, 개인인증에 있어서도 전자적 방식 이외의 다른 대안이 없는 것도 아니어서, activex로 구현해놓은 것들은 zdnet칼럼리스트 김국현씨의 말대로 reinventing the wheel의 오류를 범하고 있습니다. 이미 있는 것들로 다 해낼 수 있는데 쓸데없이 뭔가를 만들어 온 국민들에게 사용을 강요했다는 얘기입니다.
혹시 클라이언트측 PC에 설치되어 있을 지도 모르는 키로거를 막기 위해 친절하게도 키보드 보안 방지 activex까지 설치하고 있으나, 이 역시도 화면상에 보이는 가상 키패드를 클릭하는 방법이나 암호 발생 카드를 통해 간단히 해결할 수 있고 실제 다른 나라에서는 그렇게 합니다.
최소한 금융권에서 '보안'이라는 명목하에 설치되는 모든 activex들은 기술 흐름과 괴리된 법과 제도가 빚어낸 결과물들일 뿐입니다. 관련 솔루션업체들만 배불리고 있습니다.
위에서 설명하지 못한 것들이 많이 있습니다. 안전하다고 철썩같이 믿고 계시는 그 방법이 또 다른 구멍이 될 수 있습니다. 실제로 그렇다는 몇가지 이유를 알려드리고 싶으나 남의 블로그에 남기는 댓글이라 이만 줄여야 겠네요...
vista의 출시와 기형적인 국내 인터넷환경에 대한 다른 토론 내용을 검색해 보시길 권해드립니다.
미국 인터넷뱅킹에서도 이체 됩니다. 아마 SSN이 없으셔서 그런게 아닐까 싶은데요(확실치 않네요). activex같은 거 하나도 안 깔고도 한국에서보다 더 잘됩니다. 단.. 예금 신규같은 건 확실치 않네요. 무엇보다 미국 애들은 인터넷으로 그런 걸 잘 안할려고 하니까... 아마존닷컴에서 카드로 결재할 때 300불이상 긁었다고 한국에서처럼 ISP인증이나 안심클릭인증 거기다 공인인증까지 하진 않습니다. 카드 번호 넣고 마우스만 몇번 클릭하면 바로 결재됩니다. 카드 홀더 네임같은건 묻지만 카드 비밀번호도 묻지 않아요. 가끔 paypal같은데선 카드 뒷면의 CVC값을 넣으라고 하긴 하지만...
그리고 미국과 비교하면 말씀하신대로 한국의 인터넷뱅킹은 정말 잘 되어 있어요. 집안에 앉아서 모든걸 다 할 수 있게 되어있으니까요. 하지만 미국이 한국보다 기술이 부족해서 안하는것은 아닙니다. 거긴 시스템이 너무 복잡하거든요. 그래서 좀 늦을뿐입니다. 그런면에서 한국이 빠르긴 하죠. 미국에선 우리나라에서는 이제 쓰지도 않는 개인 수표 발행하는 사람이 많아요. 지금도 아주 유용하게 쓰고 있고요.
미국 인터넷 뱅킹에서 이체서비스가 된다는 얘기는 처음 듣는데요. 가능한 Wire Transfer는 자신의 계좌들간이나 미리 지정해놓은 Bill/Account에만 되지 않나요? 미국에서 타행이체라는 개념자체를 들어본적이 없습니다. (여기는 계좌간 transaction은 check으로 많이 하죠. 은행가서 타행이체 물어봤다가 쪽먹었다는;
엑티브엑스를 이용하여 사용자 보안을 지켜준다는 것은 참 아이러니하죠.
차라리 전문 번들 보안 프로그램을 다운받아 설치하는 방식이 좋지 않을까 싶습니다.
흠 외국에서 온라인 이체가 안된다니..놀랍네요.
active x를 무조건 욕할것도 아니군요. 우리에게 편리함을 준만큼 불편함도 주는 것이겟죠. exe를 내려받아 설치하더라도 인터넷뱅킹의 편리함은 유지되었으면 좋겟습니다.
네 현재 국내웹의 자유로움에 표준화의 고민이 더해져서 한단계 성장했으면 좋겠습니다
좋은 정보 감사드립니다...
http://blog.naver.com/osiris73?Redirect=Log&logNo=40035691810 여기에 깔끔하게 퍼갔네요.. 링크눌러도 누구꺼인지도 모르게 그렇게 펐네요..
감사합니다 ^-^ 하하하 어떤분이신지 이거 너무 깔끔하게 퍼가셨네요. 출처 밝혀달라는 문구에서 댓글까지~~ 보구서 한참 웃었습니다.
왜 저는 바로가기 고급으로 가면 사용자 권한으로 실행이있는데 안눌러지죠