[IntelMQ-dev] Shadowserver parser extract_cve_from_tag
Kamil Mankowski
mankowski at cert.at
Mon Feb 5 10:12:46 CET 2024
Hey,
We definitely need to handle vulnerabilities in IntelMQ better. I have
already proposed an IEP to introduce a vulnerability field in the
harmonization, together with related product information:
https://github.com/certtools/ieps/pull/10/files What do you think about
that proposal?
We currently use a little different approach than just copy CVE numbers:
we have an additional bot to split events and create them in the way one
CVE = one event, with a CVE as identifier. This is later used to compare
with other sources, so we can get the information about vulnerability
from different sources, but send just a one notification.
Best regards
// Kamil Mańkowski <mankowski at cert.at> - T: +43 676 898 298 7204
// CERT Austria - https://www.cert.at/
// CERT.at GmbH, FB-Nr. 561772k, HG Wien
On 2/5/24 10:03, Thomas Hungenberg via IntelMQ-dev wrote:
> Hi,
>
> like for other Shadowserver reports, we are sending email notifications to
> affected network owners in Germany based on the Vulnerable-HTTP report.
> Unlike other reports (like Open-Portmapper), the Vulnerable-HTTP report
> contains information on different kinds of software/systems.
> So we are sending the notifications with a different template for each
> software/system.
>
> For some software/systems (like Fortinet or VMWare), the report contains
> information on different vulnerabilities (CVEs) and each host included in
> the report can be affected by one or more of them as listed in "tag", e.g.
>
> "cve-2019-5544;cve-2020-3992;cve-2021-21974;vmware"
> "cve-2020-3992;cve-2021-21974;vmware"
> "cve-2019-5544;vmware"
> "cve-2021-21974;vmware"
> "cve-2021-21972;cve-2023-34048;vcenter-dcerpc-exposed;vmware"
> "cve-2021-21972;cve-2023-20892;cve-2023-34048;vmware"
>
> So we need to tell the recipients of our notifications to which of the
> vulnerabilities their host is exactly vulnerable to.
> We do this by adding a column "cve" in addition to "ip", "port", etc.
> to the CSV data included with our notifications.
>
> However, including the raw "tag" attribute from the Shadowserver report
> would confuse the recipients as "tag" often includes additional information
> not relevant in the context of the specific report like "ssl-poodle", e.g.
>
> "cve-2024-23897;jenkins;ssl;ssl-poodle"
> "cve-2023-46805;cve-2024-21887;ivanti-connect-secure;ssl;ssl-freak;vpn"
>
> So we added a function "extract_cve_from_tag" to our local Shadowserver
> parser
> _config.py (included with IntelMQ 3.2.1) which returns a sorted comma
> separated
> list of CVEs included in "tag", e.g.
>
> extract_cve_from_tag("cve-2023-46805;cve-2024-21887;ivanti-connect-secure;ssl;ssl-freak;vpn")
> -> "cve-2023-46805,cve-2024-21887"
>
> The result is stored in "extra.cve" by the parser
>
> scan_http_vulnerable = {
> 'optional_fields': [
> ('protocol.transport', 'protocol'),
> ('source.reverse_dns', 'hostname'),
> ('extra.', 'tag', validate_to_none),
> ('extra.cve', 'tag', extract_cve_from_tag),
>
> and this way can later easily be included in the CSV data generated for
> the notifications.
>
> I think this might be useful for others as well and would be glad if it
> could be added to the parser code and schema for the next release
> so we would not need to patch it locally after each update of the
> parser/schema.
>
> I have just created a pull request for this:
> https://github.com/certtools/intelmq/pull/2457
>
>
> @elsif: If the PR is accepted, would you like to change the schema
> for scan_http_vulnerable and scan6_http_vulnerable like this?
>
> [
> "extra.",
> "tag",
> "validate_to_none"
> ],
> + [
> + "extra.cve",
> + "tag",
> + "extract_cve_from_tag"
> + ],
>
>
> Kind regards
> Thomas
> _______________________________________________
> IntelMQ-dev mailing list
> https://lists.cert.at/cgi-bin/mailman/listinfo/intelmq-dev
> https://intelmq.readthedocs.io/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.cert.at/pipermail/intelmq-dev/attachments/20240205/18951081/attachment.sig>
More information about the IntelMQ-dev
mailing list