Danh sách câu hỏi của đề

Câu hỏi: IAM302 Phân tích mã độc và kỹ thuật dịch ngược – Bộ ôn tập thi lại số 1

50 câu trắc nghiệm kèm lời giải của môn IAM302 - Phân tích mã độc và kỹ thuật dịch ngược, xếp đúng thứ tự trong đề.

Danh sách câu hỏi

20/50 câuCòn 30
AMalware that slows down computer performance
BMalware that steals sensitive information
CMalware that encrypts files and demands payment for decryption
DMalware that deletes files and folders without user consent
Lời giải
Đáp án đúng: "Malware that encrypts files and demands payment for decryption". Ransomware (mã độc tống tiền) mã hoá tệp của nạn nhân bằng khoá do kẻ tấn công nắm giữ, thường dùng mã hoá đối xứng như AES cho tệp và mã hoá bất đối xứng RSA để bọc khoá, rồi để lại thông điệp đòi tiền chuộc, thường bằng tiền mã hoá, đổi lấy khoá giải mã; WannaCry là ví dụ nổi tiếng. "Malware that slows down computer performance" chỉ là triệu chứng chung của nhiều loại như mã độc đào tiền ảo hay adware, không định nghĩa ransomware. "Malware that steals sensitive information" mô tả spyware hay infostealer; ransomware hiện đại có thể lấy cắp dữ liệu để tống tiền kép, nhưng đặc trưng vẫn là mã hoá đòi tiền. "Malware that deletes files and folders without user consent" mô tả wiper, loại phá huỷ dữ liệu mà không đòi tiền chuộc.
Mở trang câu hỏi này →
ATo create a backdoor for future access
BTo infect other computers via network propagation
CTo hide the presence of other malicious software
DTo extract sensitive financial information
Lời giải
Đáp án đúng: "To hide the presence of other malicious software". Rootkit (bộ công cụ chiếm quyền và che giấu) can thiệp vào hệ điều hành, ví dụ móc (hook) các hàm liệt kê tiến trình, tệp, khoá registry hoặc sửa cấu trúc nhân, để giấu tiến trình, tệp và kết nối của mã độc khỏi người dùng và phần mềm bảo mật; chức năng định nghĩa nó là tàng hình. "To create a backdoor for future access" là việc của backdoor; rootkit thường đi kèm và che chở cho backdoor, nhưng cửa hậu không phải chức năng cốt lõi của nó. "To infect other computers via network propagation" là đặc trưng của worm, loại tự lây qua mạng. "To extract sensitive financial information" là mục tiêu của spyware hay banking trojan; rootkit có thể giấu chúng nhưng tự nó không đánh cắp dữ liệu.
Mở trang câu hỏi này →
3What is a Trojan horse?4 lựa chọn
AMalware that replicates itself and spreads to other computers
BMalware that encrypts files and demands ransom for decryption
CMalware that disguises itself as legitimate software to trick users
DMalware that spreads through email attachments
Lời giải
Đáp án đúng: "Malware that disguises itself as legitimate software to trick users". Trojan horse (ngựa thành Troy) là mã độc giả làm phần mềm hợp lệ, như bản bẻ khoá, trình cài đặt hay tiện ích miễn phí, để người dùng tự tay chạy nó; bên trong nó làm việc ẩn như mở cửa hậu, đánh cắp thông tin hay tải thêm mã độc. Điểm định danh của Trojan là sự lừa dối, và nó không tự nhân bản. Bác: "Malware that replicates itself and spreads to other computers" là định nghĩa của worm (sâu) hay virus, những loại tự lây. "Malware that encrypts files and demands ransom for decryption" là ransomware (mã độc tống tiền); ransomware có thể được phát tán dưới dạng Trojan nhưng mã hoá đòi tiền không phải đặc điểm định nghĩa Trojan. "Malware that spreads through email attachments" chỉ mô tả một con đường lây mà nhiều loại mã độc dùng chung, không định nghĩa loại cụ thể nào.
Mở trang câu hỏi này →
ASpreading spam
BGaining administrative access
CDemanding payment for decryption
DDownloading another payload
Lời giải
Đáp án đúng: "Demanding payment for decryption". Khi phân loại mã độc theo mục đích, ransomware thuộc nhóm tống tiền: việc mã hoá tệp chỉ là phương tiện để giữ dữ liệu làm con tin, mục tiêu cuối cùng là buộc nạn nhân trả tiền chuộc để nhận khoá giải mã, nên dấu hiệu tệp quan trọng bị mã hoá chỉ thẳng tới mục đích này. "Spreading spam" là mục đích của spambot hay botnet gửi thư rác, không cần mã hoá tệp người dùng. "Gaining administrative access" là mục tiêu của mã leo thang đặc quyền, backdoor hay rootkit; ransomware có thể leo quyền để mã hoá được nhiều tệp hơn, nhưng đó là bước trung gian chứ không phải mục đích. "Downloading another payload" là mục đích của downloader, loại chỉ tải thêm mã độc khác về máy.
Mở trang câu hỏi này →
AUses social engineering only
BAutomatically deletes user data
CSends spam emails
DEncrypts user files and demands payment
Lời giải
Đáp án đúng: "Encrypts user files and demands payment". Cryptoviral extortion (tống tiền bằng virus mật mã) là dạng ransomware dùng mật mã thật: nó mã hoá tệp của nạn nhân, thường bằng khoá đối xứng sinh ngẫu nhiên rồi bọc khoá đó bằng khoá công khai của kẻ tấn công, nên không có khoá riêng thì không giải được; sau đó đòi tiền chuộc để đổi lấy khoá. Dạng đơn giản hơn chỉ khoá màn hình hoặc doạ nạt mà không động tới dữ liệu. "Uses social engineering only" mô tả ransomware khoá màn hình hay scareware, chính là loại đơn giản mà câu hỏi đem ra so sánh. "Automatically deletes user data" là hành vi của wiper phá huỷ dữ liệu, không giữ dữ liệu lại để đòi tiền. "Sends spam emails" là hoạt động của bot thư rác, có thể là kênh phát tán ransomware nhưng không phải điểm phân biệt.
Mở trang câu hỏi này →
6How does ClamAV classify malware?4 lựa chọn
ABased on its size
BBased on its age
CBased on its behavior
DBased on its color
Lời giải
Đáp án đúng: "Based on its behavior". Cần nói thẳng: ClamAV thực chất nhận diện mã độc bằng chữ ký (signature), tức so tệp với giá trị băm, chuỗi byte và chữ ký logic trong cơ sở dữ liệu, chứ không chạy mẫu để theo dõi hành vi động như sandbox. Tuy vậy, tên mỗi chữ ký được đặt theo nền tảng và loại mã độc, ví dụ dạng Win.Trojan.Agent, nên kết quả phân loại mà ClamAV trả về phản ánh nhóm hành vi của mẫu như Trojan, Worm, Ransomware; hiểu theo nghĩa đó, "Based on its behavior" là phương án duy nhất có nghĩa. Bác: "Based on its size" không phải tiêu chí phân loại, kích thước tệp chỉ là một trường phụ trong chữ ký băm để thu hẹp việc so khớp. "Based on its age" vô nghĩa, tuổi hay thời điểm xuất hiện của mẫu không quyết định nó thuộc loại gì. "Based on its color" cũng vô nghĩa vì tệp thực thi không có thuộc tính màu sắc.
Mở trang câu hỏi này →
ADLL
BProcess
CMutex
DServices
EComponent Object Model (COM)
Lời giải
Đáp án đúng: "Mutex". Mutex (mutual exclusion, đối tượng loại trừ lẫn nhau) có thể mang tên toàn cục trong hệ thống; mã độc gọi CreateMutex hoặc OpenMutex với một tên cố định, nếu đối tượng đã tồn tại (GetLastError trả ERROR_ALREADY_EXISTS) thì biết đã có một bản đang chạy và thoát, tránh lây chồng gây lỗi lộ liễu. Tên mutex vì thế thành dấu hiệu nhận diện (IOC) tìm được bằng Process Explorer hay lệnh handles của Volatility. "DLL" là thư viện mã dùng chung, không đánh dấu một thể hiện đang chạy. "Process" có thể kiểm tra theo tên tiến trình nhưng kém tin cậy vì tên dễ trùng hoặc đổi, và không phải đối tượng được mở để đồng bộ. "Services" dùng để bám trụ chạy nền. "Component Object Model (COM)" là cơ chế gọi đối tượng giữa các tiến trình, mã độc dùng để điều khiển ứng dụng khác chứ không để kiểm tra mình đang chạy.
Mở trang câu hỏi này →
ABroken link
BCode to be executed if the result was zero
CCode to be executed if the result was not zero
DJust a decoration
Lời giải
Đáp án đúng: "Code to be executed if the result was not zero". Trong chế độ đồ thị (graph view) của IDA Pro, sau một lệnh nhảy có điều kiện có hai mũi tên: xanh lá chỉ nhánh khi lệnh nhảy được thực hiện, đỏ chỉ nhánh khi không nhảy và chạy tiếp lệnh kế. JZ (jump if zero) nhảy khi cờ ZF bật, tức kết quả của phép so sánh hay phép tính ngay trước bằng 0; vậy mũi tên đỏ dẫn tới mã chạy khi kết quả khác 0. Có bản đáp án lưu hành chọn "Broken link", nhưng không theo được vì IDA không dùng màu đỏ để báo liên kết hỏng; nhầm lẫn có thể đến từ cửa sổ mũi tên ở lề trái của chế độ văn bản, nơi mũi tên đỏ mang nghĩa khác là đích nhảy nằm ngoài hàm hiện tại, vẫn không phải liên kết hỏng. "Code to be executed if the result was zero" là nhánh của mũi tên xanh lá. "Just a decoration" sai vì màu mũi tên mang thông tin về luồng điều khiển.
Mở trang câu hỏi này →
AJava
BPython
CC++
DJavaScript
Lời giải
Đáp án đúng: "Python". Python là ngôn ngữ thông dịch, cú pháp gọn, chạy đa nền tảng và có hệ sinh thái thư viện chuyên cho phân tích mã độc: pefile đọc cấu trúc PE, yara-python chạy luật YARA, capstone dịch ngược mã máy, Volatility phân tích bộ nhớ; IDA, Ghidra và x64dbg đều cho viết script bằng Python. Nhờ vậy người phân tích tự động hoá nhanh các việc như giải mã chuỗi hay trích cấu hình của mẫu. Bác: "Java" chạy đa nền tảng nhưng dài dòng hơn, ít được chọn để viết công cụ phân tích nhanh. "C++" dùng để viết công cụ cần tốc độ hay plugin mức thấp, và người phân tích cần đọc hiểu nó vì nhiều mã độc viết bằng C++, nhưng nó không tiện cho script viết nhanh. "JavaScript" chủ yếu gặp khi phân tích mã độc trên web hay tệp script độc hại, không phải ngôn ngữ đa dụng cho công cụ phân tích.
Mở trang câu hỏi này →
AEvery object in Python doesn't have a unique id
BIn Python Id function returns the identity of the object
CNone of the mentioned
DAll of the mentioned
Lời giải
Đáp án đúng: "In Python Id function returns the identity of the object". Hàm id() trả về một số nguyên là định danh (identity) của đối tượng, bảo đảm duy nhất và không đổi trong suốt vòng đời đối tượng; trong CPython con số này chính là địa chỉ bộ nhớ của đối tượng, và toán tử is thực chất so sánh hai định danh đó, ví dụ a is b đúng khi id(a) == id(b). "Every object in Python doesn't have a unique id" sai vì mọi đối tượng đang tồn tại đều có định danh riêng; chỉ hai đối tượng không cùng sống một lúc mới có thể dùng lại cùng giá trị id. "None of the mentioned" sai vì đã có một phát biểu đúng về id() trong danh sách. "All of the mentioned" sai vì danh sách chứa phát biểu sai về tính duy nhất của id, nên không thể đúng tất cả.
Mở trang câu hỏi này →
AAnalyze network traffic
BView a map of memory allocations and sections
CMonitor system performance
DDecrypt encrypted malware payloads
Lời giải
Đáp án đúng: "View a map of memory allocations and sections". Cửa sổ Memory Map của OllyDbg (Alt+M) liệt kê mọi vùng nhớ trong không gian địa chỉ của tiến trình đang gỡ lỗi: địa chỉ, kích thước, module sở hữu, tên section như .text, .data, .rsrc và quyền đọc, ghi, thực thi. Nhờ đó nhà phân tích thấy DLL nạp ở đâu, phát hiện vùng mới cấp phát có quyền thực thi do packer bung ra, rồi kết xuất vùng đó. "Analyze network traffic" là việc của Wireshark hay FakeNet, không phải của trình gỡ lỗi. "Monitor system performance" là việc của Task Manager hay Performance Monitor. "Decrypt encrypted malware payloads" sai vì Memory Map chỉ hiển thị bố cục bộ nhớ; việc giải mã do chính mẫu làm khi chạy, nhà phân tích chỉ quan sát kết quả.
Mở trang câu hỏi này →
ARemoving all malware traces from the system
BGenerating a detailed report of findings
CRestoring the system to a previous state
DEncrypting sensitive data found in the memory dump
Lời giải
Đáp án đúng: "Generating a detailed report of findings". Quy trình pháp chứng bộ nhớ đi từ thu nhận ảnh RAM, phân tích bằng Volatility (tiến trình, DLL, kết nối, mã tiêm), rồi kết thúc bằng lập báo cáo: ghi lại phát hiện, bằng chứng, chỉ dấu xâm nhập IOC, dòng thời gian và cách tái lập kết quả để đội ứng cứu và bên pháp lý sử dụng. Báo cáo là đầu ra có giá trị của toàn bộ cuộc điều tra. Bác: "Removing all malware traces from the system" là việc khắc phục (remediation) của đội ứng cứu, nằm ngoài pháp chứng, và nếu làm trước khi điều tra xong còn huỷ mất bằng chứng. "Restoring the system to a previous state" cũng là bước khôi phục hệ thống, không thuộc phân tích ảnh bộ nhớ. "Encrypting sensitive data found in the memory dump" có thể là biện pháp bảo vệ bằng chứng khi lưu trữ, nhưng không phải trọng tâm của giai đoạn cuối.
Mở trang câu hỏi này →
ARunning antivirus scans
BAnalyzing the contents of the dump using specialized tools
CRebooting the system
DChecking system logs
Lời giải
Đáp án đúng: "Analyzing the contents of the dump using specialized tools". Điều tra bộ nhớ đi theo hai bước: thu bộ nhớ (acquisition) rồi phân tích; sau khi có tệp dump, nhà phân tích dùng công cụ chuyên dụng như Volatility để xác định phiên bản hệ điều hành, liệt kê tiến trình bằng pslist và psscan, xem kết nối mạng bằng netscan, tìm vùng mã bị tiêm bằng malfind và trích tệp thực thi ra khỏi bộ nhớ. "Running antivirus scans" chỉ so chữ ký trên chuỗi byte, không dựng lại được cấu trúc nhân hay danh sách tiến trình trong dump, nên không thay thế được phân tích. "Rebooting the system" không phải bước điều tra, khởi động lại còn xoá sạch trạng thái RAM còn lại và có thể kích hoạt cơ chế bám trụ của mã độc. "Checking system logs" là nguồn bổ sung thuộc điều tra đĩa, không phải bước kế tiếp xử lý bản dump.
Mở trang câu hỏi này →
AA measure of system instability caused by malware
BA forensic analysis tool used to investigate network traffic
CA framework for analyzing memory dumps of compromised systems
DA method for encrypting sensitive data stored in RAM
Lời giải
Đáp án đúng: "A framework for analyzing memory dumps of compromised systems". Volatility là framework mã nguồn mở viết bằng Python để phân tích ảnh chụp RAM (memory dump) của Windows, Linux và macOS: nó dựng lại cấu trúc nhân để liệt kê tiến trình, luồng, DLL, handle, kết nối mạng, khoá registry còn trong bộ nhớ và phát hiện mã bị tiêm qua các plugin như pslist, netscan, malfind. "A measure of system instability caused by malware" là nghĩa đời thường của từ volatility (tính biến động); trong pháp chứng, dữ liệu dễ mất là RAM, nhưng tên công cụ không phải một thước đo. "A forensic analysis tool used to investigate network traffic" sai vì phân tích gói tin thuộc Wireshark; Volatility chỉ thấy các kết nối còn lưu trong bộ nhớ. "A method for encrypting sensitive data stored in RAM" sai vì Volatility đọc và phân tích, không mã hoá gì.
Mở trang câu hỏi này →
ARecovering deleted files from storage devices
BAnalyzing network traffic for security threats
CExtracting information from volatile memory of a system
DDecrypting encrypted files on disk
Lời giải
Đáp án đúng: "Extracting information from volatile memory of a system". Pháp chứng bộ nhớ nhắm vào RAM, dữ liệu dễ bay hơi chỉ tồn tại khi máy đang chạy: danh sách tiến trình kể cả tiến trình bị rootkit ẩn, DLL đã nạp, mã được tiêm, kết nối mạng, khoá mã hoá, lệnh đã gõ. Nhiều mã độc không để lại tệp trên đĩa (fileless) hoặc chỉ giải nén payload trong bộ nhớ, nên đây là nơi duy nhất thấy được chúng. Bác: "Recovering deleted files from storage devices" là pháp chứng đĩa, làm việc trên ổ cứng. "Analyzing network traffic for security threats" thuộc pháp chứng mạng hay hệ thống phát hiện xâm nhập, dựa trên gói tin bắt được. "Decrypting encrypted files on disk" là giải mã dữ liệu lưu trữ; khoá tìm được trong RAM có thể giúp việc này nhưng nó không phải mục tiêu chính của pháp chứng bộ nhớ.
Mở trang câu hỏi này →
ADecrypting encrypted malware payloads
BGenerating antivirus signatures
CAnalyzing and modifying the import table of malware executables
DMonitoring system logs
Lời giải
Đáp án đúng: "Analyzing and modifying the import table of malware executables". LordPE là trình soạn thảo PE (PE editor) kiêm công cụ dump tiến trình: nó cho xem và sửa header, bảng section, thư mục dữ liệu và bảng import của tệp thực thi; trong quy trình gỡ vỏ thủ công, nhà phân tích dump mẫu đã tự giải nén khỏi bộ nhớ rồi dùng LordPE cùng ImpREC để dựng lại bảng import và sửa entry point cho tệp chạy được và phân tích tĩnh được. "Decrypting encrypted malware payloads" sai vì LordPE không có chức năng giải mã, việc đó làm bằng debugger hoặc script viết riêng. "Generating antivirus signatures" là việc của các công cụ như YARA hay sigtool của ClamAV. "Monitoring system logs" là việc của Event Viewer hay hệ thống SIEM, không liên quan tới cấu trúc PE.
Mở trang câu hỏi này →
ARunning outdated antivirus software
BIgnoring system logs
CConducting regular malware scans
DDisabling firewall protection
Lời giải
Đáp án đúng: "Conducting regular malware scans". Quét mã độc định kỳ bằng phần mềm diệt virus hay EDR luôn được cập nhật là biện pháp phát hiện cơ bản: so tệp và tiến trình với chữ ký đã biết và luật hành vi, bắt được cả mẫu đã lọt vào từ trước mà lúc đó chưa bị nhận diện, khi cơ sở chữ ký được bổ sung. "Running outdated antivirus software" làm giảm khả năng phát hiện vì thiếu chữ ký cho mẫu mới. "Ignoring system logs" ngược với thực tiễn; nhật ký sự kiện là nguồn để phát hiện đăng nhập lạ, dịch vụ mới cài, tiến trình bất thường. "Disabling firewall protection" làm mất một lớp phòng vệ và mất nhật ký kết nối có thể làm lộ lưu lượng ra máy chủ điều khiển, nên vừa không giúp phát hiện vừa tăng rủi ro.
Mở trang câu hỏi này →
ABy analyzing the file's header
BBy scanning the file for known packer signatures
CBy decrypting the file's contents
DBy executing the file in a sandbox environment
Lời giải
Đáp án đúng: "By scanning the file for known packer signatures". PEiD là công cụ phân tích tĩnh: nó đọc tệp PE và so chuỗi byte, đặc biệt tại điểm vào (entry point), với cơ sở chữ ký trong tệp userdb.txt chứa mẫu byte đặc trưng của các packer và trình biên dịch như UPX, ASPack, Themida; khớp mẫu nào thì báo tên packer đó. Bác: "By analyzing the file's header" chỉ đúng một phần: PEiD có đọc tiêu đề PE để tìm entry point và hiện thông tin section, nhưng kết luận tên packer dựa vào so chữ ký chứ không chỉ đọc header. "By decrypting the file's contents" sai vì PEiD không giải nén hay giải mã; gỡ packer cần unpacker hoặc debugger. "By executing the file in a sandbox environment" là phân tích động, trong khi PEiD không bao giờ chạy tệp.
Mở trang câu hỏi này →
AIt decrypts encrypted files
BIt identifies the network traffic generated by malware
CIt helps in analyzing system changes and artifacts left by malware
DIt monitors CPU usage during malware execution
Lời giải
Đáp án đúng: "It helps in analyzing system changes and artifacts left by malware". RegRipper là công cụ đọc ngoại tuyến các tệp hive registry như SYSTEM, SOFTWARE, NTUSER.DAT bằng hệ thống plugin, trích ra các khoá Run, dịch vụ mới cài, UserAssist, ShimCache, tức những dấu vết (artifacts) cho thấy mã độc đã bám trụ và đã được thực thi, giúp dựng lại tác động của nó lên hệ thống. "It decrypts encrypted files" sai vì RegRipper chỉ phân tích registry, không giải mã tệp. "It identifies the network traffic generated by malware" là việc của Wireshark; registry chỉ lưu vài dấu vết mạng như danh sách mạng đã kết nối, không ghi lưu lượng. "It monitors CPU usage during malware execution" sai vì RegRipper làm việc trên tệp hive tĩnh sau sự cố, không theo dõi thời gian thực.
Mở trang câu hỏi này →
ASet a breakpoint after the decryption routine executes
BStep-over all function calls in the debugger
CSet a breakpoint before the decryption routine starts
DAnalyze the binary using a disassembler without execution
Lời giải
Đáp án đúng: "Set a breakpoint after the decryption routine executes". Mẫu chỉ giải mã chuỗi lúc chạy, nên chuỗi rõ (plaintext) chỉ tồn tại trong bộ nhớ sau khi hàm giải mã trả về. Đặt breakpoint ngay sau lệnh call tới hàm giải mã; khi dừng, nhìn thanh ghi trả về (thường là EAX) hoặc vùng đệm đích trong khung dump là đọc được chuỗi đã giải. "Set a breakpoint before the decryption routine starts" dừng quá sớm: bộ đệm khi đó vẫn chứa dữ liệu mã hoá; cách này chỉ hữu ích để xem tham số như khoá giải mã. "Step-over all function calls in the debugger" tốn công và dễ lướt qua chỗ cần xem, không phải cách hiệu quả nhất. "Analyze the binary using a disassembler without execution" là phân tích tĩnh, chỉ thấy chuỗi đã mã hoá; muốn ra chuỗi rõ phải tự dịch ngược thuật toán giải mã, tốn công hơn nhiều.
Mở trang câu hỏi này →