MỤC LỤC
1
TÌM HIỂU VỀ AN NINH MẠNG
VÀ KỸ THUẬT SNIFFER
1.TỔNG QUAN VỀ AN NINH MẠNG
Trong quá khứ, an ninh thông tin là một thuật ngữ được sử dụng để mô tả các biện pháp
bảo mật vật lý được sử dụng để giữ cho chính phủ hay doanh nghiệp những thông tin
quan trọng khỏi bị truy cập bởi công chúng và để bảo vệ nó chống lại thay đổi hoặc tiêu
hủy. Những biện pháp này bao gồm lưu trữ tài liệu có giá trị trong tủ hồ sơ đã bị khóa
hoặc két và hạn chế truy cập vật lý đến các khu vực nơi mà các tài liệu đã được lưu giữ.
Với sự phổ biến của máy tính và các phương tiện truyền thông điện tử, cách truy cập dữ
liệu cũ thay đổi. Khi công nghệ tiếp tục phát triển, hệ thống máy tính được kết nối với
nhau để tạo thành mạng máy tính, cho phép các hệ thống chia sẻ tài nguyên, bao gồm cả
dữ liệu.
Hiệp hội an toàn thông tin Việt Nam cho biết: ”Việt Nam là 1 trong 5 nước có nguy cơ
mất an toàn thông tin cao nhất”. Hiện số thuê bao internet chiếm gần 32% dân số Việt
Nam. Đa số các doanh nghiệp và các tổ chức có hệ thống mạng và website giới thiệu,
quảng bá thương hiệu, với gần 200.000 tên miền .vn, và hàng triệu tên miền thương mại.
Có rất nhiều doanh nghiệp đã ứng dụng thanh toán trực tuyến vào công việc và kinh
doanh, giao dịch. Thế nhưng, mạng Internet Việt Nam còn rất nhiều tiềm ẩn, nguy cơ về
an ninh an toàn thông tin. Năm 2010 được đánh giá là năm thực sự nóng bỏng của an
ninh an toàn thông tin trên thế giới chung và an ninh mạng Việt Nam nói riêng. Hàng loạt
các website lớn bị tấn công với mức độ phức tạp ngày càng gia tăng. Ở nước ta, theo
đánh giá của một số chuyên gia về an ninh mạng, các tên miền .vn đang đứng hàng thứ 3
trong bảng xếp hạng các tên miền có nguy cơ bị tấn công. Cách đây chưa lâu, cuộc tấn
công quy mô lớn, liên tục và kéo dài đã phá hủy hầu như gần hết cơ sở dữ liệu đã lưu trữ
10 năm của báo Vietnamnet.
Các cuộc tấn công trên mạng chủ yếu có mục tiêu vụ lợi, có tổ chức và mang tính quốc tế
đang nở rộ với quy mô lớn. Thủ phạm các cuộc tấn công nhăm vào các website có trình
độ cao, hình thức tấn công tinh vi, chuyên nghiệp và rất khó chống đỡ. Mục tiêu của hack
không chỉ là các tổ chức doanh nghiệp tài chính, ngân hàng mà là tất cả các hệ thống. Các
cuộc tấn công trên là lời cảnh báo về an toàn thông tin đối với các báo điện tử và những
website quan trọng của Việt Nam.
2
Năm 2011, đã có 38.961 dòng virus xuất hiện mới, lây lan nhiều nhất là virus
W32.Sality.PE đã lây nhiễm 4.2 triệu máy tính. Cũng trong 2011, đã có 2.245 website
của các cơ quan, doanh nghiệp tại Việt Nam bị tấn công tính trung bình mỗi tháng có 187
website bị tấn công.
Năm 2001 là năm của các cuộc tấn công mạng, liên tiếp xảy ra các cuộc tấn công với các
hình thức khác nhau vào hệ thống của các tổ chức doanh nghiệp tại Việt Nam. Có những
cuộc tấn công xâm nhập trái phép phá hoại cơ sở dữ liệu hoặc deface của các website.
Cũng có những cuộc tấn công DDOS làm tê liệt hệ thống trong thời gian dài. Tấn công
cướp tên miền của doanh nghiệp cũng diễn ra liên tiếp. Nguy hiểm hơn cũng đã xuất hiện
nhiều cuộc tấn công âm thầm, cài đặt virus gián điệp, đánh cắp tài liệu quan trọng của các
cơ quan.
2.TỔNG QUAN VỀ SNIFFER VÀ CÁC PHƯƠNG THỨC
TẤN CÔNG
Sniffer là gì ?
Khởi đầu Sniffer là tên một sản phẩm của Network Associates có tên là Sniffer Network
Analyzer.
Sniffer được hiểu đơn giản như là một chương trình cố gắng nghe ngóng các lưu lượng
thông tin trên hệ thống mạng.
Sniffer được sử dụng như một công cụ để các nhà quản trị mạng theo dõi và bảo trì hệ
thống mạng. Về mặt tiêu cực, Sniffer được sử dụng như một công cụ với mục đích “nghe
lén, theo dõi” các thông tin trên mạng để lấy các thông tin quan trọng.
Sniffer dựa vào phương thức tấn công ARP để bắt các gói tin được truyền qua mạng.
Những giao dịch giữa các hệ thống mạng máy tính thường là những dữ liệu ở dạng nhị
phân. Bởi vậy để nghe lén và hiểu được những dữ liệu này các chương trình Sniffer phải
có tính năng phân tích, giải mã các dữ liệu ở dạng nhị phân để hiểu được chúng.
Trong một hệ thống mạng sử dụng những giao thức kết nối chung và đồng bộ. Bạn có thể
sử dụng Sniffer ở bất cứ host nào trong hệ thống mạng của bạn. Chế độ này được gọi là
chế độ hỗn tạp.
Phân loại Sniffing !
Sniffing được chia làm 2 loại là: Passive Sniffing ( PP thụ động ) và Active Sniffing ( PP
chủ động ).
Passive Sniffing
3
• Gọi là Passive Sniffing bởi vì các attacker thụ động nằm trên mạng LAN
chờ đợi các gói dữ liệu được gửi đi và bắt lấy chúng. Điều đó sẽ hiệu quả
trong việc âm thầm thu thập dữ liệu từ mạng LAN
• Môi trường: Hoạt động chủ yếu trong môi trường không có các thiết bị
chuyển mạch gói. Phổ biến hiện nay là các dạng mạch sử dụng HUB hay
các mạch không dây Wireless
• Cơ chế hoạt động: do không có các thiết bị chuyển mạch gói nên các host
phải broadcast các gói tin đi trong mạng từ đó có thể bắt gói tin lại để xem (
dù Host nhận gói tin không phải là nơi đến của gói tin đó )
• Đặc điểm: do các máy tự Broadcast các gói nên hình thức này rất khó phát
hiện, Passive Sniffing thực hiện Sniffing thông qua HUB.
Active Sniffing
• Môi trường: chủ yếu hoạt động trong môi trường có các thiết bị chuyển mạch
gói. Phổ biến hiện nay là các dạng mạch sử dụng Switch.
• Cơ chế hoạt động: chủ yếu hiện nay thường sử dụng cơ chế ARP và RARP ( 2
cơ chế chuyển đổi IP sang MAC và MAC sang IP ) bằng cách phát đi các gói
tin đầu đọc cụ thể ở đây là phát đi các gói thông báo cho máy gửi gói tin là:
“Tôi là người nhận” mặc dù không phải là người nhận
• Đặc điểm: do phải gửi gói tin nên có thể chiếm băng thông mạng. Nên nếu
Sniffing quá nhiều trong mạng thì lượng gói gửi đi sẽ rất lớn ( do liên tục gửi
đi các gói tin giả mạo ) có thể dẫn đến nghẽn mạng hay gây quá tải trên chính
NIC của máy đang dùng Sniffing
• Ngoài ra các Sniffer còn dùng 1 số kỹ thuật để ép dòng dữ liệu đi qua NIC của
mình như :
- MAC flooding: làm tràn bộ nhớ switch từ đó switch sẽ chạy chế độ
forwarding mà không chuyển mạch gói
- Giả MAC: các sniffer sẽ thay đổi MAC của mình thành các MAC
của một máy hợp lệ và qua được chức năng lọc của MAC của thiết
bị
- Đầu độc DHCP để thay đổi gateway của client……
Sniffer được sử dụng thế nào ?
• Sniffer thường được sử dụng vào 2 mục đích:
Một công cụ giúp cho các quản trị mạng theo dõi và bảo trì hệ thống mạng của mình
Một chương trình được cài vào một hệ thống máy tính với mục đích đánh hơi nghe lén
các thông tin trên đoạn mạng này
• Những điều kiện để Sniffer có thẻ xảy ra:
Sniff có thể hoạt động trong mạng LAN, WAN, WLAN.
Điều kiện cần chỉ là dùng chung SubnetMark khi Sniffer.
4
Ngoài ra còn dùng một số tools để bắt và phân tích gói tin.
• Một số tính năng của sniffer:
Các hacker dùng để bắt tên người sử dụng (UserName) và mật khẩu không được mã hóa
(ClearTextPassword) trong hệ thống mạng của bạn.
Giúp các nhà quản trị theo dõi các thông tin dữ liệu trên đường truyền.
Giúp các nhà quản trị giám sát lưu lượng của hệ thống qua đó các quản trị viên có thể
phân tích những lỗi đang mắc phải trên hệ thống lưu lượng của mạng. Sniffer còn giúp
ghi lại các thông tin về gói dữ liệu truyền đi để phục vụ cho việc phân tích, khắc phục sự
cố trên hệ thống mạng.
Các phương pháp phát hiện Sniffer trên hệ thống
Phương pháp dùng Ping
Hầu hết các chương trình Sniffer được cài đặt trên các máy tính trong mạng sử dụng
TCP/IP Stack. Bởi vậy khi bạn gửi yêu cầu đến những máy tính này, chúng sẽ phản hồi
lại cho bạn kết quả. Bạn hãy gửi một yêu cầu phản hồi tới địa chỉ IP của máy tính nào đó
trong mạng (máy mà bạn cần kiểm tra xem có bị cài đặt Sniffer hay không), nhưng không
thông qua Adapter Ethernet của nó. Lấy ví dụ cụ thể :
1. Bạn nghi ngờ máy tính có địa chỉ IP là 10.0.0.1, có địa chỉ MAC là 00-40-05-A4-79-
32. Đã bị cài đặt Sniffer.
2. Bạn đang ở trong cùng một hệ thống mạng Ethernet mà bạn nghi ngờ có kẻ đã tiến
hành Sniffer.
3. Bạn thay đổi địa chỉ MAC của bạn thành là 00-40-05-A4-79-33.
4. Bạn Ping đến địa chỉ IP và địa chỉ MAC mới.
5. Trên nguyên tắc không một máy tính nào có thể nhìn thấy có thể nhìn thấy được
Packet này. Bởi Adapter Ethernet chỉ chấp nhận những địa chỉ MAC hợp lệ của chính nó.
6. Nếu bạn thấy sự trả lời từ địa chỉ mà bạn nghi ngờ không phải trên địa chỉ lọc của
MAC (MAC Address Filter) trên Ethernet Card…Máy tính có địa chỉ IP 10.0.0.1 đã bị
cài đặt Sniffer.
Bằng các kỹ thuật của mình các Hacker vẫn có thể né tránh được phương pháp nêu trên.
Các Hacker sẽ sử dụng những MAC Address ảo. Rất nhiều hệ thống máy tính trong đó có
Windows có tích hợp khả năng MAC Filtering. Windows chỉ kiểm tra những byte đầu
tiên. Nếu một địa chỉ MAC có dạng FF-00-00-00-00-00, thì đơn giản Windows sẽ coi nó
là FF-FF-FF-FF-FF-FF. Đây là sơ hở cho phép các Hacker có thể khai thác đánh lừa hệ
thống máy tính của bạn. Kỹ thuật phát hiện Sniffer đơn giản này thường được sử dụng
trên các hệ thống Ethernet dựa trên Switch và Bridge.
5
Phương pháp sử dụng DNS
Rất nhiều chương trình Sniffer có tính năng phân giải ngược các địa IP thành DNS mà
chúng nhìn thấy (như dsniff). Bởi vậy khi quan sát lưu lượng truyền thông của DNS bạn
có thể phát hiện được Sniffer ở chế độ hỗn tạp (Promiscuous Mode).
Để thực hiện phương pháp này, bạn cần theo dõi quá trình phân giải ngược trên DNS
Server của bạn. Khi bạn phát hiện được những hành động Ping liên tục với mục đích
thăm dò đến những địa chỉ IP không tồn tại trên hệ thống mạng của bạn. Tiếp đó là
những hành động cố gắng phân giải ngược những địa chỉ IP được biết từ những Packet
ARP. Không gì khác đây là những hành động của một chương trình Sniffer.
Phương pháp Source-Route
Phương pháp này sử dụng những thông tin như địa chỉ nguồn và địa chỉ đích trong mỗi
Header của IP để phát hiện hành động Sniffer trên từng đoạn mạng.
Tiến hành ping từ một máy tính này đến một máy tính khác. Nhưng tính năng Routing
trên máy tính nguồn phải được vô hiệu hoá. Hiểu đơn giản là làm thế nào để gói tin này
không thể đi đến đích. Nếu như bạn thấy sự trả lời, thì đơn giản hệ thống mạng của bạn
đã bị cài đặt Sniffer.
Để sử dụng phương pháp này bạn cần sử dụng vào một vài tuỳ chọn trong Header IP. Để
Router sẽ bỏ qua những địa chỉ IP đến và tiếp tục chuyển tiếp đến những địa chỉ IP trong
tuỳ chọn Source-Route của Router.
Lấy một ví dụ cụ thể :
A và B cùng nằm trên một đoạn mạng. Khi có một người khác trên cùng đoạn mạng gửi
cho B vài Packet IP và nói chuyển chúng đến cho A. B không phải là một Router, cho
nên B sẽ Drop tất cả Packet IP mà người kia muốn chuyển tới A (bởi B không thể làm
việc này). Một Packet IP không được gửi đến A, mà anh ta vẫn có thể trả lời lại được.
Điều này vô lý, vậy anh ta đã sử dụng các chương trình Sniffer.
Phương pháp giăng bẫy (Decoy)
Tương tự như phương pháp sử dụng ARP nhưng nó được sử dụng trong những
phạm vi mạng rộng lớn hơn (gần như là khắp nơi). Rất nhiều giao thức sử dụng
các Password không được mã hoá trên đường truyền, các Hacker rất coi trọng
những Password này, phương pháp giăng bẫy này sẽ thoả mãn điều đó. Đơn giản
bạn chỉ cần giả lập những Client sử dụng Service mà Password không được mã
hoá như : POP, FTP, Telnet, IMAP Bạn có thể cấu hình những User không có
quyền hạn, hay thậm chí những User không tồn tại. Khi Sniffer được những thông
tin được coi là «quý giá» này các Hacker sẽ tìm cách kiểm tra, sử dụng và khai
thác chúng
6
Phương pháp kiểm tra sự chậm trễ của gói tin (Latency)
Phương pháp này sẽ làm giảm thiểu sự lưu thông trên hệ thống mạng của bạn.
Bằng cách gửi một lượng thông tin lớn đến máy tính mà bạn nghi là đã bị cài đặt
Sniffer. Sẽ không có hiệu ứng gí đáng kể nếu máy tính đó hoàn toàn không có gì.
Bạn ping đến máy tính mà bạn nghi ngờ đã bị cài đặt Sniffer trước thời gian chịu
tải và trong thời gian chị tải. Để quan sát sự khác nhau của 2 thời điểm này.
Tuy nhiên phương pháp này tỏ ra không mấy hiệu quả. Bản thân những Packet IP
được gửi đi trên đường truyền cũng gây ra sự trậm trễ và thất lạc. Cũng như
những Sniffer chạy ở chế độ “User Mode” được xử lý độc lập bởi CPU cũng cho
ra những kết quả không chính xác.
Các phương pháp để ngăn chặn sniffer dữ liệu cơ bản
Có lẽ cách đơn giản nhất để ngăn chặn những kẻ muốn Sniffer dữ liệu là sử dụng các
giao thức mã hoá chuẩn cho dữ liệu trên đường truyền. Khi mã hoá dữ liệu, những kẻ tấn
công ác ý có thể Sniffer được dữ liệu, nhưng chúng lại không thể đọc được nó
• SSL (Secure Socket Layer) : Một giao thức mã hoá được phát triển cho hầu hết
các Webserver, cũng như các Web Browser thông dụng. SSL được sử dụng để mã
hoá những thông tin nhạy cảm để gửi qua đường truyền như : Số thẻ tin dụng của
khách hàng, các password và thông tin quan trọng.
• PGP và S/MIME: E-mail cũng có khả năng bị những kẻ tấn công ác ý Sniffer.
Khi Sniffer một E-mail không được mã hoá, chúng không chỉ biết được nội dung
của mail, mà chúng còn có thể biết được các thông tin như địa chỉ của người gửi,
địa chỉ của người nhận…Chính vì vậy để đảm bảo an toàn và tính riêng tư cho E-
mail bạn cũng cần phải mã hoá chúng… S/MIME được tích hợp trong hầu hết các
chương trình gửi nhận Mail hiện nay như Netscape Messenger, Outlock Express…
PGP cũng là một giao thức được sủ dụng để mã hoá E-mail. Nó có khả năng hỗ trợ
mã hoá bằng DSA, RSA lên đến 2048 bit dữ liệu.
• OpenSSH: Khi bạn sử dụng Telnet, FTP…2 giao thức chuẩn này không cung cấp
khả năng mã hoá dữ liệu trên đường truyền. Đặc biệt nguy hiểm là không mã hoá
Password, chúng chỉ gửi Password qua đường truyền dưới dạng Clear Text. Điều
gì sẽ xảy ra nếu những dữ liệu nhạy cảm này bị Sniffer. OpenSSH là một bộ giao
thức được ra đời để khắc phục nhược điểm này: SSH (sử dụng thay thế Telnet),
SFTP (sử dụng thay thế FTP)…
• VPNs (Virtual Private Networks): Được sử dụng để mã hoá dữ liệu khi truyền
thông trên Internet. Tuy nhiên nếu một Hacker có thể tấn công và thoả hiệp được
những Node của của kết nối VPN đó, thì chúng vẫn có thể tiến hành Sniffer được.
7
Phương pháp ngăn chặn Sniffer Password
Để ngăn chăn những kẻ tấn công muốn Sniffer Password. Bạn đồng thời sử dụng các giao
thức, phương pháp để mã hoá password cũng như sử dụng một giải pháp chứng thực an
toàn (Authentication):
- SMB/CIFS: Trong môi trường Windows/SAMBA bạn cần kích hoạt tính năng
LAN manager Authencation.
- Keberos: Một giải pháp chứng thực dữ liệu an toàn được sử dụng trên Unix cũng
như Windows
- Stanford SRP (Secure Remote Password): Khắc phục được nhược điểm không
mã hoá Password khi truyền thong của 2 giao thức FTP và Telnet trên Unix:
Phương pháp ngăn chặn Sniffer trên thiết bị phần cứng
• Việc thay thế Hub của bạn bằng những Switch, nó có thể cung cấp một sự phòng
chống hiệu quả hơn. Switch sẽ tạo ra một “Broadcast Domain” nó có tác dụng gửi
đến những kẻ tấn công những gói ARP không hợp lệ (Spoof ARP Packet).
• Tuy nhiên các Hacker vẫn có những cách thức khéo léo để vượt qua sự phòng thủ
này. Các yêu cầu truy vấn ARP chứa đựng những thông tin chính xác từ IP cho
đến MAC của người gửi. Thông thường để giảm bớt lưu lượng ARP trên đường
truyền, đa số các máy tính sẽ đọc và sử dụng các thông tin từ bộ đệm (Cache) mà
chúng truy vấn được từ Broadcast.
• Bởi vậy một Hacker có thể Redirect những máy tính gần mình để vượt qua sự
phòng thủ này bằng cách gửi những gói ARP chứa đựng những thông tin về địa
chỉ IP của Router đến chính địa chỉ MAC của anh ta. Tất cả những máy tính trong
hệ thống mạng cục bộ này sẽ nhầm tưởng anh ta là Router và sẽ thiết lập phiên
truyền thông đi qua máy tính của anh ta.
• Một cuộc tấn công DOS tương tự trên một hệ thống mạng cục bộ, khi thành công
sẽ đá văng mục tiêu mà họ muốn tấn công ra khỏi mạng. rồi bắt đầu sử dụng
chính địa chỉ IP của máy tính vừa bị tấn công này. Những kẻ tấn công sẽ khéo léo
thừa kể và sử dụng những kết nối này. Bản thân Windows khi phát hiện được hành
động này, nó không hành động gì cả mà lại tử tế đóng Stack TCP/IP của chính
mình và cho phép kết nối này tiếp tục. Để phòng chống lại các cuộc tấn công dạng
bạn chỉ cần sử dụng các công cụ IDS (Intrusion Detecte Service). Các IDS như
BlackICE IDS, Snort sẽ tự động phát hiện và cảnh báo về các cuộc tấn công dạng
này.
• Hầu hết các Adapter Ethernet đều cho phép cấu hình địa chỉ MAC bằng tay.
Hacker có thể tạo ra các địa chỉ Spoof MAC bằng cách hướng vào các địa chỉ trên
Adapter. Để khắc phục điều này, hầu hết các Switch đều không cho phép tự ý cấu
hình lại các địa chỉ MAC.
8