← 최신 논문
💻 computer science

Linux disk encryption and self-encrypting drives -- A case study on Opal2 drives security

이 논문은 38개의 상용 Opal2 자기 암호화 드라이브를 대상으로 리눅스 환경에서 수행한 블랙박스 사례 연구를 제시하며, 이를 통해 펌웨어 보안 문제와 호환성 문제를 식별하여 벤더들에게 책임 있게 공개하였고, 결과적으로 리눅스 디스크 암호화 도구의 개선과 독립적 평가를 위한 오픈 소스 테스트 스위트의 출시를 이끌어냈다.

원저자: Milan Brož, Tamara Čierniková, Ondřej Kozina, Vladimír Sedláček

게시일 2026-07-14
📖 5 분 읽기🧠 심층 분석

원저자: Milan Brož, Tamara Čierniková, Ondřej Kozina, Vladimír Sedláček

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신의 컴퓨터 하드 드라이브가 첨단 은행 금고라고 상상해 보세요. 수년 동안 우리는 금고 안에 있는 돈(당신의 데이터)을 보호하기 위해, 들어오고 나가는 모든 가방을 검사하는 매우 신중한 경비원(소프트웨어 암호화)을 고용해 왔습니다. 하지만 최근에는 금고 제조업체들이 금고 문 자체에 경비원을 내장하기 시작했습니다. 이것들은 자체 암호화 드라이브(SED), 구체적으로는 Opal2라고 불리는 것들입니다. 아이디어는 간단했습니다. 금고가 스스로 잠긴다면 더 빠르고 안전할 것이라는 것이었죠.

하지만 마사리크 대학교의 호기심 많은 탐정 팀이 이 이론을 테스트해 보기로 했습니다. 그들은 단순히 제조업체의 말을 믿지 않았습니다. 그들은 다양한 브랜드의 "기성품" 금고 38개를 확보하여, 일부는 새 제품이고 일부는 중고인 것을 대상으로 엄격한 블랙박스 스트레스 테스트를 실시했습니다. 그들은 내부가 어떻게 만들어졌는지 알지 못했습니다. 그저 명령을 보내고 어떤 일이 일나 지를 지켜보았을 뿐입니다.

그들이 발견한 결과는 다음과 같으며, 왜 이것이 다소 롤러코스터 같은 상황인지 설명합니다.

마법 같지 않은 "마법 열쇠"

가장 큰 놀라움은 무엇이었을까요? 일부 "스마트" 금고들이 실제로 암호화 과정에서 속임수를 쓰고 있었다는 점입니다.

암호화를 비밀 코드로 생각하면, 모든 글자가 뒤섞이는 것과 같습니다. 코드가 진정으로 안전하려면, 암호화 도구는 당신의 일기 매 페이지마다 고유한 "비틀기(twist)"를 사용해야 합니다. 만약 페이지 1과 페이지 100에 똑같은 문장을 쓴다면, 암호화된 버전은 완전히 달라 보여야 합니다.

연구진은 몇몇 드라이브(예: LenovoSamsung의 일부 모델)에서 금고가 게으르게 행동하고 있다는 것을 발견했습니다. 그들은 여러 페이지에 걸쳐서도 동일한 비틀기를 사용하고 있었습니다. 이는 마치 스파이가 만나는 모든 요원에게 똑같은 비밀 악수를 사용하는 것과 같습니다. 공격자가 동일한 패턴을 두 번 발견한다면, 열쇠 없이도 비밀 메시지를 추측할 수 있습니다. 어떤 경우에는 드라이브가 내부적으로 4096바이트 "블록" 크기를 사용하면서도 실제로는 더 작게 작동하는 척하여, 블록의 두 번째 절반 부분에서 "비틀기"가 재사용되기도 했습니다. 이것이 완전한 재앙은 아니었지만, 이는 당신이 비밀번호를 변경하더라도 오래된 패턴의 일부가 여전히 보일 수 있음을 의미했습니다.

"난수" 생성기가 난수가 아니었다

금고를 잠그려면 진정으로 무작위적인 열쇠가 필요합니다. 로또 번호를 뽑는 상황을 상상해 보세요. 만약 번호를 뽑는 기계가 고장 나서 항상 "7, 14, 21"만 뽑는다면, 당신은 곤란해질 것입니다.

Opal2 표준은 드라이브가 난수 생성기 역할을 수행하도록 요구합니다. 연구진은 드라이브에 1 MB의 무작위 데이터를 생성하도록 요청하고, 그 숫자들이 정말로 무작위인지 확인하여 이를 테스트했습니다.

  • 결과: 여러 드라이브가 처참하게 실패했습니다. 일부 드라이브(특정 LenovoSamsung 모델 등)는 너무 예측 가능해서 마치 "1, 2, 3... 32, 1, 2, 3..." 하고 숫자를 세는 수준이었습니다.
  • 판결: 논문은 만약 당신이 드라이브가 생성하는 비밀 열쇠에 의존한다면, 공격자가 추측할 수 있는 열쇠를 사용하게 될 수도 있다고 제안합니다. 이 때문에 연구진은 Linux 암호화에 드라이브의 난수 생성기를 사용하지 않기로 결정했습니다. 대신 훨씬 더 신뢰할 수 있는 컴퓨터 자체의 난수 생성기를 고수합니다.

고장 난 "슈퍼 유저" 기능

**SUM (Single-User Mode)**이라고 불리는 특별한 기능이 있습니다. 이것을 "매니저"와 "사용자" 키로 생각하면 쉽습니다. 매니저는 금고를 설정할 수 있지만, 사용자는 오직 사용자만이 금고를 열 수 있습니다. 매니저는 사용자의 물건을 훔쳐봐서는 안 됩니다.

연구진은 이 기능을 드라이브에 설정해 보았습니다. 그 결과, 많은 드라이브가 이 기능을 지원한다고 말하지만, 실제 구현은 자주 깨져 있다는 것을 발견했습니다. 어떤 드라이브에서는 "매니저"가 여전히 "사용자"의 데이터를 열어볼 수 있었고, 혹은 두 모드 사이의 전환 과정이 너무 불안정하여 공격자가 그 과정을 방해하고 데이터를 훔칠 수도 있었습니다. 이러한 결함 때문에, 연구진은 이 "슈퍼 유저" 모드를 지원한다고 주장하는 24개의 드라이브 중 오직 14개만이 신뢰할 수 있을 정도로 올바르게 작동한다는 것을 발견했습니다.

"리셋 버튼" 문제

모든 금고에는 PSID (Physical Security Identification)라는 마스터 리셋 버튼이 있습니다. 이것은 드라이브에 붙어 있는 스티커에 적힌 코드입니다. 만약 비밀번호를 잊어버린다면, 이 코드를 사용하여 드라이브를 초기화하고 다시 시작할 수 있습니다.

연구진은 몇 가지 문제를 발견했습니다:

  1. 예측 가능한 코드: 일부 드라이브(특히 Western Digital의 한 배치 제품)에서는 리셋 코드가 진정으로 무작위가 아니었습니다. 그것들은 일정한 패턴을 따랐습니다. 만약 당신이 한 드라이브의 코드를 알고 있다면, 몇 가지 숫자만 시도해 봄으로써 동일한 배치의 다른 드라이브 코드를 추측할 수 있습니다.
  2. 잊혀진 비밀: 많은 사용자가 이 스티커 코드가 비밀이라는 사실을 깨닫지 못합니다. 사람들은 드라이브 사진을 찍어 온라인에 올릴 때 코드가 명확히 보이게 둡니다. 만약 해커가 그 사진을 보고 원격으로 당신의 잠긴 드라이브에 접속할 수 있다면, 그들은 즉시 당신의 데이터를 삭제할 수 있습니다.
  3. 관대한 검사기: 일부 드라이브(특정 Micron 모델 등)는 너무 너그러웠습니다. 리셋 코드 끝에 추가적인 글자를 붙여도 이를 허용했습니다. 이는 마치 명단에 이름이 "John"이라고 되어 있는데도 "John Smith"라고 말해도 입장을 허가해 주는 문지기와 같습니다. 직접적인 해킹은 아니지만, 보안 엔지니어링이 얼마나 허술한지를 보여줍니다.

"Pyrite" 사칭꾼

테스트를 시작하기 전, 팀은 12개의 드라이브를 폐기해야 했습니다. 왜일까요? 그것들은 "Opal2"(고보안 버전)라고 라벨이 붙어 있었지만 실제로는 Pyrite2였기 때문입니다. Pyrite2는 마치 "라이트(Lite)" 버전의 금고와 같습니다. 잠금장치는 있지만, 실제로 내부 데이터를 암호화하지는 않습니다. 그것은 단지 "출입 금지"라고 써 붙인 문일 뿐, 실제 벽은 없는 상태입니다. 연구진은 실제 암호화가 이루어지는 것을 테스트하기 위해 이들을 걸러내야 했습니다.

좋은 소식: Linux를 위한 새로운 도구

이런 불안정한 금고들에도 불구하고, 연구진은 단순히 "망가졌다"라고 말하며 떠나지 않았습니다. 그들은 Linux(많은 서버와 프라이버시 중심 컴퓨터에서 사용되는 운영 체제)를 위한 새로운 도구 세트를 구축했습니다.

그들은 드라이브가 올바르게 작동하는지 자동으로 확인할 수 있는 방법을 만들었습니다. 만약 드라이브가 잘못된 난수 생성기를 사용하거나 고장 난 "슈퍼 유저" 모드를 가지고 있다면, 새로운 소프트웨어가 이를 감지하고 자동으로 더 안전한 표준 모드로 전환합니다. 또한 그들은 누구나 자신의 드라이브를 점검할 수 있도록 "Opal 테스트 스위트"를 오픈 소스로 공개했습니다.

결론

논문은 하드웨어 암호화(SED)가 좋은 아이디어이긴 하지만, 현재의 현실은 엉망이라는 결론을 내립니다. 제조업체들은 종종 편법을 쓰거나, 기능을 잘못 구현하거나, 보안 구멍을 남겨둡니다.

  • 배제한 것: 그들은 드라이브의 난수 생성기나 "슈퍼 유저" 모드를 먼저 확인하지 않고 맹목적으로 신뢰해서는 안 된다는 것을 증명했습니다.
  • 증명한 것: 그들은 38개의 드라이브에서 구체적인 실패 사례를 측정하여, 펌웨어 버그가 실제로 존재하며 흔하다는 것을 보여주었습니다.
  • 교훈: 하드웨어 암호화는 아직 마법의 방패가 아닙니다. 그것은 유용한 계층이지만, 하드웨어가 저지르는 실수를 잡아내기 위해 스마트한 소프트웨어(그들이 만든 새로운 Linux 도구와 같은)와 병행되어야 합니다. 제조업체들이 이러한 펌웨어 문제를 해결할 때까지, 가장 안전한 방법은 하드웨어를 당신의 비밀을 지키는 유일한 수호자가 아니라 하나의 '조력자'로 취급하는 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →