我们最近在App Store中看到了很多诈骗应用,试图诱骗用户购买昂贵的订阅或产品,我们也看到了未经用户同意跟踪和传输用户位置的应用。今天,我想谈谈一个使用iOS设备为其他用户执行工作的应用程序,未经设备所有者同意。
这款名为“Parcels - Track Your Packages”的应用程序,在App Store中获得4.7星评级,由俄罗斯开发商Pavel Tisunov发行。它是免费的,可选订阅每年3.49美元或每月0.99美元。Google Play商店也提供相同的应用,但我没有调查该应用。
一旦点击启动,应用程序立即开始向其服务器发送请求,要求授权跟踪,即使我还没有注册任何包。然后,服务器向应用程序发送有关其他用户的包的信息,以便跟踪。此信息包括跟踪号和有关哪个快递员发送请求的详细信息,以及技术详细信息,例如快递公司的API或网站的URL,请求标题等。
然后,应用程序将根据从服务器收到的指令向快递公司的API或网站发送请求,将结果发送到应用程序的服务器,以便将其显示给实际注册该程序包以进行跟踪的用户,从而执行跟踪。
本质上,该应用程序不是在服务器端运行跟踪包的工作,而是利用其用户的带宽,能量和处理能力来访问快递网站,获取交付状态的更改并将其发送给其他用户。这种类型的行为可以归类为僵尸网络,因为安装了此应用程序的每个设备基本上都成为机器人,跟踪应用程序的其他用户的程序包,即使当前设备的用户尚未注册任何要跟踪的程序包。
开发人员可能选择使用此策略的原因有很多。我不认为运行服务器的成本是这里的主要服务器,因为现在的服务器非常实惠且应用程序需要服务器来命令僵尸网络(这一任务可能比跟踪包更加服务器密集型)。
我认为正在发生的是该应用程序的开发人员正试图避免API供应商可以应用的速率限制。这种速率限制通常会限制在一段时间内可以对快递服务进行的API调用的数量,这取决于用于进行呼叫的API密钥或进行呼叫的客户端的IP。由于此应用程序正在全球各地的设备之间分发其API调用,因此无法根据IP地址对其进行速率限制。
此外,该应用程序支持的许多快递员没有适当的API,所以它采用网站抓取,一种技术下载普通网站用户可以访问跟踪他们的包,然后读取结果并解释它们以便跟踪数据以后可以在应用程序中显示。
许多网站都不允许网站抓取,这可能会阻止来自他们认为正在不断抓取的IP地址的请求。同样,服务器IP地址不会经常更改,但鉴于应用程序正在使用其用户的设备执行抓取,网站无法基于IP地址进行阻止。
它甚至可以用作对网站执行DDoS攻击的手段,利用这种机制允许开发人员指示安装了应用程序的每个设备访问目标URL。它也可能被用来虚假地“点击”广告。
由于应用程序未在其收到的指令上使用HTTPS或任何类型的验证,因此该机制也可能被中间人攻击利用。再说一遍:该应用程序使用您的设备以纯文本形式传输有关不属于您的软件包的信息。
这种做法违反了Apple的App Review Guidelines第2.4.2节,其中规定应用程序“可能无法运行不相关的后台进程”。即使应用程序正在执行包跟踪,跟我使用该应用无关。这种做法也违反了隐私,因为任何能够在其设备上运行代理的用户都可以在未经他们同意的情况下访问该应用的其他用户的跟踪号码。我将应用程序在我的测试设备上运行了一个小时,发现它执行了52个跟踪请求。
这很害怕,希望苹果方面可以解决此问题。
领取专属 10元无门槛券
私享最新 技术干货