レガシーアプリケーションの脆弱性回避と延命
~Numecent Cloudpagingによるパッケージ化のメリットとは~【トゥモロー・ネット テックブログ】

このブログでは公式サポートが終了した最新OSに対応できないレガシーアプリケーションを延命する手段として、当社でも取り扱っているNumecent Cloudpagingを利用する方法をご紹介します。
他の方法と比べてどのようなメリットがあるのかなど、製品の特長も交えて解説していきます。
目次
古いアプリケーションを使い続けることのリスク
多くの企業では、長年運用してきたレガシーアプリケーションや、サポートが終了したOSのその後について頭を悩ませています。
例えばVisual Basic 6.0で開発されたアプリ、旧バージョンのJRE(Java Runtime Environment)に依存したシステム、Windows 7などです。
これらのアプリケーションは提供元のサポートがすでに終了しており、このまま使い続けることは継続的なセキュリティーリスクを負うことになります。また最新OSでは動作しないアプリケーションのために古いOSを使い続けるなど悪循環が発生することもあります。
リスクを回避するためにネットワークから切り離した環境で利用することも可能ですが、これでは利便性が大きく低下してしまいます。 こうした企業ではいつかはシステムを刷新して問題を解消しようと考えていることでしょう。しかしシステム刷新には多大なコストと時間がかかり、非常に頭の痛い問題だと思います。
リスク回避の手段
新規開発によるアプリケーションの刷新
最新OSや最新技術に対応したアプリケーションを新たに開発すればセキュリティーリスクを軽減することが可能です。さらに自社の要望を取り入れやすいこともメリットですが、開発には多額のコストがかかるデメリットがある上、要件定義やテストに多くの時間を取られることも無視できません。
またWindows OSのバージョンアップは今後も続き、開発したアプリケーションの保守期間も無制限ではないため今後も同様の問題が発生します。
クラウドサービス(SaaS)への移行
レガシーアプリケーションをやめてSaaSに移行すれば、今後のWindows OSのバージョンアップにも対応できる新しい仕組みを構築することが可能です。課題としては、前述と同様に開発・移行の時間とコストが発生すること、そしてさらにランニングコストが高額になる可能性もあります。
また、SaaSにおいては、既存のサービスで自社固有の要件を満たせない部分は運用の変更を迫られる可能性があることや、一度システムを導入したサービスが簡単には他社サービスに移行できないベンダーロックインの問題にも注意する必要があります。
Numecent Cloudpagingによるコンテナ化
Cloudpagingはアプリケーションに必要なすべてのモジュールを、OSに依存しない独立した形にコンテナ化します。これにより本来は動作しないはずの最新OS上でレガシーアプリケーションを動作させることができます。コンテナ化してもアプリケーションのGUIは変わらずユーザーの使い勝手も変わりません。
またモジュールを他のプロセスから隠蔽する機能があり、もし脆弱性があるモジュールが含まれていたとしても不正なプロセスからアクセスできません。
これにより使い慣れたアプリケーションを何年も延命することができます。
コンテナ化されたアプリケーション(パッケージ)には、動作に必要なモジュールがすべて内包されている上、クライアントに配布する仕組みも持っているため展開も容易です。また、クライアントのOSが複数ある場合でも同じパッケージを使用できます。この仕組みを利用することで、アプリケーションの移行タイミングとWindows OSの更新タイミングを完全に分離させることができるため、OSマイグレーションに左右されないアプリケーション運用が可能となります。
システム更新、移行作業、管理業務を最小化するCloudpagingのコストメリットは絶大です。
Cloudpagingには、アプリケーションのコンテナ化作業が発生しますが、基本的には最初の一度だけの対応で良く(アプリのアップデート時には再度コンテナ化による対応が可能です)、標準的なアプリケーションに関しては、コンテナ化手順はドキュメント化されたものが用意されています。また、トゥモロー・ネットで、コンテナ化作業を請け負うことも可能です。
具体例:JREコンテナ化によるセキュリティー対応
Cloudpagingの概要とメリットを説明しましたが、具体例としてJavaのJREをコンテナ化するとどのような課題を解決できるのかをご紹介します。
JREとは?
Java Runtime Environment(JRE)は、Javaアプリケーションをクライアントマシン上で実行するためのランタイム環境です。Javaは多くのWEBシステムで利用されており、その実行に必要なモジュールがJREということになります。
WEBシステムの構築に不可欠なJavaですが、いくつもバージョンがあり、提供元は古いバージョンのサポートを順次終了しています。 特に人気の高いJava 8は例外的に長期間サポートされていますが、こちらも2022年にPremier Supportが終了、現在はExtended Supportが行われている状態です。加えてマイナーバージョンが古い(2019年リリースの8u202以前)ものは無償で商用利用できてしまうため、あえてアップデートを受けずに使い続けているシステムも存在します。
旧JREの脆弱性
古いJREではいくつかの脆弱性が報告されており、最新バージョンへのアップデートが必要とされています。悪意のあるコードは、旧JREに内在するセキュリティ上の欠陥を利用し、OSへの侵入やデータの破壊・搾取などの不正活動を試みようとします。
脆弱性の実例
Oracle Security Alert for CVE-2016-0636

Cloudpagingによる対策方法
CloudpagingでWebブラウザとJREの両方をパッケージ化することで、悪意のあるコードからJREの脆弱性を隠蔽することが可能となります。Cloudpagingのコンテナ環境は、セキュアレイヤーの設定が可能で、コンテナをWindows上の他のプロセスから分離/隠蔽してセキュアに動作させることが可能となります。
さらに、例えばWindows 7上で使っていた古いアプリケーション環境をそのままWindows 10/11上で動作させることもでき、ユーザーはこれまで使ってきたUIや操作をそのまま利用することができます。

まとめ
今回のブログでは古いアプリケーションを使い続けることのリスク、回避手段ごとのメリット・デメリット、Numecent Cloudpagingによる回避について記載しました。
Cloudpagingでコンテナ化されたアプリケーションは、独自のコンテナ環境上に展開されるため、脆弱性を隠しながら、使い慣れたシステムをそのまま延命することが可能です。
コンテナはActive Directoryと連携しユーザー別/グループ別に使用権を設定できるほか、レポートでアプリケーションごとの起動状況を確認することもできるため、ライセンス利用数の把握にも役立ちます。またCloudpagingではサーバー配信環境も充実しており、利用するコンテナの同時接続数などを詳細に設定するアプリケーション運用管理機能も用意されています。
トゥモロー・ネットでご支援できること
トゥモロー・ネットでは、Cloudpagingの提案、構築、導入支援を行っています。頻繁なWindowsのアップデートや、レガシーアプリケーションのマイグレーションにお悩みの方は、ぜひお気軽にお問い合わせください。
関連ページ
Numecent Cloudpaging の機能や導入効果についてはこちら
「Numecent Cloudpaging」のカタログダウンロードはこちら
クラウドコンピューティングとは?仕組みやメリット・デメリットを解説
この記事を書いた人

株式会社トゥモロー・ネット
トゥモロー・ネットは「ITをもとに楽しい未来へつなごう」という経営理念のもと、感動や喜びのある、より良い社会へと導く企業を目指し、最先端のテクノロジーとサステナブルなインフラを提供しています。設立以来培ってきたハードウェア・ソフトウェア製造・販売、運用、保守などインフラに関わる豊富な実績と近年注力するAIサービスのコンサルティング、開発、運用、サポートにより、国内システムインテグレーション市場においてユニークなポジションを確立しています。
インフラからAIサービスまで包括的に提供することで、システム全体の柔軟性、ユーザビリティ、コストの最適化、パフォーマンス向上など、お客様の細かなニーズに沿った提案を行っています。