Findy Engineer Lab

エンジニアの"ちょい先"を考えるメディア

「Black Hatに採択される」という大きな目標を達成したセキュリティ研究者が次に目指したのは現場への貢献

はじめまして、中島明日香(@AsuNa_jp)です! 私は14歳の頃にハッカーに憧れてセキュリティの世界に飛び込んで以来、セキュリティひと筋なキャリアを歩んできました。大学でセキュリティを学び、卒業後も研究開発者として10年以上さまざまなセキュリティの研究開発に携わってきました。

本記事では、私自身のキャリアの歩みについて紹介します。今までどのような仕事に携わってきたかだけでなく、大学卒業時の就職や一昨年に経験した転職など、キャリアの節目においてどのように考え、選択してきたのかについても触れています。

私のこれまでの歩みが、皆様が自分らしいキャリアを歩む参考になればたいへんうれしく思います。

基調講演に登壇する筆者の写真
▲ Black Hat Asia 2023のロックノート(閉会時基調講演)となるパネルセッションに登壇する筆者(左から2人目)

ハッカーに憧れてセキュリティの世界に飛び込む

私がセキュリティの世界に入ったのは、14歳で出会った1冊の本がきっかけでした。『Project SEVEN』というサイバーパンク小説で、「女子高生ハッカーが天才プログラマーと協力して、サイバーテロリストから世界を救う」という内容でした。

初めてこの小説を読んだとき、「パソコン1つで世界を転覆させることも、救うこともできるんだ!」という驚きとともに、ハッカーという存在に強く憧れました。願わくば私も「ハッカー」と呼ばれるような人になって、「世界/社会を広く良くできたら」と思いました。

以降、独学でコンピュータとセキュリティの勉強を始め、大学は慶應義塾大学環境情報学部に入学し、侵入検知システムの第一人者である武田圭史教授の研究室に、入学4日目にメールで直談判して入れていただきました。

学生時代は研究室の仲間と切磋琢磨しつつ、自分自身の幅を広げて技術力を伸ばすため、学外の活動にも力を入れました。学生向けのセキュリティ人材育成プログラム「セキュリティ・キャンプ」や、セキュリティの競技大会(Capture the FlagやHardening Project)に参加しました。

また、就職を見据えてさまざまなIT系会社や組織で各種インターンシップに参加し、自分が将来どのような会社・職種に就きたいか・向いてそうかを吟味しました。この自己分析を踏まえつつ、最終的に初心に立ち返り、セキュリティの専門家(それもハッカーと呼ばれるような人)になれそうで、かつ世界/社会を広く良くできそうな会社・職種は何か? を考えました。

その結果、日本の通信インフラを支える日本電信電話株式会社(NTT)に2013年に入社し、セキュアプラットフォーム研究所(入社当時)でセキュリティ研究者としてのキャリアをスタートさせました。

「世界を広く良くしたい」を実現させるには?

学生時代や入社当時には「ハッカーと呼ばれる人になって、世界/社会を広く良くする」という私の願いやその具体性はまだ漠然としていました。しかし「漠然としたままでは実現できない!」と気付き、目標をもっと具体化させることにしました。

そもそも「ハッカー」とはコンピュータに精通した人を指す言葉であり、何か資格がいるわけではありません。そのため、私自身が「ハッカーになれた」と思える目標を立てることにしました。考えた末に打ち立てたのが「セキュリティ分野における産業系国際会議の中でも、ハッカー系会議とも称される国際会議(新規のハッキング技術や研究発表の場)の中でも、特に権威がある『Black Hat』で採択され、発表する」という目標でした*1

また同時に「世界/社会を広く良くできる研究とは何か?」についても考え、自分の研究テーマを、当時の上司の勧めもあって、最終的に「ソフトウェアの脆弱性発見・対策」としました。例えば、何億ものユーザを持つソフトウェアに脆弱性があったとして、その脆弱性を攻撃者より早く発見して対策・修正できれば、社会を広くサイバー攻撃から守れた、つまり「世界/社会を広く良くできた」と言えるのではないかと考えたのです。

この目標を立てて7年近くがたった2019年、掲げた目標の通りBlack Hat Europeにおいて脆弱性発見・対策の研究で採択され、発表することができました。

OEM Finder: Hunting Vulnerable OEM IoT Devices at Scale - Black Hat Europe 2019

そう聞くと「なんだ、何もかも順調じゃないか」と思われるかもしれません。しかし、そもそも7年近くかかったことからも察せられるように、私自身が器用な人間ではないことも相まって、途中の道のりは決して順調なものではありませんでした。

コードクローンの脆弱性を発見する新しい手法の研究

入社当初、最初に取り組んだ研究テーマは「コードクローンの脆弱性発見・対策」でした。「コードクローン」とは、ソフトウェアのソースコード中に存在する同一、または類似するコード片のことを指し、コードのコピー&ペースト等で発生します。

開発を効率化するためにソースコードの再利用は一般的に行われますが、コピー元のコード片に脆弱性があった場合、その脆弱性がコピー先にも複製されてしまうことがままあります。この複製された脆弱性のことを「コードクローンの脆弱性」と呼びます。コードクローンの脆弱性の何が問題かというと、元の脆弱性が発見・修正されても、コピー先の脆弱性が修正されないまま残っている場合があることです。

「複製された脆弱性箇所をいかに発見するか?」という研究は、当時から少なからずありました。しかしそのほとんどが、オリジナルと複製先のソースコードが両方存在していることを想定していました。そこで私の研究では、ソフトウェアのソースコードが入手できない(実行ファイルのみしか存在しない)場合でも、実行ファイルの逆アセンブル結果からコードクローンの脆弱性を発見することに注力しました。

振り返ってみると、NTTに入社した当初の私は研究開発に関して本当に素人同然でした。ただ、ありがたいことにNTTの研究所では、1年近くかけて1つの研究テーマにじっくりと取り組む「研究テーマ企画」というもの(OJT教育)があり、これで研究開発の基礎力を鍛えてもらいました。

コードクローンの脆弱性発見も研究テーマ企画の一環で取り組み、かなり紆余曲折がありましたが当時の上司の助力もあって、最終的になんとか形にすることができました。そして自分でも驚きましたが、提案した手法を利用してWindows内に標準的に存在する実行ファイルに、まだ未修正(発見当時)なコードクローンの脆弱性を発見することもできたのです。

機械語命令の類似度算出による複製された脆弱性の発見手法の提案 - 情報処理学会 電子図書館

研究成果をBlack Hatに採択させるにはどうすれば?

この研究成果をもとに「いよいよ国際会議に挑戦できるぞ! Black Hatを含めた難関ハッカー系会議に投稿するぞ!」と当時の私は喜び勇みました。しかし、これもそう簡単には進みませんでした。

なぜなら、私が目指すハッカー系の国際会議を目指していたり、採択されたことがある研究者は、社内だけでなく日本国内でも極少数だったからです。そのためハッカー系会議の採択傾向や審査基準などが何も分からない状態から始めなくてはならず、すぐに行き詰りました。

例えば、Black Hat Asia 2016に研究成果を投稿してみましたが、案の定、不採択になりました。しかも、ハッカー系会議では一般的に査読コメントが返却されないので、不採択の理由も分かりません。「単に書き方が悪かったのか?」「有効性の検証が足らなかったのか?」「テーマ自体がハッカー系会議向きではなかったのか?」など、いくら考えても答えは分からずじまいです。五里霧中の状態になりました。

このような行き詰まりや停滞を感じたとき(さらに打開策も見つからないとき)に、私はある戦略をよく取ります。それは「自分の行動パターンを変えてみる」ことです。行き当たりばったりの戦略で、あたかも神頼みのようにも見えますが、これにも一応根拠があるのです。

計画的偶発性理論を実践する!

キャリア形成の分野において「計画的偶発性理論」と呼ばれる行動理論があります。スタンフォード大学のジョン・D・クランボルツ教授によって「成功した人のキャリア形成のきっかけは、8割が偶然によるものだった」という調査結果をもとに提唱されました。

理論の一部をざっくりと紹介すると、キャリアで成功するには、成功を左右する「良い偶然」をいかに引き寄せるかが大事であり、その「良い偶然」を引き寄せる行動・計画こそが大切であるというものです。私もこれを踏まえて「何でもいいから海外のセキュリティ技術者・研究者と接点を持ってみよう」と考えて、行動に移しました。日本で開催される海外技術者・研究者との交流会などに積極的に参加して、観光案内などを引き受けたのです。

それで仲良くなると、同じセキュリティ屋ということもあって、私がどんな研究をしているかという話にもなります。研究がハッカー系会議になかなか採択されないと話すと、アドバイスをもらえました。そのアドバイスをもとに行動すると、ロシア最大級のハッカー系会議(2016年当時)である「Positive Hack Days」に研究が採択され、発表することができたのです。

ハッカー系会議で登壇する筆者
▲ Positive Hack Days 2016でコードクローンの脆弱性発見についての研究を発表する筆者(発表資料

その後もこういった行動がさまざまな「良い偶然」を引き寄せて、海外の権威あるセミナーで発表できたりもしました。

とうとうBlack Hatに登壇する

2017年には、それまでの実績や活動が認められ、目標だったBlack Hat AsiaでReview Board(査読委員)に就任することになりました。それに加えてNTT内でも、少し前から米カーネギーメロン大学(CMU)との共同研究の主導を任されるなど、いろいろと順調なようにも思えました。

しかし、むしろここからが本当に苦しい時期になりました。私の実力不足から、Black Hatのようなトップレベルの会議に採択される研究成果がなかなか出せなかったのです。たいへん残念な現実ではありますがこれを受け入れて、実力を伸ばすため研究により専念しました。CMUの先生にも数えきれないほどの研究議論(おそらく数年で100回くらい)に付き合っていただき、とにかく「できることは何でもやってみよう!」と研究を続けました。

すると少しずつですが、研究者として成長し、成果も出せるようになりました。CMUとの共同研究もうまくいき「ACM Asia CCS」という難関学術系国際会議で採択されました。

A Pilot Study on Consumer IoT Device Vulnerability Disclosure and Patch Release in Japan and the United States | Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security

そして2019年後半、Black Hat Europeにおいて私自身の研究がようやく採択されるに至ったのです。

米国政府機関にも注目されたOEM Finder

せっかくなので、Black Hatで発表した私の研究(OEM Finder)を簡単に紹介しましょう。これはOEM製造されたIoT機器に搭載されているファームウェア(ソフトウェア)を対象にした脆弱性発見・対策の研究で、根底となる発想は先に紹介したコードクローンの脆弱性発見と同じです。OEM製造元会社のオリジナルとなるIoT機器に脆弱性が存在するなら、(ブランドロゴを張り替えただけの)OEM製品にもその脆弱性が同様に存在することに着目し、「いかに脆弱性のあるOEM品を探し出すか」に注力しました。

オリジナル製品とOEM品の外観の類似性に着目したOEM品発見手法を考案した後、提案手法を用いてIoT機器の中でもネットワークカメラを対象に調査した結果、なんと約180種類以上もの未だ脆弱な可能性の高いOEM品候補が市場で出回っている事実が判明しました。

この結果は多くの人に衝撃的であったことから、海外メディアでも複数回取り上げられました。メディアを通じて研究が多くの人の目に触れることで、OEM製品のリスクについて警鐘につながり、結果としてサイバー攻撃を未然に防ぐ一助になったのではないかと思います。

Suchmaschine entdeckt Sicherheitslücken in Security-Kameras

また驚いたことに、私の研究は米国の国家電気通信情報管理庁(NTIA)にも注目されました。NTIAの講演において、米国のIoT機器などのSBOM(ソフトウェア部品表)施策推進の必要性を説く上でこの研究が参考にされている、ということが触れられていたのです。

▲ NTIAの講演でスクリーンにOEM Finderが参照されている

ハッカー系国際会議のBlack Hatで自分の研究について発表し、それが最終的には社会を広く良くする一助となっている様子を見るのは、本当にうれしかったです。「ハッカー」と呼ばれるような人になって「世界/社会を広く良くできたら」という14歳の私の願いが、ようやく現実化したのだと喜びました。

さまざまな転機から「10年後どうなりたいか?」を熟考する

Black Hat Europeに登壇した後もそれまでと変わらず、自分の能力や知見を使って社会を広く良くすることに力を入れてきました。また研究成果や貢献が認められて、その後すぐBlack Hat USAのReview Boardにも就任し、査読を通じて世界最先端のセキュリティ研究の推進にも貢献するようになりました。

もちろん「夢を叶えたから、セキュリティはやめて別のことをする」こともありえたと思います。実際、この時点で私はまだ30歳前後で、長い人生を考えるなら別のことを始めても良かったのかもしれません。ただ私はセキュリティの分野に感謝と恩返しをしたい気持ちが強いため、「次の10年もセキュリティの分野でやっていこう」と心に決めました。

理論だけでなく実用化を通じて直接的に社会に役立ちたい

ここでまた、いくつかの壁に直面します。まず、私のそれまでの研究は国内外の特許を取得したものの、OEM Finderを含めて私が知る限り全て実用化には至りませんでした。このことから「次はもっと(製品や実用化などを通じて)広く直接的に社会に役に立つことをしたい」と願うようになりました。

加えて「セキュリティ専門家」としての自分の能力や視野の狭さにも悩みました。先端的なセキュリティの研究に携わっていたが故に、現場のセキュリティエンジニアが日々直面しているような課題に、(頭では理解しつつも)私自身が身をもって経験したことがあまりなかったからです。

自分の生き方についても、再考するようになりました。基本的にあまり器用でない私がここまで達成できたのは、自分の得意なことを戦略的に組み合わせつつ、単純にかなりの時間と行動量を費やしてきたからにすぎません。そのため、セキュリティ関係の活動以外(健康や私生活など)が疎かになっていることが多々あり、「自分の今の生き方は持続性に欠けている」と感じ始めていました。

ロシア・ウクライナ戦争の激化も、私の価値観を変えるきっかけの1つでした。現実世界の戦争にあわせてサイバー戦争が展開されたことで、戦争にも転用できる技術に自分が日々触れていることを嫌でも自覚するようになり、防御側に貢献したい気持ちが一層強くなりました。サイバー攻撃は現実と連動して起きていることが頭では分かっていたものの、現実として突きつけられたことで「世界のことをもっとよく知らなければ、なぜサイバー攻撃が発生しているのかは分からない」と思い始めました。

再び計画的偶発性理論を実行する

30代に突入してこのようなさまざまな心境の変化や転機を迎えつつ、次の10年自分がどうなりたいのかについて熟考しました。また、やりたいことのアイディアもいろいろありました。例えば社会を広く良くすると言う意味では「セキュリティに関係するようなオープンソース活動にも関わるのも良いかも」と前々から思っていましたし、自分の英語力を生かしてさらに世界に打って出て活動するのも良いかもな、とも考えていました。

しかし、自分が抱える想いややりたいことを、どう形にすれば良いのかが分からず、すぐに行き詰ってしまいました。そこで再び、自分の行動パターンを大きく変えました。仕事では研究以外のさまざまなことに関わるなど、今までと違うことに積極的に挑戦し、今後の自分が何をやりたいのか、何が向いてそうかなどを吟味しつつ「良い偶然」がやってくるのを待ちました。

Elastic社で新たなキャリアをスタートさせる

ある日「良い偶然」は、私の予想外のところからやってきました。それは、現在の上司からの1通のメッセージでした。「Elasticでセキュリティリサーチエンジニアのポジションをオープンしたのだが、興味ないか?」という誘いです。このポジションが、まさに私が抱える想いを全て叶えるものでした。

Elasticが持つEDR(エンドポイント上のサイバー脅威・攻撃を検知して対処するセキュリティ製品)の研究開発に携わりつつ、その研究成果はハッカー系会議での発表も可能なポジションでした。実際に収集したアラートログ等に触れることができそうなことも魅力的でした。もともとオープンソースライセンスだったElasticsearchから誕生した会社だけにオープンソース文化も色濃く残っており、開発したセキュリティの検知ルール等を積極的に公開したりもしています。

働き方がものすごく柔軟なことも気に入りました。社員も世界各地に分散しており、実際に私のチームでも多様な文化背景を持つメンバーが集まっています。それだけではありません。高度セキュリティ人材が数多く集まっていることも、私にとっては非常に魅力的でした。

上記の理由から、誘いのメッセージが来てから数時間もたたないうちに応募を決意し、今に至ります。本記事は「私のキャリア選択」がテーマのため、Elasticで私が何に取り組んでいるかについての詳細は割愛しますが、セキュリティ専門家としての自分の視野と能力を広げつつ、グローバルな仲間とともに、社会に持続的に貢献できる仕事・環境にたいへん感謝しています。

以上が、現在に至るまでの私の話になります。この先の人生で、また壁にぶち当たることがあるかもしれません。でも人生は一度きり。後悔のない選択ができるよう、その時々で全力で悩みぬきながら、この先の人生も歩み続けたいと思います。

筆者近影
▲ 著書であるブルーバックス『『サイバー攻撃 ネット世界の裏側で起きていること』を掲げる筆者(刊行時)

編集・制作:はてな編集部

*1:補足: Black Hatには主に「Black Hat USA」「Black Hat Europe」「Black Hat Asia」があり、それぞれ米国、イギリス、シンガポールで開催されます。USAが最高峰ですが、他も時には採択率10%を切るほどの難関会議です。