또 다른 주, 또 다른 BWAIN!
지난주에 들어보신 분들은 아시겠지만 팟 캐스트 (비치다, 비치다!), BWAIN은 인상적인 이름을 가진 버그:
새로운 사이버 보안 공격을 발견한 사람들이 발견에 대해 너무 흥분하여 PR 친화적인 별명을 부여하고, 가상 도메인 이름을 등록하고, 맞춤형 웹 사이트를 구축하고, 특별한 로고를 디자인할 때 적용하는 별명입니다.
이번에는 이름을 충돌+파워 성가신 구두점 문자가 포함되어 있어 버그 명명에서는 플러스이지만 인터넷 도메인 등록 시에는 마이너스입니다. (아이러니하게도 도메인 이름은 -
, 하지만 +
).
따라서 도메인 이름은 다음과 같이 약간 축약되어야 했습니다. https://collidepower.com, 그러나 웹 사이트는 더하기 기호를 빼더라도 어쨌든 문제에 대한 개요를 제공합니다.
캐시된 데이터 충돌 및 필요한 전력 측정
이 새로운 연구자들 종이 오스트리아 Graz 대학의 Andreas Kogler, Jonas Juffinger, Lukas Giner, Martin Schwarzl, Daniel Gruss 및 Stefan Mangard, 독일 CISPA Helmholtz Center for Information Security의 Lukas Gerlach 및 Michael Schwarz입니다.
측정을 수행하는 방법에 대한 기술적 세부 사항과 이러한 측정에서 추론하는 데 사용되는 수학적 모델링이 복잡하기 때문에 이 공격의 다양한 형태를 길게 설명하지 않을 것입니다.
그러나 부분적인 말장난을 용서한다면 문제의 핵심은 최신 프로세서 칩 내부에 묻힌 캐시 메모리가 눈에 보이지 않는 자동 성능 향상을 제공한다는 것입니다.
...생각하는 것만큼 항상 눈에 띄지 않으며 때로는 볼 수 없어야 하는 프로세스에도 콘텐츠의 일부 또는 전부가 누출될 수 있습니다.
이름에서 알 수 있듯이 캐시 메모리(발음은 현금, 달러와 센트가 아니라 우표, 당신이 궁금한 적이 있다면 존중과 명성과 마찬가지로) CPU 칩 자체 내부의 숨겨진 위치에 있는 기존 RAM의 데이터 값의 특수 복사본을 유지합니다.
CPU가 최근에 사용한 RAM 주소(메모리 위치)를 추적하고 곧 다시 사용할 가능성이 있는 주소를 충분히 잘 추측할 수 있으면 일시적으로 캐시 메모리에 보관하여 속도를 크게 높일 수 있습니다. 해당 값에 대한 두 번째 액세스, 세 번째 액세스, 네 번째 등등.
예를 들어 이미지 픽셀을 한 색상 형식에서 다른 색상 형식으로 변환하기 위해 테이블에서 일련의 데이터 값을 찾는 경우 대부분의 경우 조회 테이블에서 RAM 주소 0x06ABCC00(이는 "검은 픽셀"에 대한 특수 코드가 저장되는 위치) 또는 주소 0x3E00A040("투명 픽셀" 코드의 위치일 수 있음).
일반적으로 필요한 두 메모리 주소의 값을 캐시에 자동으로 보관함으로써 CPU는 향후 해당 주소에 액세스하려는 시도를 단락(비유적으로 말 그대로!)할 수 있으므로 프로세서 외부에 전기 신호를 보낼 필요가 없습니다. 마더보드와 실제 RAM 칩에 연결하여 거기에 저장된 데이터의 마스터 복사본을 읽습니다.
따라서 캐시된 데이터는 일반적으로 마더보드 RAM의 데이터보다 액세스 속도가 훨씬 빠릅니다.
그러나 일반적으로 어떤 RAM 주소를 저장하는 데 사용할 캐시 레지스터를 선택할 수 없으며 CPU가 "투명한 픽셀 코드" 값 캐싱을 중지하고 다른 프로그램의 캐싱을 시작하기로 결정하는 시기를 선택할 수 없습니다. 대신 "극비 암호화 키".
실제로, 캐시는 서로 다른 사용자 계정 및 권한 수준의 자유로운 혼합에 속하는 RAM 주소의 자유로운 혼합에서 동시에 모든 값의 자유로운 혼합을 포함할 수 있습니다.
이러한 이유로 효율성 및 성능과 함께 관리자 수준의 프로그램도 현재 캐시된 주소 목록을 직접 들여다보거나 해당 값을 얻을 수 없어 외부 스누핑으로부터 캐시된 데이터를 보호할 수 없습니다.
프로그래머로서 당신은 여전히 "주소 0x3E00A040에서 투명 픽셀 코드 읽기"라는 기계어 코드 명령어를 사용하고 운영 체제는 여전히 숫자 주소 0x3E00A040을 기반으로 해당 데이터에 액세스할 수 있는지 여부를 결정합니다. 데이터는 궁극적으로 실제 RAM 주소 0x3E00A040이 아닌 캐시에서 직접 가져옵니다.
비트 플립의 가격
Collide+Power 연구원이 발견한 매우 단순화된 사실은 캐시 저장소의 임시 데이터를 직접 볼 수 없기 때문에 공식 RAM 주소를 통해 이동할 경우 적용되는 메모리 보호를 피할 수 없다는 것입니다. …
...특정 데이터 값이 특정 캐시 스토리지 레지스터에 기록되려고 할 때를 추측할 수 있습니다.
그리고 이미 캐시된 번호가 다른 번호로 대체될 때, CPU가 사용하는 전력량을 측정하여 두 값에 대해 추론할 수 있습니다. 프로세스 인치
(최신 프로세서에는 일반적으로 전력 사용량 판독값을 제공하는 특수 내부 레지스터가 포함되어 있으므로 컴퓨터 케이스를 열고 마더보드 어딘가에 물리적 프로브 와이어를 연결할 필요가 없습니다.)
흥미롭게도 캐시 값을 새 값으로 덮어쓸 때 CPU 자체의 전력 소비는 숫자 사이에서 변경된 비트 수에 따라 달라집니다.
문제를 개별 바이트로 단순화하면 이진 값을 덮어씁니다. 0b00000000
과 0b11111111
(0진수 255을 XNUMX진수 XNUMX로 변경)는 바이트의 모든 비트를 뒤집어야 하며, 이는 가장 많은 전력을 소비합니다.
ASCII 문자 덮어쓰기 A
(십진수로 65) Z
(십진법 90)은 변화를 의미합니다. 0b01000001
으로 0b01011010
, 여기서 XNUMX개의 비트 위치가 뒤집히므로 중간 정도의 전력을 소비합니다.
그리고 숫자가 같으면 비트를 뒤집을 필요가 없으므로 최소한의 전력을 소비합니다.
일반적으로 두 숫자를 함께 XOR하고 답에서 1비트의 수를 세면 플립 횟수를 찾을 수 있습니다. 0 XOR 0 = 0
및 1 XOR 1 = 0
(따라서 XNUMX은 뒤집지 않음을 나타냅니다.) 0 XOR 1 = 1
및 1 XOR 0 = 1
(플립을 나타냄).
즉, CPU 내부의 특정 캐시 레지스터 세트를 프라이밍하는 방식으로 자신이 선택한 여러 주소에 액세스할 수 있고 다른 사람의 코드가 해당 캐시에 데이터를 할당할 때 전력 소비를 충분히 정확하게 모니터링할 수 있다면 대신 위치…
…그때 얼마나 많은 비트가 뒤집혔는지 추론할 수 있습니다. 이전 캐시 내용과 새 내용 사이.
물론 캐시 레지스터를 프라이밍한 주소에 저장된 값을 선택할 수 있으므로 얼마나 많은 비트가 뒤집혔는지 알 뿐만 아니라 뒤집기 전에 해당 비트의 시작 값이 무엇인지도 알 수 있습니다. 장소.
그러면 이전에 무엇이 있었고 지금은 다를 가능성이 있는 비트 수를 알고 있는 경우 캐시에 있을 가능성이 있는 새 값을 예측할 수 있는 더 많은 통계 데이터가 제공됩니다.
피해자의 프로세스가 어떤 데이터를 사용하고 있었는지 정확히 파악하지 못할 수도 있지만 일부 비트 패턴을 제거할 수 있다 하더라도 알아야 할 것이 없는 무언가를 방금 배운 것입니다.
그리고 그 데이터가 일종의 암호화 키라면 실행 불가능한 무차별 암호 대입 공격을 성공할 수 있는 공격으로 전환할 수 있습니다.
예를 들어 70비트 암호화 키에서 128비트를 예측할 수 있는 경우 불가능한 작업인 128비트의 모든 조합을 시도하는 대신 2를 시도해야 합니다.58 대신에 다른 키(128 – 70 = 58)를 사용할 수 있습니다.
당황할 필요 없어
다행히도 이 "취약점"(현재 CVE-2023-20583)이 곧 귀하에게 불리하게 사용될 것 같지 않습니다.
사이버 보안 공격이 오늘날 사용할 수 있는 악용 가능한 구멍보다 "더 좋아지고 빨라질 뿐"이라는 자명한 사실에 근거하여 칩 제조업체가 고려해야 할 이론적인 문제에 가깝습니다.
사실, 연구원들은 거의 소심하게도 “당신 걱정할 필요가 없다.. "
그들은 정말로 썼다 당신 이탤릭체 및 함축 걱정 마세요 굵게:
논문의 결론에서 연구원들은 이상적인 실험실 조건에서 이 공격으로 얻은 최고의 실제 결과 중 일부는 시간당 5비트만 유출되었다는 점을 유감스럽게 생각합니다.
실제로 그들의 공격 시나리오 중 하나에 대해 그들은 "비트당 [XNUMX]년 이상의 누출률로 이어지는 실질적인 한계"에 직면했다고 인정했습니다.
예, 당신은 그것을 올바르게 읽었습니다. 우리는 그것을 상상하고 있지 않은지 확인하기 위해 신문에서 여러 번 확인했습니다.
물론 이렇게 하면 "그렇게 낮은 전송 속도를 안정적으로 측정하려면 데이터 전송 테스트 모음을 실행하는 데 얼마나 걸립니까?"라는 질문이 생깁니다.
계산에 따르면 연간 125비트는 천년당 약 XNUMX바이트를 제공합니다. 그런 속도로 최근 개봉한 XNUMX시간 분량의 블록버스터 영화를 다운받아 오펜하이머 약 4테라바이트를 차지하는 IMAX 품질에서는 약 4.54억 년이 걸립니다. 그 기괴한 사실을 원근감 있게 표현하자면, 지구 자체의 나이는 약 XNUMX억 XNUMX천만 년에 불과합니다.
무엇을해야 하는가?
지금 당장 CVE-2023-20538을 처리하는 가장 간단한 방법은 아무 조치도 취하지 않는 것입니다. 연구원들이 걱정하지 말라고 충고했기 때문입니다.
뭔가 조치를 취해야 할 필요성을 느끼면 Intel 및 AMD 프로세서 모두 전력 판독값에 무작위 노이즈를 추가하여 의도적으로 전력 측정 도구의 정확도를 줄이는 방법이 있습니다.
이렇게 하면 평균이 정확해지지만 개별 판독값이 충분히 달라져 이미 실현 가능하지 않은 공격을 실행하기가 훨씬 더 어려워집니다.
인텔의 전력 측정 완화는 다음과 같이 알려져 있습니다. 실행 평균 전력 제한(RAPL) 필터링; AMD는 다음과 같이 언급됩니다. 성능 결정론 모드.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 자동차 / EV, 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- BlockOffsets. 환경 오프셋 소유권 현대화. 여기에서 액세스하십시오.
- 출처: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :이다
- :아니
- :어디
- $UP
- 1
- 15%
- 25
- 70
- 700
- a
- 할 수 있는
- 소개
- 절대
- ACCESS
- 계정
- 계정
- 정확히
- 가로질러
- 실제
- 첨가
- 또한
- 주소
- 구애
- 들이다
- 인정 된
- 다시
- 반대
- All
- 수
- 따라
- 이미
- 또한
- 이기는하지만
- 항상
- AMD
- 양
- an
- 및
- 다른
- 답변
- 어떤
- 적용된
- 신청
- 대략
- 있군요
- AS
- 할당 된
- At
- 붙이다
- 공격
- 공격
- 시도
- 오스트리아
- 저자
- 자동
- Automatic
- 자동적으로
- 평균
- 배경 이미지
- 기반으로
- 기초
- BE
- 때문에
- 전에
- 뒤에
- 존재
- BEST
- 더 나은
- 사이에
- 억원
- 비트
- 블록버스터
- 일시: XNUMX년 XNUMX월 XNUMX일 화요일 XNUMX:XNUMXpm - XNUMX:XNUMXpm 장소: 여의도 페어몬트 앰배서더 서울 호텔 XNUMXF 아잘레아스 룸 [약도] 행사 문의: info.korea@rescale.com
- 경계
- 두
- 바닥
- 브 루트 포스
- 곤충
- 빌드
- 다발
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 캐시
- 계산
- CAN
- 케이스
- 센터
- 변경
- 변화
- 문자
- 체크
- 칩
- 칩
- 왼쪽 메뉴에서
- 선택
- 충돌
- 암호
- 수집
- 색
- COM
- 조합
- 제공
- 복잡한
- 컴퓨터
- 결론
- 조건
- 소비
- 소비
- 포함하는
- 함유량
- 내용
- 전통적인
- 변하게 하다
- 핵심
- 수정
- 수
- 코스
- 엄호
- 갈라진 금
- 현재
- 관습
- 사이버 보안
- 다니엘
- 데이터
- 거래
- 표시
- 따라
- 디자인
- 세부설명
- DID
- 다른
- 직접
- 발견
- 발견
- 디스플레이
- do
- 달러
- 도메인
- 도메인 이름
- 도메인 이름
- 말라
- 더빙 된
- 지구
- 효율성
- 중
- 제거
- 그 외의
- 암호화
- 충분히
- 조차
- EVER
- 정확하게
- 예
- 흥분한
- 설명
- 외부
- 사실
- 빠른
- 실행할 수 있는
- 세 연령의 아시안이
- 를
- 그림
- Find
- 플립
- 뒤집기
- 럭셔리
- 힘
- 체재
- 양식
- 사
- 네번째
- 에
- 미래
- 일반
- 독일
- 얻을
- 주기
- 주어진
- 제공
- 가는
- 매우
- 했다
- 반
- 발생
- 열심히
- 있다
- 신장
- 숨겨진
- 구멍
- 시간
- 가져가
- 방법
- How To
- 그러나
- HTML
- HTTPS
- 백
- 이상
- if
- 영상
- 불가능한
- 인상
- in
- 포함
- 포함
- 개인
- 정보
- 정보 보안
- 내부
- 를 받아야 하는 미국 여행자
- 인텔
- 예정된
- 내부의
- 인터넷
- 으로
- 아이러니하게
- IT
- 그
- 그 자체
- 다만
- 유지
- 유지
- 키
- 키
- 알아
- 알려진
- 실험실
- 성
- 지도
- 누출
- 배운
- 가장 작은
- 휴가
- 왼쪽 (left)
- 길이
- 레벨
- 아마도
- 제한
- 한계
- 명부
- 위치
- 위치
- 심벌 마크
- 긴
- 찾고
- 조회
- 낮은
- 기계
- 확인
- 제조 업체
- .
- 한계
- 마틴
- 석사
- 수학의
- 문제
- 사항
- 최대 폭
- XNUMX월..
- 방법
- 측정
- 측량
- 측정 시간 상관관계
- 측정
- 메모리
- 마이클
- 수도
- 황금 시대
- 백만
- 완화
- 혼합
- 혼합물
- 모델링
- 현대
- 모니터
- 개월
- 배우기
- 가장
- 영화
- 많은
- name
- 이름
- 명명
- 필요
- 신제품
- 아니
- 노이즈
- 없음
- 표준
- 아무것도
- 지금
- 번호
- 숫자
- of
- 오프
- 공무원
- 낡은
- on
- ONE
- 사람
- 만
- 열 수
- 운영
- 운영 체제
- or
- 기타
- 우리의
- 아웃
- 외부
- 개요
- 자신의
- 서
- 패턴
- 폴
- 용
- 성능
- 관점
- 물리적
- 픽셀
- 장소
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- ...을 더한
- 위치
- 게시물
- 힘
- 예측
- 명성
- 가격
- 특권
- 아마
- 탐침
- 문제
- 방법
- 프로세스
- 프로세서
- 가공업자
- 프로그램 제작자
- 프로그램
- 명백한
- 보호
- 보호
- 제공
- 목적
- 놓다
- 품질
- 문제
- 제기
- 램
- 닥치는대로의
- 율
- 거주비용
- 읽기
- 현실 세계
- 정말
- 이유
- 이유
- 최근에
- 감소
- 참조
- 회원가입
- 등록
- 레지스터들
- 상대적인
- 출시
- 대체
- 필요
- 연구원
- 점
- 결과
- 연락해주세요
- 달리는
- 같은
- 라고
- 시나리오
- 검정
- 둘째
- 보안
- 참조
- 보내다
- 연속
- 세트
- 몇몇의
- 짧은
- 기호
- 신호
- 단순화
- 단순화
- 대지
- 사생활 침해
- So
- 고체
- 일부
- 어떤 사람
- 무언가
- 어딘가에
- 곧
- 말하기
- 특별한
- 구체적인
- 속도
- 스타트
- 시작 중
- 통계적인
- 아직도
- 중지
- 저장
- 저장
- 저장
- 성공
- 제안
- 가정
- 확인
- SVG
- 체계
- 테이블
- 받아
- 소요
- 태스크
- 테크니컬
- 말하다
- 일시적인
- 테스트
- 보다
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그들 자신
- 그때
- 이론적 인
- 그곳에.
- 따라서
- 그들
- 생각
- 제삼
- 이
- 그
- 그러므로
- 시간
- 에
- 오늘
- 함께
- 했다
- 검색을
- 상단
- 선로
- 이전
- 전이
- 투명한
- 참된
- 시도
- 두
- 궁극적으로
- 아래에
- 대학
- 가능성
- URL
- 용법
- 사용
- 익숙한
- 사용자
- 사용
- 보통
- 가치
- 마케팅은:
- 화장대
- 여러
- 대단히
- 를 통해
- 방문
- 였다
- 방법..
- 방법
- we
- 웹 사이트
- 주
- 잘
- 갔다
- 했다
- 뭐
- 언제
- 여부
- 어느
- 동안
- 폭
- 의지
- 철사
- 과
- 말
- 걱정
- 겠지
- 쓰다
- 쓴
- year
- 년
- 아직
- 자신의
- 너의
- 제퍼 넷
- 제로