Dr.セキュリティ®

脆弱性診断の
『やり方』
スーパー簡易的&無料の脆弱性セルフチェック方法

Home > 記事一覧 > このページ

この記事を書いた人

Dr.セキュリティ®
代表技術者 冨田 圭介

DFプロ認定資格保有
① CDFP-B(基礎資格)
② CDFP-P(実務者資格)
脆弱性診断士資格保有
冨田 圭介

はじめに

日常的な安全確認にちょうど良い
簡易のセルフ・チェック方法

通常の脆弱性診断サービスは安くても数十万円します。費用を抑えた簡易版サービスでも数万円はします。それなりに費用がかかることのため、中小企業や個人事業主においては「必要だと知っているけれど、予算の都合がつかず・・・」というように未だに実施されていないことが結構あります。そして未対策のまま放置された脆弱性を発端とする情報漏洩や遠隔操作などのインシデント(事故・事件)が度々発生しています。

この記事を書いている私はデジタル・フォレンジックが専門の技術者であり、その主な業務において、情報漏洩などのインシデントが起こった後の調査や、さらにその後の裁判案件などに対応しております。当社は東京・秋葉原にある小さな会社であり、大手企業に比べると調査件数は少なく、日本全体の状況をくまなく把握しているわけではありませんが、しかしそんな当社でも脆弱性関連の案件に対応することは割と頻繁にあります。そのような状況から推測しますと、全国あちこちで相当な件数が発生しているのだろうと予測できます。また、経済産業省とIPA(独立行政法人情報処理推進機構)が連携して「脆弱性診断の義務化」を進めていることからも、看過できないほど「ひどい状況」なんだろうなぁ、と思います。

脆弱性関連の被害を予防するためには、脆弱性診断の受診が必須です。しかしそれは前述したとおり安くない費用がかかることのため、中小企業などでは敬遠されがちです。
『社長や役員などの決裁権者に対し、脆弱性診断のことを進言したが、首を縦に振ってくれなかった。』ということもかなり多いはずです。

  • 予算がないので脆弱性診断を専門業者に依頼できない・・・
  • まったく何もやらないのはマズイよね・・・
  • 自分で簡単に出来る範囲だけでもチェックしておきたいな・・・
このようにお考えの方に向けて、当記事では「素人でも出来る簡易チェック」と題し、無料かつ簡単にできる脆弱性診断のやり方をご紹介します。

これで万全というわけではありません。簡易チェックで調べられるのは「浅いところ」だけですし、それで検知できるのは数多くある脆弱性のうちの一部だけに留まります。しかしながら、これまで私が担当してきた実際の事故現場においては、そういう「浅いところ」の脆弱性がきっかけとなってしまったケースも結構ありました。例えば単純な設定ミスや、メンテナンス不足が原因で脆弱性が生じてしまうなど。そういう脆弱性に対処するための日常的な安全確認として、当記事でご紹介する簡易チェックをご活用頂けますと幸いです。

特に気をつけるべき4種類

1.ネットワーク機器
2.サーバー/クラウド
3.端末(家電やIoT)
4.Webサイト(Webアプリケーション)

これら4種類の脆弱性は特に悪用されやすいものです。もちろん「これら以外は気をつけなくて良い」というわけではありませんが、しかしこの4種類の脆弱性は特に攻撃者から狙われやすく実際にインシデントが起こることも多いため、高い優先順位で脆弱性診断を検討するべきものです。そこで当記事ではこの4種類に対する脆弱性診断に関して解説します。

ただしいきなりやり方を説明するのではなく、先に各種類の概要を予備知識として知っておいたほうが良いので、まずはそれぞれの概要・特徴などを説明し、その後に各種類ごとに素人でもできる脆弱性診断のやり方を説明する流れとします。

脆弱性の知識① ネットワーク機器

ゲートウェイ機器
Wi-Fiルーター

「ネットワーク機器」と言ってもネットワーク・エンジニアではない一般の人には分かりにくいかと思いますので、ここでは大雑把に「ルーター」をイメージしてください。

ルーターには、社内や家庭内のネットワークを管理・制御する機能が備わっています。もしこれを遠隔操作されると、社内LAN/家庭内LANを掌握されてしまいます。そのため攻撃者にとっては「攻撃する価値」が大きいものです。しかも次に挙げるような、攻撃者にとって都合の良い点もあります。

  • 24時間365日、電源を入れっぱなしにしていることがほとんど。
    →いつでも悪用できる。
  • 導入時に初期設定したまま、何年も保守管理されずにいることが多い。
    →新しい攻撃手口を防げない。
  • 一般の人はネットワーク技術の知識がない。
    →設定ミスや不知に起因する脆弱性が生じやすい。
  • PCやスマホのような画面がなく、異変(ハッキング)に気がつきにくい。
    →長期間に渡って潜伏しやすい。

このような点から次のように言えます。
ルーターは脆弱性リスクが高く、攻撃が簡単で、しかも悪用するメリットが大きい。
だから凄く狙われます。そのためメーカー/ベンダーは結構頑張ってセキュリティを改善し続けているのですが、しかし前述のとおり導入後の保守管理などユーザー側の運用状態が杜撰であることが多く、それにより脆弱性の問題が発生し、いわゆるハッキングの被害を受けてしまうケースが多いのです。

ネットワーク機器の脆弱性から引き起こされた事件は多く、そのなかで特に大きな事件の場合はテレビや大手メディアのニュースで報道されることもあります。しかし報道されるのは氷山の一角で、実態としては何年も前から全国各地で大小様々な事案がかなり多く発生しています。そのようにとてもリスキーな状況なのですが、一般の人はサイバーセキュリティに関心が薄いためその事実を知ることもなく、未だに何一つ対策されていなかったりします。そのためこの記事を書いている2024年現在でも、ネットワーク機器の脆弱性に関するインシデントが未だに発生し続けているわけです。

法人の場合は少なくとも年イチで診断会社による脆弱性診断を受診したほうが良いですし、法人・個人のいずれにおいても、ルーターの設定を弄った後は簡易的にでもセキュリティをチェックしたほうが良いです。

脆弱性の知識② サーバー/クラウド

サーバー
クラウド

個人でサーバーやクラウドを運用している人は少ないかと思いますので、ここでは対象を法人に絞って説明をします。

【補足】
個人の場合でも、自宅でNASやネットワークHDDなどといったサーバーに該当する機器を使用している場合や、個人事業主でサーバー/クラウドを業務使用している場合には、法人の環境と似たような状態となりますので、その場合は当記事の内容をご自身の環境に置き換えてお読みください。

サーバー/クラウドは顧客情報や営業秘密などの重要データに関係するものですので、当然のごとく攻撃者から狙われます。また次に挙げるような点も攻撃者にとって都合が良いです。

  • 24時間365日、電源を入れっぱなしにしていることがほとんど。
    →いつでも悪用できる。
  • オープンソースのプログラムが多用されている。
    →脆弱性を悪用しやすい。
  • ファイルやプログラムの更新が度々起こる(アップデートや機能追加などの際に)
    →設定や運用などのミスで脆弱性が生じやすい。
  • 画面表示がCLIのため、異変(ハッキング)に気がつきにくい。
    →長期間に渡って潜伏しやすい。
  • 多くの人がアクセスする
    →第二・第三の攻撃へと展開しやすい

このようにサーバーは重大インシデントが起こりやすいものです。それを知らないサーバー管理者などいないでしょうし、セキュリティのことを留意しながら運用されているはずです。つまり基本的には安全なはずです。しかし私がこれまで対応してきた事案においては、
『普段は十分に気をつけていた。しかしある日、ほんのちょっとしたミスをしてしまった。そしてそれがきっかけで脆弱性が生じ、インシデントが起こった。』
というケースが結構あります。 例えば次のようなミスです。

  • システムに新機能を追加するための設定作業で、手順を誤った。
  • ファイルアップロードの作業を誤った。
  • カレントディレクトリの階層がズレている状態でコマンドやバッチ処理を実行した。
  • 作業中に開けていたメンテナンスポートを、作業後に閉じ忘れた。
  • 動作確認などテスト用のファイル/プログラムや管理用のファイル/プログラムなど、本来は一時的な使用に留めるべきものを、作業後に削除し忘れた。

このようなちょっとしたミスから脆弱性が生じることが結構あるのです。
作業をするのは人間ですから、どんなに気をつけていてもミスすることはあります。サーバーの操作に慣れていない新人君がミスすることもありますが、逆に、手慣れたエンジニアがうっかりミスってしまうこともあります。例えば業務が忙しすぎる状態だとか、昼飯後の眠気に襲われている状態だとか、平常時と少し異なる状況・状態で作業するとうっかりミスが起こりがちです。

だからこそ作業後にきちんと「安全確認」するべきなのですが、しかしIT関連の実際の現場では、それがあまり習慣になっていないことが多いです。作業して、動作テストして、うまく動くことを確認したら作業完了。つまり「動けば良し」という感じで、安全確認までおこなわれないことが多いのです。

これと比較して工場や工事現場などの場合ですと、作業後に工具が出しっぱなしになっていないか、鋭利な部品や資材がむき出しなっていないかなど、作業後の後片付けにおいて安全確認がおこなわれます。しかしITの分野ではそのような安全確認はなく、作業中にうっかり生じさせてしまった危険性(脆弱性)に気づくことができず、後日(早ければ当日)にインシデントが発生してしまうわけです。

繰り返しとなりますが、作業をするのは人間ですのでミスを完璧に防ぐのは現実的に不可能です。しかし作業後に安全確認をすれば、万が一にミスがあった場合でも、脆弱性に気付くこと・補うことができます。

サーバーの脆弱性が問題となるのは主に、インターネットに公開しているサーバーです。例えばWebサーバーなど。ただしインターネットに公開していない社内のオンプレサーバーの場合でも、100%安全というわけではありません。つまり脆弱性を無視して良いわけではありません。

なぜかというと、LANに侵入されると社内サーバーも攻撃の射程圏内に入るからです。LAN侵入の代表例を挙げます。
  • ネットワーク機器の脆弱性からLANに侵入される
  • 従業員の端末がマルウェア感染してLANに侵入される
  • VPNのセキュリティが弱くてLANに侵入される
このような形でLANに侵入され、そして社内サーバーが脆弱性を突かれて侵害されることがよくあります。

脆弱性の知識③ 端末(家電やIoT)

情報家電
IoT
PC周辺機器
防犯カメラ

「端末」の代表例はPCやスマホなのですが、当記事ではそれらを除外します。その理由は、PCやスマホは基本的に自動アップデートされる設定になっていますし、それに伴って脆弱性は自動的に修復されるからです。そのためここでは、PC等と違って保守管理が疎かになりがちな家電やIoTなどに的を絞って話を進めます。

【補足】
PCやスマホに脆弱性のリスクが無いわけではありません。アップデートを疎かにしていると当然にリスクは生じますし、アップデートに関わらず設定の不備や、インストールしているアプリの問題などにより生じることもあります。また別の問題として、未修復/修復不可能な脆弱性を突く「ゼロデイ攻撃」というものもあります。このようにPCやスマホも脆弱性リスクは少なからずあるのですが、しかしこれに言及すると記事が複雑かつボリューミーになりますし、簡易チェックでどうにかできる問題でもありませんので、当記事では除外します。

情報家電やIoTなど、PC・スマホ以外の端末を全部ひっくるめて、以下で「IoT等」と言います。
IoT等はPC・スマホと違い、次のような問題があります。

  • コンピュータ部品の性能が低い
    →高性能なセキュリティ機能を実装できない。
  • サードパーティ製のセキュリティソフトが存在しない(作れない)
    →高性能なセキュリティ機能を実装できない。
  • メーカー側のセキュリティ意識が低いことがよくある(特に海外製の安価な製品)
    →深刻な脆弱性があるまま出荷されるケースがしばしばある。
  • オープンソースのプログラムが多用されている。
    →脆弱性を悪用しやすい。
  • 自動アップデート機能がない製品も多い
    →新しい攻撃手口を防げない
  • 故障や不具合が発生しない限りメンテナンスされない
    →長期間に渡って潜伏しやすい

IoT等は製造コストの関係もあってセキュリティのレベルが著しく低い製品が結構あるうえに、ユーザー側で保守管理される機会も少ないため、脆弱性のリスクはかなり高いです。そのため総務省や経済産業省がセキュリティを確保・維持するためのガイドラインを定めているのですが、しかしそれが遵守されていない海外製の製品が一般市場に出回ることがかなり多く、さらにほとんど(ほぼ全て?)のユーザーは「ガイドラインの存在すら知らない」という感じです。そして悲しいことに、日本の大手メーカーなどが作る安全な製品は価格が高めで、海外のよくわからないメーカーの製品は激安なので、中小企業や個人においては安い方を選ばれることも多いのが、IoT等のリスクを高めている要因になっています。

激安な脆弱製品 * 杜撰な運用 = 事故リスク増し増し

脆弱性の知識④ Webサイト(Webアプリケーション)

Web通販やオンライン予約システム
ホームページ、ブログ、SNS等

Webサイトはサイバー攻撃を受ける確率が高く、しかも侵害された場合の影響範囲がかなり広範囲に及びます。Webサイトの所有者(運営会社)が損害を受けるのはもちろん、その利用者にも被害が及びますし、さらには全くの第三者にサイバー攻撃が飛び火してしまうケースも度々あります。そのため不運にもインシデントが発生してしまうとかなり深刻な被害・損害に繋がりますので、会社経営に相当な大打撃となります。しかも損害賠償などの問題も生じますし、Webサイトの制作会社と発注者(クライアント)で裁判になるおそれもあります。たった一撃のサイバー攻撃で、何人もの人生が狂ってしまうおそれがあるのです。

このようにWebサイトの脆弱性は様々な方面への悪影響が強いため、経済産業省のガイドラインでは、医療や金融など色々な分野の事業者に対して脆弱性診断を実施するよう義務付けています。そして2024年度末にはECサイト(通販サイト)も義務の対象になるなど、義務化の流れがどんどん進んでいます。

義務、つまり脆弱性診断は「やらないといけない事」なのですが、しかし実際には未実施のままでいる企業もかなり多いという実態です。

  • 義務だとは知らなかった
  • 「脆弱性診断」という言葉すら知らなかった

このような経営者はかなり多いです。また、Webクリエイターでさえも知らない人は結構います。そのためWebサイトに脆弱性が潜在していることを知らないまま運営され続け、ある日、不運にもブラックハット(悪意のハッカー)が「あれ?このWebサイトは簡単に侵入できそうだぞ?」と気付いてしまい、そして脆弱性を突く攻撃がおこなわれてインシデントが発生するというわけです。

それなりに大きな規模の会社や、セキュリティ意識の高い制作会社の場合ですと、脆弱性診断の必要性をよく理解していますので「やるのが当たり前」となっています。しかし中小企業や小さな制作会社、フリーランスのクリエイターの場合ですと、前述のとおり「知らなかった」ということもあり、世の中には脆弱性が潜在しているWebサイトはかなり多くあります。

一例として、次のような状況のときに脆弱性が混ざることが多いです。

  1. オープンソースのプログラム(例:wordpressやプラグインなど)をインストールしたとき。
  2. 無料のライブラリを使うプログラムを書いたとき。
  3. キャンペーン用の特設サイトなど、一時的に使用するサイト/ページを大急ぎで作ったとき。
  4. Webサイトに新機能(新しいWebプログラム)を追加したとき。
  5. ネットで拾ったソースコードを「コピペ」してプログラムを書いたとき。

Webサイトは基本的に、発注者ごとそれぞれ個別に作られるものであり、見た目だけでなく内部構造やソースコードなども千差万別ですので、簡易的に調べられるようなものではありません。しかし上記の1・2番の場合ですと、公益団体やセキュリティベンダーなどによって公表されている脆弱性情報もありますので、その範囲であれば簡易的にチェックすることができます。

オープンソースや無料ライブラリは利用機会が多く、かつインシデントの原因になりやすいものですので、それらだけでも簡易的に脆弱性診断する習慣をつけておけば、限定的ではありますがインシデント予防にある程度寄与することができます。

素人でもできる!
スーパー簡易的な脆弱性診断

通常ですと脆弱性診断は専用ツールを使用しておこなうのですが、そのやり方はそんなに簡単ではありません。ツールの使い方のイロハを学ぶにはそれなりの時間と手間がかかりますし、ツールの実行結果を解読するのにはセキュリティの専門知識が必要になってしまいます。しかも使い方を誤ると「データを破壊してしまう」というリスクもあります。そのため当記事では専用ツールを使用せず、次に挙げるようなやり方をご紹介します。

  1. 無料の検索サービスを使用する表層解析
  2. 操作が簡単なフリーソフトを使用するやり方

厳重注意!

当記事で紹介する「やり方」は、自社・自分の所有物に対してのみお試し下さい。
絶対に他人の物に対して試さないで下さい。(犯罪になります)

脆弱性診断の作業の一部には、攻撃者がおこなう手口(つまりハッキングの手口)と同様の手法で検査する作業も含まれています。そのため他人の物に対して実行してしまうとサイバー攻撃だと判断されるおそれがあります。しかも、相手によっては報復的に攻撃(反撃)してくるリスクもあります。※脅しではありません。マジな話です。

ですので、絶対に他人の物に対しては実行しないで下さい。会社物や自分の物だけに留めて下さい。また、会社・自分が「契約している物」でも注意して下さい。契約していても、その所有や管理が他者(他社)の場合ですと、その他者(他社)に対するサイバー攻撃という外形になる可能性があります。

さらに、会社の物だとしても必ず会社(上司)の許可を得てからにして下さい。無断でやると、不良社員による業務妨害行為だと判断されるおそれがあります。

脆弱性診断のやり方① 
ネットワーク機器

  1. 【素人向け】 表層解析(脆弱性情報の検索)
  2. 【エンジニア向け】 ポートスキャン(不意のポート開放の確認)
この2つの方法を下のリンク先の解説ページにてご紹介します。
→ スーパー簡易版 ネットワーク脆弱性診断のやり方

脆弱性診断のやり方② 
サーバー/クラウド

  1. 【素人向け】 表層解析(脆弱性情報の検索)
  2. 【エンジニア向け】 ポートスキャン(不意のポート開放の確認)
この2つの方法を下のリンク先の解説ページにてご紹介します。
→ スーパー簡易版 プラットフォーム脆弱性診断のやり方

脆弱性診断のやり方③ 
IoT、情報家電

  1. 【素人向け】 表層解析(脆弱性情報の検索)
  2. 【エンジニア向け】 ポートスキャン(想定外のポート開放の確認)
  3. 【素人向け】 クラウドの確認
これらの方法を下のリンク先の解説ページにてご紹介します。
→ スーパー簡易版 IoT脆弱性診断のやり方

脆弱性診断のやり方④ 
Webサイト(Webアプリケーション)

  1. 【素人向け】 表層解析(脆弱性情報の検索)
  2. 【エンジニア向け】 アクセス制御の不備の脆弱性診断
この2つの方法を下のリンク先の解説ページにてご紹介します。
→ スーパー簡易版 Webアプリケーション脆弱性診断のやり方

当社サービスのご案内

当社では通常版の脆弱性診断サービスだけでなく、「簡易版:5万円~」という低価格帯のサービスもご用意しております。しっかり調べたいお客様も、コストを抑えたいお客様も、ぜひ一度ご相談頂けますと幸いです。

また、当ページの「はじめに」でも述べましたが、当社はデジタル・フォレンジックが専門の調査会社です。デジタル・フォレンジックとは次のような場面において活用される調査サービスです。

  • マルウェアやサイバー攻撃などのインシデントが発生した後に原因や被害状況を調べる
  • 法人の内部不正(従業員の不正行為)を調査する
  • 犯人特定や法的措置のための証拠を収集する
  • 裁判における証拠の鑑定や弁護士の訴訟活動の補助など

この記事を書いている私はデジタル・フォレンジックの専門資格であるCDFPシリーズのうち、上級資格に位置する「CDFP-P(実務者資格)」を保有し、上記のような案件に対応しております。当ページでご紹介した脆弱性診断は「ハッキングを防ぐための予防策」ですが、デジタル・フォレンジックは「ハッキングされた後の対処」に関するサービスです。もし当記事をお読み頂いているお客様が、インシデント後の対応に当たっている状況でしたら、脆弱性診断よりも先に証拠保全や原因解明をおこなうべきですので、フォレンジック調査のご利用をご検討頂いたほうが良いかと思います。詳しくはご相談ください。

関連ページ