取り組むのは「セキュリティの本質的課題」解決 ~ 米内貴志が東京大学に通いながら株式会社Flatt Securityの仕事をする理由 | ScanNetSecurity
2024.03.19(火)

取り組むのは「セキュリティの本質的課題」解決 ~ 米内貴志が東京大学に通いながら株式会社Flatt Securityの仕事をする理由

米内貴志さん。21歳。都内の大学で情報科学を専攻する学部3年生。米内さんのセキュリティにかける思いと現在の課題意識、そしていま開発中のプロダクトに関して話を聞いた。

製品・サービス・業界動向 業界動向
PR
 彼がコンピュータに興味を持ったのは小学校高学年から。中学2年生、わずか13歳のときセキュリティ・キャンプに参加した少年は成長し、現在は大学で情報科学を学ぶ。学業の傍ら、自分に大きな成長をもたらしてくれたセキュリティ・キャンプへの恩返しがしたいと、全国各地でキャンプの講師・スタッフとして活躍する日々を送る。専門は Web セキュリティだ。

 2019年から、大学のサークル仲間が起業したベンチャー企業 株式会社Flatt Security を技術者として手伝う仕事も始めた。

 米内貴志さん。21歳。都内の大学で情報科学を専攻する学部3年生。米内さんのセキュリティにかける思いと現在の課題意識、そしていま開発中のプロダクトに関して話を聞いた。


――ずっとセキュリティに関わり続けてきた理由は何ですか?

 新しいことが多いことがとても楽しいです。新しい技術が出れば、セキュリティについても新しく考えなければなりません。セキュリティ技術者として、「勉強し続ける圧力」「キャッチアップを義務付けられる環境」が楽しいです。

 僕は昔から、何かを分解して中身がどうやって動いているかを確認するなど、サイエンス的な成り立ちを知ることに興味がありました。また、幅広い事柄をまとめて、筋道を立てて記述するというのも好きで、僕がやっている Web セキュリティの領域は特に情報がバラバラになっているので、それをつなげることにやりがいを感じます。

 そして、セキュリティ・キャンプに参加したことをきっかけに、単に分解して仕組みを知る面白さや、バラバラのものをつなげる楽しさから一歩進んで、セキュアじゃないものをどうにかセキュアにしたい、危険があるということをみんなに認識してもらいたい、そういう考えにシフトしました。

――セキュリティ・キャンプに参加したのはいつですか?

 2012年です。参加当時は中学2年生で13歳でした。

――セキュリティ・キャンプではどんな発見がありましたか?

 めちゃめちゃありました(笑)。いま僕がセキュリティ業界にいるのも、あのキャンプのおかげです。楽しい、カッティングエッジなことができることを知りました。

 それに、周りにレベルの高い人がいる環境が初めてでした。それまでは同世代なら僕が一番強いと思っていたんですが(笑)。でもキャンプで僕と同学年の最年少参加者に会って、彼がとてもかなわないほど優秀で。

 年齢に関係なく、いろいろな人にリスペクトを持てるようになれたのも、あのイベントのおかげです。「慢心していられない」と、技術よりもマインドを変えてくれました。キャンプに行くまで僕は、技術力“だけ”を鍛えることでいつか「ずば抜けた存在」になれると信じていたんです。

 僕の人生を根底から変える体験でした。

 人生を変えたイベントに恩返しをしたい、感謝を示したいという気持ちで、いまはセキュリティ・キャンプの講師・企画・広報グループに所属していろいろなお手伝いをしています。

――キャンプ以降は、セキュリティに関する情報収集や勉強をどう続けましたか?

 中学生の頃は熱心に本を読んだり、コンピュータ漬けの日々を送りましたが、高校入学後の3年間はセキュリティから離れて、ハンドボールしかしていませんでした。技術力“だけ”ではなく、人間的なスキルもしっかり鍛えたうえで大学に行きたいと考えました。

 個人的にとても良い期間だったと思います。僕は人と話すのがもともとあまり得意ではありませんでしたが、いまはこうして取材に応えたり、抵抗なく人前で話ができるようになりました。チームプレイを身に付けたのもハンドボールのおかげと思っています。

―― Flatt Security に入社したきっかけは何ですか?

 代表の井手に誘われました。もともとTSG(東京大学理論科学グループ)というサークルでいっしょだった井手のビジョンを聞いて、いっしょに何かやりたいな、と思うようになりました。

 その頃僕はすでに、ある企業で脆弱性診断のアルバイトをしていました。でも診断だけで世の中の本質的課題を解決するのは難しいな、と感じはじめていました。井手が言った「世界で使われるセキュリティプロダクトを作る」という方針にとても共感しました。

 課題をひとつひとつ解決していくことは僕にもできる部分があります。しかし、何の脈絡もないことをドンと言うことはできません。井手はそういうことをドンと言えるんです。

 「根拠のない自信を持てるのが凄いな」と。もちろん全部いい意味で言っています(笑)。

――技術者の就業先という意味で選択肢が広い米内さんが、Flatt Security でセキュリティに携わる意義はどんなところですか。

 今後成長が見込める領域だからこそセキュリティ事業をはじめたわけですが、単に利益につながることだけを考えるのではなく、「倫理を徹底する」という企業価値を Flatt Security は掲げています。

 セキュリティの分野では、相反するアイデアやサービスが存在する場合があります。たとえばバイデザインでセキュアになるような開発プロセスができれば、脆弱性診断はなくてもいいことになります。

 セキュアになればなるほどセキュリティ企業は仕事を失います。Flatt Security はそういう「しがらみ」が少ない会社だと思っています。スタートアップだからこそできることで世の中を変えていけるかもしれないと考えました。

――いま Flatt Security でどんな仕事に取り組んでいますか?

 セキュリティエンジニア向けのトレーニングを作っています。新しい人が増えれば技術・知識のレベルをぐっと引き上げる必要があります。脆弱性が出て、そのリスクを判断するためには、その脆弱性を使って攻撃がどこまでできるかを知らなくてはなりません。ツールの出力結果を見て正しく評価したり、脆弱性を探したりするためには、確固たるバックグラウンドの知識が必要になります。

 いま脆弱性の名前、たとえば「SQLインジェクション」でググると、上位に出てくる情報にすら不正確なものは一定数あります。脆弱性のことをよく知らないで評価しているとリスク評価を間違えることにつながります。

 解説する文章と、実際に手を動かしながら理解してもらうことで、正しくセキュリティの物事を評価できるようになる、そんなコンテンツを作っています。

――エンジニア向け教育コンテンツの開発というのは、どのような問題意識から企画されたものなのでしょうか?

 ユーザ企業のセキュリティ対策の現場で「本質」が理解されていないと僕が思ったことがきっかけです。

――予算や人材不足、組織体制等々、いまの日本のユーザ企業が直面する課題も一因かもしれませんね。

 脆弱性の種類など表面的なところのみ受け取って、根本的になにがマズいのかその理由をきちんと把握している人がほとんどいません。

 たとえば一般に、ログインページで「パスワードが間違っている」とエラーメッセージが返ってきたら問題があるとされていますが、本質的になぜまずいのか、理由を理解せずに開発されている場合もあるのではないでしょうか。

――攻撃や対策の本質的な理解が得られれば、予算・人材・組織の課題を解決する糸口をも見つけることがあると思います。具体的に、いま米内さんが注目している脆弱性とその対策技術は何ですか?

 XSS(クロスサイトスクリプティング)脆弱性を含む、Content Injection 脆弱性全般と、その対策に注目しています。特に JavaScript のバグに起因する DOM-based XSS の対策に関心があります。DOM-based XSS を引き起こす可能性のある箇所をコード全体の中から探し出すのはいまだに難しくコストのかかる作業です。スキャナーで探しにくい部類の脆弱性で、人のレビューが必要だからです。

 そこで、開発する時点で、 DOM-based XSS の原因となり得るような操作が行われる箇所すべてで Trusted Types という型を利用するよう開発者に義務付けることによる対策手法の開発が進んできています。

 DOM-based XSS の対策のためには、ユーザの入力値をそのまま受け付けるのではなく、安全な文字列に置き換える処理 (エスケープ) が必要です。ここで開発者がそのエスケープした処理済みの文字列の型を Trusted Types という型に変換するように義務付けたとします。すると以降の処理では、文字列が安全であるかを型で検証できるようになります。これが Trusted Types という仕組みの概略です。

 もうひとつ XSS 脆弱性への対策としては、CSP( Content Security Policy )という方法があります。僕はこれにも注目していて、CSP を利用すると、XSS などの攻撃でスクリプトが注入されたとしても、ブラウザが直前でスクリプトの実行を阻止することができます。開発者は自分が書いたコードを認識しているので、HTTP ヘッダを使って、事前にブラウザに自身の情報を提供します。ブラウザは実行するかしないかを、その開発者の情報を元に選択します。注入された悪意のあるコンテンツは、適切な開発者が書いたと言われていないから動かしてはいけないと判断することができます。

 3つめは、Cookie を利用した攻撃を防御する SameSite Cookie です。Cookie は昔からある仕組みで、WWW が登場してブラウザが現れた頃にできたものです。Cookie は残念ながら、現在のセキュリティ、ブラウザのデザインとはぜんぜんマッチしていません。たとえば今見ているページから異なるサイトへのリクエストが発生した場合でも、Cookie は付加されてしまいます。僕が小さい頃に「はまちちゃん事件」という被害を起こした CSRF(クロスサイトリクエストフォージェリ)という脆弱性はこのような原因で生まれたものです。

 CSRF はもちろんアプリケーション側で対策することができます。しかし開発者がわざわざ対策をしなくてもセキュアにしようとする仕組みが、 Cookie の SameSite 属性です。セキュリティ境界には、Origin の他にもサイト(Site)というものがあります。ここで Cookie に SameSite 属性をセットすると、サイト間をまたぐリクエスト時にその Cookie がつけられるかつけられないかを制御できます。今でも開発者がオプトイン(有効化・無効化)できますが、デフォルトで有効化しようという動きもあります。

 このように、Web セキュリティを強化するための仕組みがブラウザに増えてきています。


――この3つの対策事例が、米内さんの仕事の目標とどうつながるのでしょう。

 僕の仕事の目標は、多くの開発者にセキュアな Web 開発のための知識を伝えていくことです。

・セキュアな開発を支えたい
・もし脆弱性が出ても影響度を小さく留められるようにしたい
・そもそもとして、誰が開発してもセキュアなものが出来るようにしたい

 これは、仕事の目標を達成する前提として、Web セキュリティを考える際に僕がとても大切にしている 3 つのモチベーションです。

 この観点に立つと、いま紹介した3つの対策事例は、ちょうどこれらを実現しようとする動きといえます。だからこそ伝えたいと思ったのです。

 でも、たとえば Content-Security-Policy の導入は進んでいないのが現状です。むしろ「なぜこんなのが必要なの?」「対策はめんどくさい」「今まで動いてたものが、動かなくなる」という不満のもとにすらなっています。

 しかし僕は、そのような現状も、多くの人に「この対策手法で何が解決されるのか」「それが解決する問題は、そもそもなぜ大事なのか」を理解してもらうことによって解決できると思っています。

――自分以外のたくさんの人たちの理解を助けるための教育コンテンツ作成に取り組んでいらっしゃるのが興味深いです。ご自身が成長したり、成果を挙げて注目されることよりも、自分以外の多数の成長の方が大事だということですか。

 僕は属人性があることに興味を持てません。いまはセキュリティ診断がプロフェッショナルの仕事となっていますが、まったくセキュリティの専門家でない人がセキュアなものが作れる世界であるべきだと思っています。それが僕の根っこの部分です。

 実は、セキュリティを始めた7年前は、CTFのような一瞬の花火的競技が大好きでした。CTFは途中で3年ほど離れた時期がありましたが、キャンプの翌年2013年から参加して、大学で井手と出会ったサークル「TSG」でもCTFのチームを組んでいますし、学外でも dodododo(ドドドド)というチームに入っています。dodododo 自体は2013年から SECCON の国内外の決勝に出ました。

 いわゆるハッカーと呼ばれる技術者はカッコいいし、憧れの存在でもあり、そうなりたい理想像でもあります。

 小学生4年生のときにテレビで見た「BLOODY MONDAY」は僕の人生にデカい影響を与えました。僕はインターネットで「つばめ」という名前を自称しているのですが、これは「BLOODY MONDAY」の主人公「ファルコン(はやぶさの意)」の影響で、ネットにファルコンという名前が増えた時期があって、自分はそれに埋もれないように別の名前にしようとして出てきたのが「つばめ」だったのです。

 たとえ、CTFで毎年世界一になるような強い人間が一人いたとして、その人だけがセキュリティのことを分かっている状況では不十分だと思います。誰でもセキュアなものづくりができるような世界、本質的にセキュアな世界を僕は作っていきます。

――ありがとうございました。

--
「燕雀いずくんぞ鴻鵠の志を知らんや」

 中国の故事成語だ。いわく「ツバメやスズメのような小さな鳥にはオオトリやコウノトリのような大きな鳥の志は理解できない」

 セキュリティ・キャンプへの参加、CTF参戦、部活動に明け暮れた高校時代、大学で学んでいるコンピュータサイエンス、そして 株式会社Flatt Security 井手康貴との出会い。かつて「つばめ」というハンドルネームを名乗った少年がたくさんの人に揉まれ育てられたくましく成長し、もはやツバメにはそぐわない巨大な志を掲げ、いま仕事の端緒についた。

《鳴海 まや子》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×