メール1:セキュリティ診断とは?
まずは最初のトピックですが、本日はセキュリティ診断って何をしているのかを簡単にまとめてみました。
世間には、セキュリティ診断サービスを提供している会社や個人がたくさんいますが、一般的には、Webサイトなどの情報システムに対して、外部から攻撃されるきっかけになるような穴(私たちの業界では脆弱性と呼んでます)があるかどうかを調べるのが脆弱性診断サービスと言われているものです。
システムやネットワーク機器などの既知の脆弱性は、(この先を見る……)
以前はシステムベンダーなどが個別に発表していましたが、現在では脆弱性識別番号(CVE-2021-36948のように、何年に見つかった何番目の脆弱性かが分かるようになっています)で統一され公表されています。また、それぞれの脆弱性は、どの程度緊急性が高いのか、影響が大きいのかをCVSS(Common Vulnerability Scoring System)という国際的に汎用的な評価手法を使って、情報レベルの0から危険度が最高の10までの数値で大まかに分かるようになっています。
CVEで発表された脆弱性に対しては、各システムベンダー等からパッチや新しいバージョン、正しい設定・修正方法が提供されているのですが、皆様がお使いのシステムが対応する新しいパッチを正しく適用しているか、新しいバージョンになっているかなどを確認し、CVSSによるリスクレベルで分類してあなたのシステムにどれだけのリスクがあるかどうかを調べるのがネットワーク診断とかプラットフォーム診断と呼ばれるものです。
一般には、Nessusのように最新の脆弱性情報を内部にデータベースとして持っているツールを使って作業をおこなうもので、技術者のスキルによる診断の差は出にくいとされています。使っているツールの差は致し方ないですが。
更に、Webサイトなどにhttpなどのアクセスを行い、既知の脆弱性をつくような攻撃に対して備えができているかどうかという所まで細かく調べるのが一般的に脆弱性診断と呼ばれるものです。より具体的に示すために、Webアプリケーション脆弱性診断などと呼ばれることもあります。先ほどのプラットフォーム診断などでは調べないようなアプリケーションレベルの応答なども細かく調べてくれます。例えばSQLでのクエリをアプリケーションが期待していない形で送っておかしな応答を引き起こさないか、大量にクエリを送り付けて、メモリバッファオーバフローをひき起こして異常な動作を引き起こさせることが出来ないかなどを調べることになります。脆弱性診断を受けることで、既知の脆弱性については対策が十分にされていることを確認することができます。対策が不十分な場合にはCVSSのリスクレベルを使って、対策が必要な箇所などを指摘します。この作業には、OWASP ZAP、Burp Suite、VEXなどのオープンソースや市販のツール、あるいは診断会社が独自開発したツールなどが使われますが、ツールの使い方や技術者の経験などによって結果(発見する脆弱性や診断に要する期間など)に差が出やすくなります。
更に、実際にシステム外部から侵入し、システムの設定を勝手に変更したり、マルウェア等を埋め込んだり、情報を盗み出したりできるかどうかまで調べるのがペネトレーションテスト(侵入テストとも言います)といわれるものです。この作業には、高度な知識と経験を持ったホワイトハッカーと言われるレベルの技術者が行います。ここでもMetasploitなどのツールや診断会社独自のツールなどが使われますが、最新のバージョンやパッチなどで装備されたシステムへの侵入は単純なツールだけでは難しく、本物のハッカーとしての技術や経験によって診断結果は大きく異なってくるものです。技術力、実績がともにあるような診断会社に依頼しないと期待する効果が得られないこともあります。
最初のメールから長くなってしまいましたが、ためになったでしょうか?次回はCVSS, MITRE, CVSなどについて簡単にまとめた情報をお送りする予定です。
メール2:『脆弱性評価の国際基準:CVEとCVSSの完全解説』
こんにちは。レイ・イージス・ジャパンの青木です。今回は、セキュリティ診断会社と付き合っていて皆さんが良く耳にする言葉、CVE、CVSSについて簡単にまとめてみました。既によくご存じの方は私のつたないまとめなど必要ないと思いますので読み飛ばしてください。
CVE、CVSSとは(この先を見る……)
まずは、CVEですが、Common Vulnerabilities and Exposuresの頭文字をとったもので、情報セキュリティ分野での脆弱性といわれるような事象や事故などについて体系的にリスト化したものを言っています。前回のメールの分中にも簡単に触れていますが、もともとは、各種システムあるいは機器ベンダ、セキュリティベンダなどが、脆弱性に対して勝手に名前や整理番号などをつけていたのですが、それでは訳が分からなくなるということで、米国政府の支援を受けた非営利団体のMitre Corporation(マイターと発音します、マイッタではないですよ)が1999年に脆弱性を統一的にまとめたCVEを提案し、業界に受け入れられてきました。現在では、主要なシステムベンダーが公開する脆弱性情報にはこのCVEの仕組みを使ったCVE番号が付けられています。CVEはCVE-2021-36948のように、最初の4桁が登録された年、次の4桁ないし5桁が登録された順番を表すようになっています。
・MITRE社によるCVE管理サイト(英語版)
https://cve.mitre.org/
日本では、JPCERTコーディネーションセンターとIPAとが共同で運用しているCVEに似たJVNがあります。番号体系は異なりますが、CVEとJVNとは相互連携しています。JVNの脆弱性情報対策データベース(JVN iPedia)は以下からアクセス可能です。
・JVNの脆弱性情報対策データベースサイト
https://jvndb.jvn.jp/
さて、CVSSの方ですが、こちらはCommon Vulnerability Scoring Systemの頭文字をとったもので、日本語では共通脆弱性評価システムと呼ばれています。こちらは、CVEやJVNなどでも採用されているものですが、脆弱性の危険度を基本評価基準、現状評価基準、環境評価基準の観点から、それぞれの基準内の評価項目に入力することで、脆弱性の深刻度が「なし」の0から、「注意」(0.1~3.9)、「警告」(4.0~6.9)、「重要」(7.0~8.9)、「緊急」(9.0~10.0)までの5段階のレベルで表すものです。CVEと同様に米国育ちで、2005年にバージョン1が公開され、2007年にバージョン2、2015年に現在広く使われているバージョン3が公開されました。
皆さんも、脆弱性診断のサービスを受けると、その報告書にCVSSやCVSSに似た5段階でのリスクレベルなどが記載されているのを見ることがあると思いますが、緊急や重要レベルで指摘された事項に対しては早急に対策を行うようにしてください。できれば警告レベルまでまとめて対策することを個人的には強く推奨しますが。
ということで、知っている方にとっては常識といったお話になってしまいましたが、次回は、脆弱性の種類について少しばかり書かせていただく予定です。いつものように、コメントなどお寄せいただけるとありがたいです。
メール3:『Webセキュリティにおける主要な脆弱性分析』
こんにちは。レイ・イージス・ジャパンの青木です。今回は第3回目のメールになります。前回ご案内した通り、脆弱性についてのお話です。
脆弱性とは(この先を見る……)
IPA 「情報セキュリティ白書2020」からの引用ですが、2019年度にIPAに報告された脆弱性関連情報は、ソフトウェア製品に関するものが223件、Webサイトが901件と、前年度の約2倍にもなっています。(つい先日発表された「情報セキュリティ白書2021」ではそれぞれ243件、755件でした)
前回書かせていただいたJVNiPediaによると、2019年の1年間で登録された脆弱性の数は12,493件でした。そのうちの大半はCVEの採番が振られたものを中心とするNVD(米国NISTが取りまとめている脆弱性情報)で公開された脆弱性対策情報ですが、脆弱性の種類は上位から順に以下の通りでした。
・クロスサイト・スクリプティング 9%
・不適切な入力確認 0%
・バッファエラー 5%
・情報漏えい 0%
・不適切なアクセス制御 4%
・境界線読み取り 7%
・認可・権限・アクセス制御 7%
・SQLインジェクション 0%
・クロスサイト・リクエスト・フォージェリ 9%
NVD以外の情報として、ソフトウェアやWebアプリケーションのセキュリティ分野の研究やガイドラインの作成、脆弱性診断ツールの開発などの多岐にわたる活動で知られるオープンソース・ソフトウェアコミュニティのOWASP(Open Web Application Security Project)が2017年に発表した最新のセキュリティ10大脅威は以下の通りです。
・インジェクション
・認証の不備
・機微な情報の露出
・XML外部実態参照
・アクセス制御の不備
・不適切なセキュリティ設定
・クロスサイト・スクリプティング
・安全でないデシリアライゼーション
・既知の脆弱性のあるコンポーネントの使用
・不十分なロギングとモニタリング
取りまとめられた年は違いますが、似たような項目がならんでいますね。皆さんもご存じのように、「クロスサイト・スクリプティング」や「インジェクション」に分類される脆弱性は非常に危険なもので、悪用されると、偽のWeb ページを表示させる、情報を盗み取られるなどの恐れがあります。他の項目も、システムの特権を奪われる、マルウェアを埋め込まれるなどの恐れもありますので、脆弱性の診断を含め、しっかりとした対策が必要になります。
今回の内容はいかがでしたか?ご感想などありましたら遠慮なくお寄せください。
メール4:『セキュリティ診断後の具体的な対策手順』
変わりないですか。レイ・イージス・ジャパンの青木です。お約束した一連のメールも残すところあと2回ですね。読んでいただいたら、厳しいコメントでも、一言「よかったよ」でも結構ですので、コメントいただけるとありがたいです。
脆弱性への対策とは(この先を見る……)
さて今回は、脆弱性を見つけた後の対応について少し書いてみようと思います。
診断を受けると、2回目で少し書いた脆弱性の深刻度を記した報告書を成果物として受け取ることになります。この深刻度が「なし」(「情報」と記されることもあります)や「注意」レベルのものはそれほど深い注意を払わなくても大きな問題になることは少ないのですが、「重要」(「高」と記されることもあります)や「緊急」(「厳重」や「危険」と記されることもあります))のレベルのものについては、早急に対策をする必要があります。
発見された脆弱性が、ソフトウェアのバージョンやパッチレベルに関するものであれば、報告書の推奨に従ってアップグレードやパッチの適用を行えばよいので、アプリケーションとの親和性といった点での考慮点は様々ありますが、やるべきことは割と簡単ですね。ただ、暗号化スイートが古いので無効化するべき、と言われた時などもそうですが、他のシステムとの兼ね合いもあって簡単に手が付けられないこともあるかもしれないですね。
このような問題に遭遇してしまった時には、Webサーバの場合は一時しのぎとしてWAF(Web Application Firewall)などを仮想パッチ的に運用するという逃げ道もあります。お使いになっているWAFにもよりますが、最近ではSaaS型のWAFのような月単位での契約が出来るサービスもあり、一時的な回避策としてはある程度有効かと思います。診断会社によっては、WAFやIPSなどの設定についてのアドバイスをしてくれるところもありますので、聞いてみると良いかもしれません。ただし、WAFなどは、ハッキングを生業としているような人たちにとっては迂回攻撃などを試行することもありますので、恒久対策としては考えずに、Webサーバ側で早めの根本的な対策をお勧めします。宣伝になってしまって申し訳ありませんが、私たちの兄弟会社であるCloudCoffer社の検知エンジンを使ったクラウドWAFのサービスを、Ray-SOC WAFという名前で提供しています。
・クラウド型WAFサービス Ray-SOC WAFサイト
https://waf.rayaegis.co.jp/
また、報告書の指摘事項についての対策が完了したら、診断会社に対策をしたところを再診断してもらってください。ネットワーク診断やプラットフォーム診断でない限り、通常は診断後の一定期間、無料で再診断してくれるサービスがほとんどですので、いつまでだったらどこまで再診断をしてくれるかを、診断を依頼する際に確認しておくと良いでしょう。
いよいよ次回は最後になりますが、なぜペネトレーションテストが必要か、についてちょっとだけ書かせていただく予定です。それから、毎度のお願いですが、感想などありましたら簡単でも構いませんので是非お聞かせください。
メール5:『ペネトレーションテストをお勧めする理由とは?』
レイ・イージス・ジャパンの青木です。いままで5回にわたってお付き合いいただきましてありがとうございました。今回は、なぜ私がペネトレーションテストをお勧めするのかについて短くまとめてみましたので読んでみてください。
ペネトレーションテストとは(この先を見る……)
私たちレイ・イージスグループは、年間で2000件以上のセキュリティ診断サービスを提供していますが、日本以外ではその多くがペネトレーションテストです。日本ではどうしても高額についてしまうということもあってペネトレーションテストは一部の大企業や金融機関などを除くとあまり一般的ではありませんが、現実に受ける攻撃の可能性を考えると個人的にはペネトレーションテストを年に1回程度は実施すべきではないかと考えています。
第1回目のメールでセキュリティ診断がプラットフォーム診断、脆弱性診断、ペネトレーションテストに大きく分かれる話をしましたが、脆弱性診断とペネトレーションテストの大きな違いは、実際に侵入を試行するかどうかにあります。脆弱性診断は、CVE、NVD、JVNなどに登録されているような既知の脆弱性の有無を、OWASPやIPAなどのガイドラインに従って確認するのが主な業務範囲となります。また、一般には脆弱性診断ではWAFなどのセキュリティデバイスには、診断元のIPアドレスをホワイトリストとして通信を許可した状態で行われるため、セキュリティデバイスの有効性については診断を行わないことが一般です。(レイ・イージス・ジャパンでは、脆弱性診断のオプションメニューとしてWAF・IPSの有効性を確認するサービスも提供していますのでご興味のある方はお問い合わせください。)
一方、ペネトレーションテストにおいては、それらの既知の脆弱性をついて侵入できるか、あるいはIPSやWAFなどのセキュリティデバイスを迂回して侵入や攻撃を成立させることができるかを確認するもので、より現実世界に近いレベルでのテストになります。
そういうことから、診断対象のシステムが現実世界で安全な状態であるかどうかを調べ、その現実的な対策を行うためにはペネトレーションテストが欠かせないと私は思うのです。
システムの重要度にもよりますが、ECサイトを始めとする商品やサービスの売買を行うシステムや、オンラインバンキングのようなお金や個人情報を扱うようなシステムにおいては、ペネトレーションテストを行うことを強くお勧めいたします。
ここまで、5回にわたって私の勝手な思いで好きなことを書かせていただきましたが、お付き合いいただきましてありがとうございました。また、近い将来別のテーマでメールさせていただくことがあるかもしれませんがその際はよろしくお願いいたします。またそのような際に少しでも皆様のお役に立つような情報発信ができればと考えておりますので、是非感想やコメントなどお送りいただけるとありがいです。
それでは、また近いうちにお会いしましょう!
株式会社レイ・イージス・ジャパン
青木 登