PDA

View Full Version : [TUTOR] Lý thuyết worm mới mở ra tương lai sáng lạn cho loài sâu...



Old Shark
09-11-2002, 00:35
...và một tương lai tối mịt cho loài người!!! lol lol lol

-----------------------------------------------
Mới đây, một tài liệu tên gọi Warhol đã đề cập đến một lý thuyết Worm mới được gọi là "super-worm". Nhắc lại, worm là một chương trình máy tính tự copy chính nó từ máy tính này sang máy tính khác với mục tiêu là tự lây lan càng nhiều càng tốt. "Super-worm" sử dụng những kỹ thuật cao cấp để đạt được tốc độ lây lan cực nhanh trên mạng. Chiến thuật chủ đạo của "super-worm" được Warhol đề cập (tạm đặt tên là Curious Yellow) là thực hiện việc scan trên diện rộng trên mạng internet để tìm những mục tiêu có sơ hở về bảo mật trước khi tiến hành lây lan. Một khi worm được kích hoạt, nó đã nắm trong tay một danh sách khổng lồ các mục tiêu và cả phương pháp lây lan tương ứng với từng mục tiêu. Có nghĩa là, việc lây lan sẽ nhắm vào các mục tiêu "chắc ăn" có chọn lọc trước, và nhờ đó tỉ lệ thành công sẽ rất cao.
Nhưng quan trọng nhất, Warhol cho rằng sẽ đạt được kết quả tốt hơn nếu sử dụng kỹ thuật "worm hợp tác", theo đó nhiều thực thể khác nhau của worm tồn tại trên nhiều computer khác nhau sẽ cùng liên lạc với nhau để cùng hành động. Tuy nhiên cũng theo tài liệu Warhol, cho tới nay, chưa có con worm-hợp-tác nào được tạo ra. Tài liệu này đề xuất điều ưu tiên hàng đầu đối với loại worm mới này là phải tận dụng thật hiệu quả khả năng liên lạc giữa các thực thể worm trong việc tiến hành lây lan.

Những thuận tiện và bất lợi của phương án hợp tác
Lý do thêm khả năng hợp tác cho worm là để gia tăng độ tinh vi của những phương án tấn công bắt chước theo một chiến thuật nổi tiếng hay được sử dụng trong game: "divide and conquer" (chia để trị). Theo lý thuyết worm cũ, chiến thuật lây lan của worm đôi khi tỏ ra “hăng hái” quá mức và gây phản tác dụng. Một thực thể worm gửi đi quá nhiều bản copy của chính nó sẽ dễ bị phát hiện và tiêu diệt. Hơn nữa, sự lây lan "mù quáng" của lý thuyết worm cũ có thể dẫn tới việc lây vào các máy đã bị nhiễm, một điều hoàn toàn vô ích. Đó là do các worm hiện nay không hề "hiểu biết" gì về mục tiêu của nó. Theo lý thuyết mới, worm sẽ nắm vững thông tin về các mục tiêu và sẽ chia nhau ra thực hiện những phương pháp lây lan thích hợp tương ứng.

Cái khó của phương án hợp tác là phải giảm thiểu chi phí để các worm tương tác với nhau. Khi một số lượng rất lớn các thực thể lan tràn trên mạng, nếu mỗi thực thể đều phải duy trì liên lạc với tất cả các thực thể khác thì lượng băng thông để liên lạc sẽ bùng nổ đến mức còn hơn bất cứ một chiến thuật lây lan "tham lam" nào từ trước tới nay. Chiến thuật hợp tác phải làm sao giới hạn được sự liên lạc giữa các thực thể một cách hợp lý. Hơn nữa, việc hợp tác cũng phải mã hoá một cách đơn giản vì kích thước của worm phải càng nhỏ càng tốt.

Hiệu quả của sự hợp tác
Điều thú vị là ở chỗ vấn đề tổ chức liên lạc giữa các worm cho hiệu quả sao cho vừa lây lan được ở diện rộng lại vừa khống chế số "kênh" liên lạc vừa phải là rất giống với vấn đề đặt ra cho các mạng peer-to-peer. Một kỹ thuật phân chia các node trên mạng song hàng nổi tiếng là kỹ thuật Chord (dựa trên kỹ thuật đánh địa chỉ DHT - Distributed hash tables). Theo kỹ thuật Chord, mỗi node trên mạng có thể liên lạc với các node khác thông qua tối đa là O(logN) node trung gian. Ngoài ra, mỗi node cũng chỉ phải duy trì tri thức của nó đối với O(logN) node khác. Như vậy, chi phí để liên lạc được giảm xuống mức có thể chấp nhận. Cụ thể, trong một mạng khoảng 1 triệu node, mỗi node chỉ phải giữ liên lạc với khoảng 20 node và để gửi thông tin xuyên qua toàn bộ mạng, cũng chỉ cần thông qua khoảng 20 node trung gian. Tương tự, trong mạng khoảng 10 triệu node, mỗi node phải giữ liên lạc với khoảng 23 node, và thêm 23 node trung gian. Hơn nữa với những thuật toán phát triển từ Chord, ví dụ như Anonymous Chord - Achord, sẽ rất khó cho bất cứ một node nào tìm được tất cả ID của các node còn lại trong mạng. Như vậy sẽ càng đảm bảo an toàn cho hệ thống worm, không sợ bị tiêu diệt bằng cách lần ra tất cả các node trong mạng lưới.

Chi tiết
Để tạo ra một mạng Achord, mỗi node phải được cấp phát một ID độc lập, khó giả mạo và khó đoán. Các ID sẽ được cấp phát bằng cách phân bổ công bằng. Mỗi công việc cần thực hiện cũng được gán một ID như vậy. Mỗi công việc sẽ được giao cho node nào có ID gần với ID của nó nhất. Phương pháp mà Curious Yellow sử dụng để gán ID cho các worm và các mục tiêu là dựa trên bảng băm SHA1 các IP address.
Phương pháp lây lan thì rất đơn giản. Mỗi node nắm IP của 2 node gần nó nhất. Khi nghiên cứu một mục tiêu, nó sẽ tính xem ID của mục tiêu gần với ID của nó hơn hay gần với một trong hai "hàng xóm" của nó hơn. Nếu bản thân nó là gần mục tiêu nhất, thì nó mới tấn công. Bằng không, nó chỉ thông báo cho "hàng xóm" gần hơn của nó biết và bỏ qua mục tiêu đó. Do sự toàn vẹn của hệ thống ID, chắc chắn sẽ có một worm nào đó tấn công mục tiêu. Hơn nữa, việc thông báo này không cần phải thiết lập kênh liên lạc ngay lập tức. Liên lạc chỉ cần thiết để thông báo cho các node worm biết những mục tiêu nào nó chịu trách nhiệm tấn công.

Kỹ thuật pre-scan trên internet trước khi lây lan của các super-worm sẽ mất khoảng 15 phút (theo Warhol) hoặc chỉ 30 giây (theo Flash). Một khi mạng worm "giống" đã được thiết lập, nó có thể được sử dụng làm nền cho các hoạt động khác. Thí dụ như phân bổ công tác scanning để tiếp tục tìm kiếm những mục tiêu sơ hở để tiếp tục lây lan. Không như chiến thuật "tham ăn" của Code Red, đối với Curious Yellow, mỗi mục tiêu sẽ chỉ bị scan và phân tích bởi một worm duy nhất mà thôi. Điều này vừa tiết kiệm tài nguyên vừa khiến khó phát hiện hơn.
Sự liên lạc xuyên suốt của mạng lưới worm còn đưa tới những khả năng hấp dẫn hơn, ví dụ như tác giả có thể phát hành những bản patch của worm, và bàn patch này sẽ được phát đi khắp mạng lưới thậm chí còn nhanh hơn việc lây lan lần đầu (trong vòng khoảng 15 giây). Điều này thật sự hấp dẫn bởi nó cho worm khả năng "tiến hoá" (tạm gọi như vậy). Ngay khi một lỗ hổng bảo mật mới được phát hiện ra, tác giả của worm có thể phát hành ngay bản patch cung cấp cho worm khả năng khai thác lỗ hổng này, và phát tán trong thời gian chỉ có 15 giây!!! Sau đó mạng lưới worm có thể thực hiện lại việc pre-scan để tìm những mục tiêu mới (những mục tiêu mà lần trước chưa có khả năng xâm nhập). Với tốc độ phát tán như vậy, không có một cơ hội nào cho những nỗ lực sửa chữa lỗ hổng bảo mật đó cả. Những sơ hở vừa mới tìm ra có thể được áp dụng ngay lập tức thậm chí trước khi tin tức về lỗ hổng đó được tuyên truyền rộng rãi. Khả năng cho phép cập nhật và thay đổi code của bản thân worm còn cho phép tác giả thay đổi đặc điểm và những "dấu hiệu nhận dạng" của worm khi thấy bị đe doạ phát hiện. Điều này mô phỏng rất chính xác khả năng tiến hoá và biến đổi cực nhanh của các virus sinh học.

Ta có thể làm rất nhiều việc với hệ thống worm này. Khả năng hiển nhiên có thể nghĩ ngay ra được là phá hoại một số lượng lớn máy tính trên mạng Internet, giống như một số worm "ác độc" trước đây. Một ứng dụng khác thú vị hơn là lợi dụng mạng lưới worm để tiến hành các cuộc tấn công Denial of Service. Thử hình dung với một mạng lưới khổng lồ các host đã nắm trong tay, tác giả của Curious Yellow có thể dễ dàng flooding bất cứ một server nào trên thế giới này. Tuy nhiên có vẻ khá kỳ cục khi bỏ công phát tán một mạng lưới tuyệt vời như thế chỉ vì mục đích này.
Điều quan trọng là ở chỗ chủ nhân của hệ thống worm nắm được quyền kiểm soát một số lượng rất lớn các máy tính trên Internet (giống như Trojan, nhưng trong trường hợp này, không phải con Trojan chạy trên một máy là hàng triệu máy tính một lúc!!!) và nắm quyền điều khiển tất cả các luồng dữ liệu trên Internet. Điều này đưa tới một khả năng còn kinh khủng hơn: phong toả toàn bộ các kênh liên lạc đối với một mục tiêu. Ví dụ, nếu chủ nhân hệ thống worm muốn xoá một trang Web nào đó, anh ta sẽ phong toả tất cả các đường liên lạc tới Web server đó, như vậy trang Web kia sẽ hoàn toàn biến mất. Tương tự, nếu muốn sửa đổi nội dung một trang Web chẳng hạn, giờ đây anh ta chẳng cần mất công lấy quyền điều khiển của Web server đó làm gì, mà chặn và sửa đổi thông tin ngay trên các đường truyền nối Web server với phần còn lại của Net. Và như vậy, Webmaster hoàn toàn bó tay, không có cách gì can thiệp vào được. (Thử tưởng tượng, nếu khả năng này được áp dụng vào các công tác tuyên truyền chính trị hoặc chống khủng bố, chúng ta có thể thay đổi những thông tin bọn khủng bố đưa lên mạng thành bất cứ điều gì ta muốn). Đồng thời, tất cả những thông tin không được mã hoá truyền trên mạng đều có thể bị bắt và đọc lén.
Không chỉ dừng ở đó, chủ nhân Curious Yellow còn có thể áp dụng những phương pháp exploit mới nhất để giành quyền super-user để truy cập vào tất cả các hệ thống trên Internet (Ít nhất là tất cả những hệ thống đã bị nhiễm Curious Yellow.) Và nhờ đó có thể truy xuất tới bất cứ thông tin gì chứa trên các hệ thống, cũng như khả năng kiểm soát tất cả hoạt động của các hệ thống (Một lần nữa, tương tự như với Trojan nhưng ở diện rộng hơn.) Nói tóm lại, ai kiểm soát Curious Yellow sẽ kiểm soát tất cả (hay ít ra là một lượng rất lớn) các máy tính của cả thế giới!!!

Old Shark
09-11-2002, 00:36
Chống lại bằng cách nào?
Nội việc phát hiện ra Curious Yellow đã là điều rất khó. Như trên đã nói, các đặc điểm nhận dạng của worm có thể được thay đổi liên tục do tác giả của nó cập nhật các bản patch phát tán trên mạng. Nhưng việc chống lại còn khó hơn gấp bội. Từ trước tới nay, Thế giới vẫn chống các virus, trojan, worm... theo cách sau: Sau khi xác định được dấu hiệu nhận dạng của virus, hoặc worm... người ta viết ra các chương trình chống virus và phát hành miễn phí. Các chương trình này sẽ được đặt trên các host nào đó trên Internet để cho mọi người download về sử dụng. Ở trường hợp Curious Yellow, cách này không có lấy một cơ hội nhỏ! Cứ cho là các host dùng để phát hành các chương trình chống virus không bị nhiễm Curious Yellow chăng nữa thì với khả năng kiểm soát các luồng thông tin như đã nói trên, Curious Yellow sẽ dễ dàng phong toả các host này và làm chúng biến mất trên Internet, không ai có thể truy cập vào mà download chương trình được. Còn nếu bất hạnh mà chính host anti-virus này cũng bị nhiễm Curious Yellow thì còn tệ hại hơn nhiều. Tác giả Curious Yellow sẽ thay đổi source code của chương trình chống virus bằng chính source code của Curious Yellow!!! Như vậy sẽ có thêm vô số hệ thống bị lây nhiễm, nếu không muốn nói là tất cả những hệ thống còn lại trên Internet.
Như vậy, không thể dùng Internet để phát hành các chương trình chống virus được nữa. Chương trình này sẽ phải được phân phát qua các thiết bị lưu trữ ngoại vi, ví dụ như đĩa mềm. Người dùng trước tiên sẽ phải ngắt hệ thống khỏi Internet, rồi quét worm, rồi mới connect vào mạng trở lại. Cứ cho là việc phân phát đĩa mềm tới hàng trăm triệu máy tính trên khắp Thế giới là khả thi đi, thì trong trường hợp đó, tác giả Curious Yellow chỉ việc nằm im, chờ một thời gian, rồi sẽ lại tới một ngày đẹp trời nào đó, một lỗ hổng bảo mật mới được phát hiện, và thế là hệ thống Curious Yellow lại được phát tán đi khắp nơi, gieo mầm cho một mạng lưới Curious Yellow mới.
Cách duy nhất để chống lại Curious Yellow là phải cài đặt một mạng lưới anti-worm hoạt động với nguyên tắc giống hệt như Curious Yellow, giống như việc "tiêm chủng" để chống các virus sinh học vậy. Mạng lưới anti-worm này, tạm gọi là Curious Blue, thực chất cũng là Curious Yellow, nhưng chủ nhân của nó là một nhà bảo mật hệ thống (có thể là của Chính Phủ.) Ngay khi một lỗi bảo mật mới bị phát hiện, Curious Blue sẽ phát tán ngay các bản patch để sửa lỗi giống như cách mà Curious Yellow phát tán bản patch exploit. Như vậy cuộc chơi sẽ trở thành một vòng đua Olympic giữa Curious Yellow và Curious Blue. Tất nhiên, không phải chỉ có hai thực thể tham gia cuộc đua này, nhiều hệ thống Curious Yellow khác nhau sẽ được các chủ nhân của chúng phát tán (và sẽ chồng chất lên nhau, một hệ thống có thể sẽ bị nhiễm nhiều Curious Yellow khác nhau.) Tương tự, nhiều công ty bảo mật cũng sẽ đưa ra các bản Curious Blue khác nhau cho cuộc đua thêm nhộn nhịp.
Nhưng trò vui chưa phải chỉ dừng ở đây, cuộc chơi càng hấp dẫn hơn nữa khi bản chất của Curious Blue và Curious Yellow là y hệt nhau. Như vậy rõ ràng là một hệ thống Curious Blue có thể sẽ đổi màu thành Curious Yellow và ngược lại!!! Bởi vì cả Curious Blue lẫn Curious Yellow đều có khả năng cập nhật code của bản thân chúng, nên nếu code của C.Blue có một điểm sơ hở nào đó và bị exploit, thì toàn bộ hệ thống C.Blue sẽ biến thành C.Yellow và ngược lại. Hãy tưởng tượng mạng Internet biến thành một bàn cờ vây khổng lồ, nhưng thú vị ở chỗ, hai bên không những vây bắt quân của nhau, mà còn có khả năng biến quân địch thành quân mình, nếu bên địch sơ hở!!!
Cuộc chiến lúc này sẽ trở thành làm thế nào để exploit được mạng lưới của đối phương đồng thời phải giữ vững mạng lưới của mình. Cách giải quyét sẽ là sử dụng một dạng chữ ký điện tử để phân biệt. Chữ ký điện tử sẽ được chia thành hai phần, một phần nằm trong code của C.Yellow hoặc C.Blue, còn một phần chủ nhân của nó sẽ cung cấp cùng với các bản patch. Chữ ký này rất phức tạp nên con người sẽ không thể nhớ được, vậy, họ phải lưu nó vào đâu đó. Cuộc chiến liền chuyển sang tìm cách đọc trộm chữ ký điện tử của đối phương. Để giữ an toàn cho chữ ký của mình, các chủ nhân của các mạng C.Yellow và C.Blue sẽ phải có một máy tính không nối mạng. Chữ ký sẽ được phát sinh từ máy này rồi phân phát trên mạng. Đến đây thì phe C.Yellow gặp bất lợi lớn, vì với hệ thống C.Blue cũng lan tràn khắp nơi, nhà chức trách có thể theo dõi nhất cử nhất động trên mạng, bất cứ sự thay đổi nào của C.Yellow (chứng tỏ đã được patch) sẽ phải xuất phát từ một điểm nào đó. Lần theo đường lây lan này, nhà chức trách có thể khoanh vùng khu vực chủ nhân C.Yellow ở và tiến hành bắt bớ, lùng sục, v.v... Tuy nhiên cũng có cách tránh: trước khi phát tán bản patch thật, chủ nhân của C.Yellow có thể ra lệnh thực hiện một loạt các cuộc liên lạc giả trên mạng lưới C.Yellow để đánh lạc hướng điều tra. Ngoài ra, thông tin của C.Yellow có thể được mã hoá, nhưng như vậy lại làm "phình to" kích thước của C.Yellow.

Biết tin ai bây giờ?
Cuộc sống của chúng ta, những "nạn-nhân-vô-tội" của cuộc chiến giữa hai loài sâu này, sẽ ra sao? Rõ ràng là chúng ta có hai lựa chọn: Một là tự tách mình ra khỏi phần còn lại của thế giới, đừng bao giờ connect vào Internet nữa, trở về "thời kỳ tăm tối"! Hai là chấp nhận sẽ có C.Blue (và có thể cả C.Yellow nữa) tồn tại trên hệ thống của mình. Vấn đề là ai dám tin chắc một sản phẩm C.Blue là an toàn, và sẽ không bị biến thành C.Yellow một ngày nào đó?
---------------------------------------------------

Lời kết
Nói tóm lại, nếu tất cả những chuyện này trở thành sự thật, rất có thể nó sẽ làm thay đổi sâu sắc mạng Internet và cả lối sống của đa phần nhân loại!!! Rất may tất cả chỉ mới là lý thuyết và những điều tưởng tượng ra mà thôi. Vậy hãy tiếp tục sống, và hy vọng... lol

vthien
09-11-2002, 04:02
Thank advance !!!!!!!!!!!!!!!!

IRON
10-11-2002, 17:53
Chà kiểu này chắc phải đề xuất với VK nên có gì thưởng cho cá mập mới được

t_duong2002
11-11-2002, 23:00
Nếu theo thuyết này thì còn ai dám sử dung Internet nữa!Nhưng mà Vk khoa phải có cái gì đó phải thưởng cho OS quá!Thật là những thông tin tuỵet vời!
Nhưng theo thuyết này thì người điều hành một worm sẽ bị phát hiện dễ dàng do có một địa chỉ IP cố định mặc khác nó cũng chẳng dễ gì thâm nhập đựơc do khi phát hiện một node nào đó có "người" quản lý thì nó sẽ không thâm nhập đựơc, vì vậy người điều hành mạng sẽ dựa vào code của worm để ngăn cản nó không thâm nhập vào mạng của mình!!

HoangDT
01-12-2002, 04:49
copyright OS ?

Old Shark
03-12-2002, 00:27
No, of course, OS đọc được một bài giới thiệu nhỏ bằng tiếng Anh, sau đó OS đi kiếm cái tài liệu chết tiệt đó về ngâm cứu và viết lại. Do trình độ còn hạn chế nên cũng chưa đầy đủ lắm...