Segurança Web: O MMA da Tecnologia
-
Upload
carlos-nilton-araujo-correa -
Category
Technology
-
view
303 -
download
0
description
Transcript of Segurança Web: O MMA da Tecnologia
![Page 2: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/2.jpg)
Agenda1. Segurança2. Injeção de código3. Ameaças4. Oportunidades
![Page 3: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/3.jpg)
Disponibilidade
![Page 4: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/4.jpg)
IHDR Image Header
This chunk must appear FIRST. Its contents are: Width: 4 bytesHeight: 4 bytes[…]
Width and height give the image dimensions in pixels. They are 4-byte integers. Zero is an invalid value. The maximum for each is (2^31)-1 in order to accommodate languages which have difficulty with unsigned 4-byte values.
![Page 5: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/5.jpg)
Integridade
![Page 6: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/6.jpg)
Gerenciamento de sessão/navegação
JavaScriptHTTP_REFERRERCookies
ExpiraçãoSegurançaEscopo
![Page 7: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/7.jpg)
Confidencialidade
![Page 8: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/8.jpg)
![Page 9: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/9.jpg)
Trocando senhas
<?PHP $login = $_GET[“login”]; $senha = encripta($_GET[“senha”]); $cmd = “echo ”.$senha; $cmd .= “ | passwd –-stdin ”.$login;
system($cmd);?>
![Page 10: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/10.jpg)
Trocando senhas
$ echo <senha> | passwd --stdin login
$ echo $6$jYk… | passwd --stdin bill
$ echo $6$pOi… | passwd --stdin bill;dd if=/dev/zero of=/tmp/lixo bs=1M
![Page 11: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/11.jpg)
Dá pra limitar os danos?
$ echo $6$pOi… | passwd --stdin bill&&dd if=/dev/zero of=/tmp/lixo bs=1M
$ echo $6$pOi… | passwd --stdin bill -K||dd if=/dev/zero of=/tmp/lixo bs=1M
$ echo $6$pOi… | passwd --stdin `dd if=/dev/zero of=/tmp/lixo bs=1M`
![Page 12: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/12.jpg)
A essência do problema1. Não se pode confiar em dados recebidos de
terceiros
2. Não se deve confiar em dados recuperados da memória secundária
3. Política e funcionalidade não devem ser fortemente acopladas
![Page 13: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/13.jpg)
Principais vulnerabilidades OWASP
![Page 14: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/14.jpg)
SQL Injection• Ataque em que um formulário é preenchido
com informações que interferem no fluxo de execução de consultas
• Frequentemente aplicado em etapas de login– Geralmente, a seção de um sistema web onde há
maior preocupação com segurança
![Page 15: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/15.jpg)
Exemplo de injeção de SQL• Isto:
SELECT * FROM BugsWHERE bug_id = $_GET['bugid’]
• Pode resultar nesta instrução!
SELECT * FROM BugsWHERE bug_id = 1234 OR TRUE
![Page 16: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/16.jpg)
Um exemplo pior
UPDATE AccountsSET password = SHA2('$password')WHERE account_id = $account_id
• Vira...
UPDATE AccountsSET password = SHA2(...)WHERE account_id = 1234 OR TRUE
![Page 17: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/17.jpg)
Directory traversal• Tipo de ataque que faz com que uma aplicação
web acesse um arquivo não-desejado
• Mais uma vez, ocorre quanto não se trata adequadamente parâmetros de entrada
• Se um dos parâmetros indica um nome de arquivo, é possível manipulá-lo para que aponte para arquivos arbitrários no sistema do servidor
![Page 18: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/18.jpg)
Exemplo básico• Suponha um script que suporte isto:
http://www.xxx.com/members/seepic.cgi?arq=001.jpg
<? ... /* le imagem a ser exibida */ $base = “/amadoras/” $hdl = fopen($base.$_GET['arq'], “r”); $imagem = fread($hdl, filesize($hdl)); print $imagem; fclose($hdl);?>
![Page 19: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/19.jpg)
Outras possibilidades• http://www.xxx.com/members/seepic.cgi?
arq=../../../../../../../../../../etc/passwd
Alguns ataques usam caminhos codificados. Uma possibilidade é utilizar parâmetros com codificação de URL:
seepic.cgi?arq=%2e%2e%2f... → (../)seepic.cgi?arq=%2e%2e%5c... → (..\)
![Page 20: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/20.jpg)
XSS“Através de um XSS, o Cracker injeta códigos JavaScript em um campo texto de uma página já existente e este JavaScript é apresentado para outros usuários.”
-- Wikipédia
• Quase lá!–XSS pode ser reflexivo ou armazenado
![Page 21: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/21.jpg)
Google Gruyere• http://google-gruyere.appspot.com/
• Aplicação propositalmente desenvolvida com bugs
• Um “testbed” para experiências em segurança
![Page 22: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/22.jpg)
Outras possibilidades?
• LDAP Injection?
• SMTP Injection?
• Quick Response Injection?
![Page 23: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/23.jpg)
![Page 24: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/24.jpg)
Existem oportunidades!
• Assume-se que aplicações são “naturalmente frágeis”
• Investe-se em segurança da “infraestrutura”– Firewalls e IDS– Consultoria– $$$
![Page 25: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/25.jpg)
O desenvolvedor
• Conhece as principais tecnologias envolvidas
• Está no cerne do problema
• Possivelmente tem maior background acadêmico
![Page 26: Segurança Web: O MMA da Tecnologia](https://reader038.fdocuments.net/reader038/viewer/2022110308/55758eb7d8b42ae7708b4c76/html5/thumbnails/26.jpg)
Possível suporte
• https://www.owasp.org/
• www.microsoft.com/security/sdl/
• OWASP ESAPI
• (ISC)2 – Secure Software Lifecycle Professional