Module 2 Integrative Programming and Technologies

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/102

flashcard set

Earn XP

Description and Tags

ma'am salo sequel

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

103 Terms

1
New cards

Confidentiality

Disclose information only to authorized users

2
New cards

Integrity

Ensure that data is not modified without authorization

3
New cards

Availability

Decide who has access to information and how to make access effective

4
New cards

Authentication

Identify a user securely

5
New cards

Authorization

Identify a user securely

6
New cards

Non repudiation

Define a set of allowed actions for authorized users

7
New cards

Threats

  • Stride model

    • Spoofing identity

    • Tampering with data

    • Repudiation

    • Information disclosure

    • Denial of service

    • Elevation of privilege

8
New cards

Mitigating Threats

  • Protection

    • Make successful threats difficult

    • Virtually always possible for attacks to succeed in complex systems if the attacker has enough resources

  • Detection

    • Detect an attack in progress

  • Response

    • Put in place plans for each identified threat type

9
New cards

Spoofing

  • Attacker claims false identity

    • Claim client identity

      • Gain access to sensitive data

      • Run dangerous processes on server

      • Gain administrative priviledges

    • Claim server identity

      • Collect sensitive data from clients

      • Provide false data to clients

  • Protection

    • Strong authentication using cryptography

10
New cards

Tampering with Data

  • Tampering with persistent data

    • Modify password tables

    • Deface web pages

    • Add viruses or Trojan horses to files

    • Modify routing tables, DNS, …

    • Modify audit logs

  • Tampering with network packets

  • Protection

    • Hash codes, digital signatures, encryption

11
New cards

Repudiation

  • Attacker denies an action which is hard to verify

    • Claim didn’t delete file

    • Claim didn’t make purchase

    • Claim didn’t receive services

  • Protection

    • Audit logs

    • Require receipts

    • Digital signatures

12
New cards

Information Disclosure

  • Attacker sees sensitive data

    • Local files

    • Network packets

  • Attacker gets information about system architecture

    • Banners that display software type and version

  • Protection

    • Strong authentication and access control

    • Encrytion of sensitive data

    • Turn off banners, disable tracing and debugging

    • Use terse error messages

13
New cards

Denial of Service

  • Syn flooding

    • Send partial connection requests to overflow server’s list of pending connections

  • Distributed Denial of Service

  • Amplification attacks

    • Send icmp echo requests to broadcast address, spoofing victim’s address

  • Protection

    • Install server patches

    • Block incoming icmp requests

    • Throttle anonymous requests

14
New cards

Elevation of Privilege

  • Gain administrator privilege

    • Buffer overflow attack

      • Overflow designed to overwrite return address of function with address of malicious code.

    • Exploit bugs in operating system

  • Protection

    • Avoid buffer overflows

    • Validate user input

    • Use principle of Least Privilege

      • Grant smallest set of privileges needed to function

    • Patch operating system

15
New cards

Social Engineering and Manipulation

Trick someone into disclosing information, e.g., passwords, credit card ids, SSNs, …

16
New cards

Phreaking

Use fee-based services without payment

17
New cards

Phishing

Acquire sensitive information by luring attacks, usually by email.

18
New cards

Pharming

Redirecting DNS routes to unauthorized sites to get sensitive information.

Your on-line banking redirected to Afghanistan, for example.

19
New cards

False representation

Pretend to be service technician, manager, account owner, …

20
New cards

Inside Job

Employee conspires with attacker to compromise system or information.

21
New cards

PDR

  • Protection

    • topic of this presentation

  • Detection

    • detect attacks

  • Response

    • plan responses for each threat category

      • Call the sysAdmin

      • Call the police

      • Contact the FBI

      • Contact Federal Trade Commission

22
New cards

AAS - .Net Web Model

  • Authentication

    • Accept and validate credentials presented by user

  • Authorization

    • If validated, determine right to access some resource

  • Secure communication

    • Secure the channel

      • SSL, IPsec

    • Secure the data

      • signing, hashing, cryptography

23
New cards

Windows and .Net

  • Role-based

    • Authenticate and authorize users, groups, and accounts (System, Local service, Network service)

    • Actions are authorized through permissions

  • Evidence-based or Code Access Security (CAS)

    • Code is elevated to the security status of a user.

    • Authorization is based on evidence

      • url, zone, publisher, strong name, custom assembly attributes

    • Actions are authorized through policies

24
New cards

SID – Security IDentifier

Data structure used to identify user or group.

25
New cards

Access Token

A data structure that holds a SID for a security principal, the SIDs for each group the principal belongs to, and a list of the principal’s priviledges on the local computer.

26
New cards

Principal

An account holder that is assigned a SID for access to resources, e.g., user, group, service, or computer.

27
New cards

ACL – Access Control List

  • Set of permissions for a specific object or a set of the object’s properties.

  • Discretionary (DACL) and System (SACL) are sub-groups. 

    • A discretionary access control list (DACL) that identifies the users and groups who are allowed or denied access. A system access control list (SACL) that controls how access is audited.

28
New cards

Security Descriptor

A data structure holding information about a protected object, e.g., who can access, in what way, whether audited.

29
New cards

Security Context

Set of rules for a user’s actions on a protected object

Combination of user’s access token and object’s security descriptor

30
New cards

Security Policy

Rules that define the allowable contexts and mandatory groups.

31
New cards

Goals

  • End-user experience

    • Managed apps just run

    • Safe defaults, no run-time decisions needed

32
New cards

Administrator

  • All settings in one place and easy to customize

  • Simple policy model

  • Security administration tools

    • .Net configuration, CASPOL

33
New cards

Developer

  • Focus on application, security comes free

  • Easy to understand and extend when needed

34
New cards

Permissions

  • Objects that represent specific authorized actions

35
New cards

Policies

  • Set of permissions granted to an assembly

36
New cards

Evidence

  • Inputs to policy about code

37
New cards

Permissions for framework resources

  • Data, environment, file IO, Message Queue, reflection, sockets

  • Directory services, event log, web, performance counters, registry, UI

  • DNS, file dialog, isolated storage, printing, security system

38
New cards

Identity permissions

  • Publisher, site, string name, url, zone

39
New cards

User identity permission

  • Only non-code access permission in Framework.

40
New cards

Security

We must protect our computers and data in the same way that we secure the doors to our homes.

41
New cards

Safety

We must behave in ways that protect us against risks and threats that come with technology.

42
New cards

Data Types

A value in JavaScript is always of a certain type. For example, a string or a number.

43
New cards

Number

____ type represents both integer and floating point numbers.

44
New cards

BigInt

In JavaScript, the “number” type cannot represent integer values larger than (253-1) (that’s 9007199254740991), or less than -(-253-1) for negatives. It’s a technical limitation caused by their internal representation.

45
New cards

String

____ string in JavaScript must be surrounded by quotes.

46
New cards

Boolean

____ type has only two values: true and false.

47
New cards

Null

____ value does not belong to any of the types described above.

48
New cards

Undefined

The special value _____ also stands apart. It makes a type of its own, just like null.

49
New cards

Object

All other types are called “primitive” because their values can contain only a single thing (be it a string or a number or whatever). In contrast, ____ are used to store collections of data and more complex entities.

50
New cards

typeof

____ operator returns the type of the argument. It’s useful when we want to process values of different types differently or just want to do a quick check.

51
New cards

JavaScript Operators

Performs some operation on single or multiple operands (data value) and produces a result.

52
New cards

+

Adds two numeric operands.

53
New cards

-

Subtract right operand from left operand

54
New cards

*

Subtract right operand from left operand

55
New cards

/

Divide left operand by right operand.

56
New cards

%

Modulus operator. Returns remainder of two operands.

57
New cards

++

Increment operator. Increase operand value by one.

58
New cards

--

Decrement operator. Decrease value by one.

59
New cards

==

Compares the equality of two operands without considering type.

60
New cards

===

Compares equality of two operands with type.

61
New cards

!=

Compares inequality of two operands.

62
New cards

>

Checks whether left side value is greater than right side value. If yes then returns true otherwise false.

63
New cards

<

Checks whether left operand is less than right operand. If yes then returns true otherwise false.

64
New cards

>=

Checks whether left operand is greater than or equal to right operand. If yes then returns true otherwise false.

65
New cards

<=

Checks whether left operand is less than or equal to right operand. If yes then returns true otherwise false.

66
New cards
67
New cards

&&

is known as AND operator. It checks whether two operands are non-zero (0, false, undefined, null or "" are considered as zero), if yes then returns 1 otherwise 0.

68
New cards

||

is known as OR operator. It checks whether any one of the two operands is non-zero (0, false, undefined, null or "" is considered as zero).

69
New cards

!

is known as NOT operator. It reverses the boolean result of the operand (or condition)

70
New cards

=

Assigns right operand value to left operand.

71
New cards

+=

Sums up left and right operand values and assign the result to the left operand.

72
New cards

-=

Subtract right operand value from left operand value and assign the result to the left operand.

73
New cards

*=

Multiply left and right operand values and assign the result to the left operand.

74
New cards

/=

Divide left operand value by right operand value and assign the result to the left operand.

75
New cards

%=

Get the modulus of left operand divide by right operand and assign resulted modulus to the left operand.

76
New cards

Ternary Operator

? that assigns a value to a variable based on some condition. This is like short form of if-else condition.

77
New cards

if

Use to specify a block of code to be executed, if a specified condition is true

78
New cards

else

Use to specify a block of code to be executed, if the same condition is false

79
New cards

else if

Use to specify a new condition to test, if the first condition is false

80
New cards

switch

Use to specify many alternative blocks of code to be executed

81
New cards

HTML event

can be something the browser does, or something a user does.

82
New cards

onchange

An HTML element has been changed

83
New cards

onclick

The user clicks an HTML element

84
New cards

onmouseover

The user moves the mouse over an HTML element

85
New cards

onmouseout

The user moves the mouse away from an HTML element

86
New cards

onkeydown

The user pushes a keyboard key

87
New cards

onload

The browser has finished loading the page

88
New cards

required

If a form field (fname) is empty, the attribute prevents this form from being submitted:

89
New cards

Data Validation

is the process of ensuring that user input is clean, correct, and useful.

90
New cards

Server side validation

is performed by a web server, after input has been sent to the server.

91
New cards

Client side validation

is performed by a web browser, before input is sent to a web server.

92
New cards

constraint validation

HTML5 introduced a new HTML validation concept called ____ _____

93
New cards

disabled

Specifies that the input element should be disabled

94
New cards

max

Specifies the maximum value of an input element

95
New cards

min

Specifies the minimum value of an input element

96
New cards

pattern

Specifies the value pattern of an input element

97
New cards

required

Specifies that the input field requires an element

98
New cards

type

Specifies the type of an input element

99
New cards

:type

Selects input elements with the "disabled" attribute specified

100
New cards

:invalid

Selects input elements with invalid values