Tải bản đầy đủ

THUYẾT TRÌNH BẢO MẬT ỨNG DỤNG WEB

BẢO MẬT ỨNG DỤNG WEB

GVHD: MAI CƯỜNG THỌ


Các nội dung cần tìm hiểu
1. Tổng quát
2. Lí do cần bảo mật web?
3. Một ứng dụng web cần bảo mật khi nào?
4. Đối tượng dễ bị tấn công
5. Một số kỹ thuật tấn công ứng dụng web điển hình
6. 10 lỗ hỗng trên ứng dụng web thường gặp nhất
7. Hậu quả khi bị tấn công
8. Giải pháp bảo mật toàn diện cho ứng dụng web
9. Chứng chỉ HTTPS là gì?
10. Tại sao phải có chứng chỉ SSL?
11. SSL hoạt động như thế nào?
12. Các loại SSL
13. So sánh HTTP và HTTPS
14. Làm thế nào để sử dụng giao thức HTTPS?
15. Lợi ích của giao thức HTTPS 

16. Quá trình giao tiếp giữa client và server thông qua HTTPS


Tổng quát
• Ứng dụng web ngày càng cải
tiến và được sử dụng rộng rãi.
Kéo theo là những tiềm ẩn trong
việc bảo mật ứng dụng
web đang hàng ngày gây quan
ngại cho các doanh nghiệp, tổ
chức lớn và chính phủ.
• Trong kỹ thuật phần mềm, một
Ứng dụng web hay webapp là
một trình ứng dụng mà có thể
tiếp cận qua web thông qua
mạng như Internet hay intranet.


Lí do cần bảo mật web
• Trong thời đại công nghệ số ngày
nay các tội phạm mạng lợi dụng
những sự phát triển mạnh mẽ của
các thiết bị, ứng dụng công nghệ
thông tin để tấn công chiếm đoạt
tài khoản cá nhân, thông tin doanh
nghiệp, thông tin mật của các tổ
chức chính phủ…Vai trò của bảo
mật thông tin càng ngày càng trở
lên quan trọng bởi nó quyết định
sự sống còn của mỗi doanh
nghiệp.


Một ứng dụng web cần bảo mật khi nào?
• Cho phép hoặc cấm dịch vụ
truy cập ra bên ngoài hoặc từ
bên ngoài truy cập vào bên
trong.
• Kiểm soát và cấm địa chỉ truy
cập của người dùng.


• Theo dõi dữ liệu giữa Intranet
và Internet.
• kiểm soát nội dung thông tin
trên mạng.


Đối tượng dễ bị tấn công

• Chủ yếu là các doanh nghiệp,
tổ chức lớn, chính phủ.
• Lý do: Vì tiền, hacker sẽ sẵn
sàng xâm nhập vào ứng dụng
web ăn cắp dữ liệu, bán data
hoặc đe dọa chuộc tiền.


Một số kỹ thuật tấn công ứng dụng web điển hình
• Đánh cắp hoặc chiếm đoạt quyền truy cập
của người dùng, nhà quản trị.
• Chiếm các phiên làm việc trên session
management hoặc ẩn phiên làm việc
session fixation.
• Mã hóa một số Url quan trọng hoặc toàn
bộ url trong ứng dụng web từ đó hacker
có thể dễ dàng chèn mã lệnh trên trình
duyệt để hại người dùng
• Tấn công người dùng bằng lỗi SQL
Injection, Null Characters, từ chối dịch vụ
DOS…


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Lỗ hổng XSS (Cross Site Scripting)
• Chèn mã độc hại (Injection flaws)
• Tệp tin chứa mã độc
• CSRF (Cross-Site Request Forgery)
• Tham chiếu đối tượng trực tiếp không an
toàn
• Rò rỉ thông tin và xử lý lỗi không đúng
cách
• Quản lý xác thực và quản lý phiên yếu
• Không hạn chế truy nhập vào URL nội bộ
• Không kiểm tra sự điều hướng và chuyển
tiếp của URL
• Sử dụng các lỗ hổng có sẵn trong thư viện


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Lỗ hổng XSS (Cross Site
Scripting):
Thông qua lỗ hổng XSS, kẻ tấn công
có thể chiếm quyền điều khiển phiên
người dùng, gỡ bỏ trang web, và có
thể đánh cắp thông tin của người
dùng dựa trên trình duyệt. Tin tặc có
thể chèn mã JavaScript vào các trang
web có lỗi XSS, khi người dùng truy
cập vào những trang web này, lập
tức mã script của tin tặc sẽ hoạt động
lưu lại thông tin người dùng.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Chèn mã độc hại (Injection
flaws):
 Hacker có thể sử dụng điểm yếu
của các truy vấn đầu vào bên trong
ứng dụng để chèn thêm dữ liệu
không an toàn, từ đó máy chủ có
thể bị tấn công bởi một số dạng
như: SQL Injection, Xpath
Injection, XML Injection, Buffer
overflow, LDAP lookups, Shell
command Injection.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Tệp tin chứa mã độc:
Nguy cơ bị tấn công tiềm ẩn với
việc mã hóa trong tích hợp tệp
tin từ xa (RFI) có thể cho phép
kẻ tấn công tạo sự thỏa hiệp của
máy chủ. Dạng tấn công bằng
tệp tin chứa mã độc này có thể
ảnh hưởng đến PHP, XML và
bất kỳ tập tin nào từ người dùng.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• CSRF (Cross-Site Request Forgery):
 Một trong những lỗ hổng bảo mật
thường gặp trong ứng dụng web là lỗ
hổng CSRF.Lợi dụng cơ chế tự động
đăng nhập vào một số website, tin tặc
có thể điều hướng người dùng thực
hiện các đoạn chứa mã độc, nhúng vào
các website mà người dùng đang trong
phiên làm việc. Từ đó, mã độc sẽ chạy
trên trình duyệt của người dùng và
hacker sẽ thực hiện các hành vi gian
lận.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Tham chiếu đối tượng trực
tiếp không an toàn:
Mối đe dọa tiềm ẩn ở đây là
những kẻ tấn công có thể lợi
dụng những tài liệu tham khảo
để truy cập vào quyền của các
đối tượng khác mà không sự cho
phép. Ví dụ: A có thể mạo danh
là B để truy cập vào hệ thống.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Rò rỉ thông tin và xử lý lỗi
không đúng cách:
• Mối đe dọa tiềm ẩn từ việc rò rỉ
thông tin và xử lý lỗi không đúng
cách (Broken Authentication and
Session Management) có thể giúp
tin tặc ăn cắp dữ liệu nhạy cảm,
hoặc tiến hành các cuộc tấn công
nghiêm trọng hơn.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Quản lý xác thực và quản lý phiên
yếu:
Khâu xác thực (authentication) và
trao quyền (authorisation) được sử
dụng khá phổ biến trong các ứng
dụng web. Nếu một trong 2 khâu này
không bảo mật mạnh mẽ thì đây
chính là lỗ hổng tiềm ẩn giúp tin tặc
xâm nhập vào hệ thống. Mối đe dọa
tiềm ẩn ở đây là kẻ tấn công có thể
thỏa hiệp mật khẩu, mã khóa hoặc
danh tính người dùng. Để hạn chế
nguy cơ tấn công, quản trị viên nên
thiết lập session thật tốt.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Không hạn chế truy nhập vào
URL nội bộ :
Một trong những giải pháp nhằm
hạn chế sự tấn công từ bên trong
nội bộ mà nhà quản trị nên làm
là hạn chế sự truy cập vào các
URL quan trọng. Bạn có thể hạn
chế địa chỉ IP, hạn chế sử dụng
phân quyền, sự truy cập trực tiếp
vào url.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Không kiểm tra sự điều hướng
và chuyển tiếp của URL:
Lợi dụng sơ hở này, tin tặc có
thể điều hướng đường link gốc
đến một trang web hoặc 1 ứng
dụng lừa đảo hoặc trang web
đen. Khi click vào đường dẫn tới
trang web lừa đảo, máy tính của
người dùng có thể bị nhiễm mã
độc và hacker sau đó có thể ép
người dùng tiết lộ thông tin cá
nhân.


10 lỗ hỗng trên ứng dụng web thường gặp nhất
• Sử dụng các lỗ hổng có sẵn trong
thư viện:
Thực tế hiện nay, một số tổ chức và
doanh nghiệp Việt Nam chưa cập nhật
những bản vá lỗi trong ứng dụng web
của mình, và cá nhân cũng vậy. Một số
lỗi xuất phát từ thư viện ứng dụng, một
số nằm trong plugin cài thêm, số khác
ở trong module ứng dụng. Cũng chính
vì điều này mà hacker nhanh chóng
khai thác các lỗ hổng bảo mật và hàng
loạt người dùng, thiết bị bị ảnh hưởng.


Hậu quả khi bị tấn công
• Những thông tin cá nhân, thông tin
quan trọng, tài chính  của công ty và
khách hàng sẽ bị hacker xâm phạm.
• Ứng dụng web và các phần mềm
khác mà công ty, doanh nghiệp đang
sử dụng rất có thể sẽ bị hacker cài mã
theo dõi, virus độc hại.
• Hệ thống máy chủ hoặc hệ thống có
thể bị tê liệt do sự cố bắt nguồn từ
các ứng dụng web.


Giải pháp bảo mật toàn diện cho ứng dụng web
• Rà soát lỗ hổng ứng dụng trước khi sử dụng.
Bạn  có thể nhờ dịch vụ pentest ứng dụng
website hoặc các chuyên gia bảo mật,
chuyên gia an ninh mạng đánh giá.
• Xây dựng và phát triển các ứng dụng web
theo tiêu chuẩn 2.0 vào các tiêu chí bảo mật
cao nhất như OWASP, DSS, PCI…
• Tăng hiệu năng của hệ thống toàn diện.
• Xây dựng lớp bảo mật cho từng thiết bị
trong hệ thống có khả năng phát hiện và tự
vệ trước những sự cố về mạng hay virus,
hacker tấn công.


Chứng chỉ HTTPS là gì?
• Khi yêu cầu kết nối HTTPS với trang web, đầu
tiên trang web sẽ gửi chứng chỉ SSL tới trình
duyệt của bạn. Chứng chỉ này chứa khóa công
khai cần thiết để bắt đầu phiên bảo mật. Dựa
trên trao đổi ban đầu này, trình duyệt và trang
web sẽ bắt đầu giao thức SSL handshake (giao
thức bắt tay). Giao thức SSL handshake liên
quan đến việc tạo bí mật chia sẻ để thiết lập kết
nối an toàn duy nhất giữa bạn và trang web.
• Khi sử dụng chứng chỉ SSL đáng tin cậy trong
quá trình kết nối HTTPS, người dùng sẽ thấy
biểu tượng ổ khóa trong thanh địa chỉ của trình
duyệt. Khi một chứng chỉ Extended Validation
Certificate được cài đặt trên một trang web,
thanh địa chỉ sẽ chuyển sang màu xanh lá cây.


Tại sao phải có chứng chỉ SSL?
• Tất cả các thông tin liên lạc được gửi qua
các kết nối HTTP đều nằm trong văn bản
thuần và có thể được đọc bởi bất kỳ
hacker nào có thể đột nhập vào kết nối
giữa trình duyệt và trang web của bạn.
Việc này có thể là một mối nguy hiểm nếu
nó có chứa thông tin liên lạc nằm trong
đơn đặt hàng, chi tiết thẻ tín dụng hoặc số
an sinh xã hội của bạn. Với kết nối
HTTPS, tất cả các thông tin liên lạc đều
được mã hóa an toàn. Điều này có nghĩa
là ngay cả khi ai đó đã đột nhập vào kết
nối, họ sẽ không thể giải mã bất kỳ dữ
liệu nào đi qua giữa bạn và trang web.


SSL hoạt động như thế nào?
• Khi bạn truy cập vào 1 trang web sử dụng
https thì:
1. Trình duyệt sẽ gửi yêu cầu cho máy chủ web
cung cấp thông tin xác nhận danh tính.
2. Máy chủ web gửi lại cho trình duyệt chứng
chỉ SSL mà nó đã được cấp.
3. Trình duyệt kiểm tra thông tin chứng chỉ.
Nếu đúng, nó thông báo lại cho máy chủ
web là SSL đã được chấp nhận.
4. Máy chủ web gửi ngược lại chữ ký số sẽ
dùng để mã hóa và giải mã trong suốt quá
trình giao tiếp sau đó.
5. Mọi thông tin trao đổi giữa trình duyệt và
máy chủ sẽ được mã hóa.


Các loại SSL


So sánh HTTP và HTTPS
• HTTPS viết tắt của Hyper Text
Transfer Protocol Secure (giao thức
truyền tải siêu văn bản bảo mật) là
phiên bản an toàn của HTTP, là sự kết
hợp giữa giao thức HTTP và giao thức
bảo mật SSL, TLS nhằm tạo nên một
rào chắn an ninh, bảo mật khi truyền
tải các thông tin trên mạng Internet.
Chữ 'S' ở cuối HTTPS là viết tắt của
"Secure" (Bảo mật). Nó có nghĩa là tất
cả các giao tiếp giữa trình duyệt và
trang web đều được mã hóa.

• Tóm lại, HTTPS là loại giao thức giúp
đảm bảo các yếu tố cơ bản của thông tin,
bao gồm:
 Confidentiality: Sử dụng phương thức mã
hóa (encryption) để đảm bảo các thông
điệp được trao đổi giữa client và server
không bị kẻ thứ ba (hackers) đọc được.
 Integrity: Sử dụng phương thức hashing
để cả người dùng (client) và máy chủ
(server) đều có thể tin tưởng rằng các
thông điệp chuyển giao qua lại là toàn
diện và không qua bất kì chỉnh sửa nào.
 Authenticity: Sử dụng chứng chỉ số
(digital certificate) để giúp client có thể
tin tưởng rằng server/website mà họ đang
truy cập thực sự là server/website “chính


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×