2023
1
ThS. Nguyn Chí Hiếu
2023
1.
Các khái nim cơ bn
2.
Client-side controls
3.
Same-origin policy
Ni dung
2023 An toàn bảo mật Hệ thống thông tin 2
1
2
2023
2
1. Các khái nim cơ bn
2023 An toàn bảo mật Hệ thống thông tin 3
Các khái nim cơ bn
2023 An toàn bảo mật Hệ thống thông tin 4
Web attacker
Network attacker
DOS attack
Computer attacker
3
4
2023
3
Các website gi mo
Thiết kế giao din website gi mo chuyên nghip như các
website bình thưng
K tn công, ch các website s la ngưi dùng đ truy cp vào
các trang này
Các website đã b xâm nhp
Thưng b chèn các ni dung đc hi
Có th b đánh cp d liu
Các khái nim cơ bn
2023 An toàn bảo mật Hệ thống thông tin 5
Các kch bn tn công
Đi vi trình duyt
Kết xut ni dung website (HTML, các tp tin scripts)
Quyết đnh nhng gì mà mt website có th thc hin
Đi vi website
Mã ngun máy ch (PHP, ASP.Net, Python, )
Mã ngun máy khách (JavaScript)
Các khái nim cơ bn
2023 An toàn bảo mật Hệ thống thông tin 6
5
6
2023
4
Hu hết các trình duyt đu có s dng Sandbox, mt
k thut bo v máy tính t các k tn công web
Thc thi các mã ngun an toàn trên web
B qua nhng truy cp trái phép các tp tin ca ngưi
dùng, truy cp đến các website khác,
Bo mt trình duyt
2023 An toàn bảo mật Hệ thống thông tin 7
Tên min (domain) là mt đa ch duy nht đưc s
dng bi các trưng hc, công ty, cá nhân, thay thế
cho đa ch ip
Các khái nim cơ bn
2023 An toàn bảo mật Hệ thống thông tin 8
7
8
2023
5
Html là ngôn ng đánh du siêu văn bn
Có cu trúc phân cp gm các th/phn t
Cho phép liên kết vi các website khác
Cho phép nhúng d liu nh, scripts, iframe
Các khái nim
2023 An toàn bảo mật Hệ thống thông tin 9
Các khái nim
2023 An toàn bảo mật Hệ thống thông tin 10
9
10
2023
6
HTTP là giao thc truyn nhn thông tin gia máy
khách và máy ch (client-server)
Các khái nim
2023 An toàn bảo mật Hệ thống thông tin 11
2023 An toàn bảo mật Hệ thống thông tin 12
11
12
2023
7
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 13
Http request
Url gm host và đưng dn
Ngoài ra, có th cha mt s biến (tên-giá tr)
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 14
13
14
2023
8
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 15
HTTP request
Http response
Mt s thông tin Header
Tài nguyên tr v
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 16
15
16
2023
9
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 17
HTTP response
Giao thc
𝐺𝐸𝑇, 𝑃𝑈𝑇
Biến đưc khai báo trong đa ch Url
Giao thc
𝑃𝑂𝑆𝑇
Biến đưc khai báo trong thân ca Http
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 18
17
18
2023
10
2.Client-Side Controls
2023 An toàn bảo mật Hệ thống thông tin 19
Nguy cơ mt an toàn t d liu nhp tùy ý ca ngưi
dùng
Client-Side Controls (điu khin phía máy khách) giúp hn
chế d liu nhp ca ngưi dùng theo mt trong hai cách:
S dng cơ chế ngăn chn vic sa đi d liu đó khi truyn
d liu đến máy khách
Thc hin phía máy khách
B qua các điu khin phía máy khách?
Ngưi dùng có th kim soát hoàn toàn máy khách và d liu máy
khách gi
Có th b qua bt k điu khin nào phía máy khách, và không
đưc sao chép trên máy ch
Client-Side Controls
2023 An toàn bảo mật Hệ thống thông tin 20
19
20
2023
11
Cơ chế chung
Thuc tính n trong Html
Đưc gn c n hidden không hin th trên màn hình
Cookie Http
Không hin th trên màn hình và ngưi dùng không th sa đi trc tiếp
Referer header
Giúp xác đnh đa ch ca website liên kết vi tài nguyên đưc yêu cu.
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 21
Công c kim tra web
Firefox, Chrome, Edge tích hp sn
Web proxy
Burp, OWASP ZAP
Giao thc Http
2023 An toàn bảo mật Hệ thống thông tin 22
21
22
2023
12
Chính sách chung ngun gc (Same-origin policy SOP) là mt
trong nhng chính sách bo mt quan trng nht trên trình
duyt, ngăn chn vic mã JavaScript to ra nhng yêu cu đến
nhng ngun khác vi ngun mà nó đưc tr v.
Ba tiêu chí chính đ mt yêu cu hp l:
Domain (tên min)
Protocol (giao thc)
Port (cng kết ni)
3.Same-origin policy
2023 An toàn bảo mật Hệ thống thông tin 23
Same-origin policy
2023 An toàn bảo mật Hệ thống thông tin 24
23
24
2023
13
Ni dung t các ngun khác nhau nên đưc cô lp
Khó trin khai do:
Các phn t ca Html
Điu hưng gia các liên kết
Cookies ca trình duyt
JavaScript
iframe
Same-origin policy
2023 An toàn bảo mật Hệ thống thông tin 25
Cookies đưc dùng đ lưu các trng thái duyt các website.
Server có th lưu tr các cookies (cp khóa-giá tr) trong
trình duyt nhm mc đích:
Xác thc, theo dõi ngưi dùng
Có th thiết lp ngày hết hn
Trình duyt s gi cookies v server trong ln kết ni tiếp theo
Cookies
2023 An toàn bảo mật Hệ thống thông tin 26
25
26
2023
14
Cookies
2023 An toàn bảo mật Hệ thống thông tin 27
Mi cookie có phm vi nht đnh
Da trên tên min
Ngoài ra, có th là các tên min con
Mi website có th đc các cookies trong phm vi ca nó
Mt website có th đt cookie cho tên cơ s ca nó; hoc
các tên min ph ca nó
Cookies
2023 An toàn bảo mật Hệ thống thông tin 28
27
28
2023
15
SOP đi vi Cookies
Mi website ch có th đc cookies trong phm vi ca nó
Cookies
2023 An toàn bảo mật Hệ thống thông tin 29
Qun lý các sessions
Theo dõi ngưi dùng
Máy ch s gán cho ngưi dùng mt id duy nht
Ngưi dùng gi li id đ xác minh
Cn s dng trong các chc năng xác thc
Ghi nh nhng tùy chn ca ngưi dùng
Cookies
2023 An toàn bảo mật Hệ thống thông tin 30
29
30
2023
16
Cookies đưc gán và tr v trong mi Http request và response
Truy cp mt website có th dn đến các Http request t các ngun
khác (do nhúng các nh, video, )
Cookies ca bên th ba
Đưc đt bi server có tên min khác tên min ca yêu cu ban đu
Có th cu hình trình duyt đ không lưu cookies ca bên th ba
Cookies
2023 An toàn bảo mật Hệ thống thông tin 31
Truyn đi trong Http header
Set-Cookie: SID=c5Wuk7
Cookie: SID=c5Wuk7
Các biến trong phương thc Post
Thêm đa ch url vào các liên kết
https://www.example.com?SID=c5Wuk7
Các biến trong phương thc Post
Điu hưng Http request vi các biến n
Thc thi mt session id
2023 An toàn bảo mật Hệ thống thông tin 32
31
32
2023
17
Session id trong Cookies
2023 An toàn bảo mật Hệ thống thông tin 33
Session id trong biến phương thc GET
2023 An toàn bảo mật Hệ thống thông tin 34
33
34
2023
18
Session id trong biến phương thc POST
2023 An toàn bảo mật Hệ thống thông tin 35
Là mt ngôn ng lp trình web ph biến, đưc nhúng vào
HTML giúp các website sinh đng hơn
Mã lnh đưc nhúng trong cp th: <script> </script>
JavaScript
2023 An toàn bảo mật Hệ thống thông tin 36
<script type="text/javascript">
function hello() {
alert("Hello world!");
}
</script>
35
36
2023
19
Cho phép đc các thành phn ca
HTML thông qua DOM
JavaScript
2023 An toàn bảo mật Hệ thống thông tin 37
SOP đi vi JavaScript
Mt script np t mt website cn có nhng hn chế v vic
truy cp ni dung t mt website khác
JavaScript
2023 An toàn bảo mật Hệ thống thông tin 38
37
38
2023
20
Cho phép nhúng mt website
nhúng mt website khác
Ví d: Nhúng các video t
trang Youtube
iframe
2023 An toàn bảo mật Hệ thống thông tin 39
iframe
2023 An toàn bảo mật Hệ thống thông tin 40
39
40

Preview text:

2023 ThS. Nguyễn Chí Hiếu 2023 1 Nội dung 1. Các khái niệm cơ bản 2. Client-side controls 3. Same-origin policy 2023
An toàn bảo mật Hệ thống thông tin 2 2 1 2023 1. Các khái niệm cơ bản 2023
An toàn bảo mật Hệ thống thông tin 3 3 Các khái niệm cơ bản Web at acker DOS at ack Computer at acker Network at acker 2023
An toàn bảo mật Hệ thống thông tin 4 4 2 2023 Các khái niệm cơ bản  Các website giả mạo
 Thiết kế giao diện website giả mạo chuyên nghiệp như các website bình thường
 Kẻ tấn công, chủ các website sẽ lừa người dùng để truy cập vào các trang này
 Các website đã bị xâm nhập
 Thường bị chèn các nội dung độc hại
 Có thể bị đánh cắp dữ liệu 2023
An toàn bảo mật Hệ thống thông tin 5 5 Các khái niệm cơ bản
 Các kịch bản tấn công
 Đối với trình duyệt
 Kết xuất nội dung website (HTML, các tập tin scripts)
 Quyết định những gì mà một website có thể thực hiện  Đối với website
 Mã nguồn máy chủ (PHP, ASP.Net, Python, …)
 Mã nguồn máy khách (JavaScript) 2023
An toàn bảo mật Hệ thống thông tin 6 6 3 2023 Bảo mật trình duyệt
 Hầu hết các trình duyệt đều có sử dụng Sandbox, một
kỹ thuật bảo vệ máy tính từ các kẻ tấn công web
 Thực thi các mã nguồn an toàn trên web
 Bỏ qua những truy cập trái phép các tập tin của người
dùng, truy cập đến các website khác, … 2023
An toàn bảo mật Hệ thống thông tin 7 7 Các khái niệm cơ bản
 Tên miền (domain) là một địa chỉ duy nhất được sử
dụng bởi các trường học, công ty, cá nhân, … thay thế cho địa chỉ ip 2023
An toàn bảo mật Hệ thống thông tin 8 8 4 2023 Các khái niệm
 Html là ngôn ngữ đánh dấu siêu văn bản
 Có cấu trúc phân cấp gồm các thẻ/phần tử
 Cho phép liên kết với các website khác
 Cho phép nhúng dữ liệu ảnh, scripts, iframe… 2023
An toàn bảo mật Hệ thống thông tin 9 9 Các khái niệm 2023
An toàn bảo mật Hệ thống thông tin 10 10 5 2023 Các khái niệm
 HTTP là giao thức truyền nhận thông tin giữa máy
khách và máy chủ (client-server) 2023
An toàn bảo mật Hệ thống thông tin 11 11 2023
An toàn bảo mật Hệ thống thông tin 12 12 6 2023 Giao thức Http 2023
An toàn bảo mật Hệ thống thông tin 13 13 Giao thức Http  Http request
 Url gồm host và đường dẫn
 Ngoài ra, có thể chứa một số biến (tên-giá trị) 2023
An toàn bảo mật Hệ thống thông tin 14 14 7 2023 Giao thức Http  HTTP request 2023
An toàn bảo mật Hệ thống thông tin 15 15 Giao thức Http  Http response
 Một số thông tin Header  Tài nguyên trả về 2023
An toàn bảo mật Hệ thống thông tin 16 16 8 2023 Giao thức Http  HTTP response 2023
An toàn bảo mật Hệ thống thông tin 17 17 Giao thức Http
 Giao thức 𝐺𝐸𝑇, 𝑃𝑈𝑇
 Biến được khai báo trong địa chỉ Url
 Giao thức 𝑃𝑂𝑆𝑇
 Biến được khai báo trong thân của Http 2023
An toàn bảo mật Hệ thống thông tin 18 18 9 2023 2.Client-Side Controls
 Nguy cơ mất an toàn từ dữ liệu nhập tùy ý của người dùng
 Client-Side Controls (điều khiển phía máy khách) giúp hạn
chế dữ liệu nhập của người dùng theo một trong hai cách:
 Sử dụng cơ chế ngăn chặn việc sửa đổi dữ liệu đó khi truyền dữ liệu đến máy khách
 Thực hiện ở phía máy khách 2023
An toàn bảo mật Hệ thống thông tin 19 19 Client-Side Controls
 Bỏ qua các điều khiển phía máy khách?
 Người dùng có thể kiểm soát hoàn toàn máy khách và dữ liệu máy khách gửi
 Có thể bỏ qua bất kỳ điều khiển nào ở phía máy khách, và không
được sao chép trên máy chủ 2023
An toàn bảo mật Hệ thống thông tin 20 20 10 2023 Giao thức Http  Cơ chế chung
 Thuộc tính ẩn trong Html 
Được gắn cờ ẩn hidden không hiển thị trên màn hình  Cookie Http 
Không hiển thị trên màn hình và người dùng không thể sửa đổi trực tiếp  Referer header 
Giúp xác định địa chỉ của website liên kết với tài nguyên được yêu cầu. 2023
An toàn bảo mật Hệ thống thông tin 21 21 Giao thức Http  Công cụ kiểm tra web
 Firefox, Chrome, Edge tích hợp sẵn  Web proxy  Burp, OWASP ZAP 2023
An toàn bảo mật Hệ thống thông tin 22 22 11 2023 3.Same-origin policy
 Chính sách chung nguồn gốc (Same-origin policy SOP) là một
trong những chính sách bảo mật quan trọng nhất trên trình
duyệt, ngăn chặn việc mã JavaScript tạo ra những yêu cầu đến
những nguồn khác với nguồn mà nó được trả về.
 Ba tiêu chí chính để một yêu cầu hợp lệ:  Domain (tên miền)  Protocol (giao thức)  Port (cổng kết nối) 2023
An toàn bảo mật Hệ thống thông tin 23 23 Same-origin policy 2023
An toàn bảo mật Hệ thống thông tin 24 24 12 2023 Same-origin policy
 Nội dung từ các nguồn khác nhau nên được cô lập  Khó triển khai do:
 Các phần tử của Html
 Điều hướng giữa các liên kết
 Cookies của trình duyệt  JavaScript  iframe 2023
An toàn bảo mật Hệ thống thông tin 25 25 Cookies
 Cookies được dùng để lưu các trạng thái duyệt các website.
Server có thể lưu trữ các cookies (cặp khóa-giá trị) trong
trình duyệt nhằm mục đích:
 Xác thực, theo dõi người dùng
 Có thể thiết lập ngày hết hạn
 Trình duyệt sẽ gửi cookies về server trong lần kết nối tiếp theo  … 2023
An toàn bảo mật Hệ thống thông tin 26 26 13 2023 Cookies 2023
An toàn bảo mật Hệ thống thông tin 27 27 Cookies
 Mỗi cookie có phạm vi nhất định  Dựa trên tên miền
 Ngoài ra, có thể là các tên miền con
 Mỗi website có thể đọc các cookies trong phạm vi của nó
 Một website có thể đặt cookie cho tên cơ sở của nó; hoặc
các tên miền phụ của nó 2023
An toàn bảo mật Hệ thống thông tin 28 28 14 2023 Cookies  SOP đối với Cookies
 Mỗi website chỉ có thể đọc cookies trong phạm vi của nó 2023
An toàn bảo mật Hệ thống thông tin 29 29 Cookies  Quản lý các sessions  Theo dõi người dùng
 Máy chủ sẽ gán cho người dùng một id duy nhất
 Người dùng gửi lại id để xác minh
 Cần sử dụng trong các chức năng xác thực
 Ghi nhớ những tùy chọn của người dùng  … 2023
An toàn bảo mật Hệ thống thông tin 30 30 15 2023 Cookies
 Cookies được gán và trả về trong mỗi Http request và response
 Truy cập một website có thể dẫn đến các Http request từ các nguồn
khác (do nhúng các ảnh, video, …)
 Cookies của bên thứ ba 
Được đặt bởi server có tên miền khác tên miền của yêu cầu ban đầu 
Có thể cấu hình trình duyệt để không lưu cookies của bên thứ ba 2023
An toàn bảo mật Hệ thống thông tin 31 31 Thực thi một session id
 Truyền đi trong Http header  Set-Cookie: SID=c5Wuk7…  Cookie: SID=c5Wuk7…
 Các biến trong phương thức Post
 Thêm địa chỉ url vào các liên kết
 https://www.example.com?SID=c5Wuk7…
 Các biến trong phương thức Post
 Điều hướng Http request với các biến ẩn 2023
An toàn bảo mật Hệ thống thông tin 32 32 16 2023 Session id trong Cookies 2023
An toàn bảo mật Hệ thống thông tin 33 33
Session id trong biến phương thức GET 2023
An toàn bảo mật Hệ thống thông tin 34 34 17 2023
Session id trong biến phương thức POST 2023
An toàn bảo mật Hệ thống thông tin 35 35 JavaScript
 Là một ngôn ngữ lập trình web phổ biến, được nhúng vào
HTML giúp các website sinh động hơn
 Mã lệnh được nhúng trong cặp thẻ: 2023
An toàn bảo mật Hệ thống thông tin 36 36 18 2023 JavaScript
 Cho phép đọc các thành phần của HTML thông qua DOM 2023
An toàn bảo mật Hệ thống thông tin 37 37 JavaScript
 SOP đối với JavaScript
 Một script nạp từ một website cần có những hạn chế về việc
truy cập nội dung từ một website khác 2023
An toàn bảo mật Hệ thống thông tin 38 38 19 2023 iframe
 Cho phép nhúng một website nhúng một website khác
 Ví dụ: Nhúng các video từ trang Youtube 2023
An toàn bảo mật Hệ thống thông tin 39 39 iframe 2023
An toàn bảo mật Hệ thống thông tin 40 40 20