åçŽãªBGPãã€ãžã£ãã¯
äžèšã§èšãã°ãBGPãã€ãžã£ãã¯ã¯ä»ã®èª°ãã®IPã¢ãã¬ã¹ïŒã©ã³ãã ãŸãã¯æå³çïŒããã£ããã£ããŠããŸãã
éåžžãBGPãã€ãžã£ãã¯ã¯æ¬¡ã®ããã«ãªããŸããäžéšã®ãã¬ãã£ãã¯ã¹ã«å±ããªãASã¯ããããã¢ããŠã³ã¹ãå§ãïŒãšã€ãªã¢ã³ãã¬ãã£ãã¯ã¹ïŒãã¢ãããªã³ã¯/ãã¢ããããåãå ¥ããã€ã³ã¿ãŒãããäžã§åºããå§ããŸãã 圌ãã¯ããžã£ã³ã¯ã·ã§ã³ã§ãã¬ãã£ãã¯ã¹ã®ãã£ã«ã¿ãªã³ã°ããªããšããçç±ã§ãããåãå ¥ããŸãïŒããã¯èšå®ãšã©ãŒã§ãããããŸãã¯ãã®ããã«èããããŠããŸãïŒããŸããŸãªçç±ã§éåžžã«å€§ããªæŒç®åãæã€ãžã£ã³ã¯ã·ã§ã³ã§ãã¬ãã£ãã¯ã¹ãã£ã«ã¿ãŒãæ§ç¯ããããšã¯éåžžã«é£ããããããã®èšäºã§ã¯éèŠã§ã¯ãããŸããïŒ ïŒ RostelecomïŒ AS12389 ïŒ ãæ¥é èŸMastercardïŒ AS26380 ïŒãVisaããã³ãã®ä»ã®éèæ©é¢ïŒãœãããŠã§ã¢é害ã®çµæãšããŠã®å ¬åŒããŒãžã§ã³ã«ããïŒ ãçºè¡šãå§ããæè¿ã®æãæåãªäŸã®1ã€ã ãããã®ã¢ããŠã³ã¹ã¡ã³ããbgplayå±¥æŽïŒ web ã json ïŒ ã¢ãŒã«ã€ã ïŒã§è¡šç€ºïŒã§ã©ã®ããã«èŠããããèŠãããšãã§ããŸããããã¯ãRIPEã³ã¬ã¯ã¿ãŒã®1ã€ã«ãããŸãïŒãã¬ãã£ãã¯ã¹216.119.216.0/24ã¯MastercardïŒAS26380ïŒã«å±ããŸãïŒã
"source_id": "05-193.203.0.185", "path": [ 6939, 12389 ], "community": [], "target_prefix": 216.119.216.0/24
ãããŠãå®éã®çºè¡šã¯æ¬¡ã®ããã«ãªããŸããã
"source_id": "05-193.203.0.63", "path": [ 6720, 8447, 32787, 26380, 26380, 26380 ], "community": [ "1120:1" ], "target_prefix": 216.119.216.0/24
ã€ãŸã ãã®å ŽåãRostelecomã¯ASããçŽæ¥ãã¬ãã£ãã¯ã¹ãã¢ããŠã³ã¹ããŸããïŒAS-PATHã®æåŸã®ASã¯12389ã§ãïŒã AS-SETã«åŸã£ãŠãã¬ãã£ãã¯ã¹ãªã¹ããæ§ç¯ããããROA RPKIã«åŸã£ãŠãã¬ãã£ãã¯ã¹ãæ€èšŒãããããããšã§ãRostelecomã®ã¢ãããªã³ã¯ãšãã¡ãããRostelecomãããã¬ãã£ãã¯ã¹ããã£ã«ã¿ãªã³ã°ããå Žåãåé¡ãåé¿ã§ããŸãã 倧èŠæš¡ãªãªãã¬ãŒã¿éã®ãã¬ãã£ãã¯ã¹ãªã¹ãã®æ§ç¯ã¯ãå€ãã®å Žåè¡ãããããã¹ãŠãRPKIãå®è£ ããŠããããã§ã¯ãããŸããïŒãã ãã é²æã¯ãããŸã ïŒã çè«çã«ã¯ããã®ãããªãã€ãžã£ãã¯ã¯èª°ã§ãè¡ãããšãã§ããŸãããçºè¡šããããã¬ãã£ãã¯ã¹ãå°ãªããšã1ã€ã®ã¢ãããªã³ã¯/ãã£ãŒã¹ããããªãŒã¯ãããå Žåã®ã¿ã§ãã éåžžããã·ã¢ã®å€§èŠæš¡ãªãªãã¬ãŒã¿ãŒã¯ã顧客ã®æ¹åã«ãã¬ãã£ãã¯ã¹ãã£ã«ã¿ãŒãæ§æãããããå°ããªASïŒäžå°èŠæš¡ã®ãªãã¬ãŒã¿ãŒãäžéšã®ãã¹ãã£ã³ã°ããã³äžéšã®äŒæ¥ïŒã¯ãã»ãšãã©ã®å Žåããã®ãããªæ»æãå®è¡ã§ããŸããïŒãã ãããã¹ãŠã¯å°å/åœ/ç¹å®ã®ãªãã¬ãŒã¿ãŒïŒã
ãã ããæ»æè ã¯äŸç¶ãšããŠãã£ã«ã¿ãªã³ã°ãèšå®ãããŠããªãå ŽæïŒã¢ãããªã³ã¯ïŒãèŠã€ãïŒ2017幎ã«ã¯ãã©ãžã«ããã€ãžã£ãã¯ã®ãªãŒããŒã§ããïŒãããå¹æçãªæ»æã®ããã«IPã¢ãã¬ã¹ãååŸããŠæ»æãå®è¡ããŸãïŒå€ãã®å Žåããã®ãããªã€ãã³ãã¯ãã¥ãŒã¹ãã£ãŒãã«åé¡ãããŸãïŒãå®éã®çºä¿¡è ãããç¹å®ã®ãã¬ãã£ãã¯ã¹ïŒé·ããã¹ã¯ïŒãã¢ããŠã³ã¹ããŸãã 次ã«ãROA RPKIæ€èšŒãAS-SETãã¬ãã£ãã¯ã¹ãªã¹ããä¿åããªãæ»æããªã¢ã³ãã«ç§»ããŸãããã
AS-SETã«ASç ç²è ãè¿œå ããBGPãã€ãžã£ãã¯
次ã®ã·ããªãªãæ€èšããŠãã ããã
- æ»æè ã¯ASã¢ãã¬ã¹ãšIPã¢ãã¬ã¹ãååŸããŸãïŒå®éãæè¡çã«ã¯ãIPã¢ãã¬ã¹ã¯å¿ èŠãããŸããã質åãããªãå¯èœæ§ãé«ãã§ãïŒã
- æ»æè ã¯ãçºè¡šããããã¬ãã£ãã¯ã¹ã«é¢ããããŒã¿ã®ãœãŒã¹ãšããŠASã ãã§ãªãAS-SETãæå®ããŠãããŸããŸãªå€§èŠæš¡ãªãªãã¬ãŒã¿ãšIXïŒå°ãªããšã1ã€ã®ãªãã¬ãŒã¿ãŸãã¯IXïŒã«æ¥ç¶ããŸãïŒããã¯ããªãã¬ãŒã¿éçžäºäœçšã®éåžžã®ãã©ã¯ãã£ã¹ã§ãïŒã¯ã©ã€ã¢ã³ããšã¢ãããªã³ã¯ã®é¢ä¿ã«ããå Žåãå«ãïŒããŸãã¯IX-ahã«å«ããå ŽåïŒïŒã éåžžã®å Žåãã¯ã©ã€ã¢ã³ããè¡ãæ¢ãŸãã§ã¯ãªããããèªäœãbgpããã³ç¬èªã®ãããã¯ãŒã¯ãæã€ã¯ã©ã€ã¢ã³ããæã£ãŠããïŒãŸãã¯æã£ãŠããïŒãšæ³å®ãããå ŽåãASã ãã§ãªãAS-SETãæå®ãããŸãã
- ãã°ãããããšãæ»æè ã¯è¢«å®³è ã®ASãAS-SETã«è¿œå ããèªåèªèº«ã§ãã¬ãã£ãã¯ã¹ãã¢ããŠã³ã¹ãå§ããŸãã çºè¡šãããAS-PATHã¯ãAS_ attacker AS_victimsãã®ããã«ãªããŸãã èªåæ§ç¯ããããã¬ãã£ãã¯ã¹ãªã¹ãã®èŠ³ç¹ãããããã³RPKIã®èŠ³ç¹ãããããã¯å®å šã«æå¹ãªã¢ããŠã³ã¹ã§ãããããäž¡æ¹ã®ä¿è·ã¡ã«ããºã ã¯ããã§ã¯æ©èœããŸããã
- ã¢ããŠã³ã¹ããããã¬ãã£ãã¯ã¹ã¯ãå®éã®ã¢ããŠã³ã¹ïŒç ç²è
ã®ã¢ããŠã³ã¹ïŒãšç«¶åãå§ããåè
ã¯ã«ãŒãã£ã³ã°ããŒãã«ã«å
¥ããæè
ã¯åã¡è² ããªãïŒç ç²è
ã®ã¢ããŠã³ã¹ã¯ãã®ãŸãŸæ®ããŸãïŒã æ»æè
ã䜿çšããã¢ãããªã³ã¯ã®æ°ãšIXã®æ°ã«äŸåããŸãã æ»æè
ãã¯ã©ã€ã¢ã³ããšããŠASã«æ¥ç¶ãããã®å
éšïŒã»ãšãã©ã®å ŽåïŒã§ãããŒã«ã«èšå®ã倧ããããã«è¢«å®³è
ã«åã¡ãŸãïŒè¢«å®³è
ãåãã¢ãããªã³ã¯ã®ã¯ã©ã€ã¢ã³ãã§ãªãéãã被害è
ã¯AS-PATHã«åŸã£ãŠåã¡ãŸãã prependïŒãã€ãŸã æ»æè
ã¯ãæ»æã®å¹æãæ倧åããããã«ãAS-SETã§ã§ããã ãå€ãã®ã¢ãããªã³ã¯ã«æ¥ç¶ããå¿
èŠããããŸãã
ãŸããæ»æè ã¯æ倧æ°ã®IXã«æ¥ç¶ããå¿ èŠããããŸãã éåžžããããããã¯ASã¯æ倧ã®ããŒã«ã«èšå®ãIXã«èšå®ãã被害è ãã¬ãã£ãã¯ã¹ãIXã«é¢ä¿ããªãå Žåããããããã¯ASã®ã«ãŒãã£ã³ã°ããŒãã«ã§æ»æè ã®ã¢ããŠã³ã¹ã倱ãããŸãã
çè«çã«ã¯ãããã¯éåžžã«åŒ·åãªæ»æã§ããã幞ããªããšã«å®éã«ã¯ã次ã®å¶éãçºçããŸãã
- å°ãªããšã1ã€ã®æ³äººãäœæããå¿ èŠããããŸãããå®éã«ã¯ãããŸããŸãªåœã§å¿ èŠã«ãªãå¯èœæ§ãé«ãã§ãããã
- LIR / RIRãšãã»ãšãã©ã®å Žåãæ¥ç¶æãæ¯æããªãã¬ãŒã¿ãŒIXãšå¥çŽãçµã¶å¿ èŠããããŸãã
- äžéšã®æŒç®åã¯ãŸã AS-SETãã¬ãã£ãã¯ã¹ãªã¹ããèªåçã«äœæããªãããããã®ããã®æåãæžãå¿ èŠããããŸãã çµéšè±å¯ãªç®¡çè ã¯ãåºãç¥ãããŠããAS-kaãæªç¥ã®äŒç€Ÿã®AS-SETã«ç»å ŽãããšãäœããçããŸãã
- æ»æåŸã䜿çšãããŠããæ©åšïŒäœããã®ããŒã¿ã»ã³ã¿ãŒã«ããå ŽåïŒã¯ãåäºäºä»¶ãéãããå Žåã«æŒåãããå¯èœæ§ãé«ããªããŸãã
- ããŸããŸãªæŒç®å/ IXã®ãã¬ãã£ãã¯ã¹ãªã¹ãã¯ããŸããŸãªã¿ã€ãã³ã°ã§æŽæ°ãããããããããæãç°¡åãªä»äºã§ã¯ãªãå Žåã¯ã誰ãæŽæ°ããããåæããå¿ èŠããããŸãã
å¯èœãªä¿è·å¯ŸçïŒ
- çè«çã«ã¯ããã®ãããªæ»æããé²åŸ¡ããã«ã¯ãã§ããéãå€ãã®ã€ã³ã¿ãŒãã§ã€ã¹ïŒããè¯ããã¯ã©ã€ã¢ã³ãåŽãããŒã«ã«èšå®ãé«ãããïŒãšIXãå¿ èŠã§ãã ã€ãŸã æ»æè ãè¡ãã®ãšåãããšãè¡ããŸãã ãã¡ãããå®éã«ã¯ãããå®è£ ããã®ã¯éåžžã«é£ãããããªãã®ãªãœãŒã¹ãå¿ èŠã«ãªããŸãã ãã®æ¹æ³ã¯ãããããŒã¹ã§æ å ±ã»ãã¥ãªãã£ãµãŒãã¹ãæäŸãããµãŒãã¹ã«ã®ã¿é¢é£ããŸãã
- Webãµã€ããããå Žåã¯ãã¢ã«ãŠã³ãã¿ã¹ã¯ã§CAAã¬ã³ãŒãã䜿çšããŸãïŒSSL蚌ææžãããã€ããŒããµããŒãããŠããå ŽåãLetsencryptããµããŒãããŠããŸãïŒïŒ RFC6844ãåç §ïŒã ãã®å Žåãæ»æè ã¯èšŒææžãçºè¡ã§ããŸããïŒCAAã¬ã³ãŒããå€æŽã§ããªãå ŽåïŒã
- çè«çã«ã¯ãBGPsecã®åºç¯ãªå®è£ ã«ãã£ãŠãã®ãããªæ»æã¯æé€ãããã¯ãã§ããããã®éåœã¯ãŸã æ確ã§ã¯ãããŸããïŒå®éã«ã¯ãŸã é©çšãããŠããªãããéåžžã«ãŸãã§ãïŒã
- 代æ¿æ€èšŒAS_PATHã®å®è£ ïŒBGPsecãªãïŒïŒãããŸã§ã®ãšãããããã¯ããã®åºç¯ãªå®è£ ã®å Žåã«èª¬æãããåé¡ã解決ãããã©ããã§ãïŒã
- AS-SETã«å€éšASãç¡å¶éã«è¿œå ããããšãçŠæ¢ãããšïŒASææè ã®èš±å¯ãªãã«ïŒãAS-SETã䜿çšããŠãžã§ã€ã³ãããã£ã«ã¿ãªã³ã°ããå°åã§ãã®ãããªæ»æãå®è¡ããå¯èœæ§ãæžããããšãã§ããŸãã çŸåšããã®ãããªçŠæ¢äºé ã¯ãããŸããã
å®éãã»ãšãã©ã®èªè ã«ãšã£ãŠã圌ãã«é©çšãããå¯äžã®ã¢ããã€ã¹ã¯ãNoã2ïŒCAAã¬ã³ãŒãã§ã®ã¢ã«ãŠã³ãã®äœ¿çšã«é¢ããŠïŒã§ãããæ¥ç¶æ§ã®è¯ããã¹ããéžæãããšããç¹ã§éšåçã«No. 1ã§ãã åæã«ãã¬ã³ãŒãããã¹ãããŠããDNSãµãŒãã¹ã«å¯Ÿããæ»æã®å¯èœæ§ãèŠããŠããå¿ èŠããããŸãïŒãã ããããã¯å¥ã®åé¡ã§ãããå€ãã®è³æããããŸãïŒ
torproject.orgããã£ããã£ããã®ã¯é£ããã§ãã
æ»æè ã¯æ¬¡ã®2ã€ã®åé¡ã解決ããå¿ èŠããããŸãã
- ãã©ãã£ãã¯ãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã«ãªãã€ã¬ã¯ãããŸãïŒã¿ãŒã²ãããªãŒãã£ãšã³ã¹-åœãµã€ããåãåããŠãŒã¶ãŒïŒ
- 蚌ææžãçæãã
å ¥éïŒ
$ dig torproject.org CAA +short 128 issuewild "\;" 0 iodef "mailto:torproject-admin@torproject.org" 128 issue "globalsign.com" 128 issue "letsencrypt.org" $ dig torproject.org +short 95.216.163.36 138.201.14.197
ã芧ã®ãšãããCAAã¬ã³ãŒãããããletsencryptãã蚌ææžãååŸã§ããŸããCAAã¬ã³ãŒãã«ã¯ã¢ã«ãŠã³ããžã®ãã€ã³ãããããŸãããã€ãŸããçè«çã«ã¯åé¡ã¯æ»æè ã«ãã£ãŠè§£æ±ºãããŸãã torproject.orgã®IPã¢ãã¬ã¹ã¯ãæåãªHeznerãã¹ãã£ã³ã°ãææããŠããŸãã
æ»æè ã®ã¿ãŒã²ãããªãŒãã£ãšã³ã¹ããã·ã¢ã®ãªãã¬ãŒã¿ãŒã®ã¯ã©ã€ã¢ã³ãã§ãããšããŸãã ããºããŒã¯ãã·ã¢ã®äºæ¥è ã®ã¯ã©ã€ã¢ã³ãã§ã¯ãããŸããïŒãã ããçŽæ¥ãŸãã¯IX-sãä»ããŠå€§èŠæš¡ãªäºæ¥è ãšãã¢ãªã³ã°ããŠããŸãïŒã æ»æè ãCAãã©ãã£ãã¯ãèªåèªèº«ã«ãªãã€ã¬ã¯ãããæãç°¡åãªæ¹æ³ã¯ããã®ãªãã¬ãŒã¿ãŒã®ã¯ã©ã€ã¢ã³ãã«ãªããããé«ãããŒã«ã«èšå®ãç ç²ã«ããŠåçŽã«åã€ããšã§ãã ããã§ã¯ããã¹ãŠãç¹ã«æ¯èŒçåçŽã§æ確ã§ãã
letsencryptã§èšŒææžãååŸããã«ã¯ãletsencryptããã¹ãã£ã³ã°ããŠãããããã€ããŒãå¿ èŠã§ãHeznerïŒAS24940ïŒã§ã¯ãªãæ»æè ã«ãã©ãã£ãã¯ãèªå°ããŸãã letsencryptã¯ã¢ã¡ãªã«ãšãšãŒãããã®IPã®ç°ãªãã¢ãã¬ã¹ã«è§£æ±ºããŸãããacme-v02.api.letsencrypt.org / 2.19.125.202ããã®ãã©ãã£ãã¯ãæ»æè ã®ãã¹ââãã«éä¿¡ãããã®ã«åœ±é¿ãäžããããšãã©ãã»ã©é£ãããèŠãŠã¿ãŸãããã ããã§ã¯ãletsencryptãäžçäžã§éåžžã«è¯å¥œãªæ¥ç¶æ§ãåããAkamai CDNã§ãã¹ããããŠãããšããäºå®ã«çŽé¢ããŠããŸãïŒã»ãšãã©ã®äž»èŠãªIXã«ååšããå€æ°ã®äž»èŠãªãã¬ãŒã€ãŒãšçŽæ¥çµåããŠããŸãïŒã ã¢ã«ãã€ã«ã¯ãããªãã¯LGããããŸãããååãšããŠãtraceroute / pingãå®è¡ã§ããã¯ã©ã€ã¢ã³ãçšã®APIããããŸããããããªãã¯LGããªããŠãã ãã¢ãªã³ã°ããŒã¿ããŒã¹ã調ã¹ãŠãã®ååšã®èŠæš¡ãè©äŸ¡ã§ããŸãã åæ§ã«ã heznerãèŠãããšãã§ããŸãã äž¡æ¹ã®ASã«åãIXãååšããããšã¯å®¹æã«ããããŸãããã®ãããçµ±äžã«è¿ã確çã§ãAkamaiããŒãã«ïŒAS20940ïŒã®AS Heznerãã¬ãã£ãã¯ã¹ïŒAS20940ïŒã¯AS_PATH 24940ã§èŠãããšçµè«ä»ããããšãã§ããŸãã IXãéããŠHeznerã®ãã¬ãã£ãã¯ã¹ãã¢ããŠã³ã¹ããããšãããšãAS_PATHã«åŸã£ãŠãHeznerããã®å®éã®ã¢ããŠã³ã¹ã倱ãããŸãïŒAS_PATHã«ã¯æ»æè ã®ASãå«ãŸããããïŒã èãããã解決çã¯ãæ»æè ãšã¢ã«ãã€ã®éã§ãçŽæ¥ããã¢ãªã³ã°ãç·šæããããšã§ãïŒã¢ã«ãã€ãããã«åæããããŒã«ã«ç°å¢ãIXãšã®ãžã£ã³ã¯ã·ã§ã³ãããé«ãå ŽåïŒã
èŠçŽãããšãä»ã®èª°ãã®ASãAS-SETã«è¿œå ãããšãtorproject.org Webãµã€ãã®å€§å¹ ãªå£åãåŒãèµ·ããå¯èœæ§ããããŸãïŒãã ããäžè¬çãªã±ãŒã¹ã§ã¯ãªããå€æ°ã®ã¯ã©ã€ã¢ã³ãã«å¯ŸããŠïŒãå®éã®çºä¿¡è ïŒHeznerïŒãšletsencryptïŒã¢ã«ãã€ïŒã䜿çšããCDNãšã®æ¥ç¶ãè¯å¥œã§ãããããããŸããããªãå¯èœæ§ããããŸãã ãã ããä»ã®ã±ãŒã¹ã§ã¯ã被害è ãµã€ãã®ãã¹ããšèªèšŒæ©é¢ã®éã«ééASããããããããAS_PATHã«ååšããå Žåã説æããæ¹æ³ã䜿çšããŠèšŒææžãååŸãããªã¹ã¯ãå€§å¹ ã«å¢å ããŸãã