Session ID có thể được lưu trữ trong cookie hay được nhúng vào địa chỉ URL hay trong biến ẩn form. Thông thường, sau khi người dùng được chứng thực dựa trên những thông tin cá nhân như tên/mật khẩu, session ID được xem như một mật khẩu tĩnh tạm thời cho những lần yêu cầu tiếp theo. Điều này đã khiến cho session ID là mục tiêu lớn cho những hacker.Trong nhiều trường hợp, hacker giành được sesion ID hợp lệ của người dùng để từ đó đột nhập vào phiên làm việc của họ.
Tấn công vào một phiên làm việc thường được thực hiện theo 2 kiểu chính sau: Ấn định phiên làm việc
Đánh cắp phiên làm việc
2.6.2. Ấn định phiên làm việc
Trong kiểu tấn công ấn định một phiên làm việc, hacker ấn định sẵn session ID cho nạn nhân trước khi họ đăng nhập vào hệ thống. Sau đó, hacker sẽ sử dụng session ID này để bước vào phiên làm việc của nạn nhân đó.
Một số cách tấn công session ID:
Tấn công session ID trên tham số URL
Hacker gửi một liên kết yêu cầu người dùng đăng nhập vào hệ thống máy đích với session ID đã được ấn định sẵn trên URL.
Cách tấn công này đòi hỏi ứng dụng phải tạo session ID ngay khi người dùng sử dụng ứng dụng. Dễ bị phát hiện bởi người dùng.
Tấn công session ID trong biến ẩn form
Kỹ thuật này cũng tương tự kỹ thuật biến ẩn form, nghĩa là sau khi hacker xem mã HTML của trang web, nhận thấy sesion ID được đặt trong biến ần form, hacker sẽ gửi một session ID cũng trên URL đến người dùng hoặc một trang web giống trang đích nhưng với biến ẩn form mang giá trị ấn định sẵn.
Tấn công session ID trong cookie
Bằng việc lợi dụng cookie, hacker có ba cách để đưa một sesion ID đến trình duyệt của nạn nhân:
- Sử dụng ngôn ngữ kịch bản (Javascrip, Vbscrip…) để thiết lập một cookie trong trình duyệt của nạn nhân.
- Sử dụng thẻ <META> để thiết lập thuộc tính Set-Cookie - Sử dụng Set-Cookie của HTTP header trả lời
Cách phòng chống:
Trước hết cũng cần nói rằng việc phòng chống kiểu tấn công ấn định session ID này không thuộc trách nhiệm của trình chủ web server, vì trình chủ chỉ cung cấp API quản lý phiên làm việc cho ứng dụng. Vì thế, chỉ ứng dụng mới cần có những biện pháp phòng chống lại kiểu tấn công này.
Biện pháp 1: Chống việc đăng nhập với một session ID có sẵn
Theo kiểu tấn công này, người dùng đăng nhập vào hệ thống thông qua một session ID do hacker tạo sẵn thay vì cho trình chủ tạo mới, do đó để có thể phòng chống, ứng dụng phải hủy bỏ session ID được cung cấp bởi trình duyệt của người dùng khi đăng nhập và luôn tạo một session ID mới khi người dùng đăng nhập thành công.
Biện pháp 2: Phòng chống những hacker bên ngoài hệ thống
Việc tạo ứng dụng trên hệ thống theo hướng giới hạn (chỉ tạo một session ID mới cho người dùng sau khi họ thành công) sẽ khi cho những hacker không phải là người dùng hợp lệ của hệ thống không thể sử dụng phương pháp tấn công này.
Biện pháp 3: Giới hạn phạm vi ứng dụng của session ID + Kết hợp session ID với địa chỉ của trình duyệt
+ Kết hợp session ID với thông tin chứng thực được mã hóa SSL của người dùng.
+ Xóa bỏ sesion khi người dùng thoát khỏi hệ thống hay hết hiệu lực, có thể thực hiện trên trình chủ hoặc trình duyệt (cookie).
+ Người sử dụng phải dùng chế độ thoát khỏi hệ thống để xóa bỏ session hiện thời và có thể những session ID còn lưu lại trên hệ thống khi họ quên thoát ra ngoài những lần trước.
+ Thiết lập thời gian hết hiệu lực cho session, tránh trường hợp hacker có thể duy trì session và sử dụng nó lâu dài.
2.6.3. Đánh cắp phiên làm việc
Khác với kiểu tấn công ấn định phiên làm việc, hacker đánh cắp một sesion ID của người dùng khi họ đang trong phiên làm việc của mình. Và có thể đánh cắp session ID của người dùng, hacker có thể dùng những phương pháp sau:
Dự đoán phiên làm việc (Prediction session ID)
Hacker phải là người dùng hợp lệ của hệ thống, sau vài lần đăng nhập vào hệ thống, hacker xem xét các giá trị session ID nhận được, tìm ra quy luật phát sinh và từ đó có thể đoán được giá trị của một phiên làm việc của người dùng kế tiếp.
Vét cạn phiên làm việc (Brute force ID)
Hacker có thể tự tạo ra một chương trình gửi nhiều yêu cầu trong một khoảng thời gian đến trình chủ. Mỗi một yêu cầu kèm theo một session ID để tìm các session ID đang tồn tại. Hacker dựa vào thói quen của những nhà phát triển ứng dụng lấy thời gian hay địa chỉ IP của người dùng để tạo session ID để hạn chế vùng vét cạn.
Dùng đoạn mã đánh cắp phiên làm việc
Bằng cách chèn vào một đoạn mã thực thi trên chính trình duyệt của nạn nhân, hacker có thể lừa người dùng theo vết một liên kết để từ đó thực hiện đánh cắp cookie của người dùng và cách này được thực hiện thông qua lỗi Cross-Site Scripting. Sau khi có được phiên làm việc của người dùng, hacker vào phiên làm việc của họ.
Biện pháp phòng chống:
Nội dung cách phòng chống tương tự cách phòng chống trong kỹ thuật “Ấn định phiên làm việc” và cách tấn công Cross-Site Scripting.
Một số ưu ý:
+ Không được chủ quan khi nghĩ rằng thuật toán tạo session của ứng dụng là bảo mật, không ai có thể đoán được.
+ Với session ID quá ngắn, hacker có thể dùng kỹ thuật “Vét cạn”. Nhưng không vì thế mà cho rằng ứng dụng sẽ bảo mật với session ID dài và phức tạp vì kích thước session ID sẽ là một vấn đề nếu thuật toán không tốt.
CHƢƠNG III. TRIỂN KHAI PHƢƠNG PHÁP TẤN CÔNG TỪ CHỐI DỊCH V VÀ GIẢI PHÁP BẢO MẬT WEBSITE TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ
THUẬT VINH
3.1. Tình hình ứng dụng công nghệ thông tin giai đoạn 2011-2015 3.1.1. Hạ tầng kỹ thuật 3.1.1. Hạ tầng kỹ thuật
Trong những năm qua được sự quan tâm của Bộ Lao động Thương binh và Xã hội với nỗ lực của Nhà trường, Trường Đại học Sư phạm Kỹ thuật Vinh đã từng bước đầu tư nâng cấp hạ tầng thiết bị công nghệ thông tin nhằm phục vụ đào tạo có hiệu quả đưa chất lượng đào tạo trong Nhà trường từng bước hội nhập và phát triển mạnh. Cụ thể gia đoạn từ năm 2011 – 2015 Nhà trường đã đầu tư mua sắm và đã đưa vào sử dụng có hiệu quả các thiết bị như sau:
Số ượng máy chủ: 5 bộ. Trong đó 3 bộ máy sử dụng cho dịch vụ Web server, Data
server và DHCP server; 1 bộ phục vụ Thư viện điện tử; 1 bộ phục vụ công tác đào tạo chuyên ngành Quản trị mạng tại khoa Công nghệ thông tin.
Băng thông đường truyền: Hiện tại Nhà trường đang sử dụng tổng cộng 6 đường truyền Internet tốc độ cao. Trong đó có 1 đường truyền Lead line (Trực tiếp) tốc độ 1 mbps và 5 đường truyền FTTH tốc độ băng thông 32 mbps.
Hệ thống an toàn bảo mật: Nhà trường đã đầu tư hệ thống phần cứng và phần mềm
để an toàn bảo mật hệ thống thông tin.
- Phần cứng thiết bị bảo mật gồm: 1 bộ Firewall FortiGate-60 và 1 bộ Cyberoam - CR100ING
- Phần mềm bảo mật gồm: Soft Firewall Cyberoam - CR100ING và phần mềm diệt vi rút bản quyền.
Hệ thống chuyển mạch:
Giai đoạn từ năm 2011-2014 Nhà trường đã đầu tư trang thiết bị chuyển mạch mạng tương đối nhiều và cơ bản đáp ứng được dịch vụ truy cập mạng trong Nhà trường cụ thể như sau:
- Chuyển mạch mạng lớp 2 (switch Layer 2 ): 4 bộ Cisco WS-C2960S-24TS-L, 5 bộ Cisco WS-C2960-24TT-L, 5 bộ Cisco SRW224G4P và các chuyển mạch mạng củacác hãng khác …
- Thiết bị định tuyến: 3 bộ CISCO2901-SEC/K9 (Access Server).
Hệ thống ưu trữ à sao ưu dữ liệu: Trong số các máy chủ trên Nhà trường đã dành 1
máy chủ phục vụ Backup dữ liệu tự động, phục hồi dữ liệu khi có sự cố. Ngoài ra Nhà trường sử dụng ổ cứng gắn ngoài để lưu trự dữ liệu định kỳ hàng tuần.
Hình . . ơ đồ mạng trường Đại học ư phạm Kỹ thuật Vinh
3.1.2. Ứng dụng nội bộ
Ứng dụng công nghệ thông tin trong các hoạt động chuyên môn:
Hiện tại nhà trường đã đầu tư các phần mềm Quản lý đào tạo, pần mềm Quản lý hành chính, phần mềm Quản lý tài chính.
Phần mềm Quản lý đào tạo được Nhà trường đầu tư từ năm 2009 hiện tại đã được năng cấp phiên bản năm 2015 và bổ sung Modul phần mềm quản lý hành chính phục vụ tốt các công việc quản lý đào tạo trong Nhà trường.
Thư viện điện tử công cụ:
Nhà trường đang sử dụng mạng nội bộ để tra cứu sách tài liệu tham khảo phục vụ học thuật, học liệu cho sinh viên. Có trang thông tin thư viện để học sinh sinh viên tra cứu http://lib-vuted.edu.vn
Hiện tại chưa có hệ thống thư điện tử công vụ, hầu hết các cán bộ, giảng viên của nhà trường đang sử dụng hệ thống email miễn phí như: gmail.com, yahoo.com ...
3.2. Hiện trạng Website trƣờng Đại học Sƣ Phạm Kỹ thuật vinh
Hình 3.2. Website trường Đại học ư phạm Kỹ thuật Vinh
Website lấy tên miền là vuted.edu.vn (địa chỉ IP là 123.30.185.161) được đặt tại máy chủ của nhà trường. Website được thiết kế theo hướng mở, cho phép nâng cấp và cập nhật thêm các tính năng mới.
3.3. Tấn công từ chối dịch vụ (DoS) 3.3.1. Giới thiệu về tấn công mô phỏng 3.3.1. Giới thiệu về tấn công mô phỏng
Cuộc tấn công DoS trong thực nghiệm dưới đây chỉ mang tính minh họa cho lý thuyết ở trên không mang tính phá hoại nên chỉ sử dụng công cụ có tính năng nhẹ nhằm giảm tính phá hoại hệ thống. Công cụ sử dụng ở đây là DoSHTTP 2.5.1, là công cụ có tính phá hoại nhẹ và cũng là công cụ giúp đỡ cho các quản trị viên kiểm tra và đánh giá hiệu năng của máy chủ web nhằm đảm bảo tính ổn định và đưa ra các giải pháp tốt nhất cho hệ thống.
3.3.2. Công cụ và các bƣớc chuẩn bị
- Phần mềm DoSHTTP 2.5.1
- Phần mềm phân tích gói tin WireShark
3.3.3. Tiến hành tấn công
Cuộc tấn công với công cụ DoSHTTP 2.5.1 sẽ liên tiếp tạo các resquest từ client với một IP nguồn đến server web làm cho ngập băng thông của server. Khi đó các client hợp lệ truy cập vào server web sẽ bị từ chối.
Các bước thực hiện cuộc tấn công : - Bước 1 : Cài đặt DoSHTTP 2.5.1
Hình 3.3. Cài đ t DoSHTTP 2.5.1
- Bước 2 : Bật WireShark
- Bước 3 : Vào Website mục tiêu để kiểm tra => www.vuted.edu.vn
Hình 3.5. website mục tiêu kiểm tra
- Bước 4 : Kiểm tra WireShark thấy các kết nối tới www.vuted.edu.vn tuy có nhiều gói tin bị mất khi truy cập nhưng nhìn chung việc truy cập trang web vẫn diễn ra bình thường.
- Bước 5 : Xác định mục tiêu và bắt đầu tấn công là www.vuted.edu.vn
Hình 3.7. X c định mục tiêu và bắt đầu tấn công
- Bước 6 : Kiểm tra các kết nối trong WireShark khi tấn công, các gói tin HTTP rớt hoàn toàn, chỉ có các gói tin TCP gửi đến để thực hiện kết nối theo 3 bước bắt tay là được nhận và có hồi đáp bằng gói tin ACK từ ww.vuted.edu.vn.
Hình 3.8. Kiểm tra các kết nối trong WireShark khi tấn công
- Bước 7 : Kiểm tra website bằng cách vào lại lần nữa và đồng thời mở một trang web bất kỳ ở cửa sổ khác (ở đây là trang www.vied.vn) ta thấy rằng
www.vuted.edu.vn không thể truy cập vào được trong khi đó trang www.vied.vn
Hình 3.9. Kiểm tra lại website
- Bước 8 : Tắt phần mềm
Hình 3.10. Tắt phần mềm DoSHTTP
- Bước 9 : File báo cáo sau khi sử dụng phần mềm DoSHTTP 2.5.1
3.4. Đánh giá
Dựa vào kết quả mô phỏng ta đã phần nào hiểu hơn về việc thế nào là tấn công từ chối dịch vụ (DoS). Qua đó chứng minh cho ta thấy tính phá hoại của cuộc tấn công DoS gây hậu quả thế nào với hệ thống, nó làm cho hệ thống bị nghẽn và nếu là một cuộc tấn công quy mô lớn thì có thể làm cho hệ thống bị reboot và nếu hệ thống đó liên quan đến tài chính thì có thể ảnh hưởng không nhỏ đến tài chính của công ty, ngân hàng…
Chương 3 đã mô phỏng về cách thức của một cuộc tấn công từ chối dịch vụ như thế nào. Đồng thời cũng cho thấy hậu quả của nó gây ra, đưa ra được một số biện pháp ngăn chặn thiết thực.
3.5. Giải pháp chống DoS đƣợc đƣa ra cho website trƣờng Đại học Sƣ phạm Kỹ thuật vinh
- Tăng băng thông kết nối tạm thời để giải quyết lượng truy cập vào website. - Phân tán lượng truy cập đến một máy chủ khác với băng thông lớn.
- Thiết lập và cân bằng tải hệ thống máy chủ để tăng thời gian chống DoS.
- Cấu hình lại máy chủ, thiết lập thông số tường lửa để sàng lọc các địa chỉ IP có dấu hiệu truy cập ảo.
Hiện nay trên thế giới có rất nhiều cách phòng chống DoS nói chung và phòng chống DoS cho máy chủ Web nói riêng như sử dụng Firewall, triển khai IPS (Intrusion Prevention System – Hệ thống chống xâm nhập), load balancing (cân bằng tải)… Có thể đơn cử ra một vài công cụ cụ thể như:
- Firewall mềm:
+ Skyeagle anti – DDoS firewall
+ FortGuard Anti – DdoS Firewall Standard - IPS:
+ Lokkit + Snort + Untangle
Trong luận văn này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline và Iptables để đề xuất giải pháp phòng chống DoS cho máy chủ web cũng như cho website của nhà trường [8], [10], [11].
(i). Đối với Iptables
Để xây dựng Firewall cho một hệ thống mạng chi phí thường rất cao nếu chúng ta mua những sản phẩm thương mại. Iptables là phần mềm mã nguồn mở miễn phí, tích hợp sẵn trên hệ điều hành linux, có thể triển khai trên hệ thống mạng vừa và nhỏ.
Ban đầu Firewall/NAT chạy trên Linux là Ipchains nhưng do thiếu sót lỗi về mặt kỹ thuật chạy không ổn định. Tổ chức Netfilter quyết định viết ra phần mềm khắc phục những lỗi đó và sản phẩm Iptables được ra đời nhằm tăng tính năng lọc gói tin, bảo mật trên hệ thống Linux. Tích hợp tốt trên nhân Linux (Kernel Linux), thiết kế modul cụ thể nâng cao tốc độ và độ tin cậy, có khả năng phân tích gói tin hiệu quả.
Iptables lọc gói tin dựa trên địa chỉ MAC và các giá trị của những cờ hiệu trong phần đầu TCP header của gói tin. Điều này là hữu ích trong việc phòng chống các cuộc tấn công bằng cách sử dụng các gói dữ liệu bị thay đổi và hạn chế truy cập đến máy chủ local từ những máy chủ khác có cùng địa chỉ IP.
Iptables cung cấp chi tiết các tùy chọn để ghi nhận các sự kiện xảy ra trong hệ thống, cung cấp kỹ thuật NAT. NAT từ trong nội bộ ra ngoài và ngược lại. Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu từ chối dịch vụ (DoS).
C c tính năng của Iptables:
Tích hợp tốt trên Linux Kernel, để cải thiện sự tin cậy và tốc độ chạy Iptables. Quan sát kỹ tất cả các gói dữ liệu, điều này cho phép firewall theo dõi mỗi một kết nối thông qua nó và xem xét nội dung của từng luồng dữ liệu để từ đó xử lý bước tiếp theo sử dụng các giao thức. Điều này rất quan trọng trong việc hỗ trợ các giao thức FTP, DNS …
Lọc gói dựa trên địa chỉ MAC và các cờ trong TCP header. Điều này giúp ngăn chặn việc tấn công bằng cách sử dụng các gói dị dạng (malformed packets) và ngăn chặn việc truy cập từ nội bộ đến một mạng khác bất chấp IP của nó.