AMNESIA33£º¿ªÔ´TCP/IPºÍ̸ջϵÁзì϶·ÖÎöÓëÑéÖ¤

°ä²¼¹¦·ò 2020-12-14

ý½é


½üÆÚ £¬¹ú±í°²È«×êÑÐÈËÔ±ÔÚ¶à¸ö±»¿í·ºÊ¹ÓõĿªÔ´TCP/IPºÍ̸ջ·¢ÏÖÁ˶à¸ö·ì϶ £¬ÕâһϵÁзì϶ͳ³ÆÎªAMNESIA33¡£ÕâЩ·ì϶¿í·º´æÔÚÓÚǶÈëʽºÍÎïÁªÍøÉ豸ÖÐ £¬Ó°ÏìÁ˶à¸öÐÐÒµÁìÓò£¨Ô̺¬Ò½ÁÆ¡¢ÔËÊä¡¢ÄÜÔ´¡¢µçÐÅ¡¢¹¤Òµ½ÚÔì¡¢ÁãÊÛºÍóÒ׵ȣ© £¬Ä¿Ç°ÒÑÖªÁìÓòÄÚÉæ¼°Á˳¬150¼Ò¹©¸øÉÌÒÔ¼°ÊýÒÔ°ÙÍò¼ÆµÄÉ豸¡£ÓëURGEN11ºÍRipple20·ÖÆçµÄÊÇ £¬AMNESIA33Ó°ÏìµÄÊǶà¸ö¿ªÔ´TCP/IPºÍ̸ջ £¬Òò¶øÕâЩ·ì϶Äܹ»ÇÄÎÞÉùÏ¢µØÓ°Ïìµ½ÎÞÊý¸ö´úÂë¿â¡¢¿ª·¢ÍŶÓÓë¸÷¸ö¹«Ë¾µÄ²úÆ·¡£Ä¿Ç°ÒÑÖªµÄ·ìÏ¶Éæ¼°µ½ÁËÖÇÄܼҾӡ¢¹¤³§PLC¡¢SCADAÉ豸Ó빤¿Ø»¥»»»ú £¬µçÁ¦¼à¿ØµÈÉ豸¡£


ÕâЩ·ì϶´æÔÚÓÚuIP¡¢FNET¡¢picoTCPºÍNut/NetµÈ¿ªÔ´ºÍ̸ջÉÏ £¬Ó°ÏìTCP/IPºÍ̸ջµÄ¶à¸ö×é¼þ £¬Ô̺¬DNS¡¢IPv6¡¢IPv4¡¢TCP¡¢ICMP¡¢LLMNRºÍmDNSµÈ¡£ÆäÖÐÔ̺¬¶à¸öÑϳÁ·ì϶ £¬ËüÃǵÄCVE±àºÅ±ðÀëΪCVE-2020-17437¡¢CVE-2020-17443¡¢CVE-2020-24338¡¢CVE-2020-24336¡¢CVE-2020-25111¡£


CVE-2020-17437£¨CVSSÆÀ·Ö8.2£©¡¢CVE-2020-17443£¨CVSSÆÀ·Ö8.2£©¿Éµ¼ÖÂÉ豸»Ø¾ø·þÎñ¡£CVE-2020-24338¡¢CVE-2020-24336¡¢CVE-2020-25111£¨ÕâÈý¸öCVSSÆÀ·Ö¾ùΪ9.8£©¶¼¿Éµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐÐ(RCE)¡£ÆäËü28¸ö·ì϶µÄÑϳÁˮƽ¸÷±ð £¬CVSSÆÀ·Ö±ðÀë´Ó4µ½8.2¡£


ÓÉÓÚIoT¡¢OT¡¢ITÉ豸¹©¸øÁ´µÄ¸öÐÔ £¬·ì϶ӰÏìµÄÉ豸¶à¶à £¬Ó°ÏìÁìÓò¹ãÇÒ³ÖÐø¹¦·ò³¤ £¬·ì϶½¨¸´µÄÖ´ÐнÏÄÑÌ⡣ͬʱ £¬ÓÉÓÚuIP¡¢picoTCP¿ªÔ´ºÍ̸ջÒѾ­²»ÔÙÊØ»¤ £¬ËùÒÔ²¿ÃÅ·ìϼû»Óв¹¶¡ £¬ºÃ¶à²úÆ·Ö»ÄÜѰÕÒ´úÌæ¼¼Êõ¹æ»®»òÕßÊÇÔö³¤·À±¸´ëÊ©¡£


Òò¶ø £¬±¦ÔËÀ³¹Ù·½ÍøÕ¾ADLab¶ÔÓйطì϶½øÐÐÁË·ÖÎö £¬²¢³É¹¦¸´ÏÖÁ˶à¸ö·ì϶ £¬¿ª·¢ÁËAMNESIA33Óйطì϶¼ì²â¼¼Êõ £¬²¢ÌáÈ¡ÁËÁ÷Á¿¼à¿ØÌصã £¬ÕâЩ¼¼ÊõÔÚÀûÓõ½±¦ÔËÀ³¹Ù·½ÍøÕ¾°²È«²úÆ·ÖС£ÎªÁË»º½â·ì϶µÄÓ°Ïì £¬ÎÒÃÇÌá³öÏÂÁзÀ±¸½¨Òé¡£

·À±¸½¨Òé 


¶ÔÓÚÕâЩ·ì϶µÄ·À±¸»º½â´ëÊ© £¬ÎÒÃǽ¨Òé²ÉÈ¡Èçϼ¸¸ö´ëÊ©£º 


¡ñ ÅäÖÃÄÚÍøÉ豸µÄDNS·þÎñÆ÷ΪÄÚÍøDNS·þÎñÆ÷¡£

¡ñ Èç²»ÓÃÒª £¬Çë¹Ø¹ØIPv6ÉèÖá£

¡ñ ÀûÓéɨ²úÆ·¼ø±ð³öѡȡÎÊÌâºÍ̸ջµÄÉ豸×ʲú £¬¶Ô×éÖ¯ÄÚ¿ÉÄÜ´æÔÚÎÊÌâµÄIoT¡¢OTºÍITÉ豸½øÐзçÏÕÆÀ¹À¡£

¡ñ ·À»ðǽ¼°IPS²úÆ·²ÎÓëAMNESIA33·ì϶¹¥»÷¼ø±ðÌØµã £¬¼à¿Ø¶ñÒâÁ÷Á¿¡£

¡ñ Èç²»ÓÃÒª £¬É豸²»ÒªÂ¶³öÔÚ¹«Íø¡£

¡ñ ¾¡¿ÉÄܸüÐÂÓйØÊÜÓ°ÏìºÍ̸ջµ½×îа汾¡£


ϱíÊDz¿ÃÅÒѾ­½¨¸´µÄºÍ̸ջ¼°°æ±¾£º


TCP/IPºÍ̸ջ

½¨¸´°æ±¾

FNET

4.70¼°ÒÔÉÏ

uIP-Contiki-NG

4.6.0¼°ÒÔÉÏ

Nut/Net

5.1¼°ÒÔÉÏ



CISAͬÃË·ÖÏíÁË13¸öÉæ¼°µ½AMNESIA33·ì϶µÄ¹«Ë¾µÄ²úÆ·½¨¸´½¨Òé £¬Ô̺¬ÁËMicrochip¡¢SiemensµÈ¹«Ë¾µÄ²úÆ· £¬Ïê¼û²Î¿¼Á´½Ó[5]¡£


ÓйظÅÏë½éÉÜ 


1¡¢DNSºÍ̸½âÎö


DNSµÄÒªÇóºÍÏìÓ¦µÄ¸ù»ùµ¥ÔªÊÇDNS±¨ÎÄ£¨Message£©¡£ÒªÇóºÍÏìÓ¦µÄDNS±¨ÎĽṹÊÇÆëȫһÑùµÄ £¬Ã¿¸ö±¨ÎͼÓÉÒÔÏÂÎå¶Î£¨Section£©×é³É£º


ͼƬ


DNS HeaderÊÇÿ¸öDNS±¨Îͼ±ØÐëÕ¼ÓеÄÒ»²¿ÃÅ £¬ËüµÄ³¤¶È¹Ì¶¨Îª12¸ö×Ö½Ú¡£Question²¿ÃÅ´æ·ÅµÄÊÇÏò·þÎñÆ÷²éÎʵÄÓòÃûÊý¾Ý £¬Í¨³£Çé¿öÏÂËüÖ»ÓÐÒ»ÌõEntry¡£Ã¿¸öEntryµÄÌåʽÊÇÒ»ÑùµÄ £¬ÈçÏÂËùʾ£º


ͼƬ


QNAMEÊÇÓÉlabelsÐòÁÐ×é³ÉµÄÓòÃû¡£QNAMEµÄÌåʽʹÓÃDNS³ß¶ÈÃû³Æ°µÊ¾·¨¡£Õâ¸ö×Ö¶ÎÊDZ䳤µÄ £¬Òò¶øÓпÉÄܳÊÏÔìæÊý¸ö×Ö½Ú £¬µ«²»½øÐв¹Æë¡£DNSʹÓÃÒ»Öֳ߶ÈÌåʽ¶ÔÓòÃû½øÐбàÂë¡£ËüÓÉһϵÁеÄlabel£¨ºÍÓòÃûÖÐÓÃ.Ô׸îµÄlabel·ÖÆç£©×é³É¡£Ã¿¸ölabelÊ××ֽڵĸßÁ½Î»ÓÃÓÚ°µÊ¾labelµÄÀàÐÍ¡£RFC1035ÖзÖÅäÁËËĸöÀïÃæµÄÁ½¸ö £¬±ðÀëÊÇ£º00°µÊ¾µÄͨ³£label £¬11£¨0xC0£©°µÊ¾µÄѹËõlabel¡£


Answer¡¢AuthorityºÍAdditionalÈý¸ö¶ÎµÄÌåʽÊÇÆëȫһÑùµÄ £¬¶¼ÊÇÓÉÁãÖÁ¶àÌõResource Record£¨×ÊÔ´¼Í¼£©×é³É¡£ÕâЩ×ÊÔ´¼Í¼ÓÉÓÚ·ÖÆçµÄÓô¦¶ø±»·Ö¸ô´æ·Å¡£Answer¶ÔÓ¦²éÎÊÒªÇóÖеÄQuestion £¬QuestionÖеÄÒªÇó²éÎÊÁ˾ֻáÔÚAnswerÖиø³ö £¬ÈôÊÇÒ»¸öÏìÓ¦±¨ÎĵÄAnswerΪ¿Õ £¬×¢Ã÷Õâ´Î²éÎÊûÓÐÖ±½Ó»ñµÃÁ˾Ö¡£


RR(Resource Record)×ÊÔ´¼Í¼ÊÇDNSϵͳÖм«¶È³ÁÒªµÄÒ»²¿ÃÅ £¬ËüÕ¼ÓÐÒ»¸ö±ä³¤µÄ½á¹¹ £¬¾ßÌåÌåʽÈçÏ£º


ͼƬ


¡ñ NAME£ºËüÖ¸¶¨¸Ã±Ê¼Í¼¶ÔÓ¦µÄÊÇÄĸöÓòÃû £¬ÌåʽʹÓÃDNS³ß¶ÈÃû³Æ°µÊ¾·¨

¡ñ TYPE£º×ÊÔ´¼Í¼µÄÀàÐÍ¡£

¡ñ CLASS£º¶ÔÓ¦QuestionµÄQCLASS £¬Ö¸¶¨ÒªÇóµÄÀàÐÍ £¬³£ÓÃֵΪIN £¬ÖµÎª0x001¡£

¡ñ TTL(Time To Live)×ÊÔ´µÄÓÐЧÆÚ£º°µÊ¾ÄãÄܹ»½«¸ÃÌõRR»º´æTLLÃë £¬TTLΪ0°µÊ¾¸ÃRR²»Äܱ»»º´æ¡£TTLÊÇÒ»¸ö4×Ö½ÚÓзûºÅÊý £¬µ«ÊÇֻʹÓÃËü´óÓÚµÅ×Ú0µÄ²¿ÃÅ¡£

¡ñ RDLENGTH£ºÒ»¸öÁ½×ֽڷǸºÕûÊý £¬ÓÃÓÚÖ¸¶¨RDATA²¿Ãŵij¤¶È£¨×Ö½ÚÊý£©¡£

¡ñ RDATA£º°µÊ¾Ò»¸ö³¤¶ÈºÍ½á¹¹¶¼¿É±äµÄ×Ö¶Î £¬ËüµÄ¾ßÌå½á¹¹È¡¾öÓÚTYPE×Ö¶ÎÖ¸¶¨µÄ×ÊÔ´ÀàÐÍ¡£

DNSÏìÓ¦°üÈçÏÂͼËùʾ£º


ͼƬ


´ÓÉÏͼÖпÉÖª £¬¸ÃAnswersÇø¶ÎÖдæÔÚ9¸ö×ÊÔ´¼Í¼ £¬ºì¿òÖаµÊ¾µÄÊÇÖ÷»úµØÖ·£¨AÀàÐÍ£©×ÊÔ´¼Í¼¡£


Óò±êÇ©labelÔÚDNSÊý¾Ý°üÀï±»±àÂë £¬Ã¿¸öͨ³£±êÇ©µÄµÚÒ»¸ö×Ö½Ú´ú±íÕâ¸ö±êÇ©µÄ³¤¶È £¬Ê£ÏµÄ×ÖĸÊý×Ö×Ö·ûΪ±êÇ©×ÔÉí(Ò»Ð©ÌØÊâ×Ö·ûÒ²ÊÇÄܹ»µÄ) £¬µ«ÊÇ×îÖÕ½áβµÄ×Ö·û¿Ï¶¨ÊÇÒÔ¿Õ×Ö½Ú½áβ(¼´0x00) £¬ÓÃÀ´°µÊ¾ÓòÃûµÄʵÏÖ¡£¾Ù¸öÀý×Ó £¬ÈçÏÂͼËùʾ £¬Óò±êÇ©µÚÒ»¸ö×Ö·ûÊÇ0x03 £¬Õâ´ú±íµÚÒ»¸ö±êÇ©³¤¶ÈΪ3(¼´0x77 0x77 0x77 == ¡°www¡±) £¬Í¬Àí £¬0x62 0x61 0x690x64 0x75 == ¡°baidu¡± £¬×îºóÄܹ»¿´µ½ÒÔ0x00½áβ¡£


ͼƬ


2¡¢TCP´¹Î£Ä£Ê½


ΪÁË·¢ËͳÁÒªºÍ̸Êý¾Ý,TCPÌṩÁËÒ»ÖÖ³ÆÎª´¹Î£Ä£Ê½(urgentmode)µÄ»úÔì £¬TCPºÍ̸ÔÚÊý¾Ý¶ÎÖÐÉèÖÃURGλ,°µÊ¾½øÈ봹Σģʽ¡£Í¨¹ýÉèÖô¹Î£Ä£Ê½ £¬·¢ËÍ·½Äܹ»ÔÚ·¢ËͶÓÁÐÖÐÓÅÏÈ·¢ËÍÕⲿÃŵÄÊý¾Ý £¬²¢ÇÒ²»ÓÃÔÚ·¢ËͶÓÁÐÖÐÁжÓ £¬¶ø½Ó¹Ü·½Äܹ»¶Ô´¹Î£Ä£Ê½²ÉÈ¡ÌØÊâµÄ´¦Öá£ÕâÖÖ·½Ê½Êý¾Ý²»ÈÝÒ×½ÓÊܱ»×èÈû,·þÎñÆ÷¶Ë·¨Ê½»áÓÅÏȽÓÊÜÕâЩ´¹Î£µÄÊý¾Ý £¬¶ø²»ÓýøÐÐÁжӴ¦Öá£ÔÚTCP±¨ÎÄÖнç˵ÁËÁ½¸ö×Ö¶ÎÀ´±êʾ´¹Î£Ä£Ê½ £¬Ò»¸öURG±êÖ¾ £¬¸Ã±êÖ¾°µÊ¾±¨ÎÄÖÐÓд¹Î£Êý¾Ý £¬ÁíÒ»¸ö±êÖ¾ÊÇ´¹Î£Ö¸Õë £¬Ëü±êʾ´¹Î£Êý¾ÝÔÚ´«ÊäÊý¾ÝÖÐÆ«ÒƵØÎ»¡£ÈçÏÂͼËùʾ£º


ͼƬ


·ì϶·ÖÎö 


ÏÂÃæÎÒÃǶԼ¸¸öCVSSÆÀ·Ö½Ï¸ßµÄ·ì϶½øÐзÖÎö£º


1¡¢CVE-2020-17437


CVE-2020-17437´æÔÚÓÚuIPºÍ̸ջµÄuip.cÎļþµÄuip_processº¯ÊýÖÐ £¬¸Ãº¯ÊýÖØÒªÊÇ´¦ÖÃip/tcp±¨ÎÄ £¬ÏÂͼÊÇuIPºÍ̸ջ¶ÔTCP±¨ÎÄÖдøÓÐTCP_URG´¹Î£Ö¸Õë±êʶʱµÄ´¦ÖôúÂë £¬ÈôÊDZàÒëʱÅäÖÃÁËUIP_URGDATA £¬Ôò·¨Ê½»á×ßµ½ÏÂÃæµÄif·ÖÖ§ £¬¶Ô´¹Î£Ö¸ÕëÊý¾Ý½øÐÐרÃÅ´¦Öá£


µ«ÊÇÔÚĬÈÏÇé¿öÏ £¬UIP_URGDATA²¢Ã»ÓÐÅäÖᣴúÂë»á½øÈëµ½else·ÖÖ§ £¬·¨Ê½»áÌø¹ý´¦Öô¹Î£Ö¸ÕëÊý¾Ý £¬²¢Åú¸Äuip_lenµÄÊýÖµ¡£·¨Ê½ÔÚÅú¸Äuip_lenµÄʱ³½²¢Ã»ÓÐÅжϴ¹Î£Ö¸ÕëµÄÖµ £¬µ±uip_lenµÄÖµ³ö¸ñÓ× £¬¶ø´¹Î£Ö¸ÕëµÄÖµurgp³ö¸ñ´óʱ £¬¾Í»áÒýÆðÕûÊýÒç³ö £¬µ¼ÖÂÉ豸³ÁÆô»òÕßÊÇÔ½½ç¶Áд¡£


ͼƬ


2¡¢CVE-2020-24338


¸Ã·ì϶³Ê´Ë¿ÌpicoTCP/IPºÍ̸ջÖнâÎöÓòÃûlabelµÄpico_dns_decompress_name()º¯ÊýÖÐ £¬¸Ãº¯Êý¾ßÌåʵÏÖÈçÏ´úÂëËùʾ£º


ͼƬ


µÚ95¡¢96Ðгõʼ»¯iterator £¬nameÖ¸Ïò´ý½âѹËõµÄlabels £¬dest_iteratorÖ¸Ïò´æ·Å½âѹ³öÀ´µÄlabelsµÄ»º³åÇø £¬´óÓ×Ϊ256×Ö½Ú¡£µÚ97ÐÐÆðͷΪwhileÑ­»· £¬¶ÁÈ¡µ½×Ö·û´®½áβ¿Õ×Ö½ÚÍ˳ö¡£µÚ98ÐÐ £¬Í¨¹ýiterator&0xC0ÅжÏlabelÀàÐÍ £¬ÈôÊÇΪѹËõlabel £¬Ôòͨ¹ýpacket¶¨Î»µ½Í¨³£labelµØµãµÄµØÎ» £¬ÈôÊÇΪͨ³£labelÖ±½Ó½øÈëelse´úÂë¿éÖÐ £¬µÚ107ÐÐ £¬Å²ÓÃmemcpy½«Í¨³£label¿½±´µ½dest_iteratorÖС£ÎÒÃÇ֪·dest_iterator»º³åÇø´óÓ×Ö»ÓÐ256×Ö½Ú £¬¶øwhileÑ­»·Í˳öǰÌáΪ¶Áµ½×Ö·û´®½áβ¿Õ×Ö½Ú £¬Òò¶øµ±name³¤¶È³¬¹ý256×Ö½Úʱ £¬µ¼ÖÂdest_iterator»º³åÇøÒç³ö¡£


3¡¢CVE-2020-24336


¸Ã·ì϶³Ê´Ë¿ÌcontikiºÍ̸ջÖеÄip64_dns64_4to6()ÖÐ £¬¸Ãº¯ÊýÖ°ÄÜÊǽ«ipv4ÀàÐ͵ÄDNSÊý¾Ý°üת»»³Éipv6ÀàÐ͵ÄDNSÊý¾Ý°ü £¬¹Ø¼ü´úÂëÈçÏ£º


ͼƬ


±éÀúAnswerÇø¶Î²¢¸üе½ipv6ÀàÐ͵ÄAnswerÇø¶ÎÖС£´ÓµÚ209ÐÐÆðͷת»»×ÊÔ´¼Í¼ £¬¾ßÌåʵÏÖ´úÂëÈçÏÂËùʾ£º


ͼƬ


Ê×ÏÈÅжÏTYPEÊÇ·ñÊÇDNS_TYPE_A £¬DNS_TYPE_A°µÊ¾¸Ã×ÊÔ´¼Í¼Ϊipv4Ö÷»úµØÖ· £¬¶øºó½«¶ÔÓ¦Çø¶Î¿½±´µ½acopyÖС£µÚ220ÐÐ £¬´Ó×ÊÔ´¼Í¼ÖÐÖ±½ÓÈ¡RDLENGTH £¬Ç°ÎÄÒѽéÉÜ £¬¸ÃÇø¶Î±íÕ÷RDATAµÄ³¤¶È¡£µÚ227ÐÐ £¬ÅжÏlen³¤¶ÈÊÇ·ñµÅ×Ú4 £¬ÕâÀïÕý³£Çé¿ö £¬lenÓ¦¸ÃΪ4 £¬ÓÉÓÚipv4µØÖ·³¤¶ÈΪ4¸ö×Ö½Ú¡£ÈôÊÇlen²»µÅ×Ú4 £¬Ôò½øÈëelseÓï¾äÖÐ £¬Ö±½ÓŲÓÃmemcpy½øÐÐRDATAÊý¾Ý¿½±´¡£ÕâÀïÊÇ´æÔÚÎÊÌâµÄ £¬Ipv4Ö÷»úµØÖ·³¤¶È²»µÅ×Ú4 £¬²¢Ã»ÓÐÑéÖ¤Ö÷»úµØÖ·µÄºÏÀíÐÔ²¢ÇÒlen×î´óΪ0xFFFF £¬Ö±½Ó¿½±´¿ÉÄܵ¼Ö»º³åÇøÒç³ö¡£


4¡¢CVE-2020-25111


ÔÚʹÓÃNut/NetºÍ̸ջµÄÉ豸ÖÐ £¬NutDnsGetResourceAll()ÊÇ´¦ÖÃDNSÒªÇóµÄº¯Êý £¬ÆäÖд¦ÖÃDNS»Ø´ðµÄº¯ÊýÊÇDecodeDnsQuestion() £¬´¦ÖÃÓò±êÇ©µÄº¯ÊýÊÇScanName() £¬·ì϶¾Í³Ê´Ë¿ÌScanName()º¯ÊýÖС£ÈçÏÂͼËùʾ £¬cpΪָÏòÓòÃûµÚÒ»¸ö×Ö½ÚµÄÖ¸Õë(¼´µÚÒ»¸öÓò±êÇ©µÄ³¤¶È×Ö½Ú) £¬*nppΪ¼´½«±»½âÎöµÄÓòÃûbuffer £¬Í¨¹ýstrlen()½«Õû¸öÓòÃû³¤¶È¸³Öµ¸ørc,¶øºó»ùÓÚrc·ÖÅä*npp buffer £¬Ö®ºóͨ¹ýÒ»¸öwhile £¬Ñ­»·´¦ÖÃÿһ¸ölabel¡£ÎÊÌâ²»ÑÔ¶øÓ÷ £¬cpÊǹ¥»÷Õ߿ɿصÄ £¬ÓÉ´ËÄܹ»½ÚÔì*nppµÄ´óÓס£¶ø¶ÔÓÚ±êÇ©µÄ³¤¶È £¬¼´len±äÁ¿ £¬Ö±½Ó´ÓÊý¾Ý°üÖеõ½ £¬²¢Ã»ÓÐ×öÈκÎÌìǵ²é³­ £¬¶øºóͨ¹ýwhileÑ­»·´¦Öá£Òò¶øÄܹ»¶ÔlenÉèÖÃËÁÒâµÄÖµ £¬¼´¹¥»÷Õß¶Ô*npp buffer¿É¿ØµÄ³¤¶È¡£ÓÉ´ËÄܹ»ÔÚ¶ÑÖÐÔì³ÉÔ½½çд £¬Õâ¿Éµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐÐ(RCE)¡£


ͼƬ


5¡¢CVE-2020-17443


CVE-2020-17443´æÔÚÓÚPicoTCPºÍ̸ջpico_icmp6.cÎļþÖС£ÎÊÌâ´úÂëλÓÚpico_icmp6_send_echoreply£¨£©º¯ÊýÖÐ £¬¸Ãº¯ÊýµÄÖØÒªÖ°ÄÜÊǻظ´ICMPv6Ó¦´ðÊý¾Ý°üÒÔÏìÓ¦¶Ô¶ËµÄICMPv6Echo(ping)ÒªÇó¡£


ͼƬ


ÎÒÃÇÄܹ»¿´µ½ £¬µÚ68ÐÐ £¬replay½á¹¹µÄ»º³å´óÓ×»ùÓÚechoµÄ±¨ÎÄÖÐtransport_len±äÁ¿¡£ÔÚµÚ84ÐÐ £¬·¨Ê½´Óecho->payloadÏòreply->payloadµØÖ·¸´ÔìÁ˳¤¶ÈΪecho->transport_len- 8´óÓ×µÄÊý¾Ý¡£


°ÑÎÈ £¬ÈôÊÇecho->transport_lenÓ×ÓÚ 8 £¬echo->transport_len - 8»áµ¼ÖÂÕûÊýÒç³ö £¬memcpy²Ù×÷»áµ¼Ö»º³åÇøÒç³ö¡£


ÔÚPicoTCPºÍ̸ջ¹¥»÷Õßͨ¹ý»ú¹Ø¶ñÒâµÄICMPv6Êý¾Ý°ü £¬Õâ¸ö¶ñÒâµÄÊý¾Ý°üICMP±¨Í·Ó×ÓÚ8 £¬»áµ¼ÖÂÉ豸³ÁÆô»ò»Ø¾ø·þÎñ¡£


·ì϶ÑéÖ¤


·ì϶ÑéÖ¤ÊÓÆµÇë²é¿´ADLab¹«¼ÒºÅ


²Î¿¼Á´½Ó£º


[1] https://www.forescout.com/research-labs/amnesia33/[2]https://www.securityweek.com/amnesia33-vulnerabilities-tcpip-stacks-expose-millions-devices-attacks

[3] https://www.zdnet.com/article/amnesia33-vulnerabilities-impact-millions-of-smart-and-industrial-devices/

[4] https://tools.ietf.org/html/rfc1035

[5] https://us-cert.cisa.gov/ics/advisories/icsa-20-343-01


±¦ÔËÀ³¹Ù·½ÍøÕ¾»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Äê £¬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò» £¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ± £¬¡°ºÚȸ¹¥»÷¡±¸ÅÏëÊ×ÍÆÕß¡£½ØÖ¹Ä¿Ç° £¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶½ü1100¸ö £¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶900Óà¸ö £¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑÓ×¢ÒÆ¶¯ÖÇÄÜÖն˰²È«×êÑÓ×¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑÓ×¢Web°²È«×êÑÓ×¢¹¤¿ØÏµÍ³°²È«×êÑÓ×¢ÔÆ°²È«×êÑС£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÓ×¢¹ú¶È³Áµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨Òµ°²È«·þÎñµÈ¡£


adlab.jpg