Ò»¡¢Åä¾°
DNSÐÒéÌṩÁËÓòÃûÓëIPµØÖ·×ª»»µÄ·þÎñ£¬ÊDZز»¿ÉÉÙµÄÍøÂçͨѶÐÒéÖ®Ò»£¬Ò²ÊÇÕû¸ö»¥ÁªÍøÔËÐеĻù´¡¡£È»¶ø£¬¹Å°åµÄÁ÷Á¿¼ì²â×°±¸ºÜÉÙ¶ÔDNSÐÒé´«ÊäÊý¾ÝµÄÓÐÓÃÐÔ¡¢Çå¾²ÐÔ¾ÙÐÐÉî¶ÈÆÊÎöºÍ¼ì²é¡£Ë¼¿ÆÔÚÆäÇå¾²Ñо¿±¨¸æÖÐÐÎÏ󵨳ÆÖ®Îª¡°DNSäµã¡±¡£¶ñÒâÈí¼þÕýÊÇʹÓôËʱ»ú£¬Í¨¹ýDNSÐÒé¹¹½¨Òþ²ØËíµÀ£¬½ø¶øÊµÏÖÏÂÁî¿ØÖÆC&C¡¢Êý¾ÝÍâ·¢µÈ¹¥»÷¡£EfficientIPÐû²¼µÄ¡¶È«ÇòDNSÍþв±¨¸æ2018¡·Ö¸³ö£¬2018Äê77%µÄ×éÖ¯ÖÁÉÙÂÄÀú¹ýÒ»´Î»ùÓÚDNSµÄÍøÂç¹¥»÷£¬²¢ÇÒDNSËíµÀÕ¼ÓÐÁ˾ø´ó±ÈÀý¡£DNSÒþÃØËíµÀÊÖÒÕÊÇMITRE ATT&CKÏÂÁîÓë¿ØÖÆ¾ØÕó(Command and Control£©ÖеÄ×ÓÊÖÒÕ£¬ÆäIDΪT1071.004¡£ATT&CKÖмͼÓÐ30¶à¸öÏÖÔÚÒÑÖªµÄAPT¹¤¾ßʹÓÃDNSËíµÀʵÑéC&C¹¥»÷£¬ºÃ±È£ºOilRig×é֯ʹÓõÄHelminthºÍISMAgent¡¢OceanLotusʹÓõÄDenisµÈ¡£
Ä¿½ñ£¬Õë¶ÔDNSËíµÀµÄ¼ì²âÒªÁìÐí¶à£¬Èç»ùÓÚãÐÖµ¡¢Í³¼Æ»òר¼Ò¹æÔòµÄÒªÁìÒÔ¼°»ùÓÚ»úеѧϰµÄÒªÁìµÈ¡£Êµ¼ù֤ʵ£¬Ïà±ÈÆäËûÀàÒªÁ죬»ùÓÚ»úеѧϰµÄDNSËíµÀ¼ì²âÒªÁìÔÚ¼ì²âЧ¹û¡¢·ÀÈÆ¹ý¡¢·º»¯ÄÜÁ¦µÈ·½Ãæ¾ßÓнϴóµÄÓÅÊÆ¡£
±¾ÎĽ«´ÓDNSËíµÀ»ù´¡ÖªÊ¶¡¢DNSËíµÀ¼ì²âÒªÁìÏÖ×´¼°DNSËíµÀ¼ì²âʵ¼ùÈý¸ö·½ÃæÏÈÈÝÏà¹ØÄÚÈÝ¡£
¶þ¡¢DNSËíµÀ»ù´¡ÖªÊ¶
2.1 DNSËíµÀ¼ò½é
DNSËíµÀÊÇÒ»ÖÖÒþ²ØËíµÀ£¬¼´Í¨¹ý½«Êý¾Ý»òÏÂÁî·â×°µ½DNSÐÒé¾ÙÐÐÊý¾Ý¡¢ÏÂÁîµÈ´«ÊäµÄËíµÀ£¬DNSËíµÀÌṩÁËËÞÖ÷»úÓëÆäC&C·þÎñÆ÷Ö®¼äµÍËÙµ«Òþ²ØµÄË«ÏòͨѶͨµÀ¡£
DNSËíµÀ´ÓÓÃ;ÉÏ¿ÉÒÔ·ÖΪ׼ʱÒþ²ØËíµÀºÍ´æ´¢Òþ²ØËíµÀÁ½ÖÖ¡£Ç°ÕßʹÓÃ׼ʱÊôÐÔ½«Ïàͬ½á¹¹µÄDNSÇëÇó·¢Ë͵½C&C£¬ÕâÀàÐÂÎÅͨ³£ÎªÐÄÌø£»´ËºóÕßÔòʹÓÃDNSÐÒé·â×°±àÂëµÄÐÅÏ¢£¬ÕâÀàÐÅϢͨ³£Îª´«ÊäµÄÃô¸ÐÊý¾Ý¡£Óë׼ʱÒþ²ØËíµÀÏà±È£¬´æ´¢Òþ²ØËíµÀ¿ÉÒÔÌṩ¸ü¸ßµÄ´ø¿í£¬Òò´Ë´æ´¢Òþ²ØËíµÀʹÓøüΪÆÕ±é¡£ÎÞÂÛÄÄÖÖËíµÀÀàÐͶ¼Ê¹ÓÃDNSÇëÇóµÄ×ÓÓò½«Êý¾Ý´«Êäµ½C&C£¬²¢Ê¹ÓÃÕâЩÇëÇóµÄÏìÓ¦´ÓC&CÎüÊÕÊý¾Ý¡£Òò´Ë£¬DNSËíµÀÖд«ÊäµÄÊý¾Ý±ØÐè×ñÊØDNSÐÒ鹿·¶£¬ÇëÇóµÄÓòÃû±ØÐè¾ßÓÐlabel£¬²¢ÇÒ±ØÐèÒÔ×Öĸ»òÊý×Ö¿ªÍ·ºÍ×îºó£¬Ã¿¸ölabelµÄ³¤¶È²»Áè¼Ý63¸ö×Ö·û£¬Õû¸öÓòÃûµÄ³¤¶È²»Áè¼Ý255¸ö×Ö·û¡£
2.2 DNSËíµÀÔÀí
DNSËíµÀÔÚͨѶ·½·¨ÉÏÓÖ·ÖΪֱÁ¬ºÍÖмÌÁ½ÖÖģʽ¡£Ö±Á¬ÊÇËÞÖ÷»úÖ±½ÓÓëÖ¸¶¨µÄÄ¿µÄDNS Server(Authoritative NS Server)ÅþÁ¬£¬Í¨¹ý½«±àÂëÊý¾Ý·â×°ÔÚDNSÐÒéÖоÙÐÐͨѶ¡£ÕâÖÖ·½·¨ËÙÂʿ죬¿ÉÊÇÒþ²ØÐÔ½ÏÁ¿²î£¬ºÜÈÝÒ×±»Ì½²âµ½£¬ÁíÍâÏÞÖÆ½ÏÁ¿¶à£¬Ðí¶à³¡¾°²»ÔÊÐí×Ô¼ºÖ¸¶¨DNS Server¡£¶øÍ¨¹ýDNSµü´úÅÌÎÊʵÏÖµÄÖмÌËíµÀÔò¸üΪÒþ²Ø£¬µ«Í¬Ê±ÓÉÓÚÊý¾Ý°üµÖ´ïÄ¿µÄDNS ServerǰÐèÒª¾Óɶà¸ö½Úµã£¬ÒÔÊÇËÙÂÊÉϱÈÖ±Á¬Âý¡£
ÖмÌDNSËíµÀÊÂÇéÔÀíÈçͼ1[1]Ëùʾ£¬ÏêϸÈçÏ£º
Step1: ¹¥»÷ÕßÊ×ÏÈ×¢²áÒ»¸öÓòÃû£¬Èçex.fil£¬ÓòÃûÖ¸Ïò¹¥»÷Õß¿ØÖƵķþÎñÆ÷£¬²¢Ôڸ÷þÎñÆ÷ÉÏ×°ÖöñÒâËíµÀ·þÎñÆ÷¶Ë³ÌÐò¡£
Step2: ¹¥»÷ÕßʹÓöñÒâÈí¼þѬȾ¹«Ë¾ÄÚÍøÖеÄÖ÷»ú£¬Ö®ºóÊÜѬȾÖ÷»úÏòDNSÆÊÎö·þÎñÆ÷·¢ËÍÇëÇó£¬DNSÆÊÎö·þÎñÆ÷½«ÇëÇóÖм̵½¸ùÓòÃû·þÎñÆ÷ºÍ¶¥¼¶Óò·þÎñÆ÷¡£
Step3: ¸÷¼¶DNSÆÊÎö·þÎñÆ÷×îÖÕ½«ÇëÇó·Óɵ½±»¹¥»÷Õß¿ØÖƵÄ×°ÖÃÁËËíµÀ³ÌÐòµÄC&C·þÎñÆ÷¡£
×îÖÕËÞÖ÷»úºÍC&CÖ®¼äͨ¹ýDNSÆÊÎö·þÎñÆ÷½¨ÉèÁËÅþÁ¬£¬²¢Ê¹ÓøÃËíµÀй¶Êý¾Ý»òʵÏÖÆäËû¶ñÒâÄ¿µÄ¡£ÓÉÓÚËÞÖ÷»úºÍC&CÖ®¼äûÓÐÖ±½ÓÅþÁ¬£¬Òò´Ë×·×Ù¹¥»÷ÕßÔ½·¢ÄÑÌâ¡£

ͼ 1 DNSËíµÀÔÀí
2.3 DNSËíµÀ¹¤¾ß
ÏÖÔÚÓÐÐí¶à¿ªÔ´DNSËíµÀ¹¤¾ß£¬ºÃ±È£ºiodine¡¢DNSCat2¡¢dns2tcpµÈµÈ£¬ÎÒÃdzÆÖ®ÎªÍ¨ÓÃDNSËíµÀ¹¤¾ß¡£ÕâЩ¹¤¾ß¿ªÔ´²¢ÇÒÖ§³Ö¶þ´Î¿ª·¢£¬ÀýÈç»ùÓÚIodine¿ª·¢µÄAndroid DNSËíµÀ¹¤¾ßMagicTunnel£¬ËüÃÇÖ§³Ö¶àÖÖÆ½Ì¨¡¢ÓïÑÔÒÔ¼°¼Í¼ÀàÐÍ¡£
Ðí¶àAPT×é֯ʹÓõĶñÒâÈí¼þÒ²¾ßÓÐDNSËíµÀ¹¦Ð§£¬ÎÒÃdzÆÖ®ÎªAPT¹¤¾ß¡£Ïà¹ØÓÚͨÓÃDNSËíµÀ¹¤¾ß£¬Ðí¶àAPT¹¤¾ßÖ§³ÖÌØ¶¨µÄÓ²±àÂëÏÂÁÆäÊý¾Ý·â×°¸ü¾«ÇÉ£¬Ö§³ÖµÄ¼Í¼ÀàÐ͸üÆÕ±é£¬¼ì²âÒ²Ô½·¢ÄÑÌ⣬ºÃ±ÈÐí¶àAPT¹¤¾ßÖ§³ÖAºÍAAAA¼Í¼ÀàÐÍ¡£


±í 2 ¾ßÓÐDNSËíµÀ¹¦Ð§µÄAPT¹¤¾ß
2.4 µä·¶DNSËíµÀÑùÀý
DNSËíµÀµÄʹÓúÜÊÇÆÕ±é£¬³ýÁËһЩͨÓõĿªÔ´DNSËíµÀ¹¤¾ßÖ®Í⣬Ðí¶àAPT¹¤¾ßҲʹÓÃÁËDNSËíµÀÊÖÒÕ¡£½ÓÏÂÀ´½«¶Ô²¿·ÖͨÓÃDNSËíµÀ¹¤¾ßºÍAPT¹¤¾ß¾ÙÐоÙÀý˵Ã÷¡£
2.4.1 Iodine
IodineÊÇ»ùÓÚCÓïÑÔʵÏֵĿªÔ´DNSËíµÀ¹¤¾ß¡£IodineÔÚĬÈÏÇéÐÎÏÂʹÓÃNULL¼Í¼ÀàÐÍ£¬Í¬Ê±¿ÉÒÔÖ§³ÖPRIVATE¡¢TXT¡¢SRV¡¢MX¡¢CNAMEºÍA£¨·µ»ØCNAME£©ÀàÐÍ¡£IodineÔÚÍâ·¢Êý¾ÝʱÊ×ÏÈ»áʹÓÃGZIP¶ÔÊý¾Ý¾ÙÐÐѹËõÈ»ºóÔÙ±àÂë·¢ËÍ£¬ÆäÖ§³ÖBase32¡¢Base64ºÍBase128±àÂë¡£
2.4.2 Dns2tcp
Dns2tcpÒ²ÊÇ»ùÓÚCÓïÑÔʵÏֵĿªÔ´DNSËíµÀ¹¤¾ß£¬²¢ÇÒÒÑԤװÔÚKali LinuxºÍBlackArch Linuxϵͳ¡£ÔÚĬÈÏÇéÐÎÏ£¬Dns2tcpʹÓÃTXT¼Í¼ÀàÐÍ£¬µ«ËüÒ²¿ÉÒÔÖ§³ÖKEY¼Í¼ÀàÐÍ¡£ÔÚͨѶʱ˫ÏòÊý¾Ý¶¼Ê¹ÓÃBase64±àÂë¾ÙÐд«Êä¡£
2.4.3 Dnscat2
Dnscat2ÊÇ»ùÓÚJAVAʵÏֵĿªÔ´DNSËíµÀ¹¤¾ß¡£Dnscat2¿ÉÒÔʹÓÃTXT¡¢CNAMEºÍMX¼Í¼ÀàÐÍ£¬¿ÉÊÇÈôÊǽö½«Êý¾Ý´Ó¿Í»§¶Ë·¢Ë͵½·þÎñ¶ËʱËü»¹Ö§³ÖAºÍAAAA¼Í¼ÀàÐÍ¡£ÔÚͨѶʱ˫ÏòÊý¾Ý¾ùʹÓÃÊ®Áù½øÖƱàÂë¾ÙÐд«Êä¡£
2.4.4 ISMAgent
ISMAgentÊÇOilRig×éÖ¯ËùʹÓõľßÓÐDNSËíµÀ¹¦Ð§µÄ¶ñÒâÈí¼þ¡£Í¨¹ýWireshark×¥°üչʾISMAgent·¢ËͳõʼÐű겢½«Êý¾Ý·¢Ë͵½C&C·þÎñÆ÷µÄÀú³Ì¡£Ê×ÏÈľÂíʹÓÃDNSÇëÇóÏòC&C·¢ËͰüÀ¨»á»°IDµÄ³õʼÐű꣬C&CʹÓÃÌØ¶¨µÄIPv6µØÖ·×÷ΪÏìӦָʾËíµÀ½¨ÉèÅþÁ¬£¬È»ºóľÂí¼ÌÐø·¢ËͰüÀ¨Êý¾Ý±àºÅ¡¢Ëæ»úÊýºÍ±àÂëÊý¾ÝµÄDNSÇëÇó£¬C&CʹÓÃÌØ¶¨IPv6ÏìÓ¦ÕâЩÇëÇóÒÔָʾľÂí¼ÌÐø·¢ËÍÊý¾ÝÖ±µ½ËùÓÐÊý¾Ý¶¼·¢Ë͵½C&C·þÎñÆ÷£¬C&CʹÓðüÀ¨ÇëÇóÊýµÄIPv6ÏìÓ¦ÒÔָʾÊý¾Ý´«ÊäÍê±Ï¡£
2.4.5 Helminth
HelminthÊÇOilRig×éÖ¯ÔÚ¹¥»÷Ô˶¯Öпª·¢µÄ¾ßÓÐDNSËíµÀ¹¦Ð§µÄ¶ñÒâÈí¼þ¡£HelminthÓÐÁ½ÖÖ°æ±¾£¬Ò»ÖÖÊÇ¿ÉÖ´ÐпÉÒÆÖ²µÄ°æ±¾£¬ÁíÒ»ÖÖÊÇPower Shell°æ±¾£¬ÕâÁ½ÖÖ°æ±¾¶¼Í¨¹ýDNSËíµÀÓëC&C¾ÙÐÐͨѶ¡£Á½¸ö°æ±¾µÄDNSËíµÀÔËÐз½·¨Ïàͬ£¬½ö¶ÔÌìÉúµÄ×ÓÓò¾ÙÐиü¸Ä£¬Ê¹ËüÃÇ¿´ÆðÀ´²î±ðÒÔÌӱܼì²â¡£
Helminth PowerShellÎüÊÕC&CÖ¸ÁîµÄÀú³ÌÈçÏ£ºÊ×ÏÈ£¬HelminthľÂí·¢³öDNSÇëÇóÆô¶¯ÓëC&C·þÎñÆ÷µÄ»á»°£¬C&CÓÃIPv4µØÖ·ÏìÓ¦´ËÐű꣬ľÂí´Ó¸ÃIPv4ÖлñµÃΨһµÄϵͳ±êʶ·û£»È»ºóHelminth·¢ËÍ´øÓÐϵͳ±êʶµÄDNSÇëÇó£¬C&CÓÃÒ»¸öIPv4µØÖ·À´ÏìÓ¦¸ÃÇëÇó£¬Helminth½«IPv4ת»»Îª×Ö·û×÷ΪÏÂÔØ¾ç±¾µÄÎļþÃû£»×îºó£¬Helminth¼ÌÐø·¢³öÆäËûµÄDNSÇëÇ󣬲¢½«ÏìÓ¦ÖеÄIPv4ÊÓΪÏÂÁîдÈë¾ç±¾Îļþ£¬C&CÒÔÌØ¶¨IPv4ÏìÓ¦ÒÔָʾÏÂÁî´«ÊäÍê±Ï¡£
Helminth PowerShellÍâ·¢Êý¾ÝµÄÀú³ÌÈçÏ£ºµ±ÊÕµ½Ö¸Ê¾IPv4ºó£¬HelminthÖ´Ðо籾ͬʱ½«Ö´ÐÐЧ¹ûдÈëµ½Óë¾ç±¾Í¬ÃûµÄÎı¾ÎļþÖУ¬×îºó¸ÃÎļþͨ¹ýDNSÇëÇó·¢Ë͵½C&C£¬C&CÒÔÀο¿µÄIPv4ÏìÓ¦¡£
2.4.6 Denis
DenisÊÇOcean Lotus×éÖ¯×î³£ÓõÄÌØÖÖľÂí£¬ÊÇÒ»¸öÈ«¹¦Ð§µÄºóÃÅ£¬¹¥»÷ÕßʹÓÃDNSËíµÀʵÏÖÁËÒ»ÖÖÔ½·¢ÒþÃØµÄC&CͨѶҪÁ졣ΪÁËÈ·±£DNSÁ÷Á¿²»±»¹ýÂË£¬¹¥»÷Õß½«ºóÃÅÉèÖÃΪÓëGoogleºÍOpenDNS µÄDNS·þÎñÆ÷ͨѶ£¬ÓÉÓÚ´ó´ó¶¼×éÖ¯ºÍÇå¾²²úÆ·¶¼²»»á¹ýÂË·¢Ë͵½µ½ÕâÁ½¸öÖ÷ÒªDNS·þÎñÆ÷µÄÁ÷Á¿¡£
DenisÊ×ÏÈÏòGoogle DNS·þÎñÆ÷·¢ËͰüÀ¨»á»°IDµÄ³õʼÐű꣬²¢Óɸ÷¼¶ÓòÃû·þÎñÆ÷·Óɵ½¹¥»÷Õß¿ØÖƵÄC&C·þÎñÆ÷ÒÔ½¨ÉèÅþÁ¬£¬È»ºóC&CÒÔÊý¾Ý×Ö½ÚÊýºÍÓ²±àÂëÖ¸ÁîÏìÓ¦¸ÃÇëÇó£¬DenisÎüÊÕµ½ÏìÓ¦ºóÖ´ÐÐÌØ¶¨µÄÏÂÁî²¢½«ÏÂÁîÖ´ÐÐЧ¹ûͨ¹ýGoogle DNS·þÎñÆ÷·¢Ë͵½C&C¡£Denis×ܹ²Ö§³Ö16ÌõÓ²±àÂëÖ¸Á´ó´ó¶¼Ö¸ÁîÉæ¼°Óë±»¹¥»÷ÅÌËã»úÎļþϵͳµÄ½»»¥£¬ÁíÍ⻹¾ßÓлñÈ¡Óйط¿ª´°¿ÚµÄÐÅÏ¢¡¢Å²ÓÃí§ÒâAPIºÍ»ñÈ¡ÓйØÏµÍ³¼òÒªÐÅÏ¢µÄ¹¦Ð§¡£
Èý¡¢DNSËíµÀ¼ì²âÏÖ×´
ÏÖÔÚÒµ½çÌá³öÁËÖÖÖÖDNSËíµÀ¼ì²âÒªÁ죬×ÜÌåÀ´Ëµ¿ÉÒÔ·ÖΪÁ½ÀࣺһÀàΪ»ùÓÚ¹æÔòµÄ¼ì²âÒªÁ죬һÀàΪ»ùÓÚ»úеѧϰµÄ¼ì²âÒªÁì¡£
»ùÓÚ¹æÔòµÄÒªÁìÊÇͨ¹ýãÐÖµÀ´Ê¶±ðDNSËíµÀ£¬ºÃ±È¼à¿ØÖÕ¶ËÇëÇóÓòÃûµÄ³¤¶È£¬ÈôÊÇÓòÃû³¤¶ÈÁè¼ÝÉ趨ãÐÖµ£¬Ôò»á·¢³ö¾¯±¨¡£±ðµÄ£¬Ñ°ÕÒ²»³£ÓõÄDNS¼Í¼ÀàÐÍ£¨ÀýÈçTXT¡¢NULL¼Í¼£©ÊÇÁíÒ»ÖÖ³£Óõļì²âÒªÁì[3]¡£»ùÓÚãÐÖµµÄ¼ì²âÒªÁì²»·óÎÞа¡¢·º»¯ÄÜÁ¦²î£¬²¢¿ÉÒÔͨ¹ýÐÞ¸ÄÓòÃû³¤¶È¡¢ÇëÇóƵÂʵÈÌØÕ÷ÈÝÒ×ÈÆ¹ý¼ì²â¡£
»ùÓÚ»úеѧϰµÄÒªÁìͨ¹ýѧϰÀúÊ·Êý¾ÝÌØÕ÷£¬¿ÉÒÔ׼ȷµØÊ¶±ðδ֪µÄDNSÒþ²ØËíµÀ£¬Í¬Ê±¼æ¾ßÎó±¨Âʵ͡¢²»Ò×±»ÈƹýµÈÓŵ㡣»ùÓÚ»úеѧϰµÄDNSËíµÀ¼ì²âÒªÁì¿ÉÒÔ×ܽáΪÁ½ÀࣺһÀàΪ¸ºÔØÆÊÎö£¬ÕâÀàÒªÁìÊÇÊÜDGA¼ì²âÑо¿µÄÆôʾ[4]£¬Ö÷Òª¹Ø×¢DNS¸ºÔصÄËæ»úÐÔ¡¢×Ö·ûƵÂʵÈÌØÕ÷£»ÁíÒ»ÀàΪ»ùÓÚʱ¼ä´°¿ÚµÄÁ÷Á¿ÆÊÎö£¬ÕâÀàÒªÁì¹Ø×¢DNSÇëÇó»òÏìÓ¦Ëæ×Åʱ¼äת±äµÄͳ¼ÆÌØÕ÷£¬°üÀ¨Ê±¼ä´°ÄÚÿ¸öÓòÃûµÄÖ÷»úÃûÊýÄ¿¡¢ÖÖÖּͼÀàÐÍ£¨A¡¢AAAA¡¢TXTµÈ£©µÄƵÂÊ¡¢×ÓÓòN-Gram¾ùÖµºÍ·½²î¡¢ÇëÇóºÍÏìӦʱ¼ä¾àÀëµÄ¾ùÖµºÍ·½²îµÈµÈ¡£
ÎÄÏ×[5]ƾ֤Æë·ò¶¨ÂÉÌá³öÁËNgVizÒªÁ죬¸ÃÒªÁìʹÓöàÌõÕý³£DNSÁ÷Á¿Í³¼ÆÆä¸ºÔصÄ×Ö·ûƵÂÊÒÔ¼°×Ö·ûÅÅÃû£¬ÔÚÍÆÀí½×¶ÎÅÌËãÊäÈëµÄ¶àÌõDNSÇëÇóÓëÕý³£DNSÁ÷Á¿µÄ×Ö·ûÅÅÃûºÍ×Ö·ûƵÂʵļÓȨƥÅä¶È£¬Í¨¹ý¼È¶¨µÄãÐÖµÀ´ÅбðDNSËíµÀ£¬µ«¸ÃÒªÁì¼ì²âЧ¹û²»¼Ñ¡£ÎÄÏ×[6]ʹÓÃDNSÇëÇóºÍÏìÓ¦¸ºÔصÄ×Ö·ûìØºÍ³¤¶ÈÒÔ¼°DNSÊý¾Ý°ü°ü³¤µÈÌØÕ÷¹¹½¨Ëæ»úÉÁÖÄ£×Ó£¬¸ÃʵÑéÅúעʹÓÃDNSÇëÇóºÍÏìÓ¦ÌØÕ÷±Èµ¥¶ÀʹÓÃÇëÇó»òÏìÓ¦µÄÌØÕ÷¼ì²â׼ȷÂʸü¸ß£¬¿ÉÊǸÃÒªÁì¹ØÓÚδ֪ËíµÀ¹¤¾ßÕÙ»ØÂʽϵͣ¬ÇÒÖ»Äܼì²âʹÓÃTXT¡¢NULLµÈ¼Í¼ÀàÐ͵ÄËíµÀ¹¤¾ß£¬ÎÞ·¨¼ì²âʹÓÃA¡¢AAAA¼Í¼ÀàÐ͵ÄÐÂÐÍËíµÀ¹¤¾ß¡£ÎÄÏ×[7]ʹÓÃDNSÇëÇóµÄÆß¸öÌØÕ÷£¬°üÀ¨FQDNÖеÄ×Ö·û×ÜÊý¡¢×ÓÓòÖÐ×Ö·ûÊý¡¢´óд×ÖĸºÍÊý×Ö×Ö·ûµÄÊýÄ¿¡¢×Ö·ûìØÒÔ¼°DNSÇëÇóÓòÃûµÄ×î´ó±êÇ©³¤¶ÈÇå¾²¾ù±êÇ©³¤¶ÈÌØÕ÷¹¹½¨ÁæØêÉÁÖÄ£×ÓÒÔ¼ì²âDNSËíµÀ¡£ÕâÖÖÒªÁì²»Éæ¼°ÈκÎÌØ¶¨µÄDNS¼Í¼ÀàÐÍ£¬µ«ÓÉÓÚʹÓÃÎÞ¼àÊÓµÄÄ£×Ó£¬¸ÃÒªÁìÕÙ»ØÂʽϵ͡£ÎÄÏ×[8]ʹÓÃDNSÇëÇóºÍÏìÓ¦µÄͳ¼ÆÌØÕ÷£¬ÀýÈ磺DNSÇëÇóºÍÏìÓ¦¸ºÔØµÄÆ½¾ù³¤¶È¡¢±àÂëµÄÓÐÓÃÔØºÉºÍΨһÇëÇóµÄÊýÄ¿µÈ£¬¸Ã¼Æ»®Ò²Ê¹ÓÃÁæØêÉÁÖËã·¨£¬¿ÉÊǸÃÒªÁì½ö˼Á¿AºÍAAAAÁ½ÖּͼÀàÐÍ£¬²¢ÇÒÔÚʵÑéÖÐÒ²½ö˼Á¿ÁËIodineºÍdns2tcpÁ½¸ö¿ªÔ´ËíµÀ¹¤¾ß¡£ÎÄÏ×[9]Ö¸³ö£¬DNSËíµÀÓÃÓÚÔÚËÞÖ÷»úºÍC&C½»Á÷Êý¾Ýʱ£¬Í¨³£½«±àÂëÊý¾Ý·â×°µ½DNSÇëÇóºÍÏìÓ¦µÄ¸ºÔز¿·Ö¡£×÷ÕßÌá³öÁËÁ½ÖÖ»ùÓÚ»úеѧϰµÄÒªÁ죺(i)Âß¼»Ø¹éÄ£×ÓºÍ(ii) k-means¾ÛÀ࣬ÕâÁ½ÖÖÒªÁì¶¼ÊÇ´Ó±àÂëµÄÓÐÓÃÔØºÉÖÐÌáÈ¡Óï·¨ÌØÕ÷£¬ÀýÈ磺×Ö·ûìØºÍ×Ö·û£¨´óд¡¢Ð¡Ð´¡¢Êý×Ö¡¢ÆÆÕۺţ©ÊýÄ¿£¬¿ÉÊǸüƻ®Ò²½ö½öÕë¶ÔʹÓÃTXT¼Í¼µÄËíµÀ¹¤¾ßdnscat2¡£ÎÄÏ×[10]ÆÊÎöÁ˼¸¸ö¿ªÔ´DNSËíµÀ¹¤¾ßµÄÁ÷Á¿£¬ÌáÈ¡ÁËËÄÖÖÀàÐ͵ÄÌØÕ÷£ºÇëÇóºÍÏìӦʱ¼ä¾àÀëµÄ¾ùÖµºÍ·½²î¡¢ÇëÇóÊý¾Ý°ü¾Þϸ¡¢ÓòÃûìØºÍ¼Í¼ÀàÐÍ£¨ÀýÈçA¡¢TXT¡¢MXµÈ£©±ÈÀýµÈÌØÕ÷¡£×÷ÕßʹÓÃÁ˶à¸öDNSËíµÀ¹¤¾ßÌìÉúµÄÊý¾ÝѵÁ··ÖÀàÄ£×Ó£¬µ«²âÊÔÊý¾ÝÈÔÈ»ÊÇÓɼÓÈëѵÁ·µÄËíµÀ¹¤¾ß±¬·¢¡£
ËÄ¡¢DNSËíµÀ¼ì²âʵ¼ù
ÏÖÓеĻùÓÚ»úеѧϰµÄDNSËíµÀ¼ì²â¼Æ»®Ê¹ÓöàÖÖDNSËíµÀ¹¤¾ßÌìÉúµÄÊý¾ÝѵÁ·Ä£×Ó£¬ÒÔʹģ×Ó¿ÉÒÔʶ±ð¸ü¶àµÄËíµÀ¹¤¾ß£¬¿ÉÊÇÕâÖּƻ®¶Ôδ¼ÓÈëѵÁ·µÄËíµÀ¹¤¾ßºÍδ֪ËíµÀ¹¤¾ßµÄ¼ì²âЧ¹û²»¼Ñ£¬Ò²¼´Ä£×Ó·º»¯ÐÔÄܲÁíÍ⣬ÔÚȱÉÙ¶àÖÖËíµÀ¹¤¾ßÊý¾ÝµÄÏÖ×´Ï£¬Ò»Ð©¼Æ»®ÎªÁËÌá¸ßÄ£×ӵķº»¯ÄÜÁ¦Ê¹ÓÃͳ¼ÆÆÊÎöµÄÒªÁ죬µ«ÕâÖּƻ®ÎÞ·¨ÊµÏÖʵʱ¼ì²â¡£»ùÓÚ¶ÔÉÏÊöÁ½¸öÎÊÌâµÄ˼Á¿£¬±¾ÎÄÌá³öÁ˽öʹÓÃDNSÇëÇóÌØÕ÷µÄDNSËíµÀʵʱ¼ì²â¼Æ»®£¬
¼Æ»®·ÖΪËĸöÄ£¿é£ºµÚÒ»¸öÄ£¿éΪÊý¾Ý´¦Öóͷ£Ä£¿é£¬¸ÃÄ£¿éÖ÷ÒªÊÇÆÊÎöDNSÁ÷Á¿Êý¾Ý²¢ÌáÈ¡Ïà¹Ø×Ö¶ÎÄÚÈÝ£»µÚ¶þ¸öÄ£¿éÎªÌØÕ÷Ìáȡģ¿é£¬¸ÃÄ£¿é»ùÓÚÊý¾Ý´¦Öóͷ£Ä£¿éµÄЧ¹û½¨Éè²¢ÌáÈ¡DNSËíµÀ¼ì²âÏà¹ØµÄÌØÕ÷£»µÚÈý¸öÄ£¿éΪģ×ÓѵÁ·Ä£¿é£¬¸ÃÄ£¿éʹÓÃÌáÈ¡µÄÏà¹ØÌØÕ÷ѵÁ·»úеѧϰģ×Ó£¬¶ÔÄ£×Ó¾ÙÐе÷ÓŲ¢³¤ÆÚ»¯£»µÚËĸöÄ£¿éΪģ×ÓÍÆÀíÄ£¿é£¬¸ÃÄ£¿é¼ÓÔØÒѾѵÁ·ºÃµÄÄ£×Ó²¢¶Ôδ֪DNSÁ÷Á¿¾ÙÐÐÍÆÀíÕ¹Íû¡£
4.1 ÌØÕ÷½¨Éè
DNSËíµÀͨ¹ýDNSÇëÇóµÄ¸ºÔØÐ¯´ø±àÂë»ò¼ÓÃÜÊý¾Ý£¬ÆäÐí¶àÌØÕ÷µÄÂþÑܾùÓëÕý³£DNSÇëÇóÓвî±ð£¬½ÓÏÂÀ´½«Í¨¹ý²¿·ÖÌØÕ÷À´ÆÊÎöDNSËíµÀ¡£
4.1.1 ×ÓÓò³¤¶È
Õý³£ÓòÃûÿ¸ölabelµÄ³¤¶È²»Áè¼Ý63¸ö×Ö·û£¬Õû¸öÓòÃûµÄ³¤¶È²»Áè¼Ý255¸ö×Ö·û£¬Õý³£ÓòÃû³¤¶ÈÍùÍùԶȱ·¦255¸ö×Ö·û£¬µ«DNSËíµÀΪÁËÔöÌí´ø¿í£¬Æä¸ºÔØÍùÍù»áЯ´ø¸ü¶àµÄÐÅÏ¢¡£Æä´ÎÓÉÓÚDNSËíµÀͨ³£»á¶ÔÊý¾Ý¾ÙÐбàÂ룬Òò´ËÆä³¤¶È±ÈÕý³£ÓòÃû¸ü³¤¡£
4.1.2 ×î´ólabel³¤¶È
Óë×ÓÓò³¤¶ÈÌØÕ÷Ò»Ñù£¬ÓÉÓÚDNSËíµÀ¸ºÔØÐ¯´ø¸ü¶àµÄÊý¾Ý£¬Òò´ËÓëÕý³£ÓòÃûÏà±ÈÆäÿ¸ölabel¶¼½Ï³¤¡£
4.1.3 ×Ö·û±ÈÀý
´óдСд×Öĸ¡¢Êý×Ö¡¢ÌØÊâ×Ö·ûµÈÔÚÓòÃûÖÐËùÕ¼µÄ±ÈÀýÒ²ÊÇÇø·ÖÕý³£»òËíµÀµÄÖ÷ÒªÌØÕ÷¡£ÓÉÓÚDNSËíµÀÔÚ´«ÊäÊý¾Ý֮ǰÍùÍùʹÓÃbase32¡¢base64¡¢×Ô½ç˵¼ÓÃÜËã·¨µÈ¶ÔÊý¾Ý¾ÙÐбàÂë»ò¼ÓÃÜ£¬Òò´Ë¸ºÔØÖдóд×ÖĸºÍÊý×ֵıÈÀý½Ï¸ß£¬µ«Õý³£ÓòÃû²»Çø·Ö¾Þϸд£¬ÆäÏÕЩ²»º¬Óдóд×Öĸ£¬ÇÒÓòÃûÖÐÊý×ÖËùÕ¼±ÈÀýÒ²½ÏµÍ¡£
4.1.4 Ò»Á¬×Ö·û±ÈÀý
ÓÉÓÚDNSËíµÀ¸ºÔØÎª±àÂëÊý¾Ý£¬Òò´ËÆäÒ»Á¬Êý×Ö¡¢Ò»Á¬×ÓÒôµÄ±ÈÀýÓëÕý³£ÓòÃûÓнϴóµÄ²î±ð¡£
4.1.5 ìØ
±àÂëµÄDNSËíµÀ»áʹÓøüÆÕ±éµÄ×Ö·û£¬Æä×Ö·ûÂþÑܵÄìØÖµ¸ü¸ß¡£È»¶øÕý³£ÓòÃûÓнϸߵĿɶÁÐÔ£¬Æä×Ö·ûÂþÑÜÓëÕý³£Ó¢ÎÄÓïÁÏÒ»Ö£¬ìØÖµÏà¶Ô½ÏµÍ¡£Òò´Ën-gramìØ±»ÊÓΪ¿ÉÒÔָʾDNSËíµÀÔ˶¯µÄÖ÷ÒªÒòËØÖ®Ò»¡£
4.1.6 ×Ö·û×ªÒÆ¸ÅÂÊ
»ùÓÚÕý³£ÓòÃû¿É¶ÁÐÔµÄÌØÕ÷£¬¿ÉÒÔʹÓÃÕý³£DNSÁ÷Á¿»òÕßÓ¢ÎÄÓïÁÏͳ¼ÆN-GramµÄ×ªÒÆ¸ÅÂÊ¡£¹ØÓÚDNSËíµÀ¸ºÔØ£¬Æä±àÂëºóµÄÊý¾Ý¸üËæ»ú£¬N-Gram×ªÒÆ¸ÅÂÊÓëÕý³£ÓïÁϲî±ð½Ï´ó¡£Òò´ËN-Gram×ªÒÆ¸ÅÂÊÒ²ÊÇÇø·ÖÕý³£DNSºÍËíµÀµÄÖ÷ÒªÌØÕ÷¡£
4.2 Ä£×Ó
̫ͨ¹ýÎö¸÷ËíµÀ¹¤¾ßÌìÉúÑù±¾µÄÌØÕ÷ÏòÁ¿£¬¸÷ËíµÀ¹¤¾ßÌìÉúµÄºÚÑù±¾ÔÚ¸÷ÌØÕ÷ÉϾùÓë°×Ñù±¾±£´æÏÔÖø²î±ð£¬µ«²î±ðËíµÀ¹¤¾ßÑù±¾Ö®¼äÒ²±£´æÏÔÖø²î±ð¡£Òò´ËÐèÒª¶ÔËùʹÓõÄÌØÕ÷¾ÙÐÐһϵÁÐÓÅ»¯£¬²»È»Ä£×Ó½öÄܼì²â³ö¼ÓÈëÄ£×ÓѵÁ·µÄËíµÀ¹¤¾ßÌìÉúµÄÊý¾Ý£¬Ò²¾ÍÊÇ˵ģ×Ó·º»¯ÄÜÁ¦²î£¬²»¿É·¢Ã÷δ֪ËíµÀ¹¤¾ßµÄÊý¾Ý¡£ÎªÁËÑéÖ¤±¾ÎÄËùÊöÒªÁ죬ѵÁ·¼¯½öʹÓÃÒ»ÖÖËíµÀ¹¤¾ß±¬·¢µÄÊý¾Ý£¬Í¨¹ý¼ì²âδ¼ÓÈëѵÁ·µÄËíµÀ¹¤¾ßÊý¾ÝÀ´²âÊÔÄ£×ӵķº»¯ÄÜÁ¦¡£¾Óɵ÷Àí²ÎÊýºóÄ£×ÓµÖ´ï×îºÃµÄ¼ì²âЧ¹û£¬Ä£×ÓÔÚÑéÖ¤¼¯AP Ϊ 100%¡£
4.3 Ä£×ÓÆÀ¹À
ÏÖÔڵļƻ®¶Ô¼ì²â¼ÓÈëѵÁ·µÄËíµÀ¹¤¾ß¶¼¾ßÓнϸߵÄ׼ȷÂʺÍÕÙ»ØÂÊ£¬¿ÉÊǹØÓÚδ¼ÓÈëѵÁ·µÄ¹¤¾ß»òÕßδ֪¹¤¾ßµÄËíµÀÊý¾Ý¼ì²âЧ¹û½Ï²î¡£ÎªÁËÑéÖ¤±¾ÎÄËùÊö¼Æ»®¹ØÓÚ¼ÓÈëѵÁ·ºÍδ֪¹¤¾ßËíµÀÊý¾ÝµÄ¼ì²âЧ¹û£¬¶Ô¶à¸öͨÓÿªÔ´DNSËíµÀ¹¤¾ßºÍAPT¹¤¾ß¾ÙÐе¥¶À²âÊÔ£¬×îÖÕ¼ì²âЧ¹ûÏÔʾ±¾¼Æ»®ËùÊöÄ£×Ó¿ÉÒÔ¼ì²â¾ø´ó´ó¶¼µÄͨÓÿªÔ´DNSËíµÀ¹¤¾ßºÍAPTËíµÀ¹¤¾ß£¬¶øÎ´¼ì³öµÄÑù±¾¾ùΪ׼ʱÒþ²ØËíµÀÊý¾Ý¡£Ïêϸ¼ì²âЧ¹ûÈçÏ£º
Îå¡¢ ×ܽá
»ùÓÚ»úеѧϰµÄDNSËíµÀ¼ì²âÓÅÓڹŰå»ùÓÚãÐÖµ¡¢Í³¼Æ»òר¼Ò¹æÔòµÄÒªÁì¡£±¾ÎÄÌá³öµÄ»ùÓÚ»úеѧϰµÄDNSËíµÀ¼ì²â¼Æ»®ÓÅÓÚͬÀà¼Æ»®£¬½öͨ¹ýDNSÇëÇóµÄ¸ºÔز¿·Ö¾ÙÐÐDNSËíµÀ¼ì²â£¬Í¬Ê±¶ÔʹÓõÄÌØÕ÷¾ÙÐÐÁ˶àÏîÓÅ»¯£¬¿ÉÒÔÖ§³Ö¶àÖÖ¹¤¾ßºÍ¶àÖּͼÀàÐÍ¡£ËäÈ»£¬ËùÌá³öµÄ¼Æ»®¹ØÓÚ¼ì²â׼ʱÒþ²ØËíµÀÉÐÓоÖÏÞÐÔ£¬ºóÐø½«½øÒ»²½ÍêÉÆ¼Æ»®ÒÔ˳Ӧ¸ü¶à³¡¾°¡£
²Î¿¼ÎÄÏ×
[1] Nadler A , Aminov A , Shabtai A . Detection of malicious and low throughput data exfiltration over the DNS protocol[J]. Computers & Security, 2019.
[2] Robert Falcone. DNS Tunneling in the Wild: Overview of OilRig¡¯s DNS Tunneling[Online].https://unit42.paloaltonetworks.com/dns-tunneling-in-the-wild-overview-of-oilrigs-dns-tunneling/,2020.
[3] S. Jaworski. Using splunk to detect dns tunneling[J]. SANS Institute InfoSec Reading Room, 2016.
[4] L. Bilge, E. Kirda, C. Kruegel, and M. Balduzzi. Exposure: Finding malicious domains using passive dns analysis[J]. NDSS,2011.
[5] K.Born, D.Gustafson.NgViz:detecting DNS tunnels through N-gram visualization and quantitative analysis[A]. Proceedings of the Sixth Annual Workshop on Cyber Security and Information Intelligence Research[C]. Oak Ridge, Tennessee, 2010. 1-4.
[6] A. Berg and D. Forsberg, "Identifying DNS-tunneled traffic with predictive models", Jun. 2019, [online] Available: http://arxiv.org/abs/1906.11246.
[7] M. Lyu, H. Habibi Gharakheili, C. Russell. ¡°Mapping an Enterprise Network by Analyzing DNS Traffic,¡± in Proc. Passive and Active Measurement (PAM), Puerto Varas, Chile, Mar 2019.
[8] A. Nadler, A. Aminov, and A. Shabtai. Detection of malicious and low throughput data exfiltration over the dns protocol. Computers & Security, 80:36¨C53, 2019.
[9] A. Das, M.-Y. Shen, M. Shashanka, and J. Wang. Detection of exfiltration and tunneling over dns. In Machine Learning and Applications (ICMLA), 2017 16th IEEE International Conference on, pages 737¨C742. IEEE, 2017.
[10] J. Liu, S. Li, Y. Zhang, J. Xiao, P. Chang, and C. Peng. Detecting dns tunnel through binary-classification based on behavior features. In Trustcom/BigDataSE/ICESS, 2017 IEEE,pages 339¨C346. IEEE, 2017.
°æÈ¨ÉùÃ÷
×ªÔØÇëÎñ±Ø×¢Ã÷À´ÓÉ
°æÈ¨ËùÓУ¬Î¥Õ߱ؾ¿
- Òªº¦´Ê±êÇ©£º
- È˹¤ÖÇÄÜÇå¾² AIÇå¾²Ó¦Óà DNSËíµÀ¼ì²â