Atualmente, vivemos na era da tecnologia e da cibersegurança. É cada vez mais complexo para as organizações delimitarem o seu ambiente digital; onde operam e onde gerem os riscos associados.
A segurança digital é cada vez mais importante para quem trabalha com o desenvolvimento de software (SW). Desde o planeamento, implementação e distribuição de um produto, as práticas de segurança desempenham um papel crucial para garantir que o utilizador final possa ter acesso a uma solução confiável. É preciso pensar na segurança como um todo; mesmo durante o planeamento; e não apenas na segurança e confiabilidade do produto final.
Para deliniar todo o ciclo de desenvolvimento de SW, é comum os gestores de projeto utilizarem ferramentas de gestão, como é o caso do Trello, criado em 2014 por Fog Creek Software, e também versionadores de código como é o caso do GitHub, fundado em 2008 por Tom Preston-Werner.
O descuido acontece
O tema já é bastante debatido, inclusive já alguns especialistas e entusiastas em segurança públicaram as suas pesquisas na Internet sobre como o uso descuidado de ferramentas de gestão de projeto poderá representar um perigo para as organizações.
Um dos últimos exemplos é a notícia publicada neste blog, que relata que milhares de dados sensíveis do Trello estavam disponíveis e podiam ser acedidos pelos criminosos. Um grande número de organizações internacionais estavam a expor os seus dados em boards mal configuradas do Trello.
Inspirados, ou não, por esta matéria, fomos investigar se as organizações portuguesas também usam ferramentas como o Trello e GitHub durante a fase de desenvolvimento de SW, e nesse caso se expoẽm informações confidenciais publicamente e facilmente obtidas pelos criminosos.
Por descuido, ou não, foram identificadas 57 organizações portuguesas que tinham dados sensiveis expostos na Internet.
Esta investigação foi dividida em 3 categorias:
- Trello – Boards públicas (Boards do Trello mal configuradas);
- GitHub – Dados expostos (Dados sensíveis expostos em commits públicos no GitHub); e
- ./git – Websites (Dados sensíveis expostos no diretório ./git junto dos websites).
Todos os dados apresentados na tabela abaixo (Tabela 1) foram recolhidos através de três google-dorks. Isso quer dizer que todo o conteúdo estava indexado no motor de pesquisa Google e poderia ser acedido por agentes de ameaça para fins maliciosos. A investigação foi realizada apenas para os top domain “.pt“.
Tabela 1: Dados expostos de um total de 57 organizações com domínio topo “.pt“.
Algumas organizações detinham cartões públicos denominados “Keys” e “Acessos” no Trello (ver Figura 1 abaixo), onde anotavam dados de acesso a dashboards pubicamente acessiveis, CMSs (Content Managment System) organizacionais (como p.ex., o WordPress, Joomla e Drupal), eram partilhas também credenciais de acesso a base de dados públicas, emails corporativos e portais internos das organizações.
Figura 1: Cartão do Trello onde era exposta informação sensível, como palavras-passe de acesso ao CMS da organização, chave de acesso à BD, credenciais de acesso ao Cpanel onde o website estava alojado, Twitter, MailChimp, Typeform e palavra-passe de emails corporativos (como o admin@dominio-da-empresa).
Este tipo de informação é demasiado sensível aos olhos dos agentes de ameaças, uma vez que podem usá-la de forma a tirar partido da organização, mapear infraestruturas e até criar campanhas de spear-phishing, visto que alguns emails organizacionais e respetivas palavras-passe de acesso estavam expostas.
No Trello, de um total de 34 ocorrências, 9 estavam a expor dados de acesso a backoffices corporativos e 17 organizações deixaram disponíveis dados de acesso a emails corporativos e em alguns casos, emails pessoais.
Figura 2: Dados de acesso ao CMS de uma das organizações.
De entre as 34 ocorrencias, 6 boards estavam a expor dados de acesso a bases de dados corporativas.
Figura 3: Dados de acesso a base de dados corporativa.
5 das 57 organizações identificadas nesta investigação estavam a expor dados sensíveis em repositórios públicos do GitHub. De entre as 5 organizações, 4 mantinham tokens de acesso a APIs e palavras-passe de acesso a BDs. 3 organizações tinham exposto credenciais de email, 2 credenciais de aplicações corporativas e 1 das organizações tinha hardcoded numa das páginas do GitHub a palavra-passe de acesso a um backoffice corporativo.
A grande maioria dos dados leaked do GitHub estavam hardcoded junto do código-fonte das aplicações.
Durante a investigação foi também observado que 18 websites organizacionais tinham a diretoria “./git” pública — junto do website em produção.
Figura 4: Diretoria “./git” disponível publicamente junto do website.
Esta é uma falha comum quando um sistema é deployed para PRD. Esta diretoria poderá permitir aos criminosos reconstruir o website e obter informação sensível que poderá ser usada em atividades fraudulentas contra a organização.
Para resolver esta falha, é necessário criar procedimentos internos de Verificação e Validação (V&V) que permita detetar este tipo de falhas de carater humano.
Comunicação e Consciencialização
Todas as organizações foram contactadas via email, e foram também endereçados os links públicos obtidos via google-dorks. Junto do email foram também enviados alguns tópicos para ajudar as organizações a corrigir estes procedimentos algo “deficientes”, e foram distribuídos também alguns tópicos relativos à importância do awareness e treino para evitar problemas desta natureza.
É importante criar sessões de treino, apresentações internas e partilha de boas práticas e recursos de forma a evitar a exposição de informação sensível de forma tão “descuidada”.
Das 57 organizações, algumas demoraram algum tempo a corrigir o problema. 21 das organizações responderam e deixaram uma nota de agradecimento, as restantes não efetuaram qualquer tipo de comunicado.
Nenhuma das organizações demorou mais de 3 dias a corrigir a falha.
De forma a validar se todas a 57 empresas corrigiram a falha, voltamos a aceder a cada endereço individualmente, e foi então validado que todas as falhas foram resolvidas.