カテゴリーアーカイブ セキュリティ

takahashi 著者:takahashi

WindowsへのMeltdown対策によるCPUベンチマークの変化をMSが公表。旧CPUでは著しい速度低下も。

先日、Microsoftが気になるデータを公表しました。

プロセッサの脆弱性、Microsoftの対策パッチでパフォーマンス大幅低下も – IT Media エンタープライズ

先日発覚したCPUの脆弱性 Meltdown/Spectre の脆弱性対策としてMicrosoftが公開したWindowsへの対策パッチを適用した際のベンチマークを比較したところ、IntelCPUの 第6世代にあたるSkylake以降は特に目立った速度低下はないものの、第4世代にあたる Haswell以前のIntelCPUは相当な減速が確認された、という内容です。
特にHaswellを含むそれよりも古いCPUを搭載したWindows Server機はかなりのスペックダウンが発生する可能性があるようです。

Skylakeが初めてIntelから発売されたのが2015年8月ごろになる(Wikipedia)ので、少なくともこれより前に発売されたIntelCPU、およびそのCPUを搭載したPCはすべてこのスペックダウンの影響を大きく受ける可能性があるということになります。

比較的新しいCPUでもスペックダウンの対象になってしまっているという点で、なかなかショッキングな内容です。
ちなみに、僕が現在所有しているマシンは一番新しいもので第5世代のbroadwellのマシンなので、全滅でした。

なお、LinuxOSにおいても影響が出ているようです。
CPU脆弱性Meltdownのパッチ適用でベンチマークスコアが25%低下した – Qiita

ここまで影響が大きいと、ゲーム用のマシンや企業向けサーバーなどののスペックダウンに各方面からの悲鳴も聞こえてきそうですね。
現にAWSでかなり影響が出ているという報告もあるようです。
チップ脆弱性の修正パッチが招いた、サーヴァーの性能低下という「二次災害」の深刻度 – WIRED

引き続き、Intelや各OSベンダーがさらなる対策を行ってくれることを祈ります。

  • この記事いいね! (0)
takahashi 著者:takahashi

PHPでお手軽にセッションハイジャック対策をする方法

皆さんはセッションというのをご存知でしょうか。
各クライアント(ブラウザ)に対して、サーバーからセッションIDという一意の識別番号を発行してクライアントに保存することで、個々のクライアントを識別できるようにする仕組みです。

Webサービス上では、ログイン状態の管理や、ユーザー情報の一時保存などによく使われます。

このセッションIDですが、実態はブラウザ側にCookieとして保持されているため、もし何らかの方法で不正に抜き取られてしまうと、場合によってはアカウント乗っ取りなどをされてしまう可能性があります。
このような攻撃を一般的に”セッションハイジャック”と呼びます。

対策としてセッションIDを定期的に変更することで、こういった不正ログインを簡単に防ぐことができます。

具体的には、
“session_regenerate_id()”
関数を実行することで、セッションを維持したままセッションIDを更新することが可能です。

session_regenerate_id() – PHP.net Documentation

例えばこの関数をログインチェック時や、特定、あるいはすべてのページにアクセスされたときに実行されるようにしておけば、万が一セッションIDを盗み出されても、不正ログインされる確率が低くなります。

また、

“session_regenerate_id(true)”

とすると、セッションを切ったうえでセッションIDを再発行できるので、ログイン状態はリセット(ログアウト)されてしまいますが、よりセキュアな状態にすることも可能です。

年々、Webサービスへの攻撃手法が高度化してきていている一方で、アプリの設計などにより基本的な脆弱性が発生してしまうこともまだまだあるようです。
高度な攻撃への対策は高度な知識とテクニックが必要になることもありますが、基本的な対策は知っていればだれでも対策できることも多いので、是非押さえておきたいですね。

  • この記事いいね! (0)