検索
特集/連載

モバイルアプリのセキュリティを確保するための堅実な方法セキュアなモバイルアプリ開発【前編】

モバイルアプリを迅速かつセキュアに開発するのは容易ではない。だが失敗すれば競争優位性や信頼を失うことになる。セキュリティを確保するには、基本と原則に立ち返る堅実な方法が必要だ。

Share
Tweet
LINE
Hatena

 モバイルアプリケーションはデジタル時代のビジネスに大きなチャンスをもたらす。Statistaの調査によると、モバイルアプリケーションの収益は2018年の3650億ドル(約40兆370億円)から驚異的な伸びを見せ、2023年には9350億ドル(約102兆5600億円)に達するという。

 とはいえ、モバイルアプリケーションの作成プロセスは企業システムのそれとは大きく異なる。モバイルアプリケーションは通常クラウドネイティブで、「Android」や「iOS」のバックエンドマイクロサービスに依存する。同時に、安全かつ迅速にモバイルアプリケーションを作成しなければならないというプレッシャーがかかることが多い。

 モバイルアプリケーション固有の要件を考慮しつつ、安全かつ迅速に開発するにはどうすればよいのか。モバイルアプリケーションはビジネスで重要な役割を担っている。モバイルアプリケーションの脆弱(ぜいじゃく)性を犯罪者に侵害されれば、業務が大いに混乱するだろう。

 「モバイルアプリケーションにはビジネスの他のコンポーネントと変わらない重要性がある。セキュリティ侵害を検出できないと壊滅的な影響を受ける」と話すのは、Ciklumのオレクサンドル・ロイシェンコ氏(モバイル部門責任者)だ。

 「モバイルアプリケーション開発ではセキュリティが過小評価されることが多い。エンジニアリングチームはAppleとGoogleが提供する保護に依存してしまう場合がある。だが、アプリケーションのセキュリティを確保する責任は開発者にある」

 ロイシェンコ氏は、ソフトウェア開発者は開発当初にセキュリティを確保する必要があると言う。ソフトウェア開発サイクルにセキュリティ評価を組み込み、確立済みのセキュリティ原則に従って実証済みのソリューションを使うことを同氏は推奨する。

 「最も簡単なセキュリティの規則に従うことが最低限必要だ。コードを難読化する。明確に必要な場合を除いてWebビューでJavaScriptを無効化する。機密情報をプレーンテキストで保存しない。バージョン管理システムに機密情報をコミットしないなどだ」(ロイシェンコ氏)

 これはESETのジェイク・ムーア氏(セキュリティスペシャリスト)によって裏付けられている。同氏は、開発の初期段階でアプリケーションのセキュリティを確保すれば、その保護を後半の段階に延長できると述べている。だがサポートすべきOSのバージョンは非常に多いため、モバイルアプリケーションのセキュリティ強化は難しいことも同氏は認めている。

 スマートフォンのハードウェアはあっという間に古くなるため、それがモバイルアプリケーションのセキュリティの問題につながる可能性もムーア氏は指摘する。「多要素認証は端末とは無関係に、全てのプラットフォームでアカウント所有者を不正アクセスから保護する簡単な方法だ」(ムーア氏)

 ムーア氏は、モバイルアプリケーションにはユーザーデータを保護する対策も実装する必要があると言う。「アプリケーションが処理するデータは、認証済みのユーザーだけがアクセスできる方法で格納しなければならない。暗号化は不正アクセスを減らすのに役立つ」

 ムーア氏によると、モバイルアプリケーション開発のもう一つの重要な側面はテストだという。だが、複数世代のハードウェアやOSを扱う開発者はこのテストに苦労すると警告する。「ゼロトラストは、安全なものは何もないと想定する堅実なセキュリティ手法でもある。ユーザーや端末に与えられるアクセス許可が最小限に抑えられ、必要な場合のみに限定されるので自身を保護するのに寄与する」

変化するユーザーニーズへの対応

 ユーザーのニーズが異なるためモバイルアプリケーションの開発要件は大きく変化すると話すのは、Synopsysのアミット・シャルマ氏(セキュリティエンジニア)だ。「ハードウェア、プラットフォーム、OSなど、変化し続けるモバイルエコシステムに対応するため、開発コミュニティーは作業効率向上に使えるネイティブライブラリを重視する」

 「市場のニーズを満たす鍵が自動化で、その自動化の実現に重要なのがネイティブクラウド技術だ。開発者はさまざまなプラットフォームでアプリケーションを同時に起動して検証できるようになり、スケーラビリティと信頼性を向上させることができる」

 モバイルアプリケーションの開発初期からセキュリティを確実に組み込むには、セキュアなコーディングガイドラインについて開発コミュニティーを指導し、開発プロセスの全フェーズにおける定期テストの実施を奨励することが不可欠だとシャルマ氏は語る。

 「モバイル分野でサードパーティー製ライブラリを利用する場合、アプリケーションに内在するリスクをチェックしなければならない。プラットフォームやOSにまたがるコンプライアンスについては、サードパーティー製ライブラリやライセンス義務のリスクをチェックする定期スキャンが必須だ」(シャルマ氏)

 克服すべきもう一つの課題はバックエンドのコミュニケーション用に開発されたAPIだ。これをセキュリティの観点で検証しなければならないとして、シャルマ氏は次のように話す。「適切な暗号化メカニズムを使って、保存時と転送中のデータのセキュリティを確保する必要がある。ゼロトラストに寄与するようアクセス許可を見直すことは、セキュリティが確保されたアプリケーションを開発するための優れた方法だ。注意することがセキュリティ確保につながる」

後編では、開発の負荷を軽減する方法を解説する。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る