핀 제어 공격
Pin control attack핀 제어 공격은 임베디드 시스템의 칩(SoC)에 탑재된 시스템에 대한 공격의 일종으로 공격자가 임베디드 시스템의 I/O 구성을 대상으로 하고 소프트웨어 또는 운영 체제 I/O 기능을 감지 없이 비활성화한다.핀 구성 및 핀 멀티플렉싱 구성에 대한 하드웨어 보호 기능이 부족하여 공격이 용이하다.
핀 제어 공격의 가장 중요한 대상은 프로그램 가능한 로직 제어기(PLC)이다.PLC에 핀 제어 공격의 적용은 PLC가 외부 세계와 상호작용하고 제어하는 주요 메커니즘이기 때문에 중요하다.다른 임베디드 장치와 같은 PLC I/O는 핀 기반 접근법에 의해 제어된다.핀 제어 공격은 공격자가 특정 핀 제어 작업 및 이와 관련된 하드웨어 인터럽트 부족을 이용하여 PLC I/O의 무결성과 가용성을 변조할 수 있는 공격이다.
이 공격의 가족은 2016년 블랙햇 유럽에서 처음 공개되었다.[1]핀 제어 공격은 PLC SoC의 I/O 주변 구성 설정을 사용하여 PLC로부터 I/O 모듈 통신 인터페이스를 물리적으로 종료한다.공격자는 PLC 런타임 대신 PLC I/O 구성을 타겟팅하거나 로직 프로그램을 변경함으로써 임베디드 시스템에 존재하는 전형적인 탐지 메커니즘을 피할 수 있다.[2]
배경
PLC에 대한 고전적인 공격은 장치의 펌웨어, 구성 파라미터 또는 실행 중인 프로세스의 실행 흐름을 수정하는 것에 의존한다.이러한 일반적인 공격은 IDS와 같은 보안 소프트웨어가 인간 운영자에게 수신하여 경고하는 PLC의 정상 작동 모드에 인터럽트를 트리거한다.PIN Control Attack은 장치가 I/O 구성을 저장하는 PLC의 동적 메모리를 대상으로 한다.[3][4]
공격 벡터
연구원들은 핀 구성 공격과 핀 멀티플렉싱 공격으로 명명된 공격의 최소 두 가지 변종을 제안했다.[5]이 두 공격 벡터는 서로 다르게 작용하지만, 그 개념은 유사하며, I/O 멀티플렉싱 및 I/O 구성에 대한 하드웨어 인터럽트 부족으로 인해 소프트웨어에 대한 인식 없이 소프트웨어 액세스로부터 I/O를 물리적으로 종료한다.[6]
핀 멀티플렉싱 공격
임베디드 SoCs는 보통 전기 회로에 연결된 수백 개의 핀을 사용한다.이 핀들 중 일부는 단일 정의된 목적을 가지고 있다.예를 들어, 몇몇은 전기나 시계 신호만 제공한다.다양한 I/O 요구사항을 가진 여러 장비 공급업체가 이 SoC를 사용할 것이기 때문에, SoC 제조업체는 응용 프로그램에 따라 상호 배타적인 여러 기능을 위해 특정 물리적 핀을 사용하기 위해 SoC를 생산한다.[7]핀의 기능을 재정의하는 개념을 핀 멀티플렉싱이라고 하며, SoC 설계에 필요한 사양 중 하나이다.[8]Pin Multiplexing과 OS의 상호 작용에 대해서는, 멀티플렉싱에 대한 인터럽트가 없으므로, SoC 벤더가 시동 중에만 멀티플렉싱하는 것을 권장한다.그러나 사용자는 런타임에 여전히 핀을 멀티플렉스할 수 있으며, 그것에는 제한이 없다.
현재의 하드웨어 레벨의 핀 멀티플렉싱 설계는 보안 문제를 제기한다.예를 들어, 응용 프로그램이 특정 멀티플렉싱 설정을 사용하여 핀에 연결된 특정 주변 컨트롤러를 사용한다고 가정해 보십시오.한 지점에서 다른 애플리케이션(두 번째 애플리케이션)이 첫 번째 애플리케이션에서 사용하는 핀의 멀티플렉싱 설정을 변경한다.핀이 멀티플렉싱되면 첫 번째 주변 컨트롤러에 대한 물리적 연결이 분리된다.그러나 하드웨어 레벨에서 인터럽트가 없기 때문에 OS는 첫 번째 주변 컨트롤러를 여전히 사용할 수 있다고 가정할 것이다.따라서 OS는 애플리케이션이 요구하는 쓰기 및 읽기 작업을 오류 없이 계속 수행하게 된다.[6]
런타임에 I/O에 연결된 핀의 기능을 변경하는 개념을 핀 멀티플렉싱 어택이라고 한다.[9]
핀 구성 공격
PLC는 다양한 유형의 전기 및 전자 신호를 수신하고 전송할 수 있다.일반적으로 센서에서 나오는 입력과 모터, 밸브 또는 릴레이를 제어하는 데 사용할 수 있는 출력은 시스템 온 칩(SoC)으로 알려진 집적회로의 입력 및 출력 핀에 연결된다.SoC의 핀 컨트롤러는 핀의 모드를 구성할 수 있다(즉, 핀은 입력 또는 출력 역할을 하도록 설정됨).전문가들은 PLC를 손상시킨 공격자는 감지되지 않고 HMI(휴먼-머신 인터페이스)를 통해 프로세스를 모니터링하는 운영자에게 경고하지 않고도 입력과 출력을 조작할 수 있다는 사실을 발견했다.[10]
은밀함
핀 구성과 핀 멀티플렉싱 모두 경고 또는 하드웨어 인터럽트를 트리거하지 않는다.[10]따라서 활성 공격 중에 PLC 런타임은 공격자가 가상 메모리와 I/O 연결을 물리적으로 종료하는 동안 가상 I/O 메모리와 상호 작용한다.소프트웨어 메모리의 I/O 값이 물리적 I/O 메모리를 반영하지 않는 상태를 I/O 메모리 착시라고 한다.[11]
참고 항목
참조
- ^ "Hacking industrial processes with and undetectable PLC Rootkit". Security Affairs. 2016-09-18. Retrieved 2016-11-08.
- ^ "Researchers build undetectable rootkit for programmable logic controllers". PCWorld. Retrieved 2016-11-08.
- ^ "Researchers Create Undetectable Rootkit That Targets Industrial Equipment". BleepingComputer. Retrieved 2016-11-08.
- ^ "PLCs Possessed: Researchers Create 'Undetectable' Rootkit". Dark Reading. Retrieved 2016-11-08.
- ^ "How to compromise PLC systems via stealthy Pin control attacks". Information Security Newspaper. 2016-11-05. Retrieved 2016-11-08.
- ^ a b "Ghost in the PLC Designing an Undetectable Programmable Logic Controller Rootkit via Pin Control Attack" (PDF). Black Hat Europe Briefings 2016.
- ^ "Pin control subsystem in linux Kernel". Kernel.org.
- ^ "A method to make soc verification independent of pin multiplexing change". International Conference on Computer Communication and Informatics (ICCCI). 2013.
- ^ "PLCs Vulnerable to Stealthy Pin Control Attacks SecurityWeek.Com". www.securityweek.com. Retrieved 2016-11-08.
- ^ a b "How to compromise PLC systems via stealthy Pin control attacks". Security Affairs. 2016-11-05. Retrieved 2016-11-08.
- ^ "Ghost in the PLC Designing an Undetectable Programmable Logic Controller Rootkit via Pin Control Attack (Presentation)" (PDF). Black Hat Europe Briefings.