5 æã« Docker Hardened Images(DHI) ããªãªãŒã¹ã ãããã2ãæåã§ãæ¥çå šäœã§æ¡çšãæ¥éã«å éããŸãããæ©æãªæ°èäŒæ¥ããã°ããŒãã«äŒæ¥ãŸã§ãçµç¹ã¯éçºè ã®é床ãäœäžãããããšãªããCVEãã»ãŒãŒãã«ããæ»æå¯Ÿè±¡é åãçž®å°ãããœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã匷åããããã«DHIã«ç®ãåããŠããŸãã
DHIã¯ãçæéã§ãæå°éã®ã¯ãŒã¯ããŒããçœ²åæžã¿ãç¶ç¶çãªãããé©çšãå€§èŠæš¡ãªã»ãã¥ãªãã£ãæäŸããããã«ãŒãããæ§ç¯ããããæ¬çªã¯ãŒã¯ããŒãã®ä¿¡é Œã§ããåºç€ã«ãªããŸããããã©ãããã©ãŒã ããŒã ãšã»ãã¥ãªãã£ããŒã ã¯åæ§ã«ããã€ãŠãªãã»ã©è¿ éãã€å®å šã«è¡åããŠããŸãã
ãã®å¢ããããç§ãã¡ã¯åå¢ããŠããŸããDocker Hardened Images ã¯ãããåºç¯ãªã€ã¡ãŒãž ã«ã¿ãã°ãæè»ãªã«ã¹ã¿ãã€ãº ãªãã·ã§ã³ãAI ç§»è¡ãšãŒãžã§ã³ããFedRAMP 察å¿ããªã¢ã³ããããŒã ããã§ã«æ¯æ¥äœ¿çšããŠããããŒã«ãšã®ç·å¯ãªçµ±åãªã©ã匷åãªæ°æ©èœã§æ¡åŒµããŠããŸãããããã®æ©èœåŒ·åã®å€ãã¯ãBlack Hat 2025ã§å®æœãããŸãã
ãšã³ãããŒãšã³ãã®ã¯ãŒã¯ããŒãåãã®ã»ãã¥ã¢ãªã€ã¡ãŒãž
ã客æ§ãç¹ã«ã»ãã¥ãªãã£ãéèŠããç°å¢ã®ã客æ§ããæãäžè²«ããŠèãããšã® 1 ã€ã¯ãããã€ãã®åºæ¬çãªã³ã³ãããŒãå®è¡ããŠããã ãã§ã¯ãªããšããããšã§ãã圌ãã¯ãRabbitMQ ã Redis ãªã©ã®ã¡ãã»ãŒãž ãã¥ãŒãããTomcat ã NGINX ãªã©ã® Web ãµãŒããŒãPostgreSQL ã Prometheus ãªã©ã®ããŒã¿ããŒã¹ãšã¹ãã¬ãŒãž ããŒã«ãAzure Functions ã Grafana ãªã©ã®éçºè ããŒã«ãŸã§ããããããã®ã«ãŸããã ãã«ã¹ã¿ã㯠ã·ã¹ãã ã ãããã€ããŠããŸãããŸããEnvoy ãªã©ã®ãããã¯ãŒã¯ ã³ã³ããŒãã³ããGrafanaãLokiãNetdata ãªã©ã®ç£èŠããã³å¯èŠ³æž¬æ§ã¹ã¿ãã¯ãããã«ã¯ Kubeflow ãªã©ã® ML ããã³ AI ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ãäŸåããŠããŸããÂ
ãããã®å®éã®ã¯ãŒã¯ããŒãããµããŒãããããã«ãDocker Hardened Images (DHI) ã«ã¿ãã°ã«ã¯ãããããã¹ãŠã®ã«ããŽãªã«ããã£ãŠä¿¡é Œã§ããæ¬çªç°å¢å¯Ÿå¿ã®ã€ã¡ãŒãžãå«ãŸããããã«ãªããŸããããã¹ãŠã®ã€ã¡ãŒãžã¯ SLSA ã«æºæ ãã眲åãããç¶ç¶çã«ä¿å®ãããŠãããããã»ãã¥ãªãã£ããŒã ã¯ãéçºè ã®é床ãäœäžãããããã³ã³ãã©ã€ã¢ã³ã¹ãè€éã«ãããããããšãªããå®å šã§æ€èšŒå¯èœãªã³ã³ããã䜿çšããŠãããšãã確信ãåŸãããšãã§ããŸãã
ãããŠä»ãDHI ã䜿ãå§ããã®ã¯ããã«ç°¡åã«ãªããŸãããDocker ã® AI ã¢ã·ã¹ã¿ã³ã ã¯ãæ¢åã®ã³ã³ãããèªåçã«åæããåçã®åŒ·åãããã€ã¡ãŒãžãæšå¥šãŸãã¯é©çšã§ãããããã³ãã¥ãã㣠ã€ã¡ãŒãžãŸãã¯å
éšã€ã¡ãŒãžããã®ç§»è¡ãåçåã§ããŸãã以äžã§å®éã®åäœãã芧ãã ããã
DHI ã«ã¹ã¿ãã€ãº: ãªã¹ã¯ã®ãªãæè»æ§
ã客æ§ããèããããäžã€ã®ãã£ãŒãããã¯ã¯ãDHIã®æè»æ§ãã©ãã»ã©é«ãè©äŸ¡ããŠããããšããããšã§ããDHI ã¯ããŒã ãããå Žæã«å¯Ÿå¿ãã峿 Œãªå¶çŽã«é©å¿ããããšã匷å¶ããã®ã§ã¯ãªããç¬èªã®ããŒãºã«åºã¥ããŠã«ã¹ã¿ãã€ãºã§ããããã«ããŸããã»ãã¥ãªãã£ç¬¬äžã®åŒ·åãããåºç€ã«äŸåããªããç»åã調æŽã§ããããšã¯ãæããã«åå©ã§ãããããŠä»ãç§ãã¡ã¯ãã®çµéšãããã«çºå±ãããŸããã
æ°ãã ã»ã«ããµãŒãã¹UIã«ãããDHIã®ã«ã¹ã¿ãã€ãºããããŸã§ä»¥äžã«è¿ éãã€ç°¡åã«ãªããŸããå éšèšŒææžã®æ¿å ¥ãä¿¡é Œã§ããããã±ãŒãžã®ã€ã³ã¹ããŒã«ãã©ã³ã¿ã€ã èšå®ã®èª¿æŽããŠãŒã¶ãŒããªã·ãŒã®å®çŸ©ãªã©ãããŒã¹ã€ã¡ãŒãžããã©ãŒã¯ããããè€éãªåé¿çãã©ã³ã°ãªã³ã°ãããããããšãªãè¡ãããšãã§ããŸãã
ã©ã³ã¿ã€ã ãèšå®ããcurlãgitããããã°ãŠãŒãã£ãªãã£ãªã©ã®éèŠãªããŒã«ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã?å éšãã©ã¹ããã§ãŒã³ã®ã«ã¹ã¿ã CAèšŒææžã®è¿œå ãç°å¢å€æ°ã®èšå®ããŸãã¯ã«ã¹ã¿ã ãŠãŒã¶ãŒãšã°ã«ãŒãã®å®çŸ©ãåžæããŸãã?DHI ã䜿çšãããšãæ°åã¯ãªãã¯ããã ãã§ãã¹ãŠãè¡ãããšãã§ããŸãã
äœããããã«ã¹ã¿ã ç»åã¯èªåçã«å®å šã«ä¿ãããŸããã«ã¹ã¿ãã€ãºã¯ãOCIã¢ãŒãã£ãã¡ã¯ã(ããžãã¯ãããŒã¹ã»ã€ã¡ãŒãžããæç¢ºã«åé¢ããã»ãã¥ã¢ãªããŒãžã§ã³ç®¡çãããã¬ã€ã€ãŒ)ãšããŠããã±ãŒãžåãããŸããDocker ã¯æçµçãªã€ã¡ãŒãž ãã«ããåŠçããSLSA ãã«ã ã¬ãã« 3 æšæºãç¶æããªãã眲åããã€ã¡ãŒãžãåžžã«ææ°ã§ããããšã確èªããŸãã
ããŒã¹ã€ã¡ãŒãžãã»ãã¥ãªãã£ããããåãåãããç¬èªã®ã¢ãŒãã£ãã¡ã¯ããæŽæ°ããããšãDocker㯠ã«ã¹ã¿ãã€ãºããã€ã¡ãŒãžã ããã¯ã°ã©ãŠã³ãã§èªåçã«åæ§ç¯ããŸããæäœæ¥ã¯äžèŠã§ããé©ãã¹ãããªããã¯ãããŸãããããã©ã«ãã§ã¯ãç¶ç¶çãªã³ã³ãã©ã€ã¢ã³ã¹ãšä¿è·ã®ã¿ã§ããã客æ§ã¯ã远å ã³ã¹ããªãã§ããªããžããªããšã«å¿ èŠãªæ°ã®ã«ã¹ã¿ãã€ãºãäœæã§ããŸããÂ
ããã¯ããã©ãããã©ãŒã ããŒã ãšã»ãã¥ãªãã£ããŒã ã«ãšã£ãŠå€§ããªåå©ã§ããã»ãã¥ãªãã£ãããªã·ãŒã®èŠä»¶ãæºããããã ãã«ãããŒã¹ ã€ã¡ãŒãžããã©ãŒã¯ããããã«ã¹ã¿ã CI åæ§ç¯ã¹ã¯ãªãããèšè¿°ãããã䞊åã€ã¡ãŒãž ãã€ãã©ã€ã³ãç¶æãããããå¿ èŠã¯ãããŸãããéçšäžã®ãªãŒããŒããããªãã§ãå¿ èŠãªæè»æ§ãåŸãããŸãã
FedRAMP 察å¿:æåããã³ã³ãã©ã€ã¢ã³ã¹ãéèŠããŠæ§ç¯
FedRAMPèªèšŒã远æ±ããŠããå ŽåãFIPSãSTIGãªã©ã®å³æ Œãªã»ãã¥ãªãã£åºæºãæºããããšã¯ãªãã·ã§ã³ã§ã¯ãªããããã·ã§ã³ã¯ãªãã£ã«ã«ã§ããããããã³ã³ããã€ã¡ãŒãžãæåã§åŒ·åããã®ã§ãããã?ããã¯æéã®ç¡é§ã人çãã¹ããããŠçµããã®ãªãã¡ã³ããã³ã¹ã§ãã
Docker Hardened Images ã«ã¯ãç±³åœé£éŠæ¿åºã®ã»ãã¥ãªãã£èŠä»¶ã«åãããŠããã«äœ¿çšã§ããããã«èšèšããã FedRAMP 察å¿ã®ããªã¢ã³ãã忢±ãããããã«ãªããŸããããããã®ã€ã¡ãŒãžã¯ã匷åã§æ€èšŒæžã¿ã®æå·åé©çšã®ããã« FIPSã«å¯Ÿå¿ã ãŠãããå®å šãªããã©ã«ããçµã¿èŸŒãŸããSTIG察å¿ã§ãããå®å šãªç£æ»å¯èœæ§ã®ããã«çœ²åãããSBOMãšèšŒæãšãšãã«æäŸãããŸãã
ãããã¯ãã¹ãŠDockerã«ãã£ãŠæ§ç¯ããã³ä¿å®ããããããããŒã ã¯ã³ã³ãã©ã€ã¢ã³ã¹ãšã³ãžãã¢ãªã³ã°ã®ããžãã¹ã«æºããå¿ èŠã¯ãããŸããããããã®ç»åããã€ãã©ã€ã³ã«æ¥ç¶ããã ãã§ãããã«äœ¿çšã§ããŸããå éšçã«ã¯ãDocker ã® FIPS 察å¿ã€ã¡ãŒãžã¯ãOpenSSLãBouncy CastleãGo ãªã©ã®æ€èšŒæžã¿ã®æå·åã¢ãžã¥ãŒã«ã掻çšããŠããŸããåç»åã«ã¯ãNISTèªèšŒãšãã¹ãçµæã«ãªã³ã¯ããã眲åä»ãèªèšŒãå«ãŸããŠããããœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³å šäœã®éææ§ãšãã¬ãŒãµããªãã£ã確ä¿ããŠããŸãã
ãã¹ãŠã® STIG察å¿ç»å ã¯ãå®å šãªãã«ãäžã«OpenSCAPãä»ããŠã¹ãã£ã³ãããã³ã³ãã©ã€ã¢ã³ã¹ã¹ã³ã¢ããã«ã¹ãã£ã³åºå(HTMLããã³XCCDF)ãªã©ã®çœ²åä»ãçµæãä»å±ããŸããåçµæã¯ NIST 800-53 ã³ã³ãããŒã«ã«æç¢ºã«ãããã³ã°ããããããã»ãã¥ãªã㣠ããŒã ãç£æ»äººã¯ã³ã³ãã©ã€ã¢ã³ã¹ãè©äŸ¡ããã³è¿œè·¡ãããããªããŸãããããã®ã€ã¡ãŒãžãã«ã¹ã¿ãã€ãºãããšãDocker ã¯é·æã«ãããã³ã³ãã©ã€ã¢ã³ã¹ã®è¿œè·¡ã«åœ¹ç«ã¡ãã»ãã¥ãªã㣠ããŒã ãšç£æ»äººã®äž¡æ¹ã«ãšã£ãŠå®¹æã«ãªããŸãã
Docker ã FedRAMP ã®æºåãã©ã®ããã«ç°¡çŽ åããŠãããã«ã€ããŠã¯ããã®è©³çްãªããã°æçš¿ãã芧ãã ãã
Docker + Wiz: ããã¹ããŒããªè匱æ§ç®¡ç
Docker Hardened Images ã¯ãæ¢åã®éçºè ããã³ã»ãã¥ãªã㣠ã¯ãŒã¯ãããŒã«ã·ãŒã ã¬ã¹ã«çµ±åãããGitLabãSonatypeãCloudSmithãDocker HubãDocker DesktopãGitHub ActionsãJenkins ãªã©ã®äžè¬çãªããŒã«ã§ããã«äœ¿çšã§ããŸãã
ä»ãç§ãã¡ã¯ãããããã«äžæ©é²ããŠããŸã:Docker Hardened Images㯠Wizãšçµ±åãããã»ãã¥ãªãã£ããŒã ã¯ãæ¬çªç°å¢ã§å®è¡ãããŠãããã®ãã€ã³ã¿ãŒãããã«å ¬éãããŠãããã®ãæ©å¯ããŒã¿ãšçžäºäœçšãããã®ã«åºã¥ããŠãå®éã®ãªã¹ã¯ãããæ·±ããã³ã³ããã¹ããè±å¯ã«å¯èŠåã§ããããã«ããŸãã
ãDocker ã®åŒ·åã€ã¡ãŒãžã¯ã衚é¢ç©ãå€§å¹ ã«å°ãããCVE ãã»ãŒãŒãã§ããéåžžã«å®å šãªåºç€ãæäŸããŸãããšãWiz ã®è£œåãæ¡åŒµæ§ãããŒãããŒã·ããæ åœå¯ç€Ÿé·ã§ãã Oron Noah æ°ã¯è¿°ã¹ãŠããŸãããDockerãšWizã®çµ±åã«ãããDevSecOpsããŒã ã¯ãã³ã³ããã€ã¡ãŒãžãã¯ãããžãŒãå®å šã«å¯èŠåããæ£ç¢ºãªè匱æ§ã¬ããŒããè¡ãããããã®ä¿¡é Œã§ããåºç€ãéçšã§ããããã«ãªããŸããDocker ãæäŸããè±å¯ãª OpenVEX ããã¥ã¡ã³ããš OSV ã¢ããã€ã¶ãªã¯ãWiz ã§å ±åãããè匱æ§ã«ã³ã³ããã¹ãã远å ããããŒã ãã€ãããŒã·ã§ã³ãé ãããããšãªãéèŠãªè匱æ§ã«åªå é äœãä»ããããè¿ éã«ä¿®åŸ©ã§ããããã«ããŸãããã®çµ±åã«ããããã©ãããã©ãŒã ãšã»ãã¥ãªãã£ããŒã ã¯ãã³ãŒãããã©ã³ã¿ã€ã ãŸã§ã®ã³ã³ããã»ãã¥ãªãã£ã©ã€ããµã€ã¯ã«å šäœãç£èŠããã³ç®¡çããããã®å®å šãªåºç€ãšãã©ãããã©ãŒã ã®äž¡æ¹ãæäŸããŸããã
DHIã®ãã¹ã:ç¬ç«ããã»ãã¥ãªãã£è©äŸ¡
Docker Hardened Images ã®ã»ãã¥ãªãã£äœå¶ãæ€èšŒããããã«ã倧æãµã€ããŒã»ãã¥ãªãã£äŒæ¥ã§ãã Security Research Labs (SRLabs) ãšææºããŠãç¬ç«ããè©äŸ¡ã宿œããŸããã圌ãã®ã¬ãã¥ãŒã«ã¯ãè åšã¢ããªã³ã°ãã¢ãŒããã¯ãã£åæãå ¬éãããŠããã¢ãŒãã£ãã¡ã¯ãã䜿çšããã°ã¬ãŒããã¯ã¹ãã¹ããå«ãŸããçŸå®çãªæ»æã·ããªãªãã·ãã¥ã¬ãŒãããŸããã
ãã®çµæãç§ãã¡ã®ã¢ãããŒããå確èªãããŸãããSRLabs ã¯ããµã³ããªã³ã°ããããã¹ãŠã® Docker 匷åã€ã¡ãŒãžãæå·çœ²åãããããã©ã«ãã§ã«ãŒãã¬ã¹ã§ãããææ°ã®ãœãããŠã§ã¢ ãµãã©ã€ ãã§ãŒã³ ã»ãã¥ãªãã£ã«ãšã£ãŠéèŠãªçµã¿åããã§ãã SBOM ãš VEX ã®äž¡æ¹ã®ã¡ã¿ããŒã¿ã忢±ãããŠããããšã確èªããŸãããÂ
éèŠãªã®ã¯ãè©äŸ¡æéäžã«æ ¹ã®ãšã¹ã±ãŒããéç床ã®é«ããã¬ã€ã¯ã¢ãŠããèŠã€ãããªãã£ãããšã§ããSRLabsã¯ãŸããäžè¬çãªã·ã§ã«ãšããã±ãŒãžãããŒãžã£ãŒãåé€ããæ»æå¯Ÿè±¡é åãæšæºã€ã¡ãŒãžãããæå€§ 95%å°ãã ãããšããDockerã®äž»åŒµãæ€èšŒããŸããã7æ¥ããã SLA ãšãã«ããã眲åãŸã§ã®ãã€ãã©ã€ã³ã¯ãäžè¬çãªã³ãã¥ãã㣠ã€ã¡ãŒãžãšæ¯èŒããŠåŒ·ã¿ãšããŠç¹å®ãããŸããããã®ã¬ãã¥ãŒã§ã¯ããã§ã«ç©æ¥µçã«åãçµãŸããŠããããŒã®åãæ¶ãããã«ã決å®è«ãªã©ã®æ¹åã®äœå°ãããããšãèªããããŸããã
SRLabsã¬ããŒãã®è©³çްã«ã€ããŠã¯ ããã¡ããã芧ãã ãããÂ
硬åã³ã³ããã®æªæ¥ã¯ããããå§ãŸã
Docker Hardened Images ã¯ãå®å šãªã¢ããªãå€§èŠæš¡ã«æ§ç¯ããã³å®è¡ããããã®ä¿¡é Œã§ããåºç€ã«ãªãã€ã€ãããŸããå¹ åºãã«ã¿ãã°ãç°¡åãªã«ã¹ã¿ãã€ãºãFedRAMP 察å¿ã®ããªã¢ã³ããWiz ã®ãããªçµ±åã«ãããDHI ã¯ããŒã ãããå Žæã«å¯Ÿå¿ããŸããäœããããã«ã¹ã¿ãã€ãºãFIPSãSTIGã远å è²»çšãªãã§å«ãŸããŠããããã劥åããããšãªãã³ã³ãã©ã€ã¢ã³ã¹ãç°¡çŽ åãããŸãã
Black Hat 2025ã«åå ããŠããæ¹ã¯ããã²ãé£çµ¡ãã ãããããŒã¹ #5315 ã® Docker ã«ã¢ã¯ã»ã¹ããŠããœãããŠã§ã¢ ãµãã©ã€ ãã§ãŒã³ ã»ãã¥ãªãã£ãã©ã®ããã«åå®çŸ©ããŠããããã芧ãã ããããŸãã8æ 6 æ¥(æ°Ž) 12:05 ãã 1:30 PMã«ã©ã°ãŒã³CDã®ã¬ãã« 2ã§éå¬ãããã»ãã·ã§ã³ããšã³ãããŒãšã³ãã®ãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã»ãã¥ãªãã£ã®éæãããèŠéããªãã匷åããã远跡å¯èœã§ãç¶ç¶çã«æºæ ãããœãããŠã§ã¢ããªããªãŒãã€ãã©ã€ã³ãå®è£ ããããã®å®éã®æŠç¥ãæ·±ãæãäžããŠãããŸãã