Monday, March 27, 2023
Top Career Paths
No Result
View All Result
  • Home
  • Business Analytics
  • CyberSecurity
  • Product Management
  • Artificial Intelligence
  • DevOps
  • Data Science
Top Career Paths
  • Home
  • Business Analytics
  • CyberSecurity
  • Product Management
  • Artificial Intelligence
  • DevOps
  • Data Science
No Result
View All Result
Top Career Paths
No Result
View All Result

TPM 2.0 취약점 – 매우 안전한 데이터가 위험합니까? – 알몸 보안

Jesse Powell by Jesse Powell
March 8, 2023
in CyberSecurity
0
Home CyberSecurity

[ad_1]

RELATED POST

독일과 우크라이나에서 체포된 DoppelPaymer 랜섬웨어 용의자 – Bare Safety

Meta가 고소한 Freenom, 도메인 등록 중단 – Krebs on Safety

TPM이 무엇인지 완전히 확신하지 못하더라도 Home windows 11을 실행하려면 TPM이 필요하다는 사실을 알고 있을 것입니다.

보다 정확하게는 TPM 2.0이 필요합니다(이전의 호환되지 않는 기술 버전인 TPM 1.2를 사용할 수 있는 공식 Microsoft 해결 방법이 있지만).

TPM은 약자입니다. 신뢰할 수 있는 플랫폼 모듈TCG로 알려진 산업 그룹에서 발명한 암호화 및 사이버 보안 기즈모, 줄임말 신뢰할 수 있는 컴퓨팅 그룹프로모터로 알려진 제어 구성원은 AMD, Cisco, Dell, Hewlett Packard Enterprise, HP, Huawei, IBM, Infineon, Intel, Juniper, Lenovo, Microsoft 및 Toyota입니다.

TPM은 때때로 컴퓨터 마더보드의 지정된 TPM 소켓에 연결되는 미니어처 플러그인 보드(일반적으로 7 또는 10의 두 줄에 14 또는 20핀)로 구현됩니다.

이러한 종류의 하드웨어 TPM에는 하드웨어 난수 생성, 신뢰할 수 있는 암호화 키 생성 및 보안 디지털 서명을 포함하여 다양한 보안 관련 기능을 제공하는 자체 보안 스토리지가 있는 작은 전용 보조 프로세서가 포함되어 있습니다.

다른 TPM은 컴퓨터의 일반 펌웨어에 기능을 구축하거나 소프트웨어 수준 에뮬레이터를 실행하여 작동합니다.

분명히 일반 운영 체제에서 Unix 데몬 또는 Home windows 서비스로 실행되는 소프트웨어 TPM은 여러 VM을 실행하거나 가상 머신, 단일 장치에서 여러 컴퓨터를 시뮬레이션하기 위해. 그러나 소프트웨어 TPM은 운영 체제가 로드된 후에만 활성화할 수 있으므로 이 솔루션을 사용하여 하드웨어 수준 또는 펌웨어 수준 TPM 없이 컴퓨터에 Home windows 11을 설치할 수 없습니다. Home windows 11은 Home windows 자체가 시작되기 전에 TPM이 준비되고 활성화되어 있다고 주장합니다.

보안(및 기타 사항)에 관한 모든 것

사용자가 TPM을 갖도록 강요하는 한 가지 이유는 공격자가 BIOS 또는 컴퓨터 펌웨어를 변조하고 운영 체제 자체가 실행되기 전에 로드되는 맬웨어를 설치하는 것을 막기 위해 부팅 프로세스를 보호하기 위한 것입니다.

특히 소비자 노트북에서 TPM을 요구하는 또 다른 논란의 여지가 있는 이유는 TPM을 DRM이라고 하는 용도로 사용하기 위해서입니다. 디지털 권한 관리.

DRM은 불법 복제를 줄이기 위한 합리적인 솔루션으로 많은 사람들에게 받아들여지지만 공급업체가 선택한 콘텐츠에 대한 액세스를 잠그거나 제한할 수 있는 방법을 제공할 수 있기 때문에 다른 사람들은 반대합니다.

DRM을 환영하는지 여부(또는 단순히 상관하지 않음) 또는 TPM이 DRM이 없는 컴퓨터보다 잠재적으로 해킹하기 더 어려운 Home windows 시스템을 제공한다고 생각하는지 여부…

Microsoft는 Home windows 11을 실행하기 위해 하나가 필요하다고 주장하기 때문에 거의 관련이 없습니다.

(이 요구 사항을 우회한다고 주장하는 해킹이 있지만 이러한 트릭을 권장할 수 없으며 가상 머신에서도 시도했을 때 만족스럽지 못한 결과가 나왔습니다.)

간단한 보안은 복잡할 수 있습니다.

불행하게도 지금까지 짐작하셨겠지만 TPM 하드웨어 장치의 작은 크기는 TCG 자체를 포함하여 누구라도 버그가 없는 규정 준수 구현을 만드는 것을 어렵게 만드는 엄청난 복잡성을 내포하고 있습니다.

그만큼 TPM 라이브러리 2.0 사양 수백 개의 서로 다른 TCG 사양 문서 중 아주 작은 부분을 형성하는 이 문서는 4개의 부분으로 나뉘며 6개의 문서로 나뉩니다. 인터리브 코드와 설명으로 구성된 기타.

작성 당시의 공식 사양 파일인 TPM 2.0의 규모에 대한 아이디어를 제공하기 위해 [2023-03-07] 이다:

마이크로소프트의 GitHub 사본 TCG “참조 구현”에는 거의 500개의 파일로 분할된 C의 약 100,000행에 해당하는 5MB의 소스 코드가 포함되어 있습니다.

또한 일부 다른 라이브러리에서 여러 암호화 알고리즘을 가져와 TPM 코드로 컴파일해야 합니다.

운영 체제에서 제공하는 암호화 기능에 의존할 수 없습니다. TPM 칩은 컴퓨터의 나머지 부분과 독립적으로 작동하도록 설계되어 쉽게 교체, 전복 또는 패치되지 않은 상태로 남을 수 있는 어떤 것에 의존하지 않기 때문입니다.

Microsoft의 소스 트리를 사용하면 기본적으로 LibTomCrypt, OpenSSL 및 wolfSSL에서 대칭 암호화, 해싱 및 큰 숫자 산술을 위한 기본 코드 공급자로 선택할 수 있습니다. (RSA 및 Elliptic Curve 암호화와 같은 공개 키 암호화 알고리즘을 구현하려면 소수점 이하 수백 또는 수천 자리의 정확한 계산이 필요합니다.)

숨어있는 버그를 조심하십시오

물론 이 모든 복잡성 중에는 두 개의 CVE 번호가 매겨진 취약점을 포함하여 알 수 없는 수의 버그가 도사리고 있습니다. 2022년 11월 발견 보안 spelunking 회사 Quarkslab의 연구원에 의해.

(우리는 당신이 그 회사 이름을 발음하는지 여부를 모릅니다. 워크 슬래브 또는 kworx 연구소; 우리는 후자라고 의심하지만 비밀리에 전자이기를 바랍니다.)

Quarkslab은 극적으로 번성하여 다음과 같이 버그를 발표했습니다(강조 및 대문자 사용).

Quarkslab에서 발견한 두 가지 취약점 2022년 11월에 보고된 TPM2.0 참조 구현에서 공개되었으며 수십억 대의 장치에 영향을 줄 수 있음.

누가 영향을 받을 수 있습니까? 대형 기술 공급업체[, and] Enterprise PC, 많은 서버 및 TPM을 포함하는 임베디드 시스템을 사용하는 조직.

사실 공무원은 TPM 라이브러리 2.0 “정오표” 공지 에는 이 두 가지와 함께 수많은 다른 버그가 나열되어 있지만 우리가 아는 한 Quarkslab에서 보고된 취약점은 공식 CVE 지정을 받은 유일한 두 가지입니다. CVE-2023-1017 그리고 CVE-2023-1018.

느슨하게 말하면서, 이 버그 동일한 코딩 코인의 양면입니다.

보고된 취약점은 암호화된 매개변수로 악성 TPM 2.0 명령을 처리할 때 발생합니다. 두 취약점 모두 CryptParameterDecryption 에 정의된 함수 파트 4: 루틴 지원 – 코드 문서. […]

취약점 중 하나는 CVE-2023-1018로 식별된 범위를 벗어난 읽기입니다. 두 번째는 CVE-2023-1017로 식별되는 범위를 벗어난 쓰기입니다. 이러한 취약점은 펌웨어가 영향을 받는 TCG 참조 구현을 기반으로 하는 TPM 2.0에 악성 명령을 전송하여 사용자 모드 애플리케이션에서 트리거될 수 있습니다.

TPM 작업 그룹의 지속적인 분석으로 인해 추가 인스턴스가 식별될 수 있으며 TCGVRT0007에 포함된 더 큰 범위의 잠재적 취약성이 발생할 수 있습니다.

이러한 버그에 대한 “빠른 수정”이 신속하게 게시되었습니다. libtpms대중적인 소프트웨어 기반 TPM 구현 여러 가상 머신에 대해 원하는 만큼의 가상 TPM을 제공하는 데 사용할 수 있습니다.

녹색으로 표시된 선은 결함에 대한 패치로 추가되었으며 지금부터 빠르게 설명하겠습니다.

패치되지 않은 코드의 근본적인 문제는 함수가 CryptParameterDecryption() 전송된 매개 변수 버퍼를 해독할 때 처리할 데이터 양에 대한 중복되고 잠재적으로 일치하지 않는 정보를 받습니다.

함수 매개변수 bufferSize 해독된 데이터가 기록될 메모리 버퍼의 크기를 알려줍니다.

그러나 버퍼 자체의 처음 2바이트(또는 코드가 컴파일되는 방식에 따라 4바이트)는 해독된 데이터에 대해 얼마나 많은 공간이 있는지 알려줍니다.

따라서 원래 코드는 버퍼에서 첫 번째 바이트를 추출하고 이를 카운터로 사용하여 해독할 실제 데이터의 양을 확인합니다.

…실제로 사용 가능한 2바이트 또는 4바이트가 있는지 확인하지 않고 buffer (로 표시 bufferSize) 시작하기.

이 버그로 인해 읽기 오버플로액세스해서는 안 되는 바이트에 액세스하는 코드가 있으므로 이제 업데이트된 코드에 버퍼에 카운트 값을 저장하기에 충분한 바이트가 있는지에 대한 비행 전 검사가 포함됩니다.

버퍼가 적어도 길이 카운트에 대한 충분한 데이터를 안전하게 포함하여 읽기 버퍼 오버플로를 방지하더라도 원래 코드는 일부를 소비합니다. bufferSize 바이트 buffer복호화 길이를 나타내는 바이트를 추출하고 buffer 그에 따라 포인터.

그러나 코드는 bufferSize 사실과 일치하도록 buffer 이제 포인터가 메모리에서 이동되었습니다.

(카드 게임을 시작하기 전에 팩의 맨 위 두 장의 카드를 “태우면” 더 이상 52장의 카드가 남지 않습니다. 50장만 남습니다. 포커 핸드를 딜링하는 경우 아마 괜찮을 것입니다. , 하지만 브리지 라운드를 거래하는 경우 플레이어 중 두 명이 부족하게 됩니다.)

이 버그로 인해 쓰기 오버플로해독은 버퍼 끝을 지나 계속되고 TPM 메모리의 다른 프로세스에 속할 수 있는 2바이트 또는 4바이트를 수정합니다.

더 많은 패치 필요

사실 TCG의 공지가 위에서 경고한 것처럼 이러한 패치만으로는 충분하지 않습니다. libtpms 코드는 이미 다시 업데이트되었지만 추가 패치는 아직 공식 릴리스로 만들지 않았습니다.

이번에는 비슷한 결함이 있는 “파트너 기능” CryptParameterEncryption() 도 업데이트되었습니다.

위에서 볼 수 있듯이 암호화 기능의 원래 버전에는 bufferSize 매개변수를 통해 유효 버퍼 길이를 간단히 파악하고 계산했습니다. buffer 바늘.

이는 함수 프로토타입을 변경해야 함을 의미하며, 이는 다시 이 함수를 호출한 TPM 코드의 모든 부분도 업데이트해야 함을 의미합니다.

다행스럽게도 이전에 버그가 많았던 코드로의 코드 경로는 역방향으로 쉽게 추적할 수 있으며 필요한 추가 보안 검사로 개조할 수 있습니다.

무엇을 해야 합니까?

  • 참조 구현이 항상 올바른 것은 아닙니다. 이 TPM 라이브러리 코드에 의존하는 자체 하드웨어 또는 소프트웨어 제품이 있는 경우 이를 패치해야 합니다. 슬프게도 TCG는 아직 자체 코드에 대한 패치를 제공하지 않았지만 단지 개발자가 수행해야 한다고 생각하는 변경 사항을 설명했을 뿐입니다. 어디서부터 시작해야 할지 고민이시라면, libtpms 프로젝트는 편리한 장소 개발자가 이미 위험 지점을 파헤치기 시작했기 때문입니다. (최소한 ExecCommand.c, SessionProcess.c 그리고 CryptUtil.c.)
  • 의심스러운 경우 하드웨어 공급업체에 취약성 정보를 문의하십시오. 레노버예를 들어 는 참조 구현을 기반으로 하는 TPM 코드를 포함하는 제품에 대한 일부 정보와 위험을 정량화하기 위해 보안 공지를 찾을 위치를 이미 제공했습니다.
  • 신뢰할 수 없는 호출자가 메모리 관리 방법을 알려주지 않도록 하십시오. 버퍼 포인터와 크기를 신뢰할 수 있는 코드로 전달하는 경우 성능 비용(예: 자신의 보안 요구 사항에 맞게 배열된 메모리에 제어된 방식으로 버퍼 복사)이 발생하더라도 가능한 한 많이 확인하고 삭제해야 합니다. , 수행하도록 요청받은 명령을 처리하기 전에.

[ad_2]

Source_link

ShareTweetPin

Related Posts

독일과 우크라이나에서 체포된 DoppelPaymer 랜섬웨어 용의자 – Bare Safety
CyberSecurity

독일과 우크라이나에서 체포된 DoppelPaymer 랜섬웨어 용의자 – Bare Safety

March 9, 2023
Meta가 고소한 Freenom, 도메인 등록 중단 – Krebs on Safety
CyberSecurity

Meta가 고소한 Freenom, 도메인 등록 중단 – Krebs on Safety

March 8, 2023
TikTok, 도청, 딥페이크 음성이 비밀번호입니다 • Graham Cluley
CyberSecurity

TikTok, 도청, 딥페이크 음성이 비밀번호입니다 • Graham Cluley

March 8, 2023
사이버 범죄의 지명 수배: 당신을 놀라게 할 4가지 모바일 위협
CyberSecurity

사이버 범죄의 지명 수배: 당신을 놀라게 할 4가지 모바일 위협

March 8, 2023
연구에 따르면 기업은 사용하지 않는 Kubernetes 리소스에 수백만 달러를 낭비하고 있습니다. • Graham Cluley
CyberSecurity

연구에 따르면 기업은 사용하지 않는 Kubernetes 리소스에 수백만 달러를 낭비하고 있습니다. • Graham Cluley

March 7, 2023
McAfee는 AV-TEST에서 연구소로부터 최고의 보호를 수상했습니다.
CyberSecurity

McAfee는 AV-TEST에서 연구소로부터 최고의 보호를 수상했습니다.

March 7, 2023
Next Post
Slack에서 ChatGPT 사용 가능, OpenAI, 베타 액세스 대기자 명단 출시

Slack에서 ChatGPT 사용 가능, OpenAI, 베타 액세스 대기자 명단 출시

Top Career Paths

Welcome to Top career paths The goal of Top career paths is to give you the absolute best news sources for any topic! Our topics are carefully curated and constantly updated as we know the web moves fast so we try to as well.

Follow us

RECENT NEWS

  • Visible Studio에서 Bicep 파일 작성
  • Ilman Shazhaev, Acoustery의 공동 창립자 겸 CEO – 인터뷰 시리즈
  • Salesforce Einstein GPT: Slack용 ChatGPT, 일명 Slack GPT 설명
  • 독일과 우크라이나에서 체포된 DoppelPaymer 랜섬웨어 용의자 – Bare Safety

CATEGORIES

  • Artificial Intelligence
  • Business Analytics
  • CyberSecurity
  • Data Science
  • DevOps
  • Product Management
  • Uncategorized
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
  • Terms & Conditions

No Result
View All Result
  • Home
  • Business Analytics
  • CyberSecurity
  • Product Management
  • Artificial Intelligence
  • DevOps
  • Data Science