Tất cả câu hỏi

Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.

3.560/20.114 câuCòn 16.554
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 →
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 →
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 →
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 →
3545How 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 →
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 →
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 →
3548What 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 →
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 →
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 →
AProcess Monitor
BAutoruns
CRegshot
Dtcpdump
EAll of the above
Lời giải
Đáp án đúng: "Autoruns". Autoruns của Sysinternals liệt kê mọi điểm tự khởi chạy (autostart extensibility point) trên Windows: khoá Run và RunOnce, thư mục Startup, dịch vụ, driver, tác vụ lập lịch, Winlogon, phần mở rộng của Explorer, AppInit_DLLs, và cho phép ẩn các mục đã ký của Microsoft để làm nổi bật mục lạ; đây đúng là nơi mã độc cài cơ chế duy trì (persistence). Bác: "Process Monitor" ghi thời gian thực thao tác tệp, registry, tiến trình, có thể bắt được lúc mã độc ghi khoá Run nhưng không liệt kê sẵn danh sách chương trình tự chạy. "Regshot" so hai ảnh chụp registry để thấy khoá mới, chỉ phát hiện thay đổi xảy ra giữa hai lần chụp. "tcpdump" bắt gói tin mạng, không liên quan tới cấu hình khởi động. "All of the above" sai vì câu hỏi tìm công cụ chuyên cho việc này, và tcpdump hoàn toàn không làm được việc đó.
Mở trang câu hỏi này →
AAnalysis of findings
BRecommendations for future incident prevention
CA list of all software installed on the system
DDetails of the forensic analysis methodology used
Lời giải
Đáp án đúng: "A list of all software installed on the system". Câu hỏi tìm thứ KHÔNG thường có trong báo cáo pháp chứng. Báo cáo pháp chứng trình bày điều tra viên đã làm gì và kết luận gì, đủ để người khác thẩm định; danh sách toàn bộ phần mềm cài trên máy là dữ liệu thô, nếu cần thì chỉ đưa vào phụ lục hoặc chỉ nêu phần mềm liên quan tới sự cố. "Analysis of findings" là lõi của báo cáo: phát hiện gì và ý nghĩa ra sao, nên phải có. "Recommendations for future incident prevention" là phần khuyến nghị khắc phục và phòng ngừa thường đặt ở cuối báo cáo. "Details of the forensic analysis methodology used" là phần bắt buộc, vì phương pháp, công cụ và chuỗi lưu giữ bằng chứng quyết định kết quả có lặp lại được và có giá trị pháp lý hay không.
Mở trang câu hỏi này →
ACode signing
BEncryption
CDigital watermarking
DSocial engineering
Lời giải
Đáp án đúng: "Encryption". Làm rối mã (obfuscation) là che giấu mã và dữ liệu để chống phân tích; mã hoá là kỹ thuật thường dùng nhất: thân mã độc, chuỗi, địa chỉ máy chủ điều khiển được mã hoá bằng XOR, RC4 hay AES và chỉ giải mã trong bộ nhớ lúc chạy, khiến lệnh strings, phân tích tĩnh và chữ ký của phần mềm diệt virus không thấy nội dung thật. "Code signing" là ký số tệp để chứng minh nguồn gốc và tính toàn vẹn, không che giấu mã; mã độc có thể ký bằng chứng chỉ bị đánh cắp để trông đáng tin, nhưng đó là giả mạo độ tin cậy chứ không làm rối mã. "Digital watermarking" là nhúng dấu bản quyền vào nội dung số. "Social engineering" là lừa người dùng tự mở mẫu, thuộc khâu phát tán chứ không tác động lên mã.
Mở trang câu hỏi này →
AThe malware author’s identity
BA list of all programming languages used
CThe specimen’s infection, self-preservation, and spreading capabilities
DThe estimated financial damage caused
Lời giải
Đáp án đúng: "The specimen’s infection, self-preservation, and spreading capabilities". Báo cáo phân tích mã độc phải mô tả đặc tính kỹ thuật của mẫu (specimen) để bên phòng thủ hành động được: nó lây vào máy bằng cách nào (infection), duy trì và tự bảo vệ ra sao (self-preservation: khoá Run, dịch vụ, rootkit, chống gỡ lỗi), và lây sang máy khác bằng cơ chế gì (spreading), kèm chỉ dấu xâm nhập (IOC) như giá trị băm, tên tệp, khoá registry, tên miền. Những thông tin này quyết định trực tiếp cách phát hiện, cô lập và làm sạch. Bác: "The malware author’s identity" thường không xác định chắc chắn được từ mẫu; việc quy kết (attribution) là nhiệm vụ tình báo riêng, không phải phần đặc tính bắt buộc. "A list of all programming languages used" quá chi tiết và ít giá trị phòng thủ; trình biên dịch có thể được ghi nhận nhưng không phải trọng tâm. "The estimated financial damage caused" thuộc đánh giá tác động kinh doanh, nằm ngoài phân tích kỹ thuật của mẫu.
Mở trang câu hỏi này →
AAntivirus software
BSecure websites
CInfected USB drives
DSoftware updates
Lời giải
Đáp án đúng: "Infected USB drives". Mã độc cần một đường vào máy nạn nhân, và USB nhiễm là đường kinh điển: tệp autorun hoặc tệp tắt (shortcut) giả làm thư mục khiến người dùng tự chạy mã, thậm chí vượt sang mạng cách ly như trường hợp Stuxnet. Các kênh phổ biến khác là tệp đính kèm thư điện tử, trang web độc hại và phần mềm lậu. "Antivirus software" là công cụ phòng vệ chứ không phải kênh phát tán; chỉ phần mềm diệt virus giả mới là mã độc. "Secure websites" là trang web hợp pháp dùng HTTPS, bản thân không phải phương thức phát tán, dù kẻ tấn công đôi khi chiếm trang hợp pháp để cài mã. "Software updates" là kênh bình thường để vá lỗi; tấn công chuỗi cung ứng có lợi dụng bản cập nhật bị chèn mã, nhưng đó là trường hợp đặc biệt chứ không phải cách phát tán thông thường.
Mở trang câu hỏi này →
ASmartSniff
BINetSim
Ctcpdump
DHoneyd
Lời giải
Đáp án đúng: "SmartSniff". SmartSniff là công cụ bắt gói nhỏ gọn của NirSoft chạy trên Windows, có giao diện đồ hoạ, bắt các gói TCP/IP và trình bày dữ liệu trao đổi giữa máy khách và máy chủ dạng văn bản hoặc hex, nên thường được nêu như lựa chọn nhẹ thay Wireshark khi chỉ cần xem nhanh mẫu liên lạc với ai. Câu có chỗ tranh cãi vì "tcpdump" cũng là công cụ bắt gói nhẹ, chạy dòng lệnh; SmartSniff vẫn được chọn vì là công cụ bắt gói có giao diện trên Windows dùng thay Wireshark trong lab phân tích mã độc Windows, còn tcpdump là công cụ dòng lệnh thường dùng trên Unix. "INetSim" là bộ giả lập dịch vụ Internet như HTTP, DNS, SMTP để đánh lừa mã độc, không phải công cụ theo dõi lưu lượng. "Honeyd" là honeypot giả lập máy và dịch vụ ảo để dụ kẻ tấn công, cũng không phải công cụ theo dõi lưu lượng.
Mở trang câu hỏi này →
AGDB
BWinDbg
COllyDbg
DIDA Free
Lời giải
Đáp án đúng: "OllyDbg". OllyDbg là debugger chế độ người dùng (user-mode) 32 bit cho Windows, gỡ lỗi trực tiếp ở mức hợp ngữ mà không cần mã nguồn, hiển thị cùng lúc mã dịch ngược, thanh ghi, ngăn xếp và bộ nhớ, kèm nhiều plugin che giấu debugger, nên từ lâu là lựa chọn phổ biến nhất khi phân tích mã độc chạy ở Ring 3 (ngày nay x64dbg kế thừa vị trí đó). Bác: "GDB" là debugger của dự án GNU, mạnh trên Linux và với chương trình có thông tin gỡ lỗi, ít dùng cho mã độc Windows. "WinDbg" của Microsoft gỡ lỗi được cả user-mode nhưng thế mạnh là kernel-mode và phân tích tệp dump, giao diện dòng lệnh khó dùng hơn cho phân tích ở mức người dùng. "IDA Free" chủ yếu là trình dịch ngược tĩnh (disassembler); nó có debugger đi kèm nhưng được biết đến vì phân tích tĩnh.
Mở trang câu hỏi này →
ARunning malware from Safe Mode
BDecrypting malware payload
CExecuting one instruction at a time
DSkipping functions for speed
Lời giải
Đáp án đúng: "Executing one instruction at a time". Single-stepping (chạy từng bước) là chế độ trình gỡ lỗi thực thi đúng một lệnh máy rồi dừng lại, để nhà phân tích xem thanh ghi, cờ và bộ nhớ đổi ra sao sau mỗi lệnh; trên x86 nó dựa vào cờ bẫy TF, trong OllyDbg là phím F7 (step into) và F8 (step over). "Running malware from Safe Mode" là cách khởi động hệ điều hành với ít dịch vụ, không phải kỹ thuật gỡ lỗi. "Decrypting malware payload" là mục tiêu có thể đạt được nhờ chạy từng bước qua hàm giải mã, nhưng không phải định nghĩa của single-stepping. "Skipping functions for speed" gần với step over hoặc chạy thẳng tới breakpoint, tức là bỏ qua chi tiết, ngược với tinh thần đi từng lệnh một.
Mở trang câu hỏi này →
ASoftware execution breakpoint
BHardware execution breakpoint
CConditional breakpoint
DNone of the mentioned
Lời giải
Đáp án đúng: "Software execution breakpoint". Breakpoint phần mềm là loại mặc định của các trình gỡ lỗi như OllyDbg hay x64dbg (phím F2) và WinDbg (lệnh bp hoặc phím F9): trình gỡ lỗi ghi đè byte đầu của lệnh bằng 0xCC (lệnh INT 3), CPU chạy tới đó thì sinh ngắt, trình gỡ lỗi dừng chương trình rồi khôi phục byte gốc; loại này không giới hạn số lượng nên được dùng nhiều nhất. Câu này có chỗ tranh cãi vì câu hỏi dùng số nhiều "types", và "Hardware execution breakpoint" (dùng các thanh ghi DR0 tới DR3, cần khi mã độc quét tìm byte 0xCC hay tự sửa mã của nó) cùng "Conditional breakpoint" (chỉ dừng khi biểu thức điều kiện đúng) cũng là những loại phổ biến; nhưng khi chỉ được chọn một thì loại thông dụng nhất là breakpoint phần mềm. "None of the mentioned" sai vì cả ba loại được liệt kê đều là breakpoint có thật và hay gặp.
Mở trang câu hỏi này →
AIt guarantees complete removal of malware from infected systems
BIt allows for real-time monitoring of malware behavior
CIt enables detailed analysis of malware execution flow
DIt automatically generates antivirus signatures
Lời giải
Đáp án đúng: "It enables detailed analysis of malware execution flow". Debugger như x64dbg, OllyDbg hay WinDbg cho phép chạy mẫu từng lệnh (single-step), đặt điểm dừng (breakpoint) tại các hàm API quan trọng, xem và sửa thanh ghi, ngăn xếp, bộ nhớ; nhờ đó người phân tích lần được luồng thực thi chi tiết: nhánh nào được rẽ, chuỗi được giải mã ra sao, payload được giải nén ở đâu, những điều phân tích tĩnh khó thấy khi mã bị làm rối. Bác: "It guarantees complete removal of malware from infected systems" sai, debugger chỉ quan sát và điều khiển chương trình chứ không gỡ bỏ mã độc. "It allows for real-time monitoring of malware behavior" mô tả đúng hơn Process Monitor hay sandbox, vốn ghi hành vi tổng thể khi mẫu chạy tự do, trong khi debugger dừng chương trình để soi bên trong. "It automatically generates antivirus signatures" sai vì chữ ký do người phân tích hoặc hệ thống riêng tạo ra, debugger không làm việc đó.
Mở trang câu hỏi này →