ActiveX control 을 "safe for initialization" 이라고 인식하게 하는 방법 2가지
control 이 초기화될 때 control 의 state 를 초기화 하기 위해 임의의 IPersist interface 로 부터 data 를 받게 된다. 이 data 가 untrusted source 로 부터 올 수 있기 때문에 security 위험이 있다고 볼 수 있다.
그래서 data 가 어디서 부터 오는지에 상관없이 보안위반(security breach) 가 없는 것을 보장하는 control 은 "safe for intiailization" 하다고 본다.
- Component Categories Manager 를 이용해서 system registry 에 알맞는 entry 를 만드는 것 : Internet Explorer 는 control 을 load 하기 전에 registry 에 이 entry 들이 있는지 검사한다.
- control 에서 IObjectSafety 를 구현한다. : Internet Explorer 가 control 이 IObjectSafety 를 지원한다고 판단하면, control 을 load 하기 전에 control 이 safe for initialization 한지 판단하기 위해 IObjectSafety::SetInterfaceSafetyOptions 함수를 호출한다.
Control 이 safe for scripting 이라고 인식하게 하는 방법 2가지
Code signing 은 code 가 믿을 수 있는 것이라는 것을 보장할 수 있다. 하지만 ActiveX control들을 scripts 에서 접근하는 것을 가능하게 하는 것은 새로운 보안 이슈가 된다. 예를 들어 MS Word 는 믿을 수 있지만, 악성적인 script 는 이 Word 의 automation 을 이용해서 유저의 file 들을 지울 수도 있고, macro 바이러스들을 설치하는 등의 일을 할 수 있다.이 Control 을 "safe for scripting" 이라고 인식하게 하는 방법은 위의 "safe for initialization" 으로 인식하게 하는 것과 동일하다.
- Component Categories Manager 를 이용해서 system registry 에 알맞는 entry 를 만드는 것 : Internet Explorer 는 control 을 load 하기 전에 registry 에 이 entry 들이 있는지 검사한다.
- control 에서 IObjectSafety 를 구현한다. : Internet Explorer 가 control 이 IObjectSafety 를 지원한다고 판단하면, control 을 load 하기 전에 control 이 safe for initialization 한지 판단하기 위해 IObjectSafety::SetInterfaceSafetyOptions 함수를 호출한다.
댓글 없음:
댓글 쓰기