ãŸããã
ãã®ããã¹ãã¯ããŸã第äžã«ãã·ã¹ãã 管çè
ãšäžè¬ãŠãŒã¶ãŒã«å¯ŸããèŠåã§ãã çªç¶ããªã¢ãŒã管ççšã®æ¯èŒçããç¥ãããããã°ã©ã ãLiteManagerãïŒä»¥éLMïŒèªäœããå€æŽãå€æŽãªãã§ãã€ã³ã¹ããŒã«ãããŠããã³ã³ãã¥ãŒã¿ãŒã®ããã¯ãã¢ã§ããããšãããããŸããã ã€ãŸããLMãPCã«ã€ã³ã¹ããŒã«ãããIDã«ããæ¥ç¶ãïŒIPã¢ãã¬ã¹ãªãã§ïŒäœ¿çšãããŠããå Žåãéåžžã«é«ãã»ãŒ100ïŒ
ã®ç¢ºçã§ãå®å
šã«äžæ£ãªãŠãŒã¶ãŒã«äžæ£ãªãªã¢ãŒãã¢ã¯ã»ã¹ãæå°éã®åŽåã§ååŸã§ããŸããç¹å¥ãªãããã³ã°ã¹ãã«ã¯å¿
èŠãããŸããã ããããã³ã°ãæè¡ã®èª¬æãšã以äžã®ãœãŒã¹ã³ãŒãã䜿çšããäœæ¥äŸã
ç§ã¯å°ããªäŒç€Ÿã®ããã°ã©ããŒã§ããåœç€Ÿã®ãœãããŠã§ã¢ã¯ãããã¯ãŒã¯ãã¯ãããžãŒã«æ¥ç¶ãããŠããŸããããåŸæ¥å¡ã¯çšŒåäžã®PCã«ãªã¢ãŒãã¢ã¯ã»ã¹ããå¿
èŠãããå ŽåããããŸãã ããŸããŸãªçç±ãããéžæã¯LMã«å§ããããŸãããLMã¯30人ã®åŸæ¥å¡ãç¡æã§ãã ããŒã«ã«ãããã¯ãŒã¯ïŒRadminïŒã§ã®çŽæ¥æ¥ç¶ã«å ããŠãLMã䜿çšãããšãå€éšã³ã³ãã¥ãŒã¿ãŒãããå Žåã¯ããªã¢ãŒãã³ã³ãã¥ãŒã¿ãŒã®IPã¢ãã¬ã¹ãIDã§æå®ããããšãªããäŒç€Ÿã®ãµãŒããŒïŒha haïŒãŸãã¯èª°ã§ãå±éã§ãããŠãŒã¶ãŒãµãŒããŒãä»ããŠäœæ¥ã§ããŸãIPã¢ãã¬ã¹ïŒäžèŠãTeamViewerã®ããã«èŠããŸãããããã¯æåã®ã¿ã§ãïŒã
LM NOIPãµãŒããŒã®ãããã¯ãŒã¯ã¯ã©ãã§ãã
ãã®ãããäžéšã®ãã·ã³ã§ã¯ãLMãä»ãããªã¢ãŒãã¢ã¯ã»ã¹ã身å
äžæã®äººç©ã«ãã£ãŠå®æçã«å®è¡ãããŠããããšãããããŸããã ç©ççã«ãã¹ã¯ãŒãã«ã¢ã¯ã»ã¹ãã人ã¯ãçŸæç¹ã§ã¯ãªã¢ãŒãã§æ¥ç¶ã§ããŸããã§ããã äžè¬ã«ããã¹ã¯ãŒããå€æŽããåŸã§ããç¶æ³ã¯1åãŸãã¯2å以äžç¹°ãè¿ãããŸããã LMã¯ãã¹ãŠã®ãã·ã³ããåé€ãããIDã«ããæ¥ç¶ãã©ã®ããã«é
眮ãããŠããããã¯ãããšããŠãç¶æ³ã®èª¿æ»ãå§ããŸããã LMã¯ãæåãªåœéäŒæ¥ããååãåããŠãã¢ãžã¥ãŒã«LM NOIPãµãŒããŒïŒãã«ãŒã¿ãŒããšãåŒã°ããŸãïŒãšããååãä»ããŸããã
ãã®çš®ã®ããã°ã©ã ã§ã¯ãIDã«ããæ¥ç¶ã«ããããªã¢ãŒãïŒããã³/ãŸãã¯ããŒã«ã«ïŒã³ã³ãã¥ãŒã¿ãŒãNATã®èåŸã«ããå Žåã§ãéä¿¡ã§ããŸãã ãªã¢ãŒãã³ã³ãã¥ãŒã¿ãŒã®IDãšãã¹ã¯ãŒããæå®ãã[OK]ãæŒããšããã·ã³ãå®å
šã«å¶åŸ¡ã§ããŸãã åæã«ã管çè
ã®ã³ã³ãã¥ãŒã¿ãŒïŒä»¥éããã¥ãŒã¢ãŒãšåŒã³ãŸãïŒãšãªã¢ãŒãPCïŒä»¥éããµãŒããŒãšåŒã³ãŸããããã¯ãLMã®çšèªã§ã¯ããŸãã«ãã®æ¹æ³ã§ãLM NOIPãµãŒããŒãã€ãŸãã«ãŒã¿ãŒãšæ··åããªãã§ãã ããã
ãããŠããããã楜ãã¿ãå§ãŸããŸãã 以äžã¯å
¬åŒãµã€ãã®èª¬æã§ãã
å
¬åŒãµã€ãããããããŸãããïŒ ããŒãœãã«NOIPã«ãŒã¿ãŒãšç¡æçã䜿çšããã«ã¯ããã®ã«ãŒã¿ãŒããã¹ãŠã®ãŠãŒã¶ãŒã«å¯ŸããŠéãå¿
èŠããããŸãã ããã¯æªãããã«æããŸããïŒ ãã®è³ªåã«çããããã«ãNOIP LMã«ãŒã¿ãŒã®äžè¬çãªã¹ããŒã ãæ±ããŸãã
ãããã«ã¯ããã¡ã€ã³ãµãŒããŒããšåŒã°ãããã®ããããŸããããã¯ãæ®ãã®ãªãŒãã³ã«ãŒã¿ãŒã調æŽãããã¹ãŠã®ãã©ãã£ãã¯ãé§åããŸãã ããã³åçšãŠãŒã¶ãŒã ããã¯ãä»»æã®TCPæ¥ç¶ç£èŠããã°ã©ã ã«ãã£ãŠç£èŠãããŸããæåã«ã¡ã€ã³ãµãŒããŒãžã®èŠæ±ãè¡ããã次ã«ã©ã³ãã ã«åŠçãããŸãïŒèšå®ã«ãã£ãŠã¯ã©ã³ãã ã§ã¯ãããŸããïŒã
LMãµãŒããŒã®å³å©ç¹ã¯ãIDã§äœæ¥ããããã«ãå人ã®NOIPãµãŒããŒãå±éããå¿
èŠããªãããšã§ãããšããã§ããµãŒããŒãã€ã³ã¹ããŒã«ããŸããã§ããã æ¢ã«å©çšå¯èœãªç¡æã®ãªãŒãã³NOIPã«ãŒã¿ãŒãæ¢ã«æ°ååããããããã®ãªã¹ãã¯ViewerããçŽæ¥å©çšã§ããããããã¹ãŠãããã«äœ¿çšã§ããŸãã ããã°ã©ã èªäœããµãŒããŒãéžæãïŒæ¯åç°ãªãå ŽåããããŸãïŒããã©ãã£ãã¯ãééããŸãã ãããã£ãŠãæããã«ãå瀟ã¯äžçš®ã®ãã¬ã³ããã©ãã«ãŒãäœæãããã©ãã£ãã¯ãšãµãŒããŒãç¯çŽããããšã«ããŸããã
ã°ããŒãã«ãªè匱æ§
ããããå®è·µã瀺ããŠããããã«ããã®ã¢ã€ãã¢ã¯ã¢ã€ãã¢ã®åœ¢ã§ã®ã¿çŸãããã®ã§ãã å®éãã©ã³ãã ãªäººãææããå®å
šã«ã©ã³ãã ãªãµãŒããŒãä»ããŠããã¬ã³ãã®ãããªæ°ããã·ãªãŒãºã®ã¹ã¿ãŒãŠã©ãŒãºã§ã¯ãªãããªã¢ãŒãPCã«ã¢ã¯ã»ã¹ããããã®ãã¹ã¯ãŒããå«ããã©ãã£ãã¯ããããã·ãããŸãã
ã¯ãããã¡ããããã©ãã£ãã¯ã¯æå·åãããŸãã
å
¬åŒãµã€ãããRSA 2048ãAES 256ããã¹ãŠã®ãã®ã Server <=> Viewerãã£ãã«ã®ã¿ãæå·åãããŸãããServe <=> NOIPããã³Viewer <=> NOIPãã£ãã«ãæå·åãããŠããŠããåçãªå€åã¯ãããŸããã ãã ããããã°ã©ã ã«ã¯ãµãŒããŒèªèšŒã¯ãŸã£ãããããŸããïŒ ã¯ããããšããã®ãããªãã§ãã¯ãRDPã§ã®äœæ¥ã®æ
£äŸã§ãã£ããšããŠãããªã¢ãŒãã³ã³ãã¥ãŒã¿ãŒã®ä¿¡é Œæ§ãæ€èšŒã§ããªããšããèŠåã«æ³šæãæã人ã¯ã»ãšãã©ããªããšè²¬ä»»ãæã£ãŠå®£èšã§ããŸãã
RDPèŠåããããç§ã¯ç¹°ãè¿ããŸããããã®ãããªãã§ãã¯ããããŸããã ãããŠããã«ç¥èªMITMããããŸãã ãçãäžã®ç·ããæ»æããŸãã ã»ãšãã©ããã«ãç©Žã®æ¢çŽ¢ãå®äºããããšãæããã«ãªããŸããã
Wiresharkã®ãã©ãã£ãã¯ãç°¡åã«èª¿æ»ãããããã¬ãŒã§ããã°ã©ã ã¢ãžã¥ãŒã«ã衚瀺ããåŸã§ãããããããã§ããããšãæããã«ãªããŸããã
MITMãå®è£
ããã«ã¯ãäœããã®æ¹æ³ã§ã€ã³ãã©ã¹ãã©ã¯ãã£/æ©åš/éä¿¡ãã£ãã«ã«ã¢ã¯ã»ã¹ããå¿
èŠãããããœãŒã·ã£ã«ãšã³ãžãã¢ãªã³ã°ããã®ä»ã®ããªãã¯ãå¿
èŠã§ããããã¯å€§è¡ã«å€§ããªå®³ãäžããªãåäžã®è£œåã§ãã äžè¬çã«ãããã¯ããã®ãããã³ã°å°é家ã«ãã£ãŠè¡ãããŸãããç§ã¯ããã§ã¯ãããŸããã
ããããLMã¯ãå¥ã®æå笊ããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã誰ã«ã§ãæäŸããããšããtheyã³ç³ãäžããŸãã ãªãŒãã³LMã«ãŒã¿ãŒãã€ã³ã¹ããŒã«ããééãããã¹ãŠã®ãã©ãã£ãã¯ããªãã¹ã³ããŸãã ãªã¢ãŒããã·ã³ãžã®é£ãIDãšãã¹ã¯ãŒãã¢ã¯ã»ã¹ã®äžçš®ã ãã©ãã£ãã¯ãååããŠåŸ©å·åããããã ãã«æ®ããŸãã
ãã®çµæãLMã€ã³ãã©ã¹ãã©ã¯ãã£å
šäœã«ã°ããŒãã«ãªã¢ãŒããã¯ãã£äžã®è匱æ§ããããŸãã ããã¯æå³çãªãã®ã§ãããããããšããããã¯ãŒã¯ã»ãã¥ãªãã£ã®åéã§ã®åºç€ç¥èã®äžè¶³ã«ãããã®ã§ããïŒ è³ªåã¯å
¬éãããŠããŸãã
ãã©ãã£ãã¯åå
ãã®èšäºã«ã¯ãLMNOIPã«ãŒã¿ãŒãééããæ¥ç¶ã®ã»ãŒãã¹ãŠã®IDãšãã¹ã¯ãŒããååã§ãããœãŒã¹ã³ãŒããåããããã°ã©ã ã®å®å
šã«æ©èœããäŸãä»å±ããŠããŸãã å¯äžã®èŠä»¶ã¯å€éšIPã¢ãã¬ã¹ã§ãã
LMSoulCry.exeLMSoulCry ã¯ã LM NOIPã«ãŒã¿ãŒã®åã®ãããã¯ãŒã¯ã«é
眮ããå¿
èŠããããŸãã
LM NOIPã«ãŒã¿ãŒã¯ãèµ·åæã«ãæããã«ç»é²ã®ããã«ã°ããŒãã«LMãµãŒããŒã«ã¢ã¯ã»ã¹ããããã«èšèšãããŠããŸãã äžæ¹ãã°ããŒãã«ãµãŒããŒã¯ããã®ã«ãŒã¿ãŒãžã®ãªããŒã¹TCPæ¥ç¶ã確ç«ããããšããŠããŸãã ãããæåããå Žåãã«ãŒã¿ãŒãããªãŒã¢ãŒãã«åãæ¿ããŠäœ¿çšã§ããŸãã ããã¯ãã¹ãŠã«éãããŠããŸãã
LMSoulCryãçä¿¡TCPæ¥ç¶ãåãå
¥ããããšã確èªããå¿
èŠããããŸãïŒé çªã«ããããã¯LMã«ãŒã¿ãŒã«ãªãã€ã¬ã¯ããããŸãïŒã ãŸããLMã«ãŒã¿ãŒã¯ãåå ããããšãªããç¬èªã«çºä¿¡æ¥ç¶ãã°ããŒãã«ãµãŒããŒã«çŽæ¥éä¿¡ããŸãã
å
žåçãªã»ããã¢ããå³ã以äžã«ç€ºããŸãã PCã«ã¯å€éšIPã¢ãã¬ã¹ããããŸãã LM NOIPã«ãŒã¿ãŒãå®è¡ããä»®æ³ãã·ã³ãã€ã³ã¹ããŒã«ããŸãã çµã¿èŸŒã¿ã®NATã¢ããã¿ãŒïŒVMWareã«ãããŸãïŒãä»ããŠã¡ã€ã³PCã«æ¥ç¶ããŸãã ä»®æ³ãã·ã³ã§ã€ã³ã¿ãŒããããæ§æããŸãïŒå€ãã®å Žåãæ§æããå¿
èŠã¯ãªãããã¹ãŠãåç¬ã§æ©èœããŸãïŒã å€éšIP LMSoulCry.exeã䜿çšããŠç©çã³ã³ãã¥ãŒã¿ãŒãèµ·åãããã®ä»®æ³ãã·ã³ã®å
éšã¢ãã¬ã¹ãæå®ããŸãã 次ã«ãLMSoulCryããªã³ã«ããŠãLM NOIPã«ãŒã¿ãŒïŒä»®æ³ãã·ã³äžã«ããïŒãèµ·åããŸãã ã©ã³ãã ãªãŠãŒã¶ãŒã¯é·ãããããŸããã
å€éšIPã¢ãã¬ã¹ãPCäžã§ã¯ãªãã«ãŒã¿ãŒäžã«ããå Žåã¯ããã®ã«ãŒã¿ãŒèªäœã®èšå®ã§ããŒã転éãæå®ããã ãã§ãã
å€éšIPã¢ãã¬ã¹ããªãå Žåãå®éã«ã¯äœããã§ãã¯ããŸããã
MITMã®å®è£
MITMã®å®è£
ã«é¢ããŠã¯ããã¹ãŠãå¹³å¡ã§ãã LMã¯ãMS Crypto APIã䜿çšããŸããããã«ãããããŒçœ®æã®ã¿ã¹ã¯ãããã«ç°¡çŽ åãããŸãã LMSoulCryã®ãœãŒã¹ã³ãŒãã«ã¯geneãã¿ãªãã³ã¡ã³ããæäŸãããŠããŸãããèšäºã«è»¢éããçç±ã¯ãããŸããã
ããããããã®äŸã¯ããã®ã¯ã©ãã«ãŒã®éã§èŠå£ããããããªç¬é¡ãåŒãèµ·ãããŸãããå°ãªããšãäžè¬çãªæå³ã§ãããã¬ã®äœ¿çšæ¹æ³ãç¥ã£ãŠããå¹³åçãªããã°ã©ããŒãåŠçã§ããããããç解ããŠå®è£
ããããšãã§ããŸãã ãã®äŸã§ã¯ãããããŸãã¯APIããã¯ã¯ãããŸããã
ãã®äŸã¯ãLMãééãããã®ããäœããååããããã«ç°¡åã«æ¡åŒµããããšãã§ããŸãã ãã©ãã£ãã¯ã¯å®è³ªçã«NOIPã«ãã£ãŠä¿è·ãããŠããªãããã§ãã
ããã§ã圌ããèšãããã«ãç§ãã¡ã¯è©±ããŠã¯ãªãããèŠããªããã°ãªããŸããã
éã®å«ã³ãæè©ãšçµè«
ãã®è匱æ§ã®çºèŠåŸãLMéçºè
ã«æçŽãéãããŸããã åçãåŸãããªãã£ãã
責任è
ãããã圌ãã¯ããªãã«çããã§ãããã ããªãã®éãè©ŠããŠãã ããã
ãLiteManagerããšåŒã°ãããããžã§ã¯ãã®éçºè
ããç§ãå«ããäœå人ãã®çããæããªããŠãŒã¶ãŒïŒç¡æãšåçšã®äž¡æ¹ãéèŠã§ãïŒã代çšããã®ã«ãµãããã責任ãè² ããã©ããã¯ããããŸããããã7æ³ã§ã çµå±ã®ãšãããããã°ã©ã ããããªãæ¹æ³ã§ãä¿è·ãããŠããªãããšã¯ã©ãã«ãæžãããŠããããPCã«ã€ã³ã¹ããŒã«ããããšã§ããããæã誰ã§ããã¢ãéããããšãä¿èšŒãããŸã;ããã¯ã¯æ©èœããŸããã
ããããç§ã¯ããã®ããã«ãŒããã®ãœãããŠã§ã¢ã®ãã®ãã¢ãŒããã¯ãã£ãŒæ©èœããéåžžã«é·ãéèªèããŠãããé·ãé圌ãã®ç®çã®ããã«ããã䜿çšããŠãããšç¢ºä¿¡ããŠããŸãã
ã¯ããå€ãã®è£œåã¯åæ§ã®ã¹ããŒã ã䜿çšããŠNATããã€ãã¹ããŸãããããããã¹ãŠã®ããã°ã©ã ã§ã¯ããµãŒããŒïŒã«ãŒã¿ãŒïŒã¯è£œåèªäœã補é ããäŒç€Ÿã«å±ãããã顧客åŽã«ãããããã«ãã£ãŠã®ã¿å¶åŸ¡ãããŸãã ã€ãŸãããµãŒãããŒãã£ã¯ååšãããåé¡ãçºçããå Žåã«èª°ãã質åãããã¯åžžã«æ確ã§ãã
ã¯ãããµãŒããŒããå人ããŒã¿ãæŒæŽ©ããå ŽåãäŒç€Ÿãç解ããèš±ãããšãã§ããŸãã ãŸããªè匱æ§ãèŠã€ããŠãå·§åŠã«æªçšããå Žåã ãããããããè¡šçŸãè©æ¬ºãããã³å€§èŠæš¡ãªãã®ã§ç³ãèš³ãããŸãããã5幎以äžææ¡ãããŠããå Žåãèš±ããšç解ã¯ãããŸããã å°ãªããšããã®èšäºãåã«ãªãããšãé¡ã£ãŠããŸãã
ãã¹ãŠã®ãŠãŒã¶ãŒãLiteManagerãããã«åé€ããããšã匷ããå§ãããŸããã¢ã³ããŠã€ã«ã¹ããã°ã©ã ã¯LMèªäœãšãã®ãµã€ããæªæããããã®ãšããŠããŒã¯ããããšããå§ãããŸãã
ãã©ãã«ã«èŠèããããã¹ãŠã®äººã«ãç®ãéããŠãããããšã匷ããå§ãããŸãããŸããç¡æã®ããŒãºãšããºãæãã«ã€ããŠã®å£°æãæãåºããŠãã ããã
â Github