MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... 4
LỜI CẢM ƠN ............................................................................................................. 5
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ................................................. 6
DANH MỤC CÁC BẢNG.......................................................................................... 7
DANH MỤC CÁC HÌNH VẼ..................................................................................... 8
Chƣơng 1 – MỞ ĐẦU ................................................................................................. 9
1. Lý do chọn đề tài ................................................................................................. 9
2. Mục tiêu của đề tài .............................................................................................. 9
3. Cách tiếp cận ..................................................................................................... 10
4. Bố cục luận văn ................................................................................................. 10
Chƣơng 2 – AN TOÀN THÔNG TIN WEBSITEVÀ CHUẨN ĐÁNH GIÁ
OWASP ..................................................................................................................... 12
1. Tổng quan về an toàn thông tin website ............................................................ 12
1.1 Tổng quan về ứng dụng web
12
1.2 An toàn thông tin cho ứng dụng web
16
2. Chuẩn đánh giá website OWASP
2.1 Tổng quan
17
17
2.1.1 Giới thiệu về OWASP ......................................................................... 17
2.1.2 OWASP Top 10 .................................................................................. 18
2.2 Quy trình đánh giá website theo OWASP ................................................. 20
2.2.1 Thu thập và khảo sát thông tin ............................................................ 21
2.2.2 Kiểm tra quản lý cấu hình ................................................................... 22
2.2.3 Kiểm tra business logic ....................................................................... 23
2.2.4 Kiểm tra cơ chế xác thực ..................................................................... 23
2.2.5 Kiểm tra quản lý phiên giao dịch ........................................................ 24
2.2.6 Kiểm tra quản lý uỷ quyền .................................................................. 25
Trang 1/89
2.2.7 Kiểm tra các dữ liệu đầu vào ............................................................... 26
2.2.8 Kiểm tra khả năng tấn công từ chối dịch vụ ....................................... 27
2.2.9 Kiểm tra web services ......................................................................... 28
2.2.10 Kiểm tra AJAX.................................................................................... 29
Chƣơng 3 – ĐỀ XUẤT GIẢI PHÁP ĐÁNH GIÁ AN TOÀN HỆ THỐNG
WEBSITE ................................................................................................................. 30
1. Các tiêu chí kiểm tra đánh giá an toàn .............................................................. 30
1.1 Tiêu chí kiểm tra đánh giá an toàn cho hạ tầng mạng ............................... 30
1.2 Tiêu chí kiểm tra đánh giá an toàn dịch vụ phân giải tên miền ................. 38
1.3 Tiêu chí kiểm tra đánh giá an toàn cho hệ thống cổng thông tin điện tử .. 43
1.4 Tiêu chí kiểm tra đánh giá an toàn cho hệ thống sao lƣu dự phòng .......... 52
2. Quy trình khảo sát, đánh giá hệ thống ............................................................... 54
2.1 Khảo sát hệ thống mạng, thiết bị bảo mật, máy chủ DNSvà hệ thống máy
chủ Web .............................................................................................................. 54
2.2 Kiểm tra công tác sao lƣu dữ liệu dự phòng .............................................. 55
2.3 Kiểm tra và đánh giá an toàn cho hệ thống mạng và máy chủ DNS ......... 55
2.4 Kiểm tra và đánh giá thiết bị bảo mật IDS/IPS ......................................... 56
2.5 Tổng hợp kết quả để lập báo cáo khảo sát ................................................. 57
2.6 Kiểm tra đánh giá cấu hình và lỗ hổng hệ điều hành của các máy chủ dịch
vụ
.................................................................................................................... 57
2.7 Kiểm tra đánh giá các ứng dụng liên quan đến hệ thống website ............. 58
2.8 Kiểm tra, đánh giá chính sách triển khai, quản lý hệ thống máy chủ
Website ............................................................................................................... 58
2.9 Kiểm tra và đánh giá an ninh bảo mật ứng dụng Website ......................... 58
2.10 Phân tích, rà soát kết quả kiểm tra để lập báo cáo chi tiết ......................... 61
Chƣơng 4 – ÁP DỤNG GIẢI PHÁP VÀO WEBSITE THỰC TẾ .......................... 62
1. Tóm tắt công việc .............................................................................................. 62
2. Đối tƣợng, phạm vi và phƣơng pháp ................................................................. 63
2.1 Đối tƣợng và phạm vi ................................................................................ 63
Trang 2/89
2.2 Phƣơng pháp thực hiện .............................................................................. 63
3. Kết quả khảo sát, đánh giá................................................................................. 63
3.1 Hạ tầng mạng ............................................................................................. 63
3.2 Máy chủ và vận hành ................................................................................. 68
3.3 Dịch vụ, ứng dụng...................................................................................... 74
3.4 Công tác sao lƣu dữ liệu dự phòng ............................................................ 87
Chƣơng 5 – KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................................ 88
TÀI LIỆU THAM KHẢO ......................................................................................... 89
Trang 3/89
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài nghiên cứu của tôi hoàn toàn do tôi tự làm dƣới sự
hƣớng d n của TS.Phạm Huy Hoàng.Những kết quả tìm hiểu và nghiên cứu trình
bày trong luận văn là hoàn toàn trung thực và chƣa từng đƣợc công bố trong bất cứ
công trình nào.
Nếu xảy ra bất cứ điều không đúng nhƣ những lời cam đoan trên, tôi xin chịu
hoàn toàn trách nhiệm trƣớc Viện và Nhà trƣờng.
Ngày 13 tháng 11 năm 2015
Tác giả luận văn
Dƣơng Nữ Hoàng Oanh
Trang 4/89
LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn Trƣờng Đại học Bách Khoa Hà Nội,
viện Công nghệ Thông tin – Truyền thông, chuyên ngành Kỹ thuật Máy tính và toàn
thể các thầy cô đã ân cần dạy dỗ, chỉ bảo, định hƣớng nghiên cứu cho em trong suốt
thời gian vừa qua, truyền đạt cho chúng em những kiến thức quý báu.
Em xin chân thành cảm ơn TS.Phạm Huy Hoàng đã dành nhiều tâm huyết,
kinh nghiệm của thầy để chỉ d n, định hƣớng nghiên cứu cũng nhƣ luôn luôn góp ý
cho em để hoàn thành đề tài luận văn này.
Cuối cùng em cũng xin gửi lời cảm ơn tới gia đình, những ngƣời đã luôn
động viên và tạo mọi điều kiện tốt cho em học tập và nghiên cứu thật tốt.Và gửi lời
cảm ơn tới những ngƣời bạn đã giúp đỡ em trong quá trình học tập cũng nhƣ hoàn
thành đề tài luận văn.
Em xin chân thành cảm ơn!
Trang 5/89
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
THUẬT NGỮ
GIẢI THÍCH
WEBSITE
Cổng thông tin điện tử
DNS
Domain Name Service – Dịch vụ phân giải tên
miền
ROUTER
Thiết bị định tuyến
SWITCH
Thiết bị chuyển mạch
LOAD
BALANCER
Thiết bị cân bằng tải
FIREWALL
Thiết bị tƣờng lửa
IDS/IPS
Thiết bị phát hiện/ngăn chặn xâm nhập trái phép
DMZ
Demilitarized Zone – Vùng mạng vành đai, nơi đặt
máy chủ cung cấp dịch vụ ra ngoài Internet
SERVERFARM
Vùng mạng riêng biệt, nơi đặt máy chủ cơ sở dữ
liệu
VULNERABILITY
Là điểm yếu có thể bị khai thác bởi một hoặc nhiều
nguy cơ
OWASP
Open-source Web Application Security Project –
Dự án mở về bảo mật ứng dụng website
Trang 6/89
DANH MỤC CÁC BẢNG
Hình
Mô tả
Trang
Bảng 3.1
Tiêu chí đánh giá an toàn cho hạ tầng mạng
38
Bảng 3.2
Tiêu chí đánh giá an toàn cho dịch vụ Internal DNS
40
Bảng 3.3
Tiêu chí đánh giá an toàn cho dịch vụ External DNS
43
Bảng 3.4
Tiêu chí đánh giá an toàn cho hệ thống cổng thông tin
điện tử
52
Bảng 3.5
Tiêu chí đánh giá an toàn cho hệ thống sao lƣu dự phòng
53
Bảng 3.6
Quy trình khảo sát, đánh giá hệ thống
61
Bảng 4.1
Bảng tổng hợp rủi ro của hạ tầng mạng
67
Bảng 4.2
Bảng tổng hợp rủi ro của máy chủ
73
Bảng 4.3
Bảng tổng hợp rủi ro của dịch vụ DNS
81
Bảng 4.4
Bảng tổng hợp rủi ro của dịch vụ website
86
Trang 7/89
DANH MỤC CÁC HÌNH VẼ
Hình
Mô tả
Trang
Hình 2.1 Các mô hình website
13
Hình 2.2 Hoạt động của giao thức HTTP
15
Hình 2.3 Quy trình kiểm thử của OWASP
21
Hình 4.1 Giao diện trang web thử nghiệm
61
Trang 8/89
Chƣơng 1 – MỞ ĐẦU
1. Lý do chọn đề tài
Các doanh nghiệp hiện nay khi xây dựng hệ thống website thƣờng chỉ chú ý
đến việc thiết kế, triển khai sao cho dễ dàng vận hành nhất mà ít quan tâm đến vấn
đề về bảo mật thông tin, d n tới tồn tại nhiều lỗ hổng để hacker dễ dàng khai thác.
Mỗi năm ở VN có hàng nghìn website bị tấn công, gây ảnh hƣởng xấu tới
hoạt động, uy tín của tổ chức, doanh nghiệp.
Hiện nay, có rất nhiều công cụ kỹ thuật đƣợc phát triển nhằm mục đích dò
quét các lỗ hổng tồn tại trên hệ thống, tuy nhiên đều là những công cụ đơn lẻ, đơn
thuần về mặt kỹ thuật, với những ƣu nhƣợc điểm riêng. Mỗi công cụ thƣờng chỉ có
chức năng dò quét một số lỗ hổng nhất định thuộc một phần hệ thống, chƣa có công
cụ nào cung cấp cái nhìn bao quát, toàn diện, triệt để về tình trạng an toàn cho hệ
thống website mình đang quản lý.
Với mong muốn có một giải pháp hoàn chỉnh trong việc đánh giá mức độ an
toàn của một hệ thống website để áp dụng vào hệ thống website của cơ quan, nơi
học viên đang làm việc, học viên đã lựa chọn đề tài “Giải pháp đánh giá an toàn
thông tin hệ thống website” làm luận văn tốt nghiệp của mình.
2. Mục tiêu của đề tài
Nhiệm vụ của đề tài này là xây dựng một giải pháp toàn diện để đánh giá mức
độ an toàn của một hệ thống website. Giải pháp đó bao gồm 2 thành phần:
(1) Một bộ tiêu chí đánh giá về mức độ an toàn của từng phần riêng lẻ trong hệ
thống;
(2) Một quy trình với các bƣớc là sự kết hợp các công cụ kỹ thuật riêng lẻ, để
tạo ra một bộ công cụ có hiệu quả tối ƣu.
Các nội dung đánh giá tổng thể bao gồm các thành phần sau:
- An toàn hạ tầngmạng liên quan đến hệ thống website (router, switch, firewall,
IPS/IDS…)
- Máy chủ: DNS Server (phục vụ Web), Web Server…
- Ứng dụng web
Trang 9/89
về các vấn đề:
- Các lỗ hổng bảo mật
- Sao lƣu dự phòng
3. Cách tiếp cận
Nhiệm vụ của đề tài là xây dựng giải pháp tối ƣu dựa vào các lý thuyết và
công cụ hiện có, vì vậy việc nghiên cứu, tìm hiểu về các tiêu chuẩn, kỹ thuật, công
cụ là cần thiết. Dựa trên kết quả nghiên cứu tìm hiểu đƣợc, học viên sẽ sắp xếp,
tổng hợp các yêu cầu cần có đối với mỗi thành phần của hệ thống để đƣa ra bộ tiêu
chí đánh giá an toàn. Khi đã có bộ tiêu chí, việc lựa chọn công cụ để đánh giá, sắp
xếp trình tự các bƣớc trong quy trình đánh giá sẽ tạo ra một giải pháp hoàn thiện, từ
đó đƣa ra đƣợc báo cáo tổng quan về tình hình an ninh của một hệ thống website.
Các nội dung sẽ thực hiện trong đề tài:
- Nghiên cứu tổng quan về dự án bảo mật ứng dụng web OWASP
- Tìm hiểu, cài đặt, thử nghiệm các công cụ đánh giá an toàn website
- Xây dựng bộ tiêu chí đánh giá an toàn website
- Xây dựng quy trình đánh giá an toàn website theo các tiêu chí đã đặt ra
- Thử nghiệm giải pháp bằng cách áp dụng với một hệ thống website thực tế
4. Bố cục luận văn
Bố cục luận văn đƣợc chia thành 5 chƣơng nhƣ sau:
Chƣơng 1: Mở đầu: Mô tả chi tiết về mục tiêu, nhiệm vụ đề tài và cách tiếp cận.
Chƣơng 2: An toàn thông tin website và chuẩn đánh giá OWASP: Nghiên cứu cơ sở
lý thuyết về an toàn thông tin website, tiêu chuẩn và quy trình đánh giá website OWASP.
Chƣơng 3: Đề xuất giải pháp đánh giá an toàn hệ thống website: Đề xuất giải
pháp đánh giá an toàn hệ thống website, bao gồm 2 thành phần: (1) Một bộ tiêu chí
đánh giá về mức độ an toàn của từng phần riêng lẻ trong hệ thống và (2) Một quy
trình với các bƣớc là sự kết hợp các công cụ kỹ thuật riêng lẻ, để tạo ra một bộ công
cụ có hiệu quả tối ƣu.
Trang 10/89
Chƣơng 4: Áp dụng giải pháp vào website thực tế: Áp dụng thử nghiệm giải pháp
đã đề xuất vào việc đánh giá an toàn cho hệ thống website thực tế, đƣa ra báo cáo tổng hợp
về tình hình an ninh website đó.
Chƣơng 5: Kết luận và hƣớng phát triển: Đƣa ra kết luận, tự nhận xét các ƣu
điểm và hạn chế, định hƣớng phát triển và áp dụng vào thực tế.
Trang 11/89
Chƣơng 2 – AN TOÀN THÔNG TIN WEBSITEVÀ CHUẨN ĐÁNH GIÁ
OWASP
1. Tổng quan về an toàn thông tin website
1.1 Tổng quan về ứng dụng web
Định nghĩa: Website là một tập hợp các trang web (web pages) bao gồm văn
bản, hình ảnh, video, flash v.v… thƣờng chỉ nằm trong một tên miền (domain
name) hoặc tên miền phụ (subdomain). Trang web đƣợc lƣu trữ (web hosting) trên
máy chủ web (web server) có thể truy cập thông qua Internet. Website đóng vai trò
là một văn phòng hay một cửa hàng trên mạng Internet – nơi giới thiệu thông tin về
doanh nghiệp, sản phẩm hoặc dịch vụ do doanh nghiệp cung cấp… Có thể coi
website chính là bộ mặt của doanh nghiệp, là nơi để đón tiếp và giao dịch với các
khách hàng, đối tác trên Internet
Các thành phần trong một hệ thống website
- Lớp trình diễn: là một máy chủ phục vụ Web
- Giao tiếp trực tiếp với web client
- Chịu trách nhiệm trình diễn và thu thập đầu vào từ ngƣời dùng cuối
- Luôn luôn đối diện với các nguy cơ bị tấn công
- Máy chủ phục vụ web thông dụng: IIS, Apache…
- Lớp ứng dụng: là nơi các kịch bản ứng dụng web thực thi
- Sử dụng ngôn ngữ lập trình (PHP, ASP.NET, Java…) nhận dữ liệu đệ
trình của ngƣời sử dụng từ lớp trình diễn kết hợp với nguồn dữ liệu đầu
cuối để thực thi ứng dụng web
- Máy chủ ứng dụng thông dụng: IBM Websphere, WebLogic, Tomcat,
.NET Framework…
- Lớp cơ sở dữ liệu: là nơi lƣu trữ dữ liệu ứng dụng web
- Chịu trách nhiệm lƣu trữ và thao tác với dữ liệu ứng dụng web
- Các hệ quản trị cơ sở dữ liệu thông dụng: MySQL, SQL Server,
Oracle…
Các mô hình website
Trang 12/89
Hình 2.1 – Các mô hình website
Mô hình 2 lớp
- Kết hợp lớp trình diễn và ứng dụng trên một máy chủ
- Thiết kế đơn giản và đầy đủ cho các ứng dụng web nhỏ
- Khả năng mở rộng hạn chế và triển khai biện pháp bảo mật khó khăc hơn
những mô hình khác
Mô hình 3 lớp
- Các lớp trình diễn, ứng dụng và cơ sở dữ liệu nằm trên các máy chủ riêng biệt
trong cùng một hệ thống
- Các lớp đƣợc tách biệt vật lý cho nên có thể áp dụng thêm nhiều điều khiển
truy cập và theo dõi mạng cũng nhƣ có thể đặt tƣờng lửavà IDS giữa các lớp
này
- Nếu một lớp bị thỏa hiệp thì kẻ tấn công cũng phải cần bẻ gãy nhiều lớp nữa
mới có thể thỏa hiệp đƣợc toàn bộ hệ thống
Mô hình N lớp
- Hình thành các nhóm dịch vụ để gia tăng khả năng chịu tải cũng nhƣ dự phòng
Trang 13/89
- Nhiều lớp sẽ cung cấp lớp bảo mật, tuy nhiên nó cũng kèm theo sự phức tạp
khi triển khai và bảo trì
Kiến trúc website:
Có 4 kiểu kiến trúc cơ bản
Web Servers
- Hiện nay rất ít các hệ thống mà kiến trúc chỉ có một thành phần là Web Server
- Chủ yếu là các website dạng tĩnh
- Thƣờng khá an toàn trƣớc các tấn công vì ít đầu vào (input)
Hybrid Servers
- Có thể sử dụng để làm cả website tĩnh hoặc động.
- Có một hệ cơ sở dữ liệu để tƣơng tác
- Dữ liệu có thể đƣợc lƣu trữ ở một máy chủ khác, hoặc sử dụng ứng dụng khác
- Loại này để lại nhiều vấn đề về bảo mật, tốt cho việc khai thác
Application Servers: Ứng dụng chạy trên một server application
- Ví dụ nhƣ các máy chủ IBM WebSphere, BEA Weblogic, Jboss, và Lotus
Domino…
- Application server thƣờng đƣợc cài đặt sau các proxy server hoặc front-end
web server
Proxy Servers:
- Có tên gọi khác là “reverser proxy” để phân biệt với các proxy đƣợc sử dụng
bởi client
- Các request đều qua proxy
- Có thể có cả proxy inbound và outbound
- Proxy cung cấp khả năng cache
HTTP Protocol
Khái niệm: Giao thức truyền tải Siêu văn bản World Wide Web đuợc xây
dựng dựa vào nền của Internet và sử dụng giao thức TCP/IP để truyền tải thông tin
giữa các Web Client và Web server. HTTP là giao thức client/server dùng cho
Trang 14/89
World Wide Web. Nó cung cấp cách để Web Browser truy xuất Web server và yêu
cầu các văn bản hypermedia đƣợc tạo bởi HTML
Hoạt động của giao thức
Hình 2.2 – Hoạt động của giao thức HTTP
- Định dạng dữ liệu trao đổi đơn giản giữa máy chủ và máy khách
- Máy khách gửi yêu cầu đến máy chủ, máy chủ đáp trả yêu cầu và kết thúc
- Phiên bản HTTP hiện tại 1.1
- Một số phƣơng thức tiêu biểu trong HTTP: PUT, GET, POST, HEAD…
Xác thực trong giao thức HTTP
- Authentication (xác thực) là quá trình xác nhận ngƣời dùng với ứng dụng web
- Thông thƣờng sử dụng username/password
- 5 hình thức chứng thực đƣợc sử dụng phổ biến trên các ứng dụng web:
Basic Authentication
Digest Authentication
Client Certificate Authentication
Intergrated Windows Authentication
Trang 15/89
Form based Authentication
Trạng thái trong giao thức HTTP
- HTTP là một giao thức phi trạng thái – client gửi yêu cầu và máy chủ web đáp
ứng kết thức
- Do vậy ứng dụng phải khởi tạo một phƣơng thức nhóm một loạt các yêu cầu
lại với nhau trong một phiên làm việc
- Ứng dụng phải khởi tạo cơ chế theo dõi phiên làm việc
- Server side code phải nhận biết đƣợc mỗi yêu cầu là một phần của cùng một
phiên làm việc
- Đa số các ngôn ngữ lập trình ứng dụng web hỗ trợ sessions
- Ngƣời phát triển ứng dụng cũng có thể xây dựng riêng cơ chế quản lý phiên
cho ứng dụng
- Phƣơng thức phổ biến đƣợc sử dụng để theo dõi trạng thái
Cookies
URL encoding
Hidden Forms Fields
SSL/TSL
- Hoạt động trên cổng 443
- Cung cấp cơ chế mã hóa, xác minh máy chủ và toàn vẹn dữ liệu
- Cách thức làm việc
1. Client kết nối đến server
2. Server yêu cầu phải kết nối SSL
3. Client và server trao đổi crypto keys
4. Phiên giao dịch an toàn đƣợc bắt đầu
- SSL/TLS không đảm bảo việc bảo mật
1.2 An toàn thông tin cho ứng dụng web
Theo tiêu chuẩn ISO27002:2005: “Thông tin là một dạng tài sản, cũng nhƣ các tài
sản quan trọng khác, có giá trị trong tổ chức và cần phải bảo vệ thích hợp”
Trang 16/89
Theo Nghị định 64/2007/NĐ-CP của Chính phủ: An toàn thông tin là “Bao
gồm các hoạt động quản lý, nghiệp vụ và kỹ thuật đối với hệ thống thông tin nhằm
bảo vệ, khôi phục các hệ thống, các dịch vụ và nội dung thông tin đối với nguy cơ
tự nhiên hoặc do con ngƣời gây ra”. An toàn an ninh cho hệ thống thông tin không
chỉ là giải pháp kỹ thuật. Cần phải có hành lang pháp lý để đảm bảo cho an toàn an
ninh hệ thống thông tin.Thông tin trao đổi, lƣu trữ phải đảm bảo:Tính bí mật; Tính
toàn vẹn; Tính sẵn sàng; Tính xác thực; Tính chống từ chối.
Hiện nay, các hình thức website bị tấn công gồm có:
- Khai thác lỗ hổng của những phần mềm có trên web server.
- Tấn công DDOS
- Khai tác dữ liệu từ backend thông qua một số kiểu tấn công injection nhƣ SQL
Injection(SQLi), Light Directory Acess – Protocol(LDAP), Cross site
sripting(XSS).
- Thay đổi(deface) giao diện website.
- Dùng web server đã bị tấn công để phát tán malware.
2. Chuẩn đánh giá website OWASP
2.1 Tổng quan
2.1.1 Giới thiệu về OWASP
OWASP ra đời năm 2001, đây là một tổ chức phi lợi nhuận, cộng đồng mở,
mục tiêu chính của tổ chức là cải tiến an ninh các phần mềm ứng dụng, đặc biệt là
ứng dụng web. Tổ chức này cũng xây dựng nhiều công cụ khác nhau cho việc đánh
giá và đều là mã nguồn mở, miễn phí. OWASP ủng hộ phƣơng pháp tiếp cận an
ninh ứng dụng theo con ngƣời, quy trình và công nghệ vì đây là những nhân tố tạo
ra phần mềm, những nhân tố trên có hành vi an toàn thì phần mềm an toàn. Theo
OWASP, các ứng dụng web trên mạng hầu hết phải tiếp xúc với bên ngoài, nên nó
sẽ là đối tƣợng đầu tiên chịu các cuộc tấn công phá hoại và sửa đổi trái phép. Vì
vậy, đây sẽ là cánh cổng cho kẻ tấn công xâm nhập vào lớp ứng dụng trƣớc khi thực
hiện các bƣớc tiếp theo xâm nhập vào hệ thống. Vì lỗ hổng an ninh này rất phổ
biến, một số phƣơng pháp đánh giá đã đƣợc giới thiệu nhằm đánh giá sự trầm trọng
Trang 17/89
của các rủi ro an ninh cơ bản của ứng dụng web. Một nỗ lực đƣợc thực hiện bởi
cộng đồng mở OWASP là xây dựng khung làm việc đánh giá an toàn ứng dụng web
và thúc đẩy dự án OWASP top 10 nhằm nâng cao nhận thức an ninh ứng dụng của
các tổ chức
2.1.2 OWASP Top 10
OWASP TOP 10: trình bày 10 rủi ro an ninh phổ biến nhất của ứng dụng web
một cách ngắn gọn, xúc tích và rõ ràng.
Mục tiêu chính của OWASP Top 10 là để hƣớng d n ngƣời lập trình, ngƣời thiết
kế, kỹ sƣ và quản lí và cả tổ chức về hậu quả của những điểm yếu quan trọng nhất
trong ứng dụng web. Top 10 cung cấp những kỹ năng cơ bản để bảo vệ khỏi những
mối nguy hại này và hƣớng d n ngƣời dùng tìm hiểu rõ hơn về cách khắc phục.
Theo OWASP TOP 10 2013 thứ tự của các rủi ro trong website sẽ đƣợc sắp xếp
theo thứ tự sau:
A1: Lỗi nhúng mã – Injection: Xảy ra trong các ứng dụng nhƣ SQL, LDAP
khi những dữ liệu không xác thực đƣợc gửi tới hệ thống biên dịch nhƣ một
phần của mã lệnh. Những dữ liệu này của kẻ tấn công có thể đánh lừa hệ
thống biên dịch thực hiện những mã lệnh độc hại hoặc giúp kẻ tấn công xâm
nhập đến những dữ liệu quan trọng.
A2: Hƣ hỏng cơ chế chứng thực và quản lý phiên làm việc - Broken
Authentication and Session Management: Những đoạn chƣơng trình kiểm tra
danh tính và quản lý phiên làm việc của ngƣời sử dụng thƣờng hay đƣợc làm
qua loa không đúng cách. Điều này giúp kẻ thâm nhập có thể ăn cắp mật mã,
khóa, mã của các phiên làm việc (session token) hoặc tận dụng những lỗi
khác để giả mạo danh tính các ngƣời dùng khác.
A3: Thực thi mã Script xấu (XSS) - Cross-Site Scripting : Xảy ra khi một
ứng dụng tiếp nhận những dữ liệu không đáng tin cậy và gửi chúng đến cho
trình duyệt web mà không qua xử lý và kiểm duyệt. XSS cho phép kẻ tấn
công thực hiện mã độc trên trình duyệt của ngƣời bị tấn công và lợi dụng
Trang 18/89
ăncắp phiên truy cập để mạo danh hoặc hủy hoại trang web hoặc lừa ngƣời
sử dụng đến những trang web chứa mã độc khác.
A4: Đối tƣợng tham chiếu thiếu an toàn - Insecure Direct Object References:
Xảy ra khi ngƣời phát triển để lộ một tham chiếu đến những đối tƣợng trong
hệ thống nhƣ các tập tin, thƣ mục hay chìa khóa dữ liệu. Nếu chúng ta không
có một hệ thống kiểm tra truy cập, kẻ tấn công có thể lợi dụng những tham
chiếu này để truy cập dữ liệu một cách trái phép.
A5: Sai sót trong cấu hình an ninh - Security Misconfiguration: Một cơ chế
an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và triển khai nó
cho các ứng dụng, khuôn m u, máy chủ ứng dụng, máy chủ web, máy chủ
dữ liệu và các ứng dụng nền tảng. Tất cả các thiết lập nên đƣợc định nghĩa,
thực hiện và bảo trì bởi rất nhiều thứ không đƣợc triển khai với thiết lập an
toàn mặc định. Các hiệu chỉnh cũng bao gồm cập nhật phần mềm và những
thƣ viện đƣợc sử dụng bởi ứng dụng.
A6: Để lộ những dữ liệu nhạy cảm - Sensitive Data Exposure: Kẻ tấn công
có thể ăn cắp hoặc sửa đổi dữ liệu đƣợc bảo vệ một cách yếu ớt để thực hiện
hành vi trộm cắp danh tính, gian lận thẻ tín dụng và các tội khác. Vì vậy,
những dữ liệu nhạy cảm cần phải đƣợc bảo vệ thêm nhƣ mã hóa ở phần còn
lại và và vận chuyển.
A7: Thiếu chức năng cho điều khiển truy cập - Missing Function Level
Access Control: Hầu hết tất cả các ứng dụng web đểu kiểm tra quyền truy
cập cấp độ chức năng trƣớc khi thực hiện chức năng mà có thể nhìn thấy
trong giao diện ngƣời dùng. Tuy nhiên, các ứng dụng cần phải thực hiện
kiểm tra kiểm soat truy cập trên máy chủ mà mỗi thành phần chức năng đƣợc
phép truy cập. Nếu yêu cầu không đƣợc xác nhận, thì kẻ tấn công có thể giả
mạo yêu cầu để truy cập chức năng trái phép.
A8: Sai sót hạn chế truy cập - Cross – Site Request Forgery: Nhiều ứng dụng
web kiểm tra quyền thực thi địa chỉ truy cập (URL) trƣớc khi dựng các liên
kết và nút nhấn đƣợc bảo vệ. Tuy nhiên, ứng dụng cũng phải thực hiện
Trang 19/89
những công việc tƣơng tự mỗikhi những trang thông tin đƣợc truy cập trực
tiếp nếu không kẻ tấn công có thể giả mạo URL để truy cập vào những trang
thông tin ẩn này.
A9: Lợi dụng lỗ hổng biết trƣớc - Using Components with Know
Vulnerabilities: Những dữ liệu dễ bị tấn công nhƣ các thƣ viện, các
framework, các mô-đun phần mềm đã chạy ổn định và đƣợc cấp quyền đẩy
đủ. Vì vậy, nếu nhƣ bị tấn công khai thác thì hacker có thể gây mất dữ liệu
nghiêm trọng hoặc máy chủ có thể bị chiếm giữ. Các ứng dụng sử dụng
những thành phần dễ bị tấn công có thể khiến cho độ bảo mật suy yếu và có
thể cho phép một loạt các cuộc tấn công và tác động vào.
A10: Chuyển hƣớng và chuyển tiếp thiếu thẩm tra - Unvalidated Redirects
and Forwards: Ứng dụng web thƣờng xuyên đƣa ngƣời dùng đến những liên
kết qua các website khác, và sử dụng những thông tin thiếu tin cậy để xác
định đích đến.
2.2 Quy trình đánh giá website theo OWASP
Quy trình kiểm thử của OWASP đƣợc tiến hành tuần tự theo các bƣớc nhằm
thu thập đƣợc tối đa thông tin và khai thác thành công đƣợc đối tƣợng. Gồm có:
1. Thu thập và khảo sát thông tin
2. Kiểm tra quản lý cấu hình
3. Kiểm tra business logic
4. Kiểm tra cơ chế xác thực
5. Kiểm tra việc ủy quyền
6. Kiểm tra quản lý phiên giao dịch
7. Kiểm tra các dữ liệu đầu vào
8. Kiểm tra khả năng tấn công từ chối dịch vụ
9. Kiểm tra web services
10. Kiểm tra AJAX
Hình dƣới đây mô tả đầy đủ về quy trình kiểm thử của OWASP.
Trang 20/89
- Xem thêm -