Modbus, ASCII, 직렬 포트, 바트 속도 등의 일반적인 용어 설명

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus, ASCII, 직렬 포트, 바트 속도 등의 일반적인 용어 설명

01 术语解读

checksum:校验码是由前面的数据通过某种算法得出的,用以检验该组数据的正确性。代码作为数据在向计算机或其它设备进行输入时,容易产生输入错误,为了减少这种输入错误,编码专家发明了各种校验检错方法,并依据这些方法设置了校验码。

常用的校验有:累加和校验SUM、字节异或校验XOR、纵向冗余校验LRC、循环冗余校验CRC……

离散量输入:主要用来读取单个位的数据,如IO的状态;

线圈:开关输出信号,主要用来写入单个位的数据,与离散量构成组成对位的操作;

输入寄存器:主要用来读取16位,也就是两个字节的数据;

保持寄存器:主要用来写入16位的数据。

PLC:可编程逻辑控制器,是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。

Serial port communication:随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要.这里所说的通信是指计算机与外界的信息交换.因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换.由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍.在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各 CPU 之间的通信一般都是串行方式.所以串行인터페이스是微机应用系统常用的인터페이스。许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与인터페이스电路之间的信息传送方式,实际上,CPU 与인터페이스之间仍按并行方式工作.

시리얼 포트:串口是计算机上一种非常通用设备通信的协议,不要与通用串行总线Universal Serial Bus(USB)混淆。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)send,(3)receive。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、데이터 bit、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

a. Baud rate:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率。例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b. 데이터 bit:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/stop bit,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

c. stop bit:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d. 奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

02 背景

早在1971年,Modicon公司首次推出了ModbusProtocol,ModbusRTU和Modbus ASCII诞生于此。后来施耐德电气(SchneiderElectric)收购了Modiconcompany,并在1997年推出了ModbusTCPProtocol。2004年,中国国家标准委员会正式把Modbus作为了国家标准,开启了Modbus为中国工业通信做贡献的时代。

通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。Modbus协议具有标准、开放,可以支持多种电气인터페이스,数据帧格式简单紧凑,数据传输量大、实时性好等特点,在工业控制系统中得到了广泛的应用,已经成为通用工业标准。深入分析Modbus协议实现原理和其安全性对提高工控系统安全性有着重要的现实意义。ModbusRTU和ModbusASCII主要用于串行通信领域,而ModbusTCP则常用于以太网通信。现在,Modbus已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。

03 协议原理

Modbus使用一种简单的MasterandSlave主从协议(客户机/服务器协议)进行通信。客户机作为主站,向服务器发送请求;Server(slave)接到请求后,对请求进行分析并作出应答。其中使用的通信帧被称为应用数据单元(Application 데이터 Unit,ADU),它包括通信地址段、功能代码段、数据段和校验段,如下图:

一般使用上,监控系统(HMI)都为Master,PLC、电表、仪表等都为Slave,HMI系统一直PollingSlave的各种relayandregister最新数值,然后做显示及各种逻辑计算及控制调整等处理。

among them,功能代码段和数据段组合称为协议数据单元(Protocol 데이터 Unit 또는 프로토 콜 설명 단 위 (Pr oto col Description Unit)함 수 코드 세 그 먼 트는 1 ~ 255 의 범위 에서 1 바 이트 를 차지 하며 , 128 ~ 255 는 예외 메시지 응답 메시 지에 사용되는 예약 값 입니다 . 1 ~ 127 은 기능 코드 번호 이며 65 ~ 72 및 100 ~ 110 은 사용자 정의 인 코 딩 입니다 .

04 전송 방법

Mod bus 프로토 콜 은 AS C II , R TU 및 TCP 의 세 가지 메시지 유형 을 포함하는 응용 프로그램 계 층 메시지 전송 프로토 콜 이며 , 프로토 콜 자체 는 물리적 계 층 을 정의 하지 않으며 , 컨트롤 러가 인식 하고 사용할 수있는 메시지 구조 를 정의 합니다 .

Mod bus 프로토 콜 은 직 렬 포 트 전송 을 사용할 때 R TU 또는 AS C II 모 드를 선택할 수 있으며 메시지 , 데이터 구조 , 명령 및 응답 방식을 지정 하고 데이터를 검 증 해야합니다 . AS C II 모 드는 L RC 검 사를 사용하고 R TU 모 드는 16 비트 CR C 검 사를 사용합니다 .이 더 넷 을 통해 전송 할 때 TCP 를 사용 하며 , TCP 프로토 콜 이 신뢰할 수 있는 연결 지 향 프로토 콜 이기 때문에 이 모 드는 검 사를 사용하지 않습니다 .

Mod bus R TU 와 Mod bus AS C II 의 차이 점은 무엇입니까

Mod bus 는 이 더 넷 (TC P / IP) 또는 직 렬 링크 (RS 23 2, RS 48 5 등) 를 통해 통신 할 수있는 기본 네트워크 와 독립 적 인 AD U (데이 터 유 닛) 를 정의 하는 응용 프로그램 계 층 프로토 콜 입니다 (이 더 넷 AD U 와 직 렬 AD U 는 약간 다릅니다).직 렬 링크 에서 Mod bus 프로토 콜 은 AS C II 모 드와 R TU 모 드의 두 가지 전송 모 드를 가지고 있습니다 . AS C II 는 " American Standard Code for Information Inter change " 의 약 어 이며 , 중국 어로 " American National Information Inter change Standard Code " 로 번역 되며 , R TU 는 " R emo te Terminal Unit " 의 약 어 이며 , 중국 어로 " R emo te Terminal De vice " 로 번역 됩니다 .

먼저 , Mod bus 가 어떻게 작동 하는지 살펴 보 겠습니다 .

Mod bus 는 마스터 - 슬 레이 브 (M aster - Save) 통신 모 드를 사용하여 마스터 (M aster) 만 전송 을 초기 화 할 수 있으며 슬 레이 브 (S lave) 는 마스터 (M aster) 의 요청 에 응답 합니다 .일반적인 마스터 장 치는 현 장 미 터 및 디 스 플레이 패 널 을 포함 하며 , 일반적인 슬 레이 브 장 치는 P LC (프 로그 램 식 논 리 컨트롤 러) 입니다 .

직 렬 링크 의 마스터 슬 레이 브 통신 에서 Mod bus 마스터 는 하나 또는 N (최 대 24 7) 개의 슬 레이 브 를 연결 할 수 있으며 마스터 슬 레이 브 간의 통신 은 유 니 캐 스트 모 드와 브 로드 캐 스트 모 드를 포함 합니다 .

브 로드 캐 스트 모 드 에서 Mod bus 마스터 는 브 로드 캐 스트 요청 에 응답 하지 않는 여러 슬 레이 브 에 동시에 요청을 보낼 수 있습니다 (브 로드 캐 스트 모 드 에서 장치 주소 0 을 사용합니다).

유 니 캐 스트 모 드 에서 마스터 는 특정 슬 레이 브 (각 Mod bus 슬 레이 브 는 고유 한 주 소를 가지고 있음) 에 요청을 보내 며 , 요청 된 메시지 프레 임 에는 기능 코드 와 데이터가 포함되어 있으며 , 이 산 코 일의 상태를 읽는 데 사용되는 기능 코드 " 01 " 과 같은 데이터를 포함 합니다 .요청 이 수신 되면 응답 을 수행 하고 메 인 장치 로 메시지를 피 드 백 합니다 .

Modbus, ASCII, 직렬 포트, 바트 속도 등의 일반적인 용어 설명Figure

마스터 와 슬 레이 브 의 통신 에서는 AS C II 모 드 또는 R TU 모 드를 사용할 수 있습니다 .

AS C II 에서정보 교환 을 위한 미국 표준 코드 (American Standard Code for Information Inter change) 전송 모 드 에서 메시지 프레 임 은 영어 콜 론 으로 표시 됩니다 . (" : " , AS C II 3 A He x) 는 차 트 반환 및 번호 변경 으로 시작 됩니다 . (C RL F , AS C II 0 D 및 0 A He x) 기 호 가 끝나 고 , 허용 되는 전송 문자 세 트는 16 진 수 0 ~ 9 및 A ~ F 입니다 ; 네트워크 의 슬 레이 브 는 전송 경 로 에 영어 콜 론 (" : ") 이 있는지 모니터링 하고 , 만약 있다면 메시지 프레 임을 디 코 딩 하고 , 메시 지의 주 소가 자신의 주소 와 동일한 지 확인 하고 , 만약 동일 하다면 , 그 중 데이터를 수신 합니다 ; 만약 다른 경우 , 무시 합니다 .

AS C II 모 드 에서는 각 8 비트 바 이트 가 전송 하기 위해 두 개의 AS C II 문 자로 분 할 되며 , 예를 들어 헥 사 진 수 0 x AF 는 전송 하기 위해 AS C II 문자 " A " 와 " F " 로 분 할 되며 , 전송 되는 문 자의 양 은 R TU 보다 두 배 가 됩니다 . AS C II 모 드의 이 점은 통신 장애 를 일으키 지 않고 두 문자 사이의 간 격 이 최대 1 s 까지 허용 된다는 것이며 , 이 모 드는 오류 를 확인 하기 위해 L RC (Long itud inal Red undan cy Check) 를 사용합니다 .

컨트롤 러가 Mod bus 네트워크 에서 R TU 모 드로 통신 하도록 설정 되면 메시 지의 각 8 비트 바 이트 에는 시작 및 종료 태 그가 없는 두 개의 4 비트 16 진 수 문 자가 포함 됩니다 .이 장 점은 동일한 바 트 속도 에서 더 많은 데이터를 전송 할 수 있다는 것입니다 .

R TU (R emo te Terminal Unit) 모 드 에서는 바 이트 당 16 진 수 0 x AF 와 같은 두 개의 16 진 수 문 자를 전송 할 수 있으며 , 직접 16 진 수 0 x AF (이 진 : 10 10 11 11) 로 전송 되 므로 AS C II 모 드 보다 두 배 높은 전송 밀 도 ; R TU 모 드는 CR C (Cy c lic Red undan cy Check) 를 사용합니다 .

구체적인 형 식은 그림 에 표시 되어 있다 .

06 Mod bus TCP 및 주목 할 사항

6. 1 호스트 및 슬 레이 브 , 서버 및 클 라이언 트

[ Mod bus 프로토 콜 ]

호스트 는 mod bus 요청을 보내고 슬 레이 브 는 요청 내용 에 따라 호스트 에 응답 을 반환 합니다 . Mod bus 프로토 콜 에서 호스트 는 항상 능 동 적이고 슬 레이 브 는 항상 수 동 적입니다 .

[ 네 트 워크 응용 프로그램 에서 ]

웹 응용 프로그램 에는 클 라이언 트 측 과 서버 측 이 있으며 , 클 라이언 트 (예 : 브라우 저) 는 서버 에 요청을 보내고 , 서버 는 콘텐츠 (예 : HTML 텍스트) 를 클 라이언 트에 반환 합니다 .

[ Mod bus TCP 에서 ]

호스트 는 클 라이언 트 이고 슬 레이 브 는 서버 입니다 .서버 측 이 중요 하고 호스트 도 중요 하므로 호스트 가 서버 측 이라고 생각하지 마십시오 .

6. 2 여러 호스트 를 사용할 수 있습니까 ?

    通过前面的分析,主机为客户端那么modbustcp支持多个主机,在一个从机的连接能力(连接主机的数

6. 3 mod bus TCP 프로토 콜

Mod bus TCP 와 Mod bus R TU 는 기본적으로 동일 하지만 몇 가지 차이 점이 있습니다 .

슬 레이 브 주 소는 더 이상 중요하지 않으며 대부분의 경우 무시 됩니다 .어떤 의미 에서는 슬 레이 브 주 소가 IP 주소 로 대체 됩니다 .

CR C 검 사는 더 이상 중요하지 않습니다 .심지어 무시 할 수도 있다 . TCP 패 킷 에 이미 검 사가 있기 때문에 바 퀴 를 반복 하지 않기 위해 mod bus TCP 는 CR C 검 사를 제거 합니다 .

TCP 모 드는 TCP 50 2 포 트를 사용하여 이 더 넷 을 통해 Mod bus 데이터를 원 활 하게 전송 할 수 있도록 설계 되었습니다 .프로토 콜 의 물리적 계 층 , 데이터 링크 계 층 , 네트워크 계 층 , 전송 계 층 은 TCP 프로토 콜 을 기반으로 하며 , 응용 프로그램 계 층 에서만 Mod bus 프로토 콜 을 수정 하고 캡 슐 화 합니다 ; 수신 자는 TCP 패 킷 을 캡 슐 화 해 제 하고 원래 Mod bus 프레 임을 다시 얻고 Mod bus 프로토 콜 사 양 에 따라 분석 하고 반환 패 킷 을 TCP 프로토 콜 로 다시 캡 슐 화 하여 송 신 자로 반환 합니다 .직 렬 링크 전송 의 데이터 형 식 과는 달리 TCP 모 드는 추가 주소 와 검 사를 제거 하고 헤 더 를 추가 하며 그림 4 에 표시 된 형 식을 제공합니다 .

Modbus, ASCII, 직렬 포트, 바트 속도 등의 일반적인 용어 설명Figure1

Mod bus TCP 에는 다음과 같은 섹션 으로 구성 된 MBA P 헤 더 가 포함되어 있습니다 .

[ 참 고 ]

[1] 전송 플 래 그는 일련 번호 로 이해 될 수 있으며 , MO DB US TCP 통신 의 잘못된 위치를 방지 합니다 , 예를 들어 , 후 기 응답 은 호스트 에 먼저 도착 하고 후 기 응답 은 호스트 에 도착 합니다 .

[2] 셀 플 래 그는 슬 레이 브 주소 로 이해 될 수 있으며 , 이 시점에서 더 이상 중요하지 않습니다 .

6. 4 mod bus TCP 와 TCP IP 의 관계

Mod bus TCP 는 TCP 에서 발생하는 애플 리케이션 계 층 프로토 콜 로 이해 될 수 있으며 , TCP 프로토 콜 이기 때문에 완전한 MO DB US TCP 메시 지는 TCP 헤 더 , IP 헤 더 및 이 더 넷 헤 더 를 포함 해야 합니다 .

07 기능 코드

Mod bus 트 랜 잭 션을 시작한 클 라이언 트는 Mod bus 응용 프로그램 데이터 유 닛 을 만듭니다 .기능 코드 (PD U 의) 는 서버 에 수행 할 작업을 나타 냅니다 .

모 드 버 스 데이터 유 닛 의 함 수 코드 필 드를 하나의 바 이트 로 인 코 딩 합니다 .유효 범위 는 10 - 1 - 255 입니다 (1 28 - 255 은 예외 응답 을 위해 예약 됨).클 라이언 트 에서 서버 로 메시지를 보낼 때 기능 코드 도 메 인이 서버 를 통해 수행 하는 작업 .

클 라이언 트 에서 서버 로 전송 되는 메시지 데이터 필 드 에는 서버 가 함 수 코 드에 의해 정의 된 작업을 수행 하는 데 사용되는 추가 정보가 포함 됩니다 .이 도 메 인 에는 이 산 항목 및 레 지 스터 주소 , 처리 된 항목 수 및 도 메 인에 있는 실제 데이터 바 이트 수 도 포함 됩니다 .

특정 요청 에서 데이터 도 메 인은 존재하지 않을 수 있으며 , 이 경우 서버 는 추가 정보를 필요로 하지 않습니다 .기능 코 드는 동작 을 설명 할 뿐입니다 .

기능 코드 유형

기능 코 드는 주로 유효 기능 코드 , 비 정 상 기능 코드 및 오류 기능 코 드로 나 뉘 어 있습니다 .

제대로 수신 된 Mod bus AD U 에서 Mod bus 기능 요청 과 관련된 오류 가 발생 하지 않으면 클 라이언 트에 대한 서버 응답 데이터 에는 요청 의 정상적인 기능 코 드가 포함 됩니다 . Mod bus 기능 요청 과 관련된 오류 가 발생 하면 응답 데이터 에는 예외 코드 와 오류 코 드가 포함 됩니다 .

예를 들어 , 클 라이언 트는 이 산 출 력 또는 입력 의 켜 기 / 끄 기 상태 세 트를 읽을 수 있거나 , 사용자는 레 지 스터 데이터 컨 텐츠 세 트를 읽기 / 쓸 수 있습니다 .서버 가 클 라이언 트에 응답 할 때 함 수 코드 필 드를 사용하여 정상 (오 류 가 없는) 응답 또는 예외 응답 이라고 불리는 오류 가 발생 했 음을 나타 냅니다 .정상적인 응답 의 경우 서버 는 다음 그림 과 같이 원 본 기능 코드 에만 응답 합니다 .

예외 응답 의 경우 서버 는 클 라이언 트 와 동등 한 코드를 반환 하고 원래 기능 코 드의 가장 유효 한 비 트를 논 리 1 으로 설정 하고 예외 코드를 추가 하여 오류 코드를 추가 하여 클 라이언 트 에게 예외 원 인을 통 지 합니다 .다음 그림 :

유효 한 기능 코드

유효 한 기능 코 드는 20 개 이상 있지만 일반적으로 1, 2, 3, 4, 5, 6, 15, 16 과 같은 8 가지 가장 일반적으로 사용되는 것과 다른 20, 21 가지 의 특수 사용 , 이것은 일반 참조 레 지 스터 , 대부분의 Mod bus 장비 는 이 레 지 스터 를 제공 하지 않습니다 . P LC 의 주요 제어 데이터는 다음과 같은 네 가지 유형 이 있습니다 .이 8 가지 기능 코 드는 이러한 제어 자료 를 처리 하는 것이며 , 다음과 같은 세부 사항을 설명 합니다 .

제어 데이터 에는 4 가지 유형 이 있습니다 .

DI : 디지털 입력 (디 지털 입력 , 이 산 입력), 주소 1 비트 의 데이터 , 사용자는 상태를 읽을 수 있으며 수정 할 수 없습니다 .켜 기 / 끄 기 를 나타내는 비트 로 스위 치 , 접촉 점 , 모 터 작동 , 초 과 스위 치 등 과 같은 제어 신호 의 상태 입 력을 기록 하는 데 사용됩니다 . P LC 에서는 입력 릴 레이 , 입력 코 일 등 이라고 합니다 .

DO : 디지털 출 력 (디 지털 출 력 , 코 일 출 력), 주소 1 비트 , 사용자는 설정 , 재 설 정 , 상태를 읽을 수 있습니다 .켜 기 / 끄 기 를 나타내는 비트 로 모 터 , 알 람 벨 , 조 명 등을 활성화 하거나 중지 하는 제어 신호 를 출 력 하는 데 사용됩니다 . P LC 에서는 출 력 릴 레이 , 출 력 코 일 등 이라고 합니다 .

AI : 아 날 로그 입력 (아 날 로그 입력 , 입력 레 지 스터), 주소 16 비트 데이터 , 사용자는 읽을 수 있으며 수정 할 수 없으며 , 16 비트 정 수로 값을 나타내 며 , 온 도 , 유 량 , 재료 , 속도 , 회 전 속도 , 파일 보 드 열 기 , 액 체 수준 , 무게 등 과 같은 제어 신호 의 숫자 입 력을 기록 하는 데 사용됩니다 . P LC 에서는 입력 레 지 스터 라고 합니다 .

AO : 아 날 로그 출 력 (아 날 로그 출 력 , 레 지 스터 유지), 주소 16 비트 데이터 , 사용자는 쓰 거나 읽을 수 있으며 , 16 비트 정 수로 값을 나타내 며 , 온 도 , 흐름 , 속도 , 회 전 속도 , 파일 보 드 열 기 , 피 드 양 등 과 같은 제어 신호 의 값을 출 력 하는 데 사용됩니다 . P LC 에서는 출 력 레 지 스터 또는 홀 딩 레 지 스터 라고 합니다 .

Modbus, ASCII, 직렬 포트, 바트 속도 등의 일반적인 용어 설명Figure2

08 Mod bus 프로토 콜 보안 분석

Mod bus 프로토 콜 은 전형 적인 산업 제어 네트워크 프로토 콜 이며 , 그 보안 을 연구 하는 것은 산업 제어 네트워크 의 보안 을 강화 하는 데 중요한 의미가 있습니다 .일반적으로 프로토 콜 보안 문제는 프로토 콜 자체 의 설계 및 설명 으로 인한 보안 문제 와 프로토 콜 의 부 적 절 한 구현 으로 인한 보안 문제 로 두 가지 유형 으로 나 눌 수 있습니다 . Mod bus 프로토 콜 도 존재 합니다 .

이 두 가지 측면 의 문제 .

8. 1 Mod bus 프로토 콜 의 고유 한 문제

설계 초 기에 대부분의 산업 제어 프로토 콜 은 기능 구현 , 효율 성 향상 및 신뢰 성 향상 등을 고려 하고 보안 문제를 고려 하지 않습니다 . Mod bus 프로토 콜 도 예외 는 아닙니다 .그것은 사실 상의 산업 표준 이 되었습니다 .이전의 원칙 분석 에서 자체 보안 문제는 인증 , 권한 부여 , 암호화 및 기타 보안 보호 메 커 니 즘 의 부족 과 기능 코드 남 용 문제 입니다 .

1) 인증 의 부족

인증 의 목적은 수신 된 정보가 합법 적 인 사용자 로부터 왔 으며 인증 되지 않은 사용자가 장치 에 보내는 제어 명령 이 실행 되지 않도록 보장 하는 것입니다 . Mod bus 프로토 콜 통신 프로세 스 에서는 인증 에 대한 정의 가 없으며 공격 자는 기능 코드를 사용하여 Mod bus 통신 세 션을 설정 하여 제어 프로세 스의 전체 또는 일부를 방해 할 수있는 합법 적 인 주 소를 찾을 수 있습니다 .

2) 권한 부족

권한 부여 는 다른 권한 이 있는 인증 된 사용자가 다른 권한 이 있는 작업을 수행 해야 한다는 것을 보장 하여 잘못된 작업 및 내부 공격 의 가능성을 크게 줄 일 수 있습니다 .현재 Mod bus 프로토 콜 에는 역할 기반 액세스 제어 메 커 니 즘 이 없으며 사용자 분류 또는 권한 분 할 이 없 으므로 임 의 의 사용자가 임 의 의 기능을 수행 할 수 있습니다 .

3) 암호화 부족

암호 화는 통신 과정에서 양 측 의 정보가 제 3 자 에 의해 불법 적으로 취 득 되지 않도록 보장 합니다 . Mod bus 프로토 콜 통신 과정에서 주소 와 명령 은 모두 일반 텍스트 로 전송 되 므로 데이터가 쉽게 공격 받을 수 있습니다 .

포 착 및 분석 하여 공격 자를 용 이 하게 합니다 .

4) 기능 코드 남 용

기능 코 드는 Mod bus 프로토 콜 의 중요한 부분 이며 거의 모든 통신 은 기능 코드를 포함 합니다 .현재 , 함 수 코드 남 용 은 Mod bus 네트워크 의 변 칙 을 초래 하는 주요 요 인 입니다 .예를 들어 , 잘못된 메시지 길이 , 짧은 주 기의 쓸모 없는 명령 , 잘못된 메시지 길이 , 확인 예외 코드 지 연 등 은 모두 서비스 거부 공격을 일으킬 수 있습니다 .

8. 2 계약 이행 에 따른 문제 점

Mod bus 프로토 콜 은 광범 위 하게 사용 되고 있지만 개발 자는 특정 산업 제어 시스템을 구현 할 때 보안 지식 이나 보안 문제를 인식 하지 못합니다 .이로 인해 Mod bus 프로토 콜 을 사용하는 시스템 에서 다양한 보안 취약 점이 발생할 수 있습니다 .

(1) 설계 안 전 문 제

Mod bus 시스템 개발 자는 기능 구현 문제에 중 점을 두고 있으며 보안 문제는 설계 시 거의 주목 되지 않습니다 .설계 보안 은 보안 을 충분히 고려 하여 Mod bus 시스템 에서 발생할 수있는 모든 종류의 비 정 상 및 불법 작동 을 해결 하는 것을 의미합니다 .례를 들면 통신 과 정 에서 어떤 노 드가 악 의 적으로 통제 된 후 불법 데이 터를 발 송 하면 이런 데이터 의 판 별 과 처리 문 제를 고려 해야 한다 .

(2) 버 퍼 오 버 플 로우 취약 성

버 퍼 오 버 플 레 이는 버 퍼 에 데이터를 채 울 때 버 퍼 자체 의 용 량을 초 과 하여 합법 적 인 데이터 에 오 버 플 레 이는 데이터 로 덮 어 쓰 는 것을 의미합니다 . 이는 소프트웨어 개발 에서 가장 일반 적이고 매우 위험한 취약 점 이며 시스템 충돌 을 초래 하거나 공격 자가 시스템을 제어 하기 위해 악 용 할 수 있습니다 . Mod bus 시스템 개발 자는 대부분 보안 개발 에 대한 지식이 부족 하므로 많은 버 퍼 오 버 플 로우 취약 점이 발생 하여 악 의 적 인 악 용 자가 악 용 하면 심각한 결과를 초래 합니다 .

(3) Mod bus TCP 보안 문제

Mod bus 프로토 콜 은 이제 범 용 컴퓨터 와 범 용 운영 체 제 에서 구현 될 수 있으며 TCP / IP 에서 실행 하여 개발 요구를 충족 시킬 수 있습니다 .따라서 TCP / IP 프로토 콜 자체 의 보안 문제는 필 연 적으로 산업 제어 네트워크 의 보안 에 영향을 미 칩니다 .불법 네트워크 데이터 획득 , 중 개 인 , 서비스 거부 , IP 스 푸 핑 , 바이러 스 트 로 이 목 마 등 IP 인터넷 에서 일반적으로 사용되는 공격 수단 은 모두 Mod bus 시스템의 보안 에 영향을 미칠 수 있습니다 .

8. 3 보안 권고 사항

현재 Mod bus 시스템이 채택 한 보안 보호 조 치는 일반적으로 부족 하며 , 정보 보안 업 계의 연구를 참조 하고 산업 제어 시스템 자체 의 보안 문제를 결합 하여 산업 제어 시스템에 직면 한 위협 을 효과적으로 줄 일 수있는 몇 가지 보안 권장 사항을 제시 합니다 .

1) 원 천 에서 시작 하라

산업 제어 네트워크 의 취약 점은 매우 큰 부분 으로 구현 과정에서 발생하는 취약 점 입니다 . Mod bus 시스템의 요구 사항 설계 , 개발 및 구현 , 내부 테스트 및 배 포 단계 부터 소 스에서 제어 하면 전체 수 명 주 기의 보안 수단 에 개입 하여 보안 설계 , 보안 코 딩 및 보안 테스트 기술을 통합 하면 보안 취약 점을 크게 제거 하고 전체 Mod bus 시스템의 보안 위험을 줄 일 수 있습니다 .

(2) 비 정 상적인 행동 탐 지

비 정 상적인 행동은 공격 자가 있 든 없 든 위협 이 발생할 수 있으므로 Mod bus 시스템을 위한 특수 비 정 상적인 행동 탐 지 장 비를 개발 하면 산업 제어 네트워크 의 보안 을 크게 향상 시킬 수 있습니다 . Mod bus 시스템을 위해 , 우리는 먼저 " 주 체 , 장소 , 시간 , 액세스 방법 , 작업 , 객 체 " 와 같은 행동을 หก 튜 브 모델 로 설명 하는 다양한 운영 행동을 분석 해야 하며 , 그 행동이 비 정 상적인 지 여 부를 분석 해야 하며 , 마지막으로 기록 또는 경 보 조치를 취 하기로 결정 합니다 .

3) 보안 감사

Mod bus 보안 감사 는 프로토 콜 데이터 에 대한 심 층 적 인 디 코 딩 분석 을 수행 하고 작업 시간 , 장소 , 운영 자 및 운영 행동 과 같은 중요한 정보를 기록 하여 Mod bus 시스템의 보안 감사 로 그 기록 및 감사 기능을 구현 하여 보안 사고 가 발생한 후 추적 기능을 제공합니다 .

4) 네트워크 보안 장비 사용

침 입 방지 및 방 화 벽 과 같은 사이버 보안 장 비를 사용합니다 .방 화 벽 은 직 렬 장치 이며 , 설 정을 통해 특정 주소 만 서버 에 액세스 할 수 있으며 , 외부 주 소가 Mod bus 서버 에 액세스 하는 것을 금지 하여 외부 침 입 을 효과적으로 방지 할 수 있습니다 ; 침 입 방지 장 치는 Mod bus 프로토 콜 의 구체적인 작동 내용을 분석 하여 내부 / 외부 에서 비 정 상적인 작동 및 다양한 침 투 공격을 효과적으로 탐 지 하고 차단 하여 인 트 라 넷 에 대한 보호 기능을 제공합니다 .

출 처 : 네트워크 .

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC 검증 and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email 주소 will not be published. Required fields are marked *.