
開発者の注意: 不適切なコーディングがモバイルアプリのセキュリティを低下させる
エンタープライズ組織が独自のモバイルアプリを開発することに興味がある場合、HPセキュリティリサーチの新しい「Cyber Risk Report 2015」を読むことで多くの利益を得ることができます。このレポートは、エンタープライズITセキュリティ全体を深く掘り下げており、他のセキュリティレポートと同様に、モバイルアプリのセキュリティとモバイルマルウェアの脅威についても触れています。 しかし、特に衝撃的なのは、コーディングの不備から生じるセキュリティ脆弱性に関するレポートの発見です。HPがまとめたモバイルアプリのセキュリティの不備についての要約を引用する価値があります: 「一般的に悪用されるソフトウェアの脆弱性の主な原因は、一貫して欠陥、バグ、論理的な欠陥です。セキュリティ専門家は、ほとんどの脆弱性が比較的少数の一般的なソフトウェアプログラミングエラーに起因することを発見しました。ソフトウェア開発者が日常の開発作業にセキュアコーディングのベストプラクティスを統合する方法について、多くのことが書かれています。この知識にもかかわらず、攻撃者が迅速に悪用する古い脆弱性と新しい脆弱性がソフトウェアに見られ続けています。すべてのコードの欠陥を排除することは不可能かもしれませんが、適切に実施されたセキュア開発プロセスは、そのようなバグの影響と頻度を軽減することができます。」 これらのプログラミングエラーは、モバイルアプリのセキュリティの世界でどのように影響を及ぼすのでしょうか?
悪いコーディング習慣から生じる大きな脅威
レポートが示す、コーディングの不備から生じるトップ5のモバイル脆弱性のランキングは次のとおりです:
- プライバシーの侵害: 74%
- 安全でないストレージ: 71%
- 安全でない輸送: 66%
- 安全でない展開: 62%
- 不十分なログ記録の実践: 47%
これらの結果は、モバイルアプリのセキュリティの不備を浮き彫りにし、より広範な企業のセキュリティポリシーやベストプラクティスにも違反しています。特に問題なのは、モバイルアプリのセキュリティの不備が、保存中および転送中のエンタープライズデータを十分に保護していないことです。知的財産、財務情報、個人識別情報(PII)などの機密情報を含むことが多いエンタープライズデータが侵害され、無許可のユーザーにアクセスされると、関係する企業のブランド価値が損なわれ、顧客の忠誠心が失われ、コンプライアンス違反を引き起こすでしょう。 では、コーディングの不備とモバイルアプリのセキュリティの不備の影響は何でしょうか?モバイルアプリを詳しく調査すると、次のような一般的な問題が報告されました:
- 不十分なデータ保護による安全でないストレージ: 54%
- 不十分なログ記録の実践: 47%
- 弱い暗号ハッシュ: 43%
- 脱獄検出の欠如: 37%
- 既知のモバイル攻撃面の指紋: 34%
レポートはまた、モバイルアプリがしばしばジオロケーションを不適切に使用し、位置に関する機密データを潜在的に開示し、画面キャッシングを行っていることを発見しました。
モバイルアプリにおけるセキュアコーディング標準とは?
モバイルアプリにおけるセキュアコーディング標準とは、モバイルアプリケーションを安全に開発し、悪意のある攻撃から保護するためのベストプラクティスとガイドラインを指します。これらの標準は、アプリが安全に使用でき、ユーザーの個人データへのハッカーのアクセスを防ぐことを保証します。セキュアコーディング標準の例としては、入力検証、暗号化、認証と認可、データストレージ、セキュアな通信プロトコルの使用などがあります。
セキュアコーディングのベストプラクティスチェックリストに含めるべき5つの対策
セキュアコーディングは、優れたソフトウェアセキュリティを達成するための重要な部分です。セキュアコーディングのベストプラクティスに従うことで、開発者はコードの潜在的な脆弱性やサイバー攻撃を防ぐことができます。すべての開発者は、コードが可能な限り安全であることを確認するために、セキュアコーディングのベストプラクティスチェックリストを使用するべきです。ここに、セキュアコーディングのベストプラクティスチェックリストに含めるべき5つの対策を紹介します:
- 標準的なセキュリティライブラリを使用する: コードが安全であり、業界で受け入れられている標準を満たすために、利用可能な最も安全なバージョンの標準セキュリティライブラリを使用します。
- セキュアコーディングの実践を採用する: セキュアコーディングの実践には、型安全な言語などの現代的な言語機能を使用し、堅牢なエラーハンドリングとログ記録を確保し、攻撃を避けるために入力をサニタイズすることが含まれます。
- 自動化されたソースコード分析を使用する: 自動化されたソースコード分析は、コード内のエラーやセキュリティの欠陥を検出するのに役立ちます。
- 脆弱性スキャンを実施する: コードに潜在的な脆弱性を特定するために、定期的に脆弱性スキャンを実施します。
- すべての機密データを暗号化する: すべての機密データは暗号化され、安全に保存されるべきであり、不正アクセスを防ぎます。
セキュアなモバイルアプリの重要性
モバイルコンピューティングは今後ますます重要になっていくでしょう。すでに多くの従業員にとって好まれる媒体であり、今後5年間でさらに多くの業務がモバイルアプリを含むようになると予想されます。 このモバイル革命を活用し、生産性をさらに向上させるために、多くの企業が自社内で独自のモバイルアプリを開発しています。これは称賛に値するが困難な作業です。Androidのようなモバイルオペレーティングシステムはまだ比較的若く、レガシーデータシステムは古く、多様で、企業全体に散在しています。 最新のセキュアなモバイルファイル共有と、Microsoft SharePointやEMC Documentumなどのエンタープライズコンテンツ管理(ECM)システムを含む多様なレガシーシステムとのシンプルな統合を組み合わせることは容易ではありません。しかし、うまく行えば、生産性、効率性、運用の機動性において大きな利益をもたらすことが約束されています。 しかし、このレポートが示すように、これらの利益は、モバイルアプリのセキュリティの不備から生じるデータ侵害によってすぐに損なわれる可能性があります。エンタープライズ開発チームはこのレポートの警告に注意を払い、機能的なモバイルアプリを開発する際にモバイルアプリのセキュリティを追求するべきです。生産性を向上させながらモバイルアプリのセキュリティを損なわないアプリケーションを設計することで、開発者はこれらの一般的な落とし穴を避けることができます。