diff options
| author | Petr Svenda | 2020-10-15 17:30:37 +0200 |
|---|---|---|
| committer | GitHub | 2020-10-15 17:30:37 +0200 |
| commit | 8d6dcd36b428ba93577f07023d68b154217c660f (patch) | |
| tree | 229c8353a0555bd1df0bdb2b3f2b78869b21f2c7 | |
| parent | 79ed1029a1f2fa3395a35ab8d5382af886d7ea7b (diff) | |
| parent | 4b0e406d5a223286aef32a88899fbb627e25008a (diff) | |
| download | sec-certs-8d6dcd36b428ba93577f07023d68b154217c660f.tar.gz sec-certs-8d6dcd36b428ba93577f07023d68b154217c660f.tar.zst sec-certs-8d6dcd36b428ba93577f07023d68b154217c660f.zip | |
Merge pull request #3 from J08nY/feature/more-rules
Add and fix some regex rules.
| -rw-r--r-- | src/cert_rules.py | 134 |
1 files changed, 75 insertions, 59 deletions
diff --git a/src/cert_rules.py b/src/cert_rules.py index a3e0dd34..8623996c 100644 --- a/src/cert_rules.py +++ b/src/cert_rules.py @@ -17,14 +17,14 @@ rules_cert_id = [ # '[0-9][0-9\-]+?-CR', # Canada 'CRP[0-9][0-9][0-9][0-9]*?', # UK CESG 'CERTIFICATION REPORT No. P[0-9]+?', # UK CESG - '20[0-9][0-9]-[0-9]+-INF-[0-9]+?', # Spain - 'KECS-CR-[0-9]+?-[0-9]+?', # Korea - 'KECS-ISIS-[0-9]+?-[0-9][0-9][0-9][0-9]', # Korea - 'CRP-C[0-9]+?-[0-9]+?', # Japan - 'ISCB-[0-9]+?-RPT-[0-9]+?', # Malaysia - 'OCSI/CERT/.+?', # Italia - '[0-9\.]+?/TSE-CCCS-[0-9]+?', # Turkis CCCS - 'BTBD-.+?', # Turkis CCCS + '20[0-9][0-9]-[0-9]+-INF-[0-9]+?', # Spain + 'KECS-CR-[0-9]+?-[0-9]+?', # Korea + 'KECS-ISIS-[0-9]+?-[0-9][0-9][0-9][0-9]', # Korea + 'CRP-C[0-9]+?-[0-9]+?', # Japan + 'ISCB-[0-9]+?-RPT-[0-9]+?', # Malaysia + 'OCSI/CERT/.+?', # Italia + '[0-9\\.]+?/TSE-CCCS-[0-9]+?', # Turkis CCCS + 'BTBD-.+?', # Turkis CCCS ] rules_vendor = [ @@ -57,7 +57,7 @@ rules_protection_profiles = [ 'CCMB-20[0-9]+?-[0-9]+?-[0-9]+?', 'BSI-CCPP-.+?', 'ANSSI-CC-PP.+?', - 'WBIS_V[0-9]\.[0-9]', + 'WBIS_V[0-9]\\.[0-9]', 'EHCT_V.+?' ] @@ -71,7 +71,7 @@ rules_device_id = [ ] rules_os = [ - 'STARCOS(?: [0-9\.]+?|)', + 'STARCOS(?: [0-9\\.]+?|)', 'JCOP[ ]*[0-9]' ] @@ -80,8 +80,8 @@ rules_standard_id = [ 'FIPS ?(?:PUB )?[0-9]+?', 'NIST SP [0-9]+-[0-9]+?[a-zA-Z]?', 'PKCS[ #]*[1-9]+', - 'TLS[ ]*v[0-9\.]+', - 'TLS[ ]*v[0-9\.]+', + 'TLS[ ]*v[0-9\\.]+', + 'TLS[ ]*v[0-9\\.]+', 'BSI-AIS[ ]*[0-9]+?', 'AIS[ ]*[0-9]+?', 'RFC[ ]*[0-9]+?', @@ -89,50 +89,52 @@ rules_standard_id = [ 'ISO/IEC[ ]*[0-9]+:[ 0-9]+', 'ISO/IEC[ ]*[0-9]+', 'ICAO(?:-SAC|)', - '[Xx]\.509', + '[Xx]\\.509', 'RFC [0-9]+' - ] +] rules_security_level = [ 'EAL[ ]*[0-9+]+?', 'EAL[ ]*[0-9] augmented+?', 'ITSEC[ ]*E[1-9]*.+?', - ] +] rules_security_assurance_components = [ - 'ACM_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'ADO_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'ADV_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'AGD_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'ALC_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'ATE_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'AVA_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'AMA_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'APE_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'ASE_[A-Z][A-Z][A-Z](?:\.[0-9]|)', + r'ACE_[A-Z]{3}(?:\.[0-9]|)', + r'ACM_[A-Z]{3}(?:\.[0-9]|)', + r'ACO_[A-Z]{3}(?:\.[0-9]|)', + r'ADO_[A-Z]{3}(?:\.[0-9]|)', + r'ADV_[A-Z]{3}(?:\.[0-9]|)', + r'AGD_[A-Z]{3}(?:\.[0-9]|)', + r'ALC_[A-Z]{3}(?:\.[0-9]|)', + r'ATE_[A-Z]{3}(?:\.[0-9]|)', + r'AVA_[A-Z]{3}(?:\.[0-9]|)', + r'AMA_[A-Z]{3}(?:\.[0-9]|)', + r'APE_[A-Z]{3}(?:\.[0-9]|)', + r'ASE_[A-Z]{3}(?:\.[0-9]|)' ] rules_security_functional_components = [ - 'FAU_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FCO_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FCS_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FDP_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FIA_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FMT_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FPR_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FPT_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FRU_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FTA_[A-Z][A-Z][A-Z](?:\.[0-9]|)', - 'FTP_[A-Z][A-Z][A-Z](?:\.[0-9]|)', + r'FAU_[A-Z]{3}(?:\.[0-9]|)', + r'FCO_[A-Z]{3}(?:\.[0-9]|)', + r'FCS_[A-Z]{3}(?:\.[0-9]|)', + r'FDP_[A-Z]{3}(?:\.[0-9]|)', + r'FIA_[A-Z]{3}(?:\.[0-9]|)', + r'FMT_[A-Z]{3}(?:\.[0-9]|)', + r'FPR_[A-Z]{3}(?:\.[0-9]|)', + r'FPT_[A-Z]{3}(?:\.[0-9]|)', + r'FRU_[A-Z]{3}(?:\.[0-9]|)', + r'FTA_[A-Z]{3}(?:\.[0-9]|)', + r'FTP_[A-Z]{3}(?:\.[0-9]|)' ] rules_javacard = [ - # '(?:Java Card|JavaCard)', - # '(?:Global Platform|GlobalPlatform)', - '(?:Java Card|JavaCard) [2-3]\.[0-9](?:\.[0-9]|)', - '(?:Java Card|JavaCard) \(version [2-3]\.[0-9](?:\.[0-9]|)\)', - '(?:Global Platform|GlobalPlatform) [2-3]\.[0-9]\.[0-9]', - '(?:Global Platform|GlobalPlatform) \(version [2-3]\.[0-9]\.[0-9]\)', + #'(?:Java Card|JavaCard)', + #'(?:Global Platform|GlobalPlatform)', + r'(?:Java Card|JavaCard) [2-3]\.[0-9](?:\.[0-9]|)', + r'(?:Java Card|JavaCard) \(version [2-3]\.[0-9](?:\.[0-9]|)\)', + r'(?:Global Platform|GlobalPlatform) [2-3]\.[0-9]\.[0-9]', + r'(?:Global Platform|GlobalPlatform) \(version [2-3]\.[0-9]\.[0-9]\)', ] rules_crypto_algs = [ @@ -142,28 +144,42 @@ rules_crypto_algs = [ 'AES[-]*(?:128|192|256|)', 'SHA-1', 'MD5', - 'HMAC,' + 'HMAC', 'HMAC-SHA-(?:160|224|256|384|512)', - 'Diffie-Hellman', + '(Diffie-Hellman|DH)', + 'ECDH', 'ECDSA', - 'DES', + 'EdDSA', + '3?DES', 'ECC', 'DTRNG', 'TRNG', 'RN[GD]', 'RBG', - ] +] rules_block_cipher_modes = [ 'ECB', - 'CBC' + 'CBC', + 'CTR', + 'CFB', + 'OFB', + 'GCM', ] rules_ecc_curves = [ - 'P-(?:192|224|256|384|521)', - 'brainpool.+?[rkt]+1', - 'brainpoolP{[0-9, ]+}[rkt]+1', - 'secp.+?1', + 'P-(192|224|256|384|521)', + 'brainpoolP[0-9]{3}[rkt][12]', + '(sec|ansi)[pt].+?[rk][12]', + 'prime[0-9]{3}v[123]', + 'c2[pto]nb[0-9]{3}[vw][123]', + 'FRP256v1', + 'Curve(25519|1174|4417|22103|67254|383187|41417)', + 'Ed(25519|448)', + 'ssc-(160|192|224|256|288|320|384|512)', + 'Tweedle(dee|dum)', + 'JubJub', + 'BLS(12|24)-[0-9]{3}' ] rules_cplc = [ @@ -189,11 +205,11 @@ rules_crypto_libs = [ ] rules_IC_data_groups = [ - 'EF\.DG[1-9][0-6]?', - 'EF\.COM', - 'EF\.CardAccess', - 'EF\.SOD', - 'EF\.ChipSecurity' + r'EF\.DG[1-9][0-6]?', + r'EF\.COM', + r'EF\.CardAccess', + r'EF\.SOD', + r'EF\.ChipSecurity' ] rules_defenses = [ @@ -211,10 +227,10 @@ rules_defenses = [ rules_certification_process = [ '[oO]ut of [sS]cope', - '[\.\(].{0,100}?.[oO]ut of [sS]cope..{0,100}?[\.\)]', + '[\\.\\(].{0,100}?.[oO]ut of [sS]cope..{0,100}?[\\.\\)]', '.{0,100}[oO]ut of [sS]cope.{0,100}', - '.{0,100}confidential document{0,100}', - '[sS]ecurity [fF]unction SF\.[a-zA-Z0-9_]', + '.{0,100}confidential document.{0,100}', + '[sS]ecurity [fF]unction SF\\.[a-zA-Z0-9_]', ] rules_vulnerabilities = [ |
