해커로부터 펌웨어 및 하드웨어를 보호하는 방법 (2) "fuzzware로 취약점 탐지"

문광주 기자 / 기사승인 : 2023-02-04 16:01:21
  • -
  • +
  • 인쇄
2'30" 읽기
"시스템이 퍼징으로 테스트된 적이 없다면 발견되지 않은 취약점이 있는 것이다"

지능형 원숭이
fuzzware로 취약점 탐지

 

임베디드 시스템의 프로그램 코드에서 오류를 감지하기 위해 Bochum IT 연구원은 산업 제어 장치에서 문제의 펌웨어를 직접 분석하지 않는다. 대신 하드웨어를 가상으로 복제한다. 이 프로세스를 에뮬레이션이라고 한다. 에뮬레이터는 펌웨어가 실제 펌웨어라고 믿도록 속인다. 이렇게 하려면 실제 하드웨어와 마찬가지로 프로그램과 상호 작용해야 한다. 

▲ 테스트 중인 퍼징 알고리즘. © Michael Schwettmann/ RUB

대상 입력을 사용한 맨헌트

"따라서 우리는 하드웨어와 펌웨어 사이에 존재하는 모든 인터페이스를 모방해야 한다"고 토르스텐 홀츠(Thorsten Holz)는 설명했다. 이것이 성공하면 과학자들은 강력한 시스템에서 펌웨어를 테스트할 수 있다. 그럼에도 불구하고 퍼징 알고리즘이 이론적으로 가능한 모든 입력을 시도하도록 놔둔다면 시간이 오래 걸릴 것이다. 이것이 연구원들이 가능한 입력 범위를 좁히는 실제 퍼징 프로세스에 추가 단계를 추가하는 이유다. 먼저 펌웨어에 대해 논리적이기 위해 입력이 있어야 하는 프레임을 모델링한다.

예: 하드웨어가 온도 센서가 있는 냉장고라고 가정해 보겠다. 냉장고 하드웨어는 측정된 온도를 냉장고의 소프트웨어, 즉 펌웨어에 보고할 수 있다. 현실적으로 가능한 모든 온도가 발생할 수 있는 것은 아니며 특정 범위에서만 발생할 수 있다. 따라서 펌웨어는 특정 온도 범위에 대해서만 프로그래밍된다. 다른 값은 전혀 처리하지 못하므로 퍼징에서도 테스트할 필요가 없다.

키보드의 원숭이

"퍼징 프로세스에서 우리는 펌웨어가 예상하고 처리할 수 있는 입력만 사용한다"고 Thorsten Holz는 설명하고 이 프로세스를 무한 원숭이 정리와 비교한다. 셰익스피어의 작품은 결국 그것에서 나올 것이다.” fuzzer도 마찬가지일 것이다. 충분히 오래 시도하면 결국 우연히 의미 있는 입력을 사용하게 된다. 하지만 시간이 오래 걸릴 것이다.

"그러나 우리는 원숭이를 좀 더 똑똑하게 만들고 싶다"고 Tobias Scharnowski는 말했다. “필요하지 않은 모든 키를 제거하고 의미 있는 방식으로만 키를 누르도록 한다. 남은 입력으로 우리는 여전히 코드를 가장 구석까지 테스트할 수 있다.” 이렇게 하면 fuzzware로 알려진 Bochum 시스템을 사용한 퍼징이 특히 효율적이다.

“당신은 항상 무언가를 찾을 수 있다”

Bochum 팀은 Santa Barbara 및 Amsterdam의 동료들과 함께 fuzzware로 77개의 펌웨어를 테스트했다. 기존의 퍼징 방법과 비교하여 가능한 입력의 최대 95.5%를 분류했다. 그럼에도 불구하고 fuzzware 시스템을 사용하여 기존 방법보다 최대 3배 더 많은 프로그램 코드를 확인할 수 있었다. 이 그룹은 또한 다른 퍼징 방법으로 탐지되지 않은 새로운 취약점을 발견했다.

Thorsten Holz는 "항상 무언가를 찾을 수 있다"며 "시스템이 퍼징으로 테스트된 적이 없다면 발견되지 않은 취약점이 있는 것이다"고 말했다. 특히 임베디드 시스템의 경우 프로그래머가 완벽한 코드를 작성하는 것은 거의 불가능하다. "임베디드 시스템의 하드웨어와 통신하려면 저수준 프로그래밍 언어를 사용해야 한다"고 Tobias Scharnowski는 설명했다.

많은 영역에서 프로그래머는 다른 애플리케이션용으로 개발된 코드 스니펫에 액세스할 수 없다. 처음부터 코드를 작성해야 한다. 특히 엣지 케이스(시스템이 거의 발견되지 않는 상태)는 고려되지 않을 수 있다. "그러나 이러한 상태는 fuzzer에 대해 분석하기 쉽다"고 Scharnowski는 말한다. "따라서 그들은 시스템을 보다 견고하게 만드는 데 도움을 줄 수 있다." 연구원들은 그들이 발견한 모든 취약성을 제조업체에 보고함으로써 산업, 전구, 냉장고 등의 보안 강화에 기여한다. (계속)

[더사이언스플러스=문광주 기자]

[저작권자ⓒ the SCIENCE plus. 무단전재-재배포 금지]

  • 글자크기
  • +
  • -
  • 인쇄
뉴스댓글 >

주요기사

+

많이 본 기사

Basic Science

+

AI & Tech

+

Photos

+