Pedro Tavares

Pedro Tavares é atualmente um profissional no ramo da segurança da informação. Desempenha funções como IT Security Engineer, é membro fundador e pentester no CSIRT.UBI e fundador do blog seguranca-informatica.pt.

Crypto-Jacking via ARP Poisoning em Redes Wi-fi

Nestes últimos tempos, minerar criptomoedas com recursos de outros utilizadores tem-se tornado numa forma viável de ganhar dinheiro online, deixando de lado qualquer tipo de consideração ética. Crypto-jacking é o nome atribuído a investidas maliciosas desta natureza e que visam utilizar recursos de terceiros para mining de criptomoedas sem qualquer conhecimento e consentimento da vítima.

Este tipo de empreitada tem deixado os aspirantes a hacker totalmente loucos. E para se conseguir elaborar um esquema destes basta utilizar um pequeno trecho de código em Javascript e “adicioná-lo” a recursos disponíveis online para que depois possa ser executado do lado da vítima.

Continuar a ler

HTTPS – Que Informação é Protegida

Atualmente o tráfego web começa a adotar um protocolo padrão e generalizado — o HTTPS.

No passado era comum associar ligações seguras (HTTPSecure) a transações financeiras, compras online, páginas de autenticação, acima de tudo usado em operações desta natureza.

Na época os web-designers defendiam que não existia a necessidade de sobrecarregar uma ligação TCP com criptografia quando “a informação trocada” apenas consistia numa página baseada em HTML e sem qualquer tipo de informação sensível.

Continuar a ler

Como Surge o RGPD e Quem é o Data Protection Officer?

A 25 de maio de 2018 entrou em vigor o Regulamento Geral de Proteção dos Dados Pessoais (RGPD). São procedimentos que terão de ser observados pelas empresas no âmbito das atividades que envolvem o tratamento de dados pessoais.

Desde cedo que que existem diretivas que visam a proteção dos dados na internet. Por exemplo:

  • Em 1990, a Comissão Europeia apresenta a primeira diretiva relativa a proteção dos dados que viria a ser aprovada em 1995.
  • Em 1991, em Portugal, foi criada a Lei no. 10/91 de 29 de abril, “Lei da Proteção de Dados Pessoais face à Informática”. Esta lei deu também origem à Comissão Nacional de Proteção de Dados (CNPD).
  • Em 1995, é aprovada a diretiva 95/46/CE do Parlamento Europeu e do Conselho de 24 de outubro.
  • Em 1998 surge a transposição da diretiva 95/46/CE pelo Estado Português e consequente aprovação da Lei no 67/98 de 26 de outubro.

Continuar a ler

Vulnerabilidades Web em 2017

Foi registado um número recorde de vulnerabilidades em 2017 nas aplicações web, incluindo categorias bem conhecidas, como XSS, mas também novas categorias, como desserialização insegura. O número de vulnerabilidades na IoT também cresceu descontroladamente e com um impacto extremamente severo. Também o PHP e o WordPress continuam de mãos dadas no que toca a vulnerabilidades em CMS e server-side. Por fim, uma vulnerabilidade de dia zero (zero day vulnerability) afetou o Apache Struts e que contou com uma das maiores violações de segurança do ano.

Continuar a ler

RGPD – O Antes e o Depois

O Regulamento Geral de Protecção de Dados (RGPD) entra em vigor a 25 de Maio de 2018, com o intuito de tornar as leis da União Europeia (UE) mais homogéneas, em termos do tratamento e processamento de dados dos cidadãos. Mas as novas normas repercutem-se em todo o mundo, já que mesmo as empresas de fora da UE terão que respeitar o RGPD, desde que lidem com dados de cidadãos europeus.

O Antes

A internet começou a alcançar a maioria da população já nos anos 90. O seu crescimento a larga escala levou a uma partilha de informação massiva e inicialmente descontrolada, os utilizadores não tinham regras, nem sabiam qual seria a dimensão daquela rede e o impacto que isso poderia vir a ter mais tarde. Ao longo dos anos foi partilhada para a rede informação sensível, surgiram também os primeiros websites, sistemas online, p.ex., de e-commerce, e-banking, entre outros, em geral, a internet começava por se tornar o maior canal de partilha de informação sem fronteiras.

Continuar a ler

A Revolução da Blockchain – A Tecnologia do Futuro

Desde o início do ano de 2009 que uma moeda virtual tem vindo a marcar a diferença no horizonte dos pagamentos digitais. O principal ingrediente do bitcoin [1] é uma tecnologia inderrubável que até então nem tinha sido muito notada — a blockchain [1] [2] (white paper).

A blockchain é uma tecnologia sofisticada que permite salvaguardar registos de uma forma distribuída e não centralizada uma vez que não existe uma entidade de gestão central. Este sistema também conhecido como livro razão, tem o objetivo de guardar registos de transações e os registos de todas essas transações são atualizados em cada nó da rede e não apenas no nó central de gestão (porque efetivamente esse nó não existe). Sempre que é consumada uma transação na rede todos os nós da rede são informados. Ele funciona com base numa cadeia de blocos, nada mais do que um conjunto de informações que são ligadas a cadeias adjacentes. Estes blocos são públicos, no sentido em que todos os nós da rede podem aceder a essa informação. Porém, estes blocos quando são processados não podem ser alterados nem apagados. Além disso, novos registos só podem ser feitos mediante um processo de auditoria.

Continuar a ler

Segurança em Aplicações Android

O ficheiro de uma aplicação Android é chamado de Android Package (apk), e não é mais que um ficheiro Zone Information Protocol (ZIP) comprimido.

Começamos com algumas breves questões:

  • É possível descomprimir um apk? Sim.
  • Então, também é possível ler o código-fonte de um apk? Sim.
  • Os apks são reversíveis através de engenharia reversa? Sim.
  • Isso quer dizer que, é possível encontrar dados sensíveis como, por exemplo, palavras-passe e Application Programming Interface (API) keys, ao longo do código? Sim.
  • É possível construir um apk totalmente seguro — à prova de bala?

Este artigo tem o objetivo de passar alguns procedimentos de forma a que qualquer developer, ou fulano com conhecimentos básicos sobre Android, consiga auditar sua própria aplicação antes que esta seja publicada e maliciosamente explorada.

E respondendo à última questão: -”Nim”.

Continuar a ler

Blockchain and Merkle Tree

A bitcoin é o nome de batismo de uma criptomoeda que teve um enorme impacto quando foi libertada na Internet e também todo o conceito e tecnologia em seu redor foi alvo de pura análise e investigação nos últimos anos. A aceitação desta criptomoeda foi de tal maneira exponencial que se refletiu de imediato na sua crescente valorização no mercado [1].

Uma das tecnologias base da bitcoin é a blockchain, que representa uma solução efetiva para resolver o problema das transações duplicadas (double-spent) numa rede de pares (peer-to-peer ou p2p). No jargão do bitcoin, a blockchain não é mais que um ledger (um ‘livro-razão’) que guarda o registo de todas as transações ocorridas na rede. Esta tecnologia apareceu de facto na altura certa. Ela permite a implementação de sistemas descentralizados em redes p2p sem a necessidade de uma trusted third party como forma de validar transações ou ações num dado ecossistema. Ao invés disso, cada par na rede possui uma cópia do livro-razão onde consegue efetuar todas as validações necessárias sem a necessidade eminente desse terceiro nó de comunicação onde supostamente estaria localizado unicamente o “livro-razão”.

Continuar a ler

Pseudorandom Number Generators (PRNGs)

Pseudo-random Number Generators, ou simplesmente PRNGs, são algoritmos para geração de números com propriedades semelhantes à dos números aleatórios (random numbers). Os PRNGs produzem sequências de números aparentemente independentes, normalmente seguindo uma distribuição uniforme, com base numa expressão matemática. São normalmente definidos pelos seguintes aspetos: o seu output é determinístico, periódico e depende de um valor de inicialização, conhecido como seed. Este tipo de algoritmos (os PRNGs) são normalmente mais rápidos que a geração de números realmente aleatórios no /dev/random ou /dev/urandom (por exemplo, disponíveis numa distribuição Linux), uma vez que o SO usa o input de dados de interfaces de hardware, e.g., o rato, tráfego de rede da NIC (Network Interface Controller), etc.

Um outro exemplo de um true random number generator é o random.org, onde são usados dados de ruído atmosférico como input de aleatoriedade.

Continuar a ler