Câu hỏi: IAM302 Phân tích mã độc và kỹ thuật dịch ngược – Bộ ôn tập cuối kỳ 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 đề. Trang 2/3 — câu 21–40.
Danh sách câu hỏi
40/50 câuCòn 10
AIt does not help in decrypting the malware code
BIt provides information about the malware author
CIt assists in identifying the malware's behavior and origin
DIt determines the file's size
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It assists in identifying the malware's behavior and origin". Packer (trình đóng gói) nén hoặc mã hoá mã gốc và gắn một đoạn stub tự giải nén khi chạy, nên phân tích tĩnh chỉ thấy lớp vỏ. Nhận diện packer (UPX, ASPack, Themida…) bằng PEiD hay Detect It Easy cho biết cách gỡ vỏ (unpack) để lộ mã thật, chuỗi và bảng import thật, từ đó hiểu hành vi; packer tự chế đặc trưng còn là manh mối gắn mẫu với một họ mã độc hay nhóm phát triển, giúp truy nguồn gốc. "It does not help in decrypting the malware code" sai vì biết loại packer chính là bước đầu để giải nén, giải mã mã độc. "It provides information about the malware author" quá mức vì packer phổ biến được rất nhiều người dùng chung, chỉ cho manh mối gián tiếp chứ không chỉ ra tác giả. "It determines the file's size" sai vì kích thước tệp đo trực tiếp được, không cần biết packer.
AAnalyzing network traffic
BIdentifying packers and compilers used in executable files
CDecrypting encrypted files
DDebugging malware code
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Identifying packers and compilers used in executable files". PEiD là công cụ phân tích tĩnh đọc tệp PE và so phần mã quanh điểm vào (entry point) với cơ sở chữ ký để báo tệp được biên dịch bằng trình gì như Visual C++ hay Delphi, hoặc bị đóng gói bằng packer nào như UPX hay ASPack. Biết có packer thì nhà phân tích hiểu vì sao chuỗi và bảng import gần như trống, và phải giải nén (unpack) trước khi đọc mã. "Analyzing network traffic" là việc của Wireshark. "Decrypting encrypted files" sai vì PEiD chỉ nhận diện, không giải mã hay giải nén gì. "Debugging malware code" là việc của trình gỡ lỗi như OllyDbg hay x64dbg; PEiD không chạy mẫu và không điều khiển việc thực thi.
AOpening suspicious email attachments
BInstalling antivirus software
CRegularly updating operating systems
DUsing strong passwords
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Opening suspicious email attachments". Tệp đính kèm thư điện tử là đường lây nhiễm (infection vector) rất phổ biến: kẻ tấn công gửi thư lừa đảo (phishing) kèm tài liệu Office chứa macro, tệp nén chứa tệp thực thi hay tệp lối tắt .lnk; nạn nhân mở ra là mã độc được thả và chạy với quyền của người dùng. Đây là dạng tấn công phi kỹ thuật (social engineering) dựa vào chính hành động của con người. Bác: "Installing antivirus software" là biện pháp phòng vệ giúp phát hiện mã độc, không phải cách lây nhiễm. "Regularly updating operating systems" vá các lỗ hổng mà exploit hay lợi dụng, nên làm giảm khả năng nhiễm. "Using strong passwords" chống đoán mật khẩu và tấn công vét cạn, là thói quen bảo mật chứ không phải đường lây của mã độc.
24What is a key characteristic of malware?4 lựa chọn
AIt always requires user permission to execute
BIt never interacts with the operating system
CIt spreads and infects other systems
DIt cannot be detected by forensic tools
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It spreads and infects other systems". Mã độc là phần mềm được viết để gây hại, và một đặc điểm điển hình được nêu là khả năng lan truyền, lây nhiễm sang máy khác như virus bám vào tệp hay worm tự nhân bản qua mạng; không phải mẫu nào cũng tự lây (trojan cần người dùng chạy), nhưng trong bốn phát biểu đây là đặc điểm duy nhất đúng. "It always requires user permission to execute" sai vì worm và mã khai thác lỗ hổng tự chạy không cần người dùng đồng ý, chữ "always" khiến phát biểu sai. "It never interacts with the operating system" sai vì mã độc liên tục gọi API Windows, ghi registry, tạo tiến trình để hoạt động và bám trụ. "It cannot be detected by forensic tools" sai vì công cụ điều tra như Volatility, Autoruns hay phân tích đĩa vẫn tìm ra dấu vết, dù mã độc có cố ẩn.
ADocumenting every step of the analysis process is unnecessary
BDetailed documentation helps in reproducing results and sharing findings
CDocumentation is primarily useful for academic research purposes
DKeeping analysis methods secret is more important than documentation
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Detailed documentation helps in reproducing results and sharing findings". Phân tích mã độc là chuỗi bước dài: băm mẫu, phân tích tĩnh, chạy trong sandbox, gỡ lỗi; ghi chép chi tiết từng bước, công cụ, phiên bản và cấu hình máy lab giúp người khác hoặc chính mình sau này lặp lại và kiểm chứng kết quả, đồng thời là nguồn để viết báo cáo và rút chỉ dấu xâm nhập (IOC) chia sẻ cho đội phản ứng sự cố. "Documenting every step of the analysis process is unnecessary" ngược hẳn với thực tiễn, vì thiếu ghi chép thì kết luận không kiểm lại được. "Documentation is primarily useful for academic research purposes" sai vì tài liệu phục vụ trực tiếp vận hành: phản ứng sự cố, viết luật phát hiện, làm bằng chứng pháp lý. "Keeping analysis methods secret is more important than documentation" sai vì giữ kín thông tin nhạy cảm vẫn cần tài liệu, chỉ là giới hạn người được đọc.
AConnecting it to a production environment
BEnsuring it's isolated and inexpensive
CUsing only open-source tools
DRunning malware in an unsecured network
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Ensuring it's isolated and inexpensive". Phòng phân tích mã độc phải được cô lập (isolated) khỏi mạng thật: mẫu chạy trong máy ảo VMware hay VirtualBox với mạng host-only hoặc mạng nội bộ giả lập dịch vụ (INetSim, FakeNet), có snapshot để quay về trạng thái sạch, nhờ vậy mã độc không lây sang hệ thống thật hay gửi dữ liệu ra ngoài. Đồng thời lab nên rẻ (inexpensive): máy ảo và công cụ miễn phí cho phép dựng, phá rồi dựng lại nhiều lần mà không tốn kém. Bác: "Connecting it to a production environment" ngược với nguyên tắc cô lập, mẫu có thể lây sang máy đang vận hành. "Using only open-source tools" không bắt buộc; nhiều công cụ quen thuộc như IDA Pro hay VMware là phần mềm thương mại, điều quan trọng là chức năng chứ không phải giấy phép. "Running malware in an unsecured network" khiến mã độc lây lan hoặc liên lạc được với máy chủ điều khiển, trái hẳn mục tiêu an toàn của lab.
AIdentifying the source of malware
BDeveloping antivirus software
CUnderstanding malware behavior
DCreating new types of malware
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Creating new types of malware". Câu hỏi tìm thứ KHÔNG phải mục tiêu: phân tích mã độc nhằm hiểu cách mẫu hoạt động để phát hiện, ngăn chặn và khắc phục hậu quả, còn tạo ra mã độc mới đi ngược mục đích phòng thủ và vi phạm đạo đức, pháp luật, nên đây là đáp án. "Identifying the source of malware" là mục tiêu thật: lần theo địa chỉ máy chủ điều khiển (C2), dấu vết trình biên dịch, ngôn ngữ trong chuỗi để quy kết nguồn gốc. "Developing antivirus software" là mục tiêu thật vì kết quả phân tích sinh ra chữ ký, luật YARA và dấu hiệu nhận diện (IOC) cho phần mềm diệt virus. "Understanding malware behavior" là mục tiêu cốt lõi, trả lời mẫu làm gì, bám trụ ra sao và liên lạc với ai, nên cũng không được chọn.
28Which type of Malware Analysis method involves examining network traffic to understand malware behavior?4 lựa chọn
AStatic analysis
BDynamic analysis
CHybrid analysis
DLogical signature detection
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Dynamic analysis". Phân tích động (dynamic analysis) là chạy mẫu trong môi trường cô lập rồi quan sát hành vi thật: tiến trình tạo ra, tệp và registry bị sửa, và lưu lượng mạng nó phát đi như truy vấn DNS hay kết nối tới máy chủ điều khiển; lưu lượng chỉ xuất hiện khi mẫu chạy nên đây là kỹ thuật động. "Static analysis" xem xét mẫu khi không chạy: băm, chuỗi, header PE, mã tháo; nó có thể thấy URL viết cứng trong chuỗi nhưng không thấy lưu lượng thực. "Hybrid analysis" kết hợp cả hai và cũng có quan sát mạng, nhưng phần quan sát lưu lượng trong đó vẫn là thành phần động, nên tên đúng cho phương pháp được hỏi là phân tích động. "Logical signature detection" là kiểu luật phát hiện ghép nhiều điều kiện, như chữ ký logic của ClamAV, không phải phương pháp quan sát hành vi.
29Cuckoo Sandbox is a type of malware.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Cuckoo Sandbox là hệ thống phân tích mã độc tự động mã nguồn mở: nó đưa mẫu vào máy ảo khách, chạy mẫu, ghi lại lời gọi API, thao tác tệp, registry, lưu lượng mạng, ảnh chụp màn hình và ảnh bộ nhớ, rồi tổng hợp thành báo cáo hành vi. Nó là công cụ của người phân tích để quan sát mã độc trong môi trường cách ly, không có hành vi phá hoại, tự lây hay đánh cắp dữ liệu như một mã độc. Vì vậy phát biểu coi Cuckoo là một loại mã độc là sai; chọn "True" là nhầm giữa công cụ phân tích và đối tượng bị phân tích. Một số mã độc còn chủ động dò dấu vết của Cuckoo như tác tử chạy trong máy khách hay tên máy đặc trưng để né tránh, chính vì Cuckoo đứng về phía người phòng thủ.
30What is the purpose of the sandbox?4 lựa chọn
ATo stop all BYOD network traffic
BTo flag and pass the known exploit to the endpoint to handle
CTo observe the activity of unknown code in a quarantined environment
DTo run vulnerability scans on all network endpoints
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To observe the activity of unknown code in a quarantined environment". Sandbox (hộp cát) là môi trường cách ly, thường là máy ảo có giám sát, nơi mã chưa biết được cho chạy để ghi lại hành vi như tệp tạo ra, khoá registry sửa đổi, tiến trình sinh thêm và kết nối mạng, mà không ảnh hưởng tới hệ thống thật; kết quả giúp kết luận mẫu có độc hay không. "To stop all BYOD network traffic" là việc của chính sách kiểm soát truy cập mạng (NAC), không phải sandbox. "To flag and pass the known exploit to the endpoint to handle" ngược mục đích: mối nguy đã biết thì chặn ngay bằng chữ ký, sandbox dành cho mã chưa biết và không đẩy mối nguy xuống máy trạm. "To run vulnerability scans on all network endpoints" là việc của trình quét lỗ hổng như Nessus, không liên quan tới việc chạy thử mã.
AFile metadata summary
BPCAP file
CProcess dump
DScreenshot log
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "PCAP file". Mẫu có kết nối ra ngoài đáng ngờ thì thứ cần nhất là bản ghi gói tin: tệp PCAP do sandbox bắt lại lưu từng gói kèm địa chỉ, cổng, giao thức và nội dung, mở bằng Wireshark để xem mẫu truy vấn tên miền nào, gọi IP nào, gửi dữ liệu gì, từ đó rút IOC mạng và viết luật cho hệ thống phát hiện xâm nhập. "File metadata summary" chỉ tóm tắt băm, kích thước, kiểu tệp, hữu ích ở bước phân loại nhưng không nói gì về kết nối. "Process dump" là kết xuất bộ nhớ tiến trình, hợp khi cần lấy mã đã giải nén hay chuỗi đã giải mã; nó có thể chứa địa chỉ máy chủ nhưng không cho thấy cuộc trao đổi thực tế. "Screenshot log" ghi lại màn hình, hợp với mã độc hiện cửa sổ hay đòi tiền chuộc, không chứa lưu lượng mạng.
32What is a limitation of sandbox technology?4 lựa chọn
AIt is ineffective against known malware
BIt cannot analyze executable files
CIt requires significant computational resources
DIt may fail to detect advanced malware that is specifically designed to evade sandbox detection
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It may fail to detect advanced malware that is specifically designed to evade sandbox detection". Hộp cát (sandbox) phát hiện mã độc bằng cách quan sát hành vi khi chạy, nên điểm yếu cố hữu là mã độc biết mình đang bị quan sát: nó dò dấu hiệu máy ảo (tiến trình VMware Tools, địa chỉ MAC, khoá registry), kiểm tra chuột có di chuyển không, ngủ (sleep) lâu hơn thời gian phân tích, hoặc chỉ kích hoạt vào ngày giờ nhất định, rồi giữ im lặng để sandbox kết luận nó vô hại. Bác: "It is ineffective against known malware" sai, mẫu đã biết vẫn bộc lộ hành vi trong sandbox và thường còn bị chặn sớm bằng chữ ký. "It cannot analyze executable files" sai vì tệp thực thi chính là loại mẫu sandbox xử lý nhiều nhất, bên cạnh tài liệu và script. "It requires significant computational resources" có phần đúng khi triển khai quy mô lớn, vì mỗi mẫu cần một máy ảo chạy vài phút, nhưng đó là chi phí vận hành; giới hạn cốt lõi về khả năng phát hiện mà câu hỏi nhắm tới là bị né tránh.
AMonitoring network activity
BIdentifying malware interaction with the registry
CPreventing all malware execution
DAnalyzing file system modifications
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Preventing all malware execution". Câu hỏi tìm thứ KHÔNG phải chức năng: phân tích sandbox cố ý cho mã độc chạy trong môi trường cách ly để quan sát, nếu ngăn mọi thực thi thì không còn gì để phân tích; chặn thực thi là việc của phần mềm diệt virus hay danh sách cho phép ứng dụng, nên đây là đáp án. "Monitoring network activity" là chức năng thật: sandbox ghi truy vấn DNS, yêu cầu HTTP, kết nối tới máy chủ điều khiển. "Identifying malware interaction with the registry" là chức năng thật: sandbox ghi khoá bị tạo hoặc sửa, như khoá Run để tự khởi động. "Analyzing file system modifications" cũng là chức năng thật: sandbox liệt kê tệp được thả ra, xoá đi hay bị mã hoá, giúp nhận diện dropper và ransomware.
AHandle
B\\
C\\?\
D\\.\
EADS
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "\\?\". Trong Windows, đường dẫn thông thường bị giới hạn MAX_PATH 260 ký tự; tiền tố \\?\ thuộc không gian tên tệp Win32 (Win32 file namespace) báo cho API tệp bỏ qua bước chuẩn hoá đường dẫn và chuyển thẳng xuống hệ thống tệp, nhờ đó cho phép đường dẫn dài tới khoảng 32.767 ký tự; mã độc cũng lợi dụng nó để tạo tệp có tên đặc biệt mà Explorer khó xoá. "\\" là tiền tố đường dẫn UNC trỏ tới thư mục chia sẻ trên máy khác như \\server\share, không nới giới hạn độ dài. "\\.\" là không gian tên thiết bị Win32 (Win32 device namespace), dùng mở thẳng thiết bị như \\.\PhysicalDrive0, không phải để đặt tên tệp dài. "Handle" là số tham chiếu tới đối tượng nhân mà hệ điều hành cấp khi mở tệp, không phải tiền tố đường dẫn. "ADS" là Alternate Data Stream, luồng dữ liệu phụ của NTFS dùng để giấu dữ liệu theo cú pháp tệp:luồng, không liên quan tới độ dài tên.
AIt executes faster than compiled languages like C++
BIt reduces code size significantly compared to C++ or Java
CIt is restricted to Windows platforms only
DIt lacks support for object-oriented programming
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It reduces code size significantly compared to C++ or Java". Python có cú pháp gọn, kiểu động, thư viện chuẩn và thư viện bên thứ ba phong phú như pefile, yara-python, capstone, nên cùng một việc như đọc tiêu đề PE hay giải mã chuỗi được viết bằng ít dòng hơn hẳn so với C++ hay Java; nhờ vậy người phân tích viết nhanh script tự động hoá và sửa ngay khi gặp mẫu mới. Bác: "It executes faster than compiled languages like C++" sai, Python được thông dịch nên thường chạy chậm hơn mã C++ đã biên dịch; lợi thế của nó là tốc độ viết chứ không phải tốc độ chạy. "It is restricted to Windows platforms only" sai vì Python chạy đa nền tảng trên Windows, Linux và macOS, đó cũng là lý do các công cụ như Volatility dùng được ở mọi nơi. "It lacks support for object-oriented programming" sai vì Python hỗ trợ đầy đủ lớp, kế thừa và đa hình.
36What advantage does using VirtualBox disk images (VDIs) provide over physical snapshots?4 lựa chọn
AIt ensures stronger isolation from the host system
BIt reduces the need for network routing
CIt eliminates the need for forensic tools
DIt allows multiple reversible snapshots for experimentation
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It allows multiple reversible snapshots for experimentation". VirtualBox lưu đĩa máy ảo dưới dạng tệp VDI và hỗ trợ cây snapshot: nhà phân tích chụp trạng thái sạch, chạy mẫu, quan sát rồi quay về trong vài giây, lại có thể giữ nhiều snapshot ở các giai đoạn khác nhau để thử nhiều kịch bản và so sánh, trong khi máy vật lý phải tạo và khôi phục ảnh đĩa rất tốn thời gian. "It ensures stronger isolation from the host system" sai vì sự cách ly đến từ lớp ảo hoá chứ không từ định dạng đĩa, và máy vật lý riêng thực ra còn cách ly tốt hơn do mã độc có thể phát hiện hoặc thoát khỏi máy ảo. "It reduces the need for network routing" không liên quan, vẫn phải cấu hình mạng host-only hay mạng nội bộ. "It eliminates the need for forensic tools" sai vì vẫn cần Process Monitor, Wireshark, Regshot để quan sát.
AAntivirus
BHashes
CStrings
DFunctions
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Strings". Kỹ thuật strings quét tệp nhị phân và in ra mọi dãy ký tự in được, ASCII hoặc Unicode, dài từ một ngưỡng trở lên, thường là 4 ký tự; công cụ strings của Sysinternals hay lệnh strings trên Linux làm việc này. Đây là bước phân tích tĩnh rẻ nhất mà cho nhiều manh mối: URL, IP, tên miền, khoá registry, tên hàm API, thông báo lỗi. "Antivirus" quét tệp theo chữ ký để kết luận có độc hay không, không liệt kê văn bản đọc được. "Hashes" như MD5 hay SHA-256 tạo một dấu vân tay cố định của tệp để nhận diện và tra cứu, không trích nội dung nào. "Functions" là các hàm trong mã, xem được qua bảng import hoặc trình tháo mã như IDA, chứ không phải kỹ thuật tìm văn bản đọc được.
38Mov eax,[ebx]. What does this instruction do?4 lựa chọn
APuts the literal string "ebx" into eax
BPuts the contents of memory pointed to by ebx into eax
CPuts the contents of eax into ebx
DPuts the contents of ebx into eax
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Puts the contents of memory pointed to by ebx into eax". Trong cú pháp Intel, lệnh mov đích, nguồn chép giá trị từ toán hạng nguồn sang toán hạng đích, còn dấu ngoặc vuông nghĩa là truy cập bộ nhớ gián tiếp: [ebx] là ô nhớ có địa chỉ bằng giá trị đang nằm trong ebx. Vì vậy mov eax,[ebx] đọc 4 byte tại địa chỉ mà ebx trỏ tới rồi nạp vào eax, giống phép giải tham chiếu con trỏ trong C. Bác: "Puts the literal string "ebx" into eax" sai vì ebx là tên thanh ghi, hợp ngữ không coi nó là chuỗi ký tự. "Puts the contents of eax into ebx" đảo ngược chiều chép: toán hạng đầu là đích nên eax nhận dữ liệu chứ không gửi đi. "Puts the contents of ebx into eax" là tác dụng của lệnh mov eax, ebx không có ngoặc vuông, chép chính giá trị địa chỉ chứ không đọc ô nhớ mà nó trỏ tới.
ASoftware execution breakpoint
BHardware execution breakpoint
CConditional breakpoint
DNone of the mentioned
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Hardware execution breakpoint". Kiến trúc x86 có các thanh ghi gỡ lỗi (debug registers): DR0 tới DR3 chứa địa chỉ điểm dừng, DR7 bật tắt và đặt điều kiện kích hoạt (thực thi, ghi, đọc hoặc ghi), DR6 cho biết điểm nào vừa kích hoạt; CPU tự so địa chỉ nên breakpoint phần cứng không sửa byte mã nào và tối đa chỉ có bốn cái, rất hữu ích khi mã độc tự kiểm tra tính toàn vẹn của mã. "Software execution breakpoint" hoạt động bằng cách ghi đè byte đầu lệnh bằng 0xCC (lệnh INT 3), không dùng thanh ghi DR. "Conditional breakpoint" là breakpoint kèm biểu thức điều kiện do debugger đánh giá mỗi lần chạm, thường xây trên breakpoint phần mềm. "None of the mentioned" sai vì đã có loại dùng thanh ghi DR trong danh sách.
40Which debugger feature allows analysts to view and modify the contents of registers and memory?4 lựa chọn
ABreakpoints
BStepping through code
CMemory dump
DWatchpoints
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Memory dump". Cần nói thẳng: không phương án nào gọi đúng tên cửa sổ thanh ghi và cửa sổ bộ nhớ của trình gỡ lỗi, nên đây là lựa chọn gần nhất chứ không phải thuật ngữ chuẩn. Trong OllyDbg hay x64dbg, khung kết xuất bộ nhớ (memory dump, khung Dump) hiển thị nội dung từng byte của một vùng nhớ và cho phép sửa trực tiếp, nằm cạnh khung thanh ghi cũng sửa được giá trị; vì vậy đây là tính năng duy nhất trong số được nêu thực sự cho xem và đổi dữ liệu. "Breakpoints" chỉ dừng chương trình tại một địa chỉ để quan sát, bản thân nó không hiển thị hay sửa gì. "Stepping through code" chỉ cho chạy từng lệnh một rồi dừng, là cách điều khiển luồng thực thi. "Watchpoints" chỉ báo khi giá trị tại một địa chỉ thay đổi hoặc bị truy cập, tức là theo dõi chứ không phải sửa.