화이트리스트를 사용하여 펌웨어 보안 개선

펌웨어는 컴퓨터 보안 연구의 세계에서 더 인기를 끌고있다. 펌웨어 수준에서 작동하는 공격은 발견하기 어려울 수 있으며 베어 메탈 복구 시나리오에서도 지속될 가능성이 있습니다. 이 유형의 해킹은 해킹 팀 및 볼트 7 악용에 대한 조사에 의해 잘 문서화되었습니다.

다행히도 이러한 공격을 탐지하고 방어하는 방법이 있습니다. 펌웨어 기반 공격은 일반적으로 시스템 펌웨어 모듈을 추가하거나 수정하려고 시도합니다. 오픈 소스 칩섹 프로젝트에서 제공하는 도구를 사용하여 이러한 모듈의 해시를 생성하고 검증 할 수 있으므로 사용자는 무단 변경을 감지 할 수 있습니다.

칩섹2014 년 3 월에 소개된 치스펙은 하드웨어,장치,시스템 펌웨어,낮은 수준의 보호 메커니즘 및 다양한 플랫폼 구성 요소의 구성에 대한 플랫폼 수준의 보안을 분석하기 위한 프레임워크이다. 여기에는 하드웨어 보호 및 올바른 구성에 대한 간단한 테스트,펌웨어 및 플랫폼 구성 요소의 취약성 테스트,다양한 플랫폼 장치 및 인터페이스에 대한 보안 평가 및 퍼징 도구,중요한 펌웨어 및 장치 아티팩트를 획득하는 도구를 포함한 일련의 모듈이 포함되어 있습니다.

화이트리스트 모듈(도구.유에피”예상”실행 파일 및 해당 해시의 목록을 작성(.나중에 비교를 위해 사용할 수 있습니다. 설명서는 깃허브의 모듈 소스 코드 및 칩섹 매뉴얼의 일부로 제공됩니다.

이 과정은 당신이”알려진 좋은 펌웨어 이미지”,바람직하게는 제조업체에서 제공하는 펌웨어의 생산 버전에서 시작하고,실수로 불쾌한 무언가를 허용 목록 전에 알려진 문제를 스캔 칩섹을 사용했다고 가정합니다. 이 예제에서는 미노 보드 터봇(릴리스 0.97)에 대한 오픈 소스 펌웨어를 사용하여 프로세스에 대한 가시성을 향상시킵니다.

다음 칩섹 명령줄은 화이트리스트를 만듭니다.”알려진 좋은 이미지”를 기반으로빈):

python chipsec_main.py -i -n -m tools.uefi.whitelist -a generate,efilist.json,platform_fw.bin

우분투 리눅스의 칩섹

이 프로세스를 64″릴리스”및”디버그”미노 보드 터봇 0.97 펌웨어의 이미지에 적용하면 다음과 같은 화이트리스트가 생성됩니다:

  • 최대 1.64.0097.1709211100.이 문제를 해결하려면 다음 단계를 따르십시오.3302>
  • 64.0097.1709211052.이 문제를 해결하기 위해 몇 가지 방법이 있습니다.제이슨

(독자를 위한 운동: 이 파일은 이진 파일의 해시가 아니며 펌웨어 이미지의 실행 가능한 모듈의 해시가 포함되어 있습니다. 칩섹은 스캔 및 개별 펌웨어 구성 요소를 카탈로그 할 수있는 능력을 가지고,화이트리스트 또는 특정 실행 파일을 블랙리스트에 사용할 수있는.

화이트리스트 게시

시스템 제조업체인 경우 고객 확인을 위해 이러한 화이트리스트를 게시할 수 있습니다. 그러나 확인을 위해 파일에 서명하는 것이 가장 좋습니다. 최종 사용자가 얻은 화이트리스트가 공식 화이트리스트임을 보장하기 위해 분리 된 서명을 사용하여 서명 할 수 있습니다:

gpg –detach-sign <file>

또한 사용자는 통해 배달될 때 시스템 제조업체의 잘 알려진 도메인 이름에 대한 인증서를 인증해야 합니다. 또한 감사에서 승인되지 않은 목록이 사용되는 것을 방지하기 위해 내부적으로 생성된 화이트리스트에 서명하는 것이 좋습니다.

화이트리스트 확인

분리된 서명을 사용할 수 있는 경우 화이트리스트 파일을 확인하는 데 사용할 수 있습니다:

gpg –verify <file>

화이트리스트의 진위가 확인되면 사용자는 칩섹을 사용하여 플랫폼 펌웨어의 이미지를 가져와야 합니다. 이 명령 줄은’덤프’명령을 사용하여 사용자를 생성했습니다.빈:

python chipsec_util.py spi dump user_fw.bin

이제 칩섹을 사용하여 관련 화이트리스트에 대해 플랫폼 펌웨어 이미지를 확인할 수 있습니다. 이 예제는 미노 보드 터봇에 대한 64″릴리스”이미지에 대해 확인합니다 0.97:

python chipsec_main.py -i -n -m tools.uefi.whitelist -a check,X64REL_whitelist.json,user_fw.bin

이 시점에서 칩섹은”통과”또는”경고”상태를 반환합니다. 테스트가”통과됨”으로 반환되면 모든 해시가 화이트리스트에 발견되어 예상 값과 일치합니다. 테스트 반환”경고”경우,뭔가 다른이었다. “경고”가 보안 위협을 즉시 나타내는 것은 아니지만(예:사용자가 제조업체의 최신 펌웨어로 업데이트되었을 수 있음)변경된 펌웨어 이미지가 공격 시도로 인한 것이 아닌지 확인하기 위해 조사가 필요합니다.

제한 사항

칩섹과 같은 도구를 사용하면 보안이 향상되지만 어떠한 시스템도 절대적으로 안전할 수 없으며 이러한 절차로 인해 가능한 모든 공격을 방어할 수 없습니다. 화이트리스트 결과를 해석할 때 고려해야 할 여러 가지 제한 사항이 있습니다:

  • 칩섹이 이해하지 못하는 사용자 정의 또는 독점 이미지 패키징 방법이있을 수 있습니다. 이로 인해 일부 모듈이 제외 될 수 있으므로 화이트리스트 비교 중에 해당 변경 사항이 누락 될 수 있습니다.
  • 이미 손상된 시스템에서 실행되는 소프트웨어는 속일 수 있습니다. 시스템이 이미 손상된 경우,칩섹과 유사한 소프트웨어는 신뢰할 수있는 지표를 생성하지 않을 수 있습니다.

요약

칩섹이 화이트리스트를 생성하는 기능은 펌웨어 공급망을 검증하는 방법을 제공합니다. 제조업체는 이러한 도구를 활용하여 사용자가 공식 펌웨어 릴리스를 확인하는 데 도움을 줄 수 있으며 관리자는 신뢰할 수있는 이미지를 기반으로 내부 감사를위한 화이트리스트를 생성 할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.