SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Aula 13:
Aspectos de Segurança em Banco de Dados
prof. Gustavo Zimmermann
Controle de Redundância
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Controle de Redundância
A redundância consiste no armazenamento de uma mesma informação
em locais diferentes, provocando inconsistências. Em um Banco de
Dados as informações só se encontram armazenadas em um
único local, não existindo duplicação descontrolada dos dados.
Quando existem replicações dos dados, estas são decorrentes do
processo de armazenagem típica do ambiente Cliente-Servidor,
totalmente sob controle do Banco de Dados.
A aplicação da Normalização e das Formas Normais tem como um dos
objetivos a eliminação da redundância de dados.
prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Controle de Redundância
• A redundância é caracterizada pela presença de um elemento de
informação duplicado.
• Sistemas de banco de dados devem ter capacidade de garantir que
os dados não sejam redundantes.
• Esse controle é usualmente conhecido como integridade referencial.
• O controle de redundância não permite incluir dois registros com a
mesma chave primária e excluir um registro que possua
relacionamento com outras tabelas (chave estrangeira).
• Com isto, o controle de redundância evita a inconsistência de dados.
• Este padrão de integridade é o fundamento do modelo relacional,
por isso é necessário que o banco de dados tenha a capacidade de
gerenciar o controle de redundância.
Controle de Concorrência
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Controle de Concorrência
É necessário que o sistema controle a interação entre
transações concorrentes. Esse controle é alcançado por
meio de uma larga gama de mecanismos chamados
esquemas de controle de concorrência.
Existem vários esquemas de controle de concorrência onde
um dos mais conhecidos é o esquema que tem por base a
propriedade de serialização.
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Controle de Concorrência
O Controle de Concorrência tem como principal objetivo o
evitar conflitos de acesso simultâneo.
Restrições de Integridade
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Restrições de Integridade
Verifica em toda transação se os tipos de dados estão
corretos, por exemplo, impede que seja armazenado uma
data onde espera- se um número.
nome: VARCHAR (30) idade: INT(3)
João 12
Carlos 20
Renata 17
Cliente Ao projetar o banco de dados você deve se
preocupar com as Restrições de Integridade, por
exemplo, se um usuário tentar executar o
comando:
INSERT INTO cliente(nome, idade)
VALUES(‘Talia’, ‘1984/02/01’);
O banco deve retornar um ERRO para o usuário e
informar qual o erro e como corrigi-lo, mesmo
que seja óbvio para quem projetou o sistema.
Violação e Consistência dos Dados
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Violação e Consistência dos Dados
Para evitar a violação dos dados e garantir a consistência,
confiabilidade, podemos adotar alguns mecanismos de
segurança entre esses mecanismos podemos destacar:
• Mecanismos de Controles Físicos
Portas / Trancas / Paredes / Blindagem / etc...
• Mecanismos de Controles Lógicos
Mecanismos de criptografia /Assinatura digital / Mecanismos de garantia da
integridade da informação / Mecanismos de controle de acesso / etc...
prof. Gustavo Zimmermann | contato@gust4vo.com
Criptografia
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Violação e Consistência dos Dados
A Criptografia, considerada como a ciência e a arte de escrever
mensagens em forma cifrada ou em código, é um dos principais
mecanismos de segurança que você pode usar para se proteger dos
riscos associados ao uso da Internet. A primeira vista ela até pode
parecer complicada, mas para usufruir dos benefícios que proporciona
você não precisa estudá-la profundamente e nem ser nenhum
matemático experiente. Atualmente, a criptografia já está integrada ou
pode ser facilmente adicionada à grande maioria dos sistemas
operacionais e aplicativos e para usá-la, muitas vezes, basta a realização
de algumas configurações ou cliques de mouse.
prof. Gustavo Zimmermann | contato@gust4vo.com
Assinatura Digital
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Violação e Consistência dos Dados
A Assinatura Digital permite comprovar a autenticidade e a integridade
de uma informação, ou seja, que ela foi realmente gerada por quem
diz ter feito isto e que ela não foi alterada. A assinatura digital baseia-se no
fato de que apenas o dono conhece a chave privada e que, se ela foi usada
para codificar uma informação, então apenas seu dono poderia ter feito isto. A
verificação da assinatura é feita com o uso da chave pública, pois se o texto foi
codificado com a chave privada, somente a chave pública correspondente pode
decodificá-lo. Para contornar a baixa eficiência característica da criptografia de
chaves assimétricas, a codificação é feita sobre o hash e não sobre o conteúdo
em si, pois é mais rápido codificar o hash (que possui tamanho fixo e reduzido)
do que a informação toda.
SQL Injection
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
SQL Injection
A Injeção de SQL, mais conhecida através do termo
americano SQL Injection, é um tipo de ameaça de
segurança que se aproveita de falhas em sistemas que
interagem com bases de dados via SQL. A injeção de SQL
ocorre quando o atacante consegue inserir uma série
de instruções SQL dentro de uma consulta (query)
através da manipulação das entrada dedados de uma
aplicação.
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
SQL Injection
• Para que se esteja livre da utilização da SQL Injection, certas providências
devem ser tomadas. Algumas das ações serão realizadas no servidor de
banco de dados, outras devem ser garantidas pelo código fonte.
• Deve-se tomar cuidado com a configuração do usuário que estabelece a
conexão com o banco de dados.
• O ideal é que as permissões de acesso deste usuário estejam
restritamente limitadas às funções que irá realizar, ou seja, para a exibição
de um relatório, a conexão com o banco de dados deve ser realizada por
um usuário com permissões de leitura e acesso somente às tabelas
necessárias para sua operação.
Mecanismos de Controle de Acesso
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Definição
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Mecanismos de Controle de Acesso
Os mecanismos de controle de acesso são usados para
implementar as políticas de autorização.
Define quem pode fazer o que em um sistema.
Se refere a sistemas grandes (S.O., Bancos de Dados,
Prontuários de pacientes, etc); Exemplo mais clássico é o
“Esqueci a senha” de um provedor de E-mail.
Segurança contra Falhas
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Recovery
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança contra Falhas
A recuperação/tolerância a falhas tem por objetivo
restaurar o Banco de Dados para um estado de
integridade, após a ocorrência de uma falha.
Os mecanismos de recuperação baseiam-se na utilização de
formas de redundância que quase duplicam o Banco de
Dados , utilizando Backup e Log
prof. Gustavo Zimmermann | contato@gust4vo.com
Backups
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança contra Falhas
Os backups são cópias de segurança do Banco
de Dados, que são executados periodicamente e
constituem um ponto de partida para a
recuperação do Banco de Dados após a ocorrência
de uma falha, independentemente da sua
gravidade.
prof. Gustavo Zimmermann | contato@gust4vo.com
Logs
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança contra Falhas
Os transaction logs são mecanismos de repetição das
transações ocorridas desde o último backup
(rollforward). Normalmente para se refazer uma transação
é necessário o ficheiro de transaction log, onde está
guardada uma identificação da transação e uma cópia
dos dados atualizados por ela (after image).
Tipos de Falhas
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
Falha de Disco
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Tipos de Falhas
O(s) disco(s) onde o Banco de Dados está
armazenado fica(m) inutilizado(s). É a falha
considerada mais grave e que obriga à
reconstrução de todo o SGBD
prof. Gustavo Zimmermann | contato@gust4vo.com
Falha de Sistema
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Tipos de Falhas
A falha de sistema pode resultar de problemas de
hardware ou software, não sendo possível garantir
a validade dos dados. Implica repor a Banco de
Dados a partir do seu último estado de integridade.
prof. Gustavo Zimmermann | contato@gust4vo.com
Falha de Transação
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Tipos de Falhas
Falha de Transação é a mais inofensiva e recupera-se
recorrendo ao ficheiro transaction log e às before images da
transação que não foi bem sucedida. Em qualquer processo de
recuperação recorre-se ao rollback das transações efetuadas até
ao momento em que os transaction log e os ficherios da base
estão sincronizados, para se poderem desfazer todas as
transações decorridas desde então.
prof. Gustavo Zimmermann | contato@gust4vo.com
Falha de Transação
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Tipos de Falhas
Segurança em BDs
planejamento e segurança...
prof. Gustavo Zimmermann | contato@gust4vo.com
BD Livre (MySQL)
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança em BDs
• O MySQL sem dúvida nenhuma, é o banco de dados open source mais
conhecido do mercado e provavelmente o mais utilizado. Ele é rápido,
simples, funcional e hoje implementa recursos que o colocam próximo a
grandes nomes como Oracle.
• Apesar de implementar um sistema de validação robusto, o MySQL não tem
como controlar acessos que deveriam ser bloqueados pelo sistema
operacional. Acesso a arquivos, permissões de usuários do sistema, ou
mesmo do usuário sob o qual roda o servidor devem ser especialmente
preparados para evitar que haja corrupção ou quebra da privacidade dos
dados. Resumindo, apenas o banco de dados MySQL deve ter acesso à aos
arquivos de dados do MySQL.
prof. Gustavo Zimmermann | contato@gust4vo.com
BD Proprietário (Oracle)
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança em BDs
• A segurança do banco de dados pode ser classificada em duas categorias
distintas: segurança de sistema e segurança de dados. A segurança de
sistema contém os mecanismos que controlam o acesso e o uso do banco
de dados em um determinado nível do sistema. Os mecanismos de
segurança do sistema verificam se um usuário está autorizado a se conectar
ao banco de dados, se a auditoria do banco de dados está ativa e quais
operações de sistemas um usuário pode executar. A segurança de sistema
inclui combinações válidas de nome de usuários e senha, a quantidade de
espaço em disco disponível para os objetos de esquema de um usuário e os
limites de recurso de um usuário.
prof. Gustavo Zimmermann | contato@gust4vo.com
BD Proprietário (Oracle)
Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados
Segurança em BDs
• A segurança de dados inclui os mecanismos que controlam o acesso
e o uso do banco de dados no nível de objeto de esquema incluindo
quais usuários têm acesso a um objeto e a tipos específicos de ações
que cada um pode executar. Existem ferramentas adicionais que
incrementam a segurança do Oracle Server, possibilitando um
ambiente multi plataforma de maior escala. Entre elas podemos citar :
Oracle Enterprise Manager (conhecido como OEM) Oracle Security
Server Manager (conhecido como OSS).
Linguagens
diferenças
prof. Gustavo Zimmermann | contato@gust4vo.com
Tipos de Linguagens
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Linguagens
• Linguagem de Marcação
ex.: HTML, XML;
• Linguagem de Formatação
ex.: CSS;
• Linguagem de Script
ex.: JavaScript, ActionScript;
• Linguagem de Programação
ex.: ASPX, JSP, PHP, Object Pascal, C#;
• Linguagem de Manipulação de Dados
ex.: SQL
Front End
Back End
Banco de Dados
prof. Gustavo Zimmermann | contato@gust4vo.com
Gerenciamento
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Linguagens
R
E
A
T
E
E
A
D
P
D
A
T
E
E
L
E
T
E
C R U D
Subconjuntos do SQL
linguagens
prof. Gustavo Zimmermann | contato@gust4vo.com
DDL (Data Definition Language) são usadas para definir a estrutura de
banco de dados ou esquema.
Os comandos básicos DDL são:
DDL - Linguagem de Definição de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• CREATE
cria objetos no banco de dados
• ALTER
altera a estrutura da base de dados
• TRUNCATE
remover todos os registros de uma tabela
• COMMENT
adiciona comentários ao dicionário de dados
• RENAME
comando para renomear um objeto
• DROP
deleta um objeto
prof. Gustavo Zimmermann | contato@gust4vo.com
DML (Data Manipulation Language) são utilizados para o gerenciamento
de dados dentro de objetos do banco.
Os comandos básicos DML são:
DML - Linguagem de Manipulação de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• INSERT
inseri dados em um banco de dados
• UPDATE
atualiza os dados existentes em uma tabela
• DELETE
exclui registros de uma tabela
prof. Gustavo Zimmermann | contato@gust4vo.com
DQL (Data Query Language) é utilizado para a realização de consultas
no banco de dados.
O único comando do DQL é:
DQL - Linguagem de Consulta de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• SELECT
apresenta dados de um banco de dados
prof. Gustavo Zimmermann | contato@gust4vo.com
DCL (Data Control Language) controla os aspectos de autorização de
dados e licenças de usuários para controlar quem tem acesso para ver
ou manipular dados dentro do banco de dados.
Os comandos básicos DCL são:
DCL - Linguagem de Controle de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• GRANT
autoriza ao usuário executar ou setar operações
• REVOKE
remove ou restringe a capacidade de um usuário de executar operações
prof. Gustavo Zimmermann | contato@gust4vo.com
DCL (Data Control Language) controla os aspectos de autorização de
dados e licenças de usuários para controlar quem tem acesso para ver
ou manipular dados dentro do banco de dados.
Os comandos básicos DCL são:
DCL - Linguagem de Controle de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• GRANT
autoriza ao usuário executar ou setar operações
• REVOKE
remove ou restringe a capacidade de um usuário de executar operações
prof. Gustavo Zimmermann | contato@gust4vo.com
DTL (Data Transaction Language) ou TCL (Transaction Control Language) são usados ​​para
gerenciar as mudanças feitas por instruções DML . Ele permite que as declarações a serem
agrupadas em transações lógicas .
Os comandos básicos DML são:
DTL - Linguagem de Transação de Dados
Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados
Subconjuntos do SQL
• BEGIN WORK
usado para marcar o começo de uma transação de BD que pode ser completada ou não.
• COMMIT
finaliza uma transação dentro de um sistema de gerenciamento de banco de dados.
• SAVEPOINT
identificar um ponto em uma transação para que mais tarde você pode efetuar um ROLLBACK
• ROLLBACK
faz com que as mudanças nos dados existentes desde o último COMMIT ou ROLLBACK sejam descartadas.
<fim />
bora pra casa!

Weitere ähnliche Inhalte

Was ist angesagt?

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
Backups e restauração de dados
Backups e restauração de dadosBackups e restauração de dados
Backups e restauração de dadoselliando dias
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Leinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivoscamila_seixas
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresAron Sporkens
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 

Was ist angesagt? (20)

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Backups e restauração de dados
Backups e restauração de dadosBackups e restauração de dados
Backups e restauração de dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
SGBD
SGBDSGBD
SGBD
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Backup
Backup   Backup
Backup
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivos
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 

Andere mochten auch

Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Gustavo Zimmermann
 
Banco de Dados II: Generalização e Especialização (aula 3)
Banco de Dados II: Generalização e Especialização (aula 3)Banco de Dados II: Generalização e Especialização (aula 3)
Banco de Dados II: Generalização e Especialização (aula 3)Gustavo Zimmermann
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoGustavo Zimmermann
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Campanhas Inovadoras e Criativas na Web
Campanhas Inovadoras e Criativas na WebCampanhas Inovadoras e Criativas na Web
Campanhas Inovadoras e Criativas na WebGustavo Zimmermann
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Vitor Leal Diniz
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDjonathas Cardoso
 
A 3ª Área do Design: Web Design
A 3ª Área do Design: Web DesignA 3ª Área do Design: Web Design
A 3ª Área do Design: Web DesignGustavo Zimmermann
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 

Andere mochten auch (17)

Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Farol: Estrutura de Trabalho
Farol: Estrutura de TrabalhoFarol: Estrutura de Trabalho
Farol: Estrutura de Trabalho
 
Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)
 
Banco de Dados II: Generalização e Especialização (aula 3)
Banco de Dados II: Generalização e Especialização (aula 3)Banco de Dados II: Generalização e Especialização (aula 3)
Banco de Dados II: Generalização e Especialização (aula 3)
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
Farol: Os 4 ciclos
Farol: Os 4 ciclosFarol: Os 4 ciclos
Farol: Os 4 ciclos
 
Apresentação projeto
Apresentação projetoApresentação projeto
Apresentação projeto
 
Twitter Chat
Twitter ChatTwitter Chat
Twitter Chat
 
Web Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da InformaçãoWeb Designer - O Arquiteto da Informação
Web Designer - O Arquiteto da Informação
 
Web (design+developer)
Web (design+developer)Web (design+developer)
Web (design+developer)
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Campanhas Inovadoras e Criativas na Web
Campanhas Inovadoras e Criativas na WebCampanhas Inovadoras e Criativas na Web
Campanhas Inovadoras e Criativas na Web
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados I
 
A 3ª Área do Design: Web Design
A 3ª Área do Design: Web DesignA 3ª Área do Design: Web Design
A 3ª Área do Design: Web Design
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 

Ähnlich wie Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)

Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMSpark Security
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dadosArthur Azevedo
 
Redes de controle: Mantenha a disponibilidade durante um ataque cibernético
Redes de controle: Mantenha a disponibilidade durante um ataque cibernéticoRedes de controle: Mantenha a disponibilidade durante um ataque cibernético
Redes de controle: Mantenha a disponibilidade durante um ataque cibernéticoCisco do Brasil
 
Segurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresSegurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresBruno Dos Anjos Silveira
 
Segurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosSegurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosRodrigovieira99
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud ComputingRicardo Peres
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
Estudo de caso segurança computação distribuída
Estudo de caso   segurança computação distribuídaEstudo de caso   segurança computação distribuída
Estudo de caso segurança computação distribuídaRicardo Nagel
 
Risco em projetos cloud computing
Risco em projetos cloud computingRisco em projetos cloud computing
Risco em projetos cloud computingAlfredo Santos
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptAgostinho9
 
Artigo cientifico jonildo eric galdino ver.03
Artigo cientifico jonildo eric galdino ver.03Artigo cientifico jonildo eric galdino ver.03
Artigo cientifico jonildo eric galdino ver.03Adriano Balani
 
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Carlos Serrao
 
Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery dayRoberto Fonseca
 
Apresentação Workshop - Análise de Vulnerabilidades
Apresentação Workshop - Análise de VulnerabilidadesApresentação Workshop - Análise de Vulnerabilidades
Apresentação Workshop - Análise de VulnerabilidadesPetter Lopes
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...tdc-globalcode
 
Introdução a Segurança da Informação
Introdução a Segurança da InformaçãoIntrodução a Segurança da Informação
Introdução a Segurança da InformaçãoRafael De Brito Marques
 

Ähnlich wie Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13) (20)

Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEM
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
 
Redes de controle: Mantenha a disponibilidade durante um ataque cibernético
Redes de controle: Mantenha a disponibilidade durante um ataque cibernéticoRedes de controle: Mantenha a disponibilidade durante um ataque cibernético
Redes de controle: Mantenha a disponibilidade durante um ataque cibernético
 
Segurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de ComputadoresSegurança em Sistemas Baseados em Redes de Computadores
Segurança em Sistemas Baseados em Redes de Computadores
 
Segurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativosSegurança e protecção dos sistemas operativos
Segurança e protecção dos sistemas operativos
 
Artigo Cloud Computing
Artigo Cloud ComputingArtigo Cloud Computing
Artigo Cloud Computing
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
Estudo de caso segurança computação distribuída
Estudo de caso   segurança computação distribuídaEstudo de caso   segurança computação distribuída
Estudo de caso segurança computação distribuída
 
Risco em projetos cloud computing
Risco em projetos cloud computingRisco em projetos cloud computing
Risco em projetos cloud computing
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.ppt
 
Artigo cientifico jonildo eric galdino ver.03
Artigo cientifico jonildo eric galdino ver.03Artigo cientifico jonildo eric galdino ver.03
Artigo cientifico jonildo eric galdino ver.03
 
capitulo8.pdf
capitulo8.pdfcapitulo8.pdf
capitulo8.pdf
 
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
Prevenir o "ransomware" - Guia da OWASP para prevenção do "ransomware"
 
Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery day
 
Apresentação Workshop - Análise de Vulnerabilidades
Apresentação Workshop - Análise de VulnerabilidadesApresentação Workshop - Análise de Vulnerabilidades
Apresentação Workshop - Análise de Vulnerabilidades
 
Banco de Dados - Aula 01
Banco de Dados - Aula 01Banco de Dados - Aula 01
Banco de Dados - Aula 01
 
Modulo 01 Capitulo 02
Modulo 01 Capitulo 02Modulo 01 Capitulo 02
Modulo 01 Capitulo 02
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
 
Introdução a Segurança da Informação
Introdução a Segurança da InformaçãoIntrodução a Segurança da Informação
Introdução a Segurança da Informação
 
Bd rel
Bd relBd rel
Bd rel
 

Mehr von Gustavo Zimmermann

Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Gustavo Zimmermann
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Gustavo Zimmermann
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Gustavo Zimmermann
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoGustavo Zimmermann
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasGustavo Zimmermann
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Gustavo Zimmermann
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Gustavo Zimmermann
 

Mehr von Gustavo Zimmermann (20)

Aula 13 - Livros Proféticos
Aula 13 - Livros ProféticosAula 13 - Livros Proféticos
Aula 13 - Livros Proféticos
 
Aula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-AvaliaçãoAula 12 - Revisão Pré-Avaliação
Aula 12 - Revisão Pré-Avaliação
 
Aula 11 - Livros Poéticos
Aula 11 - Livros PoéticosAula 11 - Livros Poéticos
Aula 11 - Livros Poéticos
 
Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)Aula 9 - Livros Históricos (part. 2)
Aula 9 - Livros Históricos (part. 2)
 
Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)Aula 10 - Livros Históricos (part. 3)
Aula 10 - Livros Históricos (part. 3)
 
Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)Aula 8 - Livros Históricos (part. 1)
Aula 8 - Livros Históricos (part. 1)
 
Aula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-AvaliaçãoAula 7 - Revisão Pré-Avaliação
Aula 7 - Revisão Pré-Avaliação
 
Aula 6 - Deuteronômio
Aula 6 - DeuteronômioAula 6 - Deuteronômio
Aula 6 - Deuteronômio
 
Aula 5 - Números
Aula 5 - NúmerosAula 5 - Números
Aula 5 - Números
 
Aula 1 - História da Bíblia
Aula 1 - História da BíbliaAula 1 - História da Bíblia
Aula 1 - História da Bíblia
 
Aula 3 - Êxodo
Aula 3 - ÊxodoAula 3 - Êxodo
Aula 3 - Êxodo
 
Aula 4 - Levíticos
Aula 4 - LevíticosAula 4 - Levíticos
Aula 4 - Levíticos
 
Aula 2 - Gênesis
Aula 2 - GênesisAula 2 - Gênesis
Aula 2 - Gênesis
 
Aula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas MetodologiasAula 1 - Apologética e suas Metodologias
Aula 1 - Apologética e suas Metodologias
 
Aula 2 - Teologia Natural
Aula 2 - Teologia NaturalAula 2 - Teologia Natural
Aula 2 - Teologia Natural
 
Conciência Política
Conciência PolíticaConciência Política
Conciência Política
 
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
Introdução ao Web Design: Aula 6 - HTML 5 (part. 2)
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
 
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
Introdução ao Web Design: Aula 3 - PhotoShop (part. 1)
 
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
Introdução ao Web Design: Aula 4 - PhotoShop (part. 2)
 

Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)

  • 1. Aula 13: Aspectos de Segurança em Banco de Dados prof. Gustavo Zimmermann
  • 3. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Controle de Redundância A redundância consiste no armazenamento de uma mesma informação em locais diferentes, provocando inconsistências. Em um Banco de Dados as informações só se encontram armazenadas em um único local, não existindo duplicação descontrolada dos dados. Quando existem replicações dos dados, estas são decorrentes do processo de armazenagem típica do ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados. A aplicação da Normalização e das Formas Normais tem como um dos objetivos a eliminação da redundância de dados.
  • 4. prof. Gustavo Zimmermann | contato@gust4vo.com Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Controle de Redundância • A redundância é caracterizada pela presença de um elemento de informação duplicado. • Sistemas de banco de dados devem ter capacidade de garantir que os dados não sejam redundantes. • Esse controle é usualmente conhecido como integridade referencial. • O controle de redundância não permite incluir dois registros com a mesma chave primária e excluir um registro que possua relacionamento com outras tabelas (chave estrangeira). • Com isto, o controle de redundância evita a inconsistência de dados. • Este padrão de integridade é o fundamento do modelo relacional, por isso é necessário que o banco de dados tenha a capacidade de gerenciar o controle de redundância.
  • 6. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Controle de Concorrência É necessário que o sistema controle a interação entre transações concorrentes. Esse controle é alcançado por meio de uma larga gama de mecanismos chamados esquemas de controle de concorrência. Existem vários esquemas de controle de concorrência onde um dos mais conhecidos é o esquema que tem por base a propriedade de serialização.
  • 7. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Controle de Concorrência O Controle de Concorrência tem como principal objetivo o evitar conflitos de acesso simultâneo.
  • 9. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Restrições de Integridade Verifica em toda transação se os tipos de dados estão corretos, por exemplo, impede que seja armazenado uma data onde espera- se um número. nome: VARCHAR (30) idade: INT(3) João 12 Carlos 20 Renata 17 Cliente Ao projetar o banco de dados você deve se preocupar com as Restrições de Integridade, por exemplo, se um usuário tentar executar o comando: INSERT INTO cliente(nome, idade) VALUES(‘Talia’, ‘1984/02/01’); O banco deve retornar um ERRO para o usuário e informar qual o erro e como corrigi-lo, mesmo que seja óbvio para quem projetou o sistema.
  • 10. Violação e Consistência dos Dados planejamento e segurança...
  • 11. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Violação e Consistência dos Dados Para evitar a violação dos dados e garantir a consistência, confiabilidade, podemos adotar alguns mecanismos de segurança entre esses mecanismos podemos destacar: • Mecanismos de Controles Físicos Portas / Trancas / Paredes / Blindagem / etc... • Mecanismos de Controles Lógicos Mecanismos de criptografia /Assinatura digital / Mecanismos de garantia da integridade da informação / Mecanismos de controle de acesso / etc...
  • 12. prof. Gustavo Zimmermann | contato@gust4vo.com Criptografia Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Violação e Consistência dos Dados A Criptografia, considerada como a ciência e a arte de escrever mensagens em forma cifrada ou em código, é um dos principais mecanismos de segurança que você pode usar para se proteger dos riscos associados ao uso da Internet. A primeira vista ela até pode parecer complicada, mas para usufruir dos benefícios que proporciona você não precisa estudá-la profundamente e nem ser nenhum matemático experiente. Atualmente, a criptografia já está integrada ou pode ser facilmente adicionada à grande maioria dos sistemas operacionais e aplicativos e para usá-la, muitas vezes, basta a realização de algumas configurações ou cliques de mouse.
  • 13. prof. Gustavo Zimmermann | contato@gust4vo.com Assinatura Digital Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Violação e Consistência dos Dados A Assinatura Digital permite comprovar a autenticidade e a integridade de uma informação, ou seja, que ela foi realmente gerada por quem diz ter feito isto e que ela não foi alterada. A assinatura digital baseia-se no fato de que apenas o dono conhece a chave privada e que, se ela foi usada para codificar uma informação, então apenas seu dono poderia ter feito isto. A verificação da assinatura é feita com o uso da chave pública, pois se o texto foi codificado com a chave privada, somente a chave pública correspondente pode decodificá-lo. Para contornar a baixa eficiência característica da criptografia de chaves assimétricas, a codificação é feita sobre o hash e não sobre o conteúdo em si, pois é mais rápido codificar o hash (que possui tamanho fixo e reduzido) do que a informação toda.
  • 15. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados SQL Injection A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entrada dedados de uma aplicação.
  • 16. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados SQL Injection • Para que se esteja livre da utilização da SQL Injection, certas providências devem ser tomadas. Algumas das ações serão realizadas no servidor de banco de dados, outras devem ser garantidas pelo código fonte. • Deve-se tomar cuidado com a configuração do usuário que estabelece a conexão com o banco de dados. • O ideal é que as permissões de acesso deste usuário estejam restritamente limitadas às funções que irá realizar, ou seja, para a exibição de um relatório, a conexão com o banco de dados deve ser realizada por um usuário com permissões de leitura e acesso somente às tabelas necessárias para sua operação.
  • 17. Mecanismos de Controle de Acesso planejamento e segurança...
  • 18. prof. Gustavo Zimmermann | contato@gust4vo.com Definição Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Mecanismos de Controle de Acesso Os mecanismos de controle de acesso são usados para implementar as políticas de autorização. Define quem pode fazer o que em um sistema. Se refere a sistemas grandes (S.O., Bancos de Dados, Prontuários de pacientes, etc); Exemplo mais clássico é o “Esqueci a senha” de um provedor de E-mail.
  • 20. prof. Gustavo Zimmermann | contato@gust4vo.com Recovery Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança contra Falhas A recuperação/tolerância a falhas tem por objetivo restaurar o Banco de Dados para um estado de integridade, após a ocorrência de uma falha. Os mecanismos de recuperação baseiam-se na utilização de formas de redundância que quase duplicam o Banco de Dados , utilizando Backup e Log
  • 21. prof. Gustavo Zimmermann | contato@gust4vo.com Backups Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança contra Falhas Os backups são cópias de segurança do Banco de Dados, que são executados periodicamente e constituem um ponto de partida para a recuperação do Banco de Dados após a ocorrência de uma falha, independentemente da sua gravidade.
  • 22. prof. Gustavo Zimmermann | contato@gust4vo.com Logs Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança contra Falhas Os transaction logs são mecanismos de repetição das transações ocorridas desde o último backup (rollforward). Normalmente para se refazer uma transação é necessário o ficheiro de transaction log, onde está guardada uma identificação da transação e uma cópia dos dados atualizados por ela (after image).
  • 23. Tipos de Falhas planejamento e segurança...
  • 24. prof. Gustavo Zimmermann | contato@gust4vo.com Falha de Disco Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Tipos de Falhas O(s) disco(s) onde o Banco de Dados está armazenado fica(m) inutilizado(s). É a falha considerada mais grave e que obriga à reconstrução de todo o SGBD
  • 25. prof. Gustavo Zimmermann | contato@gust4vo.com Falha de Sistema Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Tipos de Falhas A falha de sistema pode resultar de problemas de hardware ou software, não sendo possível garantir a validade dos dados. Implica repor a Banco de Dados a partir do seu último estado de integridade.
  • 26. prof. Gustavo Zimmermann | contato@gust4vo.com Falha de Transação Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Tipos de Falhas Falha de Transação é a mais inofensiva e recupera-se recorrendo ao ficheiro transaction log e às before images da transação que não foi bem sucedida. Em qualquer processo de recuperação recorre-se ao rollback das transações efetuadas até ao momento em que os transaction log e os ficherios da base estão sincronizados, para se poderem desfazer todas as transações decorridas desde então.
  • 27. prof. Gustavo Zimmermann | contato@gust4vo.com Falha de Transação Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Tipos de Falhas
  • 29. prof. Gustavo Zimmermann | contato@gust4vo.com BD Livre (MySQL) Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança em BDs • O MySQL sem dúvida nenhuma, é o banco de dados open source mais conhecido do mercado e provavelmente o mais utilizado. Ele é rápido, simples, funcional e hoje implementa recursos que o colocam próximo a grandes nomes como Oracle. • Apesar de implementar um sistema de validação robusto, o MySQL não tem como controlar acessos que deveriam ser bloqueados pelo sistema operacional. Acesso a arquivos, permissões de usuários do sistema, ou mesmo do usuário sob o qual roda o servidor devem ser especialmente preparados para evitar que haja corrupção ou quebra da privacidade dos dados. Resumindo, apenas o banco de dados MySQL deve ter acesso à aos arquivos de dados do MySQL.
  • 30. prof. Gustavo Zimmermann | contato@gust4vo.com BD Proprietário (Oracle) Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança em BDs • A segurança do banco de dados pode ser classificada em duas categorias distintas: segurança de sistema e segurança de dados. A segurança de sistema contém os mecanismos que controlam o acesso e o uso do banco de dados em um determinado nível do sistema. Os mecanismos de segurança do sistema verificam se um usuário está autorizado a se conectar ao banco de dados, se a auditoria do banco de dados está ativa e quais operações de sistemas um usuário pode executar. A segurança de sistema inclui combinações válidas de nome de usuários e senha, a quantidade de espaço em disco disponível para os objetos de esquema de um usuário e os limites de recurso de um usuário.
  • 31. prof. Gustavo Zimmermann | contato@gust4vo.com BD Proprietário (Oracle) Banco de Dados II – Aula 13: Aspectos de Segurança em Banco de Dados Segurança em BDs • A segurança de dados inclui os mecanismos que controlam o acesso e o uso do banco de dados no nível de objeto de esquema incluindo quais usuários têm acesso a um objeto e a tipos específicos de ações que cada um pode executar. Existem ferramentas adicionais que incrementam a segurança do Oracle Server, possibilitando um ambiente multi plataforma de maior escala. Entre elas podemos citar : Oracle Enterprise Manager (conhecido como OEM) Oracle Security Server Manager (conhecido como OSS).
  • 33. prof. Gustavo Zimmermann | contato@gust4vo.com Tipos de Linguagens Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Linguagens • Linguagem de Marcação ex.: HTML, XML; • Linguagem de Formatação ex.: CSS; • Linguagem de Script ex.: JavaScript, ActionScript; • Linguagem de Programação ex.: ASPX, JSP, PHP, Object Pascal, C#; • Linguagem de Manipulação de Dados ex.: SQL Front End Back End Banco de Dados
  • 34. prof. Gustavo Zimmermann | contato@gust4vo.com Gerenciamento Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Linguagens R E A T E E A D P D A T E E L E T E C R U D
  • 36. prof. Gustavo Zimmermann | contato@gust4vo.com DDL (Data Definition Language) são usadas para definir a estrutura de banco de dados ou esquema. Os comandos básicos DDL são: DDL - Linguagem de Definição de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • CREATE cria objetos no banco de dados • ALTER altera a estrutura da base de dados • TRUNCATE remover todos os registros de uma tabela • COMMENT adiciona comentários ao dicionário de dados • RENAME comando para renomear um objeto • DROP deleta um objeto
  • 37. prof. Gustavo Zimmermann | contato@gust4vo.com DML (Data Manipulation Language) são utilizados para o gerenciamento de dados dentro de objetos do banco. Os comandos básicos DML são: DML - Linguagem de Manipulação de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • INSERT inseri dados em um banco de dados • UPDATE atualiza os dados existentes em uma tabela • DELETE exclui registros de uma tabela
  • 38. prof. Gustavo Zimmermann | contato@gust4vo.com DQL (Data Query Language) é utilizado para a realização de consultas no banco de dados. O único comando do DQL é: DQL - Linguagem de Consulta de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • SELECT apresenta dados de um banco de dados
  • 39. prof. Gustavo Zimmermann | contato@gust4vo.com DCL (Data Control Language) controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Os comandos básicos DCL são: DCL - Linguagem de Controle de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • GRANT autoriza ao usuário executar ou setar operações • REVOKE remove ou restringe a capacidade de um usuário de executar operações
  • 40. prof. Gustavo Zimmermann | contato@gust4vo.com DCL (Data Control Language) controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Os comandos básicos DCL são: DCL - Linguagem de Controle de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • GRANT autoriza ao usuário executar ou setar operações • REVOKE remove ou restringe a capacidade de um usuário de executar operações
  • 41. prof. Gustavo Zimmermann | contato@gust4vo.com DTL (Data Transaction Language) ou TCL (Transaction Control Language) são usados ​​para gerenciar as mudanças feitas por instruções DML . Ele permite que as declarações a serem agrupadas em transações lógicas . Os comandos básicos DML são: DTL - Linguagem de Transação de Dados Banco de Dados II – Aula 11: Linguagem de Manipulação de Dados Subconjuntos do SQL • BEGIN WORK usado para marcar o começo de uma transação de BD que pode ser completada ou não. • COMMIT finaliza uma transação dentro de um sistema de gerenciamento de banco de dados. • SAVEPOINT identificar um ponto em uma transação para que mais tarde você pode efetuar um ROLLBACK • ROLLBACK faz com que as mudanças nos dados existentes desde o último COMMIT ou ROLLBACK sejam descartadas.