Code Monkey home page Code Monkey logo

sitincloud / owlyshield Goto Github PK

View Code? Open in Web Editor NEW
373.0 15.0 24.0 72.89 MB

Owlyshield is an EDR framework designed to safeguard vulnerable applications from potential exploitation (C&C, exfiltration and impact).

Home Page: https://www.sitincloud.com

License: European Union Public License 1.2

Inno Setup 2.09% C++ 15.00% C 2.56% Rust 80.35%
cybersecurity antivirus behavior-analysis ransomware edr machine-learning malware malware-analysis malware-research threat-hunting

owlyshield's Introduction

Translations (obsolete):

Logo

Owlyshield

An EDR framework written in Rust

🧪 Access training data · 📖 Read the Documentation · 💬 Request Feature

⏩ TL;DR

Owlyshield is an open-source EDR (Endpoint Detection and Response) solution for Linux and Windows servers. It analyzes how processes use files to detect intrusions through vulnerability exploitation, with a particular focus on detecting Command and Control, exfiltration and impact tactics. The project is developed by SitinCloud, a French company.

The main idea behind Owlyshield is to learn the normal behavior of applications (essentially trees of processes) and use this knowledge to identify weak signals of an attack through the use of novelty detection.

❓ An EDR Framework...

Owlyshield's extensibility is a key feature that sets it apart from other EDR solutions. As a framework you can add new algorithms for malware detection, UEBA (User and Entity Behavior Analytics), and novelty detection. You can also use Owlyshield to record and replay file activities for training machine learning models, as we do with our autoencoder feature.

Owlyshield provides powerful and efficient endpoint detection and response capabilities for Linux, Windows, and IoT devices. Its unique focus on file activities makes it highly effective at detecting fileless malware and C&C beacons that may go unnoticed by other EDR solutions.

(back to top)

☑️ ...that's comes with pre-built features

Although Owlyshield is a framework designed to be customized and extended, it also comes with pre-built, powerful features that are immediately usable :

  • Advanced novelty detection with autoencoders (commercial version),
  • Ransomware protection in real-time on Windows using XGBoost,
  • Novelty detection with embedded training on both Linux (+IoT) and Windows,
  • Auto-configuration of SELinux to automatically protect exposed applications.

Gif Demo Owlyshield

(back to top)

🙈 Real-Life Examples

Owlyshield provides a powerful solution for detecting and responding to threats in real-time. Here are three real-life examples of how Owlyshield protected our customers:

  • An attacker exploited a critical CVE in an ESXi server to deploy a payload. Owlyshield detected weak signals of the attack on the ESXi server by analyzing the file activities and identifying unusual behavior in the ESXi process family, indicating the presence of a malicious process.
  • A web application built with JHipster had a hidden URL that could be used to dump the JVM memory, but the infrastructure team was not aware of this vulnerability. Owlyshield was able to detect it was exploited by analyzing the file system for unusual activity related to creating the dump file,
  • A large and expensive ERP system was accessed by teams of consultants from different countries. One of them, with admin rights, began to slowly corrupt specific files in the ERP system. The attacker used this tactic to make the corruption look like a series of bugs or glitches rather than a deliberate attack.

(back to top)

▶️ 2 minutes install

Installation instructions for Owlyshield can be found in the Releases section of the project's GitHub repository. For usage instructions, please refer to the project's Wiki or see the Contributing section if you prefer to build Owlyshield yourself.

(back to top)

🤑 Business

↗️ Free vs Pro editions

The Pro Edition (commercial edition) includes the following features:

  • Integration with Wazuh,
  • Nice local interfaces for end users,
  • Scheduled tasks to automatically update the application.

Within the scope of free version usage, we will do our best to help you find a solution for any issues you may encounter. However, we prioritize support for subscribers to our commercial version and valued added resellers.

💰 Business model

While our products and services can be purchased directly from us (feel free to contact us for a quotation that meets your needs), we believe that it is best for our products to be distributed to end customers indirectly.

Please contact us if you:

  • Want to become a distribution partner or use our products as an MSSP – we are open to such partnerships.
  • Want to integrate Owlyshield as part of your own EDR/XDR system – we will be happy to provide the best proposal for the appropriate level of professional services to do so.
  • Need to protect your critical enterprise servers against crafted attacks or progressive wipers – we can introduce you to our brand-new novelty detection engine based on encoders AI tools (Owlyshield Enterprise Edition).
  • Have any questions or would like a presentation of our products.

(back to top)

🦾 Contributing

We offer free access to the Owlyshield Pro Edition to our contributors.

If you discover an undetected ransomware, please open an issue with the tag "undetected" to help us improve the AI engine and understand the new techniques used to avoid detection.

If you have suggestions on how to improve Owlyshield, you can fork the repository and create a pull request or simply open an issue with the tag "enhancement".

Don't forget to give the project a ⭐! Thank you for your contributions.

To contribute:

  1. Fork the project.
  2. Create a feature branch: git checkout -b feature/AmazingFeature.
  3. Commit your changes: git commit -m 'Add some AmazingFeature'.
  4. Push to the branch: git push origin feature/AmazingFeature.
  5. Open a pull request.

(back to top)

📖 License

Distributed under the EUPL v1.2 license. See LICENSE.txt for more information.

(back to top)

💌 Contact

Damien LESCOS - @DamienLescos

Project Link: https://github.com/SitinCloud/Owlyshield/

Company Link: SitinCloud

(back to top)

🙏 Acknowledgments

(back to top)

owlyshield's People

Contributors

alicimertcan avatar aoyhenart avatar dlescos avatar lijemutu avatar pierreroger6466 avatar sn99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

owlyshield's Issues

Heavy processor usage

I have noticed a frequent high level processor usage (up to 20%) associated with up to 200 Mb memory usage. Then both measures decrease to 3% and less than 40 Mb and the phenomenon resumes.

Can not start service

Hello,

I have installed the project however whenever I start the owlyshield_ransom.exe I am getting the following error.

Error: Winapi(Os { code: 1063, kind: Uncategorized, message: "The service process could not connect to the service controller." })

The driver has been installed successfully, but the OwlyShield Service is not running and I am getting error when I try to start: error 1068 the dependency service or group failed to start.

Crash when detecting false positive

Each time a positive is detected on my laptop the console version displays this weird message:
panicked at 'called Result::unwrap() on an Err value: SendError { .. }', src\worker.rs:295:60
panicked at 'Cannot send iomsg', src\main.rs:303:29

After that the console version has to be started again.

crash during the day with non understable reason (for me)

Nom de l’application défaillante owlyshield_ransom.exe, version : 0.0.0.0, horodatage : 0x631a4db3
Nom du module défaillant : ntdll.dll, version : 10.0.19041.1806, horodatage : 0x1000a5b9
Code d’exception : 0xc0000005
Décalage d’erreur : 0x0000000000016544
ID du processus défaillant : 0x2fa4
Heure de début de l’application défaillante : 0x01d8c450f40708f7
Chemin d’accès de l’application défaillante : C:\Program Files\Owlyshield Ransom Community\Owlyshield Service\owlyshield_ransom.exe
Chemin d’accès du module défaillant: C:\WINDOWS\SYSTEM32\ntdll.dll
ID de rapport : 3a5438a0-a55b-42a5-9883-f6598211da92
Nom complet du package défaillant :
ID de l’application relative au package défaillant :

Détecteur d'erreurs , type 0
Nom d’événement : APPCRASH
Réponse : Non disponible
ID de CAB : 0

Signature du problème :
P1 : owlyshield_ransom.exe
P2 : 0.0.0.0
P3 : 631a4db3
P4 : ntdll.dll
P5 : 10.0.19041.1806
P6 : 1000a5b9
P7 : c0000005
P8 : 0000000000016544
P9 :
P10 :

Safe processes are not detected like expected

Thanks for publishing digitally signed version of minifilter driver while keeping its code in open source.

However, I noticed that you have same bug which exists even original code RansomWatch that this function is not valid way to detect device path to Windows folder at least with all the possible configurations:

// sets the system root path, received from user mode application, we copy the systemRootPath sent on the message
VOID setSystemRootPath(PWCHAR setsystemRootPath) {
RtlZeroBytes(systemRootPath, MAX_FILE_NAME_SIZE);
RtlCopyBytes(systemRootPath, setsystemRootPath, MAX_FILE_NAME_LENGTH);
RtlCopyBytes(
systemRootPath + wcsnlen(systemRootPath, MAX_FILE_NAME_LENGTH / 2),
L"\\Windows",
wcsnlen(L"\\Windows", MAX_FILE_NAME_LENGTH / 2));
DbgPrint("Set system root path %ls\n", systemRootPath);
}

This is what I see on debug logging:

FSFIlter: Entered FSInstanceSetup
loaded scanner successfully!!! user connected, port=0xFFFFB60D816F6310
Set system root path \Device\harddiskVolume\Win

And what I don't see are !!! FSFilter: Open Process not recorded, both parent and process are safe messages.

Tested with v1.1.0 on Windows 10, version 1809 (which basically same than Windows Server 2019) with both UEFI and non-UEFI installation and behavior is same on both of them.

I also tested that if I hardcode system root path to \Device\HarddiskVolume3\Windows then on my UEFI setup then safe processes are detected like expected.

`try_kill` does not terminate the given PID

I am trying to port the minifilter and driver_com to my own personal project minifilter-rs with updated windows-rs/windows_sys. I am able to register rust program to the minifilter but am unable to kill the process with the given PID.

The error I receive is 0xC0000066 aka 0xC0000066 0x00000527 NT_STATUS_NO_SUCH_GROUP “The specified group does not exist.”

Is this supposed to happen?

false positive

msiexec.exe detected as ransomware with 0.55 probability. Added in the exclusions.txt for the moment.

Error message in Windows 11 event viewer

Le certificat reçu du serveur distant est arrivé à expiration ou n’est pas encore valide. Échec de la demande de connexion TLS. Les données associées contiennent le certificat de serveur.
le processus client SSPI est owlyshield_ransom (PID : 6212).

OwlyShield detect taskhostw.exe or svchost.exe like Ransomware activity during Windows Update execution

Type: BUG/False positive
Tested on: Windows 10, Server 2016, Windows 11
Workaround: Exclusion in exclusions.txt

Dear OwlyShield Team
I would like to inform you of the problem in question.
How is it possible to whitelist the two files: taskhostw.exe and svchost.exe inside the exclusions.txt file
With what syntax should the TXT file be compiled?
Can you post a concrete example while waiting for a resolution to the problem?
A thousand thanks.

Build /fd error

I am new to VS and windows and receive the following error when building filter:

Severity Code Description Project File Line Suppression State Error No file digest algorithm specified. Please specify the digest algorithm with the /fd flag. Using /fd SHA256 is recommended and more secure than SHA1. Calling signtool with /fd sha1 is equivalent to the previous behavior. In order to select the hash algorithm used in the signing certificate's signature, use the /fd certHash option.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.