Macs are the go-to device for professionals and high-level officials the world over. Beautifully designed, extremely optimized for performance, and tagged with a price that reflects a premium product, Macs are more than a tool – they are a statement. In keeping with this reputation, you would not expect malware designed for Macs to be the run-of-the-mill, easy-to-block creations we see on other platforms. Advanced Mac threats cost a fortune to develop— but when they hit the designated target, it's jackpot for the cyber-criminals.
Malware has been around since the early days of computers and, regardless of operating systems, has always managed to creep in. However, the Internet and digitalization have brought forward not just the proliferation of threats, but also a staggering increase in complexity. Today, malware is a tool for industrial espionage, cyberwarfare, and even state-sponsored cyberattacks.
- Apr 26, 2021 If your Mac is using an earlier version of any Mac operating system, you should install the latest Apple software updates, which can include important security updates and updates for the apps that are installed by macOS, such as Safari, Books, Messages, Mail, Music, Calendar, and Photos.
- Drag and drop lets people select source content, such as text, a file, or an image, and drag it from one location (source container) to another (destination container), resulting in either the movement or duplication of the content.Most macOS apps implement some level of drag and drop functionality, based on user needs and app-specific features.
- For macOS 10.13 or later and enjoy it on your Mac. Play 8-ball pool against computer or your friend. The object of the game is to pocket your set of assigned balls (solid or striped) and finally pocket black ball to designated pocket.
- Mac OS Mining; Linux. Linux Mining; Android. Put Those Old Android Devices to Use Mining Verium; Solo vs. Pool Mining Solo. Solo mining is not for everyone but with a little patience and determination even low hash rates can render results. While rare, when it occurs it is very lucrative.
Subscribe for new videos! - Shirts, Hoodies and Bracelets!! - to my tech YouTube channe.
Until recently, Windows usually took the brunt of commercial and advanced malware, and Apple's Mac OS was largely ignored by threat actors. One reason for that had to do with its adoption and integration in business environments: malware development was too costly in terms of allocated resources and actual return on investment.
Commonly referred to as advanced persistent threats, sophisticated malware is not just designed to evade traditional security tools, but also remain hidden within an organization for as long as possible. Consequently, attackers could either maintain a foothold for years or even completely cripple the organization, depending on their motives.
One of these pieces of advanced malware was discovered earlier this year and was linked to a group of attackers known as Sofacy Group or Fancy Bear, a Russian threat actor that became widely known after the cyberattacks on the German parliament, French television station TV5Monde, and the White House.
This malware's striking characteristic was its ability to infect Windows, Linux, and Mac OS running devices, dropping a payload specifically designed for each operating system.
What Makes Mac OS component of APT28 so Special?
Besides select victim targeting, the APT28 virus can selectively download components for each victim, including those running Mac OS. The XAgent modular backdoor delivered via the Komplex downloader can install various espionage modules, ranging from key-logging to screen grabbing and file exfiltration.
Since the Apple ecosystem involves tight integration between Mac OS and iOS, the backdoor was also designed to steal iOS backups from infected Mac systems. Since these backups usually contain messages, contacts, voicemail, call history, notes, calendar, and Safari data, threat actors also gain access to data stored on iPhones.
Encryption and encoding are two key features whenever data exfiltration and espionage are involved, and this Mac OS Trojan had them in force. Attackers could communicate with attacker-controlled command and control (C&C) servers without raising suspicion, in turn allowing them to offload data and even remotely issue commands to infected victims.
The obvious sophistication of the Trojan has led researchers to conclude that its originators had access to an ample R&D team, as well as a huge budget to conduct the development. This type of investment to create a threat to systems running Mac OS can only be justified if the threat actors are targeting a select pool of high-level executives from specific industry verticals for cyberespionage.
The natural question that follows is, who would have the interest, resources, and time to invest in developing Mac malware, especially since the platform is usually (although mistakenly) considered more secure than other more common operating systems?
Have We Seen the Last of Mac Threats?
It's likely Mac threats will continue. Macs have been targeted for a while by sophisticated threats and, if we go back to 2013, the KitM Trojan was used to spy on the online whereabouts of a human rights activist in Angola. This is proof enough that Macs have been (and will continue to be) targeted by advanced threats, regardless of whether developed by lone cybercriminals or nation-sponsored threat actors.
In this demo you will learn two things
- Sending high-level commands from MATLAB to Pixhawk, using
MATMAV
- Getting live stream of images into MATLAB from ODROID which is mounted on a quadcopter.
As you can see from the previous figure, there are 4 main components to setup.
- Motion capture system.
- Quadcopter with Pixhawk flight controller.
- ODROID: embedded Linux computer.
- MATLAB enviornment.
Motion capture setup¶
Motion capture (or Mocap in short) is used to provide accurate positions and orientations in an indoor environment. The mocap setup we have in the lab is from Optitrack company. You can think of it as GPS system for indoor environment.
Mocap mainly consists of cameras, network switches, and a PC with a special software. Cameras capture images which contain special reflective markers. Those markers are used to track objects (rigid bodies) they are attached to. Then, images from all cameras are transmitted to the PC software (called Motive) through the network switches, in order to do further image processing.
Motive extracts useful information about captured rigid bodies such as position and orientation. Such information can be further transmitted through network to other PCs for further usage. Rigid bodies are defined by at least 3 reflective markers that are rigidly mounted on the object of interest.
For this tutorial, it is assumed that the Mocap is already calibrated.
What we need in this tutorial is to
- Open Motive project
- Define rigid bodies
- Configure streaming parameters in Motive
- Use the Streaming Application to send mocap info to Pixhawk
Follow the following steps in order.
- Open Motive software, and choose
OpenExistingProject
. Choose a recent project that represents the latest calibration settings.
- Close the
CameraPreview
view, and leave thePerspectiveView
view for 3D viewing of objects.
- Place the object in the cage (e.g. quadcopter) with mounted markers (minimum 3 markers).
- Select markers in the
PerspectiveView
and create a rigid body
- You can know your rigid body number from the
RigidBody
, after you select the rigid body in thePerspectiveView
. - Now, activate streaming over network as follows
- Connect the wireless serial module to the Mocap PC (e.g. XBee)
- Open Mocap streaming App.
Drop The Bodies On The Pool Mac Os Catalina
- Select the proper Vehicle ID
- In the
SerialConnection
tab, select the proper serial port of the communication module from thePortName
drop menu. Set theBaudRate
to 57600. Finally, click theConnect
button. If the connection is successful, it will show a status message in thePortStatus
field. - In the
MocapConnection
tab, leave theMocapIP
andClientIP
to the defaults IPs (127.0.0.1
). Hit theConnect
button. - If the connection is successful, you should see the defined rigid bodies in the
ReceivedBodies
list box. - Select the one corresponds to the quadcopter. Then, check the
streamtoMav
checkbox. - Now, your quad should be getting its position and orientation feedback from the Mocap system.
Quadcopter setup¶
This tutorial assumes that the quadcopter is setup and equipped with a calibrated Pixhawk (or Pixracer) flight controller.
In this Demo, the quadcopter is assumed to have an ODROID on-board, two serial communication modules (e.g. XBee). One for the Mocap connection, and the other for MATLAB connection.
ODROID setup¶
In this Demo, ODROID is used to capture real-time images and stream them over WiFi network to a MATLAB session. The streaming application is assumed to be installed on ODROID and ready to be used. Also, the ODROID is assumed to be setup to connect to a local WiFi network.
Check this guide to see how to install the streaming app on ODROID.
To run the application, follow the following steps in order
- Connect a compatible camera to ODROID
- Connect a compatible WiFi module to ODROID (use the ODROID WiFi adapter)
- Power on the ODROID
- From your laptop (which is connected to the same local WiFi network as the ODROID), open a terminal and remotely log-in to ODROID
odroid
is the user account name. 192.168.1.113
is the ODROID's IP address.
- Navigate to the app folder and run it
192.168.1.112
is your machine's IP address. 10000
is the port that is going to be opened in your MATLAB. You can choose another port, but make sure it matches the one used in your MATLAB.
- Now, the ODROID is sending images to the specified IP and port.
MATLAB setup¶
In this Demo, MATLAB is used to
- Communicate with Pixhawk (or Pixracer) in order to send high-level commands. For example, position set-points, velocity set-points, or acceleration set-points. It can also receive feedback information from Pixhawk.
- Receive live-stream of images from ODROID.
Warning
You need to use the MATLAB files associated with this Demo. Please ask for your free copy.
We are going to use two main MATLAB classes in this Demo. One is called MatMav
, and the other is called ImgStream
.
MatMav
is a MATLAB class that is used to communicate with Pixhawk. ImgStream
is a MATLAB class that is use to receive live image stream from ODROID (or any Linux computer) over network.
Before you use the MATLAB files associated with this demo, you should setup your environment properly.
You will type mac os. Warning
Before you use the MATLAB files associated with this demo, you should setup your environment properly. Namely, you need to associate your MATLAB with a C/C++ compiler, and install OpenCV.
Please follow the OpenCV installation as follows,
- For Mac OS.
- For Windows.
Drop The Bodies On The Pool Mac Os X
Google how to associate your MATLAB with a compiler.
- Download the MATLAB folder associated with this Demo.
- Open MATLAB and navigate to that folder.
- Run the
setup.m
file.
If all goes well, you should get the message Setupisdone
. Now, you are ready to proceed with the experiment which is implemented in the Demo1.m
MATLAB file.
- Check the
Demo1.m
file to get familiar withMatMav
andImgStream
classes.