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.520/20.114 câuCòn 16.594
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
Đá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.
Mở trang câu hỏi này →
ADisassembling the malware code
BRunning the malware in a controlled environment
CIdentifying the malware's author
DSearching for similar malware online
Lời giải
Đáp án đúng: "Running the malware in a controlled environment". Phân tích động (dynamic analysis) là cho mẫu chạy thật trong sandbox hoặc máy ảo cách ly, rồi dùng Process Monitor, Regshot, Wireshark hay sandbox tự động như Cuckoo để ghi lại tiến trình, tệp, registry và mạng mà mẫu tác động, từ đó thấy hành vi thật kể cả khi mã bị đóng gói. "Disassembling the malware code" thuộc phân tích tĩnh nâng cao bằng IDA Pro hay Ghidra, đọc mã hợp ngữ mà không chạy mẫu. "Identifying the malware's author" là mục tiêu quy kết (attribution) có thể đạt sau khi phân tích, không phải một phương pháp phân tích động. "Searching for similar malware online" như tra mã băm trên VirusTotal là bước phân tích tĩnh cơ bản hay tra cứu tình báo mối đe doạ, cũng không cần chạy mẫu.
Mở trang câu hỏi này →
AData collection
BData preservation
CData destruction
DData examination
Lời giải
Đáp án đúng: "Data destruction". Câu hỏi phủ định nên cần tìm bước KHÔNG thuộc quy trình pháp chứng. Pháp chứng số đi theo các bước thu thập, bảo toàn, kiểm tra, phân tích và báo cáo, với nguyên tắc xuyên suốt là giữ nguyên vẹn bằng chứng và chuỗi giám sát (chain of custody); huỷ dữ liệu đi ngược nguyên tắc đó nên không phải một bước của quy trình. Mỗi phát biểu sau đều là bước thật nên không được chọn: "Data collection" là thu nhận bằng chứng như ảnh đĩa, ảnh bộ nhớ, nhật ký hệ thống. "Data preservation" là bảo toàn bằng chứng, ví dụ tính băm SHA-256, dùng thiết bị chống ghi (write blocker) và chỉ làm việc trên bản sao. "Data examination" là kiểm tra, lọc và trích dữ liệu liên quan từ bằng chứng đã thu.
Mở trang câu hỏi này →
ABy using polymorphic techniques
BBy encrypting or obfuscating the strings
CBy storing strings in plain ASCII format
DBy using multiple DLLs
Lời giải
Đáp án đúng: "By encrypting or obfuscating the strings". Chuỗi nhúng như URL máy chủ điều khiển, tên tệp, khoá registry là manh mối đầu tiên khi chạy strings. Tác giả mã độc giấu chúng bằng cách mã hoá, ví dụ XOR, RC4 hay Base64 tự chế, hoặc làm rối (obfuscation) như dựng chuỗi từng ký tự trên ngăn xếp, chỉ giải ra trong bộ nhớ lúc cần dùng, nên phân tích tĩnh chỉ thấy dữ liệu vô nghĩa. "By using polymorphic techniques" là kỹ thuật đổi hình dạng mã mỗi lần lây để né chữ ký, nhắm vào việc phát hiện chứ không nhắm cụ thể vào chuỗi. "By storing strings in plain ASCII format" làm điều ngược lại: chuỗi ASCII rõ là thứ strings đọc được ngay. "By using multiple DLLs" chỉ chia chức năng ra nhiều module, chuỗi trong từng DLL vẫn đọc được nếu không mã hoá.
Mở trang câu hỏi này →
AIt targets only specific geographic regions
BIt changes its code structure to evade detection
CIt requires user interaction to spread
DIt is primarily distributed through social media platforms
Lời giải
Đáp án đúng: "It changes its code structure to evade detection". Mã độc đa hình (polymorphic malware) mỗi lần lây nhiễm lại mã hoá thân bằng khoá mới và dùng bộ biến đổi (mutation engine) để thay hình dạng bộ giải mã như chèn lệnh rác, đổi thanh ghi, đảo thứ tự lệnh, nên mỗi bản sao có chuỗi byte và mã băm khác nhau trong khi chức năng giữ nguyên, làm phát hiện dựa trên chữ ký thất bại; mã độc biến hình (metamorphic) còn đi xa hơn khi viết lại toàn bộ mã. "It targets only specific geographic regions" là đặc điểm của chiến dịch nhắm mục tiêu, kiểm tra ngôn ngữ bàn phím hay địa chỉ IP, không liên quan tới đa hình. "It requires user interaction to spread" là đặc điểm của trojan hay virus đính kèm tệp. "It is primarily distributed through social media platforms" chỉ mô tả kênh phát tán, không phải bản chất đa hình.
Mở trang câu hỏi này →
AGUI design
BExecutable file structure and embedded strings
CUser typing behavior
DHardware sensor data
Lời giải
Đáp án đúng: "Executable file structure and embedded strings". Phân tích mã (code analysis) ở mức tĩnh xem xét tệp mà không chạy: cấu trúc PE gồm tiêu đề, section, bảng import cho biết API được gọi, tài nguyên nhúng, entropy cho biết có bị nén hay không; cùng các chuỗi nhúng (embedded strings) rút bằng strings hay FLOSS như URL, địa chỉ IP, khoá registry, tên tệp, trước khi đi sâu vào mã dịch ngược. Đây là những manh mối trực tiếp về chức năng của mẫu. Bác: "GUI design" là thiết kế giao diện người dùng, không nói gì về hành vi độc hại. "User typing behavior" là dữ liệu hành vi gõ phím của con người, chỉ liên quan khi tìm hiểu keylogger thu thập gì, không phải đối tượng của phân tích mã. "Hardware sensor data" là dữ liệu cảm biến phần cứng, nằm ngoài tệp thực thi đang được phân tích.
Mở trang câu hỏi này →
ATo develop new malware strains
BTo remove malware from infected systems
CTo analyze and understand malware behavior
DTo encrypt sensitive data on infected systems
Lời giải
Đáp án đúng: "To analyze and understand malware behavior". Gỡ lỗi (debugging) mã độc là chạy mẫu trong trình gỡ lỗi để quan sát từng bước: lệnh nào được thực thi, thanh ghi và bộ nhớ đổi ra sao, chuỗi nào được giải mã, API nào được gọi, nhằm hiểu đầy đủ chức năng mà phân tích tĩnh không thấy được do mã bị nén hay làm rối. "To develop new malware strains" là việc của kẻ tấn công, không phải mục tiêu phân tích. "To remove malware from infected systems" là công việc khắc phục sau sự cố; hiểu hành vi qua gỡ lỗi giúp viết cách gỡ, nhưng bản thân gỡ lỗi không xoá mã độc. "To encrypt sensitive data on infected systems" là hành vi của ransomware, không liên quan tới gỡ lỗi.
Mở trang câu hỏi này →
ATo halt the execution of the malware at specific points
BTo speed up malware execution
CTo encrypt malware payloads
DTo hide malware from detection
Lời giải
Đáp án đúng: "To halt the execution of the malware at specific points". Breakpoint (điểm dừng) báo cho debugger dừng chương trình khi chạy tới một lệnh hay khi một vùng nhớ bị truy cập, để nhà phân tích xem thanh ghi, ngăn xếp, bộ nhớ ngay lúc đó, chẳng hạn đặt ở VirtualAlloc hay CreateProcess để bắt khoảnh khắc mẫu giải nén hoặc tiêm mã, rồi chạy tiếp từng bước. "To speed up malware execution" ngược lại, breakpoint làm chương trình chạy chậm đi vì mỗi lần chạm đều chuyển quyền cho debugger. "To encrypt malware payloads" không liên quan, breakpoint không biến đổi dữ liệu của mẫu. "To hide malware from detection" sai vì breakpoint phục vụ nhà phân tích, thậm chí mã độc còn dùng kỹ thuật chống gỡ lỗi để phát hiện breakpoint đang được đặt.
Mở trang câu hỏi này →
AEncrypt malware code
BObfuscate malware behavior
CTrace and analyze malware execution
DSpread malware to other systems
Lời giải
Đáp án đúng: "Trace and analyze malware execution". Debugger cho phép người phân tích chạy mẫu từng lệnh, đặt điểm dừng tại các API như CreateFileW hay VirtualAlloc, xem thanh ghi, ngăn xếp và bộ nhớ ở từng thời điểm; nhờ đó lần theo (trace) luồng thực thi và hiểu mã độc giải mã, giải nén hay chọn nhánh như thế nào. Đây là công cụ chủ lực của phân tích động nâng cao. Bác: "Encrypt malware code" là việc của tác giả mã độc khi dùng packer hay crypter, ngược với mục tiêu phân tích. "Obfuscate malware behavior" cũng là kỹ thuật của kẻ tấn công nhằm che giấu, trong khi debugger giúp gỡ bỏ chính sự che giấu đó. "Spread malware to other systems" là hành vi lây lan của bản thân mã độc; người phân tích luôn chạy mẫu trong lab cô lập để ngăn điều đó.
Mở trang câu hỏi này →
AIDA Pro
BWireshark
COllyDbg
DVirusTotal
Lời giải
Đáp án đúng: "OllyDbg". Phân tích động là chạy mẫu và quan sát nó khi đang thực thi; OllyDbg là trình gỡ lỗi chạy chính mẫu đó dưới sự điều khiển của nhà phân tích, cho đặt breakpoint, chạy từng lệnh, xem và sửa thanh ghi, bộ nhớ ngay lúc mẫu hoạt động, nên là công cụ tiêu biểu của phân tích động. "Wireshark" cũng được dùng trong phân tích động để bắt lưu lượng mạng khi mẫu chạy, nên không hẳn sai; nhưng nó chỉ quan sát từ bên ngoài, không chạy hay điều khiển mẫu từng lệnh, vì vậy OllyDbg mới là công cụ khớp nhất với câu hỏi. "IDA Pro" chủ yếu là trình tháo mã (disassembler) cho phân tích tĩnh, đọc mã mà không chạy, dù có kèm trình gỡ lỗi. "VirusTotal" là dịch vụ quét tệp bằng nhiều bộ chữ ký, cho kết quả nhận diện chứ không cho quan sát hành vi.
Mở trang câu hỏi này →
ATwo computers connected together
BVirtualBox must be installed
C32-bit operating system
DSystem must be in Safe Mode
Lời giải
Đáp án đúng: "Two computers connected together". Gỡ lỗi chế độ nhân (kernel-mode debugging) bằng WinDbg sẽ dừng toàn bộ hệ điều hành khi gặp breakpoint, nên debugger không thể chạy trên chính máy đang bị đóng băng; cần một máy chạy debugger (host) nối với máy mục tiêu (target) qua cáp serial, FireWire, USB hoặc mạng, và trong lab thường dùng một máy ảo làm target nối qua cổng COM ảo hay named pipe với máy host, về logic vẫn là hai máy. "VirtualBox must be installed" sai vì máy ảo chỉ là cách tiện lợi, dùng VMware hoặc hai máy thật đều được. "32-bit operating system" sai vì WinDbg gỡ lỗi nhân được cả Windows 64 bit. "System must be in Safe Mode" sai vì chế độ gỡ lỗi nhân được bật bằng lệnh bcdedit /debug on và hệ thống khởi động bình thường.
Mở trang câu hỏi này →
AWhen malware crashes the system
BWhen the program requests admin access
CWhen the debugger is first given control after an exception
DWhen a program finishes execution
Lời giải
Đáp án đúng: "When the debugger is first given control after an exception". Khi chương trình đang bị gỡ lỗi phát sinh ngoại lệ (chia cho 0, truy cập sai bộ nhớ, INT 3), Windows dừng chương trình và báo cho debugger trước tiên, gọi là first-chance exception (ngoại lệ cơ hội lần đầu); debugger có thể tự xử lý hoặc chuyển tiếp cho bộ xử lý SEH của chương trình. Nếu chương trình không xử lý được, debugger mới nhận lần hai (second chance). Bác: "When malware crashes the system" mô tả sự cố sập hệ thống, không phải khái niệm gỡ lỗi; ngoại lệ lần đầu chưa làm chương trình sập. "When the program requests admin access" là yêu cầu nâng quyền qua UAC, không sinh ngoại lệ. "When a program finishes execution" là sự kiện tiến trình kết thúc, debugger có nhận được nhưng đó không phải ngoại lệ.
Mở trang câu hỏi này →
Amov
Bsub
Cnop
Dpush
Epop
Lời giải
Đáp án đúng: "nop". Lệnh nop (no operation, mã 0x90 trên x86) không làm gì ngoài việc chuyển sang lệnh kế tiếp. Trong tấn công tràn bộ đệm, kẻ tấn công đặt một dãy dài nop, gọi là NOP sled (đường trượt), trước shellcode: địa chỉ trả về bị ghi đè chỉ cần rơi vào đâu đó trong dãy này là CPU trượt qua các nop tới shellcode, nên không cần đoán địa chỉ chính xác. "mov" chép dữ liệu giữa thanh ghi và bộ nhớ, có trong shellcode nhưng không lặp hàng loạt. "sub" là phép trừ, đôi khi dùng để chỉnh ESP. "push" đẩy giá trị lên ngăn xếp, shellcode dùng để dựng tham số nhưng không lặp hàng trăm lần. "pop" lấy giá trị khỏi ngăn xếp, hay gặp trong chuỗi ROP chứ không phải phần đệm.
Mở trang câu hỏi này →
AThey are too large for efficient hashing
BThey are slower to access than strings
CThey can be changed in place, disrupting hashing
DThey are restricted to numerical values
Lời giải
Đáp án đúng: "They can be changed in place, disrupting hashing". Dictionary trong Python là bảng băm: vị trí lưu một cặp được tính từ hash(key), nên khoá phải hashable, tức giá trị băm không được đổi suốt thời gian khoá nằm trong bảng. List là kiểu khả biến (mutable), append hay gán phần tử làm nội dung đổi tại chỗ, nếu băm theo nội dung thì khoá sẽ lạc khỏi ô của nó; vì thế list không có hàm băm và dùng làm khoá sẽ ném TypeError: unhashable type: 'list', còn tuple bất biến thì dùng được. "They are too large for efficient hashing" sai vì một list rỗng cũng bị cấm, trong khi chuỗi rất dài vẫn băm được. "They are slower to access than strings" sai vì tốc độ truy cập không phải tiêu chí chọn khoá. "They are restricted to numerical values" sai vì list chứa được phần tử thuộc bất kỳ kiểu nào.
Mở trang câu hỏi này →
Amov eax, ebx
Blea ecx, [edx+16]
Cmov ebx, [eax]
Dsub ecx, 3
Epush edx
Lời giải
Đáp án đúng: "push edx". Ngăn xếp (stack) trên x86 được quản lý bởi thanh ghi ESP trỏ vào đỉnh ngăn xếp; lệnh push edx giảm ESP đi 4 byte rồi ghi giá trị của edx vào ô nhớ mới tại đỉnh, nên ngăn xếp lớn thêm một phần tử (pop, call, ret hay các lệnh cộng trừ trực tiếp trên esp cũng làm đổi kích thước). Bác: "mov eax, ebx" chỉ chép giá trị giữa hai thanh ghi, ESP giữ nguyên. "lea ecx, [edx+16]" tính địa chỉ edx+16 và đặt vào ecx mà không truy cập bộ nhớ, không chạm tới ESP. "mov ebx, [eax]" đọc ô nhớ do eax trỏ tới vào ebx, chỉ là đọc dữ liệu. "sub ecx, 3" trừ 3 khỏi ecx; lệnh sub chỉ làm đổi ngăn xếp khi toán hạng đích là esp, như sub esp, 0x20 để cấp vùng biến cục bộ, còn ở đây đích là ecx nên ngăn xếp không đổi.
Mở trang câu hỏi này →
AEAX, EBX, ECX, or EDX
BEBP or ESP
CEFLAGS
DEIP
Lời giải
Đáp án đúng: "EAX, EBX, ECX, or EDX". Trong x86, bốn thanh ghi này là thanh ghi đa dụng (general-purpose register) dùng chứa dữ liệu và kết quả trung gian khi tính toán như tổng tạm; EAX còn thường giữ giá trị trả về của hàm, ECX hay làm bộ đếm vòng lặp, EDX ghép với EAX trong phép nhân và phép chia. "EBP or ESP" là cặp thanh ghi ngăn xếp: ESP trỏ đỉnh ngăn xếp, EBP trỏ đáy khung ngăn xếp của hàm để truy cập biến cục bộ và tham số. "EFLAGS" chứa các cờ trạng thái như ZF, CF, SF do phép tính đặt ra, không chứa giá trị tính toán. "EIP" là con trỏ lệnh trỏ tới lệnh sắp chạy, không dùng để tính toán; mã độc chỉ nhắm vào nó khi muốn chiếm luồng thực thi.
Mở trang câu hỏi này →
Ajz
Bamp
Cpush
Dpop
Ecall
Lời giải
Đáp án đúng: "push". Trên x86 32 bit theo quy ước gọi cdecl, đối số được đặt lên ngăn xếp từ phải sang trái trước lệnh gọi: chương trình push giá trị b, rồi nạp x (bằng 2) vào thanh ghi và push nó, tiếp đó push địa chỉ chuỗi định dạng, sau cùng call printf; bên trong printf đọc các đối số từ ngăn xếp ngay trên địa chỉ trả về, còn bên gọi tự cộng lại esp để dọn. Vì vậy push là lệnh đặt x vào chỗ printf tìm thấy; cần biết trình biên dịch hiện đại có thể cấp sẵn khung ngăn xếp rồi dùng mov vào [esp+…] thay cho push, và trên x64 đối số đầu nằm trong thanh ghi, nhưng câu hỏi theo mô hình cổ điển. "jz" là nhảy có điều kiện khi cờ ZF bằng 1. "amp" in sẵn như vậy và không phải lệnh x86 nào. "pop" lấy giá trị khỏi đỉnh ngăn xếp, ngược chiều cần thiết. "call" đẩy địa chỉ trả về rồi chuyển điều khiển tới printf, không đặt x.
Mở trang câu hỏi này →
AScanning of encrypted data streams
BAutomation and artificial intelligence (AI)
CFaster network speeds
DTimely sharing of threat intelligence
Lời giải
Đáp án đúng: "Timely sharing of threat intelligence". Sandbox thế hệ đầu chủ yếu chạy mẫu độc lập và cho báo cáo riêng lẻ; thế hệ thứ hai gắn sandbox vào hạ tầng bảo mật rộng hơn, kết quả phân tích được đẩy ra dưới dạng thông tin tình báo mối đe doạ (threat intelligence) như giá trị băm, tên miền, địa chỉ IP độc hại, và được chia sẻ kịp thời cho tường lửa, cổng thư cũng như các tổ chức khác để chặn mẫu tương tự sớm hơn. Bác: "Scanning of encrypted data streams" là năng lực giải mã kiểm tra SSL/TLS của thiết bị mạng, không phải lợi ích đặc trưng của sandbox thế hệ thứ hai. "Automation and artificial intelligence (AI)" gắn với các thế hệ về sau, khi học máy được dùng để phân loại hành vi và chống né tránh. "Faster network speeds" là đặc tính của hạ tầng mạng, không liên quan tới công nghệ sandbox.
Mở trang câu hỏi này →
AIt isolates and analyzes suspicious files or programs in a controlled environment
BIt scans computer networks for vulnerabilities
CIt encrypts sensitive data to prevent unauthorized access
DIt monitors internet traffic for malicious activity
Lời giải
Đáp án đúng: "It isolates and analyzes suspicious files or programs in a controlled environment". Sandbox là môi trường cô lập, thường là máy ảo có ảnh chụp sạch, nơi tệp nghi ngờ được chạy và mọi hành vi được ghi lại mà không đe doạ hệ thống thật; xong thì khôi phục ảnh chụp để chạy mẫu tiếp theo. "It scans computer networks for vulnerabilities" là việc của trình quét lỗ hổng như Nessus hay Nmap. "It encrypts sensitive data to prevent unauthorized access" là chức năng của công cụ mã hoá dữ liệu, không phải sandbox. "It monitors internet traffic for malicious activity" mô tả hệ thống phát hiện xâm nhập (IDS) hay tường lửa; sandbox có ghi lưu lượng của mẫu nhưng đó chỉ là một phần, cốt lõi vẫn là cô lập và quan sát việc chạy mẫu.
Mở trang câu hỏi này →
AADD
BLEA
CNOP
DRET
Lời giải
Đáp án đúng: "NOP". NOP (no operation, mã máy 0x90 trên x86) chỉ tăng con trỏ lệnh EIP sang lệnh kế tiếp mà không đổi thanh ghi, cờ hay bộ nhớ nào; trong khai thác tràn bộ đệm, kẻ tấn công đặt một dải NOP dài (NOP sled) trước shellcode, nên địa chỉ trả về bị ghi đè chỉ cần rơi vào bất kỳ đâu trong dải là CPU trượt dần tới shellcode, bù cho việc không biết chính xác địa chỉ trên ngăn xếp. "ADD" cộng toán hạng nguồn vào toán hạng đích và cập nhật cờ, có tác dụng thật. "LEA" tính địa chỉ hiệu dụng rồi nạp vào thanh ghi đích, tuy không đọc bộ nhớ nhưng vẫn ghi thanh ghi. "RET" lấy địa chỉ trả về ở đỉnh ngăn xếp rồi nhảy tới đó, chính là lệnh bị lợi dụng khi ghi đè địa chỉ trả về chứ không phải lệnh đệm.
Mở trang câu hỏi này →