์ด์ ์ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐํ ๊ฒ์ผ๋ก ์๋ ค์ง Graz University of Technology(์ค์คํธ๋ฆฌ์)์ ์ฐ๊ตฌ์ ๊ทธ๋ฃน
์ด๋ฌํ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ฒฐ์ ํ๋ ค๋ฉด ๋ธ๋ผ์ฐ์ ์์ ์ฐ๊ตฌ์์ด ์ค๋นํ JavaScript ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ์ค์ ๋ก ์ด ๋ฐฉ๋ฒ์ ๊ฐ์ ์ ์ธ ์ฌ์ฉ์ ์๋ณ์ ์ํ ์ถ๊ฐ ์์ค๋ก ์ฌ์ฉํ ์ ์์ ๋ฟ๋ง ์๋๋ผ OS, ์ํคํ
์ฒ ๋ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ณ ๋ คํ์ฌ ์ต์คํ๋ก์์ ๋์ ์ฌ์ฉ์ ์ํ ์์คํ
ํ๊ฒฝ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ Tor ๋ธ๋ผ์ฐ์ ์ ๊ฐ์ด ์จ๊ฒจ์ง ์๋ณ ์ฐจ๋จ ๋ฉ์ปค๋์ฆ์ด ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ ๋๋ ํจ๊ณผ์ ์
๋๋ค. ๋ฉ์๋ ๊ตฌํ์ด ํฌํจ๋ ์์ค ์ฝ๋ ํ๋กํ ํ์
์ฝ๋
JIT, CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฉ์ปค๋์ฆ์ ๊ธฐ๋ฅ์ ๋ฐ๋ผ JavaScript์์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ์์ฑ ์ํ ํจํด ํน์ฑ ํ ๋น ๋ฐ ์์ ์คํ ์๊ฐ ํน์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค. ์์ฑ ์ ์๋ JavaScript์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ์ฒด ๋ชฉ๋ก์ ์์ฑํ์ฌ ์ํ๋ฉ๋๋ค. ๋ฐํ์ง ๋ฐ์ ๊ฐ์ด ๊ฐ์ฒด ์๋ ๋ธ๋ผ์ฐ์ ์์ง ๋ฐ ํด๋น ๋ฒ์ ๊ณผ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์์ต๋๋ค.
ํจ์ getProperties(o) {
varresult = [];
๋์ (o !== null) {
๊ฒฐ๊ณผ = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
๋ฐํ ๊ฒฐ๊ณผ;
}
์๋ฅผ ๋ค์ด Firefox์ ๊ฒฝ์ฐ 2247 ์์ฑ์ ๋ํ ์ง์์ด ๋ฌธ์์ ์ ์ธ๋์ด ์์ง๋ง ๋ฌธ์ํ๋์ง ์์ ์์ฑ์ ๊ณ ๋ คํ ํน์ ์์ฑ์ ์ค์ ์๋ 15709(Tor ๋ธ๋ผ์ฐ์ ์์ - 15639)์ด๋ฉฐ Chrome์ ๊ฒฝ์ฐ 2698 ์์ฑ์ด ์ ์ธ๋์ง๋ง 13570์ ๋๋ค. ์ค์ ๋ก ์ ๊ณต๋ฉ๋๋ค(Android์ฉ Chrome - 13119). ์์ฑ์ ์์ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ฒ์ ๊ณผ ์ด์ ์ฒด์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
ํน์ ์์ฑ์ ๊ฐ๊ณผ ์กด์ฌ๋ฅผ ์ฌ์ฉํ์ฌ OS ์ ํ์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Kubuntu์์ window.innerWidth ์์ฑ์ 1000์ผ๋ก ์ค์ ๋๊ณ Windows 10์์๋ 1001๋ก ์ค์ ๋ฉ๋๋ค. Windows์์๋ window.navigator.activeVRDisplays ์์ฑ์ ์ฌ์ฉํ ์ ์์ง๋ง Linux์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ง์ ํน์ ํธ์ถ์ด Android์ฉ์ผ๋ก ์ ๊ณต๋์ง๋ง window.SharedWorker๋ ์์ต๋๋ค. ์ด์ ์ฒด์ ๋ฅผ ์๋ณํ๊ธฐ ์ํด ์ํ๊ฐ ๋๋ผ์ด๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ WebGL ๋งค๊ฐ ๋ณ์ ๋ถ์์ ์ฌ์ฉํ๋ ๊ฒ๋ ์ ์๋ฉ๋๋ค. ๋ํ WEBGL_debug_renderer_infoextension์ ํธ์ถํ๋ฉด ์ด์ ์ฒด์ ๋ง๋ค ๋ค๋ฅธ OpenGL ๋ ๋๋ง ์์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
CPU๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด JIT์ ๋์์ ๊ณ ๋ คํ์ฌ ๋ช ๋ น์ด ์ธํธ์ ์ํคํ ์ฒ์ ๋ฐ๋ผ ์ฒ๋ฆฌ๊ฐ ๋ฌ๋ผ์ง๋ ๋ค์ํ ์ผ๋ฐ ์ฝ๋ ๋ธ๋ก์ ์คํ ์๊ฐ ์ฐจ์ด ํ๊ฐ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค(CPU ๋ ์ง์คํฐ ์๋ฅผ ๊ฒฐ์ ํจ). ํฌํจ๋๋ฉฐ ์ด๋ค ๊ฒฝ์ฐ JIT๊ฐ ์ต์ ํ ๋ฐ ํ์ฅ ๋ช ๋ น์ ํฌํจํ๋ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ). ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์คํ ๋ฐ ์ด์ ์ฒด์ ์ ์ ํ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ค์ํ ๊ตฌ์กฐ์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์๊ฐ์ ์ฐจ์ด๋ ์ธก์ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ํฌ๊ธฐ๋ฅผ ํ๋จํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์คํฌ๋ฆฝํธ ์คํ ์ค์ ๊ฒฐ์ ๋ ๋งค๊ฐ ๋ณ์๋ ์ฌ์ ํ ์คํธ ํ๊ฒฝ์ ์ผ๋ฐ์ ์ธ ์ฐธ์กฐ ๊ฐ๊ณผ ๋น๊ต๋ฉ๋๋ค. ํ ์คํธ ์ค์ ๊ฐ๋ฐ๋ ๊ธฐ์ ์ ์ฌ์ฉ๋ ๋ธ๋ผ์ฐ์ ๋ฒ์ , CPU ์ ์กฐ์ ์ฒด, ์ฌ์ฉ๋ ์ด์ ์ฒด์ , ์ค์ ํ๋์จ์ด์์ ์คํ๋๋์ง ๊ฐ์ ๋จธ์ ์์ ์คํ๋๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ์ฌ 40๊ฐ์ ์๋ก ๋ค๋ฅธ ํ ์คํธ ํ๊ฒฝ์ ์ ํํ๊ฒ ๊ฒฐ์ ํ ์ ์๋๋ก ํ์ต๋๋ค.
์ด์๋ ๋ณ๋๋ก ์จ๊ฒจ์ง ์๋ณ ๋ฐฉ๋ฒ์ด๋ ๊ฐ์ธ ๋ธ๋ผ์ฐ์ง ํ๋์ ์ฐจ๋จํ๋๋ก ์ค๊ณ๋ ์ ๋์จ์ ํฌํจํ์ฌ ๋ธ๋ผ์ฐ์ ์ ๋์จ ๋ฐ ๊ฐ๋ณ ์ ๋์จ ์ค์ ์ ์ ์ํ ๊ฐ๋ฅ์ฑ์ด ์ธ๊ธ๋ฉ๋๋ค. ์ ์๋ ๋ฐฉ๋ฒ์ ๋งฅ๋ฝ์์ ์ด๋ฌํ ์ถ๊ฐ๋ ์๋ณ์ ์ํ ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ค๊ฐ ๋ฉ๋๋ค. ์ถ๊ฐ ์ฌํญ์ ์ถ๊ฐ ์ฌํญ์ ์ํด ๋์ ๋ ์๋ ํ๊ฒฝ ๋งค๊ฐ๋ณ์์ ์๊ณก ํ๊ฐ๋ฅผ ํตํด ๊ฒฐ์ ๋ฉ๋๋ค.
๋ค๋ฅธ ์๋ณ ๋ฐฉ๋ฒ ์ค์์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ถ์ฒ : opennet.ru