ããã¯ã APNIC ããã° ïŒã¢ãžã¢å€ªå¹³æŽãããã¯ãŒã¯æ å ±ã»ã³ã¿ãŒïŒã§å ¬éãããArtem ximaera Gavrichenkovã«ãããmemcachedå¢å¹ æ»æã®äºå®ãç解ããããšããå ã®åºçç©ã®ç¿»èš³ã§ãã
2æ25æ¥ãã3æ3æ¥ãŸã§ã®é±ã¯ãäžçäžã®ãã¹ãŠã®å Žæãã€ãŸãã€ã³ã¿ãŒãããäžã§ãmemcachedã§å¢å¹ ãããDDoSæ»æã®ç¹ã§é«ãã£ãã
ããã«ãããããããå¢å¹ ãããæ»æã«ã€ããŠç¥ã£ãŠãããã¹ãŠã®äºå®ãããäžåºŠæãåºããŠã¿ãŸãããã
äºå®ãã®1ïŒã¢ã³ãã¯ãããŸãã
NTPïŒNetwork Time ProtocolïŒã¯ã2013幎ã«DDoSæ»æã®å¢å¹ åšãšããŠæªçšãããæåã®ãããã³ã«ã§ããã åœæãæ°åãæ°åäžã®NTPãµãŒããŒããããã¯ãŒã¯å šäœã«å±éãããŠããããããã®å¢å¹ ãã¯ãã«ã®äœ¿çšã¯æ»æè ã«ãšã£ãŠéåžžã«æçã§ããã ãããŠNTPã¯ãå¢å¹ ãããNTP DDoSæ»æã®æ³¢ããããããããªæ©äŒãäžããŸããã 2014幎ã®åãããã°ããã®éãã¡ã€ã³ã¢ã³ããšããŠã®NTPã¯ãDNSïŒãã¡ã€ã³ããŒã ã·ã¹ãã ïŒãããã³ã«ãããããã«äžè¬çã«ãªããŸããã
2015幎ã«ã¯ããããããããå€§å¹ ã«å¢å ããŸããã 圌ãã¯UDPïŒUser Datagram ProtocolïŒããŒã¹ã®ã¢ã³ãã䜿çšããåœæ芳å¯ãããDDoSæ»æã®åž¯åã®èšé²ãæš¹ç«ããŸããã ããããããããšã«ç°ãªãææ³ã䜿çšããŸããããDynãšOVHã«ãããµãŒãã¹æåŠã2016幎ã«ç€ºããããã«ãæ°åã®äŸµå®³ãããããã€ã¹ãšNTPãŸãã¯DNSå¢å¹ ã®çµã¿åããã«ããããã®ãããªæ»æã¯éåžžã«å±éºã«ãªããŸãããããããããïŒCïŒCïŒãããã¯ãŒã¯å šäœã®ããããããå¶åŸ¡ããã£ããã£ããŸãã
åã幎ã®2016幎ã«ã¯ãNTPãšDNSã ããã¢ã³ããšããŠäœ¿çšããããããã³ã«ã§ã¯ãªãããšãæ確ã«ç€ºãããŸããã PortmapãSNMPãSSDPãChargenãMSSQLãCLDAPãããã³ãã®ä»ã®ãããã¯ãŒã¯ãããã³ã«ã¯ãDDoSæ»æã匷åããåªããæ©äŒãæäŸããŸãã ããã«ããããããã次ã®2017幎ã«ã¯ãä»ã®ãããã³ã«ã®æé»é¢ãæªçšããå¯èœæ§ã®ããããŸããŸãªè匱æ§ãããããããŸãããããã¯ãç¥èãæã€æ»æè ãäŒæããšããããããŸã§ç 究ãããŠããªãæ°ããæ»æãã¯ãã«ãæ¢ãããšããããã§ãã
DNSå¢å¹
æ»æã«é¢ããè±èªã®ãããªã€ã³ã¿ãã¥ãŒ
äºå®2ïŒå¢å¹ ã¯å€æŽãããŠããããé²åãããŠããŸãã-æ°ããè匱æ§ãçºèŠãããã°ããã§ã
ããã«ã2018幎2æäžæ¬ãš3æäžæ¬ã®ã€ãã³ããç®æããã®ã¯è匱æ§ã§ãã 2017幎ã«0Keeã®äžåœäººç 究è ã°ã«ãŒããmemcachedãä»ããå¢å¹ çµè·¯ã«ã€ããŠèª¬æããåŸãæ»æè ãä¿è·ãããŠããªãmemcachedãµãŒããŒã䜿çšããå¢å¹ DDoSæ»æã®äžçèšé²ãæš¹ç«ããã®ã«ãã£ãæ°ãæããããããŸããã§ããã ã»ãŒãã¹ãŠã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ç¡æã§ç¡æã§ååšããmemcachedã¯ãä»®æ³çã«ç¡éã®å¢å¹ ä¿æ°ãæäŸãã匷åãªç Žå£ããŒã«ã§ãïŒã¢ã«ãã€ã«ãããšãå¢å¹ ä¿æ°ã¯10000x以äž-50000x以äžïŒã ãã®å Žåããã®ãããªãªã³ã¯ã¬ãã«ã®æ»æã®äžã§çãæ®ãããã®äž»ãªèŠä»¶ãšããŠãäžç¶æ¥ç¶ã®ã¹ã«ãŒãããã«åã³ç«ã¡åãããŸãã
å ã®ãã¬ãŒã³ããŒã·ã§ã³0Keeãžã®ãªã³ã¯ ã
10幎åã«UDPãã©ãã£ãã¯ã®çèŽãåºæ¬çãªmemcachedæ§æã«è¿œå ããããšããæ°ããã¢ã³ãã®èªçã¯åçŽã«æããã§ããã ã»ãã®10幎åãã¢ã³ãèªäœã¯ã»ãšãã©èª°ãæ°ã«ããŸããã§ããã 20幎åããç¶ããŠãããã±ããããã³ãã±ããåŠçé床ã®å¢å ãšããç¶æ³ã«ãããŠããããåé¡ã«ãªããŸããã
åå°ãšå¢å¹ ã®äžè¬çãªæŠå¿µã¯ãŸã£ããå€ãã£ãŠããŸããã æåã«ãäžæ£ãªãªã¯ãšã¹ããè匱ãªïŒããŒã11211ã§äžçäžã«å ¬éãããŠããïŒmemcachedãµãŒããŒã«éä¿¡ãããŸãïŒãã®ææ³ã¯åŸæ¥ã IPã¹ããŒãã£ã³ã°ãšåŒã°ããŠããŸã ïŒã ãã®åŸãUDPãµãŒããŒã¯å¿çãæºåããæ»æè ã®å©ããåããŠæ°åã®å¿çãã¿ãŒã²ããã«éä¿¡ããmemcachedå¿çã®èŠ³ç¹ãããã®å®å šã«æ£åœãªãã®ã§ã¿ãŒã²ãããã¹ããæºãããŸãã PPSãšBPSã®èšå€§ãªå€ã¯ãäžè¬çãªæ¹æ³ãæ段ã§ã¯ãã€ãã¹ã§ããŸããããã®ãããªå€§éã®ãã©ãã£ãã¯ã¯ããªãœãŒã¹ã®æ¯æžã«ãããããã¯ãŒã¯å¢çã®ã«ãŒãã£ã³ã°ããã€ã¹ã«ã¢ã¯ã»ã¹ã§ããªããªãããã§ãã
äºå®ãã®3ïŒäœããæ©èœãããšããããã¯æ©èœããŸãã ããããæã«ã¯ããªãã«å¯ŸããŠ
ãã®ãããDDoSæ»æã®åž¯åã§ã¯æ°ããäžçèšé²ããã§ã«èšå®ãããŠããŸããArborNetworksã¯ãã¯ã©ã€ã¢ã³ãã®1ã€ã§1.7 Tbpsã瀺ããŸããã ãã¢ã«ãã€ã®ä¿è·äžã«ããGitHub 㯠1.3 Tbpsãçãæ®ããŸãã ã GitHubãžã®æ»æã¯å€ãã®ã¡ãã£ã¢ã®æ³šç®ãéããŸãããããã¯å€§èŠæš¡ã§äººæ°ã®ãããªãœãŒã¹ã§ããããã®éåžžã®éçšã¯äžçäžã®å€ãã®ãµãŒãã¹ãšè£œåã«äŸåããŠããããã§ãã Qrator Labsã¯ã©ã€ã¢ã³ã-Qiwi決æžã·ã¹ãã ã¯ã480 Gbpså¢å¹ ãããmemcached UDPãã©ãã£ãã¯ã®æ»æãç¡ååã§ããŸããã
Shodanã®çµ±èšã§ã¯ãäžçäžã®ã©ãããã§ãæ»æè ã«éãããå€æ°ã®ã¢ã¯ãã£ããªmemcachedã¢ã³ããäŸç¶ãšããŠè¡šç€ºãããŠããŸãã
ããŒã11211ã®Shodançµ±èš
ãã®ã¹ã¯ãªãŒã³ã·ã§ãããããããããã«ãäžåœæ¬åãšç±³åœã¯ãmemcachedã¢ã³ãã®2ã€ã®äž»èŠãªãœãŒã¹ã§ãã Qrator.Radarã¯ãã¢ã¯ã»ã¹å¯èœã§è匱ãªmemcachedãµãŒããŒã®æ°ã«é¢ããçµ±èšãåéããŸããã
è匱ãªmemcachedãµãŒããŒã®ç·æ°ã«é¢ããQrator.Radarçµ±èš
ãã®ãããªãµãŒããŒã®æ°ã¯éåžžã«æ¥éã«æžå°ããŠããŸãã ãªãã§ïŒ 誰ã殺ããããªãã殺ãããããªãã ãªãã¬ãŒã¿ãŒïŒå€å žçãªé»æ°éä¿¡ãããã€ããŒãšèŒžéãªãã¬ãŒã¿ãŒïŒã¯ã圌ãã®ãããã¯ãŒã¯ã«ã€ããŠå¿é ããŠããããéæ³ããšç°¡åã«åŒã°ãããã®ã匷åããããŒã«ãšããŠäœ¿çšã§ããããšãå¿é ããŠããŸãã
ãã®æ å ±ãããã«ããããããç解ããããããããã«ãåã ã®èªåŸã·ã¹ãã ã®é¡§å®¢ã³ãŒã³å ã®å¢å¹ åšã®æ°ã«é¢ããçµ±èšãåéããŸããããã®ãªã¹ãã®äžçªäžã®äŸã次ã«ç€ºããŸãã
DDoSmonã¯ãmemcachedã§å¢å¹ ãããDDoSæ»æã®ã¿ãŒã²ããæ°ã«é¢ããããªã詳现ãªçµ±èšãååŸããæ©èœãæäŸããŸããçŸåšã®åŸåã衚瀺ãããŸãïŒ https : //ddosmon.net/memcached_amplification_attack
äºå®ãã®4ïŒä¿®æ£ã§ãããã®ã¯ãã¹ãŠä¿®æ£ããå¿ èŠããããŸã
MemcachedãŠãŒã¶ãŒã¯ãããŒã¿è»¢éã«UDPã䜿çšããªãå ŽåãUDPãµããŒããç¡å¹ã«ããå¿ èŠããããŸãã ãŸããmemcachedã¯localhostã®ã¿ããªãã¹ã³ããå¿ èŠããããŸã-äžéšã®ããã©ã«ãã®ã€ã³ã¹ããŒã«ã§çºçããããã䜿çšå¯èœãªãã¹ãŠã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ã¯ãããŸããã
åç¬ã®äŒç€ŸãŸãã¯ç¹å®ã®ãªãœãŒã¹ãæ åœãã1人ã®äŒç€Ÿããã倧ãããã¬ãŒã€ãŒã¯ããããã¯ãŒã¯ã®ä»ã®éšåããmemcachedãµãŒããŒãèŠããããã¡ã€ã¢ãŠã©ãŒã«ã«ãã£ãŠéããããŠããªãããšã100ïŒ ä¿èšŒããå¿ èŠããããŸãã
Explotable Port Filtersã®å®è£ ã«é¢ããAUSNOGïŒAustralian Network Operators 'GroupïŒ ã®æšå¥šäºé ã«æ³šæããŠãã ããã
ãŸãããããã¯ãŒã¯äžã®è匱ãªãµãŒããŒã®æ°ã¯æžããŸãããæ»æè ã¯è匱æ§ãæªçšããæ°ãã匷åãªæ¹æ³ãæ¢ãç¶ããŠãããäžè¬çã«çŸåšãã®æ€çŽ¢ã«æåããŠããŸãã memcachedãµãŒããŒãæ åœããŠãããšæãããã·ã¹ãã 管çè ã¯ãç¡è¬ãŸãã¯ç¡ç¥ãªæ¯ãèãããããããåé¡ãåŒãèµ·ããæ®ãã®ãã£ãã·ã¥ãéããããšããé·ãè©Šè¡ããéããããšã¯ã§ããŸããã ãã®ããããªãã¬ãŒã¿ã¬ãã«ã®memcachedå¢å¹ ã®åé¡ã«å¯ŸåŠããããšãéåžžã«éèŠã§ãã
çŸæç¹ã§ã¯ããããè¡ãæåã®æ¹æ³ã¯ãå€åãã®ãã¹ãŠã®ããŒãã«ã¬ãŒãå¶éãé©çšããããŒã11211ã§UDPãã©ãã£ãã¯ãå¶åŸ¡ã§ããããã«ãªããŸã§å¶åŸ¡ããããšã§ãã ããã«ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã顧客ãããã³å¶çºçãªè¢«å®³è ãä¿è·ãããŸãã
äžåºŠã«ããã€ãã®æšå¥šäºé ãå«ãŸããŠããŸãïŒ http : //www.senki.org/memcached-on-port-11211-udp-tcp-being-exploited/
NTTã¯ãmemcached UDP / 11211ããNTPãCHARGENãSSDPãšåããæªçšå¯èœãªããŒããã®ãªã¹ãã«è¿œå ããããšããå§ãããŸãã 次ã«ãIOS XRã®èšå®äŸã瀺ããŸããããã«ãããå¢å¹ ã®åœ±é¿ãåããããUDPããŒãã§æ倧1ïŒ ã®ã¬ãŒãå¶éãèšå®ã§ããŸãã Qrator Labsã¯ãmemcachedãã©ãã£ãã¯ãåŠçãããã®æ¹æ³ãéåžžã«æçšãã€å¹æçã§ãããšèããŠãããå±éã«æšå¥šããŠããŸãã
ipv4 access-list exploitable-ports
permit udp any eq ntp any
permit udp any eq 1900 any
permit udp any eq 19 any
permit udp any eq 11211 any
!
ipv6 access-list exploitable-ports-v6
permit udp any eq ntp any
permit udp any eq 1900 any
permit udp any eq 19 any
permit udp any eq 11211 any
!
class-map match-any exploitable-ports
match access-group ipv4 exploitable-ports
match access-group ipv6 exploitable-ports-v6
end-class-map
!
policy-map ntt-external-in
class exploitable-ports
police rate percent 1
conform-action transmit
exceed-action drop
!
set precedence 0
set mpls experimental topmost 0
!
class class-default
set mpls experimental imposition 0
set precedence 0
!
end-policy-map
!
interface Bundle-Ether19
description Customer: the best customer
service-policy input ntt-external-in
ipv4 address xxx/x
ipv6 address yyy/y
...
!
interface Bundle-Ether20
service-policy input ntt-external-in
...
... etc ...