セキュリティソフトウェア:設計段階での分析
デザインを総合的に対処し、問題の解決策を提供される製品、またまでの技術革新の影響を考慮します。 のセキュリティを強化するアプリケーションでも作成され、総合設計されました。 一度アイデアを破棄する組織のセキュリティ機能として、それが明らかにしてsecu rityニーズの早期考察します。 別の方法かもしれませんが、各組織の設計、製品やアプリケーションのように、次のアプローチは役に立つように高いレベルのセキュリティを確保するように設計されます。 3つの観点から分析し、設計段階:
グローバルな視点で最も高いのは、システムのビュー;それを識別し、アプリケーションのニーズに対処されるとその機能を設定します。 組織的な観点ハイライト個別のコンポーネントを構成するアプリケーションです。 コンポーネントの観点からは、次のレベルの細かさは、明示的な詳細を検討し、各コンポーネントと実装します。 ここで使用され、段階的なアプローチにより、より深い分析して、より包括的にも容易に理解できるプロセスフローを提供します。 これによりマネージャや開発者、適切な手続きを所定の場所に置くことを確保することで、アプリケーションのセキュリティを考慮します。 世界的な視点より多くのアプリケーションで発生する必要があり満たされていないか、現在の不備を提供します。 良いデザインを識別し、次の安全保障上の懸念: スポンジの安全保障問題に関連した既存のソリューションを必要としているかの問題を解決 スポンジ対応してこれらのアプリケーションのセキュリティ問題 スポンジの潜在的なセキュリティ上の脆弱性が存在して行われ、革新的な グローバルな分析情報を提供して、攻撃者が見つけた後、それ以外のアプリケーションがリリースされます。 この段階では、セキュリティのためのアプリケーションのアーキテクチャを定義しなければならないします。 このアーキテクチャformalizesのレベルのセキュリティを必要とするアプリケーションです。 これにより、アプリケーションのセキュリティを確立するとの関係の範囲を特定するには、その周辺およびアプリケーションレベルのセキュリティが提供されている。 また、セキュリティアーキテクチャの必要性をハイライトし、金額、独立して、アプリケーションのセキュリティを提供する必要があり、と同様の機能が必要です。 グローバルな分析およびセキュリティアーキテクチャを設立する段階の分類が行われるのモジュールを経由して、コンポーネント、アプリケーションのインターフェイスとメソッドが使用されています。 その場所との関係をお互いにさらされることとその外部のアプリケーションは、ユーザーインターフェースが重要なポイントとします。 世界的な視点に立った女性は当初、アプリケーションのことわざ"ブラックボックス"の詳細を知られているだけで見られて部外者です。 これらの機能や外部機能の要件は次にセキュリティを確保する分析モジュールに分かれています。 ベンダーの勧告を検索、ニュースグループ、メーリングリスト、およびオンラインフォーラムの脆弱性を明らかに競合または類似のアプリケーションには、よい方法の詳細についてはいくつかの主要なアプリケーションのセキュリティ上の問題に関連しています。 手助けにも効果がないと指摘するソリューションを似たようなアプリケーションの脆弱性が発見されました。 ケーススタディは、フェーズiこの仮説的な例としては、ケーススタディの発展のため、インターネットコマースアプリケーションです。 このサービスにより、ユーザーは自分のブラウザからの接続をオンライン購入します。 最初のレベルでの設計でこのアプリケーションは、その能力の定義は、メソッドの実装から独立して使用されます。 これらの機能として、次のかもしれない: スポンジの選定、適切なオペレーティングシステム、アプリケーションをホストする スポンジデータベースにアクセスするための情報の保存を民間部門と公共 スポンジウェブ検索 スポンジの接続部品を使って、これらのカスタムアプリケーションの開発 スポンジの接続には、金融機関の取引 グローバルな視点から、デザイナーdiscernsのために必要なセキュリティ機能の各コンポーネントこれらの関数です。 個人情報のデータベースに保存され、さまざまなユーザーにも、パスワードを含む、クレジットカード番号、および連絡先情報とします。 この情報を保護するために、データベースのセキュリティコンポーネントをサポートしなければならないとたぶんそのオブジェクトの制限を暗号化します。 ウェブサーバーへのセキュアな通信をサポートしなければセキュアソケットレイヤー( ssl )プロトコル、およびいくつかの方法のインターフェースを外部のアプリケーションやデータベースにします。 この可能性がある経由でのjavaサーブレットやアプレット、またはcgiプログラムします。 ネットワーク通信は、このシステムの固有の部分です。 ウェブサーバーとデータベースサーバーソフトウェアを実行して、おそらく別のマシンでは、そのための手段を確保して、ネットワーク間の通信が必要です。 最後のコンポーネントと見なされるには、実際の接続を許可して取引を組織しています。 このことが、銀行やクレジットカード会社が許可されたユーザーによる支出しています。 接続は達成可能で、モデムまたはその他の通信機器のつの金融機関とのやりとりを行い、検証を実行します。 これらの接続を必要と高いセキュリティ、を避けるために、不正なユーザーにアクセスされます。 洞察力から知識を収集し、これらの分野では、競合製品の分析、および顧客の要件精通しています。 この時点で、勤勉な研究する必要があることを、現在および過去のドキュメントのセキュリティ上の脆弱性に関連した製品です。 その結果のリストをすべき分野でのリスクを識別してアドレス指定する必要があります。 セキュリティ機能要件のリストを逃すことから、初期の発見は、しばしばこの分析を通じて、もう1つの利点があります。 インターネット商取引の例では、研究者が見つかりました、以下の脆弱性が匹敵する製品: スポンジなかったデータベースの保護スキームは、結果的に顧客の個人情報を暴露します。 スポンジた穴をして、ウェブサーバー上で任意のコードの実行を許可します。 サーバのデフォルトの設定でも可ディレクトリ遡り、これにより外部のユーザーがアクセスできるよう、多くの私立システム上のファイルやディレクトリをします。 スポンジを使用しているcgiのアプリケーションと通信することができ、データベースの脆弱性はリモートの攻撃者になりすます他の顧客にします。 この研究でもデータの保護を示し、バッファオーバーフロー、デフォルトの設定、および入力検証のため、これらの問題を回避する必要があると、同様のアプリケーションの脆弱性が頻繁に発生します。 また、ベンダーによると、セキュリティ機能を追加しましたが、パッチの身を守ることが、これらの問題があります。 これにより認証とアクセス制御の重要な要件だけでなく、ネットワークセキュリティです。 この時点で、デザイナーの脆弱性を知っているのに関連付けられたアプリケーションのように、他の団体に対応する方法を表示したり、重要なセキュリティ機能をセットして、セキュリティアーキテクチャの基礎を形成します。 セキュリティアーキテクチャを開発し、さらに次の段階を設計します。 組織的な観点セキュリティの正確な科学ではありません;具体的には、各アプリケーションのニーズや環境にします。 このため、十分なことではありませんからセキュリティを見ると、グローバルにのみ表示されます。 うまく設計されたものの、それ以外のアプリケーションに存在するかもしれないとは無関係に、システム上のすべての他のアプリケーションでは、そのアプリケーションの相互作用のすべてのコンポーネントのセキュリティの脅威をもたらすかもしれないします。 組織的な観点の要素を識別し、個人またはグループの要素のフォームにして全体のアプリケーションのように、その機能、およびそれらの関係をお互いにします。 要素かもしれない、関数、クラス、プロセス、またはこれらの要素を設定することが、彼らの関係は、アプリケーショングループ分けされています。 アプリケーションの前に、いくつかの機能は、通常のモジュールのように、ユーザーインターフェース、ネットワーキングや通信コンポーネント、ツールやデータの保存と検索します。 モジュールの中に合理的に見えるかもしれない安全で、その関係があるのかもしれません他のコンポーネントがセキュアで実行します。 類似して、アプリケーションの相互作用を分析し、組織レベルの分析は、機能要件やアーキテクチャを決定して使用されます。 デザイナーの機能要件を識別できるようにするためのコンポーネントとメソッドの機能を提供します;かれらの間のセキュリティを分析して、安全な相互作用の利回りに登録するためのアプリケーションを選択します。 身分証明書の増分、組織、およびアプリケーションの各コンポーネントの分類を続け、この段階です。 論理的な場所を開始すると、特にセキュリティ面では、容疑者の端をモジュールです。 エッジのエントリは、どこかの出口ポイントのデータをモジュール間の境界線を横断しています。 たとえば、データをモジュール間の境界線を横断する時に、これらの関数: スポンジのデータをパラメータとして渡す スポンジグローバル変数を設定 スポンジを操作共有メモリ スポンジのファイルにデータを書き込んで スポンジにまたがってデータを送信する通信チャネルのようなネットワーク ユーザーの入力を受け取っスポンジ ケーススタディは、第2相設計段階では、組織のインターネット商取引のサンプルアプリケーションでは、各アプリケーションのコンポーネントのウェブサーバー、データベースサーバーと分類され、関連するアプリケーションは、そのための機能モジュールのさらなる分析を行います。 データベースサーバーには、ストレージコンポーネントで、コンポーネントの認証とアクセス制御、および通信コンポーネントです。 ウェブサーバーには、ウェブ検索のコンポーネントは、外部のプログラミングモデルは、クライアントとの通信を確保するとの通信を確保するデータベースのコンポーネントを示します。 これらのコンポーネント間の相互作用を形成するパスの定義で、いくつかの点で安全保障しなければならない強い。 次のウェブサーバーとの間の相互作用の顧客、クライアントのウェブブラウザに敏感なデータをウェブサーバーに送信します。 このデータはその後に渡されたカスタムアプリケーションのデータベースとのやりとりを行い、金融機関にします。 以下のデータパスを介して、アプリケーションの開発者向けのポイントを観察することができ、クライアントの脆弱性のコミュニケーションは、ウェブサーバーへのアプリケーションの相互作用は、ウェブサーバーからの通信に、データベース、およびそれらの間の相互作用します。 形を取るのセキュリティ要件を開始します。 アプリケーションのアドレスにする必要があり、これらの分野でのリスクとセキュリティを提供し、これらのフォーム: スポンジの通信を確保するクライアントのウェブブラウザの形で、ネットワークと通信の暗号化、認証、ユーザー、およびその情報へのアクセスを制御するメカニズムをします。 スポンジの間の安全な相互作用のウェブブラウザと、 eコマースアプリケーションの安全性を確保するため、システム eコマースのアプリケーションプログラムの整合性 スポンジを確保するデータベースとの通信に対する スポンジのセキュリティデータベースオブジェクト これらの要件から、アーキテクチャを取る形で始まりました。 sslを使用するサーバーを保護し、ウェブ上で、サーバーにブラウザで通信します。 このアプリケーションには、独自の認証メカニズムを安全にログインすることができるクライアントをします。 データの検証と保護のメカニズムを組織的にも実装されファッションのみを使用し、最低限必要な権限を操作します。 機能が組み込まれ、アプリケーションの保護のためのオブジェクトデータベースサーバーと暗号化しています。 実際の実装の詳細は、コンポーネントの最終段階で開発されます。 適切なセキュリティメソッドが上昇したときの表面に尋ねた質問は、次の段階の組織: 私たちの情報を保護するにはどうすればスポンジ渡されますか? スポンジは、どのような場合に効果を1つのモジュールを通過スプリアスデータを別のですか? スポンジは、データの制約が定義されますか? 推奨される方法はありますスポンジに渡すためのデータを貸す自体のセキュリティを増加させるか? スポンジどのコンポーネント、アプリケーション、およびユーザーデータへのアクセスする必要がありますか? どのようなアクセスが必要-読み取り専用、または読み出しと書き込みの両方の機能ですか? コンポーネントの観点最終的なデザインの観点からの分析が発生し、個人の解剖は、アプリケーション内のコンポーネントです。 最小の設計および実装の詳細を導入することができ明白であいまいなことが安全保障上の問題を見つけることが困難後にリリースします。 かわいそうな実装の努力を元に戻すこともでき、セキュリティの設計に入っています。 ここでいくつかの注意事項を提案したコーディングに陥るものと見なされ良い慣行とは必ずしも特定のセキュリティ、かれらの安全保障に影響を及ぼすことは、アプリケーションです。 セキュリティアーキテクチャを定義するためのアプリケーションが委任してありますシリーズのチェックアンドバランスにして、アプリケーションに適合する必要があります。 これらのチェックアンドバランスを提供することを保証することにあるアプリケーション度の高い行為を一定の方法では、予期しないデータやイベントの情報をします。 曲を検証し、各コンポーネントのフォームを表示するモジュールです。 (モジュール、電源、フォームアプリケーションます)これらのコンポーネントを分析しなければならないため、個別のセキュリティ機能との相互作用して、他のモジュール内のコンポーネントです。 プログラム内の問題点を検討開始時には、モジュール スポンジ戻り値 スポンジとの前提条件の優先順位 データの検証 スポンジ識別応答と回復 スポンジの権限や特権 戻り値は、成功か失敗かの指標を内の機能します。 コンポーネントを個別のモジュールの関数の前には、これと相互関係を確立することを可能にして適切なプログラムを実行します。 開発者でもなければ理解することを意味するときにどのような機能が失敗した場合は、適切に対処すべきとして失敗しました。 これらの関係を完全に理解できるように、開発者間の依存の機能を理解しています。 これらの依存関係に基づいて、整理することができ、モジュール内のコンポーネントの信頼性とセキュリティを強化します。 動的なデータは、任意のアプリケーションのモジュールの機能との間に旅行すること、およびアプリケーションを個別に、最初のアプリケーションの実行を変えるにはないようです。 身分証明書では、アプリケーションのモジュールを形成すること、および、それらのモジュールのコンポーネントをフォームに続いて、全体のパスを介してアプリケーションデータを追跡することができます。 モジュールとの間でのエントリポイント関数に影響を与えることは、極めて重要な要素、成功か失敗かのアプリケーションでは、データを検証するために、これらのポイントが非常に重要です。 作業手に手を取って、特定の定義に対応して検証が無効なデータに異常な条件とします。 景気回復に失敗した場合に多くのアプリケーションを策定する機構で、イベントの予期せぬイベント;このことによって、しばしば不安定な検索結果では、アプリケーションがクラッシュする最古の不完全なデータに署名します。 知識の権限を許可するために必要とするコンポーネントを機能の重要な情報を提供し、アプリケーションのデザイナーです。 次のモデルは、最小特権グッドデザイン練習;隔離することをお勧めして、特権を制限し、実行中のアプリケーションです。 ほとんどの場合、高い特権レベルが必要で、非常にまれにしかインスタンス孤立します。 昇格した権限を必要とするアプリケーションの多くは、全体のわずかな部分の機能をコミットするための特権レベルの高いアプリケーションをして、全体の存在します。 そこに危険な環境を作成するごとに、この脆弱性が存在することが判明して、この特権モードになります。 特権を指し、主に、いくつかのオペレーティングシステムレベルの権限をします。 それぞれのより高いレベルの権限は、許可されたユーザーにアクセスできるように、システムリソース次第になど、メモリ、他のアプリケーションでは、ハードウェアデバイス、およびデータます。 rootユーザでunix環境では、システム管理者、およびシステムの特別なアカウントは、 windowsを実証する最高レベルの権限が必要です。 頻繁にアクセスするにはさまざまな粒状のアクセス制御を提供し、もします。 粒状のアクセス制御の方法を拒否できるように定義してアプリケーションにアクセスしています。 ファイル、ネットワークのトラフィック、ユーザー、およびオブジェクトを束縛することができ、セットの明示的な許可のアクセスを許可したりすることを可能にしてください。 ケーススタディは、フェーズ3世コンポーネント分析フェーズの観点から見ると、個人のインターネットコマースアプリケーションのコンポーネントを使用すると、アプリケーションのセキュリティとします。 この段階で入力し、デザイナーなければならないの意味での完全なデータパスとの間の関係モジュールです。 粒状、次のステップのための基礎を確立し、アプリケーションの実装します。 この分析には、目標を決定する権限を、さまざまなコンポーネント、組織の感覚を使用することになり期間中の実装、および知識をどのように実装が起こるだろう。 ここでは、以前に決定要件は詳細な実施方法に翻訳されました。 デザイナーを選択してウェブサーバーとデータベースサーバーこの時点で、設立の要件に基づいています。 私たちの例では、 apache webサーバーに選ばれましたので、通信することができたとのsslをサポートするには、十分な証拠書類が外部アプリケーションのメソッドにアクセスします。 オラクルのデータベースサーバーに選ばれましたので、柔軟性を提供し、スケーラビリティ、およびセキュリティに必要な、データベース、およびそれをサポートするためにもjavaベースの相互作用します。 javaの言語として選ばれたのと、実際のインターネット商取引のための拡張機能を実装するソフトウェアで処理を行うために、ウェブやデータベースサーバーをサポートし、強いとは、セキュリティモデルを構成します。 ウェブサーバーとデータベースサーバーは、その後に設計され、最も安全な方法を決定するために、以下のコンポーネント: スポンジサーバのデフォルトの設定 スポンジセキュリティ設定は、オペレーティングシステムの基礎 スポンジ権限を必要としてjavaアプリケーションの相互運用 スポンジのコンポーネントのアクセス制御 eコマースのソフトウェアを提供する組織は、これらのコンポーネント: スポンジその関数を実行する権限の要件 スポンジの相互作用と通信、ウェブサーバーのエントリポイント スポンジユーザー認証とアクセス制御の方法 スポンジのセッションを防止するセキュリティメソッドのユーザー偽装 スポンジデータベースサーバーのエントリポイントの相互作用と通信、 この分析に基づいて、組織、それは決定しただけの部分は、システムのオペレーティングシステムの権限が必要な高架は、 eコマースアプリケーションです。 また、内部のニーズの特権レベルの設定を実施するユーザーのアクセス制御や認証します。 デフォルトの設定だけで、この機能を有効に動作を確認するために必要なシステムでは、それぞれのオペレーティングシステムは、セキュリティ強化と同じミニマリストアプローチします。 eコマースのアプリケーションがどこに多数のセキュリティコンポーネントが存在します。 これは、ユーザーの認証情報を検証する責任がある、データベースオブジェクトの権限を設定し、各ユーザーのセッションを記録し、必要な情報が、実際のシステムの機能を維持します。 eコマースアプリケーションのニーズに昇格した権限を制御するときにのみウェブやデータベースサーバの起動やシャットダウンします。 最も安全な方法は、これらのアクションを実行すると決定されるコントローラのプロセスを個別に増加してその時にそれを実行する権限を起動やシャットダウン操作;それからrelinquishesその特権をするまで、次のリクエストします。 コントローラのプロセスのアプリケーションと通信するだけで、商取引の認証を使用してメッセージを開始し、システムの起動やシャットダウンします。 eコマースのアプリケーションにも個人情報を暗号化して保存する前に、データベースを保護するためにユーザーの認証情報や財務情報です。 このイベントには異常な条件のようなエラーが発生し、無効な入力されたデータは、ユーザー認証に失敗し、通信に失敗しました、デザインを求めることができるレポートシステムにログインすると、この情報に的確に対応するイベントです。 システムの実装から自然に上昇し、連続で提供される前の世界的な分析、組織、および成分分析の段階です。 開発者ガイドや手順を使用して場所を書く手助けをして、高いセキュリティを維持しているコードを標準確立しました。 これは、記事を追加したタマスquerolin
|
|||
|