보안 공부/IoT 보안

UART통신(범용 비동기화 송수신기)이란?

H.J.World 2020. 1. 21. 18:18
728x90
반응형

 

회사에서 IoT 기기 진단에 대한 공부요구가 들어와 IoT진단을 하기위한 필요 정보들 및 지식들을 나열해 보도록 하겠습니다.

오늘은 UART를 활용한 점검입니다.

디바이스의 하드웨어 안전성 점검은 하드웨어 분해의 용이성과 디버그 포트의 접근 가능성을 기준으로 점검합니다. 디버그 포트의 예로는 UART(범용 비동기화 송수신기)와 JTAG(Joint Test Action Group)가 있습니다.

IoT 점검은 해당 포트가 물리적으로 노출되어있는지, 해당 포트에서 송수신 신호가 활성화 되어있는지를 점검합니다.

보통 로직분석기와 함께 활용해서 진단을 수행합니다.

특히 UART의 허점을 악용하면 중요정보가 해커에게 노출될 수있습니다.

여기서 UART란?

UART(범용 비동기화 송수신기: Universal asynchronous receiver/transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다. UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표준과 함께 사용합니다.

UART의 U는 범용을 가리키는데 이는 자료 형태나 전송 속도를 직접 구성할 수 있고 실제 전기 신호 수준과 방식(이를테면 차분 신호)이 일반적으로 UART 바깥의 특정한 드라이버 회로를 통해 관리를 받는다는 뜻입니다.

통신 데이터는 메모리 또는 레지스터에 들어 있어 이것을 차례대로 읽어 직렬화 하여 통신한다. 최대 8비트가 기본 단위입니다.

UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데이터를 직렬화 하여 통신하는 개별 집적 회로입니다.

  • 시작 비트 : 통신의 시작을 의미하며 한 비트 시간 길이 만큼 유지한다. 지금 부터 정해진 약속에 따라 통신을 시작
  • 데이터 비트 : 5~8비트의 데이터 전송을 한다. 몇 비트를 사용할 것인지는 해당 레지스터 설정에 따라 결정
  • 패리티 비트 : 오류 검증을 하기 위한 패리티 값을 생성하여 송신하고 수신쪽에 오류 판단한다. 사용안함, 짝수, 홀수 패리티 등의 세가지 옵션으로 해당 레지스터 설정에 따라 선택할 수 있다. '사용안함'을 선택하면 이 비트가 제거
  • 끝 비트 : 통신 종료를 알린다. 세가지의 정해진 비트 만큼 유지해야 한다. 1, 1.5, 2비트로 해당 레지스터 설정에 따라 결정

- UART는 크게 4가지의 핀으로 구성되어있습니다.

  • TX : 데이터 송신 핀

  • RX : 데이터 수신 핀

  • GND : 그라운드

  • VCC : 전압

- RX / TX / VCC / GND 핀 찾기

  1. 멀티 테스터로 찾기

    • 5v나 3.3v가 잡힐때의 (-) 선은GND

    • (+) 선은 VCC핀이나 TX

    • 나머지 하나는 RX

  2. LED를 이용하기

    • LED에 불이 들어올 때 LED의 (-)극은 GND

    • 지속적으로 불이 들어오는 핀은 VCC

    • 전원을 키면 깜빡이는 핀은 TX

    • 나머지 하나는 RX

  3. 그 외에도 PCB의 특성을 이용한 방법, 멀티테스터 통전 테스트를 통한 방법등이 있습니다.

 

#UART #UART 통신 #IoT 진단 #IoT 취약점 진단

 

728x90
반응형