Instituto de Tecnologia de Massachusetts. Curso de Aula nº 6.858. "Segurança de sistemas de computador". Nikolai Zeldovich, James Mickens. 2014 ano
Computer Systems Security é um curso sobre o desenvolvimento e implementação de sistemas de computador seguros. As palestras abrangem modelos de ameaças, ataques que comprometem a segurança e técnicas de segurança baseadas em trabalhos científicos recentes. Os tópicos incluem segurança do sistema operacional (SO), recursos, gerenciamento de fluxo de informações, segurança de idiomas, protocolos de rede, segurança de hardware e segurança de aplicativos da web.
Palestra 1: “Introdução: modelos de ameaças”
Parte 1 /
Parte 2 /
Parte 3Palestra 2: “Controle de ataques de hackers”
Parte 1 /
Parte 2 /
Parte 3Aula 3: “Estouros de Buffer: Explorações e Proteção”
Parte 1 /
Parte 2 /
Parte 3Palestra 4: “Separação de Privilégios”
Parte 1 /
Parte 2 /
Parte 3Palestra 5: “De onde vêm os sistemas de segurança?”
Parte 1 /
Parte 2Palestra 6: “Oportunidades”
Parte 1 /
Parte 2 /
Parte 3Palestra 7: “Sandbox do Cliente Nativo”
Parte 1 /
Parte 2 /
Parte 3Aula 8: “Modelo de Segurança de Rede”
Parte 1 /
Parte 2 /
Parte 3Aula 9: “Segurança de aplicativos da Web”
Parte 1 /
Parte 2 /
Parte 3Palestra 10: “Execução Simbólica”
Parte 1 /
Parte 2 /
Parte 3Aula 11: “Linguagem de Programação Ur / Web”
Parte 1 /
Parte 2 /
Parte 3Aula 12: Segurança de rede
Parte 1 /
Parte 2 /
Parte 3Aula 13: “Protocolos de Rede”
Parte 1 /
Parte 2 /
Parte 3Palestra 14: “SSL e HTTPS”
Parte 1 /
Parte 2 /
Parte 3Palestra 15: “Software Médico”
Parte 1 /
Parte 2 /
Parte 3Palestra 16: “Ataques de Canal Lateral”
Parte 1 /
Parte 2 /
Parte 3Palestra 17: “Autenticação de Usuário”
Parte 1 /
Parte 2 /
Parte 3 Uma das coisas interessantes que este artigo discute é que, se você passar por todos esses esquemas de autenticação, os autores dizem: “OK, essas são senhas, elas meio que sugam, e há outras coisas que fornecem segurança muito melhor mas geralmente não conseguem implantar, são inconvenientes de usar e similares. ”

Este é um resultado interessante e ao mesmo tempo decepcionante deste trabalho, que consiste no fato de que, mesmo que tenhamos todas essas ferramentas que oferecem maior segurança de protocolo, não podemos usá-las por causa de extrema inconveniência.
Portanto, o Telepathwords é apenas um site divertido, eles alegam que não armazenam suas senhas, para que você possa acreditar nas palavras deles, se quiser. Mas é muito interessante apenas sentar e pensar em como a senha foi criada. E, em seguida, insira-o aqui e veja como é fácil adivinhar. Ele ainda permite que você faça coisas como a análise heurística de frases populares de várias palavras, das quais apenas a primeira letra de cada palavra é selecionada para a senha. Então, isso é muito útil.
Outra coisa interessante é que suas senhas podem ser adivinhadas offline. Essa vulnerabilidade, chamada pré-autenticação, ou "pré-autenticação", era inerente ao Kerberos v4 e v5. Qualquer pessoa pode solicitar um ticket criptografado com a senha do usuário ao KDC.
Portanto, o KDC não autenticou solicitações do cliente. O KDC retornou um conjunto de vários bits em resposta à solicitação, que foi criptografada com a chave do cliente. Foi isso que foi devolvido ao cliente. O problema era que o servidor não verificou quem enviou esse conjunto criptografado de coisas, portanto, basicamente, o invasor pode obtê-lo e tentar adivinhar o que é o K_C.

Apenas tente adivinhar o valor K_C, tente criptografá-lo, veja se parece com ele, se não, tente adivinhar outro K_C, decifre-o, veja se parece com a verdade e assim por diante. O motivo que permite que um invasor organize esse tipo de ataque é porque, aqui dentro dos colchetes, esse TGT realmente tem um formato conhecido. Há algo como carimbos de data e hora e campos de referência consistentes internos, e tudo isso ajuda o invasor a adivinhar a senha. Como se o atacante adivinhar K_C e receber o conteúdo descriptografado dos colchetes, mas os campos internos não forem verificados, o invasor entenderá que ele escolheu o K_C errado e será levado para o próximo.
No Kerberos versão 5, o cliente deve passar um carimbo de data / hora para o KDC, após o qual o rótulo será criptografado usando K_C. Tudo isso é enviado ao servidor, o servidor examina essa solicitação e a verifica antes de enviar algo ao cliente. Portanto, qualquer cliente aleatório pode vir e apenas pedir isso no servidor.
Aluno: o registro de data e hora aparece na mensagem? Um invasor poderia simplesmente pegar e quebrar essa mensagem usando força bruta?
Professor: vamos ver. Um invasor pode receber essa mensagem K_C {time stapm}?
Aluno: Sim, esta é uma mensagem criptografada.
Professor: ou seja, você acha que um invasor poderia, por exemplo, simplesmente fingir essa mensagem?
Aluno: não, ele usaria força bruta para combinar com K_C.
Professor: Entendo , em outras palavras, você está preocupado que alguém possa espionar o conteúdo desses colchetes. Acredito que o conteúdo esteja dentro da coisa criptografada que pertence ao servidor ou da chave que pertence ao servidor, a fim de evitar um ataque desse tipo, mas essa é apenas a minha opinião. Mas, em geral, você está certo, se um invasor conseguir descobrir o carimbo de data / hora na solicitação de um cliente, será de grande benefício para ele. Nesse caso, ele pode adivinhar em que intervalo os carimbos de data e hora vizinhos podem estar e usá-lo para um ataque semelhante.
Aluno: neste caso, o atacante deve ser "um homem no meio".
Professor: é assim, o invasor deve estar em algum lugar da rede entre o cliente e o servidor para "descobrir" essas coisas.
Outra coisa importante é a recuperação de senha. O ponto é que, se você perder sua senha, deverá ir ao escritório e solicitar uma senha diferente. Mas antes de obter essa senha, você deve provar de alguma forma que é você.
Então, como isso funciona? Como posso recuperar minha senha? Curiosamente, as pessoas geralmente se concentram na entropia da própria senha. Mas o problema é que, se as perguntas usadas para recuperar a senha ou o esquema de recuperação de senha tiver pouca entropia, isso afetará a entropia do esquema geral de autenticação. Em outras palavras, a força do esquema de autenticação geral é igual à entropia mínima da senha e à entropia mínima do problema para recuperação de senha. Existem muitos cenários e regras, há casos conhecidos suficientes, como o caso de Sarah Palin. Alguém conseguiu recuperar sua senha de maneira fraudulenta porque suas perguntas de recuperação de senha eram de tal ordem que qualquer estranho poderia encontrar uma resposta para elas, por exemplo, lendo um artigo da Wikipedia sobre ela que escrevia em qual escola frequentava e assim por diante

Muitas vezes, essas perguntas de recuperação de senha não são boas o suficiente por vários motivos. Às vezes, essas coisas têm entropia muito baixa. Por exemplo, se sua pergunta para recuperação de senha for "qual é a sua cor favorita", as respostas mais populares serão "azul" e "vermelho". Ninguém responderá "branco", "fúcsia" ou "roxo". Portanto, alguns desses problemas de recuperação são inerentemente incapazes de fornecer entropia suficiente.
Outro problema é que, às vezes, as respostas às perguntas para recuperação de senha podem vazar pelas redes sociais. Por exemplo, se uma das perguntas para a recuperação de senha é "qual é o seu filme favorito", há muito mais espaço de adivinhação, por exemplo, posso ver seu perfil no IMDB ou no Facebook e encontrar o nome do seu filme favorito que você me disse. .
E outro problema, o mais engraçado, é que os próprios usuários apresentam perguntas de recuperação muito fracas, por exemplo, o que serão 2 mais 3? Ou seja, o usuário acha que, para alguém, será um grande problema dar a resposta correta a essas perguntas, mas a maioria das pessoas que passa no teste de Turing pode respondê-las com êxito e usar sua senha.
Aluno: é possível usar algumas informações adicionais em vez de perguntas para recuperar a senha, assim como inserimos nosso nome em um email ou descrevemos brevemente o conteúdo da carta no cabeçalho - essa abordagem pode garantir a segurança de coisas desse tipo?
Professor: Eu não conheço nenhuma dessas pesquisas, mas na verdade essas coisas são muito melhores. Eu sei disso porque tentei ajudar minha namorada a passar por esse processo. Ela perdeu o controle de sua conta do Gmail e tentou provar que era a conta dela. E os proprietários do site perguntaram a ela sobre coisas como, por exemplo, quando ela criou sua conta, se ela conversou com alguém sobre sua conta, por exemplo, o Hezbollah, antes de perder o controle sobre ela e coisas assim. Na verdade, é um processo demorado, mas, no final, informações adicionais são mais fortes do que as perguntas de recuperação de senha. Não conheço nenhum estudo oficial sobre esse tópico, mas parece que isso é óbvio.
Se você não tiver perguntas, podemos começar o tópico da palestra de hoje descrita no artigo. Portanto, os autores propõem considerar vários fatores que podem ser usados para avaliar a eficácia dos esquemas de autenticação. O que é realmente interessante neste artigo é que ele diz que a maioria de nós na comunidade de segurança luta apenas por princípios estéticos. Por exemplo, "temos que escolher isso porque gosto da aparência das chaves" ou "temos que escolher isso porque ele usa muitos métodos matemáticos".
Eles dizem: por que não tentamos estabelecer alguns critérios para avaliar a eficácia? Talvez alguns desses critérios sejam um pouco subjetivos, mas vamos tentar sistematizar os métodos para avaliar os esquemas de autenticação. Vamos ver como esses vários padrões são empilhados em pilhas separadas.
Os autores do artigo propuseram três parâmetros de alto nível para avaliar esses esquemas. O primeiro parâmetro é usabilidade. O primeiro requisito neste parâmetro é a facilidade de aprender o método de autenticação. Sua idéia principal é como é fácil para os usuários interagirem com o esquema de autenticação. Aqui eles observam algumas propriedades características, por exemplo, é fácil aprender esse método e esse esquema de identificação do usuário é fácil de aprender.
Algumas dessas categorias são bastante simples, outras incluem alguns truques, mas isso faz muito sentido. Se você olhar para as senhas, elas atenderão a esse requisito, porque todo mundo está acostumado a usar senhas; portanto, diremos que o uso delas é fácil de aprender e responderemos "sim".
O segundo requisito é a raridade de erros de autenticação. Isso significa que, se você é um usuário real do sistema, não deve haver erros ao tentar autenticar você. E aqui, com relação às senhas, os autores dizem que correspondem condicionalmente a esse parâmetro. "Condicionalmente" neste caso significa que os autores reconhecem a presença de subjetividade em sua avaliação. Assim, para a questão de saber se raramente ocorrem erros durante a autenticação com senhas, não podemos definitivamente responder "sim" ou "não".
Como regra, você pode se autenticar, mas, por exemplo, ao tentar acessar o servidor de correio às 3 da manhã, pensando mal, e digitar a senha incorreta várias vezes, nesse caso, você poderá reconhecer um erro no sistema de autenticação. Portanto, eles acreditam que as senhas atendem condicionalmente a esse requisito.
O próximo requisito é escalabilidade para os usuários. A idéia principal aqui é que, se um usuário tiver vários serviços diferentes nos quais deseja se autenticar, esse esquema será bem dimensionado? O usuário deve se lembrar de algo novo para cada um dos esquemas? Aqui, com relação às senhas, os autores dizem claramente "não", pois a autenticação com senhas não atende a esse requisito. Porque, na prática, é muito difícil para os usuários lembrar uma senha separada para cada site que eles visitam. De fato, esse é um dos motivos pelos quais as pessoas costumam usar a mesma senha para autenticação em diferentes serviços.
Outro requisito de usabilidade é a facilidade de recuperação. Ou seja, o que acontece se você perder o token para autenticação, neste caso sua senha, é fácil redefini-lo? Nesse caso, a resposta para senhas é sim. Na verdade, eles são fáceis demais de redefinir, como discutimos alguns minutos atrás.
O próximo requisito é não exigir nada extra, nem transportar nenhum meio adicional para autenticação. Por exemplo, protocolos de autenticação fantasiosos exigem que você execute algum tipo de aplicativo para smartphone ou tenha algum tipo de token de segurança, cartão inteligente e similares. Portanto, este é um fardo pesado. Talvez não haja muitos problemas com o smartphone, basta instalar o aplicativo para autenticação, mas carregar um dos outros gadgets o tempo todo é bastante inconveniente. Portanto, uma boa propriedade das senhas é que você deve carregá-las consigo apenas em seu cérebro, o que você deve sempre ter com você.

Aqui estão os critérios para a usabilidade de um esquema de autenticação. Em um sentido geral, é interessante como as pessoas da comunidade de segurança discordam da importância desses critérios. Por exemplo, eles dizem: “essa coisa usa um milhão de peças de entropia e apenas uma catástrofe universal pode decifrá-la”, esquecendo que os requisitos acima também são importantes para os esquemas de autenticação.
Portanto, o próximo parâmetro de alto nível que os autores do artigo usam para avaliar o esquema de autenticação é a capacidade de implantação. Ele descreve como é fácil implementar esse sistema de autenticação nos serviços de rede existentes. Por exemplo, eles consideram a compatibilidade do servidor, ou seja, é fácil integrar esse esquema aos servidores modernos nos quais a autenticação se baseia no uso de senhas de texto? Nesse sentido, as senhas cumprem totalmente esse requisito, para que possamos responder "sim".
O segundo requisito é a compatibilidade do navegador, é semelhante ao anterior e diz: Posso usar esse esquema de autenticação para navegadores populares existentes sem a necessidade de instalar um plug-in ou algo assim? Novamente, aqui as senhas ganham por padrão.
Outro requisito interessante é acessibilidade, excessibilidade. Ou seja, as pessoas com algumas deficiências físicas poderão usar esse esquema de autenticação, por exemplo, cego ou com deficiência auditiva, com habilidades motoras insuficientes e similares. Este é realmente um requisito muito importante.
Aqui, os autores mais uma vez dizem "sim", o que é um pouco estranho, porque não está claro como as pessoas com deficiência podem usar senhas, mas os autores dizem que podem.

Estes são os requisitos que você deve considerar em relação à capacidade de implantar esse esquema de autenticação. O motivo da implantação ser particularmente importante é que é extremamente difícil atualizar todas essas coisas para implementar um novo esquema, pois pode ser difícil para as pessoas atualizarem as coisas. Quero dizer, muitas vezes as pessoas nem querem reiniciar suas máquinas e instalar uma nova atualização do sistema operacional. Portanto, surgem grandes dificuldades se o esquema de autenticação exigir alterações no servidor que forçam as pessoas que atendem ao servidor a executar operações adicionais. Isso é relevante para sua pergunta: por que não usamos informações adicionais ou para melhorar a força da senha? As características de implantação, em muitos casos, são muito, muito importantes para as pessoas.
Portanto, o último parâmetro que consideraremos é a segurança. Que tipos de ataques esse esquema pode impedir? Denotarei essa característica por Res - adaptabilidade a foo, onde foo é qualquer efeito que possa causar danos.
Por exemplo, a primeira característica indica a estabilidade do sistema à observação física, "espiando" ou "espionando". O ponto é que o invasor não pôde se passar por um usuário real depois de várias vezes observar sua autenticação no sistema. Imagine que você está em uma aula de informática e alguém está parado atrás de você e assistindo o que você digita. Talvez alguém esteja filmando você em vídeo, talvez alguém tenha um microfone que "tira" a assinatura acústica do seu teclado e está tentando extrair algo dele, e assim por diante.
Os autores do artigo dizem que as senhas não atendem a esse requisito, porque um invasor pode visualizar o vídeo e descobrir com facilidade as letras que você digitou. Existem ataques que usam impressões digitais acústicas no teclado para identificar caracteres imprimíveis. Portanto, as senhas não são resistentes a observações físicas.
– , . , - – , , , , , . , , - , , , , , . « – ».
, , , - - , .
, . – . , , , Antihammering. , , «». , „“, , , , . .
– . , , . , . , «» , .
, , .
. , , , , , , , . , , , .
- , , . . .
, , . — . , , , DNS - , , . , : «, , , ». , , .

. : . , , . , , , , . , , .
, , , , , , , . . , , , , , , , .
, , , .
– , . , , . , . , – , .
, , , HTTPS . , CA, . - , , .

, , «». , . , - Gmail, Facebook.
, , . , .
, . , , . , , , , .
, . , . , 13,3 , – 19,9 , , 11,7 .
54:15
Curso MIT "Segurança de sistemas de computadores". 17: « », 3.
Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10 GB DDR4 240 GB SSD de 1 Gbps até dezembro de graça quando pagar por um período de seis meses, você pode fazer o pedido
aqui .
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?