LậP BáO CáO CHI TIếT Về CáC CÔNG VIệC Đã THựC HIệN 92 CHƯƠNG V: ứNG DụNG THựC Tế 93 ĐáNH GIá ĐIểM YếU AN NINH CủA Hệ THốNG MạNG Và Sử DụNG FOUNDSTONE Để ĐáNH GIá ĐIểM YếU AN NINH 93 5.1
Trang 1Bộ giáo dục và đào tạo
***
Ban cơ yếu chính phủ
***
Học viện Kỹ thuật Mật Mã
Đồ áN TốT NGHIệP
Đề Tài:
Nghiên cứu đánh giá hệ thống an ninh mạng và sử dụng
Foundstone để đánh giá điểm yếu an ninh
Ngành: Tin học (mã số: 01.02.01) Chuyên ngành: An toàn thông tin Khóa: 01 (2004 - 2009)
Cán bộ hướng dẫn khoa
học
: PGS TS Lê Mỹ Tú
Sinh viên thực hiện : Phạm Minh Thuấn
Hà NộI, 05/2014
MụC LụC
MụC LụC 1
DANH MụC HìNH Vẽ 6
DANH MụC CáC SƠ Đồ 7
GIảI THíCH THUậT NGữ 8
LờI Mở ĐầU 10
CHƯƠNG I: MộT Số Lý THUYếT CƠ BảN 13
1.1 MÔ HìNH OSI 13
1.1.1 Khái niệm mô hình OSI 13
1.1.2 Các tầng trong mô hình OSI 13
1.2 GIAO THứC TCP/IP 17
1.2.1 Khái niệm giao thức TCP/IP 17
1.2.2 Các tầng trong giao thức TCP/IP 17
1.3 GIAO THứC UDP 19
1.4
ĐịA CHỉ IP 19
1.5 TELNET 20
1.5.1 Telnet là gì? 20
1.5.2 Một số lệnh căn bản của Telnet 20
1.6 DNS Và DNS SERVER 21
1.6.1 DNS 21
1.6.2 DNS Server 21
1.7 PING 22
Trang 21.7.1 Ping là gì? 22
1.7.2 Cách thức hoạt động của Ping 23
1.8 Hệ ĐIềU HàNH UNIX 23
1.9 Hệ ĐIềU HàNH LINUX 24
1.10 Hệ ĐIềU HàNH WINDOWS 25
CHƯƠNG II: NHữNG ĐIểM YếU TRONG BảO MậT 27
2.1 PHÂN LOạI Lỗ HổNG BảO MậT 27
2.1.1 Các lỗ hổng loại C 27
2.1.2 Các lỗ hổng loại B 27
2.1.3 Các lỗ hổng loại A 29
2.2 NHữNG ĐIểM YếU TRONG BảO MậT 29
2.2.1 Các kẽ hở trong giao thức 29
2.2.1.1 Giao thức SMTP (RFC 821, 2821) 30
2.2.1.2 Giao thức LDAP (RFC 1777, 3384) 30
2.2.1.3 Giao thức DHCP (RFC 2131, 2132, 2224) 30
2.2.1.4 Giao thức FTP (RFC 959, 2228, 2640, 2773) 31
2.2.1.5 Giao thức Telnet (RFC 854-861) 32
2.2.1.6 Giao thức IPSec và SSH 32
2.2.1.7 Giao thức ICMP (RFC 792) 32
2.2.1.8 Giao thức NTP v3 (RFC 1305) 33
2.2.1.9 Giao thức SNMP (RFC 792) 33
2.2.2 Các kẽ hở tồn tại trong hệ điều hành 33
2.2.2.1 Hệ điều hành Unix 33
2.2.2.2 Hệ điều hành Linux 34
2.2.2.3 Hệ điều hành Windows 34
2.2.3 Điểm yếu trong các trang thiết bị mạng 35
2.2.4 Điểm yếu khi cấu hình 36
2.2.5 Chính sách yếu 37
2.2.6 Các kẽ hở do người sử dụng 37
CHƯƠNG III: CáC phương pháp TấN CÔNG MạNG 39
3.1 TổNG QUAN Về CáC BƯớC TấN CÔNG CủA HACKER 39
3.1.1 Thu thập thông tin 39
3.1.2 Dò quét 40
3.1.3 Điểm danh mạng 42
3.2 TấN CÔNG VàO Hệ ĐIềU HàNH WINDOWS 43
3.2.1 Tấn công không xác thực 43
3.2.1.1 Tấn công thông qua các tài nguyên chia sẻ 44
3.2.1.2 Tấn công thông qua lỗ hổng MSPRC 48
3.2.2 Tấn công hệ điều hành Windows sau khi đã vượt qua xác thực 52
3.2.2.1 Leo thang đặc quyền 53
3.2.2.2 Crack Password trong Windows 55
3.3 TấN CÔNG VàO Hệ ĐIềU HàNH LINUX 57
Trang 33.4 TấN CÔNG TRàN Bộ ĐệM 59
3.4.1.Khái niệm tràn bộ đệm 59
3.4.2 Tổ chức bộ nhớ 60
3.4.3 Cách làm việc của hàm 62
3.4.4 Chương trình tràn bộ đệm 64
3.4.5 Chống tấn công tràn bộ đệm 67
3.5 TấN CÔNG Từ CHốI DịCH Vụ 70
3.5.1 Khái niệm 70
3.5.2 Những khả năng bị tấn công bằng DOS 71
3.5.3 Những kiểu tấn công DOS 71
3.5.3.1 Tấn công dựa vào lỗi lập trình ( Programing Flaws) 71
3.5.3.2 Tấn công kiểu SYN Flood 72
3.5.3.3 Kiểu tấn công Land Attack 72
3.5.3.4 Kiểu tấn công UDP flood 73
3.5.3.5 Tấn công kiểu Teardrop 73
3.5.3.6 Kiểu tấn công Smurf Attack 74
3.5.3.7 Tấn công kiểu Winnuke 75
3.5.3.8 Distributed DoS Attacks ( DDos ) 75
3.5.4 Tấn công DDOS thông qua Trin00 75
3.5.5 Các biện pháp phòng chống DOS 76
3.6 TấN CÔNG QUA MạNG KHÔNG DÂY (WLAN) 78
3.6.1 Tấn công bị động 79
3.6.1.1 Quét bị động 80
3.6.1.2 Phát hiện SSID 80
3.6.1.3 Lựa chọn địa chỉ MAC 81
3.6.2 Tấn công chủ động 82
3.6.3 Tấn công Man in the middle 82
3.6.4 Tấn công giả mạo (Wireless Spoofing) 83
3.6.4.1 Giả mạo địa chỉ IP 84
3.6.4.2 Giả mạo địa chỉ MAC 85
3.6.4.3 Chống tấn công giả mạo 86
CHƯƠNG IV: ĐáNH GIá Hệ THốNG AN NINH MạNG 87
4.1 KHảO SáT 87
4.2 XáC ĐịNH NGUY CƠ GÂY MấT AN TOàN TớI Hệ THốNG 88
4.3 XáC ĐịNH CáC ĐIểM YếU TồN TạI TRONG Hệ THốNG MạNG 88
4.3.1 Đánh giá mức độ an toàn hệ thống 88
4.3.2 Đánh giá mức độ an toàn mạng 89
4.3.3 Đánh giá mức độ an toàn ứng dụng 90
4.3.4 Đánh giá mức độ an toàn vật lý 90
4.4 PHÂN TíCH CáC BIệN PHáP Đã áP DụNG ĐốI VớI Hệ THốNG
MạNG 91
Trang 44.5 XÂY DựNG CáC CHíNH SáCH, GIảI PHáP ĐảM BảO AN TOàN AN NINH 91
4.6 LậP BáO CáO CHI TIếT Về CáC CÔNG VIệC Đã THựC HIệN 92
CHƯƠNG V: ứNG DụNG THựC Tế 93
ĐáNH GIá ĐIểM YếU AN NINH CủA Hệ THốNG MạNG Và Sử DụNG
FOUNDSTONE Để ĐáNH GIá ĐIểM YếU AN NINH 93
5.1 MÔ Tả THIếT Bị FOUNDSTONE 93
5.2 CáC TíNH NĂNG CHíNH CủA FOUNDSTONE 95
5.2.1 Tìm kiếm tất cả các tài nguyên đang hiện hữu trong hệ thống mạng 95
5.2.2 Xác định điểm yếu trên tài nguyên mạng 95
5.2.3 Phân tích tương quan các mối nguy hiểm trong hệ thống 96
5.3
ĐáNH GIá ĐIểM YếU AN NINH CủA Hệ THốNG MạNG TầNG 5 – KHOA AN TOàN THÔNG TIN – HọC VIệN Kỹ THUậT MậT Mã 98
5.3.1 Khảo sát 98
5.3.1.1 Phạm vi khảo sát 98
5.4.1.3 Nội dung khảo sát 98
5.3.2 Kết quả đánh giá từ hệ thống dò quét điểm yếu Foundstone 99
5.5 MộT Số KếT QUả ĐáNH GIá KHáC 102
5.5.1 Kết quả đánh giá tại Ngân hàng Nông nghiệp và phát triển Nông thôn 102
5.5.1 Kết quả đánh giá tại Ngân hàng công thương Việt Nam 106
KếT LUậN 109
TàI LIệU THAM KHảO 111
PHụ LụC 112
DANH MụC HìNH Vẽ
Hình 1: Mô hình OSI 14
Hình 2: Các tầng trong giao thức TCP/IP 18
Hình 3: Ví dụ về Ping 23
Hình 4: Bắt tay ba bước trong kết nối TCP 42
Hình 5: Ví dụ về sử dụng nbtstat 45
Hình 6: Ví dụ về sử dụng net view 46
Hình 7: Nội dung file Password.txt 47
Hình 8: Ví dụ đăng nhập thành công với lệnh for 48
Hình 9: Ví dụ quét lỗ hổng bằng phần mềm Retina Network Security
Scanner 50
Hình 10: Kiểm tra địa chỉ sau IP khi đã khai thác thành công vào máy
192.168.1.8 53
Hình 11: Tấn công Smurf Attack 75
Hình 12: Trin00 77
Hình 13: Hình ảnh thiết bị FoundStone 94
Hình 14: Kiến trúc mở của FoundStone 95
Hình 15: Hiển thị dạng đồ họa trong Foundstone Threat Compliance View 97
Trang 5Hình 16: Mức độ rủi ro bảo mật trong từng thời điểm và mứcđộ biến thiên theo thời gian trong Foundstone 98
Hình 17: Các sự kiện trong Foundstone Threat Corelation Module 98
Hình 18: Sơ đồ hệ thống mạng tầng 5 – khoa ATTT- HVKTMM 99
Hình 19: Danh sách 15 hệ điều hành xuất hiện nhiều nhất 101
Hình 20: Số lượng các điểm yếu được phát hiện bởi Foundstone 101
Hình 21: Danh sách 15 node mạng xuất hiện nhiều điểm yếu an ninh nhất 102
Hình 22: Sơ đồ mạng tại Ngân hàng Nông nghiệp và phát triển Nông thôn 104
Hình 23: Sơ đồ mạng tại Ngân hàng công thương Việt Nam 107
DANH MụC CáC SƠ Đồ
Sơ
đồ 1: Sơ đồ tổ chức bộ nhớ 60
Sơ
đồ 2: Push một giá trị vào stack 61
Sơ
đồ 3: Pop một giá trị ra khỏi stack 62
Sơ
đồ 4: Sơ đồ ví dụ về chương trình tràn bộ đệm 65
GIảI THíCH THUậT NGữ
Danh mục các từ viết tắt:
OSI : Open Systems Interconnection
IP : Internet Protocol
TCP : Transmission Control Protocol
PC : Personal Computer
DNS : Domain Name System
ICMP : Internet Control Message Protocol
SMTP : Simple Mail Transfer Protocol
SNMP : Simple Network Management Protocol
Trang 6 IPSec : Internet Protocol Security
SSL : Secure Socket Layer
SSH : Secure Socket Shell
NAT : Network Address Translation
NTP : Network Time Protocol
PAT : Port Address Translation
NIS : Network Information Service
NFS : Network File System
TTL : Time to live
CTĐT : Chuyển tiền điện tử
ĐT
: Trao đổi dữ liệu điện tử
HĐH : Hệ điều hành
CSDL : Cở sở dữ liệu
Danh mục các từ chuyên môn – thuật ngữ:
Trang 7 Server: Máy chủ
Client: Máy trạm
Host: Một máy tính nào đó, có thể là máy chủ hoặc máy trạm hoặc máy tính
cá nhân
Hacker: Kẻ tấn công
Victim: Đối tượng tấn công của hacker
User: Người sử dụng
Username và Password: Là tên đăng nhập và mật khẩu để người sử dụng có thể truy nhập vào hệ thống
Account: Tài khoản của người sử dụng, được xác định dựa trên username và password
Daemon: Là một chương trình chạy trên một cổng nhất định nào đó Nó sẽ chịu đáp ứng lại mọi yêu cầu của client khi client kết nối đến server trên cổng đó Ví dụ như smtp daemon theo mặc định chạy trên cổng 25 Để có thể check mail, máy tính phải kết nối đến server này trên cổng 25, cổng mà smtp daemon đang nắm giữ
Sequence number: Là những số xuất hiện trong phần header của 1 gói tin TCP Mục đích của sequence number là để các gói tin được nhận theo đúng trình tự như khi chúng được gửi đi
Root: Quyền cao nhất trong các hệ thống mã nguồn mở Quyền này ngang với quyền Administrator trong hệ điều hành Windows
IP Spoofing: Là một kĩ thuật dùng để đạt quyền truy nhập đến các máy bằng cách lừa router hoặc firewall rằng thông tin được đến từ mạng được tin cậy
Man in the Middle: người đứng giữa Giả sử khi 2 máy đang trao đổi dữ liệu, người thứ ba đứng ở giữa thực hiện chặn bắt và xem trộm thông tin của 2 máy đó thì người đứng giữa đó gọi là Man in the Middle và hành động chặn bắt, xem trộm đó gọi là tấn công Man in the Middle
Session Replay: là loại tấn công mà người tấn công can thiệp vào chuỗi và bắt giữ một chuỗi gói tin hoặc các lệnh của một ứng dụng nào đó, biến đổi thông tin nắm được và gởi ngược trở lại nhằm lừa hệ thống
Buffer: Là một phần được đặt trước (xác định cho một mục đích cụ thể nào đó) của bộ nhớ dùng để chứa dữ liệu khi dữ liệu được xử lý
Port: Là các ứng dụng chạy trên giao thức TCP/IP mở các kết nối tới các máy tính khác Các port là một tập hợp các con số, đứng sau địa chỉ IP Ví dụ: dịch vụ HTTP tồn tại trên port mặc định là port 80, …
Systemroot: Là thư mục chứa file hệ thống của Windows
Registry: Là một cơ sở dữ liệu dùng để lưu trữ thông tin về những sự thay đổi, những lựa chọn, những thiết lập từ người sử dụng Windows Registry bao gồm tất cả các thông tin về phần cứng, phần mềm, người sử dụng
Registry luôn được cập nhật khi người sử dụng tiến hành sự thay đổi trong
Trang 8các thành phần của Control Panel, File Associations, và một số thay đổi trong menu Options của một số ứng dụng,
Command line: Là các dòng lệnh để thực hiện một hành động nào đó Trong Windows, command line là Command Prompt còn trong Linux, command line là Shell
Shellcode: Là một đoạn mã chương trình dùng để thực hiện một mục đích nào đó Thí dụ như đoạn Shellcode để làm tràn bộ đệm, …
LờI Mở ĐầU
Trong xu thế toàn cầu hóa công nghệ thông tin như hiện nay, hầu như bất
kỳ một cơ quan, tổ chức nào dù lớn hay nhỏ đều trang bị cho mình một hệ thống mạng để phục vụ nhu cầu trao đổi thông tin, truyền tải dữ liệu hoặc buôn bán trực tuyến qua mạng Internet Ngay cả trong các cơ quan chính phủ, việc sử dụng Internet để làm phương tiện liên lạc cũng là một trong những nhu cầu rất cần thiết Đó là cấu nối để người trong nước có thể liên hệ và trao đổi thông tin với người nước ngoài, người trong khu vực này có thể liên hệ và trao đổi thông tin với người ở khu vực khác, Như vậy, việc sử dụng công nghệ thông tin và nhất là
hệ thống mạng, hệ thống Internet là vô cùng cần thiết Thế nhưng, vấn đề đặt ra là làm thế nào để có thể bảo vệ an toàn được cho hệ thống mạng? Làm thế nào để thông tin trao đổi giữa nơi này với nơi khác không bị kẻ khác đánh cắp? Làm thế nào để có thể tạo ra một hệ thống mạng an toàn ổn định và có thể vận hành một cách trơn tru, không có khiếm khuyết? Từ đó, thuật ngữ an toàn thông tin rađời An toàn thông tin là một trong những vấn đề quan trọng hàng đầu, khi thực hiện kết nối mạng nội bộ của các cơ quan, doanh nghiệp, tổ chức với Internet Ngày nay, các biện pháp an toàn thông tin cho máy tính cá nhân cũng như các mạng nội bộ đã được nghiên cứu và triển khai Tuy nhiên, vẫn thường xuyên có các mạng bị tấn công, có các tổ chức bị đánh cắp thông tin,… gây nên những hậu quả vô cùng nghiêm trọng
Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của các công ty lớn như AT&T, IBM, các trường đại học và các cơ quan nhà nước, các tổ chức quân sự, nhà băng,… và trong đó, có những vụ tấn công được xây dựng với quy mô khổng lồ (có tới 100.000 máy tính bị tấn công) Những con số này chỉ là phần nổi của tảng băng trôi Khó có thể thu thập được đầy đủ các số liệu tin cậy về các vụ đột nhập của hacker và các sự cố an ninh khác, vì chính các nạn nhân từ chối không tự nhận họ bị thiệt hại Có thể thấy
xu hướng gia tăng của các vụ đột nhập nhập mạng internet qua các số liệu thống kê
về các sự cố an ninh đựơc lưu trữ tại ủy Ban Chịu Trách Nhiệm Về Các Vấn Đề Khẩn Cấp Các Máy Tính Mạng Internet (Internet Computer Emergency Response Team, viết tắt là CERT):
Trang 9Năm Số sự cố
1989 1990 1991 1992
132 252 406 773
Từ các sự cố về an toàn, các nhu cầu về an toàn như vậy, việc đánh giá một
hệ thống mạng có đảm bảo được yêu cầu an toàn hay không là một việc làm rất cần thiết cho bất kỳ hệ thống mạng nào Bởi vậy, em đã quyết định
chọn đề tài:“Nghiên cứu đánh giá hệ thống an ninh mạng”, để có thể giúp cho các
công ty, các tổ chức hay bất kỳ một hệ thống mạng nào có thể xác định được các nguy cơ, các hiểm họa tiềm tàng trong hệ thống từ đó đưa ra các biện pháp nhằm khắc phục, giảm thiểu các nguy cơ có thể đe dọa đến hệ thống mạng Đồng thời,
em cũng đi tìm hiểu về Foundstone – một công cụ đánh giá an toàn hệ thống mạng mạnh nhất hiện nay để trợ giúp trong quá trình đánh giá được nhanh chóng và chính xác
Nội dung chính của đồ án được chia làm 5 chương như sau:
Chương 1: Tổng quan về các điểm yếu trong hệ thống mạng
Chương này trình bày một cách tổng quan về các điểm yếu xuất hiện trong
hệ thống mạng Đây là những điểm yếu phổ biến trong các giao thức, các hệ điều hành, các thiết bị mạng đang được sử dụng Chương này cũng đưa ra cách phân loại các lỗ hổng bảo mật để làm nền tảng cho quá trình đánh giá hệ thống mạng
Chương 2: Các phương pháp tấn công mạng
Đây là chương mô tả về một số phương pháp tấn công mà hacker thường
sử dụng để khai thác vào các lỗ hổng của hệ điều hành Windows, Linux, tấn công
từ chối dịch vụ và một số cách khai thác qua hệ thống mạng không dây Từ việc nghiên cứu các phương pháp tấn công, đồ án có đưa ra một số biện pháp nhằm phòng chống giảm thiểu các rủi ro gây mất an toàn từ các lỗ hổng này
Chương 3: Đánh giá hệ thống an ninh mạng
Chương này nói về các bước để đánh giá được một hệ thống an ninh mạng Để đánh giá được một hệ thống mạng, ngườiđánh cần phải có một quy trình
cụ thể về các công việc sẽ phải thực hiện trước khi tiến hành đánh giá một hệ thống mạng
Chương 4: ứng dụng thực tế: Đánh giá điểm yếu an ninh của hệ thống mạng và sử dụng Foundstone để đánh giá
Các chương trước mới chỉ là cơ sở lý thuyết trước khi tiến hành đánh giá một
hệ thống mạng Bây giờ là việc áp dụng tất cả các cơ sở lý thuyết đó để đưa vào đánh giá một hệ thống thực tế Trong chương này, đồ án có trình bày về đánh giá điểm yếu an ninh mạng cho hệ thống mạng tầng 5 – khoa An toàn thông tin – học viện Kỹ thuật Mật Mã có sử dụng Foundstone để đánh giá Ngoài ra, đồ án còn đưa ra một số kết quả đánh giá từ hệ thống mạng của Ngân hàng Nông nghiệp
Trang 10và phát triển nông thông; hệ thống mạng của Ngân hàng công thương Việt Nam Thế nhưng do giới hạn nên đồ án chỉ đưa ra một số kết quả chính chứ chưa đưa ra chi tiết toàn bộ các kết quả đã tiến hành đánh giá trong thực tiễn
Sau hơn 3 tháng nghiên cứu cùng với sự hướng dẫn nhiệt tình của PGS TS Lê
Mỹ Tú - Giám đốc học viện Kỹ thuật Mật Mã, TS Trần Đức Sự - trưởng khoa An toàn thông tin và các thầy cô trong khoa An toàn thông tin - Học viện Kỹ thuật Mật
Mã, cuối cùng em đã hoàn thành xong đồ án của mình Đây là một đề tài
TS Trần Đức Sự
CHƯƠNG I: tổng quan về các ĐIểM YếU TRONG hệ thống
mạng
Các điểm yếu bảo mật trong một hệ thống mạng là các điểm yếu có thể tạo nên
sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy cập bất hợp pháp vào hệ thống Các điểm yếu bảo mật có thể nằm ngay tại các dịch vụ cung cấp như web, email, dịch vụ chia sẻ tập tin, … hay trên các giao thức như SMTP, LDAP, DHCP, … và ngay chính trên các hệ điều hành cũng tồn tại rất nhiều điểm yếu Các hệ điều hành như Unix, Linux, Windows Server 2000, Windows Server 2003, Windows XP và các phiên bản sau đều có tồn tại những điểm yếu nghiêm trọng mà kẻ tấn công hoàn toàn có thể dựa vào đó để khai thác, chiếm quyền điều khiển hệ thống Ngoài ra, trên các trang thiết bị mạng dùng để cung cấp sự an toàn cho hệ thống cũng có thể tồn tại các điểm yếu mà người quản trị không thể nào biết hết được Trong chươngđầu tiên này, em sẽ trình bày một cách tổng quan về một số các điểm yếu trong giao thức, trong hệ điều hành, trong các trang thiết bị mạng và cách phân loại các lỗ hổng bảo mật khi thực hiện phân tích đánh giá mức an toàn hệ thống mạng
2.1 NHữNG ĐIểM YếU TRONG BảO MậT
Hiểu được những điểm yếu trong hệ thống mạng là một vấnđề hết sức quan trọng để tiến hành những chính sách bảo mật có hiệu quả và còn giúp cho người quản trị bảo mật được mạng trước khi bị hacker tấn công Cisco xác định những điểm yếu bảo mật gồm có:
Các kẽ hở trong giao thức
Các lỗ hổng tồn tại trong hệ điều hành
Các điểm yếu trong các trang thiết bị mạng
Các điểm yếu khi cấu hình
Chính sách yếu
2.1.1 Các kẽ hở trong giao thức
Để nối kết các hệ thống có nguồn gốc khác nhau thì những hệ thống này phải
mở, ví dụ như để bộ sản phẩm Norton Anti Virus có thể cài đặt và chạy được trên