Tải bản đầy đủ

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

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


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

Chuyên Ngành : Khoa Học Máy Tính
Mã số

: 60 48 01 01

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

Giáo viên hướng dẫn: TS. Hồ Văn Canh

Thái Nguyên - 2015


3

LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn đến Thầy giáo - TS Hồ Văn Canh, người đã
trực tiếp, tận tâm hướng dẫn, giúp đỡ, cung cấp tài liệu và tạo mọi điều kiện
thuận lợi cho em nghiên cứu thành công luận văn tốt nghiệp của mình.
Em xin chân thành cảm ơn các các thầy cô trong khoa đào tạo sau đại
học trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên đã
trang bị cho em những kiến thức cơ bản trong những năm học tập tại trường
để em có thể hoàn thành tốt bản luận văn tốt nghiệp này.
Xin chân thành cảm ơn các anh chị và các bạn học viên trong lớp cao
học K12D- trường Đại học Công nghệ Thông tin và Truyền thông Thái
Nguyên đã luôn động viên giúp đỡ và nhiệt tình chia sẻ những kinh nghiệm
học tập, cồn tác trong suốt khóa học.
Do thời gian có hạn nên bản luận văn tốt nghiệp này còn rất nhiều thiếu
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à




4

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.


5

MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
LỜI CAM ĐOAN ............................................................................................ iv
MỤC LỤC ......................................................................................................... v
DANH MỤC HÌNH ẢNH .............................................................................viii
MỞ ĐẦU ........................................................................................................... 1
CHƯƠNG I: TỔNG QUAN VỀ TẤN CÔNG MẠNG MÁY TÍNH ............... 3
1.1. TỔNG QUAN VỂ ỨNG DỤNG WEB VÀ TẤN CÔNG TIN HỌC ... 3
1.1.1. Khái niệm ứng dụng Web và tấn công tin học ............................... 3
1.1.2. Cơ chế hoạt động của ứng dụng Web ............................................. 6
1.1.3. Thực trạng của tấn công tin học hiện nay ....................................... 7
1.2. QUY TRÌNH TẤN CÔNG MẠNG MÁY TÍNH .................................. 8
1.2.1. Thu thập thông tin ở mức hạ tầng của mục tiêu ............................. 9
1.2.2. Khảo sát ứng dụng Web ................................................................ 12
1.2.3. Tấn công tin học............................................................................ 13
1.3. KỸ THUẬT TẤN CÔNG MÁY TÍNH SỬ DỤNG ỨNG DỤNG
WEB(Web, Mail, Telnet …) ....................................................................... 14
1.3.1. Kiểm soát truy cập Web (Web Access Control)........................... 14
1.3.2. Chiếm hữu phiên làm việc(Session Mangement) ......................... 14
1.3.2.1. Ấn định phiên làm việc (Session Fixation)............................ 14
1.3.2.2. Đánh cắp phiên làm việc (Session Hijacking) ..................... 15
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ệ ... 15
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)............................................................. 15
1.3.3.2. Tràn bộ đệm (Buffer OverFlow)............................................ 15
1.3.3.3. Mã hoá URL (URL Encoding) .............................................. 15
1.3.3.4. Kí tự Meta (Meta-characters) ................................................ 16


6

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


vii

CHƯƠNG III XÂY DỰNG VÀ THỬ NGHIỆM CHƯƠNG TRÌNH QUÉT
THĂM DÒ TRONG MẠNG MÁY TÍNH ..................................................... 47
3.1. TÌNH HÌNH ATTT MẠNG MÁY TÍNH THẾ GIỚI VÀ TRONG
NƯỚC ......................................................................................................... 47
3.1.1. Tình hình ATTT mạng máy tính thế giới ..................................... 47
3.1.2. Tình hình ATTT mạng máy tính trong nước ................................ 49
3.2. ĐẶC TẢ CHƯƠNG TRÌNH ............................................................... 52
3.2.1 Tổng quan ..................................................................................... 52
3.2.2. Cơ sở lý thuyết để quét thăm dò mạng máy tính chuyên dùng .... 53
3.2.2.1. Cơ sở lý thuyết quét thăm dò ................................................. 53
3.2.2.2. Cơ sở lý thuyết xâm nhập và thu thập thông tin trên hệ thống
mục tiêu
....................................................................................................... 55
3.2.3. Yêu cầu.......................................................................................... 56
3.3. XÂY DỰNG CHƯƠNG TRÌNH......................................................... 57
3.3.1. Thiết kế giao diện.......................................................................... 57
3.2.2. Lưu đồ hoạt động các module chính của chương trình ................ 60
3.4.1. Cài đặt ........................................................................................... 63
3.4.2. Thử nghiệm chương trình SmartScan ........................................... 63
3.4.2.1. Quét một miền địa chỉ IP ....................................................... 63
3.4.2.2. Sử dụng biện pháp trinh sát ................................................... 66
3.4.2.3. Phá hoại máy đối tượng (Xóa các tập tin quan trọng trong hệ
điều hành – Khóa bàn phím) ............................................................... 66
3.4.2.4. Chặn bắt gói tin và thu thập thông tin.................................... 67
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


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
Hình 3.7: Giao diện From “ Thu thập và khai thác thông tin” ....................... 59
Hình 3.8: Lưu đồ hoạt động của module Ping host ........................................ 60
Hình 3.9: Lưu đồ hoạt động của module Scan host ........................................ 61
Hình 3.10: Lưu đồ hoạt động của module quét cổng...................................... 62
Hình 3.11: Giao diện khảo sát thông tin mạng ............................................... 66
Hình 3.12: Giao diện thu thập và khai thác thông tin ..................................... 67


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Máy tính và mạng máy tính có vai trò hết sức quan trọng trong cuộc
sống ngày nay. Ngày nay trong bất kỳ lĩnh vực nào cũng cần đến công nghệ,
máy tính rất hữu ích với chúng ta. Chính nhờ có máy tính và sự phát triển của
nó đã làm cho khoa học kỹ thuật phát triển vượt bậc, kinh tế phát triển nhanh
chóng và thần kỳ.
Cùng với sự ra đời và phát triển của máy tính và mạng máy tính là
những vấn đề an toàn mạng, an toàn dữ liệu và bảo mật thông tin ngăn chặn
nguy cơ bị lây nhiễm virus, sự xâm phạm, đánh cắp thông tin trong máy tính
và các thông tin cá nhân trên mạng máy tính, khi mà ngày càng có nhiều đối
tượng tìm cách xâm nhập và phá huỷ dữ liệu quan trọng làm thiệt hại đến
kinh tế của các công ty, tổ chức, các ban ngành trong chính phủ nói riêng và
toàn xã hội nói chung.
Cho đến nay việc nghiên cứu để "quét" thăm dò máy đối phương luôn
được quan tâm hàng đầu không chỉ của cơ quan an ninh mà còn ở các cơ quan
đặ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.


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
kỹ thuật tấn công máy tính sử dụng ứng dụng web hiện nay.
Chương này là cơ sở để nghiên cứu cơ chế xâm nhập máy đối tượng.
Chương 2: 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.
Chương này đi sâu về kỹ thuật quét thăm dò như: khái niệm, mục đích
và các phương pháp quét thăm dò đang được sử dụng hiện nay.
Chương 3: Xây dựng và thử nghiệm chương trình quét thăm dò
mạng máy tính chuyên dùng.
Xây dựng, cài đặt chương trình ứng dụng mã nguồn mở quét thăm dò,
thu thập thông tin máy đối tượng. Trên cơ sở thử nghiệm chương trình luân
văn phân tích đánh giá kết quả chương trình để ứng dụng vào mạng máy tính.
Chương trình được cài đặt và thử nghiệm quét mạng tại cơ quan Liên đoàn
lao động tỉnh Hà Nam.


3

CHƯƠNG I: TỔNG QUAN VỀ TẤN CÔNG MẠNG MÁY TÍNH
1.1. TỔNG QUAN VỂ ỨNG DỤNG WEB VÀ TẤN CÔNG TIN HỌC
1.1.1. Khái niệm ứng dụng Web và tấn công tin học
Ứng dụng Web là một ứng dụng chủ/khách sử dụng giao thức HTTP để
tương tác với người dùng hay hệ thống khác.
Trình khách dành cho người sử dụng thường là một trình duyệt Web
như Internet Explorer hay Netscape Navigator. Cũng có thể là một chương
trình đóng vai trò đại lý người dùng hoạt động như một trình duyệt tự động.
Người dùng gửi và nhận các thông tin từ trình chủ thông qua việc tác động
vào các trang Web. Các chương trình có thể là các trang trao đổi mua bán, 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:


4

Internet
Explorer

Java Server
Pages

Tomcat

Netscape
Navigato
HTTPs

Opera

XML
HTML

HTTP

Apache
Active
Server Pages

Internet
Information
Server

Serviet

SOAP
COM

EJB

JDBC

CSDL

SQL

PHP
CGI

XML
Dữ liệu

XML
Java
Script

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.


Mô hình hóa hoạt động của một ứng dụng Web:

HTTP yêu cầu

Bức tường lửa

MS SQL,
Oracle, My SQL

Ứng dụng web

Trình
Khách

Trình
Chủ

CSDL

Ứng dụng web
Ứng dụng web

CSDL

Ứng dụng web

I.E.
Netscape
Opera

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


đến một máy tính khác hay không, hay một mạng này có được truy
xuất đến mạng kia hay không.
Người ta thường dùng firewall vào mục đích:


Cho phép hoặc cấm những dịch vụ truy xuất ra ngoài.



Cho phép hoặc cấm những dịch vụ từ bên ngoài truy nhập vào trong.



Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập.

Firewall hoạt động dựa trên gói IP do đó kiểm soát việc truy nhập của máy
người sử dụng.
1.1.2. Cơ chế hoạt động của ứng dụng Web
Đầu tiên trình duyệt sẽ gửi một yêu cầu (request) đến trình chủ Web
thông qua các lệnh cơ bản GET, POST… của giao thức HTTP, trình chủ lúc
này có thể cho thực thi một chương trình được xây dựng từ nhiều ngôn ngữ
như Perl, C/C++… hoặc trình chủ yêu cầu bộ diễn dịch thực thi các trang
ASP, JSP… theo yêu cầu của trình khách.
Tùy theo các tác vụ của chương trình được cài đặt mà nó xử lý, tính
toán, kết nối đến cơ sở dữ liệu, lưu các thông tin do trình khách gửi đến… và
từ đó trả về cho trình khách 1 luồng dữ liệu có định dạng theo giao thức
HTTP, nó gồm 2 phần:
 Header mô tả các thông tin về gói dữ liệu và các thuộc tính, trạng
thái trao đổi giữa trình duyệt và WebServer.
 Body là phần nội dung dữ liệu mà Server gửi về Client, nó có thể

một file HTML, một hình ảnh, một đoạn phim hay một văn bản bất kì.
Theo mô hình ở hình 1.2, với firewall, luồng thông tin giữa trình chủ và
trình khách là luồng thông tin hợp lệ. Vì thế, nếu hacker tìm thấy vài lỗ hổng


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


tính. Đa số sử dụng công nghệ tường lửa (Firewall: 60,93%), phần mềm
chống virus (Anti-Virus: 83,09%), bộ lọc chống thư rác.
Trong thời điểm hiện nay Các công nghệ này đã tăng mạnh so với
những năm trước. Trong đó 33% thừa nhận đang dùng firewall của hãng
Cisco, checkpoint (13%). 24 % tổ chức đang dùng phần mềm diệt virut của
Kasperky, Symantec (21%), BKV (16%), AVG (11%)...
Khảo sát cũng cho thấy vấn đề khó khăn nhất trong thực thi bảo vệ an
toàn cho hệ thống thông tin đó là việc nâng cao nhận thức cho người sử dụng
về bảo mật máy tính (43,73%), sự thiếu hiểu biết về ATTT trong tổ chức
(46,06%), lãnh đạo chưa hỗ trợ đúng mức cần thiết cho ATTT (33,24%).
Theo TS. Vũ Quốc Thành, Phó Chủ tịch, Tổng thư ký VNISA: Trong
vài năm tới sự gia tăng hiểm họa mất ATTT sẽ có tốc độ nhanh hơn sự phát
triển CNTT chung ở Việt Nam. Tấn công sẽ gia tăng ở hầu hết các hình thức
(kể cả loại hình thô sơ nhất) do nhiều lỗ hổng chưa kịp khắc phục, quản lý và
luật pháp chưa chặt chẽ. Tội phạm máy tính sẽ hoạt động theo các phương
thức tiệm cận dần với tội phạm quốc tế. Tấn công các ứng dụng wed sẽ gia
tăng đặc biệt nhằm vào các dịch vụ trực tuyến như thương mại điện tử, chứng
khoán và ngân hàng trực tuyến. Tuy nhiên, sự tăng cường về luật pháp có thể
sẽ làm giảm bớt các vụ việc tấn công này.
1.2. QUY TRÌNH TẤN CÔNG MẠNG MÁY TÍNH
* Định nghĩa Hacker
Có thể hiểu kẻ tấn công (Hacker) bởi những đặc điểm sau[1]:
- Hacker là một người thông minh với kỹ năng máy tính xuất sắc, có
thể tạo ra hay khám phá các phần mềm và phần cứng máy tính.
- Đối với một số hacker, tấn công là một sở thích của họ có thể tấn


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
Unix client, http://www.networksolutions.com/whois, nslookup ID, Sam
spade, http://www.arin.net/whois, dig.


 Bước 2: Scanning (Quét thăm dò):
Phần lớn thông tin quan trọng từ server có được từ bước này, bao gồm
quét cổng, xác định hệ điều hành,... để biết các port trên server, nghe đường
dữ liệu.
Các công cụ: Fping, Icmpenum Ws_ping ProPack, Nmap, SuperScan,
Fscan nmap, Queso, Siphon.
 Bước 3: Enumeration (liệt kê tìm lỗ hổng):
Bước thứ ba là tìm kiếm những tài nguyên được bảo vệ kém, hoặc tài
khoản người dùng mà có thể sử dụng để xâm nhập, bao gồm các mật khẩu
mặc định, các script và dịch vụ mặc định. Rất nhiều người quản trị mạng
không biết đến hoặc không sửa đổi lại các giá trị này.
Các công cụ phụ trợ: Null sessions, DumpACL, sid2user, OnSite Admin
showmount, NAT Legion banner grabbing với telnet, netcat, rpcinfo.
 Bước 4: Gaining access (Tìm cách xâm nhập):
Bây giờ hacker sẽ tìm cách truy cập vào mạng bằng những thông tin có
được ở ba bước trên. Phương pháp được sử dụng ở đây có thể là tấn công vào
lỗi tràn bộ đệm, lấy và giải mã file password, hay brute force (kiểm tra tất cả
các trường hợp) password.
Các công cụ: Tcpdump, L0phtcrack readsmb, NAT, legion, tftp,
pwdump2 (NT) ttdb, bind, IIS, HTR/ISM.DLL.
 Bước 5: Escalating privilege (Leo thang đặc quyền):
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


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).
Công cụ ở đây là các loại Trojan, keylog, creat rogue user accounts,
schedule batch jobs, infect startup files, plant remote control services, install
monitoring mechanisms, replace apps with Trojan.


Công cụ: Members of wheel, administrators cron, At rc, Startup folder,
registry keys, netcat, remote.exe, VNC, BO2K, keystroke loggers, add acct to
secadmin mail aliases login, fpnwclnt.dll.
1.2.2. Khảo sát ứng dụng Web
Phương pháp khảo sát khá phổ biến đó là: Xem mã nguồn và lợi dụng
các lỗi cho phép xem mã nguồn.
Một số ngôn ngữ web thông dụng hiện nay có nhiều lỗi này như Active
Server Pages (ASP), Common Gateway Interface (CGI), ColdFusion Server
(CFM), Hypertext Preprocessor (PHP).
Tìm các site bị lỗi này bằng cách dùng www.google.com, search từ khóa
liên quan. Sử dụng allinurl: trước đoạn string đặc biệt cần kiếm, thì những
trang Web tìm kiếm được chắc chắn sẽ có chuỗi cần tìm.
Ví dụ 1.1:
+) "allinurl:/advadmin" (không có ngoặc kép) thì chỉ liệt kê ra những
trang có URL có dạng : http://tentrangweb.com/advadmin.
+) Tìm các file trên http://www.google.com thì thêm chữ type file: trước
tên file cần tìm trên các chuyên khu web.
Ví dụ 1.2:
+) Muốn tìm file mdb (đây là file chứa mật khẩu của các trang Web,
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)


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
nhập, thì Dos là cách thức cuối cùng mà hacker thường lựa chọn để làm cho
hệ thống không thể hoạt đông được.
Nhận xét:
Việc thu thập thông tin là vô cùng quan trọng cho việc tấn công vào một
hệ thống máy đích. Cho dù tấn công theo phương diện phần cứng hay qua ứng
dụng thì việc thu thập vẫn là cần thiết. Vấn đề là việc thực hiện sẽ theo từng
bước như thế nào. Có thể trong những bước đã nêu, không cần phải đi qua

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

tnu.edu.vn/


theo thứ tự hay qua hết, nhưng việc nắm rõ thông tin của máy đích luôn là
điều kiện tiên quyết để dẫn đến thành công trong việc tấn công. Tùy vào nội
dung thông tin mà thu thập được mà hacker sẽ quyết định tấn công theo kĩ
thuật nào. Do đó, việc bảo mật cho một hệ thống cần đòi hỏi sự kết hợp không
chỉ của riêng nhà quản trị hệ thống mà còn của nhà thiết kế ứng dụng và sự
hợp tác của cả những khách hàng sử dụng ứng dụng.
1.3. KỸ THUẬT TẤN CÔNG MÁY TÍNH SỬ DỤNG ỨNG DỤNG
WEB(Web, Mail, Telnet …)
Sau đây là các khái niệm sơ lược các kĩ thuật tấn công ứng dụng Web đã
được phân loại dựa trên mức độ gây tác hại đối với ứng dụng. Vì khuôn khổ
và thời gian của luận văn là có hạn nên khóa luận chỉ thực hiện tìm hiểu một
số kĩ thuật phổ biến và khả năng phá hoại một hệ thống mạng với mức độ cao.
1.3.1. Kiểm soát truy cập Web (Web Access Control)
Thâm nhập hệ thống qua cửa sau (Back door): Trong quá trình thiết kế
ứng dụng, những người phát triển ứng dụng có thể cài một “cửa sau” (back
door) để sau này có thể thâm nhập vào hệ thống một cách dễ dàng.
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

tnu.edu.vn/


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ệ
thống. Nghiêm trọng hơn nếu ứng dụng được cấu hình để thực thi với quyền
root trên hệ thống.
1.3.3.3. Mã hoá URL (URL Encoding)
Lợi dụng chuẩn mã hóa những kí tự đặc biệt trên URL mà hacker sẽ mã
hoá tự động những kí tự bất hợp lệ - những kí tự bị kiểm tra bằng ngôn ngữ
kịch bản - để vượt qua vòng kiểm soát này.

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

tnu.edu.vn/


1.3.3.4. Kí tự Meta (Meta-characters)
Sử dụng những kí tự đặc biệt, hacker có thể chèn thêm vào dữ liệu gửi
những kí tự trong chuỗi câu lệnh như
1.3.3.9. Thao tác trên tham số truyền (Parameter manipulation)
Những thông tin trao đổi giữa trình chủ và trình duyệt được lưu trữ trong
những biến như biến trên URL, biến ẩn form, cookie…Bởi vì việc kiểm soát
biến chưa được quan tâm đúng mức nên hacker có thể lợi dụng sửa đổi giá trị
biến để đánh cắp phiên làm việc của người dùng hay thay đổi giá trị một món
hàng…
1.3.4. Để lộ thông tin(informational)
Những tập tin và ứng dụng trên hệ thống chứa những thông tin quan
trọng như mã nguồn một trang Web hay tập tin chứa mật khẩu của người
Số hóa bởi Trung tâm Học liệu ĐHTN

tnu.edu.vn/


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×