OS ÆÄÀÏ ½Ã½ºÅÛ ¹× ÇÁ·ÎÁ§Æ® ÄÜÅÙÃ÷ ³ëÃâ °¡´É¼º ³ô¾Æ
[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] º¸¾È Àü¹® ¾÷ü üũÆ÷ÀÎÆ®(Checkpoint)ÀÇ º¸¾È Àü¹®°¡µéÀÌ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ Åøµé¿¡¼ Ãë¾àÁ¡À» ¹ß°ßÇß´Ù. ÀÚ¹Ù ¹× ¾Èµå·ÎÀÌµå °³¹ßÀ» ÇÏ´Â ±â¾÷µéÀ̶ó¸é ¿ÜºÎÀÎÀÌ ½Ã½ºÅÛ¿¡ ¹«´Ü Á¢±ÙÇÏ´Â °É °æ°èÇØ¾ß ÇÒ °ÍÀ¸·Î º¸ÀδÙ.

[À̹ÌÁö = iclickart]
¿©±â¿¡ ÇØ´çÇÏ´Â ÅøÀÇ À̸§Àº ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À(Android Studio), ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ), ¿¡Å¬¸³½º(Eclipse), APKÅø(APKTool)À̸ç, ´ëºÎºÐÀÇ ¾Èµå·ÎÀ̵å ÅëÇÕ °³¹ß ȯ°æ(IDE)¿¡¼µµ ÀÌ Ãë¾àÁ¡ÀÌ ¹ß°ßµÈ´Ù°í ÇÑ´Ù. ÀÌ Ãë¾àÁ¡µéÀ» ÅëÆ²¾î ÆÄ½ºµå·ÎÀ̵å(ParseDroid)¶ó°í üũÆ÷ÀÎÆ®´Â ¸í¸íÇß´Ù. »ó¼¼ º¸°í¼´Â ÀÌ ¸µÅ©(https://media.scmagazine.com/documents/325/parsedroid_81045.pdf)¸¦ ÅëÇØ ¿¶÷ÀÌ °¡´ÉÇÏ´Ù(¿µ¹®).
üũÆ÷ÀÎÆ®ÀÇ º¸¾È Àü¹®°¡µé¿¡ ÀÇÇÏ¸é ¡°°ø°ÝÀÚµéÀº ¸¶À½¸¸ ¸ÔÀ¸¸é ¾Èµå·ÎÀ̵å ȯ°æ¿¡¼ÀÇ °³¹ß °úÁ¤¿¡ ¾ó¸¶µçÁö °³ÀÔÇÒ ¼ö ÀÖ¡±À¸¸ç, ¡°APKÅøÀ» Ȱ¿ëÇÑ ¿ÀǼҽº ÅøµéÀÌ Ç³ºÎÇÏ°Ô Àֱ⠶§¹®¿¡ ÆÄ½ºµå·ÎÀ̵å´Â ¾ó¸¥ ¹Ù·ÎÀâ¾Æ¾ß ÇÒ Ãë¾àÁ¡¡±À̶ó°í ÇÑ´Ù.
¡°APKÅøÀ» ºÐ¼®Çغ» °á°ú ¼Ò½ºÄڵ忡¼ XML ¿ÜºÎ °³Ã¼(XXE) Ãë¾àÁ¡ÀÌ ÀÖ´Ù´Â °É ¹ß°ßÇß½À´Ï´Ù. ÇÁ·Î±×·¥ ³»¿¡¼ XML ÆÄÀÏÀ» ºÐ¼®(parse) ÇÒ ¶§, ¼³Á¤µÈ XML ºÐ¼®±â(parser)°¡ ¿ÜºÎ °³Ã¼ ·¹ÆÛ·±½º¸¦ ºñȰ¼ºÈ ½ÃŰ´Â µ¥¿¡¼ ºñ·ÔµÈ Ãë¾àÁ¡ÀÔ´Ï´Ù.¡±
Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â ÇÔ¼ö´Â loadDocument´Ù. APKÅøÀÇ Build¿Í DecompileÀ̶ó´Â ÇÙ½É ¸í·É¿¡ »ç¿ëµÈ´Ù. ÀÌ Ãë¾àÁ¡À» ¾Ç¿ëÇϸé APKÅø »ç¿ëÀÚÀÇ Àüü OS ÆÄÀÏ ½Ã½ºÅÛÀÌ ³ëÃâµÇ¸ç, °ø°ÝÀÚµéÀÌ ¾Ç¼º AndroidManifest.xml ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¾Æ¹« ÆÄÀÏÀ̳ª °¡Á®¿Ã ¼ö ÀÖ°Ô µÈ´Ù. AndroidManifest.xmlÀº XXE Ãë¾àÁ¡À» ÀͽºÇ÷ÎÀÕÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.
À̹ø Ãë¾àÁ¡À» ¹ß°ßÇÏ°í º¸°í¼¸¦ ÀÛ¼ºÇÑ ¿¡¶õ ¹ÙÅ©´Ñ(Eran Vaknin), °¥ ¿¤¹ÙÁî(Gal Elbaz), ¾Ë·Ð º¹½Ã³Ê(Alon Boxiner), ¿Àµ¥µå ¹Ù´©´©(Oded Vanunu)´Â ¡°XXE Ãë¾àÁ¡À» ÀͽºÇ÷ÎÀÕ ÇÏ´Â ¹æ¹ýÀº °ø°ÝÀÚµé »çÀÌ¿¡ ³Î¸® ÆÛÁ® ÀÖ´Ù¡±¸ç ¡°ÆÄ½ºµå·ÎÀÌµå ¿ª½Ã ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î °ø·«ÀÌ °¡´ÉÇÒ °ÍÀ¸·Î º¸Àδ١±°í ¹àÇû´Ù.
ÇÑÆí ¾Èµå·ÎÀ̵å IDE¿¡ ´ëÇØ¼ üũÆ÷ÀÎÆ®´Â ¡°°ø°ø ¸®Æ÷ÁöÅ͸®¿¡ ¾Ç¼º ¶óÀ̺귯¸®¸¦ ¸¸µé¾î ¾÷·ÎµåÇØ¾ß¸¸ °ø°ÝÀÌ ¼º¸³ÇÒ ¼ö Àִµ¥, ÀÌ°Ç Ã¼Å©Æ÷ÀÎÆ® ÀÚüÀûÀ¸·Îµµ ¾î·ÆÁö ¾Ê°Ô ½ÇÇàÇÑ ¹Ù ÀÖ´Ù¡±°í ¸»ÇÑ´Ù. ¡°¶Ç ´Ù¸¥ ¹æ¹ýÀº °³¹ßÀÚ¸¦ Ç¥ÀûÀ¸·Î »ï°í, °³¹ßÀÚ °³Àο¡°Ô ¾Ç¼º ¶óÀ̺귯¸®¸¦ Àü¼ÛÇØ ´Ù¿î·Îµå ¹Þµµ·Ï À¯µµÇÏ´Â °Ì´Ï´Ù.¡±
ºñ½ÁÇϰԴÂ, °³¹ßÀÚµéÀÌ ÀÚÁÖ µå³ªµå´Â °ø°ø ¸®Æ÷ÁöÅ丮¿¡ ¾Ç¼º AAR(¾Èµå·ÎÀÌµå ¾ÆÄ«ÀÌºê ¶óÀ̺귯¸®)À» ¿Ã·Á °³¹ßÀÚ°¡ ´Ù¿î·Îµå ¹Þµµ·Ï ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ AARÀ» ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ÇÁ·ÎÁ§Æ®·Î ÀÓÆ÷Æ®ÇÏ´Â ¼ø°£ ¾Ç¼º ÆäÀ̷ε尡 ½ÇÇàµÇ¸ç ÇÁ·ÎÁ§Æ®ÀÇ ÄÜÅÙÃ÷°¡ ÀüºÎ °ø°ÝÀÚÀÇ ¼¹ö·Î Àü¼ÛµÈ´Ù.
ÀÌ·¯ÇÑ Ãë¾àÁ¡µé ¹× °ø°Ý °¡´É¼ºÀº ±¸±Û, ÀÎÅÚ¸®Á¦À̸¦ °³¹ßÇÑ Á¬ºê·¹Àνº(Jetbrains), ¿¡Å¬¸³½º, APKÅø °³¹ßÀÚ¿¡°Ô ¸ðµÎ Àü¼ÛµÈ »óÅ´Ù. ¿¡Å¬¸³½º °³¹ßÀÚ¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö´Â ÆÐÄ¡¸¦ °³¹ßÇØ ¹èÆ÷Çϱ⠽ÃÀÛÇß´Ù.
[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>