来自 安全 2021-10-11 15:21 的文章

服务器防护_云盾是什么_无限

服务器防护_云盾是什么_无限

在我上周的帖子中,我分享了开发人员在构建Swift应用程序时所犯的常见安全错误——包括不安全的数据存储、对称密钥算法、不安全的通信等等。如果你还没读过,请花几分钟时间回顾一下这些信息。理解这些错误和我现在分享的错误是很重要的。另外,高防cdn的目标客户,还有大量的例子要复习,参考文献也要通读。代码篡改在不访问移动应用程序源代码的情况下,攻击者能够通过创建伪造的应用程序来利用代码修改进行攻击。这是OWASP 2016移动前10:M8——代码篡改所涵盖的十个最关键的移动应用程序弱点之一,所有移动代码都易受此影响。一旦一个移动应用程序被交付到应用程序商店并可供下载,攻击者就有时间和技术对其进行反向工程:二进制修补、本地资源修改、方法挂钩、方法切换和动态内存修改都是这样做的一些方法。尽管对于Swift来说"方法转换"并不像Objective-C应用程序那样容易(因为后者允许在运行时调用方法),但是像cypcript和Frida这样的工具正在改进Swift支持,因此这种情况可能会改变。如果你对iOS应用程序的逆向工程感兴趣,你可以在《OWASP移动安全测试指南》中了解更多。现在,让我们考虑一个真实的用例:移动银行。要创建伪造的手机银行应用程序,攻击者可以从官方应用程序商店下载官方应用程序,美国高防cdn多久生效,以便对其进行逆向工程并随意修改。添加过滤个人身份信息(PII)的功能使应用程序增加了一个有趣的功能(至少对攻击者而言),从而导致对银行的欺诈。要实施攻击,用户必须安装假冒应用程序。一般来说,假冒应用程序都是在第三方应用程序商店中托管的,但是,尽管苹果公司进行了筛选,但假冒应用程序也确实会进入官方商店。一旦仿冒的移动应用程序可以在应用程序商店下载,网络钓鱼活动肯定会抓住一些不幸的用户。本节的目标只是让人们意识到代码篡改是一种真正的威胁。由您来评估是否值得检测并尝试防止不必要的代码修改。如果您正在开发移动银行应用程序,如我们之前的用例中所述,您需要了解其中的可能性,并决定您的组织将如何应对这种威胁。为了解决代码篡改问题,"移动应用程序必须能够在运行时检测到代码是从它在编译时所知道的完整性中添加或更改的",并且它"必须能够在运行时对代码完整性违反做出适当的反应"保护不足的原料药虽然这不是Swift或移动应用程序特有的问题,但它是与后端服务器接口的移动应用程序的一个常见弱点。早在2013年,ddos防御30G多少钱,不安全的直接对象引用(IDOR)是OWASP Top 10(A4-2013)最常见的十大弱点之一。在2017年的版本中,它与之前的A7:2013(缺少功能级访问控制)合并,形成了新的类别A5:2017-损坏的访问控制。从本质上讲,移动应用程序是人机界面。当创建由后端服务器支持的移动应用程序时,开发人员不希望任何人直接与后端服务器交互。让我们考虑一个简单的例子:一个允许用户创建ToDo列表的ToDo移动应用程序。要使列表在多个设备上可用,用户需要注册一个用户帐户。在这个场景中,在成功登录到移动应用程序之后,应用程序发出一个HTTP请求来检索用户的列表图1:移动应用程序主界面基于我们对不安全的直接对象引用(IDOR)的假设,您可能会认为,由于HTTP请求是在后台发出的,因此没有人知道如何从后端检索列表或后端有哪些资源可用。在上一节中,我们讨论了代码篡改,黑客可以利用它来了解应用程序发出的HTTP请求以及它们的外观。然而,代码篡改可能会在这方面起到过度的作用。使用代理或Wireshark这样的工具通常足以检查HTTP流量。有了这些工具中的一个,在成功登录之后,您将能够在日志中看到请求。获取api/v1/列表?user=36211 HTTP/1.1主机:todoapp.com获取api/v1/列表?用户=36211HTTP/1.1主机:todoapp.com获取api/v1/列表?用户=36211HTTP/1.1主机:todoapp.com网站 HTTP/1.1 200 OK内容长度:97内容类型:application/jsonConnection:closed[{"id":1,"name":"Personal"},{"id":2,ddos防御软件,"name":"Professional"},]HTTP/1.1 200好内容长度:97内容类型:application/json连接:关闭[{"id":1,"name":"个人"},{"身份证":2,"name":"专业"},]HTTP/1.1 200行内容长度:97内容类型:application/json连接:关闭[{"id":1,"name":"个人"},{"身份证":2,"name":"专业"},]集中处理发出的用于检索用户列表的HTTP请求,我们找到user query string参数。此参数告诉后端返回其所有者为标识符为36211的用户的列表。稍微修改一下请求,让我们将参数的值从36211更改为36212(36211+1),让我们重新发送请求,看看响应是什么样子的。获取api/v1/列表?user=36212 HTTP/1.1主机:todoapp.com获取api/v1/列表?用户=36212HTTP/1.1主机:todoapp.com获取api/v1/列表?用户=36212HTTP/1.1主机:todoapp.com网站 HTTP/1.1 200 OK内容长度:144内容类型:application/jsonConnection:closed[{"id":22252,"name":"Music"},{"id":30435,"name":"Wishes"},{"id":41787,"name":"Books"}]HTTP/1.1 200确定内容长度:144内容类型:application/json闭合连接:闭合连接[{"身份证号":22252,"name":"音乐"},{"身份证":30435,"name":"愿望"},{"身份证号":41787,"name":"书籍"}]HTTP/1.1 200行内容长度:144内容类型:application/json连接:关闭[{"身份证号":22252,"name":"音乐"},{"身份证":30435,"name":"愿望"},{"身份证号":41787,"name":"书籍"}]虽然这听起来像是一个非常基本的错误,但它不仅在移动应用程序中很常见,而且在web应用程序中也很常见。为避免出现此错误,请记住"只有在可信服务器端代码或无服务器API中实施访问控制时,访问控制才有效,攻击者无法修改访问控制检查或元数据"(OWASP Top 10 2017)。阅读我们关于数据存储和通信安全的文章,以避免移动应用程序中不安全的通信和其他常见的安全弱点。无关功能虽然在OWASP 2016移动前10名中排名最后,但M10–无关功能是移动应用程序常见的安全弱点。由于它很容易被利用,加上它的严重影响,php如何实现防御CC,这个弱点是攻击者通常寻找的。当应用程序打包用于生产时,通常会留下无关的功能。调试标志、代码和开发环境(如staging和QA)配置是相当常见的模式。此信息向攻击者提供有关后端如何工作的详细信息,并允许访问通常不太安全的环境,从而增加攻击面。另一个关于额外功能的常见模式是使用交换机锁定专业或付费功能,而无需任何服务器端检查。根据我们在代码篡改部分共享的信息,您可以想象一些可用的伪造应用程序免费提供专业或付费功能。为了防止或避免无关的功能,您需要检查应用程序的配置以识别任何隐藏的开关或标志:代码复查是发现这类问题的一个很好的方法。然后确保在打包应用程序之前删除所有死代码。hbspt.cta.负荷(146169,‘f525c40a-c06f-4455-bdb9-8309e02940c3',{});工具书类外部OWASP十佳项目OWASP移动十大项目移动安全测试指南苹果公司从其围墙花园里撤走了盗版应用程序项目Wireshark–网络协议分析器。Burp-Suit社区版-用于测试Web应用程序安全性的图形工具。CyScript——允许开发人员通过一个交互式的控制台,使用语法突出显示和制表完成的交互控制台,使用Objul-C++和JavaScript java的混合语言来在iOS或Mac OS X上运行和修改运行的应用程序。Frida–面向开发人员、逆向工程师和安全团队的动态仪器工具包。MobSF–移动安全框架–自动化、一体式移动应用程序(Android/iOS/Windows)笔测试框架,能够执行静态分析、动态分析、恶意软件分析和web API测试。needle–开源的模块化框架,简化iOS应用程序的安全评估过程。appmon–用于监视和篡改本地macOS、iOS和Android应用程序的系统API调用的自动化框架。这是根据弗里达。二进制修补代码篡改脚本动态内存修改Extranal功能防止安全通信不安全直接对象引用本地资源修改方法挂接方法刷卡移动银行WASP移动安全测试指南反向工程iOS应用程序Wift生物最新帖子拉贾伊·努塞比赫数据驱动、注重结果、精力充沛的产品经理,在数字营销、数字产品管理、技术和安全SaaS公司拥有专业知识