°£Æí°áÁ¦, ½Å¿ëÄ«µå û±¸ÇÒÀÎ
ÀÎÅÍÆÄÅ© ·Ôµ¥Ä«µå 5% (25,650¿ø)
(ÃÖ´ëÇÒÀÎ 10¸¸¿ø / Àü¿ù½ÇÀû 40¸¸¿ø)
ºÏÇǴϾð ·Ôµ¥Ä«µå 30% (18,900¿ø)
(ÃÖ´ëÇÒÀÎ 3¸¸¿ø / 3¸¸¿ø ÀÌ»ó °áÁ¦)
NH¼îÇÎ&ÀÎÅÍÆÄÅ©Ä«µå 20% (21,600¿ø)
(ÃÖ´ëÇÒÀÎ 4¸¸¿ø / 2¸¸¿ø ÀÌ»ó °áÁ¦)
Close

¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼® : ¸®´ª½º ¹ÙÀ̳ʸ®¿Í ¸Þ¸ð¸® ÇØÅ· ¸Å´º¾ó

¿øÁ¦ : Learning Linux Binary Analysis
¼Òµæ°øÁ¦

2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.

°øÀ¯Çϱâ
Á¤°¡

30,000¿ø

  • 27,000¿ø (10%ÇÒÀÎ)

    1,500P (5%Àû¸³)

ÇÒÀÎÇýÅÃ
Àû¸³ÇýÅÃ
  • S-Point Àû¸³Àº ¸¶ÀÌÆäÀÌÁö¿¡¼­ Á÷Á¢ ±¸¸ÅÈ®Á¤ÇϽŠ°æ¿ì¸¸ Àû¸³ µË´Ï´Ù.
Ãß°¡ÇýÅÃ
¹è¼ÛÁ¤º¸
  • 3/19(È­) À̳» ¹ß¼Û ¿¹Á¤  (¼­¿ï½Ã °­³²±¸ »ï¼º·Î 512)
  • ¹«·á¹è¼Û
ÁÖ¹®¼ö·®
°¨¼Ò Áõ°¡
  • À̺¥Æ®/±âȹÀü

  • ¿¬°üµµ¼­(224)

  • »óÇ°±Ç

AD

Ã¥¼Ò°³

[¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®]Àº ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®¿¡ ²À ÇÊ¿äÇÑ Áö½ÄÀ» ¿¹Á¦¸¦ ÅëÇØ ½±°Ô ¼³¸íÇÑ´Ù. ¸®´ª½º ȯ°æ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ±âº» µµ±¸¿Í ȯ°æ, ELF ¹ÙÀ̳ʸ® Æ÷¸ËºÎÅÍ ¸®´ª½º ÇÁ·Î¼¼½º ÃßÀû¿¡ ÇÊ¿äÇÑ ±â¼ú±îÁö ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®À» óÀ½ Á¢ÇÏ´Â µ¶ÀÚµéÀÌ ½±°Ô ¹è¿ï ¼ö ÀÖµµ·Ï ±¸¼ºµÅ ÀÖ´Ù. ¸®´ª½º ¹ÙÀ̳ʸ® º¸È£¿Í ¸Þ¸ð¸® Æ÷·»½Ä, Ä¿³Î ÇØÅ· ±â¼ú°ú °°ÀÌ ³­À̵µ°¡ ³ôÀº ³»¿ëµµ ´Ù·ç°í ÀÖ¾î Çö¾÷¿¡¼­ ºÐ¼® ¾÷¹«¸¦ ¼öÇàÇÏ´Â º¸¾È Àü¹®°¡µé¿¡°Ôµµ Å« µµ¿òÀÌ µÉ ¸¸ÇÑ Áöħ¼­´Ù.

ÃâÆÇ»ç ¼­Æò

¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú

¡á ELF ¹ÙÀ̳ʸ® Æ÷¸Ë ¿ø¸®
¡á À¯´Ð½º ¹ÙÀÌ·¯½º °¨¿°°ú ºÐ¼® ¹æ¹ý
¡á ¹ÙÀ̳ʸ® °­È­¿Í ¼ÒÇÁÆ®¿þ¾î ¾ÈƼ ÅÆÆÛ ¹æ¹ý
¡á ½ÇÇà ÆÄÀÏ°ú ÇÁ·Î¼¼½º ¸Þ¸ð¸® ÆÐÄ¡
¡á ¾Ç¼ºÄڵ忡¼­ »ç¿ëÇÏ´Â ¾ÈƼ µð¹ö±ë ¹æ¹ý ¿ìȸ
¡á ½ÇÇà ÆÄÀÏ¿¡ ´ëÇÑ °í±Þ Æ÷·»½Ä ºÐ¼®
¡á C ¾ð¾î·Î ÀÛ¼ºµÈ ELF µµ±¸ °³¹ß
¡á ptrace¸¦ »ç¿ëÇÑ ¸Þ¸ð¸® Á¶ÀÛ

¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú

¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î°Å³ª ¸®¹ö½º ¿£Áö´Ï¾î¶ó¸é ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®À» ¹è¿ï Çʿ伺À» ´À³¥ °ÍÀÌ´Ù. ÀÌ Ã¥Àº º¸¾È, Æ÷·»½Ä, ¾ÈƼ¹ÙÀÌ·¯½º ºÐ¾ß µî¿¡ °üÇÑ ´ëºÎºÐÀÇ Á¤º¸¸¦ Á¦°øÇÑ´Ù. ±×»Ó¸¸ ¾Æ´Ï¶ó º¸¾È Àü¹®°¡¿Í ½Ã½ºÅÛ ·¹º§ ¿£Áö´Ï¾î¿¡°Ôµµ µµ¿òÀÌ µÈ´Ù. C ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ¸®´ª½º ¸í·É¾î¿¡ ´ëÇØ Á¶±ÝÀÌ¶óµµ ¾Ë°í ÀÖ´Ù¸é ÇнÀÀ» ½ÃÀÛÇϱ⿡ ÃæºÐÇÏ´Ù.

¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú

1Àå, ¡®¸®´ª½º ȯ°æ°ú µµ±¸¡¯¿¡¼­´Â ¸®´ª½º ȯ°æ°ú ÀÌ Ã¥¿¡¼­ »ç¿ëÇÒ µµ±¸¿¡ ´ëÇØ °£·«È÷ ¼³¸íÇÑ´Ù.
2Àå, ¡®ELF ¹ÙÀ̳ʸ® Æ÷¸Ë¡¯¿¡¼­´Â À¯´Ð½º¿Í ¸®´ª½º ¸ðµÎ¿¡¼­ ÁÖ·Î »ç¿ëµÇ´Â ELF ¹ÙÀ̳ʸ® Æ÷¸Ë ÄÄÆ÷³ÍÆ®¿¡ ´ëÇØ ´Ù·é´Ù.
3Àå, ¡®¸®´ª½º ÇÁ·Î¼¼½º ÃßÀû¡¯¿¡¼­´Â ptrace ½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇØ ÇÁ·Î¼¼½º ¸Þ¸ð¸®¸¦ Àаí, ÄÚµå ÀÎÁ§¼ÇÀ» À§ÇØ ¸Þ¸ð¸®¿¡ ¾²´Â ¹æ¹ýÀ» ´Ù·é´Ù.
4Àå, ¡®ELF ¹ÙÀÌ·¯½º ±â¼ú: ¸®´ª½º/À¯´Ð½º ¹ÙÀÌ·¯½º¡¯¿¡¼­´Â ¸®´ª½º ¹ÙÀÌ·¯½ºÀÇ °ú°Å, ÇöÀç, ¹Ì·¡¿¡ ´ëÇØ ´Ù·ç¸ç, °¢°¢ÀÇ ±â¹Ý ±â¼ú¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캻´Ù.
5Àå, ¡®¸®´ª½º ¹ÙÀ̳ʸ® º¸È£¡¯¿¡¼­´Â ±âº»ÀûÀÎ ELF ¹ÙÀ̳ʸ® º¸È£ ±â¼úÀ» ´Ù·é´Ù.
6Àå, ¡®¸®´ª½º ELF ¹ÙÀ̳ʸ® Æ÷·»½Ä¡¯¿¡¼­´Â ELF ¿ÀºêÁ§Æ®ÀÇ ¾î´À ºÎºÐÀ» ºÐ¼®ÇØ¾ß ¹ÙÀÌ·¯½º, ¹éµµ¾î, Àǽɽº·¯¿î ÄÚµå ÀÎÁ§¼ÇÀ» ãÀ» ¼ö ÀÖ´ÂÁö ¾Ë¾Æº»´Ù.
7Àå, ¡®ÇÁ·Î¼¼½º ¸Þ¸ð¸® Æ÷·»½Ä¡¯¿¡¼­´Â ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º¿¡¼­ ¾Ç¼ºÄÚµå, ¹éµµ¾î, Àǽɽº·¯¿î ÄÚµå ÀÎÁ§¼ÇÀ» ã±â À§Çؼ­´Â ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£À» ¾î¶»°Ô ºÐ¼®ÇØ¾ß ÇÏ´ÂÁö ¹è¿î´Ù.
8Àå, ¡®ECFS: È®ÀåµÈ ÄÚ¾î ÆÄÀÏ ½º³À¼¦ ±â¼ú¡¯¿¡¼­´Â ½ÉÃþÀûÀÎ ÇÁ·Î¼¼½º ¸Þ¸ð¸® Æ÷·»½Ä ±â¼úÀÎ ECFS ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡ ´ëÇØ ´Ù·é´Ù.
9Àå, ¡®¸®´ª½º /proc/kcore ºÐ¼®¡¯¿¡¼­´Â /proc/kcore ºÐ¼®À» ÅëÇÑ ¸®´ª½º Ä¿³Î ¾Ç¼ºÄÚµå Áø´Ü ¹æ¹ý¿¡ ´ëÇØ ´Ù·é´Ù.

¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú

´ë´Ù¼öÀÇ Çö´ëÀÎÀÌ ¸ÅÀÏ ÀÎÅͳÝÀ» »ç¿ëÇØ ¸ÞÀÏÀ» ÀÛ¼ºÇÏ°í À¥ ¼­ÇÎÀ» ÇÑ´Ù. À¥ ¼­¹ö, ¸ÞÀÏ ¼­¹ö µî¿¡ Á¢±ÙÇϱâ À§ÇØ DNS ¼­¹ö·Î Äõ¸® Àü¼ÛÀÌ ¼ö½Ã·Î ÀÌ·ïÁø´Ù. ÀÎÅͳÝÀ» »ç¿ëÇϸ鼭 Á¢±ÙÇÏ°Ô µÇ´Â ¼­¹öÀÇ Á¡À¯À²Àº ¸®´ª½º ¼­¹ö°¡ À©µµ¿ì ¼­¹ö¿¡ ÀüÇô µÚÁöÁö ¾Ê´Â´Ù. ÀÌ·± ÀÌÀ¯·Î ±¹³» »ç¿ëÀÚ¿¡°Ô Ä£¼÷ÇÑ À©µµ¿ì¸¸Å­À̳ª ¸®´ª½º¿¡ ´ëÇÑ ÀÌÇصµ ÇʼöÀûÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ¸®´ª½º ȯ°æ ³»ºÎ¿Í ½ÇÇà ÆÄÀÏ Çü½ÄÀÎ ELF ÆÄÀÏ Æ÷¸Ë°ú ¸®´ª½º ¾Ç¼º ÄÚµå ±â¼ú¿¡ ´ëÇØ ´Ù·ç´Â Ã¥Àº ¸¹Áö ¾Ê´Ù. ÀÌ Ã¥Àº ¸®´ª½ºÀÇ ELF Æ÷¸ËºÎÅÍ °í±Þ ÇØÅ· ±â¼ú ¹× ºÐ¼® ¹æ¹ý±îÁö ¿¹Á¦¸¦ ÅëÇØ ½±°Ô ¼³¸íÇÏ°í ÀÖ´Ù. ½ÇÁ¦·Î ÀÀ¿ë °¡´ÉÇÑ Äڵ带 ÇϳªÇϳª ½Ç½ÀÇÏ¸ç µû¶ó°¥ ¼ö ÀÖ´Ù´Â Á¡¿¡¼­ ÀÌ Ã¥Àº ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®¿¡ ´ëÇÑ ÀÔ¹®¼­·Î ÈǸ¢ÇÏ´Ù.
ÀÌ Ã¥ÀÇ ¿øÁ¦¸ñÀº ¡ºLearning Linux Binary Analysis¡»·Î, ¸®´ª½º¿¡¼­ ÀÚÁÖ »ç¿ëµÇ´Â ±âº» µµ±¸¿Í ¸®´ª½º ȯ°æÀÇ ±¸¼º ¿ä¼Òµé¿¡ ´ëÇØ °£·«È÷ »ìÆ캸´Â °ÍÀ¸·Î ½ÃÀÛÇØ ¸®´ª½º ¹ÙÀ̳ʸ®¸¦ ºÐ¼®À» óÀ½ ½ÃÀÛÇÏ´Â »ç¶÷µéµµ ¾î·ÆÁö ¾Ê°Ô µû¶ó°¡µµ·Ï ¹è·ÁÇß´Ù. ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®ÀÌ ¾î¶² ¿ø¸®·Î ÁøÇàµÇ´ÂÁö ¼³¸íÇϸç ÇÁ·Î¼¼½º ¸Þ¸ð¸® ºÐ¼®¸¦ ÀÚÀ¯ÀÚÀç·Î ´Ù·ç´Â ¹æ¹ýÀ» ¿¹Á¦¸¦ ÅëÇØ ½±°Ô ¾Ë·ÁÁØ´Ù. ¸®´ª½º/À¯´Ð½º ¹ÙÀÌ·¯½ºÀÇ °ú°Å¿Í ÇöÀç, ¹Ì·¡¿¡ ´ëÇØ ³íÇÑ µÚ, ÀúÀÚ°¡ Á÷Á¢ °³¹ßÇÑ ºÐ¼® µµ±¸¸¦ ¼Ò°³ÇÏ¸ç ¸®´ª½º ¸Þ¸ð¸® Æ÷·»½Ä ºÐ¼® ¹æ¹ý±îÁö ´Ù·é´Ù. ±× ¿Ü ¸®´ª½º ¹ÙÀÌ·¯½º °¨¿° ±â¼ú, Ä¿³Î ÇØÅ·, ¿ª°øÇÐ °³³ä, ÇÖ ÆÐĪ, ¹ÙÀ̳ʸ® ¾Ïȣȭ µî ¸®´ª½º ¹ÙÀ̳ʸ®¸¦ ºÐ¼®ÇÏ´Â µ¥ ²À ¾Ë¾Æ¾ß ÇÒ »çÇ×À» ¿ä¾àÇØ µ¶Àڵ鿡°Ô ±ÍÁßÇÑ Áö½ÄÀ» Àü¼öÇÑ´Ù.
ÀúÀÚ´Â DEFCON°ú RuxCon µî ´Ù¼öÀÇ º¸¾È ÄÁÆÛ·±½º¿¡¼­ ¹ßÇ¥¿Í °­ÀǸ¦ Çß°í ºÐ¼®¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸¹Àº µµ±¸¸¦ °³¹ß ¹× ¹èÆ÷Çß´Ù. ÇÁ·¢, VXHeaven µî¿¡ À¯¿ëÇÑ ³í¹®À» °³Á¦Çß´Ù. Á÷Á¢ °³¹ßÇÑ µµ±¸ÀÇ µ¿ÀÛ ¿ø¸®¿Í »ç¿ë¹ýÀ» ¼³¸íÇÏ¿© ÀÎÅͳݿ¡¼­ ½±°Ô ãÀ» ¼ö ¾ø´Â ³»¿ëµé±îÁöµµ ´Ù·ç°í ÀÖ´Ù. ¸®´ª½º ¹ÙÀ̳ʸ® ºÐ¼®¿¡ ´ëÇÑ ÀúÀÚÀÇ ¶Ù¾î³­ ´É·ÂÀ» Àü¼ö¹ÞÀ» ¼ö ÀÖ´Â ÁÁÀº ±âȸ´Ù.
ÀÌ Ã¥Àº ¸®´ª½º ȯ°æ¿¡¼­ °³¹ßÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î, ¼­¹ö¸¦ ¿î¿µÇÏ´Â ½Ã½ºÅÛ °ü¸®ÀÚ, ¾Ç¼ºÄڵ带 ºÐ¼®ÇÏ°í ´ëÀÀÇÏ´Â º¸¾È ºÐ¼®°¡, ±× ¿Ü ÄÄÇ»ÅÍ º¸¾È¿¡ °ü½ÉÀÌ ¸¹Àº Çлýµé¿¡°Ô Å« µµ¿òÀÌ µÉ °ÍÀ̶ó È®½ÅÇÑ´Ù.

¸ñÂ÷

1Àå. ¸®´ª½º ȯ°æ°ú µµ±¸

__¸®´ª½º µµ±¸
____GDB
____GNU binutilsÀÇ Objdump
____GNU binutilsÀÇ Objcopy
____Strace
____Ltrace
____±âº» ltrace ¸í·É¾î
____ftrace
____readelf
____ERESI - ELF ¸®¹ö½º ¿£Áö´Ï¾î¸µ ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽º
__À¯¿ëÇÑ µð¹ÙÀ̽º¿Í ÆÄÀÏ
____/proc//maps
____/proc/kcore
____/boot/System.map
____/proc/kallsyms
____/proc/iomem
____ECFS
__Linker¿Í °ü·ÃµÈ ȯ°æ º¯¼ö
____LD_PRELOAD ȯ°æ º¯¼ö
____LD_SHOW_AUXV ȯ°æ º¯¼ö
____¸µÄ¿ ½ºÅ©¸³Æ®
__¿ä¾à


2Àå. ELF ¹ÙÀ̳ʸ® Æ÷¸Ë

__ELF ÆÄÀÏ Çü½Ä
__ELF ÇÁ·Î±×·¥ Çì´õ
____PT_LOAD
____PT_DYNAMIC: µ¿Àû ¼¼±×¸ÕÆ®¿¡¼­ »ç¿ëÇÏ´Â Phdr
____PT_NOTE
____PT_INTERP
____PT_PHDR
__ELF ¼½¼Ç Çì´õ
____.text ¼½¼Ç
____.rodata ¼½¼Ç
____.plt ¼½¼Ç
____.data ¼½¼Ç
____.bss ¼½¼Ç
____.got.plt ¼½¼Ç
____.dynsym ¼½¼Ç
____.dynstr ¼½¼Ç
____.rel.* ¼½¼Ç
____.hash ¼½¼Ç
____.symtab ¼½¼Ç
____.strtab ¼½¼Ç
____.shstrtab ¼½¼Ç
____.ctors¿Í .dtors ¼½¼Ç
__ELF ½Éº¼
____st_name
____st_value
____st_size
____st_other
____st_shndx
____st_info
__ELF Àç¹è¿­
____Àç¹è¿­ °¡´É ÄÚµå ÀÎÁ§¼ÇÀ» ÀÌ¿ëÇÑ ¹ÙÀ̳ʸ® ÆÐÄ¡
__ELF µ¿Àû ¸µÅ·
____º¸Á¶ º¤ÅÍ
____PLT¿Í GOT¿¡ ´ëÇÑ ÀÌÇØ
____µ¿Àû ¼¼±×¸ÕÆ® ´Ù½Ã º¸±â
__ELF Æļ­ ±¸Çö
__¿ä¾à


3Àå. ¸®´ª½º ÇÁ·Î¼¼½º ÃßÀû

__ptraceÀÇ Á߿伺
__ptrace ¿äû
____ptrace ¿äû Çü½Ä
__ÇÁ·Î¼¼½º ·¹Áö½ºÅÍ »óÅÂ¿Í Ç÷¡±×
__°£´ÜÇÑ ptrace ±â¹Ý µð¹ö°Å
____Tracer ÇÁ·Î±×·¥
__ÇÁ·Î¼¼½º ¾îÅÂÄ¡ ±â´ÉÀ» °®´Â °£´ÜÇÑ ptrace µð¹ö°Å
__°í±Þ ÇÔ¼ö ÃßÀû ¼ÒÇÁÆ®¿þ¾î
__ptrace¿Í Æ÷·»½Ä ºÐ¼®
____¸Þ¸ð¸®¿¡¼­ ã¾Æ¾ß ÇÒ °Í
__ÇÁ·Î¼¼½º À̹ÌÁö º¹¿ø: ¸Þ¸ð¸®¿¡ ÀÖ´Â ½ÇÇà ÆÄÀϷκÎÅÍ
____ÇÁ·Î¼¼½º ½ÇÇà ÆÄÀÏ º¹¿ø µµÀü °úÁ¦
____½ÇÇà ÆÄÀÏ º¹¿øÀÇ ¹®Á¦Á¡
____¼½¼Ç Çì´õ Å×À̺í Ãß°¡
____ÇÁ·Î¼¼½º º¹¿ø ¾Ë°í¸®Áò
____32ºñÆ® Å×½ºÆ® ȯ°æ¿¡¼­ Quenya¸¦ ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º º¹¿ø
__ptrace¸¦ È°¿ëÇÑ ÄÚµå ÀÎÁ§¼Ç
__Áß¿äÇÏ°Ô »ìÆìºÁ¾ß ÇÒ °£´ÜÇÑ ¿¹Á¦
__code_inject µµ±¸ È°¿ë
__ptrace ¾ÈƼ µð¹ö±ë ±â¼ú
____³» ÇÁ·Î±×·¥ÀÌ ÃßÀûµÇ°í Àִ°¡
__¿ä¾à


4Àå. ELF ¹ÙÀÌ·¯½º ±â¼ú: ¸®´ª½º/À¯´Ð½º ¹ÙÀÌ·¯½º

__ELF ¹ÙÀÌ·¯½º ±â¼ú
__ELF ¹ÙÀÌ·¯½º ±â¼úÀÇ ¿¬±¸
____°¨¿°ÄÚµå´Â µ¶¸³ÀûÀ¸·Î Á¸ÀçÇØ¾ß ÇÑ´Ù
____¹®ÀÚ¿­ ÀúÀå ¹®Á¦
____°¨¿°ÄÚµå ÀúÀåÀ» À§ÇÑ °ø°£ ã±â
____°¨¿°ÄÚµå·Î ½ÇÇà È帧 º¯°æÇϱâ
__ELF ¹ÙÀÌ·¯½º °¨¿° ¹æ¹ý
____Silvio Æеù °¨¿° ¹æ¹ý
____¸®¹ö½º ÅؽºÆ® ¼¼±×¸ÕÆ® °¨¿°
____µ¥ÀÌÅÍ ¼¼±×¸ÕÆ® °¨¿°
__PT_NOTE -> PT_LOAD º¯°æ °¨¿° ¹æ¹ý
____PT_NOTE -> PT_LOAD º¯°æ °¨¿° ¾Ë°í¸®Áò
__Á¦¾î È帧 °¨¿°½ÃÅ°±â
____´ÙÀÌ·ºÆ® PLT °¨¿°
____ÇÔ¼ö Æ®·¥ÆÞ¸°
____.ctors / .dtors ÇÔ¼ö Æ÷ÀÎÅÍ ¿À¹ö¶óÀÌÆÃ
____GOT: global offset table Æ÷ÀÌÁî´×, PLT/GOT ¸®´ÙÀÌ·º¼Ç
____µ¥ÀÌÅÍ ½ºÆ®·°Ã³ °¨¿°½ÃÅ°±â
____ÇÔ¼ö Æ÷ÀÎÅÍ ¿À¹ö¶óÀÌÆÃ
__ÇÁ·Î¼¼½º ¸Þ¸ð¸® ¹ÙÀÌ·¯½º¿Í ·çƮŶ: ¸®¸ðÆ® ÄÚµå ÀÎÁ§¼Ç ±â¼ú
____°øÀ¯ ¶óÀ̺귯¸® ÀÎÁ§¼Ç: .so ÀÎÁ§¼Ç / ET_DYN ÀÎÁ§¼Ç
____LD_PRELOAD¸¦ ÀÌ¿ëÇÑ .so ÀÎÁ§¼Ç
____open() / mmap() ¼Ð Äڵ带 ÀÌ¿ëÇÑ .so ÀÎÁ§¼Ç
____dlopen() ¼Ð Äڵ带 ÀÌ¿ëÇÑ .so ÀÎÁ§¼Ç
____VDSO Á¶ÀÛÀ» ÀÌ¿ëÇÑ .so ÀÎÁ§¼Ç
____ÅؽºÆ® ¼¼±×¸ÕÆ® ÄÚµå ÀÎÁ§¼Ç
____½ÇÇà ÆÄÀÏ ÀÎÁ§¼Ç
____Àç¹è¿­ ÄÚµå ÀÎÁ§¼Ç: ET_REL ÀÎÁ§¼Ç
__µð¹ö±ë°ú ÆÐÅ· ±â¼ú
____PTRACE_TRACEME 񃬣
____SIGTRAP Çڵ鷯 ±â¼ú
____/proc/self/status 񃬣
____ÄÚµå ³­µ¶È­ ±â¼ú
____½ºÆ®¸µ Å×ÀÌºí º¯°æ ±â¼ú
__ELF ¹ÙÀÌ·¯½º ŽÁö°ú Ä¡·á
__¿ä¾à


5Àå. ¸®´ª½º ¹ÙÀ̳ʸ® º¸È£

__ELF ¹ÙÀ̳ʸ® ÆÐÄ¿
__Stub ¸ÞÄ¿´ÏÁò°ú Userland exec
____ÇÁ·ÎÅØÅÍ ¿¹Á¦
__½ºÅÓ¿¡¼­ ¼öÇàÇÏ´Â ´Ù¸¥ ÀÛ¾÷µé
__±âÁ¸ ELF ¹ÙÀ̳ʸ® ÇÁ·ÎÅØÅÍ
____DacryFile(Grugq, 2001³â)
____Burneye(Scut, 2002³â)
____Shiva(Neil Mehta¿Í Shawn Clowes, 2003³â)
____Maya's Veil(Ryan O'Neill, 2014³â)
__Maya°¡ Àû¿ëµÈ ¹ÙÀ̳ʸ® ´Ù¿î·Îµå
__¹ÙÀ̳ʸ® º¸È£¸¦ À§ÇÑ ¾ÈƼ µð¹ö±ë
__¿¡¹Ä·¹ÀÌ¼Ç ¹æ¾îÇϱâ
____Syscall Å×½ºÆÃÀ» ÅëÇÑ ¿¡¹Ä·¹ÀÌ¼Ç Å½Áö
____¿¡¹Ä·¹ÀÌÅÍ CPU ºÒÀÏÄ¡¸¦ ÀÌ¿ëÇÑ Å½Áö
____¸í·É¾î Áö¿¬ üũ
__³­µ¶È­ ¹æ¹ý
__Á¦¾î È帧 ¹«°á¼º º¸È£Çϱâ
____ptrace ±â¹Ý °ø°Ý
____Ãë¾àÁ¡ ±â¹Ý °ø°Ý
__Ãß°¡ ÀÚ·á
__¿ä¾à


6Àå. ¸®´ª½º ELF ¹ÙÀ̳ʸ® Æ÷·»½Ä

__¿£Æ®¸® Æ÷ÀÎÆ® º¯Á¶ Áø´Ü
__ÄÁÆ®·Ñ Ç÷οì ÇÏÀÌÀçÅ· Áø´Ü
____.ctors(.int_array) ¼½¼Ç ÆÐÄ¡
____PLT/GOT ÈÄÅ· ŽÁö
____ÇÔ¼ö Æ®·¥ÆÞ¸° Áø´Ü
__±â»ý ÄÚµåÀÇ Æ¯¼º
__DLL ÀÎÁ§¼Ç Æ®·¹À̽ºÀÇ µ¿Àû ¼¼±×¸ÕÆ® Áø´Ü
__¸®¹ö½º-ÅؽºÆ® Æеù °¨¿° Áø´Ü
__ÅؽºÆ® ¼¼±×¸ÕÆ® Æеù °¨¿° Áø´Ü
__º¸È£µÈ ¹ÙÀ̳ʸ® Áø´Ü
____º¸È£µÈ ¹ÙÀ̳ʸ® ºÐ¼®
__IDA Pro
__¿ä¾à


7Àå. ÇÁ·Î¼¼½º ¸Þ¸ð¸® Æ÷·»½Ä

__ÇÁ·Î¼¼½º´Â ¾î¶»°Ô ±¸¼ºµÅ Àִ°¡
____½ÇÇà °¡´ÉÇÑ ¸Þ¸ð¸® ¸ÅÇÎ
____ÇÁ·Î±×·¥ Èü
____°øÀ¯ ¶óÀ̺귯¸® ¸ÅÇÎ
____½ºÅÃ, VDSO, VSYSCALL
__ÇÁ·Î¼¼½º ¸Þ¸ð¸® °¨¿°
____ÇÁ·Î¼¼½º °¨¿° µµ±¸
____ÇÁ·Î¼¼½º °¨¿° ±â¼ú
__ET_DYN ÀÎÁ§¼Ç Áø´Ü
____Azazel »ç¿ëÀÚ °ø°£ ·çƮŶ Áø´Ü
____ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£ ¸ÅÇÎ È®ÀÎ
____½ºÅÿ¡¼­ LD_PRELOAD È®ÀÎ
____PLT/GOT ÈÄÅ· Áø´Ü
____ET_DYN ÀÎÁ§¼Ç ÀÚ¼¼È÷ º¸±â
____VDSO º¯Á¶
____°øÀ¯ ¿ÀºêÁ§Æ® ·Îµù: Á¤»óÀûÀÎ ¹æ¹ý°ú ºñÁ¤»óÀûÀÎ ¹æ¹ý
____.so ÀÎÁ§¼Ç Áø´Ü ÈÞ¸®½ºÆ½
____PLT/GOT ÈÄÅ· Áø´Ü µµ±¸
__¸®´ª½º ELF ÄÚ¾î ÆÄÀÏ
____ÄÚ¾î ÆÄÀÏ ºÐ¼®: Azazel ·çƮŶ
__¿ä¾à


8Àå. ECFS: È®ÀåµÈ ÄÚ¾î ÆÄÀÏ ½º³À¼¦ ±â¼ú

__¿ª»ç
__ECFS öÇÐ
__ECFS ¼Ò°³
____ECFS¸¦ ÄÚ¾î Çڵ鷯 Ç÷¯±×ÀÎÀ¸·Î »ç¿ëÇϱâ
____ÇÁ·Î¼¼½º¸¦ Á¾·áÇÏÁö ¾Ê°í ECFS ½º³À¼¦ »ý¼º
__libecfs: ECFS ÆÄÀÏ ÆÄ½Ì ¶óÀ̺귯¸®
__readecfs
__ECFS¸¦ ÀÌ¿ëÇÑ °¨¿°µÈ ÇÁ·Î¼¼½º ºÐ¼®
____¼÷ÁÖ ÇÁ·Î¼¼½º °¨¿°
____ECFS ½º³À¼¦ »ý¼º ¹× ºÐ¼®
____readecfs¸¦ ÀÌ¿ëÇÑ ±â»ý ÄÚµå ÃßÃâ
____Azazel ·çƮŶ ºÐ¼®
__ECFS ·¹ÆÛ·±½º °¡À̵å
____ECFSÀ» ÀÌ¿ëÇÑ ½Éº¼ Å×À̺í À籸¼º
____ECFS ¼½¼Ç Çì´õ
____ECFS ÆÄÀÏÀ» ±âº» ÄÚ¾î ÆÄÀÏ·Î »ç¿ëÇϱâ
____libecfs API »ç¿ë¹ý
__ECFS¸¦ ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º µÇ»ì¸®±â
__ECFS ´õ »ìÆ캸±â
__¿ä¾à


9Àå. ¸®´ª½º /proc/kcore ºÐ¼®

__¸®´ª½º Ä¿³Î Æ÷·»½Ä°ú ·çƮŶ
__Stock ¹öÀüÀÇ vmlinux´Â ½Éº¼À» °¡Áö°í ÀÖÁö ¾Ê´Ù
____kdress¸¦ ÀÌ¿ëÇÑ vmlinux ºôµå
__/proc/kcore¿Í GDB »ìÆ캸±â
____sys_call_table À§Ä¡ Á¶È¸ ¿¹Á¦
__sys_call_table Á÷Á¢ º¯Á¶
____sys_call_table º¯Á¶ Áø´Ü
____Ä¿³Î ÇÔ¼ö Æ®·¥ÆÞ¸° ±â¹ý
____ÇÔ¼ö Æ®·¥ÆÞ¸° ¿¹Á¦
____ÇÔ¼ö Æ®·¥ÆÞ¸° Áø´Ü
____ÀÎÅÍ·´Æ® Çڵ鷯 ÆÐÄ¡ Áø´Ü
__Kprobe ·çƮŶ
____Kprobe ·çƮŶ Áø´Ü
__DRR(µð¹ö±× ·¹Áö½ºÅÍ ·çƮŶ)
____DRR Áø´Ü
__VFS ·¹ÀÌ¾î ·çƮŶ
____VFS ·¹ÀÌ¾î ·çƮŶ Áø´Ü
__±× ¿ÜÀÇ Ä¿³Î °¨¿° ±â¼ú
__vmlinux¿Í .altinstructions ÆÐÄ¡
____.altinstructions¿Í .altinstr_replace
____arch/x86/include/asm/alternative.h »ìÆ캸±â
____textify¸¦ ÀÌ¿ëÇÑ ÄÚµå Á¤ÇÕ¼º °ËÁõ
____textify¸¦ ÀÌ¿ëÇÑ sys_call_table °ËÁõ ¿¹Á¦
__taskverse¸¦ ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º Àº´Ð Áø´Ü
____taskverse 񃬣
__°¨¿°µÈ LKM: Ä¿³Î µå¶óÀ̹ö
____¹æ¹ý 1. ½Éº¼ ÇÏÀÌÀçÅ·
____¹æ¹ý 2. ÇÔ¼ö ÇÏÀÌÀçÅ·
____°¨¿°µÈ LKM Áø´Ü
__/dev/kmem°ú /dev/mem¿¡ ´ëÇØ
__/dev/mem
____FreeBSDÀÇ /dev/kmem
__K-ecfs: Ä¿³Î ECFS
____kernel-ecfs ÆÄÀÏ »ìÆ캸±â
__Ä¿³Î ÇØÅ·
____¸®¹ö½º ¿£Áö´Ï¾î¸µ°ú µð¹ö±ë
____°í±Þ Ä¿³Î ÇØÅ· ¹× µð¹ö±ë ÀÎÅÍÆäÀ̽º
____ÀÌ Ã¥¿¡¼­ ¾ð±ÞÇÑ ³í¹®
__¿ä¾à

ÀúÀÚ¼Ò°³

¶óÀ̾ð ¿À´Ò [Àú] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.

±è⿱, °­¹Îö [¿ª] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.

ÀÌ »óÇ°ÀÇ ½Ã¸®Áî

(ÃÑ 225±Ç / ÇöÀ籸¸Å °¡´Éµµ¼­ 225±Ç)

¼±ÅÃÇÑ »óÇ° ºÏÄ«Æ®´ã±â
ÆîÃ帱â

Àü°øµµ¼­/´ëÇб³Àç ºÐ¾ß¿¡¼­ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥

    ¸®ºä

    0.0 (ÃÑ 0°Ç)

    100ÀÚÆò

    ÀÛ¼º½Ã À¯ÀÇ»çÇ×

    ÆòÁ¡
    0/100ÀÚ
    µî·ÏÇϱâ

    100ÀÚÆò

    8.0
    (ÃÑ 0°Ç)

    ÆǸÅÀÚÁ¤º¸

    • ÀÎÅÍÆÄÅ©µµ¼­¿¡ µî·ÏµÈ ¿ÀǸ¶ÄÏ »óÇ°Àº ±× ³»¿ë°ú Ã¥ÀÓÀÌ ¸ðµÎ ÆǸÅÀÚ¿¡°Ô ÀÖÀ¸¸ç, ÀÎÅÍÆÄÅ©µµ¼­´Â ÇØ´ç »óÇ°°ú ³»¿ë¿¡ ´ëÇØ Ã¥ÀÓÁöÁö ¾Ê½À´Ï´Ù.

    »óÈ£

    (ÁÖ)±³º¸¹®°í

    ´ëÇ¥ÀÚ¸í

    ¾Èº´Çö

    »ç¾÷ÀÚµî·Ï¹øÈ£

    102-81-11670

    ¿¬¶ôó

    1544-1900

    ÀüÀÚ¿ìÆíÁÖ¼Ò

    callcenter@kyobobook.co.kr

    Åë½ÅÆǸž÷½Å°í¹øÈ£

    01-0653

    ¿µ¾÷¼ÒÀçÁö

    ¼­¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù)

    ±³È¯/ȯºÒ

    ¹ÝÇ°/±³È¯ ¹æ¹ý

    ¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼­ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼­ ½Åû °¡´É

    ¹ÝÇ°/±³È¯°¡´É ±â°£

    º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É
    ´Ü, »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦Á¡ ¹ß°ß ÈÄ 30ÀÏ À̳»

    ¹ÝÇ°/±³È¯ ºñ¿ë

    º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã
    »óÇ°À̳ª ¼­ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯/¹ÝÇ°Àº ¹Ý¼Û·á ÆǸÅÀÚ ºÎ´ã

    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯

    ·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    (´ÜÁö È®ÀÎÀ» À§ÇÑ Æ÷Àå ÈѼÕÀº Á¦¿Ü)

    ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    ¿¹) È­ÀåÇ°, ½ÄÇ°, °¡ÀüÁ¦Ç°(¾Ç¼¼¼­¸® Æ÷ÇÔ) µî

    ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì
    ¿¹) À½¹Ý/DVD/ºñµð¿À, ¼ÒÇÁÆ®¿þ¾î, ¸¸È­Ã¥, ÀâÁö, ¿µ»ó È­º¸Áý

    ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì

    ·ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì

    »óÇ° Ç°Àý

    °ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½

    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó

    ·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº ¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê

    ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ

    (ÁÖ)KGÀ̴Ͻýº °áÁ¦´ë±Ý¿¹Ä¡¾÷ µî·Ï¹øÈ£: 02-006-00013

    (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ
    ¸ðµç °Å·¡¿¡ ´ëÇÏ¿© (ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼­ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.
    µî·Ï ¿©ºÎ´Â e-±ÝÀ¶¹Î¿ø¼¾ÅÍ È¨ÆäÀÌÁö(www.fcsc.kr)ÀÇ µî·Ï¡¤½Å°í>ÀüÀÚ±ÝÀ¶¾÷µî·ÏÇöȲ ¸Þ´º¿¡¼­ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¼­ºñ½º °¡ÀÔ»ç½Ç È®ÀÎ

    ¹è¼Û¾È³»

    • ±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

    • Ãâ°í°¡´É ½Ã°£ÀÌ ¼­·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.

    • ±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.

    • ¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.

    • - µµ¼­ ±¸¸Å ½Ã 15,000¿ø ÀÌ»ó ¹«·á¹è¼Û, 15,000¿ø ¹Ì¸¸ 2,500¿ø - »óÇ°º° ¹è¼Ûºñ°¡ ÀÖ´Â °æ¿ì, »óÇ°º° ¹è¼Ûºñ Á¤Ã¥ Àû¿ë