Malware Devil

Saturday, April 24, 2021

Is AI as Dangerous as Nuclear Tech?

Saying nuclear power is the safest energy seems wildly inaccurate and misleading, yet often I see people make this claim. It’s always based on wild assumptions about quality control, which end up forming a logical fallacy (tautology). If absolutely everything is done perfectly by nuclear then nuclear is safest, sure. Except that’s so unrealistic as … Continue reading Is AI as Dangerous as Nuclear Tech?

The post Is AI as Dangerous as Nuclear Tech? appeared first on Security Boulevard.

Read More

The post Is AI as Dangerous as Nuclear Tech? appeared first on Malware Devil.



https://malwaredevil.com/2021/04/24/is-ai-as-dangerous-as-nuclear-tech/?utm_source=rss&utm_medium=rss&utm_campaign=is-ai-as-dangerous-as-nuclear-tech

SSD Advisory – Hongdian H8922 Multiple Vulnerabilities

TL;DR

Find out how multiple vulnerabilities in Hongdian H8922 allow an attacker to run arbitrary commands on the device with root privileges as well as access the device with root privileges via a backdoor account.

Vulnerability Summary

The H8922 “4G industrial router is based on 3G/4G wireless network and adopts a high-performance 32-bit embedded operating system with full industrial design. It supports wired and wireless network backup, and its high reliability and convenient networking make it suitable for large-scale distributed industrial applications. Such as smart lockers, charging piles, bank ATM machines, tower monitoring, electricity, water conservancy, environmental protection”.

Several vulnerabilities in the H8922 device allow remote attackers to cause the device to execute arbitrary commands with root privileges due to the fact that user provided data is not properly filtered as well as a backdoor account allows access via port 5188/tcp.

CVE

CVE-2021-28149, CVE-2021-28150, CVE-2021-28151, CVE-2021-28152

Credit

An independent security researchers, Konstantin Burov / @_sadshade, has reported this vulnerability to the SSD Secure Disclosure program.

Affected Versions

Hongdian H8922 version 3.0.5

Vendor Response

The vendor has been informed more than 30 days ago about the vulnerabilities, subsequent attempts to email and report the vulnerabilities went unanswered.

Vulnerability Analysis

Hidden Functionality (Backdoor)

The device has an undocumented feature that allows access to shell as a superuser. To connect, the telnet service is used on port 5188 with the default credentials – root:superzxmn.

This method of connection, as well as credentials, are not described in the
documentation for the device and therefore are considered an undocumented possibility for remote control.

Attackers can use this feature to gain uncontrolled access to the device.

Use of Hard-coded Credentials

The root password cannot be changed in the normal way, which prevents unauthorized people from connecting to the device.

Improper Neutralization of Special Elements used in an OS
Command (‘OS Command Injection’)

The /tools.cgi handler, which is responsible for network diagnostics (ping), does not filter user data in the “destination” parameter.

A remote attacker with minimal privileges (guest) can execute an arbitrary command of the operating system as the superuser (root) by substituting the command end character.

For example, the string “;ps” entered in the ip-address field displays the list of processes running on the system.

Improper Limitation of a Pathname to a Restricted Directory
(‘Path Traversal’)

The /log_download.cgi log export handler does not validate user input and allows a remote attacker with minimal privileges to download any file from the device by substituting “../” for example “../../etc/passwd“.

The check can be carried out using an Internet browser by changing the file name accordingly.

You need to follow the link http://[ip]/log_download.cgi?type=../../etc/passwd, log in and the web server will allow download the contents of the “/etc/passwd” file.

Insecure direct object references to static files

The unprivileged user “guest” can access the file with the system configuration of the device (cli.conf) via the direct link http://[ip]/backup2.cgi.

The file can be used to reveal administrator password and other sensitive data.

Demo

Read More

The post SSD Advisory – Hongdian H8922 Multiple Vulnerabilities appeared first on Malware Devil.



https://malwaredevil.com/2021/04/24/ssd-advisory-hongdian-h8922-multiple-vulnerabilities/?utm_source=rss&utm_medium=rss&utm_campaign=ssd-advisory-hongdian-h8922-multiple-vulnerabilities

Friday, April 23, 2021

2021-04-23 – IcedID (Bokbot) infection from zipped JS file

Read More

The post 2021-04-23 – IcedID (Bokbot) infection from zipped JS file appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/2021-04-23-icedid-bokbot-infection-from-zipped-js-file-2/?utm_source=rss&utm_medium=rss&utm_campaign=2021-04-23-icedid-bokbot-infection-from-zipped-js-file-2

Keeping employee data safe – no matter where they may be

how to secure wifi for remote work, working from home securely, security home network, secure wifi network, remote work security risks, work from home security best practices

The post Keeping employee data safe – no matter where they may be appeared first on NuData Security.

The post Keeping employee data safe – no matter where they may be appeared first on Security Boulevard.

Read More

The post Keeping employee data safe – no matter where they may be appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/keeping-employee-data-safe-no-matter-where-they-may-be/?utm_source=rss&utm_medium=rss&utm_campaign=keeping-employee-data-safe-no-matter-where-they-may-be

Poetry of #DontDropTheMic

Want to become a great speaker? Become a great listener. Want to seize your moment? Override your fear and do the thing you were called to do! Dreamers, this message is for you: Whatever you do — Don’t. Drop. The. Mic!

The post Poetry of #DontDropTheMic appeared first on Security Boulevard.

Read More

The post Poetry of #DontDropTheMic appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/poetry-of-dontdropthemic/?utm_source=rss&utm_medium=rss&utm_campaign=poetry-of-dontdropthemic

A foray into Linux kernel exploitation on Android

In November of 2020, I decided to dive into the world of Android, more specifically the linux kernel. I did this because earlier in the year, around February, I broke my old phone during a skiing trip and hastily bought a cheap android phone, the Alcatel 1S 2019.

Coming from a background of Windows research I had no idea how to start. My first intuition was that in order to do anything I’d need to root my phone. Thankfully the Alcatel hosts a UNISOC SC9863A, a chipset made by Spreadtrum, who fortunately also provide flashing tools, making the entire process extremely easy, I’ll skip this part because it’s not really relevant and varies from phone to phone.

The next goal was to find the source code, and due to licensing requiremnts the linux kernel in use has to be open source. A quick search on google for “Alcatel linux source code” netted me a link to their sourceforge where I found all the zips of each phone titled by version (5024 for the Alcatel 1S 2019).

At this point I had to start assessing where I think there would be any poorly written code, I knew I wouldn’t be auditing shared linux kernel code. My first guess to figure out where I could find some targets would be to check all the devices and loaded kernel modules.
In the loaded devices (/dev) I didn’t find anything unique to the phone, so I decided to move on and check the linux kernel modules, and these were the results.

Module Size Used by
sprd_fm 57344 0
sprdbt_tty 24576 0
sprd_vibrator 16384 0
sunwave_fp 20480 1
leds_sprd_bltc_rgb 20480 0
pvrsrvkm 1454080 105

I didn’t want to explore any uncharted territory, so I ended up doing some research if there had been any previous work done on any of these modules, I found Di Shens video on exploiting the pvrsrvkm, which is the PowerVR Kernel Module for PowerVR gpus.
While the linux kernel source provided by Alcatel had no mentions on pvrsrvkm, the driver is opensource in the chromiumOS source code and can be found here

The PowerVR kernel module contains only 1 ioctl that is of any importance and its purpose is to dispatch to relevant functions, you send in a package (described by the struct below), the bridge_id describing the subsystem to which the function belongs, and the bridge_func_id is an identifier for each function, the rest of the variables are for transporting data.

typedef struct drm_pvr_srvkm_cmd {
__u32 bridge_id;
__u32 bridge_func_id;
__u64 in_data_ptr;
__u64 out_data_ptr;
__u32 in_data_size;
__u32 out_data_size;
} ioctl_package;

Looking through the driver, there was about 200000 lines of code in total, so I went around looking at subsystems, the most interesting seemed to be memory management.

I went through the functions registered to the memory management bridge, manually auditing them.
For debugging, I couldn’t connect any sort of kernel debugger to my phone, so instead I wrote a kernel module that would hook functions and intercept them to log values, while crude it helped immensely in understanding. Thankfully there was already a lot of logging in the PowerVR module, easily obtainable with dmesg

That’s when I found it.

Here is the call-stack (backtrace) or code flow to reach the bug.

The function that I am targetting (PhysmemNewRamBackedPMR) is responsible for creating shared memory, it has certain options for whether the memory should be GPU, OS, etc… The one constraint being that this memory is actually backed by physical memory (PMR = PhysicalMemoryResource), with the choice given to the user on how to map virtual to physical addresses.

This is the structure that is passed in to PRVSRVBridge

typedef struct PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDPMR_TAG
{
uint64_t uiSize;
uint64_t uiChunkSize;
__u32 ui32NumPhysChunks;
__u32 ui32NumVirtChunks;
__u32 * pui32MappingTable;
__u32 ui32Log2PageSize;
__u32 uiFlags;
__u32 ui32AnnotationLength;
const char * puiAnnotation;
__u32 ui32PID;
} __attribute__((packed)) PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDPMR;

It describes many things like the name of the mapping, how many chunks, and certain flags, the mapping table for virtual to physical.

the final function in the chain _PMRCreate is responsible for creating a physical memory resource and actually handling the translation/bookkeeping between virtual and physical addresses, the bug occurs in the initialization of this bookkeeping.

pvPMRLinAddr = OSAllocMem(sizeof(*psPMR) + sizeof(*psMappingTable) + sizeof(IMG_UINT32) * ui32NumVirtChunks);
if (pvPMRLinAddr == NULL)
{
return PVRSRV_ERROR_OUT_OF_MEMORY;
}
psPMR = (PMR *) pvPMRLinAddr;
psMappingTable = (PMR_MAPPING_TABLE *) (((IMG_CHAR *) pvPMRLinAddr) + sizeof(*psPMR));
eError = OSLockCreate(&psPMR->hLock, LOCK_TYPE_PASSIVE);
if (eError != PVRSRV_OK)
{
OSFreeMem(psPMR);
return eError;
}
psMappingTable->uiChunkSize = uiChunkSize;
psMappingTable->ui32NumVirtChunks = ui32NumVirtChunks;
psMappingTable->ui32NumPhysChunks = ui32NumPhysChunks;
OSCachedMemSet(&psMappingTable->aui32Translation[0], 0xFF, sizeof(psMappingTable->aui32Translation[0])*
ui32NumVirtChunks);
for (i=0; i<ui32NumPhysChunks; i++)
{
ui32Temp = pui32MappingTable[i];
psMappingTable->aui32Translation[ui32Temp] = ui32Temp;
}

In this code, pui32MappingTable is a copied over usermode table that describes linear translations from virtual to physical addresses. With -1 being the default value meaning that no translation was provided. The issue being that the aui32Translation table is only the size of the number of Virtual Chunks provided.

This on its own is not an issue, because in order to reach this area there is a constraint, the number of virtual chunks has to be equal to the number of physical checks. The actual issue occurs in the bounds checking when setting up these linear chunks, the index ui32Temp is a user controlled variable because it comes from the unverified pui32MappingTable and indexs into an array which is meant to hold the number of chunks requested, this gives us a heap overwrite primitive in any cache larger than or equal to kmalloc-256, due to the fact that we can control how large psMappingTable is, by controlling ui32NumVirtChunks

I limited myself to write an exploit with PXN/PAN and ASLR exploitation mitigations in mind, the first step would be to leak an kernel address of any kind, heap or ideally a function address.

Since aui32Translation is a 32-bit pointer, I cannot do any freelist shenanigans because realistically the values that I can set and groom are from 0-1000, larger than that I start to edit memory 1000s of bytes away from the corrupted block, making it very unreliable

My next thought was that I have a 4 byte arbitrary overwrite with values 0-1000 which meant I had realistically 2 options, find a structure with a reference counter and cause a UaF or corrupt a length integer.

Upon searching for previous research on usable linux structures, I found this great talk talking about elastic objects in the linux kernel, specifically a chart of objects, where I found the suitable inotify_event_info, The idea here being corrupting the length of the inotify_event_info and grooming another object infront of the inotify_event_info and reading it.

What is inotify_event_info and how do we use it? Linux has mechanisms to notify programs when files are changed/modified/deleted etc….
inotify_event_info is the structure used to store the events, the name, the type of operation, a cookie.

essentially it works by giving you a file descriptor which you create with certain options, then when you read it, if there are any events you can easily retrieve them by reading the fd. When an event occurs, it is allocated to the kmalloc-256 cache and when you read it is destroyed.

the gameplan being, fill the heap with inotify_event_infos then, free an inotify_event_info, and trigger the bug overwriting a length value, then as you read the inotify_event_infos you start cluttering the remaining free spaces with a structure whose content you want to leak.

in my case the ideal structure for leaking a function address is a timer, which contains a function address in the first 30 bytes and is very easy to use.

I wrote the PoC, adjusted values and figured out and I kept on crashing, but what was happening???
Here were the panic logs

[<ffffff80081df04c>] __check_object_size+0x54/0x220
[<ffffff80082296c4>] inotify_read+0x314/0x39c
[<ffffff80081e2f14>] vfs_read+0x84/0x168
[<ffffff80081e39c4>] sys_read+0x50/0xb0
[<ffffff8008085af0>] el0_svc_naked+0x24/0x28

and this line was also in the panic logs

<0>[ 5522.162040] c7 14180 usercopy: kernel memory exposure attempt detected from ffffffc0f50d912c (kmalloc-256) (284 bytes)

a little bit of research led me to, CONFIG_HARDENED_USERCOPY, a protection that stops you copying out of your allocation, meaning that this wouldn’t work.

In my search to find a good object whose kref I could corrupt, while learning about linux I discovered a little thing known as slab merging, in order to optimize and reduce fragmenting in the kernel memory allocator, linux will merge slabs into one slab. The linux kernel source comes with a little program called slabinfo (not to be confused with /proc/slabinfo) that can show you merged slabs, I thought of the structures I could use to corrupt and while there were many in the kmalloc-256+ caches, I couldn’t find something that was easy to use and groom.

I decided to check what slabs were merged on my phone by running slabinfo with the -a flag,

:t-0000256 <- ip_dst_cache kmalloc-256 filp nf_conntrack_expect skbuff_head_cache pool_workqueue biovec-16 bio-0 sgpool-8
:t-0000360 <- blkdev_requests dm_clone_request
:t-0000512 <- xfrm_dst_cache kmalloc-512 sgpool-16 skbuff_fclone_cache

This was my output, I noticed that of the 256 byte caches, filp and kmalloc-256 were merged, this meant that I could corrupt file structures, let’s see what we can corrupt in the file structures.

struct file {
union {
struct llist_node fu_llist;
struct rcu_head fu_rcuhead;
} f_u;
struct path f_path;
struct inode *f_inode; /* cached value */
const struct file_operations *f_op;
/*
* Protects f_ep, f_flags.
* Must not be taken from IRQ context.
*/
spinlock_t f_lock;
enum rw_hint f_write_hint;
atomic_long_t f_count;
unsigned int f_flags;
fmode_t f_mode;
struct mutex f_pos_lock;
loff_t f_pos;
struct fown_struct f_owner;
const struct cred *f_cred;
struct file_ra_state f_ra;
u64 f_version;
#ifdef CONFIG_SECURITY
void *f_security;
#endif
/* needed for tty driver, and maybe others */
void *private_data;
#ifdef CONFIG_EPOLL
/* Used by fs/eventpoll.c to link all the hooks to this file */
struct hlist_head *f_ep;
#endif /* #ifdef CONFIG_EPOLL */
struct address_space *f_mapping;
errseq_t f_wb_err;
errseq_t f_sb_err; /* for syncfs */
} __randomize_layout
__attribute__((aligned(4))); /* lest something weird decides that 2 is OK */

Fortunately for us, there’s an atomic integer that holds a reference count f_count, my idea is that we can open a file many times and increment the counter then we can trigger the heap overwrite to set the f_count to a number that is smaller than the current number of references, and then we can close it until, we have handles in our processes file descriptor table that point to file* that are non-existent, then from there on we can see what we can do, whether it be manipulating data structures or other things.

The smallest number we can set the refcount to is 32.

One of the nice things about being able to mess with file structures, is that there are very easy paths to LPE, if you can replace file structures and keep handles on them, then you might be able to get access to a file that you shouldn’t have access to e.g. imagine SUID executables, giving you root and more…

I also took some inspiration from Jann Horns video, where he mentions how he exploits a file refcount overdecrement, using FUSE, and using vectored i/o he was able to replace file* by stalling a write operation once access checks were done, and was able to write contents of a file he did not have write access to. Unfortunately, FUSE is not accessible in android, so the second best option I had was trying to slow down the processor with interrupts and scheduler tricks.

Another syscall he used to check that his UaF was reliable was kcmp, sadly kcmp isn’t implemented in android, but I found an alternative. Using inotify events I can see when a file has been closed, and since only the file with the altered refcount will be closed I’ll know whether and when I’ve closed the corrupted file. As for checking whether a file has been successfully replaced, I can use lseek on new struct files and set the position to some magic number, then I can check my dangling handles and if the seek position has been changed to that magic number we can be sure that our dangling file has been replaced, 😛

This is needed because once we find our replaced file, we can still have multiple handles pointing to it and still cause another refcount overflow but this time we know which handle it is, making it a lot more deterministic.

1) Create an inotify event for a specific directory, for when files are closed

2) Create/open a bunch files, increment their refcount to a suitable number (to any number above 32), this can be done using the dup syscall

3) deallocate a file, to make holes in the block, allocate a psMappingTable in the hole.

4) Trigger the bug causing a heap overwrite and hopefully adjusting the refcount of a struct file infront of it to 32

5) Close the dup fds, 32 times.

6) if we can read an event from inotify, then we’ve closed a corrupted file meaning that its refcount has been altered.

7) start spraying files and seeking their position to a suitable magic number, check the dangling handles seek positions, if they have changed we’ve found the corrupted file
and we have spare handles to a file* with refcount = 1 and probably more dangling handles depending on how many we started with

10) write to the file using the vectored i/o, and try the replacement trick that Jann Horn used, using timing delays to make the race condition easier to hit

11) hopefully replace the file* during the vectored i/o with a much more important file (I used the runas file which has suid permissions, which I can open as readable)

12) run modified suid file with LPE payload inside.

Since I didn’t have FUSE, I was unable to ever manage to even get the race condition to hit, but the idea was still there. I used scheduler tricks, even tried some interrupt tricks from another talk. Though it seemed impossible to ever get.

Thanks to nspace, who recommended an alternative exploitation strategy for this bug.
The idea was that I somehow communicate with priviledged services that open priviledged files, and that they’d replace the corrupted file* struct and I’d have spare handles to a priviledged file that I could edit. Unfortunately I wasn’t able to find any easy or useful services that open important priviledged files that I could repeatedly spray reliably.

If anyone has some ideas feel free to message me, I’d love to hear them
ayazmammadov@hotmail.co.uk

I’m looking for employment opportunies

Read More

The post A foray into Linux kernel exploitation on Android appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/a-foray-into-linux-kernel-exploitation-on-android/?utm_source=rss&utm_medium=rss&utm_campaign=a-foray-into-linux-kernel-exploitation-on-android

Window Snyder Launches Startup to Fill IoT Security Gaps

Thistle Technologies aims to help connected device manufacturers securely deliver updates to their products.

The post Window Snyder Launches Startup to Fill IoT Security Gaps appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/window-snyder-launches-startup-to-fill-iot-security-gaps-2/?utm_source=rss&utm_medium=rss&utm_campaign=window-snyder-launches-startup-to-fill-iot-security-gaps-2

Window Snyder Launches Startup to Fill IoT Security Gaps

Thistle Technologies aims to help connected device manufacturers securely deliver updates to their products.

(image by ZinetroN, via Adobe Stock)

Security veteran Window Snyder has launched a new startup to tackle the growing and complex security issues of Internet-connected devices as they become more prevalent in organizations.

Snyder has spent more than 20 years helping some of tech’s biggest firms build security into their products, with senior security roles at Mozilla, Apple, Fastly, Intel, Microsoft, and Square. Her new company, Thistle Technologies, aims to help the connected device market get up to speed by making it easier for manufacturers to securely deploy updates to their products.

“Software systems have gone through a lot of work to get to the place where they are right now, and I’ve had a front row seat for most of that … more than a front row – I’m actually in the trenches,” says Snyder. But, she adds, “a lot of the work hasn’t happened in the devices space.”

For systems that face highly visible attacks, such as operating systems, more time and resources are allocated toward building resilience. As an example, Snyder points to some of the work she did on Windows to reduce the attack surface or make it more difficult for an attacker to exploit memory corruption flaws. Over time, this work has led to more robust security mechanisms.

In the connected device market, she sees a large attack surface and small security investment.

“There are so many devices out there that don’t have any of these mechanisms in place,” she explains. “Even for those that do have security mechanisms, not all of them are built to the kind of resilience that’s appropriate for the threats they’re up against.”

It’s a big problem with multiple reasons. Some organizations have small engineering teams and few resources to build resilience into their products. Some have large teams but don’t prioritize security because they’re in a closed-system manufacturing operation, for example, and the machines don’t have network access. Many connected devices are in the field for long periods of time and it’s hard to deliver updates, so manufacturers don’t ship them unless they have to.

“There’s this combination of both security need and then additionally this requirement for an update mechanism that is reliable,” Snyder continues.

Oftentimes manufacturers lack confidence in how updates are deployed and don’t trust the mechanism will deliver medium- or high-severity security updates on a regular basis. As a result, the devices remain unpatched and exposed to attacks that could give intruders an easy gateway into a target environment.

Snyder plans to address this problem with Thistle Technologies, which this week announced $2.5 million in seed funding from True Ventures.

The company aims to make the update process easier and more reliable for manufacturers with an infrastructure they can use to deploy updates, so they don’t have to build the technology to do it themselves. Snyder calls the update mechanism the “core security feature”: With this in place, manufacturers have the ability to get back to a “known good state” if a device is compromised.

(image by ZinetroN, via Adobe Stock)

Snyder says the process of how Thistle will work is similar to how you might use a graphics library or a communications library. A manufacturer will incorporate the library into the product they’re building, and it will deliver the update functionality. She notes there are other mechanisms, lower in the system and on the back end, to manage update delivery and configurations.

While Thistle’s technology can be used by any manufacturer, Snyder says she’s now focused on those with well-understood and recognized high-security devices. This might include point-of-sale devices, ATMs, or automotive devices, as well as devices in highly regulated industries like medicine and aviation. The people most motivated to get up to speed have customers who are worried about security, she adds, and they want a mechanism that can be easily integrated.

Learning, Building, and Growing
With the seed round secured, Snyder says the company is now staffing up and building its engineering organization. It’s also working with developer partners to ensure the technology Thistle is building will meet their needs, as well as the restrictions they’re operating against.

Understanding developers’ needs, and the factors beyond security risk that developers face, is helpful, she explains. Thistle wants to understand and address the needs of multiple businesses across industries, and knowing how they think can help inform a product they’ll actually use.

“I see that, in general, throughout my entire career, that a perfect security solution is useless if the business won’t deploy it,” Snyder continues. “You never actually get to deliver that perfect security solution … security is always kind of at odds with performance or your schedule for shipping a product,” along with other factors like space and cost, she adds.

As Thistle develops its technology, the need to secure a wealth of connected devices continues to grow. It’s often difficult for CISOs to evaluate a product’s security before they buy it, she notes, and not every business has the resources to reverse-engineer devices and test the security themselves. CISOs often have to send out a questionnaire to the device manufacturer, which gives few answers – for example, the kind of encryption used but not its implementation.

“I think getting to a place where they can talk about, ‘This is the type of mechanism we’re using for security; this is the way we’re storing out credentials; this is the way we are providing resilience in our implementation” can help CISOs understand whether to procure a device, she says. Without proper answers to these questions, more devices add to the attack surface.

As she continues to build Thistle, Snyder says a critical consideration is giving employees an environment they like to work in – a lesson learned in her years as a security leader. It’s tough to secure an organization when the security team is consistently operating at high capacity, has to step up following an attack, and then goes back to operating above a sustainable rate.

“One of the things that I have taken from my years in leadership is making sure that we sign up for what we can deliver in a reasonable workweek – that folks have an appropriate amount of work life balance,” she says.

Why the name Thistle? A thistle is a flowering plant with a built-in defense mechanism that wards off herbivores who might otherwise snack on it. The idea of this “organic defense mechanism” related to Snyder’s idea for the company and technologies she’s building.

“I feel like the problem that we’re up against is enormous, and it really does take something like the tenacity of a weed to attempt to try and make a significant difference here,” she says.

Kelly Sheridan is the Staff Editor at Dark Reading, where she focuses on cybersecurity news and analysis. She is a business technology journalist who previously reported for InformationWeek, where she covered Microsoft, and Insurance & Technology, where she covered financial … View Full Bio

Recommended Reading:

Comment |

Email This |

Print |

RSS

More Insights

The post Window Snyder Launches Startup to Fill IoT Security Gaps appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/window-snyder-launches-startup-to-fill-iot-security-gaps/?utm_source=rss&utm_medium=rss&utm_campaign=window-snyder-launches-startup-to-fill-iot-security-gaps

Application-Aware Protection Vs. Conventional Security Protection

We sat down with Satya Gupta, Virsec’s CTO and Founder, as well as the creator of the Virsec Security Platform, to discuss the technical details of application-aware workload protection. 

 

What Does Application-Aware Mean?

Application awareness” is an important term to understand. Having effective application-aware protection on your workloads means that you are able to map the acceptable execution of each application and protect them at the memory level during runtime. Your security solution then ensures that the components of those applications are correct and unmodified before they can execute and during runtime. Any deviation from the norm is instantly detected, treated as a threat, and blocked.

Runtime Protection

We must be able to protect the application at runtime and be able to do so in an application-aware manner. We must be able to identify when the bad guys are injecting code or manipulating processes, and stop them from hijacking servers and derailing applications. This is not possible unless you are application-aware; if you don’t know what your application supposed to do, then you cannot recognize when it deviates from its expected execution.


Virsec AppMap® Technology

Virsec’s powerful technology can automatically map applications in-depth across the complete application stack. Virsec’s patented AppMap® technology automatically identifies the correct files, scripts, directories, libraries, inputs, processes, memory usage, and more. This comprehensive application-awareness protects workloads in any environment and is applied in real-time, as application code executes.

With Virsec’s unique AppMap® technology, you don’t need to use multiple tools to hunt for threats or spend time determining what threat is happening – the solution already recognizes there is a threat the moment the code deviates and blocks it. 

 

Essential Components of Application-Aware Protection

Our application-aware solution can be understood by broken it out into nine essential components, or steps.

 

  

Package

We start off by looking at the packages in which the application is released. We decompose the application, the RPMs, and the MSI. And the package the application is in, the checksums of all the files that are part of that package, that becomes the source of truth that comes from a developer.

 

Libraries

And then we move on from those executables that we find in the package, we extract what libraries will get loaded into those executables. A new process starts out with a certain executable, which has enough information buried in it to be able to predict which libraries will get loaded. Then we extract that information, so we map or define what packages and what libraries we could be running.

 

Scripts

We also ascertain the scripts. There are two aspects to consider: there’s an allowed list and a disallowed list of scripts. There’s a combination of interpreted scripts that are allowed to run – typically IT Ops have certain power shell scripts that they like to be able to run from time to time on that box. And some applications may also have some scripts that may be allowed to run. These are all characterized by change management, and most companies will have this change management mechanism by which they describe how an application would run.

 

Remote File Inclusion

Now that we have captured all this information, then we move on to remote file inclusion. This is every process that can talk to other endpoints on the network (if they are going to be talking). We extract that information by running the application and extracting that information from the application’s runtime.

 

Local File Inclusion

Local file inclusion describes the directories typically for a web application, where the web root of the application is located and where are all the good file objects would be in that particular directory. With this information, we create a hierarchical map of how the application’s code executes. Then, when the bad guys come in and drops some eggshells or other such things, then we know it is an alien file.

 

Directory and File Access

Based on the process memory, we can extract what files are loaded in the memory, and then we can put a little envelope around the application with a particular process, and then we’ll define that these processes will touch these XYZ files and directories. Essentially, we create a little straitjacket within which the application executes. People who have done any work with SE limits would be very familiar with this concept.

 

Continuous Authorization

In many applications, especially legacy applications, there are rules-based access control. Some rules are a little bit more privileged than the other ones. Imagine the HR director at a large Fortune 100 company. They have access to all kinds of privileged information about individual employees, financials, and so forth. We want to make sure that if a company has a legacy application that was not built with two-factor protection to protect the application, for example, that we can still make sure the person who’s accessing these privileged URLs is exactly who they say they are. We can then put this runtime control into play with a continuous authorization map.

 

Interpreter Verbs

Most web applications are written in some sort of a bytecode. A threat actor will attack a bytecode-based application differently than a binary code application. Typically, they’ll try to manipulate data that’s going into the application that will then turn into some syntax for a downstream interpreter – like a SQL interpreter, JavaScript interpreter, or an OS command – there are many interpreters. We then capture those to make sure that the user input does not contain any such information.

 

Control Flow

Our control flow map essentially describes how the application should run, targeting binary execution. To understand this, let’s dig into binary executables, which are protected by particular mechanisms. The branches and the code execute – hopping from one branch to the next to the next, which we can observe from the code. So we extract from the code itself, and we are able to define a “manifest” for how each application should run, establishing guardrails around each application as it executes in runtime.

  

 

Preventing Remote Code Execution

An attacker’s intention is to be able to perform some form of remote code execution to run foreign code in your environment. The key to detecting foreign code is to be able to stop the attacker’s ability to run this code. We should make sure initially that the application we’re starting with is pristine, that it’s what the developer wanted us to run in the first place.

If you look at a typical web application, for example, it has a mixture of code. If we assume that 60-percent of your code is framework code, which is basically written in some compiled language, then the rest of it is interpreted code, which is written into bytecode. So, with a mixture of procedures running bytecode and binary code, if you look inside an application, you’ll find hundreds of threads that are running multiple processes that are complex and increase the attackable surface of the application.

We want to make sure that the attacker is not sending bytecode into their request so that the bytecode becomes compromised. And if it’s a binary application, then we need to make sure that the application is not sending shell code, which is basically another word for code that looks like data as it’s coming in.

 

Finite Code Vs. Infinite Data

There is a finite amount of code in an application, but the amount of data that can come in is infinite. For example, billions of people all over the world might be interacting with an application, especially those that are on the Internet 24/7. It’s impossible to characterize every piece of traffic that’s coming in. But characterizing code is a whole lot simpler, because if you look at a given application – say in an Apache server or a Linux server or a Tomcat server – there’s only so much code there. It’s a bounded problem as opposed to tearing after data, which is an unbounded problem. 

Conventional Security Tools Do Not Provide Application-Aware Protection

Every day, approximately 350,000 pieces of malware are created per day. That means that every EDR tool must have access to all 350,000 of those pieces of malware each day, and they must know exactly how each individual piece of malware is running – an impossible task.

As more and more people realize that this is an endless problem, that companies will just be writing blank checks to security vendors who are providing these services, eventually we will realize that conventional security tools are not sufficient to combat evasive attacks.

Chasing threats, trying to chase the horses after they’ve left the barn, trying to guess what’s coming next – only seems logical if you don’t have an alternative. And newer detection and response tools that are claiming they can see threats are only looking at breadcrumbs; they’re looking at it after the fact. Or if we’re relying on prior knowledge and signatures, expecting to see some behavior, or in the case of post-exploitation EDR tools that use indicators of compromise – these models failed us miserably with SolarWinds. It doesn’t mean they’re bad technology, it just means they are not capable of stopping this next generation of attacks – without prior knowledge.

It’s like sticking your head in the sand and saying that threat actors will simply execute the same thing over and over and over again; that is really underestimating the capabilities of these hackers. They are sophisticated, smart – many have PhDs – they’re well-funded, highly motivated, and they’ve got only one thing on their mind: how to break into your system.

Instead, if you protect the application itself from the inside, mapping it and understanding it, and guard railing it from doing the wrong thing, regardless of vulnerabilities, regardless of lack of patching, and regardless of prior knowledge. We define how each application should run and establishing guardrails around it as it executes in runtime. Then any deviation from normal is immediately detected, treated as a threat, and blocked.

 

 

Additional Learning

White Paper: The Need for Application-Aware Workload Protection

White Paper: Virsec Zero Trust Workload Protection

Solution Brief: Virsec Security Platform

Webinar: Defending Against Nation-State Attacks: Breaking the Kill Chain

Webinar: SolarWinds CSI: Re-creating the SolarWinds Attack

The post Application-Aware Protection Vs. Conventional Security Protection appeared first on Security Boulevard.

Read More

The post Application-Aware Protection Vs. Conventional Security Protection appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/application-aware-protection-vs-conventional-security-protection/?utm_source=rss&utm_medium=rss&utm_campaign=application-aware-protection-vs-conventional-security-protection

A Deep Dive into ATO Fraud

How Fraudsters Launch ATO Fraud Attacks, How They Monetize Them, And How to Make Them Stop Recently I hosted a masterclass on account takeover attacks during the Arkose Labs Virtual Panel Series. That masterclass was the session that kicked off the whole panel series, which was apropos because ATO fraud is one of the fastest-growing […]

The post A Deep Dive into ATO Fraud appeared first on Security Boulevard.

Read More

The post A Deep Dive into ATO Fraud appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/a-deep-dive-into-ato-fraud/?utm_source=rss&utm_medium=rss&utm_campaign=a-deep-dive-into-ato-fraud

Oscar-Bait, Literally: Hackers Abuse Nominated Films for Phishing, Malware

Judas and the Black Messiah may be a favorite for Best Picture at the 93rd Academy Awards on Sunday, but it’s a fave for cybercriminals too.
Read More

The post Oscar-Bait, Literally: Hackers Abuse Nominated Films for Phishing, Malware appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/oscar-bait-literally-hackers-abuse-nominated-films-for-phishing-malware/?utm_source=rss&utm_medium=rss&utm_campaign=oscar-bait-literally-hackers-abuse-nominated-films-for-phishing-malware

Password Manager Suffers ‘Supply Chain’ Attack

A software update to Click Studios’ Passwordstate password manager contained malware.

The post Password Manager Suffers ‘Supply Chain’ Attack appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/password-manager-suffers-supply-chain-attack-2/?utm_source=rss&utm_medium=rss&utm_campaign=password-manager-suffers-supply-chain-attack-2

Password Manager Suffers ‘Supply Chain’ Attack

Subscribe to Newsletters

White Papers

Video

Cartoon Contest

Write a Caption, Win an Amazon Gift Card! Click Here

Latest Comment: “See? I told you no one understands Linux.”

Current Issue

2021 Top Enterprise IT TrendsWe’ve identified the key trends that are poised to impact the IT landscape in 2021. Find out why they’re important and how they will affect you today!

Flash Poll


How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.

Twitter Feed

Bug Report

Enterprise Vulnerabilities
From DHS/US-CERT’s National Vulnerability Database
CVE-2021-20089
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in purl 2.3.2 allows a malicious user to inject properties into Object.prototype.

CVE-2021-29470
PUBLISHED: 2021-04-23

Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. An out-of-bounds read was found in Exiv2 versions v0.27.3 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An att…

CVE-2021-20085
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in backbone-query-parameters 0.4.0 allows a malicious user to inject properties into Object.prototype.

CVE-2021-20086
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in jquery-bbq 1.2.1 allows a malicious user to inject properties into Object.prototype.

CVE-2021-20083
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in jquery-plugin-query-object 2.2.3 allows a malicious user to inject properties into Object.prototype.

The post Password Manager Suffers ‘Supply Chain’ Attack appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/password-manager-suffers-supply-chain-attack/?utm_source=rss&utm_medium=rss&utm_campaign=password-manager-suffers-supply-chain-attack

2021-04-23 – IcedID (Bokbot) infection from zipped JS file

The post 2021-04-23 – IcedID (Bokbot) infection from zipped JS file appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/2021-04-23-icedid-bokbot-infection-from-zipped-js-file/?utm_source=rss&utm_medium=rss&utm_campaign=2021-04-23-icedid-bokbot-infection-from-zipped-js-file

Insider Data Leaks: A Growing Enterprise Threat

Report finds 85% of employees are more likely to leak sensitive files now than before the COVID-19 pandemic.

The post Insider Data Leaks: A Growing Enterprise Threat appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/insider-data-leaks-a-growing-enterprise-threat-2/?utm_source=rss&utm_medium=rss&utm_campaign=insider-data-leaks-a-growing-enterprise-threat-2

Prometei Botnet Could Fire Up APT-Style Attacks

The malware is for now using exploits for the Microsoft Exchange “ProxyLogon” security bugs to install Monero-mining malware on targets.
Read More

The post Prometei Botnet Could Fire Up APT-Style Attacks appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/prometei-botnet-could-fire-up-apt-style-attacks/?utm_source=rss&utm_medium=rss&utm_campaign=prometei-botnet-could-fire-up-apt-style-attacks

5 Fundamental But Effective IoT Device Security Controls

Matt Dunn, the associate managing director for cyber-risk at Kroll, discusses how to keep networks safe from insecure IoT devices.
Read More

The post 5 Fundamental But Effective IoT Device Security Controls appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/5-fundamental-but-effective-iot-device-security-controls/?utm_source=rss&utm_medium=rss&utm_campaign=5-fundamental-but-effective-iot-device-security-controls

Insider Data Leaks: A Growing Enterprise Threat

Subscribe to Newsletters

White Papers

Video

Cartoon Contest

Write a Caption, Win an Amazon Gift Card! Click Here

Latest Comment: “See? I told you no one understands Linux.”

Current Issue

2021 Top Enterprise IT TrendsWe’ve identified the key trends that are poised to impact the IT landscape in 2021. Find out why they’re important and how they will affect you today!

Flash Poll


How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.

Twitter Feed

Bug Report

Enterprise Vulnerabilities
From DHS/US-CERT’s National Vulnerability Database
CVE-2021-20089
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in purl 2.3.2 allows a malicious user to inject properties into Object.prototype.

CVE-2021-29470
PUBLISHED: 2021-04-23

Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. An out-of-bounds read was found in Exiv2 versions v0.27.3 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An att…

CVE-2021-20085
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in backbone-query-parameters 0.4.0 allows a malicious user to inject properties into Object.prototype.

CVE-2021-20086
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in jquery-bbq 1.2.1 allows a malicious user to inject properties into Object.prototype.

CVE-2021-20083
PUBLISHED: 2021-04-23

Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) in jquery-plugin-query-object 2.2.3 allows a malicious user to inject properties into Object.prototype.

The post Insider Data Leaks: A Growing Enterprise Threat appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/insider-data-leaks-a-growing-enterprise-threat/?utm_source=rss&utm_medium=rss&utm_campaign=insider-data-leaks-a-growing-enterprise-threat

New QNAP NAS Flaws Exploited In Recent Ransomware Attacks – Patch It!

A new ransomware strain called “Qlocker” is targeting QNAP network attached storage (NAS) devices as part of an ongoing campaign and encrypting files in password-protected 7zip archives.

First reports of the infections emerged on April 20, with the adversaries behind the operations demanding a bitcoin payment (0.01 bitcoins or about $500.57) to receive the decryption key.

In response to the ongoing attacks, the Taiwanese company has released an advisory prompting users to apply updates to QNAP NAS running Multimedia Console, Media Streaming Add-on, and HBS 3 Hybrid Backup Sync to secure the devices from any attacks.

“QNAP strongly urges that all users immediately install the latest Malware Remover version and run a malware scan on QNAP NAS,” the company said. “The Multimedia Console, Media Streaming Add-on, and Hybrid Backup Sync apps need to be updated to the latest available version as well to further secure QNAP NAS from ransomware attacks.”

Patches for the three apps were released by QNAP over the last week. CVE-2020-36195 concerns an SQL injection vulnerability in QNAP NAS running Multimedia Console or Media Streaming Add-on, successful exploitation of which could result in information disclosure. On the other hand, CVE-2021-28799 relates to an improper authorization vulnerability affecting QNAP NAS running HBS 3 Hybrid Backup Sync that could be exploited by an attacker to log in to a device.

But it appears that Qlocker is not the only strain that’s being used to encrypt NAS devices, what with threat actors deploying another ransomware named “eCh0raix” to lock sensitive data. Since its debut in July 2019, the eCh0raix gang is known for going after QNAP storage appliances by leveraging known vulnerabilities or carrying out brute-force attacks.

QNAP is also urging users to the latest version of Malware Remover to perform a scan as a safety measure while it’s actively working on a solution to remove malware from infected devices.

“Users are advised to modify the default network port 8080 for accessing the NAS operating interface,” the company recommended, adding “the data stored on NAS should be backed up or backed up again utilizing the 3-2-1 backup rule, to further ensure data integrity and security.”

Found this article interesting? Follow THN on Facebook, Twitter and LinkedIn to read more exclusive content we post.

Read More

The post New QNAP NAS Flaws Exploited In Recent Ransomware Attacks – Patch It! appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/new-qnap-nas-flaws-exploited-in-recent-ransomware-attacks-patch-it-2/?utm_source=rss&utm_medium=rss&utm_campaign=new-qnap-nas-flaws-exploited-in-recent-ransomware-attacks-patch-it-2

Malware posing as WhatsApp Pink theme – Week in security with Tony Anscombe

ESET researcher Lukas Stefanko warns that Android users should look out for malware that spreads via messages on WhatsApp and other chat apps and promises to turn users’ WhatsApp theme from green to pink. German researchers have identified two security flaws in Apple’s AirDrop feature that could allow hackers to access the phone numbers and email addresses of both the sending and receiving device. Google has released an update to plug a zero-day hole in its Chrome web browser for Windows, Linux and macOS. For more news, go to WeLiveSecurity.com.

The post Malware posing as WhatsApp Pink theme – Week in security with Tony Anscombe appeared first on Malware Devil.



https://malwaredevil.com/2021/04/23/malware-posing-as-whatsapp-pink-theme-week-in-security-with-tony-anscombe/?utm_source=rss&utm_medium=rss&utm_campaign=malware-posing-as-whatsapp-pink-theme-week-in-security-with-tony-anscombe

Barbary Pirates and Russian Cybercrime

In 1801, the United States had a small Navy. Thomas Jefferson deployed almost half that Navy—three frigates and a schooner—to the Barbary C...