데이터 보호는 거의 모든 IT 관련 연구에서 타협하지 않는 우선 순위로 자주 인용됩니다. 그러나 IT 리더가 옹호하는 신념과 그들이 취하는 행동 사이에는 단절이 있습니다. 기업 데이터 보호 기술, 리소스 및 예산 제약으로 가득 찬 힘든 작업입니다.
IBM 연구에 따르면 악의적인 공격이 기업의 모든 데이터 유출 사고의 절반 이상을 차지했습니다. 더욱이 이러한 각 데이터 유출을 수정하는 데 평균적으로 거의 $4 백만의 비용이 듭니다.
원천: IBM
전통적으로 가장 약한 링크 중 하나는 무단 읽기/쓰기 액세스에 대한 본질적인 방어 수단이 거의 없는 드라이브의 데이터였습니다. Cigent와 Phison의 협업으로 이제 역사가 되었습니다. Cigent의 K2 및 Denali 드라이브, Phison의 기반 PS5012-E12DC Crypto-SSD NVMe 컨트롤러, 이다 업계 최초의 "자가 방어" 스토리지 드라이브 펌웨어에 사이버 보안이 내장되어 있습니다. 이 플랫폼에는 랜섬웨어 및 데이터 도난 방지 메커니즘이 SSD의 펌웨어에 직접 내장되어 있습니다. 드라이브는 공격이 발생할 경우 데이터를 자동으로 암호화하고 숨깁니다.
그러나 여기서 컨텍스트를 다시 살펴보기 위해 몇 단계 뒤로 돌아가 보겠습니다. 덜 알려진 위협은 SSD를 실행하는 펌웨어에 대한 보호 부족입니다. 펌웨어는 하드웨어를 제어하고 운영 체제 없이 실행할 수 있는 저수준 코드입니다. 펌웨어 수준의 위협은 해커의 기쁨입니다. 장치가 반드시 소비자 또는 애플리케이션 데이터를 저장할 필요는 없습니다. 회사 인트라넷의 VPN 경로를 저장하는 네트워크 장치의 BIOS만큼 간단할 수 있습니다.
펌웨어에 삽입된 악성코드는 기기 부팅 시 가장 먼저 실행되어 운영체제 자체를 선점한다. 부팅 프로세스를 제어함으로써 공격자는 보안 정책을 파괴하고 자체 암호 확인 및 유효성 검사 루틴을 설치하고 OS를 패치하고 장치에 대한 완전한 제어권을 얻을 수 있습니다. 확장하여 장치가 속한 전체 시스템에 대한 추가 권한을 얻습니다.
그게 다가 아닙니다. 펌웨어 공격은 매우 지속적이며 오랜 시간 동안 탐지되지 않습니다. 공격자가 엔터프라이즈 인프라에서 펌웨어 제어권을 획득하면 스토리지 드라이브를 교체하거나 전체 시스템을 완전히 재이미징하여 복구하지 못할 수 있습니다.
이것이 바로 펌웨어 위협이 이제 고도로 조직화된 APT(Advanced Persistent Threat) 및 국가 지원 그룹의 주요 요소가 된 이유입니다. 메모, 가트너는 이렇게 예측했습니다. 펌웨어 업그레이드 계획이 없는 조직의 70%는 2022년 말까지 펌웨어 취약점으로 인해 위반될 것입니다.
이 기사에서는 스토리지 시스템의 펌웨어 취약성이 어떻게 심각한 데이터 침해를 유발할 수 있는지, 장치를 보호하고 데이터를 보호하기 위해 취할 수 있는 조치를 살펴봅니다.
플래시 기반 스토리지의 펌웨어 취약성
고객 데이터, 운영 코드 또는 기업의 지적 재산을 훔치려는 해커에게 이상적인 목표는 무엇입니까? 포맷을 유지하거나 공장 설정으로 재설정되는 모든 저장 장치.
전통적으로 HDD와 SSD는 몇 가지 간단한 도구에 액세스할 수 있는 해커의 기본이자 심지어 손쉬운 표적이었습니다. 일부 USB 스틱을 괴롭히는 보안 문제 요즘 사용자가 책처럼 넘기는 외장 스토리지 드라이브.
간단히 말해서 권한이 없는 사람이 저장 장치에 물리적으로 액세스할 수 있게 되면 적절한 보호 조치를 취하지 않으면 모든 엔터프라이즈 보안 및 데이터 보호 전략 조치가 창 밖으로 나갈 수 있습니다.
펌웨어를 수정하는 공격을 방지하려면 고객은 처음부터 공개/개인 키 암호화를 기반으로 하는 RoT(Root of Trust)로 설계된 제품을 구매해야 합니다. 두 가지 일반적인 형식은 RSA 4096과 Elliptical Curve P-256입니다. 이 신뢰 루트는 사용자 데이터 암호화 키를 보호하는 데 사용할 수 있으며 펌웨어 자체도 보호할 수 있습니다.
암호화 표준 및 데이터 보안 조치
하드 드라이브에 상주하는 데이터를 보호하는 기본적인 방법은 암호화입니다. 암호화에는 두 가지 종류가 있습니다. 매우 빠른 대칭(AES와 같은) 및 비대칭(RSA와 같은)은 느리지만 개인 암호(또는 키) 없이는 액세스할 수 없습니다. 두 유형 모두 매우 안전하지만 강력한 보안을 제공하려면 올바르게 사용해야 합니다.
PC 환경에서 사용자 로그인 자격 증명은 PBKDS(Password Based Key Derivation Scheme)라는 암호화 프로세스를 사용하여 겉보기에 긴 무작위 비트 문자열로 변환됩니다. 이 알고리즘은 적당히 강력한 사용자 암호를 사용하여 훨씬 더 강력한 256비트 비트 시퀀스로 변환합니다.
사용자로부터 오는 이 비트 문자열은 SSD 자체 암호화 드라이브(SED)에 저장되지 않습니다. 사용자 데이터에 액세스할 수 있도록 기본 데이터 암호화 키(DEK)의 잠금을 해제하는 데 사용됩니다. 원래 사용자 암호가 없으면 OS에서 비트 문자열을 생성할 수 없습니다. 비트 문자열이 없으면 SSD는 사용자 데이터에 액세스할 수 없습니다. 이 컨텍스트에서 DEK는 사용자 암호로만 잠금을 해제할 수 있기 때문에 데이터 암호화에 대칭 AES-256 알고리즘을 사용하는 것이 안전합니다.
RSA 4096과 같은 비대칭 암호화는 사용자가 루프에 참여할 수 없지만 조직에서 장치 제어를 유지하려는 경우에 사용됩니다. 예를 들어 SSD 또는 네트워크 라우터를 출시한 회사는 해커가 펌웨어를 교체하는 것을 원하지 않습니다.
회사에서 수억 대의 장치를 보호하기 위해 대칭 암호화 키를 사용했다면 해당 키가 노출되면 위험에 처하게 됩니다. 해커가 키를 갖게 되면 해킹된 펌웨어를 올바르게 암호화하여 장치를 속이는 데 사용할 수 있습니다. 공개 키는 코드가 유효한지 확인하는 데만 사용할 수 있기 때문에 비대칭 암호화는 이 문제를 해결합니다. 수정된 코드에 서명하는 데 사용할 수 없습니다.
SSD의 사용자 데이터 암호화에는 두 가지 주류 표준이 있습니다.
ATA 보안: 이것은 ATA 저장 장치의 이전 표준이며 암호로 데이터를 잠그고 잠금 해제할 수 있습니다. 기본적으로 ATA 보안은 액세스 제어 수단일 뿐입니다. 그러나 위에서 설명한 대로 SED DEK를 보호하는 데 사용할 수 있습니다. 최종 사용자가 드라이브 사양을 보지 않고는 알 수 있는 방법이 없다는 것뿐입니다.
ATA 보안의 문제는 5~6년 이상 된 SATA 드라이브가 업계에서 강력한 보안 아키텍처를 요구하기 이전일 가능성이 높다는 것입니다. 드라이브가 FIPS 인증을 받지 않은 경우 보안이 올바르게 구현되었는지 알 수 있는 방법이 없으므로 보호 메커니즘을 피해야 합니다. 또한 FIPS 검증 프로세스는 매우 까다롭고 대기업도 제대로 수행하기가 매우 어렵다는 점을 언급해야 합니다. FIPS 준수를 주장하는 회사는 다음과 같은 인증서 ID를 제공해야 합니다. 온라인으로 교차 확인. 인증서는 다른 주요 아키텍처 정보와 함께 테스트된 내용을 설명합니다.
TCG 보안: TCG(Trusted Computing Group)는 데이터 암호화 및 키 관리에 대한 사양을 포함하여 저장 장치의 데이터 암호화를 위한 완벽하고 확장 가능한 프레임워크를 제공합니다. TCG Pyrite와 TCG Opal의 두 가지 주요 하위 집합이 있습니다. 둘 다 사전 부팅 인증을 지원하고 ATA 보안과 같은 액세스 제어를 제공하지만 Opal은 자체 암호화 드라이브(SED)에 대한 확장을 정의합니다. 올바르게 구현된 SED는 액세스 제어가 어떻게든 실패하거나 공격자가 물리적으로 SSD에서 NAND 플래시 칩을 제거하더라도 데이터를 읽을 수 없도록 합니다.
SED는 또한 암호 삭제라는 기능을 통해 빠르고 안전한 용도 변경을 지원합니다. 일단 트리거되면 암호화 지우기는 DEK를 즉시 삭제한 다음 모든 이전 데이터 포인터를 매핑 해제합니다. 암호화 지우기 프로세스는 드라이브가 완전히 자체적으로 지워질 때까지 기다릴 필요 없이 즉각적으로 이루어집니다. 대용량 드라이브에서는 몇 시간이 걸릴 수 있습니다. 여기에서 생각하는 것은 암호화가 데이터에 관심이 있을 때 데이터를 보호할 수 있다면 키를 삭제한 후에도 데이터를 계속 보호할 수 있지만 이제는 아무도 암호를 해독할 수 없다는 것입니다. 블록을 물리적으로 지울 필요는 없지만 일반적으로 대부분의 TCG Opal 드라이브에서 이 옵션을 사용할 수 있습니다.
원천: 피손
궁극적으로 가장 약한 링크를 보호하는 문제가 남아 있습니다. SSD에서 실행되는 펌웨어를 보호하는 것은 무엇입니까? 디버그 포트가 공격자에게 닫혀 있습니까? 권한이 없는 사람이 펌웨어를 업데이트할 수 있습니까?
예상 밖의 시나리오와 사용 사례의 수와 복잡성, 그리고 제조업체가 준수해야 하는 무수하고 다면적인 사양으로 인해 올바른 펌웨어 보안을 확보하는 것은 힘든 작업입니다.
SSD 펌웨어를 위한 Phison의 데이터 보호 솔루션
Phison의 모든 펌웨어는 설계하는 펌웨어의 각 측면에 대해 추가 보안 계층을 제공합니다. 디자인, 보안 등 다양한 부서의 전문가들이 모여 협업하고 서로의 작업을 검토하여 전체 시스템을 손상시킬 수 있는 취약점, 해킹 또는 실패 지점이 없는지 확인합니다. 눈에 띄는 보안 조치 중 일부는 다음과 같습니다.
코드 서명
모든 Phison 장치에는 암호로 서명된 펌웨어가 있습니다. ROM은 부팅 시 펌웨어 서명을 확인하고 유효한 경우에만 코드를 실행합니다. 정보를 조금만 수정해도 서명 확인이 실패합니다. 즉, 공급업체별 명령, 메모리 손상(예: 스택 기반 버퍼 오버플로) 및 스토리지 칩 액세스(외부 판독기 장치 사용)를 포함하여 장치에 대한 낮은 수준의 제어권을 얻으려는 모든 시도가 쓸모 없게 됩니다.
이러한 디지털 서명은 각 펌웨어 업데이트의 다운로드 마이크로코드에도 사용됩니다. 이 확인에 실패한 업데이트는 자동으로 거부됩니다.
잠긴 디버그 메커니즘
펌웨어의 모든 디버그 메커니즘은 잠겨 있으며 RSA 기반 인증 프로세스를 통해서만 잠금을 해제할 수 있습니다. 공격자가 이 인증을 우회하기 위해 펌웨어를 수정하려고 시도하는 경우 다운로드 메커니즘은 서명 실패로 인해 펌웨어를 거부합니다. 공격자가 어떻게든 다운로드 확인을 통과하더라도 ROM 부팅은 서명에 실패하고 해커가 수정한 펌웨어 실행을 거부합니다. 부트 ROM은 스토리지 컨트롤러의 일부이며 칩이 생산되면 수정할 수 없습니다. 이러한 단계는 공격자가 항상 잠겨 있는지 확인하기 위한 것입니다.
사용자 제어 암호화
펌웨어의 모든 보안 설정은 암호화됩니다. 그러나 공격자가 어떻게든 전체 보호 메커니즘을 우회할 수 있다면 사용자 데이터에 대한 액세스 권한을 얻는 것만으로는 충분하지 않습니다. 실제로 NAND 칩의 납땜을 제거하고 읽는 것만으로도 데이터를 보호하는 DEK에 액세스할 수 없습니다. 공격자는 사용자 자격 증명 없이는 NAND에서 암호화 키를 추출할 수 없습니다.
어떻게 작동합니까? 암호화 키는 NAND 플래시 미디어에 저장된 키를 암호화하는 NIST 승인 키 랩 알고리즘을 통해 인증된 특정 사용자 계정에 밀접하게 바인딩됩니다. 이는 드라이브에 저장되지 않는 사용자 자격 증명으로만 암호를 해독할 수 있습니다. 자격 증명은 래핑 해제 키를 생성하는 데 사용되며 키 래핑 내용이 추출되는 즉시 지워집니다.
마지막으로 키 랩 파일 복제는 해당 계정 자격 증명을 통해서만 액세스할 수 있으므로 쓸데없는 작업입니다. 래핑된 키를 수정하는 것도 유용하지 않습니다. 래핑 해제 시 기본 제공 무결성 검사에 실패하기 때문입니다. 무결성 검사가 어떻게든 해킹된 경우 수정된 키를 사용하면 데이터가 임의의 가비지 데이터로 해독되므로 도움이 되지 않습니다. 올바르게 구현된 경우 강력한 키 계층 구조는 가장 빠른 컴퓨터와 GPU를 사용하더라도 수백만 년이 걸리는 무차별 대입 추측으로만 패배시킬 수 있습니다.
견고한 펌웨어 보안 전략
시장에 나와 있는 거의 모든 장치에는 OS 또는 펌웨어 취약성이 있습니다. 펌웨어 보안이 주로 하드웨어 제조업체의 손에 있는 것은 사실이지만 조직의 보안 정책에는 펌웨어 기반 위협에 대처하기 위한 탄력적인 조치가 포함되어야 합니다.
다음은 이러한 위험을 해결하기 위해 취할 수 있는 몇 가지 높은 수준의 단계입니다.
-
- 제조업체에서 펌웨어를 출시하는 즉시 항상 최신 버전으로 펌웨어를 업데이트하십시오.
-
- 보안 감사 및 모니터링 프로그램의 일부로 수집하고 보고하는 데이터에 펌웨어 관련 특성 및 메트릭을 추가합니다.
-
- 신뢰할 수 없는 외부 저장 장치를 핵심 네트워크에 연결하지 마십시오.
-
- 펌웨어 관리 및 업데이트를 기존 하드웨어 및 OS 수명 주기 관리 프로세스와 통합합니다.
-
- 모든 장치에 대한 펌웨어 취약성을 파악하고 주기적인 펌웨어 취약성 스캔 테스트를 실행하십시오.