Homework6_Solution (1)
.pdf
keyboard_arrow_up
School
Rutgers University *
*We aren’t endorsed by this school
Course
446
Subject
Computer Science
Date
Jan 9, 2024
Type
Pages
2
Uploaded by dan47433
ECE 446/579:04 (Spring 2023) Homework #6
1.
(
“Hello World” Hardware Security Attacks
) In the lecture we discussed a “hello world” example of hardware security attack
using a 3-input encoder that assigns a 2-bit code.
(1) Please provide a simplified implementation of this encoder.
(2) Please discuss why the simplified implementation is not secure and what types of attacks this system may be subject to.
(3) In your opinion, what are the fundamental reasons that caused these potential security attacks?
(4) Can you please suggest countermeasures that may prevent the potential attacks?
For (1) and (2), please see pages 18 and 19 in Slides 6
(3) is an open question. An example answer can be that the system described by the truth table has the “don’t care” outputs that are not
fully specified, leading to undefined behavior that caused the security issues we discussed.
(4) is an open question. An example answer can be changing the “don’t care” outputs to fully specified ones, such as error codes, to
avoid the undefined behavior.
2. (Hardware Trojan Basics)
What are the two basic components that a typical hardware Trojan consists of? Based on the two
components, please discuss how the attacker might be able to hide the Trojan from regular hardware tests.
(1) trigger; and (2) payload (i.e., malicious circuitry)
Attackers tend to make the trigger very rarely activated (e.g., under a rare event only known by the attackers) to bypass the regular
hardware tests.
3.
(Software vs. Hardware Trojans)
Please compare and discuss the difficulties with detecting software Trojans vs. hardware
Trojans. In your opinion, what may be the possible methods to overcome the difficulties/challenges you listed for hardware Trojan
detection?
Comparing to software, the detection of hardware Trojans is significantly more challenging, as hardware is hard to inspect, contains
huge process variation, and has no “golden model” available for the security check.
Ways to overcome the challenges: open question. Example answers can be the three hardware Trojan detection mechanisms we
discussed in Pages 27-29 of Slides 6 or other hardware Trojan defense mechanisms discussed in the literature (each of them may not
address all the challenges but probably only a subset of them).
4. (Passive & Proactive Defenses against Hardware Trojans)
In the lecture we discussed passive and proactive approaches to
defend against hardware Trojan attacks. Please provide 1 or 2 examples for each approach.
Passive: power/timing based side channel analysis.
Proactive: design for trust.
5. (Side Channel-based Hardware Trojan Detection)
Side channel analysis (SCA) has been a very popular hardware Trojan
detection approach discussed in the community. Please answer the following questions about SCA for hardware Trojan detection.
(1) Please provide a few examples about what side channels may be used to detect hardware Trojans and their pros & cons.
(2) What is the motivation of using SCA to detect hardware Trojan? What are the advantages & disadvantages of SCA-based
approaches compared to other possible approaches?
(1) The most popular ones are power and delay. There are also other side channels that may be leveraged, such as electromagnetic
field (EMF).
(2) The motivation of using SCA is that the physical inspection on hardware is very expensive and thus cannot scale well. SCA could
address this challenge by enabling a faster monitoring mechanism.
(Pros & Cons are open questions for discussions depending on the specific side channels or other approaches under discussion. For
example, they may have different resource requirements and difficulty of measurements.)
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
Related Questions
ADDRESS CODES
arrow_forward
x = 4 and x = 8
****
and 3X is
a two digit
number, consider memory storage of a 64-bit word stored at
memory word 3X in
a byte-addressable memory
(a) What is the byte address of memory word 3X?
(b) What are the byte addresses that memory word 3X spans?
(c) Draw the number 0XF1234567890ABCDE stored at word 3X in
both big-endian
and little-endian machines. Clearly label the byte address
corresponding to each
data byte value
arrow_forward
By assuming that X is the last digit of your student number and 3X is a two digitnumber, consider memory storage of a 64-bit word stored at memory word 3X ina byte-addressable memory(a) What is the byte address of memory word 3X?(b) What are the byte addresses that memory word 3X spans?(c) Draw the number 0xF1234567890ABCDE stored at word 3X in both big-endianand little-endian machines. Clearly label the byte address corresponding to eachdata byte value.
arrow_forward
Please refer to this textbook: “A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Principles,”7th Edition, John Wiley & Sons Inc., 2006.”
And answer the following questions:
Question12:
Which disk schedualing algorithm is most vulnerable to starvation
(a) SCAN. (b) Shortest Seek Time First (SSTF). (c) LOOK. (d) First Come, First Served (FCFS)
arrow_forward
By assuming that X is the last digit of your student number and 3X is a two digit
number, consider memory storage of a 64-bit word stored at memory word 3X in
a byte-addressable memory
(a) What is the byte address of memory word 3X?
(b) What are the byte addresses that memory word 3X spans?
(c) Draw the number 0XF1234567890ABCDE stored at word 3X in both big-endian
and little-endian machines. Clearly label the byte address corresponding to each
data byte value.
arrow_forward
Addressing Memory
Suppose that there are 226 bytes in memory.
In binary the lowest address is 00...00, and the highest address is 11...11.
a. What is the lowest address (in decimal) if memory is byte addressable?
b. What is the highest address (in decimal) if memory is byte addressable?
c. Suppose that a word is 16-bits long. What is the lowest address (in decimal) if memory is word addressable?
d. Suppose that a word is 16-bits long. What is the highest address (in decimal) if memory is word addressable?
e. Suppose that a word is 32-bits long. What is the lowest address (in decimal) if memory is word addressable?
f. Suppose that a word is 32-bits long. What is the highest address (in decimal) if memory is word addressable?
arrow_forward
Please refer to this textbook: “A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Principles,”7th Edition, John Wiley & Sons Inc., 2006.”
And answer the following questions:
Question:
Which mutual exclusion algorithm requires, on average, the fewest messages in a group of 100 machines?
centralized.
Token-ring.
Lamport' s .
Ricart & Agrawala
arrow_forward
Suppose a computer using direct mapped cache has 224 bytes of byte-
addressable main memory and a cache size of 64K bytes, and each cache block contains 32
bytes. (Note: 64K = 26 * 210)
a) How many blocks of main memory are there?
b) What is the format of a memory address as seen by cache, i.e., what are the sizes of the
tag, block, and offset fields?
arrow_forward
Generate three address code for the given expression. Also provide different data structure representation of three address code.
((x+y) *(z-y)) / (y/x)
arrow_forward
An address space is specified by 24-bits and the corresponding memory space by 16-bits.
(i) How many words are there in the address space?
(ii) How many words are there in the memory space?
arrow_forward
Describe the dirty read problem and its implications.
arrow_forward
None
arrow_forward
Features of Memory
Consider the following array of memory cells (our logisim cells included the AND gate attached to the WE input in the cell subcircuit, but this is not relevant here).
WE
A
1100101011111110
1010111110101101
1010110110101101
1011111010101110
Fill in the correct output values (either 1 or 0) for the specified input values.
a)
What is the addressability (in bits) of this array?
b)
What is the address space of this array?
c)
What is hex(with an x)adecimal value with address 01?
arrow_forward
Don't reject if you did not have knowledge.
Assembly language.
On sim8085 simulator
arrow_forward
Part A
For each byte sequence listed, determine the Y86 instruction
sequence it encodes. If there is some invalid byte in the sequence,
show the instruction sequence up to that point and indicate where the
invalid value occurs. For each sequence, the starting address, then a
colon, and then the byte sequence are shown.
0x100: 30f3fcfffff40630008000000000000
0x100: 30f3fcfffffff
irmovq $-4,%rbx
Ox10a: 40630008000000000000 |
rrmovq %rsi,0×80A(%rcx)
O0x115: 00
halt
Ox100: 30f3fcffffffff
irmovq $-4,%rbx
Ox10a: 40630008000000000000 |
rmmovq %rsi,0x800(%rbx)
Ox114: 00
halt
0x100: 30f3fcfffffffff
rrmovq $-8,%rbx
Ox109: 40630008000000000000 |
rmmovq %rsi,0x800(%rbx)
0x200: a06f800c020000000000000030f30a00000000000000
0x113: 00
halt
0x100: 30f3fcffffffffff
irmovq $-4,%rbx
0x200: a06f
pushq %rsi
0x10a: 40630008000000000000 |
rmmovq %rsi,0x800(%rbx)
Ox202: 800c02000000000000
call proc
Ox116: 00
halt
0x20b: 00
halt
0x20c:
proc:
Submit
Request Answer
0x20c: 30f30a00000000000000 |
irmovq $10,%rbx…
arrow_forward
Network computer
arrow_forward
#4
arrow_forward
Solve all please
Q1) Give a short answer (Choose five branches):
a) What is the meaning of the data encryption in communication system?
b) Convert the Boolean expression to the standard SOP form: WXY + WXY
c) What is the role of actuator in control system?
d) What is mean by the transducer?
e) The voltage resolutions of 8 bits A/D converter depend on? /
f) What is the type of PLD's using minimum number of gates to implement Boolean
expression?
arrow_forward
Matlab:Please write the codes, I do not want a manual solution
arrow_forward
If memory is 16-way interleaved, it means that memory is implemented using four banks (because 2 = 16).TRUE or FALSE. If false why.
arrow_forward
NAND2TETRIS HARDWARE SIMULATOR
HiLoMux - This has one 8-bit input bus, in, and one 4-bit output bus, out. Alsopresent is a sel input, which is used to select what appears on out. Ifsel is false, then out should contain the lower 4-bits of in (i.e. in[0],in[1], in[2], in[3]). If sel is true, then out should contain theupper 4-bits of in (i.e. in[4] mapped to out[0], in[5], mapped toout[1], etc.). In other words, the HiLoMux can be used to select anibble from a byte
please use the skeleton program below
CHIP HiLoMux{ IN in[8], sel; OUT out[4];
PARTS:
}
arrow_forward
Explain Principle, Merits and Demerits of MALDI-TOF ? please answer at your own easy words. Answer should be to the point.
arrow_forward
SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Related Questions
- ADDRESS CODESarrow_forwardx = 4 and x = 8 **** and 3X is a two digit number, consider memory storage of a 64-bit word stored at memory word 3X in a byte-addressable memory (a) What is the byte address of memory word 3X? (b) What are the byte addresses that memory word 3X spans? (c) Draw the number 0XF1234567890ABCDE stored at word 3X in both big-endian and little-endian machines. Clearly label the byte address corresponding to each data byte valuearrow_forwardBy assuming that X is the last digit of your student number and 3X is a two digitnumber, consider memory storage of a 64-bit word stored at memory word 3X ina byte-addressable memory(a) What is the byte address of memory word 3X?(b) What are the byte addresses that memory word 3X spans?(c) Draw the number 0xF1234567890ABCDE stored at word 3X in both big-endianand little-endian machines. Clearly label the byte address corresponding to eachdata byte value.arrow_forward
- Please refer to this textbook: “A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Principles,”7th Edition, John Wiley & Sons Inc., 2006.” And answer the following questions: Question12: Which disk schedualing algorithm is most vulnerable to starvation (a) SCAN. (b) Shortest Seek Time First (SSTF). (c) LOOK. (d) First Come, First Served (FCFS)arrow_forwardBy assuming that X is the last digit of your student number and 3X is a two digit number, consider memory storage of a 64-bit word stored at memory word 3X in a byte-addressable memory (a) What is the byte address of memory word 3X? (b) What are the byte addresses that memory word 3X spans? (c) Draw the number 0XF1234567890ABCDE stored at word 3X in both big-endian and little-endian machines. Clearly label the byte address corresponding to each data byte value.arrow_forwardAddressing Memory Suppose that there are 226 bytes in memory. In binary the lowest address is 00...00, and the highest address is 11...11. a. What is the lowest address (in decimal) if memory is byte addressable? b. What is the highest address (in decimal) if memory is byte addressable? c. Suppose that a word is 16-bits long. What is the lowest address (in decimal) if memory is word addressable? d. Suppose that a word is 16-bits long. What is the highest address (in decimal) if memory is word addressable? e. Suppose that a word is 32-bits long. What is the lowest address (in decimal) if memory is word addressable? f. Suppose that a word is 32-bits long. What is the highest address (in decimal) if memory is word addressable?arrow_forward
- Please refer to this textbook: “A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Principles,”7th Edition, John Wiley & Sons Inc., 2006.” And answer the following questions: Question: Which mutual exclusion algorithm requires, on average, the fewest messages in a group of 100 machines? centralized. Token-ring. Lamport' s . Ricart & Agrawalaarrow_forwardSuppose a computer using direct mapped cache has 224 bytes of byte- addressable main memory and a cache size of 64K bytes, and each cache block contains 32 bytes. (Note: 64K = 26 * 210) a) How many blocks of main memory are there? b) What is the format of a memory address as seen by cache, i.e., what are the sizes of the tag, block, and offset fields?arrow_forwardGenerate three address code for the given expression. Also provide different data structure representation of three address code. ((x+y) *(z-y)) / (y/x)arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning