4. モバイルアプリケーションのセキュリティ
OutSystemsのローコードプラットフォームは、モバイルニーズへの対応を意識して設計されています。今日のエンタープライズ環境におけるモバイルアプリケーションの重要性を踏まえ、OutSystemsプラットフォームではモバイルアプリケーションを最新の最も厳格なモバイルセキュリティガイドラインに沿ったものにするための専用メカニズムとベストプラクティスを提供しています。
モバイルセキュリティに関して配慮すべき最大の原則は、どのモバイルデバイスにもセキュリティ侵害の可能性があるということです。そのため、データをセキュアに保ち、機密を守ることに注力する必要があります。
目次
OutSystemsで対応可能なモバイルアプリのセキュリティ原則
OutSystemsの機能で直接対応できるセキュリティ原則を以下に示します。
攻撃者によるアプリへの不正アクセスが起こらないようにするには、デバイス自体に以下の2つのセキュリティチェックを適用する必要があります。アプリはまず、デバイスがroot化または脱獄により特権アクセス権を得ていないかどうかを確認する必要があります。次に、デバイスにPIN、パターン、またはパスコードのようなセキュリティロックのメカニズムがあるかどうかを確認します。モバイルアプリケーションのセキュリティ強化を担うアドオンバンドルであるOutSystems AppShieldには、脱獄やroot化からの保護など、多くのセキュリティ保護が含まれます。
一般ユーザー向けアプリは公式アプリストア(iTunesのApp StoreやGoogle Play)で配信されますが、従業員向け(B2E)のアプリケーションではこの手法はほとんど使用されません。こうしたアプリは、セキュリティポリシーを実装してユーザーのアクセスを制御することが可能な、企業のアプリストアを使用して配信されます。これらの機能を提供し、ユーザーが自社のストアアプリを独自のロゴやカラースキームでブランディングすることを可能にするのが、モバイルアプリ管理(MAM)ツールです。これはスタンドアロンである場合も、エンタープライズモビリティ管理(EMM)スイートに含まれている場合もあります。OutSystemsが提供するアプリは、簡単に拡張してMAM機能を実装できるため、ユーザーは自らのユーザープロファイルに合ったアプリのカタログにアクセスし、デバイスにインストールすることができます。
デバイスが盗まれた場合や従業員が退職した場合には、対処が必要です。ユーザーのアクセス権を削除しても、それだけでは不十分です。デバイスにはアプリがインストールされたままになっており、データがローカルに保存されている可能性もあるためです。OutSystemsで作成されたすべてのネイティブアプリが持つデバイスのプラグインを使用すると、デバイスのUUIDを保存してアプリケーションのデバイスとユーザーを管理することができます。盗難の報告や従業員の退職によりデバイスがブラックリストに載った場合に、ローカルに保存されたデータを除去するための安全メカニズムをアプリケーションに実装することも可能です。
モバイルデバイス管理(MDM)やMAMの多くには、リモートでアプリ削除やデータ消去を実行するツールがあるため、これらを使用していれば対応はより簡単になります。
モバイル固有の機能とプラグイン
中間者攻撃、リパッケージアプリ、コードインジェクション、デバイスのセキュリティ侵害、デバイスの紛失や盗難といった昨今のサイバー攻撃の脅威は、CISOにとって大きな負担となっています。
こうした脅威に対応するため、OutSystemsはAppShieldを提供しています。Forgeで入手可能なライセンスアドオンであるAppShieldは、巧妙な悪意ある攻撃からもモバイルアプリケーションを保護できるように設計されています。AppShieldを使用すると、ネイティブAndroidアプリやiOSアプリの保護を強化することができます。デプロイ時にセキュリティのレイヤーを自動的に追加し、侵入、改ざん、リバースエンジニアリングの影響を受けにくいアプリケーションにします。AppShieldはOutSystems Mobile Apps Build Serviceと連携し、実行時や保存時のアプリ保護を追加します。
AppShieldは、IDEでのドラッグ&ドロップ操作のみで簡単に実装できます。コーディングの経験をまったく必要とせず、数分で有効化できます。同様の処理を行う外部ツールを数週間や数か月かけて追加する必要がなくなるうえ、以下の防止策になります。
- デバイスのセキュリティ侵害: アプリ内の許可されていない領域へのハッカーのアクセス。
- アプリのリパッケージ: ユーザーへの再リリースが必要となる、アプリの特定バージョンの感染。
- コードインジェクション: アプリへの悪意あるコードの挿入。
- デバイスの紛失/盗難: 紛失したデバイスや盗難されたデバイスを使用した、ハッカーによる機密データへのアクセス。

アプリユーザーのセキュリティを最適化するため、OutSystemsはAppShieldアドオンの更新を継続的に提供しています。また、保護レイヤーを追加するため、Forgeで入手できる様々なサポート対象プラグインの活用を強く推奨しています。
- SSL Pinning Plugin: HTTPS通信にセキュリティレイヤーを追加し、中間者攻撃などを防ぎます。SSLピンニングはクライアント側で動作し、モバイルアプリにあらかじめバンドルされている公開鍵のハッシュを比較することでサーバー証明書を検証します。
- Ciphered Local Storage Plugin: 暗号化されたローカルストレージデータベースを使用して、アプリケーションの機密データを安全に保持できるようにします。
- Key Store Plugin: ユーザー名、パスワード、トークン、証明書、その他の機密情報(文字列)などのシークレットを、iOS端末やAndroid端末上のアプリケーションで安全に保存できるようにします。