1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đánh giá an toàng mạng máy tính

18 257 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 694,75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dụng chính của đề tài gồm 03 phần: Phần 1: Khái quát về Web Server  Phần 2: Những nguy cơ đe dọa đến hệ thống Web Server học viên Huỳnh Cao Tuấn đảm nhiệm  Phần 3: Xây dựng chính

Trang 1

Giới thiệu đề tài:

Ngày nay, lĩnh vực thông tin ngày càng phát triển vượt bậc, những ứng dụng của công nghệ thông tin đã mang lại nhiều lợi ích trong nhiều lĩnh vực như y tế, giáo dục, kinh tế, quốc phòng… Trong đó, Website được sử dụng trong hều hết mọi lĩnh vực và có quy mô toàn cầu

Chính vì vậy, website ngày nay có thể được xem như bộ mặt đại diện cho công ty, cơ quan trên m ạng Internet Thông qua website, m ọi việc trao đổi, giao dịch, tiếp xúc giữa mọi người đều được thực hiện một cách dễ dàng tạo ra

vô số điều kiện thuận lợi để phát triển

Tuy nhiên, bên cạnh những ưu điểm thuận lợi mà các website đem lại thì cũng có những khó khăn thử thách mà người dùng phải đối mặt: đó là, làm cách nào để bảo vệ website của mình một cách an toàn, vững chắc trước sự tấn công của hacker Một website bị “đánh sập” thì đồng nghĩa với việc: uy tín công ty giảm xúc, mất khách hàng, cổ phiếu giảm giá và kéo theo việc làm ăn thua lỗ dẫn đến phá sản

Để giải quyết phần nào những khó khăn thử thách nêu trên, chúng em

xin dùng đề tài :” Trình bày những nguy cơ, những đe doạ đối với hệ thống Web Server Xây dựng chính sách an toàn thông tin và các bi ện pháp ngăn ngừa, hạn chế rủi ro cho dịch vụ Web” để làm rõ vấn đề.

Đề tài này do hai học viên: Huỳnh Cao Tuấn và Phan Hữu Tiếp đảm

nhận.Trước khi phân tích vấn đề, chúng em xin chân thành cám ơn các th ầy đã

hỗ trợ chúng em rất nhiều trong môn học: “ Đánh giá an toàn mạng máy tính”

Vì lấy những kinh nghiệm thực tế mà bản thân mình có trong quá trình làm việc để trình bày đề tài này, vì vậy rất mong được sự góp ý của Thầy

Chúng em xin chân thành cám ơn !

Biên Hòa, ngày 15 tháng 12 năm 2009

Huỳnh Cao Tuấn Phan Hữu Tiếp

Trang 2

Nội dụng chính của đề tài gồm 03 phần:

 Phần 1: Khái quát về Web Server

 Phần 2: Những nguy cơ đe dọa đến hệ thống Web Server (học viên

Huỳnh Cao Tuấn đảm nhiệm)

 Phần 3: Xây dựng chính sách an toàn thông tin và các biện pháp ngăn

ngừa, hạn chế rủi ro cho dịch vụ Web ( học viên Phan Hữu Tiếp đảm nhiệm)

Phần 1: Khái quát Web Server Web Server (máy chủ Web): là máy tính mà trên đó dịch vụ Web được

cung cấp chủ yếu Web Server thường là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia)

Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết

kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name Giả sử khi bạn đánh vào thanh Address trên tr ình duyệt của bạn một dòng http://www.lhu.edu.vn sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là lhu.edu.vn Server này s ẽ tìm trang Web có tên là *.htm r ồi gửi nó đến trình duyệt của bạn

Trang 3

Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó k ết nối vào Internet

Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software s ẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn

Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software c ũng chỉ là một ứng dụng phần mềm Nó được cài đặt, và chạy trên máy tính dùng làm Web Server, nh ờ có chương trình này

mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet)

Web Server Software còn có th ể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truy ền tải chúng đến người dùng

Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ truyền tải thông tin từ server và máy tính truy cập

Phần 2: Những nguy cơ đe dọa sự an toàn của

hệ thống Web Server

I Nguy cơ khách quan

 Hậu quả: hệ thống Web Server không thể truy cập được

 Lý giải: việc này rất thường xảy ra do chất lượng của các nhà cung cấp mạng không tốt

 Ở Việt Nam đa số máy tính sử dụng những hệ điều hành không

có bản quyền hoặc bản quyền không hợp pháp Điều này dẫn đến việc hệ thống không được cập nhật kịp thời các bản vá lỗi

Trang 4

Hoặc Server có thể bị “đóng băng” bất cứ lúc nào để yêu cầu xác nhận quyền sử dụng hợp pháp

 Hoả hoạn, lũ lụt, chập điện, sét đánh…

 Sự cố về phần cứng máy tính

II Nguy cơ chủ quan

Là những nguy cơ do con người cố tình gây ra, nhằm mục đích phá hoại

hệ thống dữ liệu, tính chính xác của thông tin mà Website đó cung c ấp Những người có những hành vi như vậy được giới chuyên môn gọi là Hacker Thông thường thì những hành vi đó có động cơ chính là vì kinh tế hoặc phục vụ cho mục đích chính trị

Có 2 tầng để Hacker tiến hành tấn công Web Server

 Tầng web service (như IIS )

 Software trên Web Server bị lỗi (bị buffer overflow, bị thiếu kiểm soát chủ quyền cần thiết để chạy service)

 Admin vô tình thiếu sót khi thiết lập server (.htaccess bị lỗi, gán quyền trên filesystem không đúng)

 Server software không lo liệu đầy đủ việc kiểm soát encode và decode cũng như MIME type khiến cho service có thể bị quản

lý bất hợp pháp

 Tầng ứng dụng (như chạy cgi, php, asp, jsp )

 Các INPUT data thiếu xác thực (cần INPUT validation) nên b ị xss, sql injection

 Dùng SSI nhưng không kiểm soát chặt chẽ

 Cho phép include nhưng không ki ểm soát nội dung include

 Thiếu chặt chẽ trong cơ chế gán quyền và thực thi quyền trên mỗi web application (nên bị leo thang)

Trang 5

Sau đây là một số lỗ hỏng khiến Web Server hoặc Website có thể bị chiếm quyền điều khiển bất hợp pháp

Khi triển khai các ứng dụng web trên Internet, nhiều người vẫn nghĩ rằng việc đảm bảo an toàn, bảo mật nhằm giảm thiểu tối đa khả năng bị tấn công từ các tin tặc chỉ đơn thuần tập trung vào các vấn đề như chọn hệ điều hành, hệ quản trị cơ sở dữ liệu, webserver sẽ chạy ứng dụng, mà quên mất rằng ngay cả bản thân ứng dụng chạy trên đó cũng tiềm ẩn một lỗ hổng bảo mật rất lớn Một trong số các lỗ hổng này đó là SQL injection

SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước) Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh, … do có toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase

Có bốn dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập (authorization bypass), sử dụng câu lện SELECT, sử dụng câu lệnh INSERT, sử dụng các stored-procedures

1.1 Dạng tấn công vượt qua kiểm tra đăng nhập

Với dạng tấn công này, tin tặc có thể dễ dàng vượt qua các trang đăng nhập nhờ vào lỗi khi dùng các câu lệnh SQL thao tác trên cơ sở dữ liệu của ứng dụng web Xét một ví dụ điển hình, thông thường để cho phép người dùng truy cập vào các trang web được bảo mật, hệ thống thường xây dựng trang đăng nhập để yêu cầu người dùng nhập thông tin về tên đăng nhập và mật khẩu Sau khi người dùng nhập thông tin vào, hệ thống sẽ kiểm tra tên đăng nhập và mật khẩu có hợp lệ hay không để quyết định cho phép hay từ chối thực hiện tiếp

Trang 6

Trong trường hợp này, người ta có thể dùng hai trang, một trang HTML để hiển thị form nhập liệu và một trang ASP dùng để xử lí thông tin nhập từ phía người dùng Ví dụ:

login.htm

<form action="ExecLogin.asp" method="post">

Username: <input type="text" name="fUSRNAME"><br>

Password: <input type="password" name="fPASSWORD"><br>

<input type="submit">

</form>

execlogin.asp

<%

Dim vUsrName, vPassword, objRS, strSQL

vUsrName = Request.Form("fUSRNAME")

vPassword = Request.Form("fPASSWORD")

strSQL = "SELECT * FROM T_USERS " & _

"WHERE USR_NAME=' " & vUsrName & _

" ' and USR_PASSWORD=' " & vP assword & " ' "

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open strSQL, "DSN= "

If (objRS.EOF) Then

Response.Write "Invalid login."

Else

Response.Write "You are logged in as " & objRS("USR_NAME")

End If

Set objRS = Nothing

%>

Thoạt nhìn, đoạn mã trong trang execlogin.asp d ường như không chứa bất cứ một lỗ hổng về an toàn nào Người dùng không thể đăng nhập mà không có tên đăng nhập và mật khẩu hợp lệ Tuy nhiên, đoạn

mã này thực sự không an toàn và là tiền đề cho một lỗi SQL injection Đặc biệt, chỗ sơ hở nằm ở chỗ dữ liệu nhập vào từ người dùng được dùng để xây dựng trực tiếp câu lệnh SQL Chính điều này cho phép những kẻ tấn công có thể điều khiển câu truy vấn sẽ được thực hiện Ví

dụ, nếu người dùng nhập chuỗi sau vào trong cả 2 ô nhập liệu username/password của trang login.htm là: ' OR ' ' = ' ' Lúc này, câu truy

vấn sẽ được gọi thực hiện là: SELECT * FROM T_USERS WHERE USR_NAME =''

OR ''='' and USR_PASSWORD= '' OR ''=''

Câu truy vấn này là hợp lệ và sẽ trả về tất cả các bản ghi của T_USERS và đoạn mã tiếp theo xử lí người dùng đăng nhập bất hợp pháp này như là người dùng đăng nhập hợp lệ

Trang 7

1.2 Dạng tấn công sử dụng câu lệnh SELECT

Dạng tấn công này phức tạp hơn Để thực hiện được kiểu tấn công này, kẻ tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ hệ thống để dò tìm các điểm yếu khởi đầu cho việc tấn công Xét một ví dụ rất thường gặp trong các website về tin tức Thông thường, sẽ có một trang nhận ID của tin cần hiển thị rồi sau đó truy vấn nội dung của tin có ID này

Ví dụ: http://www.myhost.com/shownews.asp?ID=123 Mã ngu ồn cho chức năng này thường được viết khá đơn giản theo dạng

<%

Dim vNewsID, objRS, strSQL

vNewsID = Request("ID")

strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID

3

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open strSQL, "DSN= "

Set objRS = Nothing

%>

Trong các tình huống thông thường, đoạn mã này hiển thị nội dung của tin có ID trùng với ID đã chỉ định và hầu như không thấy có lỗi Tuy nhiên, giống như ví dụ đăng nhập ở trước, đoạn mã này để lộ sơ hở cho một lỗi SQL injection khác Kẻ tấn công có thể thay thế một ID hợp

lệ bằng cách gán ID cho một giá trị khác, và từ đó, khởi đầu cho một

cuộc tấn công bất hợp pháp, ví dụ như: 0 OR 1=1 (nghĩa là,

http://www.myhost.com/shownews.asp?ID=0 or 1=1)

Câu truy vấn SQL lúc này sẽ trả về tất cả các article từ bảng dữ liệu vì nó sẽ thực hiện câu lệnh: SELECT * FROM T_NEWS WHERE NEWS_ID=0

or 1=1

1.3 Dạng tấn công sử dụng câu lệnh INSERT

Thông thường các ứng dụng web cho phép người dùng đăng kí một tài khoản để tham gia Chức năng không thể thiếu là sau khi đăng kí thành công, người dùng có thể xem và hiệu chỉnh thông tin của mình SQL injection có thể được dùng khi hệ thống không kiểm tra tính hợp lệ của thông tin nhập vào Ví dụ, một câu lệnh INSERT có thể có cú pháp

Trang 8

dạng:INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three') Nếu đoạn mã xây dựng câu lệnh SQL có dạng :

<%

strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _

& strValueTwo & " ', ' " & strValueThree & " ') "

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Open strSQL, "DSN= "

Set objRS = Nothing

%>

Thì chắcchắn sẽ bị lỗi SQL injection, bởi vì nếu ta nhập vào trường thứ nhất ví dụ như:' + (SELECT TOP 1 FieldName FROM TableName) + '. Lúc này câu truy vấn sẽ là: INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM TableName) + ' ', 'abc', 'def'). Khi đó, lúc thực hiện lệnh xem thông tin, xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa đó là:

SELECT TOP 1 FieldName FROM TableName

1.4 Dạng tấn công sử dụng stored -procedures

Việc tấn công bằng stored-procedures sẽ gây tác hại rất lớn nếu

ứng dụng được thực thi với quyền quản trị hệ thống 'sa' Ví dụ, nếu ta thay đoạn mã tiêm vào dạng: ' ; EXEC xp_cmdshell ‘cmd.exe dir C: ' Lúc này hệ thống sẽ thực hiện lệnh liệt k ê thư mục trên ổ đĩa C:\ cài

đặt server Việc phá hoại kiểu n ào tuỳ thuộc vào câu lệnh đằng sau cmd.exe

Tấn công từ chối dịch vụ (DoS) là các cuộc tấn công trên hệ thống mạng nhằm ngăn cản những truy xuất tới một dịch vụ Tấn công DoS phá hủy dịch vụ mạng bằng cách làm tràn ngập số lượng kết nối, quá tải server hoặc chương trình chạy trên server, tiêu tốn tài nguyên của server, hoặc ngăn chặn người dùng hợp lệ truy nhập tới dịch vụ mạng Các cuộc tấn công có thể được thực hiện nhằm vào bất kì một thiết bị mạng nào bao gồm là tấn công vào các thiết bị định tuyến, web, thư điện tử và hệ thống DNS

Tấn công từ chối dịch vụ có thẻ được thực hiện theo một số cách nhất định Có năm kiểu tấn công cơ bản sau đây:

Trang 9

1 Nhằm tiêu tốn tài nguyên tính toán như băng thông, dung lượng đĩa cứng hoặc thời gian xử lý

2 Phá vỡ các thông tin cấu hình như thông tin định tuyến

3 Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP

4 Phá vỡ các thành phần vật lý của mạng máy tính

5 Làm tắc nghẽn thông tin liên lạc có chủ đích giữa các người dùng và nạn nhân dẫn đến việc liên lạc giữa hai bên không được thông suốt

Một cuộc tấn công từ chối dịch vụ có thể bao gồm cả việc thực thi malware nhằm:

 Làm quá tải năng lực xử lý, dẫn đến hệ thống không thể thực thi bất kì một công việc nào khác

 Những lỗi gọi tức thì trong microcode của máy tính

 Những lỗi gọi tức thì trong chuỗi chỉ thị, dẫn đến máy tính rơi vào trạng thái hoạt động không ổn định hoặc bị đơ

 Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên hoặc bị thrashing VD: như sử dụng tất cả các năng lực có sẵn dẫn đến không một công việc thực tế nào có thể hoàn thành được

 Gây crash hệ thống

 Tấn công từ chối dịch vụ iFrame: trong một trang HTML

có thể gọi đến một trang web nào đó với rất nhiều yêu cầu và trong rất nhiều lần cho đến khi băng thông của trang web đó bị quá hạn

Có rất nhiều các phương cách để thực hiện các cuộc tấn công từ chối dịch vụ, vì thế cũng có rất nhiều cách phân loại DoS

Cách phân loại phổ biến thường dùng dựa vào giao thức trong hình thức tấn công của DoS, ví dụ như tràn ngập ICMP với Smurf, Ping

of Death, khai thác điểm yếu của TCP trong hoạt động của giao thức và phân mảnh gói tin với SYN flood, LanD attacks, TearDrop hay trên m ức

Trang 10

dịch vụ như với Flash Crowds (ở Việt Nam thường biết đến với tên X-flash)

Phân loại theo phương thức tấn công, DoS có thể được thực hiện bằng một vài gói tin đơn lẻ gửi thẳng tới server gây rối loạn hoạt động (như slammer worm), hoặc kích hoạt để gửi từ nhiều nguồn (từ chối dịch

vụ phân tán – DdoS) Tấn công có thể thực hiện trên mạng Internet (sử dụng ngay các web server), h oặc broadcast trong mạng bên trong (insider attacks – như với Blaster worm), trên mạng P2P (P2P index poinsioning) hay Wireless (WLAN authentication rejection attack -spoof sender) Tuy nhiên, có thể thấy các cách phân loại trên dựa chủ yếu vào cách nhìn từ sự phát sinh tấn công, và vì thế, không hệ thống hóa được phương thức phòng tránh

Khi cài đặt ứng dụng Web, thường thì người quản trị quên kiểm tra việc phân quyền các thư mục chứa những file mà người dùng Upload lên server Thông thường thì thư mục đó được cấp quyền mặc định là cho thực thi các tập tin có dạng *.exe, *.bat, *.asp, Chính đi ều này, tạo cơ hội cho phép Hacker upload những file có chứa những đoạn mã gây hại và sau đó tìm cách thực thi chúng

Nếu người quản trị không chú ý đến các port được mở trên Server thì có nguy cơ bị hacker dò quét và lợi dụng các port đó để xâm nhập, tấn công server

Vấn đề cuối cùng là Web Server không đư ợc đặt ở vị an toàn trong hệ thống mạng Ta không có các chính sách xây d ựng hệ thống mạng an toàn, không có phân vùng đ ặt biệt cho server, không có firewall hoặc các giải pháp bảo đảm sự an toàn cho server

Ngày đăng: 06/05/2016, 15:24

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w