Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
247,13 KB
Nội dung
1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
ĐINH THỊ THIÊN ANH
NGHIÊN CỨUKIỂMTHỬ
BẢO MẬT WEBSITE`
Chuyên ngành : KHOA HỌC MÁY TÍNH
Mã số : 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2011
2
Công trình ñược hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: TS Nguyễn Thanh Bình
Phản biện 1 : PGS.TS. Phan Huy Khánh
Phản biện 2 : PGS.TS. Lê Mạnh Thạnh
Luận văn ñã ñược bảo vệ tại Hội ñồng chấm Luận văn
tốt nghiệp thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 18
tháng 6 năm 2011.
Có thể tìm hiểu luận văn tại:
• Trung tâm Thông tin - H
ọc liệu, Đại học Đà Nẵng
• Trung tâm Học liệu, Đại học Đà Nẵng.
3
MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Với những nghiên cứu sinh theo ñuổi quá trình học tập lên
cao nữa, việc khởi ñầu lựa chọn một ñề tài thạc sỹ là rất quan trọng.
Nó phải là ñề tài mới, có hướng mở rộng chuyên sâu hay tiếp cận
một vấn ñề ñã có theo một hướng khác tốt hơn cái ñã có, ñặc biệt là
khả năng áp dụng thực tế và ñem lại thiết thực trong cuộc sống.
Chính những lý do trên mà tôi mạnh dạn chọn ñề tài:
“Nghiên cứukiểmthửbảomật website”.
2. MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU
Nghiên cứu các vấn ñề chung về các lỗi bảo mật, tiếp ñến là
các lỗi bảomật liên quan ñến các ứng dụng web. Trên cơ sở ñó, xây
dựng một quy trình kiểmthửbảomật nhằm mục ñích ứng dụng kiểm
tra các lỗi bảomật trên các ứng dụng web.
3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
3.1. Đối tượng nghiên cứu
- Tìm hiểu chung về bảo mật, giới thiệu một số kiểu tấn công
phổ biến hiện nay như DDos, SQLinjection, XSS.
- Giới thiệu một số công cụ hỗ trợ trong việc tìm ra các lỗi
bảo mật như: Acunetix Web Vulnerability Scanner, Snort, NetCap,
Power Injector 1.2.
- Tìm hiểu chung về các phương pháp kiểmthửbảo mật.
- Đề ra quy trình kiểmthửbảomật nhằm ứng dụng vào các
website.
-
Các luận văn tốt nghiệp cao học.
4
3.2. Phạm vi nghiên cứu
Kiểm thử các lỗi bảomật web, từ ñó ñề xuất xây dựng quy
trình kiểmthửbảomật nhằm ứng dụng kiểmthử các lỗi bảomật web
ñối với các ứng dụng web ñã hoàn thiện.
4. PHƯƠNG PHÁP NGHIÊN CỨU
- Nghiên cứu tổng quan về các lỗi bảo mật.
- Nghiên cứu những lỗi bảomật ảnh hưởng ñến ứng dụng
web hiện nay.
- Nghiên cứu các quy trình, công cụ kiểm tra lỗi bảomật
web ñã phát triển và ñề xuất quy trình mới.
5. KẾT QUẢ DỰ KIẾN
- Tìm hiểu ñược một cách tổng quan về kiểmthửbảo mật.
- Đưa ra danh sách các phương pháp tấn công phổ biến hiện
nay và các giải pháp nhằm hạn chế sự phá hoại của mỗi phương pháp
tấn công.
- Xây dựng thành công quy trình kiểm thửbảomậtwebsite
ứng dụng vào website www.lat.com.vn.
- Là một tài liệu có chất lượng ñóng góp vào quy trình ñảm
bảo chất lượng cho sản phẩm., giúp các nhà phát triển website hoàn
thiện hơn sản phẩm của mình.
6. Ý NGHĨA KHOA HỌC VÀ Ý NGHĨA THỰC TIỄN CỦA
LUẬN VĂN
6.1. Ý nghĩa khoa học
Luận văn không chỉ trình bày ngắn gọn nhưng ñầy ñủ các
vấn ñề chung về các lỗi bảo mật, mà còn ñi sâu vào xây dựng quy
trình ki
ểm thửbảomật nhằm ứng dụng kiểmthử các lỗi bảomật web
ñối với các ứng dụng web ñã hoàn thiện.
5
6.2. Ý nghĩa thực tiễn
Sau khi thực hiện nghiên cứukiểmthử các lỗi bảomật trên
ứng dụng web, sẽ góp phần giúp người phát triển ứng dụng web có
thể kiểm tra ứng dụng của mình có bị mắc phải những lỗi bảomật
nào hay không. Từ ñó, giúp người phát triển ứng dụng sẽ có những
biện pháp cụ thể ñể giải quyết lỗi kịp thời.
7. BỐ CỤC CỦA LUẬN VĂN
Báo cáo luận văn ñược tổ chức thành 3 chương
CHƯƠNG 1 - TỔNG QUAN VỀ BẢOMẬTWEBSITE
1.1. TỔNG QUAN VỀ BẢOMẬT
Bảo mật là sự thỏa hiệp giữa bảomật và chức năng / khả
năng sử dụng. Nếu bảomật của hệ thống quá chặt chẽ, nó 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ảomật
quá ñơn giản, hệ thống dễ bị tấn công và xâm nhập.
Kiểm thửbảomật Web, trong nghĩa truyền thống, là kiểm
thử 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ểmthử viên phần mềm không có loại kiến thức này. Tuy
nhiên, chúng ta nên hiểu các vấn ñề về bảomật sao cho chúng ta hiểu
ñược các công việc chúng ta nên làm và các công việc nên ñược thực
hiện bởi các chuyên gia khác.
1.2. MỤC ĐÍCH CỦA BẢOMẬT
Phụ 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 chúng ñề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
6
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ẢOMẬT HIỆN NAY
1.3.1. Tổng hợp thông tin từ các trang ñiện tử Việt Nam
1.3.2. Thông tin từ Zone-H.org
1.3.3. Thông tin từ WebAppSec.org
1.3.4. Thông tin từ Osvdb.org
1.4. MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG PHỔ BIẾN HIỆN
NAY
1.4.1. Tấn công SqlInjection
1.4.2. Tấn công Cross Site Scripting
1.4.3. Tấn công DOS
1.5. MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG PHỔ BIẾN HIỆN
NAY
1.5.1. Công cụ Acunetix Web Vulnerability Scanner
1.5.2. Công cụ Snort
1.5.3. Công cụ Netcat
1.5.4. Công cụ SQL Power Injection 1.2
CHƯƠNG 2 – KIỂMTHỬBẢOMẬT
2.1. GIỚI THIỆU VỀ KIỂMTHỬ PHẦN MỀM
Kiểm thử phần mềm ñược ñịnh nghĩa theo nhiều nguồn khác
nhau, dưới ñây một số ñịnh nghĩa phổ biến hiện nay
Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay
thành ph
ần dưới những ñiều kiện xác ñịnh, quan sát và ghi lại các kết
quả, và ñánh giá một khía cạnh nào ñó của hệ thống hay thành phần
ñó
7
Kiể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.
Kiểm thử phần mềm là hoạt ñộng khảo sát thực tiễn sản
phẩm hay dịch vụ phần mềm trong ñúng môi trường chúng dự ñịnh
sẽ ñược triển khai nhằm cung cấp cho người có lợi ích liên quan
những thông tin về chất lượng của sản phẩm hay dịch vụs phần mềm
ấy. Mục ñích của kiểmthử phần mềm là tìm ra các lỗi hay khiếm
khuyết phần mềm nhằm ñảm bảo hiệu quả hoạt ñộng tối ưu của phần
mềm trong nhiều ngành khác nhau.
2.2. KIỂMTHỬBẢOMẬT
2.2.1. Mục ñích
Với tư cách là kiểmthử viên, là tập trung kiểmthửbảomật
của Website và ứng dụng Web ở mức ứng dụng. Đ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ảomật
Kiểm thửbảomật liên quan ñến trách nhiệm của nhiều
nguồn khác nhau sau ñây:
- Nhà ñịnh nghĩa chính sách (policymaker), ñịnh nghĩa các
yêu cầu bảomật nhằm tăng ñộ tin cậy của người sủ dụng và nhà sản
xuất về bảomật hệ thống.
- Người quản trị mạng, thiết kế và cài ñặt các biện pháp bảo
mật nhằm cung cấp bảomật ở mức hoạt ñộng.
- Lập trình viên phần mềm, chịu trách nhiệm kiểmthử hệ
th
ống nhằm phát hiện các lỗi chức năng, tương tác cấu hình và khả
năng tương thích khi họ liên quan ñến cài ñặt bảomật (chủ yếu ở
8
mức ứng dụng và có thể ở mức hoạt ñộng), phát hiện các vấn ñề do
lỗi thiết kế bảo mật.
- Các chuyên gia và nhà tư vấn bảo mật, giúp kiểmthử và
duy trì các chương trình bảomật cũng như xử lý các lỗ hỏng bảo
mật. Thông thường, nhóm người này vốn trước ñây là những kẻ tấn
công. Những kẻ tấn công cũ, là những người có nhiều kinh nghiệm,
chịu trách nhiệm ñiều khiển các kiểmthử xâm nhập trước khi triển
khai một hệ thống. Trừ khi tổ chức của chúng tôi không có một
chuyên gia ñể thực hiện kiểmthử xâm nhập, không nên ñể một kiểm
thử viên và lập trình viên chịu trách nhiệm này.
2.2.3. Những ưu diểm trong kiểmthửbảomật
- Kiểmthửbảomật là kiểmthử chủ ñộng, không bị ñộng.
- Các lỗi không ñược xử lý là các kho báu ñể xác ñịnh các lỗ
hỏng bảo mật.
- Các giao diện dữ liệu vào là các kho báu ñể chèn lỗi vào
nhằm xác ñịnh các lỗi bảo mật.
+ Hãy xem xét mọi dữ liệu vào không hợp lệ có thể
xảy ra phía trình khách.
+ Hãy xem xét mọi dữ liệu vào không hợp lệ có thể
xảy ra phía trình chủ.
- Tập trung trên các ñiều kiện dữ liệu vào mà ở ñó dữ liệu
ñược chuyển từ miền không tin cậy vào miền tin cậy.
- Thiết kế các ca kiểmthử với sự nhấn mạnh trên các biên
giữa các miền tin cậy và không tin cậy.
- Tìm kiếm các lỗi cho phép người sử dụng thực thi chương
trình trên máy ch
ủ.
- Tìm kiếm các lỗi cho phép người sử dụng tải chương trình
trên máy chủ.
9
- Tìm kiếm các lỗi cho phép người sử dụng thay ñổi nâng
cao quyền truy cập.
- Luôn ý thức rằng ứng dụng thường xử lý sai một số dữ liệu
xấu ñến từ phía trình khách không tin cậy.
- Tìm kiếm dữ liệu vào mà có thể trở nên thực thi ñược (ví
dụ: khi dữ liệu vào trở nên dữ liệu ra).
2.3. CÁC LOẠI KIỂMTHỬBẢOMẬT
2.3.1. Kiểmthử 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í 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.
2.3.2. Kiểmthử mã nguồn
Phương pháp kiểm tra ñộ bảomật của ứng dụng thông qua
mã nguồn của ứng dụng. Phương pháp kiểmthử này chủ yếu dùng ñể
xác ñịnh sự an toàn của thuật toán ñược dùng trong ứng dụng, xác ñộ
nguy cơ rỏ rỉ thông tin, nguy cơ bị tấn công chiếm quyền kiểm soát
thông qua mã nguồn. Phương pháp này thường ứng dụng kỹ thuật
kiểm thử hộp trắng.
2.3.3. Kiểmthử các thiết lập của trình duyệt
Các thiết lập của trình duyệt có thể ñược cài ñặt trong các
trình duyệt như Mozilla FireFox và Microsoft Internet Explorer cho
phép giới hạn truy cập ñến các nội dung internet có thể gây hại.
Ng
ười sử dụng sẽ thường có các chỉnh sửa các thiết lập này. Hơn
nữa, có một sự thay ñổi lớn phía người sử dụng về khả năng làm chủ
các thiết lập này. Những người sử dụng Web ngày càng ñược ñào tạo
10
nhiều hơn cách sử dụng các thiết lập ñể bảo vệ chính họ. Với tư cách
là một ñội phát triển Website hay ứng dụng Web, chúng ta không thể
bắt buộc người sử dụng chấp nhận các thiết lập mặc ñịnh. Vì vậy,
chúng ta cần phải kiểmthử nhiều sự kết hợp của các thiết lập.
2.3.4. Kiểmthử bức tường lửa
Cần nhắc lại rằng nhóm kiểmthử phần mềm không chịu
trách nhiệm kiểmthử sự hiệu quả của các tường lửa và sự cấu hình
chúng. Kiểmthử tường lửa nhằm nhận biết các hiệu ứng về chức
năng ñược tạo ra bởi sự chuyển dữ liệu qua các mạng khác nhau.
Một số mạng riêng và một số khác công cộng.
[...]... m t mã ngu n t ñ ng 15 CHƯƠNG 3 - NG D NG KI M TH B OM T 3.1 GI I THI U WEBSITE WWW.LAT.COM.VN Website LAT ñư c thành l p năm 2009 v i ñ i ngũ sáng t o và năng ñ ng, website LAT ra ñ i mong mu n s mang l i cho khách hàng nh ng gì t t ñ p nh t, nh ng d ch v hoàn h o nh t LAT g m có nh ng d ch v cơ b n sau: 1 Thi t k và xây d ng website cho doanh nghi p 2 Tư v n xây d ng h th ng thông tin, tin h c hóa... c thi ki m th website LAT Trong ph n th c thi ki m th này chúng tôi ti n hành th c thi ki m th theo hai phương pháp ki m th Phương pháp th nh t là th c hi n th công, phương pháp này ch y u s ki m th các ch c năng c a website LAT Phương pháp th hai là th c thi ki m th b o m t b ng công c “Acunetix Web Vulnerability Scanner” , phương pháp này s t p trung vào ki m th các l i b o m t c a website LAT 20... o m t cùng nh ng c nh báo liên quan ñ n các l i b o m t ñó, chúng ta d dàng nh n thây ñư c website Lat còn m c nhi u l i b o m t nghiêm tr ng - Nh ng l i b o m t này c n ñư c kh c ph c k p th i, n u không website Lat r t d b t n công 23 K T LU N VÀ HƯ NG PHÁT TRI N Ki m th b o m t nói chung và ki m th b o m t website nói riêng luôn là v n ñ c p thi t và c n ñư c gi i quy t tri t ñ Ngày nay, khi ngành... s d ng ngôn ng l p trình cũ hơn so v i hi n t i Vì là phiên b n cũ nên còn t n t i m t s l i và ñi u này d n ñ n website d b t n công Cao 2 Dùng phiên b n máy ch web Apache phiên b n cũ 1 Đây là l i s d ng máy ch web apche phiên b n cũ Phiên b n cũ còn t n t i nhi u l i b o m t, d n ñ n website d b t n công Trung bình 3 PHP allow_url_fope n enabled 1 L i cho phép thêm các ño n mã trên trình duy t,... thông tin, ch y u là phát tri n ph n m m 6 Đào t o chuyên viên công ngh thông tin, so n giáo trình ñi n t cho các trư ng ñ i h c và cao ñ ng 16 3.2 YÊU C U CH C NĂNG C A WEBSITE WWW.LAT.COM.VN B ng 3.1: B ng n i dung yêu c u ch c năng website www.lat.com.vn 17 3.3 BI U Đ CA S D NG 3.3.1 Bi u ñ ca s d ng trư c khi ñăng nh p vào h th ng Hình 3.1: Bi u ñ ca s d ng trư c khi ñăng nh p vào h th ng 3.3.2 Bi... b o m t càng tr nên c p thi t hơn và khó khăn hơn Đi u này th hi n rõ ràng qua con s th ng kê v s lư ng website thương m i ñi n t k t n công t n công m i ngày m t tăng lên, quy mô các cu c t n công và m c ñ thi t h i ngày càng l n hơn Trư c tình hình th c t ñó, ñ tài “Nghiên c u ki m th b o m t website ñã ñư c chúng tôi ch n và trình bày làm lu n văn th c sĩ, v i hy v ng ñóng góp m t ph n vào vi c... quy trình ki m th c i ti n và chuyên dùng cho vi c ki m th b o m t website Giúp cho các nhà phát tri n web an tâm hơn v ch t lư ng c a s n ph m sau khi ñư c ki m tra Và m t ý nghĩa th c ti n khác là ñã áp d ng thành công quy trình ki m th b o m t c i ti n k t h p v i 24 công c Acunetix Web Vulnerability Scanner vào ki m th b o m t website lat.com.vn Tuy nhiên bên c nh nh ng ñi u ñ t ñư c, lu n văn... pháp này s t p trung vào ki m th các l i b o m t c a website LAT 20 3.4.1 Th c hi n ki m th th công 3.4.2 Th c hi n ki m th b ng công c Acunetix Web Vulnerability Scanner 3.5 ĐÁNH GIÁ V M C Đ B O M T WEBSITE WWW.LAT.COM.VN 3.5.1 K t qu ki m th th công B ng 3.6: B ng ñánh giá k t qu th công T T Tên ch c năng S ca ki m th c thi S ca ki m th thành công S ca ki m th chưa thành công T l thành công 1 Đăng...11 2.4 QUY TRÌNH KI M TH 2.4.1 B O M T WEBSITE Quy trình ki m th th công Hình 2.4: Quy trình ki m th th công 12 2.4.2 Quy trình ki m th b o m t ñ xu t Hình 2.5: Quy trình ki m th b o m t ñ xu t 13 2.4.2.1 Mô hình ki m th b o m t phân tích và... trình duy t, gây nguy cơ b t n công b ng xss ho c sqlInjection Cao 4 PHP errors enabled 1 L i này cho phép hi n th các l i lên trình duy t L i này d b các k t n công l i d ng câu thông báo l i ñ bi t website vi t b ng ngôn ng gì, máy ch là gì, phiên b n bao nhiêu… và t ñó khai thác các l i b o m t Trung bình 5 MySQL Server weak password 1 Đây là l i m t kh u c a h qu n tr cơ s d li u MySQL có m c ñ . TRÌNH KIỂM THỬ BẢO MẬT WEBSITE 2.4.1. Quy trình kiểm thử thủ công Hình 2.4: Quy trình kiểm thử thủ công 12 2.4.2. Quy trình kiểm thử bảo mật ñề xuất Hình 2.5: Quy trình kiểm thử bảo. website. - Các luận văn tốt nghiệp cao học. 4 3.2. Phạm vi nghiên cứu Kiểm thử các lỗi bảo mật web, từ ñó ñề xuất xây dựng quy trình kiểm thử bảo mật nhằm ứng dụng kiểm thử các lỗi bảo. cáo luận văn ñược tổ chức thành 3 chương 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 là sự thỏa hiệp giữa bảo mật và chức năng / khả năng sử dụng. Nếu bảo mật