1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu kiểm thử bảo mật website (tt)

26 714 8

Đ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 26
Dung lượng 372,65 KB

Nội dung

Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)Nghiên cứu kiểm thử bảo mật website (tt)

Trang 2

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

Người hướng dẫn khoa học: PGS TS L H u Lập

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

MỞ Đ U

Đảm bảo an toàn cho website đang là một vấn đề cấp bách của tất cả các quốc gia

tr n thế giới, đặc biệt là ở Việt Nam

Ở Việt Nam gần đây có nh ng vụ tấn công vào các website gây ảnh hưởng nghi m trọng điển hình như: Tháng 11/2006 website của Bộ Giáo dục & Đào tạo (có địa chỉ tại www.moetgov vn) đã bị hacker tấn công, tháng 6/2013 hàng loạt trang báo dân trí, vietnamnet, tuoitre đã bị tấn công làm t liệt Năm 2014 hàng loạt website thuộc hệ thống của Công ty Cổ phần truyền thông Việt Nam (VCCorp) và các website được hỗ trợ vận hành bởi đơn vị này đồng loạt gặp sự cố do tấn công DdoS Gần đây vào ngày 29/7/2016, trang mạng chính thức của Vietnam Airlines đã bị hacker tấn công chiếm quyền kiểm soát và chuyển sang trang mạng xấu ở nước ngoài D liệu của một số hội

vi n khách hàng thường xuy n của Vietnam Airlines đã bị công bố,

Khả năng có thể truy cập 24/7 từ bất cứ nơi nào tr n thế giới hay các ứng dụng web không an toàn thường cung cấp truy cập dễ dàng đến cơ sở d liệu là một sơ hở lớn cho phép tin tặc có thể thực hiện các hoạt động bất hợp pháp bằng cách sử dụng các trang web đã tấn công Hầu hết nguy n nhân của các vụ tấn công này là do website tồn tại nhiều lỗ hổng bảo mật

Một điều đáng lo ngại n a là đối với các cá nhân, tổ chức và doanh nghiệp, CNTT nói chung và các ứng dụng web nói ri ng đang trở thành một trong các nhân tố, công cụ đắc lực hỗ trợ tăng hiệu suất làm việc và lợi nhuận, hiệu quả kinh tế cao cho họ, nhưng

sự quan tâm, và chi phí bỏ ra cho lĩnh vực bảo trì, bảo mật lại không đáng kể Đồng thời các mối nguy hiểm đe dọa ngày càng mới và phát triển phức tạp hơn, khả năng tấn công

và khai thác của các kẻ xấu đã tăng l n rõ rệt, các mã độc, phần mềm độc hại, virut trở

n n khó phát hiện và ti u diệt hơn

Vì vậy vấn đề an ninh mạng nói chung và bảo mật Web Application nói ri ng đang

là một vấn đề quan trọng và cấp bách cần phải được nghi n cứu, tìm hiểu và đưa ra các giải pháp và kỹ thuật mới để phòng tránh, đồng thời cá nhân, tổ chức và doanh nghiệp cũng cần dành nhiều thời gian, kinh phí, nhân lực kỹ thuật để đảm bảo cho hệ thống mạng cũng như Web Application của mình hoạt động tốt, có khả năng chống chọi và ngăn chặn trước các mối nguy hiểm và các cuộc tấn công

Trang 4

Đó là lý do em đã chọn đề tài: “Nghi n cứu kiểm thử bảo mật website” để làm luận văn tốt nghiệp với mục đích hiểu được việc kiểm thử website từ đó áp dụng vào công việc thực tế

1 ục đíc n ên cứu

Tìm hiểu các vấn đề về bảo mật, các phương pháp và các công cụ kiểm thử bảo mật website lựa chọn công cụ kiểm thử và thực hiện thử nghiệm kiểm thử bảo mật website qua đó đánh giá kết quả

- Tìm hiểu tổng quan về bảo mật

- Nghi n cứu các loại kiểm thử bảo mật, quy trình kiểm thử bảo mật

- Nghi n cứu các phương pháp và các công cụ tương ứng trong kiểm thử bảo mật website

o Phương pháp kiểm thử hộp đen

o Phương pháp kiểm thử hộp trắng

o Phương pháp kiểm thử Fuzzing

- Phân tích đánh giá, lựa chọn công cụ và thực hiện kiểm thử bảo mật website

- Đánh giá kết quả đạt được

Trang 5

CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT WEBSITE

1.1 Tổng quan về bảo mật

Bảo mật cần sự thỏa hiệp gi a v i ệ c đảm bảo an ninh và chức năng hay khả năng

sử dụng của hệ thống Nếu bảo mật quá chặt chẽ, hệ thống sẽ trở nên rất khó sử dụng hoặc khó hoạt động một cách hiệu quả Nếu bảo mật quá đơn giản, hệ thống dễ bị tấn công và xâm nhập

Kiểm thử bảo mật Web, theo nghĩa truyền thống, là đánh giá hiệu quả sự bảo vệ toàn bộ hệ thống Web Nó yêu cầu kết hợp nhiều kiến thức về các công nghệ bảo mật, công nghệ mạng, lập trình, và kinh nghiệm thực tế về thâm nhập các hệ thống mạng Hầu hết các kiểm thử viên phần mềm không có đầy đủ kiến thức này Do đó chúng ta cần nghi n cứu, tìm hiểu các kiến thức về bảo mật cho website từ đó có thể đưa ra cách thức thực hiện cũng như đánh giá về khả năng bảo mật của website

1.2 Mục đích của bảo mật

Tùy thuộc vào các yêu cầu của mỗi hệ thống, mỗi hệ thống có nh ng mục đích khác nhau, nhưng y u cầu bảo mật đều có điểm chung là: Đảm bảo sự an toàn d liệu cho hệ thống và bảo vệ các tài nguyên trên mạng trước sự tấn công nhằm phá vỡ hệ thống hoặc

sử dụng trái phép các tài nguy n của một số người có chủ ý xấu

1.3 Th ng kê tình trạng bảo mật h ện nay của các tran web

Theo thống k của trang web bảo mật Security Daily, có đến 1039 website của Việt

Nam bị tấn công trong vòng nửa đầu tháng 9 năm 2015 – tăng đột biến gấp 4 lần so với các tháng trước,

Trong số này, có 69 website giáo dục và hơn 30 website của các cơ quan thuộc Chính phủ Việt Nam Hơn 1000 website các lỗ hổng bị tấn công đều là các lỗ hổng cơ bản và đã tồn tại cách đây hơn chục năm và các hacker có thể dễ dàng tấn công các website này Số lượng các website bị tin tặc tấn công sẽ còn tiếp tục tăng trong thời gian tới

Theo thống k khác của Bkav, tại Việt Nam, trung bình mỗi tháng lại có hơn 300 website của các doanh nghiệp, tổ chức trong nước bị tấn công Tỷ lệ website tồn tại lỗ hổng

ở khu vực Châu Á là 36%, Châu Âu 15%, Châu Mỹ 5% và Châu Phi 33% thì tại Việt Nam

tỷ lệ này là 40% Như vậy, mức độ bảo mật của hệ thống các webstie Việt Nam chỉ ở mức trung bình so với các nước trong khu vực và thấp so với tr n thế giới Trong đó đáng chú ý

là 30% các website ngân hàng tại Việt Nam tồn tại lỗ hổng Và có tới 2/3 trong số này ở mức độ nguy hiểm trung bình và cao

Trang 6

1.4 Một s phương pháp tấn công phổ biến hiện nay

Trang 7

CHƯƠNG 2 – KIỂM THỬ BẢO MẬT WEBSITE

2.1 G ớ th ệu về kiểm thử phần mềm

Kiểm thử phần mềm (kiểm tra, thử nghiệm) là một cuộc kiểm tra được tiến hành để cung cấp cho các b n li n quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được nh ng rủi ro trong quá trình triển khai phần mềmKiểm thử phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi

2.2 K ểm thử bảo mật

2.2.1 Mục đích của kiểm thử bảo mật

Với tư cách là kiểm thử viên, là tập trung kiểm thử bảo mật của Website và ứng dụng Web Điều đó có nghĩa là chúng ta tìm kiếm các lỗ hổng và rò rỉ thông tin gây nên chủ yếu do lập trình và do cấu hình sai các trình chủ Web và các trình chủ ứng dụng khác

2.2.2 Trách nhiệm của kiểm thử bảo mật

Kiểm thử bảo mật liên quan đến trách nhiệm của nhiều người khác nhau sau đây:

2.3 Các loạ kiểm thử bảo mật

2.3.1 Kiểm thử yêu cầu và thiết kế

Bất kỳ hệ thống nào cũng được xây dựng từ một tập hợp các yêu cầu Đôi khi

nh ng yêu cầu này được viết một cách rõ ràng, nhưng thường chúng là nh ng phát biểu mập mờ không được định nghĩa rõ ràng về tính bảo mật Ví dụ, có thể có phát biểu “Ứng dụng phải an toàn” Nhưng “an toàn” nghĩa là gì và nên phải dành bao nhiêu công sức và thời gian để làm cho sản phẩm an toàn Kiểm thử bảo mật ở giai đoạn y u cầu thiết kế cho ứng dụng web chính là việc xem xét các y u cần thiết có đã mô tả rõ các ti u chí cụ thể về

y u cầu bảo mật cho ứng dụng web hay chưa

Trang 8

2.3.2 Kiểm thử mã nguồn

2.3.3 Kiểm thử các thiết lập của trình duyệt

2.3.4 Kiểm thử bức tường lửa

2.4 Quy trình k ểm thử bảo mật website

 Bước đầu ti n là phải hiểu được nghiệp vụ hệ thống, mục ti u bảo mật và tuân thủ bảo mật của tổ chức Việc lập kế hoạch kiểm tra n n xem xét tất cả các yếu tố bảo mật

 Thu thập tất cả các thông tin thiết lập hệ thống được sử dụng để phát triển phần mềm

và mạng giống như hệ điều hành, công nghệ, phần cứng

 Check list các lỗ hổng và rủi ro bảo mật, chuẩn bị kế hoạch kiểm tra để giải quyết

 Chuẩn bị các testcase kiểm tra bảo mật

 Thực hiện test các testcase đó và retest các bug đã được sửa

o Xác định các lỗ hổng có trong hệ thống là bước quan trọng đầu ti n trong quá trình

o Hoạt động sửa ch a được thực hiện tr n nh ng lỗ hổng này

Trang 9

o Kiểm thử thâm nhập tương tự sẽ được lặp lại cho đến khi hệ thống từ chối tất

cả các cuộc kiểm tra

b, Các bước k ểm t ử bảo mật t ủ c n

o Thu thập d liệu

o Đánh giá tính chất dễ bị tổn thương của hệ thống

o Khai thác thực tế: Đây là một bước cực kỳ quan trọng

o Phân tích kết quả và chuẩn bị báo cáo

Quá trình tìm kiếm lỗi bảo mật trong mã nguồn của ứng dụng bằng phương pháp thủ công thì phải đòi hỏi người kiểm thử phải có một phương pháp kiểm thử và

ra soát hợp lý Bởi vì khối lượng tập tin cũng như nội dung trong các ứng dụng web

là rất lớn, nếu như không có một phương pháp rà soát và đánh giá hợp lý thì sẽ ti u tốn rất nhiều thời gian để phát hiện lỗi

2.4.2 Kiểm thử bảo mật tự động (Automation)

Phương pháp kiểm thử lỗi tự động là quá trình các công cụ sẽ thực hiện tự động quét thư

mục, tập tin của ứng dụng web và tự động xác định các điểm mà cần đệ trình d liệu Tr n

cơ sở đã xác định các điểm cần gửi tự động đến công cụ sẽ thực hiện gửi các tập d liệu được định nghĩa sẵn và chờ sự phản hồi từ phía ứng dụng web để kiểm tra xem liệu ứng dụng đó có bị các lỗi bảo mật hay không

Công cụ tự động có thể được sử dụng để xác định một số lỗ hổng ti u chuẩn hiện tại trong một ứng dụng Công cụ kiểm thử bảo mật quét mã hiện nay dùng để kiểm tra xem có mã độc hay không có thể dẫn đến vi phạm an ninh tiềm tàng Công cụ kiểm thử bảo mật không thể xác minh lỗ hổng bảo mật hiện tại trong hệ thống như các kỹ thuật mã hóa d liệu và các giá trị mã cứng giống như username và password

Các ti u chí để chọn công cụ kiểm thử bảo mật tốt nhất:

o Nó sẽ dễ dàng được triển khai, cấu hình và sử dụng

o Nó sẽ quét được hệ thống một cách dễ dàng

o Nó có thể phân loại lỗ hổng dựa tr n mức độ nghi m trọng cần sửa ch a ngay lập tức

o Có khả năng tự động xác minh các lỗ hổng

o Có thể xác minh lại nh ng khai thác mà đã được tìm thấy trước đó

o Nó sẽ tạo ra các báo cáo và các bản ghi chi tiết về lỗ hổng

Trang 10

2.5 Các p ươn p áp k ểm t ử bảo mật

2.5.1 Phương pháp kiểm tra hộp trắng

2 5 1 1 Nội dung phương pháp

Phương pháp kiểm tra hộp trắng các lỗi bảo mật tr n ứng dụng web là quá trình kiểm tra trực tiếp mã nguồn của ứng dụng web để tìm ra các lỗi bảo mật Quá trình quan sát và kiểm tra mã nguồn có thể thực hiện thủ công hoặc thực hiện bằng công cụ Quá trình thực hiện bằng công cụ tức là quá trình mà công cụ sẽ thực hiện quét toàn bộ mã nguồn của ứng dụng

và dựa tr n tập nhận biết các hàm, các chỉ dẫn có khả năng gây ra lỗi bởi ngôn ng lập trình phát triển ứng dụng web

a, ểm t ử đườn d ễn t ến của c ươn trìn

Đây là khái niệm chỉ đến việc thiết kế các trường hợp kiểm thử tr n từng lệnh trong chương trình sẽ thực hiện ít nhất một lần Kỹ thuật này không quan tâm đến ảnh hưởng l n

các đường quyết định (decisions path)

Việc xây dựng tập hợp kiểm thử có thể thực hiện theo nh ng bước sau đây:

1) Dùng tài liệu thiết kế hay source code để vẽ ra một đồ thị mô tả flow chart của chương trình hay hàm

2) Xác định đồ thị V(G)

3) Từ đồ thị xác định tập đường độc lập tuyến tính lẫn nhau

4) Xây dựng nh ng trường hợp kiểm thử dựa tr n tập đường xác định ở bước trên

Mỗi trường hợp được chạy và so sánh với kết quả mong đợi Nếu tất cả các trường hợp kiểm định đều cho kết quả như mong muốn thì có thể khẳng định rằng tất cả các dòng lệnh trong thủ tục average đều được kiểm thử ít nhất một lần

b, ểm t ử cấu trúc đ ều k ển

Kiểm thử biểu thức điều kiện là phương pháp kiểm thử tr n nh ng điều kiện logic của hàm hay module Một điều kiện đơn giản là một biến boolean hoặc là một biểu thức quan hệ:

- X hay Not X một điều kiện logic đơn giản

- Biểu thức quan hệ thường có dạng : E1 <phép toán quan hệ> E2

Trang 11

E1, E2 là các biểu thức số học và phép toán quan hệ là một trong các phép toán sau :

<, <=, ==,! = , > hay >= Một điều kiện kết hợp của 2 hay nhiều điều kiện đơn giản, các phép toán boolean: OR (| |, AND (&) and NOT (!)

Các loại lỗi của điều kiện bao gồm:

- Lỗi trong các thao tác luận lý (lỗi tồn tại một biểu thức không đúng, thiếu hoặc thừa các thao tác luận lý):

- Lỗi do giá trị của biến luận lý

- Lỗi do dấu ngoặc

- Lỗi do phép toán quan hệ

- Lỗi trong biểu thức toán học

Mục đích của kiểm thử cấu trúc điều khiển là phát hiện không chỉ lỗi trong điều kiện

mà còn nh ng lỗi khác trong chương trình Nếu một tập kiểm thử cho một chương trình P là hiệu quả cho việc phát hiện lỗi trong điều kiện của P, thì bộ kiểm thử đò cũng có thể phát hiện các lỗi khác trong P

E1 <phép toán quan hệ> E2

Ba trường hợp kiểm thử được y u cầu để kiểm tra là giá trị E1 lớn hơn, nhỏ hơn và bằng giá trị của E2 Nếu <phép toán quan hệ> là không đúng và E1, E2 là đúng thì 3 loại kiểm thử tr n có đảm bảo có thể xác định được lỗi trong phép toán quan hệ Để phát hiện lỗi trong E1và E2 thì các trường hợp kiểm thử E1 lớn hơn, nhỏ hơn E2 có thể phát hiện ra được lỗi

Một biểu thức có n biến, thì có 2n khả năng kiểm thử xảy ra khi (n>0)

Trang 12

Vòng lặp là một trong nh ng nền tảng cho rất nhiều các thuật toán được cài đặt trong các phần mềm Tuy nhiên, cho đến lúc này chúng ta vẫn còn ít chú ý đến việc xây dựng các trường hợp để kiểm thử

Kiểm thử vòng lặp tập trung vào tính chất của cấu trúc vòng lặp Có 4 cấu trúc vòng lặp như sau: vòng lặp đơn giản, vòng lặp móc nối, vòng lặp tạo thành tổ, và vòng lặp không cầu trúc

(1) Vòn lặp đơn

Tập hợp tiếp theo là các trường hợp kiểm thử cho vòng lặp đơn, với n là maximum số lần lặp

 Bỏ tính toàn vẹn của vòng lặp

 Chỉ cần một lần duyệt xuy n qua cả vòng lặp

 Hai lần duyệt xuy n qua cả vòng lặp

 m lần duyệt xuy n qua cả vòng lặp

 n-1, n, n+1 lần duyệt xuy n qua cả vòng lặp

(2) Vòn lặp tạo tổ

Nếu như chúng ta mở rộng phương pháp kiểm thử cho vòng lặp đơn thì số lượng trường hợp kiểm thử sẽ tăng rất nhiều Sau đây là một cách là giảm sồ lượng trường hợp kiểm thử:

 Bắt đầu tại vòng lặp con trong cùng Thiết lập tất cả các vòng lặp khác là giá trị minimum

 Kiểm soát vòng lặp ở trong cùng trong khi gi các vòng lặp b n ngoài lặp lại với giá trị là minimum thông số ảnh hưởng nhau (thông số đó có thể là biến lặp) Th m môt

số trường hợp ngoài phạm vi của biến lặp và một số giá trị đặc biệt

 Thực hi n như bước tr n và tiến ra ngoài dần

 Thực hiện tiếp cho đến khi tất cả các vòng lặp được kiểm thử hết

(3) Vòn lặp móc n

Trang 13

Đối với kiểu này có thể kiểm thử bằng cách như với vòng lặp đơn ở tr n nếu các biền lặp độc lập với nhau Tuy nhi n nếu 2 vòng lặp là móc nối và biến lặp của vòng lặp thứ nhất được sử dụng như là biến khởi tạo cho vòng lặp 2 thì 2 vòng lặp này không còn độc lặp n a Phương pháp dùng cho vòng lặp tạo tổ sẽ được sử dụng ở đây

Việc thực hiện quét mã nguồn bằng công cụ rất đơn giản Chỉ cần lựa chọn thư mục có chứa

mã nguồn ứng dụng Web cần scan và thực hiện lựa chọn rule (lựa chọn các kiểu cần áp dụng cho quá trình scan)

b, Công cụ RATS (Rough Auditing Tool for Security)

Công cụ RATS cũng là một trong nh ng công cụ thực hiện rà soát mã nguồn đối với một số ứng dụng được viết bằng các ngôn ng như C, C++, Perl, PHP, Python và Ruby do Secure Software Inc phát triển Công cụ này cũng chỉ dựa tr n tập các hàm mà có nguy cơ gây ra lỗi bảo mật đối với dụng và nó thực hiện scan với tốc độ cao Sau khi thực hiện chạy công cụ thì công cụ sẽ đưa ra một danh sách các hàm và vị trí trong mã nguồn, giúp người kiểm tra có thể nhanh chóng tập trung ra soát lại các hàm mà RATS đưa ra, kiểm tra liệu khi sử dụng các hàm đó đã an toàn hay chưa

2.5.2 Phương pháp kiểm thử hộp đen

2.5.2.1 Nội dung phương pháp

Phương pháp kiểm tra hộp đen các lỗi bảo mật tr n ứng dụng web đề cập đến việc kiểm tra các ứng dụng từ b n ngoài, tức là quan sát các d liệu được đệ trình đến ứng dụng và các

d liệu từ ứng dụng xuất ra mà không cần hiểu đến hoạt động b n trong của nó Quá trình

đệ trình d liệu từ b n ngoài đến ứng dụng có thể thực hiện bằng thủ công hoặc sử dụng công cụ tự động gửi đến ứng dụng

2.5.2.2 kiểm thử hộp đen

a) Phân đoạn tương đương

Ngày đăng: 30/10/2017, 14:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w