脆弱性診断技術やサイバーセキュリティに関する情報を発信するブログメディア

ハードウェアとソフトウェア、セキュリティの交わるところ

イエラエセキュリティの顧問を務める川口洋が、イエラエセキュリティを支える多彩なメンバーと共に、サイバーセキュリティやサイバーリスクの今を語り合う座談会シリーズ、第20回をお送りします。

川口洋氏は、株式会社川口設計 代表取締役として、情報セキュリティEXPO、Interop、各都道府県警のサイバーテロ対策協議会などで講演、安全なITネットワークの実現を目指してセキュリティ演習なども提供しています。

イエラエ顧問として、「川口洋の座談会シリーズ」を2019年に開始。サイバーセキュリティを巡る様々な話題を、社内外のゲスト達と共に論じ語ってきました(川口洋の座談会シリーズ  )。

 

今回はゲストとして、2人のイエラエメンバーが集りました。高度解析部 高度解析課の白木光達、そしてイエラエセキュリティの執行役員 CTOである千田雅明が初登場します。IoTや車など、ハードウェアを伴うセキュリティ脆弱性とその対策について、顧問・川口洋が詳しく聞きます。どうぞお楽しみください!

 

イエラエセキュリティ顧問/株式会社川口設計 代表取締役

川口 洋

2002年 大手セキュリティ会社に就職。社内のインフラシステムの維持運用業務ののち、セキュリティ監視センターに配属2013年~2016年 内閣サイバーセキュリティセンター(NISC)に出向。行政機関のセキュリティインシデントの対応、一般国民向け普及啓発活動などに従事2018年 株式会社川口設計 設立。Hardening Projectの運営や講演活動など、安全なサイバー空間のため日夜奮闘中。

株式会社イエラエセキュリティ 執行役員 CTO

千田 雅明

 

株式会社イエラエセキュリティ 高度解析部 高度解析課

白木 光達

2019年にイエラエセキュリティへ新卒入社。高度解析部にてスマートフォンアプリを中心にソフトウェアや組み込み機器等の脆弱性診断に従事。2016年のセキュリティキャンプ全国大会に参加。2017-2018年にSECCON連携大会の運営を行い、現SECCON実行委員。リバースエンジニアリングが好き。一つでも多くの脆弱性を見つけるため日々奮闘中。

ネットサービスど真ん中企業からIoTセキュリティに転じたCTO

川口洋(以下、川口):今日は千田さんと白木さんにお越しいただきました。まずは自己紹介をお願いしたいと思います。白木さんは1人は「セキュリティ界の猛者が集うイエラエ新入社員、 驚くべきその“自己PR方法”とは?」にて登場していただきましたね。初登場のCTO 千田さんは、今はどのような仕事をメインでされているんですか。

千田雅明(以下、千田):今は車の仕事が多いですね。車の会社に行って、自動車に関する仕事をしています。

川口喋れないネタが多そうですね(笑)。使っている時間はほぼ100%自動車ですか?

千田そうですね。イエラエのオフィスにもほとんど来てないです。

川口白木さんは、最近のお仕事はどうですか。

白木光達(以下、白木):割合は時期によって変わりますが、車、アプリ、IoTあたりの仕事をしています。

川口今日はIoTや自動車といった、いわゆるパソコンの中のソフトウェアセキュリティではなくて、機械やハードウェアが絡むセキュリティの話をしていきたいと思って集まっていただきました。

ウェブやサーバーの脆弱性診断の情報って世の中にいっぱい出ているけど、IoTやハードウェアに関わるセキュリティに関する知識は、どこの誰に蓄積されているんでしょう。お二人はどんなキャリアの中でハードウェアのセキュリティに関する知識を蓄えられたんですか。

千田僕は前職がLINEなので、LINE自体のサーバー周りなどに関わってました。

川口LINEみたいなインターネットど真ん中からハードウェアの分野に飛び込んできたわけですね。要求されるスキルセットも違ったと思いますが、それは勉強すればいいかって感じですか?

千田そうですね、ハードウェアだからと言って、特に、そんなには変わらない気がします。「ファームウェアを抜く」というのがハードウェア診断の最終目的なので。

川口出来る人からすると「同じITじゃないか?」って感じですか。

白木基本的なところは共通してるかもしれませんね。

川口僕からするとずいぶん遠いジャンルを攻めてる印象ですが、それでもできちゃうんですね。そういう分野に関わってるのもイエラエの珍しいところ、魅力的なところですよね。

白木千田さんはなんでもできるイメージですから。

川口「仕様書とマニュアルがあれば何でもできるでしょ」と言われたらそうかもしれませんが、業務ジャンルが違いすぎて、イエラエの社内でもこれまでの話が想像出来る人って2~3割じゃないかと思うんです。2人がサラリとやり過ぎているというか。

白木僕も千田さんがサラリとやってるのを見て、なんでこんなことサラリとできるんだ?って思ったりします。

川口みんな、今、普通に仕事やってますけど、「どうやってその階段上ったんですか?」「何の案件を経て何を考えて、そこに至ったんですか?」みたいな人が社内にたくさんいますよね。白木さんはまだ入社1年目だけど、3年後にはそうなってると思いますよ。

白木そうなりたいですね…!

とにかく全てが手探りな“IoTセキュリティテスト”

川口脆弱性診断の手順やノウハウが確立されていない中で、道なき道を切り開いていく感じで仕事をされていると思うのですが、ソフトウェアの脆弱性診断と比べてどのようなところが大変ですか。

千田仕様書を読むのがまず大変ですね。チップの仕様書を読んだり、ハードウェアのマニュアルからSDKからどう開発するか、ファームウェアがどう作られるか調べたり、RFCいくつみたいな規格の仕様を知る必要があったり、場合によってはそれを読んでプログラムに起こして診断ツールを作らなければいけなかったりします。

川口診断ツールを作るところから始めなきゃいけないんですね。ウェブアプリの診断だと既存の診断ツールが沢山ありますが、IoTみたいにハードウェアが絡んでくると必要なツールがなかなか無いですよね。

千田酷い状況だと、ツールだけではなくて仕様書が無いときもありますね。プロトコルも分からず、何のデータを送っているのかもわからないし、受け取っているデータがなんなのかもわからないけど、診断する。

川口仕様が開示されない状態で脆弱性を調べていかなければいけない状態というのは、ずいぶんハードな仕事ですね。真っ暗闇の中で形から探っていくことからやっているんですね。

千田そうですね、ですから、仕組みを理解している人が一番強いですね。これまで車を作ってた人とか、ECU(エンジンコントロールユニット)を作ってた人とか、チップメーカーに勤めてた人とか。

川口パソコンやインターネットで過ごしてきた人はECUなんか触ってこないですからね。車やIoTみたいに、パソコンとソフトウェアだけのときに比べて、ハードウェアが絡んでモノが動くと、命令のインターフェースが難しそうなイメージがあるんですが、そこはどうですか。

千田ファームウェアが外にあればそれを使いますし、無い場合はチップの中から抜くことになるので、デバッグインターフェースが使えれば使う、という感じですね。

川口まずは箱開けて基盤を見るところから始まったりするんですよね。チップが隠れてたら剥がしたりするんですかね。

千田チップを見ても、型番のマークが消されてたりする場合もあります。

川口まず何のチップか探るところからなんですね。そういうのって、作った人に聞いても教えてもらえないんですか?

千田作った人も知らない場合がありますね。製造メーカーと設計をする人は別の場合があるので、設計側が「こんな感じ」と仕様だけ出して他の会社に作ってもらったりしていると、細かいところがわからなかったりします。まったく分からないわけではないですが、実際には、作った人達に聞かないとわからない。

川口脆弱性の診断をする対象として、出来上がったもののチェックが多いですか。開発中の物のチェックが多いですか。

千田比較できるほど多くの案件に関わっていないですが、どちらもありますね。

川口製品として売られているもので脆弱性を発見しても対応が大変ですよね。

白木開発の段階で見つけられたとしても、巻き戻せない場合もあります。そういうときは次の型番で対応したりということになります。

川口パソコンのソフトウェアだったらアップデートで更新できるけど、ハードウェアだとそういう仕組みが用意されていない場合も多いですよね。ハードウェアが絡むものって、実際に脆弱性見つかったらどうするんですか? お客様は脆弱性が無いようにと祈りながら、お二人に診断を頼んでいても、実際には出てきたりするわけじゃないですか。報告したものは直されているんですか?

白木直せる範囲は修正していると思いますし、難しいものでも、緩和策を入れることはできるので、重大な問題はそうされていると思います。

川口お二人は、クライアントさんから診断だけでなく緩和策を期待されることも多そうですね。

電気パルスを操りチップのセキュリティを突破!

川口調べる対象によるとは思いますが、ハードウェアのスペックが小さい時があると思います。攻撃側の目線に立ったとき、リソースの少なさで影響が出たりすることはあるんですか。「パソコンやスマホだったらこういう攻撃ができるのに攻め切れないな」という、攻める側の制約というか。

千田攻める側としてはあまり関係ないと思いますね。チップの中のフラッシュメモリにファームウェアが入ってる場合が多いんですが、中に入ってるとデバッグ用のインターフェース経由じゃないと抜けなかったりするので、抜くのは難しいです。メモリ容量に収まらないと外部に置いたりもするんですが、外は別物なのでかえって抜きやすくなったりしますね。

川口チップのメモリに入っている場合は、攻撃を諦めてしまうんですか?

千田Linuxが動いてるルーターみたいなシステムであれば、HTTPを処理する脆弱性などを利用することを試したりします。

川口違うところからのアプローチを考えるわけですね。

白木あとは、グリッチングでパルスを入力したりして、セキュリティの設定をバイパスしてアクセスすることもあります。

川口「グリッチング」って初めて聞きました。詳しく教えていただいていいですか。

白木回路にパルスみたいなものを入力して、ある命令を狙ってスキップさせたりする手法です。

川口そういうこともやるんですね。

千田電圧を低くしたり電流を制限すると、動作が不安定になることがありますよね。JTAGを起動したときにCPU内の設定を判定をする瞬間があるんですが、その瞬間のみ電圧値が低くて、おかしな動作をしたりすると、たまたまOKになっちゃったりするんですよね。

川口電圧や電流をコントロールするわけですね。パソコンだけ触ってるとそういうのって意識しないですよね。でも、それってすごい短い…瞬間じゃないですか。

千田いろいろなパルスを生成して試したりしますね。

川口そんなジャンルなんですね。やっていて機械から火が出たりしないんですか。部品焦げちゃったみたいな。

千田そういうこともありそうですね(笑)。

白木普通は、回路に手を加えたら壊れますしね(笑)。

川口回路系の診断をやってるところとか、見てみたいですね。お客さんのところでやっていると難しいと思いますけど。あ、この会議室にゲーム機がありますけど、ハッキングしたりするんですか。

白木それは、単純に遊ぶ為のものですね。

千田そこにあるテレビはハッキングしてた気がします。

川口そういう話を聞くと、イエラエは社用車でテスラがあったと思いますが、あれもハッキングし尽くしたのかな?と想像してしまいます(笑)。

IoTセキュリティの試行錯誤は、ノウハウ共有が難しい

川口千田さんは、お客さんのところに1人で行ってるんですか?

千田:濱田さんと一緒に2人で行っています。白木さんも一緒に行ったりします。その時に手が空いている人がお客さんのところに行っています。

川口要求度合いがすごくて、余ってる人にできる内容じゃないと思いますけど…。

白木べつに千田さんは、余ってるから行ってるわけじゃないですから(笑)。千田さんじゃないとできないから行っているのは間違い無いですから(笑)。

川口例えば車が対象だと、物理的に車が無いとダメなので、お客さんのところに行ってるんですか?

千田僕が行っているのは車のメーカーではなくて、同じプロジェクトをやっている会社に行っています。

川口オフィスに机とパソコンがあればいいっていう環境じゃないですよね?

千田ECUがあったりしますね。

白木いろんな機材があったりして、普通のオフィスって感じではないですね。

川口そういう仕事って、持ち帰りの仕事が難しかったりするんですか。製品自体の持ち出しができないとか。リモートでできる仕事なら、社内で知見の共有がしやすいと思いますが、現地の限られたスペースで検証が必要だったりすると、そこに携われる人数が少なくなるということですから、知見の共有が難しいですよね。

白木そうですね。ハード系の知見の共有は難しいなと思いますね。

千田発売前だったりすると、お客さんのところに行くしかないですね。

川口イエラエだけの問題じゃなくて、それがその業界全体の課題になってるわけですよね。GitHubに気軽にソースコード上げて…というようなジャンルではないですから。

千田僕はイエラエのオフィスから、ロボットアームで操作できるようにしたいですね(笑)。

川口イエラエに入社している人って、「働きやすさ」を求めてる人も多いと思うので、決まった場所にいかなきゃいけないとか、スーツを着なきゃいけないということ自体が大変な人もいるかもしれませんね(笑)。

セキュリティテスト“後”の難しさは、IoTならでは

川口ハードがあると仮想マシンやクラウドで完結しない難しさはありますよね。こういう「モノ」って製品の開発をしている人たちがいると思うんですけど、早く直せるというか、見つかった問題に対して早くアプローチできる組織って、どういう組織だと思いますか。

いわゆるPSIRTみたいな組織をお客さんが持っていたら問題が早く直るとか。どういう組織があったらイエラエが指摘した脆弱性にお客さんが対応できるのか。こちらから指摘しても、それが直らなかったら勿体無いですよね。

千田そうですね、ネックになることの1つは、開発している会社が“全部の権限”を持ってるとは限らないことです。ソースコードを見せてくれる権限が無い状況だと、対応が難しいケースがあります。他にも、古い製品だと、開発会社が既に無くなっていたり、何年も前にチップがディスコンになっていて仕様書すら見つからないものがあったりもします。

川口……そういう部品が組み込まれて製品が世の中に出てるのが恐ろしいですね。それでもクオリティを保っているのはすごいですけれど、一社だけで作っていないことで難しい状況が生み出されていそうです。

ソフトウェアなら、マイクロソフトやアップルなど、外注も入っているとはいえ自社のエンジニアがつくってることが多いじゃないですか。ハードウェアだと1社で完結することが難しい。ソフトウェア業界に比べて、ハードウェアは分業化が進んでいるから、そういった対策をするのが難しいということですね。

千田そもそも直すことを想定してないケースも多い気がします。今でこそセキュリティの必要性が叫ばれていて「やっぱり直そう」って話がありますが、ちょっと前まではそもそもそういう「モノ」はインターネットに繋がっていなかったものですから、直す必要が無いのではと言われたり。あとは、あまり売れていないから、直す費用が出なかったり…。

川口誰が回収して費用を持つのか。場合によってはリコールになったりしますけど、そこまででもない時に、企業としてどこまでやるかというのは、判断は分かれますよね。でも、その中でも、直したい方々が、イエラエに診断を頼んでくるわけですよね。

千田直したいというのもありますし、現状を把握したいという要望もあると思います。

川口実際にやってる人から話を聞いてみると、いろんな課題があるんですね。

千田あと、現実的に、“直せない”問題もたくさんあります。

川口どういう問題だと、直せないんですか。

千田例えば1回しか書き込めないファームウェアは、1回書いたら終わりなので直せないです。出荷時に書いて、フラグを立てて、書けなくしてしまう。

川口そうすると二度と書き込めない。

千田そこにバグがあるともう直せない。

川口そうなると製品作り直しになっちゃうんですね。イチから。

千田書き換えられて誤動作するほうが問題と考えている場合は、書き換えられないほうが安全なのかなと思います。

川口後から変に手を加えられてないのも重要なことですね。しかもそれが製品の特許や知財に影響してくると、イエラエとしても実績のアピールが難しいし、企業さんとしてもアピールしにくいところはありますよね。

イエラエのみなさんがサラリとやってるけどすごい!ということを、なんとか文字に残しておきたいですよね。今回、千田さんに初めて話を聞いてみて、白木さんが「すごい」って言ってるのがようやく分かりました(笑)。

白木ホントに「いつの間にやったんですか」って感じのことがすごく多いですね。

千田そんなことありましたっけ?

白木いや、いろいろありますよ。本当になんでも知ってるんですよ。

川口白木さんから見た、千田さんのすごいエピソードって何かあったりしますか。SDKとかマニュアルとかファームフェアの仕様書って、あそこにあるだろうって探しにいくわけですよね。

白木知らないとそもそも探せないとは思うんですけど、そういう知識を自分の中に貯めこんでいて、さっと引き出せるのが強みなんだと思います。

例えばチップ間通信の仕様とかをちゃんと把握されているので、例えばハードを解析する上でも、ソフトウェアを見て「ここにデバッグポートがあるんじゃないか」といった見方ができるんだと思います。

川口デバッグポートを見つけることだけでも、経験値の差があるわけですね。デバッグポートを見つける時間が、千田さんだと1日でできるけど、白木さんだと3日くらいかかるみたいな。

白木そうですね、僕だと電流値とか電圧値を調べて探すところを、千田さんはパッとソフトウェアを解析してあたりをつけて、CPUの仕様書を見て、その繋がってる先を調べてサッと解決するみたいな。

川口倒した敵の数が違うんでしょうね。ドラクエの経験値稼ぎみたい。

白木バイナリの解析も桁違いに速いですね。僕がちょっと探し始めたくらいのタイミングなのに、千田さんはもう問題を見つけていたり、ということもあります。

川口達人の域ですね。

白木:チップ間通信のハンドラもさらっと解析したりして。

川口いままで出てきた敵というか、仕様書のパターンや事案が蓄積されているからわかるわけですよね。

千田うーん、まあ、そうですね。

川口千田さんのレベルにイエラエのメンバーの実力を高めていくのは至難の技ですよ。本当に属人的にならざるを得ないジャンルを2人で攻めているわけですね。20年前のインターネットセキュリティみたいな感じで。セキュリティ診断が今ほど手順化されていない、職人芸で戦ってた時代を見てるような感じがします。

では、いい時間になってきたので、最後にお二人から今後の抱負を伺いたいです。千田さんはいかがですか。リモートワークできるロボットアームを作るとかでもいいですよ(笑)。

千田それはちょっと面白そうだと思ってます(笑)。

川口白木さんは何かありますか。

白木千田さんに少しでも近づけるように、頑張りたいですね。

川口ひたすら敵を倒していくしかないですね。

白木1つ1つ積み上げていくしかないと思っています。

川口今日はありがとうございました!

セキュリティ診断ならお任せください

Webサービスやアプリにおけるセキュリティ上の問題点を解消し、収益の最大化を実現する相談役としてぜひお気軽にご連絡ください。
国内トップクラスのセキュリティエンジニアが診断を行います 。

ホワイトハッカー

セキュリティ診断
ご相談はこちら