USB 장치 공격, udev가 커널을 저장할 수 있나요?

USB 장치 공격, udev가 커널을 저장할 수 있나요?

가정적으로 신뢰할 수 없는 장치(USB 포트를 통해 내 시스템에 연결)를 연결하면 내 Linux 시스템이 얼마나 많은 위험에 노출될 수 있는지 궁금합니다. 특히 udev특정 장치(예: 화이트리스트 접근 방식)를 제외한 모든 장치를 차단하는 규칙을 작성하더라도 커널이 여전히 취약할 수 있다는 걱정이 듭니다.

udev에는 USB 장치와 상호 작용하는 방법으로 일반적으로 로드되는 모듈을 커널(모듈식이라고 가정)이 로드하는 것을 방지하는 기능이 있습니까?

답변1

커널에는 다음을 사용하여 USB 장치로부터 자신을 보호하는 기능이 있습니다.USB 인증 프레임워크. 시작 시 모든 호스트를 비활성화할 수 있습니다.

for host in /sys/bus/usb/devices/usb*
do
    echo 0 > $host/authorized_default
done

또는 장치를 폐기하기 전에 커널 명령줄을 전달하여 인증을 완전히 비활성화할 수도 있습니다. 규칙에서 키보드와 같이 부팅에 필요한 모든 USB 장치를 활성화하는지 usbcore.authorized_default=0확인하세요 .udev

완료되면 USB 장치를 연결해도 새 모듈이 로드되거나 새 장치가 생성되지 않습니다. 새 USB 장치를 활성화하려면 수동으로 인증한 다음 드라이버 감지를 수동으로 트리거해야 합니다(자세한 내용은 설명서 참조).

관련 정보