Search
Duplicate

Embedded ResearchLab

태그
Embedded
Property
embeddedlab.png

1. Intro

IoT(Internet of Things) 장비의 사용 증가로 인해 임베디드 시스템의 중요성은 더욱 높아지고 있습니다. IoT 장비는 인터넷과 연결되어 다양한 정보를 수집하고 처리하며, 임베디드 시스템을 기반으로 구축됩니다. 공유기, IP 카메라, 셋톱박스 등 일상속에서 사용하는 기기부터 드론, SCADA 시스템이 사용되는 산업 영역까지 임베디드 장비가 구성되고 관련 기술이 적용되어 있습니다.
[출처 : IoT Analytics]
과학기술정보통신부의 "'21년 사이버 위협 분석 및 '22년 전망 분석" 보고서 [1] 에 따르면 2025년까지 전 세계 IoT 연결 기기 수가 309억대까지 증가할 것으로 전망하고 있습니다. IoT 시장 규모의 상승으로 임베디드 장비의 사용이 늘어남에 따라 IoT 기기 사용자에 대한 사이버 보안 위협도 함께 증가합니다.
이러한 보안 위협은 일상속에서의 사생활 침해, 개인정보 유출 등의 피해와 산업 영역에서의 사내 정보 유출, 서비스 거부 공격으로 인한 생산 프로세스 마비 등의 큰 피해가 발생할 수 있습니다.

Embedded Hacking 최신 동향

2021년 미국 콜로니얼 파이프라인 해킹 [2]
콜로니얼 파이프라인은 미국 동부 해안 지역에서 소비되는 연료 45%를 보급하는 주요 기반 시설입니다. 2021년 5월 7일 콜로니얼 파이프라인을 대상으로 랜섬웨어 공격이 발생했고, 이 공격으로 100GB 가량의 파이프라인 데이터가 유출되었고, 연료를 보급하는 파이프라인이 마비되었습니다.
2022년 Realtek Wi-Fi SDK 취약점 [3]
2022년 8월 초부터 Realtek Wi-Fi 모듈 SDK에서 발생하는 취약점을 활용한 공격이 급증했습니다. Wi-Fi 모듈에서 WiFi Simple Config 서버와 UDPServer MP tool에서 Heap/Stack Overflow, Arbitary Code Execution 취약점이 발생했으며, 해당 모듈은 D-Link, LG, Belkin, ASUS, NETGEAR 등의 회사에서 출시하는 네트워크 장비, IP 카메라 등의 다양한 임베디드 장비에 사용됩니다.
CVE-2021-35392
CVE-2021-35393
CVE-2021-35394
CVE-2021-35395
Pwn2Own 테슬라 모델3 해킹 시연 [4]
프랑스 보안 회사 Synacktiv가 Pwn2Own 대회에서 테슬라 모델 3을 대상으로 2가지의 취약점 공격을 시연했습니다. 테슬라 게이트웨이 에너지 관리 시스템에서 TOCTOU 공격, 블루투스 칩셋에서 Heap Overflow 및 OOB Write 취약점으로 차량 주행 중 문 개폐 시스템에 접근하고, 인포테인먼트 시스템에 접근하여 하위 시스템에 대한 엑세스 권한을 얻었습니다.
위 사례 외에도 임베디드 기기를 대상으로 사이버 공격과 보안 사고가 끊임없이 발생하고 있습니다. 이러한 보안 사고를 예방하기 위해 임베디드 시스템을 분석하고 각종 잠재적인 보안 취약점을 식별하는 작업이 반드시 필요합니다.
78ResearchLab 임베디드 연구실은 이러한 하드웨어 분석 작업에 필요한 다양한 종류의 장비들을 보유하고 있습니다. 임베디드 연구를 진행할 때 다양한 장비들이 있기 때문에 좀 더 다양한 작업을 수행할 수 있으며 이를 통해 작업 효율을 높일 수 있습니다. 다음 장에서 현재 사용하고 있는 장비들과 사용 방법에 대하여 간략히 설명하겠습니다.

2. Embedded Research Equipment

2.1 핀 식별 및 신호분석

임베디드 디바이스를 개발할 때 디버깅을 위해 UART와 같은 디버깅 포트를 사용하는데, 공격자는 이러한 디버깅용 포트로 펌웨어를 추출하거나 디버깅 쉘을 이용해 실 장비 동적 분석을 할 수 있습니다.
완성 제품을 출시할 때 디버깅 포트의 핀 정보를 제거하는 경우가 존재하는데 이를 식별할 때 멀티미터기를 사용할 수 있습니다.
UART의 경우 VCC, Tx, Rx, GND 4개의 핀으로 구성되어 있습니다. 기판 상의 칩 데이터 시트 등을 이용해 GND와 VCC를 식별하고 멀티미터의 통전 테스트 기능으로 UART 핀을 식별할 수 있습니다. Tx 핀은 기기에서 디버깅 메시지 등의 데이터를 송신해 줄 때 사용하는 핀입니다. 데이터를 송신할 때 전압이 올라가는데 멀티미터기의 DC 측정 기능으로 이를 식별할 수 있습니다. GND와 Tx로 추정되는 핀을 연결하고 만약 그 핀이 Tx 핀이라면 전압이 계속해서 요동치는 것을 볼 수 있습니다. Tx 핀을 식별하였다면 나머지 하나의 핀이 Rx 핀이라는 것을 유추할 수 있습니다.
하드웨어 작업 중 기판 상의 저항의 이탈이나 파손이 발생하는 경우가 있습니다. 멀티미터기로 작업 전에 저항값 등을 측정해 놓으면 이러한 문제가 발생해도 동일한 저항을 구해 문제 상황을 대처할 수 있습니다.
이 외에도 Chip-Off 없이 칩의 데이터를 직접 추출할 때 기판 상에 노출된 데이터 핀도 멀티미터기의 통전 테스트로 식별하여 칩을 직접 건드리지 않고 배선 작업을 통해 보다 안전한 상황에서 데이터 추출을 시도할 수도 있습니다.
디버깅 핀으로 추정되는 부분이 있다면 멀티미터기로 어떤 용도로 사용되는 핀인지 확인할 수 있지만 수동으로 핀을 일일이 식별해야 한다는 단점이 있습니다. 이를 자동으로 식별해 주는 장비가 Logic Analyzer입니다.
Logic Analyzer는 핀맵과 상관없이 연결하고 기기를 작동시키면 각 핀의 시그널 변화를 볼 수 있으며, 데이터 값과 클럭 주파수 등의 정보를 볼 수 있습니다. UART를 연결할 때 데이터 통신 단위인 Baud Rate를 맞춰주어야 하는데 이 수치 또한 Logic Analyzer로 알아낼 수 있습니다.
UART 뿐만 아니라 I2C, SPI, CAN, JTAG 등의 통신 방식도 지원하여 범용적으로 핀을 식별하는 데 도움이 되는 도구입니다.

2.2 Chip-Off & Reballing

Chip-Off
PCB 기판에 UART, JTAG 등의 디버깅 포트가 제거되어 있거나 디버깅 메시지 출력용으로만 UART를 사용할 수 있는 경우에는 펌웨어를 추출하는 데 어려움이 있습니다. 이런 경우에는 직접 메모리 칩을 read 하여 펌웨어를 추출해야 합니다.
또한 분석 작업 중 펌웨어 손상으로 인해 기기가 Brick out 된다면 원본 펌웨어 데이터를 메모리 칩에 write 함으로써 기기를 원본 상태로 복구할 수 있습니다. 이러한 작업을 하기 위해 Chip-Off로 칩을 PCB 기판으로부터 떼어내고 작업해야 합니다.
Chip-Off를 수행하는데 위와 같은 장비가 필요합니다. 납땜 워크스테이션인두기, 열풍기, 예열기로 구성되어 있습니다. 예열기열풍기로 열을 가해 데이터 칩 주변의 납을 녹여 떼어낼 수 있습니다.
더욱 효과적이고 빠르게 납을 녹여 칩을 떼어내기 위해 칩 주위의 납에 플럭스를 첨가하여 작업하는 경우도 있습니다. 가열되어 녹은 납이 공기와 직접 닿으면 산화하면서 굳어버려 Chip-Off 작업에 불편함이 발생하거나, 작업 중 불순물이 혼합될 수도 있습니다. 이러한 점을 방지하기 위해 플럭스를 칩 주위에 도포해 줍니다.
Reballing & Rework
Chip-Off로 떼어낸 칩에 대한 작업이 끝나고 장비를 다시 정상적으로 구동시키기 위해서는 칩을 PCB 기판에 다시 장착시키는 리볼링 작업을 해야 합니다. 메모리 칩은 SOP, QFN, BGA 등 다양한 형태의 패키지 타입이 존재합니다.
SOP 패키지 타입의 경우 데이터 핀이 다리 형태로 외부로 노출되어있어 인두기실납으로 직접 납땜하거나 칩을 규격에 맞게 기판 위에 올리고 열풍기크림납을 이용해 간단하게 납땜하여 고정시킬 수 있습니다.
BGA나 QFN 패키지 타입처럼 데이터 핀이 외부로 노출되어 있지 않은 경우 직접 PCB 기판과 칩 사이 납땜 작업이 불가능합니다. 칩의 바닥 면에 데이터 핀이 존재하기 때문에 이 부분에 미리 납땜 작업을 하고 PCB 기판에 규격을 맞춰 Chip-Off 과정과 동일하게 열풍기로 열을 가하는 리워크 작업을 하면 칩과 PCB 기판 상의 납이 녹으면서 기판과 칩이 고정됩니다.
eMMC나 UFS 칩은 BGA 패키지 규격을 사용하는데, BGA 153 패키지의 경우 납땜해야 하는 볼의 개수가 153개입니다. 수작업으로 153개 모두 볼납을 올려서 녹일 수도 있지만 숙련되어 있지 않다면 작업하는 데 오랜 시간이 소요됩니다.
이 작업을 보다 편하게 하기 위해 지그스탠실을 사용합니다. 칩을 지그에 고정하고 칩의 규격에 스탠실을 맞춰 볼납을 뿌려주거나 크림납을 도포해 주면 간단하게 칩의 규격에 맞게 납을 올릴 수 있습니다. 그 후 열풍기예열기로 칩 위에 올라간 납을 녹여주면 납이 고정됩니다.

2.3 데이터 추출

SOP8 규격을 갖는 데이터 칩의 경우 데이터 시트를 참고해 다리 부분에 집게 점퍼선이나 클램프를 걸고 라즈베리파이 등의 장비와 연결하여 SPI 통신으로 데이터 추출이 가능합니다.
eMMC, UFS 등의 칩을 데이터 핀과 연결하기 위해서는 Chip-Off 작업이 필요하며, 칩을 읽을 수 있는 규격에 맞는 리더기가 필요합니다.
BeeProg2UFi가 리더기 역할을 하는 장비이며, 본체와 소켓으로 구성되어 있습니다. 현재 eMMC와 UFS 리더기와 그것과 호환되는 BGA 타입의 소켓을 구비하고 있으며, Chip-Off를 통해 기판으로부터 떼어낸 칩의 데이터를 해당 장비를 통해 추출할 수 있습니다.
리더기에 칩을 연결했을 때 칩과 소켓이 서로 접촉이 안 되면 칩 인식이 안될 수 있습니다. 이러한 경우에는 위에 기술한 리볼링 작업으로 납땜하여 칩을 정상적으로 인식시킬 수 있습니다.

2.4 기타 장비

위 도구 외에도 하드웨어 작업 중 발생한 문제로 PCB 기판 상의 부품을 수리하거나, PCB 기판 상의 데이터 핀 부분을 연장하는 등에 사용하거나 작업자의 안전을 위한 도구 또한 준비가 되어있습니다.
인두기
기기 수리, 조립, 제작 등에 사용되는 도구
납을 녹여 부품, 배선 연결을 할 때 사용
점퍼선
회로가 끊어지거나 길이 연장 등을 할 때 연결하는 선
실납
부품을 연결할 때 사용되는 실 형태의 납
실납에 열을 가해 납을 녹여 부품 간 연결
솔더윅
납을 흡수하는 성질의 구리 섬유로 이루어져 납을 제거하는데 사용
제거하고자 하는 땜납 상에 솔더윅을 올리고 열을 가함으로 땜납 제거 가능
현미경
하드웨어 작업 시 크기가 작은 전자 부품을 확인할 때 사용
환풍기
하드웨어 작업 시 발생하는 유해한 물질로부터 작업자를 보호하기 위한 환기 장치

3. Embedded Research Lab

임베디드 보안 위협은 나날이 증가하고 있고, 이러한 보안 위협으로부터 사이버 공간을 지키기 위해 임베디드 취약점 연구가 필요합니다. 임베디드 취약점 연구는 다른 분야의 취약점 연구와는 다르게 하드웨어 작업이 요구되며, 이에 맞는 장비가 추가적으로 필요합니다.
78researchLab 임베디드 연구실은 취약점 분석에 필요한 하드웨어 작업 장비를 보유하고, 임베디드 시스템 분야에서 다양한 경험과 전문성을 갖춘 보안 전문가들이 펌웨어 분석, 보안 취약점 발견 및 분석 등의 업무를 수행하고 있습니다.

4. Reference