IT学徒の出陣

IT学徒が学んだ情報技術の知識を共有致します。

中間者攻撃(Man in the Middle Attack)に備えましょう!

皆様は、中間者攻撃というサイバー攻撃をご存知でしょうか?英語では、Man in the Middle Attack と言います。中間者攻撃をされると、TLSなどで2点間の通信を暗号化していても、その暗号を解かれて盗聴されてしまいます。


中間者攻撃は、2点間の間に攻撃者の端末が介在して、通信を盗聴する攻撃です。2点間の終点同士は攻撃者の端末が正当な通信相手だと勘違いするのです。つまり、攻撃者の端末は、2点間のそれぞれになりすますことで通信を傍受するのです。


中間者攻撃はどうすれば実現できるのでしょうか?中間者攻撃は、DNSキャッシュポイズニングというサイバー攻撃をすることで実現します。


DNSは、Domain Name Systemの略で、名前解決をするサービスする機能を意味しています。つまり、ホスト名で通信先を指定すると、そのホスト名のIPアドレスに変換してくれる機能です。このホスト名からIPアドレスに変換することを名前解決と言います。


DNSキャッシュポイズニングとは、そのホスト名とIPアドレスの変換を偽物の組み合わせになるよう、攻撃者の都合の良いように書き換える攻撃なのです。


DNSキャッシュポイズニングに成功すると、A端末とB端末との間で通信する際に、それぞれの端末が参照するDNSサーバーのDNSテーブル(ホスト名とIPアドレスの組み合わせが記録されたテーブル)において、A端末とB端末に対応するホスト名のIPアドレスを攻撃者の端末のIPアドレスに改竄することができます。


そのようにDNSキャッシュポイズニングされたDNSサーバの名前解決を使って、A端末とB端末の間の通信をすると、攻撃者の端末を中継することになるのです。


TLSで暗号化通信をする際には、TLSハンドシェイクという暗号化通信を開始する端末間の折衝が完了してしまうと、中間にいる攻撃者の端末とは知らずに、攻撃者の端末との間で暗号化通信が構築されてしまうのです。つまり、暗号化された通信の内容は攻撃者の端末で復号ができるため、攻撃者が通信の内容を盗聴することができるのです。


しかも、通信内容を改竄してもう一方の端末に送信することも可能になります。


このような中間者攻撃を防ぐには、クライアント認証など、認証機構を導入するのが良いでしょう。


例えば、クライアントのディジタル証明書を通信する2点間で作成しておき、2点間での通信をする際には、そのクライアントのディジタル証明書での認証ができた場合のみに認可するようにすれば効果的です。なぜなら、中間者攻撃の端末では適切なクライアントのディジタル証明書がないので、認証に通らないからです。


以上のように、中間者攻撃を防ぐには認証する機構を導入するなどのセキュリティ対策が不可欠ですので、日頃からサイバー攻撃に備えて参りましょう!

Webサイトが本物かを見極めましょう!

皆様は、サイバーセキュリティにどれほど関心がありますでしょうか?皆様の関心に関わりなく、インターネットを利用している全ての方にはサイバー攻撃の危険がつきものです。


普段の生活でインターネットを使ってWebサイトへアクセスするときに、偽物のWebサイトにアクセスしていないかを確認しておりますでしょうか?していないという方は、ぜひ、次の確認方法を使ってみることをお勧め致します!


それは、Webサイトのディジタル証明書を確認することです!Webサイトのディジタル証明書のルート証明書が何になっているかがとても重要です!特にクレジットカードや個人情報を使うサイトでは、ルート証明書がEV(Extended Validation)であれば信頼性がとても高いです!


ルート証明書には3種類あります。それはルート認証局からディジタル証明書を発行する際の審査基準の厳しさの順に分けることができます。その審査基準で一番厳しいものが、EV(Extended Validation)なのです!


EV(Extended Validation)では、ドメインアドレスが実際に存在し、物理的な組織が実際に存在し、法的にも実効性を伴い運営実態がある組織が存在していることの全てを審査致します。


そのため、偽物のWebサイトにはEV(Extended Validation)のディジタル証明書は基本的には発行されることがありません。従いまして、Webサイトにアクセスし、個人情報を扱うページに遷移する前に、そのWebサイトのディジタル証明書がEV(Extended Validation)になっているかどうかを確認いただくことをお勧め致します!


しかしながら、EV(Extended Validation)の証明書があるWebサイトでしたら絶対に安全かと言えば残念ながらそうとは限りません。例えば、Webサイトが改竄されていた場合、サイバー攻撃者に個人情報などを盗み取られる可能性があります。


また、個人情報を扱うような高い機密性が要求されるWebサイトであっても、EV(Extended Validation)のルート証明書でないこともあります。


そのため、インターネットを利用している以上、サイバー攻撃の脅威から絶対に安全なWebサイトを見つける手段は基本的には存在しません。


とは言え、ご自身でできる限りのサイバー防御の行動と対策をすることで、サイバー攻撃の被害を最小化することができるかと存じます。


まずは、サイバー攻撃手法を知って、自分ができる対策を今すぐに行いましょう!

正規表現を学びましょう!

皆様は正規表現を駆使していますでしょうか?正規表現を使いこなせるようになるとコンピュータに自動処理させる時にとても便利です。


大量のテキストからご自身が知りたい言葉を探したり、変換したり、修正したりすることが自由自在に行えます!


しかも、プログラミング言語に依存せず多くのプログラミング言語で正規表現を活用することができるのです!


正規表現を使えば、長いプログラムを書かなくても、シンプルなコードで強力なプログラムを比較的簡単に作成することができます!


プログラミングの初心者の方であっても、最初にマスターすると後で大変有利になる分野が正規表現です!


従いまして、正規表現をまだ十分に活用できないという方は正規表現をマスターすることから始めてみてはいかがでしょうか?


必ず正規表現の知識はITでの生活で役に立つことと存じます!