Podcast番組 #33 | Webセキュリティの第一人者の素顔
『エンジニアストーリー by Qiita』は、「エンジニアを最高に幸せにする」というQiitaのミッションに基づき、エンジニアの皆さまに役立つヒントを発信していくPodcast番組(無料・登録不要)です。
毎回、日本で活躍するエンジニアの方々をゲストに迎え、キャリアやモチベーションに関するお話をしていただきます。
今回の記事では、Webセキュリティの第一人者であり、「徳丸本」と呼ばれ広くWeb従事者に支持されている「体系的に学ぶ 安全なWebアプリケーションの作り方」の著者である徳丸浩さんをゲストにお迎えした回について、配信の模様をご紹介します。
徳丸さんのセキュリティにのめり込んでいる理由や学生時代のお話、どのように独学で学んでいたかなど、詳しくお話をお伺いしました。
是非ご覧ください!
プロフィール
Webセキュリティの第一人者、EGセキュアソリューションズ株式会社 取締役CTO
Qiita株式会社 プロダクトマネージャー
テーマ「Webセキュリティの第一人者の素顔」
清野:今回からのゲストは、EGセキュアソリューションズ株式会社 取締役CTOの徳丸浩さんです。よろしくお願いします。
徳丸:はい、よろしくお願いします。
清野:徳丸さんとお送りする1回目のテーマは、「Webセキュリティ第一人者の素顔」です。
徳丸:素顔ですか。
清野:はい、素顔をいろいろお伺いしていきたいなと思ってます。はじめに軽く自己紹介もお願いしてもいいですか。
徳丸:はい、先ほどご案内ありました、EGセキュアソリューションズで取締役CTOをやっている徳丸浩です。前職を2008年の3月末に退職して、HASHコンサルティング株式会社を創業したんですけれども、イー・ガーディアングループにジョインいたしました。最初はそちらで社長をやっていたんですが今はCTOになり、主に技術を見ています。本日はよろしくお願いいたします。
清野:よろしくお願いします。徳丸さんといえばWebセキュリティの第一人者というか、僕が初めて徳丸さんを知ったのは徳丸本を読んだときに著者ということで知ったぐらい、最初からセキュリティの方という印象が強かったです。今日は、セキュリティの第一人者になるまでにどういうことをやっていらっしゃったのかとか、なぜセキュリティにのめり込んでいるのかについてお伺いしていきたいなと思っております。
早速なんですけど、そもそもいつからセキュリティとかってやっていらっしゃるんですか?
徳丸:前職でアプリケーション開発やアプリケーションの企画などを担当していました。1999年当時はiモードっていうのがあったんですね。携帯向けウェブサービス、これドコモさんがやっていたと。ドコモ以外にKDDI、auとソフトバンクがあったわけですけども、私はKDDIそのものではないですがKDDI陣営の会社にいたんです。そして対抗サービスを出さなければいけないということで。
iモードの肝はパスワードとかがなくても携帯を持っていれば認証ができて、コンテンツ課金までできる点でした。そして前職の会社がそういうサーバーを担当するようになったと。で、認証システムを徳丸アイデアを出せということになったんです。ということで、元は携帯の認証から始めたんですね。
清野:そうなんですね。最初からセキュリティ系のお仕事をしてらっしゃったというより、最初は企画系とかそっちのほうをメインでやってらっしゃったんですか?
徳丸:元々はプログラマーだったんですけども、様々なアイデアを出せるとかですね、自分が作ったソフトウェアを商品として売ろうということになって、それで企画兼開発担当みたいな感じになっていました。
清野:そうなんですね。
徳丸:ですから私のルーツはプログラマーなんですね。話を戻しますが、ドコモさんの仕組みは当時あまりよく知らなかったんですけれど、リバースプロキシというんですが、ゲートウェイがあって全ての通信がそこを通ります。そこを通る中で認証をするという集中型のシステムだったんですが、ちょっといろいろ事情があってゲートウェイと認証サーバーを分けなきゃいけないという分散システムになったんですね。
私当時考えまして、認証サーバーと、あとコンテンツもありますから。認証サーバーとコンテンツのサーバーとゲートウェイを行ったり来たりリダイレクトしながら、ちょっと暗号化された情報を持ち回れば良いよねということでアイディアを出して、今でいうとOAuthとかOpenID Connectのやり方に似てるんですが、今から25年ぐらい前にそういうものをでっち上げました。
清野:そうなんですね。
徳丸:そして提案して受け入れられたので、その方式が採用されたということになります。当時実は私セキュリティのこと何にも知らなかったんですけども。
清野:そうなんですね、本当に知らないところでやってらっしゃったんですね。
徳丸:恐ろしいことですね。ですが実は1回も事故を起こすことなく役目を終えたということで非常にほっとしています。1999年というと、私だけでなくて日本中のほとんどの人がWebのセキュリティのことを知らない。一部の研究者が知っている、あるいは海外の文献で読んでいるような状態だったと思います。そんな中でも、遅まきながらですね、作りながらセキュリティの勉強を始めたというのがきっかけですね。
清野:確かに1990年代とかだと、そもそもセキュリティに対しての重要さみたいなのは今と全く違いそうですよね。
徳丸:そうですね。日本で最初の大きなセキュリティ事件として、2000年の初めに当時の通産省とか今の経産省とかのウェブサイトが改ざんされる事件がありました。それがことはじめで、ちょうど私がさっきの仕事をやっていた頃と重なるんです。ですからまさにセキュリティが重要になるという、ちょうどそのタイミングだったんだと思います。
清野:なるほど。ちょうど「セキュリティ大事だね」と遷移をしていく過渡期のタイミングで、セキュリティに触れてそこをやっていくっていうような感じで今まで来ていらっしゃる。
徳丸:そうですね。ですからある意味運が良くて、セキュリティの歴史とともに仕事の中でそういうことをやってきたということで、今からセキュリティをやる人とはそこはちょっと立場が違うかなと思いますね。
セキュリティにのめり込んでいる理由
清野:その時も、結構プログラマーとしてアプリケーション開発とか企画とかもやってらっしゃったと思うんですけれど、その中で、やったことの一つであるセキュリティに対してのめり込んでいった理由って何なんですかね?
徳丸:セキュリティというと、ハッキングとかクラッキングとかに侵入というのがありますが、その中でよく使われる手法としてソフトウェアの脆弱性を悪用するというのがあります。脆弱性というのは要はバグなんですが、見方を変えると本来ソフトウェアが想定していない別の使い方ができるというのが脆弱性なんですね。
もっというと、あんなことやこんなことをするというステップが入るので、実はプログラミングと非常に近いメンタリティと言うか面白さがありまして、現に攻撃の過程で自分でソフトウェアを書いたりしないといけません。例えばSQLインジェクションだったら、SQLの断片を自分で書いて上手く条件に合うSQL文を作らなきゃいけないとかがあります。ですから例えば競技プログラミングとかをやっている人はソフトウェアのセキュリティも向いているんじゃないかと思いますね。
清野:なるほど、結構そこら辺をハックしていくというか、想定通りの動きじゃないところを上手く使っていくクリエイティビティみたいなのが発揮しやすいみたいな。
徳丸:そうなんです。そういう面白さがあるってことですね。私自身は競技プログラミングはやっていないんですが、競技プログラミングとソフトウェアのセキュリティ両方やっているという方が多いので、やっぱり共通する要素があるんじゃないかと思いますね。
清野:なるほど、ありがとうございます。そこから今二十数年ぐらいセキュリティやっていらっしゃいますけれど、その中でこのタイミングは違うことをやっていたとか、セキュリティ以外のこともかじっていましたみたいなのってあるんですか?
徳丸:さっきの話が1999年から2000年の話なんですが、当時私はパッケージソフト開発の企画をやっていて、そちらが本業でした。当時は事業部長という立場で、結構上位のマネジメント層だったわけです。ですから仕事はマネージャー、管理職なんです。
清野:そうなんですね。
徳丸:しかし根っからのプログラマーなもんですから、ソフト書きたいなとか、脆弱性面白いなというのがありました。ただ当時はまだセキュリティの市場みたいなのがあまりなくてですね。ちょっと様子を見てたところ、私の部下が「社内の企画コンテストみたいなので、Webのセキュリティやりましょう」みたいな発表をして、金賞を取っちゃったんですよ。
そういう若者の企画とかを尊重しようという文化があったんで、それを事業化しろということになりました。私がお守り役として、彼と2人でセキュリティ事業を立ち上げたのが2004年ぐらいでしたかね。
当時私は京都にいたんですけども、京都でしばらくやってこれはダメだということになって、ちょっと東京に転勤させてくれと社長に直談判しまして、東京に転勤になりました。そしてセキュリティ事業もやらせてあげると。その代わりに別のこの事業部の事業部長をやってくれということで、ちょっとバーターで東京へ引っ越してきて、それが2005年ぐらいですね、そこから本格的にやるようになったという流れです。
清野:そうなんですね。じゃあ2005年までは結構はマネジメントとかもやりつつ、セキュリティとかも触っているぐらいの感じだったんですね。
徳丸:そうですね。2005年から2008年、独立する手前ぐらいまでがそうですね。
清野:独立されたのが2008年ぐらいですかね。
徳丸:2008年の4月ですね。
清野:そうなんですね。じゃあ本当に10年ぐらいは結構、本業をやりながら、セキュリティもキャッチアップしつつみたいな感じだったんですね。
徳丸:私が2005年に引っ越してしばらくして経ってからブログを書き始めました。20時か21時ぐらいに帰ってきて、食事してからブログを書くみたいな生活を送っていましたが、ちょっとこれはやっとれんなと。俺はこっちのほうがしたいんだとなり、ちょっと無理を言ってですね、退職して独立しました。
清野:そうなんですね。独立で結構あるあるだと思うんですけれど、独立してから最初の仕事を取りに行くとか上手く回り始めるまで難しいこともあると思うんですけど、徳丸さんは始めたタイミングでセキュリティみたいなところで案件をもらえたりとか、そういう感じだったんですか?
徳丸:いや、それはね、全然ないんですよ。
清野:そうなんですね。
徳丸:ないので辞めるときに、当時の直属の上司に「いや徳ちゃんね」、その上司には徳ちゃんって呼ばれたんですけど、「徳ちゃんね、いきなり独立しても仕事なんかないから、我が社に顧問として残りなよ」ということで、週2回は顧問として通いつつ、残りの時間は自分のことをしていた生活でした。だから正直最初は暇でしたね。
清野:そうなんですね。じゃあ独立はしつつ、顧問として元々いたところもやりつつ。
徳丸:そうですね。あと顧問とは別に仕事をもらったりして、これは割とあるあるみたいですけど、前職との関係は割と大事で、たまに喧嘩別れみたいに出てくる人いますけど、それは危険ですよね。
清野:結構今までの方もお話ししている中でも、そういう考えの方いらっしゃいましたね。
徳丸:そう思います。
清野:そこら辺から次第に独立してやっている方が回り始めた転機とかってあったりしたんですか?
徳丸:一番の転機はやっぱ本じゃないですかね。
清野:そこで本が出てくるんですね。ちょっと本の執筆の流れとかはまたこの後お伺いしていきたいなと思うんですけど、本を書くきっかけになったのってどういう感じだったんですか?
徳丸:本を書くきっかけは、これ私だけじゃないと思うんですけど、やはり出版社の編集者はブログとかを見てるんですね。本を書きそうな人探してるみたいで。私の場合もまさにそれだったと思います。
清野:あ、そうなんですね。アウトプットしてるところから声をかけてもらってみたいな感じだと。
徳丸:そうですね。
清野:今までの方もそういうパターンで本出版されてる方多かったので、やはり日々アウトプットしつづけることが大事なのかなって感じますね。
徳丸:そうですね。本を書くことが目的ではないですけれど、ちゃんと見てくれてる人は見てくれてると。
清野:本を書いたことで、変わったことってありました?
徳丸:それまでは一部のセキュリティ専門家が徳丸っていう人を知ってるということだったんですが、正直商売とかする上ではそういう人からは仕事来ないわけですね。それは足りてるしみたいなことになって。
多くの方にリーチする手段として本は絶大ですし、ちょうど東日本大震災の直前の2011年3月に出たんですが、当時すごい著名なブロガーの方が絶賛してくださって、それで売れたみたいなそういうラッキーな面もあります。
清野:セキュリティを勉強しようと思ったら、今は徳丸さんの本を読むみたいな感じがあるんですけど、そこなんですね。
徳丸:だから今はQiitaのカンファレンスの自己紹介もそう書いてます。徳丸本の中の人です、みたいな。
学生時代どのようなことをしていたのか?
清野:ちょっと話題を変えて、そもそもお仕事始める前、学生時代はどういう感じの学生だったとか、どう日々を過ごしてたかとかお伺いできますか?
徳丸:高校までは鹿児島県過ごしまして、東京の大学に受かったんで東京に出てきました。高校までは優秀な学生だったんですけど、たぶん燃え尽きたみたいになっちゃって、ちょっと大学に行けなくなっちゃったんですね。
清野:そうなんですね。
徳丸:自分の好きな音楽で合唱団に入ってて、そっちはわりと熱心に通ってたんですけど勉学のほうは、ちょっとうまくいかなくて中退してしまいまして。
それでアルバイトを2つやっていました。1つが京王電鉄で、今は電子化されつつありますけど中吊り広告ってありますよね。電車の中でピラピラしている広告朝つける作業のアルバイトをしていました。それと夜はお決まりの塾講師をやってました。結構熱心に働いたんです。
清野:全然想像できないですね。最初のキャリアってプログラマーだと思うんですけど、プログラミングってどう勉強してらっしゃったんですか?
徳丸:オリベッティってイタリアの会社があるんですが、パーソナルコンピューターがまだ出る前の時代にそこが超大型の電卓みたいな、電卓といっても机を占有するような大きさなんですけども、簡単なプログラムができるものを出しました。簡単な機械語ライクな言語が走るものです。プログラミングはもともと興味があって、高校にそれで遊んでいました。
清野:高校時代からやってらっしゃったんですね。
徳丸:そうですね。でもそれは演習率を計算するとかいう非常に素朴なもので、さっき朝と夜働いてたと言いましたが、それでお金を貯めてパソコンを買ったんですよ。これがPC8801M2で、フロッピーディスクはちょっと高いので、フルで2台なんですが1台だけに採取して。あとプリンターも買ってですね、トータル50万ぐらいしたのを覚えてます。吉祥寺のラウックス(家電量販店)に行って買いました。それでプログラミングやりだしたらちょっとのめり込んでしまいまして。
当時はC言語が流行り始めの頃で「C言語できます」と就職活動を始めようとしたところで、ちょうど高校の同級生から電話がかかってきまして。「どうしてるの?」みたいな話をしました。「大学は辞めたけど、今プログラミングの勉強してる」とか話をしたら、「じゃあお前親父の会社に入れ」みたいなことを言われましてですね、それが京セラですが。
清野:そうなんですね。
徳丸:おじいさんが当時工場長をしていて、そのつて、要は縁故入社ですね。縁故入社で京セラに入ったという感じです。
どのように学んでいたか
清野:そうなんですね。すごい面白いです。コンピューターを買ったおっしゃいましたが、当時のプログラミングってまだインターネットに情報がいっぱいあるとかではないと思っていて。その当時、どういう感じで勉強してらっしゃったんですか?
徳丸:主に本ですね。しかも最初鹿児島の工場に勤めていたので、本屋に行ってもコンピューター関係の専門書がないんですよ。ですから東京へ出張に行くたびに大きな本屋さんに行って本を漁って、仕入れて帰ってくるみたいな生活でしたね。本は随分読みました。
清野:今からだと全然想像できない感じですね。
徳丸:そうですね。しかも教えてくれる人もいないんですよ。
清野:確かに。そうですね。
徳丸:だから本当に独学なんですね。職場には先輩プログラマーもいるんですけど、当時Fortranという、COBOLとならび使用される古い会社で、あまり最先端のことをやっている人がいなくて、本を読みながらいろいろ試す試行錯誤の毎日でしたね。
清野:僕自身がプログラミングを始めた時はもう本当に本もいっぱいあるし、インターネットに情報もいっぱいあるみたいな時代だったので。
徳丸:それこそQiitaとかですね。
清野:そうですね。まさにQiitaで僕は育ってきたような感じです。でもそれってそういう独学でやりつづけた先人の知恵が残されているからこそだと思うので、ありがたいなって思いますね。
徳丸:独学は回り道みたいな面ももちろんあります、むやみに時間がかかるので。でも良いこともありまして、やっぱりパッとは分からないわけですね。パッとはわからないんだけど、これはこういうことなんじゃないかという仮説を立てて、その仮説を証明するためのプログラムを追加で作ってみるとか試すんです。
ですから全部教えてもらうんじゃなくて、仮説を立ててそれを検証するために何をやったら良いかを考えて、実際に手を動かして調べるっていうのを習慣として身につけることができまして、これは実は今でもやっています。回り道したようだったけど、今の徳丸を考える上では非常に役に立っていると思います。
清野:ありがとうございます。もう本当に徳丸さんって僕の中ではセキュリティのスペシャリストみたいな印象があったんですけど、お話を伺って、やっぱり同じように様々なことをやりながら、努力しながらここまで来てらっしゃるんだなっていうのをすごい感じました。ありがとうございます。徳丸さん今日はありがとうございました。
さいごに
「エンジニアストーリー by Qiita」は、近年高まるエンジニア向けPodcastのニーズに応え、エンジニアのキャリア形成に有益な情報を発信しています。興味のあるテーマを見つけて配信を聞いてみましょう!