Modbus Protocol

Modbus 프로토콜 소개

Modbus 프로토콜은 산업 자동화 및 제어 시스템에서 널리 사용되는 프로토콜입니다. Modbus는 프로그래밀블 로직 컨트롤러(PLC), 센서, 액추에이터 및 기타 산업 장치와 같은 다양한 장치 간 통신을 허용합니다. Modbus 프로토콜을 이해하는 것은 ICS에서 가장 많이 사용되는 통신 프로토콜이며 스니핑 및 PLC에 명령을 주입하는 데 많은 잠재적인 공격 표면이 있기 때문에 중요합니다.

여기서는 프로토콜의 컨텍스트와 작동 방식을 제공하기 위해 개념을 점으로 설명합니다. ICS 시스템 보안에서 가장 큰 도전 과제는 구현 및 업그레이드 비용입니다. 이러한 프로토콜과 표준은 80년대와 90년대 초에 설계되었으며 여전히 널리 사용됩니다. 산업에는 많은 장치와 연결이 있기 때문에 장치를 업그레이드하는 것은 매우 어렵습니다. 이는 해커들에게 오래된 프로토콜을 다루는 장점을 제공하므로 Modbus에 대한 공격은 사실상 불가피합니다.

클라이언트-서버 아키텍처

Modbus 프로토콜은 일반적으로 클라이언트-서버 아키텍처로 사용되며 마스터 장치(클라이언트)가 하나 이상의 슬레이브 장치(서버)와 통신을 시작합니다. 이는 전자제품 및 IoT에서 SPI, I2C 등과 함께 널리 사용되는 마스터-슬레이브 아키텍처로도 알려져 있습니다.

시리얼 및 이더넷 버전

Modbus 프로토콜은 시리얼 통신 및 이더넷 통신 모두를 위해 설계되었습니다. 시리얼 통신은 레거시 시스템에서 널리 사용되지만 현대 장치는 이더넷을 지원하여 더 높은 데이터 전송 속도를 제공하며 현대 산업 네트워크에 더 적합합니다.

데이터 표현

Modbus 프로토콜에서 데이터는 ASCII 또는 이진으로 전송되지만 이진 형식이 오래된 장치와의 호환성 때문에 사용됩니다.

기능 코드

ModBus 프로토콜은 PLC 및 다양한 제어 장치를 작동하는 데 사용되는 특정 기능 코드의 전송으로 작동합니다. 이 부분은 재전송 기능 코드를 통해 재생 공격이 수행될 수 있기 때문에 이해하는 것이 중요합니다. 레거시 장치는 데이터 전송에 대한 암호화를 지원하지 않으며 일반적으로 장치를 연결하는 긴 전선을 가지고 있어 이러한 전선의 조작 및 데이터 캡처/주입이 발생합니다.

Modbus 주소 지정

네트워크의 각 장치에는 장치 간 통신에 필수적인 고유 주소가 있습니다. Modbus RTU, Modbus TCP 등과 같은 프로토콜은 주소 지정을 구현하고 데이터 전송에 대한 전송 계층 역할을 합니다. 전송되는 데이터는 메시지를 포함하는 Modbus 프로토콜 형식으로 이루어집니다.

또한 Modbus는 전송된 데이터의 무결성을 보장하기 위해 오류 확인을 구현합니다. 그러나 대부분의 경우, Modbus는 오픈 표준이며 누구나 자신의 장치에 구현할 수 있습니다. 이로 인해 이 프로토콜은 글로벌 표준으로 계속 사용되며 산업 자동화 산업에서 널리 사용됩니다.

대규모 사용과 업그레이드 부족으로 인해 Modbus를 공격하는 것은 공격 표면이 크기 때문에 상당한 이점을 제공합니다. ICS는 장치 간 통신에 매우 의존하며 그들에 대한 공격은 산업 시스템의 운영에 위험할 수 있습니다. 중간 전송 매체가 공격자에 의해 식별된 경우 재생, 데이터 주입, 데이터 스니핑 및 누출, 서비스 거부, 데이터 위조 등의 공격이 수행될 수 있습니다.

Last updated