平衡创新与安全:Objective Corp 如何在进行复杂迁移的同时保持合规性

客户简介

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(信息安全注册评估师计划)认证——这是一个严格的安全评估框架,要求解决所有已知的漏洞。

“我们并不是想在现有代码中添加新功能。我们特别希望解决这些漏洞,以维持我们的安全态势,尤其是为了在亚太地区获得IRAP认证。”——Objective Corp

战略困境

Objective Corp 面临一个具有重大商业影响的经典技术管理难题。他们需要:

  1. 解决其现有基于AngularJS 的应用程序中的安全漏洞
  2. 保持对政府客户至关重要的合规认证
  3. 继续推进向 React的战略迁移,以满足未来开发需求
  4. 为前瞻性举措保留开发资源

按照传统做法,原本需要专门组建一支工程团队,投入6到12个月的时间来加快从AngularJS 向React的迁移——这将导致大量资源从产品路线图和创新计划中被大量抽调出来。

“我们估算,全面迁移需要一支专职团队投入六到十二个月的时间——实际上,让一支团队在这么长时间内无法开展其他工作是行不通的。这将对我们的路线图以及向客户交付新功能的能力产生重大影响。”——Objective Corp

解决方案:战略性安全维护

在评估了各种方案后,Objective Corp 与 HeroDevs 合作,实施了一套针对性的安全解决方案,该方案既能维护其基于AngularJS 的系统的完整性,又能确保其战略性迁移以适当的速度继续进行。

HeroDevs 提供的解决方案包括:

  1. 针对性安全补丁:HeroDevs 对AngularJS 的持续支持,解决了第三方组件中的具体漏洞,而无需对应用程序代码进行全面修改。
  2. 合规性维护:该解决方案确保应用程序始终符合政府认证所要求的安全标准。
  3. 资源优化:通过采取这种方法,Objective Corp 既能维持一支专注于安全的小型团队,又能将大部分资源用于战略性举措。
“我们更倾向于在增加新功能的同时,以协调一致的方式处理技术债务。HeroDevs 让我们在保障安全的同时,能够以符合我们业务和客户需求的节奏继续推进迁移工作。”——Objective CorpSimplified Chinese (Mainland)

实施:干扰最小,影响最大

HeroDevs 解决方案的实施效率极高,主要只需对 Objective Corp 两款主要产品的构建环境进行调整。整个过程在短短几个冲刺周期内就完成了,对正在进行的开发工作几乎没有造成任何干扰。

技术实现

该实现主要侧重于更新构建流程中的依赖项,以使用 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能够在不影响应用程序代码且无需进行大量测试的情况下,解决安全漏洞问题。

“实施过程非常简单。我们只是对两款主要产品的构建环境进行了一些调整,基本上就完成了。该解决方案与我们的现有代码库无缝集成。”——Objective Corp

成果:安全性、合规性与战略重点

HeroDevs 解决方案的实施为 Objective Corp 带来了立竿见影且显著的效益:

1. 保持了安全态势

该解决方案有效解决了AngularJS 组件中的关键漏洞,确保了Objective Corp的应用程序在继续向React进行战略迁移的过程中仍能保持安全。

2. 保留的合规认证

通过消除已知的漏洞,Objective Corp 始终符合严格的政府安全标准,尤其是对亚太地区政府客户至关重要的 IRAP 认证。

“维持我们的安全态势——尤其是为了获得亚太地区的IRAP认证——对我们的业务至关重要。HeroDevs帮助我们实现了这一目标,同时并未打乱我们的开发路线图。”——Objective CorpSimplified Chinese (Mainland)

3. 资源优化

Objective Corp 无需专门组建一个团队并投入 6 至 12 个月的时间来加速迁移,而是仅凭极少的资源就解决了安全问题,同时确保其战略计划按计划推进。

4. 业务连续性

该公司可以继续充满信心地为政府和受监管行业的客户提供服务,因为它确信,尽管其应用程序使用的框架已达到生命周期终止阶段,但这些应用程序仍符合必要的安全标准。新客户在评估该公司的安全状况时,如果看到其提供的安全版本——其中漏洞已得到及时修复——这将立即打消他们的顾虑,从而巩固双方潜在的合作关系。

“对我们而言,对第三方漏洞采取零容忍态度至关重要。有了这种明确无误的保证,我们才能自信地满足客户的安全要求并继续推进工作——尤其是因为大多数客户在安全问题得到解决之前,甚至不会讨论功能问题。”——Objective Corp简体中文(大陆)

为何这很重要:创新与安全之间的冲突

技术债务的平衡之道

Objective Corp 的经验凸显了科技企业面临的普遍挑战:在解决技术债务的需求与创新和前进的迫切要求之间取得平衡。

“每位首席技术官都面临着同一个根本性问题,”Objective Corp. 指出,“如何在维护现有系统与构建未来之间分配有限的资源?当这些现有系统支撑着关键的业务功能时,你不能简单地放弃它们,但也不能让它们耗尽你所有的开发能力。”

对于服务于政府及受监管行业的组织而言,这种矛盾尤为突出——在这些领域,漫长的支持周期和严格的安全要求导致维护责任的“长尾效应”,其持续时间可能长达数年甚至数十年。

打破二元选择

面对这一挑战,传统做法通常提供两种二元选择:要么投入大量资源来加速迁移和现代化进程,要么接受日益加剧的安全风险和潜在的合规问题。Objective Corp 的经验表明,这种二元框架具有不必要的局限性。

“我们通过这一过程了解到,技术债务管理并不一定非此即彼,”Objective Corp. 解释道,“你可以采取一种更细致入微的方法,既能解决关键的安全问题,又能继续推进你的技术路线图。”

这一见解对组织应对技术演进的方式具有深远的影响:

战略优先级排序

“我们已经不再将技术迁移视为一个整体项目,而是将其视为一系列战略决策,在这些决策中,安全、商业价值和技术进步都会得到恰当的权衡,”Objective Corp. 指出,“并非所有环节都需要以同样的速度推进。”

合规作为推动力

Objective Corp 并未将安全合规视为一种限制,而是将其重新定位为业务推动力。“通过确保现有系统保持安全且符合合规要求,我们实际上为其他领域的创新创造了更多空间。我们无需不断处理安全紧急事件,也不必为了修复漏洞而仓促进行系统迁移。”

合作伙伴增强型功能

“与HeroDevs这样的专业合作伙伴开展合作,拓宽了我们对自身能力的认知,”Objective Corp.表示,“我们不必所有解决方案都由内部开发。对于框架安全等专业需求,合适的合作伙伴能够比我们内部团队更高效地取得更好的成果。”

企业软件的发展之路

对于其他既要维护复杂的软件组合,又要服务于重视安全性的客户的组织而言,Objective Corp 的做法提供了宝贵的指导:

  1. 将安全与功能开发分离:将安全漏洞的处理与功能增强分开处理,以便制定更有针对性、更高效的解决方案。
  2. 应从战略角度规划迁移,而非被动应对:应根据业务价值和战略优先级制定迁移时间表,而不是依据框架的停用日期。
  3. 针对具体挑战,应借助专业知识,而非将内部资源从战略举措中抽调出来。
  4. 量化不同方法对业务的全面影响,包括创新延迟带来的机会成本。
“从这次经历中获得的最宝贵启示是:维护安全与合规并不一定需要以牺牲创新和进步为代价。只要采取正确的方法并选择合适的合作伙伴,就可以两者兼顾且行之有效。对于服务于政府及受监管行业的组织而言,这种平衡不仅在技术层面上至关重要,更是一种战略性的商业优势。”——Objective Corp
目录
下载案例研究