Aula3 Flashcards
(38 cards)
ROLE OF MACHINE LEARNING IN SECURITY
Programas de computadores que permitem de alguma maneira otimizar o processo/desempenho usando experiências passadas. As experiências passadas servem para guiar a própria aprendizagem do computador. Mas nem todas as situações obrigam a ter conhecimento de machine learning ou obrigam a aplicação de algoritmos de machine learning, pois, o próprio Excel ou outros modelos mais elementares permitem responder. A aprendizagem é sobretudo necessária quando o conhecimento humano ainda não existe (por exemplo navegar em Marte).
O que é a Aprendizagem máquina
A aprendizagem máquina é a programação de computadores para otimizar um critério de desempenho usando dados de exemplo ou experiências anteriores. Não há necessidade de, por exemplo, “aprender” a calcular a folha salarial.
A Aprendizagem máquina é utilizada quando?
A aprendizagem é usada/pode ajudar quando:
* A experiência humana não existe (navegar em Marte).
* Quando os humanos são incapazes de explicar os seus conhecimentos (reconhecimento de voz).
* Mudanças de soluções ao longo do tempo (roteamento em uma rede de computadores).
* Quando a solução precisa ser adaptada a casos particulares (biometria do utilizador).
Que três termos podem definir o Machine Learning?
Em geral, uma tarefa de machine learning pode ser definida formalmente em termos de três elementos:
* A experiência E, as tarefas T e o elemento de desempenho P.
Diz-se que um programa de computador cujo objetivo é aprender baseado numa experiência E (tem que existir uma experiência previa), que permita de alguma maneira ter classes de tarefas T, e permite medir o desempenho P, e através do processo de medição da execução das respetivas tarefas consegue-se melhorar a experiencia sucessivamente, ou seja, a máquina vai aprendendo ao longo do tempo.
Abordagem Machine Learning
Os resultados são input (ver imagem abaixo) e são importantes porque através dos resultados é possível treinar o computador, e esse computador vai construir o programa que permite chegar a resultados progressivamente melhores.
Avanços do Machine Learning
O machine learning está a avançar a passos largos devido:
* Grandes e bons conjuntos de estruturas de dados
* Poder/processo de computação
* Progresso em algoritmos (os algoritmos são cada vez melhores)
Aplicações do ML
Muitas aplicações interessantes:
* Comercial (explorado pelo tecido empresarial)
* Científico (explorado pelas universidades e centros de investigação)
Relacionado com a inteligência artificial: No entanto, a IA é diferente de aprendizagem máquina (machine learning).
Quem surgiu primeiro: ML ou AI?
Nota: Surgiu primeiro o AI e só depois o machine learning. Existem modelos de AI que não estão relacionados com machine learning. Há um conjunto de técnicas que não são inspirados no machine learning). Há técnicas que são baseadas no comportamento animal sendo referente a AI e não ao machine learning. O AI é muito maior que o machine learning.
Ataques proativos vs Ataques reativos (distinção entre ambos)
Tanto as medidas reativas como as proativas são extremamente importantes (complementam-se). Devemos ter uma combinação de ambos, contudo quanto mais proativo melhor, pois, menores são os riscos para a organização.
Ataque reativo
Um ataque reativo necessita primeiro que exista um potencial atacante e existe um classificador. O potencial atacante analisa indiretamente o classificador, onde explora as possíveis vulnerabilidades para desenvolver e lançar o ataque. Do lado da empresa (do classificador) tem que analisar os resultados do ataque e tem que propor medidas reativas para mitigar os ataques.
Ataque proativos
Parte de um modelo distinto, em vez de ter um adversário temos um designer de classificador na mesma, onde estimamos um conjunto de modelos, estimamos o modelo do potencial atacante. Para isso construímos um dataset e realizamos testes de penetração para avaliar o seu impacto no sistema, e depois propomos medidas, onde estas são proativas enquanto que as outras são reativas.
potencias ataques no ML
- Perspetiva da influência dos seus classificadores
- Perspetiva da violação da segurança
- Perspetiva do objetivo do atacante
Perspetiva da influência dos seus classificadores
- Ataque causal – o objetivo do ataque está explicito.
- Ataque exploratório – o atacante tenta lançar o ataque para procurar as vulnerabilidades do sistema.
Na perspetiva da violação da segurança
- Ataque ao nível da integridade
- Ataque ao nível da disponibilidade
- Ataque ao nível da violação da privacidade
Na perspetiva do objetivo do atacante
- Pode ser um ataque direcionado a uma dada área
- Ataque indiscriminado à organização
Fluxo do ML
- A escolha um algoritmo.
- Treinar o algoritmo, para isso necessitamos sempre dos dados de teste (training data).
- Precisamos de ter um mecanismo de avaliação. Para realizar esta avaliação é necessário ter conhecimentos de estatística.
Como aplicar um algoritmo de machine learning
Primeiro temos que ter dados de origem. Contudo desses dados de origem, nem todos vão entrar no modelo, vai haver uma seleção aleatória de linhas (dados) e vamos classificá-los em 2 grandes grupos: os dados do treino e os dados de teste. O algoritmo irá aprender com os dados de treino e depois irá verificar se realmente os dados de treino que ele tem, estão de acordo com o que ele espera atingir, que é o testing data. É uma comparação do que correu bem e o que correu menos bem.
Como podemos obter dados de teste
- Em projetos open source (há vários).
- Na internet.
- Através da inteligência artificial, criar mecanismos de geração de dados, onde os próprios dados são gerados automaticamente (isto acontece em alguns casos quando não há dados reais).
Técnicas/modelos - REGRESSÃO
Podem ser utilizados para pintar automaticamente imagens a preto e branco ou ao contrário.
Técnicas/modelos - CLASSIFICAÇÃO
Reconhecimento de objetos, que é modelo de classificação.
Técnicas/modelos - REINFORCEMENT LEARNING
Modelo de aprendizagem por reforço (iremos provavelmente utilizar este modelo para o projeto final). Utilizados em jogos, nós treinamos o computador para ele aprender a jogar (Break out).
Técnicas/modelos - CLUSTERING
Baseado no k-Means. Os clusters são muito usados no google maps, e o objetivo é identificar determinadas propriedades, como por exemplo um centro histórico, uma situação de transito automóvel, um dado tipo de comercio, etc.
Algoritmos mais conhecidos - REGRESSION
Ridge regression, Support Vector Machines, Random Forest, Multilayer Neural Networks, Deep Neural Networks,…
Algoritmos mais conhecidos - CLASSIFICATION
Naive Base, Support Vector Machines, Random Forest, Multilayer Neural Networks, Deep Neural Networks,…