Jane Streetのリバースエンジニアリング課題を解いた話

मूल शीर्षक: Solving the Jane Street reverse engineering challenge

यह क्यों महत्वपूर्ण है

金融大手Jane StreetのASICリバースエンジニアリング課題が、ハードウェア解析技術への関心を喚起している点で注目される。

あるエンジニアが、Jane Streetが公開したASICリバースエンジニアリング課題に約1ヶ月取り組み、独自のサーキットシミュレーターやパーサーを自作しながら解法を見つけ出した過程を技術ブログで公開した。

Jane Streetは定期的に技術課題を公開しており、今回はASIC(Application-Specific Integrated Circuit)のGDSファイルを解析して回路の動作を逆算するリバースエンジニアリング課題だった。課題は2部構成で、ウォームアップ編では設計情報が提供され、本編では最小限の情報のみが与えられる。

ブログ筆者のJestoph氏はPythonライブラリ「gdstk」でGDSファイルを読み込み、ウォームアップ問題に27要素が含まれることを確認。VCDファイルを解析する小さなCプログラムを書くと「TRY AGAIN」という出力を得て、回路内にメッセージが埋め込まれていることを発見した。

その後、Jestoph氏はSQLite3をバックエンドに使った独自回路シミュレーター、ハードウェア記述用の独自言語パーサー、テストハーネスを順次自作するという遠回りな道を選んだ。波形ビューアーの自作は途中で断念し、既存ツール「surfer」を活用した。この一連の作業に約1ヶ月を費やしたとしている。詳細なコードはGitHubで公開されており、今後の投稿で各ステップの詳細を解説する予定としている。

स्रोत

jestoph.com — मूल लेख पढ़ें →