해커를 생각할 때 컴퓨터의 방어벽을 뚫으려는 헐리우드 스타일의 전문가를 상상할 수 있습니다. 그러나 부채널 공격을 통해 해커는 시스템 보안을 건드리지 않고도 기기에서 정보를 추출할 수 있습니다.
부채널 공격이 무엇이며 귀하에게 어떤 의미가 있는지 살펴보겠습니다.
부채널 공격이란 무엇입니까?
당신이 누군가에게 자주 전화를 하는 하우스메이트와 함께 살고 있다고 가정해 봅시다. 이를 위해 물리적 버튼이 있는 유선 전화를 사용합니다. 당신의 하우스메이트는 전화를 거는 사람에 대해 매우 비밀스럽습니다. 하지만 당신은 궁금합니다.
그들이 번호를 다이얼하는 것을 볼 수 있지만 그렇게 할 필요가 없다면 어떻게 될까요? 대신 비시각적 신호를 모니터링하여 숫자를 얻을 수 있다면 어떻게 하시겠습니까?
한 가지 해결책은 하우스메이트가 키를 누를 때마다 발신음을 듣는 것입니다. 각 키가 다른 톤을 만들기 때문에 사운드를 리버스 엔지니어링하여 어떤 키를 눌렀는지 알아낼 수 있습니다.
당신은 당신의 하우스메이트가 한 열쇠에서 인접한 열쇠로 손가락을 움직이는 데 걸리는 시간을 측정할 수 있을 것입니다. 그런 다음 하우스메이트가 전화를 걸 때마다 누르는 시간 간격을 측정합니다.
간격이 측정 값과 같으면 방금 누른 숫자가 마지막 숫자에 인접했습니다. 더 긴 지연은 다음 숫자가 인접하지 않음을 의미하는 반면 두 번의 빠른 탭은 동일한 숫자가 두 번 눌렸다는 신호입니다. 그런 다음 타이밍 패턴에 맞는 가능한 모든 숫자를 계산하고 해당 데이터를 사용하여 그 숫자가 누구일지 알아낼 수 있습니다.
각 키를 눌렀을 때 어떤 소리가 나는지 배울 수 있습니다. 아마도 3개의 키는 더 무거운 "딱딱" 소리를 내고 9개의 키는 약간의 삐걱거리는 소리를 냅니다. 하우스메이트가 전화를 걸면 소음을 모니터링하고 전화를 건 내용을 확인합니다.
이러한 방법은 "부채널 공격"이 무엇인지 정의합니다. 기기에 직접 침입하지 않고 데이터를 추출하는 방식입니다. 이것은 매우 극단적인 것처럼 보일 수 있지만 컴퓨터 부채널 공격은 버튼 누르기를 듣는 것보다 훨씬 더 깊습니다!
다양한 종류의 부채널 공격
이제 부채널 공격이 작동하는 방식을 알았으므로 해커가 사용할 수 있는 다양한 공격 범주를 살펴보겠습니다.
타이밍 공격으로 알고리즘 발견
첫째, 타이밍 공격은 프로세스가 완료되는 데 걸리는 시간을 분석합니다. 이는 하우스메이트의 전화 걸기 시간을 세어 자신이 알고 있는 것과 비교하는 것과 유사합니다.
해커는 알고리즘에 다양한 입력을 제공하고 프로세스가 이를 씹는 데 걸리는 시간을 관찰합니다. 이 데이터에서 타이밍 데이터와 일치하는 잠재적인 알고리즘을 결합하고 솔루션을 찾을 수 있습니다.
위의 영상에서 Joe Grand는 4버튼 콤비네이션 잠금장치가 있는 장치를 만듭니다. 코드를 입력한 후 장치는 사용자 입력의 첫 번째 부분을 올바른 코드의 첫 번째 부분과 비교합니다. 맞으면 두 번째 누름과 조합을 비교하는 식으로 진행됩니다. 틀리면 기기가 즉시 처리를 중지합니다.
결과적으로 네 개의 버튼을 모두 첫 번째 입력으로 테스트하면 올바른 버튼을 처리하는 데 시간이 약간 더 걸립니다. 잘못된 항목은 장치가 첫 번째 항목 직후에 중지되므로 한 번만 비교됩니다. 그러나 첫 번째 항목을 올바르게 입력하면 장치가 두 번째 항목으로 이동하므로 시간이 더 오래 걸립니다.
첫 번째 버튼이 무엇인지 알게 되면 가능한 각 두 번째 항목과 결합한 다음 세 번째 항목 등과 결합해 볼 수 있습니다. 처리하는 데 가장 오래 걸리는 항목을 유지하는 한 결국 코드를 발견하게 될 것입니다.
타이밍 공격은 Meltdown 익스플로잇의 주요 부분이었습니다. 캐시를 읽는 속도를 분석하고 그 결과를 자체적으로 데이터를 읽는 데 사용했습니다.
전력 분석을 통한 프로세서 사용량 확인
해커는 구성 요소가 수행하는 작업을 확인하기 위해 구성 요소가 사용하는 전력의 양을 모니터링할 수 있습니다. 구성 요소가 평소보다 더 많은 전력을 사용하고 있다면 아마도 중요한 것을 계산하고 있을 것입니다. 덜 소모되면 아마도 다음 계산 단계로 넘어갈 것입니다.
해커는 전원 서명을 사용하여 어떤 데이터가 전송되고 있는지 확인할 수도 있습니다. 예를 들어 AnySilicon에서 바이너리 데이터를 보내는 구성 요소를 나타내는 전력 차트를 보여줍니다. 작은 힘의 범프는 0이고 키가 큰 범프는 1입니다.
음향 분석으로 단서 듣기
음향 분석은 해커가 장치에서 나오는 오디오 패턴을 듣고 그 결과를 사용하여 정보를 결합하는 것입니다. 위의 전화 예에서 발신음이나 버튼 누름을 듣는 것은 음향 공격입니다.
음향 공격의 가능성을 테스트하는 몇 가지 연구가 있습니다. 한 연구에서는 인쇄되는 내용을 측정하기 위해 프린터 소리를 듣고 72%의 정확도를 달성했습니다. 공격자가 문서의 내용을 대략적으로 알고 있는 경우 최대 95%까지 증가했습니다.
SonarSnoop이라는 또 다른 연구에서는 전화기를 음파 탐지기 장치로 전환했습니다. 연구에서는 전화기가 스피커를 통해 사람의 귀에 들리지 않는 소리를 방출하고 마이크를 통해 에코를 녹음했습니다. 소나 에코는 공격자가 잠금 해제 패턴을 그리는 동안 화면에서 피해자의 손가락 위치를 알려주므로 전화를 잠금 해제하는 방법을 보여줍니다.
전자기 분석으로 배경파 모니터링
전자기(EM) 분석은 장치에서 방출되는 파동을 모니터링합니다. 이 정보에서 공격자는 장치가 수행하는 작업을 해독할 수 있습니다. 최소한 장치가 근처에 있는지 알 수 있습니다. 예를 들어 휴대폰을 사용하여 EM파를 찾아 숨겨진 감시 카메라를 찾을 수 있습니다.
IoT 장치와 EM 방출을 조사한 연구도 있습니다. 이론은 포렌식 팀이 해킹할 필요 없이 의심되는 장치를 모니터링할 수 있다는 것입니다. 이는 법 집행 기관이 흔적을 남기지 않고 의심스러운 활동을 모니터링할 수 있도록 하므로 중요합니다.
부채널 공격으로부터 자신을 보호하는 방법
불행히도 PC를 부채널 공격에 취약하게 만드는 쉬운 방법은 없습니다. 전력을 사용하고, 방사선을 방출하고, 작동 중에 소리가 나는 한 해커가 분석할 수 있습니다.
그러나 할 수 있는 일은 해커가 처음부터 공격을 수행하는 것을 방지하는 것입니다. 예를 들어, 전화에서 로그인 패턴을 감지할 수 있는 SonarSnoop 프로그램을 사용하십시오. 이 프로그램이 야생에 있었다면 다른 맬웨어와 동일한 배포 채널을 사용했을 것입니다. 누군가가 다운로드하기를 기다리는 악성 앱 및 프로그램에 숨겨져 있습니다.
따라서 장치에서 신호를 내보내는 것을 막을 수는 없지만 해당 신호를 모니터링하도록 프로그래밍된 소프트웨어 설치는 방지할 수 있습니다. 바이러스 백신 도구를 최신 상태로 유지하고 우수한 사이버 보안 위생을 실천하면 문제가 없을 것입니다.
하드웨어를 안전하게 유지
부채널 공격은 사용자가 모르는 사이에 공격이 발생할 수 있음을 증명하므로 무섭습니다. 그러나 해커가 시스템에 발판을 마련하고 개인 정보를 모니터링하는 것을 방지하기 위해 귀하의 역할을 할 수 있습니다.
하드웨어를 안전하게 보호하기 위한 추가 조치를 취하고 싶다면 컴퓨터를 도난으로부터 보호하는 것이 어떻습니까?