モバイルとデスクトップの両方で安全なソフトウェアを構築する方法
公開: 2019-03-06現代の世界では、セキュリティ上の懸念がかつてないほど注目されています。 コインあたり数百、数千ドルの価値がある暗号通貨の台頭とともに、さまざまなハッカーや詐欺師が繁栄し始めました。 有名人の機密データ、銀行の資格情報、送金や新技術に関する情報–人々は重要な保護手段を無視する傾向があるため、オンラインの悪党はあらゆるものから恩恵を受けます。
しかし、魚は頭から下に臭いがします。 ソフトウェア開発者によって設計された適切なセキュリティ機能がなければ、クライアント側でデータを保護することは不可能です。 デスクトップ/ウェブプラットフォームがトップクラスのままでありながら、機能が絶えず増加しているためにモバイルデバイスの人気が高まっているという事実を考慮して、作成者が製品の互換性と安全性をどのように実現できるかを発見したいと思います。 最後のセクションにユーザー向けのヒントがあります。
一言で言えばセキュリティ
まず、アプリケーションのセキュリティとセキュリティソフトウェアを区別しましょう。 これらの用語は同義に見えるかもしれませんが、最初の定義はリリースされた製品の全体的な安全性を表し、2番目の定義は展開後と展開前の両方の段階をカバーするさまざまな側面に関連しています。
基本的に、ソフトウェアアプリケーションは、ユーザーがモバイルガジェットまたはデスクトッププラットフォームを介してデータを操作するのに役立つシンプルなツールです。 たとえば、健康記録を確認したり、最近の取引に関する情報を入手したりする場合は、これらの場所に電話したり訪問したりするよりも、スマートフォンや病院/銀行のWebサイトを使用する方がはるかに便利です。
問題は、ソフトウェアが機密性によって分類されたデータの種類を認識しないことです。 手動でプログラムされたカテゴリとアクセスがないと、アプリはあなたの名前とクレジットカードのCVV / CVC番号を区別できません。 したがって、開発の最初の段階から適切なセキュリティシステムの構築を開始することが重要です。 このプロセスに関するヒントを次に示します。
- 安全なコーディングを実行します。
- データを分類し、承認要件を設定します。
- バグを見つけて取り除きます。
- 各開発段階でセキュリティを評価します。
- サードパーティのものの信頼性を確認してください。
- 詐欺の手法について開発者を教育します。
- 従業員に2FAを要求します。
- リリース後、定期的にソフトウェアをアップグレードしてください。
既知の安全上の問題
モバイルおよびデスクトッププラットフォームがハッカーに対してどのように脆弱であるかを理解せずに、堅固な保護されたアプリを作成することはほとんど不可能です。 簡単に言えば、異なるアーキテクチャのデバイスに侵入するためのいくつかの従来のアプローチがあるので、今すぐそれらをチェックすることを提案します。 これらのポイントは、モバイル製品とデスクトップ製品の両方に最適なセキュリティ対策を計画する設計段階で役立ちます。
スマートフォンとタブレット
外出先でのライフスタイルには、モバイルデバイスが必須です。 そのため、多くの人がコアデータをコンピューターからスマートフォンに転送したり、少なくとも2つのプラットフォーム間で情報を同期したりしています。 その結果、詐欺師が貴重なデータにアクセスできるもう1つのポイントが得られます。 技術的には、3つの脆弱な側面があります。
- デバイスのハードウェア。
- ソフトウェア自体。
- パブリックネットワーク。
たとえば、泥棒は群衆の中であなたの電話を簡単に盗み、それを根絶し、システム内のすべてにアクセスすることができます。 非公式の販売業者からガジェットを購入した場合も、ハードウェアが不正に使用される可能性があります。 この弱点は別として、ハッカーは保護されていないパブリックWi-Fiネットワークを介してスマートフォンやタブレットに侵入することが知られています。 最後に、マルウェアが非公式ストアからダウンロードされた場合、通常のゲームまたはメディアアプリケーションを介してマルウェアをインストールすることは何の価値もありません。
Webとデスクトップ
インターネット接続が必要な場合、ブラウザとダウンロードしたソフトウェアはどちらも通常は同じように機能します。 ここで、アプリケーションは、メインデータベース(およびブラウザーを使用してWebサイトをナビゲートする場合はインターフェイス)が接続されたサーバー上にあるときに、要求を送信して結果を取得するクライアント側として機能します。 したがって、セキュリティの課題は3つの部分に分かれます。
- クライアント側。
- サーバ側。
- データ交換プロセス。
最も危険な問題はレガシーソフトウェアに関連しています。オンラインの不正は、更新されたシステムによって保護されなくなった古いインターフェイスに簡単に侵入する可能性があるためです。 同様に、ページキャッシング、不正な暗号化サービス、およびCookieによって公開されるアドレス/機密情報は、ハッカーが利用できる潜在的な弱いリンクです。

安全なソフトウェアの開発
さて、問題は、両方のプラットフォームがそのような異なる弱点を備えている場合、どのようにして信頼できるシステムを作成するかということです。 一般的に、3つのアプローチがあります。 最も適切なものを選択できますが、各例の長所と短所を必ず考慮してください。
モバイルとデスクトップ
この場合、開発者は2つの製品(モバイルプラットフォーム用とブラウザー/デスクトップ用)を互いに別々に作成する必要があります。 アプリは相互接続も同期もされていないため、チームは2倍のリソースを投資する必要があるため、費用と時間の両方で高額な費用を負担する準備をしてください。 その結果、2つの別々のアプリがリリースされ、それぞれがターゲットプラットフォーム用に特別に設計された独自の保護機能を備えています。
デスクトップ付きモバイル
このオプションは、適応性の高いWebサイトを起動するために提供されるため、Webおよびモバイルユーザーに対してすべての要素を適切に表示します。 その結果、上記のWebの脆弱性に基づいて、弱点が1つしかない単一のプラットフォームが得られます。 それでも、最終製品はネイティブモバイルプラットフォームよりも機能が低下し、コンテンツの読み込みが遅くなり、全体的な機能が制限されます。
モバイルPLUSデスクトップ
個別のプロジェクトを作成したり、モバイル互換性のあるWebサイトを設計したりする代わりに、最も効率的で安全なオプションがあります。 Diceus.com開発者を含むさまざまなチームが、このアプローチを使用しています。 単一のバックエンドプラットフォームを作成する必要がありますが、その上に2つの異なるフロントエンドシステムをインストールします。
たとえば、基本的なソフトウェアは、モバイルとデスクトップの両方でスケーラブルなアーキテクチャをサポートするRESTfulAPIを使用して実現できます。 さらに、React.jsはWebフロントエンドに適していますが、XamarinまたはCordovaフレームワークはモバイルクロスプラットフォーム開発者のニーズに適合します。
セキュリティ対策に移ると、モバイルデスクトップアプローチには、実績のある方法がいくつかあります。
- 一流の暗号化を提供します。 Webバージョンの場合、ハッキングを防ぐ実際の暗号化技術が必要です。
- 検出を含めます。 フロントエンドシステムがバックエンドプラットフォームと強力に接続していれば、いつでもマルウェアを見つけることができます。
- 自己防衛を含める。 アプリケーションは、非アクティブなセッションの放棄や障害通知などのランタイム機能を利用できます。
- ソフトウェアを定期的にテストします。 コードテストにはSASTを使用し、アプリとインフラストラクチャにはDASTを使用し、データチェックにはIASTを使用します。
- 製品を更新およびサポートします。 悪党は新しい攻撃を発明するので、新しい防御手段で迅速に対応する方が良いでしょう。
説明されている開発モデルは、リソース、機能、および安全性の点で最もバランスが取れています。 個別の製品の4つの要素ではなく、3つのポイント(1つのバックエンドと2つのフロントエンド)を作成して保護する必要がありますが、ほぼ同じ機能が得られます。
ユーザー主導の保護
結局のところ、クライアント側のセキュリティを忘れないでください。 開発者は可能な限り最高のシステムを作成できますが、ユーザーの怠慢はすべてを台無しにします。 タイプに関係なく特定のソフトウェアを使用する場合は、インターネットの衛生状態に注意してください。疑わしい電子メールを信頼しない、Webサイトの暗号化証明書を再確認する、ウイルス対策ソフトウェアを使用するなど。常に2FAを有効にしてSMSまたは認証アプリを介して追加の検証コードを取得してください。 スマートフォンやタブレットの指紋や顔検出などの生体認証ツールを使用します。
全体として、開発者とユーザーの両方がデータを保護する方法を知っていれば、データを保護することは難しくありません。 私たち全員がセキュリティルールに厳密に従った場合、ハッカーは職を失うことになります。
これについて何か考えがありますか? コメントで下に知らせてください、または私たちのツイッターまたはフェイスブックに議論を持ち越してください。
編集者の推奨事項:
- ストリーミングソフトウェア会社LightstreamのCEO、StuGrubbsへのインタビュー
- 2019年にフォローすべき10人のソフトウェア開発者
- 最も人気のあるゲームソフトウェアプロバイダーの5つ
- これが最大かつ最も成功したiGamingソフトウェアプロバイダーです
- ウイルス対策ソフトウェアでインターネットの速度を遅くすることはできますか?