サブスクに必要なのはセキュリティだけじゃない、求められる“総合力”サブスクで稼ぐ製造業のソフトウェア新時代(7)(2/3 ページ)

» 2020年11月18日 11時00分 公開

ソフトウェアのセキュリティはどのようにして確保するのか

 ソフトウェアを保護する方法の一つとして、セキュリティツールを利用した暗号化がある。バイナリ化された実行モジュールやライブラリ、時にはPythonのようなスクリプト言語も暗号化する。暗号化でプロテクトされることによって、バイナリエディタで中身の閲覧や編集されるような恐れがなくなる。プロテクトされたモジュールは、ディスクのどこかで復号して展開されることなく、暗号化されたままデバイスで動作するため、セキュアに実行される。しかも実行を許諾するにはライセンスが必要となるため、意図していない環境で動作することを防ぐことも可能だ。

イメージ ※図はイメージです

 プロテクトされたモジュールにはアンチデバッキング機能が付加される。アンチデバッキングとは、プログラム解析ツール(デバッガー)によるハッキングを回避する機能で、デバッガーを検知した場合に、プログラムの動作を停止することによって解析を阻止できる。

 また、ソースコードを難読化することもリバースエンジニアリング対策に効果がある。万が一、プログラムがソースコードに変換されたとしても、可読性を下げることによって解析難易度を向上させ、容易に転用されることを阻止できるようになる。

 そして、ハードウェアベースのライセンスキーによって、ソフトウェアの動作をコードレベルで保護することは不正行為に対する最大の防衛策だ。悪意を持った人間がソフトウェアのクラックを試みたとしても、プログラムの動作がハードウェアキーの中に完全に隠蔽(いんぺい)されるため、解読することは不可能だ。

 さらに、保護の対象はソフトウェアだけではない。ソフトウェアが利用するデータも暗号化できる。暗号化されたデータはプロテクトされたモジュールのみが開くことができ、データは暗号化したまま編集・保存することも可能だ。よって、AIの学習データやソフトウェアの重要なファイルも、暗号化させた状態で流通させることができ、蓄積された貴重なデータを保護することが可能になる。

 こうしてセキュリティツールや難読化ツール活用し、多段の防御を行うことでソフトウェアのセキュリティを向上させることが可能になる。

ソフトウェアは暗号化だけでなく、流出防止や追跡も重要

 ソフトウェアは機密情報を多く含んでおり、ハードウェアのノウハウなどが詰め込まれた製造業のソフトウェアは、暗号化だけではなく利用期間の限定や流出阻止、利用を追跡することも考えなくてはならない。サブスクリプションでソフトウェアを提供している場合、ユーザーの支払いが滞るようであれば、ソフトウェアの利用を停止させることも検討する必要があるだろう。サービスの話だけではなく、これは開発者向けのソフトウェアツールにおいても同様のことがいえる。

 製造業にとって、デバイス開発プロジェクトの開発予算の20%程度がハードウェア関連の開発費であるが、ソフトウェアの開発費は37%とその2倍近くを占めている(出典:経済産業省、2019年)。ソフトウェアの開発費のうち、外部人材や開発委託が占める割合はプロジェクトのおよそ40%に達している。しかし、国内のエンジニアのリソースは窮迫しており、ソフトウェア開発者の人材確保も容易ではないため、海外のエンジニアに頼るケースがほとんどである。

 そこで、ソフトウェアの流出防止と追跡といった観点において、企業が遭遇した脅威に対してどのような対策をとったのか紹介したい。

Copyright © ITmedia, Inc. All Rights Reserved.