2. Características
Pontos positivos
A principal vantagem da tecnologia é, sem dúvida, que os tags não precisam de contato visual com os leitores. Aliado a ela, temos o fato de que é possível ler mais de uma etiqueta ao mesmo tempo. Dessa maneira, a rapidez com a qual são lidos os produtos cadastrados em estoque cresce surpreendentemente: desde que dentro da área de ação do leitor, muitos produtos podem ser lidos ao mesmo e em qualquer posição, estejam eles em movimento ou não, criando um equipamento virtualmente perfeito para certas áreas, como, por exemplo, as de transporte e armazenamento
Além destas vantagens, há ainda a altíssima capacidade de armazenamento, em relação a dispositivos para fins similares. A maioria dos tags utilizados atualmente já comporta 2KB de armazenamento - o que já é suficiente para comportar dados básicos do produto - e há pesquisas para um novo tipo de armazenamento que suportaria até 96 bits para identificação de um determinado item (divididos entre identificação do fabricante e do produto em si)
Pontos negativos
Como características negativas à tecnologia de RFID podemos citar os custos elevados por etiqueta produzida (atualmente, as etiquetas mais baratas são encontradas por, no mínimo, $0,15 [JAN/08]), a falta de uma entidade internacional para padronizá-la, a suscetibilidade à interferência em determinados ambientes (pesquisas indicam que alguns metais interferem negativamente no desempenho das etiquetas) .
Além desses, há ainda dois tópicos que merecem debate especial: segurança e privacidade.
Segurança/Privacidade

Como qualquer outro tipo de tecnologia que envolve troca de dados, a implantação de um sistema RFID deve passar pelas mesmas análises e testes de segurança que visam a manutenção dos dados envolvidos. Por isso, tópicos como a autenticidade das entidades envolvidas, o sigilo das mensagens e a proteção contra alteração dos dados devem ser fortemente levados em consideração, independentemente do tipo de modelo de negócios envolvido. Como o uso de RFID geralmente diz respeito à localização ou à identificação de usuários ou de objetos, os maiores riscos a ser evitados dizem respeito à segurança e à privacidade da informação envolvida. Dentro desse contexto, podemos enumerar alguns tipos de falhas conhecidas:


  1. Sniffing

    O próposito geral das etiquetas RFID é o de que elas devem ser lidas por qualquer dispositivo compatível com elas e da maneira mais eficiente possível. Porém, a leitura feita independe da vontade do portador e isso pode, em determinadas ocasiões, ser perigoso: qualquer dispositivo que esteja a uma determinada distância de um objeto ou usuário identificado por RFID pode recolher informação acerca daquele objeto ou usuário.

  2. Tracking

    Parecido com o sniffing, mas tem de ser feito de maneira contínua. Por exemplo, uma seqüência de leitores, disposta em uma determinada maneira poderia revelar o trajeto que alguém portando uma etiqueta RFID tomou, claramente violando direitos de privacidade.

  3. Spoofing

    Um spoofing é caracterizado quando alguém simula uma identidade diferente daquela que ele tem. Por exemplo, pesquisadores da Universidade Johns Hopkins fizeram engenharia reversa em uma etiqueta de um transponder DST (Digital Signature Transponder) e simularam o envio de informações para um outro similar. Resultado: compraram gasolina em um posto e deram a partida num carro controlado por RFID.

  4. Replay Attacks

    Tipo de falha de segurança que caracteriza-se na interceptação e manipulação dos sinais trocados entre leitor/receptor. Poderia ser evitada caso houvesse métodos de autenticação entre os tags e os sistemas finais.

  5. Denial of services

    As falhas por "negação de serviço" podem ser geradas de diferentes maneiras. Um exemplo simples seria criar "gaiolas de Faraday" ao redor das etiquetas em questão, impedindo-as de entrar em contato com qualquer leitor disponível.

  6. Malware's em geral

    Da mesma forma que qualquer outro dispositivo eletrônico, os componentes de um sistema RFID são passíveis de infecção por vírus, worms e outros tipos de pragas virtuais. Até recentemente, não acreditava-se que um vírus para RFID pudesse existir, dada a quantidade diminuta de memória existente em uma etiqueta. No entanto, pesquisadores da Universidade de Vrije conseguiram escrever, com algumas linhas de código, o primeiro vírus para RFID.
    Existem três técnicas básicas de se escrever um malware. São elas:

    • Buffer overflow
    • Os programas são dividos, quando copiados para a memória, em segmentos específicos para dados, variáveis e controle (código) do executável. A técnica de buffer overflow consiste em, através da entrada de dados pelo usuário, estourar a área referente a dados, invadindo a área de controle. Na verdade, quando ocorre um estouro de buffer, o comportamento do programa varia entre plataformas - em outras palavras, não se sabe, a priori, qual a área de memória que será usada ao estourar-se a área dados.

    • Code insertion
    • Tags RFID com dados escritos em linguagem de script podem permitir ataques em sistemas finais se as aplicações do RFID usam protocolos web para conectarem-se ao banco de dados. Caso isso ocorra, o script que é interpretado pode ter conteúdo malicioso e se aproveitar de brechas de segurança do servidor

    • SQL injection
    • Técnica parecida com a inserção de código, mas bem específica para a SQL. Através de uma simples consulta, o banco de dados pode ficar totalmente exposto, caso não haja disponíveis métodos de tratamento de entrada de dados

O primeiro vírus para RFID

Pesquisadores de Vrije escreveram, em 2006, o dito primeiro vírus para sistemas RFID. Ele se baseia em SQL injection e se baseia no fato de que não há tratamento da entrada de dados do usuário para uma determinada variável do sistema. Por exemplo, digamos que, num mercado, a etiqueta guarde, dentre outras coisas, o conteúdo de uma determinada caixa numa variável "caixa". No camada de banco de dados, para se obter o conteúdo da variável, seria utilizada a seguinte consulta SQL:

'SELECT * FROM produto WHERE CAIXA=' caixa';'

Ou seja, o conteúdo da variavel caixa é passado como parametro da cláusula SQL que é executada. No caso normal, onde a variável caixa contivesse o dado "laranja", a consulta retornaria todos os atributos do item laranja. No entanto, caso a variável caixa recebesse: caixa="laranja;DROP produto", o resultado seria bem diferente do esperado. A consulta, quando executada, deletaria todo o conteúdo da tabela "produto", danificando o banco de dados em questão. Na verdade, qualquer código malicioso que fosse colocado após o ";" da variável caixa seria executado, caso não houvesse algum algoritmo de validação de conteúdo de variáveis no sistema. Um outro exemplo é:

caixa="laranja',NewContents=(select SUBSTR(SQL_TEXT,43,127)FROM v$sql WHERE INSTR(SQL_TEXT,'<!--#execcmd=``netcat -lp1234|sh''-->')>0)--"

, direcionado para um banco de dados Oracle. Esse pedaço de código se vale do fato que os SGBD's têm variáveis internas que podem ser acessadas através da consulta executada (nesse caso, "v%sql", que retorna uma lista das consultas em execução). Além disso, ele contém um trecho para a auto-replicação ("SUBSTR(SQL_TEXT,43,127)") e, o principal, executa um comando no servidor que abre a porta 1234, abrindo caminho para uma invasão externa (<!--#execcmd=``netcat -lp1234|sh''-->).

Conclusão:

Ao implantar um sistema RFID, deve-se ter em mente as mesmas precauções que se teria ao implantar uma rede de computadores. Além disso, algumas posturas poderiam ser adotadas para minimizar riscos, tais como dados críticos poderiam ser disponibilizados como somente leitura, usuários deveriam ter acesso restrito, cada dado inserido deveria ser meticulosamente filtrado, etc.

Caso contrário, uma das maiores vantagens do uso de RFID (o fato de não ser necessária uma linha de visão do leitor com a etiqueta) pode ser mapeada como enorme desvantagem: os dados enviados podem estar disponíveis para qualquer um que não seja, necessariamente, o destinatário, a qualquer momento. Com isso, a confiabilidade e a qualidade de serviço praticamente inexistem e implantação do modelo falha.

”Não há razão para se alarmar sobre essa questão [de segurança]. Muitas das implementações atuais são, de qualquer forma, pilotos. Não se trata de afirmar que a questão da segurança deva ser ignorada. Empresas que estejam na fase de adoção do RFID precisam trazer pessoal de segurança e adotar bons padrões de confiabilidade ao projeto”, afirma Jeff Woods, vice-presidente da companhia de pesquisas Gartner