°¡Àå Ä¡¸íÀûÀÎ ¹ö±×´Â Áß°£ÀÚ °ø°Ý ÅëÇØ ÄÚµå ½ÇÇàÇÏ°Ô ÇØÁÖ´Â °Í
[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] ÇÑ º¸¾È Àü¹®°¡°¡ ¾ËÆÄÀÎ ¸®´ª½º(Alpine Linux)¿¡¼ ÀÓÀÇ ÄÚµå ½ÇÇà µîÀ» Æ÷ÇÔÇÑ ¸î °¡Áö Ãë¾àÁ¡À» ¹ß°ßÇß´Ù. ¾ËÆÄÀÎ ¸®´ª½º´Â µµÄ¿(Docker)¿Í ÇÔ²² ÈçÈ÷ »ç¿ëµÇ´Â ¸®´ª½ºÀÇ ÀÏÁ¾ÀÌ´Ù.
[À̹ÌÁö = iclickart]
¾ËÆÄÀÎ ¸®´ª½º´Â musl°ú ºñÁö¹Ú½º(BusyBox)¸¦ ±â¹ÝÀ¸·Î ÇÏ°í ÀÖÀ¸¸ç, ¿ë·®ÀÌ ¸Å¿ì ÀÛÀº °ÍÀÌ Æ¯Â¡ÀÌ´Ù. ºÎÆà ½Ã°£ÀÌ ºü¸£´Ù´Â ÀåÁ¡ ¶§¹®¿¡ ÄÜÅ×À̳Ê, µµÄ¿¿Í ÇÔ²² Àα⸮¿¡ »ç¿ëµÇ°í Àֱ⵵ ÇÏ´Ù.
¾ËÆÄÀÎÀÇ ±âº» ÆÐÅ°Áö °ü¸®ÀÚ¸¦ APK¶ó°í Çϴµ¥, ¸ÕÀú´Â ¿©±â¼ ¸î °¡Áö ¹ö±×°¡ ¹ß°ßµÆ´Ù. À̸¦ ¹ß°ßÇÑ °Ç º¸¾È Àü¹®°¡ ¸Æ½º Àú½ºÆ½Áî(Max Justicz)·Î, ¡°ÀÌ ¹ö±×µé Áß °¡Àå Áß¿äÇÑ °Ç ³×Æ®¿öÅ© ³»¿¡¼ Áß°£ÀÚ °ø°ÝÀ» ÅëÇØ ÀÓÀÇÀÇ Äڵ带 ½ÇÇà½Ãų ¼ö ÀÖ°Ô ÇØÁÖ´Â Ãë¾àÁ¡¡±À̶ó°í ¤´Â´Ù.
¡°¿Ö ÀÌ ¿À·ù°¡ ƯÈ÷ ³ª»Ú³Ä¸é, µðÆúÆ® ¸®Æ÷ÁöÅ丮µéÀ» »ç¿ëÇÒ ¶§ ÆÐÅ°ÁöµéÀÌ TLS¸¦ ÅëÇØ Á¦°øµÇÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.¡± Àú½ºÆ½ÁîÀÇ ¼³¸íÀÌ´Ù. ¡°°ø°ÝÀÚ°¡ ¾ËÆÄÀÎ ±â¹Ý µµÄ¿ Çϳª¸¦ °Ü³ÉÇØ Ä§ÇØÇÏ°í, Äڵ带 ½ÇÇà½Ãų ¼ö ÀÖ°Ô µË´Ï´Ù. ÀÌ¿¡ °üÇؼ´Â ¿µ»ó ÀڷḦ ÇÔ²² °ø°³Çß½À´Ï´Ù.¡± ÇØ´ç ¿µ»ó ÁÖ¼Ò´Â ÀÌ°Í(https://justi.cz/assets/apkpoc.mp4)ÀÌ´Ù.
¹®Á¦ÀÇ ±Ù¿ø¿¡ ´ëÇØ Àú½ºÆ½Áî´Â ´ÙÀ½°ú °°ÀÌ ¼³¸íÇÑ´Ù. ¡°APK ÆÐÅ°Áö °ü¸®ÀÚ´Â ÆÐÅ°Áö¸¦ ¸ÕÀú Ç®°í, ±× ´ÙÀ½ Çؽø¦ È®ÀÎÇÕ´Ï´Ù. ÆÐÅ°Áö¶ó°í ÇÏ¸é º¸Åë gzipÀ¸·Î ¾ÐÃàµÈ tar ÆÄÀÏÀ» ¸»Çϸç, ÀÌ ÆÄÀϵéÀº apkÀÇ ÇüÅ·Π¹èÆ÷µË´Ï´Ù. ¾Æ¹«Æ° È®ÀÎÇÑ Çؽà °ªÀÌ ¸ÂÁö ¾ÊÀ¸¸é, APK°¡ ¾ÐÃà ÇØÁ¦µÈ ¸ðµç ÆÄÀÏ°ú µð·ºÅ丮µéÀÇ ¿¬°áÀ» ²÷´Â ÀÛ¾÷À» ½ÃÀÛÇÕ´Ï´Ù.¡± ¾ÐÃàÀ» ¾îµò°¡¿¡ ´Ù Ç®¾î³õ°í, È®ÀÎ ÈÄ ¸ÂÁö ¾ÊÀ¸¸é ±×Á¦¾ß ÇãµÕÁöµÕ ¼ö½ÀÀ» ÇÑ´Ù´Â °ÍÀÌ´Ù.
±×·±µ¥ APK¿¡´Â Ä¿¹Ô ÈÅ(commit hook)À̶ó´Â ±â´ÉÀÌ ÀÖ´Ù°í ±×´Â ¼³¸íÀ» À̾´Ù. ¡°ÀÌ°É È°¿ëÇØ °ø°ÝÀÚµéÀÌ Áö¼ÓÀûÀÎ ÀÓÀÇ ÆÄÀÏ ¾²±â ±â´ÉÀ» ÄÚµå ½ÇÇàÀ¸·Î º¯È¯ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ´Ü °ü·ÃµÈ ÆÄÀϵéÀÌ Å¬¸°¾÷ ÈÄ¿¡µµ »ì¾Æ³²¾ÒÀ» ¶§ÀÇ À̾߱âÀÔ´Ï´Ù. ±×·¸°Ô µÇ¸é ¼³Ä¡ ÇÁ·Î¼¼½º°¡ ½ÇÆÐÇÑ apk ÆÐÅ°Áö¿¡¼ ºüÁ®³ª°¡±â Àü¿¡ ÆÄÀÏ ½ÇÇàÀ» ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.¡±
±× ´ÙÀ½À¸·Î´Â APK ÇÁ·Î¼¼½º°¡ ¼º°øÀûÀ¸·Î Á¾·áµÇ¾î¾ß ÇÑ´Ù. ±×·¯·Á¸é Á¾·á Äڵ尡 0ÀÌ µÇ¾î¾ß ÇÑ´Ù. ¡°º¸ÅëÀº APK°¡ ¼³Ä¡ ½ÇÆÐÇÑ ÆÐÅ°ÁöÀÇ ¼ýÀÚ¿Í °°Àº ¼öÀÇ Á¾·á Äڵ带 µÇµ¹·ÁÁÝ´Ï´Ù. ÀÌ °æ¿ì ÃÖ¼Ò 1ÀÌ°ÚÁÒ. ±×·¸´Ù¸é ¼º°øÀûÀÎ Á¾·á°¡ ¾î·Æ°Ô µË´Ï´Ù.¡±
ÇÏÁö¸¸ ÀÌ °ªÀ» ¿À¹öÇ÷οì ÇÏ´Â °Ô °¡´ÉÇÏ´Ù. ¶ÇÇÑ ¿À·ùÀÇ ¼ýÀÚ % 256 == 0À̸é, ÇÁ·Î¼¼½º¿¡¼ µÇµ¹¾Æ¿À´Â Á¾·á ÄÚµå °ªÀÌ 0ÀÌ µÈ´Ù. Áï °ø°ÝÀÌ ¼º°øÀûÀ¸·Î ÁøÇàµÈ´Ù´Â ¶æÀÌ´Ù. ½ÉÁö¾î Àú½ºÆ½Áî´Â ¼ÐÄڵ带 ÀÛ¼ºÇØ exit(0)À» Á÷Á¢ ¸Þ¸ð¸®¿¡ »ðÀÔÇÑ ÈÄ ½ÇÇà½Ãų ¼öµµ ÀÖ¾ú´Ù°í ÇÑ´Ù.
Àú½ºÆ½Áî°¡ ¹ß°ßÇÏ°í °ø°³ÇÑ Ãë¾àÁ¡µéÀº ¾ËÆÄÀÎ ¸®´ª½º »ç¿ëÀÚ ÀüºÎ¸¦ ÀáÀçÀûÀÎ À§Çè¿¡ ³ëÃâ½ÃÅ°°í ÀÖ´Ù. ¾ËÆÄÀÎÀ¸·Î ¸¸µç ÄÜÅ×ÀÌ³Ê À̹ÌÁöµéÀº ÀüºÎ ´Ù½Ã ±¸ÃàÇÏ´Â ÆíÀÌ ¾ÈÀüÇÒ °ÍÀ¸·Î º¸ÀδÙ.
¾ËÆÄÀÎ ¸®´ª½º´Â ±×¸® ³Î¸® »ç¿ëµÇ´Â °Ç ¾Æ´ÏÁö¸¸, ±×·¡µµ Á·È÷ ¼ö¹é¿¡¼ ¼öõ °³ÀÇ Á¶Á÷¿¡¼´Â »ç¿ëµÇ°í ÀÖ´Â °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. Àú½ºÆ½Áî´Â ¡°±× Áß ÇѵΠ±ºµ¥¿¡¼´Â ¹ö±×¹Ù¿îƼ¸¦ ÁøÇàÇÏ°í ÀÖÀ» ¼öµµ ÀÖ´Ù¡±¸ç ±â´ë°¨À» ³ªÅ¸³»±âµµ Çß´Ù. ±×´Â À§¿¡ ¾ð±ÞµÈ ÄÚµå ½ÇÇà Ãë¾àÁ¡À» µÎ°í ¡®Ä¡¸íÀûÀ¸·Î ½É°¢ÇÑ¡¯ ¹ö±×¶ó°í Ç¥ÇöÇß´Ù.
3ÁÙ ¿ä¾à
1. ¸®´ª½ºÀÇ ¼ö¸¹Àº ¹öÀü Áß µµÄ¿ ¹× ÄÜÅ×ÀÌ³Ê¿Í ÇÔ²² Áñ°Ü »ç¿ëµÇ´Â ¾ËÆÄÀÎ ¹öÀü¿¡¼ Ãë¾àÁ¡ ³ª¿È.
2. ƯÈ÷ APK¶ó´Â ¿ä¼Ò¿¡ ÀÖ´Â ÄÚµå ½ÇÇà Ãë¾àÁ¡ÀÌ ½É°¢ÇÑ °ÍÀ¸·Î º¸ÀÓ.
3. ¾ËÆÄÀÎ ¸®´ª½º ±â¹Ý ÄÜÅ×ÀÌ³Ê À̹ÌÁöµé, ÀüºÎ À籸Ãà ÇÏ´Â °Ô ¾ÈÀüÇÒ °Í.
[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>