Chrome은 24개의 보안 허점을 패치하여 "Sanitizer" 안전 시스템인 PlatoBlockchain Data Intelligence를 활성화합니다. 수직 검색. 일체 포함.

Chrome은 24개의 보안 구멍을 패치하여 "Sanitizer" 안전 시스템을 활성화합니다.

구글의 최신 크롬 브라우저, 버전 105, 정식 버전 번호는 Windows, Mac 또는 Linux에 따라 성가 시게 다릅니다.

Unix 계열 시스템(Mac 및 Linux)에서는 105.0.5195.52, 하지만 Windows에서는 105.0.5195.54.

Google에 따르면 이 새 버전에는 24개의 보안 수정 사항이 포함되어 있지만 그 중 어느 것도 "in-the-wild"로 보고되지 않았으므로 이번에는 제로데이 패치가 적용되지 않았습니다.

그럼에도 불구하고 하나의 취약점이 있습니다. 결정적인, 그리고 추가 XNUMX 등급 높은.

수정된 결함 중 절반 이상이 메모리 관리 잘못으로 인한 것이며 XNUMX개는 다음과 같이 나열됩니다. 사용 후 무료 버그 및 네 가지 힙 버퍼 오버플로.

메모리 버그 유형 설명

A 사용 후 무료 프로그램의 다른 부분에 사용할 수 있도록 메모리를 되돌려주지만 어쨌든 계속 사용하므로 앱의 올바른 작동을 잠재적으로 방해할 수 있습니다.

예를 들어, 이제 문제가 되는 메모리 블록에 대한 유일한 액세스 권한이 있다고 생각하는 프로그램 부분이 일부 신뢰할 수 없는 입력을 수신하고 새 데이터가 사용하기에 안전한지 신중하게 확인한다고 상상해보십시오.

...하지만 검증된 입력을 사용하기 시작하기 직전에 버그가 있는 "use-after-free" 코드가 간섭을 일으켜 오래되고 안전하지 않은 데이터를 메모리의 바로 동일한 부분에 주입합니다.

갑자기 프로그램의 다른 곳에서 버그가 없는 코드가 마치 버그가 있는 것처럼 동작합니다. 메모리에 있던 것을 무효화한 코드의 결함 덕분입니다.

코드의 예기치 않은 개입 타이밍을 조작하는 방법을 알아낼 수 있는 공격자는 프로그램을 마음대로 중단할 수 있을 뿐만 아니라 프로그램에서 제어권을 빼앗아 다음과 같은 문제를 일으킬 수 있습니다. 원격 코드 실행.

그리고 힙 버퍼 오버플로 원래 할당된 공간보다 많은 데이터를 메모리에 쓰는 버그를 나타냅니다. (더미 는 현재 시스템에서 관리하고 있는 메모리 블록 모음에 대한 전문 용어입니다.)

프로그램의 다른 부분에 메모리 블록이 있는 경우 힙에 있는 메모리 블록과 가깝거나 옆에 있으면 방금 작성한 불필요한 데이터가 사용되지 않는 공간으로 무해하게 오버플로되지 않습니다.

대신에 다른 곳에서 활성 상태로 사용 중인 데이터를 손상시키며, 이는 우리가 Use-after-free 버그에 대해 설명한 것과 유사한 결과를 초래합니다.

"살균제" 시스템

다행히도 존재하지 않아야 했던 오작동을 수정하는 것 외에도 Google은 다음과 같은 새로운 기능을 발표했습니다. 보호를 추가합니다 로 알려진 브라우저 결함 클래스에 대해 사이트 간 스크립팅 (XSS).

XSS 버그는 브라우저가 위험한 콘텐츠를 먼저 확인(및 제거)하지 않고 원격 사용자가 제출한 웹 양식의 신뢰할 수 없는 데이터를 현재 웹 페이지에 직접 삽입함으로써 발생합니다.

예를 들어 내가 선택한 텍스트 문자열이 펑키한 새 글꼴에서 어떻게 보이는지 보여 주는 웹 페이지가 있다고 상상해 보십시오.

샘플 텍스트를 입력하면 Cwm fjord bank glyphs vext quiz (궁금한 경우를 대비하여 알파벳의 26개 글자를 모두 포함하는 영어와 웨일스어의 의도적이지만 모호하게 의미 있는 매쉬업), 그런 다음 생성하는 웹 페이지에 정확한 텍스트를 넣는 것이 안전합니다.

예를 들어 JavaScript에서는 수정하지 않고 내가 제공한 텍스트를 삽입하여 웹 페이지의 본문을 다음과 같이 다시 작성할 수 있습니다.

document.body.innerHTML = " Cwm fjord bank glyphs vext 퀴즈"

그러나 내가 속이고 텍스트 문자열을 "표시"하도록 요청한 경우 Cwm fjord<script>alert(42)</script> 대신, 당신이 이것을하는 것은 무모할 것입니다 ...

document.body.innerHTML = " Cwm 피요르드 alert(42) "

… 신뢰할 수 없는 JavaScript 코드를 삽입할 수 있도록 허용하기 때문에 my 직접 선택 your 내 코드가 귀하의 쿠키를 읽고 다른 방법으로는 접근할 수 없는 데이터에 액세스할 수 있는 웹 페이지.

그래서, 알려진 것을 만들기 위해 입력 살균 더 쉽게, Chrome은 이제 공식적으로 setHTML().

이것은 Sanitizer 먼저 이 코드를 대신 사용하면…

문서.본문.setHTML(" Cwm 피요르드 alert(42) ")

… 그런 다음 Chrome은 제안된 새 HTML 문자열에서 보안 문제를 먼저 검사하고 위험을 초래할 수 있는 텍스트를 자동으로 제거합니다.

다음을 통해 작동 중인 것을 볼 수 있습니다. 개발자 도구 위의 실행으로 setHTML() 코드 콘솔에서 프롬프트에 삽입된 실제 HTML을 검색합니다. document.body 여기에서 했던 것처럼 변수:

강조 표시된 스크립트 태그가 궁극적으로 페이지에 삽입된 HTML에서 어떻게 "정리"되었는지 확인하십시오.

우리가 명시적으로 입력하더라도 <script> 우리가 전달한 입력의 태그 setHTML() 함수에서 스크립트 코드는 생성된 출력에서 ​​자동으로 제거되었습니다.

잠재적으로 위험한 텍스트를 HTML 요소에 추가해야 하는 경우 두 번째 인수를 추가할 수 있습니다. setHTML() 차단하거나 허용할 다양한 유형의 위험한 콘텐츠를 지정하는 기능입니다.

기본적으로 위와 같이 두 번째 인수를 생략하면 Sanitizer는 최대 보안 수준에서 작동하고 알고 있는 모든 위험한 콘텐츠를 자동으로 제거합니다.

무엇을해야 하는가?

  • 당신이 크롬 사용자라면. 클릭하여 최신 상태인지 확인하십시오. 세 점 > 도움말 > 구글 크롬에 대한, 또는 특수 URL로 이동하여 chrome://settings/help.
  • 웹 프로그래머라면. 새로운 정보 SanitizersetHTML() 읽기 기능 Google의 조언 그리고 MDN 웹 문서.

그런데 Firefox를 사용하는 경우 Sanitizer 사용할 수 있지만 아직 기본적으로 켜져 있지 않습니다. 다음으로 이동하여 해당 기능을 켜서 자세히 알아볼 수 있습니다. about:config 그리고 토글 dom.security.sanitizer.enabled ~에 대한 옵션 true.


타임 스탬프 :

더보기 노출 된 보안