è»èŒIDPSã¯èªç€Ÿéçºãã¹ããïŒ eBPF掻çšã§èŠèœãšãããã¡ãªéçšã»ä¿å®ã®èª²é¡
èŠçŽ
eBPFã¯ãLinuxãAndroid Automotiveç°å¢ã«ãããŠã«ãŒãã«ã¬ãã«ã®å éšã®åäœã詳现ã«å¯èŠåããæè¡ãšããŠæ³šç®ãããŠããŸãããã®ãããäžéšã®èªåè»ã¡ãŒã«ãŒã§ã¯ãeBPFãæŽ»çšããŠç¬èªã®äŸµå ¥æ€ç¥ã»é²åŸ¡ã·ã¹ãã ïŒIDPSïŒãéçºããããšãæ€èšããããšãããã§ããããããããèªç€Ÿéçºã¯ã©ã€ã»ã³ã¹ã³ã¹ããæãããããããããŸãããã15幎以äžã«ãããè»äž¡ã©ã€ããµã€ã¯ã«ãæ¯ããã«ã¯ãç¶ç¶çãªä¿å®ã»éçšãæ³èŠå¶ãžã®å¯Ÿå¿ãè åšã€ã³ããªãžã§ã³ã¹ã®ç¶æãè€æ°ãã©ãããã©ãŒã ãžã®å¯Ÿå¿ãªã©ãå€ãã®èŠãã«ããã³ã¹ãããªã¹ã¯ã䌎ããŸããæ¬èšäºã§ã¯ãèªç€Ÿéçºãšåçšãœãªã¥ãŒã·ã§ã³å°å ¥ïŒBuild vs. BuyïŒã®å€æã«ãããŠèæ ®ãã¹ããã€ã³ããæŽçãããšãšãã«ãèªåè»åããµã€ããŒã»ãã¥ãªãã£ã«ã¯ãåæéçºã ãã§ã¯å®çŸã§ããªãç¶ç¶çãªåãçµã¿ãäžå¯æ¬ ã§ããçç±ã解説ããŸãã
eBPFïŒExtended Berkeley Packet FilterïŒã¯ããã®10幎ã§Linuxã«ãŒãã«ã«ããããããæè¡ã®äžã§ãç¹ã«æ³šç®ãéããååšã§ããã«ãŒãã«ã®ãœãŒã¹ã³ãŒãã倿Žããããå®å®æ§ã«åœ±é¿ãåãŒãã«ãŒãã«ã¢ãžã¥ãŒã«ã远å ãããããããšãªããã«ãŒãã«ã¬ãã«ã®è©³çްãªå¯èŠåãå®çŸã§ããŸããçµèŸŒã¿ãœãããŠã§ã¢ã®éçºè ã«ãšã£ãŠã¯ããŸãã«åŒ·åãªæŠåšãšãããæè¡ã§ãã
ãã®æè¡ã®ç»å Žã«ãããäžéšã®èªåè»ã¡ãŒã«ãŒã§ã¯ãèªåè»åãäŸµå ¥æ€ç¥ã»é²åŸ¡ã·ã¹ãã ïŒIDPSïŒã®å°å ¥æ¹æ³ãèŠçŽãåããåºå§ããŠããŸããLinuxããŒã¹ã§æè»æ§ã®é«ãeBPFãæŽ»çšããã°ãèªç€Ÿã®éçºããŒã ã§Android Automotiveåããã¹ãIDPSãéçºã§ããåçšIDPS補åã®ã©ã€ã»ã³ã¹è²»çšãåæžã§ããã®ã§ã¯ãªããããšèããã±ãŒã¹ãå°ãªããããŸããã
ããããæºäžã§ã¯é åçã«èŠãããã®éžæè¢ããçŸå®ãšã¯éããããããŸããéçºçšè©äŸ¡ããŒãäžã§åäœããeBPFã®ãããã¿ã€ããšãæ°çŸäžå°èŠæš¡ã®è»äž¡ã§15幎以äžã«ãããå®å®çšŒåããååœã®èŠå¶ãèªèšŒèŠä»¶ã«ã察å¿ã§ããåçšã¬ãã«ã®IDPSãšã§ã¯ãæ±ããããèŠä»¶ãç°ãªãããã§ãã
äŸãã°ã3幎åŸã«Android Automotive OSïŒAAOSïŒã®ã«ãŒãã«ãæŽæ°ãããéãèªç€ŸéçºããeBPFãããŒãã¯åé¡ãªãåäœãç¶ããã§ããããããŸããååŒèªèšŒã®ç£æ»ã§è åšæ€ç¥ã®æ ¹æ ãéçšå®çžŸã®æç€ºãæ±ããããå Žåã誰ããã®å¯Ÿå¿ãæ ãã®ã§ããããããã®ãããªéçšã»ä¿å®ã»ã³ã³ãã©ã€ã¢ã³ã¹ã«é¢ãã課é¡ã¯ãã·ã¹ãã ã®ç·ä¿æã³ã¹ãïŒTCOïŒã倧ããå·Šå³ããŸãã
ã§ã¯ãIDPSãèªç€Ÿéçºããããšã¯æ¬åœã«ã³ã¹ãåæžã«ã€ãªããã®ã§ããããããããšããå°æ¥çã«å€é¡ã®ç¶æã»éçšã³ã¹ããæãéžæãšãªãã®ã§ãããããæ¬èšäºã§ã¯ããBuild vs. BuyïŒèªç€Ÿéçºãåçšãœãªã¥ãŒã·ã§ã³å°å ¥ãïŒããšãã芳ç¹ãããèªåè»ã¡ãŒã«ãŒãæææ±ºå®ãè¡ãéã«æ€èšãã¹ãéèŠãªãã€ã³ãã解説ããŸãã
eBPFãããŒãã®ç¶æã»éçšã«æœãé«ãã³ã¹ã
çµèŸŒã¿ãœãããŠã§ã¢ã¢ãŒããã¯ãã®èŠç¹ããèŠããšãeBPFã¯ã·ã¹ãã å šäœã®ãªãã¶ãŒãããªãã£ãå®çŸããããã®éåžžã«é åçãªæè¡ã§ããã·ã¹ãã ã³ãŒã«ïŒsys_enterãsys_exitïŒãã«ãŒãã«ãã¬ãŒã¹ãã€ã³ãã«ãããŒããã¢ã¿ããããããšã§ãããã»ã¹ã®å®è¡ç¶æ³ããããã¯ãŒã¯ãœã±ããã®çæããã¡ã€ã«ã¢ã¯ã»ã¹ãªã©ããªã¢ã«ã¿ã€ã ã«ç£èŠã§ããŸããããããèªåè»æ¥çã®ããã«ãã©ãããã©ãŒã æ§æã倿§ãªç°å¢ã§ã¯ãããããç¬èªã®eBPFãããŒããé·æéç¶æã»éçšããããã«ã¯ãç¶ç¶çãªéçºã»ä¿å®è² è·ãçºçããŸãã
1. ã«ãŒãã«ãã€ã³ãã£ã³ã°ãšCO-REã®éç
eBPFããã°ã©ã ã¯ãã«ãŒãã«å éšã®ããŒã¿æ§é ã«ãã€ã³ãããŠåäœããŸãããã®ãããã«ãŒãã«ã®ããŒãžã§ã³ã«ãã£ãŠå éšæ§é ã倿ŽããããšããããŒããæ£åžžã«åäœããªããªãæãããããŸãããããã課é¡ã«å¯ŸåŠããããããšã³ã¿ãŒãã©ã€ãºLinuxã®äžçã§ã¯CO-REïŒCompile Once â Run EverywhereïŒãšããä»çµã¿ãåºãå©çšãããŠããŸããAndroid Automotive OSïŒAAOSïŒãæ¡çšããææ°ã®Generic Kernel ImageïŒGKIïŒäžã§ãCO-REã¯æå¹ã«æ©èœããŸããGKIã«ãŒãã«ã«ã¯BTFïŒBPF Type FormatïŒãçµã¿èŸŒãŸããŠãããeBPF VerifierãããŒãæã«ãã£ãŒã«ãã¢ã¯ã»ã¹ãé©åã«åé 眮ïŒãªãã±ãŒã·ã§ã³ïŒã§ããããã§ãããã®ããããAndroid Automotiveã§ã¯CO-REã䜿ããªãããèªç€Ÿéçºã¯é£ããããšãã説æã ãã§ã¯ååã§ã¯ãããŸãããç¥èŠã®ããã¢ãŒããã¯ãã§ããã°ããã®èªèã¯èª€ãã§ãããšææããã§ãããã
ãšã¯ãããç¶æã»éçšã³ã¹ãããªããªãããã§ã¯ãããŸãããå®éã®èª²é¡ã¯ãCO-REã§ã¯ã«ããŒã§ããªãé åã«ãããŸãã
CO-REã解決ã§ããã®ã¯ããããŸã§æ§é äœã®ãã£ãŒã«ããªãã»ããã®éãã§ããäžæ¹ã§ããã¬ãŒã¹ãã€ã³ãã®åç§°å€æŽãã·ã¹ãã ã³ãŒã«ã®åŒæ°å€æŽãeBPFãã«ããŒAPIã®å»æ¢ãªã©ãã«ãŒãã«ã®ä»æ§ãã®ãã®ãå€åããå Žåã«ã¯ãæ€ç¥ããžãã¯ã人æã§ä¿®æ£ããªããã°ãªããŸãããããã«ãSoCãã³ããŒç¬èªã®ã«ãŒãã«ã¢ãžã¥ãŒã«ãããŒãåºæã®ãã©ã€ããŒã¯ãGKIãä¿èšŒããäºææ§ã®å¯Ÿè±¡å€ã§ãããããå®éã«ã¯ãããããé åãããè»èŒIDPSã«ãšã£ãŠç£èŠãã¹ãéèŠãªå¯Ÿè±¡ãšãªãã±ãŒã¹ãå°ãªããããŸãããå ããŠãéç£è»äž¡ã¯åäžã®ã«ãŒãã«ç°å¢ã§ã¯ãããŸãããè€æ°äžä»£ã®è»äž¡ãç°ãªãSoCãããã«ã¯GKIå°å ¥ä»¥åã®ãã©ãããã©ãŒã ãŸã§å«ããå¹ åºãç°å¢ãã10幎以äžã«ããã£ãŠãµããŒããç¶ããå¿ èŠããããŸããããããç°å¢ã§ã¯ãCO-REã ãã§ãã¹ãŠã®äºææ§ãç¶æããããšã¯ã§ããŸããã
ã€ãŸããCO-REã¯ç¶ç¶çãªä¿å®è² è·ããªããæè¡ã§ã¯ãªãããã®è² è·ãéå®çãã€å°éæ§ã®é«ããã®ãžãšå€ããæè¡ã ãšèšããŸãããããŠããã®å°éçãªä¿å®äœæ¥ã15幎以äžã«ããããæäŸãããã¹ãŠã®ãã©ãããã©ãŒã ã§æ ãç¶ããäœå¶ã瀟å ã§ç¶æããå¿ èŠãããã®ã§ãã
2. eBPF Verifierãšããé«ãããŒãã«
eBPFããã°ã©ã ã«ãã£ãŠã«ãŒãã«ã®å®å®æ§ãæãªãããããšãé²ããããLinuxã«ãŒãã«ã«ã¯eBPF VerifierãšåŒã°ããæ€èšŒæ©æ§ãçµã¿èŸŒãŸããŠããŸãããã®Verifierã¯ãããã°ã©ã ãå®è¡åã«è§£æããã«ãŒãã®è€éããããã°ã©ã ãµã€ãºãã¡ã¢ãªã¢ã¯ã»ã¹ãªã©ã«å³ããå¶çŽã課ããŸãã
ãã®ãããè€æ°ã®æ»æã¹ããããçµã¿åãããé«åºŠãªãµã€ããŒæ»æãæ€ç¥ã§ããã ãã®æ€ç¥ããžãã¯ãå®è£ ããªãããåæã«Verifierã®å³æ Œãªæ¡ä»¶ããã¹ãŠæºããeBPFããã°ã©ã ãéçºããã«ã¯ãé«åºŠã§å°éçãªç¥èãæ±ããããŸãã
ããã«æ³šæãã¹ããªã®ã¯ãéçºç°å¢ã®ããããªå€æŽã§ãäºæãã¬åœ±é¿ãçããå¯èœæ§ãããããšã§ããäŸãã°ãClangãLLVMãšãã£ãã³ã³ãã€ã©ããŒã«ãã§ãŒã³ãã¢ããã°ã¬ãŒãããã ãã§ãçæãããeBPFãã€ãã³ãŒããå€åãããããŸã§åé¡ãªãåäœããŠããããã°ã©ã ãVerifierã«ãã£ãŠããŒãæã«æåŠãããã±ãŒã¹ããããŸãããã®å Žåãè»äž¡ãã®ãã®ãåããªããªãããã§ã¯ãããŸãããããããeBPFããã°ã©ã ã¯ããŒãããããã»ãã¥ãªãã£æ©èœã ãã忢ããç¶æ ã«ãªãæãããããŸãããããããã®ç°åžžãOSãã»ãã¥ãªãã£éçšæ åœè ãããã«æ€ç¥ã§ãããšã¯éããŸãããçµæãšããŠãæ¬æ¥ã¯ä¿è·ãããŠããã¯ãã®ã·ã¹ãã ããæ°ä»ããªããã¡ã«ç£èŠæ©èœã倱ã£ããŸãŸçšŒåãç¶ãããšãããªã¹ã¯ãçããŸãã
3. ããã©ãŒãã³ã¹ãžã®åœ±é¿ãšèšå€§ãªããŒã¿ãã€ãº
ã·ã¹ãã ã³ãŒã«ã®ãã°ãåéããã ãã§ã¯ããã¬ã¡ããªãååŸããŠããã«éãããè åšãæ€ç¥ããŠããããã§ã¯ãããŸãããäŸãã°ãeBPFããã°ã©ã ã§ãããã¯ãŒã¯ãã±ãããããã»ã¹å®è¡ã€ãã³ãããã¹ãŠããã¯ãããã®æ å ±ããŠãŒã¶ãŒç©ºéãžè»¢éããŠè§£æããèšèšãæ¡çšããå Žåãæ¬¡ã®ãããªå€§ããªèª²é¡ãçããŸãã
ã»CPUè² è·ã®å¢å€§
ã«ãŒãã«å ã§ã®ã»ãã¥ãªãã£åŠçã«å ããã«ãŒãã«ç©ºéãšãŠãŒã¶ãŒç©ºéã®éã§ç¶ç¶çã«ããŒã¿ãã³ããŒããå¿ èŠãããããããã¬ããã£ã¯ã¹ãã€ã³ãã©ãã€ã³ã¡ã³ãã·ã¹ãã ã®CPU䜿çšçã15ïœ30ïŒ ã«éããããšããããŸãããã®çµæãæ¬æ¥åªå ãããã¹ãè»èŒã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒåãæ©èœã®æ§èœã«åœ±é¿ãäžããå¯èœæ§ããããŸããïŒäžæ¹ãå®éçšãåæã«æé©åãããåçšã»ãã¥ãªãã£ãšãŒãžã§ã³ãã§ã¯ãã«ãŒãã«å ã§äžèŠãªããŒã¿ãäºåã«ãã£ã«ã¿ãªã³ã°ããä»çµã¿ãæ¡çšããããšã§ãCPUè² è·ã3ïŒ æªæºã«æããŠããã±ãŒã¹ããããŸããïŒ
ã»ããŒã¿ãã€ãºã«ããéçšè² è·
ãœãããŠã§ã¢ã»ããã¡ã€ã³ãã»ããŒã¯ã«ïŒSDVïŒã§ã¯ããã¹ãããçæãããæªå å·¥ãã°ã ãã§ãèšå€§ãªã€ãã³ããçºçããŸãããããã®äžæ¬¡ããŒã¿ããã®ãŸãŸã¯ã©ãŠããžéä¿¡ããã°ãã¢ãã€ã«éä¿¡è²»ãã¯ã©ãŠããžã®ããŒã¿åã蟌ã¿ã»ä¿åã³ã¹ãã¯æ¥æ¿ã«å¢å ããŸããäžæ¹ã§ãã¯ã©ãŠããžéä¿¡ããªãå Žåã¯ãè»èŒåŽã§ã€ãã³ããåæã»çžé¢ä»ãããæå¹ãªè åšã ããæœåºããå¿ èŠããããŸãããã®ããã«ã¯ãé«ãæ€ç¥ç²ŸåºŠãšäœããªãœãŒã¹æ¶è²»ãäž¡ç«ããããŒã«ã«æ€ç¥ãšã³ãžã³ãäžå¯æ¬ ã§ããããã®ãããªä»çµã¿ããŒãããéçºããããšã¯æ¥µããŠé«åºŠã§è€éãªåãçµã¿ãšãªããŸãã
UN-R155ååŒèªèšŒã§èŠèœãšãããã¡ãªçŸå®
éçºéšéãã³ã³ãã©ã€ã¢ã³ã¹æ åœè ã«ãšã£ãŠãèªç€Ÿéçºã¯äžåºŠéãã®ç ç©¶éçºè²»ãšæããããã¡ã§ããããããçŸåšã®æ³èŠå¶ç°å¢ã«ããããµã€ããŒã»ãã¥ãªãã£ã¯ãäžåºŠå®è£ ããã°çµãããšããæ©èœã§ã¯ãããŸããã
UN-R155ã§ã¯ãèªåè»ã¡ãŒã«ãŒã¯ãµã€ããŒè åšãç¶ç¶çã«æ€ç¥ã»å¯Ÿå¿ããããã®äœç³»çãªããã»ã¹ãæ§ç¯ã»éçšããŠããããšã蚌æããå¿ èŠããããŸãããã®ãããè»äž¡ã®ååŒèªèšŒã«ãããŠã¯ãèªç€ŸéçºããeBPFã¹ã¯ãªãããæç€ºããã ãã§ã¯ååãªèª¬æãšã¯ã¿ãªãããŸãããç£æ»ã§ã¯ã次ã®ãããªå®¢èгçãªãšããã³ã¹ã®æç€ºãæ±ããããŸãã
- ASPICEã«æºæ ããã峿 ŒãªãœãããŠã§ã¢éçºããã»ã¹ã宿œããŠããããšã瀺ã蚌跡
- è åšåæã»ãªã¹ã¯è©äŸ¡ïŒTARAïŒãšãå®è£ ããã»ãã¥ãªãã£å¯Ÿçãšã®éã§åæ¹åã®ãã¬ãŒãµããªãã£ã確ä¿ãããŠããããšã瀺ãè³æ
- ã»ãã¥ãªãã£ãšãŒãžã§ã³ãããæ¥µç«¯ãªè² è·æ¡ä»¶äžã«ãããŠãè»äž¡ã®å®å šæ§ãæ§èœãã·ã¹ãã ã®å®å®æ§ãžæªåœ±é¿ãåãŒããªãããšã蚌æããæ€èšŒã»åŠ¥åœæ§ç¢ºèªïŒVerification & ValidationïŒV&VïŒã®çµæ
ããããIDPSãèªç€Ÿéçºããå Žåãã³ã³ãã©ã€ã¢ã³ã¹æ åœéšéã¯æ°çŸããŒãžã«ãåã¶å®å šæ§ã»ã»ãã¥ãªãã£é¢é£ã®ææžãäœæããç¶ç¶çã«ç¶æã»æŽæ°ããªããã°ãªããŸãããã€ãŸããUN-R155ãžã®å¯Ÿå¿ã§æ±ããããã®ã¯ãåã«ãœãããŠã§ã¢ãéçºããããšã§ã¯ãããŸãããéçºããä»çµã¿ãææžåãããã®åŠ¥åœæ§ãç£æ»ã§ç¶ç¶çã«èª¬æã»ç«èšŒã§ããäœå¶ãŸã§å«ããŠç¶æããããšãæ±ããããã®ã§ãã
ãœãŒã¹ã³ãŒãã©ã€ã»ã³ã¹ã®è³Œå ¥ã¯ãBuildãã®å»¶é·ç·äžã«ãã
ãããã課é¡ãèžãŸããäžéšã®èªåè»ã¡ãŒã«ãŒã§ã¯ã宿ããIDPS補åãå°å ¥ããã®ã§ã¯ãªããæ¢åã®IDPSã®ãœãŒã¹ã³ãŒããäžåºŠè³Œå ¥ãããã®åŸã¯èªç€Ÿã§ä¿å®ã»éçšããã°ããã®ã§ã¯ãªããããšããéžæè¢ãæ€èšããããšããããŸãã
äžèŠãããšãèªç€Ÿéçºãšåçšè£œåå°å ¥ã®äžéçãªã¢ãããŒãã«æãããããããŸããããããå®éã«ã¯ãä¿å®ã»éçšã®è²¬ä»»ãèªç€Ÿã§è² ããšããç¹ã§ããBuildïŒèªç€ŸéçºïŒãã«è¿ãéžæãšèšããŸãã
ãœãŒã¹ã³ãŒããè³Œå ¥ã§ãããšããŠããããã¯é«åºŠã§è€éãªã·ã¹ãã ã®äžæç¹ã®ææç©ã«éããŸããããã®ãœãããŠã§ã¢ãæ¯ããŠããå°éç¥èãéçºããŠããŠãŸã§åŒãç¶ããããã§ã¯ãããŸãããããã«ãè€æ°ã®ããŒããŠã§ã¢ãOSç°å¢ã§å質ãç¶æããããã«å¿ èŠãªãèªåãã¹ãç°å¢ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãã€ãã©ã€ã³ãååž°ãã¹ãç°å¢ãªã©ãå«ãŸããªãã±ãŒã¹ãäžè¬çã§ããããããèªç€Ÿã§ç¶æã»æŽæ°ããŠããã«ã¯ãçžå¿ã®éçºäœå¶ãšç¶ç¶çãªæè³ãæ±ããããŸãã
ããã«éèŠãªã®ããè åšã€ã³ããªãžã§ã³ã¹ã§ããAndroid Automotiveãç¹å®ã®SoCãæšçãšããæ°ããªãŒããã€è匱æ§ãçºèŠãããå ŽåãéçãªãœãŒã¹ã³ãŒãã ãã§ã¯æ°ããè åšã«å¯Ÿå¿ã§ããŸãããIDPSã®æ€ç¥æ§èœã¯ãææ°ã®æ»æææ³ã«åãããŠæ€ç¥ã«ãŒã«ãããªã·ãŒãç¶ç¶çã«æŽæ°ã§ãããã©ããã«å€§ããå·Šå³ãããŸãããã®ãããã»ãã¥ãªãã£ãªãµãŒãããŒã ãææ°ã®è åšæ å ±ãç¶ç¶çã«åéã»åæããæ€ç¥ã«ãŒã«ãä¿®æ£ããã°ã©ã ãè¿ éã«æäŸã§ããäœå¶ããªããã°ãæéã®çµéãšãšãã«ãœãããŠã§ã¢ã¯ææ°ã®è åšãžã®å¯Ÿå¿åã倱ããä¿å®è² è·ãã»ãã¥ãªãã£ãªã¹ã¯ãé«ãŸãå¯èœæ§ããããŸãã
çŸå®ã®è»èŒã¢ãŒããã¯ãã£ã¯ãã«ããã©ãããã©ãŒã ã§æ§æãããŠãã
Android AutomotiveãLinuxã¯ãã€ã³ãã©ãã€ã³ã¡ã³ãã·ã¹ãã ã®äžæ žãæ ããã©ãããã©ãŒã ãšããŠåºãæ¡çšãããŠããŸããããããå®éã®è»äž¡ã¢ãŒããã¯ãã£ã¯ãããã ãã§æ§æãããŠããããã§ã¯ãããŸããã
ã»ãŒããã£ãŒã¯ãªãã£ã«ã«ãªãã¡ã€ã³ã髿§èœã³ã³ãã¥ãŒãã£ã³ã°ïŒHPCïŒé åãå é²çãªãã¬ããã£ã¯ã¹ã·ã¹ãã ã§ã¯ãQNXãã¯ãããšãããã€ã¯ãã«ãŒãã«OSãçŸåšãæ°å€ãæ¡çšãããŠããŸããããããQNXã¯eBPFããµããŒãããŠããŸããããã®ãããLinuxãšã¯ç°ãªãä»çµã¿ãçšããã«ãŒãã«ã³ãŒã«ã¢ãŠããã·ã¹ãã ããŒãžç£èŠãå°çšã®ãªãœãŒã¹ãããŒãžã£ãŒãªã©ãçµã¿åãããå¥ã®ã¢ãããŒããå¿ èŠã«ãªããŸãã
ã€ãŸããLinuxãAndroidãQNXãšãã£ãç°ãªãOSç°å¢ã«å¯ŸããŠãäžè²«ããã»ãã¥ãªãã£ããªã·ãŒãé©çšã§ããçµ±ååã®ã»ãã¥ãªãã£ãšãŒãžã§ã³ããæ§ç¯ããã«ã¯ãåOSã®å éšå®è£ ãŸã§çè§£ããé«åºŠãªã¯ãã¹ãã©ãããã©ãŒã éçºã®ç¥èŠãäžå¯æ¬ ã§ããããããå°éæ§ãé·æã«ããã£ãŠç€Ÿå ã ãã§ç¶æããããšã¯ãå€ãã®èªåè»ã¡ãŒã«ãŒã«ãšã£ãŠå®¹æã§ã¯ãããŸããã
PlaxidityXãèªåè»ã¡ãŒã«ãŒã®éçºã»éçšè² è·ãæ¯æŽããŸã
PlaxidityXã¯ã10幎以äžã«ããããäžçäžã§æ°çŸäžå°èŠæš¡ã®è»äž¡ããµã€ããŒè åšããä¿è·ãããšãšãã«ãèªåè»ã¡ãŒã«ãŒã®ã³ã³ãã©ã€ã¢ã³ã¹å¯Ÿå¿ãæ¯æŽããŠããŸããããã®çµéšãéããŠãè»èŒã»ãã¥ãªãã£ã«ã¯ãé«ãé²åŸ¡æ§èœã ãã§ãªããè»èŒã·ã¹ãã ã®å¶çŽãèæ ®ããè»œéæ§ãéçšæ§ãäžå¯æ¬ ã§ãããšèããŠããŸããããããèãã®ããšãPlaxidityXã¯ãèªç€Ÿéçºã«äŒŽãéçšã»ä¿å®è² è·ãæããªãããçŸä»£ã®è»èŒãã©ãããã©ãŒã ãžå°å ¥ããããçµ±ååã®è»èŒãµã€ããŒã»ãã¥ãªãã£ã¢ãŒããã¯ãã£ãæäŸããŠããŸãã
ãã®ASPICEæºæ ã®ã¢ãŒããã¯ãã£ã§ã¯ãLinuxããã³Android Automotiveåãã«ã¯ãæ¬çªç°å¢ã§ã®å©çšãåæã«æé©åããeBPFããŒã¹ã®å®è¡å±€ã»ãã¥ãªãã£ãšãŒãžã§ã³ãIDPXãæ¡çšããŠããŸããäžæ¹ãQNXç°å¢ã§ã¯ããã€ã¯ãã«ãŒãã«åãã®ãã€ãã£ãèšæž¬æè¡ãå©çšããããããã®OSã«æé©ãªåœ¢ã§ç£èŠã»ä¿è·ãå®çŸããŸããããã«ãIDXMãè»äž¡å šäœã®ã»ãã¥ãªãã£æ å ±ãéçŽã»åæããäžæ žã³ã³ããŒãã³ããšããŠæ©èœããŸããAUTOSAR IdsMãªã©ã®ããã«æšæºçãªè»èŒãã°ããªããOSç°å¢ãŸã§æ¡åŒµãããšãšãã«ããšããžåŽã§ã€ã³ããªãžã§ã³ãã«ã€ãã³ãããã£ã«ã¿ãªã³ã°ããããšã§ãäžèŠãªããŒã¿ãåæžããéä¿¡éãã¯ã©ãŠãåŠçã³ã¹ããæå€§80ïŒ åæžã§ããŸãã
èªç€Ÿéçºãšæ¯èŒããå ŽåãPlaxidityXã®IDPSã¯ãå®éçšãæ³å®ããAPIãåããŠãããæ¢åã®éçºããã»ã¹ãžã¹ã ãŒãºã«çµ±åã§ããŸããããã«ãããéçºããŒã ã¯ã»ãã¥ãªãã£åºç€ã®ç¶æã§ã¯ãªãããŠãŒã¶ãŒäŸ¡å€ãé«ããè»äž¡æ©èœããµãŒãã¹ã®éçºãžæ³šåã§ããŸãããŸããç¶ç¶çãªãµãã¹ã¯ãªãã·ã§ã³ãµãŒãã¹ãšãã©ãããã©ãŒã SLAãéããŠãä¿å®ã»éçšãã¢ããããŒãã«ã察å¿ããŠããŸããè»èŒãšãŒãžã§ã³ãã¯ãäžçäžããåéãããèªåè»åãè åšã€ã³ããªãžã§ã³ã¹ãšé£æºããæ°ããªè åšã«å¯Ÿå¿ããæ€ç¥ã«ãŒã«ãã»ãã¥ãªãã£ã¢ããããŒããç¶ç¶çã«åãåãããšãã§ããŸããããã«ãUN-R155ãžã®å¯Ÿå¿ã«å¿ èŠãªç£æ»åãããã¥ã¡ã³ããã³ã³ãã©ã€ã¢ã³ã¹é¢é£è³æãæŽåãããŠãããããèªèšŒååŸãç£æ»å¯Ÿå¿ã«äŒŽãææžäœæã»ç¶æã®è² è·è»œæžã«ãè²¢ç®ããŸãã
ãŸãšãïŒéçºãªãœãŒã¹ãæ¬æ¥ã®ç«¶äºåã«éäžãããããã«
eBPFãçšãããã±ãããã£ã«ã¿ãã·ã¹ãã ã³ãŒã«ãã¬ãŒã®éçºã¯ãæè¡çã«ã¯éåžžã«æçãªåãçµã¿ã§ããããããããã15幎以äžã«ããã£ãŠéçšå¯èœãªãèªåè»åãã®IDPSãžãšçºå±ãããã«ã¯ããã«ããã©ãããã©ãŒã 察å¿ãç¶ç¶çãªä¿å®ã»ã¢ããããŒããæ³èŠå¶å¯Ÿå¿ãŸã§å«ããé·æçãªåãçµã¿ãå¿ èŠã«ãªããŸãã
ãããŠãeBPF Verifierãžã®å¯Ÿå¿ãã³ã³ãã€ã©å€æŽãžã®è¿œåŸãUN-R155ç£æ»ã«å¿ èŠãªææžæŽåãšãã£ãäœæ¥ã«éçºãªãœãŒã¹ãå²ãããšã¯ãæ¬æ¥ã§ããã°ãŠãŒã¶ãŒäœéšã®åäžãADASãSDVæ©èœãªã©ã補åã®ç«¶äºåãé«ããéçºã«å ãŠãããæéãæžããããšã«ãã€ãªãããŸãã
eBPFã¯åªãããªãŒãã³ãœãŒã¹æè¡ã§ããããã®å°å ¥ã³ã¹ãã ãã§ãªããé·æçãªéçšã»ä¿å®ãã»ãã¥ãªãã£å¯Ÿçã«äŒŽãç·ä¿æã³ã¹ãïŒTCOïŒãŸã§å«ããŠè©äŸ¡ããããšãéèŠã§ããèªåè»ãµã€ããŒã»ãã¥ãªãã£ã«ç¹åããããŒãããŒã掻çšããããšã§ãOEMã¯æè¡çã»éçšçã»æ³èŠå¶äžã®è² æ ã軜æžããªãããéçºãªãœãŒã¹ãæ¬æ¥æ³šåãã¹ã補å䟡å€ã®åäžãžéäžã§ããããã«ãªããŸãã
å·çïŒ2026幎06æ25æ¥