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

Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống

22 1,7K 12

Đ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 22
Dung lượng 362,5 KB

Nội dung

Một ứng dụng web thường có kiến trúc gồm: Hình 1.1: Kiến trúc một số ứng dụng web thông thường  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ể

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN

THÔNG -

Nguyễn Thu Hương

NGHIÊN CỨU CÁC DẠNG TẤN CÔNG ỨNG

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS TRẦN VIỆT HƯNG

Phản biện 1: ………

Phản biện 2: ………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc

sĩ tại Học viện Công nghệ Bưu chính Viễn thông

Vào lúc: giờ ngày tháng năm

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

LỜI MỞ ĐẦU

Việc thiếu quan tâm và đầu tư nhất định đến hệ thống an ninh, bộ phận chuyên trách dẫn đến các vụ tấn công vào các website rất dễ xảy ra Điều này cũng đồng nghĩa với việc những nội dung dữ liệu của các đơn vị có nguy cơ bị mất là rất lớn khi an ninh mạng không được đảm bảo Vậy chúng ta cần phải làm gì để tăng cường khả năng phòng, chống các nguy cơ tấn công vào các website

và biện pháp ngăn chặn, khắc phục kịp thời các sự cố này

Việc đi sâu tìm hiểu về các dạng tấn công vào các website sẽ giúp cho chúng ta hiểu hơn về những lổ hổng trong công tác quản lý website, qua đó đưa ra những giải pháp giúp các nhà quản lý có những biện pháp khắc phục, ngăn chặn sự thâm nhập từ bên ngoài, cũng như vai trò quan trọng trong việc triển khai ứng dụng những công nghệ mới an toàn và bảo mật hơn Chính vì vây, tôi đã chọn đề tài “Nghiên cứu các dạng tấn công ứng dụng web

và giải pháp phòng chống” làm đề tài luận văn của mình

Trang 4

Chương 1 - TỔNG QUAN VỀ WEB VÀ CÁC DẠNG TẤN CÔNG ỨNG DỤNG WEB

1.1 Tổng quan về web và an ninh web

1.1.1 Tìm hiểu về website và cách hoạt động

Website là một tập hợp các trang web (web pages) bao gồm văn bản, hình ảnh, video, flashv.v thường chỉ nằm trong một tên miền (domain name) hoặc tên miền phụ (subdomain) Trang web được lưu trữ ( web hosting) trên máy chủ web (web server) có thể truy cập thông qua Internet

1.1.2 Tìm hiểu về ứng dụng web

1.1.2.1 Khái niệm ứng dụng web

Ứ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 Firefox 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…

Trang 5

Một ứng dụng web thường có kiến trúc gồm:

Hình 1.1: Kiến trúc một số ứng dụng web thông thường

 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ác ứ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

Trang 6

Quá trình hoạt động bắt đầu với yêu cầu được tạo

ra từ người dùng trên trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server) Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu Sau đó ứng dụng Web gửi thông

tin lại cho người dùng qua trình duyệt

1.1.2.2 Mô hình hoạt động của một ứng dụng web

Hình 1.3: Mô hình hoạt động của một ứng dụng web

 Trình khách ( hay còn gọi là trình duyệt): Internet Explorer, Firefox

 Trình chủ: Apache, IIS, …

 Hệ quản trị cơ sở dữ liệu: SQL Server, MySQL, DB2, Access…

Trang 7

Hoạt động của một ứng dụng web:

 Trình duyệt : gửi một yêu cầu (request) đến trình chủ thông qua các lệnh cơ bản GET, POST của giao thức HTTP

 Trình chủ :

 Thực thi một chương trình được xây dựng từ nhiều ngôn ngữ như Perl, C/C++…

 Yêu cầu bộ diễn dịch thực thi các trang ASP, JSP…

 Trình chủ trả về cho trình khách 1 luồng dữ liệu có định dạng theo giao thức HTTP gồm 2 phần:

 Header: 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ể là một file HTML, một hình ảnh, một đoạn phim hay một văn bản bất

1.1.2.3 Một số ứng dụng web

Ứng dụng dựa trên web là các chương trình được thiết kế để được sử dụng hoàn toàn trong trình duyệt Sử

Trang 8

dụng ứng dụng, chúng ta có thể làm những việc như tạo tài liệu, chỉnh sửa ảnh và nghe nhạc… mà không phải cài đặt phần mềm phức tạp

 Calendar (lịch trình)

Ưu điểm của các ứng dụng trên web

Ứng dụng web có các ưu điểm sau so với ứng dụng dành cho máy tính để bàn:

Cài đặt ứng dụng dễ dàng, nhanh chóng: Nhiều ứng

dụng sẵn có trên mạng chỉ bằng một cú nhấp chuột, thậm chí không phải khởi động lại trình duyệt hoặc máy tính của mình

 Ứng dụng luôn có sẵn: Dù chúng ta đang sử dụng máy tính nào, chúng ta luôn có thể truy cập vào ứng dụng của mình…

Trang 9

1.1.3 Tìm hiểu về an ninh web

Theo thống kê các phương thức tấn công hiện nay (hình) chúng ta thấy các kiểu tấn công truyền thống như SQL Injection, Cross-Site Script, Brute Force vẫn đang gây thiệt hại cho hệ thống mạng dù đã được cảnh báo từ rất lâu

Các cuộc tấn công này chủ yếu tập trung vào các ứng dụng web được phát triển trong các dịch vụ thương mại điện tử với nền tảng ứng dụng web 2.0 Vấn đề bảo mật cho các ứng dụng hiện nay nói chung và ứng dụng web nói riêng vẫn còn khá “mới mẻ” đối với các doanh nghiệp Việt Nam

Trang 10

1.2 Các dạng tấn công ứng dụng web

1.2.1 Tấn công từ chối dịch vụ

1.2.1.1 DoS (Denial of Service)

DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người dùng hợp pháp của một dịch

vụ nào đó truy cập và sử dụng dịch vụ đó Nó bao gồm cả việc làm tràn ngập mạng, làm mất kết nối với dịch vụ…

mà mục đích cuối cùng là làm cho server không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các client DoS

có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậm chí cả một hệ thống mạng rất lớn Thực chất của DoS là kẻ tấn công sẽ chiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu dịch vụ đến từ các client khác

1.2.1.2 DDoS (Distributed Denial Of Service)

Distributed Denial Of Service (DDoS) là kỹ thuật tấn công làm các ISP lo âu, giới hacker chính thống thì không công nhận DDoS là kỹ thuật tấn công chính thống Thế nhưng Black hat đang có rất nhiều ưu thế khi triển

khai tấn công bằng kỹ thuật DDoS

Trang 11

Việc phòng ngừa và ngăn chặn DDoS vẫn còn đang thực hiện ở mức độ khắc phục hậu quả và truy tìm thủ phạm

1.2.1.3 DRDoS (Distributed Reflection Denial of Service)

Mục tiêu chính của DRDoS là chiếm đoạt toàn bộ băng thông của máy chủ, tức là làm tắc ngẽn hoàn toàn đường kết nối từ máy chủ vào xương sống của Internet và tiêu hao tài nguyên máy chủ Trong suốt quá trình máy chủ bị tấn công bằng DRDoS, không một máy khách nào

có thể kết nối được vào máy chủ đó Tất cả các dịch vụ chạy trên nền TCP/IP như DNS, HTTP, FTP, POP3, đều bị vô hiệu hóa

1.2.2 Chiếm hữu phiên làm việc (Session Management)

1.2.2.1 Ấn định phiên làm việc

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 SessionID 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 SessionID đó và nghiễm nhiên trở thành người dùng hợp

Trong kiểu tấn công ấn định một phiên làm việc, hacker ấn định sẵn session ID cho nạn nhân trước khi họ

Trang 12

đăng nhập vào hệ thống Sau đó, hacker sẽ sử dụng session ID này để buớc vào phiên làm việc của nạn nhân

đó

1.2.2.2 Đánh cắp phiên làm việc

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ã SessionID của họ được lưu trữ trong Cookie hay tham số URL, biến ẩn của Form

1.2.3 Tấn công chèn câu truy vấn SQL Injection

SQL injection là 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à nó ứ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

Trang 13

Khi Hacker gửi những dữ liệu (thông qua webform), ứng dụng web sẽ thực hiện và trả về cho trình duyệt kết quả câu truy vấn hay những thông báo lỗi có liên quan đến cơ sở dữ liệu Và nhờ những thông tin này mà haker biết được nội dung cơ sở dữ liệu và có thể điều khiển toàn bộ hệ thống ứng dụng

Các dạng tấn công SQL Injection:

- 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ệnh SELECT, sử dụng câu lệnh INSERT, sử dụng các stored-procedures

1.2.4 Chèn mã lệnh thực thi trên trình duyệt Cross-Site Scripting

Khái niệm về XSS là thao tác các kịch bản phía máy khách của một ứng dụng web để thực hiện theo cách mong muốn của kẻ xấu Những kịch bản đã nhúng vào trang web sẽ được thực hiện khi người dùng tải trang hoặc có những tác vụ liên quan Cross-site Scripting (XSS) là lỗ hổng cho phép hacker có thể chèn những đoạn mã client-script (thường là Javascript hoặc HTML) vào trang web,

Trang 14

khi người dùng vào những trên web này, mã độc sẽ được thực thi trên máy của người dùng

Hiện tồn tại 2 hình thức:

 Stored-XSS:

 Reflected-XSS:

Trang 15

Chương 2: GIẢI PHÁP PHÒNG CHỐNG TẤN

CÔNG ỨNG DỤNG WEB

2.1 Phương thức tấn công ứng dụng web

2.1.1 Tấn công từ chối dịch vụ

2.1.1.1 DoS (Denial of Service)

 Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng

2.1.1.2 DDoS (Distributed Denial Of Service)

Bao gồm 3 giai đoạn:

Giai đoạn chuẩn bị

Giai đoạn xác định mục tiêu và thời điểm

Phát động tấn công và xóa dấu vết

Kiểm tra xem server có bị DDOS hay không

Hình 2.1 Mô hình cuộc tấn công DDoS

Trang 16

2.1.1.3 DRDoS (Distributed Reflection Denial of Service)

Về cơ bản, DrDoS là sự phối hợp giữa hai kiểu DoS và DDoS Nó có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa nhiều máy tính để chiếm dụng băng thông như kiểu DDoS Kẻ tấn công thực hiện bằng cách giả mạo địa chỉ của server mục tiêu rồi gửi yêu cầu SYN đến các server lớn như Yahoo, Micorosoft…,để các server này gửi các gói tin SYN/ACK đến server mục tiêu Các server lớn, đường truyền mạnh đã vô tình đóng vai trò zoombies cho kẻ tấn công như trong DdoS

Hình 2.2 Sơ đồ mô tả kiểu tấn công DRDOS

Trang 17

2.1.2 Chiếm hữu phiên làm việc (Session Management)

2.1.2.1 Ấn định phiên làm việc

Bước 1: Thiết lập session ID

Bước 2: Gởi session ID đến trình duyệt nạn nhân

Bước 3: Đột nhập vào phiên làm việc của nạn nhân

2.1.2.2 Đánh cắp phiên làm việc

 Tấn công kiểu dự đoán phiên làm việc

 Tấn công kiểu vét cạn phiên làm việc

 Tấn công kiểu dùng đoạn mã để đánh cắp phiên

làm việc

2.1.3 Tấn công chèn câu truy vấn SQL Injection

2.1.3.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

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

Trang 18

Để 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

2.1.3.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

2.1.3.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'

2.1.3.5 Tấn công SQL Injection nâng cao

2.1.4 Chèn mã lệnh thực thi trên trình duyệt Cross-Site Scripting

XSS là một lỗi phổ biến, có rất nhiều trang web bị mắc phải lỗi này, chính vì thế ngày càng có nhiều người quan tâm đến lỗi này Các bước thực hiện tấn công theo phương pháp này như sau:

Trang 19

Truy tìm lỗ hổng XSS của web

Tấn công

2.2 Giải pháp phòng chống tấn công ứng dụng web

2.2.1 Tấn công từ chối dịch vụ

2.2.1.1 DoS (Denial of Service)

- Mô hình hệ thống phải được xây dựng hợp lý, tránh phụ thuộc lẫn nhau quá mức dễ dẫn đến một bộ phận gặp sự cố

Cách 1: Chống iframe

Cách 2: Chống tải lại trang web có ác ý

Cách 3: Giới hạn số kết nối website tại một thời điểm

2.2.1.3 DRDoS (Distributed Reflection Denial of Service)

chống do tính bất ngờ và thường là phòng chống trong thế

bị động khi sự việc đã diễn ra Các phương án phòng ngừa

có thể:

Trang 20

 Thiết lập, cài đặt mật khẩu mạnh (strong password)

để bảo vệ các thiết bị mạng như máy chủ dịch vụ, các router,… và các nguồn tài nguyên quan trọng khác

Phòng ngừa các điểm yếu của ứng dụng Web, Webserver, DNS, SQL Database… Thường xuyên cập nhật các bản vá

là một trong những yêu cầu quan trọng…

2.2.2 Chiếm hữu phiên làm việc

Chống việc đăng nhập với một session ID có sẵn, ứng dụng phải hủy bỏ session ID được cung cấp bởi trình duyệt của người dùng khi đăng nhập và luôn tạo một session ID mới khi người dùng đăng nhập thành công sẽ khiến cho những hacker không phải là người dùng hợp lệ của hệ thống

Giới hạn phạm vi ứng dụng của session ID như kết hợp session ID với địa chỉ của trình duyệt, kết hợp session

ID với chứng thực được mã hoá SSL của người dùng, xóa

bỏ session khi người dùng thoát khỏi hệ thống hay hết hiệu lực, thiết lập thời gian hết hiệu lực cho session để tránh trường hợp hacker có thể duy trì session và sử dụng

nó lâu dài…

Ngày đăng: 14/02/2014, 08:42

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Kiến trúc một số ứng dụng web thông thường - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 1.1 Kiến trúc một số ứng dụng web thông thường (Trang 5)
Hình 1.1: Kiến trúc một số ứng dụng web thông thường - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 1.1 Kiến trúc một số ứng dụng web thông thường (Trang 5)
1.1.2.2. Mơ hình hoạt động của một ứng dụng web - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
1.1.2.2. Mơ hình hoạt động của một ứng dụng web (Trang 6)
Hình 1.3: Mô hình hoạt động của một ứng dụng web - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 1.3 Mô hình hoạt động của một ứng dụng web (Trang 6)
Hình 2.1. Mơ hình cuộc tấn cơng DDoS - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 2.1. Mơ hình cuộc tấn cơng DDoS (Trang 15)
Hình 2.1. Mô hình cuộc tấn công DDoS - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 2.1. Mô hình cuộc tấn công DDoS (Trang 15)
Hình 2.2. Sơ đồ mô tả kiểu tấn công DRDOS - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 2.2. Sơ đồ mô tả kiểu tấn công DRDOS (Trang 16)
Hình 2.2. Sơ đồ mô tả kiểu tấn công DRDOS - Nghiên cứu các dạng tấn công ứng dụng WEB và giải pháp phòng chống
Hình 2.2. Sơ đồ mô tả kiểu tấn công DRDOS (Trang 16)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w