The Supply Chain Attack

Um problema de segurança extremamente difícil de contornar é o de uma porta do cavalo ou até uma vulnerabilidade deixada num produto de software ou hardware durante a sua produção. Impossível? Foi preso há dias um espião do KGB, Alexey Karetnikov, que trabalhou... na Microsoft.

O seu trabalho era fazer testes de software. Imaginemos que não tinha capacidade para mexer no código. Podia ainda fazer algo tão simples como não reportar uma vulnerabilidade que descobrisse, ou melhor, não reportar à empresa, mas reportar aos seus patrões originais.

Segurança do Cartão do Cidadão

No sítio do cartão do cidadão há uma quantidade de informação interessante. As duas páginas mais interessantes por onde começar parecem-me ser:

Manuais técnicos - como indica o nome, contém uma série de manuais técnicos

Prova de conceito - contém alguma informação sobre a prova de conceito do cartão (projecto Pegasus)

Há ainda alguma documentação no sítio da UMIC.

Um aspecto que me parece crucial é o da segurança física do cartão. Não encontrei requisitos de segurança física no sítio. No entanto, na prova de conceito foi usado o Infineon SLE66CX680PE, que segundo um documento no sítio do NIST americano está de acordo com o nível 3 da norma FIPS 140-2. Isso é bom, pois esse nível indica a presença de protecções passivas e activas (em caso de ataque, o chip apaga dados críticos).

Segundo um documento da Comissão Europeira, o chip que está a ser usado é o Infineon SLE66CX322P (não sei qual é a fiabilidade da informação). Não há nada sobre esse chip no sítio do NIST nem da Infineon e é estranho ser esse o chip usado pois já tem uns anos (de 2002?).

Apesar de não existirem requisitos no sítio do cartão, nas "Especificações - Leitor Base" de 14 de Junho de 2007, Versão 1.0, aparece algo sobre segurança no sentido que nos interessa. Não são realmente especificações mas uma afirmação:

Em função dos objectivos de utilização, das aplicações previstas e das soluções neste momento perspectivadas, o chip do Cartão de Cidadão tem as seguintes características:
(...)
Está preparado para resistir aos ataques conhecidos do tipo “hardware attack”, “timing attack”, “simple power analysis” e “differential power analysis” entre outros.

Esse chip ainda é o actual? Quando o chip mudar, a segurança contra esses ataques continuará a ser um requisito?

Há ainda a legislação sobre o cartão. Na principal, a Lei n.º 7/2007, de 5 de Fevereiro, há um requisito generico de segurança do cartão:

Artigo 8.o
Informação contida no circuito integrado
1—O cartão de cidadão incorpora um circuito integrado onde são inseridos, em condições que garantam elevados níveis de segurança, os seguintes elementos de identificação do titular: (...)

Por um lado isso seria de esperar numa peça legal, mas por outro o decreto-lei é bastante mais específico no que toca à segurança dos sistemas de informação que processam esses dados (vd. Artigo 42º - "Garantias de Segurança"). Também a Portaria n.º 202/2007, de 13 de Fevereiro é bastante específica no que toca aos "Elementos de segurança física que compõem o cartão de cidadão" (Anexo II - 1).

Para concluir estas notas, não resisto a reproduzir uma pergunta/resposta do FAQ do sítio do cartão:

O Cartão de Cidadão é seguro?

Sim.

O cartão adopta os mais elevados padrões de segurança física, dificultando ao máximo as possibilidades de cópia ou fraude de identidade.

[Comentários? Apontadores?]

Vulnerability disclosure

Uma discussão interessante sobre "vulnerability disclosure" num blog da Microsoft:
Coordinated Vulnerability Disclosure: Bringing Balance to the Force

Depois da Responsible Disclosure ("não digam a ninguém, até que a empresa se resolva a publicar um remendo") e da Full Disclosure ("digam a toda a gente para forçar a empresa a publicar um remendo") aparece a Coordinated Vulnerability Disclosure. Mas:

"Make no mistake about it, CVD is basically founded on the initial premise of Responsible Disclosure, but with a coordinated public disclosure strategy if attacks begin in the wild. That said, what’s critical in the reframing is the heightened role coordination and shared responsibility play in the nature and accepted practice of vulnerability disclosure. This is imperative to understand amidst a changing threat landscape, where we all accept that no longer can one individual, company or technology solve the online crime challenge."

A ideia surge depois da confusão entre a MS e um engenheiro da Google que descobriu uma vulnerabilidade no "Windows Help and Support Center":
MS Patch Tuesday: Googler zero-day fixed in 33 days
ZDnet ZeroDay

Algoritmo de cifra do Skype foi parcialmente revelado

Parte da segurança do Skype advém do facto dos algoritmos (de segurança) usados nunca terem sido divulgados publicamente. Esta estratégia de segurança por obscuridade é perigosa uma vez que os algoritmos podem ter vulnerabilidades e essas vulnerabilidades poderão ser exploradas de forma inconspícua logo que os algoritmos sejam descobertos por alguma entidade mal intencionada.

Nos últimos anos têm existido várias tentativas de determinar quais são exactamente os algoritmos de segurança usados pelo Skype. Fizeram-se algumas descobertas ao nível do tipo de algoritmo usado na autenticação e comunicação, mas recentemente conseguiu-se conceber um programa C que emula o algoritmo de cifra de comunicação do Skype (uma variante do algoritmo RC4).

Mais detalhes em:
http://www.h-online.com/security/news/item/Skype-s-encryption-procedure-partly-exposed-1034577.html

[com agradecimentos ao Tiago Martins]