오류주입 공격 (Fault Injection Attack)

정보보안학
한 줄 정의: 전압, 클럭, 전자기파, 레이저 등 외부 물리적 자극을 이용해 기기의 연산 오류를 의도적으로 유발하여 보안 로직을 우회하거나 비밀 정보를 유출시키는 공격입니다.

쉽게 풀면

정밀한 기계에 순간적으로 충격을 가하면 톱니바퀴가 한 칸 어긋나듯, 전자 회로에도 순간적인 전압 급변이나 강한 빛을 쏘면 계산 과정 중 한두 비트가 잘못 계산되는 오류가 생길 수 있습니다. 공격자는 이 오류가 정확히 어느 순간, 어느 연산에서 발생하도록 유도함으로써 암호 검증을 건너뛰게 만들거나, 비밀 키의 일부를 추정할 수 있는 단서를 얻어냅니다. 원래는 존재하지 않는 오류를 인위적으로 만들어내 기기를 속이는 공격이라는 점이 특징입니다.

왜 중요한가

스마트카드, 보안 칩, IoT 기기처럼 물리적으로 공격자의 손에 들어갈 수 있는 환경에서는, 소프트웨어가 완벽해도 하드웨어 수준의 오류주입 공격으로 보안 로직이 무력화될 수 있습니다. 정보보안학에서는 이러한 공격에 견디는 회로 설계와 오류 발생을 탐지해 대응하는 기법이 임베디드 보안의 핵심 연구 주제로 다뤄집니다.

논문에서는 이렇게 쓰입니다

"본 연구는 클럭 글리치를 이용한 오류주입 공격을 통해 마이크로컨트롤러의 인증 검사 루틴을 우회할 수 있음을 실험으로 보였다."

클럭 신호를 일시적으로 교란해 보안 검증 절차를 건너뛰게 만든 실험을 설명하는 문장입니다.

"제안한 방어 기법은 연산 결과를 이중으로 검증함으로써 오류주입 공격으로 발생한 비정상 결과를 탐지하고 차단한다."

오류 발생 여부를 스스로 점검해 공격을 막는 방어 기법을 설명하는 문장입니다.

조금 더 깊게 보면

오류를 유발하는 방식으로는 전원 전압을 순간적으로 낮추거나 높이는 방식, 클럭 신호에 짧은 이상을 주는 방식, 레이저나 전자기파를 특정 회로 지점에 쏘는 방식 등이 있습니다. 방어 측에서는 같은 연산을 여러 번 반복해 결과를 비교하는 중복 검증, 이상 신호를 감지하는 센서 내장 등의 기법이 함께 연구됩니다. 공격의 정밀도는 사용하는 장비의 성능에 따라 크게 좌우됩니다.

주의할 점

오류주입 공격은 대체로 전문 장비와 물리적 접근이 필요한 고난도 공격으로, 일반적인 원격 공격보다 실행 난이도가 높다는 점을 감안해 위협 모델을 설정해야 합니다. 방어 기법을 추가하면 회로의 복잡도와 비용이 늘어나는 경우가 많아 설계 시 절충이 필요합니다.

관련 용어