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

Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin

92 379 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 92
Dung lượng 3,69 MB

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

Nội dung

Có thể một số người còn chưa từng nghiên cứu, tìm cách để phát hiện và khắc phục các lỗ hổng trong hệ thống của họ Từ thực tiễn trên, em nhận thấy vấn đề về chất lượng của các sản ph

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ HUỆ

NGHIÊN CỨU MỘT SỐ CÔNG CỤ ĐỂ ĐÁNH GIÁ SẢN PHẨM

AN TOÀN BẢO MẬT THÔNG TIN

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Hà Nội – 2014

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ HUỆ

NGHIÊN CỨU MỘT SỐ CÔNG CỤ ĐỂ ĐÁNH GIÁ SẢN PHẨM

AN TOÀN BẢO MẬT THÔNG TIN

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số:60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC 1: TS HỒ VĂN HƯƠNG

NGƯỜI HƯỚNG DẪN KHOA HỌC 2: TS NGUYỄN VIẾT THẾ

Hà Nội – 2014

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đa ̣t được của luâ ̣n văn là sản phẩm của cá nhân tôi , không sao chép nguyên văn của người khác Trong toàn bô ̣ nô ̣i dung của luâ ̣n văn , những phần được trình bày hoă ̣c là của cá nhân tôi hoă ̣c là được tổ hợp từ nhi ều nguồn tài liệu khác nhau 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 đúng quy đi ̣nh

Tôi xin hoàn toàn chi ̣u trách nhiê ̣m với lời cam đoan của mình

Hà Nội, năm 2014

Đỗ Thị Huệ

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 4

MỤC LỤC 5

DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT 8

DANH MỤC HÌNH VẼ 9

DANH MỤC BẢNG 11

MỞ ĐẦU 12

CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN 14

1.1 Thực trạng an toàn thông tin 14

1.1.1 An ninh an toàn thông tin tại Việt Nam và trên thế giới 14

1.1.2 Nguy cơ mất an toàn thông tin trong cổng thông tin điện tử 15

1.2 Tiêu chí và công cu ̣ đánh giá an toàn thông tin 17

1.2.1 Giới thiệu các tiêu chuẩn đánh giá hệ thống an toàn thông tin 17

1.2.2 Công cụ phân tích, dò quét lỗ hổng bảo mật trong cổng thông tin điện tử 24

CHƯƠNG II: NGHIÊN CỨU CÁC KỸ THUẬT PHÂN TÍCH, DÒ QUÉT VÀ LỰA CHỌN CÔNG CỤ ĐÁNH GIÁ CỔNG THÔNG TIN ĐIỆN TỬ 30

2.1 Nghiên cứu một số lỗ hổng trong cổng thông tin điện tử 30

2.1.1 SQL injection 30

2.1.2 XSS ……… 31

2.1.3 CSRF 31

2.1.4 Tràn bộ đệm 33

2.2 Nghiên cứu các kỹ thuật phân tích lỗ hổng cổng thông tin điện tử 33

2.2.1. Kỹ thuật phân tích tĩnh 33

2.2.2. Kỹ thuật phân tích động 33

2.3 Thuật toán phát hiện lỗ hổng trong cổng thông tin điện tử 37

2.3.1. Học máy 37

2.3.2. Cây phân tích cú pháp truy vấn 37

43

Trang 6

2.3.4. Fuzzing 45

2.4 Công cụ dò quét lỗ hổng trong cổng thông tin điện tử 49

2.4.1 Bkav Web Scan 49

2.4.2 Acunetix Web Vulnerability Scanner 51

2.4.3 IBM Rational AppScan 56

2.5 Đánh giá các công cụ dò quét lỗ hổng website 58

2.5.1 Đánh giá kỹ thuật và thuật toán sử dụng 58

2.5.2 Khả năng ứng dụng thực tiễn 58

CHƯƠNG III: ĐỀ XUẤT LỰA CHỌN CÔNG CỤ, XÂY DỰNG QUY TRÌNH ĐÁNH GIÁ CỔNG THÔNG TIN ĐIỆN TỬ VÀ TRIỂN KHAI ÁP DỤNG TRONG THỰC TIỄN 63

3.1 Đề đánh giá cổng thông tin điện tử 63

3.2 Đề xuất quy trình triển khai, đánh giá cổng thông tin điện tử 63

3.2.1 Mục đích 63

3.2.2 Phạm vi áp dụng 63

3.2.3 Lưu đồ 64

3.2.4 Mô tả quy trình thực hiện 65

3.2.5 Đánh giá quy trình 67

3.3 Áp dụng quy trình triển khai đánh giá cổng thông tin điện tử Công ty NEO sử dụng công cụ Acunetix 68

3.3.1 Xây dựng kịch bản đánh giá 68

3.3.2 Thực hiện đánh giá 69

3.3.3 Kết quả đánh giá 75

3.4 Áp dụng quy trình triển khai đánh giá cổng thông tin điện tử Đại học công nghệ - Đại học Quốc gia Hà nội sử dụng công cụ Acunetix 83

3.4.1 Xây dựng kịch bản đánh giá cổng thông tin điện tử 83

3.4.2 Thực hiện đánh giá 84

3.4.3 Kết quả đánh giá 85

Trang 7

3.5 Kết quả thực tiễn áp dụng 87

3.5.1 Thống kê số lƣợng lỗ hổng phát hiện theo từng loại 87

3.5.2 Thống kê số lƣợng lỗ hổng phát hiện theo mức độ nghiêm trọng 88

3.5.3 Thống kê các lỗi phổ biến 89

KẾT LUẬN 90

TÀI LIỆU THAM KHẢO 92

Trang 8

DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT

LAN Local Area Network

DOS Denial of Service

CC Common Criteria

XSS Cross-Site Scripting

TCP Transmission Control Protoco

UDP User Datagram Protocol

ARP Address Resolution Protocol

URL Uniform Resource Locator

Trang 9

DANH MỤC HÌNH VẼ

Hình 2.1:Một thông báo lỗi được trả về liên quan tới hệ quản trị CSDL 35

Hình 2.2: Một thông báo trả về liên quan tới cấu trúc CSDL 35

Hình 2.3: Kiến trúc V1p3R 36

Hình 2.4 Kiến trúc mô hình 38

Hình 2.5: Cây phân tích cú pháp cho câu truy vấn SELECT 40

Hình 2.6 Cây phân tích cú pháp của câu truy vấn SELECT cụ thể 41

Hình 2.7: Cây phân tích cú pháp của truy vấn hợp lệ 42

Hình 2.8: Cây phân tích cú pháp của câu truy vấn không hợp lệ 43

Hình 2.9: Quá trình sinh ra dữ liệu kiểm thử trong CFG 44

Hình 2.10:Vector tấn công hệ thống đa mức 46

Hình 2.11: Các kiểu bất thường vào mô hình báo cáo lỗi khác nhau 47

Hình 2.12: Cấu trúc logic của fuzzer 47

Hình 2.13: Ví dụ về một kịch bản fuzz và kết quả trả về từ một SUT 48

Hình 2.14: Quá trình fuzzing bao gồm các kịch bản fuzz và một hệ thống giám sát 49

Hình 3.1: Giao diện thu thập dữ liệu 69

Hình 3.2: Cấu trúc website 70

Hình 3.3: Giao diện chính của Acunetix 71

Hình 3.4: Nhập địa chỉ và tuỳ chọn quét 71

Hình 3.5: Chọn Scaning Profile 72

Hình 3.6: Thông tin về server 73

Hình 3.7: Chọn Login sequence 73

Hình 3.8: Kết thúc quá trình tuỳ chọn 74

Hình 3.9: Giao diện khi đang thực hiện quét 74

Hình 3.10: Màn hình sau khi thực hiện quét xong 75

Hình 3.11: Giao diện chi tiết từng lỗi 75

Hình 3.12: Mức độ cảnh báo 76

Hình 3.13: Giao diện xuất báo cáo 78

Trang 10

Hình 3.14 : Báo cáo 79

Hình 3.15: Tuỳ chọn xuất báo cáo 80

Hình 3.16: Chọn lần quét để xuất báo cáo 80

Hình 3.17: Giao diện xuất báo cáo ra các định dạng 81

Hình 3.18: Chi tiết về file nguồn phát sinh lỗi 81

Hình 3.19: Khuyến cáo để thực hiện vá lỗi 82

Hình 3.20: Kết quả đánh giá 85

Hình 3.21: Danh sách số lượng các lỗi 85

Hình 3.22: Chi tiết lỗi HTML form without CSRF protection 86

Hình 3.23: Thống kê lỗ hổng phát hiện theo từng loại 88

Hình 3.24: Thống kê lỗ hổng theo mức độ nghiêm trọng 88

Hình 3.25: Thống kê các lỗi thường gặp 89

Trang 11

DANH MỤC BẢNG

Bảng 1-1 Tỉ lệ các sản phẩm đƣợc đánh giá theo từng năm 22

Bảng 2-1 So sánh giữa các công cụ 60

Bảng 2-2 So sách các công cụ về mặt công cụ hỗ trợ 61

Bảng 2-3 So sánh một số công cụ về mặt chức năng 61

Bảng 3-1 Nội dung quy trình 65

Bảng 3-2 Kịch bản đánh giá 68

Bảng 3-3 Kết quả theo kịch bản 77

Bảng 3-4 Kịch bản đánh giá 83

Bảng 3-5: Kết quả đánh giá theo kịch bản 86

Trang 12

MỞ ĐẦU 1) Lý do chọn đề tài

Ngày nay với sự phát triển vượt bậc của công nghệ thông tin, nhu cầu về vấn đề trao đổi thông tin ngày càng trở nên phổ biến Khi lượng thông tin trao đổi càng nhiều,

và có ý nghĩa càng quan trọng thì vấn đề an toàn bảo mật thông tin cũng trở nên bức thiết

Để đáp ứng được nhu cầu của con người, hàng loạt các hệ thống về bảo mật an toàn thông tin được ra đời Các hệ thống này đã giúp cho công việc, hoạt động của con người trở nên đơn giản và tiết kiệm rất nhiều thời gian, tiền bạc Bên cạnh các lợi ích

mà các hệ thống về bảo mật và an toàn thông tin đem lại thì việc mất mát, lộ lọt thông tin cũng gây tổn rất lớn cho các tổ chức sử dụng chúng

Đặc biệt, vấn đề mất an ninh an toàn cổng thông tin điện tử đang được xem là vấn

đề nóng không chỉ của Việt Nam mà là của toàn thế giới Các con số thống kê hàng năm về tình trạng mất an ninh trong các cổng thông tin điện tử là vấn đề đáng lo ngại của toàn xã hội, toàn thế giới Sở dĩ các website này bị tấn công do đang tồn tại rất nhiều lỗ hổng an ninh chưa được khắc phục

Ngoài ra, có một vấn đề đặt ra là chính những nhà quản trị mạng, quản trị website vẫn chưa thể đánh giá được các hệ thống mà mình đang quản lý Có thể một số người còn chưa từng nghiên cứu, tìm cách để phát hiện và khắc phục các lỗ hổng trong hệ thống của họ

Từ thực tiễn trên, em nhận thấy vấn đề về chất lượng của các sản phẩm an toàn bảo mật thông tin là vấn đề đang nhận được sự quan tâm từ nhiều phía Cùng với lý do trên

và niềm đam mê, em đã quyết định chọn đề tài “Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin” làm luận văn tốt nghiệp với mong muốn tìm hiểu, nghiên cứu về an toàn bảo mật thông tin, cũng như các kỹ thuật, phương pháp để phát hiện lỗ hổng trong cổng thông tin điện tử Đồng thời, tìm hiểu các công cụ kiểm tra, đánh giá sản phẩm an toàn bảo mật thông tin

2) Bố cục luận văn

Luận văn được chia làm 3 chương:

Chương 1: Chương này trình bày tổng quan về lý thuyết mật mã, an toàn bảo mật thông tin Đồng thời, giúp ta nắm được thực trạng an toàn thông tin, nguy cơ mất an toàn thông tin trong cổng thông tin điện tử ở Việt Nam và trên thế giới Chương đầu tiên này cũng giới thiệu tổng quan về các công cụ và tiêu chí đánh giá an toàn thông tin

Chương 2: Nghiên cứu các kỹ thuật phân tích, dò quét và lựa chọn công cụ đánh giá cổng thông tin điện tử Chương này nghiên cứu một số lỗ hổng trong cổng thông tin điện tử, các kỹ thuật phân tích, thuật toán dò quét để phát hiện các lỗ hổng này

Trang 13

Nghiên cứu một số công cụ quét website phổ biến, trên cơ sở đó so sánh, đánh giá và

đề xuất lựa chọn công cụ đánh giá cổng thông tin điện tử

Chương 3 của luận văn sẽ xây dựng và đề xuất quy trình đánh giá cổng thông tin điện

tử Đồng thời đề xuất lựa chọn công cụ sử dụng để đánh giá cổng thông tin điện tử, triển khai áp dụng đánh giá một số cổng thông tin điện tử trong thực tiễn

Kết luận

Phần này trình bày các kết luận chung của luận văn: bao gồm các kết quả đã đạt được

và hướng nghiên cứu, phát triển trong tương lai

Trang 14

CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN

1.1 Thực trạng an toàn thông tin

1.1.1 An ninh an toàn thông tin tại Việt Nam và trên thế giới

Trong xã hội hiện đại, việc sử dụng internet đã trở thành thói quen cũng như yêu cầu công việc không thể thiếu đối với các cá nhân trong các doanh nghiệp cũng như trong các cơ quan nhà nước Người dùng nhờ có internet có thể làm việc từ xa, sử dụng các ứng dụng đào tạo tập trung và nhiều tiện ích khác Tuy nhiên, bên cạnh các lợi ích mà internet mang lại thì cũng có rất nhiều nguy cơ có thể xảy ra do mất an ninh

an toàn mạng cũng như tiềm ẩn trong việc mất an toàn của các máy tính cá nhân tham gia mạng

Thực trạng an toàn thông tin của hệ thống mạng LAN

Theo báo cáo về tính an toàn của các mạng LAN và website của Việt Nam của một tổ chức quốc tế thì Việt Nam là một trong 3 nước yếu nhất

Còn theo báo cáo của Bộ Công An thì hơn 90% các mạng nội bộ của các cơ quan Đảng, Chính phủ và các Ngân hàng bị xâm nhập, lấy dữ liệu

Có rất nhiều nguyên nhân dẫn tới tình trạng này trong đó có thể kể tới một số nguyên nhân như: Năng lực kỹ thuật của nhân viên quản trị mạng còn yếu kém, việc đầu tư thiết bị an ninh mạng còn thiếu đồng bộ, thiếu công nghệ phù hợp với hoàn cảnh Việt Nam Hơn nữa Việt nam còn là một trong những điểm yêu thích của hacker quốc tế

Để hạn chế được mức độ ảnh hưởng của việc mất an toàn mạng trong việc bảo mật các dữ liệu quan trọng, nhà nước cũng đã ban hành các quy định: Quy định về sử dụng internet của Bộ công an(QĐ 71/2004/QĐ - BCA) nghiêm cấm các máy tính có tài liệu

dữ liệu bí mật kết nối internet, quyết định của Bộ trưởng bộ tài chính(2615/QĐ - BTC) các máy tính trong ngành tài chính có các tài liệu quan trọng không được mở trang tin

và ứng dụng ngay trên máy

An toàn của máy tính cá nhân tham gia mạng

Chỉ riêng năm 2010, đã có tới 58,6 triệu lượt máy tính tại Việt Nam bị nhiễm vi rút Theo đó, trung bình một ngày đã có hơn 160 nghìn máy tính bị nhiễm vi rút Các chuyên gia an ninh mạng đánh giá, đây là con số báo động về tình hình vi rút máy tính tại Việt Nam

Còn theo báo cáo của onsummerreport của Mỹ về tình trạng lây nhiễm vi rút và

mã độc thì có đến 58,2 triệu máy tính từng bị lây nhiễm ít nhất một loại mã độc gây ảnh hưởng đến tính năng và hiệu suất hoạt động của máy tính; chi phí sửa chữa các

Trang 15

thiệt hại từ những vụ xâm nhập và lây nhiễm mã độc tại Mỹ đã lên đến gần 4 tỷ USD trong năm 2011 Báo cáo cũng cho biết có khoảng 9,2 triệu người Mỹ là nạn nhân của hình thức tấn công lừa đảo Với mạng xã hội Facebook, báo cáo cho biết có đến 9,8 triệu người dùng Facebook tại Mỹ bị người khác sử dụng trái phép tài khoản, gây tổn hại danh tiếng, hoặc dùng cho mục đích quấy rối, đe dọa, lừa đảo Tình trạng này dẫn đến có khoảng 28,5 triệu người dùng Facebook phải thay đổi thông tin trong hồ sơ cá nhân trong năm 2012 nhằm mục đích bảo vệ sự riêng tư

Năm 2011, Bộ công an cũng đã phát hiện loại malware, trojan chuyên lấy cắp thông tin mật lây nhiễm qua usb hoặc thâm nhập qua cửa hậu vào máy tính và tự động đánh cắp những văn bản nhạy cảm trong máy tính về địa chỉ bên ngoài Hiện nay cũng

có một loại virut lây lan rất nhanh qua USB có tên w32.UsbFakedrive Tỷ lệ rất cao các thiết bị lưu trữ usb bán trên thị trường hiện nay có cài đặt sẵn mã độc

1.1.2 Nguy cơ mất an toàn thông tin trong cổng thông tin điện tử

Vấn đề mất an ninh an toàn không chỉ là ở việc mất an ninh mạng và máy tính cá nhân tham gia mạng Thực trạng vấn đề này trong nước ta hiện đang rất đáng lo ngại Các số liệu khảo sát về thực trạng mất an toàn thông tin trong cổng thông tin điện tử sau đây sẽ làm rõ hơn về nhận định này

Thực trạng mất an toàn cổng thông tin điện tử tại Việt Nam

Năm 2011

Theo thống kê của trang web Zone-H – chuyên thống kê các website bị tấn công trên toàn cầu, chỉ trong 20 ngày đầu tháng 6 năm 2011, có khoảng 446 website ".vn"

đã bị hacker tấn công, trong đó có 16 trang chứa tên miền “.gov.vn” Chỉ tính riêng

tuần đầu tiên của tháng 6 cũng đã có 407 website tên miền vn bị hacker tấn công

Cũng theo tìm hiểu, năm 2011, hàng loạt website của các tổ chức lớn tại Việt Nam đồng loạt bị tấn công bởi một nhóm hacker nổi tiếng tại Iran, với mục đích thông qua việc hack các trang web, chúng muốn bán những thông tin trợ giúp an ninh mạng, web hosting và dịch vụ mạng

Một sự kiện cũng được chú ý trong năm 2011 đó là: gần 200 website Việt nam bị tấn công trong vòng một đêm Đêm ngày 3/7/2011, gần 200 website có tên miền vn và com, net nằm trên một số server đã bị tấn công

Năm 2012

Theo khảo sát mới nhất của Microsoft, trong năm 2012 có 2.500 website của Việt Nam tiếp tục là mục tiêu tấn công của hacker 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 Việt Nam cũng bị tấn công

Còn theo tổng kết tình hình an ninh mạng của Bkav năm 2012 thì: An ninh mạng tại các cơ quan doanh nghiệp không được cải thiện Trong năm 2012 vẫn có tới 2.203

Trang 16

website của các cơ quan doanh nghiệp tại Việt Nam bị tấn công, chủ yếu thông qua các lỗ hổng trên hệ thống mạng So với năm 2011 (có 2.245 website bị tấn công), con

số này hầu như không giảm

Năm 2013

Thông tin từ công ty an ninh mạng Bkav ngày 20/8 vừa qua cho biết, trong 30 ngày kể từ 20/7/2013 tới 20/8/12013 có 437 website của các cơ quan, doanh nghiệp tại Việt Nam bị hacker xâm nhập, trong đó có 16 trường hợp gây ra bởi hacker trong nước, 421 trường hợp do hacker nước ngoài “Đình đám” nhất trong tháng 7/2013 vừa qua là việc hàng loạt website của các báo điện tử lớn đã bị tấn công bằng phương thức

từ chối dịch vụ (DDoS) dài ngày như Tuổi trẻ, VietNamNet, Dân Trí… Những đợt tấn công đã khiến nhiều báo trong tình trạng nghẽn truy cập, thậm chí tê liệt trong thời gian ngắn

Theo báo cáo bảo mật Intelligence Report của hãng Symantec, số lượng các lỗ hổng bảo mâ ̣t phát si nh trong nửa đầu năm 2013 đã tăng lên 16% so với cùng thời điểm này năm 2012

Thực trạng mất an toàn cổng thông tin điện tử trên thế giới

Không riêng gì Việt Nam, vấn đề mất an ninh an toàn còn là vấn đề đáng lo ngại của toàn thế giới Trong đó không thể không kể tới các vụ tấn công an ninh website tại một số nước lớn như: Mỹ, Nga, Trung quốc

Tại Mỹ, gần đây nhất, 6 ngân hàng gồm Bank of America, JPMorgan Chase, Citigroup, US Bank, Wells Fargo và PNC đã phải chịu các cuộc tấn công từ chối dịch

vụ bởi một nhóm tuyên bố có quan hệ mật thiết với Trung Đông

Với Trung Quốc, ngày 25/08/2013 hàng loạt các website đã bị đánh sập Chính phủ Trung Quốc đã phải thừa nhận đây là cuộc tấn công quy mô lớn nhất từ truớc đến nay nhắm vào những website có tên miền cn

Ngày 9/5/2012, chỉ hai ngày sau khi Tổng thống Nga Vladimir Putin tuyên thệ nhận chức, nhóm tin tặc nổi tiếng Anonymous tuyên bố trên Twitter đã đánh sập cổng thông tin Chính phủ nước Nga (tại địa chỉ www.kremlin.ru), đồng thời khẳng định sẽ tiến hành thêm nhiều đợt tấn công tương tự khác vào các website của Chính phủ nước này Người dùng Internet tại Nga cho hay, họ đã không thể truy cập vào trang chủ của Cổng thông tin Chính phủ Nga trong vài phút vào ngày 9/5/2012 Trước đó một ngày, vào ngày 8/5, nhóm tin tặc giấu mặt đã tấn công vào website của Virgin Media - một trong những nhà cung cấp dịch vụ Internet lớn nhất tại Anh

Vấn đề an ninh an toàn mạng cho các doanh nghiê ̣p nói chung và các doanh nghiệp Việt Nam nói riêng chưa thấy có dấu hiê ̣u suy giảm về mức đô ̣ và số lượng Tô ̣i phạm mạng liên tục sáng tạo ra những cách thức tấn công mới và tinh vi nhằm đánh cắp

Trang 17

thông tin quan trọng của các doanh nghiê ̣p ở mọi quy mô Vì thế để tiếp tục khai thác những mặt mạnh mà công nghê ̣ thông tin và Internet mang lại cho hoạt đô ̣ng kinh doanh, các doanh nghiê ̣p nên song song , chủ đô ̣ng phối kết hợp áp dụng các biê ̣n pháp

an ninh bảo mâ ̣t để phòng ngừa, ngăn chặn và giảm thiểu các mối đe dọa an ninh thông tin

Như vậy, các con số trên một lần nữa làm dấy lên lo ngại về sự mất an toàn, bảo mật của các website Việt nam cũng như trên thế giới Trên thực tế , các mối đe dọa luôn hiện hữu và ngày càng gia tăng cả về số lượng và chất lượng Những cuộc tấn công ngày càng có chủ đích hơn và được thực hiện bởi những tin tặc có kỹ năng cao Những con số thống kê của các hãng nghiên cứu uy tín về các mối đe dọa cho thấy, tỷ lê ̣ năm sau cao hơn năm trước và với mức độ ngày càng tinh vi hơn

 Thực trạng này cho thấy, an ninh mạng vẫn chưa thực sự được quan tâm tại các cơ quan, doanh nghiệp Hầu hết cơ quan doanh nghiệp của Việt Nam chưa bố trí được nhân sự phụ trách an ninh mạng hoặc năng lực và nhận thức của đội ngũ này chưa tương xứng với tình hình thực tế Đó là những nguyên nhân chính

 Để giải bài toán về an toàn thông tin tại Việt Nam, ông Ngô Việt Khôi - Giám đốc Kinh doanh của Trend Micro Việt Nam cho rằng ngoài nâng cao ý thức cho doanh nghiệp, cần chuẩn bị một nguồn nhân lực chuyên nghiệp trong lĩnh vực này Bên cạnh đó, từng bước nghiên cứu, phát triển các công cụ bảo vệ do chính Việt Nam làm chủ hoàn toàn Các cơ quan, doanh nghiệp hãy nghĩ đến những giải pháp phòng vệ nhiều lớp và đầu tư cho công nghệ nội địa ưu việt

Đặc biệt, để hạn chế được các nguy cơ mất an ninh an toàn cổng thông tin điện tử, mỗi cá nhân, doanh nghiệp cần phải đánh giá được mức độ an toàn của website mà mình sở hữu Hiện nay có rất nhiều tiêu chí và công cụ được sử đụng để dò quét và đánh giá mức độ an toàn của cổng thông tin điện tử Tổng quan về các công cụ và tiêu chí này sẽ được trình bày trong phần sau(1.3) của luận văn

1.2 Tiêu chí và công cụ đánh giá an toàn thông tin

Để đánh giá sản phẩm an toàn thông tin, có rất nhiều tiêu chuẩn được sử dụng tại Việt Nam cũng như trên thế giới Ở đây, em xin giới thiệu về một số tiêu chuẩn được

sử dụng khá rộng rãi ở Việt nam là Tiêu chuẩn chung CC, tiêu chuẩn 140-2 và tiêu chuẩn iso 27000

1.2.1 Giới thiệu các tiêu chuẩn đánh giá hệ thống an toàn thông tin

a) Tiêu chuẩn chung CC

Giới thiệu

CC là kết quả tổng quát tất cả những thành tựu của những năm lại đây trong lĩnh vực ATTT Lần đầu tiên tài liệu tại mức như vậy có chứa những mục đề cập đến những người sử dụng, những người sản xuất và những người đánh giá sản phẩm CNTT

Trang 18

Các cơ chế PP và ST của CC cho phép những người sử dụng và những người sản xuất phản ánh đầy đủ quan điểm của mình về các yêu cầu an toàn và những vấn đề bảo

vệ, mặt khác cho những người đánh giá khả năng phân tích mối tương ứng lẫn nhau giữa các yêu cầu, những sự cần thiết của những người sử dụng, những vấn đề bảo vệ

và những phương tiện bảo vệ sản phẩm CNTT

Những người thiết kế CC đã tiếp tục cách tiếp cận của FC hướng tới từ chối sự phân chia thống nhất an toàn và tăng cường tính mềm dẻo những giải pháp được đề xuất trong chúng bằng cách tiến hành những sự phân chia sắp xếp bộ phận mà nhờ đó những người sử dụng và những người sản xuất nhận được những khả năng bổ sung về

sự lựa chọn những yêu cầu và sự thích ứng của chúng đối với các vấn đề ứng dụng của mình

Chuẩn CC dành chú ý đặc biệt cho sự đảm bảo hiện thực hoá các yêu cầu chức năng mà sự đảm bảo được đảm bảo bằng kiểm định độc lập và phân tích sản phẩm CNTT cũng như ứng dụng các công nghệ tương ứng trên tất cả các giai đoạn thiết kế

và hiện thực hoá nó

Như vậy là các yêu cầu của CC chiếm thực tế toàn bộ các khía cạnh an toàn các sản phẩm CNTT và công nghệ chế tạo chúng và cũng chứa tất cả các tài liệu ban đầu cần thiết cho những người sản xuất và những người thiết kế để tạo nên PP và ST Ngoài ra, những yêu cầu của CC thực tế là một bộ bách khoa đầy đủ về ANTT vì rằng

có thể sử dụng nó như là sách tra cứu về an toàn CNTT

Chuẩn CC đánh dấu một mức độ mới việc chuẩn hoá CNTT nâng nó lên tầm quốc

tế Đằng sau đó thấy được triển vọng thực tế của việc tạo ra không gian thông tin an toàn thống nhất mà trong đó chứng nhận an toàn các hệ thống xử lý thông tin sẽ được thực hiện ở mức độ sâu sắc mở ra những khả năng để tích hợp các hệ thống thông tin quốc gia đến lượt mình lại mở ra những lĩnh vực hoàn toàn mới ứng dụng CNTT

Quy trình đánh giá:

Tiêu chuẩn CC được đánh giá theo quy trình gồm 7 mức

EAL1:Mức đảm bảo an toàn được kiểm định chức năng

EAL2:Mức đảm bảo an toàn được kiểm định cấu trúc

EAL3:Mức đảm bảo an toàn được kiểm định và kiểm tra có phương pháp

EAL4:Mức đảm bảo an toàn được thiết kế, kiểm định và duyệt lại có phương pháp EAL5:Mức đảm bảo an toàn được thiết kế và kiểm định bán hình thức

EAL6:Mức đảm bảo an toàn được kiểm định và thiết kế có thẩm định bán hình thức EAL7:Mức đảm bảo an toàn được kiểm định và thiết kế có thẩm định hình thức, mức này thể hiện kiểm định hộp trắng

Tiêu chuẩn này đưa ra các yêu cầu an toàn cho một mô- đun mật mã sử dụng trong một hệ thống an toàn, dùng để bảo vệ thông tin nhạy cảm, nhưng chưa được phân loại

Trang 19

(nghĩa là các thông tin không thuộc dạng tuyệt mật, tối mật theo cách phân loại của Mỹ) Tiêu chuẩn này đưa ra 4 mức an toàn tăng dần từ 1 đến 4 Các mức an toàn này bao quát hết các ứng dụng và môi trường mà các module mật mã được triển khai Quy trình đánh giá

Sau đây là các Mức an toàn với cấp độ chặt chẽ khác nhau

Mức an toàn 1

Mức an toàn 1 cung cấp khả năng an toàn thấp nhất Mô-đun mật mã đáp ứng mức

an toàn này chỉ cần thỏa mãn một số yêu cầu rất cơ bản, như phải sử dụng ít nhất một thuật toán mật mã đã được phê chuẩn hoặc một chức năng an toàn đã được phê chuẩn Không bắt buộc phải có cơ chế an toàn vật lý nào trong mô- đun mật mã ở mức này, ngoại trừ các yêu cầu cơ bản đối với các thành phần được tạo ra bởi nhà sản xuất Một

ví dụ về mô- đun mật mã có mức an toàn 1 là bảng mạch mã hóa của máy tính cá nhân

Mức an toàn 1 cho phép các thành phần phần mềm và phần sụn của mô- đun mật

mã được thực thi trong các hệ thống máy tính đa mục đích, sử dụng hệ điều hành chưa được kiểm định, phù hợp với một số ứng dụng có mức an toàn thấp, trong đó khả năng kiểm soát các vấn đề về an ninh vật lý, an ninh mạng và các thủ tục quản trị có thể ở mức hạn chế hoặc không có

Mức an toàn 2

Mức an toàn 2 tăng thêm các cơ chế an toàn vật lý so với Mức an toàn 1 bằng cách thêm các yêu cầu về khả năng chống can thiệp (tamper-evidence) như việc đóng hộp cách ly (coating), đóng dấu niêm phong (seal) hoặc đưa các khóa cứng an toàn (pick-resistant lock) vào phần vỏ hoặc nắp đóng mở của mô- đun mật mã Việc đóng hộp cách ly hoặc dán tem niêm phong là nhằm chống lại sự can thiệp hoặc lấy cắp khóa mật mã ở dạng rõ (plaintext cryptographic key) hoặc các Tham số an toàn quan trọng (CSP - Critical Security Parameter) thông qua cách tiếp cận trực tiếp vào mô- đun mật

mã Dấu niêm phong và khóa cứng an toàn được đưa vào phần vỏ hoặc nắp đậy là nhằm chống lại việc truy cập trái phép mô- đun mật mã

Để đạt Mức an toàn 2 thì tối thiểu phải có cơ chế xác thực dựa trên vai trò (role- based authentication) thực thi bởi mô-đun mật mã nhằm cho phép từng vai trò người dùng được thực thi một tập dịch vụ xác định trên mô- đun mật mã

Mức an toàn 2 cho phép các thành phần phần mềm hoặc phần sụn trong mô- đun mật mã được thực thi trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các yêu cầu chức năng đưa ra bởi PP ở Phụ lục B của tiêu chuẩn FIPS 140- 2

và được đánh giá đạt EAL2 theo CC

Mức an toàn 3

Ngoài các yêu cầu đưa ra ở Mức an toàn 2, Mức an toàn 3 ngăn chặn các xâm nhập thông qua truy cập vào CSP Các cơ chế an toàn vật lý yêu cầu ở Mức an toàn 3

Trang 20

mặt vật lý, sử dụng hoặc sửa đổi mô- đun mật mã khá cao Các cơ chế an toàn vật lý

có thể bao gồm việc sử dụng rào chắn mạnh và chu trình phát hiện/phản ứng với các can thiệp để hủy bỏ tất cả CSP dạng rõ khi có hành động mở nắp/tháo vỏ các mô- đun mật mã

Mức an toàn 3 yêu cầu các cơ chế xác thực dựa trên định danh (identity- based authentication), đây là sự nâng cao so với cơ chế xác thực dựa trên vai trò (role-based authentication) ở Mức an toàn 2 Mô- đun mật mã sẽ xác thực định danh của một tác

tử (người dùng, tiến trình máy) và xác nhận rằng tác tử này đủ thẩm quyền để được đưa vào một nhóm người dùng xác định nào đó và nó có thể thực thi một tập dịch vụ thích hợp được chỉ định cho nhóm đó

Mức an toàn 3 yêu cầu đầu vào và đầu ra của CPS dạng rõ (bao gồm cả đầu vào và đầu ra của CPS dạng rõ sử dụng thủ tục phân chia tri thức) phải được thực thi trên các cổng tách biệt về mặt vật lý hoặc các giao diện tách biệt về mặt lôgic, các giao diện này liên lạc với nhau bằng đường truyền tin cậy Các CPS có thể được nhập vào hoặc xuất ra từ mô- đun mật mã ở dạng đã mã hóa (vì thế có thể chuyển đi trên các hệ thống không an toàn)

Mức an toàn 3 cho phép các thành phần phần mềm hoặc phần sụn trong mô-đun mật mã được thực thi trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các yêu cầu chức năng đưa ra bởi PP (ở Phụ lục B của tiêu chuẩn FIPS 140-

2) và được đánh giá đạt EAL3 + ADV_SPM.1 theo CC

Mức an toàn 4

Đây là mức an toàn cao nhất Ở mức an toàn này, các cơ chế an toàn vật lý cung cấp một vỏ bọc hoàn chỉnh để bảo vệ mô- đun mật mã hướng đến việc phát hiện và phản ứng với tất cả các cố gắng truy cập trái phép về vật lý Việc thâm nhập vào mô- đun mật mã theo mọi hướng sẽ bị phát hiện với khả năng rất cao và kết quả là tất cả CSP dạng rõ sẽ được hủy bỏ ngay lập tức Mô-đun mật mã có Mức an toàn 4 thích hợp cho việc sử dụng trong các môi trường không có sự bảo vệ về mặt vật lý

Mức an toàn 4 cũng bảo vệ mô- đun mật mã khỏi bị tổn thương về an toàn trong các điều kiện môi trường hoặc sự thay đổi bất thường vượt khỏi điều kiện hoạt động thông thường của mô- đun như về điện thế và nhiệt độ Việc thay đổi có chủ ý vượt ra khỏi điều kiện hoạt động thông thường có thể được kẻ tấn công sử dụng để phá vỡ sự phòng thủ của mô- đun mật mã Một mô- đun mật mã yêu cầu phải được thiết kế các tính năng bảo vệ trong môi trường cụ thể nhằm đáp ứng vấn đề thay đổi và hủy bỏ CSP hoặc phải vượt qua được quá trình kiểm tra lỗi nghiêm ngặt nhằm đảm bảo chắc chắn rằng mô-đun sẽ không bị ảnh hưởng bởi các tác động vượt quá điều kiện hoạt động thông thường, dẫn đến việc bị can thiệp về mặt an toàn

Mức an toàn 4 cho phép phần mềm hoặc phần sụn trong mô- đun mật mã hoạt động trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các

Trang 21

yêu cầu chức năng đưa ra bởi PP (ở Phụ lục B của tiêu chuẩn này) và được đánh giá đạt EAL4 theo CC

Tương ứng với bốn Mức an toàn nói trên, tiêu chuẩn này đưa ra các yêu cầu thích hợp cho từng mức an toàn Ở mức an toàn càng cao thì yêu cầu đưa ra càng chặt chẽ Các yêu cầu an toàn đưa ra liên quan đến việc thiết kế và thực thi an toàn một mô- đun mật mã, xuất phát từ các mục tiêu an toàn về mặt chức năng ở mức cao nhằm mục đích:

- Triển khai và thực thi các chức năng an toàn đã được phê duyệt để bảo vệ thông tin nhạy cảm

- Bảo vệ mô- đun mật mã khỏi việc bị sử dụng hoặc hoạt động trái phép

- Ngăn ngừa sự tiết lộ nội dung của mô- đun mật mã, bao gồm khóa mã và CSP dạng rõ

- Ngăn ngừa việc sửa đổi trái phép mà không bị phát hiện đối với mô- đun mật mã

và các thuật toán mật mã, đó là các sửa đổi, thay thế, chèn thêm và xóa bỏ trái phép khóa mã cũng như CPS

- Cung cấp các biểu thị về trạng thái hoạt động của mô-đun mật mã

- Đảm bảo rằng mô- đun mật mã hoạt động chính xác trong các chế độ hoạt động

đã được phê chuẩn

- Phát hiện ra các lỗi trong quá trình hoạt động của mô- đun mật mã và ngăn chặn

sự tiết lộ dữ liệu nhạy cảm cũng như CSP từ kết qủa của các lỗi này

- Thực trạng đánh giá và sử dụng mô-đun mật mã

- Chương trình phê chuẩn mô- đun mật mã (CMVP - Cryptographic Module Validation Program) được xây dựng để công nhận các mô-đun mật mã phù hợp với FIPS 140-1/FIPS 140- 2 và một số tiêu chuẩn cơ sở khác CMVP được thực hiện với sự kết hợp của NIST (Mỹ) và Cơ quan an toàn thông tin CSE (Canada) Các sản phẩm được công nhận là phù hợp với FIPS 140- 2 theo chương trình này

sẽ được chấp nhận ở tất cả các cơ quan của cả hai chính phủ và được sử dụng để bảo vệ thông tin nhạy cảm của các cơ quan này Mục tiêu của CMVP là thúc đẩy việc sử dụng các mô- đun mật mã đã qua phê duyệt và cung cấp cho người sử dụng một thước đo về an toàn khi dùng các thiết bị bảo vệ thông tin có chứa các mô- đun mật mã Theo CMVP, nhà sản xuất mô- đun mật mã hoàn toàn độc lập với các phòng kiểm thử đã được công nhận Chương trình công nhận các phòng kiểm thử quốc gia (NVLAP) chứng nhận cho các phòng kiểm thử đủ điều kiện đánh giá mô- đun mật mã

- Theo khảo sát thì hầu hết các sản phẩm BM&ATTT được đánh giá theo CC, khi

có chứa một mô- đun mật mã thì mô-đun mật mã cũng đồng thời được đánh giá theo FIPS 140-1/FIPS 140- 2

Trang 22

Bảng 1-1 Tỉ lệ các sản phẩm được đánh giá theo từng năm

ISO/IEC 27001 là tiêu chuẩn quy định các yêu cầu đối với việc xây dựng và áp dụng hệ thống quản lý an toàn thông tin (Information Security Management System – ISMS) nhằm đảm bảo tính bảo mật, tính nguyên vẹn và tính sẵn sàng đối với tài sản thông tin của các tổ chức/doanh nghiệp Việc áp dụng một hệ thống quản lý an toàn thông tin sẽ giúp các tổ chức/doanh nghiệp ngăn ngừa, hạn chế các tổn thất trong sản xuất, kinh doanh liên quan tới việc hư hỏng, mất mát các thông tin, dữ liệu quan trọng

Bộ tiêu chuẩn ISO/IEC 27000 gồm các tiêu chuẩn sau:

- ISO/IEC 27000 quy định các vấn đề về từ vựng và định nghĩa (thuật ngữ)

- ISO/IEC 27001:2005 các yêu cầu đối với hệ thống quản lý an toàn thông tin

- ISO/IEC 27002:2007 qui phạm thực hành mô tả mục tiêu kiểm soát an toàn thông tin một các toàn diện và bảng lựa chọn kiểm soát thực hành an toàn tốt nhất

- ISO/IEC 27003:2007 các hướng dẫn áp dụng

- ISO/IEC 27004:2007 đo lường và định lượng hệ thống quản lý an toàn thông tin

để giúp cho việc đo lường hiệu lực của việc áp dụng ISMS

- ISO/IEC 27005 quản lý rủi ro an toàn thông tin

- ISO/IEC 27006 hướng dẫn cho dịch vụ khôi phục thông tin sau thảm hoạ của công nghệ thông tin và viễn thông

- Hiện nay, việc áp dụng hệ thống quản lý an toàn thông tin ISO/IEC 27001 đã được triển khai rộng khắp ở hầu hết các quốc gia trên thế giới Tại Việt nam, thời gian qua một số tổ chức ngân hàng, tài chính,công nghệ thông tin,… cũng bắt đầu quan tâm triển khai áp dụng hệ thống này và bước đầu đã có được những kết quả nhất định

 Đối tượng áp dụng

Tiêu chuẩn ISO/IEC 27001:2005 có thể được áp dụng rộng rãi cho nhiều loại hình

tổ chức ( các tổ chức thương mại, cơ quan nhà nước, các tổ chức phi lợi nhuận… ) Đặc biệt là các tổ chức mà các hoạt động phụ thuộc nhiều vào công nghệ thông tin, máy tính, mạng máy tính, sử dụng cơ sở dữ liệu như: ngân hàng, tài chính, viễn thông,…Một hệ thống ISMS hiệu lực, phù hợp, đầy đủ sẽ giúp bảo vệ các tài sản

Trang 23

thông tin cũng như đem lại sự tin tưởng của các bên liên quan như đối tác, khách hàng… của tổ chức

ISO/IEC 27001 là một phần của hệ thống quản lý chung của các tổ chức, doanh nghiệp

do vậy có thể xây dựng độc lập hoặc kết hợp với các hệ thống quản lý khác như ISO

9000, ISO 14000

 Lợi ích

1 Chứng tỏ sự cam kết đảm bảo sự an toàn về thông tin ở mọi mức độ

2 Đảm bảo tính sẵn sàng và tin cậy của phần cứng và các cơ sở dữ liệu

3 Bảo mật thông tin, tạo niềm tin cho đối tác, khách hàng

4 Giảm giá thành và các chi phí bảo hiểm

5 Nâng cao nhận thức và trách nhiệm của nhân viên về an ninh thông tin

 Các bước triển khai

Về cơ bản, các bước triển khai hệ thống ISO/IEC 27001 có nhiều điểm tương đồng với áp dụng ISO 9000 & ISO 14000… Tuy nhiên, đây là hệ thống quản lý an toàn thông tin nên có một số điểm cần chú trọng khi xây dựng như: xác định đầy đủ các tài sản thông tin, nhận biết và đánh giá mối nguy, lựa chọn các biện pháp xử lý mối nguy thích hợp…

Các bước cơ bản cần thực hiện để đạt được chứng nhận hệ thống quản lý an toàn thông tin ISO/IEC 27001:

1) Cam kết của Lãnh đạo về xây dựng hệ thống quản lý an toàn thông tin cho tổ chức 2) Phổ biến, đào tạo nhận thức về tiêu chuẩn ISO/IEC 27001 cho cán bộ

3) Thiết lập hệ thống tài liệu theo yêu cầu tiêu chuẩn ISO/IEC 27001

4) Xây dựng chính sách, mục tiêu và phạm vi của hệ thống ISMS

5) Phân tích, đánh giá các rủi ro về an toàn thông tin trong phạm vi của hệ thống 6) Thiết lập các biện pháp kiểm soát rủi ro

7) Lựa chọn mục tiêu và các biện pháp kiểm soát

hệ thống quản lý khác như ISO 9000, ISO 14000…

Ngoài các tiêu chuẩn trên, Điều 38 của chương V trong bản dự thảo Luật an toàn thông tin số có quy định rõ các chứng nhận, công bố hợp quy và đánh giá, kiểm định

an toàn thông tin

Trang 24

Như vậy, các tiêu chuẩn vừa được giới thiệu được sử dụng để đánh giá hệ thống an toàn thông tin và các module mật mã Tuy nhiên, do giới hạn về mặt thời gian, phạm

vi của luận văn chỉ đi đánh mức độ an toàn bảo mật của cổng thông tin điện tử theo các bước 5,6,7 trong tiêu chuẩn ISO/IEC 27001

1.2.2 Công cụ phân tích, dò quét lỗ hổng bảo mật trong cổng thông tin điện tử a) Công cụ dò quét lỗ hổng cổng thông tin điện tử

Trong quá trình đánh giá an ninh của một ứng dụng web, kỹ thuật dò quét lỗ hổng của web site là một việc vô cùng quan trọng và đòi hỏi một công cụ phát hiện tinh vi Điều tối quan trọng trong kỹ thuật quét bảo mật web không phải ở số lượng các cuộc tấn công mà một máy quét có thể phát hiện, mà là sự phức tạp và triệt để khi quét lỗi SQL injection, Cross Site Scripting và các lỗ hổng quan trọng khác

Một số công cụ được sử dụng để dò quét lỗ hổng website đó là:

 Acunetix web Vulnerability Scanner

Acunetix WVS tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection, hay Cross-Site Scripting, tìm kiếm những chính sách đối với mật khẩu đăng nhập cũng như các phương thức xác thực vào Web Site Với giao diện đồ họa thân thiện, những Report đầy đủ cho phép bạn kiểm tra những vấn đề trên máy chủ và ứng dụng Web

 Bkav Scan

Được chạy trên nền tảng điện toán đám mây, WebScan của Bkav cho phép người dùng kiểm tra an ninh website của mình mà không cần phải cài đặt Người dùng chỉ cần truy cập web scan.bkav.com.vn và thực hiện quét Công cụ này cũng có thể đồng thời kiểm tra nhiều website

 AppScan

AppScan cho phép kiểm tra những ứng dụng được phát triển trên nền web, dễ dàng kiểm tra và phát hiện lỗ hổng AppScan kiểm tra nhiều lỗ hổng bảo mật, như Cross-Site Scripting, HTTP Response Spliting, và một vài dạng tấn công phổ biến khác, phát hiện các Trojan và Backdoor đang tồn tại trên máy chủ Web và nhiều hơn nữa

 Webinspect

Một công cụ tìm kiếm lỗ hổng trên ứng dụng Web rất hiệu quả SPI Dynamics‟ WebInspect với những công cụ trợ giúp người dùng nhận dạng ra những lỗ hổng bảo mật trên ứng dụng Web WebInspect có thể giúp kiểm tra các Web Server cấu hình đã chuẩn chưa, và cố gắng thử một vài dạng tấn công như Prameter Injection, Cross-site Scripting, Directory Traversal

 Whisker/Libwhisker

Một công cụ với thư viện mở rất phong phú giúp tìm kiếm các lỗ hổng bảo mật trên ứng dụng Web Libwhisker một tính năng của ngôn ngữ Perl – Module cho phép kiểm tra ứng dụng HTTP Cung cấp những tính năng giúp kiểm tra máy chủ HTTP bằng cách lấy những sự hiểu biết về bảo mật, những nguy cơ tấn công để kiểm tra các lỗ

Trang 25

hổng bảo mật Whisker là một công cụ tìm kiếm lỗ hổng bảo mật sử dụng Libwhisker nhưng giờ có công cụ khác hiệu quả hơn đó là Nikto cũng sử dụng Libwhisker

 N-Sealth

Là một phiên bản thương mại, ứng dụng cho việc tìm kiếm các lỗ hổng bảo mật trên máy chủ Web Phần mềm tự động update thường xuyên hơn các phần mềm miễn phí như Whisker/libwhisker hay Nikto, nhưng nhiều lỗi mới trên Web cũng không phát hiện kịp thời và nhanh chóng Phần mềm bao gồm hơn 30.000 lỗ hổng có thể Scan và khai thác trực tiếp, cùng với hàng tá những cập nhật hàng ngày Dễ dàng triển khai kết hợp với những Scan lỗ hổng bảo mật khác như: Nessus, ISS Internet Scanner, Retina, SAINT và Sara, bao gồm các tính năng khác N-sealth là phiên bản chỉ dành riêng cho Windows và không thể download Source Code

 Nikto

Là một phần mềm mã nguồn mở với tính năng Web Server Scanner, tính năng kiểm tra các máy chủ Web 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

Như vậy, có rất nhiều công cụ được sử dụng để phân tích và dò quét lỗ hổng trong các website, webserver trên thị trường Trên đây chỉ là một số công cụ được giới thiệu với những đặc trưng và thế mạnh riêng Trong đó một số công cụ như Acunetix, AppScan hay Webscan là những công cụ được sử dụng rộng dãi vì chúng có thể phát hiện được các lỗ hổng nghiêm trọng và có ảnh hưởng lớn sự an toàn bảo mật website, nhờ vào các thuật toán, nền tảng công nghệ Chi tiết về các cộng cụ này sẽ được giới thiệu sâu hơn trong phần 2.4 của luân văn

b) Công cụ phân tích gói tin và sniffer

 Wire Shark

Một chương trình tóm gói tin Sniffer Packet hay nhất Wireshark là một tool viết

bằng mã nguồn mở hỗ trợ phân tích các giao thức trên Unix và Windows Nó cho phép lấy thông tin hiệu quả từ các giao tiếp trên mạng sau đó save vào đĩa cưng Bạn có thể

có nhiều lựa chọn trong việc tóm các giao tiếp trên mạng, bạn cũng có thể phân tích nội dung của các gói tin cụ thể Wireshark có nhiều tính năng mạnh mẽ bao gồm một chế độ lọc thông tin hiệu quả, cho phép chúng ta xem từng phiên, từng giao tiếp trên mạng Nó cũng hỗ trợ hàng trăm giao thức khác nhau Một trong các lý do Wireshark

thay thế Ethereal đó là các lỗ hổng bảo mật của nó

 Webscarab

Trang 26

Một khung hoạt động cho phép phân tích các ứng dụng giao tiếp sử dụng giao thức HTTP và HTTPS Một dạng rất đơn giản, WebScarab lưu các Request và Response cho phép tái sử dụng trong các phiên làm việc khác WebScarab được thiết kế cho mọi người muốn xem hoạt động của các ứng dụng sử dụng giao thức HTTP(S), tuy nhiên công cụ này cũng cho phép phát triển và sửa những lỗi khó, hoặc cho phép nhận biết những lỗ hổng bảo mật trên các ứng dụng được thiết kế và triển khai

 Kismet

Một tool rất hiệu quả để Sniffer gói tin trên mạng Wireless Kismet là một chương trình với giao diện command hỗ trợ giao thức 802.11 với tính năng Network Detector, Sniffer, và hoạt đông như một thiết bị giám sát IDS Nó tự động phát hiện những gói tin thuộc các Protocol như TCP, UDP, ARP, và các gói tin DHCP, được ghi lại bằng Wireshark/TCPDump Tools này còn được sử đụng để Wardriving, Warwalking, và wareflying

 KisMac

Giao diện đồ họa để thực hiện Sniffer trên hệ điều hành Mac OS X Công cụ rất phổ biến cho máy Mac OS X thường là một tính năng và được đổi tên là Kismet Không như giao diện console của Kismet, KisMAC có giao diện đồ họa dễ dàng thực hiện và lọc các kết quả Sniffer được trên môi trường đồ họa.Kết hợp với Pcap cho phép import các kết quả và vài khả năng giải mã cho phép thực hiện xác thực vào các

Do đó nó hỗ trợ ít tính năng hơn, nó rất hiệu quả trong xác định những yếu tố nào đang làm cho hệ thống mạng bị nghẽn, các giao tiếp thực tế chiếm băng thông trên mạng

 Ettercap

Với tính năng Sniffer trên môi trương LAN Switch hiệu quả và bảo mật Ettercap với tính năng Network sniffer/interceptor/logger trên mạng LAN Công cụ này cũng hỗ trợ nhiều giao thức khác nhau Ngoài tính năng trên giao diện hợp lý và tính năng lọc kết quả cũng khá hấp dẫn Có nhiều mức độ có thể triển khai mang lại hiệu quả cao trong quá trình Sniffering, nhiều Plugins đã hỗ trợ Hỗ trợ LAN Switch

và có khả năng OS fingerprint (đoán hệ điều hành của các máy tính online trên mạng)

 NetStumbler

Là một công cụ miễn phí trên Windows thực hiện Sniffer trên chuẩn 802.11 Netstumbler được biết đến như một công cụ tốt nhất trên Windows để tìm kiếm những

Trang 27

Access Points đang hoạt động Nó cũng có phiên bản cung cấp cho WinCE cho các PDA với tên gọi là Ministumbler Đây là một Tool hoàn toàn miễn phí nhưng Code của nó không được cung cấp miễn phí Nó sử dụng để tìm kiếm Wireless Access Point hiệu quả hơn Kismet và KisMAC

 Ngrep

Ngrep được cung cấp bởi GNU, được áp dụng trên lớp Network của mô hình OSI Ngrep cho phép hiển thị thông tin Sniffer được dưới nhiều dạng như ở dạng bình thường là Hexa.Với tính năng lọc khá tốt và thường kết hợp với tcpdump và snoop Tóm lại, nói về các công vụ Sniffer và phân tích gói tin thì mỗi công cụ đều có những ưu điểm riêng Một số công cụ có giao diện đồ hoạ đẹp và dễ sử dụng như: Wire shark hay KisMac, cũng có một số công cụ tuy giao diện đồ hoạ không tốt nhưng

lại tốn ít tài nguyên và yêu cầu phần cứng thấp hơn như Tcpdump Tuỳ thuộc vào các

Hệ điều hành, hệ thống mạng khác nhau như LAN, Wireless lại có những công cụ hỗ trợ việc phân tích và sniffe khác nhau Như vậy, tuỳ vào mục đích sử dụng và quan điểm của từng người, họ sẽ có thể lựa chọn cho mình những công cụ phù hợp và mang lại hiệu quả cao Tuy nhiên, hiện nay công cụ Wire shark được sử dụng nhiều hơn cả

vì nó đáp ứng được yêu cầu của nhiều đối tượng sử dụng

c) Công cụ dò tìm mật khẩu

 GFILANguard

FI LANguard Network Security Scanner (N.S.S.) có lẽ là một công cụ thông dụng nhất đối với những nhà quản trị mạng GFI sẽ quét toàn bộ hệ thống mạng (OS và application) của bạn để dò tìm những lỗ hổng mà hacker có thể lợi dụng để tấn công Nói theo cách khác, GFI sẽ đóng vai trò là một hacker mũ trắng để dò tìm lỗ hổng, sau

đó nó sẽ gửi message cho người quản trị (thường là gửi mail theo như cấu hình mặc định) để thông báo về những lỗ hổng trong hệ thống Điều này sẽ giúp cho người quản trị có được thông tin kịp thời và nhanh chóng khắc phục trước khi hacker thật sự tấn công

 Cain & Abel

Trên hệ thống UNIX thường dùng các tài nguyên miễn phí còn trên nền tảng Windows thì thường không phải như vậy Trên nền tảng Windows có nhiều Tools cho phép Crack password nhưng rất ít tools cho phép tóm các gói tin trên mạng giải mã ngược lại để lấy được Password mong muốn Cain & Abel là một tools vừa có thể Crack Password trên windows khi ngồi tại máy tính hay có thể tóm các gói tin trên mạng và giải mã ngược lại sử dụng: Dictionary và Bruforce Attack

Ngoài ra Cain & Abel là một công cụ Sniffer khá hiệu quả

d) Công cụ an ninh mạng

 Nmap

Trang 28

Scan tất cả những gì có thể Scan được trên Network Một Scanner đa chức năng

mà cũng luôn cả đa các OS

Tuy niên, sở dĩ Nmap được sử dụng rộng rãi bởi vì nó các phiên bản tương ứng với các OS khác nhau (Unix, Linux, Windows)

Nmap hỗ trợ nhiều kỹ thuật scan port bao gồm các kỹ thuật như : TCP, XMAS, SYN, Null Scan, Windows Scan, ACK Scan

 Squared HiJackFree

Spyware là một trong số những phiền toái “ngán ngẩm” nhất khi PC mắc phải Không giống như virus, spyware thường hoạt động ngầm trên hệ thống để tìm cách đánh cắp thông tin dữ liệu người dùng Đó là lý do vì sao để bảo vệ máy tính tốt hơn, người dùng nên sắm thêm một công cụ ngăn spyware hiệu quả HiJackFree là một giải pháp thật sự hữu ích khi có thể bổ sung tính năng cho trình diệt virus đã có trên máy Ngoài khả năng ngăn ngừa tức thời spyware khi chúng xâm nhập vào máy, HiJackFree còn có thể quét toàn bộ hệ thống để phát hiện và tận diệt Ngoài ra, HiJackFree cung cấp một số tiện ích nhỏ gọn khá hữu dụng như công cụ thống kê chương trình nào đang sử dụng các cổng TCP của bạn, các chương trình khởi động cùng máy

Như vậy, có rất nhiều công cụ được sử dụng để ngăn chặn spyware hay virus, là một trong những vấn đề đáng lo ngại của người dùng máy tính Các công cụ vừa được giới thiệu giúp mang lại những thông tin hữu ích trong việc phòng ngừa chúng Tuy nhiên, trong số những công cụ trên, Nmap là công cụ được sử dụng rộng rãi hơn cả vì

nó có thể sử dụng cho nhiều hệ điều hành vào Scan port với nhiều kỹ thuật khác nhau

e) Công cụ dùng trong mạng wireless

 Vistumbler

Vistumbler là chương trình phân tích sóng Wi-Fi mã nguồn mở đầu tiên được phát hành vào năm 2007 và được cập nhật mới nhất vào năm 2010 Vistumbler hiển thị thông tin cơ bản về AP, bao gồm chính xác cách mã hóa và xác thực, cả SSID và RSSI của AP

 InSSIDer

Trang 29

InSSIDer là phần mềm phân tích sóng Wi-Fi mã nguồn mở khá mới hiện nay, cho phép hiển thị thông tin chi tiết về danh sách các AP, tuy nhiên InSSIDer chỉ hiển thị được RSSI mà không hiển thị chính xác phương thức xác thực của AP, không hiển thị được nhiễu và tỉ lệ nhiễu trên tín hiệu (SNR)

 NetSurveyor

NetSurveyor là công cụ miễn phí nhưng ở dạng nguồn đóng, được cập nhật lần cuối vào năm 2009, khi thực thi sẽ hiển thị các thông tin cơ bản của các AP, nhưng các thông tin về phương thức xác thực và mã hóa lại không được hiển thị chi tiết (chỉ cho biết có hay không có mã hóa) và không cho phép người dùng tùy biến bất cứ điều gì

 Kismet

Kismet là phần mềm mã nguồn mở rất nổi tiếng, chuyên phân tích, bắt gói tin và phát hiện xâm nhập, chạy trên các hệ điều hành Windows, MacOS X, Linux và BSD Kismet hiển thị thông tin chi tiết về các AP, bao gồm cả SSID của các mạng ẩn, báo cáo mức độ nhiễu, mức độ nhiễu trên tín hiệu Bạn có thể bắt các gói tin được truyền

đi qua mạng không dây ở dạng thô và lưu lại thành file PCAP, từ đó bạn có thể dùng các công cụ khác như Wireshark, TCPdump để phân tích tiếp

 Xirrus Wi-Fi Inspector

Là phần mềm nguồn đóng miễn phí, cùng với việc hiển thị thông tin chi tiết về các

AP, Xirrus Wi-Fi Inspector cung cấp bộ Radar và hiển thị một biểu đồ theo từng quãng 8 phút Xirrus Wi-Fi Inspector cũng hiển thị tín hiệu, địa chỉ của các kết nối hiện tại Ngoài ra, Xirrus Wi-Fi Inspector cung cấp một công cụ đơn giản cho phép bạn kiểm tra các thành phần chính trong kết nối mạng và liên kết đến trang kiểm tra tốc độ và chất lượng kết nối

 Meraki Wi-Fi Stumbler

Là phần mềm dạng Web-based (giao diện web), có thể sử dụng miễn phí trên trang của Meraki tại địa chỉ: http://tools.meraki.com/stumbler Meraki Wi-Fi Stumbler hỗ trợ hầu hết tất cả các loại trình duyệt trên các máy tính Mac, PC và có thể chạy ở chế

độ ngoại tuyến (offline) Meraki Wi-Fi Stumbler cung cấp những thông tin cơ bản của

AP như: mức tín hiệu, biểu đồ dạng cột cho mỗi kênh

 KisMAC

Nếu bạn là người dùng Mac, có thể KisMAC sẽ hữu ích cho bạn, đây là công cụ an ninh và phân tích rất tốt Gần tương tự như Kismet, KisMAC có thể tìm được những mạng Wi-Fi ẩn Ngoại trừ chạy trên hệ điều hành MAC OS, các chức năng của KisMAC giống như Kismet

Kết chương: Như vậy, qua chương này chúng ta đã phần nào nắm được thực trạng của

vấn đề mất an toàn bảo mật thông tin Đặc biệt là mất an ninh an toàn trong cổng thông tin điện tử Vấn đề đặt ra là cần có giải pháp để đánh giá được mức độ an toàn bảo mật

Trang 30

thông tin Trong chương 1 cũng đã trình bày tổng quan về các tiêu chí và công cụ để đánh giá sản phẩm an toàn bảo mật thông tin Tuy nhiên để có thể hiểu được sâu hơn

về mặt kỹ thuật cũng như hệ thống các công cụ đánh giá an toàn bảo mật thông tin, chương 2 của luận văn sẽ trình bày chi tiết vấn đề này

CHƯƠNG II: NGHIÊN CỨU CÁC KỸ THUẬT PHÂN TÍCH, DÒ QUÉT

VÀ LỰA CHỌN CÔNG CỤ ĐÁNH GIÁ CỔNG THÔNG TIN ĐIỆN TỬ

2.1 Nghiên cứu một số lỗ hổng trong cổng thông tin điện tử

2.1.1 SQL injection

a Khái niệm

Đây là lỗ hổng có ảnh hưởng trực tiếp tới cơ sở dữ liệu của website Đây không chỉ là khuyết điểm của riêng SQL Server mà nó còn là vấn đề chung cho toàn bộ các

cơ sở dữ liệu khác như Oracle, MS Access hay IBM DB2

Khi hacker gửi những dữ liệu (thông qua các form), ứ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à hacker biết được nội dung cơ sở dữ liệu

và từ đó có thể điều khiển toàn bộ hệ thống ứng dụng

b Nguyên nhân lỗi

SQL injection là lỗi trong quá trình lập trình Web về phần truy xuất cơ sở dữ liệu của lập trình viên

- Lập trình viên vẫn thường mắc những lỗi cơ bản khi áp dụng vào ứng dụng web

do không hiểu rõ hết các đặc điểm mã hóa Những lỗi thông thường bao gồm: không mã hóa dữ liệu quan trọng như khóa, certificates và mật khẩu, lưu trữ các khóa bảo mật trong bộ nhớ bằng các cơ chế không an toàn, cơ chế tạo số ngẫu nhiên không đảm bảo, sử dụng sai thuật toán

- Dữ liệu do người dùng nhập vào được sử dụng trực tiếp làm thành phần của câu truy vấn mà không qua bước kiểm tra

- Kiểm tra kĩ giá trị nhập vào của người dùng, thay thế những kí tự như „ ; v v

- Hãy loại bỏ các kí tự meta như “',",/,\,;“ và các kí tự extend như NULL, CR, LF, trong các string nhận được từ:

o Dữ liệu nhập do người dùng đệ trình

o Các tham số từ URL

Trang 31

o Các giá trị từ cookie

 Đối với các giá trị numeric, hãy chuyển nó sang integer trước khi thực hiện câu truy vấn SQL, hoặc dùng ISNUMERIC để chắc chắn nó là một số integer

 Dùng thuật toán để mã hoá dữ liệu

2.1.2 XSS

a Khái niệm

XSS là một lỗ hổng có thể phát sinh ở các phần của một website, nơi mà người

dùng có thể nhập dữ liệu vào và sau đó nhận được một cái gì đó Chủ yếu XSS nằm ở phần: search, error message, web form

Đây là một lỗ hổng phổ biến, có rất nhiều trang web bị mắc phải lỗi này, chính vì thế lỗ hổng này ngày càng được nhiều người quan tâm

b Nguyên nhân gây lỗi

- Người thiết kế ứng dụng web không kiểm tra kỹ dữ liệu do người dùng nhập vào

- Các biến không được người lập trình xử lý trước khi hiện ra trình duyệt

c Giải pháp và cách phòng chánh

- Với những dữ liệu, thông tin nhập của người dùng, người thiết kế ứng dụng Web

cần phải thực hiện vài bước cơ bản sau:

- Tạo ra danh sách những thẻ HTML được phép sử dụng

- Xóa bỏ thẻ <script>

- Lọc ra bất kì một đoạn mã JavaScript/Java/VBScript/ActiveX/Flash Related nào

- Lọc dấu nháy đơn hay kép

- Lọc kí tự Null ( vì khả năng thêm một đoạn mã bất kì sau kí tự Null khiến cho ứng dụng dù đã lọc bỏ Script vẫn không nhận ra do ứng dụng nghĩ rằng chuỗi đã kết thức từ kí tự Null này

- Đối với người dùng, cần cấu hình lại trình duyệt để nhắc nhở người dùng có cho thực thi ngôn ngữ kịch bản trên máy của họ hay không? Tùy vào mức độ thực thi nguồn tin mà người dùng sẽ quyết định

- Lỗi XSS có thể tránh được khi máy chủ Web đảm bảo những trang phát sinh được mã hoá thích hợp Tuy nhiên việc mã hoá tất cả dữ liệu không đáng tin cậy

có thể tốn tài nguyên và ảnh hưởng đến khả năng thực thi của một số máy chủ

Trang 32

có thể lừa người dùng thực hiện một số tác vụ lên ứng dụng bị lỗi CSRF như xóa bài, thêm người dùng, thay đổi email, thay đổi mật khẩu của nạn nhân

b Nguyên nhân lỗi

Nguyên nhân dẫn tới lỗi này là do lập trình viên không tuân thủ các quy tắc bảo vệ CSRF khi thiết kế và sử dụng câu lệnh trên cơ sở dữ liệu Ngoài ra việc sử dụng phương thức Post trong các form hoặc thực thi đầu cuối cũng là nguyên nhân gây ra lỗ hổng này

c Cách phòng tránh

Dựa trên nguyên tắc của CSRF là “lừa trình duyệt của người dùng (hoặc người dùng) gửi các câu lệnh HTTP”, các kỹ thuật phòng tránh sẽ tập trung vào việc tìm cách phân biệt, hạn chế các câu lệnh giả mạo Có nhiều lời khuyến cáo được đưa ra, tuy nhiên cho đến nay vẫn chưa có biện pháp nào có thể phòng chống triệt để CSRF Sau đây là một số kỹ thuật được sử dụng

- Trang web gây ra những thay đổi về trạng thái như chèn cơ sở dữ liệu, sử dụng các thông báo xác nhận

Theo báo cáo thì nhiều người nghĩ rằng việc yêu cầu xác nhận cho những hành động của người dùng cung cấp khả năng bảo vệ, chống lại được CSRF

- Sử dụng POST

Mọi kịch bản của tệp… đòi hỏi sử dụng HTTP POST Điều này là do bản chất nền tảng của web Các trang sử dụng phương thức GET thì các thông số có thể được đánh dấu, lưu trữ và di chuyển Vì vậy các yêu cầu GET bị gửi các kịch bản làm thay đổi dữ liệu là điều không mong muốn Do đó các form có ảnh hưởng như vậy nên dùng phương thức POST và các thực thi đầu-cuối nên tìm các tham

số POST Bên cạnh hiệu quả này thì nó còn giúp chống lại các yêu cầu nhúng ảnh trong các cuộc tấn công CSRF Tuy nhiên có rất nhiều trang web trên internet với các lỗ hổng XSS vì vậy kẻ tấn công có thể dễ dàng tìm thấy một trang web từ đó khởi động một cuộc tấn công dựa trên POST Điều này không phải nói rằng các ứng dụng web không nên sử dụng phương thức POST nhưng

nó cũng không có nghĩa là đảm bảo an toàn

- Sử dụng Captcha

Captcha được dùng để ngăn chặn các kịch bản tự động từ các form đệ trình trên trang web Đó là một quá trình một máy tính yêu cầu một người dùng hoàn tất một kiểm tra đơn giản mà máy tính có thể dễ dàng tạo ra và đánh giá nhưng không thể tự nó giải quyết được Chúng thường đưa ra hình ảnh méo mó của những văn bản và yêu cầu người dùng nhập lại Vì máy tính không thể tự giải

Trang 33

quyết Captcha nên bất kỳ người dùng nào nhập vào lời giải đúng sẽ được xem là con người

- Sử dụng cookie riêng biệt cho phần quản trị

- Thiết kế hệ thống log: một vài framework ghi tất cả các thông tin, dữ liệu xử lý vào các file log Điều này là rất nguy hiểm nếu như đó là các thông tin nhạy cảm như mật khẩu, số tài khoản…

2.1.4 Tràn bộ đệm

a Khái niệm

Lỗi tràn bộ nhớ đệm hay gọi tắt là lỗi tràn bộ đệmlà một lỗi lập trình có thể gây ra một ngoại lệ truy nhập bộ nhớ máy tính và chương trình bị kết thúc, hoặc khi người

dùng có ý phá hoại, họ có thể lợi dụng lỗi này để phá vỡ an ninh hệ thống

b Nguyên nhân lỗi

Phát sinh từ khả năng lập trình yếu kém của những nhà lập trình Đơn cử là sự cẩu thả trong kiểm tra kích thước dữ liệu nhập vào

c Cách phòng chánh

- Người thiết kế Web cần phải kiểm tra kĩ kích thước dữ liệu trước khi sử dụng

- Dùng Referer trong HTTP Header để kiểm tra yêu cầu có phải xuất phát từ máy người dùng

2.2 Nghiên cứu các kỹ thuật phân tích lỗ hổng cổng thông tin điện tử

2.2.1 Kỹ thuật phân tích tĩnh

Phân tích tĩnh là quá trình phân tích mã nguồn câu lệnh truy vấn SQL được tạo ra

từ đầu vào người dùng mà không cần thực thi chương trình Công việc này sẽ giúp lập trình viên hiểu biết tốt hơn về mã nguồn ứng dụng, kiểm soát được luồng dữ liệu, đồng thời phát hiện và xác định được các lỗ hổng SQL Injection có thể tiềm ẩn trong ứng dụng

Kỹ thuật phân tích tĩnh phát hiện lỗ hổng XSS

Kỹ thuật này không chỉ phát hiện các lỗ hổng XSS do không kiểm soát được các

dữ liệu không đáng tin cậy mà còn phát hiện được cả các lỗ hổng XSS do không có đủ

dữ liệu đáng tín cậy để kiểm tra

Kỹ thuật này bao gồm 2 phần

Phần 1: Phân tích chuỗi thích hợp để theo dõi các chuỗi con không đáng tin cậy Phần 2: Kiểm tra các script không đáng tin cậy sử dụng kỹ thuật ngôn ngữ hình thức[1]

2.2.2 Kỹ thuật phân tích động

Kỹ thuật phân tích động là phương pháp phân tích các thông tin nhận được trong quá trình thực thi ứng dụng để phát hiện các lỗ hổng Các thông tin này có thể bao gồm: Các phản hồi nhận được từ ứng dụng Web, các thông báo lỗi…Phân tích động có

Trang 34

thể được thực hiện tại thời điểm kiểm thử ứng dụng trong quá trình phát triển xây dựng, hoặc thời điểm sau khi ứng dụng được phát hành[2]

Mục tiêu của kỹ thuật này là để phát hiện ra các lỗ hổng bảo mật trong chương trình khi nó đang thực hiện các truy vấn bất hợp pháp/ truy vấn logic sai, truy vấn UNION, truy vấn bổ sung [7]

Phương pháp phân tích động có lợi thế hơn phương pháp phân tích tĩnh vì không phải lúc nào mã nguồn của ứng dụng web cũng được công bố Tuy nhiên, những lỗ hổng này phải được vá hay sữa chữa bởi các lập trình viên, mà không phải tất cả các lập trình viên đều có thể sử dụng phương pháp này để tìm kiếm lỗ hổng trên ứng dụng

Phương pháp tiếp cận

Kỹ thuật tiếp cận này bao gồm 4 bước

Bước 1: Phục hồi cấu trúc ứng dụng Web

Giai đoạn này nhằm mục đích thu thập thông tin về cấu trúc của các ứng dụng Web cần kiểm tra, bao gồm các trang và siêu liên kết có thể kết nối tới một trang khác Về

cơ bản, trong giai đoạn này công cụ hoạt động như một trình thu thập web, bằng cách điều hướng và tải trang web (tĩnh hoặc động) dựa trên các siêu liên kết

Bước 2: Xác định các Đầu vào ứng dụng web cũng được gọi là "điểm nóng"

Giai đoạn này sẽ dựa trên cấu trúc website xây dựng được từ bước 1, để xác định các thông số đầu vào trong các form HTML Đây chính là điểm khởi đầu cho các cuộc tấn công ở bước 3

Bước 3:Thực hiện các cuộc tấn công

Trên cơ sở các thông số dễ bị tổn thương, công cụ được sử dụng trong kỹ thuật (V1p3R)bắt đầu tiêm chuỗi SQL trong đầu vào, sử dụng một bộ biến heuristic có sẵn trong cơ sở tri thức của mình Chi tiết sẽ được trình bày trong phần sau

Bước 4: Báo cáo kết quả thử nghiệm

Trang 35

V1p3R sẽ tạo ra tập file log, nơi mà tất cả các bước của cuộc tấn công được ghi nhận Giai đoạn này sẽ theo dõi tất cả các thông tin về các cuộc tấn công thành công, cũng như các trang, tham số, HTTP header dễ bị tổn thương Giai đoạn này cũng sinh

ra các tri thức mới dựa trên các kết quả đầu ra chính xác hoặc không chính xác của ứng dụng web và sẽ được sử dụng để tạo ra dữ liệu thử nghiệm mới, nghĩa là lặp đi lặp lại cách tiếp cận thông qua Bước III cho đến khi nó kết thúc danh sách các thông số được liệt kê

 Khai thác thông tin từ các message lỗi

Có rất nhiều kiểu message lỗi có thể trả ra nếu một trang web bị lỗi, mà từ đó có thể thực hiện các cuộc tấn công

Ví dụ:

Hình 2.1:Một thông báo lỗi được trả về liên quan tới hệ quản trị CSDL

Các thông báo này cung cấp thông tin về các hệ quản trị CSDL (Microsoft SQL Server)và dữ liệu truy cập (ODBC) Nó cũng cung cấp thông tin về phương ngữ SQL được sử dụng, (Transact-SQL trong ví dụ này)

Phía dưới là một lỗi xảy ra cho thấy các truy vấn gửi đến cơ sở dữ liệu đã được xây dựng bằng cách soạn các chuỗi được định nghĩa trong mã nguồn với các giá trị của các đầu vào mà không được thực hiện lọc

Loại thông báo lỗi thứ 2 liên quan tới cấu trúc của cơ sở dữ liệu, và giúp phát hiện

ra kiểu, tên của các trường trong các bảng

Ví dụ thông báo lỗi sau:

Hình 2.2: Một thông báo trả về liên quan tới cấu trúc CSDL

Trang 36

Thông báo này cho biết trong CSDL có một bảng có tên là “user”, trong bảng này

có một trường là “id” Từ đây có thể tiếp tục tấn công để khai thác thông tin về CSDL của webiste này

Nói chung, V1p3R cố gắng so khớp các thông báo lỗi xuất ra bởi hệ thống với một thư viện các biểu thức thông thường, được xác định cho 15 mẫu lỗi sản xuất bởi 5 DBMS khác nhau

Rõ ràng, một thư viện như vậy có thể dễ dàng mở rộng thêm nhiều mẫu nữa Khi kết hợp các mẫu, như thể hiện trong ví dụ trên, dựa vào các thông tin mà ứng dụng web trả ra, nó có thể sử dụng để tiếp tục tấn công

 Khai thác thông tin từ các đầu ra hợp lệ

Nếu một trang web không xuất ra các thông báo lỗi, V1p3R có thể thu thập thông tin về cấu trúc của cơ sở dữ liệu bằng cách áp dụng kỹ thuật gọi là SQL injection suy luận(inferential SQL injection) Kỹ thuật này chỉ gồm việc sẽ có được một trả lời đúng hay sai khi tiêm(injection), từ đó có thể khai thác được thông tin CSDL

Sau đây, là chi tiết về kiến trúc của công cụ hỗ trợ trong kỹ thuật này V1p3R

Hình 2.3: Kiến trúc V1p3R

Công cụ này được phát triển bằng ngôn ngữ Perl, một ngôn ngữ khá phổ biến

Đầu tiên “Crawler” sẽ thu thập thông tin và dựng lại cấu trúc trang web(bước 1) Sau đó các điểm nóng sẽ được xác định (bước 2) Từ đó “injector ” sẽ thực hiện gửi các yêu cầu tới ứng dụng web sử dụng các SQL string library(bước 3) Cuối cùng các thông báo lỗi trả ra từ ứng dụng web sẽ được so sánh với Error patterns libraray Nếu

Trang 37

lỗi được xác định của DBMS nào thì V1p3R sẽ thực hiện tiêm các câu lệnh đặc biệt tương ứng Nếu một thông báo là mới, chưa xác định được của DBMS nào thì V1p3R cung cấp khản năng xác định các mẫu cơ sở dữ liệu mới và lưu chúng vào thư viện Cuối cùng là lưu các thông tin báo cáo vào Testlog(bước 4)

2.3 Thuật toán phát hiện lỗ hổng trong cổng thông tin điện tử

2.3.1 Học máy

Sử dụng một trình thu thập web để tìm các lỗ hổng trong các ứng dụng web và tạo

ra mã tấn công bằng cách sử dụng danh sách mẫu và kỹ thuật tấn công Sử dụng các

mã tấn công được tạo ra, các lỗ hổng SQL injection có thể được tìm thấy Vì phương pháp này sử dụng học máy, nên nó có hiệu quả hơn so với kiểm thử thâm nhập truyền thống Tuy nhiên, phương pháp này không thể phát hiện tất cả lỗ hổng

2.3.2 Cây phân tích cú pháp truy vấn

Cây phân tích cú pháp truy vấn SQL là một cấu trúc dữ liệu được sử dụng để phân tích cú pháp của một câu lệnh truy vấn SQL[8] Thuật toán này được dùng trong

phương pháp phân tích tĩnh Người lập trình viên ứng dụng Web cung cấp phần mã

nguồn cứng (hard - coded) của cây phân tích cú pháp và phần của người dùng cung cấp được biểu diễn như là nút lá trống trong cây phân tích cú pháp Các nút này đại diện cho chuỗi rỗng và chủ ý của người lập trình viên là cho người dùng gán các giá trị hợp lệ cho các nút lá này Các nút lá chỉ có thể là đại diện cho một nút trong kết quả truy vấn, nó phải là giá trị của một chuỗi và nó phải được đặt ở vị trí hợp lệ

Ý tưởng của thuật toán sử dụng cây phân tích cú pháp truy vấn là phân tích các truy vấn được tạo ra từ người sử dụng có tuân theo các cấu trúc cú pháp của câu lệnh truy vấn như nhà phát triển ứng dụng mong muốn hay không Do vậy, mục tiêu chính của

kỹ thuật này là để xác định xem các đầu vào do người dùng nhập xem nó có đúng với mong muốn của người lập trình hay không[8]

Trang 38

Hình 2.4 Kiến trúc mô hình

Ban đầu, người dùng truyền vào một câu lệnh truy vấn SQL hoặc truyền vào các tham số để thực hiện câu truy vấn thông qua ứng dụng web sẽ được thu thập bởi “Thu thập truy vấn” Các đầu vào này sẽ được sử dụng trong pha phân tích cú pháp cây truy vấn Trong pha này, hệ thống sẽ trả ra các câu truy vấn và gửi nó tới một công cụ phân tích cú pháp Ở đây, công cụ sẽ so sánh cấu trúc của cây phân tích với cấu trúc được sinh ra theo mô hình Nếu cấu trúc của câu truy vấn được so sánh là giống thì truy vấn

là hợp lý và được quyền truy xuất vào CSDL, ngược lại thì sẽ bị từ chối và chặn lại.[6]

Để xác định cú pháp của một ngôn ngữ, người ta sử dụng văn phạm phi ngữ cảnh CFG (Context Free Grammar) hay còn gọi là văn phạm BNF (Backers Naur Form) Mục đích của phần này là xây dựng một văn phạm G để sản sinh ra câu lệnh truy vấn Xét câu lệnh truy vấn SELECT SQL đơn giản:

SELECT <select_list> FROM <from_clause> WHERE <where_clause>

Trong trường hợp này, Văn phạm G = (∑, ∆, P, S), trong đó:

- ∑: tập hợp các ký hiệu kết thúc (terminal symbols)

∑ = {SELECT, FROM, WHERE, *, OR, AND, NOT, = | < | > | <= | >= | !=}

- ∆: tập hợp các ký hiệu không kết thúc (nonterminal symbols)

Trang 39

∆ = {select_statement, select_list, from_clause , where_clause, id_list, id,

table_list, boolean_condition, boolean_terminate, boolean_factor, condition, value,

comparison_operator, string_literal, number, literal}

- S  ∆: là ký hiệu không kết thúc, được sử dụng làm ký hiệu bắt đầu của văn

phạm S = select_statement

- P: tập hợp các luật sinh, trong đó mỗi luật sinh bao gồm vế trái là một ký hiệu

không kết thúc, mũi tên, vế phải là một chuỗi các ký hiệu kết thúc và/hoặc các ký hiệu

không kết thúc Các luật sinh như sau:

<select_statement> → SELECT <select_list> <from_clause> <where_clause>

<select_list> → <id_list> | *

<idn> → <id> | (| <id> |)

<id_list> → <idn> | <idn>, <id_list>

<from_clause> → FROM <table_list>

<table_list> → <id_list>

<where_clause> → WHERE <boolean_condition>

<boolean_condition> → <boolean_condition> OR <boolean_terminate>

| <boolean_terminate>

<boolean_terminate> → <boolean_terminate> AND <boolean_factor>

<boolean_factor> → NOT <conditionn> | <conditionn>

<conditionn> → <condition> | (| <condition> | )

<condition> → <value> <comparison_operator> <value>

<value> → <idn> | <string_literal> | <numbern>

<numbern> → <number> | (| <number> |)

<literaln> → <literal> | (| <literal> |)

<string_literal> → „ <literaln> ‟

<comparison_operator> → = | < | > | <= | >= | !=

Với các suy dẫn như trên, ta có thể biểu diễn dưới dạng cây phân tích cú pháp truy

vấn như sau:

Trang 40

SELECT <select_list> <from_clause> <where_clause>

<select_list> <from_clause> <where_clause>

Hình 2.5: Cây phân tích cú pháp cho câu truy vấn SELECT

Ví dụ: xét câu truy vấn SELECT có cú pháp cụ thể sau

SELECT * FROM usertable WHERE uname = „?‟ AND password = „?‟

Cây phân tích cú pháp của truy vấn trên sẽ nhƣ sau

Ngày đăng: 25/03/2015, 09:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Gary Michael Wassermann (2008), Techniques and Tools for Engineering Secure Web Applications, Master‟s Thesis, Computer Science, University of California, pp.62 Sách, tạp chí
Tiêu đề: Techniques and Tools for Engineering Secure Web Applications
Tác giả: Gary Michael Wassermann
Năm: 2008
2. Shruti Bangre, Alka Jaiswal (2012), “SQL Injection Detection and Prevention Using Input Filter Technique”, International Journal of Recent Technology and Engineering (IJRTE), Vol. 1, pp. 145 – 149 Sách, tạp chí
Tiêu đề: SQL Injection Detection and Prevention Using Input Filter Technique
Tác giả: Shruti Bangre, Alka Jaiswal
Năm: 2012
3. Ari Takanen, Jared DeMott, Charlie Miller(2008) “Fuzzing for Software Security Testing and Quality Assurance”, ARTECH HOUSE, INC, pp.31 Sách, tạp chí
Tiêu đề: Fuzzing for Software Security Testing and Quality Assurance
4. G. T. Buehrer, B. W. Weide, and P. A. G. Sivilotti(2005), “ Using parse tree validation to prevent SQL injection attacks”. In Proceedings of the 5th International Workshop on Software Engineering and Middleware SEM, pages 106-113 Sách, tạp chí
Tiêu đề: Using parse tree validation to prevent SQL injection attacks
Tác giả: G. T. Buehrer, B. W. Weide, and P. A. G. Sivilotti
Năm: 2005
5. Debasish Das, Utpal Sharma &amp; D.K. Bhattacharyya (2010), “An Approach to Detection of SQL Injection Attack Based on Dynamic Query Matching”, International Journal of Computer Applications, Volume 1, No. 25, pp. 28 – 33 Sách, tạp chí
Tiêu đề: An Approach to Detection of SQL Injection Attack Based on Dynamic Query Matching”, International" Journal of Computer Applications
Tác giả: Debasish Das, Utpal Sharma &amp; D.K. Bhattacharyya
Năm: 2010
6. Ogheneovo, E. E. and Asagba, P. O. “A Parse Tree Model for Analyzing And Detecting SQL Injection Vulnerabilities”. Department of Computer Science, University of Port Harcourt, Nigeria, pp. 36.Tiếng Việt Sách, tạp chí
Tiêu đề: A Parse Tree Model for Analyzing And Detecting SQL Injection Vulnerabilities
8. Nguyễn Thuý Hồng (2013), “Phát hiện và cảnh báo lỗ hổng bảo mật sql injection trong ứng dụng web”. Luận văn Thạc sĩ, Trường Đại học Công nghệ, Đại học Quốc gia Hà nội, tr.35,40-41 Sách, tạp chí
Tiêu đề: Phát hiện và cảnh báo lỗ hổng bảo mật sql injection trong ứng dụng web
Tác giả: Nguyễn Thuý Hồng
Năm: 2013
9. Doãn Đình Việt(2013), “Xây dựng hệ thống phát hiện lỗ hổng an ninh website”. Đồ án tốt nghiệp Đại học, Trường đại học Bách khoa Hà nội, tr.48-49 Sách, tạp chí
Tiêu đề: Xây dựng hệ thống phát hiện lỗ hổng an ninh website
Tác giả: Doãn Đình Việt
Năm: 2013

HÌNH ẢNH LIÊN QUAN

Hình 2.3: Kiến trúc V1p3R - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.3 Kiến trúc V1p3R (Trang 36)
Hình 2.4 Kiến trúc mô hình - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.4 Kiến trúc mô hình (Trang 38)
Hình 2.5: Cây phân tích cú pháp cho câu truy vấn SELECT - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.5 Cây phân tích cú pháp cho câu truy vấn SELECT (Trang 40)
Hình 2.6 Cây phân tích cú pháp của câu truy vấn SELECT cụ thể - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.6 Cây phân tích cú pháp của câu truy vấn SELECT cụ thể (Trang 41)
Hình 2.8: Cây phân tích cú pháp của câu truy vấn không hợp lệ - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.8 Cây phân tích cú pháp của câu truy vấn không hợp lệ (Trang 43)
Hình 2.9: Quá trình sinh ra dữ liệu kiểm thử trong CFG - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.9 Quá trình sinh ra dữ liệu kiểm thử trong CFG (Trang 44)
Hình 2.10:Vector tấn công hệ thống đa mức - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.10 Vector tấn công hệ thống đa mức (Trang 46)
Hình 2.11: Các kiểu bất thường vào mô hình báo cáo lỗi khác nhau - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.11 Các kiểu bất thường vào mô hình báo cáo lỗi khác nhau (Trang 47)
Hình 2.12: Cấu trúc logic của fuzzer - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.12 Cấu trúc logic của fuzzer (Trang 47)
Hình 2.13: Ví dụ về một kịch bản fuzz và kết quả trả về từ một SUT - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 2.13 Ví dụ về một kịch bản fuzz và kết quả trả về từ một SUT (Trang 48)
Bảng 3-1 Nội dung quy trình - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Bảng 3 1 Nội dung quy trình (Trang 65)
Bảng 3-2 Kịch bản đánh giá - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Bảng 3 2 Kịch bản đánh giá (Trang 68)
Hình 3.1: Giao diện thu thập dữ liệu - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 3.1 Giao diện thu thập dữ liệu (Trang 69)
Hình 3.2: Cấu trúc website - Nghiên cứu một số công cụ để đánh giá sản phẩm an toàn bảo mật thông tin
Hình 3.2 Cấu trúc website (Trang 70)

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

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