Security-X

Forum Security-X => News => Discussion démarrée par: igor51 le mars 09, 2020, 19:00:57

Titre: [FireEye]Crescendo: Real Time Event Viewer for macOS
Posté par: igor51 le mars 09, 2020, 19:00:57
Crescendo: Real Time Event Viewer for macOS

Prior to 2017, researchers couldn’t easily monitor actions performed
  by a process on macOS and had to resort to coding scripts that
  produced low level system call data. FireEye released   href="/content/fireeye-www/en_US/blog/threat-research/2017/03/introducing_monitor.html">Monitor.app
  in 2017 that enabled collection of information on macOS at a higher
  level; at a simplified data set versus something like   href="http://dtrace.org">Dtrace. I created many versions of
  Monitor.app over the years and have received very positive feedback
  from users. Recently though, users have noticed it doesn't work on
  macOS Catalina (10.15)...


 

Originally, a kernel extension was required to provide the
  inspection capabilities offered by Monitor.app. Unfortunately, kernel
  extensions are running in privileged mode which has very little
  protection from software bugs that may lead to system instability.
  This means kernel extensions should only be used if absolutely
  necessary. Microsoft and Apple have started providing engineers     href="https://docs.microsoft.com/en-us/windows/win32/etw/about-event-tracing">more
    userland alternatives to accomplish what previously required
  writing kernel code.


 

In Catalina, Apple released the     href="https://developer.apple.com/documentation/endpointsecurity">Endpoint
    Security Framework (ESF) to provide a robust and (more
  importantly) safer way of getting access to internal operating system
  artifacts. Being a security guy, I’m not a huge fan when apps must
  ship with kernel extension to get their job done and I think this is a
  move in the right direction. With the coming release of 10.15.4, Apple
  will now pop-up a warning when a kernel extension is loaded that uses
  a set of these     href="https://developer.apple.com/support/kernel-extensions/">deprecated
    kernel programming interfaces (KPIs).


 

Now seemed like a good time to kick the tires on the Endpoint
  Security Framework. Also, what engineer doesn’t love to learn new
  languages, so why not write it all in   href="https://developer.apple.com/swift/">Swift as well?


 

Introducing Crescendo


 

Crescendo is a     href="https://github.com/SuprHackerSteve/Crescendo">real time event
    viewer for macOS that uses the ESF to show process executions
  and forks, file events, share mounting events, kernel extension loads,
  and IPC event data. ESF provides a vast amount of data, but the goal
  was to just pick out the things that analysts would be interested in
  when analyzing a piece of malware or trying to understand how a
  process (or component) works. Just the right amount of data without
  being a firehose of events to the user.


 

Here are some of the features of Crescendo:


 
 

Apple has added     href="https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy">some
    extra security features that require some extra setup for
  enabling Crescendo’s system extension. Head on over to the     href="https://github.com/SuprHackerSteve/Crescendo/blob/master/README.md#Getting-Started">Getting
  Started section in the README to get started. I'm hopeful this
  inconvenience will be fixed in future versions.


 

Oh, One More Thing...


 

Crescendo is being released open source under the MIT license! It
  consists of a ready to use framework that wraps the ESF with a Swift
  interface, removing some of the nuances and providing a simple
  callback for event data. This way other developers don't have to
  understand all the inner details of the Endpoint Security Framework.
  One caveat, if you wish to use the framework in your own app, you must
        href="https://developer.apple.com/contact/request/system-extension/">obtain
    an entitlement from Apple. 


 

Missing a feature you’d like to see? Submit a Pull Request!


 

Head over to the     href="https://github.com/SuprHackerSteve/Crescendo">Crescendo
  Github to learn more and     href="https://github.com/SuprHackerSteve/Crescendo/releases/download/v1.0.3/Crescendo.app.zip">download
    the latest release.


Source: Crescendo: Real Time Event Viewer for macOS (http://)