Pesquisadores da Applidium
publicaram descobertas interessantes (em inglês) sobre o
protocolo utilizado pelo Siri. Para cada solicitação do usuário ao
Siri, o iPhone 4S envia o áudio comprimido da solicitação para
servidores da Apple para que sejam convertidos em texto. Em
seguida, a solicitação é mapeada em comandos que o iPhone entende,
e somente então é enviada novamente ao dispositivo.
O protocolo utiliza HTTPS, e para
interceptar ou cloná-lo, é necessário um certificado SSL válido
para guzzoni.apple.com ou uma maneira de convencer o
dispositivo de que seu certificado é válido. Além disso, seria
necessário sequestrar o DNS para que o telefone pense que você
controla o endereço IP guzzoni.apple.com. A postagem da
Applidium cobre bem os detalhes, portanto vamos ver o que podemos
fazer com isso.
Vamos começar com as coisas
positivas e criativas que podemos fazer. Teoricamente, transportar
o Siri para qualquer dispositivo deveria ser fácil se você tiver um
ID válido do iPhone 4S. Qualquer dispositivo que possa gravar e
rodar um aplicativo conectado à internet deveria funcionar -
inclusive laptops, tablets, smartphones, ou até mesmo geladeiras e
máquinas de lavar. Você pode até fazer seu próprio servidor Siri
que se comunique com outros dispositivos com Siri. Isso pode ser
utilizado em casa para comandos como "acenda a luz", ou "feche a
porta da garagem". No escritório, também pode ser útil: imagine
integrar um sistema desses com ferramentas do dia-a-dia para fazer
o seu workflow gerenciável por voz. Tudo o que pode ser colocado em
código pode ser perguntado para o Siri.
Infelizmente, existem algumas
possibilidades não tão amigáveis. Para esses cenários, vamos partir
do princípio que o crimino so carregou com sucesso no dispositivo
um certificado auto-assinado e, de alguma forma, controla o DNS
local, já que ambos são necessários para a interceptação de
comunicação do Siri.
O ataque mais óbvio é capturar todas
as solicitações e respostas do Siri. Por si só isso já é útil, mas
as perguntas que você faz ao Siri podem revelar algo sobre seu
trabalho. Logo, facilmente poderemos mudar respostas como a cotação
da bolsa, ou substituir uma solicitação para ligar para um colega
de sua lista de contatos por uma solicitação para uma ligação para
um número diferente, que então encaminha a ligação para seu
contato, possibilitando que a conversa seja gravada. Para isso, o
criminoso teria que conhecer o conteúdo da lista de contatos da
vítima, o que é bem factível para um criminoso com força de
vontade.
A Apple pode consertar este problema
de várias maneiras. A mais abrangente seria adotar um sistema de
autenticação "challenge-response", exigindo que a chave SSL do
servidor corresponda a uma chave de ID, ou então que seja assinado
por uma chave com um ID fixo. De qualquer maneira, se é que
realmente existe um problema, somente a Apple pode resolvê-lo.