ħÀÔÀÚ Å½Áö üũ¸®½ºÆ®

¿øº»: CERT Coordination Center's Intruder Detection Checklist

ÀÌ ¹®¼­´Â ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÌ ¿ÜºÎÀο¡ ÀÇÇØ Ä§ÀÔÀ» ´çÇß´Ù°í ÀǽÉÀÌ °¡´Â °æ¿ì À̸¦ ¾Ë¾Æ³»¾î ´ëóÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ´Ù·ç°íÀÚ ÇÑ´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ´Â ÀÌ ¹®¼­¿¡¼­ ´Ù·ç°í ÀÖ´Â ³»¿ëÀ» Âü°íÇÏ¿© ¿©·¯ °¡Áö ħÀÔÀ» È¿°úÀûÀ¸·Î ´ëóÇϴµ¥ À¯¿ëÇÏ°Ô »ç¿ëÇϱ⠹ٶõ´Ù.

ÁÖÀÇ: ¸ÕÀú ÈçÀûÀ» ã´Â °úÁ¤ Áß¿¡ ÃëÇØÁö´Â ¸ðµç ÇàÀ§´Â ÇØ´ç ±â°üÀÇ Á¤Ã¥À̳ª 󸮰úÁ¤¿¡ ºÎÇյǾî¾ß ÇÑ´Ù.

  1. ³¸¼± °÷¿¡¼­ ¿¬°áÀ» ÇÑ °æ¿ì³ª ƯÀÌÇÑ ÀÛ¾÷À» ÇÑ °æ¿ì¿¡ ÇØ´çÇÏ´Â ¸ðµç ·Î±× ÆÄÀÏÀ» Á¶»çÇÑ´Ù. ¿¹¸¦ µé¸é, last ·Î±×, ÇÁ·Î¼¼½º ±â·Ï, syslog¿¡ ÀÇÇØ »ý¼ºµÈ ¸ðµç ·Î±× ÆÄÀÏ ¹× º¸¾È ·Î±× µîÀ» Á¶»çÇÑ´Ù. ¸¸ÀÏ ¹æÈ­º®À̳ª ¶ó¿ìÅÍ µîÀ» ÅëÇØ ÀÌ·¯ÇÑ ·Î±×°¡ ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛÀÌ ¾Æ´Ñ ´Ù¸¥ ½Ã½ºÅÛ¿¡ ÀúÀåµÇ´Â °æ¿ì, ÀÌµé ·Î±×µéµµ È®ÀÎÇØ¾ß ÇÑ´Ù. ÃÖ±Ù¿¡´Â ¸¹Àº ħÀÔÀÚµéÀÌ Àڽŵ鿡 ´ëÇÑ ÈçÀûÀ» ¾ø¾Ö±â À§ÇØ ÀÌ·¯ÇÑ ·Î±× ÆÄÀÏÀ» ÆíÁýÇÏ´Â °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ·Î±× ÆÄÀÏ ±â·ÏÀº append-only ¹Ìµð¾î(ÆíÁýÀÌ ºÒ°¡´ÉÇÏ°í ¿À·ÎÁö ·Î±× µ¥ÀÌÅÍÀÇ Ãß°¡¸¸ÀÌ °¡´ÉÇÑ ÀúÀå¸Åü¸¦ ¸»ÇÔ)¿¡ ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
     
  2. ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛ¿¡ ÀÖ´Â setuid ¿Í setgid ÆÄÀÏÀ» ¸ðµÎ ã¾Æ º»´Ù(ƯÈ÷, setuid root ÆÄÀÏ). ÀϹÝÀûÀ¸·Î ³ªÁß¿¡ ÀçħÀÔÀ» À§ÇØ Ä§ÀÔÀÚµéÀº ÀÌ·¯ÇÑ setuid ¼³Á¤ÀÌ µÈ /bin/sh À̳ª /bin/time µî°ú °°Àº º¹»çº»À» ¸¸µé¾î ³õ´Â °æ¿ì°¡ ¸¹´Ù. ÀÌ·¯ÇÑ ÆÄÀÏÀº ã¾Æ¼­ »èÁ¦Çؾ߸¸ ÇÑ´Ù. À¯´Ð½ºÀÇ find(1) ÇÁ·Î±×·¥À» ½Ã¿ëÇÏ¿© ÀÌ·¯ÇÑ setuid ³ª setgid ÆÄÀÏÀ» ã¾Æ³¾ ¼ö°¡ ÀÖ´Ù. ¿¹¸¦ µé¸é, ¾Æ·¡ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© setuid root ÆÄÀÏ°ú setgid kmem ÆÄÀÏÀ» Àüü ÆÄÀÏ ½Ã½ºÆÀ¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

    find / -user root -perm -4000 -print find / -group kmem -perm -2000 -print

    ÁÖÀÇÇÒ Á¡Àº À§ ¸í·ÉÀº NFS/AFS·Î ¸¶¿îÆ®µÈ ÆÄÀÏ ½Ã½ºÅÛ±îÁö ¸ù¶¥ ãÀ¸¹Ç·Î ÀÌ·¯ÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ» ã´Â ´ë»ó¿¡¼­ Á¦¿ÜÇÏ°íÀÚ ÇÏ´Â °æ¿ì, ¡°-xdev¡± ¿É¼ÇÀ» »ç¿ëÇÑ´Ù(´Ü, ÀÌ ¿É¼ÇÀº Áö¿øÇÏÁö ¾Ê´Â find µµ ÀÖÀ½).

    find / -user root -perm -4000 -print -xdev

    ¶Ç´Ù¸¥ setuid ÆÄÀÏÀ» ã´Â ¹æ¹ýÀº ncheck(8) ¸í·ÉÀÌ´Ù. ¿¹¸¦ µé¸é, ¾Æ·¡ ¸í·ÉÀº µð½ºÅ© ÆÄƼ¼Ç Áß /dev/rsd0g¿¡¼­ setuid ÆÄÀÏÀ» ã¾ÆÁØ´Ù.

    ncheck -s /dev/rsd0g
     

  3. ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏÀÌ º¯°æµÇ¾ú´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù. ħÀÔÀÚµéÀº ħÀÔ ½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °¢Á¾ À¯´Ð½º ÇÁ·Î±×·¥µéÀ» º¯°æÇÏ¿© ÀÌ¿ëÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥, ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µé¿¡´Â login, su, telnet, netstat, ifconfig, ls, find, du, df, libc, sync, /etc/inetd.conf¿¡¼­ È£ÃâÇÏ´Â ¹ÙÀ̳ʸ® ÆÄÀϵé, ³×Æ®¿öÅ· ÇÁ·Î±×·¥, ½Ã½ºÅÛ ÇÁ·Î±×·¥ ¹× °øÀ¯ ¿ÀºêÁ§Æ® ¶óÀ̺귯¸® µîÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ ¹ÙÀ̳ʸ® ÆÄÀϵéÀ» Ãʱ⠼³Ä¡½ÃÀÇ ÆÄÀÏ°ú ºñ±³ÇÏ¿© º¯°æµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù. º¯°æµÈ ÆÄÀϵ鿡´Â ÀϹÝÀûÀ¸·Î Æ®·ÎÀ̸ñ¸¶ µî°ú °°ÀÌ Ä§ÀÔÀÚ°¡ º¯°æÇÑ ³»¿ëÀÌ µé¾î°¡ Àִµ¥, ÃÖ±ÙÀÇ Æ®·ÎÀ̸ñ¸¶´Â ¹ÙÀ̳ʸ® ºñ±³ ½Ã¿¡ »ç¿ëµÇ´Â üũ¼¶(checksum)°ú ŸÀÓ½ºÅÆÇÁ(timestamp)·Îµµ ¾Ë¾Æ³»Áö ¸øÇÏ´Â °æ¿ì°¡ ¸¹´Ù. µû¶ó¼­ Ç¥ÁØ À¯´Ð½º ¸í·ÉÀÎ sum(1) °ú timestamps·Î´Â ÀÌ·¯ÇÑ Æ®·ÎÀ̸ñ¸¶¸¦ ã±â Èûµé±â ¶§¹®¿¡, ÀÌ·¯ÇÑ ¿ëµµ¸¦ À§ÇØ Àü¹®ÀûÀ¸·Î ¼³°èµÈ cmp(1), MD5, Tripwire, µîÀÇ checksum µµ±¸¸¦ »ç¿ëÇÏ¿© Æ®·ÎÀ̸ñ¸¶¸¦ ã¾Æ ³½´Ù. Checksum µµ±¸ ÀÚüµµ ħÀÔÀÚ¿¡ ÀÇÇØ º¯°æµÇ¾ú´ÂÁö ´Ù¸¥ checksum µµ±¸·Î È®ÀÎÇØ º¸µµ·Ï ÇÑ´Ù. PGP³ª TripwireÀÇ MD5¸¦ ÀÌ¿ëÇÑ ÀüÀÚ¼­¸í µîÀ» ÇØ ³õÀ¸¸é, ÃßÈÄ¿¡ º¯°æ¿©ºÎ¸¦ È®ÀÎÇϱ⠽±´Ù.
     
  4. ½º´ÏÆÛ(sniffer) ȤÀº ÆÐŶ ½º´ÏÆÛ(packet sniffer) µîÀÇ ³×Æ®¿öÅ© ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥ÀÌ ºÒ¹ýÀûÀ¸·Î ÀÌ¿ëµÈ ½Ã½ºÅÛÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ´Ù. ħÀÔÀÚµéÀº ÀÌ·¯ÇÑ ½º´ÏÆÛ µîÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ °èÁ¤°ú ¾ÏÈ£¿Í °ü·ÃµÈ Á¤º¸¸¦ ÈÉÃij»¼­ ħÀÔ¿¡ È°¿ëÇÑ´Ù.
     
  5. ¡®cron¡¯°ú ¡®at.¡¯¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¸ðµç ÆÄÀÏÀ» Á¶»çÇÑ´Ù. À̵é ÆÄÀϵéÀº ħÀÔÀÚ¿¡ ÀÇÇØ ¹éµµ¾î(back-door)°¡ ÀÖ´Â °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÃßÈÄ¿¡ ħÀÔÀ» À§ÇØ ´Ù½Ã ÀÌ¿ëµÉ ¼ö ÀÖ´Ù. ±×¸®°í ¡®cron¡¯°ú ¡®at.¡¯¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¸ðµç ÇÁ·Î±×·¥°ú ÆÄÀϵéÀÌ ´©±¸³ª ¾µ ¼ö ÀÖ´Â ±ÇÇÑ(world-writable)ÀÌ ºÎ¿©µÇÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇÑ´Ù.
     
  6. ºÒ¹ýÀûÀÎ ¼­ºñ½º°¡ ¾ø´ÂÁö È®ÀÎÇÑ´Ù. Áï, /etc/inetd.conf¿¡ ºÒ¹ýÀûÀ¸·Î ¾î¶² ¼­ºñ½º°¡ Ãß°¡ µÇ¾ú°Å³ª º¯°æµÇ¾ú´ÂÁö Á¶»çÇÑ´Ù. ƯÈ÷, /bin/sh À̳ª /bin/csh µî°ú °°ÀÌ ½© ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°Ô ¸¸µå´Â ¼­ºñ½º°¡ ¾ø´ÂÁö È®ÀÎÇÏ°í, /etc/inetd.conf¿¡¼­ ÁöÁ¤µÈ ÇØ´ç ¼­ºñ½º ¿ë ÇÁ·Î±×·¥ÀÌ º»·¡ÀÇ ÇÁ·Î±×·¥ÀÎÁö Æ®·ÎÀ̸ñ¸¶ ÇÁ·Î±×·¥ µî¿¡ ÀÇÇØ ±³Ã¼µÇÁö´Â ¾Ê¾Ò´ÂÁö µîÀ» È®ÀÎÇÑ´Ù. ±×¸®°í, ÀÌÀü¿¡ /etc/inetd.conf¿¡¼­ ÄÚ¸ÇÆ® ó¸®ÇÑ ¼­ºñ½º°¡ ½ÇÇàµÇ°í ÀÖÁö´Â ¾ÊÀºÁö µîÀ» È®ÀÎÇÑ´Ù. º¸¾È »óÀÇ ÀÌÀ¯·Î ¼­ºñ½ºµÇÁö ¾Êµµ·Ï ÄÚ¸ÇÆ® ó¸®ÇÑ ¼­ºñ½º(¿¹¸¦ µé¸é, rloginÀ̳ª rsh µî)°¡ ħÀÔÀÚ¿¡ ÀÇÇØ ¼­ºñ½ºµÇ°í ÀÖ´Â °æ¿ì°¡ ¸¹´Ù.
  7. /etc/passwd ÆÄÀÏÀÌ º¯°æµÇ¾ú´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù. ƯÈ÷, ºÒ¹ýÀûÀÎ »õ·Î¿î °èÁ¤ÀÇ »ý¼ºÀ̳ª, ¾ÏÈ£°¡ ¾ø´Â °èÁ¤, ȤÀº UID°¡ º¯°æµÈ(ƯÈ÷, UID°¡ 0À¸·Î º¯°æµÈ) °èÁ¤ÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
     
  8. ³×Æ®¿öÅ© configuration ÆÄÀÏ¿¡ ºÒ¹ýÀûÀÎ ³»¿ëÀÌ µé¾î°¡ ÀÖÁö ¾ÊÀºÁö È®ÀÎÇÑ´Ù. ƯÈ÷, ¡®+¡¯ ±âÈ£°¡ Ãß°¡µÇ¾î ÀÖÁö ¾ÊÀºÁö È®ÀÎÇÏ°í, /etc/hosts.equiv, /etc/hosts.lpd ¿Í ¸ðµç .rhosts ÆÄÀÏ(ƯÈ÷, root, uucp, ftp µîÀÇ ½Ã½ºÅÛ °èÁ¤ÀÌ »ç¿ëÇÏ´Â µð·ºÅ丮¿¡ ÀÖ´Â .rhosts ÆÄÀÏ)¿¡ ·ÎÄà ȣ½ºÆ®°¡ ¾Æ´Ñ À̸§ÀÌ Ãß°¡µÇ¾î ÀÖÁö ¾ÊÀºÁö Á¶»çÇÑ´Ù. ÀÌ·¯ÇÑ ÆÄÀϵéÀº ´©±¸³ª ¾µ ¼ö ÀÖ´Â ±ÇÇÑ(world-writable)À¸·Î ¼³Á¤µÇ¾î À־´Â ¾È µÈ´Ù. ¾ÆÁ÷ ħÀÔÀ» ´çÇÏÁö ¾Ê¾Ò´õ¶óµµ ÀÌ·¯ÇÑ ÆÄÀϵéÀÌ ¿î¿µÀÚÀÇ ½Ç¼ö³ª ¿À·ù¿¡ ÀÇÇØ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î »çÀü¿¡ È®ÀÎÇÏ¿© ħÀÔ¿¡ ÀÌ¿ëµÇÁö ¾Êµµ·Ï ÇÑ´Ù.
     
  9. ½Ã½ºÅÛ¿¡ ħÀÔÀÚ³ª »ç¿ëÇÒ ¸¸ÇÑ ÇÁ·Î±×·¥À̳ª È÷µç ÆÄÀÏ(hidden files) µîÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. ¿¹¸¦ µé¸é, ¾ÏÈ£¸¦ ÀÚµ¿À¸·Î ±úÁÖ´Â Å©·¢ ÇÁ·Î±×·¥À̳ª ´Ù¸¥ ½Ã½ºÅÛÀÇ Æнº¿öµå ÆÄÀÏ µîÀÌ ÀÌ·¯ÇÑ ´ëÇÑ ÆÄÀÏÀÌ µÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ È÷µç ÆÄÀÏÀº ÆÄÀϸíÀÌ ¡®¡¦¡¯, ¡®.. ¡® ȤÀº ¡®..^G¡¯ µîÀ¸·Î º¸ÅëÀÇ °æ¿ì¿¡´Â º¸ÀÌÁö ¾Ê´Â ÆÄÀϸíÀ» °¡Áö°í ÀÖ´Ù. À¯´Ð½ºÀÇ find(1) ¸í·ÉÀ» »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ÆÄÀϵéÀ» ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇϸé ãÀ» ¼ö ÀÖ´Ù.

    find / -name ¡°.. ¡± -print -xdev find / -name ¡°.*¡± -print -xdev | cat -v

    À̹ۿ¡µµ ¾ó¸¥ º¸¾Æ¼­´Â º¸ÅëÀÇ ÆÄÀÏó·³ º¸ÀÌ´Â ¡®.mail¡¯ °ú °°Àº ÆÄÀϵµ ħÀÔÀÚ°¡ ħÀÔµµ±¸·Î »ç¿ëÇÏ´Â ÆÄÀÏÀÏ ¼ö ÀÖ´Ù.
     

  10. ·ÎÄà ³×Æ®¿öÅ© »ó¿¡ ÀÖ´Â ¸ðµç ½Ã½ºÅÛÀ» ÇÔ²² Á¶»çÇÑ´Ù. ƯÈ÷, NIS°¡ ½ÇÇàµÇ°í Àְųª, .rhosts ³ª /etc/hosts.equiv µîÀ» ÅëÇØ »óÈ£ ½Å·ÚÇÏ°í ÀÖ´Â ½Ã½ºÅÛÀÌ ÀÖ´Â °æ¿ì À̵é È£½ºÆ®µéÀ» ¸ðµÎ È®ÀÎÇØ¾ß ÇÑ´Ù.
     


*** Hacker Search ***

±âŸ °­ÀǽǷÎ...