インタビュー 戸田 薫 メインビジュアル

KAORU TODA

戸田 薫

一貫してセキュリティ強化に従事時代の変化に合わせ、安全の自動化を目指す

2005年入社

システム統括本部

ソースコードスキャナなど一貫してセキュリティ強化に従事

12年前に新卒でヤフーに入社しました。当時は、自分が得意だと思っていたUNIXとC言語でプログラミングする仕事をしたいという軸で就職先を探していました。それもFreeBSD限定で(笑)。そんなとき、たまたまヤフーの採用情報を見ることがあって、ここが良さそうだと思って入社しました。当時考えていたのは、受託開発の会社よりも、自社のサービスを自分たちの手で作っていける会社がよいと思っていました。それにYahoo! JAPANは家族や両親、知人も使っていました。やりがいがあるな、と感じていました。

入社して2年目からサービス開発に従事し、その後はずっとセキュリティ関連の仕事に取り組んでいます。

入社後3年目頃の仕事として、ソースコードをチェックする取り組みを行いました。製品を作るにあたりソースコードを書くわけですが、新たなコードを書くことは新たな問題を作り込んでいくことでもあるので、ソースコードのチェックは必要です。社内にはソースコード管理システムがあります。そこでソースコードスキャナを走らせて、自動的に検査をし、問題があったら通知するもので、この仕組みは2007年ぐらいから動いています。

ログインの仕組みの改善にも取り組んできました。例えば、「ヤフオク!」不正利用者への対策です。社内で協力しながら、どうやったら不正な利用者を止めることができるか、そうした取り組みを進めました。

米国Yahoo Inc.が作った鍵管理の仕組みをローカライズする取り組みにも参加しました。鍵管理はなにがうれしいかというと、たくさんサーバーがあった場合でも鍵をローテーションしてうまく活用できることです。サーバーが何万台もあると、1台1台デプロイするのも大変な手間ですから、鍵管理の効率化は重要です。

ログインサーバーから決してパスワードが漏れないようにする

インタビューに答える 戸田 薫

思い出に残っている仕事は、ユーザーが使うログインサーバーの裏側で動く認証の仕組みを設計、開発したことです。2要素認証のためのプラットフォームがあるのですが、ログインサーバーが置かれているネットワークとは別に、ハッシュ化されたパスワードが流れるネットワークをその裏側において、両者の間にファイアウォールを置く構成にしました。ハッシュ化されたパスワードであっても外部に漏洩(ろうえい)するのはリスクが大きいので、ネットワーク構成上、一番「うしろ」にあるサーバーで管理、利用する仕組みです。ログインサーバーは外部から攻撃される場合もあるので、たとえハッシュ化されたパスワードであってもログインサーバーには置かないようにしました。

2015年に、Yahoo! JAPANでSHA-2のSSL サーバー証明書へ移行したのですが、このときには、ユーザーサポート部門にまで影響が及びました。古いSHA-1証明書が危なくなってきたので新しいSHA-2証明書を使うようにしたのですが、SHA-2証明書はWindows XPでは使えません。Windows XPはすでにサポート切れのOSでしたが、いぜんトラフィックの何パーセントかがWindows XPから来ていました。「『Windows XPはもう利用できないので、新しいOSを使ってください』というアナウンスをしていくべきではないか」と議論しました。その結果として、特集ページを作ってWindows XPからより新しいバージョンのOSへの移行を促すようにしました。多くの部署に影響がある取り組みでしたが、結果として乗り切ったという思いがあります。

備えを自動化し、防御の壁を厚くする

今後やりたい取り組みですが、もっと安心して使ってもらえる安全なプラットフォームを作り続けたいというスタンスは以前と変わりません。その中でひとつ考えていることがあります。脆弱性は日々見つかっていますが、個別に対応していくことは困難です。ここで、ソフトウエアが最新のバージョンになっていることが、攻撃に対する時間稼ぎになることはいえます。そこで、なるべく自動的、機械的に、最新の状態が維持される仕組みを目指したいと思っています。現場のエンジニアががんばって最新版にアップデートする、サーバーにログインして何か作業する、そうした必要をなくしていきたいですね。そうなればサーバー運用者のアカウントも必要なくなり、乗っ取られるリスクも減ります。エンジニアには社会を変えるような面白いモノを作ることに力を注いでほしい。パッチをあててソフトウエアを最新バージョンにすることが仕事ではないはずです。そんな仕事は機械に任せたいですね。

もうひとつ、今はセキュリティのテクノロジー面でサービス側に負担してもらっているのですが、サービスを提供するサーバーの前に、一律で同じプロキシサーバーを置こうとしています。このプロキシサーバーが余計なアクセスをサービスに渡さないよう前処理することでサービスを守れます。例えば、ほとんどのサーバーはGETメソッドしか使わないので、POSTメソッドを渡さないようにする。さらに進んで、機械学習を使って不要なアクセスを振り落としつつ、必要なアクセスだけを届けるようにすることも考えられます。

CPUやネットワークが高速になったことで、こうした防御の層を厚くしていくことが可能です。もちろん、処理の負荷が増えすぎないように注意することも必要ですが。将来へ向けて、夢が膨らんでいます。

インタビューに答える 戸田 薫
  • 2016年8月時点の情報となります。