๊ตฌ๊ธ์ ํฌ๋กฌ 96 ์น๋ธ๋ผ์ฐ์ ๋ฅผ ๊ณต๊ฐํ๊ณ , ๋์์ ํฌ๋กฌ์ ๊ธฐ๋ฐ์ด ๋๋ ๋ฌด๋ฃ ํฌ๋ก๋ฏธ์(Chromium) ํ๋ก์ ํธ๋ ์์ ์ ์ผ๋ก ์ถ์๋๋ค. Chrome ๋ธ๋ผ์ฐ์ ๋ Google ๋ก๊ณ ์ฌ์ฉ, ์ถฉ๋ ์ ์๋ฆผ ์ ์ก ์์คํ , DRM(๋ณดํธ๋ ๋น๋์ค ์ฝํ ์ธ ) ์ฌ์ ๋ชจ๋, ์ ๋ฐ์ดํธ ์๋ ์ค์น ์์คํ , ๊ฒ์ ์ RLZ ๋งค๊ฐ๋ณ์ ์ ์ก์ผ๋ก ๊ตฌ๋ณ๋ฉ๋๋ค. Chrome 96 ๋ถ๊ธฐ๋ ํ์ฅ ์์ ์ฃผ๊ธฐ์ ์ผ๋ถ๋ก 8์ฃผ ๋์ ์ง์๋ฉ๋๋ค. Chrome 97์ ๋ค์ ๋ฆด๋ฆฌ์ค๋ 4์ XNUMX์ผ๋ก ์์ ๋์ด ์์ต๋๋ค.
Chrome 96์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- ์ฃผ์ ํ์์ค ์๋์ ํ์๋๋ ๋ถ๋งํฌ๋ฐ์๋ ์ฑ ๋ฒํผ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์จ๊ฒจ์ ธ ์์ด ์ค์น๋ ์๋น์ค ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
๋ชฉ๋ก์ด ์๋ 'chrome://apps' ํ์ด์ง๋ฅผ ์ด ์ ์์ต๋๋ค.
- Android 5.0 ๋ฐ ์ด์ ํ๋ซํผ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค.
- DNS๋ฅผ ์ฌ์ฉํ์ฌ HTTP์์ HTTPS๋ก ๋ฆฌ๋๋ ์ ํ๋ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค(IP ์ฃผ์๋ฅผ ๊ฒฐ์ ํ ๋ "A" ๋ฐ "AAAA" DNS ๋ ์ฝ๋ ์ธ์ "HTTPS" DNS ๋ ์ฝ๋๋ ์์ฒญ๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ๋ ์ฆ์ HTTPS๋ฅผ ํตํ ์ฌ์ดํธ).
- ๋ฐ์คํฌํฑ ์์คํ ์ฉ ๋ฒ์ ์์๋ ๋ค๋ก ๋ฐ ์์ผ๋ก ๋ฒํผ์ ์ฌ์ฉํ ๋ ์ฆ์ ํ์์ ์ ๊ณตํ๋ ๋ค๋ก ์์ผ๋ก ์บ์๊ฐ ํ์ฅ๋์ด ๋ค๋ฅธ ์ฌ์ดํธ๋ฅผ ์ฐ ํ ์ด์ ์ ๋ณธ ํ์ด์ง๋ก์ ํ์์ ์ง์ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ์๋ฆฌ๊ฐ ์๋ ์ธ ์๋ฆฌ๋ก ๊ตฌ์ฑ๋ ๋ฒ์ ์ ๋๋ฌํ ํ(Chrome 100 ์ถ์ ํ ํ ๋ฒ์) ์ฌ์ดํธ ์ค๋จ ๊ฐ๋ฅ์ฑ์ ํ ์คํธํ๊ธฐ ์ํด "chrome://flags#force-major-version-to-10" ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค. User-Agent ๊ตฌ๋ฌธ ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋ง์ ๋ฌธ์ ๊ฐ ํ๋ฉดํ๋์์ต๋๋ค. ์ต์ ์ด ํ์ฑํ๋๋ฉด User-Agent ํค๋์ ๋ฒ์ 100(Chrome/100.0.4664.45)์ด ํ์๋ฉ๋๋ค.
- Windows ํ๋ซํผ์ฉ ๋น๋์์๋ ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ ๋ฉ์ปค๋์ฆ(Network Sandbox) ๊ตฌํ์ ์ค๋นํ๊ธฐ ์ํด ๋คํธ์ํฌ ์๋น์ค(์ฟ ํค ๋ฑ) ์ด์๊ณผ ๊ด๋ จ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๋์ ํ์ ๋๋ ํฐ๋ฆฌ "Network"๋ก ์ด๋๋์์ต๋๋ค.
- ๋ช ๊ฐ์ง ์๋ก์ด API๊ฐ Origin Trials ๋ชจ๋์ ์ถ๊ฐ๋์์ต๋๋ค(๋ณ๋์ ํ์ฑํ๊ฐ ํ์ํ ์คํ ๊ธฐ๋ฅ). Origin ํ๊ฐํ์ localhost ๋๋ 127.0.0.1์์ ๋ค์ด๋ก๋ํ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋๋ ํน์ ์ฌ์ดํธ์ ๋ํด ์ ํ๋ ์๊ฐ ๋์ ์ ํจํ ํน์ ํ ํฐ์ ๋ฑ๋ก ๋ฐ ์์ ํ ํ ์ง์ ๋ API๋ก ์์
ํ ์ ์๋ ๊ธฐ๋ฅ์ ์๋ฏธํฉ๋๋ค.
- ์ฐฝ์ด๋ ํญ์ ๋ด์ฉ์ ์บก์ฒํ๋ ์์ฉ ํ๋ก๊ทธ๋จ(์: ํ์ ํ์ ์ค์ ์ฐฝ์ ๋ด์ฉ์ ๋ธ๋ก๋์บ์คํ ํ๋ ํ๋ก๊ทธ๋จ)์ด ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ focus() ๋ฉ์๋๋ฅผ ์ง์ํ๋ FocusableMediaStreamTrack ๊ฐ์ฒด(์: BrowserCaptureMediaStreamTrack์ผ๋ก ์ด๋ฆ ๋ณ๊ฒฝ)๊ฐ ์ ์๋์์ต๋๋ค. ์ ๋ ฅ ํฌ์ปค์ค์ ๋ํด ์์๋ณด๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํฉ๋๋ค.
- ์ฐ์ ์์ ํํธ ๋ฉ์ปค๋์ฆ์ด ๊ตฌํ๋์ด iframe, img ๋ฐ link์ ๊ฐ์ ํ๊ทธ์ ์ถ๊ฐ "์ค์๋" ์์ฑ์ ์ง์ ํ์ฌ ๋ค์ด๋ก๋ํ ํน์ ๋ฆฌ์์ค์ ์ค์๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์์ฑ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ธ๋ถ ๋ฆฌ์์ค๋ฅผ ๋ก๋ํ๋ ์์์ ์ํฅ์ ๋ฏธ์น๋ "auto", "low" ๋ฐ "high" ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
- Cross-Origin ๊ฒฉ๋ฆฌ ๋ชจ๋๋ฅผ ์ ์ดํ๊ณ ๊ถํ ์๋ ์์ ํ์ด์ง์์ ๋ณด์ ์ฌ์ฉ ๊ท์น์ ์ ์ํ ์ ์๋ Cross-Origin-Embedder-Policy ํค๋๋ ์ด์ ๋ค์๊ณผ ๊ฐ์ ์๊ฒฉ ์ฆ๋ช ๊ด๋ จ ์ ๋ณด์ ์ ์ก์ ๋นํ์ฑํํ๋ "credentialless" ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ํฉ๋๋ค. ์ฟ ํค ๋ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์.
- ์๋ก์ด ์์ฌ ํด๋์ค ":autofill"์ด CSS์ ์ ์๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๋ ฅ ํ๊ทธ์ ํ๋๋ฅผ ์๋์ผ๋ก ์ฑ์ฐ๋ ๊ฒ์ ์ถ์ ํ ์ ์์ต๋๋ค(์๋์ผ๋ก ์ฑ์ฐ๋ฉด ์ ํ๊ธฐ๊ฐ ์๋ํ์ง ์์ต๋๋ค).
- ์์ฒญ ๋ฃจํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด CSS ํฌํจ ์์ฑ์ HTML ๋๋ BODY ํ๊ทธ์ ์ ์ฉํ ๋ CSS ์์ฑ ์ฐ๊ธฐ ๋ชจ๋, ๋ฐฉํฅ ๋ฐ ๋ฐฐ๊ฒฝ์ด ๋ ์ด์ ๋ทฐํฌํธ์ ์ ์ฉ๋์ง ์์ต๋๋ค.
- ์ ํํ ๊ธ๊ผด ๋ชจ์์ ์๋ ์คํ์ผ(์ฌ์ , ๊ตต์ ๊ธ๊ผด, ์์ ๋๋ฌธ์)์ ํฉ์ฑํ๋ ๊ธฐ๋ฅ์ ์ ์ดํ ์ ์๋ ๊ธ๊ผด ํฉ์ฑ CSS ์์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- UI ์๋ต์ฑ์ ์ธก์ ํ๊ณ ์ต์ ํํ๊ธฐ ์ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ PerformanceEventTiming API์ ์ฌ์ฉ์ ์ํธ ์์ฉ ID๋ฅผ ๋ํ๋ด๋ InteractionID ์์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค. ID๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ ์ธก์ ํญ๋ชฉ์ ๋จ์ผ ์ฌ์ฉ์ ์์ ๊ณผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํฐ์น ์คํฌ๋ฆฐ์ ํฐ์นํ๋ฉด ํฌ์ธํฐ ๋ค์ด, ๋ง์ฐ์ค ๋ค์ด, ํฌ์ธํฐ ์ , ๋ง์ฐ์ค ์ ๋ฐ ํด๋ฆญ๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ด๋ฒคํธ๊ฐ ์์ฑ๋๊ณ InteractionID๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๋ชจ๋ ์ด๋ฒคํธ๋ฅผ ๋จ์ผ ์ฌ์ฉ์ ์์ ๊ณผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ง์ง๋ค.
- ์ด์ ์ฒด์ ์ ์ค์ ๋ ๋๋น ์ค์ ์ ํ์ด์ง ์ฝํ ์ธ ๋ฅผ ์ ์ฉํ๊ธฐ ์ํ ์๋ก์ด ์ ํ์ ๋ฏธ๋์ด ํํ์(๋ฏธ๋์ด ์ฟผ๋ฆฌ)์ธ "prefers-contras"๋ฅผ ์ถ๊ฐํ์ต๋๋ค(์: ๊ณ ๋๋น ๋ชจ๋ ์ผ๊ธฐ).
- ๋ ๋ฆฝํ PWA ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ ์ญ ์ ํ๋ฆฌ์ผ์ด์ ์๋ณ์๊ฐ ํฌํจ๋ ์ ํ์ "id" ํ๋์ ๋ํ ์ง์์ด ๋งค๋ํ์คํธ์ ์ถ๊ฐ๋์์ต๋๋ค(ํ๋๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ์์ URL์ด ์๋ณ์ ์ฌ์ฉ๋ฉ๋๋ค).
- ์ด์ ๋ ๋ฆฝ ์คํํ PWA ์์ฉ ํ๋ก๊ทธ๋จ์ URL ์ฒ๋ฆฌ๊ธฐ๋ก ๋ฑ๋กํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด music.example.com ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒด์ ์ผ๋ก URL ์ฒ๋ฆฌ๊ธฐ https://*.music.example.com์ผ๋ก ๋ฑ๋กํ ์ ์์ผ๋ฉฐ ์ด๋ฌํ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ (์: ์ธ์คํดํธ ๋ฉ์ ์ ๋ฐ ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ)์ ๋ชจ๋ ์ ํ์ ์ ๋ธ๋ผ์ฐ์ ํญ์ด ์๋ ์ด PWA ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ ๊ฒ์ ๋๋ค.
- WebAssembly์์ ์ฝ๋ ์คํ ๊ธฐ๋ฅ์ ์ ์ดํ๊ธฐ ์ํด CSP(์ฝํ ์ธ ๋ณด์ ์ ์ฑ ) wasm-unsafe-eval ์ง์๋ฌธ์ ์ถ๊ฐํ์ต๋๋ค. CSP script-src ์ง์๋ฌธ์ ์ด์ WebAssembly๋ฅผ ํฌํจํฉ๋๋ค.
- WebAssembly์๋ ์ฐธ์กฐ ์ ํ(externref ์ ํ)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. WebAssembly ๋ชจ๋์ ์ด์ JavaScript ๋ฐ DOM ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ๋ณ์์ ์ ์ฅํ๊ณ ์ธ์๋ก ์ ๋ฌํ ์ ์์ต๋๋ค.
- PaymentMethodData๋ ๊ฐ๋ณ ๋ฐ์ดํฐ ์ ํ์ ์ฐธ์กฐํ์ง ์๊ณ ๋จ์ผ ์๋ณ์๋ฅผ ํตํด ๋ชจ๋ ์ ํ์ ์นด๋ ์์ ์ ๊ตฌ์ฑํ ์ ์๋ "๊ธฐ๋ณธ ์นด๋" ๊ฒฐ์ ๋ฐฉ๋ฒ์ ๋ํ ๋ ์ด์ ์ง์๋์ง ์๋๋ค๊ณ ์ ์ธํ์ต๋๋ค. '๊ธฐ๋ณธ์นด๋' ๋์ ๊ตฌ๊ธํ์ด, ์ ํํ์ด, ์ผ์ฑํ์ด ๋ฑ ๋์ฒด์๋จ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋๋ค.
- ์ฌ์ดํธ์์ U2F(Cryptotoken) API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ์ํํธ์จ์ด ์ธํฐํ์ด์ค์ ์ง์ ์ค๋จ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ ๊ฒฝ๊ณ ๊ฐ ์ฌ์ฉ์์๊ฒ ํ์๋ฉ๋๋ค. U2F API๋ Chrome 98์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋๋ฉฐ Chrome 104์์๋ ์์ ํ ์ ๊ฑฐ๋ฉ๋๋ค. U2F API ๋์ ์น ์ธ์ฆ API๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- ์น ๊ฐ๋ฐ์๋ฅผ ์ํ ๋๊ตฌ๊ฐ ๊ฐ์ ๋์์ต๋๋ค. ์์, ๊ธ๊ผด, ์ฌ์ฉ๋์ง ์์ ์ ์ธ ๋ฐ ๋ฏธ๋์ด ํํ์ ๋ํ ์ ๋ณด ์์ฝ์ ์ ๊ณตํ๊ณ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ๊ฐ์กฐํ๋ ์๋ก์ด CSS ๊ฐ์ ํจ๋์ด ์ถ๊ฐ๋์์ต๋๋ค. CSS ํธ์ง ๋ฐ ๋ณต์ฌ ์์
์ด ๊ฐ์ ๋์์ต๋๋ค. ์คํ์ผ ํจ๋์ ์ํฉ์ ๋ง๋ ๋ฉ๋ด์ CSS ์ ์๋ฅผ JavaScript ํํ์ ํ์์ผ๋ก ๋ณต์ฌํ ์ ์๋ ์ต์
์ด ์ถ๊ฐ๋์์ต๋๋ค. ์์ฒญ ๋งค๊ฐ๋ณ์ ๋ถ์์ด ํฌํจ๋ ํ์ด๋ก๋ ํญ์ด ๋คํธ์ํฌ ์์ฒญ ๊ฒ์ฌ ํจ๋์ ์ถ๊ฐ๋์์ต๋๋ค. ๋ชจ๋ CORS(Cross-Origin Resource Sharing) ์ค๋ฅ๋ฅผ ์จ๊ธฐ๋ ์ต์
์ด ์น ์ฝ์์ ์ถ๊ฐ๋์์ผ๋ฉฐ ๋น๋๊ธฐ ๊ธฐ๋ฅ์ ๋ํ ์คํ ์ถ์ ์ด ์ ๊ณต๋ฉ๋๋ค.
ํ์ ๊ณผ ๋ฒ๊ทธ ์์ ์ธ์๋ ์ ๋ฒ์ ์์๋ 25๊ฐ์ ์ทจ์ฝ์ ์ด ์ ๊ฑฐ๋์์ต๋๋ค. AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ๋ฐ AFL ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์๋ํ๋ ํ
์คํธ์ ๊ฒฐ๊ณผ๋ก ๋ง์ ์ทจ์ฝ์ ์ด ์๋ณ๋์์ต๋๋ค. ๋ชจ๋ ์์ค์ ๋ธ๋ผ์ฐ์ ๋ณดํธ๋ฅผ ์ฐํํ๊ณ ์๋๋ฐ์ค ํ๊ฒฝ ์ธ๋ถ์ ์์คํ
์์ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ ํ์ธ๋์ง ์์์ต๋๋ค. ํ์ฌ ๋ฆด๋ฆฌ์ค์ ์ทจ์ฝ์ ๋ฐ๊ฒฌ์ ๋ํ ํ๊ธ ๋ณด์ ํ๋ก๊ทธ๋จ์ ์ผํ์ผ๋ก Google์ $13 ์๋น์ 60๊ฐ ์์ ์ง๊ธํ์ต๋๋ค(15000๊ฐ $10000 ์, 7500๊ฐ $5000 ์, 3000๊ฐ $2500 ์, 2000๊ฐ $1000 ์, 500๊ฐ $5 ์, XNUMX๊ฐ $XNUMX ์, XNUMX๊ฐ $XNUMX ๋ณด๋์ค, $XNUMX ๋ณด๋์ค XNUMX๊ฐ, $XNUMX ๋ณด๋์ค XNUMX๊ฐ). XNUMX๊ฐ ๋ณด์์ ๊ท๋ชจ๋ ์์ง ๊ฒฐ์ ๋์ง ์์์ต๋๋ค.
์ถ์ฒ : opennet.ru