segurança

Termos comuns de segurança

Quando falamos sobre a área de Segurança dentro da Tecnologia da Informação, é comum que existam termos que até já ouvimos falar, mas não sabemos ao certo o que significam. Por isso, neste artigo, vamos abordar alguns termos comuns de segurança.

HoneyPot

banner-segurança-honeypot

Honeypot é uma ferramenta ou um sistema criado que contém vulnerabilidades e pode conter até dados falsos. É como se fosse uma “isca” para fisgar atacantes, onde você configura o computador de modo a deixá-lo vulnerável a invasões.

Quando um invasor tenta acessar seu sistema e consegue realizar a invasão com sucesso, ele realmente acredita que conseguiu invadir uma aplicação, mas na verdade ele está em um honeypot: um ambiente simulado justamente para enganar o invasor.

Com a utilização do honeypot, todos os passos do invasor são vigiados, permitindo o registro e controle de todas as atividades que ele venha a fazer.

Com isso, é possível saber quais ferramentas foram utilizadas para a invasão e quais brechas o invasor está utilizando. Todos estes passos são enviados para a pessoa que está monitorando o honeypot.

Tipos de honeypots

Pesquisa – São ferramentas programadas para observar as ações dos atacantes, permitindo análises detalhadas de suas motivações, ferramentas utilizadas e vulnerabilidades que foram exploradas.

É bastante utilizada com o intuito de estudar o padrão de cada invasor, pois com essas informações pode-se fazer um estudo mais aprofundado para que a equipe possa verificar quais partes os atacantes estão mais tentando acessar e, com isso, tomar os devidos cuidados.

Produção – São utilizadas em redes de produção como complemento ou no lugar de sistemas para detectar, analisar ou ainda desviar ataques contra ativos de rede. Pode ser utilizado por empresas e instituições que visam proteger suas redes. Tem o objetivo de analisar e detectar atacantes na rede.

Se você se interessou, temos um artigo abordando mais a fundo sobre o que é o HoneyPot, seus tipos e níveis de serviços. Além de explorar o que é um HoneyNet e algumas ferramentas.

Phishing

banner-segurança-phishing

O Phishing é uma maneira que os hackers utilizam para nos induzir a revelar informações importantes, como dados pessoais, senhas, cartão de crédito, número de contas bancárias e até fazer pagamentos/transferências bancárias.

Para isso, eles enviam e-mails se passando por uma pessoa ou empresa confiável com o intuito de atrair vítimas, mas na verdade, tudo não passa de um golpe virtual. Neste e-mail geralmente contém links que te direcionam a sites também falsos.

À primeira vista o e-mail recebido pode parecer confiável. Eles copiam o logo da marca para desviar sua atenção, escrevem de forma muito educada, onde acabam pedindo por confirmação de dados dizendo que houve algum problema.

Com isso, no desespero, a pessoa clica e é direcionada a um site onde é enganada, resultando em roubos de identidade.

Para conhecer mais a fundo o que é phishing e como reconhecer esse golpe com alguns exemplos, temos um artigo específico dele aqui no blog.

Zero-day

banner-segurança-zero-day

Quando um ponto fraco da segurança de um sistema ou aplicação é descoberto, um hacker pode fazer um ataque utilizando exploits – um código malicioso que se aproveita dessa falha para que possam acessar um sistema e fornecer as permissões necessárias para depois infectá-lo.

O nome zero-day faz referência ao tempo que o fabricante/desenvolvedor estão cientes da brecha de segurança e devem resolvê-la em menos de 1 dia, ou seja, a partir do momento que a falha é detectada, tem-se efetivamente “zero dias” para produzir uma atualização que corrija o problema, impedindo a exploração por criminosos antes disso.

As vulnerabilidades zero-day podem ser exploradas por meio de vírus, worms, trojans e vários tipos de malwares, o que propaga e infecta outros usuários de maneira muito rápida e, pior, podendo circular pela internet por meses.

Temos um artigo específico falando em detalhes, o que é zero-day, como funciona e alguns casos famosos desse tipo de ataque.

Segurança da Informação - Fundamentos
Curso de Segurança da Informação - Fundamentos
CONHEÇA O CURSO

DDoS

banner-segurança-DDoS

O ataque DDoS tem como objetivo tirar um serviço (como sites e servidores web em geral) do ar através de uma sobrecarga de requisições de múltiplos computadores ao mesmo tempo.

Ao contrário do que muitas pessoas podem pensar, não se trata de um ataque de invasão: os ataques DDoS são apenas para fins de sobrecarga, ou seja, deixar sites sobrecarregados e até mesmo fora do ar.

Como resultado, esse ataque pode causar a interrupção operacional de um serviço por horas ou até dias, o que acaba resultando em prejuízo financeiro e até mesmo dano à reputação de uma organização.

É um ataque direto contra a disponibilidade – um dos três pilares da segurança da informação.

O ataque DDoS pode ocorrer de três formas: ataque por inundação, ataque por amplificação e ataque por exploração. Conheça mais sobre o que é o DDoS e seus tipos de ataques, além de exemplos de empresas famosas que já sofreram com esse tipo de ataque.

Man-in-the-middle

banner-segurança-man-in-the-middle

O ataque man-in-the-middle (em português homem-no-meio) é um ataque relativamente fácil de ser realizado, porém super poderoso. Nele envolve a interceptação e escuta de comunicação entre um usuário e uma outra parte envolvida, como um usuário e um sites de compras, por exemplo.

Contudo, nem o cliente quanto o servidor sabem que a conexão está sendo controlada por uma terceira pessoa. O atacante se posiciona no “meio” entre essas duas partes, acessando a informação trocada entre os dois, se passando por uma das partes envolvidas.

Um ataque man-in-the-middle bem sucedido, permite ao hacker ver tudo o que é enviado como informações de navegação, detalhes de sua conta e login, senhas, dados financeiros, etc.

Além de poder visualizar todas essas informações, ele ainda pode fazer um ataque a confidencialidade e integridade dos dados trafegados, sem que as vítimas percebam. Nesse meio tempo, quando as partes envolvidas derem conta, já será tarde demais.

Alguns tipos de ataques man-in-the-middle são: sequestro de sessão, DNS spoofing, ARP Spoofing e Stripping SSL.

Se você quer se aprofundar mais sobre o que é o man-in-the-middle e como se prevenir, temos um artigo dele aqui no blog.

HTTPS

banner-segurança-https

O HTTPS é uma extensão do protocolo HTTP com a adição de uma camada de segurança na comunicação entre cliente/servidor, fazendo o uso do protocolo SSL (Secure Socket Layer).

Essa camada adicional permite que os dados sejam transmitidos por meio de uma conexão criptografada, além de garantir a verificação da autenticidade do servidor e do cliente por meio de certificados digitais.

Essas técnicas de criptografia servem para proteger os dados trafegados contra ataques de terceiros, minimizando bastante a possibilidade de que outras pessoas consigam ter acesso a informações que são trafegadas.

Se tiver interesse em saber como o HTTPS funciona por “debaixo dos panos” temos um artigo só dele aqui no blog.

Ransomware

Ransomware é um malware que impede os usuários de acessarem seus arquivos, podendo liberá-los somente com um pagamento de “resgate”. Esse pagamento pode ser enviado por cartão de crédito ou ainda criptomoedas, como por exemplo o bitcoins.

O termo “ransomware” vem da junção de ransom (resgate) com malware. Os hackers se “instalam” no computador sem que o usuário tenha consentimento e vão trabalhando escondido, com o único objetivo de arrancar dinheiro de suas vítimas.

Temos um artigo abordando mais a fundo sobre o que é o Ransomware, como ele invade um computador, os meios que ele utiliza, seus tipos e algumas dicas para se prevenir desse tipo de ataque.

Esses são apenas alguns termos comuns na área de segurança. Tem algum que você acha que deva entrar nessa lista? Conta pra gente =)

Termos comuns de segurança: Ransomware

Ransomware é um malware que impede os usuários de acessarem seus arquivos, podendo liberá-los somente com um pagamento de “resgate”. Esse pagamento pode ser enviado por cartão de crédito ou ainda criptomoedas, como por exemplo o bitcoins.

O termo “ransomware” vem da junção de ransom (resgate) com malware. Os hackers se “instalam” no computador sem que o usuário tenha consentimento e vão trabalhando escondido, com o único objetivo de arrancar dinheiro de suas vítimas.

Como o ransomware invade seu computador?

O ransomware dá aos hackers a possibilidade de bloquear seu computador ou criptografar seus arquivos de um local remoto.

Um dos meios do ransomware infectar seu computador é via phishing. Um e-mail que é enviado para entregar este malware, contendo um link falso ou um arquivo infectado, onde ao clicar ou fazer o download, um hacker toma conta da sua máquina. É importante verificar esses links e anexos antes de clicar, pois esses e-mails parecem serem confiáveis ou de algum conhecido.

Outro método utilizado é a propaganda maliciosa, que é a utilização de publicidade para distribuir malwares sem que os usuários precisam clicar em anúncios. Esse tipo é mais utilizado para ter detalhes sobre o local da vítima, para enviarem malwares mais direcionado/adequado.

Um ransomware também pode ser instalado quando você visita um site que contenha algo malicioso, por exemplo quando você entra em um site para ver algum filme que acabou de ser lançado no cinema, e fica mostrando aquele monte de pop-up.

Tipos de ransomware

Existem três tipos de ransomware, são eles:

  • Scareware: Este é um dos mais simples, onde inclui softwares de segurança e fraudes. Geralmente você recebe uma mensagem do software avisando que um malware foi descoberto e para se livrar dele você deve efetuar um pagamento.

  • Lock-screen: Nesse tipo de ataque, quando você iniciar seu computador, uma tela de bloqueio aparece com um aviso, como por exemplo, que uma atividade ilegal foi detectada e, por isso, você deve pagar uma multa.

  • Criptográfico: Este é o pior ataque pois os hackers pegam seus arquivos, encriptam e só devolvem mediante pagamento – sem garantia é claro. Infelizmente nenhum software de restauração do sistema pode devolvê-los. Por isso é extremamente importante evitar pegar esses malwares.

tela de resgate ransomware

Todos esses tipos de ransomware tem a finalidade de levar a vítima a pagar o “resgate”. Além disso, os hackers colocam um tempo limite ou ainda vão aumentando o valor, caso não haja pagamento, o que acaba mexendo com o psicológico da vítima, ainda mais se os arquivos em jogo forem importantes.

Alguns exemplos de vírus que fazem esse tipo de ataque: CryptoLocker, TorrentLocker, PrisonLocker, Cryptowall, TeslaCrypt, entre outros.

Algumas dicas…

  • Tenha um bom antivírus e o mantenha sempre atualizado: muitos antivírus conseguem identificar esse tipo de ataque muito antes dele vir a atingir seu computador;
  • Instale todas as atualizações do sistema operacional;
  • Mantenha atualizado seu navegador;
  • Mantenha seu firewall ativado;
  • Evite instalar plugins Flash e Java: a maioria dos sites atualmente não necessitam deles;
  • Faça backups regularmente: isso é muito importante, pois caso você seja infectado, você terá seu backup, portanto poderá formatar a máquina e reinstalar o sistema. Depois, é só colocar os arquivos de volta.

Termos comuns de segurança: HTTPS

Com certeza, ao navegar na internet, você já viu no começo da URL o protocolo HTTPS. Mas, você sabe para que serve e como funciona esse protocolo?

Primeiramente, antes de falarmos sobre HTTPS precisamos entender o que é o HTTP.

O que é HTTP?

HTTP é uma sigla para Hypertext Transfer Protocol (em português, Protocolo de Transferência de Hipertexto).

Trata-se do principal protocolo de comunicação utilizado para transferência de dados entre computadores utilizados na internet. Essa comunicação entre as máquinas envolvidas ocorre baseada em informações que trafegam como texto.

Para que esse sistema de comunicação em rede baseada em textos seja possível, o HTTP precisa trabalhar em conjunto com o TCP (Transmission Control Protocol), responsável pela transferência das informações; e com o protocolo IP (Internet Protocol), que cuida do encaminhamento dos dados. Juntos, os protocolos TCP e IP formam o modelo TCP/IP, modelo sob o qual o protocolo HTTP é executado.

HTTP - Fundamentos
Curso de HTTP - Fundamentos
CONHEÇA O CURSO

Como o HTTP funciona?

A comunicação realizada pelo HTTP segue o modelo cliente-servidor, baseando-se nos conceitos de request (pedido) e response (resposta). Um request corresponde a um pedido feito ao servidor. Uma mensagem de requisição do cliente é composta pelos seguintes campos de maneira geral:

Linha de pedido: formada pelo identificador do método HTTP (GET, POST, PUT, DELETE, etc.), URI do recurso (endereço para o qual será enviado o pedido) e versão do protocolo (geralmente, HTTP 1.1 e HTTP 2);

Cabeçalho: contém meta-informações sobre a requisição, como a identificação do cliente que está fazendo o pedido;

Corpo: contém os dados da requisição.

Já o response corresponde à resposta que é enviada pelo servidor. Geralmente, ele é composto dos seguintes componentes:

Linha de status: contém informações como a versão do protocolo utilizado no servidor, código numérico do status da resposta e o texto associado ao status;

Cabeçalho: é bem similar ao cabeçalho do pedido, ou seja, contém meta-informações e informações adicionais sobre o seu pedido e conteúdo de resposta;

Corpo: conteúdo de resposta para a requisição realizada (no caso de acesso a um site, seria o HTML para que o browser renderize a página, por exemplo).

De fato, essa comunicação baseada nesse modelo cliente/servidor é extremamente rápida e eficiente. Porém, existe um problema grande: toda essa comunicação que ocorre através do protocolo HTTP é baseada em texto puro, o que é completamente inseguro. E aqui entra o HTTPS.

HTTPS

O HTTPS é uma extensão do protocolo HTTP com a adição de uma camada de segurança na comunicação entre cliente/servidor, fazendo o uso do protocolo SSL (Secure Socket Layer).

Essa camada adicional permite que os dados sejam transmitidos por meio de uma conexão criptografada, além de garantir a verificação da autenticidade do servidor e do cliente por meio de certificados digitais.

Essas técnicas de criptografia servem para proteger os dados trafegados contra ataques de terceiros, minimizando bastante a possibilidade de que outras pessoas consigam ter acesso a informações que são trafegadas.

Por exemplo, quando você está em uma página servida através de HTTPS onde você precisa colocar seus dados (como uma página de login, por exemplo), esses dados são criptografados através de certificados digitais.

Nesse sentido, o fato de que o HTTPS em conjunto com o SSL pode prover aspectos de segurança adicionais faz com que até mesmo sua utilização seja praticamente obrigatória em alguns nichos (em e-commerces, por exemplo, é obrigatório o uso do certificado SSL para que seja possível autorizar compras com o cartão de crédito).

Afinal, o HTTPS realmente garante nossa segurança ao navegar pela web?

Definitivamente, protocolo HTTPS é considerado mais seguro porque ele faz uma criptografia forte dos dados trafegados ente clientes e servidores. Por isso, podemos concluir que o protocolo HTTPS de fato representa segurança. Porém, tal segurança se aplica somente ao âmbito da conexão e da comunicação entre clientes e servidores.

Uma conexão segura não significa necessariamente um site seguro: existem muitos outros tipos de brechas que podem ser exploradas em aplicações web que não envolvem necessariamente aspectos relacionados à conexão.

Termos comuns de segurança: man-in-the-middle

Antes de tudo, já sabemos que o objetivo das ações de hackers é roubar informações, visando a obtenção de vantagens financeiras. Por isso, eles estão sempre em busca de ataques que os ajudem a chegar nesse objetivo. Um desses ataques é o man-in-the-middle, que veremos neste artigo.

O que vem a ser o ataque man-in-the-middle?

O ataque man-in-the-middle (em português homem-no-meio) é um ataque relativamente fácil de ser realizado, porém super poderoso. Nele envolve a interceptação e escuta de comunicação entre um usuário e uma outra parte envolvida, como um usuário e um sites de compras, por exemplo.

Contudo, nem o cliente quanto o servidor sabem que a conexão está sendo controlada por uma terceira pessoa. O atacante se posiciona no “meio” entre essas duas partes, acessando a informação trocada entre os dois, se passando por uma das partes envolvidas.

Qual sua finalidade?

Um ataque man-in-the-middle bem sucedido, permite ao hacker ver tudo o que é enviado como informações de navegação, detalhes de sua conta e login, senhas, dados financeiros, etc. Além de poder visualizar todas essas informações, ele ainda pode fazer um ataque a confidencialidade e integridade dos dados trafegados, sem que as vítimas percebam. Nesse meio tempo, quando as partes envolvidas derem conta, já será tarde demais.

Essa espionagem para a obtenção de informações pode ser sobre uma determinada vítima, apenas para poder “usá-la” em outros ataques, como também pode ser focada em uma pessoa específica para o roubo de informações mais valiosas ou até mesmo de uma entidade.

Segurança da Informação - Fundamentos
Curso de Segurança da Informação - Fundamentos
CONHEÇA O CURSO

Alguns tipos de ataques man-in-the-middle…

Existem muitas maneiras do hacker se colocar no “meio” e interceptar a comunicação. Eles podem aproveitar os pontos fracos de uma rede ou de qualquer um de seus elementos, fazendo a utilização de IPs, DNS e HTTPS falsos, sequestro de SSL / e-mail e interceptação de Wi-Fi. A seguir veremos alguns tipos de ataques mais comuns:

  • Sequestro de sessão:
    Uma sessão é quando você deve ser autenticado pelo site com seu login e senha. Como o navegador acaba gerando os chamados “cookies de sessão”, estes podem conter informações pessoais, nome de usuário e senhas, que podem ser utilizadas por alguém mal intencionado que esteja no meio de sua rede.

  • DNS spoofing:
    Neste caso, o atacante intercepta o tráfego da rede para capturar uma consulta DNS a fim de modificá-la, fazendo com que a vítima seja direcionada para uma página falsa da internet. Depois de visitar o site falso, o invasor pode obter acesso a suas informações confidenciais e dados pessoais, caso a vítima coloque suas informações ali.

  • ARP Spoofing:
    Também chamado de envenenamento de cache ARP, esse tipo de ataque é eficiente para redes locais, onde o atacante que está conectado na mesma rede, possa espionar o tráfego.
    Quando o usuário enviar uma solicitação de ARP, um hacker fingindo ser um dispositivo, envia uma resposta falsa. Com isso, ele consegue alterar o IP e MAC de destino se colocando no meio da comunicação, sem que a vítima perceba.

  • Stripping SSL:
    Nesse caso o hacker tenta se conectar a um site criptografado, tentando fazer com que ele rebaixe de um site de HTTPS para HTTP, retirando o protocolo SSL da conexão de rede do usuário, servindo para você uma versão desprotegida. Dessa forma, todos seus dados, senhas, etc, chegam descriptografados para ele.

Como se proteger?

O man-in-the-middle é um ataque comum e que pode ser bastante eficiente, pois é de difícil detecção. Além disso o atacante pode vir de qualquer lugar.

Como em vários outros ataques, o importante é se atentar a algumas medidas de segurança, a fim de dificultar a sua execução. Algumas medidas de segurança são:

  • Evitar acessar redes wi-fi públicas;
  • Evitar navegar e principalmente digitar informações em sites que não tenham certificado digital (SSL);
  • Estranhe quando uma URL trocar de HTTPS para HTTP;
  • Tenha um antivírus confiável;
  • Fique atento a e-mails de phishing.

Termos comuns de segurança: DDoS

Continuando com nossa série de artigos sobre os termos comuns de segurança, vamos abordar hoje o DDoS – sigla para Distributed Denial of Service, ou Ataque Distribuído de Negação de Serviços.

O que vem a ser o ataque DDoS?

Antes de tudo, precisamos saber que DDoS é uma derivação de DoS (Denial of Service, ou Negação de Serviço). O ataque DoS envolve somente um atacante, contudo no DDoS já acontece o contrário: ele é um conjunto de ataques DoS, com diversos atacantes.

O ataque DDoS tem como objetivo tirar um serviço (como sites e servidores web em geral) do ar através de uma sobrecarga de requisições de múltiplos computadores ao mesmo tempo. Ao contrário do que muitas pessoas podem pensar, não se trata de um ataque de invasão: os ataques DDoS são apenas para fins de sobrecarga, ou seja, deixar sites sobrecarregados e até mesmo fora do ar.

Como resultado, esse ataque pode causar a interrupção operacional de um serviço por horas ou até dias, o que acaba resultando em prejuízo financeiro e até mesmo dano à reputação de uma organização. É um ataque direto contra a disponibilidade – um dos três pilares da segurança da informação.

Segurança da Informação - Fundamentos
Curso de Segurança da Informação - Fundamentos
CONHEÇA O CURSO

O ataque pode acontecer de uma dessas três formas:

Ataque por inundação

Tem o objetivo de esgotar a largura de banda disponível para o servidor, ou seja, enviar uma quantidade enorme de requisições para esgotar a taxa de largura de banda disponível para aquele serviço;

Ataque por amplificação

Tem o objetivo de fazer com que o servidor esgote os seus recursos computacionais;

Ataque por exploração

Tem o foco na exploração de protocolos que são mal implementados pelas estruturas atacadas. Na maioria das vezes, as brechas se encontram em protocolos baseados no TCP.

Alguns tipos de ataques

– Volumétrico (floods)

Esse é um dos tipos mais básicos, onde o objetivo principal é esgotar a largura de banda do alvo a ser atacado, através de um volume muito grande de requisições.

– UDP Flood

São enviados um grande grupo de pacotes UDP (User Datagram Protocol). Como o servidor tem que responder a todos eles, ainda que sejam solicitações UDP maliciosas, ele acaba ficando mais lento até que uma sobrecarga acaba acontecendo.

– NTP Flood

São enviados pequenos pacotes de dados válidos, porém com IPs falsificados, a fim de executar o NTP (Network Time Protocol). Como o NTP tenta responder às inúmeras solicitações recebidas, pode resultar em inundações de UDP, onde os recursos de rede se esgotam por não suportarem a demanda.

– SYN Flood

Neste ataque é enviado uma sequência de requisições SYN visando uma sobrecarga, também fazendo a utilização de IPs falsos, a fim de consumir os recursos do servidor da vítima, sobrecarregando seus limites de capacidade, tendo como resultado a indisponibilidade de solicitações que realmente são legítimas.

Afinal, tem como se defender?

Definitivamente os hackers não param de fazer ataques, pelo contrário, o número de ataques só vem crescendo. Logo, não temos como saber quando vamos sofrer uma tentativa de ataque. Porém, podemos tomar algumas medidas a fim de se obter uma proteção que previna esse tipo de ataque.

  • Largura de banda: Acima de tudo, uma das medidas mais básicas que podemos investir é em largura de banda, para nos ajudar a lidar com picos de tráfego.

  • Monitoramento de rede: Aqui podemos identificar ataques, analisar o tráfego, o histórico, etc.

  • Proteção remota: Utilizar uma camada extra de proteção, como por exemplo um proxy que fica entre o servidor e os usuários.

Um exemplo de ataque DDoS…

Por fim e não menos importante, vamos ver um ataque DDoS que o GitHub sofreu em 2018, onde ficou indisponível por quase 10 minutos.

Segundo o GitHub, foi um ataque de amplificação usando a abordagem baseada em memcached:

“esse ataque funciona abusando de instâncias armazenadas em cache que estão inadvertidamente acessíveis na Internet pública com o suporte UDP ativado. A falsificação de endereços IP permite que as respostas do memcached sejam direcionadas para outro endereço, como as usadas no GitHub.com, e enviem mais dados para o destino do que o necessário para a fonte não falsificada.”

imagem ataque DDoS github

De antemão, o GitHub publicou este relato em seu blog oficial, onde enfatizaram também que em nenhum momento a confidencialidade ou integridade de seus dados ficaram em risco.

Dicas para proteger seus dados de aplicativos maliciosos

No artigo anterior falamos sobre o perigo do compartilhamento de informações com aplicativos na era digital, já que manter sua privacidade na rede, atualmente tem se tornando uma tarefa desafiadora.

Neste artigo veremos algumas medidas que podemos tomar para tentar nos proteger diante de tantas informações em nosso dia a dia.

Android - Básico
Curso de Android - Básico
CONHEÇA O CURSO

Saiba a procedência dos aplicativos baixados

Saber a procedência dos aplicativos baixados também é uma ótima maneira de se proteger do uso indevido dos seus dados por terceiros.

Algumas empresas renomadas, por exemplo, lançam seus aplicativos para um determinado público alvo a fim de facilitar a interação com o usuário e, ao baixar aquele aplicativo, você estará ciente que se trata da determinada empresa a qual você já confia.

Então, ao baixar qualquer aplicativo em lojas oficiais, perceba qual a empresa desenvolvedora e o histórico dos seus outros aplicativos.

Verifique o escaneamento dos aplicativos pelo Google Play Protect

Se seu celular for Android, um recurso que vale a pena conferir é o Google Play Protect.

Dentro das configurações do aparelho, em segurança, este recurso estará disponível. O Google Play Protect realiza o escaneamento dos aplicativos que estão instalados no smartphone e verifica se há comportamentos nocivos nestes aplicativos ou no dispositivo.

Caso algum risco de segurança seja encontrado, o usuário será imediatamente informado.

Cuidado com as “modinhas”

Vários aplicativos surgem todos os dias e nos pegam de surpresa quando, de repente, todos começam a utilizar.

E esta grande onda do uso destes aplicativos muitas vezes é algo planejado, visto que empresas desenvolvem suas aplicações para que estas se tornem virais, mas com o intuito de obter determinadas informações dos usuários, como: Localização, acesso a câmera, entre outros.

Android - Intermediário
Curso de Android - Intermediário
CONHEÇA O CURSO

Leia os Termos de Uso

Por mais entediante e demorado que seja, que tal ler sobre aquilo que você está dizendo concordar e aceitar?

Sei que parece um pouco clichê, mas ler os termos de uso dos aplicativos ou de qualquer serviço que você irá aderir é de fato dever dos usuários. É por meio dos Termos de Uso que as empresas deixarão claro qual a sua política de privacidade em relação aos dados inseridos, quais as restrições para sua utilização, quais as responsabilidades ela irá assumir, qual a conduta esperam do usuário do serviço, dentre outras coisas.

Então, caso você não tenha costume de ler, dedique um pouco do seu tempo a ler e aceitar apenas após saber o que de fato estará estabelecido neste acordo (E essa dica importantíssima fica para todos nós!).

Observe as permissões

Sempre que possível, acesse as configurações do seu aparelho e veja as permissões que determinados aplicativos possuem.

Desta forma você saberá exatamente o que cada aplicativo possui acesso no seu dispositivo e, caso necessário, revogá-lo.

Utilize a loja oficial de aplicativos

Android Package ou Android Application Pack é um software empacotado num formato de arquivo destinado ao sistema operacional Android.

Os APKs podem ser obtidos oficialmente em lojas virtuais como o Google Play ou simplesmente baixados em sites de terceiros, neste último caso, onde mora todo perigo na realização do seu download.

Por exemplo, para a realização do download de um APK fora das lojas virtuais oficiais, será necessário dar a permissão para seu smartphone a baixar aplicativos de qualquer página desconhecida (Fontes desconhecidas).

Os aplicativos que são fornecidos dentro das lojas virtuais passam por uma checagem automática dupla, quando o aplicativo é enviado para loja e quando ele é instalado em qualquer aparelho, fazendo com que seja verificado contra qualquer comportamento malicioso. Já os APKS de fontes desconhecidas podem causar desde danos ao seu aparelho ou qualquer outro tipo de exploração de vulnerabilidades.

Então tenha sempre cuidado ao baixar aplicativos de fontes desconhecidas sem antes checar de fato a sua procedência.

Fique atento aos pequenos e “inofensivos” testes do Facebook

Raros são os usuários que nunca fizeram os “testes” no Facebook, que vão desde: Qual personalidade você se parece ou qual a profissão para seu futuro.

Atualmente, a quantidade destes tipos de aplicativos pode parecer um pouco menor, mas ainda é notável a quantidade de pessoas que se submetem a estes tipos de testes (Beijo, mãe!).

Logo ao clicar sobre estes aplicativos, muitas vezes eles já informam quais os dados que serão coletados, como e-mail, nome, idade, sexo e etc. São por meio destes dados, como informamos no artigo anterior, que algumas empresas utilizam para a propagação de anúncios. Então, nada melhor que verificar em suas redes sociais quais os aplicativos estão conectados a, por exemplo, seu Facebook.

Podemos concluir que…

Mesmo com a melhoria na segurança das lojas de aplicativos, os usuários também precisam fazer a sua parte para manter a sua privacidade.

Neste artigo vimos algumas dicas que poderão ser utilizadas como base para que você tenha uma maior segurança no uso do seu smartphone.

Desenvolvedor Android Júnior
Formação: Desenvolvedor Android Júnior
A formação Desenvolvedor Android nível Júnior da TreinaWeb tem como objetivo ilustrar os tópicos essenciais para aqueles que desejam se especializar na plataforma mobile da Google. Entre estes tópicos, estão a arquitetura básica do Android, as operações necessárias para configuração do ambiente de desenvolvimento, os widgets e as activities, as definições de layout, o armazenamento de dados offline, o consumo de APIs RESTful e a aplicação dos conceitos de Material Design.
CONHEÇA A FORMAÇÃO

O perigo do compartilhamento de informações com aplicativos

O crescimento do uso de aplicativos móveis nos últimos tempos não tem sido novidade no mundo. Grandes ou pequenas empresas tem investido constantemente na realização de aplicativos para facilitar a vida dos seus clientes.

Aplicativos bancários, redes sociais, deliverys, jogos e música, tem se tornado comuns em nosso dia a dia e, sem dúvidas, facilitando muitas tarefas, como simplesmente pedir um almoço.

Android - Básico
Curso de Android - Básico
CONHEÇA O CURSO

Diversas são as vantagens na utilização dos aplicativos, dentre elas:

  • A mobilidade – estar sempre com o aparelho em mãos realizando suas tarefas normalmente de qualquer lugar do mundo;
  • Aumento na eficiência dos atendimentos ao cliente;
  • A interatividade – Um grande aliado na interação com o cliente;
  • Fortalecimento da marca;
  • Diminuição dos custos em marketing – simplificam a comunicação com os clientes, uma vez que a empresa usará o próprio aplicativo para promover ações de marketing, entre outras vantagens.

Sem dúvidas, sua existência nos tem dado a facilidade em inúmeras tarefas cotidianas, mas, você realmente sabe dizer quais os perigos que o compartilhamento de informações com os aplicativos podem nos oferecer?

Envio de localização de GPS

Vários aplicativos solicitam ao usuário a permissão de utilizar o recurso de GPS do dispositivo e muitos desses aplicativos que não necessitam deste recurso ativado, podem fazer o uso destas informações.

Um exemplo que podemos citar em torno do uso de GPS é que diversas empresas poderão utilizar destes dados para mapear os lugares mais frequentados pelo usuário. Com esta informação, por exemplo, as empresas podem direcionar anúncios relacionados a esses tipo de lugar.

Pensando em um anúncio de um restaurante, por exemplo, é algo bem simples e muitas vezes nada assustador, mas o acesso a estes dados por terceiros mal intencionados podem trazer riscos, como a localização em tempo real de um determinado usuário.

Acesso à galeria de fotos

Muitos aplicativos, de fato, necessitam de acesso às fotos armazenadas em seu smartphone. Um exemplo disso são os aplicativos de redes sociais que necessitam desta permissão para compartilhar suas imagens para seus amigos.

Mas não faz sentido que aplicativos que não utilizem o compartilhamento de imagens tenha acesso a esta informação tão valiosa.

Muitas empresas podem utilizar estes dados para, por exemplo, alimentar uma IA para um sistema de reconhecimento facial sem que você saiba ou permita este tipo de coleta.

Android - Intermediário
Curso de Android - Intermediário
CONHEÇA O CURSO

Acesso ao histórico

Algo extremamente preocupante quando vimos que alguns aplicativos solicitam o acesso ao seu histórico de navegação.

Pensando em como estes dados podem ser utilizados, imagine um sistema de recomendação utilizar todo o seu histórico e analisar que há exatas duas semanas você vem pesquisando sobre a compra de um novo teclado.

A partir deste momento, vários anúncios seriam exibidos para você com aquele e outros teclados relacionados.

Lembrando que, mais uma vez, um exemplo que parece simples, já que sistemas de recomendação é algo comum hoje em dia, mas se pensarmos os usos que estas informações podem possuir, veremos que será sempre útil verificar as permissões que estes aplicativos solicitam.

Permissão para habilitar o microfone do smartphone

Normalmente aplicativos como sua câmera, necessitam desta informação até mesmo para gravação de um simples vídeo em seu smartphone. Porém, mais uma vez, pensaremos a respeito de um aplicativo que não necessita diretamente destas informações que serão coletadas.

Desta forma, este tipo de dado poderá trazer uma vantagem competitiva para empresas, identificando as palavras-chave que o usuário proferir em um determinado momento e direcionando anúncios relacionados a este serviço ou produto.

Quem nunca comentou com um amigo ao lado que estava precisando comprar um determinado produto e, momentos depois, se deparou com um anúncio a respeito deste produto? Este tipo de serviço é mais comum do que parece, embora as empresas neguem veementemente o uso destas informações.

Vamos à realidade

Sabemos que manter a privacidade na era digital é algo extremamente desafiador.

Um exemplo real em torno de toda esta situação é sobre a empresa sul-coreana de análise de dados, Rankwave, que está sendo processada pelo Facebook pelo suposto uso indevido de dados coletados dos usuários da rede social para vender serviços de publicidade e marketing.

A empresa e seus aplicativos foram suspensos da plataforma, porém, segundo algumas investigações, ainda podem possuir uma coleção de dados dos usuários do Facebook, o que infringe seus termos de uso na plataforma.

Sem deixar de ressaltar um problema semelhante: O vazamento da Cambridge Analytica, onde cerca de 87 milhões de usuários tiveram as suas informações compartilhadas com uma empresa de consultoria política a partir de um teste de personalidade realizado por um aplicativo dentro da plataforma.

Lembrando que nos exemplos acima, citamos de aplicativos desenvolvidos por empresas terceiras dentro do Facebook, mas existem casos de aplicativos mobile, por exemplo, que estãos sendo investigados pelos usos de imagens dos seus usuários.

Estes e outros exemplos nos mostram como é importante sempre verificar os dados que estamos compartilhando com diversos aplicativos, tentando assim, fazer com que nossa privacidade se torne “um pouco” mais segura na era digital.

Lembrando que o intuito deste artigo é que você possa se atentar as informações que você compartilha com determinados aplicativos e, principalmente, utilizar aplicativos de fontes confiáveis com segurança. 🙂

No próximo artigo, veremos algumas dicas de como proteger seus dados de aplicativos maliciosos, aumentando a segurança das informações que estão inseridos nestes,

Desenvolvedor Android Júnior
Formação: Desenvolvedor Android Júnior
A formação Desenvolvedor Android nível Júnior da TreinaWeb tem como objetivo ilustrar os tópicos essenciais para aqueles que desejam se especializar na plataforma mobile da Google. Entre estes tópicos, estão a arquitetura básica do Android, as operações necessárias para configuração do ambiente de desenvolvimento, os widgets e as activities, as definições de layout, o armazenamento de dados offline, o consumo de APIs RESTful e a aplicação dos conceitos de Material Design.
CONHEÇA A FORMAÇÃO

Para que serve o certificado SSL?

O número de pessoas que executam transações sensíveis na internet (como compras online, transações bancárias, etc.) cresce cada vez mais. Porém, com a facilidade que a internet trouxe em geral para a execução destas operações, os cuidados devem ser redobrados. Analisar e verificar os sites onde estas operações são feitas com o intuito de detectar se o site é confiável, real e seguro é algo essencial.

Por isso, aspectos relacionados a segurança em geral em aplicações web merecem uma atenção especial. A sensação de segurança que uma aplicação web passa a seus usuários é algo extremamente importante, pois inspira confiança e credibilidade. Uma aplicação web precisa garantir que é verdadeira e que as informações trocadas estarão criptografadas e seguras. Visando isso, a implementação de um certificado SSL torna-se algo essencial.

O SSL (Secure Socket Layer) é um mecanismo de criptografia com o objetivo de aumentar a segurança na troca de informações entre clientes e servidores, protegendo a integridade e veracidade do conteúdo que trafega na internet. O certificado garante que a informação do navegador chegará de forma segura desde um cliente (como um browser) até o servidor do site. Quando você coloca seu número de cartão de crédito em uma página que utiliza SSL por exemplo, os números serão codificados e embaralhados, dificultando que um invasor ou interceptador consiga ver o número de cartão de crédito informado.

HTTP - Fundamentos
Curso de HTTP - Fundamentos
CONHEÇA O CURSO

Com a utilização do certificado SSL, o endereço do seu site passa de HTTP para HTTPS, indicando que as informações trafegadas entre cliente e servidor ocorrerão através do protocolo SSL/TLS e que as informações serão criptografadas. Além disso, os browsers modernos passam a exibir o desenho de um cadeado antes da URL, fazendo com que o usuário saiba que a aplicação web é segura.

O HTTPS (sigla para Hyper Text Transfer Protocol Secure ou Protocolo de Transferência de Hipertexto Seguro) é uma derivação do protocolo HTTP com uma camada SSL/TLS adicional implementada, o que adiciona mais segurança ao HTTP. Como o HTTPS utiliza criptografia, as chances de um intruso interceptar as mensagens trocadas entre cliente e servidor e obter acesso ao conteúdo destas mensagens reduz-se consideravelmente, pois as mensagens passam a ser criptografadas através de certificados digitais. Quando falamos sobre aplicações web, essa criptografia é essencial: através do tradicional HTTP, as mensagens são trafegadas como texto puro, ou seja: caso um interceptador capture mensagens HTTP, este terá total acesso a seu conteúdo sem maiores dores de cabeça. Com o HTTPS e sua criptografia inerente, esse risco é drasticamente reduzido.

Além de deixar o seu site mais seguro e confiável, a utilização do certificado SSL traz um outro benefício: a otimização do SEO. São diversos fatores que influenciam o ranqueamento dos sites no Google, sendo que um destes fatores é justamente a utilização de SSL. Como o Google considera o certificado SSL um benefício importante para os usuários, ele prioriza isso ao selecionar os sites que aparecem na busca, melhorando o posicionamento do seu site.

Como ele funciona?

O ciclo de uma transmissão HTTPS começa com um certificado digital. Um certificado digital é como se fosse uma espécie de RG eletrônico, identificando a sua aplicação como sendo uma aplicação confiável e verdadeira. Certificados digitais devem ser obtidos através de entidades certificadoras (ou CAsCertification Authorities), pois somente estas têm as permissões necessárias para gerar certificados digitais válidos. É um processo muito parecido com o RG humano propriamente dito… Um RG não pode ser emitido em qualquer lugar: ele deve ser solicitado somente em locais autorizados a lidarem com a emissão de RGs e que tenham acesso aos sistemas estaduais e nacionais de identificação. É o mesmo cenário com certificados digitais, já que estes irão identificar sua aplicação dentro de toda a web. Algumas entidades certificadoras são Verisign, GeoTrust, Comodo e Amazon. O serviço de geração de um certificado é geralmente pago e deve ser feito peridiodicamente, pois os certificados possuem uma data de expiração. Também existem serviços que emitem certificados de maneira gratuita, como o Let’s Encrypt.

Um certificado é composto basicamente por duas partes: uma chave pública e uma chave privada que são geradas randomicamente pela entidade certificadora. A chave pública é utilizada para verificar os clientes que realizam as requisições, enquanto a chave privada é utilizada para a realização do processo de criptografia.

Quando você se conecta a um servidor que utilize HTTPS/SSL para a transferência de informações, o servidor irá responder inicialmente com a chave pública e o certificado associado à aplicação que está sendo acessada. Cabe ao cliente (como um browser), ao receber esta chave, verificar alguns pontos:

  • Se a chave pública não está expirada (o que ocorre quando o certificado já se encontra expirado);
  • Se a chave pública pertence realmente à aplicação que está sendo acessada;
  • Se o cliente consegue descriptografar a assinatura digital do certificado enviado, o que significa que aquela chave pública e aquele certificado são válidos.

Quando um destes pontos de verificação falha, o cliente (como um browser) aborta a conexão e mostra uma mensagem de alerta para o usuário parecida com a tela abaixo.

Caso todas as verificações ocorram com sucesso, o browser entende que a comunicação está sendo feita com um servidor confiável.

Quando o cliente detecta que a conexão é confiável, o cliente cria uma nova chave, chamada de chave de sessão ou session key. Com a chave de sessão criada, o cliente envia esta chave de volta ao servidor, porém, criptografada com a chave pública validada nos passos anteriores.

Quando o servidor recebe a chave de sessão do cliente, ele utiliza a chave privada (que nunca é trafegada entre as requisições) para tentar obter a chave de sessão informada pelo browser. Um conteúdo criptografado com a chave pública só pode ser descriptografado com a chave privada, o que garante a autenticidade e legitimidade das informações que são trafegadas criptografadas com a chave pública. Caso o servidor consiga realizar este processo, é enviado de volta ao cliente uma resposta de que “está tudo OK”, também chamada de ACK (acknowledgement ou reconhecimento). Esse processo todo é chamado de handshake, pois agora somente o cliente e o servidor têm conhecimento das chaves públicas e de sessão que foram trocadas. É como se o cliente e o servidor tivessem se identificado um com o outro e, após existir a confiança entre os dois, ambos apertassem as mãos e disessem: “sei que você é você mesmo de fato e, por isso, confio nas informações que vamos trafegar entre nós”.

A partir deste momento, o servidor passa a responder as informações de volta ao cliente criptografando-as com a chave de sessão que somente o cliente e o servidor têm conhecimento. O cliente passa a utilizar a chave de sessão para descriptografar as informações enviadas pelo servidor. Quando o cliente precisa enviar informações para o servidor, este utiliza também a chave de sessão para criptografar o conteúdo, enquanto o servidor utiliza a mesma chave (que somente este cliente e o servidor possuem conhecimento) para descriptografar o conteúdo.

Veja que o processo de confidencialidade é bem forte neste processo: se algum interceptador interceptar estas mensagens, este não terá a chave de sessão vinculada ao cliente para descriptografar as mensagens. Ele também não conseguirá obter esta chave de sessão, mesmo que ele tenha acesso à chave pública do certificado: não se esqueça que o conteúdo criptografado com a chave pública só pode ser descriptografado com a chave privada. A única maneira de um invasor conseguir descriptografar o conteúdo é se este, de alguma maneira, tiver acesso à chave privada do certificado do servidor ou à chave de sessão do cliente.

Um ponto interessante é que esse processo de criptografia que é utilizado no HTTPS é chamado por muitos de criptografia assimétrica, já que existem duas chaves de criptografia utilizadas durante o processo: uma estática, mas que fica escondida no cliente (no caso da chave privada) e no cliente (no caso da chave de sessão); e uma chave pública, cujo conteúdo só pode ser descriptografado justamente com a chave privada. Veja que esse processo é diferente da criptografia “tradicional”, que também é dita como criptografia simétrica, onde só existe uma chave estática para a realização do processo de criptografia e descriptografia.

Protegendo suas aplicações Python de SQL Injection

Um dos maiores problemas que assombram os desenvolvedores de software é o SQL Injection. Essa técnica pode permitir que um código SQL seja executado através da aplicação cliente sem qualquer tipo de restrição e, assim, alterar os dados sem qualquer conhecimento dos administradores do sistema. Parece grave, certo? E, realmente, é. Sendo assim, neste artigo falaremos um pouco sobre o SQL Injection e como proteger aplicações Python deste tipo de ataque.

Python - Fundamentos
Curso de Python - Fundamentos
CONHEÇA O CURSO

O problema

Como dito anteriormente, o SQL Injection permite que código SQL seja executado através da aplicação cliente diretamente no banco de dados. Isso permite que hackers consigam alterar dados de forma irrestrita e sem consentimento dos administradores do sistema, o que é um problema muito grave em relação a segurança de um sistema. Para entender melhor este problema, vamos a um exemplo prático.

Imagine uma aplicação simples em que seja possível atualizar clientes passando seu nome e idade. Focando apenas no back-end da aplicação e sem qualquer tipo de verificação de SQL Injection, o código responsável por atualizar clientes seria basicamente da seguinte forma:

nome = 'João'
cursor.execute(f"UPDATE cliente SET nome={nome} WHERE idcliente=13")

O código acima irá atualizar o nome do cliente com id 13 para “João”. Até aí, tudo bem. Estamos apenas atualizando o nome de um cliente em nosso banco de dados. Porém, imagine que, ao invés de passar apenas ‘João’ para a variável nome, passarmos um código SQL:

nome = "'Carlos' , idade = 80"
cursor.execute(f"UPDATE cliente SET nome={nome} WHERE idcliente=13")

O código acima permitirá que o nome e idade do cliente com id 13 sejam alterados simultaneamente, sem permissão ou consentimento do administrador do sistema. Até pode paracer bobagem não permitir a edição da idade de um cliente, porém, imagine um sistema bancário com este mesmo problema e que permita que o valor do saldo seja alterado pelo usuário… Complicou, né?

A solução

Para solucionar o problema do SQL Injection, precisamos parametrizar as querys utilizadas em nosso programa e, assim, não permitir que um código SQL seja executado pelo lado cliente da aplicação. Para isso, alteramos a query da seguinte forma:

nome = "'Carlos' , idade = 80"
cursor.execute("UPDATE cliente SET nome=%(nome)s WHERE idcliente=13", ({'nome': nome, }))

Com o código acima, não vamos mais executar o código presente na variável "nome" no UPDATE. Ao invés disso, todo o conteúdo desta variável será armazenado como nome do cliente com id 13. Fazendo com que, o nome do cliente com id 13 seja "Carlos, idade = 80" e a sua idade permaneça inalterada.

Concluindo

Desta forma, não vamos mais permitir que os campos de uma determinada tabela sejam alterados sem permissão do sistema e, assim, garantimos muito mais segurança para a nossa aplicação.

Python - Banco de dados com DB API
Curso de Python - Banco de dados com DB API
CONHEÇA O CURSO

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200