ãã®èšäºã¯3ã€ã®éšåã«åãããŠããŸãã 1ã€ãã«ã¯ãBGPãã€ãžã£ãã¯ãšãã®åŸæ¥ã®ããŒãžã§ã³ã«é¢ããäžè¬æ
å ±ãå«ãŸããŠããŸãã ãã®çŸè±¡ã«ç²ŸéããŠãã人ã¯ã第2éšã«çŽæ¥è¡ãããšããå§ãããŸãã 2çªç®ã®éšåã§ã¯ãAS-SETã«å€éšASã远å ããŠãå€éšãã¬ãã£ãã¯ã¹ãã¢ããŠã³ã¹ããæ¹æ³ã«ã€ããŠèª¬æããŸãã 3çªç®ã®ããŒãã§ã¯ã2çªç®ã®ããŒãã§èª¬æããæ¹æ³ã䜿çšããŠãtorproject.orgãªãœãŒã¹ã®IPã¢ãã¬ã¹ãååŸãããã®èšŒææžãçºè¡ããè€éããè©äŸ¡ããŸãã èªè
ã¯BGPv4ã®ååã«ç²ŸéããŠãããšæ³å®ãããŸãã
åçŽãª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ã«ååšããå Žåã説æããæ¹æ³ã䜿çšããŠèšŒææžãååŸãããªã¹ã¯ã倧å¹
ã«å¢å ããŸãã