あるソフトウエアに対して、リバースエンジニアリングを行う機会に恵まれた。費用は30万円。ノンビリ1週間で片付く比較的小さな仕事だ。あらぬ疑いを取り払うために、これは合法的な仕事であることを、まず表明しておこう。
ある日、リバースエンジニアリングは脚光をあびる
と、思っている。リバースエンジニアリングは、日本語で適切な訳語はない。安易に「分解工学」と呼ばれる時もあるが、単純に工学的な手法の意味に加えて、知財管理技術、復元技法的な意味を含めて
使われている。その手法は義務教育では教わらない。しかし、社会に出れば、色々な所でリバースエンジニアリングが行われていることを知ることになる。
例えば、業際的な活動で知られている事務機械会社では、ライバル会社の多重バックアップ装置を自社製品と比較して、装置内部の配線速度に注目し、自社の優位性を顧客にアピールする営業資料を技術部門が提供していた。
こうした情報は、製品パンフレットの仕様一覧には掲載されない。しかし、そんな技術的な違いこそ、顧客が製品の選択基準として欲しい情報となる。それを可能にしたのが、リバースエンジニアリングを使った応用である。
インターネット上には、メーカーから提供された情報を元に作成された情報で埋め尽くされている。その行間を読んで、製品の購入を見送ったり、製品を選択する必要があるが、テクニックが要求される。そんなテクを磨く一つの方法として、リバースエンジニアリングは有効だ。だから脚光を浴びると予想している。
アキバに限った話ではないが
秋葉原でコンピューターを取り扱っていた頃、コンピューターメーカーらしき人物から、「製品Aの方が製品Bの方がいいよ」と推選されたことがある。今にして思えば、新製品を入手して分解することが仕事だったようだ。なぜ、そんな事をやるのか。答えは簡単だ。分解することによって、メーカーのノウハウを入手できるからだ。
1)部品数から、組み立てに要する工数の算出
2)分解&組み立て手順から保守管理の方法
3)分解された部品から製造方法、業者の割り出し
4)分解して得られた情報から、次製品の傾向(改善点)の割り出し
5)分解して得られたノウハウを自社に展開し競争力を向上
このようなメリットはコンピューター機器に限定されない。音楽プレイヤー、電話機、掃除機、鞄だって対象となる。その中には、その行為が合法なのか、という類まであるので、厄介なのは事実だ。
ITに限ったリバースエンジニアリングの段階
ITに限ってみると、幾つかの段階がある。まず、初歩的なレベルから説明していこう。
レベル0
既存製品を利用者に都合よくさせる為に行われる。例えば、著作権違反を助長させるような違法コピーを可能にさせる為に行なったり、リソースの一部を変更して制限解除、多言語対応させる方法に使われる。
リバースエンジニアリングにも色々な段階がある。10代、20代を対象にしたアンダーグラウンドな世界をにおわす低レベルなハッカー雑誌によく見られる傾向がある。既存製品の域を脱することができず、その情報価値は時間と共に急速に低下しやすい。
例:デジタルコンテンツに対して著作権保護機能を実現させたDRMの解除
レベル1
リバースエンジニアリングの対象は、あくまでも自社製品を売る為に行う実施する手段と割り切る。社内のイントラネットやグループウェアであるノーッに掲載されており、メーカーが組織的に行っていることが
裏付けられる。レポートには、高価な測定機器を使った結果が載っており、社員が個人的に行ったとは言い切れない。そうした事実が外部流出した場合のリスクに備えて、アクセス管理が行われている。
例:多重バックアップ装置、新発売のパソコン、ソフトウエア等
レベル2
リバースエンジニアリング自身を独立したサービスを個人として提供する。特許を不正に使用されたことを裏付ける為に依頼される人物が該当する。違法につながるリバースエンジニアリングの悪用は行わない。
例:情報システムの仕様欠落の補填
製品導入におけるセキュリティ診断(セキュリティ強度評価)
レベル3
リバースエンジニアリング自身を独立したサービスを組織として提供、支援する。新人の技術者にリバースエンジニアリングを教育する教育組織、その技術支援及び評価する組織が該当する。例えば、組織の不正が情報システムまで組込まれている場合には登場、対処する。
例:暗号組み込み製品に格納された情報の復元
日本経済団体が法令順守(コンプライアンス)を掲げる背景
製造側、開発者にとって、隠したいノウハウを明らかにするが、リバースエンジニアリングは、法令順守で防ぐことはできない。技術を改良し、良くしていく行為を止めることはできないからだ。戦後、日本が色々な製品からノウハウを学び、自社製品に取り入れた過去がある。先進国となった今、アジアの国が
同じ手法で自社製品の改良が行われている。発展途上国に対して、それは駄目と言うことは難しい。
日本の経済団体も、法令順守を表明するものの、リバースエンジニアリングを禁止していない。しかし、
企業同士、利用者と製造側では、禁止する条文が含まれ、契約される場合がある。本当にリバースエンジニアリングを防止するなら、「倫理順守」を求めるべきだが、現実問題として無理だろう。
リバースエンジニアリング案件の増加
最近、リバースエンジニアリングに耐えうるセキュリティ技術の仕事が舞い込むようになった。メーカーが情報システム運用保守で稼ぐことに異論はない。オープンソースだって、仕様書や運用手順はきちんと整備しておく必要はある。システム変更が発生したら、オープンソースなシステムであっても、ドキュメントが未整備であれば、実質的に随意契約となって、高いIT費用を支払うことになる。
そんな時、リバースエンジニアリングがITコストダウンに貢献する。もし、実装段階でリバースエンジニアリング対策を施していたら、ドキュメント、マニュアルが整備されていたら、大きな差がでてくる。
セキュリティ技術はリバースエンジニアリングにも応用されつつある。将来は分解されずに、システムの見える化が実現することになるだろう。
Techno Exchange
仮想化環境で求められるストレージの要件
ZDNet Japan ホスティング特集
セキュリティ対策レベルテスト公開!
Webセキュリティ特集
APC SOLUTIONS FORUM 2008をレポート
ZDNet Japan Green IT
DELLが掲げる「新・仮想化アセスメントサービス」
PRADA Phone開封の儀--iPhoneと比べてみました
iPhoneとPRADA Phone、入力インターフェースはどう違うか
毎日新聞社内で何が起きているのか(上)