国内銀行おすすめのスマホ向けセキュリティソフトを作ってる第三の韓国メーカーの技術レベルが微妙な件
SaAT Netizen を導入推奨しているほとんどの銀行が、スマートフォン向けのセキュリティソフトとして
Secure Starter ってのを薦めてるので気になって調べてみた。
利用規約|横浜銀行 Secure Starter セキュアスターター スマートフォンからセキュアで安全なアクセスを。スマートフォン用アプリ
本アプリの原著作権は、開発元であるネットムーブ株式会社(以下「当社」という)とNSHC SECURITYに帰属します。 |
NSHC Security という新しい会社名が出てきた。
NSHC Co.Ltd | LinkedIn
どうも、韓国ではそこそこ有名なセキュリティ会社みたいだけど、日本はなじみがない
(といっても、数十人しか社員のいない、ごく小さいセキュリティ会社の様だ)
Safe-Square KeyPad: スマートフォン用の入力セキュリティソリューション
このソフトの開発元が NSHC のようだ。
KOTRA - 大韓貿易投資振興公社 東京IT支援センター
NSHC(セキュリティ)
スマホ用セキュリティソフト、モバイルゲームハッキング防止、アプリの難読化と改ざん防止
|。・ω・) 。o (ほー、難読化かぁ・・・)
というわけで、どの程度の難読化が施されてるのか、Secure Starter を解析してみてみることにした
以下、逆コンパイルしたソースをちょっといじって、3分ほどで復号してみた文字列たち
"ANSI-X.923-Padding" "DXLog" "https://cdn.nshc.net/update/" "/-+)" "utf-8+7/P1/-+)" "string" "name" "blacklist" "[|]" "whiltelist" "Service Connect Fail" "127.0.0.1" "|""Open Port: " "dx_action" "BEngineHelper" "/data/app/" "/system/app/" "Detected[" "/" "] " ": " " = " "nc =>" "No Virusw in This Phone" "You must initialize this engine" "," "Scan execute end!" "result : " "open" "<package" "0," "></p>" "close" "DroidXEngine action" "result:" "Call Constants.DX_ACTION_SYSTEM_INIT" "Call Constants.DX_ACTION_INIT" "Call Constants.DX_ACTION_UPDATE" "droidx3web" "Call Constants.DX_ACTION_UPDATE_POLICY_COMPLETE" "Call Constants.DX_ACTION_UPDATE_ENGINE_COMPLETE" "dx_engine_update" "Call Constants.DX_ACTION_ROOT_CHECK" "Call Constants.DX_ACTION_MALWARE_SCAN" "Call Constants.DX_ACTION_SDCARD_SCAN" "Call Constants.DX_ACTION_SDCARD_CUSTOM_SCAN" "dx_file_path" "Call Constants.DX_ACTION_SEND_RESULTLIST" "iScanType" "iTotalTargetNumber" "dx_malware_remove_type" "Call Constants.DX_ACTION_PORT_SCAN" "Call Constants.DX_ACTION_PORT_SCAN_COMPLETE" "Call Constants.DX_ACTION_REMOVE_PACKAGE" "C?;73/+" "Call Constants.DX_ACTION_REMOVE_PACKAGE_RESULT" "Call Constants.DX_ACTION_REMOVE_FILE_RESULT" "Call Constants.DX_ACTION_NEW_PACKAGE" "dx_package_name" "package:" "Call Constants.DX_ACTION_SDCARD_MOUNT" "dx_pacage_name" "dx_invoke" "dx_invoke_all" "alarm" "Parent App Not exist" "notification" "activity" "android.intent.action.DELETE" "package" "layout_inflater" "dialog_intro" "layout" |
これ見て分かるのは、 更新に ちゃんと SSL使ってるから、 Ahnlab の SaAT netizenよりはましってこと。
ちょっと辛口の評価だけど、難読化は、中学生の自由研究レベルのハッシュでした。
『コードを見られないようにするための難読化ではない』
『やばいアプリを作った時にチェックをすり抜けるための難読化』が目的じゃないと意味がないと思った・ω・
まぁ、小さなセキュリティ会社だし、こんなもんだよね…。
文字列と関数をざっと見た感じ、できるのはポートスキャンで変なネットワークポート開いてるアプリと通常持ってないはずの権限を持ってるアプリの検索位じゃないかな?
全然検出できないわけじゃないんだけど、信頼するのはどうかなっていうのが感想。
そんなメーカーに作らせたアプリを 国内の銀行が薦めてるのが異常だと思う。
何も入れないよりはましってスタンスなんだと思うんだけど、『銀行が薦めたアプリを入れてるんだから大丈夫だ』っていう人がたくさん現れるんじゃないかってのが心配だよ。
もちろん、個人が判断して無料だから、低品質でも構わないって使う分にはいいと思うんだけどね。
|。・ω・) 。o ( 私には、銀行がリスクへ出資をけちって、形だけのセキュリティソフトを用意し、韓国は安くても、銀行のセキュリティ技術が手に入るから喜んで飛びついて、両方の利害が一致したようにしか見えないね )
逆に私程度で解析できるんだから、技術力のあるクラッカーだったらそれを迂回できるウィルス喜んで作るよ。
だって特定の銀行を使ってる人はセキュリティソフト入れずにこの程度のスキャンアプリしか入れてないってのが小一時間の解析で簡単にわかるんだからね。
もし、銀行の技術者の人見てるなら、もう少し考えた方がいいと思う・ω・
逆コンパイラは何使ってます?
JADですよ
javadecompilers. com
とかいうオンラインデコンパイラあるしほんと少し知恵を使えば解析できる時代