用語集インシデント関連情報Home用語集リバースエンジニアリングとは?禁止手法や違法性、その意味について用語集Pocketでシェアする2017-06-25リバースエンジニアリングとは?禁止手法や違法性、その意味についてリバースエンジニアリングとは?リバースエンジニアリングとは、日本語に直訳すると逆行工学で、機械を分解し設計図の状態に戻すことでその分析を行うことを指します。今回はソフトウェアのリバースエンジニアリングについて解説します。ソフトウェアにおけるリバースエンジニアリングは、ソフトウェアをソースコードの状態にまで戻す行為を指すのが代表的です。リバースエンジニアリングをするとコンパイル(人間向きの言語で書かれたコードを機械でも理解できるような機械語に訳す作業)される前の状態になるので、そのソースコードを見れば、どこでどのような処理をした結果、どんな動作をしているのか、がわかってしまいます。これによってそのソフトの脆弱(ぜいじゃく)性が判明してしまえば、そこを悪意のあるクラッカーに狙われてしまうことになりかねません。ライセンスキーの処理がどのように行われているかを把握できれば、そこを迂回するような方法をとることでライセンスを持っていない人間であってもソフトを使用し続けることも考えられます。リバースエンジニアリングは使用許諾契約により禁止ただし一般的なソフトウェアには使用許諾契約に、リバースエンジニアリングに関しては禁止する項目が明記されていることがほとんどですので、悪意の有無に関わらずリバースエンジニアリングを行うと規約に触れる可能性もあります。中には、著作権上違法と扱われることもあります。最後にただこのリバースエンジニアリング、悪意のある使われ方しかできないわけではありません。コンピュータウイルスのワクチンの作成には、このリバースエンジニアリングが使われています。そのソフトの脆弱性がわかる、ということは悪さをするコンピュータウイルスをリバースエンジニアリングすれば、そこをうまく利用したワクチンソフトが作れる、というわけです。筆跡や文章の癖と同じように、ソースコードにもその人や組織特有の癖、というものがあります。ソースコードの状態に戻すことでその癖が判明、そこから開発元の特定が可能になることもあります。サポート品質、価格、管理のしやすさを分かりやすく解説。セキュリティコンサルタントが使っている選定軸と、そのまま使える比較表を掲載中です。Edgeとは何か?~次世代UTMアプライアンスで実現する高次元のセキュリティ対策~ピックアップコンテンツ猛威を振るったマルウェア「Emotet」の振り返り。