1. Mở đầu:
Tôi không nhớ rõ bao nhiêu lần tôi nhận được thông điệp với dạng "Anh chỉ cho em cách hack với". Những thông điệp này đến từ e-mail, offline message của Yahoo, personal message trên diễn đàn..v..v.. Điều lý thú là những người gởi thông điệp này có khả năng và kinh nghiệm về CNTT ở mức độ khác nhau (sau khi tôi thử tìm hiểu và tiếp xúc để biết được điều này). Lý do tại sao những câu hỏi như trên được đặt ra quá nhiều? Họ hiểu thế nào là "hack"? Họ muốn "hack" để làm gì? Họ tìm tòi những gì về "hack"? Lúc bắt đầu tiếp cận với các câu hỏi thế này, tôi cố gắng giải thích ít nhiều (trong phạm vi cho phép) nhưng dần dà, tôi đâm ra... nản vì biết chắc những điều tôi trả lời không có kết quả hoặc tác dụng gì cả. Tuy vậy, những cuộc trao đổi này dẫn tôi đến chỗ thích thú khai phá, tìm tòi tâm lý của những người đặt câu hỏi. Tôi nhận ra vài điều lý thú:
- những lối mòn của cách suy tư (nếu có suy tư)
- khả năng tiếp cận và hình thành giải pháp cho vấn đề
- ý muốn đào sâu và rèn luyện
Đây là những điểm cốt lõi tôi muốn chia xẻ với bạn trong loạt bài "những cuộc đối thoại với rookie". Loạt bài này không có dụng đích phân tích kỹ thuật (mặc dù để hình thành nội dung bài viết chắc chắn không thể thiếu những chi tiết về kỹ thuật). Nó được khai triển ở dạng trò chuyện, trao đổi giữa hai (hoặc nhiều nhân vật) xen vào những chi tiết kỹ thuật. Những nhân vật này là tổng hợp từ tính cách của nhiều nhân vật có thật. Tuy nhiên, ngôn từ trao đổi trong bài viết đã được điều chỉnh và xây dựng lại cho thích hợp với tình tiết của các mẩu chuyện.
Xin lưu ý rằng, những vấn đề được đưa ra trong chuỗi bài này nhằm thúc đẩy kỹ năng tiếp cận vấn đề, nghiên cứu và giải quyết vấn đề. Bởi thế, mọi giải đáp cho thắc mắc (nếu có) đều tìm thấy từ việc đọc và suy nghĩ kỹ lưỡng.
2. Gặp gỡ:
Chiều nay, một buổi chiều Chủ Nhật, rảnh rỗi và yên tĩnh. Tôi mở máy và log vào Yahoo Instance Messenger (đã gần một tuần lễ tôi không vào YIM). Chà, có vài cái "thỉnh cầu" đưa tên tôi vào danh sách YIM của ai đó. Thử xem nào... ngoại trừ một "thỉnh cầu" khá ngổ ngáo, tôi tiếp nhận các thỉnh cầu còn lại. Trong số "thỉnh cầu" này, có một cái làm tôi chú ý. Người thỉnh cầu có cái "nick" khá ngộ nghĩnh là "cuti" và thông điệp thỉnh cầu như sau: "nếu không phiền, xin phép anh add em với. Em có một số thắc mắc muốn nhờ anh chỉ dẫn, Nghe nói anh khó tính lắm nhưng em cũng liều một phen.".
Tôi mỉm cười và nhấn nút "accept" và sau đó gởi đi thông điệp "Được, anh khó tính lắm. Thử xem!. Và đây là điểm khởi đầu của những cuộc trò chuyện giữa tôi và "cuti".
Tôi chuyển trạng thái YIM của mình sang "invisible" vì không muốn trò chuyện lúc này. Tôi muốn kiểm tra mail và duyệt web để tìm một số thông tin cần thiết. Chừng năm phút sau, tôi nhận được một thông điệp nhấp nháy. Tôi mở ra và thấy rằng "cuti" vừa trả lời:
"Cám ơn anh đã add em, khi nào anh online, cho em biết với!".
Tôi muốn "thử" anh chàng một phát, bèn trả lời như sau:
"Anh đã online, nhưng anh chưa nói chuyện được, em chờ được không?.
"cuti" hồi đáp:
Ồ may quá, may quá... dạ được chứ. Trưa Chủ Nhật em chẳng có chuyện gì đâu. Khi nào rảnh cho em biết với"
Tôi yên lặng, thâu gọn cửa sổ của YIM và tiếp tục kiểm tra mail, trả lời mail. Gần nữa giờ trôi qua, tôi quên bẵng có "cuti" đang chờ. Tôi mở cửa sổ YIM lên xem và thấy "cuti" vẫn còn online. Tôi gởi cho anh chàng một thông điệp:
"Chà, nãy giờ chat đã đời rồi hả? Anh rảnh rồi, em cần hỏi gì?".
Tôi không ngờ trong tích tắt "cuti" đã trả lời tôi ngay. Điều này chứng tỏ cu cậu không bận rộn và quả thật... đang chờ. Nó cũng chứng tỏ cu cậu là một "cao thủ" gõ chữ vì trong tích tắc tôi đã nhận được thông điệp như sau:
"Dạ, em đâu có chat, chỉ đang duyệt mấy trang web thôi. Em có vài thắc mắc là nếu mình muốn học hỏi, tham khảo tài liệu, cứ cho là mình đã có một mớ sách, cách nào để giúp mình nhớ được mọi thứ trong đống sách đó? À mà, anh cho phép em hỏi thăm anh bao nhiêu tuổi để tiện xưng hô. Nếu anh không muốn nói cũng không sao".
Tôi mỉm cười thầm nghĩ "cu cậu này liếng lắm, muốn nói chuyện phương pháp và rào trước, đón sau". Tôi trả lời:
"Anh nghĩ là anh lớn hơn em đó, em thấy xưng hô thế nào tiện thì xưng hô nhưng có lẽ nên xưng anh em thì hay nhất vì anh đoán em nhỏ tuổi hơn anh.".
"cuti" nằng nặc muốn rõ chuyện tuổi tác:
"Nhưng em muốn biết mà, lỡ xưng hô không phải đạo thì... kẹt lắm!"
Tôi trả lời:
"Được rồi, nếu em muốn biết thì anh mem mém tứ tuần."
"cuti" im lặng một chặp, có lẽ cu cậu nghĩ ngợi gì đây. Sau đó, một thông điệp khác đến từ "cuti" như sau:
"Ùm... thôi, để cháu gọi chú bằng chú đi, chú chỉ kém ba cháu có vài tuổi, gọi bằng anh kỳ cục sao đó!".
À, hoá ra cu cậu im lặng một chặp là vì lý do này. Tôi mỉm cười trả lời:
"Thôi đi, chú với chả cháu. Xưng anh em vui hơn!"
3. Khai mở:
Tôi tiếp tục giải đáp thắc mắc của "cuti":
"Về việc đọc và nhớ những gì mình đọc thì như thế này. Để có thể đọc và nhớ, em phải tập cho mình thói quen tổng kết những gì mình đọc được ở dạng ngắn gọn và có hệ thống nhất có thể được (trong khả năng của em). Đây là một kỹ năng hẳn hòi và nó cần sự rèn luyện liên tục. Ví dụ, đọc xong một chương, thử tóm tắt lại chương này đề cập những chuyện gì? những điểm cốt lõi của nó nằm ở đâu? Nếu chưa có thói quen tổng kết trong não thì thử tổng kết trên giấy. Ghi lại những điểm mình nắm được. Đừng ngại sai đúng, đủ thiếu gì cả. Sau đó so sánh lại với thông tin trong sách xem thử mình thu thập được bao nhiêu sau lần đọc thứ nhất. Sau một thời gian, chắc chắn khả năng này sẽ thay đổi."
"cuti" trả lời ngay:
"Ôi trời! sao mà khó vậy?"
Tôi phá lên cười và hỏi tiếp:
"Em đã thử chưa mà thấy khó? Em tự xét xem em có đủ kiên nhẫn để đạt được điều mình muốn không?"
Lần này "cuti" im lặng khá lâu, chứng tỏ cu cậu đắn đo lắm trước khi trả lời. Tôi biết cu cậu không chat với ai khác bằng YIM bởi vì thanh "status" của YIM không hiển thị thông điệp "cuti is typing a message". Tôi thong thả đốt điếu thuốc và chờ. Gần hai phút sau, "cuti" mới hồi đáp một câu:
"Cho em nói thật cái này nha? Em thấy là anh không khó tánh như người ta nói nhưng nói chuyện với anh em bị cảm giác căng thẳng vì phát biểu không cẩn thận sẽ bị anh "bẻ" ngay."
Tôi cười phá lên và đáp:
"Em sắc sảo đấy. Anh chả khó tính tí nào. Có lẽ em bị 'chạm' vì anh hỏi vặn lại 'em thử chưa mà thấy khó?' chứ gì? Câu hỏi đơn giản này của anh hàm chứa một điều như sau: đừng xét vấn đề dựa trên cảm tính mà hãy xét nó một cách khoa học. Hãy cân nhắc, thử nghiệm, rút tỉa rồi mới hình thành ý kiến của mình về một vấn đề nếu như vấn đề ấy mình chưa bao giờ kinh qua. Rõ ràng là em chưa hề thử qua cách đọc, suy nghĩ và tổng kết bao giờ thì làm sao em có thể kết luận ngay 'sao mà khó vậy?'. Cho nên câu phát biểu này theo anh thấy, nó đầy cảm tính. Đây là một trở ngại đầu tiên và thường thấy, nó sẽ làm em chùn bước trước những cái còn 'khó' hơn nhiều. À mà em vẫn chưa trả lời câu hỏi của anh là em có đủ kiên nhẫn hay không?"
"cuti" trả lời:
"Có lẽ em suy nghĩ quá đơn giản. Thông thường nếu em nói là 'cái đó khó quá' thì người đối diện hay trả lời là 'khó thì thôi' chớ ít ai hỏi ngược lại 'chưa thử mà biết khó hay sao?'. Cái này làm em chột dạ, nhưng không sao, em phải làm quen với lối suy nghĩ và cân nhắc vấn đề này. Còn chuyện kiên nhẫn hay không thì... hy vọng em có đủ kiên nhẫn."
Tôi đáp:
"Vậy thì tốt. Thử dùng cái kiên nhẫn của em, tìm ngay một cuốn sách nào đó, về vấn đề gì đó em rất thích. Đọc và thử nghiệm cách tổng kết rồi cho anh biết kết quả ra sao nha?"
4. 'hack' là gì?
"cuti" vui vẻ trả lời:
"hi hi, nhất định rồi. Để tối nay em 'thử nghiệm' xem sao. À mà đúng ra em muốn hỏi anh câu này ngay từ đầu nhưng hơi ngại. Anh có thể chỉ em cách hack được không? Em mê 'hack' lắm á, em muốn học mà chẳng biết bắt đầu từ đâu.
Tôi có phần cụt hứng khi nhận được câu hỏi này, không phải là vì "cuti" đề cập đến chuyện hack mà cách "cuti" hỏi về chuyện hack trong một câu ngắn gọn đến thế. Tôi hỏi thêm:
"Em hiểu thế nào là 'hack' vậy? May mà em không hỏi câu này ngay từ đầu không thì anh lại 'bẻ' cho hụt hơi".
"cuti" trả lời ngay:
"Ồ, hack hả anh? anh hỏi theo kiểu mẹo hay hỏi thiệt vậy? Hack là gì ai mà không biết?"
Tôi gõ ngay câu trả lời:
"Ừa, vậy mà anh vẫn muốn biết em hiểu thế nào là 'hack'. Em thử trả lời anh xem?"
"cuti" tỏ vẻ đắn đo vì cu cậu im lặng vài chục giây rồi mới trả lời:
"Ùm... em nghĩ rằng hack là thâm nhập vào một máy nào đó... phải không anh?"
Tôi phá lên cười vì tính thành thật và đơn giản của "cuti" trong khi gõ thông điệp trả lời cho cu cậu:
"Em lầm rồi, 'hack' không phải và không chỉ đơn giản là 'thâm nhập vào một máy nào đó'!"
Cu cậu hồi báo ngay:
"Anh lại trêu em rồi. Thôi đi, bày cho em cách hack đi mà."
Tôi trả lời:
"Không đâu, anh nói thật. Em hiểu sai về 'hack' rồi đó!"
Lần này "cuti" thật sự sửng sốt:
"Vậy.... theo anh 'hack' là gì? Em hy vọng là anh không trêu em tội nghiệp."
Tôi mỉm cười trả lời:
"theo anh? Vậy ý em theo anh nghĩ thì khác, theo em nghĩ thì khác và theo ai đó nghĩ thì khác về khái niệm 'hack' là gì phải không? Nếu vậy thì theo anh, chỉ có hai khả năng: hiểu đúng về cái gọi là 'hack' hoặc hiểu chưa đúng về cái gọi là 'hack', thế thôi.
Theo anh (hiểu), 'hack' là sự sửa đổi nào đó có dụng đích rõ ràng trên hệ thống (trên nền tảng của hệ thống, trên cơ chế làm việc của hệ thống...) và sửa đổi này làm thay đổi 'thái độ' làm việc của hệ thống ấy. 'Sửa đổi' này là một trong những biểu thị của việc 'hack'. 'Thái độ' này đúng hay sai, thiện hay ác, ngắn hay dài... là chuyện khác. "
"cuti" im lặng khá lâu. Có lẽ cu cậu đang "tiêu hoá" đoạn định nghĩa lỏng chỏng của tôi. Sau một hồi, "cuti" trả lời:
"Chà, phức tạp quá vậy? nhưng việc thâm nhập vào một máy nào đó cũng là 'hack' theo định nghĩa của anh cơ mà?"
Tôi cười đáp:
"Không đâu em, nếu em phân tích kỹ hơn một tí thì sẽ thấy điểm khác biệt ở đây.
a. 'hack' là sự thay đổi nào đó đến hệ thống. Điều này có nghĩa em phải có quyền truy cập, sử dụng rồi mới có thể thực hiện sự thay đổi. Ít nhất em phải có một chủ quyền nào đó, dù nhỏ bé nhất, mong manh nhất thì mới có thể 'hành động' được.
b. thâm nhập vào một máy nào đó có nghĩa là em ở trong giai đoạn trước khi xác định được chủ quyền cần thiết để thực hiện 'hành động' hack."
Nói một cách khác, phải có a thì mới có b.
Lần này "cuti" im lặng khá lâu. Tôi để yên cho cu cậu nghĩ ngợi thoả thích. Sau một hồi, "cuti" hỏi tiếp:
"Nếu thế thì việc thâm nhập vào một máy nào đó bao gồm 'hành động' hack chớ chính nó không phải là 'hack'? Mình gọi chung chung tất cả là 'hack' không được sao?"
Tôi đáp:
"Đúng vậy, nếu như em muốn xét vấn đề trên phương diện hiện tượng thay vì phương diện thứ tự thời gian. Việc gọi như thế nào không quan trọng bằng việc hiểu thực chất vấn đề là ở đâu."
"cuti" hồi đáp ngay:
"Hình như anh đang chỉ cho em chỉ phần lý thuyết mà thôi? Em cố gắng hình dung việc áp dụng lý thuyết này vào thực tiễn nhưng sao thấy mù mờ quá."
Tôi trả lời:
"Được rồi, hãy xét xem một vài trường hợp anh nghĩ thuộc dạng 'hack'.
a. nếu em thay đổi một giá trị trong Windows registry để đạt được mục đích nào đó hoặc 'mở' ra thêm một chức năng nào đó mà Windows không có ở chế độ mặc định. Đây chính là 'hack'. Để có thể thực hiện chuyện này, em phải được phép (có quyền) khởi động lệnh regedit. Nếu không, hành động 'hack' này không thể xảy ra.
b. tương tự cho hệ thống *nix, nếu những giá trị mặc định nào đó trong /proc system của Linux không ứng hiệu theo ý em, khi em thay đổi chúng có nghĩa là em đã 'hack'. Để làm được chuyện này, em phải có chủ quyền nhất định.
c. em có thể duyệt một trang web nào đó nhưng không thể thay đổi 'thái độ' của nó (cách hiển thị, giá trị hiển thị....). Tuy nhiên, để ứng dụng web (của trang web này) hiển thị những thứ khác hơn (đáng lẽ ra nó không được hiển thị như thế), em phải tác động đến nó bằng cách này hoặc cách khác (dùng telnet, dùng netcat, dùng string ngay trên chính trình duyệt....). Để làm được chuyện này, em phải có chủ quyền nào đó.
Trong phạm vi truy cập, nếu em có thể duyệt trang này, ít nhất em đã có chủ quyền như một guest và ít nhất, em đã truy cập được vào trang web trước khi có thể thực thi một 'hành động' nào đó. Làm guest có giá trị chủ quyền nhất định.
Nói một cách tổng quát, giả sử dịch vụ cho phép truy cập nhưng lại đòi hỏi tên người dùng và mật khẩu hẳn hòi, em hoàn toàn không có chủ quyền nếu như em duyệt trang web này với tư cách guest. Nói một cách khác, cơ hội để em 'hack' (hay tạo một tác động nào đó) trên web server này là rất thấp (hoặc giả không có). Tuy nhiên, nếu em phân tích tỉ mỉ thì thấy rằng, khi em truy cập vào một trang web đòi hỏi xác thực danh tánh, sẽ có giai đoạn em vẫn là guest và vẫn có thể tác động đến web server (để thực thi giai đoạn xác thực danh tánh). Giai đoạn ngắn ngủi này là chổ trống (có thể) để em tạo một tác động gì đó đến máy chủ (hay còn gọi là 'hack').
"cuti" trả lời (kèm theo một emotion icon biểu thị cho sự 'buồn bã'):
"Chà, càng lúc càng rối bòng bong cả lên. Nếu vậy, em muốn thâm nhập vào một máy con nào đó trên Internet thì có nghĩa em phải có chủ quyền gì đó trên máy kia?"
Tôi cười đáp:
"Tất nhiên. Nếu không em không thể 'hack' được. Anh nhắc lại: 'hack' là một hành động chỉ có thể xảy ra khi có được chủ quyền, có thể truy cập đến mục tiêu mình muốn thâm nhập. Đây mới chỉ là khái niệm tổng quát. Nếu em muốn thâm nhập vào một máy nào đó trên Internet, em phải biết rõ máy đó là máy gì? nó chạy trên hệ điều hành nào? Kế tiếp em mới tìm hiểu xem em có thể truy cập nó vào vị trí nào và xem thử em có được chủ quyền gì? Nói trên bình diện thâm nhập xuyên qua mạng và dùng phương tiện truyền tải TCP/IP, lối vào duy nhất và hiển nhiên nhất là cổng dịch vụ. Nếu dịch vụ không chạy --> không có cổng. Nếu không có cổng --> không thể vào."
"cuti" nhăn nhó:
"Gì mà khó khăn, rắc rối vậy? Bộ không có một phần mềm nào đó, mình chỉ cần gõ tên hoặc địa chỉ của máy mình muốn thâm nhập và mình .... "chui' vào máy đó?"
Tôi phá lên cười và có phần thất vọng (sau khi cố gắng giải thích một cách có đầu đũa, có nguyên tắc với cu cậu). Tuy nhiên, tôi vẫn trả lời:
"Tất nhiên là có phần mềm làm những chuyện này ở mức độ nào đó. Tuy nhiên, dựa vào phần mềm để làm chuyện này có lẽ không còn là 'hack' nữa nói theo khái niệm nãy giờ anh cố gắng trao đổi với em."
"cuti" cãi lại:
"Nhưng.... mục tiêu cuối cùng là thâm nhập. Không cần biết mình dùng công cụ nào, miễn sao thâm nhập được là... xong. Nếu anh nói cần phải có chủ quyền rồi mới có thể tạo tác động, thì phần mềm này sẽ xác định mục tiêu thâm nhập có phải là hệ điều hành mình muốn, sau đó nó thử truy cập và dùng quyền guest chẳng hạn rồi... thực thi một lệnh nào đó và thâm nhập vào máy. Những bước này hoàn toàn phù hợp với khái niệm anh đưa ra. Chỉ có cái khác là em không làm 'bằng tay' mà dùng một công cụ."
Tôi cười và nói:
"Nếu thế thì lẽ ra em phải hỏi anh thế này: 'anh có biết công cụ nào dùng để rà và thâm nhập vào máy nào đó hoàn toàn tự động mà mình không cần làm gì hết?', thay vì: 'Anh có thể chỉ em cách hack được không?'. Nãy giờ anh thử 'chỉ' em cách 'hack' đó nhưng có lẽ em không đủ kiên nhẫn để tiếp thu những điều anh 'chỉ' mà chỉ muốn tìm một cách nào đó, một công cụ nào đó giản tiện và đạt được mục đích ngay lập tức. Thật tình mà nói, anh có thấy một số công cụ ở dạng này và đã có thử qua cho biết nhưng chỉ một lần rồi anh không bao giờ đụng đến chúng nữa. Em muốn biết lý do tại sao không?"
"cuti" hăm hở:
"Thật sao? thật có phần mềm nào tuyệt diệu đến thế sao? anh chỉ cho em chỗ nào để down nó về đi. Năn nỉ đó!"
Tôi chắc lưỡi than thầm "lại thêm một anh chàng newbie thích ăn xổi, ở thì". Tôi cố kiên nhẫn tiếp tục trả lời:
"Link để download thì có thể tìm ra nhưng anh không nhớ ngay lúc này vì anh không còn đụng đến chúng nhiều năm rồi. Tuy nhiên, điều anh muốn nói ở đây là thế này:
- 'hack' với dụng đích nào đó (tốt hay xấu) có sự lý thú của nó. Lý thú ở chỗ nó là một sự thách thức (challenge) để mình phải suy nghĩ, phân tích, tìm tòi và giải quyết. Thiếu mất điều này, 'hack' chẳng còn gì là thú vị nữa.
- công cụ nào cũng vậy, nó có giới hạn nhất định. Công cụ được viết ra nhằm thâm nhập một hệ điều hành cho khoảng thời gian nào đó. Sau khi hệ điều hành này vá lỗi, các công cụ này trở nên vô dụng. Đó là chưa kể trường hợp các công cụ ở dạng này không hiếm bị đính một con trojan. Người dùng nó chưa thâm nhập được thì lại bị thâm nhập.
- kiến thức và kinh nghiệm 'hack' theo đúng nghĩa của nó được trả giá bằng thời gian, bằng sự kiên nhẫn và niềm đam mê của người muốn tìm tòi và khai phá những điều mình thắc mắc.
Thật sự anh chỉ thích trao đổi với những ai thật sự kiên nhẫn và muốn tìm tòi theo đúng nghĩa của nó. Nhưng, cho anh biết lý do tại sao em thích thâm nhập theo lối dùng một công cụ và phó mặc công cụ ấy vậy?"
"cuti" trả lời kém hăm hở hơn trước:
"Thật sự em chỉ tò mò xem thử 'chui' vào máy ai đó thế nào thôi. Xem thử nó ra sao, vậy thôi. Nếu em có được phần mềm này, chắc em chỉ thử một lần cho biết xem 'hack' là cái gì."
Tôi trầm ngâm vài giây rồi trả lời cu cậu:
"Có lẽ anh nhận định sai về cái em gọi là 'em muốn học mà chẳng biết bắt đầu từ đâu' như em đã nói. Dùng một công cụ nào đó để 'chui' vào máy của người khác chỉ có thể nằm ở mức độ giải quyết sự tò mò chớ không thể thuộc diện tìm tòi và học hỏi vì việc làm này chẳng mang tí gì tính học hỏi một cách đúng nghĩa cả. Em thử tưởng tượng máy của một người dùng bình thường khác với máy của em thế nào? Anh nghĩ nếu như nó là một máy chạy Windows (anh nghĩ em thạo Windows) thì cũng C: rồi D: và bấy nhiêu software mà ai cũng dùng. Có gì đáng để 'thoả' cái tò mò đâu nhỉ? Đừng nói là em muốn tìm xem trong máy nào đó có CC và những thông tin 'lý thú' khác để... phá bởi vì anh không ủng hộ những chuyện này đâu. Không những thế mà anh cảm thấy.... mất hứng khi trao đổi."
"cuti" đáp:
"Dạ không, em chẳng dám nghĩ đến chuyện kiếm CC hay gì đâu. Cùng lắm là thâm nhập vào máy nào đó, cài một .bat file để doạ chủ nhân của máy chơi cho vui. Ví dụ như, khi chủ nhân mở máy, nó hiện ra thông điệp 'you are hacked' rồi chờ vài giây, nó lại hiện ra thông điệp 'just kidding!. Em nghĩ mấy trò này vô hại mà."
Tôi phá lên cười vì tính trẻ con của "cuti" và trả lời:
"Ừa, anh thấy mấy trò này quả vô hại nhưng cũng vô... ích luôn. Em thử nghĩ xem, em phải mất thời gian tìm tòi, hỏi han cho ra một software có thể dùng để 'chui' vào máy của ai đó chỉ để tạo ra hai thông điệp 'doạ' khổ chủ cho vui thôi thì khá phí thời gian. Mấy việc làm tinh quái này càng không dính dự gì đến chuyện em nói ngay từ đầu là 'em muốn học hỏi'. Có thể chính em không làm gì phương hại cho khổ chủ của cái máy kia nhưng những cậu bé khác chắc gì có suy nghĩ như em? Cho anh hỏi, em đang làm gì hay còn đi học?"
"cuti" trả lời ngay:
"Dạ em đang còn đi học mà, em học tin năm thứ hai. Bộ hồi nhỏ anh không có thử qua những trò tinh quái của tuổi học trò sao? Chắc anh cũng biết 'nhất quỷ, nhì ma, thứ ba học trò' phải không?"
Tôi chậm rãi đáp lại, cố gắng thuyết phục "cuti" từ bỏ ý định làm một việc vô ích:
"Không may (hay có thể là may) cho anh là thời anh còn bé, mọi chuyện thời ấy khó khăn lắm, nó làm cho con người trưởng thành hơi sớm và bị mất đi rất nhiều những trò tinh quái kia. Đến lúc anh bắt đầu làm quen với computer thì lúc ấy anh cũng đã qua tuổi 'rookie' rồi cho nên quả thật anh chưa hề kinh qua những trò tinh quái như em nói. Anh thật sự không chống đối những trò chơi vặt và vô hại kia, anh chỉ tiếc cho thời gian và công sức mình bỏ ra chỉ để tạo những thoả mãn rất mơ hồ. Nếu em thật sự muốn học hỏi về 'hacking' đúng nghĩa của nó, thỉnh thoảng (khi rảnh) anh có thể góp ý cho em để đỡ vất vả trong chuyện định hướng và tìm tòi. Còn nếu em muốn anh 'bày' em những tiểu xảo để thực hiện những việc làm buồn cười và tinh quái kia thì... có lẽ anh không có hứng thú đâu. Vả lại em đang học năm thứ hai thì có lẽ khối lượng công việc, bài vở bắt đầu nhiều rồi đó. Thay vì phí thời gian với những chuyện này, sao em không dùng nó để 'đầu tư' vào chuyện học hành? Anh dám chắc những kiến thức em đã học qua vẫn còn những chỗ lổng chổng trong đó, sao không dùng thời gian để đào sâu và nắm rõ ngọn ngành?"
"cuti" cười đáp:
"hi hi, anh nói giống ông bác của em nói quá. Đúng là mấy ông già thường có khẩu khí giống nhau. Em thấy anh có lý lắm. Mặc dù em vẫn còn ấm ức chuyện 'thâm nhập' nhưng quả thật em không cãi lại anh. Đối với em, 'hack' là cái gì đó hết sức mù mờ nhưng biết 'hack' và 'hack' được gì đó quả là phê. Nếu bạn bè em biết em biết cách 'hack' thì bọn nó sẽ phục em lăn quay. Làm 'cao thủ' hack hơi bị... hay đó. Chắc em phải theo anh để 'tầm sư học đạo' quá, được không anh?"
Tôi chợt nhận ra một khía cạnh mới trong suy nghĩ của "cuti": 'hack' để được bạn bè nể trọng. Quả là khái niệm lý thú về mặt tâm lý. Tôi trả lời cu cậu:
"Vậy, em muốn 'hack' là vì một lý do khác nữa: 'hack' để được bạn bè nể trọng? Ở mức độ nào đó, bọn nó nể trọng em cũng phải vì em biết được điều bọn nó chưa biết. Nói trên bình diện khả năng thì cái 'nể' ở đây chính là kiến thức bởi vì em có kiến thức 'hack' còn đám bạn của em không có kiến thức này. Cho đến lúc này, em lại quay về chuyện 'kiến thức' và 'học hỏi'. Tuy nhiên, suy nghĩ 'hack' để được bạn bè nể trọng khá sai lạc nếu như 'hack' đồng nghĩa với tấn công và phá hoại. Người được 'nể' vì chuyện này đã sai mà người nể khả năng này cũng sai nốt.
Anh tạo điều kiện cho em suy nghĩ và trả lời anh lần tới nếu mình có cơ hội nói chuyện tiếp:
a. em thực sự muốn trau dồi kiến thức hay không?
b. em thực sự có đủ kiên nhẫn để thực hiện việc 'trau dồi' này không?
c. em thực sự hiểu 'hack' là gì không?
Nếu em có thể trả lời ba câu này, mình có cơ hội trao đổi nhiều hơn."
"cuti" đáp không chút đắn đo:
"Em trả lời ba câu trên được ngay mà. Khỏi cần đợi lần tới."
Tôi cười đáp:
"Không, anh muốn em suy gẫm lại những gì mình trao đổi hôm nay thật kỹ rồi trả lời anh sau. Anh tin rằng có nhiều thông tin em cần thời gian để 'tiêu hoá'. Nếu cần, em nên save lại trọn bộ nội dung anh em mình chat ngày hôm nay để khi nào rảnh, đọc lại cho kỹ. Đối với anh, mình chat vậy là phá kỷ lục rồi đó."
"cuti" có vẻ hơi cằn nhằn:
"Mình chat cũng lâu nhưng anh toàn nói chuyện lý thuyết không thôi. Em thích động tay, động chân hơn. Em thích làm cái gì có kết quả liền."
Tôi đáp:
"Chuyện thực hành không khó nếu như mình nắm được nguyên tắc, nắm được cốt lõi của vấn đề. Nếu bây giờ mình bàn về một 'lệnh' nào đó, có thể nó vô ích và vô nghĩa nếu như anh em mình chưa thống nhất ý kiến cái gọi là 'hack'. Bởi vậy, em nên xem lại những gì mình chat đi, đừng nóng vội vì nếu mình còn... 'duyên' trao đổi thì thời gian còn dài. Anh phải đi chuẩn bị một số chuyện để ngày mai còn đi làm nữa. Thôi, mình gặp lại sau hả? Chào 'cuti'."
Tôi không quên save lại nội dung chat hôm nay để tham khảo và tiếp nối cho lần sau (nếu còn dịp chat với "cuti") rồi logoff.
Sau bốn mươi phút chat với một cậu bé đang học đại học năm thứ hai, có kiến thức về tin học, tôi rút ra được vài điều như sau:
- hiểu chưa đúng về cái gọi là 'hack'
- vẫn còn thích phá phách một cách tinh quái
- chưa bình tĩnh để xét đoán một vấn đề
- thiếu kiên nhẫn để nhận ra những điểm cốt lõi mà chỉ thích thấy ngay kết quả
- bị cám dỗ bởi cái danh tiếng rất mơ hồ là 'cao thủ hacker'
Tôi không chắc "cuti" có đủ kiên nhẫn để đi qua "con đường chông gai" hay không, nhưng đây là chuyện của lần tới. Tôi xếp máy lại.
Tôi không nhớ rõ bao nhiêu lần tôi nhận được thông điệp với dạng "Anh chỉ cho em cách hack với". Những thông điệp này đến từ e-mail, offline message của Yahoo, personal message trên diễn đàn..v..v.. Điều lý thú là những người gởi thông điệp này có khả năng và kinh nghiệm về CNTT ở mức độ khác nhau (sau khi tôi thử tìm hiểu và tiếp xúc để biết được điều này). Lý do tại sao những câu hỏi như trên được đặt ra quá nhiều? Họ hiểu thế nào là "hack"? Họ muốn "hack" để làm gì? Họ tìm tòi những gì về "hack"? Lúc bắt đầu tiếp cận với các câu hỏi thế này, tôi cố gắng giải thích ít nhiều (trong phạm vi cho phép) nhưng dần dà, tôi đâm ra... nản vì biết chắc những điều tôi trả lời không có kết quả hoặc tác dụng gì cả. Tuy vậy, những cuộc trao đổi này dẫn tôi đến chỗ thích thú khai phá, tìm tòi tâm lý của những người đặt câu hỏi. Tôi nhận ra vài điều lý thú:
- những lối mòn của cách suy tư (nếu có suy tư)
- khả năng tiếp cận và hình thành giải pháp cho vấn đề
- ý muốn đào sâu và rèn luyện
Đây là những điểm cốt lõi tôi muốn chia xẻ với bạn trong loạt bài "những cuộc đối thoại với rookie". Loạt bài này không có dụng đích phân tích kỹ thuật (mặc dù để hình thành nội dung bài viết chắc chắn không thể thiếu những chi tiết về kỹ thuật). Nó được khai triển ở dạng trò chuyện, trao đổi giữa hai (hoặc nhiều nhân vật) xen vào những chi tiết kỹ thuật. Những nhân vật này là tổng hợp từ tính cách của nhiều nhân vật có thật. Tuy nhiên, ngôn từ trao đổi trong bài viết đã được điều chỉnh và xây dựng lại cho thích hợp với tình tiết của các mẩu chuyện.
Xin lưu ý rằng, những vấn đề được đưa ra trong chuỗi bài này nhằm thúc đẩy kỹ năng tiếp cận vấn đề, nghiên cứu và giải quyết vấn đề. Bởi thế, mọi giải đáp cho thắc mắc (nếu có) đều tìm thấy từ việc đọc và suy nghĩ kỹ lưỡng.
2. Gặp gỡ:
Chiều nay, một buổi chiều Chủ Nhật, rảnh rỗi và yên tĩnh. Tôi mở máy và log vào Yahoo Instance Messenger (đã gần một tuần lễ tôi không vào YIM). Chà, có vài cái "thỉnh cầu" đưa tên tôi vào danh sách YIM của ai đó. Thử xem nào... ngoại trừ một "thỉnh cầu" khá ngổ ngáo, tôi tiếp nhận các thỉnh cầu còn lại. Trong số "thỉnh cầu" này, có một cái làm tôi chú ý. Người thỉnh cầu có cái "nick" khá ngộ nghĩnh là "cuti" và thông điệp thỉnh cầu như sau: "nếu không phiền, xin phép anh add em với. Em có một số thắc mắc muốn nhờ anh chỉ dẫn, Nghe nói anh khó tính lắm nhưng em cũng liều một phen.".
Tôi mỉm cười và nhấn nút "accept" và sau đó gởi đi thông điệp "Được, anh khó tính lắm. Thử xem!. Và đây là điểm khởi đầu của những cuộc trò chuyện giữa tôi và "cuti".
Tôi chuyển trạng thái YIM của mình sang "invisible" vì không muốn trò chuyện lúc này. Tôi muốn kiểm tra mail và duyệt web để tìm một số thông tin cần thiết. Chừng năm phút sau, tôi nhận được một thông điệp nhấp nháy. Tôi mở ra và thấy rằng "cuti" vừa trả lời:
"Cám ơn anh đã add em, khi nào anh online, cho em biết với!".
Tôi muốn "thử" anh chàng một phát, bèn trả lời như sau:
"Anh đã online, nhưng anh chưa nói chuyện được, em chờ được không?.
"cuti" hồi đáp:
Ồ may quá, may quá... dạ được chứ. Trưa Chủ Nhật em chẳng có chuyện gì đâu. Khi nào rảnh cho em biết với"
Tôi yên lặng, thâu gọn cửa sổ của YIM và tiếp tục kiểm tra mail, trả lời mail. Gần nữa giờ trôi qua, tôi quên bẵng có "cuti" đang chờ. Tôi mở cửa sổ YIM lên xem và thấy "cuti" vẫn còn online. Tôi gởi cho anh chàng một thông điệp:
"Chà, nãy giờ chat đã đời rồi hả? Anh rảnh rồi, em cần hỏi gì?".
Tôi không ngờ trong tích tắt "cuti" đã trả lời tôi ngay. Điều này chứng tỏ cu cậu không bận rộn và quả thật... đang chờ. Nó cũng chứng tỏ cu cậu là một "cao thủ" gõ chữ vì trong tích tắc tôi đã nhận được thông điệp như sau:
"Dạ, em đâu có chat, chỉ đang duyệt mấy trang web thôi. Em có vài thắc mắc là nếu mình muốn học hỏi, tham khảo tài liệu, cứ cho là mình đã có một mớ sách, cách nào để giúp mình nhớ được mọi thứ trong đống sách đó? À mà, anh cho phép em hỏi thăm anh bao nhiêu tuổi để tiện xưng hô. Nếu anh không muốn nói cũng không sao".
Tôi mỉm cười thầm nghĩ "cu cậu này liếng lắm, muốn nói chuyện phương pháp và rào trước, đón sau". Tôi trả lời:
"Anh nghĩ là anh lớn hơn em đó, em thấy xưng hô thế nào tiện thì xưng hô nhưng có lẽ nên xưng anh em thì hay nhất vì anh đoán em nhỏ tuổi hơn anh.".
"cuti" nằng nặc muốn rõ chuyện tuổi tác:
"Nhưng em muốn biết mà, lỡ xưng hô không phải đạo thì... kẹt lắm!"
Tôi trả lời:
"Được rồi, nếu em muốn biết thì anh mem mém tứ tuần."
"cuti" im lặng một chặp, có lẽ cu cậu nghĩ ngợi gì đây. Sau đó, một thông điệp khác đến từ "cuti" như sau:
"Ùm... thôi, để cháu gọi chú bằng chú đi, chú chỉ kém ba cháu có vài tuổi, gọi bằng anh kỳ cục sao đó!".
À, hoá ra cu cậu im lặng một chặp là vì lý do này. Tôi mỉm cười trả lời:
"Thôi đi, chú với chả cháu. Xưng anh em vui hơn!"
3. Khai mở:
Tôi tiếp tục giải đáp thắc mắc của "cuti":
"Về việc đọc và nhớ những gì mình đọc thì như thế này. Để có thể đọc và nhớ, em phải tập cho mình thói quen tổng kết những gì mình đọc được ở dạng ngắn gọn và có hệ thống nhất có thể được (trong khả năng của em). Đây là một kỹ năng hẳn hòi và nó cần sự rèn luyện liên tục. Ví dụ, đọc xong một chương, thử tóm tắt lại chương này đề cập những chuyện gì? những điểm cốt lõi của nó nằm ở đâu? Nếu chưa có thói quen tổng kết trong não thì thử tổng kết trên giấy. Ghi lại những điểm mình nắm được. Đừng ngại sai đúng, đủ thiếu gì cả. Sau đó so sánh lại với thông tin trong sách xem thử mình thu thập được bao nhiêu sau lần đọc thứ nhất. Sau một thời gian, chắc chắn khả năng này sẽ thay đổi."
"cuti" trả lời ngay:
"Ôi trời! sao mà khó vậy?"
Tôi phá lên cười và hỏi tiếp:
"Em đã thử chưa mà thấy khó? Em tự xét xem em có đủ kiên nhẫn để đạt được điều mình muốn không?"
Lần này "cuti" im lặng khá lâu, chứng tỏ cu cậu đắn đo lắm trước khi trả lời. Tôi biết cu cậu không chat với ai khác bằng YIM bởi vì thanh "status" của YIM không hiển thị thông điệp "cuti is typing a message". Tôi thong thả đốt điếu thuốc và chờ. Gần hai phút sau, "cuti" mới hồi đáp một câu:
"Cho em nói thật cái này nha? Em thấy là anh không khó tánh như người ta nói nhưng nói chuyện với anh em bị cảm giác căng thẳng vì phát biểu không cẩn thận sẽ bị anh "bẻ" ngay."
Tôi cười phá lên và đáp:
"Em sắc sảo đấy. Anh chả khó tính tí nào. Có lẽ em bị 'chạm' vì anh hỏi vặn lại 'em thử chưa mà thấy khó?' chứ gì? Câu hỏi đơn giản này của anh hàm chứa một điều như sau: đừng xét vấn đề dựa trên cảm tính mà hãy xét nó một cách khoa học. Hãy cân nhắc, thử nghiệm, rút tỉa rồi mới hình thành ý kiến của mình về một vấn đề nếu như vấn đề ấy mình chưa bao giờ kinh qua. Rõ ràng là em chưa hề thử qua cách đọc, suy nghĩ và tổng kết bao giờ thì làm sao em có thể kết luận ngay 'sao mà khó vậy?'. Cho nên câu phát biểu này theo anh thấy, nó đầy cảm tính. Đây là một trở ngại đầu tiên và thường thấy, nó sẽ làm em chùn bước trước những cái còn 'khó' hơn nhiều. À mà em vẫn chưa trả lời câu hỏi của anh là em có đủ kiên nhẫn hay không?"
"cuti" trả lời:
"Có lẽ em suy nghĩ quá đơn giản. Thông thường nếu em nói là 'cái đó khó quá' thì người đối diện hay trả lời là 'khó thì thôi' chớ ít ai hỏi ngược lại 'chưa thử mà biết khó hay sao?'. Cái này làm em chột dạ, nhưng không sao, em phải làm quen với lối suy nghĩ và cân nhắc vấn đề này. Còn chuyện kiên nhẫn hay không thì... hy vọng em có đủ kiên nhẫn."
Tôi đáp:
"Vậy thì tốt. Thử dùng cái kiên nhẫn của em, tìm ngay một cuốn sách nào đó, về vấn đề gì đó em rất thích. Đọc và thử nghiệm cách tổng kết rồi cho anh biết kết quả ra sao nha?"
4. 'hack' là gì?
"cuti" vui vẻ trả lời:
"hi hi, nhất định rồi. Để tối nay em 'thử nghiệm' xem sao. À mà đúng ra em muốn hỏi anh câu này ngay từ đầu nhưng hơi ngại. Anh có thể chỉ em cách hack được không? Em mê 'hack' lắm á, em muốn học mà chẳng biết bắt đầu từ đâu.
Tôi có phần cụt hứng khi nhận được câu hỏi này, không phải là vì "cuti" đề cập đến chuyện hack mà cách "cuti" hỏi về chuyện hack trong một câu ngắn gọn đến thế. Tôi hỏi thêm:
"Em hiểu thế nào là 'hack' vậy? May mà em không hỏi câu này ngay từ đầu không thì anh lại 'bẻ' cho hụt hơi".
"cuti" trả lời ngay:
"Ồ, hack hả anh? anh hỏi theo kiểu mẹo hay hỏi thiệt vậy? Hack là gì ai mà không biết?"
Tôi gõ ngay câu trả lời:
"Ừa, vậy mà anh vẫn muốn biết em hiểu thế nào là 'hack'. Em thử trả lời anh xem?"
"cuti" tỏ vẻ đắn đo vì cu cậu im lặng vài chục giây rồi mới trả lời:
"Ùm... em nghĩ rằng hack là thâm nhập vào một máy nào đó... phải không anh?"
Tôi phá lên cười vì tính thành thật và đơn giản của "cuti" trong khi gõ thông điệp trả lời cho cu cậu:
"Em lầm rồi, 'hack' không phải và không chỉ đơn giản là 'thâm nhập vào một máy nào đó'!"
Cu cậu hồi báo ngay:
"Anh lại trêu em rồi. Thôi đi, bày cho em cách hack đi mà."
Tôi trả lời:
"Không đâu, anh nói thật. Em hiểu sai về 'hack' rồi đó!"
Lần này "cuti" thật sự sửng sốt:
"Vậy.... theo anh 'hack' là gì? Em hy vọng là anh không trêu em tội nghiệp."
Tôi mỉm cười trả lời:
"theo anh? Vậy ý em theo anh nghĩ thì khác, theo em nghĩ thì khác và theo ai đó nghĩ thì khác về khái niệm 'hack' là gì phải không? Nếu vậy thì theo anh, chỉ có hai khả năng: hiểu đúng về cái gọi là 'hack' hoặc hiểu chưa đúng về cái gọi là 'hack', thế thôi.
Theo anh (hiểu), 'hack' là sự sửa đổi nào đó có dụng đích rõ ràng trên hệ thống (trên nền tảng của hệ thống, trên cơ chế làm việc của hệ thống...) và sửa đổi này làm thay đổi 'thái độ' làm việc của hệ thống ấy. 'Sửa đổi' này là một trong những biểu thị của việc 'hack'. 'Thái độ' này đúng hay sai, thiện hay ác, ngắn hay dài... là chuyện khác. "
"cuti" im lặng khá lâu. Có lẽ cu cậu đang "tiêu hoá" đoạn định nghĩa lỏng chỏng của tôi. Sau một hồi, "cuti" trả lời:
"Chà, phức tạp quá vậy? nhưng việc thâm nhập vào một máy nào đó cũng là 'hack' theo định nghĩa của anh cơ mà?"
Tôi cười đáp:
"Không đâu em, nếu em phân tích kỹ hơn một tí thì sẽ thấy điểm khác biệt ở đây.
a. 'hack' là sự thay đổi nào đó đến hệ thống. Điều này có nghĩa em phải có quyền truy cập, sử dụng rồi mới có thể thực hiện sự thay đổi. Ít nhất em phải có một chủ quyền nào đó, dù nhỏ bé nhất, mong manh nhất thì mới có thể 'hành động' được.
b. thâm nhập vào một máy nào đó có nghĩa là em ở trong giai đoạn trước khi xác định được chủ quyền cần thiết để thực hiện 'hành động' hack."
Nói một cách khác, phải có a thì mới có b.
Lần này "cuti" im lặng khá lâu. Tôi để yên cho cu cậu nghĩ ngợi thoả thích. Sau một hồi, "cuti" hỏi tiếp:
"Nếu thế thì việc thâm nhập vào một máy nào đó bao gồm 'hành động' hack chớ chính nó không phải là 'hack'? Mình gọi chung chung tất cả là 'hack' không được sao?"
Tôi đáp:
"Đúng vậy, nếu như em muốn xét vấn đề trên phương diện hiện tượng thay vì phương diện thứ tự thời gian. Việc gọi như thế nào không quan trọng bằng việc hiểu thực chất vấn đề là ở đâu."
"cuti" hồi đáp ngay:
"Hình như anh đang chỉ cho em chỉ phần lý thuyết mà thôi? Em cố gắng hình dung việc áp dụng lý thuyết này vào thực tiễn nhưng sao thấy mù mờ quá."
Tôi trả lời:
"Được rồi, hãy xét xem một vài trường hợp anh nghĩ thuộc dạng 'hack'.
a. nếu em thay đổi một giá trị trong Windows registry để đạt được mục đích nào đó hoặc 'mở' ra thêm một chức năng nào đó mà Windows không có ở chế độ mặc định. Đây chính là 'hack'. Để có thể thực hiện chuyện này, em phải được phép (có quyền) khởi động lệnh regedit. Nếu không, hành động 'hack' này không thể xảy ra.
b. tương tự cho hệ thống *nix, nếu những giá trị mặc định nào đó trong /proc system của Linux không ứng hiệu theo ý em, khi em thay đổi chúng có nghĩa là em đã 'hack'. Để làm được chuyện này, em phải có chủ quyền nhất định.
c. em có thể duyệt một trang web nào đó nhưng không thể thay đổi 'thái độ' của nó (cách hiển thị, giá trị hiển thị....). Tuy nhiên, để ứng dụng web (của trang web này) hiển thị những thứ khác hơn (đáng lẽ ra nó không được hiển thị như thế), em phải tác động đến nó bằng cách này hoặc cách khác (dùng telnet, dùng netcat, dùng string ngay trên chính trình duyệt....). Để làm được chuyện này, em phải có chủ quyền nào đó.
Trong phạm vi truy cập, nếu em có thể duyệt trang này, ít nhất em đã có chủ quyền như một guest và ít nhất, em đã truy cập được vào trang web trước khi có thể thực thi một 'hành động' nào đó. Làm guest có giá trị chủ quyền nhất định.
Nói một cách tổng quát, giả sử dịch vụ cho phép truy cập nhưng lại đòi hỏi tên người dùng và mật khẩu hẳn hòi, em hoàn toàn không có chủ quyền nếu như em duyệt trang web này với tư cách guest. Nói một cách khác, cơ hội để em 'hack' (hay tạo một tác động nào đó) trên web server này là rất thấp (hoặc giả không có). Tuy nhiên, nếu em phân tích tỉ mỉ thì thấy rằng, khi em truy cập vào một trang web đòi hỏi xác thực danh tánh, sẽ có giai đoạn em vẫn là guest và vẫn có thể tác động đến web server (để thực thi giai đoạn xác thực danh tánh). Giai đoạn ngắn ngủi này là chổ trống (có thể) để em tạo một tác động gì đó đến máy chủ (hay còn gọi là 'hack').
"cuti" trả lời (kèm theo một emotion icon biểu thị cho sự 'buồn bã'):
"Chà, càng lúc càng rối bòng bong cả lên. Nếu vậy, em muốn thâm nhập vào một máy con nào đó trên Internet thì có nghĩa em phải có chủ quyền gì đó trên máy kia?"
Tôi cười đáp:
"Tất nhiên. Nếu không em không thể 'hack' được. Anh nhắc lại: 'hack' là một hành động chỉ có thể xảy ra khi có được chủ quyền, có thể truy cập đến mục tiêu mình muốn thâm nhập. Đây mới chỉ là khái niệm tổng quát. Nếu em muốn thâm nhập vào một máy nào đó trên Internet, em phải biết rõ máy đó là máy gì? nó chạy trên hệ điều hành nào? Kế tiếp em mới tìm hiểu xem em có thể truy cập nó vào vị trí nào và xem thử em có được chủ quyền gì? Nói trên bình diện thâm nhập xuyên qua mạng và dùng phương tiện truyền tải TCP/IP, lối vào duy nhất và hiển nhiên nhất là cổng dịch vụ. Nếu dịch vụ không chạy --> không có cổng. Nếu không có cổng --> không thể vào."
"cuti" nhăn nhó:
"Gì mà khó khăn, rắc rối vậy? Bộ không có một phần mềm nào đó, mình chỉ cần gõ tên hoặc địa chỉ của máy mình muốn thâm nhập và mình .... "chui' vào máy đó?"
Tôi phá lên cười và có phần thất vọng (sau khi cố gắng giải thích một cách có đầu đũa, có nguyên tắc với cu cậu). Tuy nhiên, tôi vẫn trả lời:
"Tất nhiên là có phần mềm làm những chuyện này ở mức độ nào đó. Tuy nhiên, dựa vào phần mềm để làm chuyện này có lẽ không còn là 'hack' nữa nói theo khái niệm nãy giờ anh cố gắng trao đổi với em."
"cuti" cãi lại:
"Nhưng.... mục tiêu cuối cùng là thâm nhập. Không cần biết mình dùng công cụ nào, miễn sao thâm nhập được là... xong. Nếu anh nói cần phải có chủ quyền rồi mới có thể tạo tác động, thì phần mềm này sẽ xác định mục tiêu thâm nhập có phải là hệ điều hành mình muốn, sau đó nó thử truy cập và dùng quyền guest chẳng hạn rồi... thực thi một lệnh nào đó và thâm nhập vào máy. Những bước này hoàn toàn phù hợp với khái niệm anh đưa ra. Chỉ có cái khác là em không làm 'bằng tay' mà dùng một công cụ."
Tôi cười và nói:
"Nếu thế thì lẽ ra em phải hỏi anh thế này: 'anh có biết công cụ nào dùng để rà và thâm nhập vào máy nào đó hoàn toàn tự động mà mình không cần làm gì hết?', thay vì: 'Anh có thể chỉ em cách hack được không?'. Nãy giờ anh thử 'chỉ' em cách 'hack' đó nhưng có lẽ em không đủ kiên nhẫn để tiếp thu những điều anh 'chỉ' mà chỉ muốn tìm một cách nào đó, một công cụ nào đó giản tiện và đạt được mục đích ngay lập tức. Thật tình mà nói, anh có thấy một số công cụ ở dạng này và đã có thử qua cho biết nhưng chỉ một lần rồi anh không bao giờ đụng đến chúng nữa. Em muốn biết lý do tại sao không?"
"cuti" hăm hở:
"Thật sao? thật có phần mềm nào tuyệt diệu đến thế sao? anh chỉ cho em chỗ nào để down nó về đi. Năn nỉ đó!"
Tôi chắc lưỡi than thầm "lại thêm một anh chàng newbie thích ăn xổi, ở thì". Tôi cố kiên nhẫn tiếp tục trả lời:
"Link để download thì có thể tìm ra nhưng anh không nhớ ngay lúc này vì anh không còn đụng đến chúng nhiều năm rồi. Tuy nhiên, điều anh muốn nói ở đây là thế này:
- 'hack' với dụng đích nào đó (tốt hay xấu) có sự lý thú của nó. Lý thú ở chỗ nó là một sự thách thức (challenge) để mình phải suy nghĩ, phân tích, tìm tòi và giải quyết. Thiếu mất điều này, 'hack' chẳng còn gì là thú vị nữa.
- công cụ nào cũng vậy, nó có giới hạn nhất định. Công cụ được viết ra nhằm thâm nhập một hệ điều hành cho khoảng thời gian nào đó. Sau khi hệ điều hành này vá lỗi, các công cụ này trở nên vô dụng. Đó là chưa kể trường hợp các công cụ ở dạng này không hiếm bị đính một con trojan. Người dùng nó chưa thâm nhập được thì lại bị thâm nhập.
- kiến thức và kinh nghiệm 'hack' theo đúng nghĩa của nó được trả giá bằng thời gian, bằng sự kiên nhẫn và niềm đam mê của người muốn tìm tòi và khai phá những điều mình thắc mắc.
Thật sự anh chỉ thích trao đổi với những ai thật sự kiên nhẫn và muốn tìm tòi theo đúng nghĩa của nó. Nhưng, cho anh biết lý do tại sao em thích thâm nhập theo lối dùng một công cụ và phó mặc công cụ ấy vậy?"
"cuti" trả lời kém hăm hở hơn trước:
"Thật sự em chỉ tò mò xem thử 'chui' vào máy ai đó thế nào thôi. Xem thử nó ra sao, vậy thôi. Nếu em có được phần mềm này, chắc em chỉ thử một lần cho biết xem 'hack' là cái gì."
Tôi trầm ngâm vài giây rồi trả lời cu cậu:
"Có lẽ anh nhận định sai về cái em gọi là 'em muốn học mà chẳng biết bắt đầu từ đâu' như em đã nói. Dùng một công cụ nào đó để 'chui' vào máy của người khác chỉ có thể nằm ở mức độ giải quyết sự tò mò chớ không thể thuộc diện tìm tòi và học hỏi vì việc làm này chẳng mang tí gì tính học hỏi một cách đúng nghĩa cả. Em thử tưởng tượng máy của một người dùng bình thường khác với máy của em thế nào? Anh nghĩ nếu như nó là một máy chạy Windows (anh nghĩ em thạo Windows) thì cũng C: rồi D: và bấy nhiêu software mà ai cũng dùng. Có gì đáng để 'thoả' cái tò mò đâu nhỉ? Đừng nói là em muốn tìm xem trong máy nào đó có CC và những thông tin 'lý thú' khác để... phá bởi vì anh không ủng hộ những chuyện này đâu. Không những thế mà anh cảm thấy.... mất hứng khi trao đổi."
"cuti" đáp:
"Dạ không, em chẳng dám nghĩ đến chuyện kiếm CC hay gì đâu. Cùng lắm là thâm nhập vào máy nào đó, cài một .bat file để doạ chủ nhân của máy chơi cho vui. Ví dụ như, khi chủ nhân mở máy, nó hiện ra thông điệp 'you are hacked' rồi chờ vài giây, nó lại hiện ra thông điệp 'just kidding!. Em nghĩ mấy trò này vô hại mà."
Tôi phá lên cười vì tính trẻ con của "cuti" và trả lời:
"Ừa, anh thấy mấy trò này quả vô hại nhưng cũng vô... ích luôn. Em thử nghĩ xem, em phải mất thời gian tìm tòi, hỏi han cho ra một software có thể dùng để 'chui' vào máy của ai đó chỉ để tạo ra hai thông điệp 'doạ' khổ chủ cho vui thôi thì khá phí thời gian. Mấy việc làm tinh quái này càng không dính dự gì đến chuyện em nói ngay từ đầu là 'em muốn học hỏi'. Có thể chính em không làm gì phương hại cho khổ chủ của cái máy kia nhưng những cậu bé khác chắc gì có suy nghĩ như em? Cho anh hỏi, em đang làm gì hay còn đi học?"
"cuti" trả lời ngay:
"Dạ em đang còn đi học mà, em học tin năm thứ hai. Bộ hồi nhỏ anh không có thử qua những trò tinh quái của tuổi học trò sao? Chắc anh cũng biết 'nhất quỷ, nhì ma, thứ ba học trò' phải không?"
Tôi chậm rãi đáp lại, cố gắng thuyết phục "cuti" từ bỏ ý định làm một việc vô ích:
"Không may (hay có thể là may) cho anh là thời anh còn bé, mọi chuyện thời ấy khó khăn lắm, nó làm cho con người trưởng thành hơi sớm và bị mất đi rất nhiều những trò tinh quái kia. Đến lúc anh bắt đầu làm quen với computer thì lúc ấy anh cũng đã qua tuổi 'rookie' rồi cho nên quả thật anh chưa hề kinh qua những trò tinh quái như em nói. Anh thật sự không chống đối những trò chơi vặt và vô hại kia, anh chỉ tiếc cho thời gian và công sức mình bỏ ra chỉ để tạo những thoả mãn rất mơ hồ. Nếu em thật sự muốn học hỏi về 'hacking' đúng nghĩa của nó, thỉnh thoảng (khi rảnh) anh có thể góp ý cho em để đỡ vất vả trong chuyện định hướng và tìm tòi. Còn nếu em muốn anh 'bày' em những tiểu xảo để thực hiện những việc làm buồn cười và tinh quái kia thì... có lẽ anh không có hứng thú đâu. Vả lại em đang học năm thứ hai thì có lẽ khối lượng công việc, bài vở bắt đầu nhiều rồi đó. Thay vì phí thời gian với những chuyện này, sao em không dùng nó để 'đầu tư' vào chuyện học hành? Anh dám chắc những kiến thức em đã học qua vẫn còn những chỗ lổng chổng trong đó, sao không dùng thời gian để đào sâu và nắm rõ ngọn ngành?"
"cuti" cười đáp:
"hi hi, anh nói giống ông bác của em nói quá. Đúng là mấy ông già thường có khẩu khí giống nhau. Em thấy anh có lý lắm. Mặc dù em vẫn còn ấm ức chuyện 'thâm nhập' nhưng quả thật em không cãi lại anh. Đối với em, 'hack' là cái gì đó hết sức mù mờ nhưng biết 'hack' và 'hack' được gì đó quả là phê. Nếu bạn bè em biết em biết cách 'hack' thì bọn nó sẽ phục em lăn quay. Làm 'cao thủ' hack hơi bị... hay đó. Chắc em phải theo anh để 'tầm sư học đạo' quá, được không anh?"
Tôi chợt nhận ra một khía cạnh mới trong suy nghĩ của "cuti": 'hack' để được bạn bè nể trọng. Quả là khái niệm lý thú về mặt tâm lý. Tôi trả lời cu cậu:
"Vậy, em muốn 'hack' là vì một lý do khác nữa: 'hack' để được bạn bè nể trọng? Ở mức độ nào đó, bọn nó nể trọng em cũng phải vì em biết được điều bọn nó chưa biết. Nói trên bình diện khả năng thì cái 'nể' ở đây chính là kiến thức bởi vì em có kiến thức 'hack' còn đám bạn của em không có kiến thức này. Cho đến lúc này, em lại quay về chuyện 'kiến thức' và 'học hỏi'. Tuy nhiên, suy nghĩ 'hack' để được bạn bè nể trọng khá sai lạc nếu như 'hack' đồng nghĩa với tấn công và phá hoại. Người được 'nể' vì chuyện này đã sai mà người nể khả năng này cũng sai nốt.
Anh tạo điều kiện cho em suy nghĩ và trả lời anh lần tới nếu mình có cơ hội nói chuyện tiếp:
a. em thực sự muốn trau dồi kiến thức hay không?
b. em thực sự có đủ kiên nhẫn để thực hiện việc 'trau dồi' này không?
c. em thực sự hiểu 'hack' là gì không?
Nếu em có thể trả lời ba câu này, mình có cơ hội trao đổi nhiều hơn."
"cuti" đáp không chút đắn đo:
"Em trả lời ba câu trên được ngay mà. Khỏi cần đợi lần tới."
Tôi cười đáp:
"Không, anh muốn em suy gẫm lại những gì mình trao đổi hôm nay thật kỹ rồi trả lời anh sau. Anh tin rằng có nhiều thông tin em cần thời gian để 'tiêu hoá'. Nếu cần, em nên save lại trọn bộ nội dung anh em mình chat ngày hôm nay để khi nào rảnh, đọc lại cho kỹ. Đối với anh, mình chat vậy là phá kỷ lục rồi đó."
"cuti" có vẻ hơi cằn nhằn:
"Mình chat cũng lâu nhưng anh toàn nói chuyện lý thuyết không thôi. Em thích động tay, động chân hơn. Em thích làm cái gì có kết quả liền."
Tôi đáp:
"Chuyện thực hành không khó nếu như mình nắm được nguyên tắc, nắm được cốt lõi của vấn đề. Nếu bây giờ mình bàn về một 'lệnh' nào đó, có thể nó vô ích và vô nghĩa nếu như anh em mình chưa thống nhất ý kiến cái gọi là 'hack'. Bởi vậy, em nên xem lại những gì mình chat đi, đừng nóng vội vì nếu mình còn... 'duyên' trao đổi thì thời gian còn dài. Anh phải đi chuẩn bị một số chuyện để ngày mai còn đi làm nữa. Thôi, mình gặp lại sau hả? Chào 'cuti'."
Tôi không quên save lại nội dung chat hôm nay để tham khảo và tiếp nối cho lần sau (nếu còn dịp chat với "cuti") rồi logoff.
Sau bốn mươi phút chat với một cậu bé đang học đại học năm thứ hai, có kiến thức về tin học, tôi rút ra được vài điều như sau:
- hiểu chưa đúng về cái gọi là 'hack'
- vẫn còn thích phá phách một cách tinh quái
- chưa bình tĩnh để xét đoán một vấn đề
- thiếu kiên nhẫn để nhận ra những điểm cốt lõi mà chỉ thích thấy ngay kết quả
- bị cám dỗ bởi cái danh tiếng rất mơ hồ là 'cao thủ hacker'
Tôi không chắc "cuti" có đủ kiên nhẫn để đi qua "con đường chông gai" hay không, nhưng đây là chuyện của lần tới. Tôi xếp máy lại.
---HVA---