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

bảo mật web và email

34 854 3

Đ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 34
Dung lượng 0,9 MB

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

Nội dung

bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email bảo mật web và email

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN

KHOA:CÔNG NGHỆ NGÀNH :CÔNG NGHỆ MẠNG VÀ TRUYỀN THÔNG

LỚP: 08N



BÁO CÁO MÔN MẠNG MÁY TÍNH TÊN ĐỀ TÀI : Bảo Mật Web Và Email ( Web And Email Security)

Tên Sv Nhóm: Võ Hữu Phương

Phạm Văn Mỹ

Lã Xuân Tâm Nguyễn Hồng Sự Giáo Viên Hướng Dẫn:Huỳnh Ngọc Thọ

Đà Nẵng: Tháng 09/2009

Trang 2

MỤC LỤC

CHƯƠNG I: BẢO MẬT WEB 3

I TÌM HIỂU VỀ ỨNG DỤNG WEB 3

I.1 Web là gì? 3

I.2 Ứng dụng Web là gì? 4

I.3 Web Server: 5

I.4 Ngôn ngữ lập trình Web 6

I.4.1 PHP 6

I.4.2 HTML (HyperText Markup Language): 6

I.4.3 XML : 6

I.5 Các hệ cơ sở dử liệu: 8

I.5.1 My SQL: 8

I.5.2 SQL : 9

I.5.3 ACCESS : 9

II BẢO MẬT WEB 9

II.1 Bảo mật là gì? 9

II.2 Từ phía người tấn công 11

II.2.1 Thu thập thông tin chung: 12

II.2.3 Dò tìm lỗi: 13

a) SQL Injections 13

b) Session Hijacking 14

c) XSS (Cross-Site Scripting) 15

d) Local Attack 17

e) Dùng các loại trojan, virus 17

f) DOS và DDOS, DRDOS 17

g) Xóa dấu vết 19

II.3 Từ phía người phòng thủ (Administrator) 19

II.3.1 Phân quyền hợp lí 19

II.3.2 Ẩn Mình-(Hide Path): 20

II.3.3 Không hiển thị lỗi nếu phát sinh 20

II.3.4 Bật safe-mode (chế độ an toàn) và vô hiệu các hàm nguy hiểm 20

II.3.5 Phân quyền account truy cập cơ sở dữ liệu MySQL 20

II.3.6 Mã hoá các file chứa thông tin nhạy cảm 21

II.3.7 Ngăn download source code khi server gặp sự cố: 21

II.3.8 Vô hiệu hoá biên dịch mã PHP trong thư mục chỉ định 21

II.3.9 Thường xuyên cập nhật vá lỗi cho : 21

CHƯƠNG II: Bảo Mật Email 22

II Cấu trúc chung của một địa chỉ email 22

III Các chức năng có thể có của một hộp thư điện tử: 22

IV Phương thức hoạt động của một hệ thống thư điện tử 23

V Các giao thức 24

VI Bảo mật 25

VI.1 Biết các trò lừa đảo 25

VI.2 Tạo một địa chỉ vĩnh viễn 25

VI.3 Hợp nhất các địa chỉ 26

Trang 3

VI.4 Không chuyển tay địa chỉ của bạn giống như một chiếc kẹo 26

VI.5 Không sử dụng "Reply All" một cách mù quáng 26

VI.6 BCC là bạn của bạn 27

VI.7 Nội dung các dòng chủ đề 27

VI.8 Mỗi thư một chủ đề 27

VI.9 Sự vắn tắt là cốt lõi trong cách nói hóm hỉnh 27

VI.10 Gửi văn bản thô nếu ngờ vực 27

VI.11 Chạy phần mềm chống virus 28

VI.12 Tránh các đính kèm lớn 28

VI.13 Đính kèm những gì bạn đã hứa 28

VI.14 Không mở các đính kèm hoặc kích vào các liên kết không mong đợi 28 VI.15 Xóa sự vượt giới hạn trong các reply 29

VI.16 Không sử dụng caps lock tất cả 29

VI.17 Biết đám đông của bạn 29

VI.18 Không gửi email với nội dung giận dữ 29

VI.19 Recall/Undo một thư đã gửi 29

VI.20 Đưa ra các luật lệ làm việc trên hòm thư của bạn 30

VI.21 Không email những gì bạn có thể IM (hoặc tin nhắn hoặc Twitter) 30

VI.22 Đôi khi tuyên bố “phá sản email” 30

VI.23 Tránh những thông tin bí mật 31

VI.24 Tạo một chữ ký hữu dụng 31

VII Quản lý Email an toàn với Virus, Spam và các thủ thuật 31

VII.1 "Lọc" thư rác spam 31

VII.2 Giữ "sạch" hộp thư inbox 32

VII.3 Tắt bỏ cửa sổ Preview 32

VII.4 Tạo danh sách email 32

VII.5 Quét virus trong thư 32

VII.6 Gửi file kích thước lớn 32

VII.7 Kiểm tra thư qua Web 32

CHƯƠNG I: BẢO MẬT WEB

I TÌM HIỂU VỀ ỨNG DỤNG WEB

I.1 Web là gì?

World Wide Web, gọi tắt là Web hoặc WWW, mạng lưới toàn cầu là một

không gian thông tin toàn cầu mà mọi người có thể truy nhập (đọc và viết) qua các máy tính nối với mạng Internet Thuật ngữ này thường được hiểu nhầm là từ đồng

nghĩa với chính thuật ngữ Internet Nhưng Web thực ra chỉ là một trong các dịch

vụ chạy trên Internet, chẳng hạn như dịch vụ thư điện tử Web được phát minh và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland

Trang 4

Các tài liệu trên World Wide Web được lưu trữ trong một hệ thống siêu văn

bản (hypertext), đặt tại các máy tính trong mạng Internet Người dùng phải sử dụng một chương trình được gọi là trình duyệt web (web browser) để xem siêu văn bản Chương trình này sẽ nhận thông tin (documents) tại ô địa chỉ (address)

do người sử dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain

name)), rồi sau đó chương trình sẽ tự động gửi thông tin đến máy chủ (web server)

và hiển thị trên màn hình máy tính của người xem Người dùng có thể theo các

liên kết siêu văn bản (hyperlink) trên mỗi trang web để nối với các tài liệu khác

hoặc gửi thông tin phản hồi theo máy chủ trong một quá trình tương tác Hoạt động truy tìm theo các siêu liên kết thường được gọi là duyệt Web

I.2 Ứng dụng Web là gì?

Trong kỹ thuật phần mềm, một Ứng dụng web (hay web application) là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay Itranet

Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách hàng và nhiều chức năng khác

Một ưu thế đặc biệt của việc xây dựng ứng dụng Web để hỗ trợ những tính năng chuẩn của trình duyệt đó là chúng sẽ hoạt động như mong muốn bất kể hệ điều hành hay phiên bản hệ điều hành nào được cài trên máy khách cho trước Thay vì tạo ra những chương trình khách cho MS Windows, Mac OS X, GNU/Linux, và những hệ điều hành khác, ứng dụng có thể được viết chỉ một lần và triển khai mọi nơi Tuy nhiên, sự hiện thực không được ổn định của HTML, CSS, DOM và những đặc tính trình duyệt khác có thể gây ra rắc rối trong việc phát triển và hỗ trợ ứng dụng web Thêm vào đó, khả năng cho người dùng điều chỉnh nhiều cài đặt hiển thị cho trình duyệt của họ (như chọn kích thước font, màu sắc, và kiểu chữ, hoặc tắt tính năng script) có thể can thiệp vào sự ổn định của ứng dụng web

 Cấu trúc 1 ứng dụng web

Dù có nhiều biến thể, một ứng dụng Web thông thường được cấu trúc như một ứng dụng ba lớp Ở dạng phổ biến nhất, một trình duyệt Web là lớp thứ nhất, một bộ máy sử dụng một vài công nghệ nội dung Web động (như ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On Rails) là lớp giữa, và một cơ sở dữ liệu là lớp thứ ba Trình duyệt sẽ gửi yêu cầu đến lớp giữa, lớp giữa sẽ phục vụ bằng cách tạo ra truy vấn và cập

nhật cơ sở dữ liệu và tạo ra giao diện người dùng

Trang 5

Hình I 1

I.3 Web Server:

Web Server 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.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com Server này sẽ tìm trang Web

có tên là index.htm rồi gửi nó đến trình duyệt của bạn

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 độ lưu chuyển thông tin từ server và máy tính truy cập

Trang 6

I.4 Ngôn ngữ lập trình Web

I.4.1 PHP

Năm 1994 rasmus lerdorf dua một doạn perl script vào trang web đề theo giỏi ai đang đọc tài liệu của ông.dần dẩn người ta thích đoạn cript này và bác đầu san xuất một gói công cụ mang ten personal home pages dó là tên đầu tiên của php

Ông đã viết một số cơ chế nhúng kết hợp với các công cụ khác để phân tích các biểu mẩu html hay phiên dịch biểu mẫu và dạc tên là PHP2 được gọi là PHP/FI PHP/FI vào năm 1995

Nhóm phát triển rasmus lerdorf , andigutmans, Zeev suraski đã loại bỏ những điểm yếu của php2 và thêm một số hàm API cho phép các lập trình viên khác bổ xung những tính năng của ngôn ngử để viết những module cho nó vào tháng 11/1997 phiên bản php3 ra đời

Cuối năm 1998, PHP đã có khoảng 10 triệu người sử dụng và hàng trăm triệu Website đã báo cáo là có sử dụng PHP

Vào năm 1999 phiên bản php4 đã ra dới vói tính năng nỗi trội.hỗ trợ nhiều web server mới phiên http

I.4.2 HTML (HyperText Markup Language):

Đây là một ngôn ngữ đơn giản được sử dụng trong các tài liệu siêu văn bản nó chỉ

là các tài liệu văn bản bình thường nhưng có chứa các thành phần đặc biệt gọi là các thẻ (hoặc các cặp thẻ) đánh dấu Dựa theo các cặp thẻ này mà trình duyệt có thể biết được nó phải thực hiện cái gì

Cấu trúc của 1 thẻ trong HTML bao gồm:

Dấu "<" Nếu là thẻ đóng thì sẽ bắt đầu bằng "</"

Trang 7

Một tài liệu XML bao gồm một tập các cặp thẻ được lồng vào nhau Mỗi thẻ có một cặp các thuộc tính và giá trị

 Cấu trúc của một tài liệu XML:

Một tài liệu XML có thể được chia thành hai phần chính, mỗi phần có thể có các thành phần theo quy định khác nhau:

- Phần Prolog: Chứa các khai báo cho tài liệu XML Phần này có thể chứa các định đạng như: Các chỉ thị xử lý, định nghĩa kiểu cho tài liệu, chú thích, phiên bản đang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng

- Phần thân chứa nội dung dữ liệu, bao gồm một hay nhiều phần tử, mỗi phần tử được chứa trong một cặp thẻ Phần tử đầu tiên của tài liệu được gọi là phần tử gốc (root element)

Một tài liệu XML được coi là hợp khuôn dạng (well-form) nếu nó tuân thủ các quy tắc sau:

• Các khai báo XML cần được đặt tại dòng đầu tiên của tài liệu, chẳng hạn như khai báo phiên bản hay các chỉ thị xử lý XML

• Mỗi tài liệu XML chỉ có một thành phần gốc (root) chứa mọi thành phần khác trong tài liệu Các thành phần có thể đứng trước phần tử gốc là chú thích, chỉ thị xử lý và định nghĩa DTD (nếu khai báo ở phần khởi đầu của tài liệu)

• Mỗi phần tử của tài liệu phải được nằm trong một cặp thẻ Nếu là phần tử rỗng thì thẻ phải được kết thúc bằng "/>" Ví dụ: "<image/>"

• Các thành phần trong tài liệu XML, khác thành phần gốc đều nằm giữa cặp thẻ gốc và phải lồng nhau một cách hợp lý, tức là không có thành phần phủ, tập hợp thẻ này không được phép chồng lên thẻ kia, mỗi tập trong phải nằm trong tập hợp lớn hơn kế tiếp

• Các cặp thẻ phải được viết chính xác như nhau kể cả chữ hoa hay chữ

thường

• Các giá trị của các thuộc tính đều phải nằm giữa hai ngoặc kép Ví dụ: hide=true là không hợp lệ, mà phải là hide="true"

I.4.4 ASP (active server pages)

Vào những thập niên 90 một Kì thuật mới của microsoft là kết hợp html với các đoạn script, các thanh phần sử lí server trên cùng 1 file được gọi là ASP

Về bản chất, ta có thể coi ASP như là một ngôn ngữ thông dịch vậy Một trang ASP có thể sử dụng HTML, JScript và VBScript Qua các đoạn mã nhúng này, ASP có thể truy cập đến các thành phần phía server Các thành phần này có thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành phần COM của Microsoft Các thành phần này có thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành phần COM của Microsoft

Ƣu điểm :

- Nó có thể làm được bất kỳ cái gì mà máy chủ có thể làm được với các thành phần COM Sau khi được thi hành, ASP sẽ sản sinh ra một trang Web có khuôn dạng HTML và trả nó về cho Web server

- Soạn thào thêm nội dung vào website rất linh động

Trang 8

- Đáp ứng truy vấn người dùng hoặc dử liệu được gởi từ HTML

- Giảm thiểu lưu thông mạng

- Trả về trang HTML nên người dùng có thể xem ở bất kì trình duyệt web nào

LiveScript, và cuối cùng thành JavaScript

JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java .js là phần

mở rộng thường được dùng cho tập tin mã nguồn JavaScript

Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với

ECMA-262 bản 3 ECMAScript là phiên bản chuẩn hóa của JavaScript Trình duyệt Mozilla phiên bản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X - phần mở rộng cho JavaScript hỗ trợ làm việc với XML, được chuẩn hóa trong ECMA-357 JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh, Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt

JavaScript có thể được sử dụng trong tập tin PDF của Adobe Acrobat và Adobe Reader

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C

I.5 Các hệ cơ sở dử liệu:

Cơ sở dử liệu là một hệ thống tập hợp của các tập tin dược thiết kế nhầm giảm thiểu việc lập lại dử liệu

Các tập tin trong cơ sở dử liệu là một thành phần của một bộ chương trình nhằm tạo lập quản lí và truy xuất các tập tin cơ sở dử liệu

Hệ quản trị cơ sở dử liệu (database managements system ) viết tắc là

DBMS là bộ phần mềm của những công cụ có sẳn do một số nhà sản xuất phần mềm cung cấp

I.5.1 My SQL:

MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí

nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)

Một số đặc điểm của MySQL

MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft)

MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng

Trang 9

quan hệ chứa dữ liệu

MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL

Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không

làm được gì cả

I.5.2 SQL :

Mô hình cơ sở dữ liệu (CSDL) quan hệ - RDBMS, do E.F Codd đưa ra vào đầu thập kỷ 70 Từ đó đến nay, nó liên tục phát triển trở thành mô hình CSDL phổ biến bậc nhất Mô hình quan hệ gồm các thành phần sau:

 Tập hợp các đối tượng và / hoặc các mối quan hệ

 Tập hợp các xử lý tác động tới các quan hệ

 Ràng buộc dữ liệu đảm bảo tính chính xác và nhất quán

SQL (Structured Query Language, đọc là "sequel") là tập lệnh truy xuất CSDL quan hệ

Ngôn ngữ SQL được IBM sử dụng đầu tiên trong hệ quản trị CSDL

System R vào giữa những năm 70 Hệ ngôn ngữ SQL đầu tiên (SEQUEL2) được IBM công bố vào tháng 11 năm 1976 Năm 1979, tập đoàn Oracle giới thiệu

thương phẩm đầu tiên của SQL SQL cũng được cài đặt trong các hệ quản trị CSDL như DB2 của IBM và SQL/DS Ngày nay, SQL được sử dụng rộng rãi và đuợc xem là ngôn ngữ chuẩn để truy cập CSDL quan hệ

Trang 10

đi qua nhiều điểm trên mạng và nếu như tại một máy nào đó người sử dụng có thể lấy thông tin trên gói dữ liệu này và biết các thông tin chi tiết của máy gửi, họ có thể sử dụng các kỹ thuật cao để truy nhập bất hợp pháp vào máy gửi và có thể phá hỏng máy này hoặc toàn bộ hệ thống tùy theo mức độ thao tác Những thao tác mà các người sử dụng bất hợp pháp này có thể làm trên hệ thống là ăn cắp thông tin

hệ thống, từ chối các dịch vụ sử dụng trên hệ thống

Mục đích của việc bảo mật là thông báo cho người sử dụng, phòng ban trong

hệ thống biết các vấn đề về việc bảo vệ thông tin và kỹ thuật của họ Các luật bảo mật cũng chỉ dẫn cho họ biết thông tin về các máy mà họ có thể gặp trong đường mạng

Trước hết phải nhận ra một điều là không có một hệ thống nào là hoàn toàn bảo mật tuyệt đối Tất cả những gì mà nhà quản trị có thể làm là tăng thêm sự khó khăn cho người dùng khi họ có ý định thâm nhập hệ thống Nhà quản trị hệ thống cần phải quyết định sự cân bằng giữa các mục đích, ý định sử dụng của hệ thống Cần phải quyết định mức độ bảo mật cần thiết cho hệ thống của mình

Đối với các nhà cung cấp sản phẩm thì mục tiêu của họ là cung cấp càng nhiều các dịch vụ càng tốt, đơn giản hóa các việc sử dụng dịch vụ trong hệ thống, và nói chung là tất cả những gì mà họ có thể làm để cho sản phẩm có thể tiêu thụ nhiều Việc này vô hình chung đã làm cho nhà quản trị hệ thống trở nên phức tạp hơn Bởi vì các dịch vụ đa dạng má các nhà cung cấp phát triển có thể trở thành cổng sau cho các cracker có thể thâm nhập hệ thống

Như vậy, có thể mô tả sự tác động của việc này đối với các nhà quản trị như sau :

 Các dịch vụ chống lại các vấn đề bảo mật : như đã nói ở trên thì các dịch vụ

mà các nhà cung cấp sản phẩm phát triển có thể cho phép người dùng sở hữu các nguồn tài nguyên trên hệ thống và dĩ nhiên là điều này hoàn toàn không đòi hỏi một chứng thực nào cả Đây là một việc hết sức nguy hiểm cho hệ thống và nhiệm vụ của nhà quản trị là cần phải quyết định hạn chế các dịch vụ cần thiết trong hệ thống hơn là bảo mật cho các dịch vụ này

 Dễ dàng trong sử dụng thì khó khăn trong bảo mật : một hệ thống mà dễ dàng cho phép sự thâm nhập của người dùng là một điều hết sức nguy hiểm cho việc bảo mật hệ thống Nên có cơ chế chứng thực cho mỗi sử dụng, điều này có thể gây rắc rối trong việc sử dụng nhưng nó làm cho hệ thống trở nên an toàn hơn, đặc biệt nếu có thể thì nên áp dụng cơ chế chứng thực thường xuyên để tăng thêm phần bảo mật cho hệ thống

 Kết quả của sự bảo mật chính là giảm sự mất mát thông tin : việc thiết lập các

cơ chế bảo mật như sử dụng firewall, cơ chế chứng thực, nghiêm ngặt trong vấn đề sử dụng tương ứng sẽ làm giảm bớt sự mất mát thông tin, mất mát dịch

vụ, … Điều này tương ứng với cái giá phải trả cho các nhà quản trị

 3 yếu tố đảm bảo an ninh thông tin:

* Tính bảo mật: đảm bảo rằng chỉ người được phép mới có thể truy cập thông tin

Trang 11

* Tính toàn vẹn: đảm bảo tính chính xác và đầy đủ của thông tin và các phương

pháp xử lý thông tin

* Tính sẵn sàng: đảm bảo người sử dụng được phép có thể truy cập thông tin và

các tài sản tương ứng khi cần 3 tính chất quan trọng này được viết tắt bằng nhóm

từ tiếng Anh: C.I.A, trong đó C là Confidentiality (tính bảo mật); I là Integrity

(tính toàn vẹn); và A là Availability (tính sẵn sàng)

Hình I 2 :Thống Kê Các Vụ Tấn Công Website

II.2 Từ phía người tấn công

Trang 12

Hình I 3 Phương thức tấn công

II.2.1 Thu thập thông tin chung :

Đây là việc đầu tiên cần phải làm, ta tìm kiếm các thông tin xung quanh

Website

-Chủ sở hữu trang Web, đội ngũ quản trị, điều hành

-Địa chỉ IP, máy chủ DNS của Server

-Môi trường mạng, hệ điều hành, phần mềm máy chủ Web, ngôn ngữ lập trình, hệ CSDL

-Các cổng và dịch vụ tương ứng đang mở trên Server

- Số lượt truy cập, băng thông hàng tháng của Website

II.2.2 Khảo sát ứng dụng Web: bước tiếp theo là tập trung nghiên cứu

Website

-Website sử dụng ứng dụng Web nào?

-Mã nguồn mở hay đóng? Phiên bản?

-Nếu là mã nguồn mở thì download source code về để phân tích và kiểm tra, tìm đọc các thông tin về bug và exploit từ trang chủ của sản phẩm

Trang 13

II.2.3 Dò tìm lỗi:

Dò tìm lỗi tự động: Dùng các công cụ quét và dò lỗi Website như

Scrawlr, MaxQ, Selenium, Acunetix Web Vulnerability Scanner, …

Hình I 4: giao diện của Acunetix Web Vulnerability Scanner

Giao diện của Acunetix Web Vulnerability Scanner

Dò tìm lỗi bằng tay:

Vận dụng các kiến thức lập trình, hệ điều hành, bảo mật và mạng máy tính, như một “người dùng tinh nghịch” hacker tiến hành các thao tác dò lỗi trực tiếp ngay trên website, nhất là ở phần nhập dữ liệu đầu vào

II.2.4 Khai thác lỗi để tấn công : Đây là giai đoạn quan trọng nhất để có thể

phá hoại hoặc chiếm quyền điều khiển được Website

Một vài cách thức tấn công phổ biến

Trang 14

này đó là SQL jection Tại Việt Nam, đã qua thời kì các quản trị website lơ là việc

quét virus, cập nhật các bản vá lỗi từ các phần mềm hệ thống, nhưng việc chăm sóc các lỗi của các ứng dụng lại rất ít được quan tâm Đó là lí do tại sao

trong thời gian vừa qua, không ít website tại Việt Nam bị tấn công và đa số đều là

lỗi SQL injection Vậy SQL injection là gì ?

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

b) Session Hijacking

 Thế nào là Session Hijacking:

Session Hijacking là sử dụng session của một người dùng nào đó, đã tạo được kết nối hợp lệ bằng một phương thức không hợp lệ Phương thức này như thế nào thì mời bạn đọc tiếp ở phần dưới Để dễ hiểu, ta đưa ra một ví dụ thế này: Pc A và Pc

B kết nối thành công với nhau, kẻ tấn công chiếm lấy session ID của Pc A để kết nối với PC B, dĩ nhiên lúc này Pc B cho rằng kẻ tấn công là Pc A, và cho kẻ tấn công có tấn cả quyền thực hiện các hành động mà Pc A có thể thực hiện

Mở rộng:

Một admin của một website đăng nhập vào hệ thống quản lí website

.Một cookie được tạo ra kèm theo Session ID của user Admin ngay lúc đó

.Vì một lí do nào đó, admin này không dùng computer nữa, nhưng không logout khỏi trình điều khiển, nghĩa là cookies và Session ID này vẫn còn hiệu lực

Bằng cách nào đó, bạn đoán được session ID này, nghiễm nhiên bạn có quyền truy cập vào hệ thống quản lí của website với quyền hạn của Admin đó

HTTP là một giao thức có tính stateless cho nên, thông tin giữa client (trình duyệt)

và server (web server) thường được kết thúc càng nhanh càng tốt và connection này sẽ được tắt bỏ sau khi quy trình chuyển gởi thông tin hoàn tất Vì vậy, Session

đã được tạo không được kiểm tra còn tồn tại hay không, cho đến khi user bấm vào nút logout, xóa bỏ cookies Trừ phi web server kiểm tra xem Session này còn sống hay không sau một khoảng thời gian định sẳn, pingsession của HVA là một ví dụ

Sự cần thiết của Session ID: Hãy tưởng tượng bạn vào một website nào đó,

VNDEV chẳng hạn, bạn đăng nhập thành công Nhưng mỗi lần muốn trả lời một bài nào đó, bạn phải đăng nhập lại, rất bất tiện Session ID sinh ra để khắc phục sự bất tiện đó Với một session ID tạo ra riêng cho một user khi kết nối tới một

website nào đó, web server dựa vào session ID để nhận ra user, và chấp nhận cho user này thực hiện các hành động mà user được quyền mà không phải xác nhận lần này qua lần khác

Trang 15

Một ít về cookies : Có nhiều loại cookies, nhưng có 2 loại bạn cần tìm hiểu là

persistent cookies và non-persistent cookies

-Persistent cookies là loại cookies vẫn tồn tại khi bạn tắt trình duyệt Khi bạn chọn remember me, thì non-persistent cookies trở thành Persistent cookies

-Non-Persistent cookies thì ngược lại, trình duyệt tắt, cookies hết hiệu lực, và dĩ nhiên session ID cũng đi theo Non-persistent cookies còn được gọi nôm na là session cookies (cookies theo phiên làm việc)

c) XSS (Cross-Site Scripting)

 XSS là gì?

Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kỹ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người

sử dụng khác Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là

cả các thẻ HTML

Kỹ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất của Web Applications và mối đe doạ của chúng đối với người sử dụng ngày càng lớn Người chiến thắng trong cuộc thi eWeek OpenHack 2002 là người

đã tìm ra 2 XSS mới Phải chăng mối nguy hiểm từ XSS đã ngày càng được mọi người chú ý hơn

 XSS hoạt động nhƣ thế nào?

Về cơ bản XSS cũng như SQL Injection hay Source Injection, nó cũng là các yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server Nó có thể là một request được gửi từ các form dữ liệu hoặc cũng có thể đó chỉ là các URL như là

http://www.example.com/search.cgi?query=<script>alert('XSS was found

Nhưng nếu như các kỹ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó Tất nhiên đôi khi các hacker cũng sử dụng kỹ thuật này đề deface các website nhưng đó vẫn chỉ tấn công vào bề mặt của website Thật vậy, XSS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server

Trang 16

Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để lại họ có thể bị chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor, worm

 Cảnh Giác Với XSS

Có lẽ không cần liệt kê những nguy hiểm của XSS, nhưng trên thực tế nếu bạn có một chút hiểu biết về XSS bạn sẽ không còn phải sợ chúng nữa Thật vậy bạn hoàn toàn có thể tránh khỏi việc bị tấn công bởi những lỗi XSS nếu hiểu kỹ về nó

 Phát Hiện XSS Bằng Cách Nào?

Nếu như các bạn sử dụng các mã nguồn của các chương trình có sẵn bạn có thể tham khảo danh sách các lỗ hổng của chương trình bạn trên các trang web chứa các thông tin về bảo mật như securityfocus.com, securiteam.com, Tuy nhiên nếu các website được tự viết mã nguồn thì bạn không thể áp dụng phương pháp trên Trong trường hợp này bạn cần đến các chương trình scanner tự động Nếu như bạn sử dụng trong môi trường Windows bạn có thể dùng N-Stealth hay AppScan, đó là những chương trình scan khá tuyệt, bạn không chỉ kiểm tra được các lỗi XSS mà nó còn cho phép bạn kiểm tra các lỗi khác trong Website đó, Server đó

Tất nhiên đâu phải lúc nào bạn cũng cần kiểm tra tất cả, nếu như bạn chỉ muốn kiểm tra các lỗi XSS có trong website, bạn chỉ cần sử dụng screamingCSS

Đó là một Perl Script sẽ mở các kết nối tới website (sử dụng Perl's socket) để kiểm tra các lỗi XSS của bạn Hơn nữa bạn có thể sử dụng nó trong cả môi trường Unix lẫn Windows

 Ngăn Ngừa XSS nhƣ thế nào?

Người ta không lường hết được mức độ nguy hiểm của XSS nhưng cũng không quá khó khăn để ngăn ngừa XSS Có rất nhiều cách để có thể giải quyết vấn

OWASP (The Open Web Application Standard Project) nói rằng để có thể xây dựng các website bảo mật cao, đối với các dữ liệu của người sử dụng bạn nên + Chỉ chấp nhận những dữ liệu hợp lệ

+ Từ chối nhận các dữ liệu hỏng

+ Liên tục kiểm tra và thanh lọc sữ liệu

Tuy nhiên trên thực tế, một số trường hợp bạn phải chấp nhận mọi loại dữ liệu hay không có một bộ lọc phù hợp Chính vì vậy bạn phải có những cách riêng để giải quyết

Một trong những cách hay sử dụng là bạn mã hoá các kí tự đặc biệt trước khi in ra website, nhất là những gì có thể gây nguy hiểm cho người sử dụng Trong trường hợp này thẻ <script> sẽ được đổi thành <script> Như vậy nó sẽ vẫn được

in ra màn hình mà không hề gây nguy hiểm cho người sử dụng

Kỹ thuật XSS được mô tả lần đầu tiên cách đây 2 năm và hầu hết các khả năng tiềm ẩn của kỹ thuật này đã được biết đến Tuy nhiên chúng ta mới chỉ khắc phục

Trang 17

được một phần của nó Không phải vô tình mà Yahoo Mail lại để sót một lỗi XSS

trong bộ lọc của mình Một phương pháp tối ưu vẫn còn đang ở phía trước

vi xử lý và các công nghệ phân luồng, đa nhân, xử lý song song; đồng bộ với sự phát triển của phần cứng là phần mềm hệ thống và web server software ngày càng được viết chuyên biệt để xử lý đa tác vụ Chính nhờ sự phát triển đó, một máy chủ ngày nay(có thể là chiếc PC của bạn) có thể đặt được nhiều website trên đó, ví dụ như PC của bạn có thể đặt 3 trang web: của lớp bạn, của bạn gái bạn và 1 blog của bạn Và cũng chính nhờ vậy, mà 1 công nghệ khai thác lỗi mới ra đời? Nó mang tên local attack -tấn công từ nội bộ

Bước 1: Xác định các website cần tấn công

Bước 2: Xác định các website đặt cùng server với mục tiêu

Bước 3: Tìm cách khai thác một trong các website đặt chung server với mục tiêu Khai thác được 1 trong số các website đó Tìm cách upload webshell hoặc thực thi shell code

Bước 4:Thành công có webshell, kiểm tra quyền của user hiện tại

Bước 5: Nếu quyền hiện tại đủ đến tấn công mục tiêu Sang bước 7

Bước 6: Nếu quyền hiện tại không đủ tấn công, tìm cách nâng quyền lên

Bước 7:Đã có đủ quyền, tiến hành đọc file config, tìm user password, deface mục tiêu nếu có thể

Bước 8:Kết thúc

e) Dùng các loại trojan, virus

Hacker tìm cách cài trojan và virus vào máy của nạn nhân để đánh cắp mật khẩu

của admin trong quá trình đăng nhập

f) DOS và DDOS, DRDOS

o Tấn công từ chối dịch vụ (DOS) là gì?

Tấn công DOS là từ viết tắt của Deny Of Service attack - Tấn công từ chối dịch vụ Theo lý thuyết, các dịch vụ web trên Internet đều có một giới hạn

về khả năng cung cấp dịch vụ cho người truy cập Nếu một trang web bị gửi tới số lượng yêu cầu truy cập vượt quá giới hạn có thể đáp ứng, thì dịch

vụ web sẽ bị tê liệt, không thể trả lời cho các yêu cầu truy cập hợp lệ của người sử dụng bình thường

Tương tự với DOS trên web, phương thức tấn công DOS bằng phần mềm cũng khiến ĐTDĐ liên tục phải nhận các cuộc gọi đến Các thuê bao hợp lệ khác không thể gọi tới thuê bao bị tấn công vì máy luôn bận Thuê bao nạn nhân cũng khó có thể thực hiện các cuộc gọi đi vì luôn có điện thoại gọi đến

Ngày đăng: 05/09/2014, 10:53

HÌNH ẢNH LIÊN QUAN

Hình I. 2 :Thống Kê Các Vụ Tấn Công Website  II.2.  Từ phía người tấn công - bảo mật web và email
nh I. 2 :Thống Kê Các Vụ Tấn Công Website II.2. Từ phía người tấn công (Trang 11)
Hình I. 3 Phương thức tấn công  II.2.1  Thu thập thông tin chung: - bảo mật web và email
nh I. 3 Phương thức tấn công II.2.1 Thu thập thông tin chung: (Trang 12)
Hình I. 4: giao diện của Acunetix Web Vulnerability Scanner - bảo mật web và email
nh I. 4: giao diện của Acunetix Web Vulnerability Scanner (Trang 13)
Hình II. 1 - bảo mật web và email
nh II. 1 (Trang 23)
Hình II. 2 - bảo mật web và email
nh II. 2 (Trang 23)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w