リバースエンジニアリングりばーすえんじにありんぐ
・正式名称:reverse engineering
概要
リバースエンジニアリング(reverse engineering)とは、リバース(逆の)、エンジニアリング(設計)、逆設計のこと。既存の製品を分解・解析することによって、製品構造を解明して技術を獲得する手法。ソフトウェアにおいては、ソフトウェアの内部を詳細に分析し、一般公開されていない仕様や設計を明確化すること。
特徴
悪意のあるプログラムに対して、リバースエンジニアリングを行うことで脅威を解析し対策に使用する場合もある。一方、リバースエンジニアリング技術の不正行為防止のため、開発した製品・ソフトウェアにリバースエンジニアリング対策を施す場合もある。
利用されるシーン・解決できる課題
自社のソフトウェアに脆弱性がないかを確認し、その結果を踏まえ適切なセキュリティ対策を取ることに利用される。また、著作権侵害の調査のため、他社製品をリバースエンジニアリングすることもある。リバースエンジニアリングの問題としては、製品やソフトウェアのソースコードが解析できることで、技術や仕様が流出してしまう課題がある。一方で、リバースエンジニアリングされることを想定し、ソースコードを分析・解析することにより、特許の侵害有無を調査するといった目的で行われることもある。