Month: July 2024
What troubleshooting steps can resolve Q.B Error PS038?
I’m encountering Quick-Books Pay-roll error PS038. How can I fix this issue and ensure my pay-roll processing runs smoothly?
I’m encountering Quick-Books Pay-roll error PS038. How can I fix this issue and ensure my pay-roll processing runs smoothly? Read More
Q-B Error 6000 95: How to Resolve and Get Support
Encountering Q.B Error 6000 95? Follow troubleshooting steps or call for expert assistance and resolution.
Encountering Q.B Error 6000 95? Follow troubleshooting steps or call for expert assistance and resolution. Read More
Q-B Error H303: Troubleshooting and Support Guide
Q-B Error H303 indicates a problem with multi-user hosting setup. This error typically occurs when Q.B fails to communicate with the server or host computer.
Q-B Error H303 indicates a problem with multi-user hosting setup. This error typically occurs when Q.B fails to communicate with the server or host computer. Read More
How can I use selections from multiple uidropdowns as function inputs?
I’m using two (2) uidropdowns with a valuechangedfcn to live update the x-y axes for a plot based on the selected variable. I can’t figure out how to simultaneously pass the information from both dropdowns to my plotting function. For example, say I have data for three variables: time, position, and velocity, and I have two drop downs each containing the same three variables for the x and y axes. I’m unable to retain a previous variable selection for the x-axis once I select a new variable for the y-axis, so it just reverts to the initialized x-variable. Is there a way to store the selection from each dropdown simultaneouslyI’m using two (2) uidropdowns with a valuechangedfcn to live update the x-y axes for a plot based on the selected variable. I can’t figure out how to simultaneously pass the information from both dropdowns to my plotting function. For example, say I have data for three variables: time, position, and velocity, and I have two drop downs each containing the same three variables for the x and y axes. I’m unable to retain a previous variable selection for the x-axis once I select a new variable for the y-axis, so it just reverts to the initialized x-variable. Is there a way to store the selection from each dropdown simultaneously I’m using two (2) uidropdowns with a valuechangedfcn to live update the x-y axes for a plot based on the selected variable. I can’t figure out how to simultaneously pass the information from both dropdowns to my plotting function. For example, say I have data for three variables: time, position, and velocity, and I have two drop downs each containing the same three variables for the x and y axes. I’m unable to retain a previous variable selection for the x-axis once I select a new variable for the y-axis, so it just reverts to the initialized x-variable. Is there a way to store the selection from each dropdown simultaneously uidropdrown, appdesigner, plot, gui MATLAB Answers — New Questions
How do I build standalone applications and create associated installers in the command line outside of MATLAB without using “deploytool” in MATLAB R2023b on Windows?
I am using MATLAB R2023b on a Windows machine and wish to build standalone applications and created the associated installers in the command line outside of MATLAB as part of a build environment.
I currently do this by invoking "deploytool" via the command line. However, I see that the "-package" option for "deploytool" will be removed in the future. Are there any alternatives for "deploytool" to complete this workflow on the command line?
Ideally, this alternate command line approach would reuse the PRJ files generated by "deploytool". I have looked into using "mcc", but it doesn’t generate the associated installer.I am using MATLAB R2023b on a Windows machine and wish to build standalone applications and created the associated installers in the command line outside of MATLAB as part of a build environment.
I currently do this by invoking "deploytool" via the command line. However, I see that the "-package" option for "deploytool" will be removed in the future. Are there any alternatives for "deploytool" to complete this workflow on the command line?
Ideally, this alternate command line approach would reuse the PRJ files generated by "deploytool". I have looked into using "mcc", but it doesn’t generate the associated installer. I am using MATLAB R2023b on a Windows machine and wish to build standalone applications and created the associated installers in the command line outside of MATLAB as part of a build environment.
I currently do this by invoking "deploytool" via the command line. However, I see that the "-package" option for "deploytool" will be removed in the future. Are there any alternatives for "deploytool" to complete this workflow on the command line?
Ideally, this alternate command line approach would reuse the PRJ files generated by "deploytool". I have looked into using "mcc", but it doesn’t generate the associated installer. deploytool, mcc, deployment, standaloneapplication, matlabcompiler MATLAB Answers — New Questions
imregcorr() misaligns images badly
[tform, peakregcorr] = imregcorr(SourceImageAdj,SourceRef, …
TargetImageAdj,TargetRef, …
‘transformType’, ‘similarity’, …
‘Window’, true);
RegisteredImage = imwarp(SourceImageAdj,SourceRef, tform, ‘linear’, …
‘OutputView’, TargetRef);
disp(peakregcorr)
figure, imshowpair(TargetImageAdj,TargetRef,RegisteredImage, TargetRef)
above is my code to correlate 2 images of different sizes. the goal is to find the correlation between the images to determine what pixel location a point of interest might lie in both images. However, imregcorr consistently misses the mark badly.
Whereas the code above might output a tform object – Dimensionality: 2, Scale: 0.4254, RotationAngle: 2.4851, Translation: [-0.3269 -0.0904]
A more correct tform object (based upon the output image would look like – Dimensionality: 2, Scale: 1, RotationAngle: -1, Translation: [0.0640 0]
The SourceRef and TargetRef seem correct, so Im not sure what is causing the issue[tform, peakregcorr] = imregcorr(SourceImageAdj,SourceRef, …
TargetImageAdj,TargetRef, …
‘transformType’, ‘similarity’, …
‘Window’, true);
RegisteredImage = imwarp(SourceImageAdj,SourceRef, tform, ‘linear’, …
‘OutputView’, TargetRef);
disp(peakregcorr)
figure, imshowpair(TargetImageAdj,TargetRef,RegisteredImage, TargetRef)
above is my code to correlate 2 images of different sizes. the goal is to find the correlation between the images to determine what pixel location a point of interest might lie in both images. However, imregcorr consistently misses the mark badly.
Whereas the code above might output a tform object – Dimensionality: 2, Scale: 0.4254, RotationAngle: 2.4851, Translation: [-0.3269 -0.0904]
A more correct tform object (based upon the output image would look like – Dimensionality: 2, Scale: 1, RotationAngle: -1, Translation: [0.0640 0]
The SourceRef and TargetRef seem correct, so Im not sure what is causing the issue [tform, peakregcorr] = imregcorr(SourceImageAdj,SourceRef, …
TargetImageAdj,TargetRef, …
‘transformType’, ‘similarity’, …
‘Window’, true);
RegisteredImage = imwarp(SourceImageAdj,SourceRef, tform, ‘linear’, …
‘OutputView’, TargetRef);
disp(peakregcorr)
figure, imshowpair(TargetImageAdj,TargetRef,RegisteredImage, TargetRef)
above is my code to correlate 2 images of different sizes. the goal is to find the correlation between the images to determine what pixel location a point of interest might lie in both images. However, imregcorr consistently misses the mark badly.
Whereas the code above might output a tform object – Dimensionality: 2, Scale: 0.4254, RotationAngle: 2.4851, Translation: [-0.3269 -0.0904]
A more correct tform object (based upon the output image would look like – Dimensionality: 2, Scale: 1, RotationAngle: -1, Translation: [0.0640 0]
The SourceRef and TargetRef seem correct, so Im not sure what is causing the issue image processing MATLAB Answers — New Questions
1 room for meeting, so would like Bookings to use 1 slot per hour for Team of 12.
I have a Bookings calendar with a Team of 12 people. I only have 1 room for reservations, so I want 1 time slot per hour for customers. We assign the Booking to whomever is available on our Team of 12. Bookings is allowing multiple reservations for the time slot, which is problematic since we only have 1 room for the appointment.
I have a 1:1 service set up, none of the staff are assigned to the service so I’m not sure what I need to change to close the slot once it is booked.
Any assistance is appreciated. 🙂
I have a Bookings calendar with a Team of 12 people. I only have 1 room for reservations, so I want 1 time slot per hour for customers. We assign the Booking to whomever is available on our Team of 12. Bookings is allowing multiple reservations for the time slot, which is problematic since we only have 1 room for the appointment. I have a 1:1 service set up, none of the staff are assigned to the service so I’m not sure what I need to change to close the slot once it is booked. Any assistance is appreciated. 🙂 Read More
Add meeting/event to Teams calendar from Outlook
Hello, I’m new to Teams and Outlook.
I started a Staff Team with the idea of using it to share general information with the staff, such as announcements, holidays, vacation calendars, files from staff meetings, etc. I created some channels for project-specific groups we work in like Admin and DEI.
When I add an item to the Teams calendar, it shows up in Outlook as one of my personal meetings/events. That is fine, but I would like to be able to add meetings/events to the Teams calendar from Outlook. It doesn’t seem possible because the Teams calendar does not show up in the list of available calendars the way shared calendars do. I guess I figured a Teams calendar was a form of shared calendar.
It there a way to work in a Teams calendar through Outlook or is there another method I should be using to create a staff calendar.
Teams and Groups seem almost identical, so I assumed Teams was the future and Groups was a vestige that MS was keeping around for people refusing to adopt Teams. Should I be using Groups instead?
Thank you,
Hello, I’m new to Teams and Outlook. I started a Staff Team with the idea of using it to share general information with the staff, such as announcements, holidays, vacation calendars, files from staff meetings, etc. I created some channels for project-specific groups we work in like Admin and DEI. When I add an item to the Teams calendar, it shows up in Outlook as one of my personal meetings/events. That is fine, but I would like to be able to add meetings/events to the Teams calendar from Outlook. It doesn’t seem possible because the Teams calendar does not show up in the list of available calendars the way shared calendars do. I guess I figured a Teams calendar was a form of shared calendar. It there a way to work in a Teams calendar through Outlook or is there another method I should be using to create a staff calendar. Teams and Groups seem almost identical, so I assumed Teams was the future and Groups was a vestige that MS was keeping around for people refusing to adopt Teams. Should I be using Groups instead? Thank you, Read More
Q-B Form 941: How to File and Get Support
Learn to file Q-B Form 941 accurately. For step-by-step guidance and expert support,
Learn to file Q-B Form 941 accurately. For step-by-step guidance and expert support, Read More
NVMe-enabled Ebsv5 VMs offering 400K IOPS and 10GBps throughput now generally available
In September 2023, we announced the Public Preview of NVMe-enabled Ebsv5 VMs offering 400K IOPS and 10GBps throughput Virtual Machine (VM) sizes based on the 3rd Gen Intel® Xeon® Platinum 8370C processor offering higher remote storage performance with Azure Disks. The Ebsv5 VM family is designed for memory-intensive business-critical applications, relational database servers, and in-memory data analytics workloads.
Today, we are announcing the general availability (GA) of accelerated remote storage performance using Azure Premium SSD v2 and Ultra disk within the existing NVMe-enabled Ebsv5 family. The higher storage performance is offered across all Ebsv5 sizes and delivers up to 400K IOPS (I/O operations per second) and 10GBps of remote disk storage throughput. This general availability of accelerated NVMe-Ebsv5 with increased remote storage performance is part of the Azure Boost family which upgrades the fleet with these new capabilities.
The NVMe enabled Ebsv5 sizes offer up to 2x the performance of SCSI VM sizes with no additional cost, providing better price-performance. The VM pricing details are available here.
The Ebsv5 and Ebdsv5 NVMe VM series
In today’s competitive business landscape, quickly processing, analyzing, and extracting insights from large volumes of data is essential. OLTP and OLAP applications, which handle real-time transactions, further highlight the need for powerful computing and storage solutions. Companies must adopt robust systems to manage increasing data demands efficiently while keeping costs in check.
The Ebsv5 and Ebdsv5 VM family with NVMe, made generally available in May 2023, meets the performance requirements for many business-critical applications. However, some workloads require even higher VM-to-disk throughput and IOPS performance over Ultra or Premium SSD v2 disk options, which are now served by the accelerated NVMe Ebsv5 VM sizes.
Ebsv5 series NVMe VM specifications
The E2-112i vCPU sizes with the NVMe provide higher performance than the comparable Ebsv5 SCSI sizes for the same price. The accelerated NVMe-enabled sizes offer up to 400,000 IOPS and 10,000 MBps with Ultra disk and Premium V2 storage offerings.
Note the Uncached IOPS/ throughput specs are the same as Ebdsv5 VMs
Size
vCPU
Memory
GiB
Max uncached disk throughput
IOPS/MBps
(Ultra/Pv2-SSD)
Max burst uncached disk throughput
IOPS/MBps
(Ultra/Pv2-SSD)
Standard_E2bs_v5
2
16
12000/300
15000/1200
Standard_E4bs_v5
4
32
21400/600
30000/1200
Standard_E8bs_v5
8
64
44200/1200
60000/1200
Standard_E16bs_v5
16
128
88400/2300
96000/2600
Standard_E32bs_v5
32
256
174200/4800
180000/5200
Standard_E48bs_v5
48
384
253300/7300
260000/7850
Standard_E64bs_v5
64
512
294800/7800
310000/8500
Standard_E96bs_v5
96
672
390000/8500
390000/9000
Standard_E112ibs_v5
112i
672
400000/10000
400000/10000
For more information, system prerequisite, current restrictions of this offering, please visit Ebsv5/Ebdsv5 specification page.
*Please note that you are required to create new Ultra disks for Ebsv5 NVMe for the upgraded performance in the following regions: uswestcentral-AZ01, usstagesc-AZ01, ussouth-AZ02, useast, uscentral-AZ03,uksouth, europewest, europenorth, brazilsouth-AZ03, australiasoutheast-AZ01, asiasoutheast, australiaeast-AZ02,AZ03
All the rest of the regions that aren’t listed here doesn’t require new Ultra disks creation for upgraded performance
Customer Testimonials: We had the opportunity to collaborate with several Azure partners during the preview period. Below is the feedback from some of the partners on the performance of the new VMs:
FlashGrid.io offers solutions to help organizations simplify the management and deployment of their mission-critical databases in the cloud while ensuring high availability, scalability, and performance.
“With the recent update of the Ebsv5 NVMe VMs we are now measuring 10 GBPS of throughput and 400K IOPS per VM with Premium SSD v2 disks. That is 30 GBPS and over 1M IOPS in a FlashGrid Cluster with three Oracle RAC database nodes, which is an order of magnitude higher than a typical on-premises storage system”
Getting started
Learn more about the NVMe Ebsv5 and Ebdsv5 VMs by reading the FAQ. Learn more about the Azure Boost by reading the aka.ms/azureboost .For pricing information, check out Windows and Linux. Also, please verify the Ultra disk and Premium SSD V2 regional availability to pair with the NVMe-enabled Ebsv5 series. Finally, if you need help selecting the best VM for your workload, start with the virtual machine selector.
Microsoft Tech Community – Latest Blogs –Read More
Guidance for handling “regreSSHion” (CVE-2024-6387) using Microsoft Security capabilities
Investigating and assessing vulnerabilities within the software inventory is crucial, especially in light of high–severity vulnerabilities like the recent OpenSSH regreSSHion vulnerability. Such security risks are becoming increasingly common, often exploiting software dependencies and third-party services. The notoriety of incidents like the TeamViewer breach and the XZ Utils backdoor underscores the urgency for comprehensive vulnerability management and strategies to minimize the attack surface. In this blog post, we delve into the methodology for probing such incidents. We will demonstrate how organizations can harness the capabilities of Attack Path analysis together with Microsoft Defender suite of products to pinpoint and neutralize threats arising from such events. Our examination will center on: mapping vulnerabilities, evaluating affected assets, gauging potential impact via blast radius analysis, and implementing efficacious mitigations.
Mapping Vulnerabilities and Impacted Assets
The first step in managing an incident is to map affected software within your organization’s assets. Defender Vulnerability Management solution provides a comprehensive vulnerability assessment across all your devices.
Example: Mapping the regreSSHion vulnerability
To map the presence of the regreSSHion vulnerability (CVE-2024-6387) in your environment, you can use the following KQL query in Advanced Hunting in Microsoft Defender portal:
DeviceTvmSoftwareVulnerabilities
| where CveId == “CVE-2024-6387”
| summarize by DeviceName, DeviceId;
This query searches for devices with software vulnerabilities related to the specified CVE.
Understanding Potential Impact: Attack Path Analysis
Understanding the blast radius of impacted devices is critical for assessing the potential impact on your organization. Microsoft Security offers attack path analysis to visualize possible lateral movement steps an adversary might take.
Leveraging Microsoft Defender for Cloud
Defender for Cloud (MDC) discovers all cloud resources affected by the vulnerability which are also exposed to the internet through SSH ports. MDC highlights them in the ‘attack path analysis’ tool:
Using attack path analysis, you can easily find all your exposed machines that are also potentially accessible for attackers. Use the following attack path title to filter the view only for exposed machines:
Internet exposed Azure VM with OpenSSH regreSSHion vulnerability (CVE-2024-6387)
Internet exposed AKS pod is running a container with OpenSSH regreSSHion vulnerability (CVE-2024-6387)
Internet exposed EKS pod is running a container with OpenSSH regreSSHion vulnerability (CVE-2024-6387)
Note: These attack path updates are rolling out and should be available for all customers shortly.
Using Cloud Security Explorer
You can use the Cloud Security Explorer feature within Defender for Cloud to perform queries related to your posture across Azure, AWS, GCP, and code repositories. This allows you to investigate the specific CVE, identify affected machines, and understand the associated risks.
We have created specific queries for this CVE that help you to easily get an initial assessment of the threat this vulnerability creates for your organization, with choices for customization:
VMs with regreSSHion critical vulnerability (CVE-2024-6387)
Container images with regreSSHion critical vulnerability (CVE-2024-6387)
Code repositories affected by CVE-2024-6387
Container images affected by CVE-2024-6387 pushed by code repositories
Advanced Hunting: Analyzing Attack Paths Across the Organization with Microsoft Security Exposure Management
To analyze the blast radius (i.e. the potential impact of a compromised device) of the regreSSHion vulnerability across different environments and assets, you can use the powerful `graph-match` KQL command under Advanced Hunting to identify other critical assets that might be at risk.
The following query (wrapped in the BlastRadiusAttackPathMapping function for easier repeated usage) maps and returns possible attack paths an adversary can take.
The function receives as an input:
sourceTypes: filter for type of device that can be considered as entry points (e.g. virtual machine, endpoint device)
sourceProperties: filter for properties the above devices must have (e.g. high severity vulnerabilities)
sourceCveIDs: filter for specific vulnerabilities (CVE IDs) the above devices must have
targetTypes: filter for type of device that are considered as the target of the path (e.g. storage account, privileged user, virtual machine, endpoint device)
targetProperties: filter for properties the target devices must have (e.g. critical assets)
maxPathLength: maximum hops for each attack path
resultCountLimit: maximum amount of attack paths calculated
let BlastRadiusAttackPathMapping = (sourceTypes:dynamic, sourceProperties:dynamic, sourceCveIDs:dynamic
, targetTypes:dynamic, targetProperties:dynamic
, maxPathLength:long = 6, resultCountLimit:long = 10000)
{
let edgeTypes = pack_array(‘has permissions to’, ‘contains’, ‘can authenticate as’, ‘can authenticate to’, ‘can remote interactive logon to’
, ‘can interactive logon to’, ‘can logon over the network to’, ‘contains’, ‘has role on’, ‘member of’);
let sourceNodePropertiesFormatted = strcat(‘(‘, strcat_array(sourceProperties, ‘|’), ‘)’);
let targetNodePropertiesFormatted = strcat(‘(‘, strcat_array(targetProperties, ‘|’), ‘)’);
let nodes = (
ExposureGraphNodes
| project NodeId, NodeName, NodeLabel
, SourcePropertiesExtracted = iff(sourceProperties != “[“”]”, extract_all(sourceNodePropertiesFormatted, tostring(NodeProperties)), pack_array(”))
, TargetPropertiesExtracted = iff(targetProperties != “[“”]”, extract_all(targetNodePropertiesFormatted, tostring(NodeProperties)), pack_array(”))
, criticalityLevel = toint(NodeProperties.rawData.criticalityLevel.criticalityLevel)
| mv-apply SourcePropertiesExtracted, TargetPropertiesExtracted on (
summarize SourcePropertiesExtracted = make_set_if(SourcePropertiesExtracted, isnotempty(SourcePropertiesExtracted))
, TargetPropertiesExtracted = make_set_if(TargetPropertiesExtracted, isnotempty(TargetPropertiesExtracted))
)
| extend CountSourceProperties = coalesce(array_length(SourcePropertiesExtracted), 0)
, CountTargetProperties = coalesce(array_length(TargetPropertiesExtracted), 0)
| extend SourceRelevancyByLabel = iff(NodeLabel in (sourceTypes) or sourceTypes == “[“”]”, 1, 0)
, TargetRelevancyByLabel = iff(NodeLabel in (targetTypes) or targetTypes == “[“”]”, 1, 0)
, SourceRelevancyByProperties = iff(CountSourceProperties > 0 or sourceProperties == “[“”]”, 1, 0)
, TargetRelevancyByProperties = iff(CountTargetProperties > 0 or targetProperties == “[“”]”, 1, 0)
| extend SourceRelevancy = iff(SourceRelevancyByLabel == 1 and SourceRelevancyByProperties == 1, 1, 0)
, TargetRelevancy = iff(TargetRelevancyByLabel == 1 and TargetRelevancyByProperties == 1, 1, 0)
);
let edges = (
ExposureGraphEdges
| where EdgeLabel in (edgeTypes)
| project EdgeId, EdgeLabel, SourceNodeId, SourceNodeName, SourceNodeLabel, TargetNodeId, TargetNodeName, TargetNodeLabel
);
let vulnerableDevices = (
ExposureGraphEdges
| where iif(sourceCveIDs == “[“”]”, true, (SourceNodeName in (sourceCveIDs)) and (EdgeLabel == “affecting”)) // filter for CVEs only if listed, otherwise return all nodes
| project NodeId=TargetNodeId
| distinct NodeId
);
let paths = (
edges
// Build the graph from all the nodes and edges and enrich it with node data (properties)
| make-graph SourceNodeId –> TargetNodeId with nodes on NodeId
// Look for existing paths between source nodes and target nodes with up to predefined number of hops
| graph-match cycles=none (s)-[e*1..maxPathLength]->(t)
// Filter only by paths with relevant sources and targets – filtered by node types and properties
where (s.SourceRelevancy == 1 and t.TargetRelevancy == 1) and s.NodeId in (vulnerableDevices)
project SourceName = s.NodeName
, SourceType = s.NodeLabel
, SourceId = s.NodeId
, SourceProperties = s.SourcePropertiesExtracted
, CountSourceProperties = s.CountSourceProperties
, SourceRelevancy = s.SourceRelevancy
, TargetName = t.NodeName
, TargetType = t.NodeLabel
, TargetId = t.NodeId
, TargetProperties = t.TargetPropertiesExtracted
, CountTargetProperties = t.CountTargetProperties
, TargetRelevancy = t.TargetRelevancy
, EdgeLabels = e.EdgeLabel
, EdgeIds = e.EdgeId
, EdgeAllTargetIds = e.TargetNodeId
, EdgeAllTargetNames = e.TargetNodeId
, EdgeAllTargetTypes = e.TargetNodeLabel
| extend PathLength = array_length(EdgeIds) + 1
, PathId = hash_md5(strcat(SourceId, strcat(EdgeIds), TargetId))
);
let relevantPaths = (
paths
| extend NodesInPath = array_concat(pack_array(SourceId), EdgeAllTargetIds), NodeLabelsInPath = array_concat(pack_array(SourceType), EdgeAllTargetTypes)
| extend NodesInPathList = NodesInPath
// Wrap the path into meaningful format (can be tweaked as needed)
| mv-expand with_itemindex = SortIndex EdgeIds to typeof(string), EdgeLabels to typeof(string)
, NodesInPath to typeof(string), NodeLabelsInPath to typeof(string)
| sort by PathId, SortIndex asc
| extend step = strcat(
iff(isnotempty(NodesInPath), strcat(‘(‘, NodeLabelsInPath, ‘ ‘, SourceName, ‘:’, NodesInPath, ‘)’), ”)
, iff(CountSourceProperties > 0 and NodesInPath == SourceId, SourceProperties, ”)
, iff(CountTargetProperties > 0 and NodesInPath == TargetId, TargetProperties, ”)
, iff(isnotempty(EdgeLabels), strcat(‘-‘, EdgeLabels, ‘->’), ”))
| summarize Path = make_list(step), take_any(*) by PathId
// Project relevant fields
| project SourceName, SourceType, SourceId, SourceProperties, CountSourceProperties, SourceRelevancy
, TargetName, TargetType, TargetId, TargetProperties, CountTargetProperties, TargetRelevancy
, PathId, PathLength, Path
| top resultCountLimit by PathLength asc
);
relevantPaths
};
// Calling the function starts here
let sourceTypes = pack_array(‘microsoft.compute/virtualmachines’, ‘compute.instances’, ‘ec2.instance’, ‘device’, ‘container-image’, ‘microsoft.hybridcompute/machines’);
let sourceProperties = pack_array(‘hasHighOrCritical’); // filter for assets with severe vulnerabilities
let sourceCveIDs = pack_array(‘CVE-2024-6387’); // filter for entry points with regSSHion CVE
let targetTypes = pack_array(”);
let targetProperties = pack_array(‘criticalityLevel’); // filter for paths that ends with critical assets
BlastRadiusAttackPathMapping(sourceTypes, sourceProperties, sourceCveIDs, targetTypes, targetProperties)
| project-reorder SourceType, SourceName, TargetType, TargetName, Path
| project-keep SourceType, SourceName, TargetType, TargetName, Path
For our purposes we are filtering for “compute” devices (such as servers, VMs, endpoints) with high severity vulnerabilities, specifically the regSSHion CVE ID that can be utilized by adversaries to serve as an entry point for an attack.
We’re also looking to map paths only to devices that have a critical role in the environment (such as a Domain Controller, user with privileged role, etc.)
An example for such query results:
The function can be easily reused, the only part that should be modified is the parameters and the function calling, right below
Line 177 “// Calling the function starts here:“
Recommendations for Mitigation and Best Practices
Mitigating risks associated with vulnerabilities requires a combination of proactive measures and real-time defenses. Here are some recommendations:
Apply Patches and Updates: Regularly update and patch all software to address known vulnerabilities. Use Defender Vulnerability Management to monitor and enforce patch compliance.
Application Blocking: Once CVE is assigned, utilize Defender Vulnerability Management’s application blocking capability to prevent the execution of vulnerable or malicious software. This feature is available in premium plans only (learn more).
Remediate vulnerabilities: Use Defender for Cloud ‘remediate vulnerabilities’ recommendations to remediate affected VMs and containers across your multi-cloud environment. (learn more)
Exposure Management: Keep monitoring your environment using attack path analysis to block possible attack routes, using either the visualization tool under Exposure Management in Security.microsoft.com portal or the ‘graph-match’ KQL command (learn more).
Secure Management ports Use Defender for Cloud ‘Secure management ports’ recommendation to ensure the SSH ports on your machines are closed, or at least protected with just-in-time access control (learn more).
Network Segmentation: Implement network segmentation to limit the spread of an attack and protect critical assets.
Advanced Hunting: Continuously monitor your environment using advanced hunting queries to detect unusual activities and potential exploitation attempts
Conclusion
By following these guidelines and utilizing end-to-end integrated Microsoft Security products, organizations can better prepare for, prevent and respond to attacks, ensuring a more secure and resilient environment.
While the above process provides a comprehensive approach to protecting your organization, continual monitoring, updating, and adapting to new threats are essential for maintaining robust security.
Microsoft Tech Community – Latest Blogs –Read More
How do I install MATLAB Web App Server on cloud?
I would like to install MATLAB Web App Server on a cloud platform like Azure or AWS, so that my team can access the web apps from anywhere.
Is there any documentation for installing Web App Server on the cloud?I would like to install MATLAB Web App Server on a cloud platform like Azure or AWS, so that my team can access the web apps from anywhere.
Is there any documentation for installing Web App Server on the cloud? I would like to install MATLAB Web App Server on a cloud platform like Azure or AWS, so that my team can access the web apps from anywhere.
Is there any documentation for installing Web App Server on the cloud? MATLAB Answers — New Questions
Time-dependent dynamic problem with nonlinear stiffness using ode45
I am solving a time-dependent finite element problem with nonlinearities in the stiffness matrix which takes the following form:
where the dot symbolizes derivative with respect to time, U is the displacement vector, M is the mass matrix, C is the damping matrix, K(U) is the stiffness matrix which depends on U, and F is an external force. I would like to use ode45 to solve the dynamic problem. The general flow for solving this problem would be the following:
Calculate the stiffness matrix K using the latest displacement U (Initial condition if it is the first time step).
Formulate the state-space equations using K matrix, M matrix, C matrix, and F vector.
Integrate the state-space equations with ode45 to caclulate the new displacement U.
Recalculate the K matrix with the new displacement U. Check if the residual error meets the preselected tolerance.
If the error is met, update velocities and accelerations, and go to the next time step. If the error is not met, then go back to step 1 using this latest K matrix.
I am familiar with solving this problem without the nonlinearity in K. However, I am unsure how to update the K matrix at every time step within the ode45 framework.
Thank you for the guidance!I am solving a time-dependent finite element problem with nonlinearities in the stiffness matrix which takes the following form:
where the dot symbolizes derivative with respect to time, U is the displacement vector, M is the mass matrix, C is the damping matrix, K(U) is the stiffness matrix which depends on U, and F is an external force. I would like to use ode45 to solve the dynamic problem. The general flow for solving this problem would be the following:
Calculate the stiffness matrix K using the latest displacement U (Initial condition if it is the first time step).
Formulate the state-space equations using K matrix, M matrix, C matrix, and F vector.
Integrate the state-space equations with ode45 to caclulate the new displacement U.
Recalculate the K matrix with the new displacement U. Check if the residual error meets the preselected tolerance.
If the error is met, update velocities and accelerations, and go to the next time step. If the error is not met, then go back to step 1 using this latest K matrix.
I am familiar with solving this problem without the nonlinearity in K. However, I am unsure how to update the K matrix at every time step within the ode45 framework.
Thank you for the guidance! I am solving a time-dependent finite element problem with nonlinearities in the stiffness matrix which takes the following form:
where the dot symbolizes derivative with respect to time, U is the displacement vector, M is the mass matrix, C is the damping matrix, K(U) is the stiffness matrix which depends on U, and F is an external force. I would like to use ode45 to solve the dynamic problem. The general flow for solving this problem would be the following:
Calculate the stiffness matrix K using the latest displacement U (Initial condition if it is the first time step).
Formulate the state-space equations using K matrix, M matrix, C matrix, and F vector.
Integrate the state-space equations with ode45 to caclulate the new displacement U.
Recalculate the K matrix with the new displacement U. Check if the residual error meets the preselected tolerance.
If the error is met, update velocities and accelerations, and go to the next time step. If the error is not met, then go back to step 1 using this latest K matrix.
I am familiar with solving this problem without the nonlinearity in K. However, I am unsure how to update the K matrix at every time step within the ode45 framework.
Thank you for the guidance! nonlinear-dynamics, ode45 MATLAB Answers — New Questions
Trying to understand the implementation of boundary conditions in this MATLAB code
I am following with the textbook: Lloyd N. Trefethen, Spectral Methods in MATLAB, SIAM and trying to understand a very particular MATLAB code. This problem is shown in program 37 and it considers 2nd order wave equation in 2D with periodic boundary conditions in x and Neumann boundary conditions in y:
and the boundary conditions:
So the code is:
%x variable in [-A,A], Fourier
A=3; Nx=50; dx =2*A/Nx; x= -A+dx*(1:Nx)’;
D2x = (pi/A)^2*toeplitz([-1/(3*(dx/A)^2)-1/6 …
0.5*(-1).^(2:Nx)./sin((pi*dx/A)*(1:Nx-1)/2).^2]);
%y variable in [-1,1], chebyshev:
Ny=15;
[Dy,y] = cheb(Ny);
D2y=Dy^2;
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
%Grid and initial data:
[xx,yy] = meshgrid(x,y);
vv=exp(-8*((xx+1.5).^2 + yy.^2));
dt = 5/(Nx+Ny^2);
vvold = exp(-8*((xx+dt+1.5).^2+yy.^2));
%Time stepping by leap frog forula:
dt = 5/(Nx+Ny^2);clf; plotgap=round(2/dt); dt=2/plotgap;
for n=0:2*plotgap
t=n*dt;
if rem(n+.5,plotgap)<1
subplot(3,1,n/plotgap+1), mesh(xx,yy,vv), view(-10,60)
colormap([0 0 0])
text(-2.5,1,.5,[‘t=’ num2str(t)],’fontsize’,18),,grid off, drawnow
end
vvnew= 2*vv – vvold + dt^2*(vv*D2x+D2y*vv);
vvold = vv; vv = vvnew;
vv([1 Ny+1],:) = BC*vv(2:Ny,:); %Neumann BCs for |y|=1
%first row and last row in vv = BC x
%From Program 33
end
Now, I have a similar problem where I am trying to reproduce the exact BCs for a 2D Poisson’s equation/problem. What I am struggling to understand is this line:
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
I am not sure what is the author doing here so I can reproduce these exact BCs in my code. My understanding is we want to replace the first/last rows of D2 with values of first/last rows of D and set them to zero? Meaning we want to set the values if the first derivative to zero? Is this correct or am I misunderstanding the syntax. Thanks.
The Cheb function:
function [ D, x ] = cheb ( N )
if ( N == 0 )
D = 0.0;
x = 1.0;
return
end
x = cos ( pi * ( 0 : N ) / N )’;
c = [ 2.0; ones(N-1,1); 2.0 ] .* (-1.0).^(0:N)’;
X = repmat ( x, 1, N + 1 );
dX = X – X’;
% Set the off diagonal entries.
D =( c * (1.0 ./ c )’ ) ./ ( dX + ( eye ( N + 1 ) ) );
% Diagonal entries.
D = D – diag ( sum ( D’ ) );
return
endI am following with the textbook: Lloyd N. Trefethen, Spectral Methods in MATLAB, SIAM and trying to understand a very particular MATLAB code. This problem is shown in program 37 and it considers 2nd order wave equation in 2D with periodic boundary conditions in x and Neumann boundary conditions in y:
and the boundary conditions:
So the code is:
%x variable in [-A,A], Fourier
A=3; Nx=50; dx =2*A/Nx; x= -A+dx*(1:Nx)’;
D2x = (pi/A)^2*toeplitz([-1/(3*(dx/A)^2)-1/6 …
0.5*(-1).^(2:Nx)./sin((pi*dx/A)*(1:Nx-1)/2).^2]);
%y variable in [-1,1], chebyshev:
Ny=15;
[Dy,y] = cheb(Ny);
D2y=Dy^2;
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
%Grid and initial data:
[xx,yy] = meshgrid(x,y);
vv=exp(-8*((xx+1.5).^2 + yy.^2));
dt = 5/(Nx+Ny^2);
vvold = exp(-8*((xx+dt+1.5).^2+yy.^2));
%Time stepping by leap frog forula:
dt = 5/(Nx+Ny^2);clf; plotgap=round(2/dt); dt=2/plotgap;
for n=0:2*plotgap
t=n*dt;
if rem(n+.5,plotgap)<1
subplot(3,1,n/plotgap+1), mesh(xx,yy,vv), view(-10,60)
colormap([0 0 0])
text(-2.5,1,.5,[‘t=’ num2str(t)],’fontsize’,18),,grid off, drawnow
end
vvnew= 2*vv – vvold + dt^2*(vv*D2x+D2y*vv);
vvold = vv; vv = vvnew;
vv([1 Ny+1],:) = BC*vv(2:Ny,:); %Neumann BCs for |y|=1
%first row and last row in vv = BC x
%From Program 33
end
Now, I have a similar problem where I am trying to reproduce the exact BCs for a 2D Poisson’s equation/problem. What I am struggling to understand is this line:
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
I am not sure what is the author doing here so I can reproduce these exact BCs in my code. My understanding is we want to replace the first/last rows of D2 with values of first/last rows of D and set them to zero? Meaning we want to set the values if the first derivative to zero? Is this correct or am I misunderstanding the syntax. Thanks.
The Cheb function:
function [ D, x ] = cheb ( N )
if ( N == 0 )
D = 0.0;
x = 1.0;
return
end
x = cos ( pi * ( 0 : N ) / N )’;
c = [ 2.0; ones(N-1,1); 2.0 ] .* (-1.0).^(0:N)’;
X = repmat ( x, 1, N + 1 );
dX = X – X’;
% Set the off diagonal entries.
D =( c * (1.0 ./ c )’ ) ./ ( dX + ( eye ( N + 1 ) ) );
% Diagonal entries.
D = D – diag ( sum ( D’ ) );
return
end I am following with the textbook: Lloyd N. Trefethen, Spectral Methods in MATLAB, SIAM and trying to understand a very particular MATLAB code. This problem is shown in program 37 and it considers 2nd order wave equation in 2D with periodic boundary conditions in x and Neumann boundary conditions in y:
and the boundary conditions:
So the code is:
%x variable in [-A,A], Fourier
A=3; Nx=50; dx =2*A/Nx; x= -A+dx*(1:Nx)’;
D2x = (pi/A)^2*toeplitz([-1/(3*(dx/A)^2)-1/6 …
0.5*(-1).^(2:Nx)./sin((pi*dx/A)*(1:Nx-1)/2).^2]);
%y variable in [-1,1], chebyshev:
Ny=15;
[Dy,y] = cheb(Ny);
D2y=Dy^2;
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
%Grid and initial data:
[xx,yy] = meshgrid(x,y);
vv=exp(-8*((xx+1.5).^2 + yy.^2));
dt = 5/(Nx+Ny^2);
vvold = exp(-8*((xx+dt+1.5).^2+yy.^2));
%Time stepping by leap frog forula:
dt = 5/(Nx+Ny^2);clf; plotgap=round(2/dt); dt=2/plotgap;
for n=0:2*plotgap
t=n*dt;
if rem(n+.5,plotgap)<1
subplot(3,1,n/plotgap+1), mesh(xx,yy,vv), view(-10,60)
colormap([0 0 0])
text(-2.5,1,.5,[‘t=’ num2str(t)],’fontsize’,18),,grid off, drawnow
end
vvnew= 2*vv – vvold + dt^2*(vv*D2x+D2y*vv);
vvold = vv; vv = vvnew;
vv([1 Ny+1],:) = BC*vv(2:Ny,:); %Neumann BCs for |y|=1
%first row and last row in vv = BC x
%From Program 33
end
Now, I have a similar problem where I am trying to reproduce the exact BCs for a 2D Poisson’s equation/problem. What I am struggling to understand is this line:
BC=-Dy([1 Ny+1],[1 Ny+1])Dy([1 Ny+1],2:Ny); %Homogenous Neumann BCs for |y|=1
I am not sure what is the author doing here so I can reproduce these exact BCs in my code. My understanding is we want to replace the first/last rows of D2 with values of first/last rows of D and set them to zero? Meaning we want to set the values if the first derivative to zero? Is this correct or am I misunderstanding the syntax. Thanks.
The Cheb function:
function [ D, x ] = cheb ( N )
if ( N == 0 )
D = 0.0;
x = 1.0;
return
end
x = cos ( pi * ( 0 : N ) / N )’;
c = [ 2.0; ones(N-1,1); 2.0 ] .* (-1.0).^(0:N)’;
X = repmat ( x, 1, N + 1 );
dX = X – X’;
% Set the off diagonal entries.
D =( c * (1.0 ./ c )’ ) ./ ( dX + ( eye ( N + 1 ) ) );
% Diagonal entries.
D = D – diag ( sum ( D’ ) );
return
end neumann MATLAB Answers — New Questions
Write a function called get_distance that accepts two character vector inputs representing the names of two cities. The function returns the distance between them as an output argument called distance. For example, the call get_distance(‘Seattle, WA’
function distance = get_distance(x,y)
[~,~,raw] = xlsread(‘Distances.xlsx’);
col_labels = raw(1,:);
row_labels = raw(:,1);
try
distance = raw{contains(row_labels,y),contains(col_labels,x)};
catch
distance = -1;
end
end
error
Assessment result: incorrectNashville, TN and Las Vegas, NV
Variable distance has an incorrect value.
Assessment result: incorrectRandom city pairs
Variable distance has an incorrect value.
get_distance(‘Chattanooga, TN’,’Meads, KY’) returned -1 which is incorrect.function distance = get_distance(x,y)
[~,~,raw] = xlsread(‘Distances.xlsx’);
col_labels = raw(1,:);
row_labels = raw(:,1);
try
distance = raw{contains(row_labels,y),contains(col_labels,x)};
catch
distance = -1;
end
end
error
Assessment result: incorrectNashville, TN and Las Vegas, NV
Variable distance has an incorrect value.
Assessment result: incorrectRandom city pairs
Variable distance has an incorrect value.
get_distance(‘Chattanooga, TN’,’Meads, KY’) returned -1 which is incorrect. function distance = get_distance(x,y)
[~,~,raw] = xlsread(‘Distances.xlsx’);
col_labels = raw(1,:);
row_labels = raw(:,1);
try
distance = raw{contains(row_labels,y),contains(col_labels,x)};
catch
distance = -1;
end
end
error
Assessment result: incorrectNashville, TN and Las Vegas, NV
Variable distance has an incorrect value.
Assessment result: incorrectRandom city pairs
Variable distance has an incorrect value.
get_distance(‘Chattanooga, TN’,’Meads, KY’) returned -1 which is incorrect. homework, city distance, no more answers please! MATLAB Answers — New Questions
New Outlook user adoption
Hi everyone! Apologies if this has already been posted a million times (I did search!)
We’ve been holding off on making the new outlook available to our users – using GPO settings and InTune configuration policies to disable ‘try the new outlook’ toggle. Since we’ve started upgrading to Win 11 more and more people are getting their hands on it with mixed reviews. Very ‘Marmite’ (either love it or hate it!)
We are now just going to give in and let users switch to the New outlook should they wish to – with some comms about the new features, but also what’s missing and what’s coming soon.
Just wondered if anyone else had done similar? How did it go? What resources and training did you provide? Interested to hear!
Thanks,
Alex
Hi everyone! Apologies if this has already been posted a million times (I did search!) We’ve been holding off on making the new outlook available to our users – using GPO settings and InTune configuration policies to disable ‘try the new outlook’ toggle. Since we’ve started upgrading to Win 11 more and more people are getting their hands on it with mixed reviews. Very ‘Marmite’ (either love it or hate it!) We are now just going to give in and let users switch to the New outlook should they wish to – with some comms about the new features, but also what’s missing and what’s coming soon. Just wondered if anyone else had done similar? How did it go? What resources and training did you provide? Interested to hear! Thanks, Alex Read More
Q.B Pay-roll Update Error 15276: How to Resolve and Get Support
Encountering Q.B Pay_roll Update Error 15276? Ensure your software is up-to-date, check internet connectivity, and run Q.B as an administrator. For expert help,
Encountering Q.B Pay_roll Update Error 15276? Ensure your software is up-to-date, check internet connectivity, and run Q.B as an administrator. For expert help, Read More
Microsoft Forms drop-down
Hello,
I know that it’s possible to make a drop-down list of possible answers, but is there anyway to create a drop-down of questions?
So I have a forms with a list of all possible questions pertaining to a certain topic. I made that specific form/survey my template for all my future forms/survey. Every time I have to send a form/survey, I copy the template and then delete the questions that are not an applicable. I was wondering if there’s anyway or if in the future there would be any way to make a drop list of the questions I want to use?
Hello, I know that it’s possible to make a drop-down list of possible answers, but is there anyway to create a drop-down of questions? So I have a forms with a list of all possible questions pertaining to a certain topic. I made that specific form/survey my template for all my future forms/survey. Every time I have to send a form/survey, I copy the template and then delete the questions that are not an applicable. I was wondering if there’s anyway or if in the future there would be any way to make a drop list of the questions I want to use? Read More
Q-B Errors 181016 and 181021: How to Resolve and Connect to Support
Encountering Q-B Errors 181016 and 181021? Ensure correct user permissions and update Q.B. For expert assistance and resolution?
Encountering Q-B Errors 181016 and 181021? Ensure correct user permissions and update Q.B. For expert assistance and resolution? Read More
Copilot+PC in EU
Copilot in Windows 11 is one of the highlights, but unfortunately it is not available to users in Europe due to the Digital Markets Act (DMA) and Windows being placed on the digital gatekeeper list. Microsoft is working to make changes to make Copilot available in Europe as soon as possible1. However, if you are in Europe, you can unlock Copilot easily. Just download and install Moment 4 Update via Windows Update, then launch Copilot using a special command. Each time you start Windows again, you must use this command again. When it will be available for my pc?
Copilot in Windows 11 is one of the highlights, but unfortunately it is not available to users in Europe due to the Digital Markets Act (DMA) and Windows being placed on the digital gatekeeper list. Microsoft is working to make changes to make Copilot available in Europe as soon as possible1. However, if you are in Europe, you can unlock Copilot easily. Just download and install Moment 4 Update via Windows Update, then launch Copilot using a special command. Each time you start Windows again, you must use this command again. When it will be available for my pc? Read More