Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュリティとは関係のないハードウエア_ソフトウエア開発の話

kidasan
September 15, 2018

 セキュリティとは関係のないハードウエア_ソフトウエア開発の話

IoTSecJP Vol.4でのお話。

kidasan

September 15, 2018
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 • 本来、SOC事業、ペネトレーションテストやマルウエア解析が本業であるべ き会社でIoTの特にハードウエアのみに特化したエンジニア。 • 入社してからソースコードを仕事でまともにみるのは希。 • バイナリ解析は趣味。 • ハンドル:

    kidasan (twitter: @kidasan) • 先週まで名古屋でオートモーティブワールド名古屋2018に企業ブース出展してました。 • 働き方改革と言われながら、上司の掲げた今週は休むというミッションは未達成。 • 9/16 西早稲田で開催されるETロボコンの試走会に出場します(守護神役)。
  2. 高機能な基板を作ったらやること • JTAGデバッガを接続可能にする。 • バスラインと制御ラインを全部ジャンパを引き出してロジックアナライザに繋ぐ。 • ソフトウエア屋さんに(できなければ自分で)アセンブラだけでFLASHにアクセスするプログ ラムとDDRを初期化してDDRにアクセスするプログラムを作ってもらう(これ大事)。 • ところが、普通にCで書いてくるエンジニア多数。

    • いや、アセンブラで任意のFLASHの番地から走るプログラムをお願いしているのだが… • 書かれた(正しい筈の)ソフトウエアが正しくハードウエアにアクセスを繰り返して居ること をアセンブラの16進数ダンプとロジックアナライザのバスの数値から判断する。
  3. ひとつだけ文句を言わせて • Yocto/AOSPについて • ビルドするのにディスク容量とCPU要求しすぎ。 • AOSPはまだしろ、Yoctoはとりあえずでpullされたコードが多いので気が付けば動かないコードだらけ。 • やるなら動く状態を一旦branchするなりExportして社内で管理するのが良い。 •

    AOSPはまだしもYoctoとくにAGL(Automotive Grade Linux)は機能優先をポリシーとしているのでセキュリティはcloneした側が 頑張る仕組み。 • ちなみに、実際のAOSPで実機をターゲットとしている場合にはQualcommのNDAコードと書き込み用バイナリ生成ツールが 用意されます(これが実際にGoogleに転がっているバイナリの元)。 • 過去にあった最悪の手引き • Yoctoのgitからダウンロードしますの一言だけのコード手引き。 • →ブランチタグさえも不明なので気付けば全く違うコードになっていて追加のカスタムコードがビルドできず、そして動かず。