·Î±×ÀÎ ¤Ó ȸ¿ø°¡ÀÔ ¤Ó Àå¹Ù±¸´Ï ¤Ó ¸¶ÀÌÆäÀÌÁö
kangcom
Àüü
Home >   >   > 
(¿¹¾àµµ¼­)

¡º*OS Internals Vol.3: ¾ÖÇà ¿î¿µÃ¼Á¦ÀÇ º¸¾È°ú Ãë¾àÁ¡¡»

   
ÁöÀºÀÌ Á¶³ª´Ü ·¹ºó   |   ÃâÆÇ»ç ¿¡ÀÌÄÜ  |   ¹ßÇàÀÏ 2018³â 10¿ù 31ÀÏ
 
ÆÇ¸Å°¡ 50,000¿ø ¡æ 45,000¿ø 10%
¸¶Àϸ®Áö 5% 2,500¿ø
¹ßÇàÀÏ 2018-10-31
ISBN 1161751912 |  9791161751917
±âŸÁ¤º¸ ¹ø¿ª¼­ | 620ÂÊ
¿¹»óÃâ°íÀÏ
¹è¼Ûºñ ¹«·á¹è¼Û
   
º¸¾È/¾ÈÀü
   
¿¹¾àÆÇ¸Å Á¶±â µµ¼­ÀÔ°í½Ã ¿¹¾àÆÇ¸Å°¡ ¸¶°¨µÇ°Å³ª ÃâÆÇ»ç »çÁ¤¿¡ ÀÇÇØ ¹è¼ÛÀÏÀÚ°¡ º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù.
¿¹¾à ¸¶°¨ÀÏ : 2018³â 10¿ù 31ÀÏ 24½Ã ¤Ó Ãâ°í ¿¹Á¤ÀÏ : 2018³â 11¿ù 1ÀÏ
ÆÇ¸Å±Ç¼öÁ¦ÇÑ : ¾øÀ½
ÁÖÀÇ»çÇ× ÀÔ°í ´ÙÀ½³¯ (±Ù¹«ÀϱâÁØ)
 

¡Ú ¿ä¾à ¡Ú



iOSÀÇ Å»¿ÁÀ» µÎ°í ÇØÄ¿¿Í ¾ÖÇÃÀº ²÷ÀÓ¾øÀÌ °ø°Ý°ú ¹æ¾î¸¦ ¹Ýº¹Çϰí ÀÖ´Ù. ÀÌ Ã¥Àº °ú°ÅÀÇ À¯¸íÇÑ Å»¿ÁÅøÀÎ Evasi0n¿¡¼­ºÎÅÍ ÇöÀç »ç¿ëµÇ´Â Pangu¿Í iOS 11 ¹öÀü Å»¿Á±îÁö, ¿©·¯ À¯ÇüÀÇ Å»¿Á ±â¹ýÀ» »ó¼¼ÇÏ°Ô ºÐ¼®ÇÑ ¿¬´ë±â¿Í °°´Ù. ¾ÖÇà ¿î¿µÃ¼Á¦¸¦ ÇØÅ·À¸·ÎºÎÅÍ º¸È£Çϱâ À§ÇÑ ÄÚµå ¼­¸í, AMFI, »÷µå¹Ú½º µîÀÇ º¸¾È ¸ÞÄ¿´ÏÁòÀ» ½Éµµ ÀÖ°Ô ´Ù·ç¸ç, macOS High Sierra(10.13)¿Í iOS Bursa(11.1.2) ÀÌÈÄ ¾÷µ¥ÀÌÆ®¸¦ Æ÷ÇÔÇØ ÃֽŠmacOS Mojave(10.14) ¿Í iOS Peace(12.0)ÀÇ ¾÷µ¥ÀÌÆ®±îÁö ¹Ý¿µÇß´Ù.






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



¡á ÀÎÁõ, Àΰ¡ ¹×(macOS) °¨»ç

¡á ÄÚµå ¼­¸í

¡á ¼ÒÇÁÆ®¿þ¾î Á¦ÇÑ(macOS) - °ÔÀÌÆ®Å°ÆÛ, Á¤Ã¥ ¹× °ü¸®¸¦ Àû¿ëÇÑ Å¬¶óÀ̾ðÆ®

¡á AppleMobileFileIntegrity

¡á »÷µå¹Ú½º

¡á ½Ã½ºÅÛ ¹«°á¼º º¸È£(SIP)

¡á °³ÀÎ Á¤º¸ ¹× µ¥ÀÌÅÍ º¸È£





¡Ú ÃßõÀÇ ±Û ¡Ú



±×µ¿¾È iOS º¸¾È°ú °ü·ÃµÈ ¿¬±¸ ÀÚ·áµéÀº ´Ù¸¥ Ç÷§Æû¿¡ ºñÇØ ±¸Çϱ⠾î·Á¿ü´Ù. ±×·¯´Ù º¸´Ï °ü·Ã ¿¬±¸¿¡ ÀÔ¹®Çϱ⵵ ½±Áö ¾Ê¾Ò´Ù. ÀÌ Ã¥Àº ÀÌ·¯ÇÑ ¹ÌÁöÀÇ ¿µ¿ªÀ» µé¿©´Ùº»´Ù. ¸ÕÀú ÄÚµå ¼­¸í, »÷µå¹Ú½º, KPP °°Àº iOS/macOSÀÇ º¸¾È ¸ÞÄ¿´ÏÁòµé°ú AppleMobileFileIntegrity¿Í °°ÀÌ °ø½ÄÀûÀ¸·Î ¹®¼­È­µÇÁö´Â ¾Ê¾ÒÁö¸¸ Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â º¸¾È ¸ÞÄ¿´ÏÁòÀ» »ìÆìº»´Ù. ±× ÈÄ ÃµÃµÈ÷ Å»¿Á µµ±¸µéÀ» ÇØºÎÇÑ´Ù. 2013³â¿¡ µîÀåÇÑ Evasi0n(iOS 6)ºÎÅÍ 2017³â ÀÌ¾È ºñ¾îÀÇ async_wake(iOS 11)¿¡ À̸£±â±îÁö Å»¿ÁÀÌ ¾î¶»°Ô ¹ßÀüÇØ¿Ô´ÂÁö ºÐ¼®ÇÑ´Ù.

Å»¿ÁÀÌ iOSÀÇ ¿©·¯ º¸¾È ¸ÞÄ¿´ÏÁòÀ» ¿ìȸÇϱâ À§Çؼ­´Â ¿©·¯ Ãë¾àÁ¡ÀÌ ÇÊ¿äÇÏ´Ù. ÇÏÁö¸¸ ¹«Á¶°Ç ƯÁ¤ ´Ü°è¸¦ µû¶ó¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï¸ç, iOS´Â ´Ù¾çÇÑ °ø°Ý º¤Å͵éÀ» °®°í Àֱ⠶§¹®¿¡ ´Ù¾çÇÑ ¹æ¹ýÀ» ÅëÇØ Å»¿ÁÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥¿¡¼­´Â Å»¿Á °³¹ßÀÚµéÀÌ ¾î¶² ¿µ¸®ÇÑ ¹æ¹ýÀ¸·Î Å»¿ÁÀ» ¼ºÃëÇÏ´ÂÁö »ó¼¼È÷ ºÐ¼®ÇÑ´Ù. Å»¿Á µµ±¸µéÀÇ ³»ºÎ°¡ ¾ó¸¶³ª º¹ÀâÇϰí Á¤±³ÇÑÁö, ¾î¶² Ãë¾àÁ¡µé·Î Ä¿³ÎÀ» °ø°ÝÇϰí TrustZoneÀÇ Ä¿³Î º¸È£¸¦ ¿ìȸÇÏ´ÂÁö, ±× Ãë¾àÁ¡µéÀÌ ³ªÁß¿¡ ¾î¶»°Ô ¼öÁ¤µÇ´ÂÁö ¶Ç ¾î¶»°Ô À߸ø ¼öÁ¤µÇ´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ÀÌ Ã¥Àº ÀüüÀûÀ¸·Î º¸¾È ¸ÞÄ¿´ÏÁòµé°ú ±× ¸ÞÄ¿´ÏÁòµéÀÌ ¾î¶»°Ô ¿ìȸµÅ¿Ô´ÂÁö¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë¾Æº½À¸·Î½á ¿¬±¸¿¡ ÇÊ¿äÇÑ ¸¹Àº ÀλçÀÌÆ®¸¦ Á¦°øÇÑ´Ù.



ÀÌÁ¤ÈÆ(@lokihardt)





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



ÇöÀç *OS InternalsÀÇ 3ºÎÀÛ Áß ÀϺÎÁö¸¸, µ¶¸³ÀûÀÎ ³»¿ëÀÎ µ¿½Ã¿¡ º¸¾È Áß½ÉÀ¸·Î ±¸¼ºµÅ ÀÖ´Ù. µû¶ó¼­ º¸¾È°ú °ü·ÃµÈ ³»¿ëÀ» ¿øÇÏ´Â µ¶ÀÚ¿¡°Ô À¯¿ëÇÒ °ÍÀÌ´Ù.

1ºÎ´Â macOS °ü¸®ÀÚ¿Í °í±Þ »ç¿ëÀÚ´Â ¹°·Ð, º¸¾È ¿¬±¸ÀÚ¿Í º¸¾È °¨»çÀο¡°Ô ÀûÇÕÇÏ´Ù. ³»ºÎ API¸¦ ¹®¼­È­ÇÑ ºÎºÐÀº ÆÛ¡(fuzzing) ¶Ç´Â (¾ÖÇÃÀÌ ½ÂÀÎÇÏÁö ¾Ê´Â) ÇØ´ç ¼­ºê ½Ã½ºÅÛ°ú ÀÎÅÍÆäÀ̽ºÇÏ±æ ¿øÇÏ´Â ÇÁ·Î±×·¡¸Ó°¡ ±âº»ÀûÀÎ ³»¿ëÀ» ÇнÀÇÒ ¶§ À¯¿ëÇÒ °ÍÀÌ´Ù.

2ºÎ´Â Àú¼öÁØ ºÐ¾ß¿Í ±â¼úÀûÀÎ ºÎºÐÀ» ´Ù·ç±â ¶§¹®¿¡ ³ªÀ̰¡ ¾î¸° µ¶ÀÚ, ½É¾àÀÚ ¶Ç´Â ÀÎÅÚ ¹×/¶Ç´Â ARM64 ¾î¼Àºí¸®¿¡ ½ÉÇÑ °ÅºÎ°¨ÀÌ ÀÖ´Â µ¶ÀÚ¿¡°Ô ºÎÀûÇÕÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¿ª°øÇÐÀ» ¼±È£Çϸç, ÇØÄ¿ÁöÇâÀûÀÎ µ¶ÀÚ´Â ¿øÇÏ´Â ³»¿ëÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀͽºÇ÷ÎÀÕ°ú Å»¿ÁÀÇ ÀÛµ¿ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í°ú µð¹ö°Å ½ÃÄö½º¸¦ ÀÌ¿ëÇÑ ´Ü°èº° »ó¼¼ Áö½Ã¹® ±×¸®°í ´Ù¼öÀÇ µð½º¾î¼Àºí¸®¸¦ Á¦°øÇÑ´Ù.


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



1ºÎ´Â macOS¿¡¼­ ½Ã½ºÅÛ º¸¾È ¼­ºñ½º¸¦ Á¦°øÇϰųª ½Ã½ºÅÛÀ» Àá±×±â À§ÇØ ¾ÖÇÿ¡¼­ »ç¿ëÇÏ´Â º¸¾È ¸ÞÄ¿´ÏÁò°ú ±â¼úÀ» ÁßÁ¡ÀûÀ¸·Î ´Ù·é´Ù. ÀÌµé ´ëºÎºÐÀº ÇöÀç ¸ðµç Ç÷§Æû¿¡¼­ °øÅëÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Ù(ƯÈ÷, 10.11). ÇÏÁö¸¸ OS´Â ¿©ÀüÈ÷ ¾ÖÇÃÀÌ °¡Àå ¸¹ÀÌ ÅõÀÚÇÏ´Â ºÐ¾ß´Ù.

1Àå¿¡¼­´Â ±âº»ÀûÀ¸·Î macOS ÇÔ¼öÀÎ ÀÎÁõÀ» ´Ù·ç¸ç ½ÃÀÛÇÑ´Ù. ¿À·¡ ÀüºÎÅÍ »ç¿ëÇØ¿Â master.passwd ÆÄÀÏÀ» ´Ù·çÁö¸¸, PAM(Pluggable Authentication Module)°ú ¿ÀÇ µð·ºÅ͸®(Open Directory)ÀÇ macOS ±¸Çö ±×¸®°í NIS ¹× ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ¾×Ƽºê µð·ºÅ͸®¿Í °°Àº ¿ÜºÎ µµ¸ÞÀΰúÀÇ ÅëÇÕÀ» ÁßÁ¡ÀûÀ¸·Î ´Ù·é´Ù.

2Àå¿¡¼­´Â »ç¿ëÀÚ ¶Ç´Â ÇÁ·Î¼¼½º°¡ ½ÂÀÎÇϰųª ½ÃµµÇÑ ÀÛ¾÷À» ÃßÀûÇϰí ÀÚ¼¼ÇÑ ·Î±× ÃßÀûÀ» Á¦°øÇÏ´Â °¨»ç¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. macOS¿¡¼­ÀÇ °¨»ç´Â ¼Ö¶ó¸®½º(Solaris)¿¡¼­ Â÷¿ëÇÑ ±â´ÉÀ̸ç, ½ÇÁ¦·Î´Â ±âº»ÀûÀ¸·Î »ç¿ëÇϰí ÀÖÁö¸¸ ºñ±³Àû ¾Ë·ÁÁöÁö´Â ¾Ê¾Ò´Ù. °¨»ç¸¦ ÅëÇØ Ŭ¶óÀ̾ðÆ®(ÀϹÝÀûÀ¸·Î °ü¸®ÀÚ ¶Ç´Â ¸ð´ÏÅ͸µ ¼ÒÇÁÆ®¿þ¾î)´Â ¸ðµç ½Ã½ºÅÛ Ãø¸é¿¡¼­ Å©°Å³ª ÀÛÀº »ç¿ëÀÚ ¶Ç´Â Ä¿³Î¿¡ ´ëÇØ Àü·Ê ¾ø´Â ¼öÁØÀÇ ¸ð´ÏÅ͸µÀ» Á¦°øÇÑ´Ù.

3Àå¿¡¼­´Â »ç¿ëÀÚ ¶Ç´Â ÇÁ·Î¼¼½º(1Àå¿¡¼­ ÀÎÁõ)°¡ ÀÛ¾÷À» Çã¿ë ¶Ç´Â °ÅºÎÇÏ´Â ±ÇÇÑ ºÎ¿©¸¦ Ž»öÇØ AAA »ïÀ§ÀÏü¸¦ ¿Ï¼ºÇÑ´Ù. ±×¸®°í (Ä¿³Î È®Àå ±â´É¿¡ ´ëÇÑ ºñ°ø½ÄÀû Áö¿øÀ¸·Î *OS¿¡¼­´Â ½ÇÁ¦·Î »ç¿ëÇÒ ¼ö ¾øÁö¸¸) KAuth**·Î ¾Ë·ÁÁø Ä¿³Î ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º(KPI, Kernel Programming Interface)¸¦ ´Ù·é´Ù.

4Àå¿¡¼­´Â ±ÇÇÑ ºÎ¿©¿Í Ä¿³Î¿¡ ´ëÇØ ÀÚ¼¼È÷ ´Ù·ç¸ç, TrustedBSD¿¡¼­ Â÷¿ëÇÑ °­Á¦Àû Á¢±Ù ÅëÁ¦ ÇÁ·¹ÀÓ¿öÅ©(MACF, Mandatory Access Control Framework)¸¦ ÀÚ¼¼È÷ ´Ù·é´Ù. MACF´Â °¨»çº¸´Ù ÈξÀ °­·ÂÇÑ ±â´ÉÀ» °®Ãè´Ù. °¨»ç´Â ¾î¶°ÇÑ »ç½ÇÀÌ ¹ß»ýÇÑ ÀÌÈÄ¿¡ ¾Ë¸²À» Á¦°øÇÏÁö¸¸, MACF´Â ½ÇÁ¦·Î ÀÛ¾÷¿¡ °³ÀÔÇØ Çã¿ë, °ÅºÎ, ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. MACF´Â ±âº»ÀûÀ¸·Î *OS¿¡¼­ ¸ðµç ¾ÖÇà º¸¾ÈÀÇ ±â¹ÝÀ» Á¦°øÇØÁØ´Ù. À¯°¨½º·´Áö¸¸ ¾ÖÇÃÀÌ °³ÀÎ KPI·Î °£ÁÖÇÏ´Â KAuth¸¦ ´É°¡ÇÏ´Â °¡Àå °­·ÂÇÑ ÀÎÁõ ¸ÞÄ¿´ÏÁòÀÌ´Ù.

5Àå¿¡¼­´Â ÄÚµå ¼­¸í(macOSÀÇ °¡Àå Á÷Á¢ÀûÀÎ ¾ÖÇø®ÄÉÀ̼Ç)¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. MACF´Â ¾ÖÇÃÀÌ iOS ÃÊâ±âºÎÅÍ *OS¸¦ Àû¿ë ÁßÀ̸ç, macOS¿¡¼­µµ ¸Å¿ì ÃÖ±Ù¿¡ Àû¿ëµÇ±â ½ÃÀÛÇß´Ù. ¾ÖÇÃÀÇ OS°¡ ÄÚµå ¼­¸íÀ» »ç¿ëÇÏ´Â À¯ÀÏÇÑ ¿î¿µÃ¼Á¦´Â ¾Æ´ÏÁö¸¸, ±¸Çö ¹æ½ÄÀº ÈξÀ ´õ ¹ßÀüµÆ´Ù. ¶ÇÇÑ ÄÚµå ¼­¸íÀº ¾ÖÇø®ÄÉÀÌ¼Ç ¼öÁØ º¸¾ÈÀÇ ±âÃʰ¡ µÇ´Â ÀΟÀÌÆ²¸ÕÆ®¿Í ÇÔ²² »ç¿ëÇϰí ÀÖ´Ù.

6Àå¿¡¼­´Â macOS¿¡¼­ Ưº°È÷ »ç¿ëÇÏ´Â ±â´ÉÀÎ ¼ÒÇÁÆ®¿þ¾î Á¦ÇÑ ¸ÞÄ¿´ÏÁò¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. macOS °ÔÀÌÆ®Å°ÆÛ(GateKeeper)ºÎÅÍ macOS ´ë»ó ¸Ö¿þ¾î(malware) ÅðÄ¡¸¦ À§ÇØ ¾ÖÇÃÀÌ 10.7.5¿¡¼­ µµÀÔÇß´Ù. °ÔÀÌÆ®Å°ÆÛ´Â authd ¹× syspolicyd¿Í °°Àº ´Ù¼öÀÇ µ¥¸ó°ú °Ý¸® ÀúÀå¼Ò(Quarantine)¶ó´Â Ư¼ö Ä¿³Î È®Àå ±â´É°ú »óÈ£ ¿î¿ëµÈ´Ù. ±×·± ´ÙÀ½, ±â¾÷ ȯ°æ°ú ÀÚ³à º¸È£(Parental Controls)¿¡¼­ »ç¿ëÇÏ´Â macOSÀÇ ¡°°ü¸® ÁßÀΠŬ¶óÀÌ¾ðÆ® È®Àå ±â´É(Managed Client Extensions)¡±À» ÁÖÁ¦·Î ´Ù·é´Ù.

7Àå¿¡¼­´Â AppleMobileFileIntegrity ¶Ç´Â AMFI¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. À̸§¿¡ ¡°¸ð¹ÙÀÏ(mobile)¡±ÀÌ ÀÖÁö¸¸, AMFI´Â iOS ÄÚµå ¼­¸í ÁýÇàÀÚ·Î ½ÃÀÛÇØ macOS 10.10ºÎÅÍ »ç¿ëµÆÀ¸¸ç, 10.11¿¡¼­´Â¡°½Ã½ºÅÛ ¹«°á¼º º¸È£(System Integrity Protection)¡±·Î ´õ Å« ¿ªÇÒÀ» Çϰí ÀÖ´Ù. iOS¿Í macOSÀÇ ±¸Çö ¹æ¹ýÀ» MACF Á¤Ã¥, MIG ¸Þ½ÃÁö ¹× IOUserClientÀÇ ¿ª°øÇÐÀ» ÅëÇØ ½ÉÃþÀûÀ¸·Î ޱ¸ÇÑ´Ù.

8Àå¿¡¼­´Â ¾ÖÇà »÷µå¹Ú½º¿Í ¾ÖÇÃÀÌ Ã³À½À¸·Î OS 10.5¿¡¼­ »ç¿ëÇϱ⠽ÃÀÛÇÑ ¡°¾ÈÀüº§Æ®(SeatBelt)¡±¶ó´Â À̸§ÀÇ MACFÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇØ ´Ù·é´Ù. ÀÌÈÄ·Î Á¶±Ý ´Ü¼øÇÏÁö¸¸ »çÀü µ¿ÀÇ opt-in ±¸ÇöÀº ¸Å¿ì ¹ßÀüÇØ, iOS¿¡¼­ °­·ÂÇÑ °¨¿Á(jail)ÀÇ ¿ªÇÒÀ» Çϰí ÀÖ´Ù. »÷µå¹Ú½º Àû¿ë¿¡ ´ëÇØ macOSÀÇ ¡°¾Û »÷µå¹Ú½º(AppSandbox)¡±¸¦ ÅëÇÑ ±âÃÊ¿¡¼­ºÎÅÍ °­È­µÈ iOS ±¸Çö¿¡ À̸£±â±îÁö ¼³¸íÇÑ´Ù. ÇÁ·ÎÇÊ, ÄÁÅ×ÀÌ³Ê ¹× ±âŸ ºôµù ºí·Ï¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº macOS 10.11ÀÇ SIP¿Í iOS 10 Ç÷§Æû ÇÁ·ÎÇÊÀ» ³íÀÇÇϱâ À§ÇÑ ±â¹ÝÀ» ¸¶·ÃÇÒ °ÍÀÌ´Ù.

9ÀåÀº macOSÀÇ SIP¿¡ ´ëÇØ ³íÀÇÇÑ´Ù: ±âÃÊ(AMFI¿Í »÷µå¹Ú½º)¿¡ ´ëÇÑ ¼³¸íÀº SIP´Â ´ÜÁö ½Ã½ºÅÛ Â÷¿øÀÇ Á¤Ã¥ Á¤ÀÇÀÏ »ÓÀÌ´Ù. iOS 9.x¿¡´Â ¾øÁö¸¸ SIP°¡ *OS¿¡¼­µµ µîÀåÇÏ´Â °ÍÀº ½Ã°£ ¹®Á¦ÀÏ »ÓÀ̸ç, iOS 10ÀÇ Ç÷§Æû Á¤Ã¥Àº ÀÌ¹Ì ¸Å¿ì °­È­µÆ´Ù.

10Àå¿¡¼­´Â °³ÀÎ Á¤º¸ º¸È£¿¡ ´ëÇØ ´Ù·ç´Âµ¥, ÀÌ´Â TCCd¶ó´Â ÀÛ°í ¹®¼­È­µÇÁö ¾ÊÀº µ¥¸ó¿¡ ÀÇÇØ 󸮵ȴÙ. µ¥¸óÀº ƯÁ¤ ¾ÛÀÌ ¾î¶² ½ºÅä¾î¿¡ Á¢±ÙÇÏ´ÂÁö Á¤ÀÇÇϰí, °³ÀÎ TCC.framework·Î ·¡ÇÎµÈ XPC API¸¦ Á¦°øÇÏ´Â µ¥ÀÌÅͺ£À̽º¿¡ »óÁÖÇÑ´Ù. ¸¹Àº ¼ÒÇÁÆ®¿þ¾î °ø±Þ ¾÷ü°¡ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÑ ÀåÄ¡¸¦ ½Äº°Çϱâ À§ÇØ ¼öÁýÀ» ½ÃµµÇÏ´Â °íÀ¯ ½Äº°ÀÚ(ƯÈ÷, iOSÀÇ °æ¿ì)¿¡ ´ëÇÑ Ãß°¡ °í·Á »çÇ×À» ´Ù·é´Ù.

11ÀåÀº µ¥ÀÌÅÍ º¸È£¿¡ ÁßÁ¡À» µÎ°í ÀÖÀ¸¸ç, ±¸Çö ¹æ½ÄÀº macOS¿Í ³ª¸ÓÁö OS¿¡¼­ ´Ù¸£´Ù. macOS ¼Ö·ç¼ÇÀº FileVault2¸¦ ÅëÇØ ÀÌ·ïÁö¸ç, CoreStorage¿Í ÇÔ²² 10.7¿¡¼­ ¼Ò°³µÆ´Ù. *OS ¼Ö·ç¼ÇÀº Çϵå¿þ¾î ±â¹Ý Ű¿Í ÆÄÀÏ´ç ¾Ïȣȭ ÇÔ¼ö¸¦ ÅëÇØ ¾Ïȣȭ¸¦ °­È­Çß´Ù. CoreStorage´Â ¾ÖÇÃÀÇ »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÀÎ APFSÀÇ ±â´ÉÀ¸·Î ´ëüµÆ´Ù. ÀÌ Ã¥Àº 1.4 ¹öÀüÂë µÅ¼­¾ß ÀÚ¸® Àâ¾ÒÁö¸¸(ÀÌ ¹ø¿ª¼­´Â 1.5.3 ±âÁØÀ¸·Î Çß´Ù), ÀÌÀü ¹öÀüÀÇ CoreStorage¿¡ ´ëÇÑ ³íÀǸ¦ Á¦¿ÜÇϱâ·Î °áÁ¤Çß´Ù. APFSÀÇ »ó¼¼ÇÑ ºÐ¼®Àº 2±Ç¿¡¼­ ´Ù·é´Ù.

2ºÎ´Â 1ºÎÀÇ ¾ÖÇà ¿£Áö´Ï¾îµéÀÌ ÃÖ¼±ÀÇ °èȹÀ» ±â¹ÝÀ¸·Î Á¦ÀÛÇÑ Á¤±³ÇÑ ±¸Á¶µéÀÌ ¿¹»ó°ú ´Ù¸£°Ô ÀÛµ¿ÇÑ ¹æ½Ä¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. °¢ Àå¿¡¼­´Â macOS¿¡¼­ ¾Ç¼º Äڵ带 À¯¹ßÇÑ °ú°ÅÀÇ Ãë¾àÁ¡ ¶Ç´Â iOS Å»¿Á¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

macOSÀÇ Ãë¾àÁ¡¿¡ ´ëÇØ, ƯÈ÷ 10.10(°¢ ºÎÀÇ ¹öÀü¿¡¼­ Áß´ëÇÑ º¯È­¸¦ °®´Â´Ù)°ú 10.11À» ±«·ÓÇû´ø ¸î °¡Áö Ãë¾àÁ¡À» °­Á¶ÇϰíÀÚ ÇÑ´Ù. iOS Ãë¾àÁ¡¿¡ µû¸¥ Å»¿ÁÀ» ½Ã°£ ¼ø¼­·Î º¸¿©ÁÖ±â·Î °áÁ¤Çß´Ù. ÀÌ·¯ÇÑ Ãë¾àÁ¡°ú ÇØ´ç Ãë¾àÁ¡ÀÇ ÀͽºÇ÷ÎÀÕ¸¦ º¸¿©ÁÖ´Â µ¥ Å»¿Áº¸´Ù ´õ ÁÁÀº °ÍÀº ¾ø´Ù. °¢ Å»¿ÁÀº iOS(¿Í ÆÄ»ýµÈ ¿î¿µÃ¼Á¦)¸¦ Á·¼â¿¡¼­ ÇØ¹æ½Ãų ¼ö ÀÖµµ·Ï ¿Ã¹Ù¸¥ ¹æ½ÄÀ¸·Î ¿©·¯ Ãë¾àÁ¡ÀÇ ÀͽºÇ÷ÎÀÕÀ» Ȱ¿ëÇÑ Á¤±³ÇÏ°Ô ¸¸µé¾îÁø ¸ðÀ½Áý°ú °°´Ù.

¾î¶² ¸é¿¡¼­ 2ºÎ´Â ÀÏÁ¾ÀÇ ÀÛÀº ¡°ÇØÄ¿ ÇÚµåºÏ¡±À¸·Î »ý°¢ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ Ã¥¿¡¼­ Á¦°øÇÏ´Â ¼¼ºÎ ¼öÁذú ±íÀÌ´Â ÀÌÀüÀÇ ¿ª°øÇРå°ú º¸¾È Ã¥º¸´Ù ÈξÀ ÀÚ¼¼Çϸç Àü·Ê ¾ø´Â ¼öÁØÀÌ´Ù. Å»¿ÁÀ» ¼º°ø½ÃŲ õÀç Áß ¸î ¸íÀ» °³ÀÎÀûÀ¸·Î ¾Ë¾ÒÁö¸¸, ±×·³¿¡µµ °£´ÜÇÏ°Ô ÇØ°áÇÏ°í ½ÍÀº Ãæµ¿¿¡ ÀúÇ×Çϸç, ¿¬±¸ÀÚó·³ ¹ÙÀ̳ʸ®¸¸À¸·Î Å»¿ÁÀÇ ¿ª°øÇÐÀ» ¼öÇàÇß´Ù. ÀÌ °úÁ¤¿¡¼­ ÀúÀÚ°¡ Á¦ÀÛÇÑ ÅøÀ» »ç¿ëÇßÀ¸¸ç, ÀÌ Ã¥ÀÇ °ü·Ã À¥ »çÀÌÆ®¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¸¶Áö¸·À¸·Î, ºÎ·Ï¿¡´Â macOS º¸¾È °­È­ °¡À̵尡 Æ÷ÇԵŠÀÖ´Ù. óÀ½¿¡´Â ±×´ÙÁö ÁÁÁö ¾ÊÀ» °ÍÀ̶ó »ý°¢ÇßÁö¸¸, ¼¼¹Ù½ºÆ¼¾È º¼ÇÁ(Sebastien Volpe)ÀÇ Áú¹®À» ÅëÇØ »ý°¢ÀÌ ¹Ù²î¾ú´Ù. macOSÀÇ ´Ù¾çÇÑ º¸¾È ±â´É¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇϰí Ãë¾àÁ¡À» ¼Ò°³ÇÑ, ÀÌ Ã¥ÀÇ ¡®ºñ°ø½Ä ¿ä¾àº»¡¯À̶ó »ý°¢ÇÑ´Ù.





¡Ú ÁöÀºÀÌÀÇ ¸» ¡Ú



³ª´Â ÀÌ Ã¥ÀÇ µ¶ÀÚ°¡ ÀÌ Ã¥À» ÅëÇØ ´Ü ÇÑ °¡Áö, ¿ª°øÇÐÀ» ÀÌÇØÇÏ´Â µ¥´Â ¾öû³­ ºÐ·®ÀÇ ÀÚ·á°¡ ÇÊ¿äÇÏ´Ù´Â °Í°ú Å»¿ÁÀ» °í¾ÈÇÏ´Â µ¥´Â ¾öû³­ ³ë·ÂÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ±æ ¹Ù¶õ´Ù. °ø°³ Å»¿ÁÀº ±Ç¸®°¡ ¾Æ´Ï¶ó Ư±ÇÀ¸·Î °¢°¢ÀÇ Å»¿ÁÀº ¿¬±¸ÀÚµéÀÌ (¼ö¹é¸¸ ¸íÀº ¾Æ´Ï´õ¶óµµ) ¼ö½Ê¸¸ °³ÀÇ Á¦·Î µ¥ÀÌ·Î ÆÇ¸ÅµÉ ¼ö ÀÖ¾ú´ø ¼ö¸¹Àº Ãë¾àÁ¡À» °ø°³Çϰí, ¡°ºÒÅ¿ö Àç·Î ¸¸µç ÈÄ¡±, ÀÌÈÄ¿¡ Ãâ½ÃµÉ iOS¿¡¼­ ÀÌ·¯ÇÑ ÀͽºÇ÷ÎÀÕÀ» »ç¿ëÇÒ ¼ö ¾ø°Ô ¸¸µé¾ú´Ù. Å»¿ÁÀ» ¿¬±¸ÇÏ´Â ÇØÄ¿µéÀ» ºñ¹æÇÏ°í ¼±µ¿ÇÏ¸ç ³ë°ñÀûÀ¸·Î °ÅÁþ¸»À» ÆÛÆ®¸®´Â »ç¶÷µéÀÌ ÀÖÁö¸¸, ±×µéÀº ½º½º·Î¸¦ °¦¾Æ¸Ô´Â °ÍÀÌ´Ù.

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



ÇöÀç *OS InternalsÀÇ 3ºÎÀÛ Áß ÀϺÎÁö¸¸, µ¶¸³ÀûÀÎ ³»¿ëÀÎ µ¿½Ã¿¡ º¸¾È Áß½ÉÀ¸·Î ±¸¼ºµÅ ÀÖ´Ù. µû¶ó¼­ º¸¾È°ú °ü·ÃµÈ ³»¿ëÀ» ¿øÇÏ´Â µ¶ÀÚ¿¡°Ô À¯¿ëÇÒ °ÍÀÌ´Ù.

1ºÎ´Â macOS °ü¸®ÀÚ¿Í °í±Þ »ç¿ëÀÚ´Â ¹°·Ð, º¸¾È ¿¬±¸ÀÚ¿Í º¸¾È °¨»çÀο¡°Ô ÀûÇÕÇÏ´Ù. ³»ºÎ API¸¦ ¹®¼­È­ÇÑ ºÎºÐÀº ÆÛ¡(fuzzing) ¶Ç´Â (¾ÖÇÃÀÌ ½ÂÀÎÇÏÁö ¾Ê´Â) ÇØ´ç ¼­ºê ½Ã½ºÅÛ°ú ÀÎÅÍÆäÀ̽ºÇÏ±æ ¿øÇÏ´Â ÇÁ·Î±×·¡¸Ó°¡ ±âº»ÀûÀÎ ³»¿ëÀ» ÇнÀÇÒ ¶§ À¯¿ëÇÒ °ÍÀÌ´Ù.

2ºÎ´Â Àú¼öÁØ ºÐ¾ß¿Í ±â¼úÀûÀÎ ºÎºÐÀ» ´Ù·ç±â ¶§¹®¿¡ ³ªÀ̰¡ ¾î¸° µ¶ÀÚ, ½É¾àÀÚ ¶Ç´Â ÀÎÅÚ ¹×/¶Ç´Â ARM64 ¾î¼Àºí¸®¿¡ ½ÉÇÑ °ÅºÎ°¨ÀÌ ÀÖ´Â µ¶ÀÚ¿¡°Ô ºÎÀûÇÕÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¿ª°øÇÐÀ» ¼±È£Çϸç, ÇØÄ¿ÁöÇâÀûÀÎ µ¶ÀÚ´Â ¿øÇÏ´Â ³»¿ëÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀͽºÇ÷ÎÀÕ°ú Å»¿ÁÀÇ ÀÛµ¿ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í°ú µð¹ö°Å ½ÃÄö½º¸¦ ÀÌ¿ëÇÑ ´Ü°èº° »ó¼¼ Áö½Ã¹® ±×¸®°í ´Ù¼öÀÇ µð½º¾î¼Àºí¸®¸¦ Á¦°øÇÑ´Ù.



1Àå. ÀÎÁõ



__ÆÐ½º¿öµå ÆÄÀϵé(*OS)

__setuid¿Í setgid(macOS)

__Pluggable Authentication Module(macOS)

__opendirectoryd(macOS)

__LocalAuthentication ÇÁ·¹ÀÓ¿öÅ©

__Apple ID

__¿ÜºÎ °èÁ¤

__Âü°í ÀÚ·á





2Àå. °¨»ç



__¼³°è

__°¨»ç ¼¼¼Ç

__±¸Çö

__½Ã½ºÅÛ È£Ãâ ÀÎÅÍÆäÀ̽º

__OpenBSM API

__°¨»ç °í·Á »çÇ×

__Âü°í ÀÚ·á





3Àå. ±ÇÇÑ ºÎ¿©



__¼³°è

__±¸Çö

__KAuth ÀÎÁõ Á¤º¸

__KAuth ½Å¿ø È®ÀÎ ¼­ºñ½º(macOS)

__KAuth µð¹ö±ë

__Âü°í ÀÚ·á





4Àå. °­Á¦Àû Á¢±Ù Á¦¾î ÇÁ·¹ÀÓ¿öÅ©



__¹è°æ

__MACF Á¤Ã¥

__MACF ¼³Á¤Çϱâ

__MACF Äݾƿô

__MACF ½Ã½ºÅÛ È£Ãâ

__ÃÖÁ¾ ³ëÆ®

__Âü°í ÀÚ·á





5Àå. ÄÚµå ¼­¸í



__ÄÚµå ¼­¸í Æ÷¸Ë

__ÄÚµå ¼­¸í ¿ä±¸ »çÇ×

__ÀΟÀÌÆ²¸ÕÆ®

__ÄÚµå ¼­¸í Àû¿ë

__ÄÚµå ¼­¸í API

__Âü°í ÀÚ·á

__±ÇÇÑ ºÎ¿©





6Àå. ¼ÒÇÁÆ®¿þ¾î Á¦ÇÑ(macOS)



__±ÇÇÑ ºÎ¿©

__authd

__°ÔÀÌÆ®Å°ÆÛ(macOS)

__libquarantine

__Quarantine.kext

__°Ý¸® ÀúÀå¼ÒÀÇ ½ÇÁ¦syspolicyd

__¾Û À§Ä¡ º¯°æ

__°ü¸® ÁßÀΠŬ¶óÀ̾ðÆ®(macOS)

__Âü°í ÀÚ·á





7Àå. AppleMobileFileIntegrity



__AppleMobileFileIntegrity.kext

__MACF Á¤Ã¥

__amfid

__ÇÁ·ÎºñÀú´× ÇÁ·ÎÆÄÀÏ

__AMFI ½Å·Ú ij½Ã

__AMFI User Client

__ÃÖÁ¾ ³ëÆ®

__Âü°í ÀÚ·á





8Àå. »÷µå¹Ú½º



__»÷µå¹Ú½ºÀÇ ÁøÈ­

__¾Û »÷µå¹Ú½º(macOS)

__¸ð¹ÙÀÏ ÄÁÅ×À̳Ê(*OS)

__»÷µå¹Ú½º ÇÁ·ÎÆÄÀÏ

__»ç¿ëÀÚ ¸ðµå API

__mac_syscall

__Sandbox.kext

__ÇÁ·ÎÆÄÀÏ Æò°¡

__sandboxd(macOS)

__Âü°í ÀÚ·á





9Àå. ½Ã½ºÅÛ ¹«°á¼º º¸È£(macOS)



__¼³°è

__±¸Çö

__API

__Âü°í ÀÚ·á





10Àå. °³ÀÎ Á¤º¸ º¸È£



__Åõ¸í¼º, µ¿ÀÇ ¹× Á¦¾î

__°íÀ¯ ÀåÄ¡ ½Äº°ÀÚ

__Â÷µî °³ÀÎ Á¤º¸ º¸È£(macOS 12/iOS 10)

__Âü°í ÀÚ·á





11Àå. µ¥ÀÌÅÍ º¸È£



__º¼·ý ·¹º§ ¾Ïȣȭ(macOS)

__ÆÄÀÏ ¼öÁØ ¾Ïȣȭ(*OS)

__mobile_obliterator

__KeyBags

__AppleKeyStore.kext

__ŰüÀÎ

__ÃÖÁ¾ Âü°í »çÇ×

__Âü°í ÀÚ·á





2ºÎ. Ãë¾àÁ¡°ú ÀͽºÇ÷ÎÀÕ ÀÛ¾÷



12Àå. macOS Ãë¾àÁ¡



__10.1: ntpd ¿ø°Ý ·çÆ®(CVE-2014-9295)

__10.2: ·çÆ® ÆÄÀÌÇÁ ±ÇÇÑ »ó½Â(CVE-2015-1130)

__10.3: Kextd ·¹À̽º(CVE-2015-3708)

__10.4: DYLD_PRINT_TO_FILE ±ÇÇÑ »ó½Â(CVE-2015-3760)

__10.5: DYLD_ROOT_PATH ±ÇÇÑ »ó½Â

__11.0: tpwn ±ÇÇÑ »ó½Â ¹×/¶Ç´Â SIP ¹«·ÂÈ­

__11.3 ¡°Mach Race¡± ·ÎÄà ±ÇÇÑ »ó½Â(CVE-2016-1757)

__11.4: ·ÎŰÇϵåÀÇ Trifecta(CVE-2016-1796, 1797, 1806)

__ÃÖÁ¾ ³ëÆ®

__Âü°í ÀÚ·á





13Àå. Å»¿Á



__¹Ì½Å ŸÆÄ

__Å»¿Á °úÁ¤

__Ä¿³Î ÆÐÄ¡

__Ä¿³Î ÆÐÄ¡ º¸È£

__iOS Å»¿ÁÀÇ ÁøÈ­

__Âü°í ÀÚ·á



14Àå. Evasi0n



__·Î´õ

__¾ðÅ×´õ

__Ä¿³Î ¸ðµå ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





15Àå. Evasi0n 7



__·Î´õ

__¾ðÅ×´õ

__Ä¿³Î ¸ðµå ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





16Àå. Pangu 7



__·Î´õ

__Å»¿Á ÆäÀ̷εå

__¾ðÅ×´õ

__Ä¿³Î-¸ðµå ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





17Àå. Pangu 8



__·Î´õ

__»ç¿ëÀÚ ¸ðµå ÀͽºÇ÷ÎÀÕ

__¾ðÅ×´õ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





18Àå. TaiG



__·Î´õ

__¾ðÅ×´õ

__Ä¿³Î ¸ðµå ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





19Àå. TaiG 2



__ÄÚµå ¼­¸í ¿ìȸ

__¾ðÅ×´õ

__Ä¿³Î ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





20Àå. Pangu 9



__·Î´õ

__Å»¿Á ÆäÀ̷εå

__Ä¿³Î ¸ðµå ÀͽºÇ÷ÎÀÕ

__ÄÚµå ¼­¸í ¿ìȸ

__¾ðÅ×´õ

__Pangu 9.1

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





21Àå. Pangu 9.3



__Ä¿³Î ÀͽºÇ÷ÎÀÕ

__¾ÖÇà ¹ö±× ¼öÁ¤





22Àå. Æä°¡¼ö½º



__ÀͽºÇ÷ÎÀÕ È帧

__Ä¿³Î ¸Þ¸ð¸® ÀÐ±â ¹× KASLR ¿ìȸ

__ÀÓÀÇÀÇ Ä¿³Î ¸Þ¸ð¸® ¾²±â

__Áö¼Ó¼º

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á



221/2Àå. ÇǴнº



__Á¤º¸ À¯Ãâ

__¿µ¿ª ´Ùµë±â

__mach_ports_register

__Á¶¸³ - Phoenix ºÎȰ

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





23Àå. mach_portal



__ÀͽºÇ÷ÎÀÕ È帧

__Mach Æ÷Æ® À̸§ urefs ó¸®

__powerd Ãæµ¹

__XNU UaFÀÇ set_dp_control_port

__º¸È£ ±â´É ºñȰ¼ºÈ­

__¾ÖÇà ¹ö±× ¼öÁ¤

__Âü°í ÀÚ·á





24Àå. Yalu(10.0~10.2)



__KPP ¿ìȸ

__ÀͽºÇ÷ÎÀÕ ÀÌÈÄÀÇ ÀÛ¾÷

__10.2: Ä¡¸íÀûÀÎ ÇÔÁ¤°ú Àç¾ÓÀÇ ·¹½ÃÇÇ

__ÃÖÁ¾ ³ëÆ®

__Âü°í ÀÚ·á





25Àå. async_wake & QiLin ŸŶ(11.0~11.1.2)



__KASLR ¿ìȸ

__Ä¿³Î ¸Þ¸ð¸® ¼Õ»ó

__ÀͽºÇ÷ÎÀÕ ÀÌÈÄÀÇ ÀÛ¾÷: Å»¿Á ŸŶ

__Âü°í ÀÚ·á

__¿¡Çʷα×: ¾ÕÀ¸·ÎÀÇ ¿¹Ãø





ºÎ·Ï A. macOS º¸¾È¼º °­È­ °¡À̵å



__¹Ýº¹ÇØ ÆÐÄ¡Çϱâ

__·Î±ë ¹× °¨»ç

__»ç¿ëÀÚ ¼öÁØ º¸¾È

__µ¥ÀÌÅÍ º¸È£

__¹°¸®Àû º¸¾È

__¾ÖÇø®ÄÉÀÌ¼Ç ¼öÁØ º¸¾È

__¼­µåÆÄƼ/¿ÀǼҽº Åø »ç¿ë

__³×Æ®¿öÅ© º¸¾È

__ÆíÁýÁõÀ» °¡Áø »ç¶÷µéÀ» À§ÇØ





ºÎ·Ï B. Darwin 18(º£Å¸) º¯°æ »çÇ×



__°­Á¦Àû Á¢±Ù Á¦¾î ÇÁ·¹ÀÓ¿öÅ©(MACF)

__ÄÚµå ¼­¸í

__°ÔÀÌÆ®Å°ÆÛ(macOS)

__AMFI

__»÷µå¹Ú½º

__ÇÁ¶óÀ̹ö½Ã

__APFS ½º³À¼¦ ¸¶¿îÆ®(iOS 11.3)

__Çϵå¿þ¾î º¯°æ »çÇ×(A12¿Í ÀÌÈÄÀÇ ÇÁ·Î¼¼¼­)





ºÎ·Ï C. ¿ë¾î »çÀü
Á¶³ª´Ü ·¹ºó(Jonathan Levin)

10´ëºÎÅÍ (ÁÁÀº ÀǹÌÀÇ) ÇØÅ·À» ½ÃÀÛÇß°í, 1993³â¿¡´Â 2400 º¸(baud) ¸ðµ©À» »ç¿ëÇÏ´Â XT¿¡¼­ ¼¿ÀÌ µ¹¾Æ°¡´Â ¹æ½ÄÀ» ¾Ë¾Æ³»±â À§ÇØ ³ë·ÂÇß´Ù. µû·Î ¹è¿ï ¸¸ÇÑ °÷ÀÌ ¾ø¾ú±â ¶§¹®¿¡ °¨»ç °ü·Ã ¸Å´º¾ó(man) ÆäÀÌÁö¸¦ ¹Ýº¹ÀûÀ¸·Î º¸¸ç µ¶ÇÐÇØ¾ß Çß´Ù.

±× ÈÄ 20³â µ¿¾È ¸¹Àº º¯È­°¡ ÀϾ°í À¯´Ð½º(UNIX)¸¦ óÀ½ ½ÃÀÛÇØ ¸®´ª½º¸¦ »ç¿ë ÁßÀ̸ç, À©µµ¿ì¿Í OSX ¶ÇÇÑ »ç¿ëÇϰí ÀÖ´Ù. º¸¾È ºÐ¾ß¿¡¼­ ½ÃÀÛÇØ ¼ö³â°£ ÄÁ¼³ÆÃ°ú ±³À°À» ÇØ¿À´ø Áß, º¸¾ÈÀÌ ³»ºÎ ±¸Á¶¸¦ »ó¼¼ÇÏ°Ô ÆÄ¾ÇÇÏ´Â °ÍÀÓÀ» ±ú´Þ¾Ò´Ù. ¸¶Ä§³» ÁÁÀº »ç¶÷µé°ú ÇÔ²² Å×Å©³î·Î±ã½º´åÄÄ(Technologeeks.Com)À» â¾÷Çß´Ù. Áö±ÝÀº Å×Å©³î·Î±ã½º´åÄÄÀÇ ÃÖ°í ±â¼ú °æ¿µÀÚ(CTO)·Î ±Ù¹« ÁßÀÌ´Ù.

¾ÖÇÃÀÇ OS °ü·Ã ÁýÇÊÀº ¡ºMac OS X and iOS Internals¡»(O¡¯Reilly, 2012)·Î ½ÃÀÛÇßÀ¸¸ç, ÀÌ °úÁ¤ ¼Ó¿¡¼­ µµÆÄ¹ÎÀÌ ±Þ°ÝÈ÷ ºÐºñÇϴ ¥¸´ÇÔÀ» ´À³¥ ¼ö ÀÖ¾ú´Ù. ÀÌÁ¦´Â Áßµ¶µÆÀ¸¸ç, ¾Èµå·ÎÀ̵å¿Í °ü·ÃµÈ ÁýÇÊÀ» ½ÃÀÛÇÒ ´ç½Ã ¾Ë°Ô µÈ ·Î´Ï Æä´õºÎ½Ã(Ronnie Federbush)ÀÇ Ãæ°í¿¡ µû¶ó óÀ½À¸·Î ÀÚ°¡ ÃâÆÇÀ» °¨ÇàÇß´Ù. ÀÌ ÀÛ¾÷Àº ¿øÈ°ÇÏ°Ô ÁøÇàµÆ°í, ¡ºMac OS X and iOS Internals¡» 1±ÇÀ» óÀ½ »ý°¢Çß´ø ¹æ½ÄÀ¸·Î ´Ù½Ã ÁýÇÊÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ ¾òÀ» ¼ö ÀÖ¾ú´Ù. ÃâÆÇ»çÀÇ º¯´öÀ» ÇÇÇϰí, °Ë¿­À» ¹ÞÁö ¾ÊÀ¸¸ç, ÆäÀÌÁö ¼ö¿Í ¿¹»ê¿¡ ½Å°æ ¾µ Çʿ䵵 ¾ø¾ú´Ù. ±× °á°ú 3ºÎÀÛ Áß Áö±Ý ¿©·¯ºÐÀÌ Àаí ÀÖ´Â »õ·Î¿î ¡º*OS Internals Vol.3¡»¸¦ Ãâ°£ÇÒ ¼ö ÀÖ°Ô µÆ´Ù.





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





¿À´Ã³¯ ¸ð¹ÙÀÏ ¿î¿µÃ¼Á¦ ½ÃÀåÀº iOS¿Í ¾Èµå·ÎÀ̵尡 ½ÃÀåÀ» ¾çºÐÇϰí ÀÖ´Ù. °³ÀÎÀûÀ¸·Î ¾Èµå·ÎÀ̵庸´Ù iOS ¿î¿µÃ¼Á¦¿¡¼­ ¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼®À» ¼±È£ÇÏÁö¸¸, iOS º¸¾È°ú °ü·ÃµÈ Á¤º¸¸¦ ¼öÁýÇÏ´Â ÀÛ¾÷Àº ¸¶Ä¡ ¹é»çÀå¿¡¼­ ¹Ù´ÃÀ» ã´Â °Í°ú °°´Ù. ÀÌ·¯ÇÑ »óȲ¿¡¼­ iOS¿Í macOSÀÇ ±Ã±ÝÁõÀ» ÇØ¼ÒÇØÁÙ ´Üºñ¿Íµµ °°Àº Ã¥ÀÌ µîÀåÇß´Ù. ÃÖ±Ù iOS 11ÀÇ Å»¿Á ÅøÀÎ ¡®LiberiOS¡¯ÀÇ Á¦ÀÛÀÚÀÌÀÚ ¿Â/¿ÀÇÁ¶óÀÎÀ¸·Î iOS ¹× macOS¿¡ °ü·ÃµÈ ¾çÁúÀÇ Á¤º¸¸¦ Á¦°øÇØÁÖ´ø Á¶³ª´Ü ·¹ºóÀÌ ¾ÖÇÃÀÇ ¿î¿µÃ¼Á¦¿¡ ´ëÇÑ ½Éµµ ÀÖ´Â ³»¿ë°ú ±â¹ýÀ» ´ã¾Æ Ã¥À» Ãâ°£ÇÑ °ÍÀÌ´Ù.

iOS°¡ ¾Èµå·ÎÀ̵庸´Ù ¾ÈÀüÇÑ ¿î¿µÃ¼Á¦¶ó´Â ÆòÀ» ¹Þ°Ô µÈ ¹è°æ¿¡´Â ¾ÖÇÃÀÇ °­·ÂÇÑ Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾îÀÇ ÅëÁ¦°¡ ÀÖ´Ù. ÀÌ Ã¥ÀÇ Àü¹ÝºÎ¿¡¼­´Â ¾ÖÇÃÀÇ º¸¾È ¸ÞÄ¿´ÏÁò¿¡ ´ëÇØ »ó¼¼ÇÑ ºÐ¼®À» Á¦°øÇÑ´Ù. macOS¿Í iOS´Â ¿î¿µÃ¼Á¦¿¡¼­ ¸¹Àº ºÎºÐÀ» °øÀ¯Çϸç, ÃÖ±Ù µîÀåÇÑ watchOSµµ iOS¿¡¼­ ÆÄ»ýµÆ±â ¶§¹®¿¡ ÀÌ Ã¥À» ÅëÇØ ¾ÖÇÃÀÇ ¿î¿µÃ¼Á¦¿¡ Àû¿ëµÈ º¸¾È ¸ÞÄ¿´ÏÁòÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÀÌ Ã¥ÀÇ ÈĹݺο¡¼­´Â ¾ÖÇÃÀÇ °ß°íÇÑ º¸¾È °­È­ Á¶Ä¡¸¦ ¹«·ÂÈ­½ÃŰ°í ·çÆ® ±ÇÇÑÀ» ȹµæÇÏ´Â °¡Àå ±ØÀûÀÎ ÇØÅ·ÀÎ ¡®Å»¿Á¡¯À» ´Ù·é´Ù. Å»¿Á¿¡ °ü½ÉÀ» °¡Á³´ø µ¶ÀÚ¶ó¸é Àͼ÷ÇÑ Evasi0n, TaiG, PanguÀÇ Å»¿Á Åø°ú ÃÖ±Ù ±¸±Û ÇÁ·ÎÁ§Æ® Á¦·ÎÀÇ ÀÌ¾È ºñ¾î°¡ °ø°³ÇÑ Å»¿Á ¹æ¹ý±îÁö ´Ù¾çÇÑ iOSÀÇ Ãë¾àÁ¡°ú ÀͽºÇ÷ÎÀÕÀÇ »ó¼¼ÇÑ ºÐ¼® °á°ú¸¦ º¼ ¼ö ÀÖ´Ù.

Ã¥À» Àд٠º¸¸é ÀúÀÚÀÇ Àü¹®¼º°ú öÇÐÀ» ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀúÀÚ´Â iOS¿Í macOS ¿î¿µÃ¼Á¦ÀÇ ½ÉÃþ ºÐ¼®À» ÁÖÁ¦·Î 3ºÎÀÛ Ãâ°£À» °èȹ ÁßÀ̸ç, ÀÌ Ã¥Àº ½Ã¸®Áî Áß, ¸¶Áö¸·ÀÎ 3±Ç¿¡ ÇØ´çÇÑ´Ù. ÀÌ Ã¥Àº ³­À̵µ°¡ ³ôÁö¸¸, »ó´çÇÑ ºÐ·®À» ÇÒ´çÇØ ³»¿ëÀ» ÀÚ¼¼ÇÏ°Ô ´Ù·ç°í ÀÖ´Ù. ÀÌ Ã¥À» ÀÐ°í ³ª¸é ÃֽŠƮ·»µå¸¦ ¾î·ÆÁö ¾Ê°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖÀ¸¸ç, ´õ ³ª¾Æ°¡ ÈǸ¢ÇÑ º¸¾È ¿¬±¸°¡·Î ¼ºÀåÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.





¡Ú ¿Å±äÀÌ ¼Ò°³ ¡Ú



ÀÌÁøÈ£

¼º±Õ°ü´ëÇб³ ÄÄÇ»Åͱ³À°°ú¸¦ Á¹¾÷ÇÑ ÈÄ ±â¾÷ÀºÇà, ±ÝÀ¶°áÁ¦¿øÀ» °ÅÃÄ ±ÝÀ¶º¸¾È¿ø¿¡¼­ ÀÏÇϰí ÀÖ´Ù. º¸¾È À̿ܿ¡µµ ´Ù¸¥ »ç¶÷¿¡°Ô Áö½ÄÀ» Àü´ÞÇÏ´Â ÀÏ¿¡ °ü½ÉÀÌ ¸¹À¸¸ç, º¸¾È °ü·Ã Áö½ÄÀ» ³ª´©°íÀÚ ¹ø¿ªÀ» ½ÃÀÛÇß´Ù. ¿¡ÀÌÄÜÃâÆÇ¿¡¼­ Ãâ°£ÇÑ ¡ºµðÆæ½Ãºê ½ÃÅ¥¸®Æ¼ ÇÚµåºÏ¡»(2018), ¡º»ç¹° ÀÎÅÍ³Ý ½Ã´ë¸¦ À§ÇÑ º¸¾È °¡À̵塻(2017), ¡ºiOS Application Security¡»(2017), ¡ºÆÄÀ̽㠸ðÀÇ ÇØÅ·°ú ħÅõ Å×½ºÆÃ¡»(2015)À» ¹ø¿ªÇß´Ù.





ÀÌ´ë±Ô

ÀÎÇÏ´ëÇб³ ÄÄÇ»ÅͰøÇÐ ÇÐ»ç °úÁ¤°ú Ä«À̽ºÆ® Àü»êÇаú ¼®»ç °úÁ¤À» ¸¶Ä¡°í ±ÝÀ¶°áÁ¦¿øÀ» °ÅÃÄ ±ÝÀ¶º¸¾È¿ø¿¡¼­ ÀÏÇϰí ÀÖ´Ù. ÇöÀç Ãë¾àÁ¡ ºÐ¼® Æò°¡ ¾÷¹«¸¦ ¼öÇà ÁßÀ̸ç, iOS ºÐ¼®¿¡ °ü½ÉÀÌ ¸¹´Ù.

µî·ÏµÈ ¼­ÆòÀÌ ¾ø½À´Ï´Ù.
 
ÃÊ Áß °í
ÀüüÆò±Õ(0)
ȸ¿øÆòÁ¡   ȸ¿ø¼­Æò¼ö 0
¿¡ÀÌÄÜ ÃâÆÇ»çÀÇ ½Å°£
¡ºOAuth 2.0 ÄîºÏ: Spring Security¸¦ ÀÌ¿ëÇÑ OAuth ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¡»
¾Æµ¹Æ÷ ¿¤·ÎÀÌ ³ª½Ã¸àÅä Àú
36,000¿ø
(10%¡é+5%)
 
GitHub¸¦ Ȱ¿ëÇÑ ´Ù¾çÇÑ µµ±¸ °³¹ß : °³¹ß ¿öÅ©Ç÷ΠÃÖÀûÈ­
Å©¸®½º µµ½¼, º¥ ½ºÆ®¶ó¿ìºê Àú
27,000¿ø
(10%¡é+5%)
 
¡ºÆÄÀ̽ãÀ¸·Î ¸¸µå´Â ¼­¹ö¸®½º ¾ÖÇø®ÄÉÀ̼Ç: 24½Ã°£ »ç¿ë °¡´ÉÇÑ È¿À²ÀûÀÎ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¡»
Àß·½ ¶óÁö ·ÎÈ÷Æ® Àú
22,500¿ø
(10%¡é+5%)
 
¡ºÀ̵æ¿ìÀÇ ¾ð¸®¾ó C++ °ÔÀÓ °³¹ßÀÇ Á¤¼®¡»
À̵æ¿ì Àú
45,000¿ø
(10%¡é+5%)
 
¡º°³¹ßÀÚ¸¦ À§ÇÑ ¸Ó½Å ·¯´×: ¸Ó½Å ·¯´× ½ÃÀÛÀÌ ¸·¸·ÇÑ °³¹ßÀÚ¸¦ À§ÇÑ ¾È³»¼­¡»
·Îµ¹Æ÷ º»´Ñ Àú
22,500¿ø
(10%¡é+5%)
 
À̸ÞÀÏÁÖ¼Ò¼öÁý°ÅºÎ