ħÀÔÀÚ Å½Áö üũ¸®½ºÆ®
¿øº»: CERT Coordination Center's Intruder Detection
Checklist
ÀÌ ¹®¼´Â ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÌ ¿ÜºÎÀο¡ ÀÇÇØ Ä§ÀÔÀ»
´çÇß´Ù°í ÀǽÉÀÌ °¡´Â °æ¿ì À̸¦ ¾Ë¾Æ³»¾î ´ëóÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ´Ù·ç°íÀÚ
ÇÑ´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ´Â ÀÌ ¹®¼¿¡¼ ´Ù·ç°í ÀÖ´Â ³»¿ëÀ» Âü°íÇÏ¿© ¿©·¯
°¡Áö ħÀÔÀ» È¿°úÀûÀ¸·Î ´ëóÇϴµ¥ À¯¿ëÇÏ°Ô »ç¿ëÇϱ⠹ٶõ´Ù.
ÁÖÀÇ: ¸ÕÀú ÈçÀûÀ»
ã´Â °úÁ¤ Áß¿¡ ÃëÇØÁö´Â ¸ðµç ÇàÀ§´Â ÇØ´ç ±â°üÀÇ Á¤Ã¥À̳ª 󸮰úÁ¤¿¡
ºÎÇյǾî¾ß ÇÑ´Ù.
- ³¸¼± °÷¿¡¼ ¿¬°áÀ» ÇÑ °æ¿ì³ª ƯÀÌÇÑ ÀÛ¾÷À»
ÇÑ °æ¿ì¿¡ ÇØ´çÇÏ´Â ¸ðµç ·Î±× ÆÄÀÏÀ» Á¶»çÇÑ´Ù. ¿¹¸¦ µé¸é, last
·Î±×, ÇÁ·Î¼¼½º ±â·Ï, syslog¿¡ ÀÇÇØ »ý¼ºµÈ ¸ðµç ·Î±× ÆÄÀÏ ¹×
º¸¾È ·Î±× µîÀ» Á¶»çÇÑ´Ù. ¸¸ÀÏ ¹æȺ®À̳ª ¶ó¿ìÅÍ µîÀ» ÅëÇØ ÀÌ·¯ÇÑ
·Î±×°¡ ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛÀÌ ¾Æ´Ñ ´Ù¸¥ ½Ã½ºÅÛ¿¡ ÀúÀåµÇ´Â °æ¿ì,
ÀÌµé ·Î±×µéµµ È®ÀÎÇØ¾ß ÇÑ´Ù. ÃÖ±Ù¿¡´Â ¸¹Àº ħÀÔÀÚµéÀÌ Àڽŵ鿡
´ëÇÑ ÈçÀûÀ» ¾ø¾Ö±â À§ÇØ ÀÌ·¯ÇÑ ·Î±× ÆÄÀÏÀ» ÆíÁýÇÏ´Â °æ¿ì°¡ ¸¹±â
¶§¹®¿¡ ÀÌ·¯ÇÑ ·Î±× ÆÄÀÏ ±â·ÏÀº append-only ¹Ìµð¾î(ÆíÁýÀÌ ºÒ°¡´ÉÇÏ°í
¿À·ÎÁö ·Î±× µ¥ÀÌÅÍÀÇ Ãß°¡¸¸ÀÌ °¡´ÉÇÑ ÀúÀå¸Åü¸¦ ¸»ÇÔ)¿¡ ÇÏ´Â
°ÍÀÌ ÁÁ´Ù.
- ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛ¿¡ ÀÖ´Â 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
- ħÀÔÀ» ´çÇÑ ½Ã½ºÅÛÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏÀÌ º¯°æµÇ¾ú´ÂÁö
¿©ºÎ¸¦ È®ÀÎÇÑ´Ù. ħÀÔÀÚµéÀº ħÀÔ ½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °¢Á¾ À¯´Ð½º
ÇÁ·Î±×·¥µéÀ» º¯°æÇÏ¿© ÀÌ¿ëÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥, ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µé¿¡´Â
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¸¦ ÀÌ¿ëÇÑ ÀüÀÚ¼¸í µîÀ» ÇØ ³õÀ¸¸é,
ÃßÈÄ¿¡ º¯°æ¿©ºÎ¸¦ È®ÀÎÇϱ⠽±´Ù.
- ½º´ÏÆÛ(sniffer) ȤÀº ÆÐŶ ½º´ÏÆÛ(packet sniffer)
µîÀÇ ³×Æ®¿öÅ© ¸ð´ÏÅ͸µ ÇÁ·Î±×·¥ÀÌ ºÒ¹ýÀûÀ¸·Î ÀÌ¿ëµÈ ½Ã½ºÅÛÀÌ
ÀÖ´ÂÁö È®ÀÎÇÏ´Ù. ħÀÔÀÚµéÀº ÀÌ·¯ÇÑ ½º´ÏÆÛ µîÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ
°èÁ¤°ú ¾ÏÈ£¿Í °ü·ÃµÈ Á¤º¸¸¦ ÈÉÃij»¼ ħÀÔ¿¡ È°¿ëÇÑ´Ù.
- ¡®cron¡¯°ú ¡®at.¡¯¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¸ðµç ÆÄÀÏÀ»
Á¶»çÇÑ´Ù. À̵é ÆÄÀϵéÀº ħÀÔÀÚ¿¡ ÀÇÇØ ¹éµµ¾î(back-door)°¡ ÀÖ´Â
°æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÃßÈÄ¿¡ ħÀÔÀ» À§ÇØ ´Ù½Ã ÀÌ¿ëµÉ ¼ö ÀÖ´Ù. ±×¸®°í
¡®cron¡¯°ú ¡®at.¡¯¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¸ðµç ÇÁ·Î±×·¥°ú ÆÄÀϵéÀÌ
´©±¸³ª ¾µ ¼ö ÀÖ´Â ±ÇÇÑ(world-writable)ÀÌ ºÎ¿©µÇÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇÑ´Ù.
- ºÒ¹ýÀûÀÎ ¼ºñ½º°¡ ¾ø´ÂÁö È®ÀÎÇÑ´Ù. Áï, /etc/inetd.conf¿¡
ºÒ¹ýÀûÀ¸·Î ¾î¶² ¼ºñ½º°¡ Ãß°¡ µÇ¾ú°Å³ª º¯°æµÇ¾ú´ÂÁö Á¶»çÇÑ´Ù.
ƯÈ÷, /bin/sh À̳ª /bin/csh µî°ú °°ÀÌ ½© ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°Ô
¸¸µå´Â ¼ºñ½º°¡ ¾ø´ÂÁö È®ÀÎÇÏ°í, /etc/inetd.conf¿¡¼ ÁöÁ¤µÈ
ÇØ´ç ¼ºñ½º ¿ë ÇÁ·Î±×·¥ÀÌ º»·¡ÀÇ ÇÁ·Î±×·¥ÀÎÁö Æ®·ÎÀ̸ñ¸¶ ÇÁ·Î±×·¥
µî¿¡ ÀÇÇØ ±³Ã¼µÇÁö´Â ¾Ê¾Ò´ÂÁö µîÀ» È®ÀÎÇÑ´Ù. ±×¸®°í, ÀÌÀü¿¡
/etc/inetd.conf¿¡¼ ÄÚ¸ÇÆ® ó¸®ÇÑ ¼ºñ½º°¡ ½ÇÇàµÇ°í ÀÖÁö´Â ¾ÊÀºÁö
µîÀ» È®ÀÎÇÑ´Ù. º¸¾È »óÀÇ ÀÌÀ¯·Î ¼ºñ½ºµÇÁö ¾Êµµ·Ï ÄÚ¸ÇÆ® ó¸®ÇÑ
¼ºñ½º(¿¹¸¦ µé¸é, rloginÀ̳ª rsh µî)°¡ ħÀÔÀÚ¿¡ ÀÇÇØ ¼ºñ½ºµÇ°í
ÀÖ´Â °æ¿ì°¡ ¸¹´Ù.
- /etc/passwd ÆÄÀÏÀÌ º¯°æµÇ¾ú´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
ƯÈ÷, ºÒ¹ýÀûÀÎ »õ·Î¿î °èÁ¤ÀÇ »ý¼ºÀ̳ª, ¾ÏÈ£°¡ ¾ø´Â °èÁ¤, ȤÀº
UID°¡ º¯°æµÈ(ƯÈ÷, UID°¡ 0À¸·Î º¯°æµÈ) °èÁ¤ÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
- ³×Æ®¿öÅ© configuration ÆÄÀÏ¿¡ ºÒ¹ýÀûÀÎ ³»¿ëÀÌ
µé¾î°¡ ÀÖÁö ¾ÊÀºÁö È®ÀÎÇÑ´Ù. ƯÈ÷, ¡®+¡¯ ±âÈ£°¡ Ãß°¡µÇ¾î ÀÖÁö
¾ÊÀºÁö È®ÀÎÇÏ°í, /etc/hosts.equiv, /etc/hosts.lpd ¿Í ¸ðµç .rhosts
ÆÄÀÏ(ƯÈ÷, root, uucp, ftp µîÀÇ ½Ã½ºÅÛ °èÁ¤ÀÌ »ç¿ëÇÏ´Â µð·ºÅ丮¿¡
ÀÖ´Â .rhosts ÆÄÀÏ)¿¡ ·ÎÄà ȣ½ºÆ®°¡ ¾Æ´Ñ À̸§ÀÌ Ãß°¡µÇ¾î ÀÖÁö
¾ÊÀºÁö Á¶»çÇÑ´Ù. ÀÌ·¯ÇÑ ÆÄÀϵéÀº ´©±¸³ª ¾µ ¼ö ÀÖ´Â ±ÇÇÑ(world-writable)À¸·Î
¼³Á¤µÇ¾î À־ ¾È µÈ´Ù. ¾ÆÁ÷ ħÀÔÀ» ´çÇÏÁö ¾Ê¾Ò´õ¶óµµ ÀÌ·¯ÇÑ
ÆÄÀϵéÀÌ ¿î¿µÀÚÀÇ ½Ç¼ö³ª ¿À·ù¿¡ ÀÇÇØ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î »çÀü¿¡
È®ÀÎÇÏ¿© ħÀÔ¿¡ ÀÌ¿ëµÇÁö ¾Êµµ·Ï ÇÑ´Ù.
- ½Ã½ºÅÛ¿¡ ħÀÔÀÚ³ª »ç¿ëÇÒ ¸¸ÇÑ ÇÁ·Î±×·¥À̳ª
È÷µç ÆÄÀÏ(hidden files) µîÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. ¿¹¸¦ µé¸é, ¾ÏÈ£¸¦
ÀÚµ¿À¸·Î ±úÁÖ´Â Å©·¢ ÇÁ·Î±×·¥À̳ª ´Ù¸¥ ½Ã½ºÅÛÀÇ Æнº¿öµå ÆÄÀÏ
µîÀÌ ÀÌ·¯ÇÑ ´ëÇÑ ÆÄÀÏÀÌ µÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ È÷µç ÆÄÀÏÀº ÆÄÀϸíÀÌ
¡®¡¦¡¯, ¡®.. ¡® ȤÀº ¡®..^G¡¯ µîÀ¸·Î º¸ÅëÀÇ °æ¿ì¿¡´Â º¸ÀÌÁö
¾Ê´Â ÆÄÀϸíÀ» °¡Áö°í ÀÖ´Ù. À¯´Ð½ºÀÇ find(1) ¸í·ÉÀ» »ç¿ëÇÏ¿©
ÀÌ·¯ÇÑ ÆÄÀϵéÀ» ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇϸé ãÀ» ¼ö ÀÖ´Ù.
find / -name ¡°.. ¡± -print -xdev find / -name
¡°.*¡± -print -xdev | cat -v
À̹ۿ¡µµ ¾ó¸¥ º¸¾Æ¼´Â º¸ÅëÀÇ ÆÄÀÏó·³ º¸ÀÌ´Â
¡®.mail¡¯ °ú °°Àº ÆÄÀϵµ ħÀÔÀÚ°¡ ħÀÔµµ±¸·Î »ç¿ëÇÏ´Â ÆÄÀÏÀÏ
¼ö ÀÖ´Ù.
- ·ÎÄà ³×Æ®¿öÅ© »ó¿¡ ÀÖ´Â ¸ðµç ½Ã½ºÅÛÀ» ÇÔ²²
Á¶»çÇÑ´Ù. ƯÈ÷, NIS°¡ ½ÇÇàµÇ°í Àְųª, .rhosts ³ª /etc/hosts.equiv
µîÀ» ÅëÇØ »óÈ£ ½Å·ÚÇÏ°í ÀÖ´Â ½Ã½ºÅÛÀÌ ÀÖ´Â °æ¿ì À̵é È£½ºÆ®µéÀ»
¸ðµÎ È®ÀÎÇØ¾ß ÇÑ´Ù.
|