본문으로 건너뛰기

"보안" 태그로 연결된 4개 게시물개의 게시물이 있습니다.

모든 태그 보기

V8는 더욱 빠르고 안전해졌습니다!

· 약 6분
[Victor Gomes](https://twitter.com/VictorBFG), 글뤼바인의 전문가

V8의 짜릿한 세계에 오신 것을 환영합니다. 여기서는 속도가 단순한 기능이 아닌 삶의 방식입니다. 2023년을 보내며 V8이 올해 이룩한 놀라운 성과를 축하할 때입니다.

혁신적인 성능 최적화를 통해 V8은 웹의 끊임없이 진화하는 환경에서 가능한 것의 경계를 계속해서 넓혀가고 있습니다. 우리는 새로운 중간 단계 컴파일러를 도입하고, 최고 단계 컴파일러 인프라, 런타임 및 가비지 컬렉터에 여러 가지 개선을 적용하여 전반적으로 상당한 속도 향상을 이루었습니다.

C++에 시간적 메모리 안전성 레트로피팅

· 약 9분
안톤 비키네브, 마이클 립파우츠 ([@mlippautz](https://twitter.com/mlippautz)), 한네스 페이어 ([@PayerHannes](https://twitter.com/PayerHannes))
노트

참고: 이 게시물은 원래 Google Security Blog에 게시되었습니다.

Chrome의 메모리 안전성은 사용자를 보호하기 위해 끊임없이 노력 중입니다. 우리는 악의적 행위자를 앞서기 위해 다양한 기술을 끊임없이 실험하고 있습니다. 이러한 정신으로, 이번 게시물은 C++의 메모리 안전성을 향상시키기 위해 힙 스캐닝 기술을 사용하는 우리의 여정에 관한 것입니다.

스펙터의 1년: V8 관점

· 약 8분
벤 L. 티처와 야로슬라프 세브치크

2018년 1월 3일, 구글 프로젝트 제로와 다른 연구 팀은 스펙터멜트다운으로 불리는 새로운 종류의 취약성을 처음 공개했습니다. 이는 추론 실행(speculative execution)을 수행하는 CPU에 영향을 미칩니다. CPU의 추론 실행 메커니즘을 사용하여 공격자는 메모리에서 승인되지 않은 데이터를 읽는 것을 방지하는 코드의 암묵적 및 명시적 안전 검사들을 임시적으로 우회할 수 있습니다. 프로세서 추론은 구조적 레벨에서 보이지 않는 미세 구조적 세부사항으로 설계되었지만, 정교하게 만들어진 프로그램은 추론 중에 승인되지 않은 정보를 읽고 프로그램 분절의 실행 시간을 포함한 부작용 채널을 통해 이를 공개할 수 있습니다.

임시로 Escape Analysis 비활성화

· 약 2분
Mathias Bynens ([@mathias](https://twitter.com/mathias)), 샌드박스 Escape 분석 전문가

JavaScript에서, 할당된 객체는 현재 함수 밖에서 접근 가능할 경우 escape(탈출)하게 됩니다. 일반적으로 V8은 새로운 객체를 JavaScript 힙에 할당하지만, escape analysis(탈출 분석)를 사용하면 최적화 컴파일러는 객체의 수명이 함수의 실행에 따라 제한된 것을 입증할 수 있을 때 특수 처리를 할 수 있습니다. 새로 할당된 객체의 참조가 그것을 생성한 함수 밖으로 탈출하지 않는 경우, JavaScript 엔진은 명시적으로 그 객체를 힙에 할당할 필요가 없습니다. 대신 이 객체의 값을 함수의 지역 변수처럼 처리할 수 있습니다. 이는 스택이나 레지스터에 값을 저장하거나, 경우에 따라 값을 완전히 최적화하여 제거하는 등 여러 가지 최적화를 가능하게 합니다. 탈출하는 객체(더 정확히 말하면, 탈출하지 않음을 증명할 수 없는 객체)들은 반드시 힙에 할당되어야 합니다.