25, 1/1 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ¸Û¸Û
   http://hackerschool.org
   do_brk() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®

http://www.hackerschool.org/HS_Boards/zboard.php?id=advisory&no=4 [º¹»ç]


::: ¹öÀü 2.4.22 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ do_brk() Ãë¾àÁ¡ :::

ÀÛ¼ºÀÏ : 2003³â 12¿ù 6ÀÏ
ÀÛ¼ºÀÚ : iSEC Security Research (http://isec.pl)
¹ø¿ª : ÇØÄ¿½ºÄð (http://hackerschool.org)

ÀÌ ¹®¼­´Â Áö³­ 12¿ù ÃÊ¿¡ ¹ß°ßµÈ »õ·Î¿î ¸®´ª½º Ä¿³Î °áÇÔ¿¡ ´ëÇÏ¿© ¿Ü±¹ÀÇ
iSEC Security Research»ç¿¡¼­ ºÐ¼®ÇÑ ¹®¼­¸¦ ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù.
¹ø¿ª°ú ¹èÆ÷ÀÇ ¸ñÀûÀº ÀÌ Ãë¾àÁ¡ ºÐ¼®À» ÅëÇÑ ¸®´ª½º Ä¿³Î¿¡ ´ëÇÑ Áö½Ä
È®ÃæÀ» À§Çؼ­À̸ç, °ø°Ý°ú °ü·ÃµÈ ¾Ç¼º ÄÚµå´Â ¾Ç¿ë °¡´É¼ºÀÌ ÀÖÀ½À¸·Î
¹ø¿ª/÷ºÎÇÏÁö ¾Ê½À´Ï´Ù.

[¹®¼­ ¸ñÂ÷]
1. °³¿ä
2. ¸®´ª½ºÀÇ ¸Þ¸ð¸® °ü¸®
3. Ãë¾àÁ¡ ¿ä¾à
4. »ó¼¼ ºÐ¼®
   1) °ø°Ý ±¸»ó
   2) Èü ¿µ¿ªÀÇ È®Àå
   3) Ä¿³Î ¸Þ¸ð¸® º¸È£ÀÇ ¿ìȸ
   4) Ä¿³Î ±¸Á¶Ã¼
   5) ±ÇÇÑ »ó½Â
   6) Cleanup ¹®Á¦

1. °³¿ä

¹öÀü 2.4.22 ÀÌÇÏÀÇ ¸®´ª½º Ä¿³Î¿¡¼­ ¸Þ¸ð¸® °ü¸® ü°è¿¡ °ü·ÃµÈ ½É°¢ÇÑ º¸¾È
Ãë¾àÁ¡ÀÌ ¹ß°ßµÇ¾ú´Ù. ±×¸®°í ÀÌ Ãë¾àÁ¡Àº ¿ÀǼҽº Ä¿¹Â´ÏƼÁ¶Â÷µµ ¾Ë·ÁÁöÁö
¾ÊÀº ä Á¶¿ëÈ÷ 2.4.23 ¹öÀü°ú 2.6.0-test6 releaqse ¹öÀü¿¡ ÆÐÄ¡µÇ¾î ¹èÆ÷µÇ¾ú´Ù.
Ä¿³Î °³¹ßÀÚµéÀº ÀÌ Ãë¾àÁ¡ÀÌ ¾Ç¿ë °¡´ÉÇÏ´Ù°í »ý°¢ÇÏÁö ¾Ê¾Ò´ø°ÇÁö, ¾Æ´Ï¸é
±×µéÀÌ ¸¸µç ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ »õ·Î¿î º¸¾È ±Ç°í¹®À» ¾´´Ù´Â °ÍÀÌ µÎ·Á¿ü´ø
°ÇÁö´Â ¸ð¸£´Â ÀÏÀÌ´Ù.

2003³â 9¿ù¸», ¸®´ª½º Ä¿³Î¿¡ ´ëÇÑ ÀϹÝÀûÀÎ ºÐ¼®À» ÇÏ´ø µµÁß, ¿ì¸®´Â ¶È°°Àº
¹ö±×¸¦ ¹ß°ßÇß°í, ±×°ÍÀÇ ½É°¢ÇÑ ¿µÇâÀ» Áï°¢ ÀÌÇØÇß´Ù. ¶ÇÇÑ, ¸ÖÁö¾Ê¾Æ ¿ì¸®´Â
°£´ÜÇÑ ÀͽºÇ÷ÎÀÕ Äڵ嵵 ±¸ÇöÇÒ ¼ö ÀÖ¾ú´Ù.

ÀÌ ¹®¼­¿¡¼­´Â do_brk() ÇÔ¼ö¿¡¼­ ¹ß°ßµÈ Ãë¾àÁ¡ÀÇ ±â¼úÀûÀÎ »ó¼¼ ³»¿ë°ú
ÀͽºÇ÷ÎÀÕÀ» ±¸ÇöÇÏ´Â µ¿¾ÈÀÇ ¿ì¸®ÀÇ ¿¬±¸ °á°ú¸¦ ±â¼úÇÏ°í ÀÖ´Ù.
ÀÌ ¹®¼­´Â ¶ÇÇÑ, ¿ì¸®°¡ È¿°úÀûÀÎ ÀͽºÇ÷ÎÀÕÀ» ¸¸µé±â À§ÇØ »ç¿ëÇß´ø ¼ö ¾øÀÌ
¸¹Àº ±â¼úÀû ³ëÇÏ¿ì(°¢Á¾ º¸¾È ÆÐÄ¡·Î ¹æ¾îµÈ Ä¿³Î¿¡¼­ÀÇ ±ÇÇÑ »ó½Â µî)¸¦
´ã°í ÀÖ´Ù.

2. ¸®´ª½ºÀÇ ¸Þ¸ð¸® °ü¸®

x86 °è¿­ÀÇ CPU¿¡¼­ ±¸µ¿µÇ´Â ÃÖ±ÙÀÇ ¸®´ª½º Ä¿³ÎÀº °£¼ÒÈ­µÈ °¡»ó ¸Þ¸ð¸® ¸ðµ¨¿¡
ÀÇÇÏ¿© °ü¸®µÈ´Ù. 32ºñÆ® ¾ÆÅ°ÅØÃÄ¿¡¼­´Â °¢ »ç¿ëÀÚ ÇÁ·Î¼¼½º°¡ 0¿¡¼­ 4±â°¡¹ÙÀÌÆ®
±îÁöÀÇ °¡»ó ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ½ÇÁ¦ ¹°¸® ¸Þ¸ð¸®º¸´Ù ÈξÀ ¸¹Àº
¾çÀÌ´Ù. °¡»ó ¸Þ¸ð¸®´Â ¼±ÇüÀÇ ÁÖ¼Ò °ø°£ÀÌ 4kb »çÀÌÁîÀÇ ÆäÀÌÁö ´ÜÀ§·Î ³ª´µ¾îÁø
°Í°ú °°´Ù. ÀÌ ÆäÀÌÁöµéÀº ¹°¸® ¸Þ¸ð¸® ÆäÀÌÁö¿¡ Àû´çÇÏ°Ô ¸ÅÇεȴÙ. ÇÁ·Î¼¼½ºÀÇ
ÆäÀÌÁö Å×À̺íÀº ¸ÅÇÎµÈ °¢°¢ÀÇ ÆäÀÌÁö¸¦ À§ÇÑ º¸È£ Ư¼ºÀ» Æ÷ÇÔÇÑ Ãß°¡ÀûÀΠƯ¼º
À» °¡Áö°í ÀÖ´Ù.

ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®´Â µÎºÎºÐÀ¸·Î ³ª´¶´Ù. TASK_SIZE ´Â Ä¿³Î »ó¼ö·Î¼­, °¡Àå
³·Àº ±ÇÇÑ ·¹º§¿¡¼­ µ¹¾Æ°¡´Â Äڵ忡 ´ëÇÑ Á¢±Ù °¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ ÃÖ´ë Á¦ÇÑ °ªÀ»
Á¤ÀÇÇÑ´Ù.

1±â°¡¹ÙÀÌÆ® ÀÌÇÏÀÇ ¹°¸® ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼­´Â ÀϹÝÀûÀ¸·Î ÀÌ °ªÀÌ
0xc0000000À¸·Î Á¤ÀǵǾî ÀÖ´Ù. (ÀÌ ¹®¼­ÀÇ ¸ðµç ¿¹Á¦´Â ÀÌ °ªÀ» ÂüÁ¶ÇÑ´Ù.)
ÀÌ Á¦ÇѼ± À§¿¡ ÀÖ´Â ¸Þ¸ð¸®¿¡´Â µ¥ÀÌÅÍ ±¸Á¶¸¦ Æ÷ÇÔÇÑ Ä¿³Î Äڵ尡 ÀÖÁö¸¸,
ÆäÀÌÁö ÇÁ·ÎÅØ¼Ç ¸ÞÄ«´ÏÁò¿¡ÀÇÇØ À¯Á®¿¡°Ô´Â Á¢±Ù ±ÇÇÑÀ» Çã¶ôÇÏÁö ¾Ê´Â´Ù.
ÀÌ ºÎºÐÀº ´ÜÁö Ä¿³Î·ÎÀÇ Á¢±Ù ±ÇÇÑÀÌ ÀÖ´Â Äڵ忡 ÀÇÇؼ­¸¸ Á¦¾î°¡ °¡´ÉÇÏ´Ù.

TASK_SIZE Á¦ÇѼ± ¾Æ·¡ÂÊÀÇ ÀÏ¹Ý À¯Á®°¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸® ¿µ¿ªÀº ´õ¿í ¸¹Àº
³í¸® ±¸¿ªÀ¸·Î ³ª´µ¾îÁ® ÀÖ´Ù. °¢ ¿µ¿ªÀº °¡»ó ÁÖ¼Ò ¹üÀ§¿Í ÇÁ·ÎÅØ¼Ç Æ¯¼º¿¡ ÀÇÇØ
´Þ¶óÁø´Ù. ¶ÇÇÑ, °¢ ¿µ¿ªÀº ¼­·Î ´Ù¸¥ ±â´ÉÀ» ¼öÇàÇÑ´Ù. ¿¹¸¦µé¾î, ".text"¶ó´Â
¿µ¿ªÀº ÀûÀçµÈ ¹ÙÀ̳ʸ®ÀÇ ½ÇÇà °¡´ÉÇÑ Äڵ带 ´ã°í ÀÖ°í, ".data" ¿µ¿ªÀº Àбâ/
¾²±â°¡ °¡´ÉÇÑ µ¥ÀÌÅ͸¦ ´ã°í ÀÖÀ¸¸ç, ".rodata" ¿µ¿ªÀº Àб⸸ °¡´ÉÇÑ µ¥ÀÌÅ͸¦
´ã°í ÀÖ´Ù.

ÀϹÝÀûÀÎ »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ±¸Á¶´Â ´ÙÀ½°ú °°´Ù:

bash$ cat /proc/self/maps
08048000-0804c000 r-xp 00000000 03:02 207935 /bin/cat
0804c000-0804d000 rw-p 00003000 03:02 207935 /bin/cat
0804d000-0804e000 rwxp 00000000 00:00 0
40000000-40015000 r-xp 00000000 03:02 213752 /lib/ld-2.3.2.so
40015000-40016000 rw-p 00014000 03:02 213752 /lib/ld-2.3.2.so
40016000-40017000 rw-p 00000000 00:00 0 40020000-40021000 rw-p 00000000 00:00 0
42000000-4212f000 r-xp 00000000 03:02 319985 /lib/tls/libc-2.3.2.so
4212f000-42132000 rw-p 0012f000 03:02 319985 /lib/tls/libc-2.3.2.so
42132000-42134000 rw-p 00000000 00:00 0
bfffc000-c0000000 rwxp ffffd000 00:00 0

ÀÌ ¸®´ª½º Ä¿³Î¿¡¼­ÀÇ ¸Þ¸ð¸® ¼½¼ÇµéÀº °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ̶ó°íµµ ºÒ¸®¾îÁø´Ù.

È¿À²ÀûÀÎ ¸Þ¸ð¸® »ç¿ëÀ» À§ÇÏ¿© Ä¿³ÎÀº °¢ ÇÁ·Î¼¼½ºÀÇ ¸ðµç °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ»
Á÷Á¢ °ü¸®ÇÑ´Ù. (½º¿ÍÇÎ, µð¸Çµå ·Îµù, ÇÁ·ÎÁ§¼Ç ÆúÆ® Çڵ鸵 µî..)
°¢°¢ÀÇ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀº ¿¡ Á¤ÀÇµÈ vm_area_struct ±¸Á¶Ã¼¿¡
¼³¸íµÇ¾î ÀÖÀ¸¸ç, ÀÌ ±¸Á¶Ã¼¿¡¼­ °¡Àå Áß¿äÇÑ ºÎºÐÀº ´ÙÀ½°ú °°´Ù.

struct vm_area_struct {
unsigned long vm_start;
unsigned long vm_end;
pgprot_t vm_page_prot;
/* ... */
}

ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀº ¸Þ¸ð¸® µð½ºÅ©¸³ÅÍ ±¸Á¶Ã¼(mm_struct)¿Í ¿¬°á
µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀº mm ¸â¹ö º¯¼ö¿Í ´ÙÀ½ÀÇ ±¸Á¶Ã¼¸¦ ÀÌ¿ëÇؼ­ ÇÁ·Î¼¼½ºÀÇ
µð½ºÅ©¸³ÅÍ(task_struct)¸¦ ÂüÁ¶ÇÑ´Ù.

struct mm_struct {
struct vm_area_struct * mmap; /* list of VMAs */
/* ... */
int map_count; /* number of VMAs */
/* ... */
unsigned long start_brk, brk, start_stack;
/* ... */        
}

¸®´ª½º ¸Þ¸ð¸® °ü¸®¿¡ °ü·ÃµÈ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº ´ÙÀ½ ¼½¼Ç¿¡¼­ °è¼ÓµÈ´Ù.

3. Ãë¾àÁ¡ ¿ä¾à

do_brk()´Â ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® Èü(brk)À» °ü¸®ÇÏ¿© ±×°ÍÀ» ¾Ë¸Â°Ô ´ÃÀÌ°í ÁÙÀ̱â
À§ÇØ °£Á¢ÀûÀ¸·Î È£ÃâµÇ´Â Ä¿³Î ³»ºÎ ÇÔ¼öÀÌ´Ù. »ç¿ëÀÚ´Â ³»ºÎÀûÀ¸·Î do_brk()¸¦
È£ÃâÇÏ´Â brk(2) ½Ã½ºÅÛ ÄÝÀ» ÀÌ¿ëÇÏ¿© ÈüÀ» Á¶ÀÛÇÒ ¼ö ÀÖ´Ù. do_brk()´Â nmap(2)
½Ã½ºÅÛ ÄÝÀÇ °£¼ÒÈ­µÈ ¹öÀüÀ¸·Î, ÃʱâÈ­µÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ À§ÇÑ À͸íÀÇ ¸ÅÇÎ(
anonymous mappings)¸¸À» ´Ù·é´Ù.

do_brk() ÇÔ¼ö´Â ÀÎÀÚ °ª¿¡ ´ëÇÑ ¹Ù¿îµå üŷÀ» ÇÏÁö ¾Ê±â ¶§¹®¿¡ À̸¦ ÀÌ¿ëÇÏ¿©
ÀÓÀÇÀÇ Å« °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀ» »ý¼ºÇϵµ·Ï ÇÔÀ¸·Î½á À¯Á®°¡ Á¢±Ù °¡´ÉÇÑ ¸Þ¸ð¸®
¿µ¿ªÀ» ÃÊ°úÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

ÀϹÝÀûÀΠȯ°æ¿¡¼­ ÈüÀº ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®¿¡ Æ÷ÇÔµÈ ÇÑ ±¸¿ªÀ̸ç, TASK_SIZE
°æ°è ¾Æ·¡·Î ¼ö ų·Î¹ÙÀÌÆ®¿¡¼­ ¼ö ¸Þ°¡¹ÙÀÌÆ®ÀÇ ¹üÀ§¿¡ ºÐÆ÷µÈ´Ù. ÀϹÝÀûÀ¸·Î
ÈüÀº ÁÖ·Î malloc() ¶óÀ̺귯¸® ÇÔ¼ö¿¡ ÀÇÇØ µ¿Àû ÇÒ´çµÈ µ¥ÀÌÅ͸¦ Ãë±ÞÇϴµ¥
ÀÌ¿ëµÈ´Ù. do_brk() Ä¿³Î ÇÔ¼ö°¡ ¹Ù¿îµå üŷÀ» ÇÏÁö ¾ÊÀ½À¸·Î TASK_SIZE °æ°è
À§ÂʱîÁö Èü ¿µ¿ªÀÌ È®ÀåµÇ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. µû¶ó¼­, Ä¿³Î ¸Þ¸ð¸® °ü¸® ½Ã½ºÅÛÀº
»ç¿ëÀÚ°¡ Á¢±ÙÇÒ ¼ö ¾øµµ·Ï º¸È£µÈ Ä¿³Î ¿µ¿ªÀÇ ¸Þ¸ð¸®°¡ À¯Á® ÇÁ·Î¼¼½ºÀÇ Èü¿¡
¼ÓÇÏ´Â °ÍÀ¸·Î Âø°¢ÇÏ°Ô µÈ´Ù. ±×·¯³ª, ÀÌ ¼ÓÀÓ¼ö´Â Ä¿³Î ¸Þ¸ð¸®ÀÇ Á÷Á¢ÀûÀÎ
Á¢±ÙÀ» °¡´ÉÇÏ°Ô ÇÏÁö´Â ¾Ê´Â´Ù. Ä¿³Î ÆäÀÌÁö´Â CPUÀÇ MMU ÀåÄ¡¿¡ ÀÇÇؼ­ º¸È£
µÇ±â ¶§¹®ÀÌ´Ù. ÇÏÁö¸¸, Ä¿³Î ÆäÀÌÁöÀÇ º¸È£¸¦ ±³¶õ½ÃÅ°±â À§ÇØ ¾ÆÁÖ Å« VMA¸¦
Á¶ÀÛÇÏ´Â ´Ù¸¥ ½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÔÀ¸·Î½á °ø°ÝÀÌ °¡´ÉÇØÁø´Ù.

I4. »ó¼¼ ºÐ¼®

1) °ø°Ý ±¸»ó

ºÒ¿ÏÀüÇÑ do_brk() ÇÔ¼ö´Â usblib() ¹ÙÀ̳ʸ® Æ÷¸Ë Çڵ鷯·ÎºÎÅÍ »Ó¸¸¾Æ´Ï¶ó
ELF¿Í a.out ¹ÙÀ̳ʸ® Æ÷¸Ë ·Î´õ¿¡ ÀÇÇؼ­µµ ³»ºÎÀûÀ¸·Î È£ÃâµÈ´Ù.
do_brk() Ãë¾àÁ¡À» ÀͽºÇ÷ÎÀÕ Çϱâ À§ÇØ sys_brk() ÄÝ°ú ´õºÒ¾î 3°¡Áö ´Ù¸¥
¹æ¹ýÀÌ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­¿¡¼­´Â °ø°ÝÀ» À§ÇÏ¿© sys_brk() ½Ã½ºÅÛ Äݸ¸À»
»ç¿ëÇÒ °ÍÀÌ´Ù.

2) Èü ¿µ¿ªÀÇ È®Àå

ÈüÀº ¿äûµÈ ÁÖ¼Ò ¹üÀ§°¡ ÀÌ¹Ì ÇÒ´çµÇÁö ¾Ê¾ÒÀ» °æ¿ì¿¡¸¸ È®ÀåÀÌ Çã°¡ µÈ´Ù.
ÀϹÝÀûÀÎ ÇÁ·Î¼¼½ºÀÇ ½ºÅà ¿µ¿ªÀº º¸Åë TASK_SIZE ÁÖ¼Ò ¹Ù·Î ¾Æ·¡ÀÎ ÇÁ·Î¼¼½º
¸Þ¸ð¸®ÀÇ °¡Àå »óÀ§ ºÎºÐ¿¡ À§Ä¡ÇÑ´Ù. µû¶ó¼­, ½ºÅÃÀº ÀͽºÇ÷ÎÀÕÇϱâ Àü¿¡
¹Ýµå½Ã ¸Þ¸ð¸®ÀÇ ¾îµð·Ð°¡·Î ¿Å°ÜÁ®¾ß ÇÑ´Ù. ´ÙÀ½ ´Ü°è´Â ÈüÀÌ ÇÁ·Î¼¼½ºÀÇ
¸Þ¸ð¸® ¹èÄ¡¿¡¼­ °¡Àå ¸¶Áö¸· ºÎºÐÀÌ µÇµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.

ÀÌÁ¦ ¿ì¸®´Â ÈüÀ» Ä¿³Î ¸Þ¸ð¸® ¿µ¿ª¿¡ °ÉÄ¡µµ·Ï Çϱâ À§Çؼ­ brk(2) ½Ã½ºÅÛ ÄÝÀ»
ÀÌ¿ëÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº ¹Ýµå½Ã ¸Å¹ø »ó´ëÀûÀ¸·Î ÀûÀº ¹ÙÀÌÆ®ÀÇ ÈüÀ» ´Ã·Á°¡¸ç
¿©·¯¹ø¿¡ °ÉÃÄ brk¸¦ È£ÃâÇÏ¿© ÇàÇØÁ®¾ß ÇÑ´Ù. ÀÌ°ÍÀº °¡»ó ¸Þ¸ð¸®¿¡ ¸ÅÇεǾî
ÀÖÀ» Ä¿³Î °æ°è¸¦ do_brk() ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© Çѹø¿¡ ¿ìȸÇÒ ÇÊ¿ä°¡ Àֱ⠶§¹®
ÀÌ´Ù.

ÀÌ ¼¼°¡Áö ´Ü°è ÀÌÈÄ¿¡ ÈüÀÇ ¸ð½ÀÀº ¾Æ¸¶µµ ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.

080a5000-fffff000 rwxp 00000000 00:00 0

¸¸¾à °¡»ó ¸Þ¸ð¸®ÀÇ ¸ðµç ¿µ¿ªÀÌ Á¾·áµÈ ÇÁ·Î¼¼½º ¶Ç´Â ¸ÅÇεÇÁö ¾ÊÀº ¸Þ¸ð¸®
ÆäÀÌÁö¿¡ ¼ÓÇϰųª Ä¿³Î ¸Þ¸ð¸® °ü¸®ÀÚ¿¡°Ô·Î ³Ñ¾î°¡ ¹ö¸°´Ù¸é, ¿ì¸®ÀÇ ÇÁ·Î¼¼½º´Â
Á¾·áµÉ °ÍÀÌ´Ù. µû¶ó¼­, ½Ã½ºÅÛÀ» ºÒ¾ÈÁ¤ÇÏ°Ô Çϰųª ¸®ºÎÆÃÀ» ¾ß±âÇÏ´Â Ä¿³Î
¸Þ¸ð¸®ÀÇ ÀϺκÐÀº Á¢±ÙÀ» ÇÏÁö ¾Ê´Â´Ù.

3) Ä¿³Î ¸Þ¸ð¸® º¸È£ÀÇ ¿ìȸ

Èü ¿µ¿ªÀ» 0xc0000000 °æ°è ÀÌ»óÀ¸·Î È®ÀåÇÑ ÈÄ¿¡µµ ¾ÆÁ÷ À¯Á® ÇÁ·Î¼¼½º¿¡ ÀÇÇÑ
Á÷Á¢ÀûÀÎ Á¢±ÙÀº ºÒ°¡´ÉÇÏ´Ù. ¸ðµç Ä¿³Î ¸Þ¸ð¸® ÆäÀÌÁö´Â ½´ÆÛ¹ÙÀÌÀú ºñÆ®¶õ °ÍÀÌ
ºÙ¾î Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ ½ÂÀεÇÁö ¾ÊÀº Á¢±ÙÀº Çϵå¿þ¾î MMU ÀåÄ¡¿¡ ÀÇÇؼ­µµ
¹æÁöµÈ´Ù. ÇÏÁö¸¸ ptrace(2) ½Ã½ºÅÛ ÄÝÀ» ÀÌ¿ëÇÑ °£Á¢ÀûÀÎ Á¢±ÙÀº °¡´ÉÇÒ ¼öµµ
ÀÖ´Ù. ±×·¯³ª, ÀÌ ¹æ¹ýÀº º¸Åë ´ëºÎºÐÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ ¹æÁöµÇ¾î ÀÖÀ½À¸·Î
»ç¿ëÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

µû¶ó¼­ ¿ì¸®´Â Ä¿³Î ÆäÀÌÁö¿¡ Á¢±ÙÇϱâ Àü¿¡ ÇÁ·ÎÅØÆ®¸¦ ÇØÁ¦ÇÒ °ÍÀÌ´Ù. Áï,
Ä¿³Î ÆäÀÌÁö¸¦ Àаí, ¾²±â °¡´ÉÇÑ »óÅ·Π¸¸µç´Ù. ´ÙÇàÀ̵µ °£´ÜÇÑ ¿¬±¸ ³¡¿¡
¿Ã¹Ù¸¥ °¡»ó ¸Þ¸ð¸® ¿µ¿ªÀÌ ÇÁ·Î¼¼½ºÀÇ ¸Þ¸ð¸® ±â¼úÀÚ¿¡ Á¸ÀçÇÑ´Ù¸é, mprotect(2)
½Ã½ºÅÛ ÄÝÀÌ Ä¿³Î ÆäÀÌÁö¿¡µµ ¿Ïº®È÷ ¸ÔÇôµç´Ù´Â °ÍÀ» ¹ß°ßÇß´Ù. µû¶ó¼­, ¿ì¸®´Â
Ä¿³Î ³»ºÎÀÇ °ÅÀÇ ¾î¶°ÇÑ ÆäÀÌÁö ÇÁ·ÎÅØÆ®µµ ¿øÇϴ´ë·Î º¯°æÇÒ ¼ö ÀÖ´Ù.

ÇÏÁö¸¸, ÆäÀÌÁö »çÀÌÁî È®Àå(PSE) ±â´ÉÀ» °¡Áö°í ÀÖ´Â ¾î¶² x86 ÇÁ·Î¼¼¼­´Â
¼º´É »óÀÇ ÀÌÀ¯·Î Ä¿³Î ÄÚµå ÆäÀÌÁö Å©±â¸¦ 4MB·Î µÇ°Ô ÇÑ´Ù. ±×¸®°í mprotect(2)
½Ã½ºÅÛ ÄÝÀº Áï°¢ÀûÀÎ Ãæµ¹À» ÀÏÀ¸Å³ ±×·± Å« ÆäÀÌÁö´Â ´Ù·çÁö ¾Ê´Â´Ù. ±×°ÍÀº
¿ÀÁ÷ 4kb Å©±âÀÇ ÆäÀÌÁö¿¡¸¸ »ç¿ëµÈ´Ù. ±×·¯ÇÑ Å« Å©±âÀÇ ÆäÀÌÁöµéÀº Ä¿³Î
¸Þ¸ð¸® kmalloc()¿Í vmalloc() ÇÒ´çÀÚ¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. vmalloc() ÇÔ¼ö´Â ÇÑ
¿¹·Î Ä¿³Î ¸ðµâÀ» À§ÇÑ ¸Þ¸ð¸® ÇÒ´ç¿¡ »ç¿ëµÈ´Ù.

Áö±Ý±îÁöÀÇ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ¿ì¸®´Â kmalloc, vmallocÈ­µÈ Ä¿³Î ¸Þ¸ð¸®¿¡ ¾î¶°ÇÑ
°Íµµ ¾µ ¼ö ÀÖÀ½À» ¾Ë¾Ò´Ù. µÎ°¡Áö Áß¿äÇÑ ¹®Á¦´Â ¹«¾ùÀ» ¾²°í ¶Ç, ±×°ÍÀ»
¾îµð¿¡´Ù°¡ ¾µ °ÍÀΰ¡ÇÏ´Â °ÍÀÌ´Ù.

4) Ä¿³Î ±¸Á¶Ã¼

¿ì¸®´Â Ä¿³Î ¸Þ¸ð¸® allocator¸¦ ÀÌ¿ëÇÏ¿© ¾à°£ÀÇ µ¥ÀÌÅ͸¦ Ä¿³Î ¸Þ¸ð¸® »ó¿¡
Àá½Ãµ¿¾È »óÁÖÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù. ±×¸®°í ¿ì¸®°¡ ±× ³»¿ë¹°À» ¼öÁ¤ÇÑ ÈÄ¿¡ ½±°Ô
±ÇÇÑÀ» »ó½Â½Ãų ¼ö ÀÖ´Â ±¸Á¶Ã¼¸¦ ã¾Æ¾ßÇÑ´Ù.

ÇÁ·Î¼¼½ºÀÇ LDT(local descriptor table)Àº segment descriptor¶ó°í ÇÏ´Â °¢°¢ÀÇ
¼¼±×¸ÕÆ® °æ°è¿Í Á¢±Ù ±ÇÇÑÀ» ±â¼úÇÏ´Â ¹è¿­À» °¡Áö°í ÀÖ´Ù. ÀÌ ¹è¿­Àº modify_
ldt(2) ½Ã½ºÅÛ ÄÝÀ» ÀÌ¿ëÇؼ­ LDT ¿£Æ®¸®¿¡ ±â·ÏµÇ´Â ÇÁ·Î¼¼½º¸¦ vmalloc()¸¦
»ç¿ëÇÏ¿© ÇÒ´çÇÑ´Ù. LDT´Â ÇÁ·Î¼¼½º°¡ ³¡³ªÁö ¾Ê°í ÀÖÀ» ¶§±îÁö ¸Þ¸ð¸®¿¡ Á¸Àç
ÇÑ´Ù. Ä¿³ÎÀº LDT ¹è¿­ÀÇ ¿£Æ®¸®¸¦ ¾²±â À§ÇÑ ±ÇÇÑÀ» Á¦ÇÑÇÑ´Ù. ÀÌ°ÍÀº ring0
±ÇÇÑÀ̶ó°í ºÒ¸®´Â ÇÁ·Î¼¼½º·ÎºÎÅÍ »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÇ LDT ¿À¿ëÀ» ¸·±â À§Çؼ­
ÀÌ´Ù. ±×·¯¹Ç·Î, ¸¸¾à¿¡ ¿ì¸®°¡ LDT ¹è¿­ÀÇ ¾î¶² ¿£Æ®¸®¿¡ °ªÀ» ¾µ ¼ö¸¸ ÀÖ´Ù¸é
¿ì¸®´Â ½±°Ô ±ÇÇÑÀ» »ó½Â½Ãų ¼ö ÀÖÀ» °ÍÀÌ´Ù.

Ä¿³Î ¸Þ¸ð¸®ÀÇ layoutÀº ½Ã½ºÅÛ¸¶´Ù ´Ù¸£´Ù. ±×°ÍÀº Ä¿³Î ¼³Á¤°ú ÄÄÆÄÀÏ·¯¿Í
ÄÄÆÄÀÏ ¿É¼Ç¿¡ ÀÇÁ¸ÀûÀÌ´Ù. ¸Þ¸ð¸® ÇÒ´ç¿¡ ÀÇÇؼ­ ¸®ÅϵǴ ÁÖ¼Ò °ªÀº ¸Å¿ì ¿¹Ãø
Çϱ⠾î·Æ´Ù. ÀÌ ºÎºÐÀÌ ÀͽºÇ÷ÎÀÕÀÇ °¡Àå ¾î·Á¿î ºÎºÐÀÌ´Ù.

¿ì¸®ÀÇ ¸ñÇ¥´Â ÃßÃøÇÏ¿© °ø°ÝÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. ¿ì¸®´Â Ä¿³Î ¸Þ¸ð¸®ÀÇ LDT ¹è¿­ÀÇ
Á¤È®ÇÑ ÁÖ¼Ò¸¦ ã´Â ¹æ¹ýÀ» ¿øÇÑ´Ù. ±×¸®°í ÀÌ ºÎºÐÀº ÀͽºÇ÷ÎÀÕÀ» ¸¸µå´Âµ¥
°¡Àå ¸¹Àº ½Ã°£ÀÌ ¼Ò¸ðµÇ¾ú´Ù. ±×°ÍÀº ¹Ù·Î ¸®´ª½ºÀÇ signal handling¸¦ »ç¿ëÇÏ´Â
°ÍÀÌ´Ù.

¸¸¾à ½Ã±×³ÎÀÌ ÀÓÀÇ·Î ¼³Ä¡µÈ ½Ã±×³Î Çڵ鷯¿Í ÇÔ²² ÇÁ·Î¼¼½º·Î º¸³»Áø´Ù¸é, ±×
½Ã±×³Î Çڵ鷯 ·çƾÀº ½Ã±×³ÎÀÇ Á¤º¸(½Ã±×³Î Àü¼ÛÀÚ¿Í ±× ½Ã±×³ÎÀÌ º¸³»Áø ÀÌÀ¯
µî..)¸¦ ¹Þ°ÔµÉ °ÍÀÌ´Ù. SIGSEGV ½Ã±×³ÎÀº À¯Á® ÇÁ·Î¼¼½º°¡ Á¢±Ù ºÒ°¡´ÉÇÑ ¸Þ¸ð¸®
¿µ¿ª¿¡ Àаųª ¾²±â¸¦ ½ÃµµÇÒ ¶§¸¶´Ù º¸³»Áø´Ù.

±×¸®°í °¢°¢ÀÇ ÆäÀÌÁö ÆúÆ®´Â do_page_fault() Ä¿³Î ÇÔ¼ö¿¡ ÀÇÇؼ­ ´Ù·ç¾îÁø´Ù.
ÀÌ ÇÔ¼öÀÇ ÀÎÀÚµé Áß Çϳª´Â CPU¿¡¼­ Á¦°øµÇ´Â ¿¡·¯ÄÚµåÀÌ´Ù. ÀÌ ÀÎÀÚ´Â page
fault°¡ ÇÊ¿äÇÑ Á¤È®ÇÑ ÀÌÀ¯¿Í faulty page¸¦ ÀûÀçÇÏ´Â µî, page fault¿¡ ´ëÇÑ
󸮰¡ ÇÊ¿äÇÑÁö¸¦ ±â¼úÇϸç, copy-on-write ȤÀº À߸øµÈ ¸Þ¸ð¸®ÀÇ ¿äûÀ» ÇÑ
°æ¿ì¿¡ SIGSEGV ½Ã±×³ÎÀ» ÀÌ¿ëÇؼ­ Á×À̱â À§Çؼ­ »ç¿ëµÈ´Ù.

SIGSEGV ½Ã±×³ÎÀÌ ¹ß»ýÇÏ´Â °æ¿ì, Ä¿³ÎÀÇ do_page_fault() ·çƾÀº ¿¡·¯ ÄÚµå
°ªÀ» ½Ã±×³Î Çڵ鷯¿¡°Ô °íÀÇÀûÀ¸·Î ´©¶ôÇÑ´Ù. ¿ì¸®°¡ °ü½ÉÀ» °¡Áö´Â °ÍÀº
´ÙÀ½ µÎ °æ¿ì¿¡ ´ëÇÑ ¿¡·¯ÄÚµå °ªÀÌ´Ù.

- ¸Þ¸ð¸®¿¡ ÆäÀÌÁö°¡ ¸ÊÇÎ µÇÁö ¾Ê¾Æ¼­ page fault °¡ ÀϾ´Â °æ¿ì
- ÆäÀÌÁö ÇÁ·ÎÅØÆ®°¡ Á¢±ÙÀ» Çã¶ôÇÏÁö ¾Ê¾Æ¼­ page fault °¡ ÀϾ´Â °æ¿ì

±×·¯¹Ç·Î ¿¡·¯ÄÚµåÀÇ °ªÀº ÆäÀÌÁö°¡ »ç¿ëÀÚ¿¡ ÀÇÇؼ­ Á÷Á¢ÀûÀ¸·Î Á¢±ÙÀÌ ºÒ°¡´É
ÇÔ¿¡µµ ºÒ±¸ÇÏ°í TASK_SIZE Á¦ÇÑ À§ÀÇ ÁÖ¼Ò°¡ Ä¿³Î ÁÖ¼Ò °ø°£¿¡ ÆäÀÌÁö ¸Ê
µÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ ÆÇ´ÜÇϱ⿡ Àû´çÇÏ´Ù. ÀÌ Á¶°ÇÀº ¿¹¸¦µé¾î Ä¿³Î ¸Þ¸ð¸®ÀÇ
Á¤È®ÇÑ ¸ÊÀ» »ý¼ºÇÏ´Â verr ¾î¼Àºí·¯ ¸í·É¾î¸¦ »ç¿ëÇÏ´Â TASK_SIZE °æ°è À§ÂÊÀÇ
°¢ ÆäÀÌÁö¸¦ üũÇÑ´Ù.

¸¸¾à¿¡ ¿ì¸®°¡ Ä¿³Î¿¡ ÇÒ´çÇϱâ Àü°ú LDT ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ µÚÀÇ ¹è¿­ÀÇ 2°³ÀÇ
¸ÊÀ» ¸¸µé¼ö ÀÖ´Ù¸é, ¿ì¸®´Â ½±°Ô ÀÌ ¸ÊÀ» ºñ±³ÇÒ¼ö ÀÖ°í, Ä¿³Î ±¸Á¶¿¡ ÇÒ´çµÈ
Á¤È®ÇÑ ÁÖ¼Ò °ªÀ» ¾Ë ¼ö ÀÖÀ»°ÍÀÌ´Ù.

5) ±ÇÇÑ »ó½Â

Ä¿³Î ¸Þ¸ð¸® ¾ÈÀÇ LDT ¹è¿­À» ãÀº ÈÄ¿¡ ¿ì¸®´Â ±×°÷¿¡ gate µð½ºÅ©¸³ÅÍ ÇÔ¼ö¸¦
»ý¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ gate µð½ºÅ©¸³ÅÍ ÇÔ¼ö´Â À¯Á® ·¹º§¿¡¼­ Ä¿³Î ·¹º§·Î ±ÇÇÑÀ»
»ó½ÂÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

i386¿¡¼­ÀÇ gate ÇÔ¼ö´Â ¼¼±×¸ÕÆ® ¼¿·ºÅÍ ÄÚµå¿Í gate ÄÚµå·Î ÇâÇÏ´Â ¿£Æ®¸®
Æ÷ÀÎÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¼¼±×¸ÕÆ® ¼¿·ºÅÍ ÄÚµå´Â gate ÇÔ¼ö¿¡ ÀÇÇÏ¿© ½ÇÇàµÇ´Â
ÄÚµåÀÇ ±ÇÇÑÀ» °áÁ¤ÇÑ´Ù. ¹Ý¸é¿¡, µð½ºÅ©¸³ÅÍ ±ÇÇÑÀº È£ÃâµÈ ÄÚµåÀÇ ÇÊ¿ä ±ÇÇÑÀ»
°áÁ¤ÇÑ´Ù.

gate ÇÔ¼ö´Â ÀÏ¹Ý ÇÁ·Î¼¼½º¸¦ Ä¿³Î ¸ðµå·Î º¯°æÇÏ´Â int $0x80 ½Ã½ºÅÛÄÝ ¸ÞÄ«´ÏÁò
°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÑ´Ù. ½Ã½ºÅÛ ÄÝ ½ÅÈ£¿ÍÀÇ °¡Àå Å« Â÷ÀÌÁ¡Àº ¾²±â °¡´ÉÇÑ
LDT¿¡ ´ÜÁö CPLO ±ÇÇÑ¿¡¼­ È£ÃâµÈ ½ÇÇà °¡´ÉÇÑ ·çƾÀÇ ÁÖ¼Ò¸¸À» ÀúÀåÇÒ ¼ö
ÀÖ´Ù´Â °ÍÀÌ´Ù.

¿ì¸®´Â µð½ºÅ©¸³ÅÍ ±ÇÇÑ ·¹º§ 3°ú KERNEL_CS(CPLO¸¦ À§ÇÑ Ä¿³Î ÄÚµå µð½ºÅ©¸³ÅÍ)¿Í
°°Àº °ªÀ» °¡Áø ¼¼±×¸ÕÆ® Äڵ带 °¡Áø LDT ¾ÈÀÇ gate ÇÔ¼ö¸¦ TASK_SIZE º¸´Ù ³·Àº
°ªÀÇ ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£À¸·Î °¡¸®Å°±â·Î °áÁ¤Çß´Ù. ±×·¯¹Ç·Î À¯Á® ¸ðµåÀÇ Å½ºÅ©
°¡ CPLO¿¡¼­ ÀÚ½ÅÀÇ Äڵ带 Á÷Á¢ ½ÇÇà ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

ÀÌ Å½ºÅ©¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â ÇöÀç ÇÁ·Î¼¼½º·ÎÀÇ Æ÷ÀÎÅÍ¿Í ½ÇÁ¦ exploit Äڵ带
´ãÀº C ÇÔ¼ö¸¦ °¡¸£Å°µµ·Ï °è»êµÈ ¾î¼Àºí·¯ Äڵ尡 CPLOÀÇ ·¹º§ÀÌ ¾î¶² Ä¿³Î
±¸Á¶Ã¼·Îµµ º¯°æÇÒ ¼ö ÀÖ´Â »óÅ·Π½ÇÇàµÇ´Â µ¿¾È¿¡ °¡´ÉÇÏ´Ù.

ÇÁ·Î¼¼½ºÀÇ ±ÇÇÑÀ» º¯°æÇÏ´Â °ÍÀº ¾ÆÁÖ ½¬¿î ÀÛ¾÷ÀÌ´Ù.
¿ì¸®°¡ ÇؾßÇÒ ¿ÀÁ÷ ÇÑ°¡Áö ÀÛ¾÷Àº Ä¿³Î ¸Þ¸ð¸® ¾È ¾îµò°¡¿¡ Á¸ÀçÇÏ´Â task_struct
¸¦ ãÀº ÈÄ ±×°ÍÀÇ UID, GID¿Í capability setÀ» º¯°æÇÏ´Â °ÍÀÌ´Ù.
task_struct¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë°í ½Í´Ù¸é, Ä¿³Î ¼Ò½ºÀÇ [linux/sched.h]¸¦ º¸¸éµÈ´Ù.

ÇÏÁö¸¸, ¸¸¾à EUID=0À» ¾òÀº ÈÄ¿¡ ´Ù¸¥ ¹ÙÀ̳ʸ®¸¦ Á÷Á¢ ½ÇÇàÇÏ·Á´Â ´Ü¼øÇÑ
¿ø¸®¶ó¸é, ÇÁ·Î¼¼½ºÀÇ EUID¿Í EGID°¡ ¸ðµÎ ¹Ù²î¾î¾ß¸¸ ÇÑ´Ù. ¿Ö³ÄÇϸé, EUID=0¿¡
ÀÇÇØ È£ÃâµÈ execve() ½Ã½ºÅÛ ÄÝÀº Àüü ÇÁ·Ï¼¼½ºÀÇ ´É·ÂÀÌ reenableÇÏ°Ô µÇ±â
¶§¹®ÀÌ´Ù.

6) Cleanup ¹®Á¦

±ÇÇÑÀ» »ó½Â½ÃŲ ÈÄ¿¡´Â ½Ã½ºÅÛÀÌ ´Ù¿î µÇ´Â °Í°ú ÇØ´ç ÇÁ·Î¼¼½º°¡ ±ú²ýÇÏ°Ô
Á¾·áµÇÁö ¾Ê´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÏ¿© CPLO ¾È¿¡ clean up ÄÚµå ½ÇÇàÀ» À§ÇÑ
°ø°£À» ¸¸µé¾î¾ß ÇÑ´Ù. ¿ì¸®ÀÇ ¾ÆÀ̵ð¾î´Â TASK_SIZEÀÇ Á¦ÇÑÀ» È®ÀåÇÑ
vm_area_struct ±¸Á¶Ã¼¸¦ Ä¿³Î ¸Þ¸ð¸®¿¡¼­ ã´Â °ÍÀÌ´Ù. ÀÌ ±¸Á¶Ã¼µéÀÌ
TASK_SIZE °ª±îÁö À¯ÁöµÇµµ·Ï º¯°æÇÏ¸é ¾ÈÁ¤ÀûÀÎ »óÅ·ΠÇÁ·Î±×·¥À» Á¾·áÇϱ⿡
ÃæºÐÇÏ´Ù.

[Ãë¾àÁ¡ ÆÐÄ¡]

  Hit : 6333     Date : 2003/12/17 10:05



    
Alexiou None 2007/01/16
25   setsockopt() Ãë¾àÁ¡ : ¹æ¾î ¸ðµâÀ» ÀÌ¿ëÇÑ ÆÐÄ¡[1]     ¸Û¸Û
05/20 3438
24   setsockopt() Ãë¾àÁ¡ : Ä¿³Î ¾÷±×·¹À̵带 ÅëÇÑ ÆÐÄ¡[5]     ¸Û¸Û
05/20 3186
23   setsockopt() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡     ¸Û¸Û
05/20 3556
22   setsockopt() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®     ¸Û¸Û
05/20 5123
21   setsockopt() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
05/20 3765
20   setsockopt() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó[4]     ¸Û¸Û
05/20 4453
19   [5¿ù 20ÀÏ] 2.6.3°ú 2.4.25 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ setsockopt ½Ã½ºÅÛ ÄÝ Ãë¾àÁ¡[5]     ¸Û¸Û
05/20 9255
18   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ÆÐÄ¡[1]     ¸Û¸Û
03/16 3356
17   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ºÐ¼®[4]     ¸Û¸Û
03/16 3580
16   do_mremap() Ãë¾àÁ¡ 2 : Ãë¾àÁ¡ ÇÇÇØ     ¸Û¸Û
03/16 3388
15   do_mremap() Ãë¾àÁ¡ 2 : °ø°ÝÀÇ ´ë»ó[2]     ¸Û¸Û
03/16 3365
14   [3¿ù 1ÀÏ] ¸®´ª½º Ä¿³Î do_mremap ³»ºÎ ÇÔ¼öÀÇ ¶Ç ´Ù¸¥ Ãë¾àÁ¡.     ¸Û¸Û
03/15 5057
13   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡[8]     ¸Û¸Û
01/27 3646
12   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®     ¸Û¸Û
01/27 4073
11   do_mremap() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
01/27 3434
10   do_mremap() Ãë¾àÁ¡ : Ãë¾àÁ¡ È®ÀÎ[1]     ¸Û¸Û
01/27 3474
9   do_mremap() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó     ¸Û¸Û
01/27 4018
8   [1¿ù 15ÀÏ] ¹öÀü 2.4.23 & 2.6.0 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ do_mremap() Ãë¾àÁ¡[1]     ¸Û¸Û
01/27 7395
7   do_brk() Ãë¾àÁ¡ : ¹æ¾î ¸ðµâÀ» ÀÌ¿ëÇÑ ÆÐÄ¡[3]     ¸Û¸Û
12/17 4019
6   do_brk() Ãë¾àÁ¡ : Ä¿³Î ¾÷±×·¹À̵带 ÅëÇÑ ÆÐÄ¡     ¸Û¸Û
12/17 3810
5   do_brk() Ãë¾àÁ¡ : Ãë¾àÁ¡ ÆÐÄ¡[3]     ¸Û¸Û
12/17 4411
  do_brk() Ãë¾àÁ¡ : Ãë¾àÁ¡ ºÐ¼®[1]     ¸Û¸Û
12/17 6332
3   do_brk() Ãë¾àÁ¡ : °ø°ÝÀÇ ÇÇÇØ     ¸Û¸Û
12/17 4602
2   do_brk() Ãë¾àÁ¡ : °ø°ÝÀÇ ´ë»ó     ¸Û¸Û
12/17 4993
1   [12¿ù 17ÀÏ] ¹öÀü 2.4.22 ÀÌÇÏ ¸®´ª½º Ä¿³ÎÀÇ do_brk() Ãë¾àÁ¡[2]     ¸Û¸Û
12/17 7537
1

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org