Hackers chineses iniciam guerra fria contra os EUA Após ataque à base de dados de companhia chinesa, Intel e Google seriam as próximas prováveis vítimas. A Google e a Intel poderiam ser os próximos alvos de um ataque de hackers chineses. Um ataque ao provedor de serviços iBahn deixou as autoridades norte-americanas em estado de alerta, segundo informações da Bloomberg News. Apesar de ser um grupo chinês, o interesse no iBahn vai muito além de prejudicar a companhia. A empresa é a responsável por fornecer serviços de banda larga a diversos hotéis e centros de entretenimento da região, lugares onde são realizados diversos encontros de empresas multinacionais. De acordo com um alto funcionário da inteligência dos EUA, um ataque a essa base de dados pode ter deixado expostos milhões de dados confidenciais, como emails com mensagens desde o desenvolvimento de novos produtos até negociações de fusão. O interesse em uma companhia tão pequena como a iBahn ilustra o grau de periculosidade e ousadia da espionagem chinesa contra os Estados Unidos. Pelo menos 760 redes de empresas, universidades de pesquisa e agências governamentais foram atingidas na última década pelo grupo de elite de crackers chineses. “Estão roubando tudo o que não é parafusado e a situação está ficando cada vez pior”, afirma Mike Rogers, republicano de Michigan que preside o Comitê Permanente de Inteligência. “A China tem feito da espionagem industrial parte integrante de sua política econômica, visando ultrapassar os EUA e se tornar a maior potência econômica do mundo”, concluiu um relatório norte-americano divulgado no mês passado. Fonte: TecMundo Modelagem Conceitual, Lógica e Física de Dados A modelagem de dados é o primeiro passo em nosso projeto na criação de um banco de dados, pois é nele que criamos um modelo de dados específico para um determinado domínio. Modelo de Dados É uma representação simples, normalmente gráfica, de estrutura de dados reais mais complexas, sendo esta um modelo de uma abstração de um objeto ou evento real de maior complexidade. Sua função é auxiliar na compreensão das complexidades do ambiente real. Pela visão do BD, nada mais é que um modelo que representa estruturas de dados e suas característica, relações, restrições, transformações e outros elementos que tenham finalidade de dar suporte ao problema específico de um domínio. Modelagem de Dados Este é um processo iterativo e progressivo. Deve-se compreender o problema do domínio, e conforme essa compreensão de desenvolve, os detalhes irão surgir e acrescidos no modelo. Ao final da modelagem, teremos uma visão detalhada do todo, com todas as instruções para a construção de um BD que atenda às necessidades dos usuários finais. Essa modelagem terá descrições textuais e gráficas, que ajudarão no entendimento dos principais elementos de dados. Características Básicas Um modelo de dados pronto para implementação terá as seguintes características: Descrição da estrutura de dados que armazenará os dados do usuário final; Conjunto de regras aplicáveis para garantir a integridade dos dados; Metodologia de manipulação de dados que dê suporte a transformação de dados reais; Importância dos Modelos de Dados Estes modelos podem ajudar na comunicação entre o projetista, programadores e o usuário final, dando uma compreensão mais aprimorada da organização para a qual está sendo desenvolvida. As aplicações são criadas para gerenciar os dados e transformá-las em informações. Daí a importância de não ignorar esta etapa fundamental, principalmente que cada um dos envolvidos (projetistas, programadores e usuários finais) tem visões diferentes sobre o sistema como um todo. Caso tenha um bom projeto em mãos para trabalhar, esses pontos de vista diferentes não importarão. Se você não tiver algo bom, você pode sofrer com prejuízos futuros. Imagina um software que faz conflito de dados, mostrando valores de produtos de forma trocada, algo como uma caneta simples mostrando o valor de R$ 1.200,00, que seria o valor de um outro produto que poderia ser um computador, por exemplo. O modelo de dados é uma abstração que não será possível obter dados a partir dele, mas você irá precisar para começar seu projeto de banco de dados, dando mais segurança para o seu projeto dar certo, atendendo as necessidades do usuário final. Graus de Abstração de Dados Modelagem Conceitual O objetivo aqui é criar um modelo conceitual de forma gráfica, sendo este chamado de Diagrama Entidade e Relacionamento (DER), que identificará todas as entidades e relacionamentos de uma forma global. Aqui é evitado qualquer detalhamento específico do modelo de BD. O modelo conceitual mais utilizado é o de ER, que é ajudado pelo DER, que na prática, constitui o modelo básico do BD. Este é utilizado para representar graficamente o esquema conceitual. Através deste modelo, teremos uma visão de cima (macro) compreendida de modo relativamente fácil sobre o ambiente de dados. Também é independente de hardware ou software, ou seja, não depende de nenhum SGBD utilizado para implantá-lo. Por tanto, qualquer alteração no software ou hardware, não terão efeito no nível conceitual. Modelagem Lógica Depois que selecionamos um SGBD, iremos mapear o modelo conceitual para ele. O projetista relaciona as características e restrições do modelo conceitual com as do modelo selecionado para implementação. O modelo lógico constitui uma representação específica de um modelo interno, utilizando as estruturas de BD suportada pelo banco escolhido. Em um Banco de Dados Relacional (BDR), o esquema interno é expresso utilizando linguagem SQL, por padrão. Neste nível, o modelo lógico depende do software. Por tanto, qualquer alteração feita no SGBD exigem que o modelo interno seja alterado para adequar-se às características e exigências de implementação do modelo de BD. Quando conseguimos alterar o modelo lógico sem afetar o modelo conceitual, teremos o que é chamado de independência lógica. No entanto, o modelo lógico continua independente de hardware, ou seja, qualquer alteração (escolha de um computador, sistema operacional diferente, etc) não afetará no modelo lógico. É nesta modelagem que serão definidas os padrões e nomenclaturas, chaves primárias e estrangeiras, sempre levando em conta o modelo conceitual criado anteriormente. Modelagem Física Aqui é trabalhado no nível mais baixo de abstração, descrevendo o modo como os dados são salvos em meios de armazenamentos, como discos e fitas, sendo exigido a definição tanto dos dispositivos de armazenamento físico como dos métodos de acesso (físico) necessários para se chegar aos dados nesse dispositivos, o que o torna dependente tanto de software como de hardware. Os projetistas precisam de um conhecimento detalhado do hardware e do software utilizado para implementar o projeto de BD. Não é necessário que o projetista se preocupe com as características do armazenamento físico dos dados, mas a implementação de um modelo relacional pode exigir sintonização refinada no nível físico para melhorar o desempenho, principalmente em BD muito grandes em ambientes mainframes. Níveis de Abstração de Dados MODELO Externo GRAU DE FOCO INDEPENDÊNCIA Visões dos usuários finais Hardware e Software ABSTRAÇÃO Alto Visão global dos Conceitual Média-Alta Lógica Média-Baixa Físico Baixo dados (independe do modelo do BD) Modelo específico de BD Métodos de armazenamento e acesso Bons estudos e um grande abraço! Hardware e Software Hardware Nem hardware ou software Normalização de um Banco de Dados Normalização é o processo de estruturação do esquema de um Banco de Dados Relacional que irá remover a maioria das ambiguidades. Os estágios da normalização referem-se como formas normais que vão desde a menos restritiva (Primeira Forma Normal) para a mais restritiva (Quinta Forma Normal). Geralmente, os Arquitetos de Banco de Dados não atenta para implementar nada além da Terceira Forma Normal, a Forma Normal de Boyce-Codd. A normalização é considerada por alguns profissionais de TI como um luxo que somente os estudantes tem tempo para fazer. De qualquer forma, sempre é bom entender os conceitos básicos deste tema, que não é complicado, e que poderá drásticamente melhorar o desempenho do seu BD e seu gerenciamento. Neste post, irei demonstrar as Formas Normais (FN) e explicar cada uma delas de uma forma mais simples possível. Objetivos Nada mais é que o processo de organizar de forma eficiente os dados em seu BD. Existem dois pontos chave neste processo: eliminar a redundância de dados e assegurar que as dependências fazem realmente sentido. Se você estiver com um BD com estes problemas, provavelmente você estará utilizando mais espaço do que deveria. Devo normalizar meu BD? A normalização não é algo obrigatório, mas é sempre uma boa idéia, já que isto irá beneficiar o desempenho e organização dos dados. Você deve tentar seguir os princípios da normalização quando parecer razoável fazer isto. A intenção aqui é que você não deve deixar um fanatismo quase religioso sobre a normalização impedi-lo de fazer o seu trabalho da melhor maneira possível. Quando você optar por fazer pequenas variações das regras de normalização, você precisará ser mais cauteloso em forçar o BD quanto a sua integridade. Se você armazenar dados redundantes, crie algumas triggers e outros controles para garantir que as informações estejam consistentes. Primeira Forma Normal (1FN) Esta regra define as regras de organização básica de um banco de dados, que são: 1. Eliminar as colunas duplicadas de uma mesma tabela; 2. Criar tabelas separadas para cada grupo de dados relacionados e identificar cada linha com uma ou mais colunas como únicas (IDs, Códigos, etc). Ou seja, todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos; Em resumo, esta 1FN faz com que cada atributo (coluna) tenha uma relação atômica (trabalhar de forma indivisível), ou seja, cada coluna deve ter apenas um valor e cada registro tenha as mesmas colunas. Segunda Forma Normal (2FN) Nesta forma, são definidas as regras para remover dados duplicados: 1. Estar na 1FN; 2. Cada atributo não-chave for dependente da chave primária inteira, isto é, cada atributo não-chave não poderá ser dependente de apenas parte da chave. Ou seja, todos os seus atributos que não façam parte de alguma chave candidata devem ser determinados unicamente por qualquer chave candidata da tabela; Terceira Forma Normal (3FN) Normalmente, quando alguns desenvolvedores ou arquitetos de BD normalizam seu banco, chegam até esta forma e para por aqui mesmo. Neste passo, iremos um pouco mais a fundo: 1. Estar na 2FN; 2. Eliminar as colunas que não possuem dependência funcional com as chaves primárias. todos os atributos que não são chave sejam mutuamente independentes, isto é, que não existam funções que definam um ao outro. Portanto, sempre a chave por inteiro deve definir toda a tabela; Terceira Forma Normal Boyce-Codd (3.5 FNBC) de Esta FN é chamada de 3.5, pois Boyce e Codd adicionaram mais um requisito a 3FN: 1. Estar na 3FN (comum); 2. Não existir dependência funcional dentro da chave primária; Quarta Forma Normal (4FN) Para chegar a este passo, o BD precisa: 1. Estar na 3FN; 2. Não existir dependências multi-valoradas; Dependências multi-valoradas ocorrerem quando a presença de uma ou mais linhas em uma tabela implica a presença de uma ou mais outras linhas na mesma tabela. Quinta Forma Normal (5FN) Esta última FN é um caso mais raro, que ocorrem na modelagem de dados, que são os relacionamentos múltiplos (ternários, quaternários e n-ários). Para finalizarmos as FNs: 1. Estar na 4FN; 2. Quando o conteúdo deste mesmo registro não puder ser reconstruído (junção) a partir de outros registros menores, extraídos deste registro principal. Perito Criminal em Computação, os concursos estão aí! Para quem tem interesse em seguir carreira no setor público e trabalhar diretamente no combate aos crimes cibernéticos essa é a hora! O cargo é o de Perito Criminal em Computação e há duas oportunidades imperdíveis que só costumam aparecer a cada quatro anos, ou mais. Conhecendo o cargo de Perito Criminal em Computação O perito criminal faz parte da classe policial e lida com a análise (perícia forense) de equipamentos digitais apreendidos e envolvidos em crimes. Ele não lida somente com computadores mas também com celulares, máquinas digitais e qualquer outro equipamento digital que venha a ser apreendido na cena do crime. Eventualmente ele também poderá realizar perícias em áreas diferentes da sua formação como balística, drogas, explosivos, acidentes de trânsito, etc. Na prática, a principal função do perito em computação é fazer a análise de um equipamento baseada nas perguntas feitas por um delegado sobre um determinado caso e após a análise fazer um relatório (laudo) respondendo as perguntas. Um exemplo: foi apreendido um computador de um indivíduo suspeito de compartilhar pornografia infantil pela Internet. O delegado do caso vai pedir que um perito analise o computador do suspeito e responda as seguintes questões: 1) Há fotos de pornografia infantil? 2) Há vídeos de pornografia infantil? 3) Caso afirmativo, esses arquivos foram compartilhados? 4) Os arquivos podem ter sido compartilhados por terceiros sem o conhecimento do proprietário? … Isso é apenas um exemplo, baseado nisso o perito irá utilizar as técnicas e ferramentas de computação forense para chegar a uma resposta para cada uma dessas perguntas e no final fará o relatório. Lembrando que ele só poderá utilizar métodos científicos, que possam ser reproduzidos por qualquer outro perito que tenha acesso ao equipamento, mais informações sobre as etapas de uma perícia podem ser obtidas aqui. Perito Criminal na Polícia Civil do Distrito Federal Caso tenha se animado com a ideia de se tornar um perito criminal, corra, pois a primeira oportunidade já está em cima da hora e as inscrições se encerrando. A Polícia Civil do Distrito Federal está com concurso aberto para o cargo de Perito Criminal e dentre as especialidades há a de computação e informática. O salário é bastante atraente R$ 13.368,68. Seguem mais informações do concurso: Inscrição: 16/11/2011 a 19/12/2011 Vagas: 14 + 44 Cadastro Reserva Taxa de Inscrição: R$ 185,00 Remuneração: R$ 13.368,68 Mais informações e edital no site da Fundação Universa. Perito Criminal na Polícia Federal Já a Polícia Federal, que não realiza concurso público para perito desde 2004, está prestes a lançar o edital. No máximo em seis meses sairá, isso porque já foi autorizado no Diário Oficial a realização desse certame, conforme pode ser visto aqui. A previsão é que seja publicado muito antes dos seis meses, então é recomendável acelerar os estudos. Foram autorizadas 100 vagas para peritos em todas as áreas, creio que pelo menos umas 15 sejam reservadas para computação e salário é mais ou menos o mesmo da PCDF. O que estudar para passar nessas provas? Será que para passar nesses concursos é necessário ser um hacker? Não, só precisa saber bem as matérias do edital, aliás na prática e pela experiência vejo que é mais fácil um recémformado em ciências da computação que aproveitou bem seu curso passar do que um profissional de segurança experiente que não estudou as matérias do edital. Para o concurso da PCDF, as matérias cobradas na prova de conhecimentos específicos estão logo abaixo no final do post, lembrando que essa é somente uma etapa do concurso, há inclusive avaliação física. Creio que no concurso da Polícia Federal as matérias serão bem parecidas. Por fim, se quiser obter mais informações sobre os concursos existem fóruns onde há discussões sobre diversos temas relacionados, um dos mais acessados é do CorreioWeb, segue os links: Fórum CorreioWeb – PCDF Fórum CorreioWeb – Polícia Federal Fui concurseiro por um bom tempo, inclusive meu emprego atual entrei através de concurso público. Apesar de sempre haver algumas fraudes ainda considero o concurso público uma das formas mais democráticas de seleção, já que para passar depende de cada um. Conhecimentos Específicos – Perito Criminal em Computação PCDF: 2.7. Tipo 7 – Ciência da Computação e Informática. 1. Fundamentos de computação. 1.1. Organização e arquitetura de computadores. 1.2. Componentes de um computador (hardware e software). 1.3. Sistemas de entrada, saída e armazenamento. Barramento de E/S. 1.4. Sistemas de numeração e codificação. 1.5. Aritmética computacional. 1.6. Características dos principais processadores do mercado. 2. Banco de dados: arquitetura, modelos representação física. 2.1. Implementação de SGBDs relacionais. 2.2. SQL. lógicos e 3. Reengenharia de sistemas. 3.1. Engenharia reversa. 3.2. Descompilação de programas. Técnicas e ferramentas. 3.3. Editores de recursos, editores de disco e editores de memórias. 4. Linguagens de programação. 4.1. Tipos de dados elementares e estruturados. 4.2. Funções e procedimentos. 4.3. Estruturas de controle de fluxo. 4.4. Montadores, compiladores, ligadores e interpretadores. 4.5. Caracterização das principais linguagens de programação (C e Pascal). 4.6. Linguagens de programação orientada a objetos (C++e Java). 5. Redes de comunicação de dados. 5.1. Meios de transmissão. 5.2. Técnicas básicas de comunicação. 5.3. Técnicas de comutação de circuitos, pacotes e células. 5.4. Topologias de redes de computadores. 5.5. Tipos de serviço e QoS. 5.6. Elementos de interconexão de redes de computadores (gateways, hubs, repetidores, bridges, switches, roteadores). 5.7. Arquitetura e protocolos de redes de comunicação. 5.8. Modelo de referência OSI. 5.9. Arquitetura TCP/IP. Serviços e principais utilitários. 5.10. Arquitetura cliente-servidor. 5.11. Tecnologias de redes locais e de longa distância. 5.12. Redes de alta velocidade. 5.13. Aplicações de redes, inclusive de telefonia, da Internet e de redes de TV. 5.14. Monitoramento de tráfego. Sniffer de rede. Interpretação de pacotes. Formato de pacotes dos principais protocolos pertencentes à família TCP/IP. Anomalias. 5.15. Princípios de redes peer-to-peer. 5.16. Funcionamento dos principais serviços de rede. Servidores de e-mail, servidores Web, servidores proxy. 5.17. Domínios, entidades de registro, servidores WHOIS. 6. Segurança da informação. 6.1. Políticas de segurança da informação. 6.2. Segurança de redes de computadores, inclusive redes sem fio. 6.3. Vulnerabilidades e ataques a sistemas computacionais. 6.4. Processos de definição, implantação e gestão de políticas de segurança e auditoria. 6.5. Ataques e proteções relativos a hardware e software, sistemas operacionais, aplicações, bancos de dados, redes, inclusive firewalls e proxies, pessoas e ambiente físico. 7. Criptografia. 7.1. Conceitos básicos de criptografia. 7.2. Sistemas criptográficos simétricos e de chave pública. Modos de operação de cifras. 7.3. Certificação digital. 7.4. Protocolos criptográficos. 7.5. Características do RSA, DES, e AES. Funções hash. MD5 e SHA-1. 7.6. Esteganografia. 8. Sistemas operacionais. 8.1. Princípios de sistemas operacionais. 8.2. Sistemas Windows e Linux: localização e conteúdo de logs, gerenciamento de usuários. 8.3. Windows 2000: log de eventos, registro, lixeira. 8.4. Sistemas de arquivos NTFS, FAT12, FAT16, FAT32, EXT2, EXT3, REISER: Características, metadados, organização física. Diretórios e direitos de acesso, compartilhamento e segurança, integridade. 8.5. Gerenciamento de memória: organização, administração e hierarquia de memória, memória virtual. 8.6. Linux: instalação e configuração dos principais serviços TCP/IP. Scripts de inicialização. Fonte: Crimes Cibernéticos Como o HTML 5 matou o browser A carta de Jobs deu início a um grande debate entre os desenvolvedores. Afinal, o Flash não era algo facilmente descartável. Milhões de sites o utilizavam, inclusive o popular YouTube. Hoje, um ano e meio depois, boa parte dos vídeos do portal já é exibida com HTML5. No mesmo compasso, todas as últimas versões dos navegadores mais importantes (IE, Chrome, Firefox, Opera e Safari) já incorporaram recursos do HTML5. Essa versão do HTML traz uma série de novidades, entre as quais o canvas, a tela de trabalho onde é possível desenhar. “Isso facilita as coisas para quem quer fazer animações e significa uma arma contra o Flash”, diz Fábio Marciano, programador de interface web no portal R7. Outro elemento novo no HTML5 é a capacidade nativa de executar áudio e vídeo. Até a Microsoft embarcou no bonde do HTML5: o browser Internet Explorer 10, que vai rodar na nova interface do Windows 8, não dará suporte a plug-ins como o Flash e o Silverlight, este último que ela própria criou. Além disso, aplicações para essa interface poderão ser escritas com HTML5 e JavaScript, uma linguagem usada por programadores e restrita às páginas web. São Paulo – É muito raro uma linguagemde programação ganhar as manchetes do noticiário. Mas isso aconteceu com o HTML5, padrão responsável por dar forma às páginas web. Quem a trouxe para as manchetes foi Steve Jobs, que publicou, em abril de 2010, a carta Reflexões sobre o Adobe Flash. Nela, o guru da Apple concluía que o Flash, software gráfico da Adobe para animações, não era mais necessário diante da evolução do HTML5, a quinta versão da linguagem das páginas web. O Flash reinou durante muito tempo na produção de sites, graças à sua capacidade de criar soluções graficamente sofisticadas. Além disso, o plug-in Flash Reader tornou-se complemento obrigatório para os browsers, uma vez que, somente com o HTML, os navegadores não eram capazes de apresentar vídeos, animações e até mesmo som de forma nativa. Coerente com o teor de sua carta aberta, Jobs não incluiu o Flash Reader no browser do iPad. É o momento de glória dessas ferramentas. Elas partem dos browsers, seu nicho original, e conquistam novos espaços, como as aplicações para tablets, smartphones e até desktops, como mostra o novo Windows 8. “Estamos num momento em que tudo é browser”, diz Marcos Paulo Amorim, diretor executivo da Blink Systems, empresa de aplicações móveis. A mudança rumo à web torna mais fácil escrever uma aplicação e, com poucas mudanças, colocá-la para rodar em todas as plataformas. “O sonho de todo desenvolvedor é não ter de reescrever a aplicação que ele faz para cada plataforma”, diz Hélio Sabino da Silva, diretor da Iggy Informática, especializada em desenvolvimento web. Ele diz que a incorporação do HTML e do JavaScript passa a representar um chão comum para os diferentes sistemas operacionais que rodam nesses equipamentos. Mesmo com a vitória de um momento em que o browser reina, os desenvolvedores não acham que tudo esteja resolvido. “O browser ainda é uma tecnologia atrasada”, afirma Marcos Paulo Amorim. Mas num ponto todos concordam: definitivamente passado para trás. Fonte: Info o Flash foi