SCW图标
英雄背景无分隔线
博客

Les codeurs conquièrent l'infrastructure de sécurité en tant que série de codes - Business Logic

马蒂亚斯-马杜博士
出版日期: 2020 年 6 月 22 日
最后更新于 2026年3月8日

好了,这就是它(目前)。我们的基础设施即代码系列已经结束了。我们希望你在征服Docker、Ansible、Kubernetes、Terraform和CloudFormation中的安全问题时感到愉快。不过在我们结束之前,我们还有一个漏洞需要你掌握:业务逻辑错误。

你认为你现在准备好测试你的技能了吗?试试最后的游戏化挑战。

如果你对一些事情还不清楚,请继续阅读。

我们今天要关注的漏洞是业务逻辑缺陷。当编码员未能正确地实现业务逻辑规则时,就会出现这些漏洞,如果恶意用户选择利用它们,就会使他们的应用程序容易受到不同种类的攻击。根据每个应用程序的目的和实现的功能,业务逻辑缺陷可能允许特权升级、不适当的资源使用或任何数量的非预期的业务流程被执行。

与许多漏洞不同的是,业务逻辑规则的不正确实现可能出乎意料地微妙。它们需要特别警惕,以确保它们不会潜入应用程序和代码。

业务逻辑缺陷的例子有哪些?

作为诱发业务逻辑缺陷的一个例子,请考虑下面这个用Docker Compose文件定义的Docker环境中的例子。为了准备容器执行功能,开发者可能会使用一个标准的资源策略,在Docker Compose文件中定义,就像下面这个例子。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"

虽然这在表面上看起来很好,但这个容器的资源策略并没有正确限制资源的使用。攻击者可以利用业务逻辑的缺陷来实施拒绝服务(DoS)攻击。

为了尝试限制用户占用过多的资源,开发者可能会尝试更好地定义每个容器可以支持的内容。因此,新的代码可能包括一个放置限制。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"
placement:
constraints:
- "node.labs.limit_cpu == 100M"
- "node.labs.limit_memory == 0.5"

乍一看,这似乎可以解决业务逻辑的缺陷。然而,新的放置约束并不影响Docker容器服务的资源使用限制。它只是用来选择一个节点来安排容器。在这种情况下,DoS攻击仍然是可能的。攻击者需要先破坏一个Docker容器,但之后就可以无限制地消耗资源。

正如你所看到的,思考商业逻辑的缺陷并通过编程来消除它们可能是一项棘手的工作。

消除业务逻辑缺陷

对于业务逻辑缺陷,关键是要知道它们的存在。在编写新的代码时,你需要保持警惕,不让它们出现在你的环境中。业务规则和最佳实践应该被明确定义,并在应用程序开发过程的所有阶段进行检查,包括设计、实施和测试。

例如,为了防止业务逻辑缺陷导致DoS攻击,比如上面的例子,一个最佳做法是限制你创建的每个Docker容器可以使用的资源量。具体来说,限制部分必须指定一个Docker容器可以使用的CPU数量和内存数量。一个例子是。

部署:
资源。
limits:
cpus:"0.5"
memory: 100M
reservations:
cpus:"0.5"
内存。50M

使用像上面的例子那样的代码作为一个策略,可以从环境中消除一个主要的业务逻辑缺陷,并防止DoS攻击。即使攻击者破坏了其中一个Docker容器,这也是可行的。在这种情况下,攻击者仍然无法利用他们的立足点来耗尽资源。

威胁建模可以通过定义不同攻击的发生方式,并确保使用业务逻辑规则来防止和限制它们,从而起到帮助作用。基于合规规则和已知滥用案例的测试也可以帮助捕捉漏网之鱼的业务逻辑缺陷。

业务逻辑缺陷是一些可以潜入应用程序的最微妙的漏洞,但其危险性并不亚于其他更引人注目的风险。了解它们是如何发生的,并使用最佳实践可以在应用开发过程中把它们挡在你的环境之外,确保它们永远不会到达生产环境,在那里它们可以被非常熟悉如何利用它们的攻击者所滥用。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和客户免受其他安全缺陷的蹂躏。你也可以在Secure Code Warrior 培训平台上尝试演示这个IaC挑战,以保持你的所有网络安全技能得到磨练和更新。


显示资源
显示资源

Cette vulnérabilité peut survenir lorsque les codeurs ne parviennent pas à implémenter correctement les règles de logique métier, ce qui pourrait rendre leurs applications vulnérables à différents types d'attaques si un utilisateur malveillant choisissait de les exploiter.

您想了解更多吗?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

了解更多

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年6月22日

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

分享到:
领英品牌社交x 标志

好了,这就是它(目前)。我们的基础设施即代码系列已经结束了。我们希望你在征服Docker、Ansible、Kubernetes、Terraform和CloudFormation中的安全问题时感到愉快。不过在我们结束之前,我们还有一个漏洞需要你掌握:业务逻辑错误。

你认为你现在准备好测试你的技能了吗?试试最后的游戏化挑战。

如果你对一些事情还不清楚,请继续阅读。

我们今天要关注的漏洞是业务逻辑缺陷。当编码员未能正确地实现业务逻辑规则时,就会出现这些漏洞,如果恶意用户选择利用它们,就会使他们的应用程序容易受到不同种类的攻击。根据每个应用程序的目的和实现的功能,业务逻辑缺陷可能允许特权升级、不适当的资源使用或任何数量的非预期的业务流程被执行。

与许多漏洞不同的是,业务逻辑规则的不正确实现可能出乎意料地微妙。它们需要特别警惕,以确保它们不会潜入应用程序和代码。

业务逻辑缺陷的例子有哪些?

作为诱发业务逻辑缺陷的一个例子,请考虑下面这个用Docker Compose文件定义的Docker环境中的例子。为了准备容器执行功能,开发者可能会使用一个标准的资源策略,在Docker Compose文件中定义,就像下面这个例子。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"

虽然这在表面上看起来很好,但这个容器的资源策略并没有正确限制资源的使用。攻击者可以利用业务逻辑的缺陷来实施拒绝服务(DoS)攻击。

为了尝试限制用户占用过多的资源,开发者可能会尝试更好地定义每个容器可以支持的内容。因此,新的代码可能包括一个放置限制。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"
placement:
constraints:
- "node.labs.limit_cpu == 100M"
- "node.labs.limit_memory == 0.5"

乍一看,这似乎可以解决业务逻辑的缺陷。然而,新的放置约束并不影响Docker容器服务的资源使用限制。它只是用来选择一个节点来安排容器。在这种情况下,DoS攻击仍然是可能的。攻击者需要先破坏一个Docker容器,但之后就可以无限制地消耗资源。

正如你所看到的,思考商业逻辑的缺陷并通过编程来消除它们可能是一项棘手的工作。

消除业务逻辑缺陷

对于业务逻辑缺陷,关键是要知道它们的存在。在编写新的代码时,你需要保持警惕,不让它们出现在你的环境中。业务规则和最佳实践应该被明确定义,并在应用程序开发过程的所有阶段进行检查,包括设计、实施和测试。

例如,为了防止业务逻辑缺陷导致DoS攻击,比如上面的例子,一个最佳做法是限制你创建的每个Docker容器可以使用的资源量。具体来说,限制部分必须指定一个Docker容器可以使用的CPU数量和内存数量。一个例子是。

部署:
资源。
limits:
cpus:"0.5"
memory: 100M
reservations:
cpus:"0.5"
内存。50M

使用像上面的例子那样的代码作为一个策略,可以从环境中消除一个主要的业务逻辑缺陷,并防止DoS攻击。即使攻击者破坏了其中一个Docker容器,这也是可行的。在这种情况下,攻击者仍然无法利用他们的立足点来耗尽资源。

威胁建模可以通过定义不同攻击的发生方式,并确保使用业务逻辑规则来防止和限制它们,从而起到帮助作用。基于合规规则和已知滥用案例的测试也可以帮助捕捉漏网之鱼的业务逻辑缺陷。

业务逻辑缺陷是一些可以潜入应用程序的最微妙的漏洞,但其危险性并不亚于其他更引人注目的风险。了解它们是如何发生的,并使用最佳实践可以在应用开发过程中把它们挡在你的环境之外,确保它们永远不会到达生产环境,在那里它们可以被非常熟悉如何利用它们的攻击者所滥用。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和客户免受其他安全缺陷的蹂躏。你也可以在Secure Code Warrior 培训平台上尝试演示这个IaC挑战,以保持你的所有网络安全技能得到磨练和更新。


显示资源
显示资源

请填写以下表格以下载报告

我们希望获得您的授权,以便向您发送有关我们产品和/或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会将其出售给其他企业用于营销目的。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用「Analytics」Cookie。完成操作后,请随时将其重新禁用。

好了,这就是它(目前)。我们的基础设施即代码系列已经结束了。我们希望你在征服Docker、Ansible、Kubernetes、Terraform和CloudFormation中的安全问题时感到愉快。不过在我们结束之前,我们还有一个漏洞需要你掌握:业务逻辑错误。

你认为你现在准备好测试你的技能了吗?试试最后的游戏化挑战。

如果你对一些事情还不清楚,请继续阅读。

我们今天要关注的漏洞是业务逻辑缺陷。当编码员未能正确地实现业务逻辑规则时,就会出现这些漏洞,如果恶意用户选择利用它们,就会使他们的应用程序容易受到不同种类的攻击。根据每个应用程序的目的和实现的功能,业务逻辑缺陷可能允许特权升级、不适当的资源使用或任何数量的非预期的业务流程被执行。

与许多漏洞不同的是,业务逻辑规则的不正确实现可能出乎意料地微妙。它们需要特别警惕,以确保它们不会潜入应用程序和代码。

业务逻辑缺陷的例子有哪些?

作为诱发业务逻辑缺陷的一个例子,请考虑下面这个用Docker Compose文件定义的Docker环境中的例子。为了准备容器执行功能,开发者可能会使用一个标准的资源策略,在Docker Compose文件中定义,就像下面这个例子。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"

虽然这在表面上看起来很好,但这个容器的资源策略并没有正确限制资源的使用。攻击者可以利用业务逻辑的缺陷来实施拒绝服务(DoS)攻击。

为了尝试限制用户占用过多的资源,开发者可能会尝试更好地定义每个容器可以支持的内容。因此,新的代码可能包括一个放置限制。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"
placement:
constraints:
- "node.labs.limit_cpu == 100M"
- "node.labs.limit_memory == 0.5"

乍一看,这似乎可以解决业务逻辑的缺陷。然而,新的放置约束并不影响Docker容器服务的资源使用限制。它只是用来选择一个节点来安排容器。在这种情况下,DoS攻击仍然是可能的。攻击者需要先破坏一个Docker容器,但之后就可以无限制地消耗资源。

正如你所看到的,思考商业逻辑的缺陷并通过编程来消除它们可能是一项棘手的工作。

消除业务逻辑缺陷

对于业务逻辑缺陷,关键是要知道它们的存在。在编写新的代码时,你需要保持警惕,不让它们出现在你的环境中。业务规则和最佳实践应该被明确定义,并在应用程序开发过程的所有阶段进行检查,包括设计、实施和测试。

例如,为了防止业务逻辑缺陷导致DoS攻击,比如上面的例子,一个最佳做法是限制你创建的每个Docker容器可以使用的资源量。具体来说,限制部分必须指定一个Docker容器可以使用的CPU数量和内存数量。一个例子是。

部署:
资源。
limits:
cpus:"0.5"
memory: 100M
reservations:
cpus:"0.5"
内存。50M

使用像上面的例子那样的代码作为一个策略,可以从环境中消除一个主要的业务逻辑缺陷,并防止DoS攻击。即使攻击者破坏了其中一个Docker容器,这也是可行的。在这种情况下,攻击者仍然无法利用他们的立足点来耗尽资源。

威胁建模可以通过定义不同攻击的发生方式,并确保使用业务逻辑规则来防止和限制它们,从而起到帮助作用。基于合规规则和已知滥用案例的测试也可以帮助捕捉漏网之鱼的业务逻辑缺陷。

业务逻辑缺陷是一些可以潜入应用程序的最微妙的漏洞,但其危险性并不亚于其他更引人注目的风险。了解它们是如何发生的,并使用最佳实践可以在应用开发过程中把它们挡在你的环境之外,确保它们永远不会到达生产环境,在那里它们可以被非常熟悉如何利用它们的攻击者所滥用。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和客户免受其他安全缺陷的蹂躏。你也可以在Secure Code Warrior 培训平台上尝试演示这个IaC挑战,以保持你的所有网络安全技能得到磨练和更新。


查看网络研讨会
开始
了解更多

点击下方链接,下载此资源的PDF文件。

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

显示报告预约演示
下载PDF文件
显示资源
分享到:
领英品牌社交x 标志
您想了解更多吗?

分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年6月22日

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

分享到:
领英品牌社交x 标志

好了,这就是它(目前)。我们的基础设施即代码系列已经结束了。我们希望你在征服Docker、Ansible、Kubernetes、Terraform和CloudFormation中的安全问题时感到愉快。不过在我们结束之前,我们还有一个漏洞需要你掌握:业务逻辑错误。

你认为你现在准备好测试你的技能了吗?试试最后的游戏化挑战。

如果你对一些事情还不清楚,请继续阅读。

我们今天要关注的漏洞是业务逻辑缺陷。当编码员未能正确地实现业务逻辑规则时,就会出现这些漏洞,如果恶意用户选择利用它们,就会使他们的应用程序容易受到不同种类的攻击。根据每个应用程序的目的和实现的功能,业务逻辑缺陷可能允许特权升级、不适当的资源使用或任何数量的非预期的业务流程被执行。

与许多漏洞不同的是,业务逻辑规则的不正确实现可能出乎意料地微妙。它们需要特别警惕,以确保它们不会潜入应用程序和代码。

业务逻辑缺陷的例子有哪些?

作为诱发业务逻辑缺陷的一个例子,请考虑下面这个用Docker Compose文件定义的Docker环境中的例子。为了准备容器执行功能,开发者可能会使用一个标准的资源策略,在Docker Compose文件中定义,就像下面这个例子。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"

虽然这在表面上看起来很好,但这个容器的资源策略并没有正确限制资源的使用。攻击者可以利用业务逻辑的缺陷来实施拒绝服务(DoS)攻击。

为了尝试限制用户占用过多的资源,开发者可能会尝试更好地定义每个容器可以支持的内容。因此,新的代码可能包括一个放置限制。

部署:
资源。
limits:
cpus:"0.5"
reservations:
cpus:"0.5"
placement:
constraints:
- "node.labs.limit_cpu == 100M"
- "node.labs.limit_memory == 0.5"

乍一看,这似乎可以解决业务逻辑的缺陷。然而,新的放置约束并不影响Docker容器服务的资源使用限制。它只是用来选择一个节点来安排容器。在这种情况下,DoS攻击仍然是可能的。攻击者需要先破坏一个Docker容器,但之后就可以无限制地消耗资源。

正如你所看到的,思考商业逻辑的缺陷并通过编程来消除它们可能是一项棘手的工作。

消除业务逻辑缺陷

对于业务逻辑缺陷,关键是要知道它们的存在。在编写新的代码时,你需要保持警惕,不让它们出现在你的环境中。业务规则和最佳实践应该被明确定义,并在应用程序开发过程的所有阶段进行检查,包括设计、实施和测试。

例如,为了防止业务逻辑缺陷导致DoS攻击,比如上面的例子,一个最佳做法是限制你创建的每个Docker容器可以使用的资源量。具体来说,限制部分必须指定一个Docker容器可以使用的CPU数量和内存数量。一个例子是。

部署:
资源。
limits:
cpus:"0.5"
memory: 100M
reservations:
cpus:"0.5"
内存。50M

使用像上面的例子那样的代码作为一个策略,可以从环境中消除一个主要的业务逻辑缺陷,并防止DoS攻击。即使攻击者破坏了其中一个Docker容器,这也是可行的。在这种情况下,攻击者仍然无法利用他们的立足点来耗尽资源。

威胁建模可以通过定义不同攻击的发生方式,并确保使用业务逻辑规则来防止和限制它们,从而起到帮助作用。基于合规规则和已知滥用案例的测试也可以帮助捕捉漏网之鱼的业务逻辑缺陷。

业务逻辑缺陷是一些可以潜入应用程序的最微妙的漏洞,但其危险性并不亚于其他更引人注目的风险。了解它们是如何发生的,并使用最佳实践可以在应用开发过程中把它们挡在你的环境之外,确保它们永远不会到达生产环境,在那里它们可以被非常熟悉如何利用它们的攻击者所滥用。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和客户免受其他安全缺陷的蹂躏。你也可以在Secure Code Warrior 培训平台上尝试演示这个IaC挑战,以保持你的所有网络安全技能得到磨练和更新。


目录

下载PDF文件
显示资源
您想了解更多吗?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

了解更多

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子