• 《数据安全实践指南》 数据交换安全实践数据接口安全


    数据接口安全

    • 在数据交换过程中,企业间用来获取数据最常见的方式是使用数据接口,所以数据接口也成为了攻击者重点关注的对象,因为一旦数据接口出现问题,就会导致数据在通过数据接口时发生数据泄露等风险,所以为了规范组织机构的数据接口调用行为,对数据接口进行安全管理十分有必要。

    建立负责数据接口安全的职能部门

    • 负责为组织机构制定整体的数据接口安全控制策略。
    • 负责为数据使用者制定统一的,标准的数据接口开发规范,并推动相关要求在组织机构中切实可靠地执行。
    • 数据接口安全管理部门还需要为业务团队提供不同的数据接口场景的风险评估支持。
    • 制定明确的数据接口使用安全指南,向数据接口调用者明确其使用目的,使用方式,数据安全责任归属等问题。

    明确数据接口安全岗位的能力要求

    • 数据接口安全管理岗位的相关人员:

    • 具备良好的数据安全风险意识。

    • 熟悉国家相关法律法规以及组织机构所属行业的政策和监管要求,同时严格按照网络安全法,数据安全法,个人信息保护法等国家法律法规和行业规范执行。

    • 相关的管理人员需要具备一定的数据接口安全管理经验。

    • 熟悉数据接口调用安全专业知识且通过了岗位能力测试。

    • 熟悉主流的数据接口安全案例,管理流程,技术工具。

    • 能够根据不同的数据接口业务场景进行相应的风险评估。

    • 能结合业界标准,合规准则,业务场景制定标准化数据接口使用安全规范和数据接口开发规范的能力。

    • 数据接口安全管理部门的技术人员

    • 具备良好的数据接口安全风险意识。

    • 熟悉相关的法律法规及政策要求。

    • 熟悉主流厂商的数据接口解决方案。

    • 熟悉主流的数据接口安全检测工具及使用方法。

    • 拥有一年以上的数据接口安全审核经验。

    • 充分理解数据接口调用业务的使用场景。

    • 充分理解并执行由管理人员制定的数据接口安全策略方案。

    • 能够对数据接口进行大量安全测试的能力。

    • 能够对数据接口的调用日志进行审计和分析的能力。

    • 能够对突发的数据违规调用事件进行应急处理的能力。

    数据接口安全岗位的建设及人员能力的评估方法

    • 通过内部审计和外部审计等形式以调研访谈,问卷调查,流程观察,文件调阅,技术检测等多种方式实现。
    • 1.调研访谈
    • 对数据接口安全部门管理人员访谈内容:
    • 确认其有能力制定整体的数据接口安全原则及控制策略。
    • 了解数据接口正当使用规范、数据提供者与数据调用者的数据安全责任归属、数据接口安全日志审计流程和管理规范、数据接口安全检测工具,确认其有能力对数据接口调用的业务场景进行风险评估,确认其能胜任该岗位。
    • 调研访谈还应该确认管理人员是否明确定义并规范了所涉及的接口类型、编码格式、变量名称、变量类型、长度、大小等内容;
    • 管理人员是否建立了定期或非定期的数据接口审核检查制度,以确保技术人员可以及时对数据接口调用的数据进行审计和监控;
    • 管理人员是否建立了统一的数据接口管理平台,以实现对数据接口的管理。
    • 对数据接口安全部门技术人员的访谈内容:
    • 确认其是否具有一年以上的数据接口安全检测经验;
    • 是否能够准确地实施由管理人员制定的定制化数据接口安全策略;
    • 是否能够对数据接口进行大量的安全测试,包括但不限于非授权登录、重放攻击、数据篡改、假冒伪装等测试操作以确保接口安全;
    • 是否能够对数据接口的调用日志(包括日期、时间、调用人、IP地址、状态、返回内容等)进行审计与记录、对数据接口的异常事件进行告警和通知,以备后期进行追踪溯源。
    • 2.问卷调查
    • 数据接口安全部门的管理人员是否制定了针对公司的,有效的数据接口安全原则及控制规范。
    • 其中涉及到但不限于接口身份鉴别令牌,访问控制权限,签名防抵赖,时间戳,安全传输协议HTTPS等。
    • 是否可以对不同的数据接口调研业务场景进行风险评估。
    • 是否可以根据组织机构的数据接口安全原则制定出适合不同业务场景的定制化数据接口使用方案。
    • 是否能够依据国家的相关法律法规对数据接口的调用或开发过程进行严格规范和管理。
    • 是否制定了接口开发标准规范。
    • 是否与数据接口的调用者签订了安全责任声明书,包括双方的权力和义务,数据的使用目的,调用频次和责任归属等。
    • 是否建立了统一的数据接口管理平台,以实现对数据接口的管理和审核,从而保证开放的数据接口符合安全规定要求。
    • 3.流程观察
    • 以中立的视角观察公司数据接口安全部门管理人员的工作流程,包括在为公司制定整体的数据接口安全原则及控制规范时、为公司建立数据接口日志安全审计策略时、为不同的数据接口调用业务场景提供安全风险评估时、为不同的业务场景制定定制化数据接口安全使用规范时、为技术人员或数据接口开发人员制定接口开发规范时,是否可以识别出其中可能存在的数据安全风险,是否贴合组织机构的内部框架,是否满足不同业务场景的安全需求,方法流程是否符合标准;在对数据接口进行严格规范的管理时,是否遵守国家相关法律法规的要求。
    • 以中立的视角观察公司数据接口安全部门技术人员的工作流程,包括在对数据接口调用的工作流程进行审核时、对数据接口调用的数据内容进行审核时、对数据接口调用的日志记录进行管理与审核时、对数据接口进行大量的安全测试时、对数据接口管理员的权限进行管理与分配时,是否可以识别出其中可能存在的安全风险,方法流程是否符合标准的流程规范,是否遵守国家相关法律法规的要求。
    • 4.技术检测
    • 数据接口安全阶段的技术检测,需要使用技术工具对数据接口的调用进行身份鉴别和访问控制,以确保所有人对数据接口的访问与调用都是合法的、符合标准的;对数据接口的不安全输入参数进行限制与过滤,为数据接口提供异常处理的能力;对数据接口访问的审计能力进行检测,为大数据安全审计提供可配置的数据服务接口;对数据接口调用过程中的日志内容能否被正确有效地记录与保存进行检测;对数据接口管理平台能否正常平稳地运行进行检测,并确保在出现突发情况时能够快速地进行应急处置。

    明确数据接口安全管理的目的

    • 在数据共享交换的过程中,通过数据接口获取数据是一种很常见的方式,如果对数据接口进行攻击,则将导致数据通过数据接口泄露的安全问题。组织机构通过建立对外数据接口的安全管理机制,可以有效防范在数据接口调用过程中发生的安全风险。

    制定数据接口开发规范

    • 数据接口安全管理部门需要制定数据接口开发规范,对涉及的接口类型,编码格式,变量名称,变量类型,长度,大小等内容进行规范定义。同时也要采用不安全的参数限制,时间戳超时机制,令牌授权机制,签名机制,安全传输协议等安全措施,降低数据在接口调用过程中的安全风险。

    针对数据接口的管理和审核

    • 需要建立一套数据接口管理平台,做统一的管理,以实现对数据接口的管理和审核,这就是统一的关键点进行卡位,目的是让使用外部数据接口的流程,做到能够管理和审核,具体内容如下:
    • 组织机构因内部系统建设或功能完善需要申请或变更数据接口的,应由组织内部信息化专员登录数据接口管理平台,并提出相应的申请与变更需求,经上级领导审批同意后,提报数据接口安全管理部门审批。
    • 数据接口安全管理部门收到数据接口审批与变更后,应与各相关组织及技术人员召开需求评审会议,评审数据接口实施的可信性及实施期限,对于不可行的数据接口申请与变更,评审会议应否决实施,并由数据接口安全管理部门在数据接口管理平台进行否决需求操作,对于评审可行的数据接口申请与变更,数据接口安全管理部门应在数据接口管理平台录入实施期限并确认需求审核。
    • 对于通过评审的数据接口申请与变更需求,数据接口安全管理部门应与各相关组织进行数据接口谈判,确定数据接口文档,并组织相关技术人员及其他实施人员对数据接口内容的实施与安全测试进行议定,包括非授权登录,重放攻击,数据篡改,假冒伪装等操作,以确保数据接口安全。
    • 对于实施完成后经双方测试确认的数据接口,数据接口安全管理部门需要组织相关技术人员与其他实施人员共同制定数据接口上线组织方案,组织数据接口的上线工作,对于数据接口上线未成功的,应由数据接口安全管理部门和相关技术人员与其他实施人员重新制定方案组织上线。
    • 对于已经完成上线的数据接口申请与变更需求,数据接口安全管理部门的技术人员需要制定或变更数据接口文档,该文档由数据接口安全管理部门进行收集与归档。
    • 使用内部现有数据接口的流程,需要管理和审核的内容具体如下。
    • 组织机构因内部系统建设或功能完善需要申请或变更现有数据接口的,应由组织内部信息化专员登录数据接口管理平台提出相应的申请与变更需求,经上级领导审批同意后,提报数据接口安全管理部门审批。
    • 数据接口安全管理部门收到数据接口申请与变更后,应与数据接口安全管理技术人员进行数据接口实施的可行性及实施期限的评审,否决不可行的现有数据接口变更的申请,应由数据接口安全管理部门在数据接口管理平台进行否决需求的操作;对于评审可行的现有数据接口的申请与变更,数据接口安全管理部门需要在数据接口管理平台录入实施期限并确认需求审核。同时,数据接口安全管理技术人员应制定数据接口的测试与实施方案,并进行实施与安全测试,以确保数据接口的安全。实施完成后,再由数据接口安全管理技术人员完成数据接口的上线工作。对于已经完成上线操作的数据接口申请与变更需求,数据接口安全管理技术人员需要制定或变更数据接口文档,该文档应由数据接口安全管理部门进行收集与归档。
    • 向外部单位提供数据接口的流程,需要管理和审核的内容具体如下。
    • 组织机构接到外部单位提交的数据接口使用申请时,应由数据接口安全管理部门在数据接口管理平台上进行提报与登记,登记内容包括数据接口调用者的使用目的和使用方式等,并组织数据接口安全管理技术人员与数据接口调用者共同评审数据接口的实施可行性,制定实施与测试方案。在实施之前,组织机构需要与接口调用者签订安全责任声明书,包括双方的权利和义务、数据的使用目的、调用频次、责任归属等。

    审计与溯源

    • 数据接口调用的各个阶段都需要加入安全审计机制,严格、详细地记录接口调用过程中的相关信息,包括日期、时间、调用人、IP地址、状态和返回内容等,以方便后续问题的排查分析和安全事件的取证溯源。同时,数据接口安全管理部门需要设置专人定期对接口调用相关的日志记录进行安全审计,发布审计报告,并跟进审计中发现的异常。

    使用技术工具

    • 通过数据接口进行数据共享是一种比较常见的方式,一旦数据接口被攻击者恶意利用,就有可能会造成敏感数据的泄露。由于伪装攻击、篡改攻击、重放攻击、数据信息监听等攻击方式均有可能造成数据的泄露,因此数据接口安全技术工具需要防范组织数据在接口调用过程中产生的安全风险。
    • 一套完整的数据接口安全技术工具应具备安全访问、安全传输和安全审计的功能,具体如下:
    • 安全访问:所谓安全访问是指通过认证及授权的身份以合法的方式对接口数据进行请求。为实现安全访问,首先需要进行身份认证,可以通过公私钥签名或加密机制提供细粒度的身份认证和访问、权限控制,以满足数据防篡改和数据防泄露的要求。对接口不安全数据参数应进行限制或过滤,为接口提供异常处理能力,防止由于接口特殊参数注入而引发的安全问题。在访问过程中,对用户身份认证信息采用时间戳超时机制,过期失效,以满足接口防重放要求。
    • 安全传输:所谓安全传输是指通过接口进行的请求及数据返回都需要通过安全的通道进行传输。如通过HTTPS构建的可进行加密传输和身份认证的网络协议,以解决信任主机通信过程中的数据泄密和数据篡改的问题。
    • 安全审计:在用户访问过程中或访问结束之后,数据接口安全技术工具应具备数据接口访问的审计能力,并能为数据安全审计提供可配置的数据服务接口,同时还可以通过接口调用日志的收集处理和分析操作,从接口画像、IP画像、用户画像等维度对接口的调用行为进行分析,并且通过告警机制对产出的异常事件进行实时通知。相较于其他安全域,这个阶段需要关注如何对数据接口进行安全访问的控制,主要涉及的技术手段有不安全数据参数的限制、时间戳超时机制等。

    不安全参数限制机制

    • 不信任所有用户的输入是构建安全世界观的重要概念。绝大部分黑客攻击都会通过人为地构造一些奇特的参数值进行攻击探测,因此数据接口安全管理团队需要对用户的输入进行检测,以确定其是否遵守系统定义的标准。限制机制可能只是简单的一个参数类型的验证,也可能是复杂的使用正则表达式或业务逻辑去验证输入。目前主流的验证输入的方式共有两种:白名单验证和黑名单验证。
    • 白名单验证:是指只接受已知的不存在威胁的用户数据,即在接受输入之前首先验证输入是否满足期望的类型、长度或大小、数值范围及其他格式标准。常用的实现内容验证的方式是使用正则表达式。
    • 黑名单验证:是指只拒绝已知的存在威胁的用户输入,即拒绝已知的存在威胁的字符、字符串和模式。这种方法没有白名单验证的效率高,原因在于潜在的、存在威胁的字符数量庞大,因此存在威胁的输入清单也很庞大,扫描过程较慢,并且难以得到及时更新。常见的实现黑名单验证的方法也是使用正则表达式。

    时间戳超时机制

    • 时间戳超时机制是指用户每次请求都带上当前时间的时间戳(timestamp)。服务端接收到时间戳后,会与当前时间进行比对,如果时间差大于一定的时间(如5分钟),则认为该请求失效,时间戳超时机制可以有效防止请求重放攻击,DoS攻击等。

    令牌授权机制

    • 用户使用身份认证信息通过数据接口服务器认证之后,服务器会向客户端返回一个令牌,这个就是我们常说的(token,通常是UUID),并将token-userid以键值对的形式存放在缓存服务器中。服务端接收到请求后进行令牌验证,如果令牌不存在,则说明请求无效。令牌是客户端访问服务端的凭证。

    签名机制

    • 将令牌和时间戳加上其他请求参数,再用MD5或SHA-1算法(可根据实际情况进行加盐)进行加密,加密后的数据就是本次请求的签名(sign)。服务端接收到请求后,将以同样的算法得到签名,并将其与当前的签名进行比对,如果不一样,则说明参数已被更改过,将会直接放回错误标示。签名机制可以保证数据不会被篡改。

    技术工具的使用目标和工作流程

    • 安全访问
      • 防止数据接口重放,未授权访问导致的数据泄露,恶意参数注入等引起的安全问题。
    • 安全传输
      • 数据在传输过程中需要在安全通道内对传输中的数据进行加密等。
    • 安全审计
      • 对用户请求的行为进行日志记录并审计,以发现相关的安全隐患。
  • 相关阅读:
    程序猿小白博客报道
    UML
    mysql隔离级别相关
    mac使用相关笔记
    git相关
    maven相关
    springboot相关
    guava
    IDEA高效运用技巧
    spring事务相关
  • 原文地址:https://www.cnblogs.com/autopwn/p/16405562.html
Copyright © 2020-2023  润新知