他社の技術を「のぞき見」できるリバースエンジニアリング。活用次第では、効率的な商品開発やコスト削減が実現します。しかし、適切な対策を取らなければ自社の技術が盗まれてしまう事態に。どのような対策を取るべきなのでしょうか。

目次

  1. リバースエンジニアリングとは?
  2. リバースエンジニアリングのメリット
  3. リバースエンジニアリングの適法性
  4. リバースエンジニアリングの実践方法
  5. 悪意あるリバースエンジニアリングへの対策
  6. リバースエンジニアリングの例
  7. リバースエンジニアリングには適切な対処も必要

リバースエンジニアリングとは?

リバースエンジニアリングとは?実践方法や適法性を解説
(画像=Monet/stock.adobe.com)

リバースエンジニアリングとは、他社の製品を分解または解析することによって技術を知覚することを指します。ソフトウェアおよびハードウェアのどちらでも実行可能です。

主に、他社製品の技術を自社製品に生かしたり、他社製品からアイデアを得たりする目的で行われます。また、仕様書がない製品の設計書作成や、自社製品の解析へも活用可能です。

リバースエンジニアリングと呼ばれる理由は、開発工程にあります。通常の技術開発では、図面や設計図の情報を基に部品を組み立てて、製品を作ります。一方、リバースエンジニアリングでは、製品を分解して図面や設計書を作成します。

リバースエンジニアリングとは

このように、リバースエンジニアリングの製造工程は、通常の技術開発の逆の手順で行われます。そのため、逆を意味する「リバース」エンジニアリングと呼ばれているのです。

リバースエンジニアリングのメリット

リバースエンジニアリングは、他社の技術を盗む悪い技術と思われがちですが、活用することで以下のようなメリットを得られます。

・開発にかかるコストと時間の削減
・過去のノウハウを掘り起こし活用できる
・セキュリティ対策とリスク回避

開発にかかるコストと時間の削減

リバースエンジニアリングを活用すれば、既存製品の設計図を入手できます。製品設計の土台を得られるため、開発にかかるコストと時間を削減可能です。自社に足りない点をリバースエンジニアリングによって補えれば、効率的な製品開発を実現してくれるでしょう。

また、開発時に問題が発生した時にも、リバースエンジニアリングを活用できます。自社で試行錯誤しながら問題を解決するよりも、他社の解決手法を確認したほうが早く解決できるでしょう。

複数社が製品として販売しているのならば、その数だけ解決手法を確認できます。最も良い方法を取ることで、自社製品の性能を上げることができるでしょう。

過去のノウハウを掘り起こし活用できる

古すぎる製品や、すでに倒産した会社が作っていた製品の設計図や図面は、入手できない場合がありますが、リバースエンジニアリングを活用すれば、自社で設計図や図面を作成可能です。

また、リバースエンジニアリングでは、退職した社員がどのように設計していたかを知ることができます。何らかの事情により技術伝承ができなかった場合にも、その技術を復元し、再度役立てることができます。

セキュリティ対策とリスク回避

自社の製品をリバースエンジニアリングすることで、セキュリティ性を高め、独自技術の流出リスクを低減できます。特許未取得の状態で技術の流出を防ぎたい場合に有効です。

自社の新製品にセキュリティ関連の不安がある場合は、自社で実際にリバースエンジニアリングを行い、脆弱性がないかを確認すると良いでしょう。これにより、自社製品の弱点がわかります。他社に知られたくない情報に脆弱性があった場合、分解や解析が困難な構造にし、可能な限り技術の流出を防ぎましょう。

リバースエンジニアリングの適法性

リバースエンジニアリングは違法ではありません。特許法69条1項にある「特許権の効力は、試験又は研究のためにする特許発明の実施には及ばない」ことから、試験または研究のためのリバースエンジニアリングは違法ではないと解釈できます。

また、解釈が曖昧であったプログラムのリバースエンジニアリングも、平成30年の著作権法改正により認められました。これは、技術革新やAIの利用促進のために必要と判断されたためです。

しかし、リバースエンジニアリング自体は合法でも、リバースエンジニアリングで得た情報を使用すると、違法となることがあります。例えば著作権法では、リバースエンジニアリング自体は認められていますが、著作権者の利益を不当に害する行為をした場合は違法となる可能性があります。

また、著作物に表現された思想または感情の享受を目的とする場合には、著作権侵害に当たる可能性があります。

著作物は、次に掲げる場合その他の当該著作物に表現された思想又は感情を自ら享受し又は他人に享受させることを目的としない場合には、その必要と認められる限度において、いずれの方法によるかを問わず、利用することができる。

出典:デジタル化・ネットワーク化の進展に対応した柔軟な権利制限規定に関する基本的な考え方「文化庁著作権課」太字部分は編集部が装飾

著作物に表現された思想又は感情の「享受」を目的としない行為には、著作物のリバースエンジニアリングも含みます。しかし、これを他人が利用できる技術として販売・提供すると、知的欲求や精神的欲求を満たすことから、「享受」が目的だと認められる可能性があります。

このように、リバースエンジニアリング自体は合法でも、活用次第では違法になる可能性があるため、注意が必要です。

リバースエンジニアリングの実践方法

リバースエンジニアリングとは?実践方法や適法性を解説
(画像=Nay/stock.adobe.com)

リバースエンジニアリングは、ハードウェアとソフトウェアのどちらでも行えます。しかし、それぞれやり方が異なります。

ハードウェアの場合

ハードウェアをリバースエンジニアリングは、以下の3つの機器で実施可能です。

1. CTスキャナー
2. 3Dスキャナー
3. CMMマシン

CTスキャナーは、X線を利用して物体の内部を撮影する機器です。1回のX線撮影では2次元情報しか手に入りませんが、360度さまざまな方向からX線撮影したものを再構成処理することで、3次元のデータが得られます。破壊や分解をせずに3次元データを得られる手法です。

3Dスキャナーは、製品の3次元データを取得する機器です。接触式と非接触式があるため、対象物に触れずに3次元データを取得可能です。据え置き型だけでなく、ハンディー型もあります。そのため、大きな対象物でも簡単にリバースエンジニアリングできます。

CMMマシンは、製品を3次元的に測定する機器であり、3Dスキャナーの1つです。対象物に接触させる必要がありますが、高精度の測定が可能です。サイズや材質を問わず3次元データを取得できます。

ソフトウェアの場合

ソフトウェアをリバースエンジニアリングするには、「逆コンパイル」という手法が取られます。逆コンパイルとは、文字通りコンパイルの逆の作業のことです。

そもそもコンパイルとは、人間が読み書きしやすい「ソースコード」を、機械が読み込みできる「オブジェクトコード」に変換することを指します。逆コンパイルはこの逆の変換で、オブジェクトコードをソースコードに変換します。

ソフトウェアの場合

これにより、コードがどのような意図で書かれているのかを人間が読んで理解できるようになります。逆コンパイルは精度が低くなりやすいですが、特別な対策がされていなければプログラムの意図はくみ取ることができるでしょう。

悪意あるリバースエンジニアリングへの対策

リバースエンジニアリングは合法ですが、得た技術を利用すれば違法です。しかし、違法行為をする業者がゼロとは限りません。悪意あるリバースエンジニアリングを防ぐには、どのような対策をすればいいのでしょうか。

ハードウェアの場合

ハードウェアのリバースエンジニアリング対策は、特殊ねじやワイヤーなどを使って行われます。機器自体を外れにくくしたり、分解すると壊れるような仕組みにしたりする工夫がされています。

リバースエンジニアリングを完全に防ぐことは難しいですが、いくつかの対策を行うことで、容易に解析されにくくなります。これによりが解析者のやる気が削がれ、解析対象が他社の製品へと移るなどすれば、結果的に自社の技術を守ることにつながります。

ソフトウェアの場合

ソフトウェアのリバースエンジニアリング対策は、データの難読化や暗号化によって行われます。これにより、ソフトウェアを読み込むだけでは技術を盗まれなくなります。

難読化の手法には、結果に影響を与えない無意味なコードの追加や、制御構造の複雑化などが挙げられます。コードが複雑になる分、処理が遅くなるというデメリットはありますが、リアルタイム性が重視されないプログラムであれば、導入しても良いでしょう。

暗号化の手法には、暗号鍵が挙げられます。暗号鍵とは秘密鍵とも言われており、暗号化されたデータを復元するための鍵となるデータのことです。秘密鍵は、数学的に特定不可能だと専門家に言われるほど強度な暗号化技術です。暗号技術は安全性の高さから、通信・交通・ビジネスなどさまざまな分野で用いられています。

リバースエンジニアリングの例

リバースエンジニアリングがどのように活用できるのかを、金型と大型重機部品を例に解説します。

金型

リバースエンジニアリングを活用すれば、金型の図面化や3Dデータ化が可能です。鋳造業界では、金型を作製した企業が廃業してしまい、金型の図面やデータが全くないという事態が多くあります。

簡単な構造であれば、ノギスやマイクロメーターなどを用いれば図面を作成できますが、複雑な3次元曲面を有している金型の図面作成は非常に困難です。このような場合でも、3Dスキャナーなどを用いてリバースエンジニアリングをすれば、精度高く図面を作成できます。

また、リバースエンジニアリングをすれば3Dデータが得られるため、金型に摩耗や欠点があったとしても3D空間上で修正可能です。このように、図面やデータが全くなくても、新品同様の精度で金型を復元できます。

大型重機部品

リバースエンジニアリングは、数メートル規模の大きな製品にも適用できます。数メートル規模の大型部品の図面作成は、正確な寸法計測が困難であるため、数週間という長い時間を要します。しかし、ハンディー式の3Dスキャナーを利用すれば、正確な寸法計測が数十分で完了します。

実際、3メートル程度の大型部品の図面をリバースエンジニアリングによって作成した事例では、スキャナーでの撮影に30分程度、3Dデータ化に5時間程度しかかからなかったそうです。

また、3Dデータにすれば、CADで完成形を修正したり、CAEで性能をシミュレーションしたりすることができます。想定通りの性能を有しているかをモデル空間で確認できるため、製品の精度向上にも役立ちます。

リバースエンジニアリングには適切な対処も必要

リバースエンジニアリングの実施は、効率的な商品開発や開発コストの削減に大きく役立ちます。他社製品に活用されているアイデアが、自社製品の品質を引き上げるヒントになるかもしれません。

しかしその一方で、自社技術の悪用対策や関連する法律の理解など、気をつけなければならない点もいくつかあります。長期的に利益を得るには、リスク管理や対策も必要です。

この機会に、リバースエンジニアリングを自社の業務に活用できないか考えてみてはいかがでしょうか。

(提供:Koto Online