XNUMX 幎ååãè匱æ§ã«é¢ããäœåãèªãã§ãã
æãçµã¡ãç§ã¯è±èªã®æ å ±æºã§èŠã€ãã£ãã©ãã³èªã®åèªãšç¥èªã®ã³ã¬ã¯ã·ã§ã³ãåéããŸããããããŠä»æ¥ãããã Habra èªè ãšå ±æããæºåãæŽããŸããã ãããã®ãã¬ãŒãºã®å€ãã¯ãã·ã¢èªã®åŠè¡æç®ã§ç©æ¥µçã«äœ¿çšãããŠããŸãããè±èªã§ã¯å€§éã®æ å ±æºã§ãé »ç¹ã«ç»å Žããããšã¯æ³šç®ã«å€ããŸãã ãã®ã³ã¬ã¯ã·ã§ã³ãããã·ã¢èªã話ãç°å¢ã§ç§åŠçç 究ã«åŸäºããŠããªãããå€ããå°ãªããæ·±å»ãªè±èªã®æç« ã«ééããããšãå€ããã©ãã³èªãå«ãŸããŠããããæ··ä¹±ãæãå¯èœæ§ããã人ã ã«ãšã£ãŠåœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
äžè¬çãªç¥èªãšè¡šçŸ
çã â ãšãã»ãã©ãããªã©ã ã©ãã³èªã§ã¯ [ËÉt ËsÉt(É)ɹÉ] ãšèªã¿ãä»ã®ç¥èªãšã¯ç°ãªããå£é ã§ã®ã¹ããŒãã§ãã䜿çšãããŸãã çŽ æŽãããæ¹æ³ã§çºé³ãåŠã¶ããšãã§ããŸã ãšã«ã㢠ã¿ãŒãã«ãºã®å¯äžã®æ² çã ãã£ãŒãã«ç»å Žããããã¹ãã®äžã§ã
â«ãšã¬ãã¢ãããŒããããªãã¯çãäžãã£ãŠãããšæããŸã
â«ãããŠãããªãã¯æ¬åœã«è¯ãããŠãããŸã
â«ããªãã¯ç§ã®èªãã§ããåã³ã§ãã çã
ã â ä»ã«ã, ããã®ä»ããšæžã㊠[ÉtËÉËl]/[Ëet ËÊl] ãšèªã¿ãŸãã ã»ãšãã©ã®å ŽåãïŒäœåæ¬æã®èè ãªã¹ããççž®ããããã«ïŒäººç©ã«ã€ããŠèšåããŸãããããã¹ãå ã®ä»ã®å ŽæïŒç·¯åºŠã緯床ã緯床ãªã©ïŒãæ瀺ããããšã¯ã»ãšãã©ãããŸããã ã¢ãªãã€ãªã©ïŒã¬ãã¥ãŒäžã ãããŸãã«ããªã©ããšããæå³ã§äœ¿ãããããšããããŸãã (緯床ã ãã®ä»).
ãããã®å¯Ÿçã¯ã¡ã«ãããŠã³ãé²ãã ãã§ãããKocher ã«ãã£ãŠèª¬æãããçš®é¡ã® Spectre æ»æãé²ããã®ã§ã¯ãªãããšã«æ³šæããŠãã ããã ã [40]ã
ãããã®å¯Ÿçã¯ã¡ã«ãããŠã³ãé²ãã ãã§ãããKocher et al [40] ã«ãã£ãŠèª¬æãããŠãã Spectre æ»æã«å¯ŸããŠã¯å¹æããªãããšã«æ³šæããŠãã ããã
ããªãã¡ â id estããããæå³ã§ããã€ãŸããã ç¥èª IE ([ËaɪËiË]) ãŸãã¯åã«ãIEããšèªã¿ãŸãã ã€ãŸã.
äžæçãªåœä»€ã·ãŒã±ã³ã¹ãééã£ãå€ã§ç¶è¡ãããã®ãé²ãããã«ã ããªãã¡ãã0ããMeltdown ã¯ãã0ã以å€ã®å€ãèŠã€ãããŸã§ã¢ãã¬ã¹ã®èªã¿åããåè©Šè¡ããŸã (6 è¡ç®)ã
åœä»€ã®é·ç§»ã·ãŒã±ã³ã¹ãäžæ£ãªå€ã§å®è¡ããç¶ããã®ãé²ãããã ã0ãã®å ŽåãMeltdown ã¯ã0ã以å€ã®å€ãèŠã€ãããŸã§ã¢ãã¬ã¹ã®èªã¿åããåè©Šè¡ããŸã (6 è¡ç®)ã ïŒããã§ããäžæ£ãªå€ããšã¯ã0ãã®ã¿ãæãããã®ç« èªäœã¯ã0ã®å Žå - ãŒãã®å ŽåããšåŒã°ããŠããŸãïŒ.
ããªãã¡ã â ããã¬ãªã»ããããã€ãŸããã ã»ãšãã©ã®å Žåã次ã®ããã«ãªããŸã ããªãã¡ ãŸã㯠æ©ç¥ã«å¯ãã ãã ããªãã¡ ãã®ç¹ã§ç°ãªããŸã ããªãã¡ - ããã¯èª¬æã§ããã ããªãã¡ã â ãªããžã§ã¯ãã®æå®/ãªã¹ãã®çºè¡šåŸã®ãªããžã§ã¯ãã®å æ¬çãªè¡šç€ºã矩åä»ããã äžéšã®æ å ±æºã¯ãããæ代é ãã§ãããšèããŠããŸã ããªãã¡; 確ãã«ãXNUMXäžçŽåŸåã®äœåã§ã¯ã ããªãã¡ã çŸä»£ã®ãã®ãããã¯ããã«é »ç¹ã«çºçããŸãã
ãã®æ°ããçš®é¡ã®æ»æã«ã¯æ£ç¢ºãªæéééã®æž¬å®ãå«ãŸãããããéšåçãã€çæçãªç·©åçãšããŠãFirefox ã®ããã€ãã®æéãœãŒã¹ãç¡å¹ã«ãããã粟床ãäœäžãããŸãã ããã«ã¯ãperformance.now() ãªã©ã®æ瀺çãªãœãŒã¹ãšãé«è§£å床ã¿ã€ããŒã®æ§ç¯ãå¯èœã«ããæé»çãªãœãŒã¹ã®äž¡æ¹ãå«ãŸããŸãã ããªãã¡ããå
±æé
åãããã¡ã
ãã®æ°ããçš®é¡ã®æ»æã«ã¯æéééã®æ£ç¢ºãªæž¬å®ãå«ãŸãããããéšåçãªåé¿çãšããŠãFirefox ã®äžéšã®æéãœãŒã¹ãç¡å¹ã«ãããã粟床ãäœäžãããŸãã ãããã«ã¯ãperformance.now() ãªã©ã®æ瀺çãªãœãŒã¹ãšãé«è§£å床ã¿ã€ããŒã®äœæãå¯èœã«ããéæ¥çãªãœãŒã¹ (SharedArrayBuffer) ã®äž¡æ¹ãå«ãŸããŸãã
ãã·ã³æ å ±ã®èšå ¥> ãšããæ§æã§ãªããã°ãªããŸãããäŸãã°ã â äŸç€ºgratiaããäŸãã°ãããç¹ã«ãã ã®ããã«èªã¿ãŸã äŸãã°ãããŸãäžè¬çã§ã¯ãããŸããããç¥èª EG ãšããŠäœ¿çšãããŸãã åã® XNUMX ã€ã®ç¥èªãšã¯ç°ãªããããã¯æ£ç¢ºã«äŸãšããŠäœ¿çšãããŠããããã¹ãŠã®å€ã®ãªã¹ãã§ã¯ãããŸããã
Meltdown ã¯ãœãããŠã§ã¢ã®è匱æ§ãæªçšããŸããã ããªãã¡ããã¹ãŠã®äž»èŠãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§åäœããŸãã 代ããã«ãMeltdown ã¯ãææ°ã®ããã»ããµã§å©çšå¯èœãªãµã€ããã£ãã«æ
å ±ãå©çšããŸãã ãã·ã³æ
å ±ã®èšå
¥> ãšããæ§æã§ãªããã°ãªããŸãããäŸãã°ãã2010 幎以éã®ææ°ã® Intel ãã€ã¯ãã¢ãŒããã¯ãã£ãããã³ä»ã®ãã³ããŒã®ä»ã® CPU ã«æèŒãããå¯èœæ§ããããŸãã
Meltdown ã¯ãœãããŠã§ã¢ã®è匱æ§ãæªçšããŸããã ãã¹ãŠã®äž»èŠãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§åäœããŸãã 代ããã«ãã»ãšãã©ã®ææ°ã®ããã»ããµãç¹ã« 2010 幎以éã® Intel ãã€ã¯ãã¢ãŒããã¯ãã£ãããã³å Žåã«ãã£ãŠã¯ä»ã® CPU ã¡ãŒã«ãŒã§å©çšå¯èœãªãµã€ããã£ãã«æ
å ±ã䜿çšããŸãã
N.B. â ãã泚æããŠãã ããã "泚èš"ã 倧æåã§æžãããŠããŸãã
察ãv. â 察ããå察ãã[ËvÉË.sÉs]ã ã©ãã³èªã§åçšãããåèªã«ã¯ããæ¥æååŸã®æ¹åããšããå¥ã®æå³ããã£ãããšã¯æ³šç®ã«å€ããŸãã äžäžã®å²åŠè ã¯ãã®èšèã䜿ããŸãã 察ããŠã¹ ãããã£ã¢ã¯ã³ããã³äººããäžççã¿ãåããããæãããããŠçµéŠå°ã«åŠãããããšãã圌ã¯æ¥ã«åããå€ãããã®ãããªæ§é 㧠ç¥ãž'ã
c.ãcca.ãca.ãcirc. â çŽãæ¥ä»ã«å¯ŸããŠãçŽãã [ËsÉË.kÉ]ãšçºé³ããŸãã
ã¢ããã㯠â ãç¹å¥ãªãããç¶æ³çãªãããäžæçãªããçŽèš³ãããšããã®ããã«ãã ããã¯ãç¹å®ã®ãéåžžã«éå®çã§ãå€ãã®å Žåç·æ¥ãèŠããåé¡ã解決ãããã®ãæå³ããŸãã ãæŸèæããšããæå³ã§äœ¿ãããŸãã
ãã®èŠ³å¯ã«ãããæ°ãã Spectre æ»æã Meltdown æ»æã®äºçš®ãæ¥å¢ããããã«å€ãã®æ»æãçºçããŸããã ã¢ããã㯠é²åŸ¡ïŒãã€ã¯ãã³ãŒãããœãããŠã§ã¢ããããªã©ïŒã
ãã®èŠ³å¯ã«ãããSpectre æ»æã Meltdown æ»æã®æ°ããäºçš®ã®æ°ãå¢å ããããã«ç¶æ³ã«å¿ããé²åŸ¡ãœãªã¥ãŒã·ã§ã³ (ç¹ã«ãã€ã¯ãã³ãã³ã ã·ã¹ãã ãšããã) ãå¢å ããŸããã
ãã€ãã¹ãšããŠäœ¿çšããã³ã³ãã³ãµããªãå Žåã¯ãã³ã³ãã³ãµãçç¥ã§ããŸãã ã¢ããã㯠ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã
ãã«ãããªã³ã° ã³ã³ãã³ãµããªãå Žåã¯ãäžæçãªã³ã³ãã³ãµãšããŠäœ¿çšããŠãåé¡ãããŸããã
ã¢ããªã â ã®ç¥èª ã¢ããªãã§ããæãã®ãŸãŸã«ããå³èã§ãã èªçºæ§ãå³èæ§ãçªç¶ã®ã¢ã€ãã¢ãæå³ããŸãã ãã ã¢ããã㯠ããèªç±åºŠãé«ããªããŸãã ãããã®ã ãã©ã€ã¶ãŒãç Žè£ããææ¥éå¡ãXNUMXæé以å ã«å°çãããšçŽæããããã建ç©ããã±ãã§å²ã蟌ãå¿ èŠããããŸãããã - ãã®å Žéãã®å¯Ÿå¿ã§ããã ãé€åçšã®ãµã¯ãŒã¯ãªãŒã ãè²·ãã®ãå¿ããã®ã§ãããšããŒãºã«ããŠã¿ãŸããã - ã¢ããªãã
å°æ¬ãå¿ããã®ã§è©±ããŸãã ã¢ããªã
æè©ãå¿ããã®ã§å³èã§äœããŸãã
[åæã®ãŸãŸ] -ãåäœã§ãããã§ãããã åŠè¡ææžã§ã¯ãå ã®ç¶ŽãïŒæ¹èšãå»åã誀åãªã©ïŒãæããŸãã ãœãŒã·ã£ã«ãããã¯ãŒã¯ã®å°é ã«ããããã€ãŒãããã®ä»ã®æçš¿ã«ãããééããã¿ã€ããã¹ãå²ç¬ïŒãã»ããäœãšãããã«ã ïŒãïŒãšããŠåºãŸããŸããã
æ°ããéžåºãããããã«ãã»ãã©ã³ã倧統é ã¯åææ¥ã«ãã€ãã¿ãŒã§ãä»é±ç±³åœã®ç¡äººæœæ°ŽèŠãæ¿æããã倧統é ãªãè¡çºãã§äžåœãéé£ããç±³äžé¢ä¿ãããã«ç·åŒµãããªã¹ã¯ãåããã
åèæç®ããã³è泚ã®ç¥èª
åèã, ibã â åäžãåäžïŒåºå
žã«ã€ããŠïŒã
idã â åäžãåãã§ãïŒèè
ã«ã€ããŠïŒã å³æ Œãªã«ãŒã«ã«åŸã£ãŠ åèã æåéã ãåãå ŽæãïŒåãããŒãžã®åããœãŒã¹ïŒãæå³ããè¿œå ã®èª¬æãæå³ãããã®ã§ã¯ãããŸãããã idã åããœãŒã¹å
ã®å¥ã®å Žæã瀺ããåžžã«ããŒãžçªå·ãè£è¶³ãããŸã (ãŸã㯠ããã·ã ïŒã å®éã«ã¯ãå€ãã®èè
ã¯åã« åèã ãããŠèœã¡çããŠæ°ããããŒãžãäŸçµŠããŠãã ããã
ãªãã¢ã³ãã CITã â ãªãã©ã®åŒçšããåŒçšãããäœåãã 次ã®å Žåã«èšäºãŸãã¯æ¬ã®ã¿ã€ãã«ã眮ãæããŸãã åèã åãäœåãžã®ä»ã®åç §ãæ£åšããŠããããïŒè泚ãªã©ïŒãé©åããŸããã èè ã®å§ã«ã¡ãªãã§æžãããŠããŸã:
åç § â äžãã - ãåç §ãããæ¯èŒãã ãšã¯ç°ãªã 客芳æ§ãé«ããããã«å¥ã®èŠç¹ã瀺ããŸã (äžèšã®äŸãåç §)ã
ããã·ã - "ã©ãã«ã§ã"ã æ±ããŠããã¢ã€ãã¢ãæ å ±ããœãŒã¹å šäœã«æµžéããŠããããããœãŒã¹å ã®ç¹å®ã®ããŒãžãæå®ã§ããªãå Žåã«äœ¿çšãããŸãã
et seqã â 以é â ãœãŒã¹å ã®ããŒãžã«é¢ãããããã«ãã
f. О ffã â ãã©ãªãª â å¥ã®ãªãã·ã§ã³ãããã«ãã¯ããŒãžçªå·ã®çŽåŸã«ã¹ããŒã¹ãå ¥ããã«é 眮ãããŸãã XNUMX〠f. XNUMXããŒãžãXNUMXããŒãžãæå³ããŸã ffã â ããŒãžæ°ã¯ç¡å¶éã ffã ã«äŒŒãŠããããããã€ãèªã§ã¯éåžžã«äººæ°ããããŸãã ãã©ã«ããã©ã«ã²ã³ã - "ãã®åŸ"ã
泚: çŸä»£è±èªã§ã¯ et ã䜿çšããããšã¯ãå§ãã§ããŸããã ç¶ã以äžãããŒãžç¯å²ãçŽæ¥æå®ããæ¹ãããã§ãããã
ãŸãã«äœ¿çšãããç¥èª
infã О ãµã㪠â 以äžã«, äžèšã« â ãããã以äžãšäžèšãåç §ããŠãã ããã
å Žæã åŒçšã â ãã³ ã·ã¿ãŒã -ã¢ããã° åèã
scã â ã·ãªã»ãã - ãã€ãŸãããã¢ããã° ããªãã¡ã
qv â ã¯ãªãããã㪠- ãèŠããããèŠããã åžžã«åãäœåå ã®å¥ã®å ŽæãæããŸãã å€å žçãªåœ¢åŒã§ã¯ãããã¯èªçµŠèªè¶³ã§ãã èªè ãç®çã®ç« ãèªåã§èŠã€ããããšãåæãšããŠããŸãã çŸä»£èªã§ã¯ã次ã®ããã«äœ¿çšããããšãæãŸããã§ãã äœã芳ãã¹ããã«ã€ããŠã®æ£ç¢ºãªæ瀺ãå«ãŸããŠããŸãã
SV â å¯è© - æ¬è³ªçã«ã¯ãã®ãããªãã®ã§ã <a href>
ãã€ããŒããã¹ãã®åã¯ãç¹å®ã®èŸæžãšã³ããªã瀺ãããã®æ£ç¢ºãªååãç¥èªã®çŽåŸã«ç¶ããŸãã
ãããŠããå°ã
QED â quod eratãã¢é - ãããã¯èšŒæãããå¿ èŠããã£ãããšã ãã
sl â Sensu Lato -ãåºãæå³ã§ãã
ss â ã»ã³ã¹ã»ã¹ããªã¯ã - ãå³å¯ãªæå³ã§ã
éèªç - ãæåéããããéèªçã«ãã
åºæïŒ habr.com