ํฌ๋กฌ 101 ๋ฆด๋ฆฌ์Šค

๊ตฌ๊ธ€์ด ํฌ๋กฌ 101 ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ณต๊ฐœํ–ˆ๊ณ , ๋™์‹œ์— ํฌ๋กฌ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ฌด๋ฃŒ ํฌ๋กœ๋ฏธ์›€(Chromium) ํ”„๋กœ์ ํŠธ๋„ ์•ˆ์ •์ ์œผ๋กœ ์ถœ์‹œ๋๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ €๋Š” Google ๋กœ๊ณ  ์‚ฌ์šฉ, ์ถฉ๋Œ ์‹œ ์•Œ๋ฆผ ์ „์†ก ์‹œ์Šคํ…œ ์กด์žฌ, ๋ณต์‚ฌ ๋ฐฉ์ง€๋œ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ (DRM) ์žฌ์ƒ ๋ชจ๋“ˆ, ์—…๋ฐ์ดํŠธ ์ž๋™ ์„ค์น˜ ์‹œ์Šคํ…œ, ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒฉ๋ฆฌ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•œ๋‹ค๋Š” ์ ์—์„œ Chromium๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. , Google API์— ํ‚ค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๊ฒ€์ƒ‰ ์‹œ RLZ- ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋ณ„๋„์˜ Extended Stable ๋ถ„๊ธฐ๊ฐ€ ์žˆ๊ณ  ๊ทธ ๋’ค๋ฅผ ์ด์–ด 8์ฃผ ๋™์•ˆ Chrome 100์˜ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. Chrome 102์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 24์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Chrome 101์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋ฅผ ๋ณด๋Š” ๋™์‹œ์— ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ด๋“œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(ํ•œ ์ฐฝ์—์„œ ํŽ˜์ด์ง€ ๋‚ด์šฉ๊ณผ ๊ฒ€์ƒ‰ ์—”์ง„ ์•ก์„ธ์Šค ๊ฒฐ๊ณผ๋ฅผ ๋™์‹œ์— ๋ณผ ์ˆ˜ ์žˆ์Œ). Google์˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€์—์„œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋ฉด ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ ์ž…๋ ฅ ํ•„๋“œ ์•ž์— ๋ฌธ์ž "G"๊ฐ€ ์žˆ๋Š” ์•„์ด์ฝ˜์ด ๋‚˜ํƒ€๋‚˜๊ณ , ์ด๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ด์ „ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ํฌํ•จ๋œ ์ธก๋ฉด ํŒจ๋„์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ˆ˜์ƒ‰์— ๋‚˜์„ฐ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ์‹œ์Šคํ…œ์—์„œ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด "chrome://flags/#side-search" ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ํฌ๋กฌ 101 ๋ฆด๋ฆฌ์Šค
  • ๊ฒ€์ƒ‰์ฃผ์†Œ์ฐฝ ์ฃผ์†Œ ํ‘œ์‹œ์ค„์€ ์ž…๋ ฅ ์‹œ ์ œ๊ณต๋˜๋Š” ์ถ”์ฒœ ์ฝ˜ํ…์ธ ์˜ ์‚ฌ์ „ ๋ Œ๋”๋ง์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ฃผ์†Œ ํ‘œ์‹œ์ค„์—์„œ ์ „ํ™˜ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด Prefetch ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ „ํ™˜์— ๋Œ€ํ•œ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ๊ถŒ์žฅ ์‚ฌํ•ญ์ด ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋กœ๋”ฉ ์™ธ์—๋„ ๋ฒ„ํผ์—์„œ ๋ Œ๋”๋ง๋˜๋ฏ€๋กœ(์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ๋ฐ DOM ํŠธ๋ฆฌ ํ˜•์„ฑ ํฌํ•จ) ํด๋ฆญ ํ›„ ์ฆ‰์‹œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ธก ๋ Œ๋”๋ง์„ ์ œ์–ดํ•˜๋ ค๋ฉด "chrome://flags/#enable-prerender2", "chrome://flags/#omnibox-trigger-for-prerender2" ๋ฐ "chrome://flags/#search-suggestion-for" ์„ค์ •์„ ์‚ฌ์šฉํ•˜์„ธ์š”. -โ€๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. prerender2".
  • User-Agent HTTP ํ—ค๋” ๋ฐ JavaScript ๋งค๊ฐœ๋ณ€์ˆ˜ navigator.userAgent, navigator.appVersion ๋ฐ navigator.platform์˜ ์ •๋ณด๊ฐ€ ์ž˜๋ ธ์Šต๋‹ˆ๋‹ค. ํ—ค๋”์—๋Š” ๋ธŒ๋ผ์šฐ์ € ์ด๋ฆ„, ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „(MINOR.BUILD.PATCH ๋ฒ„์ „์˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ 0.0.0์œผ๋กœ ๋Œ€์ฒด๋จ), ํ”Œ๋žซํผ ๋ฐ ์žฅ์น˜ ์œ ํ˜•(ํœด๋Œ€ํฐ, PC, ํƒœ๋ธ”๋ฆฟ)์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ๋ฒ„์ „ ๋ฐ ํ™•์žฅ๋œ ํ”Œ๋žซํผ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์œผ๋ ค๋ฉด ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ํด๋ผ์ด์–ธํŠธ ํžŒํŠธ API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ •๋ณด๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์•„์ง ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ํด๋ผ์ด์–ธํŠธ ํžŒํŠธ๋กœ ์ „ํ™˜ํ•  ์ค€๋น„๊ฐ€ ๋˜์ง€ ์•Š์€ ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ 2023๋…„ XNUMX์›”๊นŒ์ง€ ์ „์ฒด ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜ธ์ถœ ์ง€์—ฐ์„ ๊ฒฐ์ •ํ•˜๋Š” 101 ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ๋•Œ setTimeout ํ•จ์ˆ˜์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. Chrome 0๋ถ€ํ„ฐ "setTimeout(โ€ฆ, 1)"์„ ์ง€์ •ํ•˜๋ฉด ์‚ฌ์–‘์—์„œ ์š”๊ตฌํ•˜๋Š” 4ms ์ง€์—ฐ ์—†์ด ์ฝ”๋“œ๊ฐ€ ์ฆ‰์‹œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต์ ์œผ๋กœ ์ค‘์ฒฉ๋œ setTimeout ํ˜ธ์ถœ์˜ ๊ฒฝ์šฐ XNUMXms์˜ ์ง€์—ฐ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Android ํ”Œ๋žซํผ ๋ฒ„์ „์€ ์•Œ๋ฆผ ํ‘œ์‹œ ๊ถŒํ•œ ์š”์ฒญ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(Android 13์—์„œ๋Š” ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•˜๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— 'POST_NOTIFICATIONS' ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์ด ๊ถŒํ•œ์ด ์—†์œผ๋ฉด ์•Œ๋ฆผ ์ „์†ก์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค). Android 13 ํ™˜๊ฒฝ์—์„œ Chrome์„ ์‹คํ–‰ํ•˜๋ฉด ์ด์ œ ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ฆผ ๊ถŒํ•œ์„ ์–ป์œผ๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ํƒ€์‚ฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ WebSQL API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜„์žฌ ์‚ฌ์ดํŠธ์—์„œ ๋กœ๋“œ๋˜์ง€ ์•Š์€ ์Šคํฌ๋ฆฝํŠธ์˜ WebSQL ์ฐจ๋‹จ์€ Chrome 97์—์„œ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€๋งŒ ์ด ๋™์ž‘์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์˜ต์…˜์ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. Chrome 101์—์„œ๋Š” ์ด ์˜ต์…˜์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์‚ฌ์šฉ ์ƒํ™ฉ์— ๊ด€๊ณ„์—†์ด WebSQL์— ๋Œ€ํ•œ ์ง€์›์„ ์ ์ง„์ ์œผ๋กœ ์™„์ „ํžˆ ์ค‘๋‹จํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. WebSQL ๋Œ€์‹  Web Storage ๋ฐ Indexed Database API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. WebSQL ์—”์ง„์€ SQLite ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๊ณต๊ฒฉ์ž๊ฐ€ SQLite์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„ํฌ๊ด„์  ์šฉ์–ด๊ฐ€ ํฌํ•จ๋œ ๊ธฐ์—… ์ •์ฑ… ์ด๋ฆ„(chrome://policy)์„ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. Chrome 86๋ถ€ํ„ฐ ํฌ๊ด„์ ์ธ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋Ÿฌํ•œ ์ •์ฑ…์— ๋Œ€ํ•œ ๋Œ€์ฒด ์ •์ฑ…์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ", "๋ธ”๋ž™๋ฆฌ์ŠคํŠธ", "๋„ค์ดํ‹ฐ๋ธŒ" ๋ฐ "๋งˆ์Šคํ„ฐ"์™€ ๊ฐ™์€ ์šฉ์–ด๊ฐ€ ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด URLBlacklist ์ •์ฑ…์€ URLBlocklist๋กœ, AutoplayWhitelist๋Š” AutoplayAllowlist๋กœ, NativePrinters๋Š” ํ”„๋ฆฐํ„ฐ๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋ฆฌ์ง„ ํŠธ๋ผ์ด์–ผ ๋ชจ๋“œ(๋ณ„๋„์˜ ํ™œ์„ฑํ™”๊ฐ€ ํ•„์š”ํ•œ ์‹คํ—˜ ๊ธฐ๋Šฅ)์—์„œ FedCM(Federated Credential Management) API ํ…Œ์ŠคํŠธ๋Š” ์ง€๊ธˆ๊นŒ์ง€ Android ํ”Œ๋žซํผ์šฉ ์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ๋งŒ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ต์ฐจ ์—†์ด ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ์™€ ์ž‘์—…์„ ๋ณด์žฅํ•˜๋Š” ํ†ตํ•ฉ ID ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์ œ127.0.0.1์ž ์ฟ ํ‚ค ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ์‚ฌ์ดํŠธ ์ถ”์  ๋ฉ”์ปค๋‹ˆ์ฆ˜. Origin Trial์€ localhost ๋˜๋Š” XNUMX์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋˜๋Š” ํŠน์ • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ํšจํ•œ ํŠน์ˆ˜ ํ† ํฐ์„ ๋“ฑ๋กํ•˜๊ณ  ๋ฐ›์€ ํ›„ ์ง€์ •๋œ API๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ์„ ์ˆœ์œ„ ํžŒํŠธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์•ˆ์ •ํ™”๋˜์–ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ œ๊ณต๋˜๋ฏ€๋กœ iframe, img ๋ฐ link์™€ ๊ฐ™์€ ํƒœ๊ทธ์— ์ถ”๊ฐ€ "์ค‘์š”๋„" ์†์„ฑ์„ ์ง€์ •ํ•˜์—ฌ ํŠน์ • ๋‹ค์šด๋กœ๋“œ ๋ฆฌ์†Œ์Šค์˜ ์ค‘์š”๋„๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋กœ๋“œํ•˜๋Š” ์ˆœ์„œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” "auto", "low" ๋ฐ "high" ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋””์˜ค ์ถœ๋ ฅ ์ „ ์˜ˆ์ƒ ์ง€์—ฐ(์˜ค๋””์˜ค ์š”์ฒญ๊ณผ ์˜ค๋””์˜ค ์ถœ๋ ฅ ์žฅ์น˜์—์„œ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์ž‘ ์‚ฌ์ด์˜ ์ง€์—ฐ)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” AudioContext.outputLatency ์†์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธ€๊ผด ํŒ”๋ ˆํŠธ CSS ์†์„ฑ ๋ฐ @font-palette-values โ€‹โ€‹๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒ‰์ƒ ๊ธ€๊ผด์—์„œ ํŒ”๋ ˆํŠธ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ž์‹ ๋งŒ์˜ ํŒ”๋ ˆํŠธ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปฌ๋Ÿฌ ๋ฌธ์ž ๊ธ€๊ผด์ด๋‚˜ ์ด๋ชจํ‹ฐ์ฝ˜์„ ์ฝ˜ํ…์ธ  ์ƒ‰์ƒ๊ณผ ์ผ์น˜์‹œํ‚ค๊ฑฐ๋‚˜ ๊ธ€๊ผด์— ๋Œ€ํ•ด ์–ด๋‘ก๊ฑฐ๋‚˜ ๋ฐ์€ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • HSL(์ƒ‰์กฐ, ์ฑ„๋„, ๋ฐ๊ธฐ) ํ˜•์‹๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์‚ฌ๋žŒ์ด ์ธ์‹ํ•˜๊ธฐ ๋” ์‰ฌ์šด HWB(์ƒ‰์ƒ, ๋ฐฑ์ƒ‰๋„, ํ‘๋„) ํ˜•์‹์œผ๋กœ sRGB ์ƒ‰์ƒ์„ ์ง€์ •ํ•˜๋Š” ๋Œ€์ฒด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” hwb() CSS ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • window.open() ๋ฉ”์„œ๋“œ์—์„œ ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ (์ฆ‰, popup=true๊ฐ€ ์•„๋‹Œ ๋‹จ์ˆœํžˆ ํŒ์—…์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ) windowFeatures ์ค„์— ํŒ์—… ์†์„ฑ์„ ์ง€์ •ํ•˜๋ฉด ์ด์ œ ์†Œํ˜• ํŒ์—… ์ฐฝ์„ ์—ด ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค(" popup=true") ๋Œ€์‹  ๊ธฐ๋ณธ๊ฐ’์ธ "false"๋ฅผ ํ• ๋‹นํ–ˆ๋Š”๋ฐ, ์ด๋Š” ๋น„๋…ผ๋ฆฌ์ ์ด๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์˜คํ•ด๋ฅผ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฝ˜ํ…์ธ (์ง€์›๋˜๋Š” ์ฝ”๋ฑ, ํ”„๋กœํ•„, ๋น„ํŠธ ์ „์†ก๋ฅ  ๋ฐ ํ•ด์ƒ๋„)๋ฅผ ๋””์ฝ”๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์น˜ ๋ฐ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” MediaCapability API์— WebRTC ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜ํ–‰ ์ค‘์ธ ๊ฒฐ์ œ ๊ฑฐ๋ž˜์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํ™•์ธ์„ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ณด์•ˆ ๊ฒฐ์ œ ํ™•์ธ API์˜ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—๋Š” ๋ฐ์ดํ„ฐ ์ž…๋ ฅ์ด ํ•„์š”ํ•œ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์ง€์›, ํ™•์ธ ์‹คํŒจ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์•„์ด์ฝ˜ ์ •์˜ ๋ฐ ์„ ํƒ์  payeeName ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ USB ์žฅ์น˜์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „์— ๋ถ€์—ฌํ•œ ๊ถŒํ•œ์„ ์ทจ์†Œํ•˜๊ธฐ ์œ„ํ•ด USBDevice API์— ์žŠ์–ด๋ฒ„๋ฆฌ๊ธฐ() ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ USBConfiguration, USBInterface, USBAlternateInterface ๋ฐ USBEndpoint ์ธ์Šคํ„ด์Šค๋Š” ์ด์ œ ๋™์ผํ•œ USBDevice ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฝ์šฐ ์—„๊ฒฉํ•œ ๋น„๊ต("===", ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ด) ํ•˜์—์„œ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก๋œ ์‚ฌ์šฉ์ž ์ž‘์—…์„ JSON ํ˜•์‹์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(์˜ˆ). ์›น ์ฝ˜์†” ๋ฐ ์ฝ”๋“œ ๋ณด๊ธฐ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ฐœ์ธ ์†์„ฑ์˜ ๊ณ„์‚ฐ ๋ฐ ํ‘œ์‹œ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. HWB ์ƒ‰์ƒ ๋ชจ๋ธ ์ž‘์—…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CSS ํŒจ๋„์—์„œ @layer ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋œ ๊ณ„๋‹จ์‹ ๋ ˆ์ด์–ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํฌ๋กฌ 101 ๋ฆด๋ฆฌ์Šค

ํ˜์‹ ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” 30๊ฐœ์˜ ์ทจ์•ฝ์ ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ๋ฐ AFL ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋กœ ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ˆ˜์ค€์˜ ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์˜ ์ทจ์•ฝ์  ๋ฐœ๊ฒฌ์— ๋Œ€ํ•œ ํ˜„๊ธˆ ๋ณด์ƒ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ 25๋‹ฌ๋Ÿฌ ์ƒ๋‹น์˜ 81๊ฐœ ์ƒ(10000๊ฐœ $7500 ์ƒ, 7000๊ฐœ $6000 ์ƒ, 5000๊ฐœ $2000 ์ƒ, 1000๊ฐœ $500 ์ƒ, 6๊ฐœ $XNUMX ์ƒ, XNUMX๊ฐœ $XNUMX ์ƒ, XNUMX๊ฐœ ์ƒ๊ธˆ)์„ ์ง€๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. $XNUMX ๋ฐ XNUMX๊ฐœ์˜ ์ƒ๊ธˆ $XNUMX). XNUMX๊ฐœ ๋ณด์ƒ์˜ ๊ทœ๋ชจ๋Š” ์•„์ง ๊ฒฐ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€