web-dev-qa-db-ja.com

非WebベースのWindowsアプリケーションに対する脆弱性と脅威

私はここのほとんどの人が OWASPと彼らのトップ10プロジェクト に精通していると信じています。最近の情報システムに関しては、Webアプリケーションのセキュリティに大きな重点が置かれているように思われます。最近、私はWebと非Webの両方のユーザーアプリケーションインターフェイスを備えた情報システム(SQL Server 2005)でリスク分析を実行するように任命されました。これまでのところ、Webの脅威と脆弱性を示す非常に優れた記事とツールをたくさん見つけましたが、Webベース以外のアプリケーションについてはそれほどではありません。

情報システムの非Webインターフェースの脆弱性/リスクを説明およびテストする優れたリソースを知っている人はいますか?これらのアプリケーションはWindowsマシンで実行されます。

3
RedZeppelin1977

Sachin Kumarが指摘したように、おそらくいくつかの脅威モデリングを開始する必要があります。この点で主要なリソースは、マイクロソフトセキュリティ開発ライフサイクルのブック/リソースです。これは、これがマイクロソフトの環境またはソフトウェアにのみ適用されるという意味ではありません。実際、これは非常に一般的な方法論であり、あらゆる種類のアプリケーションに非常によく機能します。 Threat Modeling Tool 自体は実際には必要ありません。データをまとめるのに役立ちます。非常に複雑な設定でない限り、ペンと紙を使用する方が簡単です。

この方法論の背後にあるアイデア(非常に簡単に)は、まず最初にData Flows、DFD(Data Flow Diagram)、次に [〜#〜] stride [〜#〜] DFDの各コンポーネントの脅威の分類を適用します。これを実行し、各潜在的な脅威について慎重に検討すると、主な問題が何であるかをかなりよく理解でき、何を探すべきかに焦点を合わせるのに役立つはずです。 [〜#〜] dread [〜#〜] を使用して、優先度/リスクの観点からこれらの問題を評価することもできます。あなたがいくつかの経験があれば、あなたはほとんど本能的に評価を知るでしょう。とにかく、ほとんどの場合、DREADは少し詳細すぎます。

実際の脆弱性や問題を実際にテストすることは次のステップになる可能性がありますが、実際にはそれを実行するために必要な環境とスキルセットによって異なります。多くの付加価値を与えることができる別のアプローチは、セキュリティコードのレビューを行うことです(コードにアクセスできる場合)。または、いくつかの セキュリティ静的コード分析ツール がある場合、それらも非常に役立ちます。

3
Yoav Aner

特にSQLに関しては、脅威ベクトルとして常にインジェクションがあります。ホストまたはネットワーク(暗号化されていない場合)では、SQLインジェクションまたはあらゆるタイプのエスカレーション攻撃、バッファオーバーフローなどのデータを操作できます。主な問題は、データを受信して​​いることであり、コードでいくつかのことを確認する必要があります消毒またはホワイトリスト。

Center for Internet Securityのガイドなど、強化ガイドを確認することもできます: https://benchmarks.cisecurity.org/en-us/?route=downloads.multiform

OWASP SQLインジェクションガイドラインは、Webレイヤーでなくても適用されます。

Winアプリは、特定のデータベースにアクセスするための適切な資格情報を渡す接続文字列を介してデータベースに接続します。

この接続が暗号化されているかどうか、または資格情報が他の方法でどのように保護されているかを確認したいと思います。また、最新のパッチ、データベース内のデータが十分なセキュリティで保存されているか、PIIが暗号化、難読化、切り捨て、トークン化などで保存されているかについて、SQLサーバー自体のプロファイルを作成することもできます。

特定のアプリケーションを起動するのではなく、MS SQLサーバーへの脅威に集中したいと思うかもしれません。アプリケーションの観点から、ユーザーは自分の特権を昇格したり、自分の特権を超えて情報を漏らしたりするクエリを設定できますか?

2
Eric G