历史上的今天
今天是:2025年03月11日(星期二)
2020年03月11日 | 新思科技解析如何降低并购时API和Web服务风险
2020-03-11 来源:EEWORLD
在技术并购中,对软件本身的尽职调查必须考虑其体系结构和代码。体系结构提供了基础,定义了如何汇编和构造代码;深入研究代码,可能会发现技术缺陷,包括错误、安全漏洞、许可问题以及其它需要修改代码的问题。
如今,相比编写代码,开发人员更可能为他们的应用程序组装代码。当然,他们仍会编写关键的业务的代码。但是,代码库中包含多达90%的开源或第三方组件,开发人员可将代码重用于常见功能,节约时间。有一种可重用的组件类型是基于API的Web服务,其中许多可免费用于开发基本功能。但是,使用基于API的Web服务可能会产生版权、最终用户许可、使用条款以及数据和隐私政策等相关问题。

开发人员经常在互联网上找到适用于其应用程序的有用API。但是软件开发公司可能无法控制甚至不知道开发人员正在使用哪些API。然后,您的公司有一天决定购买该开发公司。您要如何在收购的时候减少基于API的Web服务的相关风险?
减少基于API的Web服务的4个方面的风险
当您考虑收购的公司有软件需要进行实质性估值,而且此类软件是基于API的Web服务时,需要注意以下4个方面:
法律和合规风险
API安全风险
数据隐私风险
运营/业务风险
1. 法律和合规风险
基于API的Web服务通常伴随版权问题和使用条件,您需要了解这些版权和使用条件。使用条款也可能是复杂且不断变化的。当使用条款更改时,用户只要是继续使用基于API的Web服务即表示同意新条款。可以说,当您购买基于API的公司许可的Web服务时,您还可能继承了其法律和合规风险。
2. API 安全风险
基于API的Web服务给收购方带来了两个风险:API发送的数据和接收的数据。发送的数据可能会泄漏或被窃听;接收的数据可能包括可执行文件、篡改的图像、病毒或恶意代码。而且,无论是发送还是接受的数据都可能受到中间人攻击。
3. 数据隐私风险
企业有时会将来自API的数据与从其它来源获得的数据区别对待。当涉及到数据隐私时,所有数据,尤其是个人身份信息(PII),都需要同样的保护。作为收购方,您必须对多方面进行尽职调查,包括目标应用程序如何处理API数据、如何将其与其它来源的匿名数据进行合并以及在何处(从地理角度而言)将数据发送至何处、从何处接收、存储并处理等,还需要审查其是否遵守区域数据隐私法规,例如欧洲的《通用数据保护条例》(GDPR)。
4. 运营/业务风险
基于API的Web服务是免费的,不提供服务级别协议(SLA)。在寻找潜在的收购机会时,您需要知道使用免费Web服务会带来哪些持续的风险。如果吊销了API许可证、不赞成使用API或竞争对手购买了API提供商并限制了直接竞争的访问权限,您最终可能会遇到业务无法进展的问题。您必须制定应急计划,以随时应对API出于任何原因变得不可用的情况。
3个步骤缓解基于API的Web服务风险
与对开源软件的审查一样,收购方要降低基于API的Web服务风险,必须围绕着全面披露和发现。基本上,需要三个步骤:
1. 识别应用程序中所有基于API的Web服务。明确地知道应用了哪些API,提供了哪些数据,它们的关联许可证以及使用了多少和使用频率。您可以通过询问应用程序开发人员来获取此信息,或者最好通过使用API /代码扫描器对应用程序的API进行审核。
2. 分析应用程序的API许可证。仔细检查应用程序的API许可,以确保目标公司正确遵守合同条款。审查在理论上和现实中使用API是否有不一致之处。另外,请留意应该提供和实际提供的数据之间存在的任何差异。
3. 制定补救计划。补救计划应涵盖不同类别的问题,包括代码、法律、冗余和突发事件、数据隐私和合同风险分配等。这将分别涉及由于服务中断而更换API、寻求对现有许可证的补充或弃用、准备好API备份、向用户群通知收集和传输了哪些数据,以及让目标公司对交易中包含的基于API的Web服务提供具有约束力的证明和保证。
史海拾趣
|
基于Ansoft电磁技术的新一代PCB仿真设计 针对PCB设计人员关注的问题予以讨论,剖析PCB电磁问题的实质及处理方法,介绍Ansoft仿真解决方案的技术特点,与同类型产品的定位关系及比较,并为您展示Ansoft电磁技术及工具在国内 ...… 查看全部问答> |
|
我用了一个看门狗芯片LTC1232,想每100ms喂狗,程序如下,OK没问题。 但现在我的两个定时器都要用到别的地方,做计数器用,难道我要在主程序里面每过一段时间喂狗码? 请高手指教 void time0() interrupt 1//定时器中断time0 {   ...… 查看全部问答> |
|
[===============]WINCE arm开发板 上电后 全屏 自动运行 指定程序 第一次 接触 wince 开发板 首先遇到的问题是 要让用vs2003写的程序 在 设备 一上电 就 全屏 自动运行 这个问题 就是不想让用户 看到 wince 系统界面上的程序 请各位大侠 指教 … 查看全部问答> |
|
[wince5.0]关于interruptinitialize的使用问题,请教! 我目前是在一个wince5.0平台上写个小驱动,需要在init里启用一个中断,于是就想到了interruptinitialize()这个函数。现在的问题是如果在原BSP里的某个驱动里使用这个函数调用就没有问题,并且能完成任务;但是我自己写的驱动,编译完成后就总是出现 ...… 查看全部问答> |
|
各位大哥:本人现做的一个项目需要用到一个8M的RAM缓存,初步打算用1*16的SDRAM,主控是AVR单片机,我想请问一下哪位高手有用过普通单片机来控制SDRAM的呢?具体怎么实现?还有,究竟怎样通过执行LOAD MODE REGISTER命令,完成对SDRAM工作模式设定 ...… 查看全部问答> |




