徳丸浩の「受動的」半生。ウェブセキュリティの第一人者は、なぜチャンスを逃さなかったのか
-
執筆 : 鈴木陸夫
- /
-
写真 : 藤原 慶
- /
-
編集 : 小池真幸
- /
日本のウェブセキュリティを支えてきた第一人者で、『徳丸本』でも知られる徳丸浩さん。「私の人生は受動的で、能動的に動いたことはあまりない」と自ら振り返る半生をじっくりとたどった。
私の人生は受動的なんです。自分から能動的に動いたことは、実はあまりないんですよ━━。
日本のウェブセキュリティを支えてきた第一人者であり、『徳丸本』の愛称で知られる著書群を通じて多くのエンジニアに影響を与えてきた徳丸浩さんは、そう言って半生を振り返る。
謙遜と受け取ることもできる。だが、「自分は運が良かっただけ」というのは、一流の人が共通して口にする言葉でもあるように思う。
受動か能動かという二項対立を超えた、徳丸さんの「人生と向き合う態度」とはどのようなものだろう。
プロフィール
- 徳丸 浩EGセキュアソリューションズ株式会社 Chief Technical Officer/取締役CTO1985年、京セラ株式会社に入社後、ソフトウェアの開発、企画に従事。1999年に携帯電話向け認証課金基盤の方式設計を担当したことをきっかけにWebアプリケーションのセキュリティに興味を持つ。2004年同分野を事業化。2008年、独立して、Webアプリケーションセキュリティを専門分野とするHASHコンサルティング株式会社(現EGセキュアソリューションズ株式会社)を設立。脆弱性診断やコンサルティング業務のかたわら、ブログや勉強会などを通じてセキュリティの啓蒙活動をおこなっている。2023年、イー・ガーディアングループのCISOに就任。セキュリティレベル向上だけでなく、活動を通して得たノウハウをサービスやセミナーコンテンツにも還元し、広くセキュリティの啓蒙活動に邁進。
ダブルワークのバイトで買った「8801」
最初の「選択」として、なぜエンジニアになったのかから伺えますか。
ちょっと話が長くなりますけれども。まあ、あんまりチョイスしたという感じではなくてですね。
私は学生時代を東京で過ごしたんですが、学業はあんまりうまくいかなくて、今で言うフリーター、当時はフリーアルバイターという言い方をしていたと思いますが、大手私鉄の中吊り広告の仕事をしていたんです。ターミナル駅とかで朝、電車が到着すると、紺色の作業服を着て乗り込んで、中吊り広告を取り替える、そういうことを1年間やっていました。
この仕事はありがたいことに、公式には拘束時間は夕方までなんですが、割と早く終わるんですね。で、終わったら規定の時給をもらいつつ、早く帰って良かった。ですから、午前中にそれをやって、夕方は塾の講師をしてという、いわゆるダブルワークのようにして働いていました。そうすると結構なお金が貯まりますよね。
はい。
私は昔からコンピュータというものに大変興味がありまして、高校のときは、当時パソコンはまだないぐらいだったと思いますが、オリベッティというイタリアの会社の、プログラマブル電卓って言いましたかね、簡単なプログラムができる電卓がありまして。機能的には電卓に毛の生えたようなものなんですが、もうテーブルを占領するような巨大なコンピュータ、それが高校にあったので、週に1回、それを触っていました。当時はプログラマーという意識はあんまりなかったですが、円周率をいろんな公式、マチンの公式とかを使って計算するプログラムを書いたりしていました。


もうちょっと遡ると、少年の頃はいわゆる「ラジオ少年」でして、電子工作に非常に興味があって、お年玉でテスターを購入したりとか、そういう子だったんです。と言っても、部品をいっぱいかき集めるというよりは、本を読むのが中心で、高校になると、デジタル回路の本を一冊、もう擦り切れるぐらいに読み込んでいました。
そういう背景があったもんですから、そのアルバイトのお金を元手に、吉祥寺のラオックスに行って、NECの8801mkⅡというパソコンを買いました。まだ出たてのころで、プリンターとセットで50万円以上したと思うんですけども、それを使って独学でパソコンの勉強を始めたわけです。
就職はせずにパソコンの勉強に熱中していた。
とはいえ、いつまでもフリーターをしているわけにはいかないという意識がありましたので、8801なので8ビットのパソコンですが、C言語など、簡単なものが動く環境ではありましたし、ぼちぼちこれを使って就職活動を始めよう、と。ちょうどそんなときに、高校の同級生から電話がかかってきたんです。「お前は今何してるんだ」「もしよかったら親父の会社に入らないか」と。その「親父」というのが、国分工場という、京セラの中では日本で一番大きな工場の工場長をしていた方でした。
なるほど、そういうご縁が。
履歴書と一緒に、自分が今までどういう勉強をしてきたか、今後はどうしたいかみたいな手紙を8801のワープロで徹夜で書いて、速達で送ったところ、非常に感銘を与えたようでして。その工場長さんは自分ではなくて、京セラのシステム部門の部長にそれを送った。その部長も感じるところがあったようで、工場ではなく、システム部門の面接を受けることになりました。
ということで、いわゆる就活はあんまりしてなくて、ひょんなことから京セラに採用してもらったというのが経緯です。大きな会社なので、当然情報システム部門というのがあって、企業システムを内製していたんですが、その部長さんの考えで、より製造現場に近いCADの部門に配属されまして。そこでFortranを使って現場寄りのプログラムを書くようになったというのが、最初のキャリアです。


もっとコンピュータのことが知りたいんだ
配属先ではどのようなお仕事を?
私が配属になったのは半導体パッケージの部門、レイヤーパッケージというんですが、その支援をする部門でして。CADを使ってレイヤーパッケージの設計をするわけです。具体的には、配線パターンというのをセラミックの中に作り込むんですが、それが結構複雑なもので、その支援をすると。いろいろ担当したんですが、中でも電気的な特性を調べる、シミュレーションするという部分が長かったですかね。
当時のITエンジニアの多くは企業システムを作っていた、あるいはそのお守りをしていたという人が多かったと思うんです。京セラもそうですが、企業システムをCOBOLで内製するという会社が多かったように記憶しています。仕様書があって、それをもとに標準化された形でプログラムを書く、誰が書いても同じようになるのが理想とされる仕事です。
一方、私は企画から設計、プログラミングまで、何から何まで一人でやることが多かった。上司から「ちょっと徳丸、次はこういうものを作れ」と言われて、それをどう形にすればいいかを自分で考え、実装するところまでを請け負う、というような。ですから、当時の一般的なエンジニアの働き方からはちょっと外れていまして。
なるほど。
先ほどの特性解析の仕事とはちょっとズレますが、海外子会社の、セラミックに穴を開けるためのマシン、その制御をするプログラムの仕事が降りてきたことがありました。私は当然日本にいて、担当エンジニアはアメリカにいる。で、二人で仕様を詰めるところからのスタートです。当時は電子メールはないので、ファクシミリでやりとりをして。
けれども、私の方で「こうしたらいいんじゃないか」という案を書いて上司に持って行ったら、「これではダメだ」と言われまして。私はドリルに穴を開けるのに必要最小限の、シンプルな仕様を考えたんですが、そうではない、と。機械の使い方というのは今後変わるかもしれないから、プログラムにハードコーディングするのではなく、データとして記述して、そのデータに基づいてさまざまな形式のドリルに対応できるようにするべきだ、というわけです。
当然そういう勉強は全然したことがなかったので、「わかりました」と言ったんですが、ちょっと私も意地になってしまって、それではということで、考えられる限りありとあらゆる形式のデータに対応するようなデータ形式を考案しまして。それを上司に見せたら「おお、これだ。俺が考えていたのは」と言ってそのまま通ったので、まあ作ったんです。
作ったら、あろうことか一発で動いちゃいまして。私は当時、大変純粋だったので、「自分の作ったプログラムがうまく動いて、よかった、よかった」と思っていたんですが、よくよく考えたら、普通そういうのは一発ではうまく動かなくて、現地でいろいろと調整をすることになるんですよね。ですから後になって「もうちょっとうまくいかないようにしておけば、アメリカ出張できたのにな」と思ったことを思い出しました。


すごく楽しんで仕事をしていらしたことが伝わってきます。
工場って朝が早いんですね、朝8時とかから始まる感じで。私はもともと夜更かしタイプの人間なんですが、そういう工場の動きに合わせて、入社以来、すっかり朝方人間になりまして。早寝早起きして朝に勉強をするというようなことをしていました。
職場が鹿児島だったので、技術書とかは近所の本屋にはないんです。ですから、たまに東京出張があると、書泉グランデとか、もうなくなっちゃいましたけど八重洲ブックセンター本店とかに行って、「ああ、こんなすごい本があるのか!」と言って専門書を買い漁って帰ってくるような、そういう生活をしていました。
わからないことは人に聞くというより、基本的には本から?
こういう言い方は不遜に聞こえるかもしれませんが、入った当時からもう、私が会社で一番技術に詳しかったものですから。
この頃の一般的な職業プログラマーには、決まったことができればいいというタイプが多かったと思うんですが、私は「いや、もっとコンピュータのいろんなことが知りたいんだ」と思っていた。しかも、さっき言ったようなキャリアから、それまで専門的に学ぶ機会がなかったので、会社に入ってからいろんな書籍で学びまして。例えばアルゴリズムの教科書なんかは、多分10冊ぐらい持ってたと思うんです。それとコンパイラというものにも非常に興味を持っていまして、コンパイラってどうやってできるんだろうという興味の赴くままに、そちらも10冊ぐらい持っていたと思います。
言われたことにひたすら応答。ただし、過剰に
セキュリティに関心を抱くきっかけになったという携帯電話の認証基盤の仕事をするのは、おそらく入社14年目。それまでの期間はどうだったんでしょうか。自分の意思でキャリアを選択する余地や機会はどの程度あったんですか。
キャリア選択の余地は、実はあんまりなくてですね。さっき言った仕事をやっていたのは期間としては5年ぐらいで、その後、当時の上司が京都本社に転勤になった、その際に「お前もついてこい」と言われて、私も京都に転勤になりました。
本社に行ってからもしばらくは似たようなことをやっていたんですが、あるとき、私を面接した部長から「パソコンで動く文書管理システムを作れ」ということで特命が下りまして。
文書管理システム。


ご存知ない方が多いと思いますが、当時の京セラは光磁気ディスクという、大容量メディアを開発していました。そのメディアを活用する応用システムが、光ファイリングシステムです。紙の文書を読みこんで、それを画像データとして保存する仕組みなんですが、既存のファイリングシステムはスキャナとプリンターと光ディスクが一体になった巨大なもので、ワンセット500万〜600万円くらいした。これをパソコンでできるようにしろというのが、私へのオーダーでした。
これをやるには、紙の文書を読み込んで圧縮して保存し、読むときにまた元に戻して高速描画するというアルゴリズムが必要になるわけです。当初は市販のライブラリを購入したんですが、これが遅くて全然話にならない。ということで、上司は「圧縮や表示の部分については、専用のハードウェアを発注すべきだ」と主張しました。
私はここで珍しく反抗したんですね。「いや、これはソフトウェアでやるべきだ」と頑なに主張して。上司を説得するために「2日だけ時間をくれ」と言って、画像の圧縮・伸長と、拡大縮小表示、そのコア技術の開発に取り掛かりました。そうしたら自分でも驚くほど高速のものができあがって。これは当時、誰に見せても驚かれたんですが、上司にも「わかった、これでいこう」と納得してもらえて、パソコンのファイリングシステムの元ができました。
これは商売としてはあまりうまくいかなかったんですが、とにかくそれまで数百万円するマシンでやっていたことを、普通のWindowsでできるようになったと。
オーダーにはしっかりと応えてみせたんですね。
それを当時の部長に見せたところ、事業化しろということになり、パッケージソフトの実務上の責任者として、企画から何から何までをやる立場になりました。当時はまだまだペーペーだったので、名目上の事業責任者は別にいましたが。これが1993〜1994年ごろのことです。で、ご存じのように直後の1995年にウインドウズ95が出て、世の中は急速にインターネットというふうになっていくので、その後は自分たちの作ったアプリケーションをインターネット対応するということをやっていました。
ですから、この過程で私が自ら大きな決断をしたというのは、実はあんまりない。「ハードウェアではなく、ソフトウェアでやるべきだ」という、実装上の選択はしましたが、部長に言われたからやる、課長に言われたからやるというのがほとんどで。インターネット対応するというのも、時代の流れとして必然のものだったと思います。
セキュリティへの目覚め
認証課金の話はどういう経緯で担当することになったんですか。


私が担当したのはiモードに対抗する立場にあった、KDDIのEZwebの認証課金、そのコアの仕組みのところです。
当時、京セラの情報システム部門のほぼ全員が、子会社である京セラコミュニケーションシステム(KCCS)に移っていて、私もそこにいました。KDDIはこのKCCSに資本出資していた関係で、コアシステムの開発をKCCSに担当させようと考えた。けれども、そんなものは社内の誰も作ったことがないので、どうやって作ったらいいかわからない。「じゃあインターネットに一番詳しいのは誰だ?」ということになり、私にお鉢が回ってきたわけです。
iモードは1999年ごろからやっていたので、1年遅れくらいで「iモードに対抗するシステムを作る」というのが命題でした。となれば、普通はiモードを深く研究して作るものだと思うんですが、ここが私の性格というか、特徴というか、実はiモードの仕組みはまったく知らないまま作ったんですね。
そうなんですか!
インターネットの原理から考えて、こうしたらいいだろう、と発想して、作って。「ああ、iモードはこうなっていたのか」というのは、あとから知ったことでした。結果としてiモードとは全然違う形式になりましたが、今振り返っても、私が考えた方式の方が良かったんじゃないかと思っています。
どういう違いがあるんですか。
あまり詳細には言えないんですが、携帯電話がインターネットにつながる過程では「ゲートウェイ」と呼ばれるものを通過します。iモードはこのゲートウェイに認証課金の仕組みが組み込まれている、つまり集中型なんです。KDDIにも当然ゲートウェイはあるんですが、KDDIのデータセンターは関東某所にある一方、認証課金インフラを担当するKCCSのサーバーは京都にあり、物理的に離れていた。こうした制約もあり、必然的に分散型である必要がありました。
現在では、SAMLとかOpenID Connectとか、認証を別のサーバーでやるシングルサインオンという仕組みが一般的になっていることを考えると、ちょっと偉そうな言い方になりますが、私が「インターネットの原理から考えてこれがベストだろう」と考えた方式は、それを先取りしたような設計になっていました。
で、認証課金なので、当然のことながら、セキュリティが大事になってくる。ということで、1999〜2000年ごろに、世の中より一足早くセキュリティの課題と直面することになったわけです。
ちなみに、この仕組みはその後、20数年間使われ、その間、セキュリティ上の大きな問題を起こすことなく、役目を終えています。初期の、あまり経験のないところから生まれたアイデアでしたが、無事に役目を果たすことができてよかったなと思っています。


ついに時代が追いついた
これをきっかけとして、セキュリティをキャリアの軸に据える方向に向かっていくわけですか。
向かっていったんですが、これはビジネス的にはあまりうまくいかなかったんですよね。アイデアはよかったけど、ちょっと早すぎたんです。今であればAuth0とかOktaとか、認証だけをやって大きく成長した会社があるんですが。私が事業企画をしていたのは20数年前なので。一部の方には理解いただけるんですが、社会全体として、まだそういう課題に直面していなかったんですね。
ただ、これをきっかけに、ウェブアプリケーションのセキュリティについて本格的に勉強し始めまして。そうするとどんどん詳しくなって、メディアからKCCSに「ウェブのセキュリティについて取材したいのだが、誰か適任者はいないか」と問い合わせが来ると、「それなら徳丸がいる」という形でお鉢が回ってくるようになりました。ということで、取材を受けたり記事を書いたりする。そうすると、最初は社内で知られているという話だったところから、だんだんと日本の業界全体でも「徳丸っちゅうのがいる」というのが知られ始めて。社内での共著という形ですが、2004年には1冊目の本を書いたりもしました。
けれども、そうやっていくら記事や本を書いていても、事業化には慎重でした。それまでの経験から、早すぎるとうまくいかないことを嫌というほど知っていましたから。
ええ。
ところが、当時社内には入社3年目までの若手プレゼン大会のようなものがあったんですが、私の部下が、私の温めていたアイデアでエントリーしまして、あろうことか優勝してしまったんです。そうすると、京セラというのはベンチャーマインドを持った会社なので、当然のように事業化しようという話になる。それで、彼を中心として、上司である私はそのお守り役として、京都でウェブセキュリティの事業を始めました。私としては、事業的な観点から、見込みとしてはうまくいかないだろうと思いつつも、本心はウェブセキュリティをやりたくて仕方ないわけです。
ですから、これには部下を隠れ蓑のようにして始めたところがある。まあ、ずるいですよね。そうやって会社の中でうまく折り合いをつけてやっていたわけです。


大きな組織の中でやりたいことをやるには、必要なことなんでしょうね。
予想した通り、これはうまくいきませんでした。そもそも京都には市場がなかったんですね。それで、事業としてやるからには京都にいてはダメだという結論になりまして、私は社長に「東京で事業をしたいから、転勤させてくれ」と直談判をしにいくことになります。
その場では「そう思っているのか」くらいの反応だったんですが、その年度の終わりに、幹部の会議に上司と共に呼ばれまして。そこで「徳丸、お前は東京に転勤しろ」と社長の方から命じられたんです。東京支社にはKDDIを担当する事業部があったんですが、そこの事業部長をやれ、と。私がお願いに行ったことはおくびにも出さずに、まるで社長の発案であるかのように、一芝居打っていただいたんですね。当然、私は「わかりました、行きます」とその場で答えて、東京に転勤することになりました。何も知らない上司は意外そうな顔をしていましたが。
そうして東京でKDDIを担当する事業部に移り、それをやりながらであればウェブのセキュリティに関する事業もやってよろしいということになりました。同じ事業部の中での副業というか、当時は徳丸の趣味のように思われていたと思うんですが。
ですから、ここでも徳丸がした決断といえば、社長に頼みに行ったことと、社長から言われた際に「行きます」と即答したことぐらい。にもかかわらず、大変ありがたいことに、思うようにいったという話であります。
結果としてこの事業はうまくいったんですよね?
東京に転勤すると、非常にありがたい歓迎を受けまして、特に営業部門の責任者が「徳丸さんがウェブのセキュリティをやりたいというのであれば、営業部隊を整備しないといけませんね」と言って、中途と新人数名からなる営業組織を用意してくれました。
そうしてセキュリティ事業を始めたところ、運がいいことに……という言い方は適切ではないですが、ちょうど日本でSQLインジェクション攻撃が始まった。これまではどの事業も早すぎたんですが、このときだけはたまたまと言いますか、事業的には運が向いて、急に市場が活性化しました。
なおかつ、ある企業の大きな個人情報漏洩事件も重なって、非常に多くの脆弱性診断案件が我が社に来た。これはもう特需と言える状況でして、事業企画担当としては忸怩たるものがあったところから、一転して、転勤1年目から事業としても非常にうまくいった、これが2005年からしばらくのことです。
オフ会で“独立したい病”に冒されて
ようやく訪れた徳丸さんとしてもやりたいことができる環境ですし、会社としてもビジネスとして手放したくない状況だと思うんですが、なぜ2008年に独立を?
おかげさまでセキュリティ以外も含めて非常にうまくいきまして、生まれて初めてくらいに事業の成績がいいという立場になったんですが、やっぱり事業部長ですので、管理職として非常に忙しいわけですね。一方で自分には、もっと技術をやりたいという思いがありました。
京セラって割とハードワークの会社でして、創業者の稲盛さんなどは「自分は父親参観になんて行ったことがない」とか言うわけです。昨今のワークライフバランス的にはいかがなものかという発言ですが。もちろん今の京セラはそんなことはないと思いますが、少なくとも当時はそういうカルチャーの会社だった。
ですから私も事業部長として、家に帰ると毎晩9時をすぎていて、そこからご飯を食べて、夜遅くまで原稿を書いたり調べ物をしたりする生活でして、これはもうやっとれんな、と。もうちょっとうまく立ち回れば自分の時間をやりくりすることもできたのかもしれませんが、そういう発想にはいかなかった。
そんなときにウェブのセキュリティの、オフ会と言うんですかね、具体名は出せないですが、今でも現役バリバリの錚々たる顔ぶれが揃う集まりがありまして。私もそこに参加して、非常に刺激を受けたんです。中には個人事業主として活動しておられる方もいて、そうした姿を見たことで「自分にもできるんじゃないか」と思ってしまったんですね。
ありますよね、そういう病に冒されてしまうような瞬間が。それでもう「俺の生きる道はこれだ!」みたいに思ってしまった。


なんとなくわかります。
これが2007年の5月か6月だったと思うんですが、その勢いのまま「もうボーナスだっていらない。すぐに辞めるぞ」と、社長のところに行ったんです。そうしたら当然のことながら「まあまあ」と慰留されて。事業部の上にはいくつかの事業部を束ねる事業本部というものがあるんですが、急にその副本部長を兼務だとか言われまして。さらに何人かの幹部に飲みに誘われるという慰留作戦が展開されたんですが、でも私の望みとは違うし、意思は変わらなかった。
ただ、そのときの上司、この方は家内を紹介してくれた人でもあるんですが、私の意思が固いことは話す前から見抜いていて「徳ちゃん、独立するのはいい。でも、顧問という形でいいから社にも残りなよ」ということで、話をしてくださって。それで週に2、3日だけKCCSに引き続き通いつつ、残りの時間は自宅で仕事をするという形になりました。
ということで、ソフトランディングといいますか、収入はかなり保証された状態で、うまいこと独立することができた。それは当時の上司の計らいで、本来であれば私自身がしなければならなかった会社との交渉を間に立ってやっていただいたから。非常にありがたかったですね。それがなかったら、おそらく私のその後はうまく行っていなかったように思います。
ちなみに、独立することに関してご家族の反応はどうだったんですか。
私は当時としては遅い37歳で結婚しており、その当時、小学校低学年の子どもが2人いたんですね。なおかつ、マンションも購入したばかりで、そのローンがあった。ということで、家内に独立しようと思っていることを伝えると、当然のことながら「この男は一体何を考えているんだ」ということになりました。子育てはこれから大変になるんだぞ、思春期を迎え、受験だって始まるのに、と。
最終的には、そういう状況を考えると、旦那が夜遅くまで帰ってこないよりも、家で仕事をする方が幾分、子育てにも参加しやすいのではないかと思って納得してくれた……のだと思っていましたが、今振り返ると、どうも「あなたがそう思うなら、やってみれば」というところも多分にあったのではないかという気がします。いずれにしても、家族の理解が得られたというのは大変重要だったと思います。
ご家族や上司の方の理解があったおかげで、順調なスタートを切れたわけですね。
とはいえ、最初から仕事がバンバンあるわけもなく、運転免許をとりに行ったりして、割と暇をしていました。娘がバレエをやっていて、その教室が遠かったので、平日の夕方に送り迎えをしたりして。当時で言うところの「アッシー」ですが、これは会社勤めをしながらでは難しかったなと思います。というように暇をしていたので、本を書く余裕もあったということですね。


一度は断られた「徳丸本」はこうして生まれた
「徳丸本」の執筆経緯についても伺いたいんですが、本を書きたい欲求はずっと持っていたわけですか。
ありました。というのも、自分なりに温めていた構想というものがありまして。アプリケーションには、例えば表示する機能、データベースにアクセスする機能、ファイルにアクセスする機能など、さまざまな役割の機能がありますが、その機能ごとに脆弱性の出方がある。プログラマー向けに、こうした機能軸でまとめたらいいんじゃないかというのが私の構想でした。
ですが、独立したての頃に、とある出版社に企画を持ち込んだところ「大変ありがたいけれども、セキュリティの本は売れないのが社内の定説で、書籍という形では受けられないです」と断られたんですね。「その代わりにウェブの記事なら」ということで、これはウェブ連載になりました。
「徳丸本」を出すことになったのは、実はそれとは別の出版社から。自分で持ち込んだ企画はボツになったんですが、「初心者向けのウェブセキュリティの本を書いてください」ということで、向こうから執筆依頼が来たんです。最初は断ろうかとも思ったんですが、担当者にお会いしてみると、これが非常に素晴らしい方で。この人のもとでならぜひ書いてみたいと思い、引き受けることにした。これがいわゆる徳丸本初版として世に出ることになりました。
連載から転用したのはアイデアだけで、原稿はすべて書き下ろしました。その上で、私の発案でレビュアーを募集しました。レビュアーというのは、一般的にはほぼ出来上がった後に募るものですが、このときはこれから書くという段階で募集をして。ですから、かなりできたてほやほやの原稿から見ていただくという形をとりました。これは大変うまくいって、やってよかったなと思っています。
うまくいったというのは。
レビュアーを公募するときの条件は三つで、レビューをしていただいた方の名前を謝辞に載せること、献本すること、それから打ち上げに参加できるということ。ですから謝礼などは一切払っていないんですが、にもかかわらず、予想外に著名な方からもご応募いただきまして。当時の私の実力は全然大したことがなかったんですが、大変有益な協力をいただきました。
具体的には、クロスサイトスクリプティングに関して説明する箇所について、ある方から「いや徳丸さん、ここは面倒なようでもやっぱり同一オリジンポリシーから説明しなきゃダメだよ」という意見をいただき、そのように書き直したりしました。ですから、徳丸本初版の特徴となるようなアイデアは、実はレビュアーさんからいただいたところがあるんです。


そもそも本を書く動機はなんだったんでしょうか。正しい知識が広まればご自身のビジネスにもプラスに働きそうですし、自分の知識を体系的に形にしたいという動機もありそうですが。
もちろんビジネス的な話もあると思うんですが、それは副次的なもので。
当時、ウェブのセキュリティは非常に問題になって、話題になりましたが、私の目から見て、間違ったことを言っている記事や説明が多かった。「いや、そうじゃないんだ」「正しいのはこれなんだ」と言いたい気持ちが当時からありました。
それから、開発者向けに書きたかったというのもあります。やはり開発者が正しい知識を持たないことには、脆弱性というのはいつまでも生まれ続けることになるので。ですから、開発者に寄り添った本を書きたいというのがもう一つの動機です。蓋を開けてみたら、開発者以外の人にも読んでいただける「脆弱性診断のバイブル」のようになりましたが、それは想定していたこととは違いました。
脆弱性はなぜなくならないのか
本を書いた当時見通していた未来と、現在の世の中の状況を比較してどう感じていますか。
徳丸本初版を書いた当時は、この本さえ全部理解すれば、ウェブのセキュリティの問題はすべて解決できるという思いでいました。当然のことながら、実際にはそんなことはないわけですが、どうしてそうでないのかというところが大事です。
私の本で扱っている脆弱性というのは、もともとはソフトウェアのバグのことです。ソフトウェアにバグがある、あるいは本来必要な機能が漏れているみたいなことがあると、それが脆弱性となり、そこを突かれてやられてしまうということが起こるわけです。
ところが最近、例えばオンライン証券で非常に多額の被害が出ていますよね。その大半がフィッシングであると言われています。フィッシングというのは、メールか何かで偽のURLが送られてきて、そこにアクセスしてIDとパスワードを入れてしまうと盗まれる、というものですが、これは伝統的な意味での脆弱性ではないわけです。もっと言えば、証券会社やそのサイトに責任はない。にもかかわらず、証券会社は「利用者の損失を補償します」などと言っている。これは昔にはなかったことです。
では、証券会社には責任がないのに、なぜ補償しなければいけないのかという話ですが、これには、私が徳丸本初版を書いた当時に比べて、インターネット利用というのがものすごく広がったことが関係しています。今では子どもも使えば、お年寄りも使う。ですから、そういう人が使っても安全なものを提供しなければならなくなっているわけです。
昔の考えですと、フィッシングは「引っかかった方が悪い」となる。内心は今もそう思っている人はいるでしょうが、だんだんとこれは通用しなくなってしまった、そのように状況が変わっているというのが一つです。
はい。
一方で、脆弱性診断をすると、今でも盛んに脆弱性が出てきます。これは、技術が新しくなったから新しい脆弱性が出てきているのかと言えば、実は全然そんなことはなくて。原理としては昔からあったものと変わらないんです。ただ、ウェブの作り方が変わったということは、昔からある原理を参照しつつも、別の形で解釈する必要はある。にもかかわらず、みんなそんなことは忘れてしまって、やるべきことをやっていない。それゆえに、びっくりするくらい素朴な脆弱性がいまだに盛んに出ているというところがあります。
新技術のキャッチアップができてないからというよりは、基礎的な原理をちゃんと実践できていないといいますか。今の作り方だったらこう実践すべき、というのができていないみたいなところが大きいな、と。


今には今の実践しづらさみたいなものがあるから、それに合わせたものが必要になる。
ですね。エンジニアというのは本来、知的な仕事であるわけですが、皆さん、プログラムを作ることにおいてはもちろん専門的な能力を発揮されるんですが、それしかできないというか、セキュリティ文脈でちょっと応用を効かせてくださいというのは、なかなか難しいようです。
Xを見ていると、「私は徳丸本をもう3回読みました」という大変熱心な読者の方がおられる。非常にありがたいんですが、何回読んでも、それを応用するのはまた別なんだよな、と思って見ています。勉強熱心な方は、どうしても覚えることに重点がいってしまって、理解して応用するというところまでなかなか行かないんですね。
これは本を書く立場、あるいはセキュリティ講習をする立場として、非常に重大な課題です。読者が悪いとか、受講者が悪いと切り捨ててしまっていては何も始まらないわけで、そうであるならば、伝える側としてどうすればいいかと考えなくてはならない。けれども、これはそんなに簡単な解があるわけではないです。
例えば、私の本では実習環境というものを用意していて、すぐに実習できるようになっています。これは徳丸本初版からそうしているわけですが、実際にそれを使って実習してくれている人もいれば、読んで終わりという人もいるでしょう。実習するにしても、私のコンテンツの作り方にもまだまだ工夫の余地はきっとあって、知識を問うのではなくて、理解度を問うようなトレーニングにできないものか、とか。この辺りは課題ではありますね。
若い人に負けないと言い切れる理由
キャリアの話題に戻ると、もともとご自身で立ち上げた会社が名前を変えて、現在はお立場もCTOへと変わっていますね。これは?
私はいわゆるファウンダーとして、もともと一人株式会社でやってきました。最初は知り合いや前職経由で仕事をもらっていましたが、本が出てからは知名度も多少は上がり、徳丸で検索した人が依頼してくることも増えていったように思います。
そこから旧知の間柄だったイー・ガーディアン社長の高谷から声をかけられて、グループ入りすることになりました。一人でやっているときは従業員を雇うつもりはなかったんですが、ジョインしてからは当然、事業を大きくするというミッションもございますので、親会社の力を借りながら、社員を集めて、ちょっとずつ大きくしていっています。
ただ私自身、事業部長の経験はありましたが、会社経営の才覚はそんなにあったとは思っていないので。立場的にはCTOの方が性に合っていると思い、ここ数年は、いわゆる事業的なところにはそれほど深くタッチせず、技術的なこととか、採用に力を入れてやっています。
もともと独立したときの動機の一つとして「技術に時間が割きたい」という話がありました。CTOという立場にある今でも診断書すべてに目を通しているそうですが、これもその表れですか?
一義的には品質保証ということでありますが、おっしゃるような側面もあります。というのも、脆弱性というテーマで書かれた本やネットの記事は世の中にたくさんありますが、そういうものは割と綺麗な形で書かれていたりするわけです。あるいは、実際にはこうはならないんじゃないかというような、作ったような話であることも割とあって。
それに対して、脆弱性診断で出てくるものは、本職の開発者がうっかり作り込んでしまったということですから。私なりの表現では「天然物」と言っているんですが、天然物の脆弱性はやっぱり一味違う。それは私自身にとっての学びが非常に多いものでもあります。
一方で、開発手法や言語がどんどん変わっていくと、先ほど言ったように、原理は一緒でも、脆弱性の出方が変わってくるというところがあります。ですから新しい開発手法、言語が出るたびに、インプットし続けないといけない。自分でも新しい作り方でプログラムを書いてみる、手を動かして書いてみるということをしないと、ついていけないことになる。それは継続してやっています。


技術の進化はとどまるところを知らないですが、キャッチアップし続けることに危機感や焦りはありますか。
それはあんまりないですね。と言いますのは、「新しい技術を習得するのは若い人が有利」という意見が根強くありますが、実際はそうでもない。
新しい技術というのは、過去の技術の上に何かしら課題があったり、あるいはその応用として、積み重ねでできていますから。過去の知識がまったくいらなくて、新しい技術だけ学ぶっていうのはできないわけです。
例えばブラウザの仕組みだって、基本のところは変わっていません。サーバー側でもいろいろと変化があってウェブ APIというものがだんだん重視されるようになったとか、そういうことはありますけど、基本のところは変わっていない。そうすると、今から新しく技術を学ぼうという人は、過去のものも含めて非常にたくさんのものを学ばなければいけないはずなんです。なんだけど、時間がないので、とりあえず必要なところだけちょいちょいとやっている人が多い。これに対して、昔からやってるシニアな人たちは、過去のことはしっかり理解した上で、差分だけ勉強すればいいわけですから、それは有利な面でもあるわけですね。
ですから焦る必要はないし、例えば数ヶ月、他のことで忙しくてキャッチアップできなかったとしても、そんなのはすぐ追いつけると思っています。京セラ時代の私のように、夜9時まで仕事をしていますとかだったら難しいと思いますが。今はそういう立場でもありませんから。
チャンスを捕まえるには「準備」がいる
ご自身のこれまでを振り返って、特に大変だったと感じる時期はありますか。あるいは「これを乗り越えたことが今につながっている」と感じることは。
難しいですね。これが特に大変だったっていうのは……いや、あったんでしょうけど、私ね、大変だったことはすぐ忘れちゃうんですよ。これは私の性格なんですが、非常に都合よく忘れるもので。
私自身は、とある取材の席で「私の人生は受動的な人生だった」と答えたこともあるように、何かを自分から能動的に行動したっていうのはあんまりない。独立したというのは能動的ですけれども、割と流れに身を任せていることが多かったような気がしますね。
ただ、よく言われるように、それはチャンスが来たときにパクッと捕まえるということだったんじゃないかなと思います。それをうまくやれたといいますか。


なぜ「うまくやれた」んでしょうか。
私自身は「俺って運がいいな」と思ってるわけですよ。というのは、例えば、京セラに入った縁故入社の話にしても、私がパソコンのことなどをひと通り勉強して、「さて、これから就職活動をしようか」と思ったタイミングで、向こうから電話がかかってきた。それからKDDIの認証課金にしても「徳ちゃん、やってよ」ということで向こうから言われた。
けれども別の見方をすれば、会社の中で「そういうことなら徳丸に任せてみよう」という立場になっていたから、そもそもそういう話が来た、とも言えるわけです。本の執筆依頼もそうですよね。
ですから、自分がやりたいことを一生懸命やっていると、準備ができた状態になっているわけですね。そこに、そういうチャンスが都合よく降ってきた。私自身はそう思ってまして。1回だけ、持ち込みで本を書かせてくださいと言ったけど、そのときはうまくいかなかった。今にして思えば、多分、そのときに書いてもあんまり良い本は書けなかったと思ってるんです。それは、私自身の準備が足りていなかったということだと思うので。
キャリアについて考えるときに特定領域のスペシャリストになるのか、それともオールラウンダーになるのかという選択肢がよく話題になります。徳丸さんは日本一のスペシャリストの一人だと思うのですが、そういう選択を考えたことはありましたか。
いや、あんまりない……というのと、サラリーマン時代は事業企画の担当者として、例えば法務的なこととか、ありとあらゆることをやってたんですね。担当の上司が変わったときに「お前ら、こんなことまでやってるのか」ってちょっと呆れられたくらいに。
ただ、エンジニアだから法務的なことをやっていたのが無駄かというと、実はそんなことはなくてですね。セキュリティにはコンプライアンスという面もありますから、法務的な発想というのはすごく重要なわけですよ。だからすべてのことは生きているな、と。
「契約書をチェックしてください」と言われて、ざっと流してもいいんでしょうが、一生懸命読むわけですね。なんでこういう風に書いてあるんだろう、とか。そうやって一生懸命やってきたことが、いずれ思わぬ形で、自分の役に立つと。専門分野に隣接する関連分野として役に立ってくる。事業もそうですよね。セキュリティっていうのは、最終的に事業に貢献するためのものですから、やっぱり事業的な側面が生きないなんてことはない。セキュリティが好きな方って、割と技術だけって方が多いんですが、それは本末転倒と言いますか。「セキュリティ守ったけど、会社潰れた」みたいになったら何の意味もないので。
「受け身の人生」とおっしゃいましたが、お話を伺っていると、やはりそれだけではないという感想を持ちました。最後に、「いい受け身」というものが仮にあるとしたら、どういう受け身だと思いますか?
いい受け身……非常に答え方が難しいですけど、言われたことをただやるっていうんじゃダメですよね。例えば、冒頭に穴開けの装置の話をしましたが、「こんなものじゃダメだ」と突っ返されたそのときに、私は若いこともあって、「そこまで言うなら、うんと素晴らしいものを作ってやろう」ということで返したと。それが私の原点かもしれませんね。全部が全部自分の発想・着想ではないんだけど、言われたことに対して前向きに、素晴らしいもので返そうとした。実はそこが私の原点だったような気がします。


