Mạng Máy tính Ánh xạ thành Đồ thị
Cấu trúc Mạng là Đồ thị Hình học
Mọi mạng máy tính đều có một cấu trúc (topology): sắp xếp hình học của các nút (thiết bị) & các cạnh (kết nối). Cấu trúc xác định khả năng chịu lỗi, băng thông & các tính chất bảo mật.
Năm cấu trúc cơ bản:
- Star: Một trung tâm tập trung, tất cả các nút kết nối với nó. Đơn giản, rẻ. Điểm lỗi đơn: nếu trung tâm chết, mọi thứ đều chết. N-1 cạnh cho N nút.
- Ring: Các nút tạo thành một vòng tròn, mỗi cái được kết nối với hai hàng xóm. Một lần ngắt đơn sẽ chia nhỏ mạng. N cạnh cho N nút.
- Bus: Tất cả các nút chia sẻ một cáp xương sống duy nhất. Rẻ nhưng dễ xảy ra va chạm. Một lần lỗi xương sống sẽ làm sập mọi thứ.
- Mesh: Mỗi nút kết nối với mọi nút khác. Dự phòng tối đa. Một mạng lưới đầy đủ với N nút có N(N-1)/2 cạnh: đó là O(N²) kết nối. Tốn kém nhưng có khả năng chịu lỗi rất cao.
- Tree: Phân nhánh theo cấp bậc. N-1 cạnh (đồ thị kết nối tối thiểu). Lỗi gốc chia nhỏ các cây con.
Mạng thực tế là kết hợp: một lõi mạng lưới với các lớp truy cập kiểu sao, các cấp bậc định tuyến có cấu trúc cây, & dự phòng kiểu vòng tại các nút then chốt.
Cấu trúc & Khả năng Chịu lỗi
Một trung tâm dữ liệu có 20 máy chủ. Nhóm vận hành đang tranh luận giữa mạng lưới đầy đủ & cấu trúc sao cho mạng nội bộ.
Hình học của Bộc lộ
Bề mặt Tấn công = Ranh giới Hình học
Trong bảo mật mạng, bề mặt tấn công là tập hợp tất cả các điểm nơi kẻ tấn công có thể tương tác với một hệ thống. Hãy nghĩ về nó theo hình học: hệ thống của bạn là một hình dạng, & mọi điểm trên ranh giới của nó là một điểm vào tiềm năng.
Các thành phần của bề mặt tấn công:
- Bề mặt mạng: Mọi cổng mở trên mọi địa chỉ IP công cộng. Một máy chủ với 5 cổng mở có 5 điểm trên ranh giới mạng của nó.
- Bề mặt ứng dụng: Mọi điểm cuối API, mọi tuyến URL, mọi đầu vào biểu mẫu. Một ứng dụng web với 200 tuyến có 200 điểm ranh giới lớp ứng dụng.
- Bề mặt con người: Mọi nhân viên có thông tin xác thực, mọi mục tiêu lừa đảo. Các cuộc tấn công kỹ thuật xã hội nhắm vào chu vi con người.
- Bề mặt vật lý: Mọi cửa phòng máy chủ, mọi cổng USB, mọi ổ cắm mạng.
Nguyên tắc hình học: Bảo mật cải thiện bằng cách giảm thiểu ranh giới giữa vùng đáng tin cậy & không đáng tin cậy. Tường lửa xác định ranh giới hình học: lưu lượng bên trong đáng tin cậy, lưu lượng bên ngoài thì không. Các lỗ càng ít trên ranh giới đó, bề mặt tấn công càng nhỏ.
Điều này giải thích tại sao nguyên tắc đặc quyền tối thiểu là hình học: cho mỗi thành phần bộc lộ ranh giới tối thiểu mà nó cần để hoạt động.
Giảm Bề mặt Tấn công
Một công ty chạy một ứng dụng web với bộc lộ sau: 12 điểm cuối API công cộng, SSH mở trên tất cả 50 máy chủ (cổng 22), cơ sở dữ liệu có IP công cộng, & bảng điều khiển quản trị có thể truy cập từ internet.
Đồ thị Tấn công & Cây Đe dọa
Mô hình Hóa Mối Đe dọa Sử dụng Lý thuyết Đồ thị
Các chuyên gia bảo mật mô hình hóa mối đe dọa như đồ thị có hướng. Cấu trúc của các đồ thị này tiết lộ đường tấn công, mục tiêu có giá trị cao, & ưu tiên phòng thủ.
Đồ thị tấn công: Các nút đại diện cho trạng thái hệ thống (hoặc các hệ thống riêng lẻ). Các cạnh có hướng đại diện cho các chuyển đổi có thể: khai thác, chuyển động ngang, nâng cao đặc quyền. Một đường tấn công là một đi qua đồ thị này từ một nút bên ngoài đến một nút đích.
Cây đe dọa: Một cấu trúc đồ thị chuyên biệt. Nút gốc là mục tiêu của kẻ tấn công (ví dụ, 'đánh cắp cơ sở dữ liệu'). Các nút con là các phương pháp để đạt được mục tiêu cha mẹ. Các lá là các hành động tấn công cụ thể. Các nút AND yêu cầu tất cả con phải thành công; các nút OR chỉ yêu cầu một cái.
Trung tâm đồ thị xác định các mục tiêu có giá trị cao:
- Trung tâm giữa (Betweenness centrality): Một nút mà thông qua đó nhiều đường đi ngắn nhất đi qua. Trong một mạng, đây là điểm tắc nghẽn: xâm phạm nó, & bạn kiểm soát luồng lưu lượng. Tường lửa hoặc bộ điều khiển miền thường có trung tâm giữa cao.
- Trung tâm độ: Một nút có nhiều kết nối. Trong đồ thị tấn công, một nút có thể tiếp cận từ nhiều nút khác là mục tiêu chuyển động ngang có giá trị cao.
Đường đi ngắn nhất = vectơ tấn công có khả năng nhất: Kẻ tấn công tối ưu hóa cho các bước ít nhất. Đường đi ngắn nhất trong đồ thị tấn công từ internet đến cơ sở dữ liệu là tuyến đường tấn công có khả năng nhất. Phòng thủ có nghĩa là làm cho đường đi ngắn nhất đó dài hơn: thêm các nút (kiểm soát bảo mật) mà kẻ tấn công phải đi qua.
Phân tích Đồ thị Tấn công
Xem xét một mạng có cấu trúc này: Internet → Web Server → App Server → Database. Web Server cũng kết nối với File Server. App Server kết nối với Backup Server. Mục tiêu của kẻ tấn công là Database.
Mật mã Đường cong Elliptic Sử dụng Hình học
Đường cong Elliptic: Nơi Hình học Trở thành Mã hóa
Mật mã đường cong Elliptic (ECC) là một trong những nơi hiếm hoi mà bảo mật được xây dựng theo nghĩa đen trên các hoạt động hình học.
Đường cong Elliptic là tập hợp các điểm (x, y) thỏa mãn: y² = x³ + ax + b (cộng với một 'điểm ở vô cùng' đặc biệt). Trên các số thực, điều này trông giống như một đường cong mịn, đối xứng.
Cộng điểm: hoạt động hình học làm cho mật mã hoạt động:
1. Lấy hai điểm P & Q trên đường cong.
2. Vẽ một đường thẳng đi qua P & Q.
3. Đường thẳng đó cắt đường cong chính xác ở một điểm khác R'.
4. Phản xạ R' qua trục x để có được R = P + Q.
Hoạt động 'cộng' này tạo thành một nhóm toán học: nó có tính kết hợp, có một phần tử đơn vị (điểm ở vô cùng) & mọi điểm đều có một phần tử nghịch đảo.
Phép nhân vô hướng: Cộng một điểm P với chính nó k lần cho kP. Đi về phía trước (tính toán kP cho k & P) là nhanh: O(log k) hoạt động sử dụng double-and-add. Đi ngược lại (tìm k cho P & kP) là bài toán logarit rời rạc đường cong Elliptic (ECDLP): được cho là không thể tính toán được cho các đường cong lớn.
Sự bất đối xứng này là nền tảng bảo mật của TLS hiện đại. Kết nối HTTPS của trình duyệt của bạn có thể sử dụng ECDHE (Ephemeral Elliptic Curve Diffie-Hellman): cả hai bên đều đồng ý về một bí mật chung bằng cách trao đổi các điểm trên đường cong Elliptic, & không có người nghe lén nào có thể khôi phục bí mật mà không giải ECDLP.
Tại sao Hình học Tạo ra Mật mã Tốt
ECC cung cấp cùng mức độ bảo mật với RSA có kích thước khóa nhỏ hơn nhiều. Một khóa ECC 256-bit cung cấp khoảng cùng mức độ bảo mật với khóa RSA 3072-bit.