--- id: P-REINFORCE-AUTO-C3F189 category: "10_Wiki/πŸ’‘ Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - SharedArrayBuffer λ³΄μ•ˆ μ΄μŠˆμ™€ Cross-Origin Isolation" --- # [[SharedArrayBuffer 보ᄋᅑᆫ 아슈ᄋα…ͺ Cross-Origin Isolation|SharedArrayBuffer λ³΄μ•ˆ μ΄μŠˆμ™€ Cross-Origin Isolation]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > `SharedArrayBuffer`λŠ” μŠ€νŽ™ν„°(Spectre)와 같은 CPU 취약점을 μ•…μš©ν•œ 타이밍 곡격(Timing Attack)의 μœ„ν—˜μ΄ μžˆμ–΄ λΈŒλΌμš°μ €μ—μ„œ μ‚¬μš©μ΄ μ œν•œλ˜λ©°, 이λ₯Ό λ‹€μ‹œ ν™œμ„±ν™”ν•˜λ €λ©΄ μ›Ή μ„œλ²„μ— **Cross-Origin Isolation(ꡐ차 좜처 격리) λ³΄μ•ˆ 헀더**λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ„€μ •ν•˜μ—¬ μ•ˆμ „ν•œ ν™˜κ²½μ„ ꡬ좕해야 ν•©λ‹ˆλ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **1. λ³΄μ•ˆ 이슈의 λ°°κ²½: μŠ€νŽ™ν„°(Spectre) 취약점** `SharedArrayBuffer`λŠ” 두 μŠ€λ ˆλ“œκ°€ λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•˜λ©΄μ„œ 맀우 μ •λ°€ν•œ 고해상도 타이머λ₯Ό λ§Œλ“€ 수 있게 ν•΄μ€λ‹ˆλ‹€. 해컀듀은 이λ₯Ό μ•…μš©ν•˜μ—¬ μ΅œμ‹  CPU의 예츑 μ‹€ν–‰(Speculative Execution) κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” λ―Έμ„Έν•œ μ‹œκ°„ 차이λ₯Ό μΈ‘μ •ν•˜κ³ , 결과적으둜 같은 λΈŒλΌμš°μ € ν”„λ‘œμ„ΈμŠ€ 내에 λ‘œλ“œλœ λ‹€λ₯Έ μ‚¬μ΄νŠΈμ˜ λΉ„λ°€λ²ˆν˜Έ λ“± **λ―Όκ°ν•œ λ©”λͺ¨λ¦¬ 데이터λ₯Ό νƒˆμ·¨ν•˜λŠ” μŠ€νŽ™ν„°(Spectre) 취약점**을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 이 치λͺ…적인 λ³΄μ•ˆ 결함 λ•Œλ¬Έμ— λΈŒλΌμš°μ € 벀더듀은 2018λ…„κ²½ 이 κΈ°λŠ₯을 일괄 λΉ„ν™œμ„±ν™”ν–ˆμŠ΅λ‹ˆλ‹€. **2. Cross-Origin Isolation (ꡐ차 좜처 격리) λ„μž…** 이후 λΈŒλΌμš°μ €λ“€μ€ λ©€ν‹°μŠ€λ ˆλ”©μ˜ μ„±λŠ₯적 이점을 포기할 수 μ—†μ—ˆκΈ°μ—, ν˜„μž¬ μ‹€ν–‰ 쀑인 μ›Ή νŽ˜μ΄μ§€κ°€ μ‹ λ’°ν•  수 μ—†λŠ” μ™ΈλΆ€μ˜ λ‹€λ₯Έ μ‚¬μ΄νŠΈ(Origin) λ¦¬μ†ŒμŠ€μ™€ μ² μ €νžˆ λΆ„λ¦¬λœ μ•ˆμ „ν•œ ν™˜κ²½μ—μ„œλ§Œ `SharedArrayBuffer`λ₯Ό λ‹€μ‹œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 정책을 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 이 격리된 ν™˜κ²½μ„ **'Cross-Origin Isolated'** μƒνƒœλΌκ³  λΆ€λ¦…λ‹ˆλ‹€. **3. COOP 및 COEP HTTP 헀더 섀정법** μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ `SharedArrayBuffer`λ₯Ό ν™œμ„±ν™”ν•˜λ €λ©΄, μ„œλ²„ μΈ‘(Nginx, Apache, Node.js Express, Vercel, AWS CloudFront λ“±)μ—μ„œ HTML λ¬Έμ„œλ₯Ό 응닡할 λ•Œ λ°˜λ“œμ‹œ λ‹€μŒ **두 κ°€μ§€ HTTP λ³΄μ•ˆ 헀더**λ₯Ό 내렀보내야 ν•©λ‹ˆλ‹€. - **`Cross-Origin-Opener-Policy: same-origin` (COOP):** ν˜„μž¬ λ¬Έμ„œμ™€ λ‹€λ₯Έ 좜처λ₯Ό κ°€μ§„ νŒμ—…μ°½μ΄λ‚˜ μ™ΈλΆ€ λ¬Έμ„œκ°€ μ„œλ‘œμ˜ `window` 객체에 μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 λΈŒλΌμš°μ§• μ‹€ν–‰ μ»¨ν…μŠ€νŠΈλ₯Ό λΆ„λ¦¬ν•©λ‹ˆλ‹€. - **`Cross-Origin-Embedder-Policy: require-corp` (COEP):** λͺ…μ‹œμ μœΌλ‘œ μŠΉμΈλ°›μ§€ μ•Šμ€ λ‹€λ₯Έ 좜처의 λ¦¬μ†ŒμŠ€(μ™ΈλΆ€ 이미지, 슀크립트, iframe λ“±)κ°€ ν˜„μž¬ νŽ˜μ΄μ§€μ— μž„λ² λ“œλ˜λŠ” 것을 μ›μ²œμ μœΌλ‘œ μ°¨λ‹¨ν•©λ‹ˆλ‹€. **4. μ„€μ • μ‹œ λ°œμƒν•  수 μžˆλŠ” μ‚¬μ΄λ“œ μ΄νŽ™νŠΈ 및 μ£Όμ˜μ‚¬ν•­** μœ„ 헀더λ₯Ό μ μš©ν•˜μ—¬ κ³ μ„±λŠ₯ ν™˜κ²½μ„ μ–»λŠ” λŒ€μ‹ , λ³΄μ•ˆ 격리가 λ„ˆλ¬΄ μ—„κ²©ν•΄μ Έμ„œ **기쑴에 잘 μž‘λ™ν•˜λ˜ μ™ΈλΆ€ CDN μŠ€ν¬λ¦½νŠΈλ‚˜ μ™ΈλΆ€ 이미지 등이 μ°¨λ‹¨λ˜λŠ” 문제**κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ™ΈλΆ€ λ¦¬μ†ŒμŠ€λ₯Ό μ œκ³΅ν•˜λŠ” μ„œλ²„ μΈ‘μ—μ„œ `Cross-Origin-Resource-Policy: cross-origin` (CORP) ν—€λ”λ‚˜ μ μ ˆν•œ CORS μ„€μ •(`Access-Control-Allow-Origin`)을 μ œκ³΅ν•΄μ•Ό ν•˜λ©°, ν΄λΌμ΄μ–ΈνŠΈμ˜ HTML νƒœκ·Έμ—λ„ ``와 같이 λͺ…μ‹œμ μΈ 속성을 μΆ”κ°€ν•΄ μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** Spectre & Meltdown 취약점, CORS (Cross-Origin Resource Sharing), HTTP Security Headers (COOP, COEP, CORP), Web Worker λ©€ν‹°μŠ€λ ˆλ”© 톡신 - **Projects/Contexts:** λ³΄μ•ˆ 격리 ν™˜κ²½μ—μ„œμ˜ κ³ μ„±λŠ₯ μ›Ή κ²Œμž„ 개발, λ©€ν‹°μŠ€λ ˆλ“œ 기반 λ Œλ”λ§ νŒŒμ΄ν”„λΌμΈ(React Three Fiber) - **Contradictions/Notes:** 둜컬 개발 ν™˜κ²½(`localhost` λ˜λŠ” `127.0.0.1`)μ—μ„œλŠ” 개발 νŽΈμ˜μƒ Cross-Origin Isolation 헀더 없이도 `SharedArrayBuffer`κ°€ μž„μ‹œλ‘œ λ™μž‘ν•  수 μžˆμœΌλ‚˜, μ‹€μ œ ν”„λ‘œλ•μ…˜(HTTPS ν™˜κ²½)에 배포할 λ•ŒλŠ” λ°˜λ“œμ‹œ 헀더 섀정이 ν•„μš”ν•©λ‹ˆλ‹€. --- _Last updated: 2026-04-14_ - Raw Source: 00_Raw/2026-04-20/SharedArrayBuffer λ³΄μ•ˆ μ΄μŠˆμ™€ Cross-Origin Isolation.md ---