ネットワークで情報を安全にやり取りするための仕組みが通信の種類ごとに用意されている。これが「セキュリティプロトコル」だ。ところが、ここに脆弱性が見つかることで通信の安全性が脅かされるケースが出てきている。
無線LANは、データのやり取りに電波を使うため、盗聴の危険性が常にある。そこで「WPA2▼」というセキュリティプロトコルがよく使われている。以前は「WEP▼」というセキュリティプロトコルが使われていたが、WEPに致命的な脆弱性が判明。攻撃者が容易に暗号を解読できるようになった。このため、WEPよりも安全性が高いWPA2を代わりに使うようになっている。
ところが、WPA2にも脆弱性が見つかってしまった。ベルギーのルーベン・カトリック大学のMathy Vanhoef氏が報告した「KRACKs▼」である(図1-1)。KRACKsは攻撃手法の名前でもある。これを悪用することで、無線LANを介した通信を盗聴したり不正なデータを挿入できたりする可能性がある。攻撃者は、クライアントと無線LANアクセスポイント(AP)の間に割り込んで通信を中継する形で攻撃を行う。こうした形態の攻撃を一般に「中間者攻撃」と呼ぶ。
Vanhoef氏は2017年5月、KRACKsに関する論文を審査してもらうため、コンピュータ科学分野の国際学会であるACM▼に提出した。KRACKsの情報は米国のセキュリティ組織であるCERT/CC▼にも伝えられ、これを基に無線LAN機器ベンダーがセキュリティパッチを開発した。同氏は同年10月にKRACKsの解説サイトと論文▼を公開。同年11月に学会発表した。
SSLにも脆弱性が見つかる
セキュリティプロトコルに脆弱性が見つかって安全性が脅かされたのは無線LANだけではない。過去には、Webサイトにアクセスする際の安全性を確保するSSL▼にも脆弱性が発見された。2014年に米グーグルが公表した脆弱性「POODLE▼」である(図1-2)。POODLEを悪用することで、攻撃者は暗号キーを知らなくても暗号通信の内容を解読できる。KRACKsと同様に、POODLEは攻撃手法の名前でもあり、中間者攻撃の形態で悪用される。
POODLEが発見された当時は、SSLとその後継規格であるTLS▼が混在する形で使われていた。POODLEの脆弱性はTLSにはないため、SSLからTLSに移行するきっかけになった。現在ではSSLはほとんど使われていない。
脆弱性への対策は様々
KRACKsとPOODLEに共通しているのは、仕様の曖昧さを悪用された点だ。ただし、対策には違いがある(図1-3)。
KRACKsは、無線LAN機器のファームウエアの改修で対策を実施した。仕様の曖昧さを実装で補った形だ。
これに対し、TLSにはPOODLEのような攻撃を防ぐ対策が既に含まれている。このため、Webサーバーが利用するセキュリティプロトコルをSSLからTLSに移行することが対策になった。
Part2では基礎知識、Part3とPart4ではそれぞれの脆弱性について見ていこう。
Wi-Fi Protected Access 2の略。
Wired Equivalent Privacyの略。
Key Reinstallation AttaCKsの略。
Association for Computing Machineryの略。
CERT Coordination Centerの略。
解説サイトのURLはhttps://www.krackattacks.com/、論文PDFのURLはhttp://papers.mathyvanhoef.com/ccs2017.pdf。
Secure Sockets Layerの略。
Padding Oracle On Downgraded Legacy Encryptionの略。
Transport Layer Securityの略。