Tấn công DoS là kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống. Nếu attacker không có khả năng thâm nhập được vào hệ thống, thì chúng cố gắng làm cho hệ thống đó sụp đổ và không có khả năng phục vụ một client bình thường đó là tấn công Denial of Service (DoS). Mặc dù DoS không có khả năng truy cập vào dữ liệu thực của hệ thống nhưng chúng tìm những điểm yếu của hệ thống để làm gián đoạn các dịch vụ mà hệ thống đó cung cấp.
CẬP NHẬT LỖ HỔNG BẢO MẬT, HÌNH THỨC TẤN CƠNG LÊN HỆ THỐNG OPENVPN HÀ NỘI, 2016 Mục lục Mục lục Giả mạo ARP .4 1.1 Giới thiệu chung 1.2 Cơ chế phát sinh nguyên lý công lên OpenVPN .6 1.3 Giải pháp khắc phục .9 Lỗ hổng bảo mật thỏa thuận SSLv3/ TLS 10 2.1 Mô tả chung 10 2.2 Cơ chế phát sinh nguyên lý công lên hệ thống OpenVPN .11 2.2.1 Tấn công hệ thống OpenVPN cung cấp dịch vụ bảo mật web 14 2.2.2 Tấn công hệ thống OpenVPN cung cấp dịch vụ bảo mật Mail 22 Lỗ hổng Heartbleed 26 3.1 Giới thiệu chung 26 3.2 Cơ chế phát sinh nguyên lý công lên hệ thống OpenVPN 27 3.2.1 Phương thức hoạt động tính Heartbeat TLS OpenVPN .27 3.2.2 Cơ chế phát sinh lỗ hổng Heartbleed chế công vào hệ thống OpenVPN 28 3.2.3 Những thơng tin rò rỉ qua lỗ hổng .33 3.3 Giải pháp khắc phục 33 3.3.1 Những phiên OpenVPN bị ảnh hưởng 33 3.3.2 Cách khắc phục lỗ hổng 33 Tấn công DoS 34 4.1 Giới thiệu chung 34 4.2 Cơ chế nguyên lý công DoS lên hệ thống OpenVPN 35 4.3 Giải pháp khắc phục 36 Tài liệu tham khảo .37 Giả mạo ARP 1.1 Giới thiệu chung Giao thức ARP thiết kế để phục vụ cho nhu cầu thông dịch địa lớp thứ hai thứ ba mô hình OSI Lớp thứ hai (lớp data-link) sử dụng địa MAC để thiết bị phần cứng truyền thông với cách trực tiếp Lớp thứ ba (lớp mạng), sử dụng địa IP để tạo mạng có khả mở rộng tồn cầu Lớp data-link xử lý trực tiếp với thiết bị kết nối với nhau, lớp mạng xử lý thiết bị kết nối trực tiếp không trực tiếp Mỗi lớp có chế phân định địa riêng, chúng phải làm việc với để tạo nên mạng truyền thơng Với lý đó, ARP tạo với RFC 826, “một giao thức phân định địa Ethernet - Ethernet Address Resolution Protocol” Hình 1.1 Q trình truyền thơng ARP Bản chất hoạt động truyền thông ARP thực tập trung vào hai gói, gói ARP request gói ARP reply Mục đích request reply tìm địa MAC phần cứng có liên quan tới địa IP cho để lưu lượng đến đích mạng Gói request gửi đến thiết bị đoạn mạng, gửi nói (ở thực nhân cách hóa để giải thích theo hướng dễ hiểu nhất) PC1: “Hey, địa IP 192.168.0.101, địa MAC F2: F2: F2: F2: F2: F2 Tơi cần gửi vài thứ đến người có địa 192.168.0.2, địa phần cứng nằm đâu đoạn mạng Nếu có địa IP này, xin đáp trả lại kèm với địa MAC mình!” Đáp trả gửi gói ARP reply cung cấp câu trả lời, “Hey thiết bị phát Tơi (PC3) người mà bạn tìm kiếm với địa IP 192.168.0.2 Địa MAC 02: F2: 02: F2: 02: F2” Khi trình hoàn tất, thiết bị phát cập nhật bảng ARP cache hai thiết bị truyền thông với Giao thức ARP cần thiết quan trọng hệ thống mạng chúng ta, nhiên lại khơng đề cập đến vấn đề xác thực Khi host nhận gói tin Arp reply, hồn tồn tin tưởng sử dụng thơng tin để dụng sau mà khơng cần biết thơng tin có phải trả lời từ host mà mong muốn hay khơng ARP khơng có chế để kiểm tra việc thực tế host chấp nhận gói Arp reply mà trước khơng cần phải gởi gói tin Arp request Ví dụ: máy tính PCA mạng LAN nhận gói ARP reply vu vơ bất kỳ, chập nhận lưu thông tin địa MAC tương ứng với địa IP gói tin vào nhớ catche hay gọi bảng Arp table Và PCA muốn liên lạc với máy tính khác (như Router) mạng LAN tra bảng Arp table trước tiên để thực truyền thơng, nhiên thực chất lại truyền thơng với kẻ cơng (hình 1.2): Hình 1.2 Chặn truyền thông giả mạo ARP catche 1.2 Cơ chế phát sinh nguyên lý công lên OpenVPN Để thấy chế phát sinh nguyên lý công giả mạo ARP lên hệ thống OpenVPN trước tiên xem xét mơ hình khái qt hệ thống OpenVPN hình 1.3: Hình 1.3 Mơ hình hệ thống OpenVPN Cho Allice Oscar máy VPN clients mạng LAN với máy VPN server (VPN server self-signed server, có nghĩa VPN server kiêm ln vai trò CA) Allice cần liên lạc với Bob VPN client từ xa thơng qua hệ thơng OpenVPN Khi Allice cần phải biết địa MAC VPN gateway hay hệ thống OpenVPN VPN server để kết nối liên lạc tới Bob Khi Allice tiến hành gửi broadcast ARP request để hỏi xem IP 192.168.5.1 (IP VPN server) có địa MAC bao nhiêu? Oscar VPN server nhận gói ARP request này, có VPN server gửi lại gói tin ARP Reply lại cho Allice ARP Reply chứa thông tin: IP VPN server, MAC VPN server, IP Allice, MAC Allice Sau nhận gói tin ARP Reply từ VPN server, Allice nhận địa MAC VPN server seft-signed cert Bob (do VPN server cấp) VPN server bắt đầu thực kết nối liên lạc, truyền liệu từ Allice tới Bob Oscar xem nội dung liệu truyền Allice Bob Oscar muốn xem liệu truyền Allice Bob phải làm gì? Oscar sử dụng kiểu công giả mạo ARP giả mạo seft-signed cert Bob: Trước tiên Oscar tiến hành liên lạc với Bob thông qua VPN server để nhận seft-signed cert Bob Sau đó, Oscar thực gửi liên tục ARP Reply chứa thông tin: IP VPN server, MAC Oscar, IP Allice, MAC Allice Ở đây, thay MAC VPN server, Oscar đổi thành địa MAC Việc gửi gói tin giả mạo ARP phần mềm Cain & Abel xem nội dung gói tin bới phần mềm Wrieshark (hình 1.4) Allice nhận ARP Reply nghĩ IP VPN server 192.168.5.1 có địa MAC 0006:25E6:B239 (MAC Oscar), Allice lưu thông tin vào bảng Arp table Khi Oscar (máy Oscar cài sẵn phần mềm OpenVPN chế độ server) đóng vai trò VPN server tiến hành gửi lại Allice seft-signed cert Bob mà thay seft-signed cert Osca Vì hệ thống OpenVPN dùng self-signed server client Allice khơng có khả kiểm tra seft-singed cert mà Oscar gửi tới chấp nhận seft-signed cert Bob Thực đồng thời, Oscar thường xuyên gửi gói ARP reply tới VPN server thay địa MAC Allice địa MAC Oscar Thông tin trao đổi Allice Bob, Osca nhận giải mã Những thông tin giải mã Osca mã hóa khóa cơng khai lấy self-signed cert Bob nhận phiên liên lạc trước chuyển tiếp cho Bob thơng qua VPN server (vì VPN server co địa IP Allice tương ứng địa MAC Oscar) Hình 1.4 Thực cơng giả mạo ARP với Cain Wireshark Trên thực tế hầu hết VPN server cài đặt luật chống lại hạn chế việc giả mạo ARP Ví dụ, thiết lập luật sau Ethernet frames tường lửa iptable VPN server hệ điều hành Linux để hạn chế công giả mạo ARP: ebtables -A INPUT -i tap0 -p arp arp-opcode -j ACCEPT ebtables -A INPUT -i tap0 -p arp - j DROP ebtables -A FORWARD -i tap0 -p arp arp-opcode -j ACCEPT ebtables -A FORWARD -i tap0 -p arp -j DROP Nhưng việc thực hạn chế gói giả mạo ARP tới VPN server khơng ảnh hưởng tới liên lạc mạng LAN (giữa Oscar Allice) Mặt khác, Ocar giải mã thông tin Bob gửi cho Allice khơng có khóa bí mật Allice Như giả mạo ARP hệ thống OpenVPN khơng hồn tồn cơng Man in The Middle, Oscar có thơng tin chiều từ phía Allice thể qua hình 1.5: Hình 1.5 Tấn công giả mạo ARP hệ thống OpenVPN 1.3 Giải pháp khắc phục Giả mạo ARP kiểu công mạng nội bộ, nghĩa Attacker thực công từ bên mạng LAN Hậu cách công lớn, người quản trị mạng cần nắm bắt rõ kỹ thuật công Sau số kỹ thuật giúp phòng chống cơng giả mạo ARP: a Đối với mạng qui mô nhỏ: Sử dụng địa IP tĩnh Arp table tĩnh, liệt kê tay IP với MAC Trong Windows sử dụng câu lệnh ipconfig /all để xem IP MAC dùng câu lệnh arp –s để thêm vào Arp table Khi mà ép tĩnh ngăn chặn Attacker gởi gói Arp reply giả tạo đến máy sử dụng Arp table tĩnh ln ln khơng thay đổi Chú ý cách thức áp dụng môi trường mạng với quy mô nhỏ, mạng lớn khơng thể phải thêm vào Arp table tay với số lượng nhiều b Đối với mạng qui mô lớn: Khi quản trị mạng quy mơ lớn, sử dụng chức Port security Khi mở chức Port security lên port Switch ta quy định port chấp nhận địa MAC Như ngăn chặn việc thay đổi địa MAC máy Attacker Ngồi sử dụng cơng cụ, ví dụ ArpWatch Nó phát báo cáo bạn thông tin liên quan đến Arp diễn mạng Nhờ có tượng cơng Arp poisoning bạn giải kịp thời Lỗ hổng bảo mật thỏa thuận SSLv3/ TLS 2.1 Mô tả chung Giao thức SSL/TLS coi tiêu chuẩn vàng việc mã hóa thơng tin tryền mạng internet với độ an tồn cao Nhưng người ta nhìn vào SSL/TLS giao thức đứng riêng rẽ Khi đặt SSL/TLS vào tranh lớn mơ hình OSI, SSL/TLS Layer, điều xảy giao thức tầng ứng dụng không hiểu rõ chế vận hành SSL/TLS để sử dụng cho cách? Đó lúc lỗ hổng bảo mật thỏa thuận SSL/TLS xuất Ngày 11/09/2009, Marsh Ray, Steve Dispensa Martin Rex công bố chi tiết lỗ hổng bảo mật giao thức SSLv3/TLS Lỗ hổng ảnh hưởng lên hệ thống OpenVPN mô tả CVE-2009-3555 Tổng quan lỗ hổng 2.4 Tấn công vào SMTP over TLS Lỗ hổng Heartbleed 3.1 Giới thiệu chung Neel Mehta thành viên nhóm bảo mật cơng ty Google công bố lỗ hổng Heartbleed vào 01/04/2014 Heartbleed tạm dịch “trái tim rỉ máu” lỗi bảo mật thư viện mật mã dạng mã nguồn mở OpenSSL, thư viện sử dụng rộng rãi để phát triển giao thức bảo mật tầng truyền tải (TLS) Internet Heartbleed ghi nhận lỗ hổng bảo mật CVE-2014-0160 (CVECommon Vulnerabilities and Exposures) Lỗ hổng heartbleed “trái tim rỉ máu” có nguồn gốc từ lỗ hổng bảo mật tính heartbeat TLS Tính mở rộng Heartbeat phát triển tiến sĩ Robin Seggelmann cho giao thức TLS DTLS, tiêu chuẩn mô tả cụ thể RFC 6520 công bố vào 02/2012 Nó cho phép dễ dàng kiểm tra giữ trạng thái “sống” (alive) cho liên kết thông tin bảo mật mà không cần phải tiến hành thỏa thuận lại cho lần kết nối Tính heartbeat Stephen N Henson bốn nhà phát triển OpenSSL tiến hành xem xét, đánh giá đưa đoạn mã nguồn Heartbeat vào thư viện mã nguồn mở OpenSSL vào 31/12/2011 Trong trình xem xét, đánh giá Stephen N Henson không phát việc thiếu hàm kiểm tra giới hạn xử lý tính mở rộng heartbeat TLS, chất lỗ hổng bảo mật Heartbleed Đoạn mã chứa lỗ hổng bảo mật sử dụng rộng rãi phiên OpenSSL 1.0.1 14/03/2012 Tính heartbeat kích hoạt nguyên nhân gây phiên OpenSSL chứa lỗ hổng bảo mật Heartbleed Lỗ hổng cho phép kẻ cơng lấy khóa riêng máy chủ, cookies mật phiên liên lạc người sử dụng Các công ty chuyên gia hàng đầu bảo mật Electronic Frontier Foundation, Ars Technica Bruce Schneier đánh giá lỗi Heartbleed “thảm họa” thực Hệ thống OpenVPN sử dụng trực tiếp thư viện mã nguồn mở OpenSSL khẳng định bị ảnh hưởng lỗ hổng bảo mật Heartbleed 3.2 Cơ chế phát sinh nguyên lý công lên hệ thống OpenVPN 3.2.1 Phương thức hoạt động tính Heartbeat TLS OpenVPN Heartbeat chế thiết kế để giữ kết nối TLS/DTLS (một tiêu chuẩn an ninh công nghệ tồn cầu tạo liên kết mã hóa client server) mà không cần tạo liên kết thủ tục tạo liên kết qua SSL/TLS phức tạp nhiều thời gian[36] Thơng điệp Heartbeat request gửi từ phía client tới server bao gồm liệu tùy chọn độ dài liệu Server nhận thông điệp phải gửi lại phía client xác liệu yêu cầu (hình 1): Hình 1: Heartbeat request (dạng bình thường) Thơng điệp Heartbeat request có cấu trúc sau: struct { HeartbeatMessageType type; uint16 payload_length; opaque payload[HeartbeatMessage.payload_length]; opaque padding[padding_length]; } HeartbeatMessage; Theo cấu trúc độ dài liệu payload_length tối đa 16-bit usigned integer, tức Heartbeat request yêu cầu server trả lại liệu lên tới 64KB Chính điều nguyên nhân gây lỗ hổng Heartbleed 3.2.2 Cơ chế phát sinh lỗ hổng Heartbleed chế công vào hệ thống OpenVPN Lỗ hổng tls1_process_heartbeat/dtls1_process_heartbeat ssl/dl_both.c thuộc thư viện OpenSSL, bắt [34] [35] nguồn từ hai hàm chứa hai file ssl/t1_lib.c Nội dung hàm ‘dtls1_process_heartbeat/dtls1_process_heartbeat’: int dtls1_process_heartbeat(SSL *s){ unsigned char *p = &s->s3->rrec.data[0], *pl; unsigned short hbtype; unsigned int payload; unsigned int padding = 16; /* Use minimum padding */ /* Read type and payload length first */ hbtype = *p++; n2s(p, payload); pl = p; if (hbtype == TLS1_HB_REQUEST) { unsigned char *buffer, *bp; int r; /* Allocate memory for the response, size is byte * message type, plus bytes payload length, plus * payload, plus padding */ buffer = OPENSSL_malloc(1 + + payload + padding); bp = buffer; /* Enter response type, length and copy payload */ *bp++ = TLS1_HB_RESPONSE; s2n(payload, bp); memcpy(bp, pl, payload); bp += payload; /* Random padding */ RAND_pseudo_bytes(bp, padding); r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, + payload + padding); if (r >= && s->msg_callback) s->msg_callback(1, s->version, TLS1_RT_HEARTBEAT, buffer, + payload + padding, s, s->msg_callback_arg); OPENSSL_free(buffer); if (r < 0) return r; } Cấu trúc ghi SSL/TLS[34] [35]: typedef struct ssl3_record_st { int type; /* type of record */ unsigned int length; /* How many bytes available */ unsigned int off; /* read/write offset into 'buf' */ unsigned char *data; /* pointer to the record data */ unsigned char *input; /* where the decode bytes are */ unsigned char *comp; /* only used with decompression - malloc()ed */ unsigned long epoch; /* epoch number, needed by DTLS1 */ unsigned char seq_num[8]; /* sequence number, needed by DTLS1 */ } SSL3_RECORD; Bản ghi SSLv3 bao gồm thành phần chính: type, length data Khi client gửi tới server thông điệp Heartbeat request : Thành phần data ghi SSLv3 mà server nhận liệu mà Heartbeat request Con trỏ p dùng server để xử lý ghi theo cấu hình mặc định trỏ tới byte ghi này, có cấu trúc mơ tả sau: Server tiến hành xử lý yêu cầu với đoạn code hàm dtls1_process_heartbeat: /* Read type and payload length first */ hbtype = *p++; n2s(p, payload); pl = p; Ba dòng lệnh gán byte ghi SSLv3 Heartbeat type Hàm n2s lấy byte từ trỏ p đặt chúng vào payload Đây độ dài khai báo Heartbeat request (chú ý độ dài ghi SSLv3 khơng kiểm tra xem có trùng với độ dài thực tế Heartbeat data Heartbeat request hay không) Kết dòng lệnh thứ trỏ pl trỏ vào thành phần Heartbeat data mô tả sau: Xem xét đoạn code tiếp theo[34] [35]: unsigned char *buffer, *bp; int r; /* Allocate memory for the response, size is byte * message type, plus bytes payload length, plus * payload, plus padding */ buffer = OPENSSL_malloc(1 + + payload + padding); bp = buffer; /* Enter response type, length and copy payload */ *bp++ = TLS1_HB_RESPONSE; s2n(payload, bp); memcpy(bp, pl, payload); Đoạn code tạo mảng động buffer cấu trúc Heartbeat response có kích thước lớn 1+2+65535+16 Khi trỏ bp trỏ vào buffer dùng để ghi thông tin vào buffer Byte ghi vào buffer Heartbeat type: TLS1_HB_RESPONSE Hàm s2n ngược với hàm n2s, lấy 16 bit giá trị payload đặt vào bytes buffer Hàm memcpy(bp, pl, payload) thực copy payload byte từ pl vào bp (tức copy toàn Heartbeat data Heartbeat request) Điều xảy độ dài thực tế Heartbeat data không với độ dài payload_length khai báo Heartbeat request? Nếu payload_length lớn hàm memcpy copy phần liệu sau Heartbeat data nhớ hoạt động tiến trình Như attacker dùng Heartbeat request với việc khai độ dài payload tăng lên tối đa 64KB tới server lấy thơng tin bí mật active memory server Đây lỗ hổng Heartbleed cách chơi chữ từ tính Heartbeat (hình 2): Hình 2: Tấn công Heartbleed vào OpenVPN 3.2.3 Những thông tin rò rỉ qua lỗ hổng Kể từ lỗ hổng Heartbleed cơng bố, dùng nhiều công vào hệ thống OpenVPN để khai thác, đánh giá thơng tin rò rỉ từ hệ thống Một công vậy, hacker với biệt danh ‘kfreds’ tuyên bố chiết xuất thành công khóa chủ từ OpenVPN server thơng qua Heartbleed Từ khóa chủ dùng để giả mạo OpenVPN server 3.3 Giải pháp khắc phục 3.3.1 Những phiên OpenVPN bị ảnh hưởng Tính Heartbeat bổ sung vào thư viện OpenSSL từ 03/2012 Vì phiên OpenSSL thời gian từ 03/2012 đến 04/2014 bị ảnh hưởng ngoại trừ phiên OpenSSL 1.0.1g vá lỗ hổng: - OpenSSL 1.0.1 tới 1.0.1f bị ảnh hưởng; - OpenSSL 1.0.1g vá lỗ hổng nên không bị ảnh hưởng; - OpenSSL 1.0.0 phiên cũ không bị ảnh hưởng Các phiên OpenSSL bị ảnh hưởng kéo theo phiên OpenVPN tương ứng sử dụng chúng bị ảnh hưởng: - OpenVPN 1.8.4 tới 2.0.5 bị ảnh hưởng; - OpenVPN 2.0.6 vá lỗ hổng nên không bị ảnh hưởng; - OpenVPN 1.8.3 phiên cũ không bị ảnh hưởng 3.3.2 Cách khắc phục lỗ hổng 1) Kiểm tra độ dài thực tế Heartbeat data: sửa theo source code: if (1 + + 16 > s->s3->rrec.length) return 0; /* silently discard */ if (1 + + payload + 16 > s->s3->rrec.length) return 0; /* silently discard per RFC 6520 sec */ 2) Nâng cấp OpenVPN lên phiên 2.0.6 vá lỗ hổng Heartbleed Tấn công DoS 4.1 Giới thiệu chung Tấn công DoS kiểu công mà người làm cho hệ thống sử dụng, làm cho hệ thống chậm cách đáng kể với người dùng bình thường, cách làm tải tài nguyên hệ thống Nếu attacker khơng có khả thâm nhập vào hệ thống, chúng cố gắng làm cho hệ thống sụp đổ khơng có khả phục vụ client bình thường cơng Denial of Service (DoS) Mặc dù DoS khơng có khả truy cập vào liệu thực hệ thống chúng tìm điểm yếu hệ thống để làm gián đoạn dịch vụ mà hệ thống cung cấp Những mục đích cơng DoS: - Cố gắng chiếm băng thông mạng làm cho hệ thống bị ngập (flood) Khi hệ thống mạng khơng có khả đáp ứng dịch vụ khác cho client bình thường; - Cố gắng làm ngắt kết nối hai máy, ngăn chặn trình truy cập vào dịch vụ; - Cố gắng ngăn chặn người dùng cụ thể vào dịch vụ đó; - Cố gắng ngăn chặn dịch vụ không cho người khác có khả truy cập vào; - Khi cơng DoS xảy ra, cảm giác người dùng truy cập vào dịch vụ bị: + Disable Network – Tắt mạng; + Disable Organization – Tổ chức không hoạt động; + Financial Loss - Tài bị Trong hệ thống OpenVPN attacker dùng công DoS làm ngập cổng UDP, tràn đệm, khởi tạo kết nối SSL/TLS từ máy không xác thực quét trạng thái cổng 4.2 Cơ chế nguyên lý công DoS lên hệ thống OpenVPN OpenVPN server có hỗ trợ giao thức UDP việc truyền thông với việc liệu Điều có nghĩa OpenVPN server có thực chế UDP echo/reply Attacker lợi dụng chế để thực cơng DoS vào OpenVPN server (hình 4.1): Hình 4.1 Tấn cơng DoS vào OpenVPN 1) Attacker tiến hành sinh thật nhiều gói UDP echo gửi tới địa Broadcast nhiều mạng khác với địa nguốn gói UDP echo địa OpenVPN server 2) Tất máy client mạng mà attacker gửi tới tiến hành xử lý gói UDP echo nhận 3) Sau xử lý xong tất máy client bước gửi gói UDP reply tới OpenVPN server (bởi địa IP nguồn UDP echo OpenVPN server) Như OpenVPN server phải tiếp nhận số lượng rât lớn gói UDP reply điều làm cho OpenVPN server bị tải khơng có khả đáp ứng dịch vụ khác 4.3 Giải pháp khắc phục Đối với công kiếu từ chối dịch vụ(DoS attack), làm ngập cổng UDP, tràn đệm, khởi tạo kết nối SSL/TLS từ máy không xác thực quét trạng thái cổng, ta chống lại cách sử dụng chế xác thực gói HMAC OpenVPN server Để làm việc cần thực bước sau: - Bước 1: Sinh khoá xác thực dùng cho HMAC thông qua lệnh: openvpn genkey secret ta.key - Bước 2: Thêm vào tệp cấu hình OpenVPN server dòng tham số sau: tls-auth ta.key [0ption] Với giá trị Option OpenVPN server OpenVPN client Mặt khác, với việc thiết lập tham số tls-cipher tệp cấu hình ngăn chặn cơng vào q trình bắt tay TLS cách thoả thuận quay lui thuật toán Cú pháp tham số tệp cấu hình là: tls-cipher DH-RSA-MK-SHA: tls-cipher DH-DSS-MK-SHA: Thiết lập luật kiểm soát giao dịch mạng cách kết hợp phần mềm mạng riêng ảo với phần mềm tường lửa kiểm sốt gói tin IP tích hợp bên OpenVPN server Ví dụ a thiết lập số luật Open VPN server sau: iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.66.4.4 -j ACCEPT iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.66.4.0/24 -j ACCEPT iptable –A INPUT –i tun0 –s 200.1.1.0/24 –j DROP Tài liệu tham khảo [1] "Cyberoam Security Advisory - Heartbleed Vulnerability in OpenSSL" (11/04/2014) [2] "How Heartbleed Works: The Code Behind the Internet's Security Nightmare" (09/04/2014) [3] Mutton, Paul "Half a million widely trusted websites vulnerable to Heartbleed bug" Netcraft Ltd (08/04/2014) [4] Perlroth, Nicole; Hardy, Quentin "Heartbleed Flaw Could Reach to Digital Devices, Experts Say" New York Times (11/04/2014) [5] Chen, Brian X "Q and A on Heartbleed: A Flaw Missed by the Masses" New York Times (09/04/2014) [6] Wood, Molly "Flaw Calls for Altering Passwords, Experts Say" New York Times (10/04/2014) [7] Manjoo, Farhad "Users’ Stark Reminder: As Web Grows, It Grows Less Secure" New York Times (10/04/2014) [8] Zhu, Yan "Why the Web Needs Perfect Forward Secrecy More Than Ever" Electronic Frontier Foundation (08/04/2014) [9] Goodin, Dan "Critical crypto bug exposes Yahoo Mail, other passwords Russian roulette-style" Ars Technica (08/04/2014) [10] "Schneier on Security: Heartbleed" Schneier on Security (11/04/2014) [11] "CVE – CVE-2014-0160" Cve.mitre.org (10/04/2014) [12] "OpenSSL Heartbleed Vulnerability" Cyber Security Bulletins Public Safety Canada (14/04/2014) [13] Grubb, Ben "Man who introduced serious 'Heartbleed' security flaw denies he inserted it deliberately" The Sydney Morning Herald (11/04/2014) [14] "#2658: [PATCH] Add TLS/DTLS Heartbeats" OpenSSL (2011) [15] "Meet the man who created the bug that almost broke the Internet" Globe and Mail (11/04/2014) [16] Site of Appearance and Discovery[clarification needed] on Github [17] Codenomicon Ltd "Heartbleed Bug" (08/04/2014) [18] Goodin, Dan "Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping" Ars Technica (08/04/2014) [19] Hagai Bar-El "OpenSSL "Heartbleed" bug: what's at risk on the server and what is not" (09/04/2014) [20] "Mark J Cox – #Heartbleed" (12/04/2014) [21] Seggelmann, R et al (02/2012) "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension" RFC 6520 Internet Engineering Task Force (IETF) (08/04/2014) [22] The OpenSSL Project "OpenSSL Security Advisory" (07/04/2014) [23] "Why is it called the 'Heartbleed Bug'?" [24] Heartbleed bug: 900 SINs stolen from Revenue Canada, CBC News (14/04/2014) [25] Canada Revenue Agency pushes tax deadline to May after Heartbleed bug, Vancouver Sun (13/04/2014) [26] Thibedeau, Hannah "Heartbleed bug accused charged by RCMP after SIN breach" CBC News (16/04/2014) [27] Heartbleed hack case sees first arrest in Canada, BBC News (16/04/2014) [28] Kelion, Leo "BBC News - Heartbleed hacks hit Mumsnet and Canada's tax agency" BBC News (14/04/2014) [29] Mumsnet and Heartbleed as it happened, Mumsnet [30] Lawler, Richard "Cloudflare Challenge proves 'worst case scenario' for Heartbleed is actually possible" Engadget (11/04/2014) [31] "The Heartbleed Challenge" CloudFlare 2014 [32] Jordan Robertson "Attackers from China waste little time in exploiting Heartbleed" The Sydney Morning Herald (16/04/2014) [33] Matthew Green "OpenSSL Heartbleed" (08/04/2014) http://blog.cryptographyengineering.com/2014/04/attack-of-week-opensslheartbleed.html [34] Sean " Diagnosis of the OpenSSL Heartbleed Bug" (08/04/2014) http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html [35] Company Codenomicon (08/04/2014) http://heartbleed.com/ [36] Neil J.Runbenking "Heartbleed: How It Works" (10/04/2014) http://securitywatch.pcmag.com/hacking/322533-heartbleed-how-it-works [37] R Seggelmann, M Tuexen "RFC6520" (02-2012) [38] Tom Powledge "Heartbleed in OpenSSL: Take Action Now " (09/04/2014) http://www.symantec.com/connect/blogs/heartbleed-openssl-take-actionnow ... phát sinh nguyên lý công lên hệ thống OpenVPN .11 2.2.1 Tấn công hệ thống OpenVPN cung cấp dịch vụ bảo mật web 14 2.2.2 Tấn công hệ thống OpenVPN cung cấp dịch vụ bảo mật Mail 22 Lỗ hổng Heartbleed... nguyên lý công lên OpenVPN Để thấy chế phát sinh nguyên lý công giả mạo ARP lên hệ thống OpenVPN trước tiên xem xét mơ hình khái qt hệ thống OpenVPN hình 1.3: Hình 1.3 Mơ hình hệ thống OpenVPN. .. cơng hệ thống OpenVPN 2.2.1 Tấn công hệ thống OpenVPN cung cấp dịch vụ bảo mật web Có nhiều kịch (phương pháp) sử dụng lỗ hổng bảo mật thỏa thuận TLS với mục đích khác để công hệ thống OpenVPN bảo