【コラム】10大Webアプリケーション脆弱性と対策法

昨今ハッカーによるWeb攻撃が単純にWebサイトをフリーズさせるたけではなく、個人情報流出や重要資料の削除などの大問題になっています。
こういうニュースを見る際に「脆弱性」という単語をご覧になりましたか?
地下市場の発達により、今は専門ハッカーでなくてもWebページにアクセスして脆弱性を見つける事が出来て、脆弱性を多く持っているWebサイトを探してくれる自動化ツールまで出来ています。
Webサイトを安全に保護する為には、ハッカーの標的になる「脆弱性」を把握してそれに対する補完及び対策を立てることが重要です。
今回はOWASPが提示した10大Webアプリケーション脆弱性について述べ、脆弱性に備える方法をご説明致します。
脆弱性

1.10大Webアプリケーション 脆弱性

OWASP Top 10(2017年)
A1: インジェクション A6: 不適切なセキュリティ設定
A2: 認証の不備 A7: クロスサイトスクリプティング (XSS)
A3: 機微な情報の露出 A8: 安全でないデシリアライゼーション
A4: XML外部エンティティ参照(XXE) A9: 既知の脆弱性のあるコンポーネントの使用
A5: アクセス制御の不備 A10: 不十分なロギングとモニタリング

 

A1 : インジェクション
SQL, OS, XXE, LDAP インジェクションに関する脆弱性は、コマンドやクエリの一部として信頼されないデータが送信される場合に発生します。
攻撃コードはインタープリタを騙し、意図しな いコマンドの実行や、権限を有していないデータへのアクセスを引き起こします。
A2: 認証の不備
認証やセッション管理に関連するアプリケーションの機能は、不適切に実装されていることがあります。
不適切な実装により攻撃者は、パスワード、鍵、セッショントークンを侵害したり、他の実装上の欠陥により、
一時的または永続的に他のユーザーの認証情報を取得します。
A3: 機微な情報の露出
多くのウェブアプリケーションやAPIでは、財務情報、健康情報や個人情報といった機微な情報 を適切に保護していません。
攻撃者は、このように適切に保護されていないデータを窃取または 改ざんして、クレジットカード詐欺、個人情報の窃取やその他の犯罪を行う可能性があります。
機微な情報は特別な措置を講じないでいると損なわれることでしょう。
保存や送信する時に暗号 化を施すことや、ブラウザ経由でやり取りを行う際には安全対策を講じることなどが必要です。
A4: XML外部エンティティ参照(XXE)
多くの古くて構成の悪いXMLプロセッサーにおいては、XML文書内の外部エンティティ参照を指 定することができます。
外部エンティティは、ファイルURIハンドラ、内部ファイル共有、内部 ポートスキャン、リモートコード実行、DoS(サービス拒否)攻撃により、内部ファイルを漏え いさせます。
A5: アクセス制御の不備
権限があるもののみが許可されていることに関する制御が適切に実装されていないことがありま す。
攻撃者は、このタイプの脆弱性を悪用して、他のユーザのアカウントへのアクセス、機密 ファイルの表示、他のユーザのデータの変更、アクセス権の変更など、権限のない機能やデータ にアクセスします。
A6 : 不適切 なセキュリティ設定
不適切なセキュリティの設定は、最も一般的に見られる問題です。
これは通常、安全でないデ フォルト設定、不完全またはアドホックな設定、公開されたクラウドストレージ、不適切な設定 のHTTPヘッダ、機微な情報を含む冗長なエラーメッセージによりもたらされます。
すべてのオ ペレーティングシステム、フレームワーク、ライブラリ、アプリケーションを安全に設定するだ けでなく、それらに適切なタイミングでパッチを当てることやアップグレードをすることが求め られます。
A7 : クロスサイトスク リプティング (XSS)
XSSの脆弱性は、適切なバリデーションやエスケープ処理を行っていない場合や、HTMLや JavaScriptを生成できるブラウザAPIを用いているユーザ入力データで既存のWebページを更新 する場合に発生します。
XSSにより攻撃者は、被害者のブラウザでスクリプトを実行してユー ザーセッションを乗っ取ったり、Webサイトを改ざんしたり、悪意のあるサイトにユーザーをリ ダイレクトします。
A8 : 安全で ないデシリアライ ゼーション
安全でないデシリアライゼーションは、リモートからのコード実行を誘発します。
デシリアライ ゼーションの欠陥によるリモートからのコード実行に至らない場合でさえ、リプレイ攻撃やイン ジェクション攻撃、権限昇格といった攻撃にこの脆弱性を用います。
A9 : 既知の 脆弱性のあるコン ポーネントの使用
ライブラリ、フレームワークやその他ソフトウェアモジュールといったコンポーネントは、アプ リケーションと同等の権限で動いています。
脆弱性のあるコンポーネントが悪用されると、深刻 な情報損失やサーバの乗っ取りにつながります。
既知の脆弱性があるコンポーネントを利用して いるアプリケーションやAPIは、アプリケーションの防御を損ない、様々な攻撃や悪影響を受け ることになります。
A10 : 不十分なロギング とモニタリング
不十分なロギングとモニタリングは、インシデントレスポンスに組み込まれていないか、非効率 なインテグレーションになっていると、攻撃者がシステムをさらに攻撃したり、攻撃を継続でき るようにし、ほかのシステムにも攻撃範囲を拡げ、データを改竄、破棄、破壊することを可能に します。
ほとんどのデータ侵害事件の調査によると、侵害を検知するのに200日以上も要してお り、また内部機関のプロセスやモニタリングからではなく、外部機関によって検知されています。

(引用:OWASP Top10 – 2017 https://www.owasp.org/images/2/23/OWASP_Top_10-2017%28ja%29.pdf)

2.脆弱性に備える為には

日々増加しているWeb攻撃に備えて、企業はWebアプリケーションを保護する為の効率的なプロセスと技術を持つ必要があります。
この為、まず自社のWebサイトに内在している脆弱性を認知・把握した後、必要に応じてWAF等のソリューションを導入するべきです。
多くの企業がWebサイトに数多くの顧客情報を保存しているので、企業は社会的責任と貢献の為に常にセキュリティを念頭に入れる義務を持っています。
全ての脆弱性について認知し、Web攻撃を防御してくれるWAFを導入して企業と顧客の資産を守りましょう。
Cloudbricのパートナーシップ制度はこちら
パートナーに関するお問合せはこちら
Cloudbricの製品情報はこちら
製品に関するお問合せはこちら