Trong ví dụ trên, nếu sử dụng cơ chế kiểm soát truy nhập mức truy vấn một cách đầy đủ thì người phụ trách cơ sở dữ liệu chỉ được phép cập nhật cột thông tin liên lạc của sinh viên, và nế
Trang 2Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Trang 33
LỜI CAM ĐOAN Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu
Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ
Trang 44
MỤC LỤC
LỜI CAM ĐOAN 1
DANH MỤC CÁC HÌNH VẼ BẢNG BIỂU 7
GIỚI THIỆU 9
Chương 1 CÁC HIỂM HỌA VỀ AN NINH HỆ THỐNG THÔNG TIN 11
1.1 TỔNG QUAN VỀ CÁC HIỂM HỌA 11
1.1.1 Lạm dụng quyền vượt mức (Excessive Privilege Abuse) 12
1.1.2 Lạm dụng quyền hợp pháp (Legitimate Privilege Abuse) 13
1.1.3 Nâng cấp quyền bất hợp pháp (Unauthorized Privilege Elevation) 14
1.1.4 Lợi dụng các điểm yếu nền tảng (Platform Vulnerabilities) 15
1.1.5 SQL Injection 16
1.1.6 Lợi dụng dấu vết kiểm toán yếu (Weak Audit Trail) 16
1.1.7 Tấn công từ chối dịch vụ (Denial of Service) 17
1.1.8 Lợi dụng các điểm yếu trong giao thức giao tiếp cơ sở dữ liệu (Database Communication Protocol Vulnerabilities) 18
1.1.9 Lợi dụng sự xác thực yếu (Weak Authentication) 18
1.1.10 Lợi dụng sự sơ hở của dữ liệu dự phòng (Backup Data Exposure) 19
1.2 TỔNG QUAN VỀ CÁC LỖ HỔNG THIẾU AN NINH 20
1.2.1 Phân loại lỗ hổng theo mức độ 20
1.2.1.1 Các lỗ hổng loại C 20
1.2.1.2 Các lỗ hổng loại B 22
1.2.1.3 Các lỗ hổng loại A 23
1.2.2 Phân loại lỗ hổng theo thành phần của hệ thống 25
Trang 55
1.2.2.1 Lỗ hổng trong cấu hình 25
1.2.2.2 Lỗ hổng trong giao thức mạng 27
1.2.2.3 Lỗ hổng trong hệ điều hành 32
1.2.2.4 Lỗ hổng trong ứng dụng 34
Chương 2 MỘT SỐ LỖ HỔNG THIẾU AN NINH TRONG ỨNG DỤNG CÔNG NGHỆ THÔNG TIN 36
2.1 LỖ HỔNG BẢO MẬT TRONG GIAO THỨC TSL/SSL 36
2.1.1 Giới thiệu 36
2.1.2.Mô tả tấn công BEAST lên bộ giao thức SSL/TLS 36
2.1.3 Ý tưởng tấn công do Wei Dai đề xuất chống lại chế độ mã khối CBC 37
2.1.4 Tấn công lựa chọn giá trị biên (block-wise chosen-boundary attack) 40
2.1 5 Ứng dụng ý tưởng tấn công của Wei Dai để giải mã yêu cầu HTTPS 41
2.1 6 Giải pháp khắc phục và ngăn chặn tấn công 43
2.2 LỖ HỔNG BẢO MẬT GÂY RA TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN (DDOS) 45
2.2.1 Tấn công từ chối dịch vụ phân tán DDoS(Distributed Denial of Service) 45
2.2.1.1 Giới thiệu khái quát về DdoS 45
2.2.1.2 Các bước thực hiện một cuộc tấn công kiểu DdoS 45
2.2.1.3 Mô hình tổng quan của DDoS attack-network 46
2.2.1.4 Phân loại tấn công kiểu DdoS 50
2.2.2 Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDoS (Distributed Reflection Denial of Service) 56
2.2.3 Biện pháp phòng chống tấn công từ chối dịch vụ 57
2.2.3.1 Dựa trên vị trí triển khai 58
2.2.3.2 Dựa trên giao thức mạng 58
Trang 66
2.2.3.3 Dựa trên thời điểm hành động 60
2.3 LỖ HỔNG BẢO MẬT GÂY RA TẤN CÔNG SQL INJECTION 61
2.3.1 Tấn công SQL INJECTION 61
2.3.1.1 Giới thiệu SQL INJECTION 61
2.3.1.2 Các Dạng Tấn Công SQL Injection 61
2.3.2 Cách Phòng Tránh SQL Injection 68
2.3.2.1 Kiểm tra dữ liệu 69
2.3.2.2 Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu 72
Chương 3 MÔ PHỎNG TẤN CÔNG DẠNG SQL INJNECTION 73
3.1 CÀI ĐẶT CHƯƠNG TRÌNH 73
3.2 THỬ NGHIỆM CHƯƠNG TRÌNH 82
3.2.1 Tấn công vượt qua kiểm tra đăng nhập 82
3.2.2 Tấn công xử dụng câu lệnh Union Select 85
KẾT LUẬN 90
TÀI LIỆU THAM KHẢO 91
Trang 77
DANH MỤC CÁC HÌNH VẼ BẢNG BIỂU
1.1 Bảng danh sách các dạng tấn công phổ biến trong năm 2013, 2014 10
2.1 Mô tả tấn công Beast 35
2.2 Sơ đồ mã hóa khối CBC 36
2.3 Sơ đồ giải mã trong chế độ mã hóa khối CBC 36
2.4 Thêm một chuỗi vào thông điệp để chọn ranh giới khối 38
2.5 Thực hiện tấn công lựa chọn biên với POST requers trong HTTPS 39
2.6 Sơ đồ chính phân loại các kiểu tấn công DdoS 45
2.7 Kiến trúc attack-network kiểu Agent – Handler 46
2.8 Kiến trúc attack-network của kiểu IRC-Base 47
2.9 Phân loại các kiểu tấn công DdoS 48
2.10 Sơ đồ tấn công kiểu Amplification Attack 51
2.11 Kiểu tấn công TCP SYS Attack 52
2.12 Attacker giả mạo IP 53
2.13 Sơ đồ mô tả kiểu tấn công DRDOS 55
2.14 Một công cụ tìm site lỗi Online 60
2.15 Dấu hiệu một site bị lỗi SQL Injection 61
Trang 88
CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
1 SSL Giao thức chuẩn an ninh thông tin nó tạo ra một liên kết
được mã hóa giữa máy chủ web và trình duyệt
2 Victim Đối tượng bị tấn công
3 HTTP Giao thức truyền tải siêu văn bản
4 HTTPS Giao thức truyền tải siêu văn bản an toàn có mã hóa
5 Timeout Là khoảng thời gian lớn nhất được thiết lạp trong 1
phiên làm việc giữa máy khách và máy chủ
10 BEAST Là kỹ thuật khai thác điểm yếu của chế độ mã khối CBC
và mức độ bảo mật yếu của trình duyệt web
11 Cookies
Là một dạng bản ghi được tạo ra và lưu lại trên trình duyệt khi người dùng truy cập một website Trong đó lưu trữ các thông tin nhạy cảm của ngườ sử dụng
Trang 99
GIỚI THIỆU Công nghệ thông tin ngày nay đang phát triển rất mạnh, số lượng người sử dụng Internet ngày càng tăng, lưu lượng truyền tải thông tin yêu cầu ngày càng lớn và các hoạt động giao dịch trên mạng internet cũng phát triển theo, đặc biệt là trong hoạt động trao đổi thông tin giữa công dân với cơ quan hành chính nhà nước và giữa cơ quan hành chính nhà nước với nhau
Trước đây các cơ quan hành chính nhà nước cung cấp dịch vụ cho dân chúng tại trụ
sở của mình, thì nay, nhờ vào công nghệ thông tin và viễn thông, các cơ quan hành chính nhà nước đã áp dụng nhiều công nghệ mới như: Mạng diện rộng, Internet, các phương tiện di động để quan hệ với công dân, giới doanh nghiệp Qua các cổng thông tin cho công dân (Citizen Portal) người dân nhận có thể tìm hiều đầy đủ các thông tin
từ pháp luật, các dịch vụ công và các thông tin khác cần tìm hiểu mà không phải trực tiếp đến các trụ sở các cơ quan như trước đây
Tại các cơ quan hành chính, các dữ liệu về công văn, tài liệu được số hóa và lưu trữ tại chính các cơ quan và tại trung tâm dữ liệu (Data center) của đơn vị hoặc thành phố nhằm đảm bảo quá trình giao dịch hiệu quả nhằm nâng cao công tác quản lý các cơ quan hành chính nhà nước
Tuy nhiên việc trao đổi thông tin này sẽ không tránh khỏi một số đối tượng gián điệp truy cập trái phép vào các hệ thống thông tin số như các thông báo, các văn bản pháp luật, công văn nhằm mục đích xấu, gầy hậu quả nghiêm trọng thiệt hại lớn về kinh tế, chính trị của các đơn vị Và việc đảm bảo an toàn thông tin luôn được đặt lên hàng đầu trong hành chính điện tử An toàn thông tin trong hành chính điện tử là các biện pháp nhằm đảm bảo tính bí mật cho thông tin, toàn vẹn dữ liệu, xác thực nguồn gốc an toàn, tôn trọng riêng tư, và đảm bảo tính sẵn sàng của an toàn thông tin
Vì vậy, việc kiểm soát và phát hiện các lỗ hổng thiếu an toàn an ninh trong hệ thống
và các ứng dụng công nghệ thông tin là vô cùng quan trọng Từ đây các giải pháp an toàn thông tin cho hệ thống, cho các ứng dụng công nghệ thông tin là bài toán được đặt
ra cho các cơ quan hành chính
Trang 1010
Chính nhận thức về tầm quan trọng an toàn thông tin hành chính điện tử đã thôi thúc tôi thực hiện đề tài “Nghiên cứu một số lỗ hổng thiếu An ninh trong Ứng dụng công nghệ thông tin tại các cơ quan hành chính nhà nước, phương pháp và công cụ kiểm soát, xử lý lỗ hổng”
Bố cục đồ án gồm có 3 chương, với nội dung từng chương như sau:
Chương 1: Các hiểm họa về an ninh hệ thống thông tin
Chương 2: Một số lỗ hổng thiếu an ninh trong ứng dụng công nghệ thông tin Chương 3: Mô phỏng một số lỗ hổng
Trước khi đi vào trình bày chi tiết nội dung đồ án, em xin gửi lời cảm ơn chân thành tới PGS.TS Trịnh Nhật Tiến đã định hướng và giúp đỡ nhiệt tình để em hoàn thành đề tài tốt nghiệp này
Trong khoảng thời gian không nhiều, dù đã cố gắng để hoàn thành tốt đồ án, tuy nhiên chắc chắn đề tài không tránh khỏi các sai sót, hạn chế, nên em rất mong được sự góp ý chân tình của thầy cô, bạn bè để em tiếp tục hoàn thiện và đưa vào thực tiễn một cách có hiệu quả nhất Em xin trân trọng cảm ơn !
Học viên
Nguyễn Mạnh Dũng
Trang 11Theo thống kê của Imperra so với năm 2013 thì các hiểm họa trong năm 2014 hầu như không khác biệt, nhưng thứ tự xếp hạng của chúng lại thay đổi Trong đó, hai hiểm họa mới được bổ sung dựa trên các xu thế phát triển của khách hàng và thị trường, một loại hiểm họa mới là các tấn công liên quan đến mã độc Bảng dưới đây đưa ra mười hiểm họa hàng đầu với CSDL năm 2013 và 2014, đồng thời đưa ra thứ tự xếp hạng của chúng để thấy được sự khác biệt của các hiểm họa này trong hai năm 2013 và 2014 Xếp
hạng Những hiểm họa năm 2013 Những hiểm họa năm 2014
1
Lạm dụng các đặc quyền vượt mức và
các đặc quyền không còn được dùng
(Excessive and Unused Privileges)
Lạm dụng quyền vượt mức (Excessive Privilege Abuse)
2 Lạm dụng đặc quyền (Privilege Abuse) Lạm dụng quyền hợp pháp
(Legitimate Privilege Abuse)
3 Tấn cân SQL Ịnection Nâng cấp quyền bất hợp pháp
(Unauthorized Privilege Elevation)
4 Mã độc (Mailware) Lợi dụng các điểm yếu nền tảng
(Platform Vulnerabilities)
Trang 1212
5 Vết kiểm toán yếu (Weak Audit Trail) SQL Injection
6 Lợi dụng sự sơ hở để khai thác phương
tiện lưu trữ (Storage Media Exposure)
Lợi dụng dấu vết kiểm toán yếu (Weak Audit Trail)
7
Khai thác các CSDL có điểm yếu và bị
lỗi cấu hình (Exploitation of Vulnerabilities and Misconfigured
Database)
Tấn công từ chối dịch vụ (Denial of
Service)
8 Rò rỉ các dữ liệu nhạy cảm không được
quản lý (Unmanaged Sensitive Data)
Lợi dụng các điểm yếu trong giao thức giao tiếp cơ sở dữ liệu (Database Communication Protocol
Sự thiếu hụt các chuyên gia an ninh và
hạn chế trong đào tạo (Limited Security
Expertise and Education)
Lợi dụng sự sơ hở của dữ liệu dự phòng (Backup Data Exposure)
Bảng 1.1 Danh sách các dạng tấn công phổ biến trong năm 2013, 2014 Các tổ chức có thể đưa ra những giải pháp thực tế tốt hơn để bảo vệ dữ liệu của mình và xử lý những rủi ro có thể xảy ra, trong đó có mười hiểm họa hàng đầu này Sau đây, chúng ta sẽ tìm hiểu về mười hiểm họa 2014 này
1.1.1 Lạm dụng quyền vượt mức (Excessive Privilege Abuse)
Khi người dùng được gán các đặc quyền truy nhập cơ sở dữ liệu vượt quá các yêu cầu trong chức năng công việc của họ, thì những đặc quyền này có thể bị lạm dụng cho các mục đích xấu Ví dụ, một người phụ trách cơ sở dữ liệu của trường đại học với công việc là thay đổi các thông tin liên lạc của sinh viên, người này có thể lạm dụng quyền cập nhật cơ sở dữ liệu của mình để sửa đổi điểm của sinh viên (trái phép)
Trang 1313
Có thể đơn giản là do những quản trị viên cơ sở dữ liệu vì bận rộn với công việc quản trị của mình nên không định nghĩa và cập nhật cơ chế kiểm soát quyền truy nhập cho mỗi người dùng Kết quả là một số lượng lớn người dùng được gán các đặc quyền truy nhập mặc định vượt xa so với yêu cầu công việc của họ
Ngăn chặn lạm dụng quyền vượt mức – Bằng kiểm soát truy nhập mức truy vấn
Sử dụng cơ chế kiểm soát truy nhập mức truy vấn (Query-level) sẽ hạn chế các đặc quyền cơ sở dữ liệu bằng những toán tử SQL (SELECT, UPDATE,…) và dữ liệu được yêu cầu một cách tối thiểu Trong ví dụ trên, nếu sử dụng cơ chế kiểm soát truy nhập mức truy vấn một cách đầy đủ thì người phụ trách cơ sở dữ liệu chỉ được phép cập nhật cột thông tin liên lạc của sinh viên, và nếu anh ta cố gắng sửa đổi cột điểm thì hệ thống
sẽ phát ra cảnh báo Kiểm soát truy nhập mức truy vấn không chỉ có lợi trong việc phát hiện việc lạm dụng quyền vượt mức mà còn giúp ngăn chặn hầu hết những hành hiểm họa an toàn cơ sở dữ liệu
1.1.2 Lạm dụng quyền hợp pháp (Legitimate Privilege Abuse)
Người dùng lạm dụng các đặc quyền hợp pháp của mình để thực hiện những mục đích không hợp pháp Hãy xét một nhân viên chăm sóc sức khỏe, nhân viên này có quyền xem các bản ghi liên quan đến chỉ một bệnh nhân trong cơ sở dữ liệu qua một ứng dụng Web Tuy nhiên, thường cấu trúc của ứng dụng Web sẽ hạn chế không cho phép người dùng được xem nhiều bản ghi về lịch sử khám chữa bệnh liên quan đến nhiều bệnh nhân một cách đồng thời Khi đó, nhân viên này có thể bỏ qua hạn chế của ứng dụng Web đó bằng cách kết nối tới cơ sở dữ liệu bằng một ứng dụng khác, chẳng hạn MS-Exel Sử dụng MS-Exel với đăng nhập hợp lệ của mình, anh ta có thể lấy ra và lưu lại tất cả các bản ghi về các bệnh nhân trong cơ sở dữ liệu
Ở đây, cần xét hai rủi ro Thứ nhất là người nhân viên có mục đích xấu, người sẵn sàng bán các bản ghi thông tin bệnh nhân để lấy tiền Thứ hai (phổ biến hơn) là người nhân viên cẩu thả, người này truy xuất và lưu trữ một lượng lớn thông tin bệnh nhân vào máy khách của họ với mục đích công việc hợp pháp Tuy nhiên, do lơ đễnh, nhân viên này có thể để lộ dữ liệu bệnh nhân ở một máy tính đầu cuối, và nó trở thành điểm yếu cho Trojan, hay những kẻ lấy cắp máy tính,…
Trang 14Với hiểm họa này, SecureSphere sử dụng công nghệ Hồ sơ động (Dynamic Profiling) để thực hiện kiểm soát truy nhập dựa vào bối cảnh Ngoài thông tin truy vấn, công nghệ Hồ sơ động tạo ra một mô hình của ngữ cảnh xung quanh các tương tác cơ
sở dữ liệu thông thường Thông tin về ngữ cảnh cụ thể được lưu trong profile bao gồm: thời gian trong ngày, địa chỉ IP nguồn, khối dữ liệu được truy xuất, trình khách ứng dụng,…
Bất kỳ kết nối nào đến cơ sở dữ liệu mà ngữ cảnh của nó không phù hợp với thông tin được lưu trong hồ sơ của người dùng đó, thì cổng SecureSphere sẽ phát ra cảnh báo Chẳng hạn, người nhân viên có trong ví dụ trên sẽ bị phát hiện bởi SecureSphere không chỉ vì việc sử dụng một trình khách MS-Exel không chuẩn mà còn vì khối dữ liệu mà người dùng này truy xuất cũng không hợp lệ đối với một phiên đơn lẻ Trong trường hợp cụ thể này, sự sai lệch trong cấu trúc của truy vấn MS-Exel không chuẩn đó, cũng gây ra một sự xâm phạm mức truy vấn
1.1.3 Nâng cấp quyền bất hợp pháp (Unauthorized Privilege Elevation)
Kẻ tấn công có thể dựa trên các điểm yếu trong phần mềm cơ sở dữ liệu để biến quyền truy nhập của một người dùng bình thường thành quyền truy nhập của một người quản trị Những điểm yếu này có thể tìm thấy trong các thủ tục được lưu, trong các hàm được xây dựng bên trong, trong việc thực thi giao thức, thậm chí trong các câu lệnh SQL Ví dụ, một nhà phát triển phần mềm ở một tổ chức tài chính có thể lợi dụng một hàm chứa điểm yếu để thu được đặc quyền quản trị cơ sở dữ liệu Với đặc quyền quản trị này, nhà phát triển ác ý đó có thể tắt các cơ chế kiểm toán, tạo những tài khoản
ma, hay chuyển tiền bất hợp pháp, …
Trang 15có điểm yếu đã biết, thì một IPS có thể chặn tất cả các truy nhập tới hàm đó, hoặc (nếu
có thể) chỉ chặn những truy nhập (của các tấn công) tới hàm này
Tuy nhiên, thật khó khăn để xác định một cách chính xác những yêu cầu truy nhập nào gắn với các tấn công khi chỉ sử dụng IPS Bởi vì nhiều truy nhập hợp pháp vẫn sử dụng các hàm cơ sở dữ liệu chứa điểm yếu Do đó, IPS không có tùy chọn để chặn tất
cả các truy nhập đến các hàm chứa điểm yếu IPS phải phân biệt chính xác các hàm được sử dụng hợp pháp và các hàm được sử dụng cho một tấn công nào đó Trong nhiều trường hợp, điều này là không thể do sự đa dạng của các tấn công, cho nên với những trường hợp như vậy, hệ thống IPS chỉ đưa ra cảnh báo (không chặn) đối với những truy nhập vào các hàm cơ sở dữ liệu chứa điểm yếu
Để cải thiện độ chính xác, IPS có thể được gắn với một bộ chỉ thị tấn công khác, chẳng hạn như kiểm soát truy nhập truy vấn Kiểm soát truy nhập truy vấn kiểm tra xem yêu cầu truy nhập có phù hợp với hoạt động của người dùng thông thường hay không, trong khi đó IPS sẽ kiểm tra xem yêu cầu cơ sở dữ liệu này có truy nhập vào một hàm chứa điểm yếu hay không Nếu một yêu cầu cơ sở dữ liệu có truy nhập vào một hàm chứa điểm yếu và có hoạt động bất thường thì chắc chắn có một tấn công vào
cơ sở dữ liệu đang hoạt động
1.1.4 Lợi dụng các điểm yếu nền tảng (Platform Vulnerabilities)
Các điểm yếu trong hệ điều hành bên dưới (Windows 2000, UNIX, …) và các điểm yếu trong các dịch vụ được cài đặt trên một máy chủ cơ sở dữ liệu có thể dẫn tới truy nhập bất hợp pháp, sự sửa đổi dữ liệu hay từ chối dịch vụ Chẳng hạn, sâu Blaster lợi dụng một điểm yếu của Windows 2000 để tạo ra các điều kiện cho từ chối dịch vụ Ngăn chặn các tấn công nền tảng – Bằng cập nhật phần mềm và ngăn chặn xâm nhập
Trang 1616
Để bảo vệ các tài nguyên cơ sở dữ liệu tránh khỏi các tấn công nền tảng, cần thiết phải kết hợp giữa việc cập nhật (các bản vá) phần mềm thường xuyên và sử dụng hệ thống ngăn chặn xâm nhập (IPS) Các nhà cung cấp luôn đưa ra những bản vá cho các điểm yếu trong nền tảng cơ sở dữ liệu Tuy nhiên, các doanh nghiệp cập nhật và thực thi các phần mềm này theo định kỳ Khi đó, giữa các chu kỳ cập nhật này, cơ sở dữ liệu không được bảo vệ Thêm vào đó, vấn đề tương thích đôi khi không cho phép các cập nhật phần mềm này được hoàn chỉnh Để giải quyết những vấn đề này, cần phải sử dụng IPS Như mô tả ở trên, IPS kiểm tra lưu lượng cơ sở dữ liệu và xác định được những tấn công nhắm vào các điểm yếu đã biết
1.1.5 SQL Injection
Trong một tấn công SQL Injection, kẻ tấn công thường chèn (hay “tiêm”) các mệnh đề cơ sở dữ liệu bất hợp pháp vào một nguồn dữ liệu SQL dễ bị tổn thương Thường nguồn dữ liệu đích bao gồm các thủ tục được lưu và các tham số đầu vào của ứng dụng Web Các nguồn này bị tiêm vào những mệnh đề bất hợp pháp, sau đó chúng được truyền tới cơ sở dữ liệu và được xử lý tại đây Với SQL Injection, kẻ tấn công có thể đạt được truy nhập không giới hạn tới toàn bộ cơ sở dữ liệu
Ngăn chặn SQL Injection
Có thể sử dụng kết hợp ba kỹ thuật để chống SQL Injection một cách hiệu quả là: IPS, kiểm soát truy nhập mức truy vấn và sự tương quan sự kiện IPS có thể xác định các thủ tục được lưu chứa điểm yếu hoặc những chuỗi SQL injection Tuy nhiên, một mình IPS thì không đáng tin cậy Các nhà quản trị an toàn nếu chỉ tin cậy vào một mình IPS sẽ luôn nhận được hàng loạt các cảnh báo là SQL injection “có thể đang tồn tại” Tuy nhiên, bằng cách tương quan một dấu hiệu của SQL injection với một xâm nhập vào kiểm soát truy nhập mức truy vấn thì có thể xác định được tấn công với độ chính xác cao
1.1.6 Lợi dụng dấu vết kiểm toán yếu (Weak Audit Trail)
Đối với bất kỳ hoạt động nào liên quan đến cơ sở dữ liệu, cần phải ghi tự động tất
cả các giao dịch cơ sở dữ liệu nhạy cảm và/hoặc các giao dịch bất thường Khi chính
Trang 17Cơ chế kiểm toán yếu đồng nghĩa với việc hệ thống không thể ghi lại đầy đủ những hành động của người dùng, dẫn đến việc không thể phát hiện và ngăn chặn kịp thời những hành động tấn công của người dùng hoặc một nhóm người dùng Do vậy, kiểm toán là cơ chế quan trọng mà mọi hệ thống cần có và cần phải có cơ chế kiểm toán mạnh để đảm bảo an toàn thông tin hay an toàn cơ sở dữ liệu cho mọi hệ thống.Từ chối dịch vụ (Denial of Service)
1.1.7 Tấn công từ chối dịch vụ (Denial of Service)
Từ chối dịch vụ (DOS) là một loại tấn công trong đó các truy nhập của người dùng hợp pháp vào các ứng dụng mạng hay vào dữ liệu sẽ bị từ chối Các điều kiện từ chối dịch vụ có thể được tạo ra qua nhiều kỹ thuật (nhiều trong số đó liên quan đến các điểm yếu nền tảng) Ví dụ, tấn công DOS có thể dựa trên điểm yếu nền tảng cơ sở dữ liệu để phá hủy một máy chủ Ngoài ra còn có một số kỹ thuật DOS phổ biến khác như: sửa đổi dữ liệu, làm lụt mạng (network flooding), và làm quá tải tài nguyên máy chủ (bộ nhớ, CPU,…) Trong đó, làm quá tải tài nguyên là một kỹ thuật phổ biến trong môi trường cơ sở dữ liệu
Ngăn chặn tấn công từ chối dịch vụ
Để ngăn chặn tấn công này, cần yêu cầu bảo vệ ở nhiều mức khác nhau, như: mức mạng, mức ứng dụng và mức cơ sở dữ liệu Ở phần này, ta tập trung vào các bảo vệ mức cơ sở dữ liệu Trong đó, một số kỹ thuật bảo vệ mức cơ sở dữ liệu để chống tấn công DOS bao gồm: kiểm soát tốc độ kết nối, kiểm soát giao thức, kiểm soát truy nhập truy vấn, và kiểm soát thời gian phản hồi
Trang 18Có thể giải quyết tấn công này bằng công nghệ phê duyệt giao thức Công nghệ này sẽ phân tích lưu lượng cơ sở dữ liệu cơ bản và so sánh nó với lưu lượng thông thường Trong trường hợp lưu lượng hiện tại không phù hợp với lưu lượng cơ sở dữ liệu như mong đợi thì hệ thống sẽ phát ra cảnh báo, thậm chí là chặn luôn hành động đang thực hiện
1.1.9 Lợi dụng sự xác thực yếu (Weak Authentication)
Trong một hệ thống chứa lược đồ xác thực yếu, kẻ tấn công có thể dễ dàng chiếm lấy định danh của những người dùng cơ sở dữ liệu hợp pháp bằng cách lấy cắp thẻ đăng nhập của họ Kẻ tấn công có thể sử dụng nhiều chiến lược khác nhau để lấy được thẻ đăng nhập của người dùng hợp pháp, chẳng hạn:
- Kỹ thuật Brute force: kẻ tấn công sẽ gõ lặp đi lặp lại tổ hợp username/password cho đến khi tìm ra một cặp hợp lệ Thường kẻ tấn công sử dụng một chương trình đoán mật khẩu tự động để làm tăng nhanh quá trình brute force này
- Kỹ thuật Social Engineering: kẻ tấn công lợi dụng những khuynh hướng tự nhiên
mà con người tin theo, từ đó làm cho người dùng tin tưởng và đưa ra thẻ đăng nhập của
họ Ví dụ, kẻ tấn công có thể gọi điện thoại và thể hiện rằng mình là một người quản lý công nghệ thông tin, yêu cầu người dùng cung cấp thẻ đăng nhập cho mục đích “bảo trì
hệ thống”
Trang 1919
- Kỹ thuật Lấy cắp thẻ đăng nhập trực tiếp: kẻ tấn công có thể lấy cắp trực tiếp các thẻ đăng nhập của người dùng bằng cách sao chép các ghi chú ngắn của thẻ hoặc sử dụng file mật khẩu,…
Để chống tấn công này, chúng ta cần thực hiện một số cơ chế:
- Xác thực mạnh: Để ngăn chặn kẻ tấn công lợi dụng xác thực yếu, hệ thống cần sử dụng các chính sách và công nghệ xác thực mạnh nhất Nên sử dụng cơ chế xác thực hai nhân tố (như: token, chứng chỉ, sinh trắc,…) Tuy nhiên, các cơ chế xác thực hai nhân tố thường có chi phí đắt và khó sử dụng hơn nên trong thực tế chúng được sử dụng không nhiều Với trường hợp này, cần sử dụng chính sách xác thực mạnh cho username/password (như: độ dài tối thiểu, đa dạng ký tự, khó đoán,…)
- Tích hợp danh bạ: Để các cơ chế xác thực mạnh được sử dụng rộng rãi và dễ dàng, nên tích hợp chúng với cơ sở danh bạ của doanh nghiệp Cơ sở danh bạ cho phép một người dùng có thể sử dụng một tập thẻ đăng nhập cho nhiều cơ cở dữ liệu và ứng dụng Từ đó làm cho hệ thống xác thực hai nhân tố được sử dụng hiệu quả hơn và người dùng có thể dễ dàng ghi nhớ việc cần phải thay đổi mật khẩu thường xuyên 1.1.10 Lợi dụng sự sơ hở của dữ liệu dự phòng (Backup Data Exposure) Chúng ta thấy rằng, trong công tác sao lưu, dự phòng cơ sở dữ liệu, người thực hiện thường không bảo vệ các phương tiện lưu trữ cơ sở dữ liệu dự phòng một cách đầy đủ Kết quả là, có rất nhiều băng đĩa sao lưu cơ sở dữ liệu và các đĩa cứng của nhiều hệ thống bị đánh cắp
Ngăn chặn sơ hở dữ liệu dự phòng
Tất cả các bản sao cơ sở dữ liệu cần thiết phải được mã hóa Một vài nhà cung cấp khẳng định rằng, các sản phẩm DBMS tương lai của họ sẽ hỗ trợ các bản sao cơ sở dữ liệu được mã hóa
Trang 20
20
1.2 TỔNG QUAN VỀ CÁC LỖ HỔNG THIẾU AN NINH
1.2.1 Phân loại lỗ hổng theo mức độ [12]
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhập không hợp pháp vào hệ thống
Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứng dụng mà người sử dụng thương xuyên sử dụng như Word processing, Các hệ databases
Phân loại lỗ hổng bảo mật [12]:
Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ thống được chia như sau:
- Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services - Từ chối dịch vụ) Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
- Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật
- Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống
Sau đây sẽ phân tích một số lỗ hổng bảo mật thường xuất hiện trên mạng và hệ thống
1.2.1.1 Các lỗ hổng loại C [12]:
Các lỗ hổng loại này cho phép thực hiện các cuộc tấn công DoS
Trang 2121
DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộ giao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng từ chối người sử dụng hợp pháp truy nhập hay sử dụng hệ thống Một số lượng lớn các gói tin được gửi tới server trong khoảng thời gian liên tục làm cho hệ thống trở nên quá tải, kết quả là server đáp ứng chậm hoặc không thể đáp ứng các yêu cầu từ client gửi tới
Các dịch vụ có chứa đựng lỗ hổng cho phép thực hiện các cuộc tấn công DoS có thể được nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ Hiện nay, chưa có một giải pháp toàn diện nào để khắc phục các lỗ hổng loại này vì bản thân việc thiết kế giao thức ở tầng Internet (IP) nói riêng và bộ giao thức TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này
Tuy nhiên, mức độ nguy hiểm của các lỗ hổng loại này được xếp loại C; ít nguy hiểm vì chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian mà không làm nguy hại đến dữ liệu và người tấn công cũng không đạt được quyền truy nhập bất hợp pháp vào hệ thống
Một lỗ hổng loại C khác cũng thường thấy đó là các điểm yếu của dịch vụ cho phép thực hiện tấn công làm ngưng trệ hệ thống của người sử dụng cuối; Chủ yếu với hình thức tấn công này là sử dụng dịch vụ Web Giả sử: trên một Web Server có những trang Web trong đó có chứa các đoạn mã Java hoặc JavaScripts, làm "treo" hệ thống của người sử dụng trình duyệt Web của Netscape bằng các bước sau:
- Viết các đoạn mã để nhận biết được Web Browers sử dụng Netscape
- Nếu sử dụng Netscape, sẽ tạo một vòng lặp vô thời hạn, sinh ra vô số các cửa sổ, trong mỗi cửa sổ đó nối đến các Web Server khác nhau
Với một hình thức tấn công đơn giản này, có thể làm treo hệ thống Đây cùng là một hình thức tấn công kiểu DoS Người sử dụng trong trường hợp này chỉ có thể khởi động lại hệ thống
Một lỗ hổng loại C khác cũng thường gặp đối với các hệ thống mail là không xây dựng các cơ chế anti-relay (chống relay) cho phép thực hiện các hành động spam mail Như chúng ta đã biết, cơ chế hoạt động của dịch vụ thư điện tử là lưu và chuyển tiếp; một số hệ thống mail không có các xác thực khi người dùng gửi thư, dẫn đến tình trạng các đối tượng tấn công lợi dụng các máy chủ mail này để thực hiện spam mail; Spam
Trang 2222
mail là hành động nhằm tê liệt dịch vụ mail của hệ thống bằng cách gửi một số lượng lớn các messages tới một địa chỉ không xác định, vì máy chủ mail luôn phải tốn năng lực đi tìm những địa chỉ không có thực dẫn đến tình trạng ngưng trệ dịch vụ Số lượng các messages có thể sinh ra từ các chương trình làm bom thư rất phổ biến trên mạng Internet
1.2.1.2 Các lỗ hổng loại B [12]:
Lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại C, cho phép người sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp[5] Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống Người sử dụng local được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyền hạn nhất định
Sau đây sẽ phân tích một số lỗ hổng loại B thường xuất hiện trong các ứng dụng; Sendmail: Sendmail là một chương trình được sử dụng rất phổ biến trên hệ thống UNIX để thực hiện gửi thư điện tử cho những người sử dụng trong nội bộ mạng Thông thường, sendmail là một daemon chạy ở chế độ nền được kích hoạt khi khởi động hệ thống Trong trạng thái, hoạt động, sendmail mở port 25 đợi một yêu cầu tới sẽ thực hiện gửi hoặc chuyển tiếp thư
Sendmail khi được kích hoạt sẽ chạy dưới quyền root hoặc quyền tương ứng (vì liên quan đến các hành động tạo file và ghi log file) Lợi dụng đặc điểm này và một số
lỗ hổng trong các đoạn mã của sendmail, mà các đối tượng tấn công có thể dùng sendmail để đạt được quyền root trên hệ thống
Để khắc phục lỗi của sendmail cần tham gia các nhóm tin về bảo mật; vì sendmail
là chương trình có khá nhiều lỗi; nhưng cũng có nhiều người sử dụng nên các lỗ hổng bảo mật thường được phát hiện và khắc phục nhanh chóng Khi phát hiện lỗ hổng trong sendmail cần nâng cấp, thay thế phiên bản sendmail đang sử dụng
Một loạt các vấn đề khác về quyền sử dụng chương trình trên UNIX cũng thường gây nên các lỗ hổng loại B Vì trên hệ thống UNIX, một chương trình có thể được thực thi với 2 khả năng:
- Người chủ sở hữu chương trình đó kích hoạt chạy
Trang 23Với khai báo này, cho phép người sử dụng nhập vào tối đa 20 ký tự Khi nhập dữ liệu, trước tiên dữ liệu được lưu ở vùng đệm; nếu người sử dụng nhập vào 35 ký tự; sẽ xảy ra hiện tượng tràn vùng đệm và kết quả 15 ký tự dư thừa sẽ nằm ở một vị trí không kiểm soát được trong bộ nhớ Đối với những người tấn công, có thể lợi dụng lỗ hổng này để nhập vào những ký tự đặc biệt, để thực thi một số lệnh đặc biệt trên hệ thống Thông thường, lỗ hổng này thường được lợi dụng bởi những người sử dụng trên hệ thống để đạt được quyền root không hợp lệ
Việc kiểm soát chặt chẽ cấu hình hệ thống và các chương trình sẽ hạn chế được các
lỗ hổng loại B
1.2.1.3 Các lỗ hổng loại A [12]:
Các lỗ hổng loại A có mức độ rất nguy hiểm; đe dọa tính toàn vẹn và bảo mật của
hệ thống Các lỗ hổng loại này thường xuất hiện ở những hệ thống quản trị yếu kém hoặc không kiểm soát được cấu hình mạng[5]
Một ví dụ thường thấy là trên nhiều hệ thống sử dụng Web Server là Apache, Đối với Web Server này thường cấu hình thư mục mặc định để chạy các scripts là cgi-bin; trong đó có một Scripts được viết sẵn để thử hoạt động của apache là test-cgi Đối với các phiên bản cũ của Apache (trước version 1.1), có dòng sau trong file test-cgi:
echo QUERY_STRING = $QUERY_STRING
Biến môi trường QUERY_STRING do không được đặt trong có dấu " (quote) nên khi phía client thưc hiện một yêu cầu trong đó chuỗi ký tự gửi đến gồm một số ký tự đặc biệt; ví dụ ký tự "*", web server sẽ trả về nội dung của toàn bộ thư mục hiện thời
Trang 24Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phần mềm sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng sẽ có thể bỏ qua những điểm yếu này
Đối với những hệ thống cũ, thường xuyên phải kiểm tra các thông báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này Một loạt các chương trình phiên bản cũ thường sử dụng có những lỗ hổng loại A như: FTP, Gopher, Telnet, Sendmail, ARP, finger
Ảnh hưởng của các lỗ hổng bảo mật trên mạng Internet :
Phần trình bày ở trên đã phân tích một số trường hợp có những lỗ hổng bảo mật, những người tấn công có thể lợi dụng những lỗ hổng này để tạo ra những lỗ hổng khác tạo thành một chuỗi mắt xích những lỗ hổng Ví dụ, một người muốn xâm nhập vào hệ thống mà anh ta không có tài khoản truy nhập hợp lệ trên hệ thống đó Trong trường hợp này, trước tiên anh ta sẽ tìm ra các điểm yếu trên hệ thống, hoặc từ các chính sách bảo mật, hoặc sử dụng các công cụ dò sét thông tin trên hệ thống đó để đạt được quyền truy nhập vào hệ thống Sau khi mục tiêu như nhất đã đạt được, anh ta có thể tiếp tục tìm hiểu các dịch vụ trên hệ thống, nắm bắt được các điểm yếu và thực hiện các hành động tấn công tinh vi hơn
Tuy nhiên, có phải bất kỳ lỗ hổng bảo mật nào cùng nguy hiểm đến hệ thống hay không? Có rất nhiều thông báo liên quan đến lỗ hổng bảo mật trên mạng Internet, hầu hết trong số đó là các lỗ hổng loại C, và không đặc biệt nguy hiểm đối với hệ thống Ví
dụ, khi những lỗ hổng về sendmail được thông báo trên mạng, không phải ngay lập tức ảnh hưởng trên toàn bộ hệ thống Khi những thông báo về lỗ hổng được khẳng định chắc chắn, các nhóm tin sẽ đưa ra một số phương pháp để khắc phục hệ thống Trên mạng Internet có một số nhóm tin thường thảo luận về các chủ đề liên quan đến các lỗ hổng bảo mật đó là:
Trang 2525
- CERT (Computer Emergency Reponse Team): Nhóm tin này hình thành sau khi
có phương thức tấn công Worm xuất hiện trên mạng Internet Nhóm tin này thường thông báo và đưa ra các trợ giúp liên quan đến các lỗ hổng bảo mật Ngoài ra nhóm tin còn có những báo cáo thường niên để khuyến nghị người quản trị mạng về các vấn đề liên quan đến bảo mật hệ thống Địa chỉ Web site của nhóm tin: http://www.cert.org/
- CIAC (Department of Energy Computer Incident Advisory Capability): tổ chức này xây dựng một cơ sở dữ liệu liên quan đến bảo mật cho bộ năng lượng của Mỹ Thông tin của CIAC được đánh giá là một kho dữ liệu đầy đủ nhất về các vấn đề liên quan đến bảo mật hệ thống Địa chỉ web site của CIAC : http://ciac.llnl.org/
- FIRST (The Forum of Incident Response and Security Teams): Đây là một diễn đàn liên kết nhiều tổ chức xã hội và tư nhân, làm việc tình nguyện để giải quyết các vấn đề về an ninh của mạng Internet Địa chỉ Web site của FIRST:
http://www.first.org./ Một số thành viên của FIRST gồm:
+ CIAC
+ NASA Automated Systems Incident Response Capability
+ Purdue University Computer Emergency Response Team
+ Stanford University Security Team
+ IBM Emergency Response Team
1.2.2 Phân loại lỗ hổng theo thành phần của hệ thống
Các loại lỗ hổng trong hệ thống tạm chia như sau:
1.2.2.1 Lỗ hổng trong cấu hình
Cấu hình không an toàn cũng là một lỗ hổng bảo mật của hệ thống Các lỗ hổng này được tạo ra do các ứng dụng có các thiết lập không an toàn hoặc người quản trị hệ thống định cấu hình không an toàn Chẳng hạn như cấu hình máy chủ web cho phép ai cũng có quyền duyệt qua hệ thống thư mục Việc thiết lập như trên có thể làm lộ các thông tin nhạy cảm như mã nguồn, mật khẩu hay các thông tin của khách hàng
Trang 2626
Nếu quản trị hệ thống cấu hình hệ thống không an toàn sẽ rất nguy hiểm vì nếu người tấn công duyệt qua được các file pass thì họ có thể download và giải mã ra, khi
đó họ có thể làm được nhiều thứ trên hệ thống
a Tài khoản người sử dụng không an toàn
Mỗi user ccount cần có username và password cho mục đích bảo mật Các user name và password này thường được truyền đi ở dạng clear text trên mạng Do đó, cần
có chính sách bảo mật user account như mã hóa, xác thực
b Tài khoản hệ thống đặt mật khẩu dễ đoán
Một điểm yếu trong lỗi cấu hình khác là bảo mạt account với passwword dễ dàng
bị đánh cắp Để ngăn chặn tình trạng đó, người quản trị cần có chính sách để không cho phép một password có hiệu lực mãi mãi mà password này phải có một thời hạn kết thúc
c Dịch vụ Internet bị lỗi cấu hình
Một vài công ty sử dụng địa chỉ thật trên mạng Internet để đánh địa chỉ cho host và server Điều này tạo nên điểm yếu mà các hacker sẽ dễ dàng khai thác thông tin
Sử dụng giao thức NAT hoặc PAT có thể giải quyết vấn đề trên Sử dụng địa chỉ riêng ( private address ) cho phép đánh địa chỉ hosts và servers ma không cần dùng địa chỉ thật trên mạng, trong khi địa chỉ thật thì được border router định tuyến ra mạng internet
Đó không phải là biện pháp tối ưu Port trên interface kết nối ra internet phải ở trạng thái open cho phép users vào mạng internet và ngược lại Đó là lỗ hỏng trên bức tường lửa ( firewall ) mà hacker có thể tấn công vào Bạn có thể tạo ra tính bảo mật cho network bằng cách sử dụng “ conduits ”, là kết nối bảo mật cơ bản Cisco Secure Private Internet Echange ( PIX ) firewall là biện pháp tối ưu tạo ra tính bảo mật tốt cho mạng
d Thiết đặt cấu hình mặc định trong các sản phẩm
Nhiều sản phẩm phần cứng được cung cấp mà không có password hoặc là password sẵn có giúp cho nhà quản trị dễ dàng cấu hình thiết bị Nó làm cho công việc
dễ dàng hơn, như một số thiết bị chỉ cần cắm vào và hoạt động Điều này sẽ giúp cho
Trang 2727
sự tấn công mạng trở nên dễ dàng Do đó, ta cần phải thiết lập một chính sách cấu hình bảo mật trên mỗi thiết bị trước khi thiết bị được lắp đặt vào hệ thống mạng
e Cấu hinh trang thiết bị mạng bị lỗi
Lỗi cấu hình thiết bị là một lổ hổng có thể khai thác để tấn công mạng: password yếu, không có chính sách bảo mật hoặc không bảo mật user account… đều là lỗi cấu hình thiết bị Phần cứng và những giao thức chạy trên thiết bị cũng tạo ra lỗ hỏng bảo mật trong mạng
Nếu chung ta không có chính sách bảo mật cho phần cứng và những giao thức này thì hacker sẽ lợi dụng để tấn công mạng Nếu bạn sử dụng SNMP được mặc định thiết lập thì thông tin có thể bị đánh cắp một cách dễ dàng và nhanh chóng Do đó, hãy chắc chắn là bạn làm mất hiệu lực của SNMP hoặc là thay đổi mặc định thiết lập SNMP có sẵn
1.2.2.2 Lỗ hổng trong giao thức mạng
a Giao thức SMTP
Trong giao thức truyền thư điện tử đơn giản SMTP vốn không có cơ chế xác thực, cho nên thư điện tử rất dễ bị kẻ xấu mạo danh Nếu mail server được thiết lập để cho phép kết nối cổng SMTP thì bất cứ ai cũng có thể đưa đến đó những lệnh chuyển một bức thư điện tử với địa chỉ người gửi tùy ý, gây ra lẫn lộn thật giả rất tai hại ( trường hợp của phần lớn các virus mới)
b Giao thức LDAP
Việc kết nối trong giao thức LDAP (phiên bản 2 và 3) được client thực hiện trực tiếp qua cổng 389, trước khi yêu cầu LDAP làm những việc như tìm kiếm (search), bổ sung (add), Không có gì bảo đảm rằng client sẽ kết nối đến đúng server LDAP, bởi vì trong CSDL tên miền, hacker có thể thay đổi tên server LDAP thành server LDAP khác Hoặc Hacker cũng có thể cài đặt một server LDAP khác và giả làm server LDAp thật Mặt khác, mọi thông tin trao đổi giữa client và server LDAP đều ở dạng rõ (plain text) tức là chưa được mã hóa, nên hacker có thể dễ dàng đọc và thay đổi
c Giao thức DHCP
Trang 28“minires” dẫn xuất từ thư viện resolver” của phàn mềm BIND 8, nhưng những kẽ hở nói trên không ảnh hưởng tới các phiên bản hiện hành của BIND
Ngày 16/01/2003, tập đoàn phàn mềm ISC (Internet Software Consortium), một tổ chức phi lợi nhuận, cũng đã thừa nhận sự tồn tại của một số lỗi tràn bộ đệm trong phần mềm mã nguồn mở nổi tiếng thực hiện giao thức DHCP Ngoài việc cấp các dữ liệu cấu hình, phần mềm này còn cho phép máy chủ dịch vụ DHCP cập nhật động cho máy chủ dịch vụ tên miền DNS, do đó không cần cập nhật thủ công DNS nữa Trong khi kiểm tra, ISC đã tìm thấy cấc lỗi của những chương trình còn xử lý sai xót (error handling routines) trong thư việc “minires” được dùng bởi hàm NSUpdate để giải quyết vấn đề tên máy (hostname) Ngay sau đó, các phiên bản 3.0pl2 và 3.0RC11 của phần mềm ISC DHCP đã được sửa lỗi
d Giao thức FTP
FTP là một giao thức có nhiều kẽ hở lớn, kể cả khi được tăng cường bằng các cơ chế an ninh như IPSec và SSH Nhưng dù bất ổn như thế, cho đến nay trong thực tiễn FTP vẫn được dùng để tải các tệp tin lên máy chủ ở xa Sau đây là một số trường hợp
sở hở của FTP:
Khi gửi lệnh PASV
Khi client FTP gửi lệnh PASV, một hacker có thể nhanh tay kết nối vào cổng TCP của server FTP trước client này
Có thể so sánh địa chỉ đó với địa chỉ IP của client để phát hiện tin tặc, nhưng biện pháp này sẽ vô nghĩa nếu hacker dùng chung (ở chế độ multiuser) cùng một máy trạm hoặc máy proxy với nạn nhân
Trang 2929
Có thể phòng bằng cách thiết lập cấu hình sao cho HĐH từ chối mọi tín hiệu yêu cầu SYN sau yêu cầu đầu tiên, nhưng một số HĐH lại không cho thiết lập như vậy
Có thể cắt bỏ cuộc truyền nếu kiểm tra tháy có nhiều kết nối cùng được cháp nhận bằng ACK trên một cổng, nhưng biện pháp này không chắc chắn vì tín hiệu ACK cũng có khi bị mất hoặc trễ
Gửi lệnh PORT
Khi client FTP gửi lệnh PORT rồi chờ, một hacker có thể kịp kết nối riêng với server và được server cho truy cập vào cổng TCP của client Client không thể phân biệt vì nó là kết nối vủa máy chủ hợp pháp
Khi máy chủ kết nối
Một hacker có thể yêu cầu máy chủ FTP cho kết nối vào cổng TCP với địa chỉ
IP bất kỳ và gửi một file được chọn bởi chính hacker Đó là kẽ hở nghiêm trọng nếu server này có quyền nối kết tưởng lửa hoặc các cổng đặc biệt
e Giao thức Telnet
Bản thân giao thức Telnet không có cơ chế bảo đảm an ninh Khi cài đặt phần mềm thực hiện giao thức Telnet chúng ta thường phải bổ sung các tùy chọn, thí dụ theo đề xuất RFC 1091, 1184, 1372 của IETF Trong trường hợp phổ biến nhất, như một terminal ở chế độ truy cạp từ xa qua cổng TCP số 23, phần mềm thực hiện Telnet kết nối đến server yêu cầu xác thực người sử dụng bằng cách kiểm tra tên và mạt khẩu ở chế độ rõ, nhưng server lại không thể tự xác thực được cho mình
Theo Microsoft, phần mềm thực hiện giao thức Telnet cài sẵn trong HĐH Windows 2000 của họ cũng không bịt được các kẽ hở của giao thức này Phần mềm Telnet trong HĐH Windows 2000 quả thật đã tiềm ẩn tới 7 kẽ hở, bao gồm 4 lỗi không chống nổi tấn công từ chối dịch vụ, 2 lỗi về đặc quyền ưu tiên và 1 lỗi để lộ thông tin
Trang 3030
f Giao thức IPSec và SSH
Công nghệ an toàn lớp trên như IPSec, SSL và SSH cung cấp cho các ứng dụng mạng một mức an ninh theo chiều ngang (end-to-end security), xét quan hệ giữa hai chủ thể bên nguồn và bên đích Tuy nhiên trong thực tế chúng phụ thuộc vào hai điều kiện sau:
Một hạ tầng an toàn tương ứng, thí dụ có xác thực
Những người sử dụng có hiểu biết cao về tin học và luôn thao tác đúng đắn kể
cả trong những trường hợp bát thường
Điều kiện thứ nhất có thể thực hiện được (thí dụ bằng hạ tầng mã hó khóa công khai), nhưng điều thứ hai thì hiện nay không có ai dám chắc
Như đã nói ở trên, an toàn cần phải được xét theo chiều dọc trong mô hình mạng OSI Mức an ninh từ gốc đến đích được xây dựng ở tầng ứng dụng trên cùng và phụ thuộc vào sự an toàn của những tầng dưới Nếu ở dưới là một mạng nội bộ kiểu Wifi với chế độ broadcast thì khồn có gì đảm bảo rằng hacker không thu tín hiệu trong vùng phủ sóng và không giải mã được
g Giao thức ICMP
Giao thức ICMP là một mở rộng của giao thức liên mạng IP, ICMP cung cấp một
cơ chế cho các thông báo điều khiển và thông báo lỗi Thí dụ lệnh ping sử dụng các gói ICMP để kiểm tra việc kết nối giữa hai địa chỉ IP Nhưng hacker có thể lợi dụng các gói tin ICMP không đến đích để do thám một mạng Nói chung cần phải ngăn cản hoặc chí ít phải lọc những gói tin ICMP không đến đích và những gói tin ICMP đổi hướng (redirect) trong router
h Giao thức NTP v3
Giao thức NTP được dùng để đồng bộ và cập nhật thời gian trên các máy chủ và thiết bị mạng từ một số máy chủ NTP Giao thức này mở cho hacker một cách tấn công bằng che dấu hoặc thay đổi giờ nhằm làm si thời gian trong các tệp ký sự
Trang 3131
i Giao thức SNMP
Giao thức SNMP được dùng để quản trị, theo dõi và lập cấu hình cho các thiết bị mạng Đáng tiếc là những file cấu hình mặc định của SNMP thường không mấy an toàn vì có vài khiếm khuyết và hacker có thể lợi dụng
kỳ loại transaction.TLS client-server cũng có thể được sử dụng để hầm một mạng lưới toàn bộ ngăn xếp để tạo ra một VPN, và để cung cấp chứng thực và mã hóa các Session Initiation Protocol (SIP) SSL / TLS có thể được sử dụng để cung cấp chứng thực mạnh
mẽ của cả hai bên trong một phiên truyền thông, mã hóa dữ liệu mạnh mẽ của quá cảnh giữa chúng, và đảm bảo tính toàn vẹn của dữ liệu trong quá cảnh Trong vài năm trở lại đây, các loại hình tấn công đã được thiết kế để tận dụng lợi thế của tính lựa chọn của SSL / TLS kiến trúc, thiết kế và điểm yếu của các bộ mã hoá sử dụng trong SSL / TLS
để mã hóa và thành lập chính Có thể kể đến các dạng tấn công vào giao thức này:
• Browser Exploit Against SSL/TLS (BEAST) attack
• Compression Ratio Info-leak Made Easy (CRIME) attack
• Timing Info-leak Made Easy (TIME) attack
• Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext (BREACH) attack
• Lucky 13 attack
• RC4 biases in TLS
Trang 3232
1.2.2.3 Lỗ hổng trong hệ điều hành
Thực tế hiện nay cho phép liệt kê hàng trăm kẽ hở an ninh trên mạng Hệ điều hành
là phần mềm cơ bản nhất của các máy tính; tuy chúng còn tồn tại khá nhiều nhưng đa
số thị phần chỉ thuộc về một vài hệ điều hành nổi tiếng và trong số đó những HĐH chạy trên máy chủ có ảnh hưởng quan trọng đến an ninh mạng
a Hệ điều hành Unix
Trong thực tế, các phiên bản Unix chưa phổ biến nhiều tại Việt Nam Ngoài 2 sản phầm IBM AIX và Sun Solaris thường được sử dụng ở những nơi có yêu cầu cao và điều kiện đầu tư như các ngành ngân hàng, tài chính, viễn thông, hàng khồn, điện lực, Tuy nhiên, các phiên bản Unix cũng bị tấn công do có một số kẽ hở an ninh, dù rằng phần lớn đã nhanh chóng được bịt lại Những kẽ hở su được coi là nguồn gốc chung của các lỗi đã xảy ra:
Các thủ tục gọi hàm từ xa RPC (remote Procedure Calls)
Các dịch vụ ở dạng văn bản rõ (Clear Text Services)
Giao thức SNMP (Simple Network managerment Protocol)
Lớp an ninh SSH (Secure Shell)
Lớp SSL mở (Open Secure Sockets Layer)
Các tài khoản xác thực chung (General Authentication Accounts) không có mật khẩu hoặc chỉ có mật khảu dễ đoán (weak password)
Cấu hình sai (misconfiguration) ở cấp cơ quan doanh nghiệp cho những dịch vụ về mạng NIS hoặc NFS
Ngoài ra còn một số các kẽ hở riêng, nhưng chúng chỉ xuát hiện trong từng phiên bản của Unix:
Rmail (IBM AIX 3.2), lạm dụng stdt (AIX 3.2, 4.1), mount, xdat, xlock (AIX 4.1.3, 4.1.4, 4.2.0, 4.2.1)
MGE UPS, rwall daemon, automound (Sun Solaris 2.5.1), printd tmpfile, Iprm, ufsdump, ufsrestore, ftp mnet (Solaris 2.6)
Trang 33 GNOME display manager (Redhat Linux), do_mremap (các phiên bản Linux kernel trước 2.4.25)
FreeRADIUS (các phiên bản trước 0.9.3) trong Redhat Enterprise Linux AS3 và Redhat Enterprise Linux ES3
Rsync buffer overflow (các phiên bản Linux kernel từ 2.x đến trước 2.5.7w)
Phiên bản Redhat Linux 8.0 được phát hành cùng với phần mềm DHCP của ISC có chứa lỗi tràn bộ đệm hướng ngăn xếp (Stack – based buffer overflow)
Backdoor của kernel Linux, liên quan đến hàm gọi hệ thống wait4() có mặt trong mọi chương trình máy tính linux
c Hệ điều hành Windows
Hầu hết máy PC đều cài đặt các phiên bản Windows, do đó tác hại của các cuộc tấn công vào hệ điều hành này có khả nâng nhân rộng và nhanh hơn các cuộc tấn công vào hệ điều hành khác Ngoài ra, rất nhiều hacker có mâu thuẫn với Microsoft nên họ luôn tìm cách moi móc và khai thác các kẽ hở của Windows
Trang 3432 bit, 64 bit 1.2.2.4 Lỗ hổng trong ứng dụng
a Lỗ hổng ứng dụng Web
Ngày nay, các ứng dụng web ngày càng đóng một vai trò quan trọng đối với mọi tổ chức Điều này trở nên rõ ràng khi các ứng dụng web bị tấn công sẽ làm ảnh hưởng nghiêm trọng đến các chức năng hoạt động của tổ chức Một loạt các cuộc tấn công nhằm vào các hệ thống website với các kỹ thuật rất tinh vi và khác nhau Có thể kể đến các cuộc tấn công:
+ DDoS gây ảnh hưởng nghiêm trọng đến việc cung cấp dịch vụ web cho người dùng và thiệt hại nặng nề cho đươn vị chủ quản web Một số cuộc tấn như: tấn công DDoS làm hàng loạt website thuộc hệ thống của Công ty Cổ phần truyền thông Việt Nam (VCCorp) và các website được hỗ trợ vận hành bởi đơn vị này đồng loạt gặp sự
cố gây thiệt hại hàng chục tỷ đồng, hay các cuộc tấn công vào các website thương mại điện tử như Én bạc, Rồng bay
+ Tấn công dạng SQL Injection nhằm truy cập website bất hợp pháp đánh cắp chỉnh sửa cơ sở dữ liệu, phá hoại trang web
Ngoài ra còn rất nhiều các loại tấn công khác nhằm vào các website có thể kể đến như XSS, deface
Có thể nói website luôn luôn là mảnh đất màu mỡ mà các tin tặc nhằm đến, và tìm cách khi thác lỗ hổng
Trang 3535
b Lỗ hổng bảo mật heartbleed trong ứng dụng OpenSSL
Lỗi Heartbleed là cực kỳ nghiêm trọng, nó làm lộ một lượng lớn các khóa mã cá nhân và các thông tin bí mật khác lên Internet do để lộ nội dung trên bộ nhớ của máy chủ, nơi lưu trữ các thông tin nhạy cảm nhất, bao gồm thông tin cá nhân như tên truy cập, mật khẩu, số thẻ tín dụng Điều này cho phép những kẻ tấn công có thể lấy được
mã cá nhân và giải mã các thông tin đã được mã hóa trên máy chủ, thậm chí giả mạo máy chủ
OpenSSL là một công nghệ mã hóa được sử dụng rất phổ biến trên hàng triệu website để mã hóa việc truyền tin và bảo vệ các dữ liệu nhạy cảm như email, mật khẩu ngân hàng… Nhưng một kẽ hở nghiêm trọng gọi là “Heartbleed” (Trái tim rỉ máu) trong OpenSSL đã tạo lỗ hổng để tội phạm mạng có thể lấy được những thông tin nhạy cảm từ bộ nhớ của hệ thống
Trang 36
36
Chương 2 MỘT SỐ LỖ HỔNG THIẾU AN NINH TRONG ỨNG DỤNG
CÔNG NGHỆ THÔNG TIN 2.1 LỖ HỔNG BẢO MẬT TRONG GIAO THỨC TSL/SSL
2.1.1 Giới thiệu [10]
Giao thức Secure Sockets Layer (SSL) được sử dụng rộng rãi cho việc đảm bảo thông tin liên lạc an toàn qua mạng Internet Giao thức SSL cho phép mã hóa đối xứng bằng cách sử dụng thuật toán mã hóa khối hoặc mật mã dòng Trong thực tế quá trình triển khai , thông thường sử dụng mật mã khối, và tin tặc cũng tận dung sơ hở này để thực hiện các cuộc tấn Luận văn trình bày sẽ cho thấy một kẻ tấn công tấn công man-in-the-middle sau đó lựa chọn bản rõ ( các hàm tiên tri) với SSL để nhanh chóng khôi phục lại bản rõ thật Trong trường hợp của HTTPS chúng ta sẽ chứng minh rằng một
kẻ tấn công có thể giải mã và có thông tin của HTTP Cookie [10]
2.1.2.Mô tả tấn công BEAST lên bộ giao thức SSL/TLS
BEAST (Browser Exploit Against SSL/TLS) là kỹ thuật khai thác điểm yếu của chế độ mã khối CBC và mức độ bảo mật yếu của trình duyệt web Lỗ hổng loại này tồn tại trong các phiên bản SSL2.0, SSL 3.0/TLS 1.0 có hỗ trợ chế độ mã khối CBC
Việc kiểm tra máy chủ Web có bị ảnh hưởng bởi tấn công BEAST hay không, được thực hiện rất dễ dàng bởi công cụ trực tuyến tại địa chỉ www.ssllabs.com/ssltest Các bước thực hiện tấn công:
- Kẻ tấn công sẽ cài một chương trình (agent) vào trình duyệt của người dùng (client) Agent này có thể đơn giản là một đoạn mã javascript, cài vào trình duyệt theo cách tấn công XSS
- Agent này có khả năng yêu cầu trình duyệt thực hiện một yêu cầu (HTTPS request) tới một server chạy HTTPS, lúc này thông điệp (được mã hóa) gửi tới server
sẽ bị Kẻ tấn công lấy trộm được
- Sau khi có được thông điệp (được mã hóa) kể tấn công tiếp tực đưa các bản rõ vào để quan sát bản mã đầu ra so sánh để tìm ra bản rõ
Trang 3737
Hình 2.1 Mô tả tấn công BEAST Đường truyền https từ client đến server được mã hóa bởi SSL/TLS nhằm đảm bảo tính bí mật, tính toàn vẹn và tính xác thực của nội dung thông tin
2.1.3 Ý tưởng tấn công do Wei Dai đề xuất chống lại chế độ mã khối CBC Quá trình mã hóa trong SSL/TLS sử dụng khóa đối xứng và ở đây ta thực hiện đối với các hệ thống thực hiễn mã hóa khối dưới chế độ CBC (3DES, AES) với bản rõ đầu vào có độ dài không đổi (64, 128, 256 bit) [1]
Quá trình mã hóa và giải mã trong chế độ CBC [1]:
Mã hóa
Trang 3939
P, C tương ứng là bản rõ và bản mã;
C0 = IV là vector khởi tạo ban đầu;
Ek , Dk là các thuận toán mã hóa và giải mã
Vector khởi tạo CBC (IV) không cần phải giữ bí mật nhưng không thể dự đoán trước khi kẻ tấn công lựa chọn một bản rõ Với cùng đầu vào (khóa và bản rõ) nhưng vector khởi tạo khác nhau thì giá trị đầu ra sẽ khác nhau [1]
Một hàm tiên tri (oracle) có thể được xây dựng thành công nếu kẻ tấn công biết được các vector khởi tạo sử dụng trong chế độ CBC Coi như kẻ tấn công đã hoàn toàn
sở hữu khối bản mã Cj-1 (khối bản mã trước đó) Do sử dụng chế độ CBC, nên khối bản
mã này được dùng với vai trò vector khởi tạo cho khối bản rõ tiếp theo Pj Có thể tạo ra một bản rõ dự đoán P* và xác nhận bằng cách quan sát khi nào thì biểu thức sau đây thỏa mãn (các chỉ số i và j khác nhau): Theo quá trình mã hóa, giải mã trong chế độ mã móc xích CBC ta luôn có [1][10]:
Trang 4040
= Ci
Nếu thỏa mãn phương trình (3), thì giá trị Pj+1 ở (2) mà kẻ tấn công dự đoán là chính xác và việc dự đoán này sẽ tìm thấy hoàn toàn bản rõ Nếu Pj+1 nhận một giá trị W cụ thể thì có thể giải mã được sau khi thử tất cả giá trị W có khả năng Trong thực tế phạm vi của giá trị W rất rộng, tầm 2128 Câu hỏi được đặt ra là làm sao để thu nhỏ phạm vi dự đoán của W? Phương án được đưa ra là chọn ranh giới tấn công chống lại mã khối ở chế độ CBC Di chuyển đường biên khối xung quanh để thu nhỏ giá trị W đến 256 Với giả thiết là kẻ tấn công có thể thêm một số byte vào bản rõ [1] [10] 2.1.4 Tấn công lựa chọn giá trị biên (block-wise chosen-boundary attack) [10]
Để áp dụng phương pháp tấn công lên SSL/TLS và giải mã các khối bản mã, các tác giả đã đề xuất một kiểu tấn công mới được gọi là kiểu tấn công lựa chọn giá trị biên với các khối quan trọng (block-wise chosen-boundary attack) Ta có b là kích thước khối tính theo byte, và thông điệp m (message) bao gồm L byte m[1], m[2], m[L] sẽ được chia thành s b-byte khối p1, p2, ps Từ đây một kẻ tấn công có thể thêm vào trước r byte vào m (r <b) Hình 1 minh họa một ví dụ cụ thể về những gì vừa được mô
tả Trong trường hợp này kích thước khối trong byte 8 và m gồm 9 byte Thêm vào trước m một chuỗi 7-byte tùy ý, một kẻ tấn công thay đổi ranh giới khối mới với 7 byte bên trái đã biết trước và chỉ phải dự đoán byte còn lại của khổi mới Nói chung, đối với bất kỳ cặp liên tiếp các byte m [i] và m [i + 1], một kẻ tấn công có thể luôn luôn thêm vào trước ít hơn byte b như vậy tạo ra một ranh giới giữa khối m[i] và m[i + 1 ] Do đó,
kẻ tấn công có thể chọn vị trí để tạo ra ranh giới khối [10]
Block blocksize 8
len(m) =9 len(r) = 7 Block
R1 R2 R3 R4 R5 R6 R7 M1 M2 M3 M4 M5 M6 M7 M8 M9
Hình 2.4 Thêm một chuỗi vào thông điệp để chọn ranh giới khối M1 M2 M3 M4 M5 M6 M7 M8 M9