OWASP トップ 10 のセキュリティ リスク | 概要

目次

OWASP トップ 10 の概要

OWASPとは何ですか?

OWASP は、Web アプリのセキュリティ教育を専門とする非営利団体です。 

OWASP の学習教材は、Web サイトからアクセスできます。 彼らのツールは、Web アプリケーションのセキュリティを向上させるのに役立ちます。 これには、ドキュメント、ツール、ビデオ、およびフォーラムが含まれます。

OWASP トップ 10 は、今日の Web アプリのセキュリティに関する最大の懸念を強調したリストです。 セキュリティ リスクを軽減するために、すべての企業がプロセスにこのレポートを含めることを推奨しています。. 以下は、OWASP Top 10 2017 レポートに含まれるセキュリティ リスクのリストです。

SQLインジェクション

SQL インジェクションは、攻撃者が不適切なデータを Web アプリに送信して、アプリケーション内のプログラムを妨害するときに発生します。.

SQL インジェクションの例:

攻撃者は、プレーンテキストのユーザー名を必要とする入力フォームに SQL クエリを入力する可能性があります。 入力フォームが保護されていない場合、SQL クエリが実行されます。 これ 参照されます SQLインジェクションとして。

Web アプリケーションをコード インジェクションから保護するには、開発者がユーザー送信データに対して入力検証を使用していることを確認してください. ここでの検証とは、無効な入力を拒否することを指します。 データベース管理者は、データベースの量を減らすための制御を設定することもできます。 情報 ができる 開示される 注射攻撃で.

SQL インジェクションを防ぐために、OWASP はデータをコマンドやクエリから分離することを推奨しています。 好ましいオプションは、安全な API インタープリターの使用を防止するため、またはオブジェクト リレーショナル マッピング ツール (ORM) に移行するため.

壊れた認証

認証の脆弱性により、攻撃者がユーザー アカウントにアクセスし、管理者アカウントを使用してシステムを侵害する可能性があります. サイバー犯罪者は、スクリプトを使用してシステム上で何千ものパスワードの組み合わせを試し、どれが機能するかを確認できます. サイバー犯罪者が侵入すると、ユーザーの身元を偽って機密情報にアクセスできるようになります。.

自動ログインを許可する Web アプリケーションには、認証の脆弱性が存在します。 認証の脆弱性を修正する一般的な方法は、多要素認証の使用です。 また、ログイン レート制限により、 含まれる ブルート フォース攻撃を防ぐために Web アプリで。

機密データの露出

Web アプリケーションが保護されていない場合、機密性の高い攻撃者がそれらにアクセスして、利益のために使用する可能性があります。 オンパス攻撃は、機密情報を盗むための一般的な方法です。 すべての機密データが暗号化されている場合、漏洩のリスクは最小限に抑えられます。 Web 開発者は、機密データがブラウザーに公開されたり、不必要に保存されたりしないようにする必要があります。

XML 外部エンティティ (XEE)

サイバー犯罪者は、悪意のある XML コンテンツ、コマンド、または XML ドキュメント内のコードをアップロードまたは含めることができる可能性があります. これにより、アプリケーション サーバー ファイル システム上のファイルを表示できます。 アクセスできるようになると、サーバーと対話してサーバー側のリクエスト フォージェリ (SSRF) 攻撃を実行できます。.

XML 外部エンティティ攻撃は、 によって防止される Web アプリケーションが JSON などのそれほど複雑でないデータ型を受け入れるようにする. XML 外部エンティティ処理を無効にすると、XEE 攻撃の可能性も減少します。

壊れたアクセス制御

アクセス制御は、許可されていないユーザーを機密情報に制限するシステム プロトコルです。 アクセス制御システムが壊れている場合、攻撃者は認証をバイパスできます。 これにより、権限を持っているかのように機密情報にアクセスできます。 ユーザーのログイン時に認証トークンを実装することで、アクセス制御を保護できます。 認証中にユーザーが要求を行うたびに、ユーザーの承認トークンが検証され、ユーザーがその要求を行う権限があることが通知されます。

セキュリティの構成ミス

セキュリティの設定ミスはよくある問題です。 サイバーセキュリティー スペシャリストは Web アプリケーションで観察します。 これは、HTTP ヘッダーの構成ミス、アクセス制御の破損、および Web アプリで情報を公開するエラーの表示の結果として発生します。. 未使用の機能を削除することで、セキュリティの設定ミスを修正できます。 また、ソフトウェア パッケージにパッチを適用するか、アップグレードする必要があります。

クロスサイトスクリプティング(XSS)

XSS の脆弱性は、攻撃者が信頼できる Web サイトの DOM API を操作して、ユーザーのブラウザーで悪意のあるコードを実行するときに発生します。. この悪意のあるコードの実行は、多くの場合、ユーザーが信頼できる Web サイトからのものと思われるリンクをクリックしたときに発生します。. Web サイトが XSS の脆弱性から保護されていない場合、 妥協する. 悪意のあるコード 実行されます ユーザーのログイン セッション、クレジット カードの詳細、その他の機密データへのアクセスを攻撃者に与える.

クロスサイト スクリプティング (XSS) を防止するには、HTML が十分にサニタイズされていることを確認してください。 これはできる によって達成される 選択した言語に応じて信頼できるフレームワークを選択する. .Net、Ruby on Rails、React JS などの言語は、HTML コードの解析とクリーンアップに役立つため、使用できます。 認証されたユーザーまたは認証されていないユーザーからのすべてのデータを信頼できないものとして扱うことで、XSS 攻撃のリスクを軽減できます。.

安全でないデシリアライゼーション

逆シリアル化とは、シリアル化されたデータをサーバーからオブジェクトに変換することです。 データの逆シリアル化は、ソフトウェア開発ではよくあることです。 データの場合は安全ではありません 逆シリアル化されます 信頼できないソースから。 これは アプリケーションを攻撃にさらします。 安全でないデシリアライゼーションは、信頼できないソースからデシリアライズされたデータが DDOS 攻撃、リモート コード実行攻撃、または認証バイパスにつながる場合に発生します。.

安全でない逆シリアル化を回避するための経験則は、ユーザー データを信頼しないことです。 すべてのユーザー入力データは 扱われる as 悪意のある。 信頼できないソースからのデータの逆シリアル化を回避します。 デシリアライゼーション関数が 利用される Web アプリケーションでは安全です。

既知の脆弱性を持つコンポーネントの使用

ライブラリとフレームワークにより、一からやり直す必要なく、Web アプリケーションの開発が大幅に高速化されました。. これにより、コード評価の冗長性が削減されます。 これらは、開発者がアプリケーションのより重要な側面に集中する道を開きます。 攻撃者がこれらのフレームワークでエクスプロイトを発見した場合、フレームワークを使用するすべてのコードベースは 妥協する.

コンポーネント開発者は、多くの場合、コンポーネント ライブラリのセキュリティ パッチと更新プログラムを提供します。 コンポーネントの脆弱性を回避するには、最新のセキュリティ パッチとアップグレードでアプリケーションを最新の状態に保つ方法を学ぶ必要があります。. 未使用のコンポーネントは 除去される アプリケーションから攻撃ベクトルをカットします。

不十分なロギングとモニタリング

ロギングとモニタリングは、Web アプリケーションでのアクティビティを表示するために重要です。 ロギングにより、エラーの追跡が容易になります。 モニター ユーザーのログインとアクティビティ。

セキュリティ上重要なイベントがログに記録されない場合、不十分なログと監視が発生します 正しく. 攻撃者はこれを利用して、顕著な応答が得られる前にアプリケーションへの攻撃を実行します.

ロギングは、開発者ができるため、会社のお金と時間を節約するのに役立ちます 簡単に バグを見つける. これにより、バグを探すよりもバグを解決することに集中できます。 実際、ログを記録することで、ダウンタイムを発生させることなく、サイトとサーバーを常に稼働状態に保つことができます。.

まとめ

良いコードはそうではありません ただ 機能については、ユーザーとアプリケーションを安全に保つことです. OWASP トップ 10 は、最も重大なアプリケーション セキュリティ リスクのリストであり、開発者が安全な Web およびモバイル アプリを作成するための優れた無料リソースです。. リスクを評価して記録するようにチームの開発者をトレーニングすることで、チームの時間とお金を長期的に節約できます。 したい場合 OWASP Top 10 でチームをトレーニングする方法の詳細については、ここをクリックしてください。