Phân tích, đánh giá các công cụ nguồn mở điển hình cho kiểm tra lỗ hổng bảo mật ứng dụng web

26 1 0
Phân tích, đánh giá các công cụ nguồn mở điển hình cho kiểm tra lỗ hổng bảo mật ứng dụng web

Đ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

Trang 1

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

Ngô Thị Lan

PHAN TÍCH, DANH GIA CÁC CONG CỤ NGUON MỞ ĐIÊN HÌNH CHO

KIEM TRA LO HONG BAO MAT UNG DUNG WEB

Chuyên ngành: Khoa hoc máy tính

Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI -2015

Trang 2

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

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

Người hướng dẫn khoa học: PGS.TSKH Hoàng Đăng Hải

11801017077 .5 Phản biện 2: 0G TH In n0 0000 050

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

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

MO DAU

Những năm gần đây ti lệ các website tồn tại lỗ hồng bao mật khá cao, không chỉ ở trong nước mà còn trên thế giới Theo một số liệu thống kê đã được cung cấp

[3] tỉ lệ các website tồn tại lỗ héng bao mật ở Việt Nam lên đến 40% Trong khi đó

tỉ lệ này ở khu vực Châu Á là 36%, Châu Âu 15%, Châu Mỹ 5% và Châu Phi 33% Việc tan công một lỗ hong web đã trở nên khá dé dàng với những kẻ tan công, trong khi việc phòng ngừa từ phía quản trị mạng, quản trị Website còn lỏng lẻo, nhất là

đôi với các cơ quan, tô chức Nhà nước.

Những lỗ hồng bảo mật tổn tại trên website chủ yếu xuất phát từ việc thiếu quy trình kiểm tra đánh giá cũng như kinh nghiệm về lập trình an toàn của đội ngũ lập trình viên Đặc biệt, một số lượng lớn các website có lỗ hồng là của các ngân hàng mới thành lập hoặc cơ cấu lại, chưa có sự đầu tư đúng mức về an ninh

Với mong muốn đưa ra được giải pháp phòng ngừa công cụ phát hiện lỗ

hồng bảo mật hữu hiệu nhằm giúp cho các cơ quan, tổ chức Nhà nước trong việc

đối phó với van dé an toàn bảo mật website hiện nay, luận văn lựa chọn đề tài

“Phân tích, đánh giá các công cụ nguồn mở điền hình cho kiểm tra lỗ hồng bao mật

ứng dụng web” Mục đích hướng tới của luận văn là nghiên cứu tìm hiểu về lỗ hồng

bảo mật ứng dụng web; phân tích, đánh giá một sỐ công cụ mã nguồn mở điển hình cho kiểm tra lỗ hồng bảo mật ứng dụng web; thực hiện thử nghiệm kiểm tra một lỗ

hông bảo mật điên hình của ứng dụng web với một công cụ mã nguôn mở.

Kết quả của luận văn là một module kiểm thử phát hiện lỗ hồng bảo mật website có thê phục vụ cho các tô chức, cơ quan Nhà nước.

Luận văn bao gôm các nội dung chính sau:

- Nghiên cứu về các lỗ hổng bảo mật điển hình trên website theo tiêu chuẩn

OWASP.

Trang 4

- Phan tích, đánh giá phương pháp phát hiện lỗ hồng bao mật và một số công cụ mã nguồn mở điền hình cho kiểm tra lỗ hồng bảo mật ứng dung web.

- _ Xây dựng mô hình hệ thống và một module phát hiện một lỗ hồng bảo mật

điển hình là lỗ hong SQL Injection và triển khai thử nghiệm, đánh giá kết

quả.

Trang 5

CHUONG 1 KHÁI QUAT VE AN TOÀN BAO MAT VÀ LO

HONG BAO MAT UNG DUNG WEB 1.1 An toàn bao mật ứng dụng Web

1.1.1 Khái quát về an toàn bảo mật

Các phương pháp bảo vệ an toàn thông tin dữ liệu có thé chia làm ba nhóm

Bảo vệ an toàn thông tin bằng biện pháp hành chính.

Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật phần cứng Bảo vệ an toàn thông tin bằng biện pháp kỹ thuật phần mềm.

Khái niệm về an toàn thông tin rat rộng, song nhìn chung gôm các nội dung

bảo vệ thông tin như sau:

Tính bí mật: Bảo vệ thông tin đối với chủ sở hữu hợp pháp, chống kẻ bất hợp

pháp (không có quyên truy nhập) xem được thông tin.

Tính toàn vẹn: Bảo vệ thông tin chống bị sửa đổi trái phép.

Tính khả dụng: Bảo vệ đề thông tin luôn sẵn có đối với người truy nhập hợp

Tính xác thực của thông tin: bao gồm xác thực đối tác, xác thực thông tin trao đôi.

Tính chống chối bỏ: đảm bảo người gửi thông tin không thê thoái thác trách

nhiệm về thông tin mà mình đã gửi.

1.1.2 Hiện trạng về tình hình bảo mật website

Trong thời gian vài năm vừa qua, các hệ thống thông tin của Việt Nam, đặc

biệt là các ứng dụng web nói chung và các trang tin điện tử (Website) nói riêng đã

trở thành mục tiêu tân công của nhiêu nhóm tội phạm mạng ở cả trong nước và

nước ngoài Tổng kết tình hình an ninh mạng nửa đầu năm 2015 cho thấy trung bình mỗi tháng xuất hiện hơn 1.000 trang giả mạo Facebook nham lay cắp thông tin

Trang 6

tài khoản, lừa tiền người dùng Ngoài ra, 13.9 triệu tin nhắn rác được phát tán mỗi ngày, 30% website ngân hàng tồn tại lỗ hồng Đây là những nét chính trong bức tranh về an toàn thông tin nói chung tại Việt Nam trong 6 tháng đầu năm [3.2.4].

1.2 Các lỗ hỗng bảo mật phổ biến trên website

1.2.1 Lỗi tiêm mã (Injection)

1.2.2 Lỗi xác thực, quản lý phiên (Broken Authentication and Session

1.2.3.L6i chéo trang (Cross-Site Scripting -XSS)

1.2.4 Tham chiếu trực tiếp doi tượng không an toàn (Insecure Direct

Object References)

1.2.5 Cau hình bảo mật sai (Security Misconfiguration)

1.2.6.L6 dit liệu nhạy cam (Sensitive Data Exposure)

1.2.7.Sai sót trọng kiểm soát truy cập mức chức năng (Missing Function

Level Access Control)

1.2.8 Gid mao yéu cau xuyén trang (Cross-Site Request Forgery -CSRF)

1.2.9 Sử dụng các thành phan có lỗ hồng đã biết (Using Known Vulnerable

1.2.10 Chuyển hướng và chuyến tiếp không hop lệ (Unvalidated Redirects

and Forwards)

1.3 Các giải pháp đảm bảo an toàn thông tin cho các trang tin điện tử

1.3.1 Một số giải pháp an toàn kiến trúc hệ thong - Một số giải pháp an toàn mạng VPN:

- Một số giải pháp an toàn mạng WLAN

Trang 7

1.3.2 Một số giải pháp an toàn phương tiện kết nối - Một số giải pháp an toàn Router

1.3.3 Giải pháp an toàn hệ thống phòng thủ và bảo vệ

- Giải pháp an toàn Firewall

- Giải pháp an toàn Anti-virus

1.3.4 Giải pháp an toàn hệ thong máy chủ

- Giải pháp an toàn máy chủ Unix/Linux

- Giải pháp an toàn máy chủ Windows

1.3.5 Giải pháp an toàn máy chủ phục vụ web- Giải pháp đảm bảo an toàn máy chủ

- Giải pháp an toàn Webserver

- Giải pháp an toàn Cơ sở dtr liệu

1.4 Kết luận chương.

Chương | đã trình bày khái quát về an toàn thông tin, van dé an toàn bảo mật

cho ứng dụng web nói chung và trang tin điện tử (website) nói riêng Nội dung chương cũng đã trình bày về hiện trang an toàn bảo mật website, các lỗ héng bảo

mật điền hình trên website, các giải pháp đảm bảo an toàn trang tin điện tử Thông qua chương này ta cũng nắm được một cách tổng quan về bảo mật ứng dụng web, lỗ hồng bảo mật của ứng dụng web, các biện pháp phòng chống tấn công, bảo đảm an

toàn ứng dụng web Chương sau chúng ta sẽ đi sâu tìm hiểu các phương thức phát

hiện, một số công cụ điểm hình cho kiểm tra phát hiện lỗ hồng bảo mật cho ứng

dụng web.

Trang 8

CHƯƠNG 2 PHAN TÍCH, ĐÁNH GIA MOT SO PHƯƠNG

PHAP VA CONG CU KIEM TRA LO HONG BAO MAT UNG

DUNG WEB

2.1 Các lỗ hồng bảo mật dién hình theo tiêu chuẩn OWASP

OWASP (Open Web Application Security Project) là 1 dự án mở về bao mật

ứng dung web [10-12], dự án là sự cỗ gắng chung của cộng đồng với mục đích giúp các doanh nghiệp có thể phát triển, mua và bảo trì các ứng dụng web một cách an

toàn OWASP cung câp cho công đông nhiêu nguôn “tài nguyên” khác nhau:

« _ Công cụ và tiêu chuẩn về an toàn thông tin

« _ Các bộ chuân về kiểm tra bảo mật ứng dụng, lập trình an toan và kiểm định

mã nguồn

« Cac thư viện và tiêu chuan điều khién an toàn thông tin « Cac nghiên cứu mới nhất về bảo mật ứng dụng web

« Cac maillist uy tín về thông tin bảo mật

Tất cả những gì OWASP cung cấp đều là miễn phí và mở cho bắt cứ ai có nhu cầu nâng cao bảo mật thông tin Điều này giúp OWASP ko bị phụ thuộc vào các nhà tài

trợ, đưa ra những thông tin chính xác, khách quan, không thiên vi va có giá tri ứng

dụng cao Các thành viên chủ chốt của OWASP đều là các tình nguyện viên, bao gồm Ban quản trị, Ban điều hành toàn cầu, lãnh đạo các chi nhánh, lãnh đạo các dự

Trang 9

STTTiéu chiChi tiéu Phuong

phap SQL Injection - Chiếm quyền điều khiển Website, cơ sở

dữ liệu của hệ thống

- Giả mạo danh tính, sửa đổi, xáo trộn dữ liệu, thay đổi & phơi bày đữ liệu, ăn cắp,

thêm xóa đữ liệu.

- Upshell, Chiếm quyền điều khiển Server,

- Giả mạo danh tính, sửa đổi, xáo trộn dữ liệu, thay đổi & phơi bay dit liệu, ăn cắp,

thêm xóa đữ liệu.

- Upshell, Chiếm quyền điều khiển Server, Local attack

CRLF- Cross Site Scripting vulnerabilities

- Proxy and web server cache poisoning

- Web site defacement

- Hijacking the client’s session- Client web browser poisoning

câu hình bảo vệ username và passwordbảo vệ file trong htaccess.

Black-box

Trang 10

5 Remote - Thực thi những câu lệnh có thé gây ton | Black-box Commands hại cho hệ thông như xóa database, người

execution dùng xem được nội dung file config,

- Deface Website Tuy nhiên nó chỉ chạy

trên trình duyệt phía client và chỉ tắn công vào bề mặt Website, không làm thay đổi

cấu trúc mã nguồn, cơ sở đữ liệu của

Website trên Server.

2.3 Phân tích, đánh giá các phương pháp kiểm tra lỗ hỗng bảo mật ứng

dụng web

Kiểm tra 16 hong bảo mật đối với ứng dụng web chính là việc làm thé nào dé

có thê chỉ ra những lỗ hồng đang tồn tại trên hệ thống một cách đầy đủ và khoa học nhất Điều này quả là một công việc rất khó khăn Chính vì vậy, người ta đã tìm cách đưa ra các phương pháp kỹ thuật kiểm tra dé nhằm đơn giản hoá công việc này, đồng thời đảm bảo đủ tin cậy rằng hệ thống sau khi được kiểm tra sẽ có được một báo cáo day đủ và chính xác nhất có thé Các phương pháp kiểm tra lỗ hồng bảo mật pho biến nhất hiện nay là: phương pháp đánh giá hộp đen, đánh giá hộp trắng, đánh giá hộp xám Mỗi phương pháp kiểm tra trên đều có những ưu và nhược điểm riêng, chúng ta sẽ xem xét một cách chi tiết ở phần sau đây [3,2].

Trang 11

2.3.1 Phương pháp kiểm tra hộp đen

Phương pháp kiểm tra hộp den (Black Box) các lỗ hồng bảo mật trên ứng dung web thực hiện kiêm tra các ứng dụng từ bên ngoài, phía giao diện người dùng.

Tức là quan sát các dữ liệu được chuyên đến ứng dụng và các dữ liệu từ ứng dụng

xuất ra mà biết mã nguồn hay hệ thống bên trong Quá trình chuyền 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ự

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

Phương pháp kiểm tra hộp trắng (White Box) các lỗ hong bao mật trên ứng dụng web là kiểm tra, phân tích, tìm kiếm lỗi trực tiếp trên mã nguồn của ứng dụng Phương pháp này thường được thực hiện bởi nhà phát triển Quá trình xác định lỗ hồng dựa trên mã nguồn có thé được thực hiện thủ công hoặc bang cong cu.

2.3.3 Phương kiểm tra hộp xám

Phương pháp kiểm tra hộp xám (Grey Box) được sử dụng để kiểm tra khi

những thông tin được biết bên trong hệ thống mang tính hạn chế Thực chất đây là phương pháp kết hợp giữa kiểm tra Black Box và White Box Trong phương pháp

này, kiểm tra viên có thé được xem tài liệu thiết kế, truy cập CSDL Với những

thông tin có được, kiểm tra viên có thể có kịch bản kiểm tra tốt hơn khi lên kế hoạch kiểm tra Việc kiểm tra có thé được tiến hành với vai trò người dùng cuối hoặc nhà phát triển phần mềm [3,2].

2.4 Phân tích, đánh giá một số công cụ kiểm tra lỗ hỗng bảo mật ứng

dụng web

2.4.1 Công cụ Acunetix

Acunetix là công cụ thương mại với các khả năng kiểm tra lỗi bảo mật rất

mạnh và được xếp thứ 3 trong s6 các công cụ thương mại [12] Acunetix hỗ trợ tất cả các phương thức kiểm tra như kiểm tra thủ công hoặc kiểm tra tự động Công cu

này cho phép quét thông qua máy Client với mọi ứng dụng web Với mỗi công

Trang 12

nghệ Tuy nhiên Acunetix đưa đến người sử dụng với phí rất đắt, với 3995 USD/1năm cho một bản quyên.

2.4.2 Công cụ AppScan

AppScan là công cụ thương mại rất mạnh dùng dé quét các lỗ hồng bao mật

ứng dụng web [3,2,15] Công cụ này có thể quét được những ứng dụng phát triển

trên nền tảng công nghệ khác nhau, mạnh hơn Acunetix đối với việc quét các ứng dụng phát triển băng PHP Ví dụ, với lỗ hong rất phổ biến là Local File Inclusion, nếu quét bằng Acunetix thì độ chính xác là 57,35% công cụ AppScan là 100% Ngoài ra AppScan là một công cụ dễ sử dụng, sau khi quét có thé đưa ra những báo

cáo rõ ràng và đầy đủ Công cụ này đứng đầu trong bảng xếp hạng về tính năng

trong số các công cụ thương mại Tuy nhiên mức phí hàng sử dụng hàng năm tất

cao, 17700 $/1năm cho một bản quên [3,15]

2.4.3 Công cụ Nikto

Là một phần mềm mã nguồn mở với tính năng Web Server Scanner, tinh

năng kiểm tra các máy chủ Web [3,15] Bao gồm hơn 3200 phương thức nhận diện

các file, lỗi logic nguy hiểm, hỗ trợ hơn 625 phiên bản Web Server, bao gồm những lỗi trên 230 Web Server khác nhau Tính năng Scan kết hợp với các Plugins luôn được update tự động đảm bảo đưa ra kết quả đầy đủ và chính xác nhất Là một công cụ rất hữu hiệu nhưng không được update thường xuyên Các lỗi mới nhất thường được update chậm và không thể tìm thấy.

2.4.4 Công cụ WebScarab

Webscarab là một framework được viết bằng Java phục vụ cho việc phân

tích những ứng dụng web với hai giao thức hỗ trợ HTTP và HTTPS [3,15] Đây là

công cụ miễm phí, việc sử dụng không hoàn toàn tự động và yêu cầu người kiểm tra

phải có kiến thức chắc về an toàn ứng dụng web, nên có thể coi đây là công cụ khó

sử dụng so với các công cụ có phí khác WebScarab có khả năng phi lại hoặc thay

đổi tham số ứng dụng trước khi đi trình những yêu cầu, phản hồi giữa trình duyệt và

Trang 13

ứng dụng web Ngoài ra, công cụ còn cho phép thực hiện một số chức năng hữu ích

khác như [3,2,15]:

2.4.5 Công cụ OWASP ZAP.

ZAP là sản pham open-source, nguồn https://www.owasp.org.

ZAP cho phép người dùng có thé thực hiện nhiều tác vụ nhằm dò tìm điểm yêu trên ứng dung web.

ZAP cung cấp công cụ quét tự động cũng như một bộ công cụ cho phép tìm các lỗ hồng an ninh băng phương pháp thủ công.

2.5 Kết luận chương

Chương 2 đã trình bày về các lỗ hồng bảo mật điển hình cho ứng dụng web theo tiêu chuẩn OWASP; đưa ra tiêu chí và các chỉ tiêu đánh giá mức độ an toàn bảo mật cho các ứng dụng web; phân tích, so sánh các phương pháp kiểm tra lỗ hồng bảo mật ứng dụng web; phân tích, đánh giá một số công cụ phần mềm nguồn

mở kiểm tra lỗ hồng bảo mật ứng dụng web Trên cơ sở phân tích, đánh giá các

công cụ, ta có thể lựa chọn công cụ phần mềm nguồn mở phù hợp để xây dựng một ứng dụng thử nghiệm kiêm tra lỗ hông bảo mật như sẽ được trình bày trong chương

tiếp theo.

Trang 14

CHƯƠNG 3: THU NGHIEM KIEM TRA LO HONG SQL INJECTION VOI CONG CU NGUON MO

3.1 Quy trình kiểm tra lỗ hỗng báo SQL Inejection

Hình 3 1 Quy trình rà quét của lỗ hỗng

3.2 Các phương pháp phát hiện lỗ hong SQL Injection

3.1.2 Mô hình phát hiện lỗ hỗng theo phương pháp Black Box

Các bước ở phương pháp này bao gồm:

- Footprinting: Ở bước này hacker tìm hiểu các thông tin về Website và hệ thống để thu thập được càng nhiều thông tin càng tốt, hacker có thể sử dụng các công cụ sẵn có hoặc open soure dé thu thập thông tin.

Trang 15

- Scanning: Sau khi đã thu thập đầy đủ các thông tin cần thiết, hacker sẽ bat đầu rà quét các port giao tiếp của Website và người dùng, nắm biết được các port đang mở, các giao dịch đang được thực hiện, các giao thức đang được sử dụng dé duy trì và truyền tải lưu lượng của Website và các lỗi của Website.

- Exploit: Là bước quan trong dé chứng minh được rang lỗ hồng trên Website thu được từ các công cụ rà quét có thực sự gây ra những ảnh hưởng cho hệ thông hay mat mát dir liệu hay ko, hacker có thé tan công khai thác thử nghiệm các lỗ hồng đó, thường thì những lỗ hồng được các công cụ rà quét tim được thì đều có

các công cụ khai thác chúng, tùy vào từng 16 hông mà có các công cụ chuyên biệt.

- Update patches: Ở bước này thông thường thì Người quản trị mới có quyền thực hiện, người kiểm thử có thể gửi các văn bản thông báo hướng dẫn hỗ trợ cho

Người quản tri thực hiện

- Report: Bước này bao gồm các báo cáo phân tích các tình huống, lỗ hồng được đặt ra và đã tìm được nếu được các mỗi nguy hiểm mà Website đang gặp phải, đưa ra các hình thức, biện pháp khắc phục, chi phí khắc phục cho phía khác hàng

được biết.

Nhập địa chỉ URL

3.1.2 Mô hình phát hiện lỗ héng theo phương pháp white Box

Kiểm tra lỗ hông SQL Injection:

Ngày đăng: 03/04/2024, 01:58

Tài liệu cùng người dùng

Tài liệu liên quan