Android¥Þ¥ë¥¦¥§¥¢¤âµ½¤¯Ê¬ÀÏ¡Ösmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¡×¡¢JPCERT/CC¤¬²òÀâ
JPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)¤Ï8·î5Æü¡¢¡ÖAndroid¥Þ¥ë¥¦¥§¥¢¤Îsmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¤Ë¤è¤ëưŪʬÀϼêË¡ - JPCERT/CC Eyes¡ÃJPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼¸ø¼°¥Ö¥í¥°¡×¤Ë¤ª¤¤¤Æ¡¢Android¥Þ¥ë¥¦¥§¥¢¤ÎưŪʬÀϼêË¡¡Ösmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¡×¤Ë¤Ä¤¤¤Æ²òÀ⤷¤¿¡£¤³¤ì¤ÏAPK¥Õ¥¡¥¤¥ë¤ËʬÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤òÁÞÆþ¡¦ºÆ¹½À®¤·¤ÆʬÀϤò²Äǽ¤Ë¤¹¤ë¼êË¡¡£
Android¥Þ¥ë¥¦¥§¥¢¤Îsmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¤Ë¤è¤ëưŪʬÀϼêË¡ - JPCERT/CC Eyes¡ÃJPCERT¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼¸ø¼°¥Ö¥í¥°
¡ûsmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¤Î¼ê½ç
smali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¤Î¶ñÂÎŪ¤Ê¼ê½ç¤Ï¼¡¤Î¤È¤ª¤ê(¥«¥Ã¥³Æâ¤Ï¥³¥Þ¥ó¥ÉÎã)¡£
Android¥Þ¥ë¥¦¥§¥¢¤ò¡ÖApktool¡×¤ò»ÈÍѤ·¤ÆŸ³«¤¹¤ë(apktool d mal.apk)
¥Þ¥ë¥¦¥§¥¢¤Îµ¡Ç½¤ò»ý¤ÄʬÀϤ·¤¿¤¤smali¥Õ¥¡¥¤¥ë¤òJavaµÕ¥³¥ó¥Ñ¥¤¥é¡ÖJADX¡×¤Ê¤É¤Ç¸«¤Ä¤±½Ð¤¹
smali¥Õ¥¡¥¤¥ë¤ò¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¡¼¤Ç³«¤¡¢Ê¬ÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤òÁÞÆþ¤¹¤ë
smali¥Õ¥¡¥¤¥ë¤ò¥¢¥»¥ó¥Ö¥ë¤¹¤ë
APK¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤¹¤ë(apktool b mal)
APK¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë(keytool -genkey -v -keystore test.store -alias example -keyalg RSA -validity 32767; apksigner sign --ks test.store -v --v2-signing-enabled true --ks-key-alias example mal.apk)
½ð̾¤·¤¿Ê¬ÀÏÍÑAPK¥Õ¥¡¥¤¥ë¤ò¡ÖAndroid Studio¡×¤Ê¤É¤Î¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤Ç³Îǧ¤¹¤ë
ʬÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤ÎÁÞÆþÎã¡¡°úÍÑ¡§JPCERT/CC
¤Ê¤ª¡¢ºÆ¹½ÃÛ¤·¤¿Ê¬ÀÏÍÑAPK¥Õ¥¡¥¤¥ë¤ò¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤Ç¥Æ¥¹¥È¤¹¤ë¾ì¹ç¡¢¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤«¤éÀÚ¤êÎ¥¤¹É¬Íפ¬¤¢¤ë¡£¤³¤Î¥Æ¥¹¥È¼êË¡¤Ï¥Þ¥ë¥¦¥§¥¢¤ÎÆ°ºî¤ò˸³²¤·¤Ê¤¤¤¿¤á¡¢¥Þ¥ë¥¦¥§¥¢¤ÏÄ̾ïÄ̤겾ÁۥǥХ¤¥¹¤ò¿¯³²¤¹¤ëÅÀ¤ËÃí°Õ¤¬É¬Íס£
¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤ËʬÀÏÍÑAPK¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Îã¡¡°úÍÑ¡§JPCERT/CC
¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Þ¥ë¥¦¥§¥¢¤òµ¯Æ°¤¹¤ë¤È¡¢Ê¬ÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤Ë¤è¤ê¾ðÊ󤬵Ͽ¤µ¤ì¤ë¡£¤³¤ÎÎã¤Ç¤ÏAndroid Studio¤Î¥í¥°½ÐÎÏ(Logcat)¤«¤é°Å¹æ²½¤µ¤ì¤¿Ê¸»úÎó¤È¡¢Éü¹æ¤µ¤ì¤¿Ê¸»úÎó¤ò³Îǧ¤Ç¤¤ë¡£
¥í¥°½ÐÎϤÎÎã¡¡°úÍÑ¡§JPCERT/CC
¡ûÃí°Õ»ö¹à
¤³¤ÎʬÀϼêË¡¤Ï¤¢¤¯¤Þ¤Ç¤â¥»¥¥å¥ê¥Æ¥£¸¦µæ¼Ô¸þ¤±¤Î¾ðÊó¤Ç¤¢¤ê¡¢¥»¥¥å¥ê¥Æ¥£¸¦µæ¼Ô°Ê³°¤Ï»î¤¹¤Ù¤¤Ç¤Ï¤Ê¤¤¡£¤Þ¤¿¡¢¥Þ¥ë¥¦¥§¥¢¤ÏÀµÅö¤ÊÍýͳ¤Ê¤¯½ê»ý¤¹¤ë¤ÈˡΧ¤Ë¿¨¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢¥Þ¥ë¥¦¥§¥¢¤Î¾ðÊó(º£²ó¤Ï¥È¥í¥¤¤ÎÌÚÇÏ¡ÖCerberus¡×)¤¬Ä󶡤µ¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤·¤Ê¤¤¤³¤È¤¬Ë¾¤Þ¤ì¤ë¡£
¡ûsmali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¤Î¼ê½ç
smali¥¬¥¸¥§¥Ã¥ÈÁÞÆþ¼êË¡¤Î¶ñÂÎŪ¤Ê¼ê½ç¤Ï¼¡¤Î¤È¤ª¤ê(¥«¥Ã¥³Æâ¤Ï¥³¥Þ¥ó¥ÉÎã)¡£
Android¥Þ¥ë¥¦¥§¥¢¤ò¡ÖApktool¡×¤ò»ÈÍѤ·¤ÆŸ³«¤¹¤ë(apktool d mal.apk)
¥Þ¥ë¥¦¥§¥¢¤Îµ¡Ç½¤ò»ý¤ÄʬÀϤ·¤¿¤¤smali¥Õ¥¡¥¤¥ë¤òJavaµÕ¥³¥ó¥Ñ¥¤¥é¡ÖJADX¡×¤Ê¤É¤Ç¸«¤Ä¤±½Ð¤¹
smali¥Õ¥¡¥¤¥ë¤ò¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¡¼¤Ç³«¤¡¢Ê¬ÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤òÁÞÆþ¤¹¤ë
smali¥Õ¥¡¥¤¥ë¤ò¥¢¥»¥ó¥Ö¥ë¤¹¤ë
APK¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤¹¤ë(apktool b mal)
APK¥Õ¥¡¥¤¥ë¤Ë½ð̾¤¹¤ë(keytool -genkey -v -keystore test.store -alias example -keyalg RSA -validity 32767; apksigner sign --ks test.store -v --v2-signing-enabled true --ks-key-alias example mal.apk)
½ð̾¤·¤¿Ê¬ÀÏÍÑAPK¥Õ¥¡¥¤¥ë¤ò¡ÖAndroid Studio¡×¤Ê¤É¤Î¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤Ç³Îǧ¤¹¤ë
ʬÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤ÎÁÞÆþÎã¡¡°úÍÑ¡§JPCERT/CC
¤Ê¤ª¡¢ºÆ¹½ÃÛ¤·¤¿Ê¬ÀÏÍÑAPK¥Õ¥¡¥¤¥ë¤ò¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤Ç¥Æ¥¹¥È¤¹¤ë¾ì¹ç¡¢¥µ¥ó¥É¥Ü¥Ã¥¯¥¹´Ä¶¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤«¤éÀÚ¤êÎ¥¤¹É¬Íפ¬¤¢¤ë¡£¤³¤Î¥Æ¥¹¥È¼êË¡¤Ï¥Þ¥ë¥¦¥§¥¢¤ÎÆ°ºî¤ò˸³²¤·¤Ê¤¤¤¿¤á¡¢¥Þ¥ë¥¦¥§¥¢¤ÏÄ̾ïÄ̤겾ÁۥǥХ¤¥¹¤ò¿¯³²¤¹¤ëÅÀ¤ËÃí°Õ¤¬É¬Íס£
¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤ËʬÀÏÍÑAPK¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Îã¡¡°úÍÑ¡§JPCERT/CC
¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Þ¥ë¥¦¥§¥¢¤òµ¯Æ°¤¹¤ë¤È¡¢Ê¬ÀÏÍÑ¥¬¥¸¥§¥Ã¥È¤Ë¤è¤ê¾ðÊ󤬵Ͽ¤µ¤ì¤ë¡£¤³¤ÎÎã¤Ç¤ÏAndroid Studio¤Î¥í¥°½ÐÎÏ(Logcat)¤«¤é°Å¹æ²½¤µ¤ì¤¿Ê¸»úÎó¤È¡¢Éü¹æ¤µ¤ì¤¿Ê¸»úÎó¤ò³Îǧ¤Ç¤¤ë¡£
¥í¥°½ÐÎϤÎÎã¡¡°úÍÑ¡§JPCERT/CC
¡ûÃí°Õ»ö¹à
¤³¤ÎʬÀϼêË¡¤Ï¤¢¤¯¤Þ¤Ç¤â¥»¥¥å¥ê¥Æ¥£¸¦µæ¼Ô¸þ¤±¤Î¾ðÊó¤Ç¤¢¤ê¡¢¥»¥¥å¥ê¥Æ¥£¸¦µæ¼Ô°Ê³°¤Ï»î¤¹¤Ù¤¤Ç¤Ï¤Ê¤¤¡£¤Þ¤¿¡¢¥Þ¥ë¥¦¥§¥¢¤ÏÀµÅö¤ÊÍýͳ¤Ê¤¯½ê»ý¤¹¤ë¤ÈˡΧ¤Ë¿¨¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢¥Þ¥ë¥¦¥§¥¢¤Î¾ðÊó(º£²ó¤Ï¥È¥í¥¤¤ÎÌÚÇÏ¡ÖCerberus¡×)¤¬Ä󶡤µ¤ì¤Æ¤¤¤Æ¤âÆþ¼ê¤·¤Ê¤¤¤³¤È¤¬Ë¾¤Þ¤ì¤ë¡£