1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu về các cách tấn công website và các cách phòng chống (tt)

53 211 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 53
Dung lượng 525,74 KB

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

Nội dung

Dự kiến kết quả đạt được của đề tài và khả năng ứng dụng Nắm được các phương pháp tấn công cơ bản mà kẻ tấn công thường sử dụng để tấn công website từ trước đến nay và có thể sử dụng ti

Trang 1

LỜI CẢM ƠN

Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của cô Nguyễn Nương Quỳnh, khoa Kỹ thuật - Công nghệ Thông tin, truờng Đại học Quảng Bình Trong suốt thời gian thực hiện khóa luận, mặc dù rất bận rộn trong công việc nhưng cô vẫn giành nhiều thời gian và tâm huyết trong việc hướng dẫn em Cô cung cấp cho em rất nhiều hiểu biết về một lĩnh vực mới khi em mới bắt đầu bước vào thực hiện khóa luận

Em cũng xin chân thành cảm ơn các thầy, cô giáo trong khoa Kỹ thuật- Công nghệ Thông tin, cũng như các thầy cô trong trường đã giảng dạy và giúp

đỡ em trong 4 năm học vừa qua Chính các thầy cô đã xây dựng cho chúng em những kiến thức nền tảng và kiến thức chuyên môn để em có thế hoàn thành khóa luận tốt nghiệp và chuẩn bị cho những công việc của mình sau này

Em gửi lời cảm ơn đến tất cả bạn bè, những người đã luôn bên em, động viên và khuyến khích em trong quá trình thực hiện khóa luận tốt nghiệp

Và cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc đến gia đình đã nuôi nấng và luôn là chỗ dựa vững chắc cho em

Đồng Hới, ngày 19 tháng 05 năm 2017

Sinh viên thực hiện

Hoàng Trung Thương

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong khóa luận là kết quả tìm hiểu của bản thân Trong toàn bộ nội dung của khóa luận, những điều được trình bày hoặc là của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cá các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin chịu trách nhiệm về khóa luận của mình!

Sinh viên thực hiện

Hoàng Trung Thương

Trang 3

MỤC LỤC

A TỔNG QUAN ĐỀ TÀI 1

1.Lý do chọn đề tài 1

2.Mục đích và nhiệm vụ nghiên cửu 1

3.Nội dung nghiên cứu 2

4.Đối tượng, phạm vi, phương pháp nghiên cứu 2

5.Dự kiến kết quả đạt được của đề tài và khả năng ứng dụng 2

B NỘI DUNG ĐỀ TÀI 3

CHƯƠNG 1: TỔNG QUAN VÀ KHẢO SÁT HIỆN TRẠNG VỀ WEBSITE 3

1.1.TỔNG QUAN VỀ WEBSITE 3

1.1.1 Tổng quan 3

1.1.2 Các dịch vụ và ứng dụng trên nền web 4

1.2 KHẢO SÁT HIỆN TRẠNG 5

1.2.1 Tình hình an ninh mạng thế giới 5

1.2.2 Tình hình bảo mật ở Việt Nam 7

CHƯƠNG 2: CÁC PHƯƠNG PHÁP TẤN CÔNG 10

2.1 Giới thiệu chung về các phưong pháp tấn công website 10

2.2 Broken Authentication and Session Management 11

2.2.1 Giới thiệu 11

2.2.2.Hoạt động 12

2.2.3 Cách phát hiện lỗi 13

2.2.4 Phòng chống 13

2.3 Insecure Direct Object References 13

2.3.1 Giới thiệu 13

2.3.2 Hoạt động 14

2.3.3 Cách phát hiện lỗi 14

2.3.4 Phòng chống 15

2.4 Cross Site Request Forgery 15

2.5 Security Misconfíguration 15

2.6 Insecure Cryptographic Storage 16

Trang 4

2.7 Failure to Restrict URL Access 16

2.8 Insufficient Transport Layer Protection 17

2.8.1 Giới thiệu 17

2.8.2 Hoạt động 17

2.8.3 Phòng chống 18

2.9 Unvalidated Redirects and Forwards 18

2.9.1 Giới thiệu 18

2.9.2 Hoạt động 18

2.9.3 Phòng chồng 19

2.10 Local Attack 19

2.10.1 Tun hiểu về Local Attack 19

2.10.2 Các bước thực hiện trong Local Attack 20

2.10.3 Các kỹ thuật Local Attack 21

2.10.4 Cách phòng chong 23

2.10.5 Các công cụ hỗ trợ 24

2.11 Tấn công từ chối dịch vụ (Denial of Sever) 25

2.11.1 DOS 25

2.11.2 DDOS (Distributed Denial of Service) 30

2.12.1 Định nghĩa 33

2.12.2 Các dạng tấn công SQL In jection 33

2.12.3 Tránh sự kiểm soát 36

2.12.4 Các phòng tránh SQL Injection 37

2.13.1 Tấn côngXSS 37

2.13.3 Cách tấn công 38

2.13.4 Phân loại 38

2.13.5 Phòng chống 40

2.14.3 Những phương thức hoạt động của Phishing 41

2.14.4 Quá trình hoạt động 43

2.14.5 Các kiểu lừa đảo - Man in the middle attacks: 43

2.14.6 Phòng chống 45

Trang 5

C KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47

1 Kết luận 47

2 Hướng phát triển 47

TÀI LIỆU THAM KHẢO 48

Trang 6

TỔNG QUAN ĐỀ TÀI

1 Lý do chọn đề tài

Trong thời đại ngày nay internet trở nên quen thuộc và là một công cụ hữu ích đế một đất nước giới thiệu hình ảnh hay đơn giản chỉ là một trang web cá nhân của một ai đó giới thiệu về mình Các dịch vụ trên mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội Khi mà sự phát triển của mạng internet ngày càng phát triển đa dạng và phong phú thì các cuộc tấn công website cũng phát triển hết sức phức tạp Điều này đặt ra vấn đề cấp thiết là làm thế nào để đảm bảo an toàn thông tin cho ứng dụng web,thông tin của người sử dụng Xuất phát từ thực tế đó, khóa luận này em sẽ tìm hiếu về các cách tấn công Website và cách phòng chống các loại tấn công này

Thông qua việc tìm hiểu, em mong muốn góp một phần nhỏ vào việc nghiên cứu và tìm hiểu về các vấn đề an ninh mạng giúp cho việc học tập và nghiên cứu

2 Mục đích và nhiệm vụ nghiên cửu

- Tìm hiểu các vấn đề liên quan đến hoạt động của một ứng dụng web

- Tìm hiếu các kỹ thuật tấn công website như: Cross Site Scripting, SQL Injection, Broken Authentication and Session Management, Insecure Direct Object References, Insecure Cryptographic Storage, Failfure to Restrict URL Access, Insufficient Transport Layer Protection, Unvalidates Redirects and Forwards, Phishing, Local Attack, Autocomplete, DOS

- Kết quả thực hiện: nắm rõ bản chất và cách thức tấn công website, áp dụng vào thực tế để hạn chế thấp nhất khả năng bị tấn công website

Trang 7

3 Nội dung nghiên cứu

Chương 1: Tổng quan và khảo sát hiện tượng về website

Chương 2: Các phương pháp tấn công và một số giải pháp bảo mật

4 Đối tượng, phạm vi, phương pháp nghiên cứu

Cơ sở lý thuyết liên quan của hoạt động website

Các kỹ thuật tấn công website

5 Dự kiến kết quả đạt được của đề tài và khả năng ứng dụng

Nắm được các phương pháp tấn công cơ bản mà kẻ tấn công thường sử dụng để tấn công website từ trước đến nay và có thể sử dụng tiếp trong thời gian dài trong tương lai

Trang 8

A NỘI DUNG ĐỀ TÀI CHƯƠNG 1: TỔNG QUAN VÀ KHẢO SÁT HIỆN TRẠNG VỀ

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, flash, thường chỉ nằm trong một tên miền (domain name) hoặc tên miền phụ (subdomain) Website được lưu trữ (web hosting) trên Webserver có thể truy cập thông tin

Website đóng vai trò là một văn phòng hay một cửa hàng trên mạng internet - nơi giới thiệu thông tin về doanh nghiệp, sản phẩm hoặc dịch vụ do doanh nghiệp cung cấp Có thế coi website chính là bộ mặt của doanh nghiệp,

là nơi để đón tiếp và giao dịch với các khách hàng, đối tác trên internet

Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công cụ quản lỷ website (admin tool) Đặc điểm của website động là tính linh hoạt và có thể cập nhật thông tin thường xuyên, quản lý các thành phần trên website dễ dàng Loại website này thường được viết bằng các ngôn ngữ lập trình như PHP, ASP.NET, JSP, Perl, , quản trị cơ sở dữ liệu bằng SQL hoặc MYSQL

Website tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang, không có

cơ sở dữ liệu và không có các công cụ quản lý thông tin website Thông thường website tĩnh được thiết kế bằng các phần mềm như Frontpage, Dreamwaver Đặc điểm của website tĩnh là ít thay đổi nội dung, sự thay đổi nội dung này thường liên quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung trên đó

Trang 9

Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ website được mọi người biết đến là web 2.0, web 3.0 và công nghệ mới nhất hiện nay là web office

Tên miền (domain): tên miền chính là địa chỉ website, trên internet chỉ tồn tại duy nhất một địa chỉ (tức là tồn tại duy nhất một tên miền) Có hai loại tên miền:

■ Tên miền Quốc tế: do Trung tâm quản lỷ tên miền quốc tế cấp: thường có đuôi com, net, biz, info, Tên miền loại này dễ mua, giá rẻ nhưng cũng dễ bị

kẻ tấn công ăn cắp tên miền

■ Tên miền của các quốc gia: do Trung tâm quản lý tên miền của mỗi quốc gia quản lý Tên miền Việt Nam có đuôi vn, com.vn, edu.vn, gov.vn, do VNNIC quản lý Muốn sử dụng tên miền này cần làm hồ sơ đăng ký và thanh toán phí khá cao gồm phí đăng kí đóng 1 lần và phí duy trì hàng năm Tuy nhiên tên miền này được cho là thể hiện sự nghiêm túc và chuyên nghiệp cho doanh nghiệp và không bị ăn cắp tên miền

Lưu trữ website: dữ liệu thông tin của website phải được lưu trữ trên một máy tính luôn hoạt động và kết nối với mạng Internet Một máy chủ có thế lưu trữ nhiều website, nếu máy chủ này bị sự cố chẳng hạn tắt trong một thời điểm nào đó thì không ai có khả năng truy cập được những website lưu trữ trên máy chủ tại thời điểm bị sự cố

Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp có thể thuê dung lượng thích hợp cho website

Dung lượng host: là nơi để lưu trữ cơ sở dữ liệu của website (hình ảnh, thông tin, ), đơn vị dung lượng là MB hoặc GB

Băng thông hay dung lượng đường truyền là tổng số MB dữ liệu tải lên máy chủ hoặc tải về từ máy chủ nơi đặt website, đơn vị đo thông thường là MB/tháng

1.1.2 Các dịch vụ và ứng dụng trên nền web

- Với công nghệ hiện nay, website không chỉ đơn giản là một trang tin cung cấp các tin bài đơn giản Những ứng dụng viết trên nền web không chỉ được gọi

Trang 10

là một phần của website nữa, giờ đây chúng được gọi là phần mềm viết trên nền web

- Có rất nhiều phần mềm chạy trên nền web như google documents, email,

- Một số ưu điểm của phần mềm hay ứng dụng chạy trên nền web:

■ Mọi người đều có trình duyệt và bạn chỉ cần trình duyệt để chạy phần mềm

■ Phần mềm luôn luôn được cập nhật vì chúng chạy trên máy chù

■ Luôn sẵn sàng 24/7

■ Dễ dàng sao lưu dữ liệu thường xuyên

■ Có thể truy cập mọi lúc, mọi nơi, miễn là bạn có mạng

■ Chi phí triển khai cực rẻ so với phần mềm chạy trên desktop

Hãy hình dung bạn có một phần mềm quản lý bán hàng hay quản lý công việc ở công ty Không phải lúc nào bạn cũng ở công ty, với phần mềm viết trên nền web, bạn có thể vào kiếm tra, điều hành ở bất cứ đâu, thậm chí bạn chỉ cần một chiếc điện thoại chạy được trình duyệt mà không phải cần đến một chiếc máy tính

1.2 KHẢO SÁT HIỆN TRẠNG

1.2.1 Tình hình an ninh mạng thế giới

Năm 2012, Kaspersky đã làm cuộc khảo sát về tình hình an ninh mạng

2012 với giám đốc điều hành của 3.300 công ty thuộc 22 quốc gia trên thế giới: trong đó có 30% là doanh nghiệp nhỏ, 41% doanh nghiệp vừa và 29% là doanh nghiệp lớn Kết quả cho thấy 50% rủi ro kinh doanh của các doanh nghiệp là từ các mối đe dọa qua mạng, 26% là các vấn đề liên quan đến an ninh mạng Những báo cáo trên chỉ ra rằng, các đợt tấn công của kẻ tấn công nhằm vào các doanh nghiệp hiện đang ngày càng gia tăng

Với sự xuất hiện của hàng loạt các cuộc tấn công trực tuyến trong thời gian qua, báo hiệu thời kì khó khăn cho các ngân hàng trực tuyến trên toàn thế giới Năm 2012, một cuộc tấn công nhằm vào các ngân hàng Mỹ, khiến cho các website của các ngân hàng này ngừng trệ hoặc dừng hẳn Theo Prolexic, một

Trang 11

công ty về hạn chế các cuộc tấn công từ chối dịch vụ phân tán (DDOS), đã đưa

ra ý kiến về các cuộc tấn công này Cụ thế là một loại virus mới có tên Itsoknoproblembro, có khả năng gây lây nhiễm cho các máy chủ tại các trung tâm dữ liệu, các nhà cung cấp dịch vụ đám mây, biến các máy chủ đó thành các

“bRobots” mà hầu như không chương trình chống virus nào hiện nay dò tìm ra được chúng Bằng việc lây nhiễm cho các trung tâm dữ liệu thay vì các máy tính đơn lẻ, những kẻ tấn công đã giành lấy sức mạnh tính toán đế dựng lên vô số các cuộc tấn công từ chối dịch vụ

Từ những nỗ lực của mình, Mỹ đã tìm ra những kẻ đứng sau những cuộc tấn công này là từ Iran nhằm trả thù vì những hình phạt kinh tế và các cuộc tấn công trực tuyến của Mỹ

Ông Lewis đã nói lưu lượng mạng làm nghẽn băng thông các site ngân hàng Mỹ nhiều gấp nhiều lần so với lưu lượng mà Nga đã nhằm vào Estonia trong cuộc tấn công trực tuyến dài cả tháng vào năm 2007, gần như đánh sập hệ thống mạng tại quốc gia Baltic này

Hình thức tấn công này làm tăng sự lo ngại về làn sóng các cuộc tấn công trực tuyến vào các ngân hàng Mỹ trong các tuần gần đây Các nhà nghiên cứu an ninh nói rằng thay vì việc khai thác các máy tính riêng lẻ, những kẻ tấn công đã chiếm quyền điều khiển các mạng máy tính tại các trung tâm dữ liệu “Phạm vi, mức độ và hiệu quả của các cuộc tấn công đó là chưa từng có từ trước đến nay”, Carl Herberger, phó chủ tịch các giải pháp an ninh tại Radware, một hãng an ninh từng nghiên cứu các cuộc tấn công vào các ngân hàng và các nhà cung cấp dịch vụ đám mây

Ke từ tháng 9 năm 2012, những kẻ xâm nhập trái phép đã gây ra những vụ phá hoại chính cho các site ngân hàng trực tuyến của Bank of America, Citigroup, Wells Fargp, U.S.Bancrop, PNC, Captital One,

Họ đã sử dụng các trung tâm dữ liệu cho công việc kinh doanh của các công ty hiện nay, nhưng kẻ tấn công có thể tận dụng các hệ thống hàng trăm, hàng ngàn máy chủ từ những hệ thống này cho các cuộc tấn công của mình

Trang 12

John Kindervag, một nhà phân tích tại Forrester Research nói: “Các tin tặc tấn công bằng việc tạo ra các mạng máy tính cá nhân hoặc bằng việc ăn cắp toàn

bộ các tài nguyên từ các hệ thống đám mây quản lỷ kém”

Các nhà nghiên cứu tại Radware đã nghiên cứu các cuộc tấn công vào vài ngân hàng và đã thấy rằng cuộc tấn công này tới từ các trung tâm dữ liệu thế giới Họ đã phát hiện nhiều dịch vụ đám mây và dịch vụ thuê đặt chỗ web (hosting) khác nhau bị lây nhiễm bởi một dạng phần mềm độc hại đặc biệt phức tạp, gọi là Itsoknoproblembro, đã được thiết kế để tránh bị dò tìm ra từ những chương trình diệt virus Các botnet, hoặc các mạng máy tính cá nhân bị lây nhiễm với Itsoknoproblembro: họ gọi chúng là các Robots

Ồng Herberger đã từ chối nêu tên các nhà cung cấp dịch vụ đám mâv nào

đã khai thác, nhưng ông đã nói rằng mỗi cuộc tấn công vào một ngân hàng mới

đã cung cấp bằng chứng ngày càng nhiều hơn các trung tâm dữ liệu đã bị lây nhiễm và khai thác

1.2.2 Tình hình bảo mật ở Việt Nam

Theo khảo sát mới nhất của Chi hội an toàn thông tin phía Nam (VNISA), tình hình an toàn thông tin năm 2012 vẫn ghi nhận xu hướng gia tăng của các cuộc tấn công, nhất là tấn công có chủ đích đối với các tố chức, doanh nghiệp trong nước Và mặc dù ý thức bảo mật của các đơn vị có phần tiến triển nhưng vẫn còn chưa đủ

Năm 2012, ghi nhận của Microsoft cho biết, có hơn 2.500 website của Việt Nam bị tin tặc tấn công, so với 300 website của năm 2011

Khảo sát của Chi hội an toàn thông tin phía Nam công bố: tấn công theo hình thức quấy phá, dò tìm và tấn công DOS đang gia tăng mạnh và gây thiệt hại tài chính nhất

Ông Trịnh Ngọc Minh - Phó chủ tịch an toàn thông tin VNISA phía Nam nhận định, tình hình an ninh mạng trong năm 2012 diễn biến theo xu hướng không có những vụ tấn công nối cộm nhưng tấn công nhỏ lẻ dưới nhiều hình thức vẫn tăng

Trang 13

Bên cạnh đó sự bùng nổ của mã độc (malware) đang là điều đáng ngai nhất Theo thống kê của PandaLab, có 80 ngàn mã độc mới xuất hiện mỗi ngày Buôn bán mã độc trở thành một thị truởng ngầm nguy hiểm Vòng đời của mã độc từ khi được phát triển đến khi thành thương phấm và hết tác dụng khoảng 2 năm Sau một năm được rao bán, giá một mã độc có thế hạ từ 1.000 USD xuống còn

25 USD Với mức giá này, bất cứ doanh nghiệp ở quy mô nào cũng có thể bị đe dọa

VNISA cho biết, trong các hình thức tấn công bằng mã độc đã phát hiện, có 30% tấn công do Trojan hay Rootkit, 30% là do virut và worm Tỷ lệ các hình thức tấn công này trong năm 2012 đều tăng so với năm 2011

Ớ Việt Nam, với sự đầu tư cho an toàn thông tin chưa nhiều, sẽ có nguy cơ chịu không ít rủi ro Đặc biệt, trong năm 2012, không chỉ các website của doanh nghiệp, Chính phủ, mà cả những website của các công ty bảo mật hàng đầu của Việt Nam cũng bị tấn công

Tình trạng tấn công các website của doanh nghiệp bằng hình thức sử dụng nhiều máy tính truy cập gây tắc nghẽn hệ thống - DDOS hay thay đối toàn bộ nội dung website Các kiểu tấn công này làm tê liệt mọi giao dịch, thông tin tương tác với khách hàng, ảnh hưỏng lớn đến hoạt động kinh doanh và uy tín của chủ website Đây là hiện tượng báo động mà Doanh nghiệp cần lưu ý và có giải pháp phòng vệ

Đầu tháng 7 năm 2012, trang web của Trung tâm Đào tạo lập trình viên Aprotrain Aptech (AA) bị nhiều phụ huynh và học sinh phàn nàn vì truy cập khó khăn và hầu như không được vào trang web Bộ phận kỹ thuật kiếm tra hồ sơ nhật ký thấy số lượng kết nối vào máy chủ tăng bất thường (chỉ trong thời gian ngắn, số kết nối tăng thêm 2.000 lượt), hiệu năng sử dụng Ram, CPU đều trên 90% ngắn, số kết nối tăng thêm 2.000 lượt), hiệu năng sử dụng RAM, CPU đều trên 90%

Giữa tháng 7 năm 2012, trang tin tức dành cho giới trẻ kenhl4.vn cũng bị tấn công tương tự Suốt từ 19 đến 22 giờ, người dùng rất khó truy cập vào trang web Truy cập được thì giao diện bị thay đổi, các bài viết bị chèn vào những câu

Trang 14

nói có ý đe dọa ban biên tập Vụ tấn công cũng để lại những thắc mắc trong lòng độc giả kenhl4.vn về độ tin cậy của các bài viết trên trang web này

Theo thống kê của Công Ty An ninh mạng Bkav, trung bình một tháng có đến 2.000 trang web của Việt Nam bị tấn công nhƣ trang web của Liên đoàn Bóng Đá Việt Nam, báo điện tử Vietnamnet, Unikey

Trang 15

CHƯƠNG 2: CÁC PHƯƠNG PHÁP TẤN CÔNG VÀ MỘT SỐ GIẢI

PHÁP BẢO MẬT 2.1 Giới thiệu chung về các phưong pháp tấn công website

Diện mạo những mối nguy về ứng dụng internet thay đổi một cách liên tục Nguyên nhân chính về sự phát triển này là sự tiến bộ của kẻ tấn công, sự ra đời của những công nghệ mới và sự thiết lập của những hệ thống ngày càng phức tạp Để theo kịp tiến độ này buộc người dùng web phải cập nhật thông tin hằng ngày Các cuộc tấn công được thực hiện một cách tự động với nguyên nhân đa

số là các lỗ hổng bảo mật Đặc trưng của các cuộc tấn công là lưu lượng truy cập

dữ liệu thay đối nhanh chóng rồi tiếp theo là khoảng thời gian hoạt động nhẹ hơn Con số thống kê dưới đây từ kết quả kiếm tra các ứng dụng web trong suốt

từ năm 2007 đến năm 2011 cho thấy phần trăm các ứng dụng được tìm thấy bị ảnh hưởng bởi những nhóm lỗ hổng bảo mật thông dụng:

■ Broken Authentication (62%): nhóm lỗ hổng này gồm nhiều khuyết điểm khác nhau trong cơ chế đăng nhập của ứng dụng có thể cho phép kẻ tấn công đoán biết những mật khẩu kém, thực hiện tấn công brute-force (kiểu tấn công dùng cho tất cả các loại mã hóa) hoặc vưọt qua phần đăng nhập

■ Broken Access Control (71%): lỗ hổng này liên quan đến những trường họp ứng dụng mắc lỗi bảo vệ quyền truy cập vào dữ liệu và tính năng của nó, nghiêm trọng hơn là cho phép kẻ tấn công thấy dữ liệu nhạy cảm của người dùng khác được lưu trữ trên máy chủ

■ SQL Injection (32%): lỗ hổng này cho phép kẻ tấn công gửi mã độc đế can thiệp vào phần tương tác của ứng dụng với cơ sở dữ liệu Kẻ tấn công có thể lấy dữ liệu tùy ỷ từ ứng dụng, can thiệp vào phần logic của nó, hoặc thực thi lệnh trên máy chủ cơ sở dữ liệu

■ Cross Site Scripting (94%): lỗ hổng này cho phép kẻ tấn công nhằm vào những người dùng khác của ứng dụng, nghiêm trọng là có thể tăng quyền truy cập vào dữ liệu của họ, thực hiện các hành động không được chứng thực, hoặc thực hiện các tấn công khác với họ

■ Information Leakage (78%): lỗ hống này liên quan đến các trường họp

Trang 16

ứng dụng làm lộ thông tin nhạy cảm giúp cho kẻ tấn công có thể phát triển một đợt tấn công vào ứng dụng thông qua việc xử lý lỗi không triệt đê hoặc các hành

kĩ thuật tấn công mới

Hội đồng các chuyên gia bảo mật đã xếp hạng những kĩ thuật tấn công trên web trong năm 2012 và các chuyên gia cũng đã liệt kê danh sách 10 kĩ thuật tấn công web hàng đầu sau quá trình đánh giá và ghi nhận Dưới đây là 10 kĩ thuật tấn công web được các chuyên gia về bảo mật bầu chọn:

- SQL Injection

- Cross Site Scripting

- Broken Authentication and Session Management

- Cross Site Resquest Forquery (CSRF)

- Security Misconfiguration

- Insecure Direct Object References

- Insecure Cryptographic Storage

- Failfure to Restrict URL Access

- Insufficient Transport Layer Protection

2.2 Broken Authentication and Session Management

2.2.1 Giới thiệu

Broken Authentication and Session Management bao gồm tat cả các khía cạnh xử lý xác thực và quản lý phiên làm việc Xác thực là một khía cạnh quan trọng của quá trình này nhưng ngay cả các cơ chế xác thực vững chắc cũng có thể bị suy yếu do chức năng quản lý có khe hở, bao gồm thay đổi mật khẩu, ghi

Trang 17

nhớ mật khẩu, thay đối tài khoản và nhiều chức năng khác Vì các cuộc tấn công

có thế xảy ra với nhiều ứng dụng web nên chức năng quản lý tài khoản phải yêu cầu xác thực lại ngay cả khi người sử dụng có phiên làm việc họp lệ

Các ứng dụng web thường phải thiết lập phiên để theo dõi luồng các yêu cầu từ người dùng, giao thức HTTP không hỗ trợ khả năng này vì vậy các ứng dụng web phải tự tạo ra nó Thông thường môi trường ứng dụng web cung cấp khả năng phiên nhưng nhiều nhà phát triển thích tự họ tạo ra một thẻ phiên riêng cho họ Tuy nhiên, chức năng ứng dụng liên quan đến quản lý xác thực và quản

lý phiên làm việc thường thực hiện một cách chính xác, điều này cho phép kẻ tấn công lấy được mật khẩu, khóa, thẻ phiên hoặc khai thác lỗi để thực hiện các giả mạo danh tính người dùng

Ví dụ: Thời gian chờ của ứng dụng không được chỉnh họp lý Người dùng

sử dụng một máy công cộng để truy cập vào trang web Thay vì chọn đăng xuất người dùng chỉ đóng trình duyệt đó, vài giờ sau vẫn có thế sử dụng phiên làm việc đó

- Điếm yếu bảo mật: người phát triển thường xuyên tự xây dựng những mô hình chứng thực và quản lý các phiên làm việc nhưng xây dựng đúng cách thì không dễ Kết quả là thường xuyên có lỗi trong nhiều phần như đăng xuất, quản

lý mật khấu, thời gian chờ, ghi nhớ người dùng, câu hỏi bí mật, cập nhật tài khoản, Tìm những lỗi này rất khó khăn vì lập trình có thế độc lập, không giống nhau

- Ánh hưởng kỹ thuật: Lỗi như trên có thể cho phép một vài hoặc toàn bộ tài khoản bị tấn công Khi thành công, kẻ tấn công có thể làm nhiều thứ dưới quyền nạn nhân Những tài khoản đặc quyền thường là mục tiêu chính

Trang 18

2.2.3 Cách phát hiện lỗi

- Thông tin có thể bị đoán ra hoặc thay thế vì những điểm yếu trong các chương trình quản lý hay không?

- Thứ tự phiên làm việc có hiến thị trong URL hay không?

- Thứ tự phiên làm việc có thế bị giả mạo bằng các phương pháp định hình phiên làm việc hay không?

- Thứ tự phiên làm việc có thay đổi sau khi người dùng đăng nhập lại hay không?

■ Nỗ lực nhiều để tránh bị ăn cắp phiên làm việc

2.3 Insecure Direct Object References

2.3.1 Giới thiệu

Kĩ thuật này xảy ra khi người phát triển đế lộ một tham chiếu đến những đối tượng trong hệ thống như các tệp tin, thư mục hay chìa khóa dữ liệu Nếu chúng ta không có một hệ thống kiểm tra truy cập, kẻ tấn công có thể lợi dụng những tham chiếu này để truy cập dữ liệu một cách trái phép

Ví dụ: ứng dụng sử dụng dữ liệu chưa được kiểm tra trong một truy vấn SQL truy cập đến thông tin tài khoản:

String query = “select * from accts where account = ?”;

preparedStatement pstmt = connection.prepareStatement (query, );

pstmt.setString (1, request.getparameter(“acct”));

ResultSet results = pstmt.executeQuery ();

Kẻ tan công có thể dễ dàng thay đổi tham số „acct‟ trong trình duyệt để có thể xem bất cứ thông tin tài khoản nào Nếu không kiểm định kẻ tấn công có thể

Trang 19

lợi dụng để ăn cắp tài khoản của bất kì ai thay vì chỉ được truy cập vào một tài khoản nhất định

2.3.2 Hoạt động

- Tác nhân đe dọa: Hãy xem xét các loại người dùng trong hệ thống của bạn Liệu có người dùng nào chỉ có một phần quyền truy cập đến các loại dữ liệu trong hệ thống

- Hướng tấn công: Kẻ tấn công là một người trong hệ thống, có thế thay đối một tham số ứng với một đối tượng nào đó mà kẻ tấn công không có quyền truy cập đến

- Điểm yếu bảo mật: ứng dụng thường xuyên sử dụng trực tiếp tên hoặc khóa của một đối tượng khi xây dựng các trang web Các ứng dụng thường không kiểm tra xem người dùng này thật sự có quyền truy cập hay không Đây chính là mấu chốt dẫn đến các lỗi đối tượng tham chiếu Người kiểm tra có thể

dễ dàng thay đổi các giá trị tham số để phát hiện ra lỗi này, phân tích mã nguồn

có thể giúp nhanh chóng phát hiện quyền truy cập có được xem xét cẩn thận hay không

- Ánh hưởng kĩ thuật: Lỗi như trên có thế giúp kẻ tấn công nắm toàn bộ những dữ liệu có thể được liên kết bởi các tham biến Trừ khi không gian truy cập rời rạc, kẻ tấn công có thế truy cập tất cả các loại dữ liệu như thế

2.3.3 Cách phát hiện lỗi

Cách tốt nhất để biết xem một ứng dụng có bị lỗi này hay không là kiểm tra nếu tất cả các đối tượng tham chiếu có được bảo vệ hợp lý không Để đạt được điều này cần xem xét:

- Đối với các liên kết trực tiếp tới dữ liệu cần bảo vệ, ứng dụng cần phải kiểm tra xem người dùng đang yêu cầu có được cho phép truy cập đến dữ liệu

đó hay không

- Nếu liên kết là một tham biến gián tiếp, việc chuyển biến đến dữ liệu trực tiếp phải được giới hạn bởi những giá trị cho phép đối với người dùng hiện tại

Trang 20

Kiểm tra mã nguồn của ứng dụng có thể nhanh chóng phát hiện nếu một trong hai phương pháp trên không được thiết kế cấn thận Chạy kiểm tra cũng có thể hiệu quả trong việc phát hiện nhũng đối tượng không an toàn Nhũng công

cụ tự động thường không thể tìm ra lỗi này vì rất khó để xác định cái nào cần bảo vệ và như thế nào là thiếu an toàn hoặc an toàn

Ví dụ, thay vì sử dụng khóa cơ sở dữ liệu, một danh sách cho phép lựa chọn nào

mà người dùng muốn truy cập úng dụng sau đó sẽ phải biến đối từ tham biến gián tiếp đến khóa

- Kiểm tra truy cập Đối với mỗi tham chiếu trực tiếp từ một nguồn không xác thực phải được kiểm tra điều khiển để chắc chắn rằng người dùng được quyền truy cập đến đối tượng yêu cầu

2.4 Cross Site Request Forgery

Kiểu tấn công giả mạo yêu cầu ép buộc trình duyệt web của một người dùng đăng nhập gửi những yêu cầu giao thức web (HTTP) tới một trang web bị lỗi, bao gồm cookie của phiên truy cập và những thông tin tự động khác như thông tin đăng nhập Cách thức này cho phép kẻ tấn công buộc trình duyệt web tạo ra những yêu cầu cho ứng dụng lỗi mà ứng dụng này không thể biết đây là nhũng yêu cầu giả mạo của kẻ tấn công

2.5 Security Misconfíguration

Một cơ chế an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và triển khai nó cho các ứng dụng, khuôn mẫu, máy chủ ứng dụng, máy chủ web, máy chủ dữ liệu và các ứng dụng nền tảng Tất cả những thiết lập nên được định nghĩa, thực hiện và bảo trì bởi vì rất nhiều thứ không được triển khai với thiết lập an toàn mặc định Các hiệu chỉnh cũng bao gồm cập nhật phần mềm và nhũng thư viện được sử dụng bởi ứng dụng

Trang 21

Ví dụ:

Giao diện điều khiển máy chủ của quản trị viên được tự động cài đặt và không được gỡ bỏ Tài khoản mặc định chưa được thay đổi Kẻ tấn công phát hiện đăng nhập với tài khoản mặc định và chiếm quyền hệ thống

2.6 Insecure Cryptographic Storage

Nhiều ứng dụng web không bảo vệ dữ liệu nhạy cảm như thẻ tín dụng, SSN

và những mã xác thực thông tin bằng các phương pháp mã hóa hay băm Kẻ tấn công có thể ăn cắp hay thay đổi những dữ liệu nhạy cảm và tiến hành hành vi trộm cắp, gian lận thẻ tín dụng,

2.7 Failure to Restrict URL Access

Nhiều ứng dụng web kiểm tra quyền thực thi địa chỉ truy cập (URL) trước khi dựng các liên kết và nút nhấn được bảo vệ Tuy nhiên ứng dụng cũng phải thực hiện kiểm tra tương tự mỗi khi những trang thông tin được truy cập trực tiếp nếu không kẻ tấn công có thể giả mạo URL để truy cập vào nhưng trang thông tin ẩn này

Ví dụ: Kẻ tấn công đơn giản nhắm mục tiêu vào các URL Cả 2 URL sau đây đều yêu cầu chứng thực Quyền quản trị cũng cần phải được cung cấp để truy cập vào trang “admin getapplnfo”:

http ://exampl e ■ com/ app/getapplnfo

http://example.com/app/admin getapplnfo

Nếu kẻ tấn công không được chứng thực mà vẫn có thể truy cập vào trang thì đó gọi là truy cập trái phép đã được cho phép Nếu một người sử dụng chứng thực nhưng lại không phải trong ban quản trị, vẫn truy cập được vào trang

Trang 22

“admingetapplnfo”,đây là một lỗi cho các kẻ tấn công truy cập vào các trang quản trị không được bảo vệ một cách đúng đắn

2.8 Insufficient Transport Layer Protection

2.8.1 Giới thiệu

Các ứng dụng thường xuyên mắc sai lầm trong việc kiểm tra định danh, mã hóa và bảo vệ sự tuyệt mật và tính toàn vẹn của những thông tin nhạy cảm trên mạng lưới liên kết Nó thường được bảo vệ bởi những thuật toán yếu, sử dụng chứng nhận đã hết hiệu lực hoặc không sử dụng đúng cách

Ví dụ: Một trang web không sử dụng SSL cho tất cả các yêu cầu xác thực

Kẻ tấn công chỉ đơn giản là theo dõi lưu lượng mạng và quan sát cookie phiên làm việc session của một nạn nhân đã chúng thực Sau đó, kẻ tấn công sử dụng lại cookie này và chiếm phiên làm việc session của người sử dụng

an toàn

- Điểm yếu bảo mật: Các ứng dụng thường không bảo vệ lưu lượng mạng Phần lớn các ứng dụng chỉ sử dụng SSL/TLS trong quá trình xác thực và do đó không bảo vệ dữ liệu và định danh phiên làm việc Chúng chỉ hết hạn hoặc được cài đặt không đúng cũng có thể được dùng Phát hiện sai sót chỉ cần quan sát lưu lượng mạng của trang web Đối với những lỗi phức tạp hơn cần phải kiểm tra việc thiết kế các ứng dụng và cấu hình các máy chủ

- Ánh hưởng kĩ thuật: dữ liệu và tài khoản người dùng có thể bị đánh cắp Nếu tài khoản của quản trị bị xâm nhập, toàn bộ website có thế bị lộ thông tin

Trang 23

2.8.3 Phòng chống

Cung cấp việc bảo vệ các lớp vận chuyển một cách thích hợp có thể ảnh hưởng đến thiết kế trang web Dễ dàng nhất để yêu cầu Secure Socket Layer (SSL) cho toàn bộ trang web Vì lý do hiệu suất, một số trang web chỉ sử dụng SSL cho các trang riêng Một số khác chỉ sử dụng SSL cho các trang quan trọng nhưng điều này có thể để lộ mã của phiên làm việc và những dữ liệu nhạy cảm khác

Yêu cầu SSL cho tất cả các trang nhạy cảm Những yêu cầu không qua SSL đến nhũng trang này nên được chuyển hướng đến các trang SSL

Sử dụng thuộc tính bảo vệ cho các cookie nhạy cảm

Đảm bảo chứng chỉ SSL họp lệ, chưa quá hạn, không bị thu hồi và phù họp với tên miền trang web.Các kết nối ở đầu cuối cũng nên sử dụng SSL hoặc các công nghệ mã hóa khác

2.9 Unvalidated Redirects and Forwards

2.9.1 Giới thiệu

ứng dụng web thường xuyên đưa người dùng đến những liên kết qua các website khác và sử dụng những thông tin thiếu tin cậy để xác định đích đến Nếu không được kiểm tra một cách cẩn thận, kẻ tấn công có thể lợi dụng để chuyển nạn nhân đến các trang web lừa đảo, phần mềm độc hại hoặc chuyển tiếp để truy cập các trang trái phép

Ví dụ:

Úng dụng này có một trang gọi là "redirect.jsp" mà có một tham số duy nhất có tên là"url" Kẻ tấn công tạo một URL độc hại đế hướng người dùng đến một trang web độc hại đế thực hiện lừa đảo và cài đặt các phần mềm độc hại

http://www.example.com/redirect.isp7urUevil.com

2.9.2 Hoạt động

- Tác nhân đe dọa: Hãy xem xét bất cứ ai có thể lừa người dùng của bạn gửi yêu cầu đến trang web của bạn Bất kỳ trang web hoặc nguồn cấp dữ liệu HTML khác mà người dùng của bạn sử dụng có thế làm điều này

- Hướng tấn công: Kẻ tấn công tạo ra những đường dẫn liên kết thiếu

Trang 24

chứng thực và lừa nạn nhân nhấp chuột vào Khả năng nạn nhân sẽ nhấp chuột vào rất cao vì đó là đường dẫn đến một trang web hợp lệ Kẻ tấn công nhắm vào chuyển tiếp để vượt qua bước kiểm tra bảo mật

- Điểm yếu bảo mật: Các ứng dụng thường xuyên chuyển hướng người dùng đến các trang khác, hoặc sử dụng chuyến tiếp nội bộ một cách tương tự Đôi khi các trang đích được quy định trong một tham số thiếu thẩm tra, cho phép kẻ tấn công lựa chọn trang đích Phát hiện chuyển hướng thiểu thẩm tra phải tìm kiếm chuyển hướng mà có thể thiết lập toàn bộ URL Chuyến tiếp thiếu chứng thực thì khó hơn, vì chúng hướng vào các trang nội bộ

- Ánh hưởng kĩ thuật: Những chuyển hướng như vậy có thế cố gắng để cài đặt phần mềm độc hại hoặc lừa nạn nhân khai báo mật khẩu hoặc các thông tin nhạy cảm khác Chuyển tiếp không an toàn có thể cho phép vưọt qua các bước kiểm tra truy cập

2.9.3 Phòng chồng

An toàn sử dụng các chuyến hướng và chuyển tiếp có thế được thực hiện trong một số cách sau đây:

- Đơn giản chỉ cần tránh sử dụng chuyển hướng và chuyển tiếp

- Nếu sử dụng, tránh sử dụng tham số của người dùng cho việc xác định điểm đến

- Nếu sử dụng tham số cho điểm đến không thể tránh khỏi đảm bảo giá trị của tham số là hợp lệ và đúng quyền người dùng

2.10 Local Attack

2.10.1 Tun hiểu về Local Attack

Local Attack là kỹ thuật tấn công website bằng hình thức tấn công từ nội

bộ bên trong Nghĩa là tấn công vào một website có bảo mật kém chung máy chủ, sau đó tấn công sang website mục tiêu bằng kĩ thuật local

Ví dụ: Đối với một web máy chủ thông thường khi bạn đăng kí một tài khoản trên máy chủ nào đó bạn sẽ được cung cấp một tài khoản trên máv chủ đó

và một thư mục để quản lý site của bạn Giả sử tài khoản của bạn bị kẻ tấn công chiếm được thì kẻ tấn công có thế dùng các thủ thuật, các đoạn script, các đoạn

Trang 25

mã lệnh đế truy cập sang thư mục chứa site của bạn Và cũng theo cách này kẻ tấn công có thể tấn công sang site của người dùng khác và có thể lấy thông tin admin, cơ sở dữ liệu, các thông tin bảo mật khác hoặc chèn các đoạn mã độc vào trang index của site bạn Dạng tấn công trên gọi là Local Attack

Nhiệm vụ của Local:

■ Tim file config

■ Thu thập thông tin đăng nhập vào cơ sở dữ liệu của nạn nhân

■ Đăng nhập vào cơ sở dữ liệu, xác định tên đăng nhập và mật khấu được

mã hóa của nạn nhân

■ Crack hoặc thay đối mật khấu của nạn nhân

2.10.2 Các bước thực hiện trong Local Attack

- Nếu không tìm được lỗi trên website đó thì bắt đầu bước 2

Bước 2: Xác định các website đặt cùng máy chủ với mục tiêu Sử dụng trang web http://domainsbyip.com/để tra cứu những website mà đặt chung máy chủ với website mục tiêu

Bước 3: Tìm cách khai thác một trong các website đặt chung máy chủ với mục tiêu

- Khai thác được một trong các website đó Tìm cách tải webshell hoặc thực thi mã shell

- Lần lượt kiếm tra các website cùng với website mục tiêu Khi đã xác định được một website nào đó có các lỗi thì bắt đầu xâm nhập vào website này

và sử dụng quyền quản trị tải mã shell lên website đó

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

- Kiểm tra quyền lực thực thi câu lệnh của shell trên website

- Nếu tắt safe - mode thì shell này có thể toàn quyền sử dụng câu lệnh

Trang 26

Bước 5: Nếu quyền hiện tại không đủ tấn công thì tìm cách nâng quyền lên Bước 6: Nếu quyền hiện tại đủ để tấn công mục tiêu, tiến hành đọc file config, tìm tên đăng nhập, mật khẩu, mục tiêu có thể Khi đọc được file config của website đó biết được tên người dùng và mật khẩu của cơ sở dữ liệu nên có thế lấy dữ liệu, xem dữ liệu hoặc thậm chí có thế xóa dữ liệu

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

2.10.3 Các kỹ thuật Local Attack

- Sử dụng các lệnh cơ bản trong linux ứng dụng trong Local Attack:

■ Ls, dir: Liệt kê tên và thuộc tính các file bên trong thư mục

■ Ls-al, ls-lia: Liệt kê tên và thuộc tính các file bên trong thư mục

■ Cat, /cat, less, more, tail: view nội dung bên trong các file

■ Ln: lệnh symbolic link

■ Cd: Chuyên đôi thư mục

■ Chmod: Phân quyền cho các file hoặc thư mục

■ Mkdir: tạo thư mục

■ Touch: tạo file

■ Tar, zip: Lệnh nén và giải nén

Trong Local Attack đế xem tên thư mục, tệp tin và đọc nội dung tệp tin thường sử dụng lệnh dir, cat Nhưng phần lớn các máy chủ hiện nay đều không cho phép thực thi những hàm này, nêu ứng dụng phương pháp này không mấy khả thi

- Sử dụng symlink kết hợp ssi:

Ngày đăng: 02/01/2018, 09:47

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w