QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

Qubes ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ Habrรฉ ๊ด€๋ จ ๊ธฐ์‚ฌ๋Š” ๋งŽ์ง€ ์•Š์œผ๋ฉฐ, ๋‚ด๊ฐ€ ๋ณธ ๊ธฐ์‚ฌ์—์„œ๋Š” ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ๋งŽ์ด ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปท ์•„๋ž˜์—์„œ๋Š” Windows ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ์ˆ˜๋‹จ์œผ๋กœ Qubes๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋™์‹œ์— ๋Ÿฌ์‹œ์•„์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

์™œ ํ๋ธŒ์Šค์ธ๊ฐ€?

Windows 7์— ๋Œ€ํ•œ ๊ธฐ์ˆ  ์ง€์› ์ข…๋ฃŒ์™€ ์‚ฌ์šฉ์ž์˜ ๋ถˆ์•ˆ ์ฆ๊ฐ€๋กœ ์ธํ•ด ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์—ฌ ์ด OS์˜ ์ž‘์—…์„ ๊ตฌ์„ฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋ฐ์ดํŠธ ๋ฐ ๋‹ค์–‘ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(์ธํ„ฐ๋„ท ํฌํ•จ)์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์™„์ „ํžˆ ํ™œ์„ฑํ™”๋œ Windows 7์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์กฐ๊ฑด(์ž์œจ ์šด์˜ ๋ฐ ํŠธ๋ž˜ํ”ฝ ํ•„ํ„ฐ๋ง ๋ชจ๋“œ)์— ๋”ฐ๋ผ ๋„คํŠธ์›Œํฌ ์ƒํ˜ธ ์ž‘์šฉ์„ ์™„์ „ํžˆ ๋˜๋Š” ์„ ํƒ์ ์œผ๋กœ ์ œ์™ธํ•˜๋„๋ก ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋™์‹ ๋ฏธ๋””์–ด์™€ ์žฅ์น˜๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ์ œํ•œ ์„ธํŠธ๋Š” ๋…๋ฆฝ์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ํ—ˆ์šฉ๋˜๊ณ  ์ œํ•œ์ด ์ž ์žฌ์ ์ธ ํ™œ๋™์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜๋‚˜ ํŒŒ๊ดด์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ํšจ๊ณผ๋ฅผ ๋ฐฐ์ œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช…ํ™•ํ•˜๊ฒŒ ์ค€๋น„๋œ ์‚ฌ์šฉ์ž๋ฅผ ์ „์ œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ๋ชจ๋ธ์—๋Š” ๋‚ด๋ถ€ ๋ฒ”์ฃ„์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜์„ ์ฐพ์„ ๋•Œ ๊ธฐ๋ณธ ์ œ๊ณต ๋˜๋Š” ์ถ”๊ฐ€ Windows ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œํ•œ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ์•„์ด๋””์–ด๋ฅผ ๋นจ๋ฆฌ ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ œํ•œํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ์†”๋ฃจ์…˜์€ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฉ๋ฆฌ์˜€์Šต๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ๊ฐ€์ƒํ™”๋ฅผ ์œ„ํ•œ ์ž˜ ์•Œ๋ ค์ง„ ๋„๊ตฌ(์˜ˆ: virtualbox)๋Š” ๋ณด์•ˆ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋‚˜์—ด๋œ ์ œํ•œ ์‚ฌํ•ญ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒŒ์ŠคํŠธ ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์†์„ฑ์„ ์ง€์†์ ์œผ๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜ ์กฐ์ •ํ•˜์—ฌ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ดํ•˜ ์ฐธ์กฐ). VM์œผ๋กœ) ์˜ค๋ฅ˜ ์œ„ํ—˜์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋™์‹œ์— ์šฐ๋ฆฌ๋Š” Qubes๋ฅผ ์‚ฌ์šฉ์ž์˜ ๋ฐ์Šคํฌํ†ฑ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ์—ˆ์ง€๋งŒ ๊ฒŒ์ŠคํŠธ Windows์—์„œ ์ž‘์—…ํ•˜๋Š” ์•ˆ์ •์„ฑ์— ๋Œ€ํ•ด ์˜๊ตฌ์‹ฌ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๋ช…์‹œ๋œ ์ œํ•œ ์‚ฌํ•ญ์ด ์ด ์‹œ์Šคํ…œ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„, ํŠนํžˆ ๊ฐ€์ƒ ๋จธ์‹  ํ…œํ”Œ๋ฆฟ ๊ตฌํ˜„ ๋ฐ ์‹œ๊ฐ์  ํ†ตํ•ฉ์— ๋งค์šฐ ์ž˜ ๋“ค์–ด๋งž๊ธฐ ๋•Œ๋ฌธ์— Qubes์˜ ํ˜„์žฌ ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด Qubes์˜ ์•„์ด๋””์–ด์™€ ๋„๊ตฌ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Xen ๊ฐ€์ƒํ™” ์œ ํ˜•

Qubes๋Š” ํ”„๋กœ์„ธ์„œ ๋ฆฌ์†Œ์Šค, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๊ฐ€์ƒ ๋จธ์‹  ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ตœ์†Œํ™”ํ•˜๋Š” Xen ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์น˜์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ž‘์—…์€ Linux ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” dom0์— ์ง‘์ค‘๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(dom0์šฉ Qubes๋Š” Fedora ๋ฐฐํฌํŒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค).

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

Xen์€ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๊ฐ€์ƒํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(Xen์€ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜๋„ ์ง€์›ํ•˜์ง€๋งŒ Intel ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ์ œ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค).

  • ๋ฐ˜๊ฐ€์ƒํ™”(PV) - ์ปจํ…Œ์ด๋„ˆ ๊ฐ€์ƒํ™”๋ฅผ ์—ฐ์ƒ์‹œํ‚ค๋Š” ํ•˜๋“œ์›จ์–ด ์ง€์›์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ€์ƒํ™” ๋ชจ๋“œ๋Š” ์กฐ์ •๋œ ์ปค๋„์ด ์žˆ๋Š” ์‹œ์Šคํ…œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(dom0์€ ์ด ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•จ).
  • ์ „์ฒด ๊ฐ€์ƒํ™”(HVM) - ์ด ๋ชจ๋“œ์—์„œ๋Š” ํ•˜๋“œ์›จ์–ด ์ง€์›์ด ํ”„๋กœ์„ธ์„œ ๋ฆฌ์†Œ์Šค์— ์‚ฌ์šฉ๋˜๋ฉฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์žฅ๋น„๋Š” QEMU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—๋ฎฌ๋ ˆ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด ๋ฐ˜๊ฐ€์ƒํ™”(PVH - ParaVirtualized Hardware) - ํ•˜๋“œ์›จ์–ด ์ž‘์—…์„ ์œ„ํ•ด ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ์ปค๋„์ด ํ•˜์ดํผ๋ฐ”์ด์ € ๊ธฐ๋Šฅ(์˜ˆ: ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ)์— ์ ํ•ฉํ•œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ QEMU ์—๋ฎฌ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ•˜๋“œ์›จ์–ด ์ง€์›์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒํ™” ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. I/O ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. 4.11๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” Linux ์ปค๋„์€ ์ด ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

Qubes 4.0๋ถ€ํ„ฐ๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋ฐ˜๊ฐ€์ƒํ™” ๋ชจ๋“œ ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋˜๊ณ (์ „์ฒด ๊ฐ€์ƒํ™” ์‚ฌ์šฉ์œผ๋กœ ๋ถ€๋ถ„์ ์œผ๋กœ ์™„ํ™”๋˜๋Š” Intel ์•„ํ‚คํ…์ฒ˜์˜ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์  ํฌํ•จ) PVH ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์—๋ฎฌ๋ ˆ์ด์…˜(HVM ๋ชจ๋“œ)์„ ์‚ฌ์šฉํ•  ๋•Œ QEMU๋Š” stubdomain์ด๋ผ๋Š” ๊ฒฉ๋ฆฌ๋œ VM์—์„œ ์‹œ์ž‘๋˜๋ฏ€๋กœ ๊ตฌํ˜„ ์‹œ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ์•…์šฉํ•  ์œ„ํ—˜์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค(QEMU ํ”„๋กœ์ ํŠธ์—๋Š” ํ˜ธํ™˜์„ฑ์„ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค).
์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” Windows์—์„œ ์ด ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ฐ€์ƒ ๋จธ์‹ 

Qubes ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜์—์„œ ํ•˜์ดํผ๋ฐ”์ด์ €์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” PCI ์žฅ์น˜๋ฅผ ๊ฒŒ์ŠคํŠธ ํ™˜๊ฒฝ์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ์ œ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์˜ ํ˜ธ์ŠคํŠธ ๋ถ€๋ถ„์„ ์™ธ๋ถ€ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Xen์€ PV ๋ฐ HVM ๋ชจ๋“œ์— ๋Œ€ํ•ด ์ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋‘ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์ƒํ™”๋œ ์žฅ์น˜์— ๋Œ€ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ธ IOMMU(Intel VT-d)์— ๋Œ€ํ•œ ์ง€์›์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ ๊ฐ€์ƒ ๋จธ์‹ ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ ์žฅ์น˜๊ฐ€ ์ „์†ก๋˜๊ณ  ๋‹ค๋ฅธ VM(์˜ˆ: ๋ฐฉํ™”๋ฒฝ ๋˜๋Š” VPN ํด๋ผ์ด์–ธํŠธ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” VM)์— ๋Œ€ํ•œ ๋ธŒ๋ฆฌ์ง€๋กœ ์‚ฌ์šฉ๋˜๋Š” sys-net
  • USB ๋ฐ ๊ธฐํƒ€ ์ฃผ๋ณ€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ „์†ก๋˜๋Š” sys-usb;
  • ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ์—ฐ๊ฒฐ๋œ VM์— ๋Œ€ํ•œ ๋ฐฉํ™”๋ฒฝ ์—ญํ• ์„ ํ•˜๋Š” sys-firewall์ž…๋‹ˆ๋‹ค.

USB ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋ก์‹œ ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • HID(ํœด๋จผ ์ธํ„ฐํŽ˜์ด์Šค ์žฅ์น˜) ์žฅ์น˜ ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ dom0์— ๋ช…๋ น์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ์ด๋™์‹ ๋ฏธ๋””์–ด์˜ ๊ฒฝ์šฐ ์žฅ์น˜ ๋ณผ๋ฅจ์„ ๋‹ค๋ฅธ VM์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜(dom0 ์ œ์™ธ)
  • USB ์žฅ์น˜๋กœ ์ง์ ‘ ๋ฆฌ๋””๋ ‰์…˜(USBIP ๋ฐ ํ†ตํ•ฉ ๋„๊ตฌ ์‚ฌ์šฉ)

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์—์„œ ๋„คํŠธ์›Œํฌ ์Šคํƒ์ด๋‚˜ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋ฅผ ํ†ตํ•œ ์„ฑ๊ณต์ ์ธ ๊ณต๊ฒฉ์€ ์ „์ฒด ์‹œ์Šคํ…œ์ด ์•„๋‹Œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค VM๋งŒ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋น„์Šค VM์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์›๋ž˜ ์ƒํƒœ๋กœ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

VM ํ†ตํ•ฉ ๋„๊ตฌ

๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ƒํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค๋ฅผ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋“ฑ ๊ฐ€์ƒ ๋จธ์‹ ์˜ ๋ฐ์Šคํฌํƒ‘๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์–‘ํ•œ ๋ฒ”์šฉ ์›๊ฒฉ ์•ก์„ธ์Šค ๋„๊ตฌ(RDP, VNC, Spice ๋“ฑ)์ด๊ฑฐ๋‚˜ ํŠน์ • ํ•˜์ดํผ๋ฐ”์ด์ €์— ๋งž๊ฒŒ ์กฐ์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋Ÿฌํ•œ ๋„๊ตฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒŒ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ผ๊ณ  ํ•จ). ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ I/O๋ฅผ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ  ์™ธ๋ถ€์ ์œผ๋กœ Spice์™€ ๊ฐ™์ด I/O๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ ํ˜ผํ•ฉ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์›๊ฒฉ ์•ก์„ธ์Šค ๋„๊ตฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ์ž‘์—…์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

Qubes๋Š” VM ํ†ตํ•ฉ์„ ์œ„ํ•œ ์ž์ฒด ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ , ์ด๊ฒƒ์€ ๊ทธ๋ž˜ํ”ฝ ํ•˜์œ„ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ VM์˜ ์ฐฝ์ด ๊ณ ์œ ํ•œ ์ƒ‰์ƒ ํ”„๋ ˆ์ž„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ๋ฐ์Šคํฌํƒ‘์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ตํ•ฉ ๋„๊ตฌ๋Š” ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ(Xen ๋ถ€์—ฌ ํ…Œ์ด๋ธ”), ์•Œ๋ฆผ ๋„๊ตฌ(Xen ์ด๋ฒคํŠธ ์ฑ„๋„), ๊ณต์œ  ์ €์žฅ์†Œ xenstore ๋ฐ vchan ํ†ต์‹  ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ํ•˜์ดํผ๋ฐ”์ด์ €์˜ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์„ ๋ฐ›์•„ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ qrexec ๋ฐ qubes-rpc์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค(์˜ค๋””์˜ค ๋˜๋Š” USB ๋ฆฌ๋””๋ ‰์…˜, ํŒŒ์ผ ๋˜๋Š” ํด๋ฆฝ๋ณด๋“œ ์ฝ˜ํ…์ธ  ์ „์†ก, ๋ช…๋ น ์‹คํ–‰ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰)๊ฐ€ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. VM์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ฑ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๋‘ VM์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์ ˆ์ฐจ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

๋”ฐ๋ผ์„œ VM์—์„œ์˜ ์ž‘์—…์€ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ •๋ณด ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž์œจ VM์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐœ์ธ ํ‚ค๊ฐ€ ๊ฒฉ๋ฆฌ๋œ VM์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์ด๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์•”ํ˜ธํ™” ์ž‘์—… ๋ถ„๋ฆฌ(PGP/SSH)๊ฐ€ ๊ตฌํ˜„๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์ผํšŒ์„ฑ VM

Qubes์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ž‘์—…์€ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์€ ์ด๋ฅผ ์ œ์–ดํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. OS๋Š” ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒ ๋จธ์‹  ์„ธํŠธ(TemplateVM)์™€ ํ•จ๊ป˜ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์ด ํ…œํ”Œ๋ฆฟ์€ ํ†ตํ•ฉ ๋„๊ตฌ๊ฐ€ ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ๋˜๊ณ  ์ „์šฉ ์‹œ์Šคํ…œ ๋ฐ ์‚ฌ์šฉ์ž ํŒŒํ‹ฐ์…˜์ด ํฌํ•จ๋œ Fedora ๋˜๋Š” Debian ๋ฐฐํฌ ๊ธฐ๋ฐ˜์˜ Linux VM์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ ๋ฐ ์—…๋ฐ์ดํŠธ๋Š” ํ•„์ˆ˜ ๋””์ง€ํ„ธ ์„œ๋ช… ํ™•์ธ(GnuPG)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ํ‘œ์ค€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž(dnf ๋˜๋Š” apt)์— ์˜ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ VM์˜ ๋ชฉ์ ์€ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VM์— ๋Œ€ํ•œ ์‹ ๋ขฐ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹œ์ž‘ ์‹œ AppVM(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VM)์€ ํ•ด๋‹น VM ํ…œํ”Œ๋ฆฟ์˜ ์‹œ์Šคํ…œ ํŒŒํ‹ฐ์…˜ ์Šค๋ƒ…์ƒท์„ ์‚ฌ์šฉํ•˜๊ณ , ์™„๋ฃŒ๋˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ์ด ์Šค๋ƒ…์ƒท์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ๋งˆ์šดํŠธ๋œ ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VM์— ๊ณ ์œ ํ•œ ์‚ฌ์šฉ์ž ํŒŒํ‹ฐ์…˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

์ผํšŒ์šฉ VM(disposableVM)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ณด์•ˆ ๊ด€์ ์—์„œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ VM์€ ์‹œ์ž‘ ์‹œ ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ซ์€ ํ›„ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ชฉ์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ผํšŒ์šฉ VM์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋œ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผํšŒ์„ฑ VM์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ํŒŒ์ผ ๊ด€๋ฆฌ์ž(Nautilus) ๋ฐ ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ(Thunderbird)์— ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Windows VM์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ๋ณ„๋„์˜ ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ ํ…œํ”Œ๋ฆฟ๊ณผ ์ผํšŒ์„ฑ VM์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ฒ„์ „์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌ ์ž‘์—… ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜๋ฅผ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ์ œํ•œ๋˜๊ณ (ํ‘œ์ค€ sys-๋ฐฉํ™”๋ฒฝ ๊ธฐ๋Šฅ) ๋„คํŠธ์›Œํฌ์— ์ „ํ˜€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๋Š”(๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์žฅ์น˜๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Œ) ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VM์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์— ์„ค์น˜๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด๋Ÿฌํ•œ VM์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ถ๋งˆํฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋„์ž…๋˜๋”๋ผ๋„ ์†์ƒ๋  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.

์œˆ๋„์šฐ๋ฅผ ์œ„ํ•œ ์‹ธ์›€

์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ธฐ๋Šฅ์€ Qubes์˜ ๊ธฐ๋ณธ์ด๋ฉฐ ๋งค์šฐ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ Windows๋ถ€ํ„ฐ ์–ด๋ ค์›€์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. Windows๋ฅผ ํ†ตํ•ฉํ•˜๋ ค๋ฉด Xen ์ž‘์—…์šฉ ๋“œ๋ผ์ด๋ฒ„, qvideo ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์ •๋ณด ๊ตํ™˜์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ(ํŒŒ์ผ ์ „์†ก, ํด๋ฆฝ๋ณด๋“œ)๊ฐ€ ํฌํ•จ๋œ ๊ฒŒ์ŠคํŠธ ๋„๊ตฌ Qubes Windows ๋„๊ตฌ(QWT) ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ์ ํŠธ ์›น ์‚ฌ์ดํŠธ์— ์ž์„ธํžˆ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฐ ์–ด๋ ค์›€์€ ๋ณธ์งˆ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๊ฐœ๋ฐœ์ž(QWT)๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ Windows ํ†ตํ•ฉ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ˆ˜์„ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ์„  ๊ทธ ์„ฑ๊ณผ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ , ํ•„์š”ํ•˜๋‹ค๋ฉด ๋…๋ฆฝ์ ์œผ๋กœ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํ•˜๊ณ  ๋””๋ฒ„๊ทธํ•˜๊ธฐ ๊ฐ€์žฅ ์–ด๋ ค์šด ๊ฒƒ์€ ๋น„๋””์˜ค ์–ด๋Œ‘ํ„ฐ์™€ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜์—ฌ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ์— ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ์ฐฝ์— ์ง์ ‘ ์ „์ฒด ๋ฐ์Šคํฌํ†ฑ์ด๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฐฝ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„ ์ž‘๋™์„ ๋ถ„์„ํ•˜๋Š” ๋™์•ˆ ์šฐ๋ฆฌ๋Š” Linux ํ™˜๊ฒฝ์—์„œ ์–ด์…ˆ๋ธ”๋ฆฌ์šฉ ์ฝ”๋“œ๋ฅผ ์กฐ์ •ํ•˜๊ณ  ๋‘ Windows ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋””๋ฒ„๊น… ๋ฐฉ์‹์„ ์—ฐ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋กœ์Šค๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ์ฃผ๋กœ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ "์ž๋™" ์„ค์น˜ ์ธก๋ฉด์—์„œ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  VM์—์„œ ์˜ค๋žซ๋™์•ˆ ์ž‘์—…ํ•  ๋•Œ ์„ฑ๊ฐ€์‹  ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๋ณ„๋„๋กœ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ, ๋”ฐ๋ผ์„œ ์˜ค๋žซ๋™์•ˆ์€ ์•„๋‹ˆ๋‹ค ์˜๊ฐ์„์ฃผ๋Š” ์ˆ˜์„ Qubes ๊ฐœ๋ฐœ์ž.

๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋‹จ๊ณ„๋Š” Windows ์‹œ์ž‘์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์นœ์ˆ™ํ•œ ๋ธ”๋ฃจ ์Šคํฌ๋ฆฐ์ด ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜ ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ๋œ ๋Œ€๋ถ€๋ถ„์˜ ์˜ค๋ฅ˜์—๋Š” Xen ๋ธ”๋ก ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„ ์ œ๊ฑฐ, VM ๋ฉ”๋ชจ๋ฆฌ ๋ฐธ๋Ÿฐ์‹ฑ ๋น„ํ™œ์„ฑํ™”, ๋„คํŠธ์›Œํฌ ์„ค์ • ์ˆ˜์ •, ์ฝ”์–ด ์ˆ˜ ์ตœ์†Œํ™” ๋“ฑ ๋‹ค์–‘ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ฒŒ์ŠคํŠธ ๋„๊ตฌ๋Š” ์™„์ „ํžˆ ์—…๋ฐ์ดํŠธ๋œ Windows 7 ๋ฐ Windows 10(qvideo ์ œ์™ธ)์—์„œ ์„ค์น˜ ๋ฐ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ™˜๊ฒฝ์—์„œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์œผ๋กœ ์ด๋™ํ•  ๋•Œ ์‚ฌ์ „ ์„ค์น˜๋œ OEM ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Windows ์ •ํ’ˆ ์ธ์ฆ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ์žฅ์น˜์˜ UEFI์— ์ง€์ •๋œ ๋ผ์ด์„ ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™œ์„ฑํ™”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ(SLIC ํ…Œ์ด๋ธ”)์˜ ์ „์ฒด ACPI ์„น์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ์•ฝ๊ฐ„ ํŽธ์ง‘ํ•˜์—ฌ ์ œ์กฐ์—…์ฒด๋ฅผ ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Xen์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ์ถ”๊ฐ€ ํ…Œ์ด๋ธ”์˜ ACPI ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉ์ž ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Qubes์— ๋งž๊ฒŒ ์กฐ์ •๋œ ์œ ์‚ฌํ•œ OpenXT ํ”„๋กœ์ ํŠธ์˜ ํŒจ์น˜๊ฐ€ ์†”๋ฃจ์…˜์— ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ ์šฐ๋ฆฌ์—๊ฒŒ๋งŒ ์œ ์šฉํ•œ ๊ฒƒ์ด ์•„๋‹Œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๊ณ  ๊ธฐ๋ณธ Qubes ์ €์žฅ์†Œ์™€ Libvirt ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Windows ํ†ตํ•ฉ ๋„๊ตฌ์˜ ๋ช…๋ฐฑํ•œ ๋‹จ์ ์€ GPU์— ๋Œ€ํ•œ ํ•˜๋“œ์›จ์–ด ์ง€์›์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋””์˜ค, USB ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜๊ณ  ๋ฏธ๋””์–ด ์ž‘์—…์ด ๋ณต์žกํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ„์˜ ๋‚ด์šฉ์€ Office ๋ฌธ์„œ ์ž‘์—…์— VM์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์ง€ ์•Š์œผ๋ฉฐ ํŠน์ • ๊ธฐ์—… ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋ง‰์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

Windows VM ํ…œํ”Œ๋ฆฟ์„ ์ƒ์„ฑํ•œ ํ›„ ๋„คํŠธ์›Œํฌ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์ œํ•œ๋œ ๋„คํŠธ์›Œํฌ๊ฐ€ ์žˆ๋Š” ์ž‘๋™ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์€ ์ ์ ˆํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VM ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•˜์—ฌ ์ถฉ์กฑ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋™์‹ ๋ฏธ๋””์–ด๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ๋„ ํ‘œ์ค€ OS ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. , ํ•„์š”ํ•œ VM์œผ๋กœ "์ „๋‹ฌ"๋  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ VM sys-usb์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋ฐ์Šคํฌํƒ‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

QubesOS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows 7์—์„œ ์ž‘์—…

์‹œ์Šคํ…œ์˜ ์ตœ์ข… ๋ฒ„์ „์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ์ •์ ์œผ๋กœ ๋ฐ›์•„๋“ค์˜€์œผ๋ฉฐ(ํฌ๊ด„์ ์ธ ์†”๋ฃจ์…˜์ด ํ—ˆ์šฉํ•˜๋Š” ํ•œ) ์‹œ์Šคํ…œ์˜ ํ‘œ์ค€ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด VPN์„ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ๋ชจ๋ฐ”์ผ ์›Œํฌ์Šคํ…Œ์ด์…˜์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์‹  ๊ฒฐ๋ก 

์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์› ์—†์ด Windows ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ƒˆ๋กœ์šด ํ•˜๋“œ์›จ์–ด์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๊ฐ•์š”ํ•˜์ง€ ์•Š๊ณ  ๋„คํŠธ์›Œํฌ๋‚˜ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์™ธํ•˜๊ฑฐ๋‚˜ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผํšŒ์„ฑ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Qubes OS๋Š” ๊ฐ€์ƒํ™”๋ฅผ ํ†ตํ•œ ๊ฒฉ๋ฆฌ ์•„์ด๋””์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณด์•ˆ์„ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๊ธฐํƒ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์™ธ๋ถ€์—์„œ ๋ณด๋ฉด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด Qubes๋ฅผ ์ฃผ๋กœ ์ต๋ช…์„ฑ์— ๋Œ€ํ•œ ์š•๊ตฌ๋กœ ์ƒ๊ฐํ•˜์ง€๋งŒ, ์ด๋Š” ์ข…์ข… ํ”„๋กœ์ ํŠธ, ์ธํ”„๋ผ ๋ฐ ๋น„๋ฐ€์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ €๊ธ€๋งํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด์™€ ๋ณด์•ˆ ์—ฐ๊ตฌ์› ๋ชจ๋‘์—๊ฒŒ ์œ ์šฉํ•œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ์˜ ๋ถ„๋ฆฌ ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ์˜ ํ˜•์‹ํ™”๋Š” ์œ„ํ˜‘ ๋ถ„์„ ๋ฐ ๋ณด์•ˆ ์‹œ์Šคํ…œ ์„ค๊ณ„์˜ ์ดˆ๊ธฐ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ„๋ฆฌ๋Š” ์ •๋ณด๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์ธ์  ์š”์ธ(์„œ๋‘๋ฆ„, ํ”ผ๋กœ ๋“ฑ)์œผ๋กœ ์ธํ•œ ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ฐœ๋ฐœ์—์„œ ๊ฐ€์žฅ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์€ Linux ํ™˜๊ฒฝ์˜ ๊ธฐ๋Šฅ ํ™•์žฅ์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „ 4.1์€ ์ถœ์‹œ ์ค€๋น„ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์€ Fedora 31์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ Xen ๋ฐ Libvirt์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Qubes๋Š” ์ƒˆ๋กœ์šด ์œ„ํ˜‘์ด๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์‹๋ณ„๋˜๋ฉด ํ•ญ์ƒ ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฆด๋ฆฌ์Šคํ•˜๋Š” ์ •๋ณด ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌํ›„

์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ธ ์‹คํ—˜์  ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Intel GVT-g ๊ธฐ์ˆ  ๊ธฐ๋ฐ˜ GPU์— ๋Œ€ํ•œ ๊ฒŒ์ŠคํŠธ ์•ก์„ธ์Šค๋ฅผ ์ง€์›ํ•˜๋Š” VM์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ทธ๋ž˜ํ”ฝ ์–ด๋Œ‘ํ„ฐ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ฒ”์œ„๋ฅผ ํฌ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์„ฑ ๋‹น์‹œ ์ด ๊ธฐ๋Šฅ์€ Qubes 4.1์˜ ํ…Œ์ŠคํŠธ ๋นŒ๋“œ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. github.

์ถœ์ฒ˜ : habr.com

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