Aula3 Flashcards

1
Q

ROLE OF MACHINE LEARNING IN SECURITY

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é a Aprendizagem máquina

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A Aprendizagem máquina é utilizada quando?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Que três termos podem definir o Machine Learning?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Abordagem Machine Learning

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Avanços do Machine Learning

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Aplicações do ML

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quem surgiu primeiro: ML ou AI?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ataques proativos vs Ataques reativos (distinção entre ambos)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ataque reativo

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ataque proativos

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

potencias ataques no ML

A
  • Perspetiva da influência dos seus classificadores
  • Perspetiva da violação da segurança
  • Perspetiva do objetivo do atacante
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Perspetiva da influência dos seus classificadores

A
  • Ataque causal – o objetivo do ataque está explicito.
  • Ataque exploratório – o atacante tenta lançar o ataque para procurar as vulnerabilidades do sistema.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Na perspetiva da violação da segurança

A
  • Ataque ao nível da integridade
  • Ataque ao nível da disponibilidade
  • Ataque ao nível da violação da privacidade
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Na perspetiva do objetivo do atacante

A
  • Pode ser um ataque direcionado a uma dada área
  • Ataque indiscriminado à organização
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fluxo do ML

A
  1. A escolha um algoritmo.
  2. Treinar o algoritmo, para isso necessitamos sempre dos dados de teste (training data).
  3. Precisamos de ter um mecanismo de avaliação. Para realizar esta avaliação é necessário ter conhecimentos de estatística.
17
Q

Como aplicar um algoritmo de machine learning

A

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.

18
Q

Como podemos obter dados de teste

A
  1. Em projetos open source (há vários).
  2. Na internet.
  3. 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).
19
Q

Técnicas/modelos - REGRESSÃO

A

Podem ser utilizados para pintar automaticamente imagens a preto e branco ou ao contrário.

20
Q

Técnicas/modelos - CLASSIFICAÇÃO

A

Reconhecimento de objetos, que é modelo de classificação.

21
Q

Técnicas/modelos - REINFORCEMENT LEARNING

A

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).

22
Q

Técnicas/modelos - CLUSTERING

A

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.

23
Q

Algoritmos mais conhecidos - REGRESSION

A

Ridge regression, Support Vector Machines, Random Forest, Multilayer Neural Networks, Deep Neural Networks,…

24
Q

Algoritmos mais conhecidos - CLASSIFICATION

A

Naive Base, Support Vector Machines, Random Forest, Multilayer Neural Networks, Deep Neural Networks,…

25
Q

Algoritmos mais conhecidos - CLUSTERING

A

k-Means, Hierarchical Clustering,…

26
Q

Aplicações de ML

A

Tem imensas aplicações praticas, nomeadamente:
* Na área do retalho para tentar perceber qual é a probabilidade de compra, quem compra determinado artigo numa loja se compra ou não outro, em CRM’s.
* Financeiro na deteção de fraude.
* Produção, na área de robótica, de controlos, etc.
* Na área da medicina, telecomunicações (identificação de spam).
* Bioinformatica.
* Web mining como por exemplo motores de busca.

27
Q

Problemas do ML

A
  • De acordo com a consultora Gartner 85% dos projetos em ML correm mal.
  • Problemas éticos como por exemplo a Amazon em que os trabalhadores foram despedidos pela inteligência artificial automaticamente. O machine learning pode servir como suporte à decisão, mas não substituto.
28
Q

Razões para que as coisas corram mal

A
  • Desconhecimento do negócio, o machine learning dá métricas e inputs importantes, mas que têm que ser interpretados à luz do negócio.
  • Resolver o problema errado, por não descobrir em concreto o problema.
  • Não ter acesso aos dados, logo não há modelos de treino que resolvam.
  • Não ter os dados certos (dados errados/inconsistentes, não terem qualidade que é um atributo essencial).
  • Ter demasiados dados.
  • Contratação das pessoas erradas (pessoas sem competências necessárias).
  • Ferramentas não adequadas.
  • Não ter o modelo ideal (algoritmo errado, logo os resultados também serão errados).
  • Não ter as competências (técnicas) alinhadas com a tecnologia. Existência de vários algoritmos e nem sempre há o tempo necessário para o explorar, pois, pode ser tempo perdido.
29
Q

Tipos de Aprendizagem

A
  • Association
  • Supervised Learning
    • Classification
    • Regression
  • Unsupervised Learning
  • Reinforcement Learning
30
Q

Modelo de aprendizagem por associação (Association)

A

Encontra relações entre variáveis num grande conjunto de dados
Objetivo: descobrir e mapear dados dependentes do outro para produzir o máximo lucro
Exemplo: mineração de uso da web
Algoritmos comummente utilizados:
* Algoritmo de Apriori
* Eclat
* Algoritmo de crescimento de FP

Exemplo prático: Probabilidade de ter comprado um produto x, se tiver comprado outro y. Traz uma vantagem competitiva para a organização, permite posicionar os produtos de acordo com a pretensão da empresa. Ou seja, ou colocar os produtos perto uns dos outros para a venda cruzada, ou então posicionar em extremos opostos para “obrigar” o cliente a percorrer a loja toda.

31
Q

Modelo de aprendizagem por supervisão - Classificação e Regressão (Classification e Regression)

A

Prever o comportamento para novos inputs. Tenho um modelo de treinamento, e eu tenho um input que não existe e quero prever. Deixamos o algoritmo aprender e depois dizemos se o que ele aprendeu está certo ou errado.
* Modelo de extração do conhecimento.
* Modelo baseado na compressão.
* Modelos baseados na deteção de outliers (exemplo notas de 0 a 20, e há notas de 21, é importante para detetar eventuais erros).

32
Q

Modelos de aprendizagem não supervisionados (Unsupervised Learning)

A

Vai aprendendo com base nos respetivos inputs que são dados. Não existem outputs, não há resultados, vai gradualmente aprendendo. Vai utilizando técnicas de clustering agrupando elementos similares, e é usado na segmentação de clientes num software CRM, na conversão de imagens e na área da bioinformática.

33
Q

Modelo de aprendizagem por reforço (Reinforcement learning)

A

Temos uma política de aprendizagem que é uma sequência, não há apenas um output, mas uma sequência de outputs. Não existe um modelo supervisionado, onde não se diz se as coisas estão certas ou erradas, mas há um delayed reward, isto significa que damos uma recompensa à máquina, mas não é imediata, mas sim dada depois de determinada ação. E a recompensa é maior ou menor consoante a qualidade da resposta.
Utilizado na atribuição de crédito, jogos, robots, e vários agentes que contribuem para a sua aprendizagem.

34
Q

Auxílio do machine learning na área da segurança

A

Deteção e prevenção de ataques desconhecidos (o ml pode aprender com eles).
Análise em larga escala (utilizado por exemplo elementos de big data).
Abordagens inteligentes (abordagens que aprendem, e não abordagens estáticas).
O machine learning pode ajudar naquelas 4 categorias (supervisionados, não supervisionados, associação e reforço).

35
Q

Processo de treino e proteção

A

Fase de treino
Temos executáveis aplicados ao malware (software comum e software malicioso), há um modelo/algoritmo de treino (vai aprendendo com ambos) e vai tendo um modelo preditivo. Sem modelo de treino não há machine learning.

Fase de proteção
Execução de um executável (não sabemos se é malicioso ou não), há um processamento com base no modelo de previsão, depois há a sua execução e diz se é malicioso ou não.

36
Q

Vantagens

A
  1. Identificação de padrões.
  2. Não há intervenção humana (há alguma/pouca intervenção humana para verificar se está a classificar bem ou não).
  3. Modelo de melhoria continua, se o modelo estiver treinado e continuar a ser treinado, espera-se que vá melhorando.
  4. Modelo que trabalha sobre múltiplas dimensões e múltiplas variações dos dados, depende muito dos dados de treino, pois, esses dados são críticos.
  5. Grande área de aplicações.
37
Q

Problemas do machine learning

A
  1. Os dados. Como acedemos aos dados: pode ser na internet, projetos open source, podemos criar dados em laboratório, dados reais (por exemplo neste projeto final podemos ter que ir recolher dados às escolas). Em suma, precisamos que o algoritmo aprenda.
  2. Consumidor de tempo e recursos, pode ser necessário 3 meses, 6 meses, etc.
  3. Interpretar os resultados.
  4. Erro de construção do modelo. Há elevadas probabilidades de erros graves ou não, o que compromete a qualidade do modelo.
38
Q

Bloqueador de spam

A
  1. Pré processamento que implica uma segmentação.
  2. Extração das propriedades (medir recursos e propriedades). Perceber quais são os atributos e qual a sua relevância para perceber se é spam ou uma mensagem válida.
  3. Classificação para tomar a decisão, que devolve o resultado a dizer se é spam ou mensagem válida.