+
GitLab UltimateãããŒã ã«ããããã¡ãªããã«ã€ããŠã芧ãã ãã
McKenzie Intelligence ServicesïŒMISïŒç€Ÿã¯ãäžçäžã®ä¿éºäŒç€Ÿãèªç¶çœå®³ããã³äººçºççœå®³ã®çºçåŸã«çµæžå埩ãå éã§ãããããéèŠãªããŒã¿ãåéããã³åæããŠããŸãã
çœå®³çºçåŸã®æ å ±æäŸã«ç¹åããå瀟ã¯ã人ã ãäŒæ¥ãæãæ¯æŽãå¿ èŠãšãããšãã«ãè¿ éã«æŽå©ãåãããããããµããŒãããŠããŸãã2018幎ã«GitLabã®ãšã³ãããŒãšã³ãã®DevSecOpsãã©ãããã©ãŒã ãå°å ¥ããããšã§ãMIS瀟ã¯ä¿éºäŒç€ŸãžéèŠãªæ å ±ãæäŸãããŸã§ã«ãããæéãå€§å¹ ã«ççž®ããŸããããŸãããã®æ°ããªä»çµã¿ã«ãã£ãŠãå人æ å ±ããã£ããå®ããªããã被çœè ãžã®æ¯æãã«ãããæéãççž®ããããšã«ãæåããŸããã
åœç€Ÿã®ä¿éºäŒç€Ÿã®ã客æ§ã¯ã被çœè ã«ã§ããã ãè¿ éã«å¯Ÿå¿ããå¿ èŠããããŸããGitLabãæŽ»çšããŠæ§ç¯ããGEOãã©ãããã©ãŒã ã䜿ãããšã§ãã客æ§ã¯é¡§å®¢ã®æ¯æŽã«å¿ èŠãªããŒã¿ãæ°ãæãããã¯æ°å¹Žã§ã¯ãªããæ°æ¥ä»¥å ã«ååŸã§ããããã«ãªããŸããã
2011幎ã«ãã³ãã³ã§èšç«ãããMcKenzie Intelligence Servicesã¯ã27人ã®åŸæ¥å¡ãæããŠããŸããNATOããã³è»ã«ããèšç·Žãåããå瀟ã®ã¢ããªã¹ãã¯ãããªã±ãŒã³ãå±±ç«äºãç«å·»ãå°éãªã©ã®å€§èŠæš¡çœå®³ã®è©³çްãªè©äŸ¡ãè¡ãããŠã¯ã©ã€ãããã€ãšã¡ã³ãŸã§åºç¯å²ã«ãããç¶æ³ãã¢ãã¿ãªã³ã°ããŠããŸãã
GitLabã®DevSecOpsãã©ãããã©ãŒã ãæŽ»çšããŠæ§ç¯ãããGlobal Events ObserverïŒGEOïŒãã©ãããã©ãŒã ã䜿çšããMIS瀟ã¯äžçåå°ã®ãªã¹ã¯ããã³è¢«å®³ã®è©äŸ¡ã宿œããŠããŸããMIS瀟ã¯GEOãæŽ»çšããŠæœåšçãªãªã¹ã¯ãåæããããŒã¿ããªãã³ã®æšå¥šãè¡ãããšã§ãä¿éºäŒç€Ÿã®ä¿éºéè«æ±åŠçãçœå®³å¯Ÿå¿ãè¿ éã«è¡ããããæ¯æŽããŠããŸããGEOã®æŽ»çšç¯å²ã¯èªç¶çœå®³ã ãã«éãããæ¿åºæ©é¢ãå€åœç±äŒæ¥ããå€åããå°æ¿åŠçãªã¹ã¯ã®è©äŸ¡ã«GEOãæŽ»çšããŠããŸãã
GEOã¯MISç€Ÿã®æ žãšãªãã·ã¹ãã ã§ããäžçäžãã«ããŒããããããèªç¶çœå®³ã人çºççœå®³ããããã³ã°ããŸãããã®ãã©ãããã©ãŒã ã¯ãããªã±ãŒã³ã®é²è·¯å šäœã®ç»åãååŸãåæããããšãå¯èœã§ãããšãã°ãåã ã®äœå® ã«åãŒããã被害ã®è©³çްãŸã§ææ¡ã§ããŸããMIS瀟ã®ã€ã³ããªãžã§ã³ã¹ã¢ããªã¹ãã¯GEOãæŽ»çšããèªç©ºåçãè¡æç»åãªã©ã®ããŒã¿ãåéãä¿åããªãããåµãå°æ¥ããåã«ãªã¹ã¯ãäºæž¬ããåµã®æäžã«ã¯é¢šéãç«çœè¢«å®³ã髿œ®ã®åœ±é¿ãåæããåµãéãå»ã£ãåŸã«ã¯è¢«å®³ç¶æ³ãè©äŸ¡ããŠããŸãã
ãã®ã·ã¹ãã ã¯ã1ã€ã®çœå®³ããšã«100ã®ã¬ãã€ããã1ãã©ãã€ãã®ããŒã¿ãåŠçããå šäœã§ã¯æ°çŸãã©ãã€ãã«åã¶ããŒã¿ãä¿æããŠããŸãããããã®æ å ±ã¯æ©å¯æ§ãé«ãããŸãäžçäžã«ãŸããã£ãŠãããããã·ã¹ãã ã¯å³æ Œãªã»ãã¥ãªãã£åºæºãæºãããè€æ°ã®åœã®ããŸããŸãªèŠå¶ã«æºæ ããå¿ èŠããããŸããMIS瀟ã¯ãGitLabãæŽ»çšããŠGEOãæ§ç¯ããç¶ç¶çã«ã¢ããããŒãããŠããããããããã®éèŠãªèŠä»¶ãæºããããšãã§ããŸãã
ãããã¯åœç€Ÿã®å¯äžã®è£œåã§ãããééããªãäŒç€Ÿã®äžæ žãæ ã£ãŠããŸãããšãMcKenzie Intelligence Servicesç€Ÿã®æé«æè¡è²¬ä»»è ã§ããAndrei Nitaæ°ã¯è¿°ã¹ãŠããŸãããåœç€Ÿã®åçã®å€§éšåã¯GEOã«ãããã®ãªã®ã§ããã®è£œåãéåžžã«å¹æçãã€å¹ççã«ããããŠå®å šã«éçšããå¿ èŠããããŸããã ãããããGitLabãå©çšããŠããã®ã§ãã
ã·ã¹ãã å šäœãGitLabã®DevSecOpsãã©ãããã©ãŒã ãæŽ»çšããŠæ§ç¯ãããŠãããGitLabã®CI/CDãã€ãã©ã€ã³ãèªååãããã»ãã¥ãªãã£æ©èœãGitLabã®Dockerã¬ãžã¹ããªãšã³ã³ãããæ¡çšããŠããŸããããã«ããã¹ãŠã®ã³ãŒãããŒã¹ãGitLabã«ä¿åããŠããŸãã
GEOã®åŒ·ã¿ã掻ãããMISç€Ÿã¯æ å ±ãè¿ éã«åéãåæãããããäžçäžã®å€§æä¿éºäŒç€Ÿã«æäŸããããšãã§ããŸããããã¯ã€ãŸããä¿éºäŒç€ŸãããçŽ æ©ã顧客ã«å¯Ÿå¿ãã被çœè ã®è² æ ã軜æžã§ããããšãæå³ããŸãã
ããšãã°ãMIS瀟ã¯ãGitLabã䜿çšããŠçœå®³ããŒã¿ã®åéãèªååããã¹ã¯ãªãããéçºããGEOãšã³ã·ã¹ãã ã«ããŒã¿ãåã蟌ããããã«ããŸãããç«å·»ã®æ£ç¢ºãªé²è·¯ããŒã¿ãæäœæ¥ã§æ¢ãã®ã§ã¯ãªããGEOãèªåã§ããŒã¿ãååŸããæŽçãããããã¢ããªã¹ãã®æéãšåŽåãå€§å¹ ã«åæžã§ããŸãããŸãããã®ã¹ã¯ãªããã«ãã£ãŠãç¹å®ã®å°åã«çµã£ãããŒã¿åéãã§ãã顧客ããšã«å¿ èŠãªæ å ±ã®ã¿ãæäŸããäžèŠãªããŒã¿ãæé€ã§ããŸãã
Nitaæ°ã«ãããšã以åã¯ä¿éºäŒç€Ÿãåã ã®ä¿éºéã®æ¯æãã«å¿ èŠãªæ å ±ãåŸãã®ã«æ°ãæãå Žåã«ãã£ãŠã¯æ°å¹Žããã£ãŠããããã人ã ãäœå± ã修埩ããçæŽ»ãç«ãŠçŽãã®ã«æéãããã£ãŠããããã§ãã
ãããããGEOã®èŠ³æž¬ããŒã¿ã掻çšããããšã§ãä¿éºäŒç€Ÿãå¿ èŠãšããå®çšçã§ä¿¡é Œæ§ã®é«ãæ å ±ããçœå®³çºçåŸ24ïœ72æé以å ã«æäŸã§ããããã«ãªããŸããããšNitaæ°ã¯è©±ããŸãããåœç€Ÿã®ä¿éºäŒç€Ÿã®ã客æ§ã¯ã被çœè ã«ã§ããã ãæ©ãè¿ éã«å¿ èŠããããŸããGEOã䜿ãããšã§ãã客æ§ã¯é¡§å®¢ã®æ¯æŽã«å¿ èŠãªããŒã¿ãæ°ãæãããã¯æ°å¹Žã§ã¯ãªããæ°æ¥ä»¥å ã«ååŸã§ããããã«ãªããŸãããããã¯äººã ã®ç掻ã«å€§ããªéãããããããŸãã被çœè ã¯ããã«å©ããå¿ èŠãšããŠããŸããããããšãã°ã措氎ãçºçããå Žåãåž°ãå®¶ããªããªã£ãŠããŸãããšããããŸãããããªãšããä¿éºäŒç€Ÿã¯ããã«ãµããŒãã§ããªããŠã¯ãªããŸããã
Nitaæ°ã¯ãå¿ èŠãªããŒã¿ãåæçµæã3æ¥ä»¥å ã«æäŸã§ããããšããMIS瀟ã®ãµãŒãã¹ã«ããã倧ããªåŒ·ã¿ã§ãããšè¿°ã¹ãŠããŸãã詳现ãªè©äŸ¡ã被害ã¬ãã«ãšãšãã«ç»åã1ããã¡ãŒãã«åäœã®ã°ãªããããŒã¿ãæäŸã§ããèœåã¯ãå瀟ã®ããžãã¹å šäœã®æåã«ãšã£ãŠäžå¯æ¬ ãªèŠçŽ ãšãªã£ãŠããŸãã
ãã®å€§å¹ ãªçœå®³å¯Ÿå¿ã®å éã¯ãMIS瀟ã®é¡§å®¢ã«ãšã£ãŠå€§ããªã¡ãªãããšãªã£ãã ãã§ãªããå瀟ã®ããŒã ã®åãæ¹ã«ãå€é©ããããããŸãããGitLabãå°å ¥ãããŸã§ãMIS瀟ã¯5ã€ã®ç°ãªãDevOpsããŒã«ãçµã¿åãããŠäœ¿çšããŠãããããããªã³ããŒãã£ã³ã°ã®é£ãããã¯ãŒã¯ãããŒã®åæãè€æ°ã®ãµããŒãããŒã ã®å¿ èŠæ§ããããã€ããã»ã¹ã®é å»¶ã忣ããŒã éã®ã³ã©ãã¬ãŒã·ã§ã³ç¶æã®å°é£ããšãã£ãåé¡ãåŒãèµ·ãããŠããŸããããã®ãããªããŒã«ãã§ãŒã³ã廿¢ããåäžã®ãšã³ãããŒãšã³ãã®ãã©ãããã©ãŒã ã«çµ±äžããããšã§ãããŒã ã®æ¥åãããã¹ã ãŒãºã«ãªããŸãããããã«ã以åã¯ååæããšããããã¯ãã以äžã®é »åºŠã ã£ãã®ããçŸåšã§ã¯2é±éããšã«ãªãªãŒã¹ã§ãããããªããŸãããããã«ã顧客ã®ãªã¯ãšã¹ãã«ãããæè»ã«å¯Ÿå¿ã§ããããã«ãªããç¹ã«å¥çŽã§å®ããããèŠä»¶ãã¹ã ãŒãºã«æºãããããã«ãªããŸããã
ã以åã®ããŒã«ãã§ãŒã³ã§ã¯ãå€ãã®äººãã©ãã§äœæ¥ãè¡ãããŠããã®ãããŸããããžã§ã¯ããå®äºããŠããã®ãã©ããã«ã€ããŠæ··ä¹±ããŠãããšæããŸãããããçŽæã«ã圱é¿ãäžããŠããŸããããšNitaæ°ã¯èšããŸããããã®çµæããã®æè¡ã«ãã£ãŠçã¿åºããã䟡å€ã¯ã»ãšãã©ãããŸããã§ãããã€ãŸããã客æ§ããã®ãªã¯ãšã¹ãã«è¿ éã«å¯Ÿå¿ã§ããŠããªãã£ããšããããšã§ããéå¹çãªããŒã«ãã§ãŒã³ã¯åœç€Ÿã®è¶³ãããšãªã£ãŠããŸããããä»ã§ã¯ãã®åé¡ã解決ããŸããã
ããŒã«ãã§ãŒã³ã廿¢ããåäžã®ãã©ãããã©ãŒã ã§äœæ¥ããããšã¯ãéããã人å¡ã§å€ãã®ä»äºãããªãå¿ èŠã®ããå°èŠæš¡äŒæ¥ã«ãšã£ãŠããäžå±€éèŠã§ããããã®ãšããã§ãããšNitaæ°ã¯ä»ãå ããŸãããåé¡ã¯ãããããããŒã®æéã®å€§åããç°ãªãè€æ°ã®ããŒã«ãçµ±åããæ¥ç¶ããäœæ¥ã«è²»ããããŠããããšã§ããããããŠäœãåé¡ãçºçããå Žåãã©ã®ããŒã«ãåå ãªã®ããçªãæ¢ããã®ã«ãæéãããã£ãŠããŸãããããããåäžã®ãã©ãããã©ãŒã ãªããèšèšäžããã¹ãŠããããããæ¥ç¶ãããŠçµ±åãããŠããŸããåœç€Ÿã®éçºããŒã ã¯ããã7åã§ããããã¯å šç€Ÿã®20%ã«çžåœããŸããå°èŠæš¡ãªããŒã ã§ãããäºç®ãéãããŠããŸããã§ããããå€§èŠæš¡ãªããŒã ã®ããã«å¹ççã«åãã匷ã¿ãå¿ èŠãªã®ã§ãã
ããã«ãããã€ã®ã¹ããŒããšå¹çãåäžãããããã«ãNitaæ°ã¯ããœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«å šäœãæ¯æŽããAIæèŒã®äžé£ã®æ©èœGitLab Duoã®å°å ¥ãæ€èšãããšè¿°ã¹ãŠããŸãã
MIS瀟ãçœå®³ç¶æ³ãã¢ãã¿ãªã³ã°ããä¿éºäŒç€Ÿãžå¿ èŠãªããŒã¿ãå±ããã«ã¯ãè¿ éãã€å¹æçãªããŒã ã¯ãŒã¯ãäžå¯æ¬ ã§ããããããåäžã¢ããªã±ãŒã·ã§ã³ãå°å ¥ããåã¯ãå°äººæ°ã®ããŒã ã§ãã£ãŠãã¹ã ãŒãºã«é£æºããã®ãå°é£ã§ãããç°ãªãããŒã«ãçµã¿åãããŠäœ¿çšããŠãããããåµã®è¢«å®³ã远跡ããã¢ããªã¹ããããŒã¿åéããŒã«ãæ§ç¯ããããããããŒãä¿éºäŒç€ŸãšçŽæ¥ããåãããããŒã ã®éã«éå£ãçãŸããŠããŸããã
çŸåšã¯ãçµ±åããããã©ãããã©ãŒã ãæŽ»çšããããšã§ãã³ã©ãã¬ãŒã·ã§ã³ãåçã«åäžãããããçŽæ¥çã«çœå®³å¯Ÿå¿èœåã®åŒ·åã«ã€ãªãã£ãŠããŸãããã®æ¹åã¯DevSecOpsããŒã å ã ãã§ãªããããããããŒãšä»ã®ããŒã ïŒè£œåãã«ã¹ã¿ããŒãµããŒããã¯ã©ã€ã¢ã³ãåããœãªã¥ãŒã·ã§ã³æ åœãªã©ïŒã®é£æºã«ãåºãã£ãŠããŸãããããã®ããŒã ã®ã¡ã³ããŒã¯ãGitLabäžã§ç¬èªã«ç°¡åãªã¹ã¯ãªãããæžããããSQLã¯ãšãªãäœæãããããããšããããŸããä»ã§ã¯ãå šå¡ã§ååããŠã人ã ãžã®æ¯æŽãããæ©ãå±ããããã«åœ¹ç«ã€å€æŽãè¿ éã«å®è£ ã§ããããã«ãªããŸããã
ãæã ãããŒã ã®ã¡ã³ããŒãã¹ã¯ãªãããæžãå§ããŠããéäžã§è¡ãè©°ãŸãããšããããŸããã§ããå šå¡ãåããã©ãããã©ãŒã ã䜿ã£ãŠããã®ã§ãç°¡åã«èª°ããã¿ã°ä»ãããŠå©ããæ±ããããšãã§ããŸãããšNitaæ°ã¯èªããŸããããšã³ãžãã¢ãããã«æãå·®ã䌞ã¹ãææ°ã®ã³ããããããŒãžãªã¯ãšã¹ãã確èªããåé¡ã解決ã§ããŸããããããããŒã éã®ååããå šå¡ã®äœæ¥æéãå€§å¹ ã«åæžããæçµçã«ã¯ãã¹ãŠã®æ¥åãã·ãŒã ã¬ã¹ã«é²ããããšã«ã€ãªãã£ãŠããŸãã
çµ±åãã©ãããã©ãŒã ãæŽ»çšããããšã§ããœãããŠã§ã¢ã®ã»ãã¥ãªãã£åŒ·åãããç°¡åãã€è¿ éã«è¡ããããã«ãªã£ããšNitaæ°ã¯è¿°ã¹ãŠããŸããéçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒSASTïŒãäŸåé¢ä¿ã¹ãã£ã³ãã·ãŒã¯ã¬ããæ€åºãããŒãžãªã¯ãšã¹ãå ã§ã®è匱æ§ã¬ããŒããªã©ãèªååãããã»ãã¥ãªãã£æ©èœã掻çšã§ããããšããGitLabãå°å ¥ããŠæºè¶³ããŠãã倧ããªçç±ã®ã²ãšã€ã ãšèšããŸãããèªååãããããããããŒã«ãçµã¿èŸŒãŸããŠããããšã¯ãç§ãã¡ã«ãšã£ãŠéåžžã«å€§ããªäŸ¡å€ããããŸãããšNitaæ°ã¯ä»ãå ããŠããŸãã
ãããŠãã®äŸ¡å€ã¯ãèŠå¶èŠä»¶ã®éµå®ã«ã倧ããè²¢ç®ããŠããŸãã
GitLabã®èªååãããã»ãã¥ãªãã£æ©èœã«å ããæšæºåããŒã«ãããã¥ã¡ã³ã管çããŒã«ã掻çšããããšã§ãMIS瀟ã¯äžçäžã®å€§æä¿éºäŒç€Ÿãšåæ¥ããªããããããã¹ã ãŒãºã«ã³ã³ãã©ã€ã¢ã³ã¹ãç¶æã§ããããã«ãªããŸããããããã®ä¿éºäŒç€Ÿã¯ãååœããšã«ç°ãªãåºæºãæ±ããããšãå€ããåç€Ÿã¯æ°çŸã«ãåã¶æ³åŸãèŠå¶ãé©åã«ç®¡çããå¿ èŠããããŸãã
ãç§ãã¡ã¯éåžžã«å³ããèŠå¶ãæºãããªããã°ãªããŸããããšNitaæ°ã¯èšããŸãããåœç€Ÿãéçšãããšã³ã·ã¹ãã ã§ã¯ã極ããŠé«ãã»ãã¥ãªãã£ã確ä¿ããå¿ èŠããããŸããããããGitLabã䜿çšããŠããããšãäŒæ¥ã«äŒãããšãCI/CDãã¬ãžã¹ããªãã»ãã¥ãªãã£æ©èœãããã¥ã¡ã³ã管çããŒã«ãå«ãŸããŠããããšããããã³ã³ãã©ã€ã¢ã³ã¹èœåã«ã€ããŠè¿œå ã§è³ªåãããããšã¯ãããŸãããããã¯éåžžã«å©ãããŸãããšããã®ããéåžžã倧æäŒæ¥ããæ¿èªãåŸãã«ã¯éåžžã«é·ãæéããããããã§ãã
ãæè¿ããã客æ§ãããéåžžã¯èŠå¶ããã»ã¹ã®å®äºã«æ°ãæããããšèšãããŸããããç§ãã¡ã¯æ°é±éã§å®äºãããããšãã§ããŸããããšNitaæ°ã¯ä»ãå ããŸãããããã¯éåžžã«éèŠãªãã€ã³ãã§ãããç§ãã¡ã®ããžãã¹ã«å€§ããªåœ±é¿ãäžããŸãã
GitLabã®åäžã®DevSecOpsãã©ãããã©ãŒã ã¯ãã¹ããŒããã»ãã¥ãªãã£ãã³ã³ãã©ã€ã¢ã³ã¹ãšããéèŠãª3倧èŠçŽ ãçµ±åããããšã§ãMcKenzie Intelligence Servicesç€Ÿã®æ¥åã«å€§ãå€é©ããããããŸããããã®ãã©ãããã©ãŒã ã®èªååãããã»ãã¥ãªãã£æ©èœãæšæºåããŒã«ãå¹çåãããã¯ãŒã¯ãããŒã«ãã£ãŠãå瀟ã®å°èŠæš¡ãªéçºããŒã ã§ãã3ãæåäœã®ãªãªãŒã¹ãµã€ã¯ã«ã2é±éããšã®è¿ éãªãããã€ãžãšå€é©ããããšãã§ããŸããããŸãè¿ éã§ãããªããããœãããŠã§ã¢ã®å®å šæ§ã¯ç¢ºä¿ãã€ã€ãã°ããŒãã«ãªèŠå¶ãžã®ã·ãŒã ã¬ã¹ãªå¯Ÿå¿ãå®çŸã§ããŸããããã®æè¡åºç€ã«ãããMIS瀟ã¯ãäžçäžã®ä¿éºäŒç€Ÿã«ããçœå®³åŸ©æ§ãå éãããããšããæ¬æ¥ã®ä»äºã«éäžã§ããŠããŸãã
ã±ãŒã¹ã¹ã¿ãã£ã«èšèŒãããŠããæ å ±ãé¢ä¿è ã¯ãã¹ãŠãçºè¡šæç¹ã®ãã®ã§ãã