많은 Matrix 고객을 손상시키는 여러 취약점을 감지했습니다.

매트릭스 프로토콜

Matrix는 개방형 인스턴트 메시징 프로토콜입니다. 사용자가 온라인 채팅, VoIP(Voice over IP) 및 화상 채팅을 통해 통신할 수 있도록 설계되었습니다.

최근에 플랫폼 개발자 분산 통신s «Matrix»는 다양한 취약점에 대한 경고를 발표했습니다. 감지된 것과 그들은 중요하다 Matrix-js-sdk, matrix-ios-sdk 및 matrix-android-sdk2 라이브러리에서 서버 관리자가 다른 사용자를 가장하고 종단 간 암호화 채팅(E2EE)에서 메시지를 읽을 수 있습니다.

언급된다 공격을 성공적으로 완료하려면 공격자가 제어하는 ​​홈 서버에 액세스해야 합니다. (홈 서버: 클라이언트 히스토리 및 계정을 저장하는 서버). 클라이언트 측에서 종단 간 암호화를 사용하면 서버 관리자가 메시징에 개입할 수 없지만 식별된 취약점으로 인해 이러한 보호를 우회할 수 있습니다.

문제는 기본 요소 매트릭스 클라이언트에 영향을 미칩니다. Cinny, Beeper, SchildiChat, Circuli 및 Synod.im과 같은 타사 클라이언트 앱뿐만 아니라 웹, 데스크톱, iOS 및 Android용(이전의 Riot)입니다.

이 취약점은 라이브러리 matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go, matrix-nio 뿐만 아니라 Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, Gomuks 및 Pantalaimon 응용 프로그램.

심각한 심각도 문제는 matrix-js-sdk 및 파생 상품의 구현 문제이며 Matrix의 프로토콜 문제가 아닙니다. 우리가 본 연구원 논문의 최신 버전은 Element를 "벤치마크 매트릭스 클라이언트"로 잘못 묘사하고 심각도가 높은 구현 오류와 심각도가 낮은 프로토콜 비판을 혼동합니다.

세 가지 시나리오가 있습니다 주요 공격:

  1. Matrix 서버 관리자는 교차 서명을 사용하고 다른 사용자를 가장하여 이모티콘 기반 검증(SAS, Short Authentication Chains)을 깨뜨릴 수 있습니다. 이 문제는 기기 ID 처리 및 교차 서명 키 조합과 관련된 matrix-js-sdk 코드의 취약점(CVE-2022-39250)으로 인해 발생합니다.
  2. 서버를 제어하는 ​​공격자는 신뢰할 수 있는 보낸 사람을 가장하고 가짜 키를 전달하여 다른 사용자의 메시지를 가로챌 수 있습니다. 이 문제는 matrix-js-sdk(CVE-2022-39251), matrix-ios-sdk(CVE-2022-39255) 및 matrix-android-sdk2(CVE-2022-39248)의 취약점으로 인해 발생합니다. 클라이언트는 Olm 대신 Megolm 프로토콜을 사용하여 암호화된 장치로 주소 지정된 메시지를 잘못 수락하고 메시지를 실제 보낸 사람 대신 Megolm 보낸 사람에게 표시합니다.
  3. 서버 관리자는 이전 단락에서 언급한 취약점을 악용하여 사용자 계정에 더미 예비 키를 추가하여 메시지 암호화에 사용되는 키를 추출할 수도 있습니다.

취약점을 식별한 연구원 채팅에 제XNUMX자 사용자를 추가하는 공격도 시연했습니다. 또는 타사 장치를 사용자에게 연결합니다. 이 공격은 채팅에 사용자를 추가하는 데 사용되는 서비스 메시지가 채팅 작성자의 키와 연결되지 않고 서버 관리자가 생성할 수 있다는 사실을 기반으로 합니다.

Matrix 프로젝트의 개발자는 이러한 취약점을 사소한 것으로 분류했습니다., 이러한 조작은 Matrix에 고유하지 않고 프로토콜을 기반으로 하는 클라이언트에만 영향을 미치기 때문에 이것이 눈에 띄지 않는다는 의미는 아닙니다. 사용자가 교체되면 채팅 사용자 목록에 표시되고 추가될 때 장치의 경우 경고가 표시되고 장치가 확인되지 않은 것으로 표시됩니다(이 경우 승인되지 않은 장치를 추가한 직후 메시지를 해독하는 데 필요한 공개 키를 수신하기 시작합니다.

matrix-rust-sdk, hydrogen-sdk 및 기타 XNUMX세대 및 XNUMX세대 SDK는 여기서 중요한 문제의 근본 원인에 있는 버그의 영향을 받지 않았음을 알 수 있습니다. 이것이 바로 우리가 XNUMX세대 SDK를 지속적인 독립 공개 감사를 통해 완성된 matrix-rust-sdk 형태의 깨끗하고 신중하게 작성된 Rust 구현으로 교체하기 위해 노력한 이유입니다.

취약점은 개별 구현의 버그로 인해 발생합니다. 매트릭스 프로토콜 및 그것들은 프로토콜 자체의 문제가 아닙니다. 현재 이 프로젝트는 문제가 있는 SDK와 그 위에 구축된 일부 클라이언트 응용 프로그램에 대한 업데이트를 릴리스했습니다.

마지막으로 예 당신은 그것에 대해 더 알고 싶어에서 세부 정보를 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.