リバースエンジニアリング
リバースエンジニアリングとは、他社の製品などを分解したり解析することにより、その製品の技術的な情報を入手するすることを指します。

例えば、機械などでは、その挙動を観察するだけではなく、場合によっては分解まで実施してどのような技術が用いられているのか、どのような仕様になっているのかといった事を解析します。

また、ソフトウエアなどでは挙動を追いかけるだけでなく、アプリケーションを直接ソースコードに変換するような逆アセンブルと呼ばれる方策も可能です。

これらの方策は非常に直接的であるため、難読化と呼ばれる技術が用いられることがあります。(自社の開発したプログラムがそのまま解析されるのはやはり好ましくないと考えられますから。また、悪意のある者に解析をされ、ソフトウエアの脆弱性を攻撃に利用される可能性もあるため、せきゅるティーの観点から難読化が施される場合もあります。)
  • 解析しても
仮に、解析を実施した結果、競合他社が解析対象の製品に対して用いている技術がすべて把握できたとします。

しかし、だからと言ってそのまま自社の製品に適用して良いわけではありません。製品は特許権や実用新案権などといった様々な知的財産権によって守られています。

そのため、自社の製品開発の参考には使えますが、他社が利用している知的財産権を侵害しないように対応しなければなりません。

■リバースエンジニアリングってパクリ?

リバースエンジニアリングは必ずしも模倣目的や不正な開発目的ではなく、正規の研究開発分野でも多用される手法です。

例えば、壊れた家電や古い車を修理するためにはどのように動いているかを解析する必要がありますよね?また、古いシステムを回収するためにも(仕様書が残っていないケースが多いため残念ながら)リバースエンジニアリングが必要になってくるのです。

また、セキュリティ面でもマルウェア(コンピュータウイルス)への対抗措置を生み出すためや暗号アルゴリズムの脆弱性を検証する観点からもリバースエンジニアリングが行われます。

そのため、基本的には知的財産権を侵害しない範囲で用いることが原則的な技術です。逆に言えば、リバース・エンジニアリングされる前提で知的財産権でコアになる要素を守っておくことが重要だったりするのですね。