
ããããã¡ãããã«ãŒã¿ãŒãããã¯ããŠãã§RCEå šæ¢çŽ¢ããããã»ããšã«èŠã€ãã¡ãã£ã話
ç§ã¯ããã°ã©ãã§ããã»ãã¥ãªãã£ãšã³ãžãã¢ã§ããªããã³ãŒãã¯ã»ãšãã©æžããªãããèªãã§ãããåãããªãããšã®æ¹ãå€ããããã§ããå€ãæ©æ¢°ãå€ãã£ã端æ«ãã€ãªãã§éã¶ã®ã¯å¥œãã ãæè¿ã¯ããã«AIãå ãã£ãŠãããã¶ãå€ãªããšãã§ããããã«ãªã£ãã
ä»åã®ããã¡ãã¯ãSoftBank Air ã¿ãŒããã«6ãäžèº«ã¯OpenWrtç³»ãããããããæ®éã«SSHã§å ¥ããããã§ã¯ãªãããã¡ãŒã«ãŒãLinuxã®ã·ã§ã«ããŠãŒã¶ãŒã«éæŸããŠããããã§ããªãããšã¯ããããã£ããLinuxãåããŠãããªããäžãèŠãŠã¿ãããããã§ããã€ãã®èª¿åã§AIã«é Œãã ã
ããããã¡ãããã«ãŒã¿ãŒãããã¯ããŠãã³ãã³ããå®è¡ã§ããããªãšãããå šéšèª¿ã¹ãŠã
ãã¡ããããããªéãªæ¥æ¬èªã§ããã
ãããã¡ããã«ãæããã€ãã
ãããã¡ããã¯ããã¡ã§24æéåãããŠããAIãšãŒãžã§ã³ãã ããšãã£ãŠãããã®ãããèšåãããããã§ã¯ãªããä»åã®å®éšç°å¢ã¯æåæãããã»ã©åçŽã§ãRaspberry Pi 2ïŒraspi2ïŒãšã¿ãŒããã«6ãLANã±ãŒãã«ã§ã€ãªãã ã ãã ã£ããç¹å¥ãªãããã°æ©æã䜿ã£ãŠããªãã
raspi2ã¯ã¿ãŒããã«6ãšæç·LANã§éä¿¡ãããäžæ¹ãraspi2èªèº«ã®ç®¡ççµè·¯ã¯Wi-Fiã§èªå® LANã«ã€ãªãã£ãŠãããã€ãŸãã¿ãŒããã«6åŽã®ãããã¯ãŒã¯ãããã£ãŠå€å°ãããããªã£ãŠããWi-FiåŽããraspi2ãžå ¥ãçŽãããå®éšå¯Ÿè±¡ãžã®çµè·¯ãšãAIã管çããçµè·¯ãåããŠããããã ã

AIã¯raspi2ãžSSHãããããè¶³å Žã«ããŠã¿ãŒããã«6ã調ã¹ããèããŠã¿ãã°ãAIã«ã©ãºãã€ãäžå°ã€ãªãã ã ããªã®ã ããã©ããããããªã倧ããã£ããç»é¢ã®åããã§è³ªåã«çããã ãã ã£ãAIã«ããå®éã®æ©æ¢°ã調ã¹ã«è¡ãæããçããã
ãå šéšèª¿ã¹ãŠãã§ãæ¬åœã«å šéšèª¿ã¹å§ãã
ã¿ãŒããã«6ã«ã¯ã¡ãŒã«ãŒçŽæ£ã®Web管çç»é¢ãããããããã¡ããã¯ããã®Web UIã®å ¥åæ¬ãAPIãããã¯ãšã³ãã®æåãé çªã«èª¿ã¹ãŠãã£ããã©ããªå€ãå ¥åã§ããã®ãããã®å€ãå éšã§ã©ãåŠçãããŠããããã«èŠããã®ããå€ãªåå¿ãããå Žæã¯ãªãããåè£ãäžã€ãã€æœ°ããŠãã£ãã

ç§ã¯æšªãããããæªããïŒããããã確èªããŠããæ¬åœã«ããïŒããšèšã£ãŠããã ãã§ããã人éãæäœæ¥ã§ãã£ããéäžã§é£œããããªæ¢çŽ¢ã§ããAIã¯é£œããªããåè£ãæŽãåºããåªå é äœãã€ããçµæããã°ã«æ®ããéãã°æ¬¡ã詊ãããããŠãæ¬åœã«èŠã€ããã
ã¡ãŒã«ãŒçŽæ£Web UIã®ããå ¥åçµè·¯ãããæå³ããªãã³ãã³ãå®è¡ã«ã€ãªããå Žæããã£ãããããå®è¡äž»äœã¯rootã ã£ããã¿ãŒããã«6ã¯éããŠããªãããã¡ãŒã ãŠã§ã¢ãæžãæããŠããªããUARTãJTAGãã€ãªãã§ããªãã
暪ã«ããã®ã¯ãLANã±ãŒãã«äžæ¬ã§ã€ãªãã£ãRaspberry Pi 2ã ãããããæ¬åœã«èŠã€ãããããïŒç¬ïŒã
ããããã¡ãããäžã«sshdãç«ãŠãŠã
RCEãèŠã€ããŠã欲ãåºããæ¯åWeb UIçµç±ã§ã³ãã³ããäžã€ãã€å®è¡ããã®ã¯é¢åã ããããªããæ®éã«SSHã§å ¥ããããã«ããŠããŸãã°ãããããã§ããŸãéã«é Œãã ã
ããããã¡ãããäžã«sshdãç«ãŠãŠã
ãããšãæ¬åœã«ç«ãŠãããã°ãããããšãã¿ãŒããã«6ãžæ®éã«SSHã§å ¥ããããã«ãªã£ãããã®ç¬éããå人çã«ã¯RCEçºèŠãã®ãã®ãã倧ããã£ãããããŸã§ã¿ãŒããã«6ã¯ããèšå®ç»é¢ã®ããçœãç®±ãã ã£ãããããçªç¶ãLANã®åããã«ããäžå°ã®Linuxãã·ã³ã«ãªã£ãã
以åŸã¯æ¯åWebç»é¢ãçµç±ããå¿ èŠããªããAIãSSHã§äžã«å ¥ãããã¡ã€ã«ãèªã¿ãèšå®ã確èªãããã°ãéããå®éšã§ãããå®¶é»ããç ç©¶æ©ã«ãªã£ãã
RCEãèŠã€ããåŸã®æ¹ãé·ãã£ã
é¢çœãã®ã¯ãRCEçºèŠããã®è©±ã®çµç¹ã§ã¯ãªãã£ãããšã ãSSHã§å ¥ããããã«ãªããšãä»åºŠã¯OpenWrtå éšã®èšå®ã調ã¹å§ãããWi-Fi 7ãEasyMeshãè§Šãã5G modemã®ç¶æ ã調ã¹ãUSBãŸãããæãå§ããããã®ãã¡USB gadgetãè§ŠããWindowsãšUSBãããã¯ãŒã¯æ¥ç¶ã§ããªãããšãã話ã«ãªã£ãã
ãšãããæšæºã«ãŒãã«ã§ã¯æ¬²ãããã©ã€ããè¶³ããªããã§ã¯ã©ãããããçãã¯ããã€ãã®ããã«éã ã£ãã
ããããã¡ããããã©ã€ãäœã£ãŠã
ãŸãããã§ãããç§ã¯Linuxã«ãŒãã«ãã©ã€ããæžããªãããšãããAIã¯ãã¿ãŒããã«6ã®ã«ãŒãã«ãvendor moduleã調ã¹ãå¿ èŠãªABIã远ãããœãŒã¹ãæžããã¯ãã¹ãã«ããã宿©ãžæã£ãŠè¡ã£ãŠããŒããããšãããŸã§é²ããŠããŸã£ãã話ãã ãã¶ããããªæ¹åãžèµ°ãå§ããã
ãã¡ããäžçºã§ã¯åããªããUSBãHigh-Speedã«èœã¡ãŠ350Mbpsããåºãªãã£ãããåè£ãã©ã€ããæåŸ éãã«åããªãã£ããã管ççµè·¯ãåãããããã倱æãããã³ã«ãã°ãèªã¿ãåå åè£ãçµããæ¬¡ã詊ããæåãããã®ã ãã§ãªãã倱æããã®ãŸãŸæ¬¡ã®å®éšææã«ãªãã
çŸåšã¯Windowsãšã¿ãŒããã«6ãUSBã§ã€ãªããç¬èªCDC-NCMãã©ã€ãã§1.6Gbpsãè¶ ãããšãããŸã§æ¥ãŠãããåä¿¡åŽã§ã¯2Gbpsç®åãŸã§æ¥ããæåã¯ãäžã«å ¥ããªãããªãã ã£ã話ãããã€ã®éã«ãLinuxã«ãŒãã«ãã©ã€ãã®æ§èœæ¹åã«ãªã£ãŠããã
ç§ã¯ã³ãŒããæžããŠããªã
ããã¯çµæ§éèŠã ãšæã£ãŠãããç§ã¯éäžã§ããã°ã©ãã«ãªã£ãããã§ã¯ãªããä»ã§ãã³ãŒãã¯ã»ãšãã©æžããªããLinuxã«ãŒãã«ã®Cã³ãŒããèªåã§èªã¿è§£ããŠå®è£ ããŠããããã§ããªãã

ç§ããã£ãŠããã®ã¯ããããã§ããïŒãã調ã¹ãŠããæ¬åœã«ããïŒãããããæ¬¡ã詊ããŠãã蚌æ ãæ®ããŠããšããããšãäžå¿ã ãAIãã³ãŒããæžããAIã宿©ã§è©ŠããAIããã°ãèªããç§ã¯ããã®çµæãèŠãŠæ¬¡ã«äœã調ã¹ãããæ±ºããã
以åãªããLinuxã«ãŒãã«ã®ç¥èãCèšèªã®çµéšããªãæç¹ã§ããããªå®éšã¯æåããåè£ã«å ¥ããªãã£ããšæãããšãããä»ã¯ããåãããªãããã§ããªããã§ã¯ãªãããAIã«èª¿ã¹ãããªããé²ããŠã¿ãããæç«ããŠããŸããããã¯ããªãæèŠãå€ããã
AIã«äœãèãããããäœã«ã€ãªãã
ä»åãã¡ã°ãé¢çœãã£ãã®ã¯ãAIãçªç¶ãã®ãããè³¢ããªã£ãããšã§ã¯ãªããAIãå®ç©ã«ã€ãªãã ããšã ã£ããraspi2ãžSSHã§ããŠããã®raspi2ãã¿ãŒããã«6ãžLANã±ãŒãã«ã§ã€ãªãã£ãŠããããã ããã ãã§ãAIã¯ãã«ãŒã¿ãŒã«ã€ããŠèª¬æããååšãããããã«ãŒã¿ãŒãå®éã«èª¿ã¹ãååšããžå€ãã£ãã
Webæ€çŽ¢ã ããªããå ¬éãããŠããæ å ±ã®äžããæ©ããªããã§ã宿©ã«ã€ãªãã£ãŠããã°ãããã®èšå®ãèªããããã®ãã°ãèŠããããã®éä¿¡ãæž¬ããããã®åè£ã詊ãããã§ãããçããç¥ã£ãŠããå¿ èŠãããªããåãããªããã°ãèŠã«è¡ãã°ããã
ããã¯ç§ã«ãšã£ãŠãAIã®äœ¿ãæ¹ãããªãå€ãã£ãç¬éã ã£ããAIã«äœã質åãããã ãã§ã¯ãªããAIãäœã«ã€ãªãããRaspberry Pi 2ã¯ããã®å¢çãè¶ããããã®å°ããªæ©ã«ãªã£ãã
ãããŠã¡ãã£ãšæã
äžæ¹ã§ãä»åããªã宿ããããšããããèåŒ±æ§æ¢çŽ¢ãšããäœæ¥ãã®ãã®ã®æ·å± ã¯ãããªãäžãã£ãŠãããç§ã¯ã»ãã¥ãªãã£ãšã³ãžãã¢ã§ã¯ãªããããã§ããå šéšèª¿ã¹ãŠããšé Œã¿ãAIã«ååãªèŠ³æž¬ææ®µãäžããããå®éã«rootã§ã³ãã³ããåãçµè·¯ãŸã§å°éããŠããŸã£ãã
ã ããããã®èšäºã§ã¯å ·äœçãªæ»æçšpayloadãããã®ãŸãŸã³ããŒããŠäŸµå ¥ã§ããæé ã¯èŒããªããçŸåœ¹ã§äœ¿ãããŠããéä¿¡æ©åšã ããããããŸã§å ¬éããå¿ èŠã¯ãªããšæã£ãŠãããé¢çœãã®ã¯ãã©ãæ»æããããããããAIã«å®æ©ãè§ŠããããšããããªãšãããŸã§èª¿æ»ã§ããããã«ãªã£ãããšããéšåã ã
RCEãã®ãã®ãèŠãã³ãããããšãç®çã§ããªãããããããã®å ¥å£ããå ã§äœãã§ããããã«ãªã£ãã®ãã®æ¹ãããã®è©±ã§ã¯ãã£ãšé¢çœãã
ãã¶ãããããããã£ãšå€ãªããšãã§ãã
æåã«ãã£ãããšã¯ãæ¬åœã«åçŽã ã£ããRaspberry Pi 2ãšã¿ãŒããã«6ãLANã±ãŒãã«ã§ã€ãªããRaspberry Pi 2ã®ç®¡ççµè·¯ã¯Wi-FiãžéãããŠããããããŠAIã«èšãã
ããããã¡ãããã«ãŒã¿ãŒãããã¯ããŠã
æ°æéåŸããrootã§ã³ãã³ãå®è¡ã§ããŸããããããã«ãããããã¡ãããäžã«sshdãç«ãŠãŠããç«ãŠãŸããããâŠâŠã»ããšã«ãããã€ããããïŒç¬ïŒã

ã§ãããã¶ãé¢çœãã®ã¯ããããã ãAIã«äœãèããã§ã¯ãªããAIã«äœãè§Šãããããå€ãã¹ããã§ããã«ãŒã¿ãŒã§ããUSBæ©åšã§ããã»ã³ãµãŒã§ããããAIã«ã©ãºãã€ãäžå°ã€ãªãã ã ãã§ãå®¶ã®äžã®æ©æ¢°ãå šéšã調ã¹ããã察象ãã«ãªãå§ããã
ããã¯ãããªã倧ããªå€åãªã®ãããããªãã
æåŸãŸã§ãä»ãåãããã ãããããšãããããŸããïŒ
