About Us

BridgeWare는 세상의 모든 OPC Server를 공급합니다. 

News & Notice

마이크로소프트 DCOM 강화 정책(KB50004442)으로 인한 OPC Classic 설정 공지

이영주
2022-11-08
조회수 20485

마이크로소프트는 CVE-2021-26414에 기술된 취약점을 해결하기 위한 방안으로 DCOM 강화 업데이트로 알려진 KB50004442를 발표했다 (CVE - Common Vulnerabilities and Exposure: 공개적으로 알려진 소프트웨어의 보안취약점 리스트).

MS DCOM 강화 Update 발표 

MS는 2021년 6월 8일부터 이 취약점에 영향을 받는 OS위주로 계속 업데이트를 발표했는데, Widows Update 설치 후 Registry에서 이 기능을 활성화해야만 적용되었다.

2022년 6월 14일 업데이트부터는 이 기능이 기본적으로 활성화되도록 설정되었으며, 비활성화 하려면 레지스트리에서 설정을 변경한 후 시스템을 재시작해야 하는데, 이는 OT 자산들의 운영 가동 시간에 지장을 야기할 수도 있었으므로 주의를 필요로 했다.

2023년 3월부터 DCOM 기능 강화 설정 (DCOM hardening settings)은 해당 OS시스템에서 필수 설정이며, 이 기능을 비활성화 할 수도 없다.

이 강화된 DOCM 기능은 OPC Classic standard, 즉 DA, HDA, A&E Server와 Client를 Windows10, 11 그리고 Windows 2008 이후 버전에서 리모트 네트워크로 사용하는 경우의 DCOM 설정이 모두 해당된다. (KB50004442의 전체 기능)  

이 DCOM강화 요건이 적용되지 않는 경우는 다음과 같다.

  • OPC Classic Server/Client가 동일 컴퓨터에 있는 경우
  • 리모트 OPC Classic Server/Client가 DataHub와 같은 Tunneling 솔루션으로 구현된 경우
  • OPC UA를 사용하는 경우


업데이트 히스토리

  • 2022년 6월 14일 – 마이크로소프트는 패킷 레벨 무결성(Packet Level Integrity)을 디폴트로 Enable되는 업데이트를 발표했으나, 이 설정은 비활성화로 설정할 수 있었다. 
  • 2023년 3월 14일 - 마이크로소프트는 패킷 레벨 무결성(Packet Level Integrity) 기능이 기본적으로 활성화됨은 물론, 사용자가 이 기능을 비활성화 할 수 없도록 변경할 방침이라고 발표했다. 이는 OPC Classic관련 어플리케이션들에 대해 이 설정이 적용되어야 한다는 의미다.


마이크로소프트의 DCOM 강화 요인

DCOM(분산 구성 요소 개체 모델)은 RPC(Remote Procedure Call - 원격 프로시저 호출)를 사용하여 애플리케이션 개체를 노출하는 프로토콜이다. 즉, DCOM은 RPC 기술이라고 할 수 있다. 리모트상의 개체와 연결을 위해 인증(Authentication)과 인가(Authority) 절차가 이루어지는데, 이 DCOM 강화 정책으로 인해 DCOM의 " Authentication Level (인증 수준)"이 변경되고, 운영 체제는 시스템 또는 OPC 서버에 대해 Component Service (구성 요소 서비스) -> DCOM 설정 시에 더 높은 보안 수준을 요함으로써 보안을 강화하겠다는 취지다. 이는 안 그래도 까다로운 DCOM 설정이 더 힘들어졌다는 의미다.  


DCOM이란?

Distributed Component Object Model로 알려진 DCOM은 마이크로소프트 OS의 중요한 요소로서, 사용자가 별도로 설치하거나 제거할 수 있는 기능이 아니다.  네트워크 상에서 클라이언트 프로그램 객체가 다른 컴퓨터에 있는 서버 프로그램 객체에 서비스를 요청할 수 있도록 하는 프로그램 인터페이스로서, Widows의 RPC(Remote Procedure Call)는 프로세스 간의 통신을 담당한다.  OPC Classic DA, HDA, A&E 서버와 클라이언트가 네트워크 상에서 리모트로 통신할 때 이 DCOM을 기반으로 작동하는 만큼 OPC Classic 사용자들에게는 매우 중요한 요소라고 할 수 있다.


DCOM 강화 내용 

앞서 말했듯, DCOM 강화 발표는 OS차원에서 DCOM에서 요구하는 보안 기준이 상향됨에 따라 더 엄격한 보안 설정이 필요해졌으며, 이를 사용하는 OPC Classic 설정에도 영향을 미치게 됨을 의미하며, 아래와 같이 변경된다.

  • DCOM 서버 및 OPC Classic(DA, HDA, A&E) 서버는 클라이언트와의 인증 수준이 "없음(None)", "연결(Connect)", "Call" 또는 "패킷(Packet)"으로 설정된 연결을 거부

  • DCOM클라이언트 및 OPC Classic Client는 반드시 인증 수준을 “기본(Default)”, “무결성 패킷(Packet Integrity), 혹은 패킷 프라이버시(Packet Privacy)로 설정해야 한다.  구성 요소 서비스(Component Services)->내 컴퓨터(My Computer)->속성(Properties)에서 시스템 디폴트 인증 수준은 반드시 “무결성 패킷(Packet Integrity), 혹은 패킷 프라이버시(Packet Privacy)로 설정해야 하며, 타겟 OPC Server 컴퓨터의 설정과 일치해야 한다.

OPC Server와 Client간의 연결 시 DCOM 인증 레벨에는 두 가지 방법이 있는데, 이는 항상 시작 시 읽어 온다. 즉, DCOM 설정을 바꾼다면 이 설정이 적용되기 위해서는 반드시 시스템을 재시작 해야 한다는 것이다.  

  • 응용프로그램은 해당 운영체제의 구성요소 서비스(Component Services) 설정과 DCOM 설정을 참조한다.
  • 응용 프로그램은 내부적으로 하드 코딩 되거나 혹은 어플리케이션에 구성된 설정을 사용하여 ‘Co-Initialize Security를 호출한다. 이 호출은 구성요소 서비스에 설정된 모든 것을 재정의하며, 수행에 영향을 미치는 구성요소 서비스에는 변경하지 않는다.

자세한 내용은 MS 사이트 및 기술 자료를 참고할 수 있으며, 한 가지 확실한 사실은 이 업데이트로 인해 개발자 및 사용자에게는 무척이나 험난한 과정이 예상된다는 것이다. 만일 이런 설정이나 변경에 곤란을 느낀다면 OPC DA/UA Gateway를 이용하여 기존 OPC DA를 OPC UA로 변환하는 것이 가장 최선의 해결책이며 이가 여의치 않다면 OPC tunneling 소프트웨어를 적용하는 것도 좋은 대안이 될 수 있다.  


OPCEnum 설정

OPCEnum은 보통 OPC Server 상에서 실행되는 프로세스로서, OPC Classic Client 응용프로그램이 시스템에서 연결 가능한 OPC Classic Server를 검색하고 사용자에게 익숙한 이름(ProgID)을 보통 긴 문자/숫자열로 표시되는 CLSID로 변환하는 기능을 제공한다. 클라이언트와 서버는 DCOM을 통해 OPCEnum에 억세스한다. 이러한 이유로 이 업데이트로 인해 OPCEnum에 대한 구성요소 서비스(Component Service) DCOM 설정이 적용되어야 한다.

방법은, 아래 그림과 같이 구성요소 서비스 설정 화면의 DCOM config 항목의 OPCEnum 설정에서 인증 수준을 ““Packet Integrity” 혹은 “Packet Privacy”로 설정한 후 OPCEnum 서비스를 재시작 하면 된다.

서비스로 실행되고 있지 않지만 작업 관리자의 세부 정보탭에서 실행 중으로 나타나면, OPC Client 응용프로그램이 실행 중임을 의미한다. 이 때는 모든 OPC Client를 종료하거나 연결을 끊고 OPCEnum.exe를 중지해야 한다. 이런 식으로 작업 관리자에서 OPCEnum.exe를 중지 해도 클라이언트가 다시 요청하면 다시 시작되기 때문에 크게 지장은 없다.


솔루션 -  OPC UA로의 전환 : OPC Gateway

앞서 설명했 듯, DCOM은 Windows 구성 요소 중 하나로, OPC Classic Server와 Client와의 연결을 위해 필수 요소이며 정해진 구성요소와 인증 수준이 Server와 Client 시스템 양쪽 모두 올바르게 설정되어야 연결이 가능하다. 설정 항목과 내용이 많고 까다로울 수 있는 이 DCOM 설정은 오늘날 더욱 다양해진 Windows OS 종류와 Update 진행 상황이 상이함에 따라 그 설정이 더 쉽지 않다고 평가되고 있다. 더욱이 이번 Microsoft의 DCOM 강화 정책으로 기존 설정의 재검토 및 신규 시스템에 변경 내용을 모두 적용해야 하며, 앞으로 더욱 강화될 보안 설정이 DCOM과 관련될 가능성이 큰 만큼 향후 더욱 높은 수준의 보안 요구가 예상된다. 이런 문제로 많은 사용자들이 OPC UA를 검토하고 있으며, OPC UA의 많은 장점 중 한가지로 DCOM설정이 필요 없다는 점을 꼽을 정도로 OS와 무관하면서도 더 높은 수준의 보안 체계를 제공하는 OPC UA로의 전환을 통해 이 문제는 간단히 해결할 수 있다.

기존 OPC Classic을 OPC UA로 전환하기 위한 가장 쉽고 빠른 방법은 KEPServer의 OPC Gateway기능을 이용하는 것으로, 간단한 설정만으로 OPC Classic Server를 UA Server로 변환할 수 있다.

OPC Gateway에 대한 자세한 내용은 ㈜브릿지웨어, info@bridgeware.kr로 문의하면 된다.

Address경기도 안양시 동안구 벌말로 66, A-F1106호
(평촌하이필드)
Tel영업
Sales
031-346-1981
기술지원
Support
031-346-1982
E-mail영업
Sales
info@opchub.com / info@bridgeware.kr
기술지원
Support 
support@opchub.com
Fax0505-303-1964