api_vulnerabilities¶
common¶
cwe_crud¶
models¶
” Modele potrzebne do przechowywania danych relacji CWE - do CVE. Problem - mamy informacje o kodzie CWE w CVE ale relacja w drugą stronę nie jest nigdzie na stronie https://nvd.nist.gov/ ani https://cwe.mitre.org/.
-
class
api_vulnerabilities.models.CVEModel(*args, **kwargs)[source]¶ Common Vulnerabilities and Exposures (CVE) - konkretna podatnośc z konkretnej wersji oprogramowania. CVE-d{4}-d{4,7} Relacja n many (CVE) -> 1 one (CWE)
“cve”: { “cve”: “CVE-2019-4570”, “description”: “IBM Tivoli Netcool Impact 7.1.0 through 7.1.0.16 generates an error message that includes sensitive information about its environment, users, or associated data. IBM X-Force ID: 166720.”, “cvss3”: {
“cvss3”: “CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N”, “cvss3_url”: “https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N”
}, “cvss2”: {
“cvss2”: “(AV:N/AC:L/Au:N/C:P/I:N/A:N)”, “cvss2_url”: “https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?vector=(AV:N/AC:L/Au:N/C:P/I:N/A:N)”
}, “base_score_v3”: “5.3 MEDIUM”, “base_score_v2”: “5.0 MEDIUM”, “hyperlinks”: [
],
- Parameters
id (AutoField) – Id
cve_id (CharField) – Cve id
year (CharField) – Year
month (CharField) – Month
cwe (ForeignKey to
CWEModel) – Cwe
-
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
class
api_vulnerabilities.models.CWEModel(*args, **kwargs)[source]¶ Klasa do przechowywanie kodów CWE (common weakness enumeration) ogólnych słabości np.: SQL Injection i listy konkretnych podatnosci CVE związanych z nim. Relacja 1 one (CWE) <- n many (CVE) “ID_CWE”: “CWE-79”, “title”: “Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)”, “description”: “The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. “, “likehood”: “High”, “technical_impact”: [
“Read Application Data”, “Bypass Protection Mechanism”, “Execute Unauthorized Code or Commands”
], “caused_by”: {
“field”: “Architecture and Design”, “process”: “Implementation”, “description”: “This weakness is caused during implementation of an architectural security tactic.”
},
- Parameters
id (AutoField) – Id
cwe_id (CharField) – Cwe id
title (TextField) – Title
description (TextField) – Description
likehood (TextField) – Likehood
-
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
class
api_vulnerabilities.models.CausedByModel(*args, **kwargs)[source]¶ 1 (one) CWE <- n (many) CausedByModel “caused_by”: {
“field”: “Architecture and Design”, “process”: “Implementation”, “description”: “This weakness is caused during implementation of an architectural security tactic.”
},
- Parameters
id (AutoField) – Id
field (CharField) – Field
process (TextField) – Process
description (TextField) – Description
cwe (ForeignKey to
CWEModel) – Cwe
-
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
-
class
api_vulnerabilities.models.TechnicalImpactModel(*args, **kwargs)[source]¶ 1 (one) CWE <- n (many) impacts “technical_impact”: [
“Bypass Protection Mechanism”, “Read Application Data”, “Execute Unauthorized Code or Commands”
],
- Parameters
id (AutoField) – Id
title (TextField) – Title
cwe (ForeignKey to
CWEModel) – Cwe
-
exception
DoesNotExist¶
-
exception
MultipleObjectsReturned¶
serializers¶
urls¶
views¶
cve_and_cwe¶
cve_details_all¶
cwe_all¶
cwe_details_all¶
general_scraper¶
mitre_cwe_scrapers¶
Scrapery do danych ze strony https://cwe.mitre.org/
CVE-2019-4570 https://nvd.nist.gov/vuln/detail/CVE-2019-4570#vulnCurrentDescriptionTitle Scrapery do danych ze strony https://nvd.nist.gov
-
class
api_vulnerabilities.cve_and_cwe.mitre_cwe_scrapers.CWEDataScraper(id_cwe, host_address=None)[source]¶ -
__init__(id_cwe, host_address=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
cwe_mitre_url= 'https://cwe.mitre.org/data/definitions/'¶
-
get_cve_examples()[source]¶ Przykładowe podatności bezpieczeństwa w konkretnych oprogramowanaich dla tego typu słabości oprogramowania.
- Return type
List[Dict]
-
-
class
api_vulnerabilities.cve_and_cwe.mitre_cwe_scrapers.CWETableTop25Scraper(host_address)[source]¶ Scraper danych - pobiera dane z tabeli dla top 25 słabości oprogramowania z https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html.
-
cwe_mitre_url= 'https://cwe.mitre.org'¶
-
get_top_25()[source]¶ SCRAPER - Pobiera dane ze strony - zwraca top 25 najpopularniejszych słabości. :return:
-
top_25_url= 'https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html'¶
-
nist_cve_scrapers¶
-
class
api_vulnerabilities.cve_and_cwe.nist_cve_scrapers.NISTCVEScraper(id_cve, host_address=None)[source]¶ Dodatkowe źródło danych o podatnosciach CVE
-
__init__(id_cve, host_address=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
get_cpe(soup)[source]¶ Common Platform Enumeration https://nvd.nist.gov/products/cpe https://nvd.nist.gov/products/cpe/search
-
get_vector_calculator_url(vector)[source]¶ Common Vulnerability Scoring System Version Zwraca link do kalkulator vectora ataku na podstawie jego wersji. Brak spójności - stare podatnosci mają tylko wersje 2.0 lub 2.0 i 3.0 najnowsze tylko 3.1 - ciągle sie to zmienia
-
nist_url= 'https://nvd.nist.gov/vuln/detail/'¶
-
nist_vector_v2_url= 'https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?vector='¶
-
nist_vector_v3_1_url= 'https://www.first.org/cvss/calculator/3.1#'¶
-
nist_vector_v3_url= 'https://www.first.org/cvss/calculator/3.0#CVSS:3.0/'¶
-