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

Google ์ œ์‹œ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ฆฌ์Šค ํฌ๋กฌ 75... ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋‹ค. ๋ฌด๋ฃŒ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค Chromium, Chrome์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค. ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ๋‹ค๋ฅธ Google ๋กœ๊ณ  ์‚ฌ์šฉ, ์š”์ฒญ ์‹œ ํ”Œ๋ž˜์‹œ ๋ชจ๋“ˆ ๋กœ๋“œ ๊ธฐ๋Šฅ, ์ถฉ๋Œ ์‹œ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ์‹œ์Šคํ…œ์˜ ์กด์žฌ, ๋ณดํ˜ธ๋œ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ (DRM) ์žฌ์ƒ ๋ชจ๋“ˆ, ์ž๋™ ์—…๋ฐ์ดํŠธ ์‹œ์Šคํ…œ ๋ฐ ๊ฒ€์ƒ‰ ์‹œ ์ „์†ก RLZ ๋งค๊ฐœ๋ณ€์ˆ˜. Chrome 76์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 30์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ะฒ ํฌ๋กฌ 75:

  • canvas.getContext() ๋ฉ”์„œ๋“œ๋กœ ์ถ”๊ฐ€ ์ผ๋ฐ˜ DOM ์—…๋ฐ์ดํŠธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์šฐํšŒํ•˜๊ณ  OpenGL์„ ํ†ตํ•ด ์ง์ ‘ ์ถœ๋ ฅํ•จ์œผ๋กœ์จ ์ตœ์†Œํ•œ์˜ ์ง€์—ฐ์„ ์ œ๊ณตํ•˜๋Š” ๋Œ€์ฒด ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ Canvas ์ปจํ…์ŠคํŠธ(2D ๋˜๋Š” WebGL)๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ "๋น„๋™๊ธฐํ™”" ํ”Œ๋ž˜๊ทธ
  • ํ™•์žฅ API ์›น ๊ณต์œ  (๊ฐœ์ฒด navigator.share) ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ณ„ ๋ฒ„ํŠผ ๋ชฉ๋ก ๋Œ€์‹  ๋ฐฉ๋ฌธ์ž์™€ ๊ด€๋ จ๋œ ์†Œ์…œ ๋„คํŠธ์›Œํฌ์— ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•œ ํ†ตํ•ฉ ๋ฒ„ํŠผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ์ถ”๊ฐ€ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ(์˜ˆ: Android์—์„œ๋Š” ๋ฉ”์ผ, ๋ธ”๋ฃจํˆฌ์Šค ๋“ฑ์„ ํ†ตํ•ด ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋ธ”๋ก์ด ํ‘œ์‹œ๋จ)
  • ๊ตฌํ˜„ ๋ฐ‘์ค„ ๋ฌธ์ž๋กœ ๋””์ง€ํ„ธ ๋ฆฌํ„ฐ๋Ÿด์˜ ์ˆซ์ž ๊ทธ๋ฃน์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ๋Šฅ. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ”๋“œ์—์„œ ํฐ ์ˆซ์ž์˜ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด 1_000_000_000์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ์ˆซ์ž๋Š” 1000000000์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋ฐ์Šคํฌํ†ฑ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋จ ์—„๊ฒฉํ•œ ์‚ฌ์ดํŠธ ๊ฒฉ๋ฆฌ ๋ชจ๋“œ, ์„œ๋กœ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์˜ ํŽ˜์ด์ง€๋Š” ํ•ญ์ƒ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์œผ๋ฉฐ ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์ฒด ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๊ฒฉ๋ฆฌ ๋ชจ๋“œ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ํƒญ์ด ์•„๋‹Œ ๋„๋ฉ”์ธ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „์— ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ๋กœ๋“œ๋œ ์Šคํฌ๋ฆฝํŠธ, iframe ๋ฐ ํŒ์—…์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ๊ธฐ๋ณธ ์‚ฌ์ดํŠธ์™€ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋˜์—ˆ๋‹ค๋ฉด ์ด์ œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๋ถ„๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€๋œ ์• ๋“œ์˜จ์€ ์ด์ œ ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š๊ณ  ์™„์ „ํžˆ ์ œ๊ฑฐ๋˜์–ด ๋น„ํ™œ์„ฑ ๋ชจ๋“œ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • ๋‚ด์žฅ๋œ Chrome ์ž‘์—… ๊ด€๋ฆฌ์ž์—์„œ(์„ค์ • > ๋„๊ตฌ ๋”๋ณด๊ธฐ > ์ž‘์—… ๊ด€๋ฆฌ์ž) ํ™•๋ณด ์„œ๋น„์Šค ์ž‘์—…์ž ํ‘œ์‹œ
  • "์— "window.open()" ์†์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.๋ฐฐ์‹ฌ์›", Referer ํ—ค๋”๋ฅผ ์ฑ„์šฐ์ง€ ์•Š๊ณ  ํŽ˜์ด์ง€๋ฅผ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋จ ์ง€์‹œ์–ด CSP (์ฝ˜ํ…์ธ  ๋ณด์•ˆ ์ •์ฑ…) "script-src-attr", "script-src-elem", "style-src-attr" ๋ฐ "style-src-elem"์€ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์Šคํƒ€์ผ ์ง€์‹œ๋ฌธ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๊ฐœ๋ณ„ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ, ์š”์†Œ ๋˜๋Š” ํŠน์„ฑ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ์ธ์ฆ API์—์„œ ์ถ”๊ฐ€ ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ํ‚ค๋กœ ์ž‘์—…์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์ •์˜ PIN์„ ์‚ฌ์šฉํ•˜๋Š” FIDO CTAP2 PIN ์ง€์› FIDO CTAP2. ๊ตฌ์„ฑ๊ธฐ์˜ "๊ณ ๊ธ‰" ์„น์…˜์— "๋ณด์•ˆ ํ‚ค ๊ด€๋ฆฌ" ํ•ญ๋ชฉ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ด ํ•ญ๋ชฉ์—์„œ USB ๋“œ๋ผ์ด๋ธŒ์— ์žˆ๋Š” ํ‚ค๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด PIN ์ฝ”๋“œ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ํ‚ค๋ฅผ ์žฌ์„ค์ •ํ•˜๋Š” ์˜ต์…˜(๋ชจ๋‘ ์ง€์šฐ๊ธฐ)์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฐ PIN);
  • Web Animations API์— ์ถ”๊ฐ€๋œ ๊ฐœ์ฒด
    AnimationEffect ๋ฐ KeyframeEffect, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์š”์†Œ ๋ฐ ํƒ€์ด๋ฐ(์ง€์† ์‹œ๊ฐ„, ์ง€์—ฐ)์„ ๋Œ€ํ™”์‹์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋˜ํ•œ ์ƒˆ๋กœ์šด ์ƒ์„ฑ์ž๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ๊ธฐ(), ๋ณด๋‹ค ๊ด‘๋ฒ”์œ„ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” Web Animations API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ ๊ตฌ์„ฑ๋œ Animation ๊ฐœ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” Element.animate() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฐœ๋ฐœ์ž๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด KeyframeEffect ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…์‹œ์  ์ƒ์„ฑ์ž ํ˜ธ์ถœ์„ ํ†ตํ•ด ์ƒ์„ฑ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ถ”๊ฐ€๋œ ์˜ต์…˜ HTMLVideoElement.playsInline์š”์†Œ์˜ ์žฌ์ƒ ์˜์—ญ์— ๋น„๋””์˜ค๋ฅผ ํ‘œ์‹œํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์ง€์‹œํ•˜๋Š” A(์˜ˆ: ์ „์ฒด ํ™”๋ฉด ์žฌ์ƒ ๋ฐฉ๋ฒ• ์ œ๊ณต)
  • MediaStreamTrack.getCapabilities() ๋ฉ”์„œ๋“œ๋Š” ์˜ค๋””์˜ค ์žฅ์น˜์™€ ๊ด€๋ จ๋œ ์†์„ฑ(์ƒ˜ํ”Œ๋ง ์†๋„, ์ง€์—ฐ, ์ฑ„๋„ ์ˆ˜ ๋“ฑ)์˜ ์œ ํšจํ•œ ๊ฐ’ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • WebRTC์— ์ถ”๊ฐ€๋œ API RTCDtls์ „์†ก RTP ๋ฐ RTCP ํŒจํ‚ท์ด ์†ก์ˆ˜์‹ ๋˜๋Š” SCTP ๋˜๋Š” DTLS(Datagram Transport Layer Security) ์‚ฌ์šฉ๊ณผ ๊ฐ™์€ ํ™œ์„ฑ ์ „์†ก์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด. ๋˜ํ•œ ์ „์†ก ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐํŽ˜์ด์Šค RTCIceTransport๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    RTCPeerConnection ๊ฐ์ฒด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ICE;

  • Cache-Control ํ—ค๋”๋Š” "๋ถ€์‹ค ์žฌ๊ฒ€์ฆ", ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋น„๋™๊ธฐ ์žฌํ™•์ธ ์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์‹œ๊ฐ„ ์ฐฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Šฅ๋ ฅ ์ถ”๊ฐ€ ๊ด€์„ฑ ์Šคํฌ๋กค ์ค‘์— ์š”์†Œ์— ๋Œ€ํ•œ ๋ฐ”์ธ๋”ฉ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด Snap Stop ์Šคํฌ๋กค(์˜ˆ: ์ด๋ฏธ์ง€ ๋ชฉ๋ก์—์„œ ์„ ํƒํ•  ๋•Œ ๋„“์€ ์Šคํฌ๋กค ์ œ์Šค์ฒ˜๋Š” ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ค์Œ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋จ)
  • Android ๋ฒ„์ „์—์„œ ์ธ์ฆ ์–‘์‹์˜ ์ž๋™ ์ฑ„์šฐ๊ธฐ ๊ณ„์ • ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํˆดํŒ ๋ธ”๋ก์€ ์ด์ œ ์˜จ์Šคํฌ๋ฆฐ ํ‚ค๋ณด๋“œ ๋ฐ”๋กœ ์œ„์— ํ‘œ์‹œ๋˜๋ฉฐ ํด๋ฆญํ•˜๋ฉด ์ž…๋ ฅ ์–‘์‹์„ ๊ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ์˜จ์Šคํฌ๋ฆฐ ํ‚ค๋ณด๋“œ ๋Œ€์‹  ๊ฐ€๋Šฅํ•œ ์ €์žฅ๋œ ์˜ต์…˜์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฆฌ๋” ๋ชจ๋“œ์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋˜๋ฉด ์˜๋ฏธ ์žˆ๋Š” ํ…์ŠคํŠธ๋งŒ ํ‘œ์‹œ๋˜๊ณ  ๋ชจ๋“  ๊ด€๋ จ ์ปจํŠธ๋กค, ๋ฐฐ๋„ˆ, ๋ฉ”๋‰ด, ํƒ์ƒ‰ ๋ชจ์Œ ๋ฐ ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ ์™€ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ๊ธฐํƒ€ ๋ถ€๋ถ„์ด ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. ์ƒˆ ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด chrome://flags/#enable-reader-mode ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์— ์‚ฌ์šฉ ํ•ญ๋ชฉ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • V8 JavaScript ์—”์ง„์€ WebAssembly ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ์˜ ๋ช…์‹œ์  ์บ์‹ฑ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค(ํŽ˜์ด์ง€๊ฐ€ ๋‹ค์‹œ ์—ด๋ฆฌ๋ฉด ์ด์ „์— ์ฒ˜๋ฆฌ๋œ WebAssembly ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์บ์‹œ์—์„œ ์‹œ์ž‘๋จ). ์•ˆ์—
    WebAssembly๋Š” ๋˜ํ•œ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋ณต์‚ฌ, ์ฑ„์šฐ๊ธฐ ๋ฐ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด memory.copy, memory.fill, table.copy, memory.init ๋ฐ table.init ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ Chrome ์Šค๋ ˆ๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ์ฆ‰์‹œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง์ ‘ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ ์ฒ˜์Œ ์ˆ˜์‹ ๋˜์—ˆ์œผ๋ฉฐ ์—ฌ๊ธฐ์—์„œ ํŒŒ์„œ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฐ์—ด์€ ๋ฆฌ๋””๋ ‰์…˜์ด HTML ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฐ ๋‹ค๋ฅธ JavaScript ์‹คํ–‰๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ๋‹ค๋ฅธ ์ž‘์—…์— ์˜ํ•ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด๋Ÿฌํ•œ ๋ฆฌ๋””๋ ‰์…˜์ด ํ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋„๊ตฌ ๊ฐœ์„  ์‚ฌํ•ญ:
    • CSS ๊ฒ€์‚ฌ ๋ชจ๋“œ๋Š” CSS ์†์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์˜ ์ด๋ฆ„๊ณผ ๊ธฐ๋ณธ ๊ฐ’(์˜ˆ: "filter: blur(1px)")์— ๋Œ€ํ•œ ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ๊ฐ’์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ์— ์ฆ‰์‹œ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
      ํฌ๋กฌ 75 ๋ฆด๋ฆฌ์Šค

    • Ctrl+Shift+P๋ฅผ ๋ˆ„๋ฅผ ๋•Œ ํ‘œ์‹œ๋˜๋Š” ๋ช…๋ น ํŒจ๋„์€ ์„œ๋น„์Šค ์ž‘์—…์ž, localStorage, sessionStorage, IndexedDB, Web์„ ํฌํ•จํ•˜์—ฌ ํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๋Š” "Clear Site Data" ๋ช…๋ น์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค(Application > Clear Storage ๋ฉ”๋‰ด ํ˜ธ์ถœ๊ณผ ์œ ์‚ฌ). SQL, ์ฟ ํ‚ค, ์บ์‹œ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์บ์‹œ
    • ๋ชจ๋“  ๊ธฐ์กด IndexedDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์ด์ „์—๋Š” Application > IndexedDB์—์„œ ํ˜„์žฌ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด iframe์„ ํ†ตํ•ด ๋กœ๋“œ๋œ ๋ธ”๋ก์—์„œ IndexedDB์˜ ์‚ฌ์šฉ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค).

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

    • ๋„คํŠธ์›Œํฌ ๊ฒ€์‚ฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ "ํฌ๊ธฐ" ์—ด์˜ ํ•„๋“œ ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐˆ ๋•Œ ํŒ์—…๋˜๋Š” ํˆดํŒ์€ ์ด์ œ ๋ฆฌ์†Œ์Šค ํฌ๊ธฐ๋ฅผ ์••์ถ•ํ•˜์ง€ ์•Š๊ณ  ์›๋ž˜ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

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

    • ๋””๋ฒ„๊ฑฐ ์‚ฌ์ด๋“œ๋ฐ”๋Š” ํ•œ ์ค„(์ธ๋ผ์ธ ์ค‘๋‹จ์ )์— ์žˆ๋Š” ๋ณต์žกํ•œ ์‹์˜ ๊ฐœ๋ณ„ ๋ถ€๋ถ„๊ณผ ์—ฐ๊ฒฐ๋œ ์ค‘๋‹จ์  ์ƒํƒœ์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ์ •๋ณด ์ถœ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ฒด์ธ์— ์„ค์ •๋œ ์ค‘๋‹จ์ ).

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

    • IndexedDB ๋ฐ ์บ์‹œ ๊ฒ€์‚ฌ ํŒจ๋„์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ์บ์‹œ์˜ ์ด ๋ฆฌ์†Œ์Šค ์ˆ˜ ์นด์šดํ„ฐ ํ‘œ์‹œ๊ฐ€ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
      ํฌ๋กฌ 75 ๋ฆด๋ฆฌ์Šค

  • ์‹คํ—˜์ ์ธ Canary ๋นŒ๋“œ๋กœ ์ถ”๊ฐ€ ์ง€์›
    chrome://flags#dns-over-https์—์„œ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” DNS over HTTPS(DoH, DNS over HTTPS)์— ๋Œ€ํ•œ ์•ก์„ธ์Šค. DoH๋Š” ๊ณต๊ธ‰์ž์˜ DNS ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์š”์ฒญ๋œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์— ๋Œ€ํ•œ ์ •๋ณด ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ณ , MITM ๊ณต๊ฒฉ ๋ฐ DNS ํŠธ๋ž˜ํ”ฝ ์Šคํ‘ธํ•‘์„ ๋ฐฉ์ง€ํ•˜๊ณ , DNS ์ˆ˜์ค€์—์„œ ์ฐจ๋‹จ์— ์ €ํ•ญํ•˜๊ฑฐ๋‚˜, DNS ์„œ๋ฒ„์— ์ง์ ‘ ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ž‘์—…ํ•  ๋•Œ)

ํ˜์‹  ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์€ ๋‹ค์Œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. 42๊ฐœ์˜ ์ทจ์•ฝ์ . ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์˜ ๊ฒฐ๊ณผ๋กœ ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์†Œ์„ธ๋‹ˆํƒ€์ด์ €, ๋ฉ”๋ชจ๋ฆฌ์„ธ๋‹ˆํƒ€์ด์ €, ์ œ์–ด ํ๋ฆ„ ๋ฌด๊ฒฐ์„ฑ, LibFuzzer ะธ AFL. ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ ์ˆ˜์ค€์„ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ Vulnerability Bounty ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ $13 ์ƒ๋‹น์˜ 9000๊ฐœ ๋ณด๋„ˆ์Šค($5000 ๋ณด๋„ˆ์Šค 1000๊ฐœ, $500 ๋ณด๋„ˆ์Šค 7๊ฐœ, $XNUMX ๋ณด๋„ˆ์Šค XNUMX๊ฐœ)๋ฅผ ์ง€๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ฐœ์˜ ๋ณด์ƒ ๊ธˆ์•ก์€ ์•„์ง ๊ฒฐ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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