Autenticação e autorização: Segurança de Acesso a Recursos

O avanço e a popularização das tecnologias abriu aos usuários a possibilidade de navegar livremente pela internet, podendo contratar e utilizar diversos serviços remotamente por exemplo. Assim, tornou-se fundamental investir em estratégias que possam adicionar maior segurança e confidencialidade nos métodos de identificação dos usuários (ALVES et al., 2017). Através de processos de autenticação e autorização pode-se proteger o acesso a um determinado recurso, estabelecendo regras e permissões que podem variar dependendo de quem o requisita, e para isso existem padrões e protocolos que especificam a melhor forma de projetar estas etapas do sistema, como gerenciar a identidade, mover dados pessoais com segurança e decidir quem pode acessar aplicativos e dados.

Autenticação

A autenticação é o processo através do qual um requerente prova quem afirma ser, ou seja, se verifica e confirma a autenticidade do usuário (RAHMAN; SHUVA; ALI, 2016). Neste processo, usualmente feito antes da autorização, o usuário é “desafiado” através de senhas ou até reconhecimento facial, de forma que sua identidade seja validada. A autenticação é um pré-requisito para o acesso aos recursos de um sistema e permite que as aplicações e serviços permaneçam confiáveis, impedindo acessos não autorizados. A autenticação pode se enquadrar em três categorias que respondem a três questionamentos “What you know”, “What you have” e “What you are”, respectivamente, são elas:

  • Single-Factor Authentication depende de um único fator, podendo ser senha, código, PIN, etc..

  • Two-Factor Authentication requer dois fatores para o sistema permitir o acesso a algum serviço, indo além de apenas nome de usuário e senha.

  • Multi-Factor Authentication (MFA) exige a utilização de dois ou mais fatores de segurança de categorias independentes. Esta categoria usualmente utiliza reconhecimento facial, impressão digital, leitura de íris ou reconhecimento de voz.

Autorização

Uma vez que o usuário já foi autenticado, a autorização é o método que determina o que o mesmo pode ou não acessar dentro do sistema. Este processo é redigido por meio de policies, rules e definição de roles, utilizadas para decidir qual o nível de acesso atribuído a um usuário autenticado para um recurso (DOULIGERIS; SERPANOS, 2007).

Autenticação vs. Autorização

Em poucas palavras, a autenticação verifica quem é o usuário enquanto a autorização verifica ao que ele tem acesso. A Tabela a seguir apresenta as principais diferenças entre os dois processos:

AUTENTICAÇÃOAUTORIZAÇÃO
Determina se o usuário é quem afirma serDetermina o que o usuário pode ou não acessar
Desafia o usuário a validar suas credenciaisVerifica se o acesso é permitido através de políticas e regras
Geralmente feito antes da autorizaçãoGeralmente feito após autenticação bem sucedida
Geralmente transmite informações por meio de um ID TokenGeralmente transmite informações por meio de um Access Token
Geralmente regido pelo protocolo OpenID Connect (OIDC)Geralmente regido pela estrutura OAuth 2.0
Exemplo: funcionários de uma empresa são obrigados a se autenticar por meio da rede antes de acessar o email da empresaExemplo: depois do funcionário se autenticar, o sistema determina quais informações o mesmo tem permissão para acessar
Fonte: adaptado de Auth0

Tokens

O token é um objeto composto por informações, o qual sozinho não possui significado, porém quando utilizado em conjunto com um sistema de Autenticação Baseado em Token (Token Based Authentication) funciona garantindo que todas as solicitações feitas a um determinado servidor sejam acompanhadas por um token assinado e válido. Os principais tipos de tokens são:

  • ID Token: possui informações do usuário autenticado, e as utiliza inclusive para personalizar a experiência do mesmo. É utilizado somente pelo Client App que requisitou a autenticação.
  • Access Token: são utilizados a cada request como credenciais para informar ao serviço requisitado que o portador do token foi previamente autorizado a acessar a API e executar um conjunto de ações.

Na Prática

A seguir está apresentado o fluxo de autenticação e autorização por meio de token entre Usuário, Client App, Auth Server e um Web Service (API).

Fonte: Auth0

Conclusões

Boas práticas de segurança tornam-se cada vez mais indispensáveis no desenvolvimento de um projeto de software. Identificar o usuário, validar suas credenciais e restringir seu acesso a determinados recursos é o ponto de partida para diminuir riscos e possíveis falhas que possam comprometer a integridade do sistema, além de proporcionar uma melhor experiência a quem o utiliza.

Autor: Gustavo Sachet

Referências:

ALVES, Késia Cristina. O impacto do registro digital nos processos de legalização de empresas nos escritórios de contabilidade da cidade de Uberlândia. 2017. 27 f. Trabalho de Conclusão de Curso (Graduação em Ciências Contábeis) – Universidade Federal de Uberlândia, 2017.

AUTH0. Authentication vs. Authorization. Disponível em: https://auth0.com/docs/get-started/authentication-and-authorization#authentication-vs-authorization. Acesso em: 29 set. 2021.

AUTH0. Authorization code flow. Disponível em: https://auth0.com/docs/authorization/flows/authorization-code-flow#how-it-works. Acesso em: 29 set. 2021.

AUTH0. Tokens. Disponível em: https://auth0.com/docs/security/tokens. Acesso em: 29 set. 2021.

DOULIGERIS, Christos; SERPANOS, Dimitrios N. Network Security: Current Status and Future Directions. Wiley-Ieee Press, 2007. 592 p.

RAHMAN, Md. Tanvir; SHUVA, Taslima Ferdaus; ALI, K. M. Akkas. Trusted Device along with Trusted Location and Biometry based Authentication Method. International Journal Of Computer Applications, v. 150, n. 4, p. 26-30, set. 2016.

Modelagem de Ameaças – O que é, e porque aplicar

Estatísticas mostram avidamente o quão vulneráveis ainda somos. Em plena era da Informação, cada vez encontramos mais e mais dispositivos e sistemas sofisticados tendo sua integridade violada. O porquê disso? Bem, existe uma série de fatores, porém o importante ponto desta questão não é o porquê, e sim o como. Seu sistema está preparado para uma “eventual” falha de segurança? Saiba o que é a Modelagem de ameaças e diminua o risco de seu sistema ser vítima desse infortúnio.

  • Introdução

Considere a seguinte questão. Um aparelho de som dentro de uma casa, um recurso, e o assaltante, o invasor. Continue lendo “Modelagem de Ameaças – O que é, e porque aplicar”

Conhecendo para se defender, técnicas de invasão e hacking

Técnicas de invasão são formas de acesso a um site, servidor, computador ou serviço por alguém não autorizado, com fim de obter informações sigilosas ou controle. A invasão em si pode ser nociva com fins de agressão moral/monetária ou então construtiva, para análise de vulnerabilidades, sendo que, o objetivo pode ser tornar o usuário mais seguro explorando as vulnerabilidades. Continue lendo “Conhecendo para se defender, técnicas de invasão e hacking”

Segurança, resistência e liberdade em Smartphones.

A popularização, facilidade e usabilidade dos sistemas operacionais móveis são os grandes atrativos da indústria mobile, mas nem por isso devemos descuidar das ameaças digitais.

Tudo é muito bem pensado, as inovações são constantes e a abrangência cada vez maior. De um lado temos a Apple e sua extrema resistência e controle dos aplicativos para IOS, de outro temos o Google e uma grande liberdade para aplicativos do Android.

Em 2012 foram vendidos 16 milhões de smartphones no Brasil, ou seja, mais de 30 smartphones por minuto. Isso só vem a ressaltar a importância dos dispositivos mobile na sociedade brasileira.

Em respeito da liberdade de aplicativos em dispositivos mobile, existe uma questão sobre o porquê deste bloqueio. A resposta da Apple é apenas uma, segurança! Não é para tanto, afinal até hoje, desde meados de 2007, quando contemplamos o lançamento do primeiro iphone, o IOS permanece. Já foram registradas diversas falhas no sistema que abriam brechas de segurança e diversos malwares¹ já tentaram passar pelos filtros da Apple Store (loja de aplicativos da Apple), mas poucos obtiveram sucesso e mesmo estes foram prontamente removidos da loja virtual. A Apple sempre se manteve reservada a utilização e comercialização de aplicativos de terceiros, possuindo um controle extremamente rígido de avaliação, desde aplicativos para seu sistema operacional voltado a desktops e notebooks, o MacOS. Infelizmente a Apple não pode mais se vangloriar de que seu MacOS é 100% impenetrável, já constam registros de malwares encontrados. Em abril de 2012 um trojan chamado Flashback infectou mais de 600 mil máquinas com o sistema MacOS, o que representa para a Apple mais de 1% do total de usuários do Mac.

O ponto a ser considerado é que até mesmo sistemas ditos como blindados podem se tornar vulneráveis. Mesmo com todo o controle por parte da Apple, ainda não ha real necessidade de utilizar um antivírus em um iphone, o contra disso é a perda de inúmeros aplicativos interessantes. O navegador Mozilla Firefox pode ser citado como exemplo. A Mozilla alega que ainda não foi permitida a disponibilizar seu navegador para dispositivos IOS, devido as restrições que acabam por tornar mais burocrática a liberação do aplicativo na loja virtual da Apple. Enquanto isso o Android possui uma ótima versão do aplicativo.

Seguindo na contra mão da Apple, o Google possui um certo filtro de aplicativos, mas é claramente inferior ao regime imposto pela Apple, uma vez que é muito mais fácil disponibilizar um aplicativo para download no Google Play (loja de aplicativos para Android da Google). Acompanhando essa maior liberdade temos o problema da insegurança nos aplicativos, pois inúmeros malwares já passaram pelos filtros da Google e acabaram por infectar milhares de aparelhos com Android.

Também existem antivírus para Android, que garantem prevenir estas ameaças. Observando um pouco mais o histórico do Android podemos constatar um caso onde alguns aplicativos para emulação de jogos de Super Nintendo foram exumados da sua loja virtual, não por questões de segurança, mas sim direitos autorais pertencentes a Nintendo. Mesmo assim ainda podemos encontrar estes emuladores disponíveis através de meios alternativos ao Android. Uma prova dessa insegurança é o fator de que em 2012 as ameaças digitais para Android corresponderam a 79% de um total para dispositivos móveis.

Considerando que o Android possui como núcleo do sistema operacional o Linux, espera-se que assim como as inúmeras distribuições Linux para desktop o Android seja tão seguro quanto. Acontece que não é exatamente assim, o Linux imposto ao Android acabou sendo tão adaptado que perdeu em muito sua essência, embora continue sendo Linux, perdeu-se muito das políticas de segurança, que realmente toravam o sistema seguro de fato.

Assim chegamos no famoso Jailbreak para iphone. Técnica esta que consiste em desbloquear o sistema para o uso de aplicativos não autorizados pela Apple. Por que alguém, em sã consciência, realizaria esta técnica, tendo em vista que é justamente este bloqueio da Apple que garante a blindagem do sistema? Para responder a esta questão precisamos voltar a 2007, no lançamento do primeiro iphone. A apple anunciou como um aparelho revolucionário, o que de fato foi (basta ver o que eram os smartphones antes e depois de iphone).

Mas o ponto principal, que de início não se tornou muito famoso entre os usuários foi o excelente IOS. É basicamente um sistema operacional completo no corpo de um celular. Não demorou muito para que os usuários mais hardcores descobrissem que aquele sistema escondia bem mais poder do que a Apple queria que seus usuários soubessem. A começar pelo fato de que não existiam aplicativos para o sistema, a ideia inicial era que tudo funcionasse pela nuvem, portanto não havia necessidade de aplicativos locais. Com o desenvolvimento do jailbreak, inúmeros desenvolvedores passaram a criar aplicativos para realizar tarefas que o IOS ainda não havia implementado, como a simples funcionalidade de copiar e colar textos e a multitarefa, permitindo abrir novos aplicativos enquanto se mantinham outros em segundo plano.

Apenas devemos salientar que esta técnica não é proibida judicialmente, apenas anula a garantia do iphone perante a Apple. E o ponto negativo? Certamente é a insegurança proporcionada. Não ha nenhuma garantia de que os aplicativos disponíveis em lojas alternativas a Apple Store sejam totalmente seguros e a prova de falhas.

Então, será que alguém ainda não possui um bloqueio por senha no smartphone? Essa é a hora de agir. Lembrando sempre do “bom senso”, requisito fundamental para evitar ataques virtuais, não apenas no seu smartphone, mas também nos tablets, desktops e notebooks.

Autor: Rober Zanotto Guerra
Referências:
– IDC Analyze the Future, http://br.idclatin.com/releases/news.aspx?id=1440
– Oficina da Net, Rafaela Pozzebon, http://www.oficinadanet.com.br/post/10069-android-e-o-lider-em-ameacas-digitais
– Revista Info, Monica Campi, http://info.abril.com.br/noticias/seguranca/malware-que-atacou-macs-teve-origem-no-wordpress-23042012-8.shl
– url imagem: http://blog.dialaphone.co.uk/wp-content/uploads/2011/01/phone-security.jpg

¹malware: qualquer software com objetivo malicioso.

Vírus de Computador


Vírus de computador são programas maliciosos que prejudicam o próprio usuário ou a terceiros, visto que este infecta o sistema operacional e pode se espalhar para outros computadores.

Os primeiros vírus foram criados no início da década de 80 e era propagavam por meio de disquetes contaminados, e na maioria das vezes alterava as informações de inicialização dos computadores. Desde então, surgiram novos tipos de vírus, com uma capacidade destrutiva cada vez maior. Continue lendo “Vírus de Computador”

Investimentos em inovação e segurança dentro de instituições financeiras tendem a andar lado a lado

Com a ascensão do acesso a agencias bancárias através de novas tecnologias e com a disseminação deste recurso as mais variadas classes sociais, tenta-se estimar como as instituições financeiras pretendem encarar os investimentos com tecnologia e segurança da informação em nosso país. Continue lendo “Investimentos em inovação e segurança dentro de instituições financeiras tendem a andar lado a lado”

Entendendo o Ataque DoS e DDoS

Denial of Service Attack (DoS), ou Ataque de Negação de Serviço consiste em um ataque feito a um sistema com a finalidade de suspender seu funcionamento. Este ataque é muito comum em servidores web. Diversos fatores podem fazer com que pessoas efetuem esses ataques, como questões políticas, financeiras, protestos ou até mesmo apenas por diversão.

O ataque DoS consiste basicamente em sobrecarregar o sistema atacado, consumindo assim todos os seus recursos de processamento ou memória. Pode também ser feito por meio de obstrução dos canais de comunicação entre o sistema atacado e seus usuários. Continue lendo “Entendendo o Ataque DoS e DDoS”

Spam e Mecanismos AntiSpam

“Em 2008, internautas brasileiros enviaram 2,7 trilhões de spams. No primeiro bimestre deste ano, o país passou à primeira posição no ranking mundial, após ter sido responsável por 7,7 trilhões somente em 2011.”

Spam, mensagem eletrônica não-solicitada enviada em massa, é hoje uma realidade que representa quase 70% do total de e-mails enviados. O conteúdo varia desde a venda de produtos, correntes, boatos, propagandas, golpes financeiros, até a disseminação de softwares maliciosos. Continue lendo “Spam e Mecanismos AntiSpam”