Tải bản đầy đủ (.docx) (87 trang)

NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH ĐỘNG MÃ ĐỘC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.91 MB, 87 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN NGỌC QUÂN
NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH ĐỘNG MÃ ĐỘC
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 60.48.01.04
BÁO CÁO LUẬN VĂN THẠC SĨ
HÀ NỘI – 2015
LỜI CẢM ƠN
Trước hết tôi xin cảm ơn sâu sắc tới TS. Nguyễn Trung Kiên, đã định hướng cho tôi
trong việc lựa chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng dẫn tôi trong
suốt quá trình nghiên cứu và hoàn thành luận văn tốt nghiệp.
Tôi xin cảm ơn các cán bộ Viện Công nghệ thông tin và truyền thông CDIT; các thầy
cô trong khoa Công nghệ thông tin, khoa Quốc tế và Đào tạo sau Đại học - Học viện Công
nghệ Bưu chính Viễn thông đã giúp đỡ và truyền đạt kiến thức cho tôi trong suốt thời gian
học tập nghiên cứu tại trường.
Tôi xin cảm ơn các cấp Lãnh đạo và toàn thể đồng nghiệp, gia đình, bạn bè đã chia
sẻ, giúp đỡ, tạo điều kiện cho tôi hoàn thành khóa luận này.
Hà Nội, tháng năm 2015
Nguyễn Ngọc Quân
3
LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn này là công trình nghiên cứu khoa học nghiêm túc của cá
nhân, được thực hiện dưới sự hướng dẫn khoa học của TS. Nguyễn Trung Kiên.
Các số liệu, kết quả nghiên cứu và kết luận được trình bày trong Luận văn là trung
thực và chưa được công bố dưới bất kỳ hình thức nào.
Tôi xin chịu trách nhiệm về công trình nghiên cứu của mình.
TÁC GIẢ LUẬN VĂN
Nguyễn Ngọc Quân
4
MỤC LỤC


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
AV-TEST Tổ chức kiểm định và đánh giá độc
lập về các phần mềm diệt Virus cho
Windows và Android
BKAV Công ty an ninh mạng BKAV
CPU Central Processing Unit Bộ xử lý trung tâm của máy tính
IPS Intrusion prevention system Hệ thống phát hiện xâm nhập
IDS Intrusion detection system Hệ thống ngăn ngừa xâm nhập
IIS Internet Information Services
MD5 Message Digest Algorithm 5 Thuật toán băm mã hóa dữ liệu MD5
NIST National Institute of Standards and
Technology
Viện tiêu chuẩn - công nghệ quốc
gia Hoa kỳ
P2P Peer to peer Mạng ngang hàng
PC Personal computer Máy tính cá nhân
PE File Portable Executable File
SHA-1 Secure Hash Algorithm 1 Thuật toán băm mã hóa dữ liệu
SHA-1
VNCERT Vietnam Computer Emergency
Response Team
Trung tâm ứng cứu khẩn cấp máy
tính Việt Nam
VNPT Vietnam Posts and
Telecommunication Group
Tập đoàn Bưu chính Viễn thông Việt
Nam
6
DANH MỤC HÌNH VẼ

6
7
MỞ ĐẦU
Phát tán mã độc (Malware) đã thực sự trở thành một ngành “công nghiệp ” trong các
hoạt động gián điệp và phá hoại hệ thống, phần mềm hiện nay. Theo thống kê từ các cơ
quan, tổ chức, doanh nghiệp chuyên về An ninh, an toàn thông tin, hoạt động phát tán mã
độc không chỉ tồn tại ở những nước phát triển mà ngay tại các nước đang phát triển như Việt
Nam cũng trở thành mảnh đất màu mỡ cho các Hacker tấn công. Mã độc được phát tán tại
hầu hết các cơ quan quan trọng từ các cơ quan Chính phủ, Quốc hội tới các cơ quan tài chính
như ngân hàng, viện nghiên cứu, trường đại học,…. Các phần mềm chứa mã độc được tồn
tại dưới rất nhiều hình thức và có khả năng lây lan vô cùng lớn.
Không dừng lại ở đó, mã độc hiện tại đã lây lan đa nền tảng và hiện tại không chỉ giới
hạn ở máy tính cá nhân mà còn lây lan sang các thiết bị thông minh như smartphone. Với
tốc độ phát triển của nền kinh tế, hiện nay hầu hết mọi cá nhân đều sở hữu một thiết bị thông
minh hay máy tính cá nhân, vì vậy môi trường hoạt động dành cho mã độc ngày càng rộng
lớn và thiệt hại chúng gây ra cho chúng ta là vô cùng lớn. Theo thống kê của Trung tâm ứng
cứu khẩn cấp máy tính Việt Nam (VNCERT) sự cố tấn công về mã độc đang có chiều hướng
gia tăng với thủ đoạn ngày càng tinh vi.
Nhằm góp phần hiểu rõ về hoạt động hành vi của mã độc cũng như tác hại của việc
phát tán mã độc trên hệ thống, các thiết bị thông minh,… Luận văn đã tìm hiểu và nghiên
cứu về “Phương pháp phân tích động mã độc”. Mục tiêu của Luận văn gồm các nội dung
chính:
• Nghiên cứu tổng quan về mã độc, phân loại mã độc, cách thức hoạt động, các hành
vi của mã độc và phương thức lây nhiễm của chúng
• Nghiên cứu sâu về kỹ thuật và các phương pháp phân tích mã độc. Các phương
pháp phân tích tĩnh, phương pháp phân tích động… Bên cạnh đó nghiên cứu về các môi
trường và công cụ phân tích mã độc
• Đề xuất quy trình và ứng dụng phân tích động mã độc trong thực tế.
Phạm vi ứng dụng của nghiên cứu
Nghiên cứu các kỹ thuật phân tích nhận diện mã độc chính cùng với hành vi của nó và áp

dụng các kỹ thuật này để thử nghiệm phân tích mã độc.
7
8
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC
Chương 1 tập trung nghiên cứu những khái niệm cơ bản về mã độc, các loại mã độc
hiện nay cũng như cách thức hoạt động và phương thức lây nhiễm mã độc phổ biến.
1.1. Tổng quan về mã độc
1.1.1. Khái niệm về mã độc
Theo quan điểm của Viện tiêu chuẩn – công nghệ quốc gia Hoa Kỳ (NIST- National
Institute of Standart and Technology) về định nghĩa và phân loại trong lĩnh vực “Virus máy
tính”, mã độc (Malware) được định nghĩa là một chương trình được chèn một cách bí mật
vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của
hệ thống. Theo định nghĩa này mã độc bao hàm rất nhiều thể loại mà ở Việt Nam vẫn quen
gọi chung là Virus máy tính như Worm, Trojan, Spy-ware, … thậm chí là Virus hoặc các bộ
công cụ để tấn công hệ thống mà các hacker thường sử dụng như Backdoor, Rootkit, Key-
logger.
1.1.2. Tình hình mã độc tại Việt Nam và trên thế giới
Kể từ khi mã độc đầu tiên xuất hiện vào năm 1984 đến năm 2013, theo viện nghiên
cứu độc lập về an toàn thông tin AV-TEST, đã có khoảng hơn 120.000.000 mã độc được
phát tán. Đặc biệt, trong vòng năm năm gần đây, số lượng mã độc phát triển nhanh chóng
trên toàn thế giới đã đặt ra nhiều vấn đề về an ninh thông tin cho toàn bộ những người sử
dụng Internet trên toàn cầu.
8
9
Hình 1: Số lượng mã độc từ 2009 đến 6/2013 theo AV-TEST
Chủng loại mã độc cũng đa dạng và phong phú hơn về cả hành vi và mục đích phát
tán. Các lĩnh vực mà mã độc nhắm đến bao gồm kinh tế, chính trị, tôn giáo và nhiều lĩnh vực
quan trọng khác. Trong năm 2012, thế giới bị rúng động bởi sự hoành hành của Flame và
Duqu, những Virus đánh cắp thông tin mật của các hệ thống điện toán khu vực Trung Đông.
Tại Việt Nam, xu hướng tấn công, phát tán phần mềm có mã độc vào các cơ quan,

doanh nghiệp là hình thái mới của giới tội phạm mạng mang tính chất quốc gia và đã xuất
hiện tại Việt Nam. Bên cạnh các loại mã độc phổ biến thì cũng xuất hiện các dạng mã độc
mới, như mã độc đính kèm trong tập tin văn bản. Hầu hết người nhận được email đã mở tập
tin văn bản đính kèm và bị nhiễm mã độc khai thác lỗ hổng của phần mềm Microsoft Office
(bao gồm cả Word, Excel và PowerPoint). Khi xâm nhập vào máy tính, mã độc này âm thầm
kiểm soát toàn bộ máy tính nạn nhân, mở cổng hậu (Backdoor), cho phép tin tặc điều khiển
máy tính nạn nhân từ xa. Chúng cũng nhận lệnh tin tặc tải các mã độc khác về máy tính để
ghi lại thao tác bàn phím, chụp màn hình, lấy cắp tài liệu.
9
10
Dưới đây là hình 2 mô tả số liệu thống kê từ hãng bảo mật Kaspersky, năm 2012,
Việt Nam nằm trong danh sách 15 nước có tỉ lệ phát tán mã độc nhiều nhất thế giới,
Hình 2: Danh sách 15 nước phát tán mã độc nhiều nhất thế giới
Trước sự gia tăng mạnh mẽ về số lượng và mục đích tấn công của mã độc cũng có
nhiều biện pháp nhằm ngăn chặn và phòng ngừa mã độc như sử dụng các chương trình diệt
Virus, sử dụng các hệ thống tường lửa, IDS, IPS để bảo vệ hệ thống, Tuy nhiên các biện
pháp này chỉ phần nào ngăn chặn được các loại Virus đã được biết đến rộng rãi, còn các biến
thể mã độc hoặc các mã độc mới được sinh ra ngày càng nhiều thì hầu như vô hình trước các
biện pháp bảo vệ trên.
Hình 3: Tình hình mã độc trong tháng 5/2013 theo BKAV
10
11
Tại Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT), để có thể truy ra
nguồn phát tán mã độc và cập nhật nhanh nhất các dấu hiệu về mã độc cho các hệ thống bảo
vệ, thông thường các chuyên viên phải tiến hành phân tích hành vi mã độc bằng phương
pháp thủ công. Nhưng với số lượng mã độc ngày càng nhiều thì việc chỉ dùng phương pháp
phân tích thủ công sẽ không theo kịp tiến độ, do vậy đề tài này nghiên cứu xây dựng một hệ
thống tự động phân tích hành vi mã độc nhằm hỗ trợ công tác chuyên môn, nhanh chóng
nhận diện và phát hiện hành vi của các loại mã độc mới xuất hiện để có biện pháp ứng cứu
sự cố theo đúng chức năng của VNCERT, đồng thời giúp rút ngắn thời gian phân tích mã

độc nhưng lại phân tích được nhiều mã độc hơn trước.
Theo thống kê của VNCERT và hiệp hội an toàn thông tin Việt Nam, trong năm 2012
đã có tới 2.203 website của các cơ quan doanh nghiệp tại Việt Nam bị tin tặc tấn công và
chiếm quyền điều khiển. Sau khi đã kiểm soát thành công một hệ thống mạng hoặc website,
tin tặc thường sử dụng mã độc để duy trì sự điều khiển cũng như để dò tìm và tấn công qua
các hệ thống khác có liên quan đến mạng hiện tại. Bên cạnh đó mã độc cũng là công cụ để
phá hoại dữ liệu và đánh cắp thông tin cá nhân của người dùng, các công cụ diệt Virus phần
lớn thường không phát hiện hoặc phát hiện chậm các loại Virus mới xuất hiện.
1.2. Phân loại mã độc
Trong tài liệu của NIST có một số khác biệt theo định nghĩa và cách hiểu thông
thường về Virus máy tính đang thông dụng. Ngay trong tên của tài liệu đã nêu lên sự khác
biệt, các tác giả nói tới “Malware” chứ không sử dụng thuật ngữ “Virus”. Tại Việt Nam hiện
nay, thuật ngữ “Virus máy tính” được dùng hết sức rộng rãi và bao hàm tất cả các dạng mã
độc hại trên mạng, trong máy tính cá nhân Khi nói đến “Virus máy tính”, một cách rất tự
nhiên tất cả mọi người đều nghĩ Virus bao gồm cả Worm, Trojan, Keylogger. Trong khi theo
định nghĩa của NIST (và gần như là của cả cộng đồng IT) Virus, Worm, Trojan horse,
Adware, Spyware, Backdoor, Botnet, Launcher, Rootkit, chỉ là một dạng của mã độc hại.
Sự khác biệt này dẫn tới một số khó khăn, ví dụ như khi trao đổi với các tổ chức quốc
tế về an toàn thông tin, trao đổi với hỗ trợ kỹ thuật từ các Trung tâm phòng chống Virus của
nước ngoài do không đồng nhất về định nghĩa. Phía Việt nam thông báo “bị Virus tấn công”,
đối tác sẽ gửi lại một chỉ dẫn để quét tập tin bị nhiễm trên PC, nhưng thực chất đó là một
cuộc tấn công của Worm và phải phòng chống trên toàn bộ mạng. Do vậy phần này sẽ tập
trung vào việc phân loại và giới thiệu về một số loại mã độc với các chức năng và mục đích
hoạt động khác nhau.
1.2.1. Virus máy tính
11
12
Trong khoa học máy tính, Virus máy tính (thường được người sử dụng gọi tắt là
Virus) là những chương trình hay đoạn mã được thiết kế để tự nhân bản và sao chép chính
nó vào các đối tượng lây nhiễm khác (tập tin, ổ đĩa, máy tính, ).

Trước đây, Virus thường được viết bởi một số người am hiểu về lập trình muốn
chứng tỏ khả năng của mình nên thường Virus có các hành động phá hoại như làm chương
trình không hoạt động đúng như mong muốn, xóa dữ liệu, làm hỏng ổ cứng,
Những Virus mới được viết trong thời gian gần đây không còn thực hiện các trò đùa
hay sự phá hoại đối máy tính của nạn nhân bị lây nhiễm nữa, mà đa phần hướng đến việc lấy
cắp các thông tin cá nhân nhạy cảm (các mã số thẻ tín dụng, tài khoản, tài liệu mật…) mở
cửa sau cho tin tặc đột nhập chiếm quyền điều khiển hoặc thực hiện các hành động khác
nhằm có lợi cho người phát tán Virus.
Chiếm trên 90% số Virus đã được phát hiện là nhắm vào hệ thống sử dụng hệ điều
hành họ Windows chỉ đơn giản bởi hệ điều hành này được sử dụng nhiều nhất trên thế giới.
Do tính thông dụng của Windows nên các tin tặc thường tập trung hướng vào chúng nhiều
hơn là các hệ điều hành khác. Ngày nay ngoài những mẫu Virus thông thường thì đã xuất
hiện những biến thể Virus khác với các kỹ thuật tinh vi hơn cụ thể là Virus đa hình
(polymorphic) và siêu đa hình (meta-polymorphic).
Hình 4: Virus đính kèm trong các tập tin thực thi
Virus đa hình khác với các loại Virus thông thường ở chỗ Virus thông thường luôn
giữ nguyên mã lệnh của mình, chính vì vậy chúng dễ dàng bị phát hiện bởi các phần mềm
12
13
diệt Virus. Nhưng Virus đa hình có khả năng tự động biến đổi mã lệnh và tạo ra các dạng mã
độc khác nhau (sử dụng thuật toán dựa trên thời gian và đối tượng lây nhiễm) trong mỗi lần
lây nhiễm. Khả năng này giúp cho Virus đa hình có thể lẩn tránh khỏi sự truy quét của các
phần mềm diệt Virus. Virus siêu đa hình là thế hệ cao hơn của Virus đa hình, chúng cao cấp
hơn ở chỗ hình thức lai tạo và kết hợp nhiều kiểu đa hình khác nhau. Khi lây nhiễm chúng sẽ
tự động biến đổi, lai tạp và hình thành các thế hệ Virus con từ F1…Fn. Sau mỗi lần lai tạp
thì khả năng phát hiện ra chúng càng khó khăn, chính vì vậy Virus siêu đa hình hầu hết qua
mắt được các phần mềm diệt Virus không có cơ chế quét sâu và dẫn tới việc quét Virus
không triệt để. Một số Virus siêu đa hình như Vetor, Sality…
1.2.2. Sâu máy tính
Sâu máy tính (Worm): cũng là một dạng mã độc nhưng có khả năng tự nhân bản, tự

tấn công và tự tìm cách lan truyền qua hệ thống mạng (thường là qua hệ thống thư điện tử và
các lỗ hổng trong hệ điều hành). Điểm cần lưu ý ở đây, ngoài tác hại thẳng lên máy bị
nhiễm, nhiệm vụ chính của Worm là phá các mạng thông tin, làm giảm khả năng hoạt động
hoặc có thể được dùng để đánh cắp thông tin nhạy cảm từ các mạng này.
Worm nổi tiếng nhất được tạo bởi Robert Morris vào năm 1988. Nó có thể làm hỏng
bất kì hệ điều hành UNIX nào trên Internet. Trong năm 2001, sâu mật mã đỏ xuất hiện và
tấn công vào các máy Windows để khai thác lỗ hổng trên máy chủ web IIS, sâu này đã tạo ra
một kỷ lục về tốc độ lây lan khi chỉ trong một ngày 19-07-2001 đã có hơn 359.000 máy tính
bị nhiễm.
Hình 5: Mô tả mức độ lây lan của sâu mật mã đỏ năm 2001
1.2.3. Trojan hourse
13
14
Trojan Horse, đây là loại chương trình cũng có tác hại tương tự như Virus máy tính
chỉ khác là nó không tự nhân bản ra. Như thế, cách lan truyền duy nhất là thông qua các thư
điện tử hoặc thông qua các phần mềm miễn phí có đính kèm Trojan. Thông thường, tính
năng chính của Trojan là nhắm đến những nhóm người dùng riêng để thu thập thông tin về
hành vi và thói quen sử dụng internet của họ sau đó gửi các thông tin này về cho tin tặc. Để
trừ loại này người dùng chỉ việc tìm ra tập tin Trojan horse rồi xóa nó đi là xong. Tuy nhiên,
không có nghĩa là không thể có hai con Trojan horse trên cùng một hệ thống. Chính những
kẻ tạo ra các phần mềm này sẽ sử dụng kỹ năng lập trình của mình để sao lưu thật nhiều con
trước khi phát tán lên mạng. Đây cũng là loại mã độc cực kỳ nguy hiểm, nó có thể hủy ổ
cứng, hủy dữ liệu.
Hình 6: Trojan ẩn mình trong các phần mềm miễn phí
1.2.4. Phần mềm gián điệp (Spyware)
Spyware hay còn gọi phần mềm gián điệp là một dạng mã độc nhằm theo dõi những
hoạt động của người dùng và gửi dữ liệu tới người điều khiển chúng để phục vụ cho mục
đích riêng của họ. Ví dụ, những người của những công ty Marketing cố gắng thu thập những
tin tức về người dùng để hỗ trợ cho việc bán hàng được tốt hơn. Ngày nay phần mềm gián
điệp còn được các công ty hay tổ chức chính phủ sử dụng để theo dõi người dùng thông qua

việc nghe lén các cuộc điện đàm hoặc các cuộc hội thảo truyền hình. Spyware thường được
cài đặt bí mật vào máy người dùng trong khi họ mở một tập tin văn bản hoặc cài đặt một ứng
14
15
dụng miễn phí nào đó. Nhiều chương trình Spyware có thể làm chậm kết nối Internet bằng
cách chiếm băng thông đường truyền mạng. Chúng cũng có thể làm cho máy tính của nạn
nhân bị chậm đi vì chiếm tài nguyên như RAM và chu kỳ làm việc của CPU.
Hình 7: Hoạt động của người dùng Spyware ghi lại
1.2.5. Phần mềm tống tiền (Scareware)
Phần mềm tống tiền hay còn gọi Scareware là loại phần mềm giả danh một tổ chức
chính phủ và sử dụng một hệ thống mật mã để mã hóa dữ liệu thuộc về một cá nhân, chẳng
hạn như khóa máy tính người dùng lại và đòi tiền chuộc thì mới cho sử dụng lại.
15
16
Hình 8: Scareware mạo danh FBI tống tiền người dùng
1.2.6. Phần mềm quảng cáo
Phần mềm quảng cáo hay còn gọi Adware thường đính kèm với những mẩu quảng
cáo nhỏ, chúng thường được phân phát dưới hình thức phần mềm miễn phí hay phiên bản
dùng thử. Và chỉ khi bạn trả tiền cho sản phẩm dùng thử đó, các quảng cáo sẽ biến mất tùy
theo chính sách của hãng phần mềm đó. Tuy nhiên, phần mềm gián điệp cũng là một trong
các "biến thể" của phần mềm quảng cáo, chúng đuợc bí mật cài vào máy tính người sử dụng
khi họ đang duyệt web nhằm thu thập thông tin về hành vi duyệt web của người dùng để gửi
đến họ những mẫu quảng cáo thích hợp. Ngày nay bắt đầu xuất hiện nhiều những phần mềm
quảng cáo đính kèm Virus máy tính, sâu hoặc Trojan horse,… có thể gây tổn hại nghiêm
trọng cho một hoặc một hệ thống máy tính.
1.2.7. Downloader
Downloader là một dạng mã độc dùng để tải các mã độc khác về máy người dùng. Để
tải về được các mã độc, Downloader cần kết nối đến một máy chủ chứa mã độc, điều này
khác với thuật ngữ dropper là loại mã độc có chứa sẵn mã độc bên trong nó.
1.2.8. Backdoor

Backdoor là các đoạn mã độc được gài lên máy nạn nhân cho phép tin tặc kết nối để
điều khiển máy tính nạn nhân. Backdoor cho phép kẻ tấn công kết nối đến máy nạn nhân mà
16
17
không cần chứng thực, từ đó kẻ tấn công có thể thực thi các câu lệnh ngay trên máy nạn
nhân.
1.2.9. Botnet
Bot là những chương trình mã độc được cài lên các máy tính nạn nhân và các máy
tính này sẽ nằm trong một mạng lưới được điều khiển bởi tin tặc gọi là mạng Botnet. Tương
tự như backdoor, Botnet cũng cho phép kẻ tấn công truy cập và điều khiển hệ thống máy nạn
nhân. Tất cả các máy bị nhiễm cùng một loại Botnet sẽ cùng nhận một chỉ thị lệnh từ một
máy chủ điều khiển của kẻ tấn công thông qua các kênh như Internet Relay Chat (IRC) hoặc
hệ thống mạng ngang hàng peer-to-peer (P2P). Ngày nay khi đã có trong tay một mạng lưới
bonet, các tin tặc hoặc tổ chức điều khiển Botnet có thể sử dụng chúng như một công cụ
chiến tranh mạng, tiêu biểu là tấn công từ chối dịch vụ vào các mục tiêu cụ thể nhằm làm tê
liệt hệ thống mạng của một tổ chức hoặc thậm chí là hệ thống mạng của một quốc gia.
Hình 9: Công dụng của một mạng Botnet
1.2.10. Launcher
Launcher là những chương trình độc hại được dùng để khởi động các chường trình
độc hại khác. Launcher sử dụng những kỹ thuật phi truyền thống để khởi động những
chương trình độc hại khác nhằm mục đích đánh cắp thông tin hoặc điều khiển máy nạn
nhân.
17
18
1.2.11. Rootkit
Rootkit là những đoạn mã độc được thiết kế nhằm che dấu sự tồn tại của những đoạn
mã độc khác bên trong nó. Rootkit thường được dùng để kết hợp với một mã độc khác như
Backdoor, Keylogger để tin tặc có thể truy cập từ xa vào máy nạn nhân và làm hệ thống gặp
khó khăn trong việc phát hiện ra loại mã độc này. Ví dụ như trong hệ thống Windows,
Rootkit có thể sửa đổi, thay thế file, hoặc thường trú trong bộ nhớ nhằm thay thế, sửa đổi

các lời gọi hàm của hệ điều hành.
1.2.12. Keylogger
Keylogger là phần mềm được dùng để bí mật ghi lại các phím đã được nhấn bằng bàn
phím rồi gửi tới Hacker. Keylogger có thể ghi lại nội dung của email, văn bản, tài khoản và
mật khẩu người dùng, thậm chí cả chụp ảnh màn hình máy tính nạn nhân Một số
Keylogger phổ biến như KeySnatch, Spyster,…
1.3. Cách thức hoạt động và các hành vi của các loại mã độc
1.3.1. Mục đích của mã độc
Mã độc ban đầu được tạo ra nhằm mục đích thí nghiệm, hoặc chỉ phá hoại một máy
tính đơn lẻ nào đó, nhưng theo thời gian đã có những biến thể mã độc được sử dụng chủ yếu
để ăn cắp các thông tin nhạy cảm của người dùng như tài khoản và mật khẩu, các tin tức về
tài chính hoặc thậm chí là các thông tin về quân sự quốc phòng để nhằm mang lại lợi ích cho
tin tặc.
Đôi khi mã độc được sử dụng như một công cụ chính trị chống lại các trang web của
chính phủ, các công ty công nghệ cao để thu thập thông tin được bảo vệ hoặc làm gián đoạn
hoạt động của họ trên môi trường mạng. Một vài cuộc tấn công từ chối dịch vụ sử dụng mã
độc có quy mô lớn như cuộc tấn công vào hệ thống website của Mỹ và Hàn Quốc vào tháng
7/2009 khiến hàng chục website của chính phủ Hàn Quốc và Mỹ bị tê liệt hoạt động. Tại
Việt Nam, năm 2011 trang web của Bộ ngoại giao bị tấn công từ chối dịch phải ngưng hoạt
động, hay gần đây nhất vào tháng 7-2013 một loạt các tờ báo mạng lớn tại cũng phải vất vả
ngăn cản tấn công từ chối dịch vụ.
1.3.2. Hướng lây nhiễm của mã độc
Mã độc có thể đến từ nhiều nguồn khác nhau để lây nhiễm vào máy tính người dùng.
Trong đó tựu trung lại trong ba hình thức sau: Hình thức cổ điển: mã độc lây nhiễm thông
qua các thiết bị lưu trữ di động, trước đây là các ổ đĩa mềm, ổ CD đến bây giờ là các thiết bị
18
19
lưu trữ USB, thẻ nhớ. Lây nhiễm qua thư điện tử: Khi mà thư điện tử được sử dụng rộng rãi
trên thế giới thì mã độc chuyển hướng lây nhiễm sang thư điện tử thay cho các hình thức lây
nhiễm cổ điển. Hình thức này đặc biệt nguy hiểm vì số lượng máy tính bị lây nhiễm sẽ tăng

theo cấp số nhân, khi một máy bị nhiễm thì mã độc sẽ gửi bản sao của nó đến tất cả các địa
chỉ email có trong máy bị nhiễm. Hình thức lây nhiễm qua thư điện tử bao gồm: Lây nhiễm
từ các tập tin đính kèm trong thư điện tử, lây nhiễm do click vào các liên kết trong thư điện
tử và lây nhiễm ngay khi mở để xem thư điện tử. Hình thức lây nhiễm cuối cùng đó là Lây
nhiễm thông qua mạng Internet: bao gồm lây nhiễm do các tập tin tài liệu, phần mềm miễn
phí hay bẻ khóa được chia sẽ trên mạng mà người dùng tải về và chạy trên máy tính, lây
nhiễm do truy cập vào các trang web có chứa mã độc (theo cách vô ý hoặc cố ý), cuối cùng
là lây nhiễm mã độc thông qua các lỗi bảo mật trên các hệ điều hành, các ứng dụng có sẵn
trên hệ điều hành hoặc phần mềm của hãng thứ ba.
1.3.3. Hành vi mã độc
Khi lây nhiễm vào một máy tính, mã độc thường thực hiện một số hành vi nhằm che
dấu sự hoạt động của chúng trước người dùng, đồng thời tạo ra các môi trường để có thể tự
khởi động cùng hệ thống cũng như tải về các mã độc khác. Sau đây là một số hành vi tiêu
biểu nhất mà người phân tích mã độc cần tìm hiểu:
- Sự thay đổi về hệ thống tập tin: Bao gồm việc tạo, thay đổi nội dung hay xóa các tập
tin trên hệ thống.
- Sự thay đổi trong hệ thống Registry: Bao gồm việc tạo ra hoặc sửa đổi các giá trị trong
khóa registry.
- Tiêm nhiễm vào các tiến trình khác đang chạy trên hệ thống.
- Tạo ra các Mutex nhằm tránh việc xung đột khi sử dụng tài nguyên trên máy tính.
- Tạo ra các hoạt động mạng đáng ngờ: Kết nối đến các trang web lạ để tải về mã độc
khác, kết nối đến các máy chủ IRC, thực hiện việc quét các hệ thống bên ngoài,…
- Khởi chạy hoặc cho dừng các dịch vụ trên Windows ví dụ dịch vụ của trình diệt Virus.
1.3.4. Biện pháp để phát hiện mã độc trên máy tính và hệ thống mạng
Ngày nay, mã độc được ví như một dịch bệnh, lan truyền rất nhanh và cách thức hoạt
động cũng như hành vi của mã độc được thay đổi liên tục. Những mã độc ban đầu thường
được thiết kế nhằm làm chậm máy tính hoặc đưa ra các thông báo quảng cáo gây phiền
19
20
nhiễu, tuy nhiên bây giờ các phần mềm độc hại ngày càng kín đáo hơn khi nhiễm vào máy

người dùng. Bất kỳ ai cũng có thể bị nhiễm mã độc ngay lúc này mà không thể phát hiện ra.
Thông thường cách để phát hiện mã độc là sử dụng trình quét Virus để quét toàn bộ máy
tính, nhưng việc này thường tốn thời gian và làm máy tính hoạt động chậm đi. Thậm chí sau
khi quét xong, chúng ta cũng chưa chắc là máy tính là sạch, bởi vì các phần mềm diệt mã
độc chưa phát hiện được các mẫu mã độc mới.
Để có thể phát hiện được mã độc đang chạy trên máy tính, cần sử dụng kết hợp nhiều
công cụ hỗ trợ miễn phí khác nhau để tìm mã độc. Các công cụ này bao gồm: Công cụ giám
sát registry như Regshot, Autoruns, Comodo Autoruns. Công cụ theo dõi tiến trình và tập tin
đang thực thi trên máy như Process XP, KillSwitch. Công cụ theo dõi việc gửi, nhận lưu
lượng mạng như Wireshark, Tcpdump. Công cụ phát hiện Rootkit trên hệ thống như
Kaspersky TDSSKiller. Và cuối cùng để xác định một tập tin có phải là mã độc hay không,
người dùng có thể kiểm tra nó bằng các công cụ quét Virus khác nhau bằng việc sử dụng các
trang quét Virus trực tuyến như .
Với việc kết hợp các công cụ trên lại với nhau sẽ đem lại hiệu quả phát hiện mã độc
cao hơn là dựa vào các dấu hiệu bất thường trên máy hay sử dụng các trình quét Virus đơn
lẻ.
Đối với các hệ thống mạng, có thể sử dụng các công cụ phát hiện và ngăn ngừa xâm
nhập như IDS hay IPS hoặc tường lửa để phát hiện mã độc. Các công cụ bảo vệ này sẽ dựa
theo một số dấu hiệu được người dùng định nghĩa trước hoặc các dấu hiệu bất thường để
phát hiện các hành vi của mã độc trên hệ thống.
1.3.5. Một số biện pháp ngăn ngừa mã độc lây nhiễm vào máy và hệ thống mạng
1.3.5.1. Tránh chạy các phần mềm từ các nguồn không tin cậy
Trước khi chạy một chương trình nào, người dùng cần hiểu rõ về nó. Đối với các
phần mềm chưa rõ nguồn gốc cần quét nó bằng trình diệt Virus trên máy tính, kế đến kiểm
tra bằng các chương trình miễn phí chuyên quét mã độc như HitmanPro hay Malwarebytes
Anti-Malware. Cuối cùng có thể sử dụng các trang web quét mã độc trực tuyến như
hay sử dụng các công cụ sandbox để chắc chắn rằng phần mềm đang
định chạy là phần mềm sạch.
1.3.5.2. Tải phần mềm từ các nguồn an toàn và không sử dụng phần mềm đã bẻ khóa
Khi bắt đầu tìm kiếm và tải về các phần mềm, người dùng có thể phát hiện trang web

đang định tải có độc hại hay không bằng cách sử dụng các công cụ miễn phí như Web of
20
21
Trust hay Norton Safe Web. Gặp các trang web độc hại các công cụ sẽ đưa ra cảnh báo và
khuyên người dùng rời khỏi trang web.
Việc sử dụng các phần mềm có đính kèm Keygen, Cracks và Patches là con đường để
mã độc xâm nhập vào máy tính phổ biến nhất. Do vậy để an toàn, người dùng không nên sử
dụng các phần mềm này trên các hệ thống quan trọng.
1.3.5.3. Cảnh giác khi online trên môi trường mạng
Việc tìm kiếm một thông tin trên môi trường mạng không phải lúc nào thông tin đó
cũng đúng 100%. Ai cũng có thể cung cấp thông tin lên mạng, do vậy cần tỉnh táo để xác
nhận thông tin nào là đáng tin cậy. Đối với các Email lạ có đính kèm tập tin hay thông báo
về việc trúng thưởng hay nhận được tiền thưởng thường tiềm ẩn nhiều nguy cơ lừa đảo cao.
Do vậy sự cảnh giác của người dùng máy tính cũng là một phần quan trọng trong việc ngăn
ngừa mã độc tấn công.
1.3.5.4. Luôn để máy tính được cập nhật và bảo mật nhất có thể
Một điều quan trọng để tăng khả năng phòng mã độc đó là để hệ điều hành máy tính
cũng như các trình diệt Virus cần luôn được cài bản cập nhật mới nhất. Việc cập nhật các
bản vá lỗi kịp thời sẽ giúp máy tính không bị tấn công vào các lỗ hổng bảo mật đã được
công bố. Bên cạnh đó, đôi khi việc sử dụng một trình diệt Virus là không đủ và người dùng
cần có một hệ thống bảo vệ nhiều lớp để hỗ trợ cho nhau. Nên kết hợp giữa trình diệt Virus
với hệ thống phát hiện xâm nhập với tường lửa và một hệ thống sandbox như Sandboxie để
mang lại hiệu quả cao nhất.
1.4. Phương thức lây nghiễm của mã độc
Phương thức lây nhiễm của mã độc tùy thuộc các biến thể (hay các loại mã độc) phổ
biến như: Virus, Worm, Trojan…
1.4.1. Phương thức lây nhiễm của Virus
Dựa trên hành vi, Virus được chia thành 2 loại:
- Nonresident virues: là loại Virus tìm kiếm các máy chủ có thể bị nhiễm và lây nhiễm
sang các mục tiêu này và cuối cùng chuyển điều khiển tới chương trình ứng dụng mà

chúng lây nhiễm.
- Resident virues: là loại Virus không tìm kiếm các máy chủ mà thao vào đó chúng tải vào
bộ nhớ để thực thi và kiểm soát chương trình chủ. Virus này được hoạt động ở chế độ
nền và lây nhiễm vào các máy chủ mới khi các tập tin được truy cập bởi các chương
trình hoặc hệ điều hành ở các máy tính khác.
21
22
Noresident virues bao gồm một mô-đun tìm kiếm và một mô-đun nhân bản. Các mô-
đun tìm kiếm chịu trách nhiệm cho việc tìm kiếm các tập tin mới để lây nhiễm. Với mỗi tập
tin thực thi mà mô-đun tìm kiếm phát hiện, nó sẽ gọi tới mô-đun nhân bản để lây nhiễm vào
các tệp tin này.
Resident virues gồm một mô-đun nhân bản hoạt động tương tự như mô-đun nhân bản
của Nonsident virues. Tuy nhiên, mô-đun nhân bản này không được gọi bởi mô-đun tìm
kiếm. Virus tải mô-đun nhân bản vào trong bộ nhớ khi nó được kichs hoạt và mô-đun này
thực thi tại thời điểm hệ điều hành thực hiện một hoạt động nhất định nào đó.
1.4.2. Phương thức lây nhiễm của Worm (Sâu máy tính)
Yếu tố ban đầu của Worm là một đoạn mã độc hại có vai trò như một công cụ xâm
nhập các lỗ hổng bảo mật nằm trên máu tính và khai thác chúng. Worm sẽ được truyền đi
thông qua lỗ hổng này.
Một khi các đoạn mã độc hãi đã được lây nhiễm vào máy, Worm sẽ sử dụng một
công cụ được thiết kế để dò tìm, phát hiện các máy tính khác được kết nối vào mạng. Từ đó,
nó quét các máy tính trên mạng để xác định vị trí các lỗ hổng, sau đó Worm sẽ sử dụng công
cụ xâm nhập để truy cập vào các máy tính này.
1.4.3. Phương thức lây nhiễm của Trojan
Trojan thường gồm hai thành phần là client và server, khi máy tính của người sử
dụng bị lây nhiễm Trojan thì chúng sẽ biến thành server và một cổng sẽ bị mở ra, chúng sẽ
dùng client để kết nối tới IP của nạn nhân. Server sẽ ẩn trong bộ nhớ và nó tạo nên những
thau đổi trong hệ thống.
Trojan sẽ tạo thêm đường khởi động vào registry hoặc trong các file autoexec.bat,
win.ini hoặc các file hệ thống khác, do vậy mà server sẽ tự khởi động khi Windows làm việc

trong các phiên tiếp theo.
1.5. Kết luận Chương 1
Trong chương này luận văn đã nghiên cứu các kiến thức cơ bản về mã độc, tổng quan
về tình hình mã độc hiện nay tại Việt Nam và trên thế giới. Nội dung luận văn đã trình bày
được các loại mã độc hiện nay, cách thức hoạt động của mã độc, các hướng lây nhiễm của
mã độc và đưa ra các biện pháp phát hiện mã độc trên máy tính, các biện pháp ngăn ngừa mã
độc.
22
23
Trong chương tiếp theo, luận văn sẽ nghiên cứu đến các kỹ thuật và phương pháp
phân tích mã độc chủ yếu hiện nay.
CHƯƠNG 2: NGHIÊN CỨU CÁC KỸ THUẬT VÀ PHƯƠNG
PHÁP PHÂN TÍCH MÃ ĐỘC
Nội dung của chương sẽ trình bày các kỹ thuật phân tích mã độc, đi sâu vào 2
phương pháp phân tích mã độc chính, đưa ra môi trường có thể thực hiện được việc phân
tích mã độc và các công cụ hỗ trợ phân tích mã độc hiện nay.
2.1. Nghiên cứu các kỹ thuật phân tích mã độc
23
24
2.1.1. Mục đích kỹ thuật phân tích mã độc
Khi việc sử dụng các biện pháp bảo vệ máy tính như trình diệt Virus hay các hệ thống
tường lửa chưa phát huy hết hiệu quả trong việc nhận dạng và ngăn chặn mã độc mới thì cần
thực hiện việc phân tích mã độc. Mục đích phân tích mã độc chủ yếu để cung cấp các thông
tin cần thiết để xây dựng hệ thống bảo vệ và ngăn ngừa các nguy cơ do mã độc gây ra, bao
gồm xác định chính xác những gì xảy ra khi thực thi mã độc, như các tập tin nào được mã
độc sinh ra, các kết nối ra mạng bên ngoài được mã độc thực hiện, những thay đổi về
registry liên quan đến mã độc, các thư viện và vùng nhớ liên quan đến hoạt động của mã
độc…Việc phát hiện ra hành vi mã độc sẽ giúp tạo ra các dấu hiệu nhận dạng mã độc để áp
dụng vào hệ thống lọc bảo vệ mạng như dấu hiệu về host-base và dấu hiệu nhận dạng về
mạng.

Dấu hiệu nhận dạng host-base: được dùng để phát hiện mã độc trên máy tính nạn
nhân. Những dấu hiệu này bao gồm các tập tin được tạo ra hoặc thay đổi bởi mã độc hoặc là
những thay đổi trong registry. Không giống với cách nhận biết trên các trình diệt Virus, dấu
hiệu host-base chủ yếu tập trung vào những gì mã độc làm trên hệ thống bị nhiễm, điều này
sẽ hiệu quả hơn khi mã độc tự động thay đổi hình thái hoặc tự xóa khỏi đĩa cứng.
Dấu hiệu nhận dạng về mạng: được dùng để phát hiện mã độc bằng cách giám sát lưu
lượng mạng trong hệ thống. Dấu hiệu nhận dạng về mạng có thể được tạo mà không cần quá
trình phân tích mã độc, tuy nhiên dấu hiệu nhận dạng mạng sẽ hiệu quả hơn nếu được tạo
với trợ giúp của quá trình phân tích mã độc.
Sau khi thu thập dấu hiệu nhận dạng, mục tiêu cuối cùng đó là tìm hiểu chính xác mã
độc hoạt động như thế nào, tức là làm rõ mục đích và khả năng của chương trình mã độc.
Để phân tích mã độc thông thường chúng ta có hai hướng: phân tích sử dụng các hệ
thống tự động và phân tích thủ công gồm phân tích hoạt động và phân tích bằng cách đọc mã
thực thi của mã độc.
2.1.2. Các kỹ thuật phân tích mã độc
- Các kỹ thuật phân tích mã độc:
• Phân tích tĩnh (Code static analysis),
• Phân tích động (Behavioral dynamic analysis),
• Gỡ rối (Debug),
• Điều tra hành vi của mã độc (Malware forensics).
- Trong đó 2 kỹ thuật chủ yếu là: phân tích tĩnh và phân tích động và mỗi phương pháp
đều có điểm mạnh và điểm yếu riêng:
24
25
• Cả 2 phương pháp này cùng có mục đích là giải thích cách hoạt động của mã độc, công
cụ, tuy nhiên thời gian làm việc và kỹ năng cần có thì lại rất khác nhau,
• Phân tích tĩnh thường đòi hỏi người phân tích xem xét kỹ mã của Virus (đã được
chuyển sang dạng có thể hiểu được, như Assembly, hay C), hiểu được luồng thực thi
và các hành vi của nó thông qua mã đã dịch ngược,
• Phân tích động là phân tích cách hoạt động của Virus khi nó được thực thi, nó kết nối

đến đâu, lây lan như thế nào, cài đặt những gì vào hệ thống, thay đổi thành phần nào,
hoạt động ra sao.
- Ví dụ:
• Phương pháp tĩnh, với những loại Virus phức tạp, thì để đọc hiểu được hết mã thực thi
của nó là một việc rất khó; tuy nhiên phương pháp này cung cấp cho người phân tích
cái nhìn hết sức chính xác về những gì mà nó làm.
• Phương pháp phân tích động, có ưu điểm là quá trình phân tích diễn ra nhanh hơn, dễ
dàng hơn; tuy nhiên, không phải hành vi nào cũng phân tích được, đơn cử như những
loại Virus phát hiện ra công cụ phân tích thì nó sẽ không hoạt động nữa, hoặc Virus
chờ đến một lúc nào đó mới hoạt động.
- Vì thế, khi phân tích mã độc cần phải kết hợp cả 2 phương pháp trên để đạt được hiệu
quả tốt nhất.
- So sánh ưu điểm và nhược điểm của các phương pháp phân tích Malware:
Ưu điểm Nhược điểm
Static
analysis
- Không thực hiện việc
chạy mã độc, giảm thiểu nguy
cơ lây lan và phá hủy hệ thống.
- Phân tích Malware
dựa trên việc phân tích các cấu
trúc tệp tin, phân tích định
dạng file.
- Không thực
hiện việc chạy Malware,
khó biết được hoạt động
của Malware.
- Phân tích và
reverse code đưa về
dạng assembly, đòi hỏi

phải có kinh nghiệm lập
trình
Dynami
c analysis
- Giám sát được các
hoạt động của Malware qua
việc thực hiện chạy Malware.
- Giám sát được các tác
động của Malware lên hệ
thống.
- Xác định được ảnh
hưởng của Malware lên hệ
- Khi thực hiện
chạy Malware khiến hệ
thống đối mặt với những
nguy cơ và rủi ro về an
toàn thông tin.
- Đôi khi rất khó
có thể thực thi được
phần mềm độc hại do
cần tham số để thực thi.
25

×