1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Nataly_w [17]
3 years ago
13

Consider the following general code for allowing access to a resource:

Computers and Technology
1 answer:
Margaret [11]3 years ago
6 0

Answer:

a) The code allows access even when  IsAccessAllowed(...) method fails.

b) Either use If

(dwRet = ACCESS_ALLOWED)

or use

if (dwRet == NO_ERROR)

to avoid flaw

Explanation:

Lets first see what the code chunk does:

DWORD dwRet = IsAccessAllowed(...);

if (dwRet == ERROR_ACCESS_DENIED) {

// Security check failed.

// Inform user that access is denied.

} else {

// Security check OK.

}

In the given code, DWORD is basically a data type for double word type integers and this is defined in windows.h

So there is DWORD type variable dwRet that is assigned a method calls.

The method is IsAccessAllowed() which checks if the access is allowed to user.

if (dwRet == ERROR_ACCESS_DENIED) condition basically checks if the value of DWORD type variable dwRet is equal to ERROR_ACCESS_DENIED

If this condition evaluates to true then the security checks fails and user is informed via some message or action that the access is denied.  But when the if condition evaluates to false then the else part executes which allows access.

So basically this chunk of code checks if the error ERROR_ACCESS_DENIED is returned.

Now the flaw in this program is what if the method IsAccessAllowed() by any reason. The reasons can be system failure or the memory failure. In memory failure case for example, the system returns out of memory error. So this means that the error is not  ERROR_ACCESS_DENIED. Instead it is out of memory error. So in such a case the user is allowed access as the if condition evaluates to false and else part executes. So if any other error is produced due to some reason like mentioned above, then user has unrestricted access.

This shows that the doe should not check for the failure or rely on checking ERROR_ACCESS_DENIED to allow access but instead it should check for success. Code should only give access privilege if access is allowed successfully or no error is produced.

So to avoid this flaw the code is altered as:

DWORD dwRet = IsAccessAllowed(...);

If (dwRet = ACCESS_ALLOWED) {

//Security check OK.

} else {

//Security check failed.

//Inform user that access is denied.

}

This will only allow access if ACCESS_ALLOWED evaluates to true and success is checked instead of failure here

You can also alter the if condition as:

If (dwRet = No_Error)

or

If (dwRet = 0)

The above if conditions checks if the access is allowed or if no error is produced. Only then it will allowed access otherwise not. So the access check is a success is checked first and failure (for any reason). The user is allowed access only if there is no error otherwise user is not allowed access.

You might be interested in
Write a function named wordLineCount with the following input and output: Input: a string parameter, inFile, that is the name of
Galina-37 [17]

Answer:

def wordLineCount(file):

   dic = {}

   with open(file,'r') as file:

       

       text = file.read()

       text = text.strip().split()

       for word in text:

           if word in dic:

               dic[word] += 1

           else:

               dic[word] = 1

   return dic

print(wordLineCount('ben.txt'))

Explanation:

The programming language used is python.

The program starts by defining the function, an empty dictionary is created to hold the words and the number of times that they occur. the with key word is used to open the file, this allows the file to close automatically as soon as the operation on it is finished.

The data in the file is read to a variable text, it is striped from all punctuation and converted to a list of words.

A FOR loop and an if statement is used to iterate through every word in the list and checking if they are already in the dictionary. if the word is already contained in the dictionary, the number of occurrences increases by one. otherwise, it is added to the dictionary.

check the attachment to see code in action.

6 0
4 years ago
Point out the wrong statement :
hoa [83]

Answer:

d. None of the mentioned

Explanation:

Cloud computing can be defined as a type of computing that requires shared computing resources such as cloud storage (data storage), servers, computer power, and software over the internet rather than local servers and hard drives.

Generally, cloud computing offers individuals and businesses a fast, effective and efficient way of providing services.

Cloud computing comprises of three (3) service models and these are;

1. Platform as a Service (PaaS).

2. Infrastructure as a Service (IaaS).

3. Software as a Service (SaaS).

All of the following statements are true and correct because they are standard internet protocols;

I. Virtual appliances are becoming a very important standard cloud computing deployment object. This depicts the Platform as a Service (PaaS).

II. Cloud computing requires some standard protocols.

III. Cloud computing relies on a set of protocols needed to manage interprocess communications.

8 0
3 years ago
2.1 Changes in which factors could cause aggregate demand to shift from AD to AD1? What could happen to the unemployment rate? W
katrin [286]

Answer:

There are many factors that cause aggregate demand to shift from AD to AD1. The unemployment rate will fall and inflation will increase.

<u>Explanation:</u>

A Shift in aggregate demand from AD to AD1 means there has been a  fall in demand. Various factors that cause demand to decrease are:

  1. Increase in price of a good itself
  2. Increase in the price of complimentary goods-This will lead to a fall in demand. Like ink and pen are complementary goods. if the Price of ink increases then demand for pen will decrease.
  3. A Decrease in the price of substitute goods-Like tea and coffee.
  4. Expectation regarding future fall in price

So due to the decrease in demand finally the unemployment will increase and with that, the inflation rate will increase making  things dearer.

3 0
4 years ago
Host A sends two UDP segments to Server S, one to port 1234 and the other to port 2345. Host B sends one UDP segment to Server S
SOVA2 [1]

Answer:

A

Explanation:

8 0
3 years ago
What did major networks do to combat audience erosion in the 1990s?
S_A_V [24]

Answer: I think is 3. They acquired cable channels. They acquired cable operators.

Explanation:

6 0
4 years ago
Other questions:
  • Is microsoft word the same as microsoft office?
    12·2 answers
  • ______is a multimodal application software platform. the centrealized and shared database system ties the entire organization to
    14·1 answer
  • Why did the Wright brothers construct their own wind tunnel?
    11·1 answer
  • An attacker compromises the Washington Post's web server and proceeds to modify the homepage slightly by inserting a 1x1 pixel i
    12·1 answer
  • 1. The first popular animated feature film was 1937’s Snow White and the Seven Dwarfs. (1 point)
    8·1 answer
  • In the Mouse Properties window, you can?
    8·1 answer
  • Video-sharing sites such as youtube and vimeo provide a place to post short videos called clips, true or false?
    10·1 answer
  • Network footprinting is used to ______________________. Group of answer choices test for vulnerabilities determine what services
    12·1 answer
  • In dos operating system ,write a command to delete the directory as well as the files of the directory ''world'' on drive E.
    15·1 answer
  • The point of (18 ,0) lies on​
    15·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!