connectors icon indicating copy to clipboard operation
connectors copied to clipboard

Improve Ransomware Live connector

Open yassine-ouaamou opened this issue 1 year ago • 8 comments

Description

Following some tests, here are some behaviours to fix in ransomware.live connector :

  • The connector creates Intrusion Sets as Threat Actors
  • The connector adds "related-to" relationships between reports and entities/observables instead of embedding them in the report

yassine-ouaamou avatar Jul 15 '24 10:07 yassine-ouaamou

Further information: The connector creates Reports, Organizations, and Threat actors. From what I understand, its purpose is to reference ransomware attacks. The reports it creates seem completely useless as is. It should:

  • Either put information in the reports, choose an interesting name, etc (if such information are available).
  • Or maybe not create any reports at all. Simply create Threat -> Target -> Victim (Organization) relationships.

From my point of view, we need to:

  • Evaluate how to make reports useful (add information). We have only external ref at this moment.
  • If you keep the reports, don't create any more “related to” relationships with the reports.
  • Create Intrusion sets rather than Threat actors.
  • Study the possibility of creating and linking malware.
  • No longer create an “attributed to” relationship with a victim Organization.

"targets" and "attributed to" relation with the same Organization ?!

image

"related to" relation with Report

image

Threat actor that might be Intrusion set

image

Lhorus6 avatar Jul 24 '24 09:07 Lhorus6

Hey @sudesh0sudesh,

First, I wanted to thank you for your contribution. Your work is greatly appreciated within our community. Could you consider adding the improvements highlighted in this issue so it meets the necessary standards for a production use?

Thanks!

yassine-ouaamou avatar Jul 24 '24 15:07 yassine-ouaamou

@yassine-ouaamou I will make changes from threat actors to intrusion sets

sudesh0sudesh avatar Jul 24 '24 16:07 sudesh0sudesh

@Lhorus6 Thank you for recommendations. I will consider ways to limit the relationships.

We create reports because we don't always have information about the organization and we use reports to track victims. We could include the information that the organization was compromised within the organization itself, but at that point, it wouldn't be useful to anyone.

I'm not sure how to link it to malware because only the organization that was attacked knows what malware was used.

sudesh0sudesh avatar Jul 24 '24 16:07 sudesh0sudesh

Hi @sudesh0sudesh,

I see. Perhaps create Incidents rather than Reports in this case. 🤔 It’s debatable, both would be possible in reality.

But if we stay with the Reports, to improve them a little:

  • Put a title based on pattern would be interesting. For example, instead of just putting the victim's name in the title, we could think about using a pattern like "Ransomware activity tracking - [victim name] victim of [ransomware group name]"
  • Same idea for the description, something like : “On [today's date], the ransomware group [group name] mentioned [victim name] as one of its victims."
  • Put TLP:CLEAR marking
  • Add “Ransomware Live” as “Author

These are small things that would make a Report cleaner

Lhorus6 avatar Jul 24 '24 17:07 Lhorus6

I just tested the newest version, it seems to be broken due to missing dependencies. While i got an error for the missing tldextract, i fear the validators library might also be missing.

opencti-connector-ransomware-1  | Traceback (most recent call last):
opencti-connector-ransomware-1  |   File "/opt/connector/main.py", line 5, in <module>
opencti-connector-ransomware-1  |     from lib.ransomConn import RansomwareAPIConnector
opencti-connector-ransomware-1  |   File "/opt/connector/lib/ransomConn.py", line 8, in <module>
opencti-connector-ransomware-1  |     import tldextract
opencti-connector-ransomware-1  | ModuleNotFoundError: No module named 'tldextract'

Great work on the connector nonetheless! @sudesh0sudesh

screencoffee avatar Aug 15 '24 13:08 screencoffee

@screencoffee Sorry for that just created a new pull request.

sudesh0sudesh avatar Aug 15 '24 15:08 sudesh0sudesh

Happy to say that it works! And these improvements are amazing!

screencoffee avatar Aug 20 '24 06:08 screencoffee

Solved by https://github.com/OpenCTI-Platform/connectors/pull/2474

helene-nguyen avatar Sep 16 '24 14:09 helene-nguyen

Hi @sudesh0sudesh, Great Job! Thanks for your contribution. I just tested the connector. I see two tiny improvements that I noted in this new issue: https://github.com/OpenCTI-Platform/connectors/issues/2665

yassine-ouaamou avatar Sep 17 '24 09:09 yassine-ouaamou