aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam Janovsky2022-10-05 21:11:42 +0200
committerAdam Janovsky2022-10-05 21:11:42 +0200
commite06ea65912a14497280e04b19afa06f0b1952c48 (patch)
tree183be4e313880497cbc4f7482c63dfb5d09ce1e4
parent29b1f632c18ba4691ed17257802ffb48f8b2f7db (diff)
downloadsec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.tar.gz
sec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.tar.zst
sec-certs-e06ea65912a14497280e04b19afa06f0b1952c48.zip
introduce scipy dependency
-rw-r--r--notebooks/cc/vulnerabilities.ipynb265
-rw-r--r--requirements/requirements.in3
-rw-r--r--requirements/requirements.txt9
3 files changed, 28 insertions, 249 deletions
diff --git a/notebooks/cc/vulnerabilities.ipynb b/notebooks/cc/vulnerabilities.ipynb
index a7959d7f..eea8fc9b 100644
--- a/notebooks/cc/vulnerabilities.ipynb
+++ b/notebooks/cc/vulnerabilities.ipynb
@@ -78,8 +78,8 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "parsing cpe matching (by NIST) dictionary: 100%|██████████| 398394/398394 [00:51<00:00, 7799.80it/s] \n",
- "Building-up lookup dictionaries for fast CVE matching: 100%|██████████| 196907/196907 [00:16<00:00, 11669.78it/s]\n"
+ "parsing cpe matching (by NIST) dictionary: 100%|██████████| 398394/398394 [00:47<00:00, 8353.84it/s] \n",
+ "Building-up lookup dictionaries for fast CVE matching: 100%|██████████| 196907/196907 [00:14<00:00, 13862.44it/s]\n"
]
}
],
@@ -409,13 +409,13 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "bb5e9ad95bc741f18ea19d3ce84c3372",
+ "model_id": "fc464abb26084948885a552e01412165",
"version_major": 2,
"version_minor": 0
},
@@ -425,259 +425,28 @@
},
"metadata": {},
"output_type": "display_data"
- }
- ],
- "source": [
- "# Manually curated families that recieve support 100 on CVE-rich certificates and are meaningful to compute Spearman's\n",
- "families = [ \"ADV_FSP\", \"ATE_IND\", \"ALC_CMC\", \"ALC_CMS\", \"AVA_VAN\", \"ATE_FUN\", \"ATE_COV\", \"ALC_FLR\", \"ASE_REQ\", \"ASE_TSS\", \"ASE_OBJ\", \"ADV_TDS\", \"ALC_DVS\", \"ATE_DPT\", \"ALC_LCD\"]\n",
- "df_corr = compute_cve_correlations(df_cves_within_validity_period, sar_families=families, output_path=RESULTS_DIR / \"all_certs_sar_cve_corr.csv\", filter_nans=False)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
+ },
{
"data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>n_cves_corr</th>\n",
- " <th>n_cves_pvalue</th>\n",
- " <th>worst_cve_score_corr</th>\n",
- " <th>worst_cve_pvalue</th>\n",
- " <th>avg_cve_score_corr</th>\n",
- " <th>avg_cve_pvalue</th>\n",
- " <th>support</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>ADV_FSP</th>\n",
- " <td>-0.073348</td>\n",
- " <td>2.000118e-05</td>\n",
- " <td>-0.115242</td>\n",
- " <td>0.017497</td>\n",
- " <td>-0.264223</td>\n",
- " <td>4.660740e-07</td>\n",
- " <td>3130</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ATE_IND</th>\n",
- " <td>-0.063539</td>\n",
- " <td>2.085741e-04</td>\n",
- " <td>-0.187467</td>\n",
- " <td>0.000304</td>\n",
- " <td>-0.313017</td>\n",
- " <td>2.938611e-09</td>\n",
- " <td>3081</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>eal</th>\n",
- " <td>-0.019250</td>\n",
- " <td>1.551846e-01</td>\n",
- " <td>0.024435</td>\n",
- " <td>0.655587</td>\n",
- " <td>-0.243016</td>\n",
- " <td>2.640539e-05</td>\n",
- " <td>2779</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>AVA_VAN</th>\n",
- " <td>-0.103612</td>\n",
- " <td>2.212583e-07</td>\n",
- " <td>-0.243965</td>\n",
- " <td>0.000072</td>\n",
- " <td>-0.343194</td>\n",
- " <td>2.777696e-08</td>\n",
- " <td>2365</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ALC_CMS</th>\n",
- " <td>-0.099718</td>\n",
- " <td>6.717591e-07</td>\n",
- " <td>-0.263161</td>\n",
- " <td>0.000018</td>\n",
- " <td>-0.349067</td>\n",
- " <td>1.386312e-08</td>\n",
- " <td>2340</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ALC_CMC</th>\n",
- " <td>-0.103298</td>\n",
- " <td>2.848839e-07</td>\n",
- " <td>-0.239746</td>\n",
- " <td>0.000089</td>\n",
- " <td>-0.356366</td>\n",
- " <td>6.753096e-09</td>\n",
- " <td>2334</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ATE_FUN</th>\n",
- " <td>0.007270</td>\n",
- " <td>6.368322e-01</td>\n",
- " <td>0.028964</td>\n",
- " <td>0.666821</td>\n",
- " <td>-0.102369</td>\n",
- " <td>6.331094e-02</td>\n",
- " <td>2320</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ATE_COV</th>\n",
- " <td>-0.019677</td>\n",
- " <td>1.729353e-01</td>\n",
- " <td>0.077767</td>\n",
- " <td>0.875190</td>\n",
- " <td>-0.165593</td>\n",
- " <td>6.854635e-03</td>\n",
- " <td>2297</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ASE_TSS</th>\n",
- " <td>0.004123</td>\n",
- " <td>5.713761e-01</td>\n",
- " <td>-0.036955</td>\n",
- " <td>0.305412</td>\n",
- " <td>0.043354</td>\n",
- " <td>7.247765e-01</td>\n",
- " <td>1906</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ASE_REQ</th>\n",
- " <td>-0.127189</td>\n",
- " <td>1.271330e-08</td>\n",
- " <td>-0.203925</td>\n",
- " <td>0.002122</td>\n",
- " <td>-0.177072</td>\n",
- " <td>6.636164e-03</td>\n",
- " <td>1905</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ASE_OBJ</th>\n",
- " <td>-0.121506</td>\n",
- " <td>6.966594e-08</td>\n",
- " <td>-0.240040</td>\n",
- " <td>0.000439</td>\n",
- " <td>-0.205727</td>\n",
- " <td>2.255957e-03</td>\n",
- " <td>1867</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ALC_FLR</th>\n",
- " <td>0.043797</td>\n",
- " <td>9.596794e-01</td>\n",
- " <td>0.045766</td>\n",
- " <td>0.737926</td>\n",
- " <td>0.044116</td>\n",
- " <td>7.303852e-01</td>\n",
- " <td>1592</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ADV_TDS</th>\n",
- " <td>-0.038305</td>\n",
- " <td>6.762649e-02</td>\n",
- " <td>0.063991</td>\n",
- " <td>0.759931</td>\n",
- " <td>-0.100964</td>\n",
- " <td>1.322631e-01</td>\n",
- " <td>1522</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ALC_DVS</th>\n",
- " <td>-0.044636</td>\n",
- " <td>4.950787e-02</td>\n",
- " <td>-0.030389</td>\n",
- " <td>0.370364</td>\n",
- " <td>-0.137949</td>\n",
- " <td>6.566097e-02</td>\n",
- " <td>1367</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ATE_DPT</th>\n",
- " <td>-0.033161</td>\n",
- " <td>1.139414e-01</td>\n",
- " <td>-0.074684</td>\n",
- " <td>0.208772</td>\n",
- " <td>-0.034558</td>\n",
- " <td>3.539367e-01</td>\n",
- " <td>1324</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ALC_LCD</th>\n",
- " <td>-0.006068</td>\n",
- " <td>4.186687e-01</td>\n",
- " <td>-0.052709</td>\n",
- " <td>0.302177</td>\n",
- " <td>-0.160808</td>\n",
- " <td>5.590991e-02</td>\n",
- " <td>1147</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "a12745f79c0b4b8bba57f17d4c8e8735",
+ "version_major": 2,
+ "version_minor": 0
+ },
"text/plain": [
- " n_cves_corr n_cves_pvalue worst_cve_score_corr worst_cve_pvalue \\\n",
- "ADV_FSP -0.073348 2.000118e-05 -0.115242 0.017497 \n",
- "ATE_IND -0.063539 2.085741e-04 -0.187467 0.000304 \n",
- "eal -0.019250 1.551846e-01 0.024435 0.655587 \n",
- "AVA_VAN -0.103612 2.212583e-07 -0.243965 0.000072 \n",
- "ALC_CMS -0.099718 6.717591e-07 -0.263161 0.000018 \n",
- "ALC_CMC -0.103298 2.848839e-07 -0.239746 0.000089 \n",
- "ATE_FUN 0.007270 6.368322e-01 0.028964 0.666821 \n",
- "ATE_COV -0.019677 1.729353e-01 0.077767 0.875190 \n",
- "ASE_TSS 0.004123 5.713761e-01 -0.036955 0.305412 \n",
- "ASE_REQ -0.127189 1.271330e-08 -0.203925 0.002122 \n",
- "ASE_OBJ -0.121506 6.966594e-08 -0.240040 0.000439 \n",
- "ALC_FLR 0.043797 9.596794e-01 0.045766 0.737926 \n",
- "ADV_TDS -0.038305 6.762649e-02 0.063991 0.759931 \n",
- "ALC_DVS -0.044636 4.950787e-02 -0.030389 0.370364 \n",
- "ATE_DPT -0.033161 1.139414e-01 -0.074684 0.208772 \n",
- "ALC_LCD -0.006068 4.186687e-01 -0.052709 0.302177 \n",
- "\n",
- " avg_cve_score_corr avg_cve_pvalue support \n",
- "ADV_FSP -0.264223 4.660740e-07 3130 \n",
- "ATE_IND -0.313017 2.938611e-09 3081 \n",
- "eal -0.243016 2.640539e-05 2779 \n",
- "AVA_VAN -0.343194 2.777696e-08 2365 \n",
- "ALC_CMS -0.349067 1.386312e-08 2340 \n",
- "ALC_CMC -0.356366 6.753096e-09 2334 \n",
- "ATE_FUN -0.102369 6.331094e-02 2320 \n",
- "ATE_COV -0.165593 6.854635e-03 2297 \n",
- "ASE_TSS 0.043354 7.247765e-01 1906 \n",
- "ASE_REQ -0.177072 6.636164e-03 1905 \n",
- "ASE_OBJ -0.205727 2.255957e-03 1867 \n",
- "ALC_FLR 0.044116 7.303852e-01 1592 \n",
- "ADV_TDS -0.100964 1.322631e-01 1522 \n",
- "ALC_DVS -0.137949 6.566097e-02 1367 \n",
- "ATE_DPT -0.034558 3.539367e-01 1324 \n",
- "ALC_LCD -0.160808 5.590991e-02 1147 "
+ " 0%| | 0/15 [00:00<?, ?it/s]"
]
},
- "execution_count": 5,
"metadata": {},
- "output_type": "execute_result"
+ "output_type": "display_data"
}
],
"source": [
- "df_corr"
+ "# Manually curated families that recieve support 100 on CVE-rich certificates and are meaningful to compute Spearman's\n",
+ "families = [ \"ADV_FSP\", \"ATE_IND\", \"ALC_CMC\", \"ALC_CMS\", \"AVA_VAN\", \"ATE_FUN\", \"ATE_COV\", \"ALC_FLR\", \"ASE_REQ\", \"ASE_TSS\", \"ASE_OBJ\", \"ADV_TDS\", \"ALC_DVS\", \"ATE_DPT\", \"ALC_LCD\"]\n",
+ "\n",
+ "df_corr = compute_cve_correlations(df_cves_within_validity_period, sar_families=families, output_path=RESULTS_DIR / \"all_certs_sar_cve_corr.csv\", filter_nans=False)\n",
+ "df_corr = compute_cve_correlations(df_cves_within_validity_period.loc[df_cves_within_validity_period.category != \"ICs, Smart Cards and Smart Card-Related Devices and Systems\"], sar_families=families, output_path=RESULTS_DIR / \"certs_without_smartcards_sar_cve_corr.csv\", filter_nans=False)"
]
},
{
diff --git a/requirements/requirements.in b/requirements/requirements.in
index 654a565d..d692e59d 100644
--- a/requirements/requirements.in
+++ b/requirements/requirements.in
@@ -25,4 +25,5 @@ ipywidgets
spacy
pkgconfig
seaborn
-pySankeyBeta \ No newline at end of file
+pySankeyBeta
+scipy \ No newline at end of file
diff --git a/requirements/requirements.txt b/requirements/requirements.txt
index 8621cdff..46ff8d7a 100644
--- a/requirements/requirements.txt
+++ b/requirements/requirements.txt
@@ -1,3 +1,7 @@
+appnope==0.1.3
+ # via
+ # ipykernel
+ # ipython
argon2-cffi==21.3.0
# via notebook
argon2-cffi-bindings==21.2.0
@@ -66,6 +70,8 @@ html5lib==1.1
# via -r requirements.in
idna==3.3
# via requests
+importlib-resources==5.9.0
+ # via jsonschema
ipykernel==6.12.1
# via
# -r requirements.in
@@ -266,6 +272,7 @@ scikit-learn==1.0.2
# via -r requirements.in
scipy==1.8.0
# via
+ # -r requirements.in
# scikit-learn
# seaborn
seaborn==0.11.2
@@ -354,6 +361,8 @@ webencodings==0.5.1
# tinycss2
widgetsnbextension==3.6.0
# via ipywidgets
+zipp==3.8.1
+ # via importlib-resources
# The following packages are considered to be unsafe in a requirements file:
# setuptools