|
IE8 beta1에서 드러난 ActiveX 관련 Issue 중 일부를 언급한다. ATL Thunk와 DEP VS 6.0에 ATL ActiveX Control을 사용하는 경우에 IE8에서 Issue가 될 수 있는 데, Older ATL version program은 Data Execution Prevention(DEP)에 따라서 Access Violation(AV)가 발생할 수 있다. 이는 ATL에서 CWindow class가 thunk 라는 기술을 통해서 implementation되어 있기 때문인데, 이 thunk 기술은 heap의 임의의 할당된 memory region에 generation되는 작은 코드조각이라 보면 된다. DEP가 enabled되면, Heap region에 execution flag가 set되지 않았을 때, 문제가 될 수 있으며, Older version의 ATL은 execution flag을 Set하지 않은 상태에서 thunk 기술을 사용하므로, 이로 인하여 Crash가 발생할 수 있다. IE7에서는 보안상의 이유로 DEP를 enable/disable 할 수 있는 option(“Enable memory protection to help mitigate online attacks”)을 두었으며, default는 Disable 이다. 하지만, IE8에서는 Enable이 default 이므로, older version의 ATL ActiveX Control로 인하여 Crash 될 수 있다. Per-Site ActiveX 사용자가 ActiveX Control을 포함하고 있는 Web site에 접근할 때, IE8에서는 해당 Control의 실행에 대해서 제한을 가할 수 있다. 예를 들어, 특정 Web Site에서만 허용할 지, 아니면, 모든 Web Site에서 허용할 지, 그리고, 전혀 허용하지 않을 지를 ActiveX를 install하기 전, 브라우저 상단부분의 Information Bar를 통해 설정할 수 있는 데, 이러한 Check를 Per-Site ActiveX 라고 한다. 일단, 이미 설치된 Control에 대해서도 추가기능관리자에서 허용여부를 수정할 수 있다. 만일, 관리자라면, Group policy에 의해서 이를 제어할 수 있는 데, 다음의 registry key를 통해서 관련 ActiveX Control과 허용할 Domain을 정의할 수 있다. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{CLSID}\iexplore\AllowedDomains\{Domain or *} 그리고, 개발자는 SiteLock Template 을 이용할 수 있다. (참조: http://blogs.msdn.com/ie/archive/2007/09/18/developing-safer-activex-controls-using-the-sitelock-template.aspx … The SiteLock Active Template Library (ATL) template enables ActiveX control developers to restrict the use of an ActiveX control to a predetermined list of domain names or security zones. This limits the ability of other Web pages to reuse the control. ) Per-User(Non-Admin) ActiveX Windows Vista의 IE8의 경우, Standard User가 ActiveX Control을 자신의 profile하에서 설치를 하게되는 경우, 이는 Admin privilege를 갖을 필요가 없다. 그러므로, 이것에 기인하여 일반 사용자이거나 Administrator이거나 ActiveX Control을 본인의 개인 profile 하에서 설치한다면 더 이상 UAC 창이 Open되는 것 없이 실행할 수 있다. 또한, Administrator의 privilege를 갖은 상태에서 설치할 경우에는 per-user 또는 per-machine 을 결정할 수 있다. 하지만, 이러한 benefit과 관련하여 이미 설치된 기존의 Control들은 관련사항이 없이 기존의 rule을 따른다. 이러한 Non-Admin ActiveX Installation Package와 관련해서는 .inf file의 [Deployment] Section에 다음과 같은 flag가 필요하다.
|
카테고리
이글루링크
최근 등록된 덧글
그러세요
by 강세윤 at 12/15 오늘 많이 헤매다..알게 .. by youna at 12/14 글 잘 읽었습니다 . 전 .. by 위시 at 11/26 어렷다 by klhk at 11/09 dhjjgbem by kl at 11/09 17번부터 어떻게 접는지.. by tykim0131 at 10/28 ATL이나 MFC를 이용하.. by 김명신 at 09/24 복원되었군요.. 제 RSS.. by 강세윤 at 09/24 허걱, 하고 있는 것으로.. by 강세윤 at 09/15 RSS 주소 서비스는 안 .. by 정성태 at 09/15 이글루 파인더
| |||||