Question

In: Operations Management

Your organization’s app has been found to have stack overflow vulnerability. Search in NVD to make...

Your organization’s app has been found to have stack overflow vulnerability. Search in NVD to make a list of actions you will take immediately and overtime to mitigate and prevent such occurrences in future? Describe at least three design and project management measures.

Solutions

Expert Solution

Stack overflow, as the name suggests it is a type of vulnerability related to data overflow. Say when we enter data into the data structure, if the data entered is more that the capacity of the data structure then the data overflows to adjacent memory locations and this might cause the application to crash. It is one form of denial of service (DoS) attack. This is one of the oldest vulnerabilities, this is common when we use languages like C or C++ which uses pointers.

We know that stack is a basic data structure, in which the data is stored in the Last in first out fashion. The stack uses the push operation to insert data to the stack, where the data is added to the top and the pop operation to remove the item from the stock, where the data is removed from the top. Stack segment is used as temporary storage to store local function variable when the function is call. Stack overflow is concerned with this stack segment. In x86 Architecture stack grows from high memory address to low memory address.

This issue is exploited by the attackers by overwriting the memory of the application. That will later change the execution path and will trigger responses that might damage the files or exposes private information. We can detect buffer overflow if we pay attention to where the stacks are being used or accessed. Also, there would be functionalities in the application where the application takes in input from the user or some source. If we are able to detect the stack-based overflow there are possibilities of preventing it.

An attacker can act in various ways:

• Intentionally feed input that the buffer cannot store and overwrite areas that hold executable code, replacing it with their own malicious code.

• Change the execution path of a program to trigger a response that may expose private information.

• Introduce extra code to gain access to IT systems.

• Overwrite a pointer to gain control over the program.

To prevent stack overflow:

One can protect against stack overflow vulnerability by taking some security measures in their code or they can use a different programming language which offers some kind of in-built protection to the application, but that is not suggestable always , in such cases we can use secure practices for handling This study resource was shared via the memory. Defense methods are provided by the operating systems in the form of ASLR, nonexecutable stacks, DEP, and using other structures. There are three common protection methods that can be used:

Data execution prevention:

This method flags a certain area of the memory as an executable or non-executable memory, which will stop an attack from the running code.

Address space randomization: ASR randomly moves around the address space locations of the data region. The overflow attacks will need to know the locality of the code that’s being executed and randomizing the address space will make that impossible to find.

Structured exception handler overwrite protection:

This method helps stop the malicious code from attacking the structured exception handling, it is an inbuilt system that manages the hardware and software exceptions. That is how it prevents the attacker from being able to make use of the structured exception handler overwrite exploitation technique.


Related Solutions

Write a testing program (not sort.c from task 2) that contains a stack buffer overflow vulnerability....
Write a testing program (not sort.c from task 2) that contains a stack buffer overflow vulnerability. Show what the stack layout looks like and explain how to exploit it. In particular, please include in your diagram: (1) The order of parameters (if applicable), return address, saved registers (if applicable), and local variable(s), (2) their sizes in bytes, (3) size of the overflowing buffer to reach return address, and (4) the overflow direction in the stack (5) What locations within the...
Windows vulnerability that has been exploited widely, such as the SQL Injection, Buffer Overflow. a) What...
Windows vulnerability that has been exploited widely, such as the SQL Injection, Buffer Overflow. a) What windows vulnerability in SQL Injection is and explain with references? b) What windows vulnerability in Buffer Overflow is and explain with references? c) What the weakness windows was and how it was exploited? d) What was the impact to society and economy?
Implement a stack in C++ using an array, not an array list. Make your stack size...
Implement a stack in C++ using an array, not an array list. Make your stack size 5 when you test it, but do not hardcode this! You should be able to change the size for testing purposes with the change of one variable. DO NOT use Stack class defined in C++ Implement the following methods in your stack class. stack() creates an empty stacks, stack s is new and empty. push(item) adds a new item to the stack s, stacks...
Search the Internet and find a Python app you think is interesting. Your choice. 1. Tell...
Search the Internet and find a Python app you think is interesting. Your choice. 1. Tell me where you found the code you start with (yes, feel free to start with existing code). You can put this in the testing document. 2. Add some functionality. Significant functionality. 3. Add comments - I know how much you all enjoy comments, so there will be a lot of points here. Tell me how to use the program, and what you added. 4....
An unknown metal has been found and the following experimental results have been tabulated in the...
An unknown metal has been found and the following experimental results have been tabulated in the table below. The table contains the grams of the unknown metal and the volume in milliliters of water displacement. Find a linear model that express mass as a function of the volume. Round your answers to 3 decimal places grams Volume in ml 20 226.8 21.5 241.4 23 258.2 24.5 277.8 26 297.8 27.5 305.6 29 328.9 Answer: Volume = ? x+ ? (...
1. A new virus of lobster has been found, and you have been told that they...
1. A new virus of lobster has been found, and you have been told that they suspect it is a herpesviruses. Which of these would NOT be expected if it really is a herpesviruses? A. It is a naked virus B. It has a double stranded DNA genome C. It has icosahedral capsids D. It has a large DNA genome 2. A woman comes in for a prenatal check up and casually mentions she brought her three year old with...
An unknown metal has been found and the following experimental results have been tabulated in the...
An unknown metal has been found and the following experimental results have been tabulated in the table below. The table contains the grams of the unknown metal and the volume in milliliters of water displacement. Find a linear model that expresses mass as a function of the volume. grams Volume in ml 14 161.9 16.5 189 19 215.5 21.5 248.7 24 272.2 26.5 303.5 29 335.4 A) Write the linear regression equation for the data in the chart. Volume =...
An unknown metal has been found and the following experimental results have been tabulated in the...
An unknown metal has been found and the following experimental results have been tabulated in the table below. The table contains the grams of the unknown metal and the volume in milliliters of water displacement. Find a linear model that express mass as a function of the volume. Round your answers to 3 decimal places grams Volume in ml 13 144.5 14.5 162.8 16 183.3 17.5 202.4 19 211.2 20.5 227.8 22 247 Volume =_________ x+___________  where x is the grams...
A soil sample has been submitted to the lab for analysis and found to have a...
A soil sample has been submitted to the lab for analysis and found to have a total weight of 52 lbs, a total volume of 0.40 ft3, Weight of solids of 46 lbs and a specific gravity of 2.76. What is the void ratio? Prepare a phase diagram as well
You are provided with a StackInterface to implement your stack, make sure to implement the data...
You are provided with a StackInterface to implement your stack, make sure to implement the data structure using java.util.ArrayList and naming your implementation ArrayListStack (make sure to use generics like you have been for the data structures so far). The provided StackTester assumes you name your implementation that way. Note that you have also been provided a PalindromeTester with the specific isPalindrome() method you are required to implement, following the approach above. The method should take whitespace, case-sensitivity, digits, and...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT