WhatsApp - WhatsApp 服务器 stops/detects 如何向未经授权的应用程序发出请求?
WhatsApp - How WhatsApp server stops/detects requests from unauthorized apps?
每个生成动态内容的应用程序都必须有一个服务器,其地址嵌入在应用程序内部以实现与服务器的通信。
现在在 WhatsApp
的情况下,他们肯定也在 WhatsApp
应用程序中嵌入了服务器地址。例如有人对 WhatsApp
apk
进行逆向工程并找到了服务器的地址,他还找到了应用程序发送到服务器的参数和所有内容(即会话、令牌、身份验证密钥等)成功通信,那么这是否意味着他可以使用这些相同的参数结构和不同第三方应用程序中的服务器地址来 play/communicate 与 WhatsApp
服务器?因为服务器只是一种处理数字信号的电子设备,仅此而已。服务器不知道这些参数来自授权 WhatsApp
apk
还是来自第三方 apk
.
如果yes
,那么你们不认为该问题应该有解决方案吗?
如果 no
,那么他们使用什么技术和算法来阻止来自 unauthorized/fake 个应用程序的请求。
我相信 WhatsApp
的任何员工都不会在这里回答分享算法,但我知道 SOF 到处都是极客,如果有人知道 WhatsApp
如何解决此类问题,请分享,否则我仍然很高兴知道你们对最佳安全实践的建议和想法。
银行、贝宝等以及包括 WhatsApp 在内的消息应用程序如何在这种情况下工作,以及它们如何解决我上面描述的问题?
重要提示:
我不会对 WhatsApp
进行逆向工程,我只是创建一个服务器并解决这个问题以保护我的服务器,并且只接受来自我的应用程序的请求但停止来自 unauthorized/fake 应用程序。
预先感谢并尊重所有将做出贡献的人。
没有办法防止恶意逆向工程,导致伪装成真实应用的虚假应用。当你在你的服务器上工作时,你需要进行防御性编程,也就是说,你的服务器不应该假设请求是通过应用程序发送的。因此,如果您保护您的服务器免受各种恶意和蓄意滥用,那么您的服务器就是安全的。
然而,说起来容易做起来难,因为您的项目是由有限数量的人开发的,而且 - 如果成功的话 - 观众中包含一群聪明的坏人。
因此,您将需要检测一部分功能,您需要绝对防止这些功能被滥用,并优先测试和改进这些功能,方法是用虚构的黑客的思维来思考,他们想要获得不劳而获的利润或对你的项目造成伤害。精神分裂症,我知道,但你需要在服务器上这样做。您还需要提高不太重要的功能的安全性,但优先级较低并记录您收到的请求,因此如果是 SHTF,那么您至少有机会推断出是什么原因以及如何造成的。
如果 phone 应用程序也在您的手中,那么您可以为每个版本实施一些额外的身份验证,例如为每个下载您的应用程序的用户生成一个版本令牌。由于版本令牌生成器算法不会掌握在黑客手中,他们将不得不在每个用户的基础上解决这个问题,如果手动完成并且他们以某种方式解决这个问题,那么为多个用户解决这个问题是非常费力的为了使其自动化,他们的解决方案仅适用于一个版本。
因此,在这方面没有 100% 的准确性,但是您可以让花钱入侵您的应用程序的人的生活变得非常艰难和悲惨。
每个生成动态内容的应用程序都必须有一个服务器,其地址嵌入在应用程序内部以实现与服务器的通信。
现在在 WhatsApp
的情况下,他们肯定也在 WhatsApp
应用程序中嵌入了服务器地址。例如有人对 WhatsApp
apk
进行逆向工程并找到了服务器的地址,他还找到了应用程序发送到服务器的参数和所有内容(即会话、令牌、身份验证密钥等)成功通信,那么这是否意味着他可以使用这些相同的参数结构和不同第三方应用程序中的服务器地址来 play/communicate 与 WhatsApp
服务器?因为服务器只是一种处理数字信号的电子设备,仅此而已。服务器不知道这些参数来自授权 WhatsApp
apk
还是来自第三方 apk
.
如果yes
,那么你们不认为该问题应该有解决方案吗?
如果 no
,那么他们使用什么技术和算法来阻止来自 unauthorized/fake 个应用程序的请求。
我相信 WhatsApp
的任何员工都不会在这里回答分享算法,但我知道 SOF 到处都是极客,如果有人知道 WhatsApp
如何解决此类问题,请分享,否则我仍然很高兴知道你们对最佳安全实践的建议和想法。
银行、贝宝等以及包括 WhatsApp 在内的消息应用程序如何在这种情况下工作,以及它们如何解决我上面描述的问题?
重要提示:
我不会对 WhatsApp
进行逆向工程,我只是创建一个服务器并解决这个问题以保护我的服务器,并且只接受来自我的应用程序的请求但停止来自 unauthorized/fake 应用程序。
预先感谢并尊重所有将做出贡献的人。
没有办法防止恶意逆向工程,导致伪装成真实应用的虚假应用。当你在你的服务器上工作时,你需要进行防御性编程,也就是说,你的服务器不应该假设请求是通过应用程序发送的。因此,如果您保护您的服务器免受各种恶意和蓄意滥用,那么您的服务器就是安全的。
然而,说起来容易做起来难,因为您的项目是由有限数量的人开发的,而且 - 如果成功的话 - 观众中包含一群聪明的坏人。
因此,您将需要检测一部分功能,您需要绝对防止这些功能被滥用,并优先测试和改进这些功能,方法是用虚构的黑客的思维来思考,他们想要获得不劳而获的利润或对你的项目造成伤害。精神分裂症,我知道,但你需要在服务器上这样做。您还需要提高不太重要的功能的安全性,但优先级较低并记录您收到的请求,因此如果是 SHTF,那么您至少有机会推断出是什么原因以及如何造成的。
如果 phone 应用程序也在您的手中,那么您可以为每个版本实施一些额外的身份验证,例如为每个下载您的应用程序的用户生成一个版本令牌。由于版本令牌生成器算法不会掌握在黑客手中,他们将不得不在每个用户的基础上解决这个问题,如果手动完成并且他们以某种方式解决这个问题,那么为多个用户解决这个问题是非常费力的为了使其自动化,他们的解决方案仅适用于一个版本。
因此,在这方面没有 100% 的准确性,但是您可以让花钱入侵您的应用程序的人的生活变得非常艰难和悲惨。