派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【コラム】情報漏洩を防ぐために実施すべき対策とは:エンジニアが生き残るためのテクノロジーの授業 #6

この記事では、動画 「エンジニアが生き残るためのテクノロジーの授業 #6:情報漏洩を防ぐために実施すべき対策とは」をまとめています。今使っているパソコンや現在のパスワード管理は安全ですか?日々巧妙化する攻撃をどう防ぐことができるのか、身の回りを再確認しながら押さえていきましょう。

はじめに情報セキュリティを考える中でも、特に情報漏洩について、どのような経路があるのか、どういった攻撃があるのか、といった視点から紹介します。

【筆者】
増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピューターを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『Pythonではじめるアルゴリズム入門』『IT用語図鑑』『図解まるわかりセキュリティのしくみ』(以上、翔泳社)、『プログラマのためのディープラーニングのしくみがわかる数学入門』『プログラミング言語図鑑』(以上、ソシム)、『基礎からのプログラミングリテラシー』(技術評論社)などがある。

内部からの情報漏洩を防ぐ

情報漏洩というと、外部から攻撃を受けることをイメージする人が多いかもしれませんが、実際には人為的なミスが多いことが知られています。例えば、日本ネットワークセキュリティ協会による調査報告書を見ると、紛失や置き忘れ、誤操作、管理ミスといった人為的ミスが全体の3分の2を占めていることがわかります。

f:id:itstaffing:20211201103654j:plain

▲特定非営利活動法人日本ネットワークセキュリティ協会
2018年 情報セキュリティインシデントに関する調査報告書【速報版】
https://www.jnsa.org/result/incident/2018.html

そこで、このような人為的ミスについて、どのような事例があって、どのような対策ができるのかを考えます。

よくある人為的ミス1. 紛失と置き忘れ

「バックアップを保存していた外付けハードディスクが見当たらなくなった」「電車の網棚にノートパソコンを置いたまま降りてしまった」といった事例です。

これらについては、紛失や置き忘れのリスクを減らすという対策が考えられます。「媒体の保存場所を適切に管理する」「電車の網棚などに荷物を置かない」「印刷した書類は外部に持ち出さない」といった基本的な対応です。また、もし紛失や置き忘れが発生しても、情報漏洩にならないようにする方法も考えられます。たとえば、暗号化の実施や、そもそも重要なデータをUSBメモリなどに保存しないことも有効です。

よくある人為的ミス2. 誤操作

よくあるのが、違うファイルをメールに添付して送ってしまう例です。請求書を添付しようとして、顧客情報が入ったファイルを添付してしまう、というのが誤操作です。

これを防ぐには、ファイル名を普段から工夫して、気づきやすくする方法や、送信前に複数人で確認する、という方法が考えられます。もし隣の席に同じ部署の人がいれば、メールの内容や添付ファイルを確認してもらうのも有効です。

誤操作には宛先間違いもあります。似た名前の人に間違えてメールを送信してしまう、BCCで送るべきなのにCCに入れて送ってしまったために、他の人のメールアドレスが漏れてしまう、といった事例です。これらを防ぐには、自動補完ではなくアドレス帳を使う方法が考えられます。アドレス帳で会社や組織名、グループなどを分けて登録しておけば、間違える可能性を減らせます。複数の人にメールを送る場合には、メーリングリストや配信サービスを使うことで、ミスを減らすだけでなく、相手の環境で迷惑メールフォルダに振り分けられる可能性も減らすことができます。

よくある人為的ミス3. 管理ミス

多いのが、ファイルサーバーの公開設定を誤ってしまう例です。内部だけ公開する設定にしたつもりが外部にも公開されていると、情報漏洩につながってしまいます。ある部署だけ閲覧できるようにアクセス権限を設定したつもりが、他の部署からもアクセスできてしまう、という設定ミスもあります。

これらを防ぐには、使っているソフトウェアのマニュアルを読んで、正しく設定できているかを確認することが必要です。フォルダ単位で権限を設定するだけでなく、ファイル単位でパスワードを設定することも有効です。最近のオンラインストレージでは、有効期限を設定でき、その期限を過ぎればアクセスできないような設定が可能なものが増えていますので、こういった機能を使うことも有効です。

脆弱性を狙った攻撃を防ぐ

脆弱性が発見されていれば、それを防ぐことが必要です。身近なところでは、ソフトウェアの更新プログラムがあります。修正プログラムやセキュリティパッチと呼ばれることもありますが、脆弱性が発見されたときに、それを修正したものをメーカーが無償で提供してくれるものです。機能の追加がある場合もありますので、新しい更新プログラムが提供されれば、可能な限り速やかに適用するようにしましょう。

対策1. ソフトウェアやアプリの更新プログラム

WindowsではWindows Updateがあります。スマートフォンの場合もOSを最新に更新します。OSだけでなく、OfficeやChrome、Adobe Acrobat Readerなどのアプリも更新されているか確認します。

自動的に更新されるように設定していても、更新されなくなる場合として、ソフトウェアのサポート期限が終了してしまっている場合があります。この場合、脆弱性が見つかっても修正されません。

たとえば、Windows 7はすでに2020年1月にサポートが終了しています。現在はWindows 10を使っている人が多いと思いますが、年に2回のリリースで、リリースから1年半でサポートが終了します。自分が使っているバージョンがいつまでサポートされるかを確認しておいてください。2021年10月にWindows 11がリリースされましたが、これは年に1回のリリースで、サポートは2年間と言われています。

f:id:itstaffing:20211201103701j:plain

Officeの場合も、バージョン2010はすでにサポートを終了していますし、2016のMac版もすでに終了しています。企業の場合は、Microsoft365などのサブスクリプション契約を使うのも1つの選択肢です。

対策2. ルーターなど、さまざまな機器の更新

パソコンやスマホだけでなく、その他の機器を使うことも増えています。これらの機器についても、更新プログラムの適用が必要です。たとえば、インターネットに接続するときに家庭ではルーターを使います。このルーターはインターネットに直結している部分ですが、購入時にインターネットへの接続設定ができれば、それから触っていない、という人も多いものです。

しかし、こういった機器にも更新プログラムが提供されていますので、管理画面にログインして、更新の有無を定期的に確認するようにしてください。また、サポートが終了していないか確認することも必要です。

パスワードを狙った攻撃

パスワードを狙った攻撃として、わかりやすいのは総当たり攻撃です。ブルートフォース攻撃とも呼ばれ、ログインIDを固定して、パスワードを順に試す方法です。この場合、同じログインIDで何度もログインに失敗するので、対応も難しくありません。たとえば、パスワードを3回間違えた場合にロックする、という対応を取れば、ある程度防ぐことができます。

この対策が難しいのがリバースブルートフォース攻撃です。総当たり攻撃とは逆で、同じパスワードで異なるログインIDを順に試す方法です。たとえば、パスワードとして「0000」を指定して、そのパスワードを設定しているIDを順に調べるため、3回間違えたIDをロックする、という対策が使えません。利用者の対策としては、「長く複雑なパスワード」を設定することが求められます。

しかし、長く複雑なパスワードを設定していても防げない攻撃として、パスワードリスト攻撃があります。何らかの形で攻撃者が得たIDとパスワードのリストを使って攻撃する手法で、すでに攻撃者がIDとパスワードのペアを手に入れているので、これを順に試すだけです。もし同じパスワードを別のサイトで使いまわしていると、漏れたパスワードを使って不正にログインされてしまいます。この場合には、同じパスワードを使いまわさない、という対策が求められます。

f:id:itstaffing:20211201103708j:plain

■パスワードの管理は安全ですか?再確認が必要なケースは

これに加えて、これまではパスワードを定期的に変更するように求められてきました。最近はこのような常識が変化してきています。パスワードを定期的に変えることを求めると、覚えられないために似たようなパスワードを設定する人がいます。例えば、パスワードの最後の1文字だけを5月なら5、6月なら6、というように毎月変えている人が多いのです。こうなると、定期的にパスワードを変更している意味がありません。

ほかにも、昔はタイムアウトまでの時間をできるだけ短くすることが求められました。1時間ほど操作していないと自動的にログアウトしていて、またログインを求められる、というシステムは現在も多いと思います。

しかし、頻繁にタイムアウトすると、パスワードを何度も入力しないといけなくなることから、入力が面倒になり、簡単な数字だけのパスワードなどを入力してしまいます。最近ではFacebookやTwitterなどのSNSを使っていても、タイムアウトすることはありません。昔はパソコンを複数の人と共用することが多かったですが、現代は1人1台の利用が当たり前で、他の人と端末を共用することがないからです。

もしネットカフェなどを使う場合には、ログアウトが必要ですが、自分のスマートフォンを使っている場合には、基本的にログアウトしない方が便利です。タイムアウトした場合にも、面倒な入力をするのではなく、パスワード管理ソフトなどを使う方が安全で便利です。長く複雑なパスワードを、使いまわさないように設定するためには、現代はパスワード管理ソフトが必須だと言えるかもしれません。

■2段階認証と2要素認証とは

パスワードが漏れる例としてフィッシング詐欺があります。しかし、フィッシング詐欺などに気をつけていても、ある企業で情報漏洩事件が起きると、パスワードが漏れてしまう可能性があります。そこで、パスワードが漏れていたとしても不正にログインされないようにする方法として、2段階認証と2要素認証があります。

・2段階認証

2段階認証は、ログインしようとしてIDとパスワードを入力したときに、スマートフォンなどに認証コードを送信し、それを追加で入力する方法です。これにより、IDやパスワードが他の人に知られても、スマートフォンを持っていないとログインできません。

・2要素認証

2要素認証は、記憶情報、生体情報、所持情報から2つを組み合わせる認証方法のことです。IDやパスワード、秘密の質問などの人が覚えている情報を記憶情報、指紋や静脈、虹彩といった、人が生まれつき持っている情報を生体情報、パソコンや携帯電話、IDカードといった、人の持ち物を所持情報といいます。これらを組み合わせることで、いずれか1つが盗まれても他の情報がないためにログインできなくするのです。

情報漏洩についてさまざまな原因と対策について紹介しましたが、セキュリティは1人だけが詳しくても意味がありません。今回の記事の内容程度であれば簡単すぎる、と考える人がいるかもしれませんが、1人でも意識が低い人がいるとそこから情報漏洩が発生する可能性があります。このため、知識がある人はそれを周りの人に伝えていく必要があるのです。

全員がセキュリティを意識して、詳しい人は周囲に教えるとともに詳しくない人も積極的に最新情報を手に入れるようにしてください。

▼ これまでの「コラム:エンジニアが生き残るためのテクノロジーの授業」
#1「現代のITエンジニアに求められるスキルとは?」
#2「プログラミングに必要なアルゴリズムの考え方とは?」
#3「ネットワークがつながる理由を知る」
#4「データベースのしくみと使い方を知る」
#5「仕事で使える!データ分析の基本を知る」