企業が絶対にやってはいけないソーシャルエンジニアリング対策の「ある方法」とは

Share

今回は、サイバー攻撃の変わり種、システムではなく人間の弱点に付け入る攻撃、ソーシャルエンジニアリングを紹介します。

まずソーシャルエンジニアリングの具体的な手法を挙げ、どのように人間の弱点が利用されるのかを説明し、日本で起こったソーシャルエンジニアリングによる被害実例を紹介します。

途中ちょっと寄り道をして、オレオレ詐欺はソーシャルエンジニアリングなのかどうかについて考えつつ、最後に具体的かつ実践的な対策方法と、逆効果となる、とある対策・管理方針について言及します。

ソーシャルエンジニアリングとは

ソーシャルエンジニアリングとは、人を心理的に操作して、攻撃者にとって都合のいい行動を起こさせたり、機密情報を漏えいさせたりするサイバー攻撃です。情報収集やシステムへの不正アクセスなどを目的としています。

認知能力、心理など「人間の脆弱性」を攻撃するソーシャルエンジニアリング

アメリカの非営利のセキュリティ研究団体MITRE社の説明によると、ソーシャルエンジニアリングとは、人心を巧みに操り、その弱みにつけこんで、悪意ある相手に利するような行動や情報を引き出すというものです。具体的な例を挙げると、技術的な手段によらずに、口頭による会話といった「社会的(ソーシャル)」な手段で、ID・パスワードなどの重要情報を、巧みなやり方で関係者から直接聞き出す行為などがソーシャルエンジニアリングです。大きくは、人間の認知能力のさまざまな弱点やスキにつけ込むサイバー攻撃全般のことだといえるでしょう。

脆弱性診断サービスを提供するBBSecとして「脆弱性」という観点で申し上げるなら、ソーシャルエンジニアリングとは、「システムやソフトウェアではなく人間の脆弱性を突く攻撃」と言うことができます。

ソーシャルエンジニアリングの具体的手法

以下に典型的なソーシャルエンジニアリングの手法を挙げます。

・ショルダーハッキング
  例)パスワード等をユーザの肩越しに覗き見る
・トラッシング(スカベンジング)
  例)清掃員などに変装して標的組織に侵入し、書類やHDDなどのゴミや廃棄物をあさる
・なりすまし電話
 例)システム担当者などになりすましてパスワードなどを聞き出す
・ベイティング
 例)マルウェアを仕込んだUSBメモリを廊下に落とす
・フィッシング(ヴィッシング、スミッシング等 含む)
  例)信頼できる存在になりすまし、ID・パスワード、クレジットカードなどの情報を入手する
・ビジネスメール詐欺
 例)取引先などになりすまし、犯人の口座へ振込を行わせる
・標的型攻撃メール
 例)ターゲットに対する入念な調査に基づいて作成した、完成度の高いなりすましメールを送る

たとえば「なりすまし電話」ですが、上記に挙げた例とは逆に、入社したばかりの何も知らない社員を装ってシステム担当者に架電し、やり方がわからないふりをするなどして徹底的にイライラさせて、思わずパスワードを口に出させるなどの方法も存在します。人間の認知能力のスキをつくソーシャルエンジニアリングには、実にさまざまな方法があるのです。

ソーシャルエンジニアリングの最大の特徴とは

人の脆弱性を突くソーシャルエンジニアリングの最大の特徴は、ターゲットを信頼させ、攻撃者に有益な情報の提供などを自発的に行わせてしまう点にあります。MITRE社の説明に「人を操る」とあった通り、権力や暴力を振りかざして重要情報を聞き出した場合、それは単なる脅迫であってソーシャルエンジニアリングではありません。

ターゲットの心を意のままに操作して、自発的に、ときに笑顔で協力させてしまう点にこそ、ソーシャルエンジニアリングを行う犯罪者の真骨頂があります。

ソーシャルエンジニアリングはどのように人間の弱点につけ込むのか

ソーシャルエンジニアリングは攻撃対象が信頼してしまう存在などになりすましてターゲットを信頼させ、心を開かせたり油断させることで行われます。

そのために攻撃者がしばしば目を付けるのが、「権威」に対する人間の弱さです。会社の取締役を装って電話をかける、得意客になりすましたビジネスメールを送る、大手金融機関や有名ブランドをかたったフィッシングメールを送る、などの手口に騙されるのが典型的なケースです。

なお、メールアカウントを乗っ取って旧知の取引先などになりすましたメールを送信することで拡散を図るEmotetは、フィッシングを行うマルウェアであり、ソーシャルエンジニアリングの一類型と言うことができます。

オレオレ詐欺はソーシャルエンジニアリングか

権威以外にも「義務感」「正義感」あるいは「好意」につけ込む方法もよく用いられます。多くの人は、困っている人に出会ったら「助けなければ」と感じます。助ける相手が親しい人物や好感を持てる人物であればなおさらです。

そこで思い浮かぶのがオレオレ詐欺ですが、ちなみに、この手の犯罪は、「ソーシャルエンジニアリング」なのでしょうか?

答えはNoです。ソーシャルエンジニアリングは、コンピュータセキュリティの文脈で使われる言葉であり、コンピュータやシステムへの不正アクセスを行うことを目的のひとつに含むという前提があります。そのため、オレオレ詐欺がソーシャルエンジニアリングと呼ばれることは一般にはほとんどありません。

ニューノーマル、テレワーク時代に気をつけたいソーシャルエンジニアリング

大きな環境変化の最中や直後などは、ソーシャルエンジニアリングの絶好の機会です。平時にはない緊張を強いられることで人々の不安やストレスが増し、感情的に動揺しやすくなるためといわれています。2020年、新型コロナウイルスの感染が一気に拡大した当初も、品薄状態だったマスクの配布をうたうメールやWebサイト、保健所からの連絡を装った攻撃などが複数確認されました。ニューノーマル時代、こうした攻撃に引き続き警戒が必要であることはいうまでもありません。

また、テレワークによって従業員どうしが切り離された就業環境においては、フィッシングメール標的型攻撃メールの感染確率が上がると言われています。これは、オフィスにいたなら同僚や情報システム部門に「変なメールが届いた」と気軽に相談できていたことが、テレワークによって難しくなるからです。

日本で起こったソーシャルエンジニアリングの被害実例

2015年に発生した日本年金機構の情報漏えい事件は、「【医療費通知】」という件名の標的型攻撃メールが公開メールアドレスに届き、その添付ファイルを開いたことが発端であったとされています。

また、2017年に大手航空会社がビジネスメール詐欺で数億円をだましとられた事件も、2018年に仮想通貨取引所から暗号資産が流出した事件も、いずれもソーシャルエンジニアリングが攻撃のステップのひとつとして用いられています。

ソーシャルエンジニアリング対策・防止策

では、こうしたソーシャルエンジニアリングを防止する対策方法には、どのようなものがあるのでしょうか。

「ソーシャルエンジニアリングの具体的手法」で挙げた攻撃に対しては、たとえばショルダーハッキングならプライバシーフィルターを利用する、ビジネスメール詐欺ならメールの指示をうのみにせず本人に電話をして確認するなど、さまざまな対策方法が存在します。また、近年攻撃者はSNSを活用してターゲットに関する情報を集めることが知られていますので、SNSの利用に組織としてルールを設けるなどの方法も有効です。研修や教育なども効果があります。

しかしその一方で、人間の脆弱性を突く攻撃を完全に防ぐことはできない、という観点に基づいた対策も、併せて必要になります。攻撃を防ぐ対策と同時に、攻撃が防げなかった場合(成功してしまった後)の対策も考える必要があるのです。BBSecはこの考えのもと、標的型攻撃リスク診断やペネトレーションテストなどのサービスを提供し、攻撃を受けることを前提としたセキュリティ対策に取り組む企業・組織の皆様をご支援しています。

企業が絶対にやってはいけないソーシャルエンジニアリング対策

ソーシャルエンジニアリングは人間の脆弱性を突く攻撃です。だからこそ、対策として絶対にやってはいけないことがあります。それは、騙された人を叱責する、何らかのペナルティを与える等の懲罰主義の管理です。

罰を受けるのを恐れることによって、事故が発生しても報告がなされず、それが、インシデントの発見の遅れを招き、組織にとっての致命傷を生むことがあります。あなたも私も、人間は皆、あやまちを犯す生き物なのです。あやまちを犯すことが覆い隠されてしまうような管理は、何の成果も上げられないでしょう。

まとめ

  • ソーシャルエンジニアリングとは、人の心を操って重要情報等を聞き出したりすることです。
  • ショルダーハッキング、フィッシング、ビジネスメール詐欺、標的型攻撃メールなど、さまざまな手法があります。
  • ソーシャルエンジニアリングは、「権威」「義務」「好感」などに惑わされる人間の弱さをあらゆる手口で突いてきます。
  • 環境が急激に変化する時は、ソーシャルエンジニアリングの付け入るスキが生まれます。ニューノーマルや急速なテレワーク化への対応を迫られる現在も、その例外ではありません。
  • 懲罰主義による管理は、ソーシャルエンジニアリング対策として何の効果もなく、インシデント発生の対応が遅れる要因になります。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

サイバー攻撃の要因、脆弱性とは?
-脆弱性がもたらすリスク、企業がとるべき脆弱性対策-

Share

情報漏えいなどの被害をもたらすサイバー攻撃。そのなかでも「脆弱性」は、セキュリティを脅かす大きな要因となり得ます。メディアを賑わすセキュリティ事故の多くは、脆弱性への対応を放置することで引き起こされたものです。この記事では、脆弱性とは何か、なぜそれがサイバー攻撃の起点となるのか、我々はどのようにしてサイバー攻撃の被害から自組織を守ることができるのかについて解説します。脆弱性を悪用した攻撃事例をもとに、脆弱性がもたらすリスクやその対策、脆弱性情報を収集する方法、脆弱性を見つけるために利用できるチェックツールや診断サービスについて理解を深め、適切な対応を行えるようにしましょう。

「脆弱性」とは?

脆弱性は「きじゃくせい」ではなく「ぜいじゃくせい」と読みます。対応する英語は、「Vulnerability」(「攻撃を受けやすいこと」の意)です。脆弱性とは、不正アクセスやコンピュータウイルスなどの攻撃により、その機能や性能を損なう原因となり得るセキュリティ上の問題箇所のことです。

脆弱性の多くは、「プログラムの設計ミスやコーディングミスなどによるバグ」になります。バグが存在せず正しく動作するプログラムやWebアプリケーションであっても、設計者が想定しないやり方で機能が悪用され、 結果としてサイバー攻撃が成立する場合には、その「悪用されうる機能設計」が脆弱性とみなされます。

脆弱性を悪用した攻撃の事例とその後の企業の対応について

脆弱性への対応を怠り社長が辞任に追い込まれたケースも

脆弱性への対応を誤ることは、しばしば事業の運営に甚大な影響をもたらします。典型的な事例をご紹介しましょう。2017年、クレジットカード等の与信に関わるアメリカの大手消費者情報調査会社がサイバー攻撃を受け、自社で保有していた4億件の個人の信用情報の約3分の1にあたる、1億4,000万件もの情報が盗まれました。この攻撃は、Webアプリケーションの開発フレームワークであるApache Strutsの脆弱性を、脆弱性情報とパッチの公開後速やかに修正できなかったことに起因するものです。

攻撃の端緒となった脆弱性に対しては、2017年3月にパッチや対策方法が公開されました。会社側では公開を受けて修正を図ったものの、組織体制の不備等もあいまって修正は不完全な形となり、結果、システムへの不正アクセスを許すことになりました。さらに、攻撃は同年5月から確認されていたにもかかわらず同社が事件を公表したのは9月。4か月もの間事態が公表されなかったことが大きな批判を浴び、CEOなど一部の幹部は辞任に追い込まれ、格付けも引き下げられたのです。脆弱性が引き金となり、このように甚大な影響がもたらされることは少なくないのです。

脆弱性を悪用したセキュリティ事故は日々発生しています。
SQAT.jpでは以下の記事でも取り上げていますので、ぜひあわせてご参考ください。

● 「定期的な脆弱性診断でシステムを守ろう!-放置された脆弱性のリスクと対処方法-
● 「備えあれば憂いなし!サイバー保険の利活用

脆弱性情報はWebサイトでチェックできる

脆弱性は、さまざまなソフトウェアやプラットフォームで日々発見されています。そうした情報は、多くの場合、ソフトウェアやプラットフォーム提供元のWebサイトに掲載されます。
少なくとも、自組織で利用している主要なプラットフォームに関しては、緊急性が高い脆弱性が出現していないかどうかを、提供元のWebサイトで定期的にチェックするとよいでしょう。

JVNを利用した脆弱性情報の正確な情報収集と活用法

一般社団法人JPCERTコーディネーションセンターとIPA(独立行政法人情報処理推進機構)では、公表された脆弱性情報を収集して公開するサービス「JVN(Japan Vulnerability Notes)」を共同運営しています。日本で利用されている大半のソフトウェアの脆弱性の情報は、このサイトでチェックできます。

脆弱性情報ソースと活用

インシデントやゼロデイの発生情報については、セキュリティ専門のニュースサイト、セキュリティエバンジェリストのSNSなどからも情報をキャッチできます。

情報の裏取りとして、セキュリティベンダからの発表やtechブログ等を参照することもと重要となります。攻撃の影響範囲や危険度を確認するには、Exploitの有無を技術者のPoC検証ブログやNVD等で確認することも有効です。

「脆弱性」はサイバー攻撃の端緒となる

サイバー攻撃の数は年々増加し続けており、その手口は高度化・巧妙化しています。このため、あらゆる企業・組織がサイバー攻撃の脅威にさらされています。そして、そして残念ながら、多くのWebアプリケーションやシステムには脆弱性が存在している可能性があります。情報漏えいなどの被害をもたらすサイバー攻撃の多くは、この「脆弱性」を悪用して行われます。脆弱性の放置は、サイバー攻撃を誘発し、事業活動に甚大な影響を及ぼしかねません。

脆弱性を突かれた場合のリスク

悪意のある第三者によって脆弱性を突かれてしまった場合、問題箇所の悪用、コンピュータ内部データ(情報)の盗取・改竄・削除、また他のコンピュータへの同様の悪事が可能になります。その結果、不正アクセスや自動的に動作させるウイルスやボットに感染する恐れもあります。また、システムやサービス全体という視点からは、設定に関して何らかの誤りがある場合など、設定ミスが脆弱性とみなされます。たとえば、ポートの開放に関する設定、権限管理、AWSをはじめとするクラウドサービスの設定ミスがセキュリティ事故を招いた例は枚挙に暇がありません。

「脆弱性が多い」と言われるソフトウェアの傾向

脆弱性が数多く報告されているのは、一体どんなソフトウェアでしょう。ひとつ共通することは「ユーザが多い」ということです。たとえば、皆さんがこのサイトをご覧になっているWebブラウザ、そのWebブラウザが動作するMicrosoft WindowsなどのOS、ビジネスでよく使われるPDFファイルを扱うAdobe Acrobat、WebサーバソフトのApache、データベースアプリケーションのMySQLなどです。いずれも、全世界に膨大な数のユーザを持つソフトウェアであり、規模のインパクトという点から、攻撃者にとって極めて魅力的、いわば人気があるのです。かつ、このようなソフトウェアでは、開発元において、脆弱性を早期に発見し、修正プログラムの公開、所定機関への報告を迅速に行う必要性が高いことから、報告件数が当然ながら多くなる傾向がみられます。

わかりやすい例としては、オンライン会議ソフトのZoomがあります。Zoomでは、2020年になって脆弱性が次々と発見されていますが、そこには、新型コロナウイルス対策の一環でテレワーク化が進み、Zoom利用者が爆発的に増えたという背景があります。攻撃者の格好のターゲットになったことと、Zoomの脆弱性の増加は、連動した現象なのです。

ここまでの説明でお気づきかもしれませんが、「脆弱性が多く報告されている」ことは必ずしも「品質が悪い」ことを意味するのではありません。脆弱性が存在してもそのことが報告・公表されていなければ、「脆弱性がある」とは認知されないわけです。

脆弱性対策の基本と企業での実践方法

脆弱性対策の基本的な考え方としては、システムの欠陥をつぶし、脆弱性を無くすこと(「攻撃の的」を無くすこと)が最も重要です。企業での実践方法としては以下の項目があげられます。

修正パッチの適用


衣服等の破れを補修する「継ぎ当て」や傷口に貼る「絆創膏」のことを英語で「パッチ(patch)」と言いますが、脆弱性を修正するプログラムも「パッチ」と呼ばれます。修正プログラムを適用することは「パッチをあてる」と言われたりします。パッチをあてることにより、システムに影響が及ぶ場合があります。適用にあたっては事前に調査を行い、必要に応じて十分な検証を実施してください。なお、自組織で開発したシステムに関しては、必ずテスト環境を用意し、パッチ適用による整合性チェックを行いましょう。

ソフトウェアやOSの定期的なアップデート

アップデートされた最新バージョンでは既知の脆弱性や不具合が修正されていますので、後回しにせずに更新を行うようにしてください。

セキュアプログラミングで脆弱性を作りこまない体制に

自組織で開発したソフトウェアやWebアプリケーション等の場合は、サービスが稼働する前の上流工程(開発段階)から、そもそも脆弱性を作り込まない体制を構築することが大切です。

また、テレワーク環境では、以上の項目に加え、クライアントサイドでのパッチ適用が適切に行われているかをチェックする体制を構築することも重要です。また、シャドーITの状況把握も厳格に実施する必要があります。

「IT部門が知らないサービスを勝手に利用され、結果として脆弱性の有無について未検証のクライアントソフトやブラウザプラグインが使われていた」という事態は防がねばなりません。

ツールを使って脆弱性を見つける

脆弱性を発見するためのソフトウェアは「チェックツール」「スキャンツール」「スキャナ」などと呼ばれます。以下に、代表的なものをご紹介しましょう。有償、無償のさまざまなツールが提供されていますので、機能や特徴を知り、ニーズに合致するものを試してみてはいかがでしょうか。

  有償ツール 無償ツール
Webアプリケーション向けAppScan、Burp Suite、WebInspect など OWASP ZAP など
サーバ、ネットワーク向け Nessus(一部無償)、nmap など Nirvana改弐、Vuls など

「脆弱性診断」サービスで自組織のソフトウェアの脆弱性を見つける

上記でご紹介したツールを使えば、脆弱性のチェックを自組織で行うことが可能です。しかし、前述の通り、「脆弱性が存在するのに報告されていない」ために情報がツールに実装されていないソフトウェアも数多くあります。また、一般に広く利用されているソフトウェアであれば次々に脆弱性が発見、公開されますが、自組織で開発したWebアプリケーションの場合は、外部に頼れる脆弱性ソースはありません。さらに、実施にあたっては相応の技術的知識が求められます。そこで検討したいのが脆弱性診断サービスの利用です。脆弱性の有無を確認するには、脆弱性診断が最も有効な手段です。

脆弱性診断サービスでは、システムを構成する多様なソフトウェアやWebアプリケーション、API、スマホアプリケーション、ネットワークなどに関し、広範な知識を持つ担当者が、セキュリティ上のベストプラクティス、システム独自の要件などを総合的に分析し、対象システムの脆弱性を評価します。組織からの依頼に応じて、「自組織で気付けていない脆弱性がないかどうか」を調べる目的のほか、「脆弱性に対して施した対策が充分に機能しているか」を検証する目的で実施することもできます。

対策が正常に機能しているかの検証を含めた確認には専門家の目線をいれることをおすすめしています。予防的にコントロールをするといった観点も含め、よりシステムを堅牢かしていくために脆弱性診断をご検討ください。

脆弱性との共存(?)を図るケースもある

最後に、診断で発見された脆弱性にパッチをあてることができないときの対処法をご紹介しましょう。

まず、「パッチを適用することで、現在稼働している重要なアプリケーションに不具合が起こることが事前検証の結果判明した」場合です。このようなケースでは、システムの安定稼働を優先し、あえてパッチをあてずに、その脆弱性への攻撃をブロックするセキュリティ機器を導入することで攻撃を防ぎます。セキュリティ機器によって「仮想的なパッチをあてる」という対策になるため、「バーチャルパッチ」とも呼ばれます。

また、脆弱性が発見されたのがミッションクリティカルなシステムではなく、ほとんど使われていない業務アプリであった場合は、脆弱性を修正するのではなく、そのアプリ自体の使用を停止することを検討できるでしょう。これは、運用によってリスクを回避する方法といえます。

なお、前項でご紹介した脆弱性診断サービスの利用は、脆弱性に対して以上のような回避策をとる場合にも、メリットがあるといえます。発見された脆弱性について、深刻度、悪用される危険性、システム全体への影響度といった、専門サービスならではのより詳細な分析結果にもとづいて、対処の意思決定を行えるためです。

まとめ

・サイバー攻撃の端緒となる脆弱性はプログラムの設計ミスなどによって生まれます。
・海外では脆弱性への対応を怠ったことで発生した情報漏えい事故で社長が辞任に追い込まれた事例もあります。
・脆弱性情報はベンダのWebサイトやJVNなどで公開されています。
・自組織のネットワークやソフトウェアなどの棚卸しを行い、それぞれのバージョンを把握しましょう。
・利用者が多いソフトウェアほど脆弱性が発見されます。必ずしも「脆弱性の報告数が多い=品質が低い」というわけではありません。
・脆弱性診断サービスは、自組織で開発したWebアプリケーションなどの脆弱性を発見するのに有効です。

関連情報

● 脆弱性診断の必要性とは?ツールなど調査手法と進め方

● 2019年下半期 カテゴリ別脆弱性検出状況


年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

見えない部分のセキュリティは忘れられがち
―メモリ領域の安全を考える―

Share

いまメモリの安全に関して、その重要性がますます注視されています。OSやアプリケーションを動作させるために必要なデータやプログラムは、そのほとんどが一度メモリ領域に展開されているため、メモリ領域が侵害された場合、実行中のソフトウェアから生きた情報が抜き出されてしまいます。にもかかわらず、メモリ領域のセキュリティは忘れられがちです。本記事では、メモリ領域に存在する脆弱性の脅威と、それを保護するためにどのようなセキュリティ対策を講じればよいのかについてご紹介します。


「メモリ」はコンピュータ用語では「記憶装置」や「記憶媒体」のことを指し、「メモリ領域」とは、その記憶媒体に保存されたプログラムを実行するときに、当該プログラムをロードするメモリの記憶領域を指します。つまり、OSやアプリケーションを動作させるために必要なデータやプログラム、プログラムの実行ロジックそのものまで、すべてがメモリ領域に存在しているといえるため、セキュリティ対策を行う上ではメモリ領域の安全を考えることが非常に重要となります。メモリ領域が侵害されると、実行中のソフトウェアから生きたデータを抜き出すことが可能となり、機微情報が悪意ある第三者に漏洩したり、プログラムの処理が改竄されることで不正に実行されたりする危険性があります。

2020年5月、Googleは2015年以降にChromeのコードベースで存在が確認された重要度の高い脆弱性のうち、約70%がメモリの安全性に関する問題であることを明らかにしました。メモリの安全に関する問題については、過去にMicrosoft社も同様に警鐘を鳴らしており、世界全体で毎年登録・公開される脆弱性において、常に20%程度をメモリ関連の脆弱性が占めています。

図1:Chromiumプロジェクトにおけるhigh以上の脆弱性

解放済みメモリに関連する脆弱性
他のメモリ関連の脆弱性
その他
セキュリティ関連のアサート

出典:
https://www.chromium.org/Home/chromium-security/memory-safety
より当社翻訳

普段OSやアプリケーションを使用する際、動作過程においてメモリ領域でどのような処理が実行されているかを深く意識する人は少ないでしょう。プログラムは、メモリ領域にすべてを展開して処理します。プログラムそのものもメモリ領域に存在しており、接続する各種デバイスも連携時にメモリ領域にて処理や制御が行われています。そんなシステムの根幹だからこそ、メモリ領域のセキュリティは万全であるべきですが、残念ながら脆弱性は存在し、攻撃者にとって格好のターゲットとなりえます。

図2:「メモリ領域への展開」の概要

メモリ関連の脆弱性、特にメモリ領域に関連する脆弱性の原因は、主にC/C++のポインタ周りのコーディングミスによるもので、代表的な脆弱性として、バッファオーバーフロー、領域外読み取り、Use-after-free(解放済メモリの再利用)といったものがあげられます。C/C++のメリットの一つにメモリ領域管理での柔軟性があり、それが処理の高速性をもたらす一方で、脆弱性を生み出すという皮肉な結果に結びついているのです。

図3:主要プログラミング言語と現在利用されている代表的分野

メモリ領域を狙った攻撃にはステルス性が高く、一般的な攻撃検知策では検知が困難なケースもあり、また、被害も甚大となる可能性があります。近年ではニュース等で「Spectre」、「Meltdown」といった単語をよく耳にしたことでしょう。これらはCPUの脆弱性を突くものですが、メモリ領域へのアクセスにおいて、CPUを介さずに各種デバイスとメモリ間でデータ転送を直接行うDMA(Direct Memory Access)にもセキュリティ脅威は存在します。DMA攻撃については、Thunderbolt経由でデータへの完全なアクセスを得ることが可能となる「Thunderspy攻撃」が記憶に新しいかもしれません。DMAはメモリへの直接アクセスによりデータ転送の高速化を実現する一方で、その有効性が攻撃者に逆手に取られ、悪用される事態が後を絶ちません。

プログラムの実行順序や構造が、まるでスパゲティが絡まったように複雑に入り組んでおり整然としないプログラムを「スパゲティプログラム」などといいますが、昨今はメモリ領域内でも複数のアプリケーションや制御処理が複雑に連鎖・連携・連動し、似たような状態に陥っていることも珍しくありません。こうしたすべてを把握することは困難であり、将来においてはさらに複雑化していくでしょう。

メモリ領域は「美味み」と「鮮度」を兼ね備えており、攻撃者にとっては非常に魅力的なターゲットといえます。また以前に比べて、現在は標準的なシステムでもメモリ領域は潤沢で、迅速な処理が実行可能となったことや、リソースの利便性が向上したことにより、今後もメモリ領域への依存性が高まることは容易に想定されます。

潤沢となったメモリ利用例
・クラウド環境などの仮想化
・外部媒体とのデータ通信
・AI化およびビックデータの統計処理

以上の点から、メモリ領域を保護するためにセキュリティ対策として、システム自体、あるいは周辺機器に対する物理的な対策を除いた場合、一例として次の3つの観点と対策が考えられます。


実行プログラムに対する脆弱性対策
メモリ関連処理のロジックを正しく制御させ、ソースコード内に脆弱性を作りこまないようにする。

アプリケーションを実行させる環境に対する脆弱性対策
パッチの適用やアップデートなどを徹底し、プラットフォーム環境や関連するデバイス制御などに既知の脆弱性がないことを確認する。

メモリ領域を防御するセキュリティソリューションの導入
アプリケーションメモリファイアウォール等、メモリ領域の保護に特化したソリューションを導入、運用する。


メモリ領域には多種多様なプログラムが存在し、連携・連動しています。そのため、小さなセキュリティホールでも悪用されれば大きな被害を生む恐れがあります。プログラムも所詮、最終的には人間が作るものであり、「人間はもともとミスを起こしやすい動物である」とは人間工学でもいわれていることです。どんなに完璧なコーディングをしたと思っても、複雑化された構造の中にミスやエラーが埋もれてしまっているかもしれません。開発において当然テストはするでしょう。しかし、セキュリティを考慮しないテストでは正常動作の確認が主であり、『アクセス違反』(Access Violation)を見つけることに集中しがちです。

そのため、メモリ領域の脆弱性に関連するセキュリティ向上策の一つとして、セキュリティの観点からテストを行う「ソースコード診断」の実施も有効と言えるでしょう。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

ソースコード診断の必要性とは?目的とメリットを紹介

Share

WEBアプリケーションは、プログラムの集合体であり、 ソースコードとはシステムやWebアプリを動かすコンピュータプログラムのことです。 このプログラムの集合体は現在では人間から読み書きしやすい言語で書かれていることが多くWebアプリケーションは人間にも読みやすいプログラムのテキスト、ソースコードの集合体と言い換えることができるようになっています。

脆弱性診断とは、システムのセキュリティ上の問題点を洗い出す検査のことですが、その中でも診断対象によりさまざまなサービスがあります。この記事では、その中の「ソースコード診断」を取り上げて、その定義、特徴、メリット、目的などを紹介します。

ソースコード診断とは?

脆弱性診断とは、システムのセキュリティ上の問題点を洗い出す検査のことを指します。
診断対象により、さまざまな脆弱性診断サービスがあります。

まず、企業が開発したWebアプリケーションが挙げられます。
問合せや会員登録といった、入力フォームの入出力値の処理、ログイン機能の認証処理などに対して、幅広く網羅的に脆弱性診断が行われます。
次に、そのWebアプリケーションを実行するサーバやネットワーク機器、OSやミドルウェアに脆弱性がないか検査するネットワーク診断があります。
そのほか、近年増加の一途をたどる スマホアプリケーションや IoT機器を対象とした脆弱性診断もあります。

このうち、ソースコード診断とは、アプリケーションのソースコード(開発者が書いたプログラム)を解析して、セキュリティ上および品質上の問題をコーディングレベルで検査する診断のことをいいます。

ソースコード診断

ソースコード診断には、ツールを用いて自動的に処理するツール診断(自動診断)と、セキュリティエンジニアが目視で確認する手動診断があります。

効率的に網羅性を確保できる自動診断ツールの支援は欠かせません。

一方手動診断は、機械的に検出できず、人間による判断が必要な脆弱性を発見します。手動のみで行う場合もありますが、多くはツール診断と組み合わせて網羅性と精度を上げていきます。

ソースコードを開示するため、ソースコード診断はホワイトボックステストと呼ばれます。これに対して、ソースコードや設計書を見ずに、システムの外部からアクセスして脆弱性や動作を検証する方法をブラックボックステストと呼びます。

ソースコード診断の特徴とメリット

ブラックボックステストでは検出が難しい脆弱性がソースコード診断なら検知できる場合があります。具体的には 「ソースコード診断で検出できる脆弱性」で後述します。

ブラックボックステストは、すでにソフトウェアあるいはシステムが機能していることを前提とした、リリース前あるいはリリース後に実施します。これに対して、ソースコード診断はその前段である開発プロセスから実施できるため、テスト結果を受けてプログラムを修正することが可能です。

開発の手戻りを減らすことでコストや工数削減につながります。詳細は「ソースコード診断の有効性」を参照してください。

ソースコード診断を実施する目的

ソースコード診断の目的は、プログラムに作りこんでしまった脆弱性を網羅的に検出することです。開発時に繰り返し実施し、開発者が修正していく運用が想定されています。

ソースコード診断の有効性

ソースコード診断は開発段階初期から実施可能です。リリース直前やリリース後に脆弱性が発見される可能性を抑えることで、より効率的で信頼性の高いシステム開発が可能になります。

CPE-Coreとはソースコード内の脆弱性と品質面の問題を検査する当社の自動静的解析ツールです。

システムのセキュリティを確保する方法

開発(Dev)、運用(Ops)、セキュリティ(Sec)を一体にしてシステムライフサイクルを回すDevSecOpsという考え方が注目を集めています。DevSecOpsとは、開発の全工程において、開発チームと運用チームが相互協力し、その一環にセキュリティを組みこむことで、アプリケーション開発のセキュリティを確保していく考え方のことをいいます。ここでは、開発プロセスのどこで、セキュリティを確保するための施策を実施するか説明します。

DevSecOpsにおけるセキュリティ対策

DevSecOps実現のためには、「シフトレフト」の考え方が大切になります。
セキュリティを開発の最終段階で対応したのではすでに遅く、開発プロセスの全フェーズにおいて常にセキュリティ上の課題を先取りして解決しながら進めることが、テストやリリースといった最終段階での手戻りを防ぎ、結果的にトータルコストの削減と品質の向上に寄与します。

一般的なセキュリティ対策として多くイメージされている「Webアプリケーション脆弱性診断」は「テスト」「リリース」工程におけるセキュリティ対策の一つ。
その一つ手前工程の「製造」工程におけるセキュリティ対策の一つが「ソースコード診断」です。

セキュアプログラミング

ソースコード診断の前に、そもそもシステムの設計・開発段階で、開発者が脆弱性を作りこまないようにする手法があります。これをセキュアプログラミングと呼びます。セキュアプログラミングで開発し、本当に脆弱性を作りこんでいないかどうかソースコード診断でチェックします。

ソースコード診断で検出できる脆弱性

一般的なWebアプリケーション脆弱性診断(ブラックボックステスト)では検出しにくい脆弱性も、ソースコード診断(ホワイトボックステスト)では発見できる場合があります。
たとえば未使用のコード、ログファイルによる情報の露出、エラーメッセージによる情報の露出などは、ソースコードを直接確認することで検知可能になります。

以下はWebアプリケーション診断とソースコード診断の両方の観点で検出可能な脆弱性です。
ここでは代表的な脆弱性(セキュリティバグ)について説明します。これらのバグを突く攻撃の名称としても用いられています。

バッファオーバーフロー

プログラムを実行する際に確保するメモリ上のバッファ領域に対して、このサイズを超過するデータを書き込めるようになっているバグです。攻撃者は超過する部分に不正なプログラムを書いて実行します。

フォーマットストリング

プログラム中の、書式設定用の関数(フォーマットストリング)の引数の処理に関するセキュリティバグです。正しくは、引数として不正な値が入力された場合には、処理を止めてエラーメッセージを返さなければなりません。

SQLインジェクション/コマンドインジェクション

SQL(データベースを定義、操作する言語)文や、その他のコマンドが入力された場合でも、エラーにせずに処理してしまうバグです。攻撃者の観点からは、コマンドを注入(インジェクション)する形になるため、この名が付いています。攻撃の入り口はアプリケーション上の通常の入力欄で、ここに不正な値を入力することで攻撃を開始します。

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

悪意のあるスクリプト(プログラム)をユーザのコンピュータに注入して、複数のWebサイトをまたいで(クロスサイト)行う攻撃や、その攻撃で利用される脆弱性を指します。

まとめ

・ソースコード診断はソースコード(開発者が書いたプログラム)を解析し、セキュリティ上の問題点を発見する
・開発フェーズの初期から実施することで、リリース直前に脆弱性が発見されるようなスケジュールに影響するトラブルを防止する
・一般的なWebアプリケーション脆弱性診断では検出しにくい脆弱性も、ソースコード診断を実施することで開発段階から検出ができる

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

診断結果にみる情報セキュリティの現状
~2019年下半期 診断結果分析~

Share

SQAT® Security Report 2020年春夏号

BBSecの診断について

当社では、Webアプリケーション、ネットワーク(プラットフォーム)、スマホアプリ、IoT、パブリッククラウド、ソースコード、標的型攻撃に対するリスク可視化等、様々な局面における診断サービスを提供することで、お客様のニーズにお応えしている。

当社の脆弱性診断サービスは、専門技術者による高精度の手動診断と独自開発のツールによる効率的な自動診断とを組み合わせ、検出された脆弱性に対するリスク評価について、右表のとおりレベル付けしている。お客様のシステム特性に応じた脆弱性の検出、リスクレベルの評価、個別具体的な解決策の提供が適切に行えるよう、高い頻度で診断パターンを更新し、診断品質の維持と向上に努めている。

2019年下半期診断結果

当社では、2019年7月から12月までの6カ月間に、14業種延べ537企業・団体、4808システムに対してシステム脆弱性診断を行った。情報セキュリティ対策に重きを置く企業・組織側の姿勢もあり、診断案件数は年々増加している。脆弱性の検出率は以下のとおりである。

脆弱性診断脆弱性検出率2019年下半期

診断の結果、Webアプリケーション診断では、脆弱性が検出されたシステムが全体の81.5%と、前年同期(2018年下半期)の84.9%に比べて微減しているものの、依然として高い割合である。ネットワーク診断においては、脆弱性検出率はシステム全体の47.8%であり、2017年下半期以降、減少傾向にあるが、およそ半数のシステムに何らかの脆弱性が検出されている。

検出された脆弱性のうち、早急な対処が必要な「高」レベル以上のリスクと評価された脆弱性は、Webアプリケーションでは26.9%、ネットワーク診断では30.4%検出されている。前年同期比(2018年下半期「高」レベル検出率:Webアプリケーション27.6%/ネットワーク診断 17.8%)でいうと、Webアプリケーションはほぼ横ばいだったが、ネットワークは12.6ポイント増えておりリスクレベルの高い脆弱性が増加傾向にある。当サイトでは、 「2019年下半期カテゴリ別脆弱性検出状況」とし、当社診断で検出された脆弱性を各性質に応じてカテゴライズし、評価・分析をした結果をまとめた。以降、診断カテゴリごとに検出数が多かったものの中から、特筆すべきことに焦点を当ててリスクや対策を述べる。

Webアプリケーション診断結果

Webカテゴリ結果の31.4%を占める「システム情報・ポリシーに関する問題」のうち、最も検出数が多かったのは、「脆弱なバージョンのOS・アプリケーションの使用」である。脆弱なバージョンのOS、アプリケーションを使用している場合、既知の脆弱性の影響を受ける可能性がある。最新バージョンへのアップデートが望ましいが、システム環境における制約等の理由でバージョンアップができないのであれば、必要なセキュリティパッチがすべて適用されていることを確認すべきである。

次にWebカテゴリ結果の検出割合が多かったのは、19.7%を占める「セッション管理に関する問題」。最も検出されたのは、「不適切なセッションタイムアウト」であった。ログインセッションのタイムアウト値が適切に設定されていないと、長時間操作を行わずアイドル状態のままでもセッションが維持されることから、セッションハイジャック等の攻撃が成功する確率が高まるほか、サービス運用妨害(DoS)攻撃につながる可能性もある。セッションタイムアウトは、Webアプリケーションのデフォルト設定として一般的に採用されている30分が望ましいが、ユーザビリティを考慮してタイムアウト値を長くする場合は、追加のリスク緩和策を講じることが推奨される。

ネットワーク診断結果

NWカテゴリ結果の52.3%が「通信の安全性に関する問題」であった。なかでも、「推奨されない暗号化方式の受け入れ」(検出割合は右表を参照)の検出数がトップであり、第2位の「推奨されないSSL/TLS通信方式の使用」と比べて2倍以上の差がある。

サーバがブロック長64ビットのブロック暗号をサポートしている場合、誕生日攻撃(birthday attack)を介して長い期間暗号化されたセッションを復号・解読される「SWEET32」と呼ばれる攻撃の影響を受ける可能性がある。「NVD(National Vulnerability Database)」などに本脆弱性の影響を受ける製品は公表されており、ベンダからも正式な対策が公開されていて、ベンダ情報を参照のうえ対策することが望ましい。

SSL/TLS通信において、強度の低い暗号化方式(RC4、3DESなど)が許容されていると、既知の脆弱性を悪用した攻撃(平文回復攻撃など)により、攻撃者に暗号化されたデータが解読される危険性がある。また、強度が低いハッシュアルゴリズム(SHA-1など)が許容されていると、衝突攻撃に弱くなり証明書の偽造等が可能となる恐れがある。鍵長が128ビット未満の暗号方式については、総当り(Brute-Force)攻撃への耐性が低く、中間者(Man-in-the-Middle)攻撃などの標的になりうる。強度の低い暗号化方式やハッシュアルゴリズムは使用を停止し、SSL/TLSによる通信の保護には鍵長が128ビット以上の暗号化方式を実装するべきである。SSHプロトコルにおいても、攻撃者に暗号文を解読される恐れがあるため、脆弱な暗号化方式およびハッシュアルゴリズムを許容しないことが望まれる。

カテゴリ別の検出結果詳細についてはこちら

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

自動車ハッキングの今

Share

SQAT® Security Report 2019年10月号掲載

自動車業界のトレンドは「Connected(コネクティッド化)」「Autonomous(自動運転化)」「Shared/Service(シェア/サービス化)」「Electric(電動化)」の頭文字をとった「CASE」という言葉に集約されつつある。自動車は外部ネットワークと繋がり、新しい価値が創出されようとしているが、販売されている自動車の多くはセキュリティ対策が不十分なため、ハッキングの脅威に晒されている。


車載ネットワーク「CAN」

自動車内には主に四種類のサブネットワークが存在している。エンジンやブレーキの制御をつかさどる「制御系」、ドアやエアコン、シートやミラーを制御する「ボディ系」、カーナビやカーオーディオを制御する「マルチメディア系」、エアバッグなどの安全機能にかかわる部品を制御する「安全系」である。そしてそれらは、多くの車では制御の要となるCAN(Controller Area Network)を中心に、様々な機能を付加する形で車載ネットワークを構成している。

自動車ハッキングにおいて主に狙われるのがこのCANである。CANは1980年代にドイツのボッシュ社で開発された非常にシンプルなプロトコルで、その簡潔性、柔軟性、低コスト性から、今なお多くの自動車で採用されているほか、鉄道、航空機、船舶にも利用されている。

自動車に最も求められるのは、「走る」「止まる」「曲がる」に関する高い安全性であるが、CANは高い電磁ノイズ耐性と早く確実なレスポンス性能を持ち、安全性に対する多くの要求に応えるものだった。

一方で車が外部ネットワークに繋がったことによって、CANはセキュリティに関する多くの問題を抱え、安全性すらも脅かされている。Flex Ray のようなCANに代わるよりセキュアなプロトコルも登場してきているが、その採用は現状ではまだまだ限定的である。

自動車の未来

コネクティッドカーの登場により外部ネットワークに繋がれた自動車は、インターネットを経由した攻撃や、車車間通信を経由した攻撃に晒されている。今後自動運転車が本格的に市場に投入されるようになれば、外部ネットワークへの接続からのリモート操作が人命にかかわる大事故につながる恐れがある。また、EV充電や課金を伴う新サービスの登場により車がクレジット情報を直接的に扱うようになれば、それを狙った犯行の発生も予想される。

Electronic Control Unitの略称。自動車に搭載された様々な機能や装置を電子制御するためのコンピュータ。現在では車載ネットワーク上に100以上のECUが接続されることも珍しくない。

自動車にもセキュリティを考えなければならない時代が来ている。
自動車向けのサイバーセキュリティガイダンスであるSAE J3061*1 を取り入れたり、設計段階からのセキュアコーディング、さらに実車に対する脆弱性診断を実施したりするなど、今後ますます対策が必要になるであろう。

(左)燃料噴射量を調整してエンジンの回転数を増やす操作 (中)(右)燃料計の表示を操作。走行中に操作されればパニックになる可能性があるほか、攻撃のための細工を施した特定の燃料スタンドに立ちよらせるために利用することもできるだろう。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

<対談>杉浦 隆幸 氏(合同会社エルプラス 代表社員) ✕ 齊藤 義人(BBSec SS本部 本部長 )

Share

SQAT® Security Report 2019年3月号

     杉浦 隆幸 氏 × 齊藤 義人  

日進月歩のサイバーセキュリティ。昨年「一般社団法人 日本ハッカー協会」を設立し、サイバーセキュリティ、システム開発、IoTなどさまざまな分野でハッカーに活躍の場を提供し、ハッカーの地位向上と活躍によるネット社会の安全や健全な発展を通じて日本のセキュリティの進歩に寄与する杉浦隆幸氏に、当社セキュリティサービス本部本部長 齊藤義人が忌憚のない意見をぶつけた。

※当社は一般社団法人 日本ハッカー協会の賛助会員です。


BBSec:まずはお二人に、昨年の総括と申しましょうか、2018年に起こったサイバー事案についてお伺いします。

杉浦:総括といいますか、2018年は仮想通貨まわりの事案が大きく動きまして、2018年1月にはCoincheck(コインチェック)2、9月にはZaif(ザイフ)2 、Monappy(モナッピー)3の話題が世間をにぎわしましたね。被害額が通常では考えられないくらいの桁数が出ておりまして、500億とか、お金が絡んでハッカーが本気になると被害が大きくなるということが証明された感じです。

齊藤:金銭的な動機があった、ということが明確に現れてますね。2017年はランサムウェアとか小金を狙っていたのが、2018年では変化があった。インターネットで巨大な金額が動くとなれば、当然そちらがターゲットになっていくわけですね。

杉浦:そうですね。ランサムウェアの場合も、小金と大金がありましたが、世界的な傾向として、データベースを狙うなど、金額が大きくなった感じですね。

齊藤:攻撃者の成功体験が、またその先の誰かの攻撃手法になっていくという。

杉浦:目立つ成功は真似されやすいですよね。

齊藤:仮想通貨のお話はまさに杉浦さんのご専門ですが、先に話の出たZaifの事件は新聞にも掲載されて一般の方にも話題になるほどでしたね。元々OSINTコミュニティでMonacoinを追っている途中で、突然Zaifの話が出てきたという経緯があったため、有志の動きがものすごく早かったと聞いています。いわゆるハッカーと呼ばれている人々が一気にビットコインのシステムのハッシュを集めて…という動きを、警察で実施するとなるとおそらく膨大なコスト(人件費)がかかるので、同じようなスピードで対応するのは難しいのではないかと思います。こうしたハッカー有志が動けるというのは、言い方が正しいかどうかはともかく、経済効果がすごく見えてきたのではないかなと思っているんですよ。社会的な貢献要素というか。

杉浦:ただ実際に彼らが集まるのも、私が企画(「Zaif犯人追跡ハッカソン」4)した以上は将来的にお金が見えている可能性があるので(笑)。そうでないとあんな優秀な人たちを使えないですから、実際は。そういう仕組みをしっかり整えて、それを実証することによって、将来的に同様の事件があった場合に、速やかに対応をとれるような体制5を構築することが大事ですね。結構な費用がかかるんですが、(官は)前例がないことに費用はかけにくい。ですから前例を作ってしまおうというのが狙いではありますよね。

齊藤:それが実際に功を奏した、と。

杉浦:まぁ、そうですね。ただ、犯人はほぼ特定できたものの、実際の逮捕は警察次第。氏名が特定できても捕まるかどうかというのはまた別の問題なので。そこが難しいですね。

齊藤:それはどうしても民間では届かないところというか。役割の問題ですよね。FBIなんかですと、サイバーアタックの犯人リストがあったりしますが、日本ではそういった動きはまだないですね。
企業の対応もどうしたらいいですかね。例えば、これからも仮想通貨サービスはどんどん増えていって、いつかは法律で縛りがより強くなってくると思いますが。

杉浦:それがまさに問題ですね。実はLINEさんは仮想通貨の取引所をしていらっしゃるんですけど、知らないと思うんですよ、皆さん。というのも、サービスの提供で日本と米国は除外されているという、非常によくない状況になっていまして。コインチェック事件があったことで、認可側のマンパワーが足りないために認可がとれない状況ですね。

齊藤:なるほど。そんなことで日本の経済スピードを落としてしまうという可能性も出てくる、と。

杉浦:そうです。実際、規制があまりにも厳しすぎて経済スピードは落ちています。まぁ、事件起こしたところで、ちゃんと対策したところは、十分強くなっていますけど。

齊藤:確かに、反動力がありますね。

杉浦:ええ。相場モノですので、戻しは必ずあります。1回落ちたら必ず戻すっていうのが。

齊藤:「不正マイニング」の話なんかはどうですか。

杉浦:あれは微妙ですね。ちょうど裁判 も大詰め6、どこが不正でどこがそうでないのか、といったところで、セキュリティにかかわる人たちが怯えながら仕事しなきゃいけなくなるというのが現状ですね。

齊藤:たとえ、著名な方であっても、研究のための範囲だといっても関係ないですからね。

杉浦:(警察が)捕まえやすいかどうかいという、あまりよろしくない状況ですね。実はセキュリティは法的なラインが低いんです。そのため、捕まるときは大量に捕まる7、という。

齊藤:それは足枷ですね。

杉浦:セキュリティ業界全体の足枷となっております、これは。

齊藤:やはり日本企業全体で、セキュリティというものがリスクをとりながら行っているものなんだという理解が進んでいかないと難しいですね。いわゆる「ホワイトハッカー」、彼らが研究しないことには・・・。

杉浦:実際に守る側というのは、攻撃するすべての手段を想定しなければならないから難しい。攻撃する側は一つでも当たればOKなんですけれども。ひとつ突破口があれば皆それをまねてしまう。(攻撃側に)1人優秀な人が存在すればそれだけでリスクになる。

齊藤:日本国内ではセキュリティエンジニアが不足しているといいますが、例えばトップエンジニアとなるべき人をどう教育していくか、という課題がこれまでずっと何年も解決できていません。杉浦さんは昨年、日本ハッカー協会を設立されましたね。

杉浦:先にお話したような、攻撃者に対抗できるトップエンジニアになるには、相当高いスキルが必要です。ところが、セキュリティエンジニアの世界は特殊で、犯罪と紙一重ですから、一線越えたような人たちが業界には結構いる。そのおかげで進歩しているのに、「一線越えてしまったら帰ってこれない」では困ります。彼らの活躍の場が必要ですし、また罪に問われないように保護する仕組みが必要だと思ったわけです。日本では凶悪犯であればあるほど捕まりにくい、という面があります。小中学生とか、未熟なスキルの人ほどつかまってしまう。法的な知識もありませんし。そうすると、そこで将来が閉ざされてしまう。それを何とかしないと。

齊藤:脆弱性が発見されることに対する考え方も問題ですね。お客様の現場から、「何でこんなに脆弱性が見つかるんだ!」と聞こえてくることがある。いや、見つかってよかったじゃないですか、という話なんですけども(笑)。

杉浦:悪用される前にね(笑)。

齊藤:そうなんですよ、悪用される前に見つかってよかったじゃないですか(笑)。そのためにやっているのに、「何でこんなに脆弱性が見つかるんだ!」となってしまう。

杉浦:まぁ、そういうものは出てきて当たり前、逆に早めに全部出してくれというマインドを持っていただくことが必要ですね。むしろ何で出てこないんだ、というくらい。何も出てこないシステムはよほどしっかりした作りか、逆に脆弱性診断が実にやりにくいサイトか(笑)。

BBSec:診断しにくいシステムですか。結構あるものでしょうか。

齊藤:ありますね、診断がしにくい。何でこんなことになっているんだ、と。

杉浦:IPSが入っていて、一部しかコマンド飛ばないとか。アプリケーション診断なら、そういうものを排除してから実施したいというのはありますね。脆弱性が確定してからIPS入れて、防御しましょう、となるべきなんですが。

齊藤:本来はそういった「生」のものにアタックをかけて、さらに防衛されている防衛装置の上からでもいけますか、という二段階の診断をするのが望ましいですね。最近では、WAFとかIPSもある程度負荷をかけた状態の時には抜けてしまうというようなこともありますから、防御装置を入れてあるから大丈夫、ではなくて、その外側からもちゃんと見ていく、ということも必要ですね。

杉浦:特にエンタープライズ系のセキュリティというのは、全体的な統制がとれていないとか、実際動いてない機械が半数ということも多いですし。

齊藤:そうですね、IPSはどこかにアラートをあげるような設定を初期に行っていたとしても、だんだんチューニングがおろそかになって行って、実態と乖離してくることがある。

   合同会社エルプラス 代表社員
      杉浦 隆幸 氏

杉浦:やっぱり運用は難しいですからね。全部アウトソーシングしているところも多いですしね。社員1万人くらいの大きい会社さんでセキュリティをちゃんとマネジメントしようとすると、全部で20名以上のセキュリティ要員が必要になるでしょうからね。SOC(Security Operation Center)を作ったり、新しく導入したシステムのテストをするとか、インシデントレスポンス対策など考えると、やはりそれだけの人数は必要になりますが、なかなか自前でそれだけの技術者を用意するのは難しい。ですからセキュリティ専門企業をうまく使いこなすのが日本のセキュリティマネジメントのキーファクターですね。

齊藤:そのとおりですね。SIEM(Security Information and Event Management)なんかも多くの企業で導入していますが、本当に必要なログを有効な方法で取得しているか、あとで確認できるものになっているか、というとまだまだハテナをつけざるを得ない。特に企業側で運用を始めますと、工数のこと考え始めますから。余計なログはとりたくない、とか。そういう考えに陥ってしまう。そういう意味でいくと、セキュリティ専門でそこだけを見ているようなところに頼んでいただけると、運用工数ありきのセキュリティにはならないわけですね。

杉浦:またセキュリティのスペシャリストは専門性が高いですから、いろんな事例を知っていた方がお客様に対するフィードバックも厚くなる。そういうことを考えると、社外の、豊富な事例を知っている専門家に依頼する方が有効ですね。社内で脆弱性診断を抱える意味はまったくないです。よほどたくさんのサービスを持っているなら別でしょうけど。

BBSec:一人の優秀なエンジニアが突破口となって飛躍してしまう、とのことでしたが、そうした攻撃手法や脆弱性の検証に苦労したお話があればお伺いしたいのですが。

杉浦:検証自体、結構苦労しますよね。脆弱性を見つけるだけならバージョンチェックで済むこともありますよ。いま年間1万件以上の脆弱性が発見されるじゃないですか。専門家であっても、その数を全部追いかけるのは難しいわけですよ。

齊藤:CVSSの登録をするのがセキュリティエンジニアのマスト要件か、ぐらいの感じで(笑)。再現性の問題ですが、IoT機器なんかは、製品は大きなものなのでひとつしかお貸し出しできません、となったりすると、トライできる回数が非常に限られてしまう。そういったことが、検証が難しい要因となりますね。

杉浦:理想を言えば、「壊すのでひとつください」ですよね。いろんな検査をして結果的に壊していいものと、正常な振る舞いを見るためのもの。このふたつをください、です。

齊藤:本当に1回しかトライできないとなると、例えばBlack HatDEFCONで、爆弾処理のトレーニングがあるんですね。ちょうどその一人目がクリアする前の記録を見ると、342人とありましたので「ああ、342人死んだんだな」と。実際に防ぎなさいという場合はどう検証しようか(笑)。

杉浦:無理やり、液体窒素で冷やして、爆発しないようにして、爆発するときは爆発用に囲った中でとか、あるいは敢えて爆発させてみて検証するとか、色々あるんでしょうけども。訓練としては面白いですよね。作ってみましょうか。爆発したら花火が上がるとか・・・(笑)。
先ごろ*8 4年ぶりに改定されたOWASP IoT Top 10でもファームウェアのアップデートをちゃんとしなさい、と言っているんですが、当たり前のことがやっと書かれたくらいです。IoT機器は使われる期間が長いし、ある程度ユーザが考えていかなきゃならない部分もあるんですよね。

BBSec:企業でも忘れられた機器が残っていることがありますね。

齊藤:繰り返しになりますが、システムの運用を維持する、というのは本当に大変なことなんですよ。

杉浦:セキュリティコストが高い、といわれる一番の原因は運用の問題でして。運用もやっぱり費用がかかるわけですから、そもそもの設計段階で、安全性を担保しながら費用を軽減できる方法を考えておかなければならない。それをしないと、セキュリティをまともにやろうとした段階ですごく高コストになるんですよ。大体機器の2倍から5倍かかるというのが一般的です。コストばかりかかって実効性がないセキュリティになってしまったりするんです。それは経営層がちゃんと考えておかなければならない。予算は有限ですからね。

齊藤:例えば、建物の縁の下がどれだけゴミだらけでも住んでる人は気にしない、みたいな感じですね。放置していたらそこから腐っていって土台が緩んだりすることもあるし、誰か入り込んでくる可能性だってある。その辺をセキュリティに置き換えたときにどのくらい想像できるかでしょうね。

杉浦:誰も見てない、録画してない監視カメラがやたらあるけど・・・みたいな(笑)。ある程度の防犯効果はあるだろうけど、いざというときに役に立っていない。

齊藤:そういった防犯効果だけを求めるのであれば、高額な機器を導入するのではなく、代替機器でどうにかする、という発想も必要ですね。本当に必要な機能を適正に選んでいく、というのが大事です。先ほどの家の話でいきますと、お風呂場で覗かれるのを防ぐために防犯カメラを導入するのかというと、そこまでは必要ない。むしろ、お風呂場の窓の下に砂利を敷き詰める方がコストもかからず効果も高い。

杉浦:そうです、音が鳴るだけでも十分効果が得られますから。

齊藤:ですから、そうした全体像をどこまで描けるか、が重要ですね。

BBSec: 仮想通貨を巡る話題から、日本のセキュリティ業界のあり方やトップエンジニアの将来を守りたい、という強いお気持ちなど、「サイバーセキュリティ最前線」にふさわしいお話を伺うことができました。本日は長時間ありがとうございました。


杉浦 隆幸 氏
合同会社エルプラス 代表社員
Winnyの暗号の解読にはじめて成功、ゲームのコピープロテクトの企画開発をはじめ、 企業や官公庁の情報漏洩事件の調査コンサルティングを行う。 昨今では仮想通貨の安全性確保、Androidアプリの解析や、電話帳情報を抜くアプリの撲滅、 ドローンをハッキングで撃墜するデモや、自動車のハッキングなどを行う。テレビなどの出演多数 。

齊藤 義人
株式会社ブロードバンドセキュリティ (BBSec)
セキュリティサービス本部本部長
Webアプリケーションを中心とした開発エンジニアを経て、官公庁および 大手顧客向け脆弱性診断・ペネトレーションテストに従事。 数年にわたる長期かつ大規模システムのプロジェクトマネージャーとして活躍。


年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。