技術革新とセキュリティのバランス:複雑な移行に対応しながらコンプライアンスを維持する方法

クライアント概要
Objective Corporationは、情報ガバナンスおよびセキュアなコンテンツ管理ソリューションの分野における世界的なリーダーであり、規制の厳しい業界の政府機関や企業顧客へのサービス提供を専門としています。世界中に約500名の従業員を擁し、複数の製品ラインにわたり数百万行のコードを有するObjective Corpは、組織が機密情報を適切に管理すると同時に、業界の規制やセキュリティ基準を厳格に遵守できるよう支援しています。
同社のソリューションは、情報セキュリティ、ガバナンス、コンプライアンスが絶対的な要件とされる政府機関や規制対象の業界において、特に重要な役割を果たしています。オブジェクティブ・コーポレーションの製品は、アジア太平洋地域、北米、英国において、公共部門および民間部門の最も機密性の高い情報を安全に管理するために広く信頼されています。
「当社の顧客は、セキュリティが単なる機能ではなく、基盤そのものである環境で事業を展開しています。機密性の高い政府情報や規制対象の企業データを扱う場合、脆弱性を一切許容しないポリシーが適用されるため、セキュリティ上の脆弱性がもたらすリスクは極めて高くなります。」 — Objective Corp
複雑な課題:技術移行期のセキュリティ
Objective Corpは、多くのエンタープライズソフトウェアプロバイダーが共感するであろう、多面的な技術的課題に直面していました。同社は、製品ポートフォリオ全体においてAngularJS からReactへの戦略的な移行を進めつつ、既存の導入環境に対して厳格なセキュリティ基準を維持する必要がありました。
この課題は、いくつかの要因によってさらに複雑化しました:
1. 高度なセキュリティ環境におけるサポート期間の延長
Objective Corpの政府機関や規制産業の顧客は、導入サイクルが長期に及ぶことが多く、厳格な認証プロセスのため、同じソフトウェアバージョンを長期間にわたって運用し続けることもあります。
「当社のクライアントは、認証要件のため、ソフトウェアのアップグレード頻度を下げることができない場合があります。機密性の高い政府システムを扱う場合、毎月アップデートを配信することはできません。私たちは、現行バージョンだけでなく、数年前の複数の旧バージョンについても、セキュリティを維持する必要があります。」 — Objective Corp
2. 複雑で大規模なコードベース
複数の製品やバージョンにまたがり、数百万行ものコードを抱えるObjective Corpは、長年にわたって進化を遂げてきた大規模な技術環境を管理していました。
「当社は、市場に同時に複数のバージョンが流通している複雑な製品群において、数百万行に及ぶコードを管理しています。一部の顧客は、当社のソフトウェアの非常に古いバージョンを使用していますが、それらも引き続き保護する必要があります。」 — Objective Corp
3. 進化する技術スタック
同社は、Angular 、AngularJS 、Ember、Nuxt など、多様な技術エコシステムからReactへの標準化へと戦略的に移行を進めていた。しかし、この移行は一朝一夕には成し遂げられない大規模な取り組みであった。
「今後のプラットフォームとしてReactを採用することにしましたが、移行期間中はAngularJS 上で稼働しているシステムもあり、それらを安全に維持する必要があります。すべてを放り出して、ソフトウェアを一気に書き直すわけにはいきません。」 — Objective Corp
4. 厳格なコンプライアンス要件
Objective Corpは、特にアジア太平洋地域の政府機関へのサービス提供業者として、IRAP(情報セキュリティ登録評価者プログラム)の認定を維持する必要がありました。これは、既知のすべての脆弱性への対応を義務付ける、厳格なセキュリティ評価フレームワークです。
「既存のコードに新機能を求めるつもりはありませんでした。特にAPAC地域におけるIRAP認定を維持するため、セキュリティ態勢を保つべく、それらの脆弱性への対応を具体的に求めていたのです。」 — Objective Corp
戦略的ジレンマ
Objective Corpは、ビジネスに重大な影響を及ぼす、典型的な技術管理上のジレンマに直面していました。同社には以下のことが求められていました:
- 既存のAngularJS ベースのアプリケーションにおけるセキュリティ上の脆弱性に対処する
- 政府機関の顧客にとって不可欠なコンプライアンス認証を維持する
- 今後の開発に向けて、Reactへの戦略的な移行を継続する
- 将来を見据えた取り組みのために開発リソースを確保する
従来のアプローチでは、AngularJS からReactへの移行を加速させるために、エンジニアリングチームを丸々1チーム、6~12か月間専任で割く必要があったでしょう。これは、製品ロードマップやイノベーションへの取り組みから、リソースを大幅に振り向けることを意味していました。
「完全な移行には、専任チームを6か月から12か月間割く必要があると試算しました。その期間、実質的にチームを1つ失うことなど、到底受け入れられる選択肢ではありませんでした。それは、当社のロードマップや、顧客に新機能を提供する能力に多大な影響を及ぼすからです。」 — Objective Corp
解決策:戦略的なセキュリティ保守
さまざまな選択肢を検討した結果、Objective Corp社はHeroDevs社と提携し、AngularJS を基盤とするシステムの完全性を維持しつつ、戦略的な移行を適切なペースで継続できる、的を絞ったセキュリティソリューションを導入しました。
HeroDevsが提供したソリューションは以下の通りです:
- 的を絞ったセキュリティパッチ適用:HeroDevsによるAngularJS への継続的なサポートにより、アプリケーションコードを全面的に変更することなく、サードパーティ製コンポーネントの特定の脆弱性に対処することができました。
- コンプライアンスの維持:このソリューションにより、アプリケーションが政府の認証に必要なセキュリティ基準を常に満たし続けることが保証されました。
- リソースの最適化:このアプローチを採用することで、Objective Corpは、セキュリティに注力する小規模なチームを維持しつつ、リソースの大部分を戦略的取り組みに充てることができた。
「私たちは、新しい機能を追加するのと並行して、技術的負債にも体系的に取り組むことを重視しています。HeroDevsのおかげで、セキュリティを確保しつつ、当社と顧客にとって適切なペースで移行作業を進めることができました。」 — Objective Corp
導入:混乱を最小限に抑え、最大限の効果を発揮する
HeroDevs社のソリューションの導入は極めて効率的であり、主にObjective Corp社の主要製品2つのビルド環境に変更を加えるだけで済みました。このプロセスは、進行中の開発作業への影響を最小限に抑えつつ、数回のスプリントサイクル以内に完了しました。
技術的な実装
この実装では、ビルドプロセスにおける依存関係を更新し、HeroDevsが提供するAngularJS コンポーネントのセキュア版を使用することに重点が置かれました。以下に、実装アプローチの簡略化した例を示します。
// Before: bower.json with vulnerable AngularJS dependency
{
"dependencies": {
"angular": "1.6.9",
"angular-route": "1.6.9",
"angular-sanitize": "1.6.9",
"angular-resource": "1.6.9"
// other dependencies
}
}
// After: Using HeroDevs NES secured versions via npm
// package.json
{
"dependencies": {
"@herodevs/angular": "1.6.9-nes.1",
"@herodevs/angular-route": "1.6.9-nes.1",
"@herodevs/angular-sanitize": "1.6.9-nes.1",
"@herodevs/angular-resource": "1.6.9-nes.1"
// other dependencies
}
}
// Example: Main application file
// The AngularJS application code remained unchanged
angular.module('objectiveApp', [
'ngRoute',
'ngSanitize',
'ngResource',
'objectiveApp.documents',
'objectiveApp.workflow'
])
.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/documents', {
templateUrl: 'views/documents.html',
controller: 'DocumentListCtrl'
})
.when('/documents/:id', {
templateUrl: 'views/document-detail.html',
controller: 'DocumentDetailCtrl'
})
.otherwise({
redirectTo: '/documents'
});
}]);
// Example controller - secure without any code modifications
angular.module('objectiveApp.documents', [])
.controller('DocumentDetailCtrl', ['$scope', '$routeParams', 'DocumentService', '$sce',
function($scope, $routeParams, DocumentService, $sce) {
var docId = $routeParams.id;
// Load document content
DocumentService.getDocument(docId)
.then(function(response) {
$scope.document = response;
// Use $sce.trustAsHtml - now secured without code changes
$scope.documentContent = $sce.trustAsHtml(response.content);
})
.catch(function(error) {
$scope.error = 'Failed to load document: ' + error.message;
});
// Document permissions
$scope.canEdit = false;
DocumentService.checkPermissions(docId)
.then(function(permissions) {
$scope.canEdit = permissions.write;
});
}]);
このアプローチにより、Objective Corpは、アプリケーションコードに変更を加えることなく、また大規模なテストサイクルを必要とすることなく、セキュリティ上の脆弱性に対処することができました。
「導入にかかる手間は最小限でした。主要な2つの製品のビルド環境に変更を加えただけで、実質的にはそれだけです。このソリューションは、既存のコードベースとシームレスに統合されました。」 — Objective Corp
結果:セキュリティ、コンプライアンス、および戦略的重点
HeroDevsのソリューションの導入により、Objective Corpには即座に大きなメリットがもたらされました:
1. セキュリティ態勢の維持
このソリューションは、AngularJS のコンポーネントに存在する重大な脆弱性を効果的に解消し、Objective CorpのアプリケーションがReactへの戦略的な移行を継続している間も、そのセキュリティを確保しました。
2. コンプライアンス認証の維持
既知の脆弱性を排除することで、Objective Corpは、厳格な政府のセキュリティ基準、とりわけアジア太平洋地域の政府機関の顧客にとって極めて重要なIRAP認定への準拠を維持しました。
「セキュリティ体制の維持、特にアジア太平洋地域(APAC)におけるIRAP認定の維持は、当社の事業にとって極めて重要です。HeroDevsのおかげで、開発ロードマップに支障をきたすことなく、これを達成することができました。」 — Objective Corp
3. リソースの最適化
Objective Corp社は、移行を加速させるために6~12か月間、チーム全体を専任で割り当てる代わりに、最小限のリソースでセキュリティ上の懸念に対処しつつ、戦略的取り組みを順調に進めることができました。
4. 事業継続
同社は、サポート終了となったフレームワークを使用しているにもかかわらず、自社のアプリケーションが必要なセキュリティ基準を満たしていることを確信していたため、政府機関や規制対象業界の顧客に対して、自信を持ってサービスを提供し続けることができました。新規顧客は同社のセキュリティ体制を評価しますが、脆弱性が即座に修正された安全なバージョンがあることで、その懸念は解消され、将来的な取引関係の構築につながります。
「私たちにとって重要なのは、サードパーティの脆弱性に対して一切の妥協を許さないことです。その明確な保証があるからこそ、顧客のセキュリティ要件に対して自信を持って『はい』と答え、次の段階に進むことができるのです。とりわけ、ほとんどの顧客は、セキュリティが確認されるまでは機能面について議論すらしないからです。」 — Objective Corp
なぜこれが重要なのか:イノベーションとセキュリティの対立
「技術的負債のバランス調整」
Objective Corpの経験は、テクノロジー企業が直面する普遍的な課題、すなわち「技術的負債への対処」と「イノベーションと前進」という両立すべき課題のバランスを取ることの難しさを浮き彫りにしています。
「どのCTOも、同じ根本的な課題に直面しています」とオブジェクティブ社は述べています。「限られたリソースを、既存システムの維持と未来に向けた構築のどちらに割り当てるべきか? 既存システムが重要な業務機能を支えている場合、それらを単に放棄することはできませんが、一方で開発リソースのすべてをそれらに費やしてしまうわけにもいきません。」
この課題は、政府機関や規制産業にサービスを提供する組織において特に深刻です。これらの組織では、サポート期間の長期化や厳格なセキュリティ要件により、数年、場合によっては数十年にも及ぶ長期にわたる保守責任が生じているからです。
二元論の枠を打ち破る
この課題に対する従来のアプローチでは、二つの選択肢しか提示されていません。すなわち、移行と近代化を加速させるために多大なリソースを割くか、あるいは増大するセキュリティリスクや潜在的なコンプライアンス上の問題を受け入れるか、というものです。オブジェクティブ・コーポレーションの経験から、このような二者択一の枠組みは不必要に選択肢を狭めていることが示されています。
「このプロセスを通じて私たちが学んだのは、技術的負債の管理が『すべてか無か』である必要はないということです」とObjective Corp.は説明する。「重要なセキュリティ上の懸念に対処しつつ、技術ロードマップの推進も並行して進める、よりきめ細やかなアプローチが可能なのです。」
この洞察は、組織が技術の進化にどのように取り組むかという点において、極めて重要な意味を持っています:
戦略的優先順位付け
「私たちは、テクノロジーの移行を単一のプロジェクトとして捉えることから、セキュリティ、ビジネス価値、技術的進歩を適切に考慮した一連の戦略的判断として捉えるように考え方を変えました」と、Objective Corp.は指摘する。「すべてを同じペースで進める必要はありません。」
コンプライアンス:変革の原動力
Objective Corp社は、セキュリティコンプライアンスを制約と捉えるのではなく、ビジネスを推進する要素として位置づけ直しました。「既存のシステムのセキュリティとコンプライアンスを確保することで、実際には他の分野でのイノベーションのための余地を広げることができます。セキュリティ上の緊急事態への対応や、脆弱性への対処のための急ごしらえの移行に追われるようなことはもうありません。」
パートナーによる機能強化
「HeroDevsのような専門パートナーと協力することで、自社の能力に対する考え方が広がりました」とObjective Corp.は語っています。「すべてのソリューションを社内で構築する必要はありません。フレームワークのセキュリティといった専門的なニーズについては、適切なパートナーと協力することで、社内で対応するよりも効率的に、より良い成果を得ることができます。」
エンタープライズソフトウェアの今後の展望
セキュリティを重視する顧客に対応しつつ、複雑なソフトウェアポートフォリオを管理している他の組織にとって、Objective Corpのアプローチは貴重な指針となります:
- セキュリティと機能開発を分離する:セキュリティ上の脆弱性への対応と機能強化を別々に扱うことで、より的を絞った効率的な解決策を実現する。
- 移行は事後対応ではなく、戦略的に計画する:フレームワークのサポート終了日ではなく、ビジネス価値や戦略的優先順位に基づいて移行スケジュールを策定する。
- 戦略的取り組みから社内リソースを割くのではなく、特定の課題解決のために専門的な知見を活用する。
- イノベーションの遅れによる機会費用を含め、さまざまなアプローチがビジネスに与える影響全体を定量的に評価する。
「この経験から得られた最も貴重な知見は、セキュリティとコンプライアンスの維持が、必ずしもイノベーションや進歩を犠牲にする必要はないということです。適切なアプローチとパートナーさえあれば、その両方を効果的に実現することができます。政府機関や規制産業にサービスを提供する組織にとって、このバランスは技術的な重要性にとどまらず、戦略的なビジネス上の優位性となるのです。」 — Objective Corp