Nghiên cứu, xây dựng phần mềm smartscan và ứng dụng trong bảo vệ mạng máy tính chuyên dùng - Pdf 33

i

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LẠI TRUNG HÀ

NGHIÊN CỨU, XÂY DỰNG PHẦN MỀM
SMARTSCAN VÀ ỨNG DỤNG TRONG BẢO VỆ
MẠNG MÁY TÍNH CHUYÊN DÙNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2015

ĐẠI HỌC THÁI NGUYÊN
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


ii

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LẠI TRUNG HÀ

NGHIÊN CỨU, XÂY DỰNG PHẦN MỀM
SMARTSCAN VÀ ỨNG DỤNG TRONG BẢO VỆ
MẠNG MÁY TÍNH CHUYÊN DÙNG


sót và hạn chế, rất mong đƣợc sự góp ý của các Thầy Cô giáo và các bạn.
Xin chân thành cảm ơn!
Thái Nguyên, ngày 09 tháng 05 năm 2015
Học viên

Lại Trung Hà

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


iv

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc
ai công bố trong bất kỳ công trình nào khác. Tôi cũng xin cam đoan rằng mọi
sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các thông tin
trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


v

MỤC LỤC


vi

1.3.3.5. Vƣợt qua đƣờng dẫn (Path Traversal) ................................... 16
1.3.3.6. Chèn mã lệnh thực thi trên trình duyệt nạn nhân (Cross- Site
Scripting) ............................................................................................. 16
1.3.3.7. Ngôn ngữ phía máy chủ (Server side includes) ..................... 17
1.3.3.8. Kí tự rỗng (Null Characters) .................................................. 17
1.3.3.9. Thao tác trên tham số truyền (Parameter manipulation) ...... 17
1.3.4. Để lộ thông tin(informational) ...................................................... 17
1.3.5. Từ chối dịch vụ(Denial of service (DoS) ...................................... 18
CHƢƠNG II : KỸ THUẬT QUÉT THĂM DÒ VÀ ỨNG DỤNG TRONG
THU THẬP THÔNG TIN MẠNG MÁY TÍNH ............................................ 19
2.1. TỔNG QUAN MỘT SỐ KỸ THUẬT QUÉT THĂM DÒ MÁY TÍNH
..................................................................................................................... 19
2.1.1. Khái niệm về quét thăm dò máy tính ............................................ 19
2.1.2. Các loại quét thăm dò máy tính .................................................... 20
2.1.2.1. Quét Ping ............................................................................... 20
2.1.2.2. Kỹ thuật kết nối TCP và quét đầy đủ ..................................... 21
2.1.3. Mục đích của quét thăm dò máy tính ............................................ 22
2.1.4. Một số chƣơng trình quét thăm dò máy tính................................. 22
2.2.1. Khái niệm thông tin và an toàn thông tin...................................... 25
2.2.1.1. Khái niệm về thông tin........................................................... 25
2.2.1.2. Bảo đảm an toàn thông tin ..................................................... 26
2.2.2. Một số phƣơng pháp xâm nhập máy tính và thu thập thông tin ... 28
2.2.2.1. Các công cụ tạo Trojan trinh sát ........................................... 28
2.2.2.2. Tƣơng lai của Windows Trojans............................................ 34
2.2.2.3. Quá trình lây nhiễm của Trojan ............................................. 35
2.2.2.4. Các công cụ và kỹ thuật khai thác Trojan: ............................ 39


3.5.1. Những vấn đề đạt đƣợc ................................................................. 67
3.5.2. Những vấn đề hạn chế ................................................................... 68
KẾT LUẬN ..................................................................................................... 69
TÀI LIỆU THAM KHẢO ............................................................................... 70
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


viii

DANH MỤC HÌNH ẢNH

Hình 1.1: Kiến trúc một ứng dụng Web ............................................................ 4
Hình 1.2: Mô hình hoạt động của một ứng dụng Web ..................................... 5
Hình 2.1: Minh họa giao diện của quá trình quét IP: 192.168.1.101.............. 24
Hình 2.2. Minh hoạ giao diện của SuperScan ................................................. 25
Hình 2.3. Minh họa giao diện chƣơng trình STARR PC ................................ 40
Hình 2.4. Thông tin giám sát của chƣơng trình đƣợc thể hiện bằng HTML .. 40
Hình 25. Giao diện chƣơng trình Senna Spy .................................................. 41
Hình 2.6. Giao diện chƣơng trình GodWill 1.6 .............................................. 42
Hình 2.7. Giao diện của chƣơng trình MIME Exploit Sender ........................ 43
Hình 2.8. . Giao diện của chƣơng trình ASPack 2.12 ..................................... 44
Hinh 2.9. Màn hình giao diện Trojan Bo2k .................................................... 45
Hình 3.1: Số lƣợng tấn công mạng chuyên dùng theo quý ............................. 51
Hình 3.2: Số liệu tấn công mạng chuyên dùng theo loại ................................ 51
Hình 3.3: Giao diện From chính ..................................................................... 57
Hình 3.4: Giao diện From Ping Host .............................................................. 58
Hình 3.5: Giao diện From Khảo sát máy ........................................................ 58
Hình 3.6: Giao diện From “ Biện pháp trinh sát” ........................................... 59

đặc biệt nƣớc ngoài vốn đã coi mạng là một môi trƣờng tác nghiệp. Do công
nghệ tin học luôn phát triển cả phần cứng lẫn phần mềm nên vấn đề quét thăm
dò không có sự dừng lại, chúng ta luôn phải tìm ra các điểm yếu của đối thủ,
họ càng cải tiến, vá đắp các "lỗ hổng" thì chúng ta càng phải xây dựng các
chƣơng trình quét sao cho mạnh mẽ hơn, phát hiện đƣợc các điểm yếu mới.
Xuất phát từ vấn đề thực tế nêu trên, chúng tôi đã thực hiện luận văn tốt
nghiệp với đề tài “Nghiên cứu, xây dựng phần mềm SmartScan và ứng
dụng trong bảo vệ mạng máy tính chuyên dùng”.
2. Nội dung nghiên cứu của đề tài
- Tìm hiểu nghiên cứu đề tổng quan về qui trình tấn công máy đối
tƣợng, kỹ thuật quét thăm dò máy đối tƣợng trong mạng máy tính.
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


2

- Tìm hiểu các kỹ thuật thu thập thông tin trên máy đối tƣợng nhƣ: sử
dụng virus Trojan, cài Trojan ...
- Xây dựng và thử nghiệm chƣơng trình quét thăm dò máy đối tƣợng
kết nối mạng nhằm phát hiện các điểm yếu phục vụ tác chiến mạng điện tử.
- Trên cơ sở hiểu đƣợc cơ chế của quét thăm dò có thể ứng dụng trong
việc bảo vệ các mạng máy tính.
3. Bố cục luận văn
Ngoài phần mở đầu và kết luận, luận văn bao gồm 3 chƣơng:
Chƣơng 1: Tổng quan về tấn công mạng máy tính
Luận văn nêu tổng quan về ứng dụng web và tấn công tin học, cơ chế
hoạt động của ứng dụng web, thực trạng của tấn công tin học hiện nay.
Giới thiệu tổng quan về quy trình tấn công máy tính của Hacker và các

diễn đàn, gửi nhận e-mail…
Tốc độ phát triển các kỹ thuật xây dựng ứng dụng Web cũng phát triển
rất nhanh. Trƣớc đây những ứng dụng Web thƣờng đƣợc xây dựng bằng CGI
(Common Gateway Interface) đƣợc chạy trên các trình chủ Web và có thể kết
nối vào các cơ sở dữ liệu đơn giản trên cùng máy chủ. Ngày nay ứng dụng
Web thƣờng đƣợc viết bằng Java (hay các ngôn ngữ tƣơng tự) và chạy trên
máy chủ phân tán, kết nối đến nhiều nguồn dữ liệu.
Một ứng dụng web thƣờng có kiến trúc gồm:

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


4

Internet
Explorer
er

Java Server
Pages

Tomcat

Opera

HTTPs
SS



Java
Script

Dữ liệu

XML

XML

CGI

Hình 1.1: Kiến trúc một ứng dụng Web
 Lớp trình bày: Lớp này có nhiệm vụ hiển thị dữ liệu cho ngƣời dùng,
ngoài ra còn có thể có thêm các ứng dụng tạo bố cục cho trang web.
 Lớp ứng dụng: là nơi xử lý của ứng dụng Web. Nó sẽ xử lý thông tin
ngƣời dùng yêu cầu, đƣa ra quyết định, gửi kết quả đến “lớp trình bày”.
Lớp này thƣờng đƣợc cài đặt bằng các kỹ thuật lập trình nhƣ CGI, Java,
.NET ,PHP hay ColdFusion, đƣợc triển khai trên các trình chủ nhƣ
IBM WebSphere, WebLogic, Apache, IIS,…
 Lớp dữ liệu: thƣờng là các hệ quản trị dữ liệu (DBMS) chịu trách
nhiệm quản lý các file dữ liệu và quyền sử dụng.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


5


HTTP
Trả lời

Apache
IIS

Perl
C/C++
ASP, PHP,…

Kết nối CSDL
ADO, ODC

Hình 1.2: Mô hình hoạt động của một ứng dụng Web
Trong đó:
 Trình khách ( hay còn gọi là trình duyệt): Internet Explorer, Netscap
Navigator.
 Trình chủ: Apache, IIS,….
 Hệ quản trị cơ sở dữ liệu: SQL Server, MySQL, DB2, Access… Bên
cạnh đó, một giải pháp dùng để bảo vệ một hệ thống mạng thƣờng
đƣợc sử dụng là bức tƣờng lửa, nó có vai trò nhƣ là lớp rào chắn bên
ngoài một hệ thống mạng, vì chức năng chính của firewall là kiểm soát
luồng thông tin giữa các máy tính. Có thể xem firewall nhƣ một bộ lọc
thông tin, nó xác định và cho phép một máy tính này có đƣợc truy xuất

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/




7

trong ứng dụng Web thì firewall không còn hữu dụng trong việc ngăn chặn
hacker này. Do đó, các kĩ thuật tấn công vào một hệ thống mạng ngày nay
đang dần tập trung vào những sơ suất (hay lỗ hổng) trong quá trình tạo ứng
dụng của những nhà phát triển Web hơn là tấn công trực tiếp vào hệ thống
mạng, hệ điều hành. Tuy nhiên, hacker cũng có thể lợi dụng các lỗ hổng Web
để mở rộng sự tấn công của mình vào các hệ thống không liên quan khác.
1.1.3. Thực trạng của tấn công tin học hiện nay
Trong thời gian qua, hàng loạt các sự kiện nóng liên quan đến ATTT đã
liên tục xảy ra nhƣ Hacker tấn công hệ thống wedsite, làm tê liệt mạng thông
tin của Chính phủ Mỹ và Chính phủ Hàn Quốc. Hàng loạt ngân hàng lớn trên
thế giới bị mất cắp tiền qua mạng, hay việc phát hiện lỗ hổng lớn trên hệ
thống DNS... Từ đó cho thấy, sự bùng nổ của Internet, của thƣơng mại điện tử
bên cạnh việc tạo ra những cơ hội lớn là những nguy cơ rủi ro cho nền kinh tế
và xã hội hiện đại.
Tại Việt Nam, theo kết quả điều tra: 58,89% ý kiến cho rằng, các cuộc
tấn công mà tổ chức hay gặp phải chủ yếu vẫn là hệ thống nhiễm phải virus
hay worm (những mã độc hại - malware tự lây lan), hoặc hệ thống nhiễm phải
trojan hay rootkit[3] (những mã độc hại - malware[4] không tự lây lan đƣợc).
Tuy nhiên, khả năng nhận biết tấn công thấp, không rõ động cơ tấn
công. 48% tổ chức thừa nhận không rõ nguồn gốc địa chỉ IP tấn công xuất
hiện từ đâu, 73%: không định lƣợng đƣợc thiệt hại khi bị tấn công, 53%:
không có quy trình thao tác chuẩn để phản ứng lại những cuộc tấn công bằng
máy tính đó.
Đa số vẫn sẽ thông báo cho lãnh đạo cấp cao tổ chức (45,77%) hoặc
trong nội bộ phòng, trung tâm tin học (64,14%), nếu tổ chức bị tấn công máy

Số hóa bởi Trung tâm Học liệu - ĐHTN

- Đối với một số hacker, tấn công là một sở thích của họ có thể tấn
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


9

công nhiều máy tính trong mạng.
- Mục đích của họ là tìm hiểu kiến thức hoặc phá hoại bất hợp pháp.
- Một số mục đích xấu của hacker từ việc tấn công nhƣ: đánh cắp dữ
liệu kinh doanh, thông tin thẻ tín dụng, sổ bảo hiểm xã hội, mật khẩu e-mail.
* Phân loại hacker
- Black Hat Hacker: Ngƣời có kỹ năng tính toán xuất sắc, có hành động
phá hoại nhƣ là cracker.
- White Hat Hacker: Ngƣời biết nhiều kỹ năng của hacker và sử dụng
chúng cho các hành vi phòng thủ ví dụ nhƣ là chuyên gia phân tích an ninh.
- Suicide Hat Hacker: Ngƣời tấn công các cơ sở hạ tầng quan trọng quy
mô rộng mà không cần quan tâm đến thiệt hại và trách nhiệm về việc đó.
- Graph Hats Hacker/Grey Hat Hacker: Ngƣời làm việc cả hai việc tấn
công và phòng thủ ở những thời điểm khác nhau.
Theo tài liệu Hacking Exposed của Stuart McClure, Joel Scambray,
George Kurtz thì các kẻ tấn công thƣờng thực hiện các giai đoạn sau khi tấn
công:
1.2.1. Thu thập thông tin ở mức hạ tầng của mục tiêu
 Bƣớc 1: FootPrinting (thu thập thông tin):
Đây là cách mà hacker làm khi muốn lấy một lƣợng thông tin tối đa về
máy chủ/doanh nghiệp/ngƣời dùng, bao gồm chi tiết về địa chỉ IP, Whois,
DNS … - là những thông tin chính thức có liên quan đến mục tiêu.
Công cụ hỗ trợ: UseNet, search engines (công cụ tìm kiếm), Edgar Any

Trong trƣờng hợp hacker xâm nhập đƣợc vào mạng với một tài khoản
nào đó, thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Hacker sẽ tìm cách

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


11

crack password của admin, hoặc sử dụng lỗ hổng để leo thang đặc quyền.
John và Riper là hai chƣơng trình crack password rất hay đƣợc sử dụng.
Công cụ: L0phtcrack, Ic_messages, getadmin, sechole.
 Bƣớc 6: Pilfering (Dùng khi các file chứa pass bị sơ hở):
Thêm một lần nữa các máy tìm kiếm lại đƣợc sử dụng để tìm các phƣơng
pháp truy cập vào mạng. Những file text chứa password hay các cơ chế không
an toàn khác có thể là đích cho hacker. Thông tin lấy từ bƣớc trên đủ để ta
định vị server và điều khiển server.
Công cụ hỗ trợ: Rhost, LSA Secrets user data, configuration files,
Registry.
 Bƣớc 7: Covering Tracks (Xoá dấu vết) :
Sau khi đã có những thông tin cần thiết, hacker tìm cách xoá dấu vết, xoá
các file log của hệ điều hành làm cho ngƣời quản lý không nhận ra hệ thống
đã bị xâm nhập hoặc có biết cũng không tìm ra kẻ xâm nhập là ai.
Công cụ: Zap, Event log GUI, rootkits, file streaming.
 Bƣớc 8: Creating Backdoors (Tạo cửa sau chuẩn bị cho lần xâm nhập
tiếp theo đƣợc dễ dàng hơn):
Hacker để lại "Back Doors", tức là một cơ chế cho phép hacker truy
nhập trở lại bằng con đƣờng bí mật không phải tốn nhiều công sức, bằng việc
cài đặt Trojan hay tạo user mới (đối với tổ chức có nhiều user).

dùng Access để mở) thì vào http://www.google.com và đánh type file:mdb.
+) Tìm file SAM (đây là file chứa Password của Windows NT, dùng
L0phtCrack để Crack) thì vào http://www.google.com và đánh type file:SAM
 Tấn công vƣợt qua các cơ chế kiểm soát( authentication,
authorization)
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


13

Bao gồm các phƣơng pháp nhƣ đoán mật khẩu, thay đổi thông tin
cookies, các kĩ thuật directory traversal, leo thang đặc quyền, các phƣơng
pháp tấn công dựa vào SQL, SQL injection...
 Tìm hiểu sâu về các chức năng của ứng dụng web
Tìm hiểu cách thực hiện của các phần trong ứng dụng, đặc biệt nhƣ các
order input, confirmation, order tracking. Ở đây ta có thể áp dụng các phƣơng
pháp nhƣ SQL Injection, input validation...
 Tìm hiểu luồng di chuyển của thông tin
Các thông tin tƣơng tác giữa client và server, các thông tin tƣơng tác với
database. Hiện nay việc viết mã để thực hiện việc giao tiếp thông tin thƣờng
phải đảm bảo đƣợc tính hiệu quả (nhanh), và bảo mật (có thể sẽ chậm hơn).
Thƣờng thì tính hiệu quả đƣợc ƣu tiên hơn do đó có thể sẽ phát sinh lỗi trong
quá trình đó và giúp hacker có thể lợi dụng các lỗi nhƣ SQL input... để đoạt
quyền điều khiển hệ thống.
1.2.3. Tấn công tin học
Sau khi đã thu thập và khảo sát kỹ càng đối tƣợng, hacker bắt đầu thực
hiện tấn công nhằm xâm nhập vào hệ thống lấy thông tin, đƣa thông tin xấu
vào, dành quyền kiểm soát… Còn nếu không thành công trong việc xâm

1.3.2. Chiếm hữu phiên làm việc(Session Mangement)
1.3.2.1. Ấn định phiên làm việc (Session Fixation)
Là kĩ thuật tấn công cho phép hacker mạo danh ngƣời dùng hợp lệ bằng
cách gửi một session ID hợp lệ đến ngƣời dùng, sau khi ngƣời dùng đăng
nhập vào hệ thống thành công hacker sẽ dùng lại session ID đó và nghiễm
nhiên trở thành ngƣời dùng hợp lệ.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


15

1.3.2.2. Đánh cắp phiên làm việc (Session Hijacking)
Là kĩ thuật tấn công cho phép hacker mạo danh ngƣời dùng hợp lệ sau
khi nạn nhân đã đăng nhập vào hệ thống bằng cách giải mã session ID của họ
đƣợc lƣu trữ trong cookie hay tham số URL, biến ẩn của form.
1.3.3. Lợi dụng các thiếu sót trong việc kiểm tra dữ liệu nhập hợp lệ
Hacker lợi dụng những ô nhập dữ liệu để gửi đi một đoạn mã bất kì
khiến cho hệ thống phải thực thi đoạn lệnh đó hay bị phá vỡ hoàn toàn.
1.3.3.1. Kiểm tra tính đúng đắn của dữ liệu bằng ngôn ngữ phía trình duyệt
(Client-Side validation)
Do ngôn ngữ phía trình duyệt( JavaScript, VBScript..) đƣợc thực thi
trên trình duyệt nên hacker có thể sửa đổi mã nguồn để có thể vô hiệu hóa sự
kiểm tra.
1.3.3.2. Tràn bộ đệm (Buffer OverFlow)
Một khối lƣợng dữ liệu đƣợc gửi cho ứng dụng vƣợt quá lƣợng dữ liệu
đƣợc cấp phát khiến cho ứng dụng không thực thi đƣợc câu lệnh dự định kế
tiếp mà thay vào đó phải thực thi một đoạn mã bất kì do hacker đƣa vào hệ

hijacking”.
1.3.3.Thêm câu lệnh hệ thống (OS Command Injection)
Khả năng thực thi đƣợc những câu lệnh hệ thống hay những đoạn mã
đƣợc thêm vào trong những tham số mà không có sự kiểm tra chặt chẽ nhƣ
tham số của form, cookies, yêu cầu HTTP Header, và những dữ liệu nguy
hiểm trong những tập tin đƣợc đƣa lên trình chủ. Thành công trong kĩ thuật
này giúp hacker có thể thực thi đƣợc những câu lệnh hệ thống với cùng quyền
của trình chủ.
1.3.2.1. Chèn câu truy vấn SQL (SQL Injection)
Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/


17

Trong lập trình với cơ sở dữ liệu, ngƣời lập trình đã sai sót trong vấn đề
kiểm tra giá trị nhập vào để từ đó hacker lợi dụng thêm vào những câu truy
vấn hay những giá trị không hợp lệ để dễ dàng đăng nhập vào hệ thống.
1.3.3.7. Ngôn ngữ phía máy chủ (Server side includes)
Là khả năng thêm vào những câu lệnh thuộc hệ thống nhƣ nhúng file
(include file), truy xuất cơ sở dữ liệu (jdbc)… khiến cho hacker có cơ hội truy
xuất đến file, cơ sở dữ liệu… mà bình thƣờng không thể xem đƣợc trên Web
site.
1.3.3.8. Kí tự rỗng (Null Characters)
Lợi dụng chuỗi kí tự thƣờng kết thúc bằng \0 mà hacker thƣờng thêm
vào để đánh lừa ứng dụng vì với những ứng dụng sử dụng chƣơng trình CGI
nhƣ C++ thì C++ cho rằng \0 là dấu kết thúc chuỗi.
Ví dụ 1.3:
Hacker thêm chuỗi sau:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status