Academia.eduAcademia.edu

Segurança, Usabilidade e interação

2012

As diferenças entre Interação Humano-Computador e Segurança (IHCSec) e Interação Humano-Computador (IHC) ainda são temáticas novas, e existe um delicado equilíbrio entre melhorar a usabilidade de um sistema e reduzir sua segurança. Técnicas de IHC visam melhorar a eficácia e satisfação dos usuários, mas não levam seriamente em conta ameaças e vulnerabilidades que podem introduzir. Utilizamos o estudo de caso de um software desenvolvido no laboratório LaPeSD da Universidade Federal de Santa Catarina (UFSC) para validar um modelo de abordagem de Interação Humano-Computador e Segurança (IHCSec). Como resultado de aplicação do modelo, apresentamos controles de segurança criados para o projeto de interação do sistema.

Segurança, Usabilidade e interação Security, Usability and interaction Colusso, Lucas Franco; Bel.; Universidade Federal de Santa Catarina [email protected] Cybis, Alice T. Pereira; PhD.; Universidade Federal de Santa Catarina [email protected] Dantas, Mario; PhD.; Universidade Federal de Santa Catarina [email protected] Resumo As diferenças entre Interação Humano-Computador e Segurança (IHCSec) e Interação Humano-Computador (IHC) ainda são temáticas novas, e existe um delicado equilíbrio entre melhorar a usabilidade de um sistema e reduzir sua segurança. Técnicas de IHC visam melhorar a eficácia e satisfação dos usuários, mas não levam seriamente em conta ameaças e vulnerabilidades que podem introduzir. Utilizamos o estudo de caso de um software desenvolvido no laboratório LaPeSD da Universidade Federal de Santa Catarina (UFSC) para validar um modelo de abordagem de Interação Humano-Computador e Segurança (IHCSec). Como resultado de aplicação do modelo, apresentamos controles de segurança criados para o projeto de interação do sistema. Palavras Chave: Design de Interação, Segurança, Usabilidade. Abstract The differences between Human-Computer Interaction and Security (HCISec) and HumanComputer Interaction (HCI) are still new themes, and there is a delicate balance between improving the usability of a system and reducing its safety. HCI techniques aim to improve the efficiency and user satisfaction, but do not take seriously into account threats and vulnerabilities that it can produce. We use the case study of a software developed at the LaPeSD lab of the Federal University of Santa Catarina (UFSC) to validate a approach model for Human-Computer Interaction and Security (HCISec). As a result of the applied model, we present security controls built into the design of system interaction. Keywords: Interaction design, Security, Usability. Segurança, Usabilidade e interação Introdução É frequente a perspectiva de que efetuar melhorias em usabilidade afeta a segurança de modo negativo, e vice-versa. Yee (2004) atribui esse conflito aos desenvolvedores de sistemas que tratam a segurança, ou a usabilidade, como complementos para um produto já acabado. A segunda razão pela qual a segurança e a usabilidade parecem ser opostos é o conflito de interesses que existe entre os proprietários de sistemas e seus usuários. A Interação HumanoComputador e Segurança (IHCSec) surgiu devido à necessidade identificada pelos especialistas em Interação Humano-Computador (IHC) de melhorar a usabilidade de sistemas seguros, pois apesar da área já ter um longo histórico - as primeiras pesquisas datam de 1975 (Balfanz et al., 2004), e o mesmo autor aponta que poucos trabalhos se concentram sobre a usabilidade de sistemas seguros - Flechais (2005) afirma que a Interação HumanoComputador e Segurança (IHCSec) concentra-se quase que exclusivamente em melhorar a interface do usuário dos sistemas, o que por si só não é suficiente. Os estudos existentes seguem metodologias e procedimentos vindos diretamente de Interação Humano-Computador (IHC), destinados a avaliar a usabilidade de sistemas em geral. Entretanto, avaliações de usabilidade de sistemas de software seguros requerem procedimentos que se afastem das técnicas padrão acima mencionadas. Whitten (2004) destaca diferenças entre softwares seguros e demais softwares. A avaliação de usabilidade de software seguro não deve se concentrar em usabilidade a ponto de excluir a segurança: em certos casos é necessário até mesmo incluir comportamentos e tarefas de nível complexo aos usuários para garantir esta. Neste trabalho, apresentamos pontos de Interação Humano-Computador e Segurança (IHCSec) incluídos no projeto de um software desenvolvido para o setor de exploração de petróleo, no Laboratório de Sistemas Distribuídos da Universidade Federal de Santa Catarina (LaPeSd). Detalhamos fatores pertinentes a sistemas seguros, baseando-nos em um modelo de avaliação de segurança e usabilidade de projeto de software. Assim, o trabalho está organizado da seguinte forma: fundamentação teórica sobre Interação Humano-Computador (IHC) e Interação Humano-Computador e Segurança (IHCSec) com observações sobre Design de Interação, seguido da apresentação do modelo de análise híbrido (Kainda et al., 2010) de abordagem de segurança e usabilidade. Em sequência apresentamos medidas práticas de controle de segurança aplicadas ao referido sistema, e por final, concluímos e discutimos trabalhos futuros. Fundamentação Houve uma série de tentativas em definir usabilidade: o International Standard Organization (ISO)1 define usabilidade como a medida em que um produto pode ser usado por usuários específicos para atingir metas específicas com eficácia, eficiência e satisfação em um contexto específico de utilização. Esta definição enfoca nos objetivos dos usuários (eficácia), a velocidade com que os objetivos são atingidos (eficiência) e a satisfação dos usuários com o sistema dentro de um contexto específico. A definição implica que a usabilidade é contextual. Um sistema com boa usabilidade em um contexto pode não o ser em 1 ISO 9241-11 4o Congresso Sul Americano de Design de Interação Título do Artigo em Português outro. Outras definições de usabilidade incluem diferentes elementos, tais como capacidade de aprendizado (Shackel, 1991) e de memorização (Nielsen, 1993). De acordo com Preece (et al., 2005), “por design de interação, entendemos o seguinte: design de produtos interativos que fornecem suporte às atividades cotidianas das pessoas, seja no lar ou no trabalho.” Em outras palavras, design de interação significa criar experiências que buscam aperfeiçoar e estender a maneira como as pessoas trabalham, se comunicam e interagem. O design de interação, além disso, busca maneiras de dar suporte aos usuários, e assim sendo, conecta-se às definições de segurança de um sistema, o que pode divergir dos objetivos da usabilidade, pois giram em torno de ameaças ao sistema, e estas podem ser tanto invasores mal-intencionados quanto usuários normais, atingidos pelas dificuldades geradas por um mau projeto de interface. Por exemplo: (1) o usuário percebe uma ação sendo inofensiva quando não é; (2) o usuário é incentivado a efetuar uma interação perigosa; (3) o usuário é incapaz da interação desejável. É, portanto, oportuno utilizar-se de um modelo de abordagem para avaliar a segurança e a usabilidade de sistemas ao se propor controles de segurança para design de interfaces em sistemas seguros. Modelo de abordagem A Interação Humano-Computador e Segurança (IHCSec) está centrada no usuário, pois este precisa de um sistema que é ao mesmo tempo seguro e de boa usabilidade. Ainda, segundo Preece (et al., 2005), “avaliar o que foi construído está no centro do design de interação”. Por isso, neste caso, é necessário um modelo de análise híbrido (Kainda et al., 2010), diferente de modelos de segurança padrão e também dos modelos de usabilidade. Os fatores críticos averiguados que necessitam de investigação durante a avaliação de usabilidade e segurança são apresentados abaixo, nas duas primeiras etapas (usabilidade e segurança). Para uma avaliação procedente, também apresentamos as métricas de avaliação, muito embora não sejam considerados parte do modelo de análise proposto. A. Usabilidade • • Eficácia: um sistema só é útil se seus usuários são capazes de atingir os objetivos pretendidos. Um sistema ineficaz pode ser deixado de lado. A eficácia é medida através da capacidade dos usuários em completar uma tarefa em particular ou não. Esta abordagem é adequada para a maioria dos estudos em que a tarefa consiste de um único passo ou caminho. No entanto, tarefas complexas podem exigir uma definição mais detalhada de sucesso ou fracasso, podendo incluir níveis tais como a falha ou sucesso parcial. Satisfação: enquanto análises objetivas de usabilidade de sistemas são comuns, a avaliação subjetiva dos usuários é fundamental para o sucesso de um sistema. Um sistema é fadado a falhar, mesmo quando tem boa usabilidade, se não for popular entre os usuários. A satisfação do usuário pode ser avaliada através de entrevistas e escalas. 4o Congresso Sul Americano de Design de Interação Segurança, Usabilidade e interação • • • • Precisão: o fator de precisão foi identificado principalmente em tarefas de autenticação. Em muitos casos, sistemas de autenticação exigem que os usuários digitem a senha com 100% de precisão. Estas exigências podem ser impactadas por outras demandas ambientais, como a memorização de informação ou fatores pessoais. Eficiência: enquanto os usuários utilizam um sistema para atingir um determinado objetivo, atingir este, por si só, não é suficiente. O objetivo deve ser alcançado dentro de níveis de tempo e esforço aceitáveis. O nível aceitável de tempo ou esforço no contexto de um sistema pode não o ser em outro. A eficiência é capturada através da medição de tempo para completar uma tarefa ou o número de cliques/ botões pressionados para atingir as metas exigidas. Memorização: muitos sistemas de autenticação exigem que os usuários memorizem segredos necessários para adentrar ao sistema. O número de segredos que um usuário é obrigado a guardar aumenta com o número de sistemas de autenticação diferentes que ele interage. Isso resulta em problemas de memorização, onde os usuários têm dificuldades para se autenticar em vários sistemas diferentes, muitas vezes requisitando opções de refazer as senhas. Habilidade: Isto é baseado na suposição de que os usuários vão aprender ou realmente tentar aprender e entender o sistema. Este pressuposto é falho particularmente em sistemas seguros. Usuários só se preocupam com as partes que eles acham que são importantes para as operações específicas que necessitam fazer, e em muitos casos as tarefas de segurança não são vistas como importantes. Estudos anteriores também descobriram que treinar os usuários na utilização de sistemas de segurança é ineficaz. Os fatores acima têm um efeito direto sobre a usabilidade de um sistema. Uma avaliação de usabilidade deve determinar quais os fatores que se aplicam a um software ou contexto específico. B. Segurança • • • • Atenção: os usuários podem facilmente se distrair e diminuir a atenção dedicada a determinada tarefa. Tarefas de segurança exigem atenção total dos usuários, pois do contrário, podem existir falhas de segurança. Vigilância: sistemas seguros tendem a esperar que os usuários estejam alerta e próativos de forma regular, o que é impossível. Tarefas que representam risco de segurança devem ser analisadas e integradas ao fluxo de trabalho dos usuários. Motivação: os usuários têm diferentes níveis de motivação para realizar as tarefas de segurança. Quando os usuários têm a noção de que os riscos são mais diretos a eles, se motivam para realizar tarefas com cautela. Memorização: sistemas de autenticação muitas vezes exigem que os usuários memorizem senhas que são difíceis para alguém adivinhar ou até mesmo atacar com técnicas de força bruta (cracking). Como o número de segredos que os usuários têm 4o Congresso Sul Americano de Design de Interação Título do Artigo em Português • • • que memorizar é grande (tendo em vista a grande quantidade de sistemas que são utilizados atualmente), pode se tornar difícil lembrar alguma senha em particular, especialmente se o sistema não é usado com frequência. Como medida de precaução, os usuários muitas vezes escrevam estas senhas em algum lugar. Isto por si só afeta a segurança do sistema, pois uma senha escrita pode ser encontrada por terceiros. Assim, corre-se o risco de que utilizem tais informações para fins maliciosos. Habilidade: o conhecimento dos usuários ou nível de habilidade desempenha um papel importante na segurança de um sistema. Muitos usuários digitam informações sensíveis em sites desprotegidos porque não têm o conhecimento necessário para distinguir entre um site seguro e um inseguro. Uma avaliação de um sistema seguro deve fazer perguntas como: Quem são os usuários? O que eles sabem sobre o sistema? O que eles deveriam saber? Contexto Social: os seres humanos são seres sociais. Eles ajudam uns aos outros e compartilham informações. Normalmente o compartilhamento é algo positivo. Porém pode vir a ser ruim para a segurança se os usuários compartilharem senhas ou procedimentos de segurança. Muitas vezes os usuários compartilham senhas quando alguém se oferece para ajudá-los com algum problema. A avaliação de um sistema deve analisar como o contexto social afeta a segurança. Condicionamento: tarefas repetitivas de segurança onde os usuários podem prever um resultado podem se tornar uma ameaça para a segurança de um sistema. Um exemplo comum são os pop-up que perguntam aos usuários se um determinado certificado é confiável ou não. Por vezes, ao interagir com tais pop-ups, os usuários percebem que clicar em um determinado botão fará com que o pop-up desapareça para sempre. A análise de segurança e usabilidade de um sistema deve avaliar se as tarefas de segurança têm potencial para condicionar os usuários. C. Métricas mensuráveis Para uma avaliação bem sucedida os elementos de segurança e usabilidade devem ser mensuráveis. A medição é crucial para a análise comparativa e quantificação básica de usabilidade e critérios de segurança. 1. Métricas de usabilidade: Cada fator de usabilidade pode ser medido e quantificado utilizando uma ou mais métricas que fazem parte desse fator. Podemos medir a eficácia através das taxas de sucesso das tarefas. A satisfação é uma medida subjetiva e pode ser mensurada através de questionários, escalas ou entrevistas. A precisão pode ser medida como a taxa de sucesso em tarefas que requerem certo grau de precisão. A eficiência do sistema é medida através do esforço que os usuários fazem para realizar uma tarefa e pode ser capturada através do tempo que o usuário leva para completar uma tarefa e, também, através do número de cliques ou teclas pressionadas. A memorização pode ser mensurada pelo número de usuários que conseguem lembrar-se de uma senha previamente memorizada. 4o Congresso Sul Americano de Design de Interação Segurança, Usabilidade e interação 2. Métricas de segurança: fatores de segurança também devem ser mensuráveis. Podemos medir a atenção monitorando e determinando se uma falha de segurança ocorreu, ou não, devido à falta de atenção para alguma informação ou elemento específico, utilizando-se, por exemplo, do eye-tracking. Também podemos capturar índices de vigilância monitorando se os usuários consistentemente prestam atenção às tarefas de segurança. Esta informação também pode ser capturada através de questionários. Além disso, pode-se capturar o condicionamento analisando os erros dos usuários e determinando se os eventos anteriores tiveram efeito sobre a ocorrência destes. A motivação não pode ser medida diretamente, mas pesquisas mostram que a motivação para envolver-se em uma tarefa de segurança é dirigida pela percepção de suscetibilidade a ataques; os benefícios advindos das ações de segurança; facilidades de interação com os controles de segurança; e a gravidade de cometer-se uma falha de segurança (Ng et al., 2009). A mensuração de tais fatores permite observar a motivação dos usuários em executar tarefas de segurança de forma eficaz. Além disso, podemos capturar a memorização contando o número de ações corretas e perguntando aos usuários se eles têm problemas de memorização ou não, enquanto a habilidade pode ser capturada em forma de sucesso no desempenho de tarefas. Com base nos tópicos acima, para analisar a segurança e usabilidade de um sistema, utilizamos o conceito de cenários de uso (ou simplesmente cenários) e cenários de ameaça (negativa). Em nosso contexto, podemos definir cenários de uso como ações que são desejáveis para o sistema, e cenários de ameaça como ações que não são desejáveis e que, portanto, o sistema não deve permitir que ocorram, ao aplicar os tópicos anteriores. Enquanto cenários de uso e cenários de ameaça são tradicionalmente usados durante o levantamento de requisitos e no projeto de Design, aplicamos estes cenários também para a análise de segurança e usabilidade de um sistema também durante seu desenvolvimento, assim como após a finalização do produto, como análise contínua. Recomendações para o software O software utilizado neste caso é um gestor de submissões e recursos computacionais, que manipula uma grande quantidade de dados homogêneos e/ou heterogêneos distribuídos, para que diferentes unidades de processamento trabalhem cooperativamente para responder as requisições específicas de diferentes aplicações dos usuários do sistema. A natureza distinta dos usuários nas organizações leva à criação de diferentes políticas de utilização de recursos, segurança de acesso e controle dos recursos computacionais. Desta forma, podendo representar um obstáculo intransponível, para que essas configurações efetivamente possam processar cooperativamente com certo grau de desempenho as aplicações de diferentes usuários. Usuários diferentes têm necessidades diferentes e produtos interativos precisam ser projetados de acordo com tais necessidades (Preece et al., 2005). Em especial, este fato é um complicador adicional para aqueles envolvidos no desenvolvimento e testes através de simulações, onde a quantidade de processamento e a capacidade de abstração 4o Congresso Sul Americano de Design de Interação Título do Artigo em Português do usuário são elementos essenciais e diferenciais para um bom resultado no tratamento dos dados para que informações relevantes sejam obtidas. O middleware proposto encarrega-se de conectar com as melhores opções de gerenciamento de recursos (exemplos LSF, TORQUE/PBS e Condor) e fazer com que a aplicação seja alocada no melhor ambiente disponível e ocioso. Deve-se entender que o sistema deverá fazer alocação inclusive para ambientes onde não existe um gerenciador de recursos, que é, geralmente, o caso dos PCs rodando Windows e/ou Linux. Desta forma, o software busca facilitar a gestão de submissão, monitoramento e coleta de resultados das aplicações de reservas e reservatórios, tratando a complexa heterogeneidade dos dados e processamentos como um somatório de partes de ambientes homogêneos. O diferencial da proposta de pesquisa e desenvolvimento do LaPeSD (Laboratório de Pesquisa em Sistemas Distribuídos) da Universidade Federal de Santa Catarina se concentra na elevação da abstração da execução dos aplicativos e simulações para um nível em que os recursos devem ser solicitados, mesmo por máquinas do tipo PC executando Windows e/ou Linux. Por ser um software importante para a organização que o utiliza, envolve fatores críticos para a pesquisa e desenvolvimento de novas ações para exploração de reservas de petróleo. Sendo esses: tomada de decisões, recursos de tempo e energia e etc. O software se caracteriza como um sistema seguro e pode ser abordado por meio do modelo apresentado anteriormente. A fim de determinar quais cenários de uso e ameaças devam ser abordadas em primeiro lugar, estes podem ser elencados usando uma matriz de nível de risco (Stoneburner et al., 2002). Usando tal matriz, cada situação pode ser classificada de acordo com sua probabilidade de impacto sobre o sistema. Assim, utiliza-se o modelo de abordagem aqui apresentado, adaptado ao presente projeto, seguindo a lógica da ISO 9241-11, sobre as diferenças de contexto e suas implicações. Depois da realização de pré-testes feitos com um protótipo do software, onde pudemos definir os cenários de uso e de ameaça, elencamos tópicos que representavam as maiores problemáticas do sistema e onde nossos esforços se concentrariam: 1. Memorização; 2. Atenção; 3. Responsabilidade. Chegamos então às recomendações finais, tendo como base todas as etapas anteriores. Abaixo a descrição das ações específicas para suprir deficiências do sistema: • Manutenção de um controle sobre as senhas dos usuários e de suas atividades no sistema, através da geração de relatórios que os administradores possam acessar. Assim, evitam-se problemas como, por exemplo, criar um acesso por meio de senhas e permitir que os usuários escolham seus próprios códigos, o que poderia facilitar ameaças de invasores usando ferramentas para cracking. • Adição de um controle de segurança para ativar o estado de atenção do usuário, através da confirmação da intenção em executar atividades críticas, que exijam muito poder de processamento ou que levem muito tempo para serem executadas. Dificultando, assim, o engajamento em atividades de forma displicente ou nãointencional, o que leva à maior eficiência e eficácia no uso do sistema. 4o Congresso Sul Americano de Design de Interação Segurança, Usabilidade e interação • • Melhorias para a tela de submissão de atividades a serem escalonadas e executadas pelo software, cuidados específicos com as formas de expor as informações, para que sejam quanto mais claras possíveis, evitando erros de interpretação. Além disso, antes de efetivamente executar a ação, o sistema deve pedir ao usuário para revisar todos os parâmetros de processamento incluídos na submissão da tarefa. Criação de um histórico de atividades que traga junto das ações os nomes dos usuários que as executaram. Espera-se assim desenvolver um foco na responsabilidade sobre as atividades desenvolvidas no sistema que poderão ser catalogadas e vistas a qualquer momento, pelos colegas e superiores. Conclusão Utilizamos um modelo de abordagem de Interação Humano-Computador e Segurança (IHCSec) para implementar controles em um software e torná-lo mais seguro e eficaz. Empregamos cenários de uso e cenários de ameaças para compreender e identificar elementos que prejudicam a usabilidade e a segurança, tanto internos ao sistema quanto externos. Após as implementações de correções no sistema, concluímos que é pouco provável eliminar por completo as ameaças, tanto externas quanto internas. Trata-se de uma tarefa infinita de avaliação-correção, e na maioria das vezes, deverão haver compensações entre segurança e usabilidade. O objetivo, portanto, é minimizar tanto quanto for possível os cenários de ameaça e maximizar a acessibilidade dos cenários de uso, levando-os a níveis aceitáveis, que variam de caso para caso e precisam ser avaliados com base no sistema, seu contexto e nas tarefas a serem desempenhadas nestes sistemas. Este é um esforço inicial na implementação e estudo de padrões de segurança no Design de Interação e análise de segurança e de usabilidade em projetos de softwares seguros. Em futuros trabalhos serão adicionadas recomendações mais práticas, como elementos visuais e design de comportamentos em objetos e suas reações às ações dos usuários a sistemas seguros. Referências ALEXANDER, I., NEIL, M. Scenarios, Stories and Use Cases. John Wiley, 2004. FLECHAIS, I. Designing secure and usable system. Tese de Ph.D. Universidade de Londres, 2005. ISO 9241-11. Ergonomic Requirements for Office Work with Visual Display Terminals. T. I. S. Organisation, 1998. KAINDA, R., FLECHAIS, I., ROSCOE, A. W. Security and Usability: Analysis and Evaluation. In: ARES 2010, Fifth International Conference on Availability, Reliability and Security, p. 275-282, 2010. Polônia, IEEE Computer Society. 4o Congresso Sul Americano de Design de Interação Título do Artigo em Português NG, B-Y.; KANKANHALLI, A.; XU, Y. C. Studying Users’ Computer Security Behavior: A Health Belief Perspective. In: Decision Support Systems, vol. 46, no. 4, p. 815-825, 2009. Disponível em: < http://goo.gl/v4VZX>. Acesso em: 16 ago. 2012. NIELSEN, J. Usability Engineering. Londres : Academic Press, 1993. PREECE, Jennifer; ROGERS, Yvone; SHARP, Helen. Design de Interação: Além da Interação homem-computador. Editora Bookman, São Paulo: 2005. SHACKEL, B. Usability — context, framework, definition, design and evaluation. In: Human factors for informatics usability. p. 21-37, 1991. Cambridge University Press New York, Nova Iorque. STONEBURNER, G., GOGUEN, A., FERINGA, N. I. Risk Management Guide for Information Technology Systems. Recomendações do Instituto Nacional de Regulamentos e Tecnologia. Departamento Norte-americano de Comércio, Gaithersburg, 2002. YEE, K. P. Aligning Security and Usability. In: IEEE Security & Privacy, vol. 2, no. 5, pp. 48–55, 2004. WHITTEN, A. Making Security Usable. Tese de Ph.D. Carnegie Mellon University, 2004. 4o Congresso Sul Americano de Design de Interação