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ố 2
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
ADetection
BReverse Engineering
CEradication
DNetwork Installation
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Network Installation". Câu hỏi tìm thứ KHÔNG phải thành phần của phân tích mã độc. Lắp đặt mạng là công việc hạ tầng, không phải bước xử lý mẫu; dựng mạng cho lab chỉ là chuẩn bị môi trường. "Detection" thuộc phân tích mã độc vì phải nhận ra mẫu là độc, phân loại nó và rút chữ ký, IOC để phát hiện ở nơi khác. "Reverse Engineering" là phần cốt lõi: dịch ngược mã bằng trình tháo mã và trình gỡ lỗi để hiểu cách nó hoạt động. "Eradication" là bước loại bỏ trong quy trình phản ứng sự cố mà phân tích phục vụ trực tiếp: phải biết mẫu bám trụ ở đâu, sửa gì trên hệ thống thì mới gỡ sạch được, nên nó gắn chặt với phân tích mã độc.
22What is a common evasion technique used by malware to avoid detection by antivirus software?4 lựa chọn
AEncrypting its code
BProviding fake error messages
CDisplaying pop-up ads
DDeleting system files
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Encrypting its code". Phần mềm diệt virus dựa nhiều vào chữ ký, tức chuỗi byte đặc trưng trong tệp; mã độc né bằng cách mã hoá thân mã qua crypter, packer hay kỹ thuật đa hình (polymorphic), chỉ để lại một đoạn giải mã nhỏ thay đổi theo từng bản, nên trên đĩa không còn chuỗi byte quen thuộc và mã thật chỉ hiện ra trong bộ nhớ khi chạy. Bác: "Providing fake error messages" là thủ đoạn lừa người dùng, ví dụ báo lỗi giả để che việc cài đặt ngầm, không đánh lừa được trình quét chữ ký. "Displaying pop-up ads" là hành vi lộ liễu của adware, khiến người dùng chú ý hơn chứ không giúp né tránh. "Deleting system files" là hành vi phá hoại, dễ gây chú ý và không giúp mã độc tránh bị phát hiện.
AIt can only identify packers used in Windows executables
BIt is a standalone antivirus software
CIt requires an internet connection to function
DIt can identify both packers and compilers used in executable files
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It can identify both packers and compilers used in executable files". PEiD so mẫu byte quanh entry point của tệp PE với cơ sở chữ ký để báo tệp được đóng gói hay mã hoá bằng packer nào như UPX, ASPack, và nếu không đóng gói thì được biên dịch bằng trình nào như Microsoft Visual C++ hay Delphi, giúp quyết định có cần gỡ vỏ trước khi phân tích tĩnh không. "It can only identify packers used in Windows executables" sai ở chữ "only", vì PEiD còn nhận diện được trình biên dịch, dù đúng là nó chỉ làm việc với tệp PE của Windows. "It is a standalone antivirus software" sai vì PEiD không quét hay diệt mã độc, chỉ nhận diện cách tệp được tạo. "It requires an internet connection to function" sai vì PEiD chạy hoàn toàn ngoại tuyến với tệp chữ ký cục bộ.
24Which of the following is a common technique used to detect malware infections on a system?4 lựa chọn
ARunning outdated antivirus software
BIgnoring system logs
CConducting regular malware scans
DDisabling firewall protection
Lời giải
Mở trang câu hỏi này →Đá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.
25What type of language is bash shell script?5 lựa chọn
ALow-level languages
BLowest languages
CMachine code
DInterpreted languages
EHardware
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Interpreted languages". Bash script là ngôn ngữ thông dịch (interpreted): trình thông dịch bash đọc từng dòng, phân tích và thực thi ngay, không biên dịch trước ra mã máy; vì vậy mã độc dạng script trên Linux đọc được trực tiếp dưới dạng văn bản. "Low-level languages" là ngôn ngữ gần phần cứng như hợp ngữ, trong khi bash là ngôn ngữ bậc cao điều khiển lệnh hệ thống. "Lowest languages" không phải một phân loại chuẩn; nếu hiểu là bậc thấp nhất thì đó là mã máy, cũng không phải bash. "Machine code" là các byte lệnh CPU chạy trực tiếp, là kết quả của biên dịch hoặc hợp dịch, không phải dạng của script. "Hardware" là phần cứng vật lý, không phải ngôn ngữ.
AOnly network traffic
BOnly software installations
CSystem processes, file system activity, and registry changes
DOnly CPU usage
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "System processes, file system activity, and registry changes". Process Monitor (ProcMon) của Sysinternals ghi theo thời gian thực các sự kiện của tiến trình và luồng (tạo tiến trình, nạp DLL), thao tác hệ thống tệp (tạo, đọc, ghi, xoá tệp) và thao tác registry (mở, đặt, xoá khoá), kèm tên tiến trình, đường dẫn, kết quả và ngăn xếp gọi; người phân tích lọc theo tên mẫu để thấy mã độc thả tệp gì, ghi khoá Run nào. Bác: "Only network traffic" sai, ProcMon có ghi sự kiện TCP/UDP ở mức cơ bản nhưng không bắt nội dung gói tin như Wireshark, và chắc chắn không chỉ ghi mạng. "Only software installations" quá hẹp, cài đặt phần mềm chỉ là một tập con của các thao tác tệp và registry. "Only CPU usage" là việc của Task Manager hay Process Explorer; ProcMon ghi sự kiện chứ không đo tải CPU.
27What is a key difference between the Raw Dump format and the Windows crash dump format for memory captures?4 lựa chọn
ARaw Dump is linear, while Windows crash dump includes system state metadata
BRaw Dump is compressed, while Windows crash dump is not
CRaw Dump requires commercial tools, while Windows crash dump does not
DWindows crash dump is only for kernel memory, while Raw Dump is for user memory
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Raw Dump is linear, while Windows crash dump includes system state metadata". Raw dump là bản chép từng byte của RAM vật lý theo thứ tự địa chỉ từ 0 trở đi, không có header, nên kích thước bằng dung lượng RAM và công cụ phân tích phải tự dò cấu trúc nhân; crash dump của Windows (tệp .dmp) mở đầu bằng header ghi thông tin trạng thái hệ thống như phiên bản hệ điều hành, số CPU, địa chỉ bảng trang và mã lỗi, nên WinDbg mở được trực tiếp. "Raw Dump is compressed, while Windows crash dump is not" sai vì raw dump không nén, chính vì vậy nó to bằng RAM. "Raw Dump requires commercial tools, while Windows crash dump does not" sai vì nhiều công cụ miễn phí như dd, Win32dd, DumpIt đều tạo được raw dump. "Windows crash dump is only for kernel memory, while Raw Dump is for user memory" sai vì crash dump có loại complete memory dump chứa cả bộ nhớ người dùng, còn raw dump chứa toàn bộ RAM chứ không riêng vùng người dùng.
28Which command retrieves data from the stack?5 lựa chọn
Apush
Bcmp
Cjz
Dadd
Epop
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "pop". Ngăn xếp x86 hoạt động theo kiểu vào sau ra trước; lệnh pop đọc giá trị tại đỉnh ngăn xếp, tức địa chỉ ESP đang trỏ tới, vào thanh ghi hoặc bộ nhớ đích rồi tăng ESP lên 4 byte ở chế độ 32 bit, nghĩa là lấy dữ liệu ra khỏi ngăn xếp. "push" làm ngược lại: giảm ESP rồi ghi giá trị lên đỉnh ngăn xếp. "cmp" so sánh hai toán hạng bằng một phép trừ ngầm và chỉ đặt cờ như ZF, CF, không lưu kết quả. "jz" nhảy tới địa chỉ đích khi cờ ZF bật, là lệnh rẽ nhánh chứ không đụng tới dữ liệu ngăn xếp. "add" cộng hai toán hạng và ghi kết quả vào toán hạng đích; add esp có thể bỏ dữ liệu khỏi ngăn xếp nhưng không lấy giá trị ra.
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
Mở trang câu hỏi này →Đá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.
AInfects as many machines as possible
BTailored to a specific target and difficult to detect
CSends spam emails from infected machines
DRecords keystrokes on the infected system
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Tailored to a specific target and difficult to detect". Mã độc có chủ đích (targeted malware) được viết riêng cho một mục tiêu cụ thể và cố ẩn mình lâu dài. Stuxnet là ví dụ kinh điển: nó nhắm vào phần mềm Siemens Step7 và các PLC điều khiển máy ly tâm làm giàu uranium, chỉ kích hoạt phần phá hoại khi gặp đúng cấu hình đó, dùng nhiều lỗ hổng zero-day, chứng chỉ ký số bị đánh cắp và rootkit để che giấu. Bác: "Infects as many machines as possible" là đặc trưng của worm lây đại trà; Stuxnet có lây qua USB và mạng nhưng đó chỉ là phương tiện để chạm tới mục tiêu. "Sends spam emails from infected machines" là hành vi của spambot trong botnet. "Records keystrokes on the infected system" là chức năng keylogger đánh cắp thông tin, không phải đặc điểm định nghĩa mã độc có chủ đích.
AA sandbox only provides completely independent protection of IOT devices.
BIf something unexpected or malicious happens, it affects only the sandbox.
CA sandbox provides full network security.
DA sandbox confines the actions of code to the sandbox device and in isolation to the rest of the network.
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "If something unexpected or malicious happens, it affects only the sandbox." và "A sandbox confines the actions of code to the sandbox device and in isolation to the rest of the network.". Sandbox là môi trường cách ly để chạy mã chưa tin cậy: mọi thao tác của mã, từ ghi tệp, sửa registry tới mở kết nối, bị giới hạn trong ranh giới sandbox và tách khỏi phần còn lại của mạng, nên nếu mã có hành vi bất thường hay độc hại thì thiệt hại chỉ nằm trong sandbox và có thể xoá bỏ bằng cách khôi phục trạng thái sạch. "A sandbox only provides completely independent protection of IOT devices." sai vì sandbox không dành riêng cho thiết bị IoT và bản thân nó là công cụ phân tích, không phải lớp bảo vệ thiết bị. "A sandbox provides full network security." sai vì sandbox chỉ là một lớp trong phòng thủ nhiều lớp, không thay được tường lửa, IDS hay kiểm soát truy cập.
32What is a container-based sandbox?4 lựa chọn
AA sandbox that uses physical barriers to isolate malware
BA sandbox that uses virtualization technology to create isolated environments
CA sandbox that relies on network traffic analysis to detect threats
DA sandbox that stores malware samples in a secure database
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A sandbox that uses virtualization technology to create isolated environments". Sandbox dựa trên container dùng ảo hoá ở mức hệ điều hành: các container như Docker dùng chung nhân với máy chủ nhưng được cô lập bằng namespace và cgroup, mỗi container có hệ thống tệp, tiến trình và mạng riêng; nhẹ và khởi động nhanh hơn máy ảo, đổi lại mức cô lập yếu hơn vì chung nhân. "A sandbox that uses physical barriers to isolate malware" mô tả cách ly vật lý như máy airgap, không phải container. "A sandbox that relies on network traffic analysis to detect threats" là hệ thống phát hiện xâm nhập mạng, không cô lập việc chạy mẫu. "A sandbox that stores malware samples in a secure database" là kho mẫu (malware repository), chỉ lưu trữ chứ không chạy mẫu.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Ảnh bộ nhớ (memory dump) là một tệp chứa nội dung RAM tại thời điểm chụp; Volatility đọc tệp đó dựa trên hồ sơ (profile) hay bảng ký hiệu của hệ điều hành tương ứng, không cần chạy trên chính máy đã chụp. Thực tế người ta chụp ảnh bằng DumpIt hay WinPmem trên máy nghi nhiễm, chép tệp sang máy phân tích sạch rồi phân tích tại đó, vừa tránh mã độc trên máy nhiễm can thiệp vào kết quả vừa bảo toàn bằng chứng. Vì thế phát biểu đòi phải phân tích trên cùng máy là sai; chọn "True" là nhầm giữa bước thu nhận ảnh, vốn phải làm trên máy đích, với bước phân tích có thể làm ở bất kỳ máy nào có Volatility.
AA launcher executes other malicious programs stealthily, while a downloader primarily retrieves and installs additional malware
BA launcher is always visible in the system process list, whereas a downloader remains hidden
CA launcher only functions in Windows systems, while a downloader affects all platforms
DA launcher requires a network connection, whereas a downloader operates offline
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A launcher executes other malicious programs stealthily, while a downloader primarily retrieves and installs additional malware". Launcher (hay loader) mang sẵn payload bên trong, thường giấu trong resource hoặc vùng dữ liệu mã hoá, rồi giải ra và chạy nó một cách lén lút bằng process injection hay process hollowing; downloader chỉ là chương trình nhỏ tải payload từ Internet, chẳng hạn qua URLDownloadToFile, rồi cài và chạy nó. "A launcher is always visible in the system process list, whereas a downloader remains hidden" sai vì launcher chính là loại tìm cách ẩn việc thực thi, chữ "always visible" ngược với bản chất của nó. "A launcher only functions in Windows systems, while a downloader affects all platforms" sai vì cả hai loại đều không bị gắn với một nền tảng cụ thể. "A launcher requires a network connection, whereas a downloader operates offline" đảo ngược sự thật: downloader mới cần mạng để tải payload, còn launcher đã chứa payload sẵn.
AStatic analysis detects live traffic
BDynamic analysis uses file headers
CStatic analysis doesn't execute malware
DDynamic analysis uses hashes for detection
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Static analysis doesn't execute malware". Ranh giới giữa hai phương pháp là có chạy mẫu hay không: phân tích tĩnh xem xét tệp khi nằm yên, như băm, chuỗi, header PE, bảng import và mã tháo; phân tích động chạy mẫu trong sandbox để quan sát hành vi thật. "Static analysis detects live traffic" sai vì lưu lượng chỉ có khi mẫu chạy, đó là việc của phân tích động. "Dynamic analysis uses file headers" sai vì đọc header PE là kỹ thuật tĩnh, làm được mà không cần chạy. "Dynamic analysis uses hashes for detection" sai vì tính băm và tra cứu băm trên dịch vụ như VirusTotal là bước tĩnh đầu tiên, không cần chạy mẫu.
36How does ClamAV classify malware? (Choose two)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
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "Based on its size" và "Based on its behavior". Cần nói thẳng: ClamAV thực chất phân loại và nhận diện mẫu bằng chữ ký (giá trị băm, chuỗi byte, chữ ký logic), không phương án nào nói đúng điều đó, nên hai ý được chọn chỉ đúng một phần. Về kích thước, chữ ký băm của ClamAV có dạng HashString:FileSize:MalwareName, tức kích thước tệp là một thành phần phải khớp cùng giá trị băm. Về hành vi, tên chữ ký được chia theo loại hành vi của mã độc như Trojan, Worm, Ransomware, nên kết quả phân loại phản ánh nhóm hành vi của mẫu. Bác: "Based on its age" vô nghĩa, tuổi hay thời điểm xuất hiện của mẫu không có trong chữ ký và không quyết định mẫu thuộc loại nào. "Based on its color" cũng vô nghĩa vì tệp không có thuộc tính màu sắc để làm căn cứ phân loại.
37Which scenario necessitates connecting two computers together when debugging in malware analysis?4 lựa chọn
AWhen conducting kernel-mode debugging on a Windows system
BWhen performing static analysis of malware code
CWhen analyzing network traffic generated by the malware
DWhen using a sandbox environment for dynamic malware analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "When conducting kernel-mode debugging on a Windows system". Khi gỡ lỗi chế độ nhân (kernel-mode debugging) bằng WinDbg, mỗi lần chạm breakpoint thì toàn bộ hệ điều hành mục tiêu đóng băng, nên debugger phải chạy trên một máy khác nối với máy mục tiêu qua cáp serial, mạng hoặc cổng COM ảo giữa máy host và máy ảo; điều này cần khi phân tích rootkit hay driver độc chạy trong nhân. "When performing static analysis of malware code" không cần vì phân tích tĩnh không chạy mã, một máy là đủ. "When analyzing network traffic generated by the malware" chỉ cần công cụ bắt gói như Wireshark; có lab dùng thêm máy chạy INetSim để giả lập dịch vụ, nhưng đó là thiết lập mạng chứ không phải yêu cầu của việc gỡ lỗi. "When using a sandbox environment for dynamic malware analysis" không đòi hai máy nối nhau vì sandbox tự chạy và ghi hành vi mẫu.
AFunctions don’t provide better modularity for your application
Byou can’t also create your own functions
CFunctions are reusable pieces of programs
DAll of the mentioned
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Functions are reusable pieces of programs". Hàm (function) trong Python là một khối mã được đặt tên, định nghĩa bằng def, có thể gọi lại nhiều lần với tham số khác nhau; nhờ đó tránh lặp mã, chia chương trình thành phần nhỏ dễ đọc và dễ kiểm thử. "Functions don’t provide better modularity for your application" sai vì tăng tính mô-đun chính là một lợi ích lớn của hàm. "you can’t also create your own functions" sai vì ngoài hàm có sẵn như print hay len, người lập trình tự định nghĩa hàm bằng def hoặc lambda. "All of the mentioned" sai vì phát biểu về tính mô-đun và phát biểu về việc không tự tạo được hàm đều sai, chỉ phát biểu về tính tái sử dụng là đúng.
39What is a packer in the context of malware?4 lựa chọn
AA device used to physically secure a computer
BA tool used to expand malware files
CA technique used to hide malware from detection
DA type of malware designed to infiltrate networks
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A technique used to hide malware from detection". Packer (trình đóng gói) nén hoặc mã hoá tệp thực thi gốc và gắn thêm một đoạn mã giải nén nhỏ (stub); khi chạy, stub bung mã thật vào bộ nhớ rồi nhảy tới điểm vào gốc. Tệp trên đĩa vì thế mang chữ ký khác, chuỗi và bảng import gần như trống, che mắt phần mềm diệt virus và cản phân tích tĩnh; UPX, ASPack, Themida là ví dụ quen thuộc. "A device used to physically secure a computer" là thiết bị khoá phần cứng, không liên quan. "A tool used to expand malware files" ngược với thực tế: packer thường làm tệp nhỏ đi vì nén. "A type of malware designed to infiltrate networks" sai vì packer không phải một loại mã độc mà là lớp vỏ bọc áp lên bất kỳ chương trình nào, kể cả phần mềm hợp pháp.
Ajz
Bamp
Cpush
Dpop
Ecall
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "call". Khi biên dịch, lời gọi printf với chuỗi định dạng và hai biến x, b trở thành một chuỗi lệnh: các tham số được push lên ngăn xếp theo thứ tự từ phải sang trái (b, rồi x, rồi địa chỉ chuỗi định dạng), sau đó lệnh call printf đẩy địa chỉ lệnh kế tiếp lên ngăn xếp làm địa chỉ trả về và nạp địa chỉ đầu hàm printf vào EIP; chính call làm EIP nhảy tới điểm vào của printf, và khi printf xong thì lệnh ret lấy lại địa chỉ trả về. Bác: "push" chỉ đưa tham số lên ngăn xếp và giảm ESP, EIP vẫn chạy tuần tự sang lệnh kế. "pop" lấy giá trị ra khỏi ngăn xếp, cũng không đổi luồng thực thi. "jz" là nhảy có điều kiện khi cờ ZF bằng 1, dùng cho rẽ nhánh if hay vòng lặp, không dùng để gọi hàm vì không lưu địa chỉ trả về. "amp" không phải lệnh hợp ngữ x86 nào, nên không thể chuyển EIP tới printf.