SMS 欺骗实际上是如何工作的?

信息安全 欺骗 短信
2021-08-12 05:49:16

我一直在网上搜索有关如何自己欺骗 SMS 的信息,但我似乎找到了更多关于如何检测它,或者如何使用工具来做它而不是如何自己做它的信息。

我已经尝试过网站和应用程序,它们可以完美地欺骗短信,但网站似乎能够检测到这一点,所以我想深入研究这一点,并可能对其进行一些改进。这种欺骗在软件层面是如何运作的,欺骗性短信是如何构建的,公司如何能够检测到这一点?

3个回答

这取决于接收电话所在的位置。

在美国,您不太可能看到欺骗性的 SMS 工作,它被锁定得非常严密。但是,在其他国家/地区,运营商级别的验证较少。

任何消息的欺骗通常通过以下三种方式之一完成。

  1. 假装您是为其他人转发消息的代理。这通常是电子邮件欺骗的完成方式,因为通常没有验证,并且电子邮件通过多个单独控制的网络传递。
  2. 克隆合法用户的凭据并伪装成他们,以便服务提供商认为这是来自其用户的合法消息。
  3. 您可以运行一个假基站 - 手机将连接到您的基站,因为它具有最强的信号(如果它比合法的塔更近),那么您可以欺骗任何您喜欢的发件人地址。这种情况发生过很多。例如,在中华人民共和国,他们最近关押了 1600 人,因为他们运行假基站,涉及垃圾短信。这只会影响基站附近的最终用户,您不能使用它向全国各地的某人发送短信。

您只需要一种发送 SMS 消息的方法,该方法允许您发送可以指定发件人的消息。

正如另一个答案中所指出的,美国蜂窝运营商制定了严格的规则,使欺骗变得更加困难。通常,发送到美国号码的消息必须有一个数字发件人(即有效的电话号码或短代码)。

在其他国家,事情不那么严格。企业和其他组织将发件人设置为与消息相关的企业或产品的名称是很常见的。

对于这些其他国家/地区的合法企业,垃圾邮件问题的处理方式是期望企业确保收件人能够分辨出谁发送了邮件。如果消息不是广告(例如登录验证码),这不是一个问题。

我使用 Clockwork SMS ( https://www.clockworksms.com/ ) 以编程方式发送 SMS 消息。他们有可用的库,可用于从 C#、Java 和 PHP 等常见编程语言轻松发送消息。还有许多其他提供商提供相同类型的服务。我可以为这些邮件指定我想要的任何发件人。不会冒充任何人这样做,但这确实意味着我可以将发件人设置为对我的应用程序更有意义的东西。

这也意味着您可以使用此类服务​​发送看似来自“PayPal”或“Google”的消息,要求某人单击一个链接,将他们带到钓鱼网站。

您只需要一种发送 SMS 消息的方法,该方法允许您发送可以指定发件人的消息。

这当然是最简单的方法,但是拥有这种级别的访问权限是很困难的。我的公司提供应用程序和 API 以允许人们发送/接收 SMS。我们做了很多工作来确保您设置的“发件人”是属于您的电话号码。

我们直接连接到 SMS 聚合器,它们通常不会对我们平台提供的发件人电话号码进行太多验证。例如,我可以轻松地从 15551234567 这样的假号码、免费电话号码、某人的手机或固定电话等向自己发送消息。

也就是说,运营商和聚合商不断监控垃圾邮件和其他奇怪的使用模式。他们将阻止电话号码和/或不良流量的发起者。偶尔的一两条欺骗性消息可能会被忽视,但它符合任何允许您访问 SMS 世界以阻止您发送此类消息的实体的利益。

tl;dr:欺骗是可能的,但您很难找到愿意为您提供该访问权限的人,因为授予该访问权限可能会危及他们的整个业务。