Git Product home page Git Product logo

trabalho_grau_b's Introduction

Trabalho_Grau_B

Instalação de Dependencias: #pip install requests #pip install cvsslib

Url Codigo consulta: https://www.circl.lu/services/cve-search/

Definição do Trabalho: Data de entrega: 10/06/2022 - Aula 16, até as 19h30 pelo Moodle.

Data da apresentação: 10/06/2022 - Aula 16, até as 19h30.

Itens a serem entregues: código-fonte da implementação, vídeo demonstrativo e relatório. • O código-fonte não entregue acarretará em um desconto de 50% sobre a nota do trabalho. • O vídeo não entregue acarretará em um desconto de 25% sobre a nota do trabalho. • O vídeo deve ter uma duração máxima de 5 minutos. • O relatório não entegue acarretará em um desconto de 25% sobre a nota do trabalho. • O relatório deve conter, no mínimo, 2 páginas completas.

Peso do trabalho: 3,0.

A CVE (Common Vulnerabilities and Exposures), disponível em https://cve.mitre.org/, é uma lista de entradas (cada uma contendo um número de identificação e uma descrição) para vulnerabilidades de segurança publicamente conhecidas. Já a CVSS (Common Vulnerability Scoring System), cujo endereço do site é https://www.first.org/cvss/, fornece uma maneira de capturar as principais características de uma vulnerabilidade e produzir uma pontuação numérica que reflete a sua gravidade. A pontuação numérica pode ser convertida em uma representação qualitativa (por exemplo, baixa, média, alta e crítica) para ajudar as organizações a avaliar e priorizar adequadamente os seus processos de gerenciamento de vulnerabilidades. O cálculo da pontuação de uma vulnerabilidade considera três tipos de métricas: básicas, temporais e ambientais. A maioria das ferramentas de descoberta de vulnerabilidades informam a pontuação CVSS para as vulnerabilidades encontradas; algumas informam a pontuação considerando métricas básicas e temporais, enquanto outras focam apenas em métricas básicas. Neste contexto, a aplicação a ser desenvolvida consiste em mostrar na tela todas as informações disponíveis para uma CVE digitada pelo usuário. O programa deve utilizar uma API disponível para pegar as informações da vulnerabilidade solicitada. Neste sentido, pode-se utilizar a API circl.lu (https://www.circl.lu/services/cve-search/). Por exemplo, caso o usuário tenha digitado a vulnerabidade identificada pela CVE-2021-34527, o programa deve realizar uma consulta na API (exemplo de consulta: curl https://cve.circl.lu/api/cve/CVE-2021- 34527), parsear as informações recebidas e mostrar na tela as informações de forma estruturada. Além disso, o programa deve permitir calcular a pontuação de uma vulnerabilidade utilizando as métricas temporais e ambientais. Caso a pontuação não esteja disponível, o grupo deve selecionar uma das duas opções a seguir. Primeiro, o programa pode permitir que o usuário especifique um arquivo (JSON, XML ou HTML) gerado por uma ferramenta de descoberta de vulnerabilidades para o host em que a vulnerabilidade está presente. Arquivos de exemplo (gerados pela ferramenta Nessus) estão disponíveis na comunidade do Moodle da atividade acadêmica e podem ser utilizados para o desenvolvimento do trabalho. Segundo, o programa pode solicitar que o usuário informe os valores das métricas faltantes e calcular a pontuação. Neste caso, o grupo pode estudar a especificação da CVSS (disponível em https://www.first.org/cvss/v3.1/specification-document) para realizar o cálculo ou utilizar uma biblioteca auxiliar que realize o cálculo automaticamente. A implementação pode ser feita na linguagem de programação de preferência do grupo e deve seguir as boas práticas para a geração de um código-fonte seguro. Por isso, o grupo deve (i) seguir os conceitos estudados ao longo do semestre na atividade acadêmica (por exemplo, validando todas as entradas do programa); e (ii) pesquisar por fraquezas de código-fonte (Common Weakness Enumeration – CWE), disponíveis em https://cwe.mitre.org/, estudá�las e aplicar os ensinamentos no código desenvolvido.

Por fim, o grupo deve escrever um relatório explicando (i) quais CWEs foram pesquisadas e como elas ajudaram a aumentar a segurança do código-fonte; e (ii) como usar o software desenvolvido. O relatório deve ser escrito em latex e utilizar o template para artigos da SBC (disponível em https://www.sbc.org.br/documentos-da�sbc/category/169-templates-para-artigos-e-capitulos-de-livros). Sugere-se o uso de uma ferramenta colaborativa de edição de texto em latex (tal como o Overleaf - https://www.overleaf.com/). Observações: • Podem ser utilizadas bibliotecas auxiliares para o cálculo da pontuação CVSS, incluindo: o CVSSlib, disponível em https://github.com/ctxis/cvsslib; o CVSS-NPM, disponível em https://www.npmjs.com/package/cvss. • Também pode-se utilizar outras APIs para adquirir informações sobre CVEs, incluindo: o NVD data feeds, disponível em https://nvd.nist.gov/vuln/data-feeds; o pyvfeed, disponível em https://github.com/vfeedio/pyvfeed; o cve-search, disponível em https://github.com/cve-search/cve-search e https://www.cve�search.org/api/.

Tutotial de como instalar o git e configurar no vs https://www.geeksforgeeks.org/how-to-install-git-in-vs-code/#:~:text=Installing%20Git%20in%20Visual%20Studio%20Step%201%3A%20Download,git%20in%20your%20system%20using%20the%20official%20website.

trabalho_grau_b's People

Contributors

rafaelwduarte avatar mskca avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.