Developer plamoni has managed to devise a Siri hack controlling his WiFi thermostat controller using Siri Assistant without having to jailbreak his iPhone 4S. Pete, found a way to intercept the data by forging security certificates, allowing examination of the data format and setting-up a proxy server for Apple’s Siri assistant that can recognize the custom handlers for different actions. He then wrote a plug-in to control his thermostat with Siri.
The video shows plamoni controlling his thermostat by activating voice-controlled personal assistant with the home button and giving commands. It responds to commands such as, “What’s the status of the thermostat?”, or “Set the thermostat to 68 degrees”, or even “What’s the inside temperature?”
The instructions at the GitHub site are quite hard to follow unless you have a solid knowledge of certificates and OpenSSL, how to set-up DNS server, or installation of Ruby gems.
For the sake of discussion, I am still adding the set-up instructions as provided by Pete.
- Create a root CA using open SSL and have it issue a signed certificate for guzzoni.apple.com. Save the guzzoni private key (no passphrase) and certificate as “server.passless.key” and “server.passless.crt” in the SiriProxy directory.
- Load the root CA’s public certificate on your phone (you can just email it to yourself and click it to do that).
- Set up a DNS server on your network to forward requests for guzzoni.apple.com to the computer running the proxy (make sure that computer is not using your DNS server!). I recommend dnsmasq for this purpose. It’s easy to get running and can easily handle this sort of behavior.
- Install the requisite Ruby gems:
Execute start.rb (as root — since it must listen on TCP/443) Activate Siri on your phone (connected to the network and using the DNS server with the fake entry), and say, “Test Siri proxy.” It should respond, “Siri Proxy is up and running!”
Hacker has warned iPhone users that if lots of traffic is sent to the Guzzoni servers Apple might ban the UIUD, making your iPhone unable to use Siri.