Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

444444444444

Phanh phui bí m­t th¿ giÛi ng§m Hacker VietNam

[ng khoa]

T¡i ViÇt Nam, có hay không mÙt th¿ giÛi ng§m hacker ho¡t Ùng có tÕ chéc, có tôn chÉ måc ích àng hoàng, hay chÉ là mÙt sñ liên k¿t lÏng l»o giïa nhïng thanh thi¿u niên muÑn thà hiÇn trình Ù xâm nh­p , b» khóa cça mình? Phóng viên cça e-CHIP ã thâm nh­p vào giÛi hacker à tìm hiÃu iÁu này.

Ba website cça hacker ViÇt Nam

HiÇn t°ãng mÙt sÑ thanh thi¿u niên dành nhiÁu thÝi gian bên máy tính à tìm hiÃu, thñc hiÇn nhïng kù thu­t t¥n công (hack) và b» khóa ph§n mÁm (crack) không xa l¡ gì Ñi vÛi h§u h¿t các quÑc gia trên th¿ giÛi. Të ch× là nhïng k» mÛi t­p to¹ vào nghÁ (script kiddies, newbie), hÍ d§n d§n trß nên thành th¡o và trß thành nhïng hacker, cracker. Nh°ng tr°Ûc khi trß nên tinh thông, hÍ ã ph£i tr£i qua giai o¡n tham gia các forum (diÅn àn trên Internet), các mailing list (danh sách th°) và các tÕ chéc do giÛi hacker l­p ra à trao Õi thông tin, hÍc hÏi nhïng ki¿n théc vÁ hack và crack.

Cho ¿n thÝi iÃm này, trên Internet xu¥t hiÇn t°¡ng Ñi nhiÁu website bàn vÁ hack và crack do giÛi tr» ViÇt Nam l­p nên. Nói chung, ây là nhïng website tñ phát . Nhïng website này b¯t nguÓn të ý thích cça mÙt ng°Ýi ho·c mÙt nhóm ng°Ýi nào ó. HÍ bÏ công thi¿t k¿ và sau ó thuê mÙt máy chç t¡i n°Ûc ngoài à ·t website, rÓi qu£ng bá liên tåc à thu hút thành viên. HiÇn có ba website lo¡i này t­p hãp °ãc nhiÁu thành viên nh¥t, ó là website cça HackerVN, VietHacker và HKC. Có thà coi ây là ba tÕ chéc hacker có m¡ng l°Ûi ho¡t Ùng rÙng kh¯p nh¥t ß n°Ûc ta.

Website cça HackerVN (HVA) do mÙt hacker có biÇt danh Onin éng §u. Website này có sÑ l°ãng chuyên måc khá phong phú, cung c¥p các ki¿n théc të c¡ b£n ¿n nâng cao, thu hút °ãc kho£ng 2.000 thành viên, trong ó có h¡n 150 thành viên cÑt cán. °ãc bi¿t, mÙt thành viên cça HVA ß Anh quÑc ã bÏ tiÁn túi ra thuê máy chç ·t website cho HVA. Có thà coi HVA là mÙt tÕ chéc hacker ho¡t Ùng có tôn chÉ måc ích rõ ràng. Trên website cça HVA, ng°Ýi ta có thà Íc th¥y dòng chï: Måc ích cça chúng tôi là cung c¥p t¥t c£ các ki¿n théc liên quan ¿n b£o m­t và góp ph§n thúc ©y sñ n¯m b¯t ki¿n théc b£o m­t iÇn toán trong cÙng Óng... Chúng tôi không vi¿t virus cing nh° không dung túng cho hành vi vi¿t và phát tán virus. Chúng tôi không ánh c¯p m­t kh©u cça ng°Ýi dùng. Chúng tôi không phá hçy dï liÇu cça b¥t cé website nào. Chúng tôi không truyÁn bá £nh Ói tråy. HVA có quyÁn gá bÏ b¥t cé thành viên ho·c bài vi¿t nào vi ph¡m nhïng iÁu trên . Tuy nhiên, vÛi nhïng ki¿n théc vÁ hack và crack ã °ãc cung c¥p trên Website này, không mÙt ai dám £m b£o r±ng các thành viên s½ không sí dång vào måc ích x¥u.

MÙt website khác cing khá nÕi ti¿ng là VietHacker, quy tå h¡n 1.000 thành viên, trong ó có h¡n 100 thành viên chính. Nhïng ng°Ýi éng §u website này có biÇt danh là Microsoftvn (PAT), Kha , Baodainhan và DarkAngel . áng chú ý chính là Microsoftvn , sinh nm 1984 nh°ng ã có nhiÁu "thành tích" trong viÇc xâm nh­p và t¥n công máy tính.

CuÑi cùng, ph£i kà ¿n website Hacker Club (HKC) cça mÙt b¡n tr» khác mang tên LPTV. Website này có kho£ng 2.000 thành viên, trong ó có sáu thành viên trå cÙt, bao gÓm LPTV, Binhnx , Soccerer , Tikhung , Hoavenu và Bazoka . Các thành

viên này °ãc phân chia phå trách vùng ho¡t Ùng cça HKC t¡i ba miÁn ¥t n°Ûc và c£ n°Ûc ngoài. Hoavenu phå trách miÁn Nam, miÁn Trung là Tikhung và Bachocdien , miÁn B¯c là Binhnx và Soccerer . Hacker Bazoka phå trách B¯c Âu và châu Mù. Th­m chí, HKC có ng°Ýi qu£n lý tài chính riêng là mÙt cô gái, biÇt danh là icetest , ang du hÍc t¡i Úc. Cô này có mÙt tài kho£n riêng. Các thành viên cÑt cán cça HKC hàng tháng tñ nguyÇn óng góp mÙt kho£n tiÁn, sau ó chuyÃn vào tài kho£n cça cô icetest à làm quù chung. Theo iÁu tra cça e-CHÍP, m×i tháng các thành viên chç chÑt cça HKC óng góp trung bình hai triÇu Óng vào quù chung. SÑ tiÁn trong quù s½ °ãc chi dùng cho viÇc thuê máy chç, hÙi hÍp, quà sinh nh­t, v.v... Sáu thành viên chính cça HKC còn có mÙt n¡i c¥t giï các công cå hack, crack, các tài liÇu bí m­t trên m¡ng. ChÉ khi c£ sáu thç l)nh cùng truy c­p mÙt lúc, t¥t nhiên là m×i ng°Ýi mÙt m­t kh©u riêng, thì mÛi mß °ãc cía vào .

Nhïng ng°Ýi éng §u ba website HVA, VietHacker và HKC có sñ liên hÇ ch·t ch½ vÛi nhau qua th° iÇn tí (email) và ch°¡ng trình tán g«u (chat). ·c biÇt, ph§n mÁm chat ã °ãc hÍ sía Õi à có thà chat mÙt cách an toàn giïa hai ng°Ýi vÛi nhau. Lúc §u mÛi thành l­p, c£ ba website nói trên Áu có xu h°Ûng truyÁn bá và cÕ vi cho viÇc t¥n công máy tính, xài account chùa . Tuy nhiên, sau khi hàng lo¡t các website cça hacker nh° clbmatma.net bË nhà chéc trách d¹p tiÇm , còn hai hacker ß TP.HCM bË b¯t, mÙt sÑ hacker khác bË hÏi thm thì nhïng website này ã chuyÃn sang ho¡t Ùng vÛi tiêu chí không phá ho¡i, không truyÁn bá virus, không gíi £nh khiêu dâm... . Dù sao, sñ tñ giác và giác ngÙ cça tëng thành viên v«n là mÙt d¥u ch¥m hÏi.

·c biÇt, giïa ba website này l¡i cing th°Ýng x£y ra& chi¿n tranh . Ch³ng h¡n, ngay tr°Ûc và sau T¿t Quý Mùi, hai câu l¡c bÙ (CLB - nh° hÍ tñ x°ng) VHA và HKC ã liên minh t¥n công HVA (HackerVN), khi¿n cho domain cça HVA (http://hackervn.net) ã bË c°Ûp m¥t . D) nhiên, HVA ph£n pháo . MÙt cách âm th§m, song chúng tôi °ãc bi¿t c£ ba CLB (Website) này ang ánh nhau vÛi& toàn bÙ séc m¡nh cça mình . H§u h¿t nhïng trangweb liên quan ¿n các CLB này Áu bË tàn phá . CuÙc chi¿n ang ti¿p tåc, do bên HVA vëa t¥n công b±ng kù thu­t DDOS Ñi vÛi Website cça HKC và VHA&

Hacker ViÇt Nam và mÙt sÑ chi¿n tích

C£ ba CLB (Website) kà trên Áu r¥t linh ho¡t trong viÇc ti¿p nh­n thành viên. MÙt thành viên cça Website này hoàn toàn có thà tham gia vÛi t° cách thành viên cça mÙt Website khác, t¥t nhiên là vào thÝi kó tiÁn chi¿n tranh CLB . a sÑ thành viên cça các website hacker ViÇt Nam Áu r¥t tr». HÍ là các sinh viên, hÍc sinh ang theo hÍc các tr°Ýng kù thu­t. Tuy nhiên, cing có lác ác mÙt vài ng°Ýi hÍc các tr°Ýng vÁ khoa hÍc xã hÙi. iÃn hình là LPTV, anh này tuy là mÙt trùm hacker nh°ng l¡i hÍc tr°Ýng Báo chí.

Trong giÛi hacker ViÇt Nam cing xu¥t hiÇn nhïng nhân v­t có t§m cá , hiÇn ang làm cho mÙt sÑ công ty trong và ngoài n°Ûc. Nhïng ng°Ýi này không bao giÝ c§m §u các website mà ho¡t Ùng r¥t âm th§m, l·ng l½. Bßi hÍ bi¿t n¿u à lÙ tung tích thì s½ không có lãi cho công viÇc cça mình. Trình Ù cça hÍ r¥t áng kính nÃ. ó là mÙt sÑ ng°Ýi ang làm viÇc t¡i Ngân hàng ACB, TÕng Công ty D§u khí ViÇt Nam, ¡i hÍc Bách khoa Hà NÙi,& Th­m chí, cao thç cça hacker ViÇt Nam còn có m·t c£ ß vài công ty công nghÇ thông tin hàng §u nh° VDC và FPT. ·c biÇt, t¡i ViÇt Nam có ít nh¥t ba ¡i cao thç vëa làm cho ¡n vË mình, vëa °ãc mÙt sÑ công ty ph§n mÁm lÛn cça n°Ûc ngoài thuê dò tìm nhïng l× hÕng b£o m­t trong các s£n ph©m cça hÍ vÛi méc l°¡ng x¥p xÉ m×i ng°Ýi kho£ng 30.000-36.000 USD/nm.

MÙt lñc l°ãng khác cing không kém ph§n tài nng là các sinh viên ViÇt Nam ang theo hÍc t¡i n°Ûc ngoài. ây là nhïng ng°Ýi vëa có kù nng, vëa có iÁu kiÇn sí dång Internet, nh° các hacker bazoka , huongvn , icetest ,& ã óng góp r¥t nhiÁu cho sñ tÓn t¡i cça các website hacker ViÇt Nam.

Nm 1996, khi ViÇt Nam ti¿n hành thí nghiÇm trao Õi e-mail vÛi th¿ giÛi (lúc ó là e-mail giïa Thç t°Ûng Võ Vn KiÇt vÛi Thç t°Ûng Thåy iÃn), mÙt hacker ViÇt Nam ã Ùt nh­p vào mail server và l¥y c¯p °ãc Ëa chÉ e-mail này, sau ó dùng ch°¡ng trình bom th° gíi lung tung. Mãi vÁ sau, các chuyên gia máy tính mÛi phát hiÇn ra tung tích cça hacker này ß t­n... Australia.

Theo dõi biên niên sí hacker ViÇt Nam , có thà ghi nh­n thêm: nm 1997, khi ViÇt Nam chính théc tham gia vào m¡ng Internet, hàng lo¡t các server bË hacker ViÇt Nam Ùt nh­p, l¥y i nhiÁu account (tài kho£n) cça khách hàng. Cho ¿n nm 2001, n¡n ánh c¯p account ã trß nên phÕ bi¿n. MÙt sÑ website cça hacker liên tåc cung c¥p nhïng account chùa , iÃn hình là clbmatma.net, hackervn.com, netanh.com... NhiÁu khách hàng ã ph£i tr£ nhïng sÑ tiÁn khÕng lÓ, lên tÛi vài chåc triÇu Óng, do bË quá nhiÁu ng°Ýi sí dång phi pháp chung account.

Sau khi TÕng công ty B°u chính ViÅn thông áp dång mÙt sÑ biÇn pháp b£o m­t account nh° giÛi h¡n sÑ iÇn tho¡i truy c­p, cung c¥p cho khách hàng danh sách các sÑ iÇn tho¡i truy c­p vào account cça hÍ thì nhiÁu hacker chuyÃn h°Ûng sang t¥n công mÙt sÑ website. Do các web server cça ViÇt Nam th°Ýng ch¡y ch°¡ng trình Internet Information Server (IIS) vÑn còn r¥t nhiÁu l× hÕng nên các hacker ch³ng khó khn gì trong viÇc xâm nh­p và thay Õi trang chç website. Vào tháng 3 nm 2000, kho£ng h¡n 20 Website ã bË hacker t¥n công và thay th¿ nÙi dung trang chç. Trong tháng 6 nm 2002, mÙt ngân hàng lÛn cça ViÇt Nam cing ã bË hacker t¥n công. Theo nhïng tin téc lan truyÁn trong giÛi hacker, có mÙt sÑ tài kho£n cça khách hàng ã bË l¥y c¯p và tiêu xài. HiÇn t¡i, các hacker ang có xu h°Ûng xâm nh­p vào máy chç cça các công ty lÛn à l¥y m­t kh©u và các tài liÇu quantrÍng.

Tuy nhiên, cing ph£i nói r±ng có nhiÁu hacker sau khi xâm nh­p °ãc vào máy chç ã à l¡i nhïng d¥u hiÇu ho·c nhïng dòng tin nh¯n, thông báo cho ng°Ýi qu£n trË bi¿t l× hÕng b£o m­t mà anh ta ã xâm nh­p, giúp ng°Ýi qu£n trË có thà kh¯c phåc kËp thÝi.

Th¥y gì qua Ngày hacker ViÇt Nam §u tiên?

Ngày 1/11/2002, giÛi hacker ViÇt Nam ã tñ mình éng ra tÕ chéc mÙt Ngày hÙi hacker, t­p trung các cao thç cing nh° nhïng k» t­p to¹ vào nghÁ hack cça ba forum (diÅn àn trên Internet) nÕi ti¿ng là VietHacker, HackerVN và HKC. ây là Ngày hÙi §u tiên và cing là l§n §u tiên các hacker b±ng x°¡ng b±ng thËt công khai xu¥t §u lÙ diÇn . HÍ ã làm gì?

Theo Ban tÕ chéc, hÍ t¡o nên sñ kiÇn VN Hacker Day nh±m giúp các thành viên cça ba forum có thà g·p gá, tñ do bàn lu­n, trao Õi thông tin vÁ t¥n công máy tính, m¡ng, b£o m­t... mÙt cách công khai cßi mß ! HÍ l­p lu­n r±ng ß Mù, hàng nm các hacker tÕ chéc ¡i hÙi Defcon, ß Tây Âu có Cebit, v­y t¡i sao giÛi hacker ViÇt Nam l¡i không có mÙt ¡i hÙi cça riêng mình?

Ëa iÃm hÍp m·t là mÙt quán trà Dilmah t¡i sÑ 58B Bà TriÇu, Hà NÙi. Khi phóng viên e-CHÍP ¿n n¡i thì ã th¥y có kho£ng 30 chåc nhân v­t ngÓi ngó nghiêng. Trên mÙt chi¿c bàn kê cao là mÙt chi¿c máy chi¿u (projector) cùng vÛi bÑn máy tính ã k¿t nÑi Internet. NgÓi mÙt lúc thì thêm r¥t nhiÁu cao thç kéo ¿n. Ëa iÃm tå hÍp trß nên ch­t chÙi. Chúng tôi °Ûc oán có kho£ng h¡n 70 ng°Ýi, trong ó có bÑn nï. H§u h¿t Áu r¥t tr», chÉ kho£ng 18-23. MÙt nhóm kho£ng nm ng°Ýi ngÓi riêng ß vË trí trung tâm. ây là nhïng thành viên cça Ban tÕ chéc, trong ó có PAT, NTB, NXB, NMC - nhïng ng°Ýi nÕi ình nÕi ám trong giÛi hacker. MÙt hacker ngÓi c¡nh phóng viên e-CHÍP cho bi¿t bÑn trong sÑ nm thành viên Ban tÕ chéc có bÑ là công an (!).

Ch°¡ng trình b¯t §u b±ng lÝi khai m¡c cça mÙt thành viên Ban tÕ chéc: ây là mÙt ngày hÙi cça giÛi tin hÍc... (?) . Ti¿p theo là cuÙc trình diÅn các kù thu­t t¥n công domain, website và server cça PAT (chính là Microsoftvn , ang tìm c¡ hÙi du hÍc ß éc). PAT trình diÅn kù thu­t xâm nh­p vào server cça Vietcombank, sau ó thoát ra ngoài mà không à l¡i d¥u v¿t gì. Ti¿p theo là website cça Vinataba. PAT tuyên bÑ anh ta ã xâm nh­p °ãc vào server cça B°u iÇn Hà NÙi (hanoi.vnn.vn), VNNIC (vnnic.net.vn), Ngân hàng ACB, Saigonnet... ·c biÇt, anh ta nói có thà "h¡ gåc" các website có tên miÁn .vn chÉ trong vòng mÙt ngày vì ã n¯m °ãc m­t kh©u ·t trong máy chç cça FPT và VDC (!). PAT nói anh ta sµn sàng làm công tác b£o m­t cho VDC và FPT vÛi cái giá khßi iÃm là 10.000 USD (!).

Màn trình diÅn ti¿p theo là cça NTB. Anh này biÃu diÅn kù thu­t xem trÙm c¡ sß dï liÇu cça các site th°¡ng m¡i iÇn tí. B±ng cách ánh të khoá trên search engine Google, NTB ã có trong tay hàng lo¡t con mÓi . Và cing chÉ b±ng mÙt thç thu­t nhÏ, anh ta ã có thà xâm nh­p vào c¡ sß dï liÇu Access cça site này. Có v» nh° viÇc xâm nh­p khá dÅ dàng nhÝ nhïng l× hÕng ch°a °ãc vá l¡i. Nh°ng khi biÃu diÅn ¿n ph§n t¥n công các forum vi¿t b±ng snitz 2k thì NTB l¡i th¥t b¡i. Loay hoay mÙt lúc không thành công, anh này nh°Ýng l¡i máy cho longnt và babylearnhack biÃu diÅn...

Màn chót là ph§n phát hành )a CD-ROM phÕ bi¿n các kù thu­t t¥n công, b» khóa, vÛi giá 40.000 mÙt )a. Có l½ nhÝ ph§n trình diÅn §y ¥n t°ãng cça các thành viên Ban tÕ chéc mà )a tiêu thå khá ch¡y.

Qua VN Hacker Day, có thà th¥y giÛi tr» r¥t ham tìm tòi nh°ng ch°a Ënh h°Ûng °ãc cho mình là nên hÍc hay nên& phá . M·c dù các forum cça hacker luôn có nhïng tuyên ngôn ¡i lo¡i nh° Chúng tôi không ch¥p nh­n b¥t cé mÙt hình théc deface, phá ho¡i data cça b¥t kó mÙt hacker nào. Các b¡n chÉ c§n à l¡i mÙt d¥u ¥n trên server cça riêng b¡n là °ãc rÓi (tuyên ngôn trên site vnhackerday), nh°ng trên thñc t¿ ã có nhiÁu hacker lãi dång nhïng l× hÕng b£o m­t trong các Website cça ViÇt Nam à tråc lãi. iÃn hình là vå xâm nh­p vào server cça Vietcombank cách ây hai tháng. Ho·c nh° vå bom th° ngày 20/2/2002 vào NetNam và tr°Ûc ó là vào các công ty TNHH Âu L¡c và Tân HÓng H£i. HÓi tháng 7/2002, các hacker cing ng t£i công khai 30.000 Ëa chÉ e-mail cça các thuê bao cça công ty FPT TP.HCM thay vì thông báo cho các nhà qu£n trË&

HiÇn t°ãng giÛi tr» ViÇt Nam muÑn khám phá các ngóc ngách cça công nghÇ thông tin, muÑn thà hiÇn mình không ph£i là mÙt iÁu gì ó quá b¥t th°Ýng. V¥n Á n±m ß ch× các c¡ quan, tÕ chéc xã hÙi nên có nhïng nghiên céu nghiêm túc vÁ hiÇn t°ãng này, nh±m tìm ki¿m mÙt gi£i pháp giúp hacker có thà phát huy kh£ nng cça mình cho nhïng công viÇc có ích. Chúng tôi °ãc bi¿t giám Ñc mÙt công ty tin hÍc trong n°Ûc ang có ý Ënh ký hãp Óng vÛi hacker à hÍ giúp công ty này phát hiÇn các l× hÕng b£o m­t trong server. Còn có r¥t nhiÁu gi£i pháp khác mà chúng tôi cho r±ng s½ giúp hacker c£i tà quy chính , chuyÃn sang Ùi chi¿c mi tr¯ng thay vì mi en .

Tìm ki¿m mÙt gi£i pháp giúp các hacker Õi màu të mi en sang mi tr¯ng (h°Ûng thiÇn) là công viÇc nên làm të bây giÝ.

(echip.com.vn)

Th° cça PAT - MICROSOFTVN

Hãy coi chúng tôi là nhïng hacker mi xám

Sau iÁu tra vÁ "th¿ giÛi ng§m hacker ViÇt Nam" trên e-CHÍP sÑ 2, Toà so¡n ã nh­n °ãc khá nhiÁu th° và e-mail cça chính nhïng "ng°Ýi trong cuÙc". Trong ó, ngo¡i trë duy nh¥t mÙt e-mail do¡ t¥n công, còn l¡i Áu là nhïng ý ki¿n xây dñng gßi e-CHÍP, hay "tñ b¡ch", hay trao Õi ti¿p quanh mÙt sÑ chç Á cn b£n °ãc nêu lên të bài vi¿t, nh°: Hacker ViÇt Nam - mi tr¯ng hay mi en?,& Xin trích giÛi thiÇu vÛi các b¡n mÙt sÑ nÙi dung liên quan, Ã cùng hiÃu thêm suy ngh) và tâm sñ cça nhiÁu hacker tr» ViÇt Nam v«n ang chÍn cho mình mÙt con °Ýng.

Chào e-CHÍP!

Tôi là mÙt Administrator (LTS: qu£n trË m¡ng) cça VietHacker. Vëa rÓi, tôi có °ãc Íc bài vi¿t "Phanh phui bí m­t th¿ giÛi ng§m Hacker ViÇt Nam" trên e-CHÍP sÑ 2. Là ng°Ýi trong cuÙc, tôi hiÃu rõ nÙi dung bài vi¿t cing nh° nhïng nhân v­t °ãc Á c­p trong ó.

Bài vi¿t khá §y ç và công b±ng khi nói ¿n th¿ giÛi cça hacker ViÇt Nam. NÙi dung có nhïng chi ti¿t r¥t sát và r¥t úng, nh°ng cing có mÙt sÑ chi ti¿t i xa so vÛi thñc t¿. iÁu này làm cho ng°Ýi Íc (ng°Ýi trong cuÙc,ng°Ýi tham gia trong th¿ giÛi hacker) c£m th¥y nhàm và chán. Tôi bi¿t: à n¯m b¯t °ãc toàn bÙ nhïng chi ti¿t cça mÙt "th¿ giÛi £o" là khó, trong khi nó l¡i là mÙt th¿ giÛi ng§m nïa thì ch¯c r¥t khó Ñi vÛi mÙt phóng viên. Tôi hiÃu! Và thông c£m! Tôi là dân công nghÇ thông tin (CNTT), thích nghiên céu vÁ Hacking và Security (LTS: kù thu­t xâm nh­p máy tính và b£o m­t). Chính vì v­y, tôi trß thành mÙt trong r¥t nhiÁu cá nhân cça m¡ng Hacker ViÇt Nam. Tôi quan tâm ¿n hÇ thÑng b£o m­t cça các server (LTS: máy chç) ViÇt Nam và muÑn chúng °ãc hoàn chÉnh h¡n sñ hoàn chÉnh bây giÝ. HiÇn t¡i, Ù b£o m­t cça các server ß ViÇt Nam ch°a °ãc cao. ó chÉ là nhïng server b£o m­t Ñi vÛi nhïng hacker Newbie hay là Script Kiddies (t¡m dËch là hacker lính-mÛi-tò-te), còn Ñi vÛi nhïng hacker có trình Ù mÙt chút ß ViÇt Nam thì viÇc t¥n công các server này không ph£i là khó khn, chÉ có iÁu hÍ muÑn phá hay không mà thôi. H§u h¿t các hacker này hiÃu °ãc hành Ùng cça hÍ làm. G§n nh° toàn bÙ hÇ thÑng server t¡i ViÇt Nam Áu "°ãc" chính hacker ViÇt Nam chinh phåc g§n nh° hoàn toàn. H³n các qu£n trË m¡ng ViÇt Nam hiÃu rõ h¡n ai h¿t iÁu ó, ch³ng qua hÍ không dám lên ti¿ng hay thëa nh­n chính hÇ thÑng cça hÍ bË Ùt nh­p. ã có mÙt sÑ hacker liên l¡c vÛi nhïng ISP (LTS: nhà cung c¥p dËch vå internet), webmaster (LTS: nhà qu£n trË web) cça các hÇ thÑng à mong °ãc hãp tác config (LTS: cài ·t c¥u hình) server. Nh°ng hÍ g§n nh° nh­n °ãc th­m chí không mÙt câu tr£ lÝi të các webmaster phía server, à rÓi hÇ thÑng cça hÍ l×i v«n hoàn l×i! Chính b£n thân tôi là mÙt trong sÑ nhïng hacker ó: Tôi ã tëng liên l¡c vÛi bÑn ISP thì chÉ nh­n °ãc sñ tr£ lÝi hãp tác të mÙt ISP, còn l¡i Áu b·t vô âm tín. T¡i Ngày hÙi Hacker 1/11/2002, tôi nêu ý ki¿n xin °ãc làm b£o m­t config server cho các ISP mÙt l§n vÛi méc giá 10.000 USD. Sau ngày ó, tôi bË mang ti¿ng r¥t nhiÁu. Có ng°Ýi b£o tôi thích ch¡i nÕi, có ng°Ýi b£o tôi thích khoác lác, có ý ki¿n l¡i b£o "§u tôi có v¥n Á". T¥t c£ Áu là ý ki¿n mÙt phía, còn nhïng ng°Ýi b¡n cça tôi nh° KHA, WHAT, Trung Only, Huyremy,& thì hiÃu rõ tôi ang hành Ùng gì và sß hïu nhïng gì. T¥t nhiên khi dám nói nh­n làm b£o m­t mÙt l§n các ISP vÛi giá 10.000 USD, tôi có lý do và chính ki¿n cça tôi. SÑ tiÁn ó t¥t nhiên là r¥t lÛn Ñi vÛi tôi và b¡n. Nó chính là sÑ tiÁn tôi muÑn có à °ãc i du hÍc vÁ CNTT. 10.000 USD là to h¡n sÑ tiÁn tôi bÏ ra nÙp cho các ISP à ngÓi internet të ngày b¯t §u k¿t nÑi m¡ng ¿n nay. Tuy v­y, so vÛi các ISP thì 10.000 USD l¡i là mÙt con sÑ nhÏ, nhÏ h¡n r¥t nhiÁu so vÛi nhïng tÕn th¥t cça các ISP khi bË thiÇt h¡i do hacker t¥n công. Ví då nh° hÇ thÑng th» internet tr£ tr°Ûc cça mÙt ISP ã bË hacker t¥n công trong tháng 12/2002. Hàng nghìn account (tài kho£n) cça khách hàng Áu bË hacker l¥y pass (m­t kh©u) và viÇc này diÅn ra c£ tháng trÝi thì qu£n trË m¡ng mÛi fix (LTS: sía chïa) °ãc l×i. Thí hÏi thiÇt h¡i bao nhiêu? Hay vå ng t£i công khai 30.000 Ëa chÉ e-mail khách hàng cça mÙt ISP khác, lúc §u ng°Ýi ta t°ßng r±ng thiÇt h¡i chÉ là bË lÙ danh sách 30.000 Ëa chÉ e-mail và lo sã s½ bË dùng danh sách ó à spam (LTS: dÙi bom rác e-mail). Tuy v­y, sñ viÇc còn nghiêm trÍng h¡n, vì ít ai bi¿t r±ng toàn bÙ password sÑ Ëa chÉ e-mail ó cing ã bË hacker n¯m trong tay.

Thí hÏi thiÇt h¡i bao nhiêu? L­t l¡i hÓ s¡ cách ây hai nm, có 20 website cça ViÇt Nam ã thay Õi trang chç do mÙt hacker ng°Ýi ViÇt ß n°Ûc ngoài thñc hiÇn. iÁu tôi c£nh báo là có kh£ nng toàn bÙ các website ViÇt Nam bË down trong mÙt ngày, do viÇc này hoàn toàn có thà thñc hiÇn °ãc mÙt khi hacker ã n¯m °ãc nhïng máy chç tên miÁn (DNS server) cça ViÇt Nam.

Thí hÏi tôi òi hÏi th¿ có là khoác lác, "th§n kinh" không? LiÇu thí hÏi có ai dám lên ti¿ng nh° tôi không, hay cé à các hÇ thÑng server ó v«n mãi còn nhïng l×i nguy hiÃm. Thi¿t ngh) liÇu sau này có x£y ra chi¿n tranh tin hÍc thì ViÇt Nam chÑng tr£ ra sao? T¥t c£ Áu có thà x£y ra. Xin dëng bút t¡i ây. Hãy à cho e-CHÍP suy ngh) cùng tôi vÁ v¥n Á ó. Chúc e-CHÍP s½ càng hay và bÕ ích trong l)nh vñc CNTT.

Hacker ViÇt Nam, mi màu gì?

NG KHOA

NGAY SAU KHI HAI BÀI VI¾T Phanh phui bí m­t th¿ giÛi ng§m hacker ViÇt Nam và Hacker mi tr¯ng và hacker mi en °ãc ng trên e-CHÍP sÑ 2, giÛi hacker ViÇt Nam b×ng nhiên xôn xao vì chuyÇn... mi. Trên diÅn àn (forum) cça VietHacker, mÙt trong sÑ ba forum thu hút °ãc nhiÁu thành viên nh¥t hiÇn nay, ã diÅn ra nhïng cuÙc th£o lu­n sôi nÕi vÁ các chç Á: Th¿ nào là mÙt hacker , Ënh ngh)a hacker , e-CHÍP hôm nay vi¿t gì vÁ hacker , và Hacker ViÇt Nam là mi en hay mi tr¯ng .

H§u h¿t các forum cça hacker ViÇt Nam Áu cÕ vi cho các hành Ùng theo tr°Ýng phái mi tr¯ng. Ch³ng h¡n nh° khi ng ký làm thành viên cça forum VietHacker, ng°Ýi ta s½ Íc th¥y dòng chï: Khi ã ch¥p nh­n làm thành viên cça VietHacker, b¡n ph£i tuân thç và nghiêm chÉnh ch¥p hành các iÁu sau: DiÅn àn là n¡i trao Õi các ki¿n théc vÁ b£o m­t máy tính và m¡ng máy tính, do ó nghiêm c¥m các bài vi¿t có liên quan ¿n v¥n Á chính trË, tôn giáo, sex, account chùa . Ho·c trên forum cça HackerVN là tuyên ngôn: Chúng tôi không vi¿t virus cing nh° không dung túng cho hành vi vi¿t và phát tán virus. Chúng tôi không phá hu÷ dï liÇu cça b¥t cé website nào .

Trên thñc t¿, iÁu này ang diÅn ra theo xu h°Ûng tích cñc. H§u nh° các hacker ã b¯t §u nh­n théc °ãc rõ hành Ùng phá ho¡i s½ là vi ph¡m pháp lu­t. Vì th¿, hÍ Áu tán thành vÛi tiêu chí mi tr¯ng nh° b¡n Íc e-CHÍP có thà th¥y qua trích o¡n các trao Õi sau giïa các hacker:

Naskita: Anh em ¡i, cho tôi hÏi thí coi: Hacker ViÇt Nam là mi en hay mi tr¯ng? Tôi th¥y bài này trên e-CHÍP coi °ãc ó. Có ai theo mi en nh° tôi không? :-) Nói v­y thôi ché anh em cùng th£o lu­n vÁ måc tiêu cça hacker ViÇt Nam, tiêu chí i ha. Mong óng góp ý ki¿n.

D°¡ngKóMinh: Tuó hành Ùng cça m×i cá nhân ché! Bác có th¥y nick cça bác W_Hat không? Là White Hat (mi tr¯ng) ¥y! Có l½ ó cing là tiêu chí cça forum này!

ITcompvn: ChÉ mÙt ng°Ýi mi tr¯ng thì cing âu có °ãc. T¥t c£ tÕ chéc VietHacker ph£i là mi tr¯ng h¿t ché. HÍc hÏi l«n nhau nh°ng ph£i trên tinh th§n trong sáng.

Greenheart109: Cái chính là tuó thuÙc vào ý théc cça m×i thành viên trong cái forum này!

W_Hat: úng v­y, mÍi ng°Ýi tuy tham gia forum nh°ng forum ko (LTS: không) b¯t buÙc các b¡n ph£i theo mi en hay tr¯ng. V¥n Á là ß ch× ý théc và hiÃu °ãc tác h¡i cça nhïng viÇc mình làm ra, nhïng lãi ích mang l¡i và nó ph£i ko gây tác h¡i Ñi vÛi sñ phát triÃn cça forum. Tuy nick (LTS: nickname biÇt danh) tôi nh° th¿ nh°ng tôi cing ch°a tëng dám tñ nh­n mình là hacker hay white-hat hacker gì c£. Làm cái gì cing v­y, h°Ûng thiÇn s½ có t°¡ng lai h¡n. Các b¡n hãy tham gia vÛi måc ích hÍc t­p, rút kinh nghiÇm và tránh dùng nó vào nhïng måc ích x¥u.

Tuanibt: Có trách nhiÇm vÛi b£n thân mình và vÛi mÍi ng°Ýi, ó là tiêu chu©n cça mÙt hacker.

Trinhaingoc: Mi en hay tr¯ng không quan trÍng!!! ChÉ c§n hÍ óng góp cho ngành công nghÇ thông tin ViÇt Nam là °ãc rÓi.

Themoon: úng là en, tr¯ng không thành v¥n Á. en hay tr¯ng thì ph£i à xã hÙi nói thôi. Tôi nhÛ Íc ß âu ó ng°Ýi ta b£o hacker ViÇt Nam là mÙt nhóm ch°a Ënh hình quan iÃm. HÍ gÍi ta là: Ch°a bi¿t nên xây hay nên phá. N¿u téc gi­n vì ng°Ýi ta nói mình th¿ mà i hack thì rõ là mi en rÓi. Còn không nói gì mà l³ng l·ng óng góp thì gÍi là mi tr¯ng.

Windak: Em thích mi nâu h¡n.

Kaka: Em thích Ùi mi sÍc nh° ngña v±n í!

Em khong biet hack: Em v«n thích mi k» ca-rô h¡n, các bác ¡!

RED EYE: Cái mi không quan trÍng b±ng cái §u cça mình!

Gamer no0: Mi nào cing v­y, chç y¿u là suy ngh) en hay tr¯ng .

Owl7: Theo tôi thì hacker là Ùng lñc và là tác nhân làm cho tin hÍc phát triÃn. N¿u không có hacker thì mÙt ng°Ýi nghiÇp d° thi¿t k¿ web nh° tôi không c§n ph£i hÍc thêm các ngôn ngï có tính b£o m­t cao và tìm thç thu­t mã hoá trang Web cça mình. Không à tình tr¡ng mÙt bïa nào ó th¥y công trình cça mình °ãc sao g§n y b£n chính (khác ß cái tên miÁn), hay là làm °Ýng cho hacker vào tham quan máy chç v½ b­y vô m·t mình và làm tiêu cái nhà cça mình trên m¡ng luôn. Lúc ó, chÉ có n°Ûc ôm bàn phím ra ngoài °Ýng n xin. Và n¿u không có hacker thì các hãng cung c¥p ph§n mÁm chÉ c§n làm mÙt phiên b£n và vài nm sau mÛi c§n nâng c¥p phiên b£n mÛi không sã ai xài chùa và mÝi ng°Ýi khác xài chùa theo. Do ó, hacker là hoa x°¡ng rÓng trên sa m¡c thông tin, tôi s½ r¥t tñ hào n¿u mình trß thành mÙt hacker thñc thå.

M·c d§u v­y, các hacker v«n không thà chÉ hÍc hack vÛi lý thuy¿t suông. R¥t nhiÁu website trong n°Ûc và trên th¿ giÛi ã trß thành Ñi t°ãng cça nhïng cuÙc t¥n công thí vi khí . Ñi vÛi các website ViÇt Nam, ¡i a sÑ các hacker không hÁ phá ho¡i, nh°ng thñc ra hÍ h§u nh° cing không hÁ à l¡i mÙt thông báo nào trong server à nh¯c nhß ng°Ýi qu£n trË sau khi hÍ vi¿ng thm. Ñi vÛi các website th¿ giÛi, các hacker tha hÓ hành Ùng tuó ý, vÛi quan niÇm cça ng°Ýi phúc ta . Theo nguÓn tin do mÙt hacker cÙm cán cung c¥p, giÛi hacker ViÇt Nam hiÇn ang n¯m quyÁn kiÃm soát 25 server dËch vå Web hosting cça th¿ giÛi và có thà cho ch¿t vào b¥t cé lúc nào. Nh° v­y, chi¿c mi cça các hacker ã không còn là màu tr¯ng!

Xâm nh­p vào website th¿ giÛi chán rÓi, các hacker l¡i quay ra thí hack vào chính forum hacker cça nhau. MÙt trùm hacker cho chúng tôi bi¿t: Trong dËp tr°Ûc và sau T¿t Quý Mùi, nhïng thç l)nh cça forum VietHacker (VHA) và HackerClub (HKC) ã liên minh t¥n công HackerVN (HVA), khi¿n cho domain ( HYPERLINK "http://hackervn.net" http://hackervn.net), server và c¡ sß dï liÇu cça HVA bË c°Ûp m¥t. Cho ¿n nay, nhïng ng°Ýi truy c­p vào Ëa chÉ forum cça HVA Áu °ãc tñ Ùng chuyÃn sang Ëa chÉ cça& VHA. Ng°Ýi éng §u forum cça HVA có nick là JAL (nghe nói ang làm viÇc t¡i Nh­t B£n) ang ph£i xây dñng l¡i forum này të §u t¡i Ëa chÉ ( HYPERLINK "http://www.vnhacker.org" www.vnhacker.org). Ng°ãc l¡i, các hacker cça HVA cing ã ng§m t¥n công DDoS và c°Ûp m¥t tên miÁn ( HYPERLINK "http://www.viethacker.com" www.viethacker.com) cça VHA.

Có hay không chuyÇn các forum hacker ViÇt Nam t¥n công l«n nhau?

JAL: Xin thông báo tÛi toàn member (LTS: thành viên), sau mÙt thÝi gian bË m¥t domain (LTS: tên miÁn, gÍi t¯t) hackervn.net, nay HVA ã hack (LTS: xâm nh­p m¡ng trái phép) và l¥y l¡i °ãc domain này. Nhïng gì thuÙc vÁ HVA s½ quay vÁ vÛi HVA.hv@: Sau vài ngày không vào, th¥y viethacker.net không vào °ãc nïa; nghe bên vnhacker.org (HVA) nói là ã hack tung domain viethacker.net và bây giÝ không còn vào uãc v)nh viÅn. Còn cái domain hackervn.net bË hack tung và chuyÃn thành vnhacker.org, xin các admin (LTS: gÍi t¯t cça administrator qu£n trË m¡ng) gi£i thích dùm à các newbie (LTS: t¡m dËch là lính mÛi ) tåi em bi¿t rõ h¡n ¡.

Còn cái câu VietHacker và HVA hãp nh¥t âu rÓi? Tôi cing ã Íc bên HVA hÍ không hÁ có chuyÇn hãp nh¥t vÛi VietHacker, th¿ mà cing không ng¡i mË dân newbie tåi tôi nói là hai bên hãp tác à nh±m cho dân newbie không bi¿t vào viethacker mà t°ßng.

U2: Chúng tôi th­t sñ coi HVA là b­c àn anh có §y b£n l)nh.

VietHacker chÉ là tñ vÇ khi bên HVA ã chÉ vì mÙt lý do nhÏ mà t¥n công chúng tôi. ó là lý do, còn Hacker Club hoàn toàn là b¡n cça VietHacker, không x£y ra gì c£.

XacUopDoiMoi: Mình Íc trên e-CHÍP th¥y nói vÁ cuÙc chi¿n cça ba website hacker ViÇt Nam. Mình nh­n th¥y chúng ta th­t phí công séc vô ích khi gây chi¿n vÛi nhau, t¡i sao l¡i không oàn k¿t vÛi nhau trong mÙt khÑi à t¡o séc m¡nh chung? Chúng ta thành l­p và tham gia nhïng website này à làm gì? T¥t nhiên là à nâng cao trình Ù vÁ b£o m­t và l­p trình cça mình lên mÙt méc cao h¡n và cing là à thà hiÇn kh£ nng cça mình. Các b¡n hãy thí ngh) xem séc m¡nh cça chúng ta s½ nh° th¿ nào khi chúng ta hãp nh¥t? Trong chúng ta ai cing có dòng máu ViÇt Nam, ai cing có lòng tñ hào dân tÙc, và cing có lòng kiêu hãnh cça riêng mình. Vì v­y, tôi mong muÑn t¥t c£ nhïng hacker ViÇt Nam hãy oàn k¿t à cùng nhau vïng b°Ûc trong t°¡ng lai, khi mà chi¿n tranh m¡ng là mÙt iÁu t¥t nhiên, xã hÙi iÇn tí thông tin là chç ¡o. B¡n s½ ngh) gì khi t¥t c£ các trang web cça ViÇt Nam bË hacker n°Ûc ngoài t¥n công? Trong khi ó, chúng ta còn b­n thanh toán l«n nhau à thà hiÇn cái tôi kiêu hãnh?

Tôi chÉ trình bày ý ki¿n cça mình tÛi Admin và nhïng thành viên nh° v­y thôi! Tôi chÉ mong muÑn nhïng hacker chúng ta là nhïng con ng°Ýi có ích và vì lãi ích chung cça dân tÙc và cça chính chúng ta .

Xâm nh­p th¿ giÛi ng§m (Kó I): Góc khu¥t Ýi hacker!09:48' 22/02/2006 (GMT+7)

ChÉ trong vòng 6 ti¿ng n±m ngç vùi trên gi°Ýng, tay hacker 21 tuÕi ¥y ã xâm nh­p thành công vào g§n 2000 máy tính trên toàn th¿ giÛi.

HYPERLINK "http://vietnamnet.vn/dataimages/200602/original/images910837_0110_210206.jpg"

Phanh phui bí m­t th¿ giÛi ng§m Hacker VietNam

[ng khoa]

T¡i ViÇt Nam, có hay không mÙt th¿ giÛi ng§m hacker ho¡t Ùng có tÕ chéc, có tôn chÉ måc ích àng hoàng, hay chÉ là mÙt sñ liên k¿t lÏng l»o giïa nhïng thanh thi¿u niên muÑn thà hiÇn trình Ù xâm nh­p , b» khóa cça mình? Phóng viên cça e-CHIP ã thâm nh­p vào giÛi hacker à tìm hiÃu iÁu này.

Ba website cça hacker ViÇt Nam

HiÇn t°ãng mÙt sÑ thanh thi¿u niên dành nhiÁu thÝi gian bên máy tính à tìm hiÃu, thñc hiÇn nhïng kù thu­t t¥n công (hack) và b» khóa ph§n mÁm (crack) không xa l¡ gì Ñi vÛi h§u h¿t các quÑc gia trên th¿ giÛi. Të ch× là nhïng k» mÛi t­p to¹ vào nghÁ (script kiddies, newbie), hÍ d§n d§n trß nên thành th¡o và trß thành nhïng hacker, cracker. Nh°ng tr°Ûc khi trß nên tinh thông, hÍ ã ph£i tr£i qua giai o¡n tham gia các forum (diÅn àn trên Internet), các mailing list (danh sách th°) và các tÕ chéc do giÛi hacker l­p ra à trao Õi thông tin, hÍc hÏi nhïng ki¿n théc vÁ hack và crack.

Cho ¿n thÝi iÃm này, trên Internet xu¥t hiÇn t°¡ng Ñi nhiÁu website bàn vÁ hack và crack do giÛi tr» ViÇt Nam l­p nên. Nói chung, ây là nhïng website tñ phát . Nhïng website này b¯t nguÓn të ý thích cça mÙt ng°Ýi ho·c mÙt nhóm ng°Ýi nào ó. HÍ bÏ công thi¿t k¿ và sau ó thuê mÙt máy chç t¡i n°Ûc ngoài à ·t website, rÓi qu£ng bá liên tåc à thu hút thành viên. HiÇn có ba website lo¡i này t­p hãp °ãc nhiÁu thành viên nh¥t, ó là website cça HackerVN, VietHacker và HKC. Có thà coi ây là ba tÕ chéc hacker có m¡ng l°Ûi ho¡t Ùng rÙng kh¯p nh¥t ß n°Ûc ta.

Website cça HackerVN (HVA) do mÙt hacker có biÇt danh Onin éng §u. Website này có sÑ l°ãng chuyên måc khá phong phú, cung c¥p các ki¿n théc të c¡ b£n ¿n nâng cao, thu hút °ãc kho£ng 2.000 thành viên, trong ó có h¡n 150 thành viên cÑt cán. °ãc bi¿t, mÙt thành viên cça HVA ß Anh quÑc ã bÏ tiÁn túi ra thuê máy chç ·t website cho HVA. Có thà coi HVA là mÙt tÕ chéc hacker ho¡t Ùng có tôn chÉ måc ích rõ ràng. Trên website cça HVA, ng°Ýi ta có thà Íc th¥y dòng chï: Måc ích cça chúng tôi là cung c¥p t¥t c£ các ki¿n théc liên quan ¿n b£o m­t và góp ph§n thúc ©y sñ n¯m b¯t ki¿n théc b£o m­t iÇn toán trong cÙng Óng... Chúng tôi không vi¿t virus cing nh° không dung túng cho hành vi vi¿t và phát tán virus. Chúng tôi không ánh c¯p m­t kh©u cça ng°Ýi dùng. Chúng tôi không phá hçy dï liÇu cça b¥t cé website nào. Chúng tôi không truyÁn bá £nh Ói tråy. HVA có quyÁn gá bÏ b¥t cé thành viên ho·c bài vi¿t nào vi ph¡m nhïng iÁu trên . Tuy nhiên, vÛi nhïng ki¿n théc vÁ hack và crack ã °ãc cung c¥p trên Website này, không mÙt ai dám £m b£o r±ng các thành viên s½ không sí dång vào måc ích x¥u.

MÙt website khác cing khá nÕi ti¿ng là VietHacker, quy tå h¡n 1.000 thành viên, trong ó có h¡n 100 thành viên chính. Nhïng ng°Ýi éng §u website này có biÇt danh là Microsoftvn (PAT), Kha , Baodainhan và DarkAngel . áng chú ý chính là Microsoftvn , sinh nm 1984 nh°ng ã có nhiÁu "thành tích" trong viÇc xâm nh­p và t¥n công máy tính.

CuÑi cùng, ph£i kà ¿n website Hacker Club (HKC) cça mÙt b¡n tr» khác mang tên LPTV. Website này có kho£ng 2.000 thành viên, trong ó có sáu thành viên trå cÙt, bao gÓm LPTV, Binhnx , Soccerer , Tikhung , Hoavenu và Bazoka . Các thành

viên này °ãc phân chia phå trách vùng ho¡t Ùng cça HKC t¡i ba miÁn ¥t n°Ûc và c£ n°Ûc ngoài. Hoavenu phå trách miÁn Nam, miÁn Trung là Tikhung và Bachocdien , miÁn B¯c là Binhnx và Soccerer . Hacker Bazoka phå trách B¯c Âu và châu Mù. Th­m chí, HKC có ng°Ýi qu£n lý tài chính riêng là mÙt cô gái, biÇt danh là icetest , ang du hÍc t¡i Úc. Cô này có mÙt tài kho£n riêng. Các thành viên cÑt cán cça HKC hàng tháng tñ nguyÇn óng góp mÙt kho£n tiÁn, sau ó chuyÃn vào tài kho£n cça cô icetest à làm quù chung. Theo iÁu tra cça e-CHÍP, m×i tháng các thành viên chç chÑt cça HKC óng góp trung bình hai triÇu Óng vào quù chung. SÑ tiÁn trong quù s½ °ãc chi dùng cho viÇc thuê máy chç, hÙi hÍp, quà sinh nh­t, v.v... Sáu thành viên chính cça HKC còn có mÙt n¡i c¥t giï các công cå hack, crack, các tài liÇu bí m­t trên m¡ng. ChÉ khi c£ sáu thç l)nh cùng truy c­p mÙt lúc, t¥t nhiên là m×i ng°Ýi mÙt m­t kh©u riêng, thì mÛi mß °ãc cía vào .

Nhïng ng°Ýi éng §u ba website HVA, VietHacker và HKC có sñ liên hÇ ch·t ch½ vÛi nhau qua th° iÇn tí (email) và ch°¡ng trình tán g«u (chat). ·c biÇt, ph§n mÁm chat ã °ãc hÍ sía Õi à có thà chat mÙt cách an toàn giïa hai ng°Ýi vÛi nhau. Lúc §u mÛi thành l­p, c£ ba website nói trên Áu có xu h°Ûng truyÁn bá và cÕ vi cho viÇc t¥n công máy tính, xài account chùa . Tuy nhiên, sau khi hàng lo¡t các website cça hacker nh° clbmatma.net bË nhà chéc trách d¹p tiÇm , còn hai hacker ß TP.HCM bË b¯t, mÙt sÑ hacker khác bË hÏi thm thì nhïng website này ã chuyÃn sang ho¡t Ùng vÛi tiêu chí không phá ho¡i, không truyÁn bá virus, không gíi £nh khiêu dâm... . Dù sao, sñ tñ giác và giác ngÙ cça tëng thành viên v«n là mÙt d¥u ch¥m hÏi.

·c biÇt, giïa ba website này l¡i cing th°Ýng x£y ra& chi¿n tranh . Ch³ng h¡n, ngay tr°Ûc và sau T¿t Quý Mùi, hai câu l¡c bÙ (CLB - nh° hÍ tñ x°ng) VHA và HKC ã liên minh t¥n công HVA (HackerVN), khi¿n cho domain cça HVA (http://hackervn.net) ã bË c°Ûp m¥t . D) nhiên, HVA ph£n pháo . MÙt cách âm th§m, song chúng tôi °ãc bi¿t c£ ba CLB (Website) này ang ánh nhau vÛi& toàn bÙ séc m¡nh cça mình . H§u h¿t nhïng trangweb liên quan ¿n các CLB này Áu bË tàn phá . CuÙc chi¿n ang ti¿p tåc, do bên HVA vëa t¥n công b±ng kù thu­t DDOS Ñi vÛi Website cça HKC và VHA&

Hacker ViÇt Nam và mÙt sÑ chi¿n tích

C£ ba CLB (Website) kà trên Áu r¥t linh ho¡t trong viÇc ti¿p nh­n thành viên. MÙt thành viên cça Website này hoàn toàn có thà tham gia vÛi t° cách thành viên cça mÙt Website khác, t¥t nhiên là vào thÝi kó tiÁn chi¿n tranh CLB . a sÑ thành viên cça các website hacker ViÇt Nam Áu r¥t tr». HÍ là các sinh viên, hÍc sinh ang theo hÍc các tr°Ýng kù thu­t. Tuy nhiên, cing có lác ác mÙt vài ng°Ýi hÍc các tr°Ýng vÁ khoa hÍc xã hÙi. iÃn hình là LPTV, anh này tuy là mÙt trùm hacker nh°ng l¡i hÍc tr°Ýng Báo chí.

Trong giÛi hacker ViÇt Nam cing xu¥t hiÇn nhïng nhân v­t có t§m cá , hiÇn ang làm cho mÙt sÑ công ty trong và ngoài n°Ûc. Nhïng ng°Ýi này không bao giÝ c§m §u các website mà ho¡t Ùng r¥t âm th§m, l·ng l½. Bßi hÍ bi¿t n¿u à lÙ tung tích thì s½ không có lãi cho công viÇc cça mình. Trình Ù cça hÍ r¥t áng kính nÃ. ó là mÙt sÑ ng°Ýi ang làm viÇc t¡i Ngân hàng ACB, TÕng Công ty D§u khí ViÇt Nam, ¡i hÍc Bách khoa Hà NÙi,& Th­m chí, cao thç cça hacker ViÇt Nam còn có m·t c£ ß vài công ty công nghÇ thông tin hàng §u nh° VDC và FPT. ·c biÇt, t¡i ViÇt Nam có ít nh¥t ba ¡i cao thç vëa làm cho ¡n vË mình, vëa °ãc mÙt sÑ công ty ph§n mÁm lÛn cça n°Ûc ngoài thuê dò tìm nhïng l× hÕng b£o m­t trong các s£n ph©m cça hÍ vÛi méc l°¡ng x¥p xÉ m×i ng°Ýi kho£ng 30.000-36.000 USD/nm.

MÙt lñc l°ãng khác cing không kém ph§n tài nng là các sinh viên ViÇt Nam ang theo hÍc t¡i n°Ûc ngoài. ây là nhïng ng°Ýi vëa có kù nng, vëa có iÁu kiÇn sí dång Internet, nh° các hacker bazoka , huongvn , icetest ,& ã óng góp r¥t nhiÁu cho sñ tÓn t¡i cça các website hacker ViÇt Nam.

Nm 1996, khi ViÇt Nam ti¿n hành thí nghiÇm trao Õi e-mail vÛi th¿ giÛi (lúc ó là e-mail giïa Thç t°Ûng Võ Vn KiÇt vÛi Thç t°Ûng Thåy iÃn), mÙt hacker ViÇt Nam ã Ùt nh­p vào mail server và l¥y c¯p °ãc Ëa chÉ e-mail này, sau ó dùng ch°¡ng trình bom th° gíi lung tung. Mãi vÁ sau, các chuyên gia máy tính mÛi phát hiÇn ra tung tích cça hacker này ß t­n... Australia.

Theo dõi biên niên sí hacker ViÇt Nam , có thà ghi nh­n thêm: nm 1997, khi ViÇt Nam chính théc tham gia vào m¡ng Internet, hàng lo¡t các server bË hacker ViÇt Nam Ùt nh­p, l¥y i nhiÁu account (tài kho£n) cça khách hàng. Cho ¿n nm 2001, n¡n ánh c¯p account ã trß nên phÕ bi¿n. MÙt sÑ website cça hacker liên tåc cung c¥p nhïng account chùa , iÃn hình là clbmatma.net, hackervn.com, netanh.com... NhiÁu khách hàng ã ph£i tr£ nhïng sÑ tiÁn khÕng lÓ, lên tÛi vài chåc triÇu Óng, do bË quá nhiÁu ng°Ýi sí dång phi pháp chung account.

Sau khi TÕng công ty B°u chính ViÅn thông áp dång mÙt sÑ biÇn pháp b£o m­t account nh° giÛi h¡n sÑ iÇn tho¡i truy c­p, cung c¥p cho khách hàng danh sách các sÑ iÇn tho¡i truy c­p vào account cça hÍ thì nhiÁu hacker chuyÃn h°Ûng sang t¥n công mÙt sÑ website. Do các web server cça ViÇt Nam th°Ýng ch¡y ch°¡ng trình Internet Information Server (IIS) vÑn còn r¥t nhiÁu l× hÕng nên các hacker ch³ng khó khn gì trong viÇc xâm nh­p và thay Õi trang chç website. Vào tháng 3 nm 2000, kho£ng h¡n 20 Website ã bË hacker t¥n công và thay th¿ nÙi dung trang chç. Trong tháng 6 nm 2002, mÙt ngân hàng lÛn cça ViÇt Nam cing ã bË hacker t¥n công. Theo nhïng tin téc lan truyÁn trong giÛi hacker, có mÙt sÑ tài kho£n cça khách hàng ã bË l¥y c¯p và tiêu xài. HiÇn t¡i, các hacker ang có xu h°Ûng xâm nh­p vào máy chç cça các công ty lÛn à l¥y m­t kh©u và các tài liÇu quantrÍng.

Tuy nhiên, cing ph£i nói r±ng có nhiÁu hacker sau khi xâm nh­p °ãc vào máy chç ã à l¡i nhïng d¥u hiÇu ho·c nhïng dòng tin nh¯n, thông báo cho ng°Ýi qu£n trË bi¿t l× hÕng b£o m­t mà anh ta ã xâm nh­p, giúp ng°Ýi qu£n trË có thà kh¯c phåc kËp thÝi.

Th¥y gì qua Ngày hacker ViÇt Nam §u tiên?

Ngày 1/11/2002, giÛi hacker ViÇt Nam ã tñ mình éng ra tÕ chéc mÙt Ngày hÙi hacker, t­p trung các cao thç cing nh° nhïng k» t­p to¹ vào nghÁ hack cça ba forum (diÅn àn trên Internet) nÕi ti¿ng là VietHacker, HackerVN và HKC. ây là Ngày hÙi §u tiên và cing là l§n §u tiên các hacker b±ng x°¡ng b±ng thËt công khai xu¥t §u lÙ diÇn . HÍ ã làm gì?

Theo Ban tÕ chéc, hÍ t¡o nên sñ kiÇn VN Hacker Day nh±m giúp các thành viên cça ba forum có thà g·p gá, tñ do bàn lu­n, trao Õi thông tin vÁ t¥n công máy tính, m¡ng, b£o m­t... mÙt cách công khai cßi mß ! HÍ l­p lu­n r±ng ß Mù, hàng nm các hacker tÕ chéc ¡i hÙi Defcon, ß Tây Âu có Cebit, v­y t¡i sao giÛi hacker ViÇt Nam l¡i không có mÙt ¡i hÙi cça riêng mình?

Ëa iÃm hÍp m·t là mÙt quán trà Dilmah t¡i sÑ 58B Bà TriÇu, Hà NÙi. Khi phóng viên e-CHÍP ¿n n¡i thì ã th¥y có kho£ng 30 chåc nhân v­t ngÓi ngó nghiêng. Trên mÙt chi¿c bàn kê cao là mÙt chi¿c máy chi¿u (projector) cùng vÛi bÑn máy tính ã k¿t nÑi Internet. NgÓi mÙt lúc thì thêm r¥t nhiÁu cao thç kéo ¿n. Ëa iÃm tå hÍp trß nên ch­t chÙi. Chúng tôi °Ûc oán có kho£ng h¡n 70 ng°Ýi, trong ó có bÑn nï. H§u h¿t Áu r¥t tr», chÉ kho£ng 18-23. MÙt nhóm kho£ng nm ng°Ýi ngÓi riêng ß vË trí trung tâm. ây là nhïng thành viên cça Ban tÕ chéc, trong ó có PAT, NTB, NXB, NMC - nhïng ng°Ýi nÕi ình nÕi ám trong giÛi hacker. MÙt hacker ngÓi c¡nh phóng viên e-CHÍP cho bi¿t bÑn trong sÑ nm thành viên Ban tÕ chéc có bÑ là công an (!).

Ch°¡ng trình b¯t §u b±ng lÝi khai m¡c cça mÙt thành viên Ban tÕ chéc: ây là mÙt ngày hÙi cça giÛi tin hÍc... (?) . Ti¿p theo là cuÙc trình diÅn các kù thu­t t¥n công domain, website và server cça PAT (chính là Microsoftvn , ang tìm c¡ hÙi du hÍc ß éc). PAT trình diÅn kù thu­t xâm nh­p vào server cça Vietcombank, sau ó thoát ra ngoài mà không à l¡i d¥u v¿t gì. Ti¿p theo là website cça Vinataba. PAT tuyên bÑ anh ta ã xâm nh­p °ãc vào server cça B°u iÇn Hà NÙi (hanoi.vnn.vn), VNNIC (vnnic.net.vn), Ngân hàng ACB, Saigonnet... ·c biÇt, anh ta nói có thà "h¡ gåc" các website có tên miÁn .vn chÉ trong vòng mÙt ngày vì ã n¯m °ãc m­t kh©u ·t trong máy chç cça FPT và VDC (!). PAT nói anh ta sµn sàng làm công tác b£o m­t cho VDC và FPT vÛi cái giá khßi iÃm là 10.000 USD (!).

Màn trình diÅn ti¿p theo là cça NTB. Anh này biÃu diÅn kù thu­t xem trÙm c¡ sß dï liÇu cça các site th°¡ng m¡i iÇn tí. B±ng cách ánh të khoá trên search engine Google, NTB ã có trong tay hàng lo¡t con mÓi . Và cing chÉ b±ng mÙt thç thu­t nhÏ, anh ta ã có thà xâm nh­p vào c¡ sß dï liÇu Access cça site này. Có v» nh° viÇc xâm nh­p khá dÅ dàng nhÝ nhïng l× hÕng ch°a °ãc vá l¡i. Nh°ng khi biÃu diÅn ¿n ph§n t¥n công các forum vi¿t b±ng snitz 2k thì NTB l¡i th¥t b¡i. Loay hoay mÙt lúc không thành công, anh này nh°Ýng l¡i máy cho longnt và babylearnhack biÃu diÅn...

Màn chót là ph§n phát hành )a CD-ROM phÕ bi¿n các kù thu­t t¥n công, b» khóa, vÛi giá 40.000 mÙt )a. Có l½ nhÝ ph§n trình diÅn §y ¥n t°ãng cça các thành viên Ban tÕ chéc mà )a tiêu thå khá ch¡y.

Qua VN Hacker Day, có thà th¥y giÛi tr» r¥t ham tìm tòi nh°ng ch°a Ënh h°Ûng °ãc cho mình là nên hÍc hay nên& phá . M·c dù các forum cça hacker luôn có nhïng tuyên ngôn ¡i lo¡i nh° Chúng tôi không ch¥p nh­n b¥t cé mÙt hình théc deface, phá ho¡i data cça b¥t kó mÙt hacker nào. Các b¡n chÉ c§n à l¡i mÙt d¥u ¥n trên server cça riêng b¡n là °ãc rÓi (tuyên ngôn trên site vnhackerday), nh°ng trên thñc t¿ ã có nhiÁu hacker lãi dång nhïng l× hÕng b£o m­t trong các Website cça ViÇt Nam à tråc lãi. iÃn hình là vå xâm nh­p vào server cça Vietcombank cách ây hai tháng. Ho·c nh° vå bom th° ngày 20/2/2002 vào NetNam và tr°Ûc ó là vào các công ty TNHH Âu L¡c và Tân HÓng H£i. HÓi tháng 7/2002, các hacker cing ng t£i công khai 30.000 Ëa chÉ e-mail cça các thuê bao cça công ty FPT TP.HCM thay vì thông báo cho các nhà qu£n trË&

HiÇn t°ãng giÛi tr» ViÇt Nam muÑn khám phá các ngóc ngách cça công nghÇ thông tin, muÑn thà hiÇn mình không ph£i là mÙt iÁu gì ó quá b¥t th°Ýng. V¥n Á n±m ß ch× các c¡ quan, tÕ chéc xã hÙi nên có nhïng nghiên céu nghiêm túc vÁ hiÇn t°ãng này, nh±m tìm ki¿m mÙt gi£i pháp giúp hacker có thà phát huy kh£ nng cça mình cho nhïng công viÇc có ích. Chúng tôi °ãc bi¿t giám Ñc mÙt công ty tin hÍc trong n°Ûc ang có ý Ënh ký hãp Óng vÛi hacker à hÍ giúp công ty này phát hiÇn các l× hÕng b£o m­t trong server. Còn có r¥t nhiÁu gi£i pháp khác mà chúng tôi cho r±ng s½ giúp hacker c£i tà quy chính , chuyÃn sang Ùi chi¿c mi tr¯ng thay vì mi en .

Tìm ki¿m mÙt gi£i pháp giúp các hacker Õi màu të mi en sang mi tr¯ng (h°Ûng thiÇn) là công viÇc nên làm të bây giÝ.

(echip.com.vn)

Th° cça PAT - MICROSOFTVN

Hãy coi chúng tôi là nhïng hacker mi xám

Sau iÁu tra vÁ "th¿ giÛi ng§m hacker ViÇt Nam" trên e-CHÍP sÑ 2, Toà so¡n ã nh­n °ãc khá nhiÁu th° và e-mail cça chính nhïng "ng°Ýi trong cuÙc". Trong ó, ngo¡i trë duy nh¥t mÙt e-mail do¡ t¥n công, còn l¡i Áu là nhïng ý ki¿n xây dñng gßi e-CHÍP, hay "tñ b¡ch", hay trao Õi ti¿p quanh mÙt sÑ chç Á cn b£n °ãc nêu lên të bài vi¿t, nh°: Hacker ViÇt Nam - mi tr¯ng hay mi en?,& Xin trích giÛi thiÇu vÛi các b¡n mÙt sÑ nÙi dung liên quan, Ã cùng hiÃu thêm suy ngh) và tâm sñ cça nhiÁu hacker tr» ViÇt Nam v«n ang chÍn cho mình mÙt con °Ýng.

Chào e-CHÍP!

Tôi là mÙt Administrator (LTS: qu£n trË m¡ng) cça VietHacker. Vëa rÓi, tôi có °ãc Íc bài vi¿t "Phanh phui bí m­t th¿ giÛi ng§m Hacker ViÇt Nam" trên e-CHÍP sÑ 2. Là ng°Ýi trong cuÙc, tôi hiÃu rõ nÙi dung bài vi¿t cing nh° nhïng nhân v­t °ãc Á c­p trong ó.

Bài vi¿t khá §y ç và công b±ng khi nói ¿n th¿ giÛi cça hacker ViÇt Nam. NÙi dung có nhïng chi ti¿t r¥t sát và r¥t úng, nh°ng cing có mÙt sÑ chi ti¿t i xa so vÛi thñc t¿. iÁu này làm cho ng°Ýi Íc (ng°Ýi trong cuÙc,ng°Ýi tham gia trong th¿ giÛi hacker) c£m th¥y nhàm và chán. Tôi bi¿t: à n¯m b¯t °ãc toàn bÙ nhïng chi ti¿t cça mÙt "th¿ giÛi £o" là khó, trong khi nó l¡i là mÙt th¿ giÛi ng§m nïa thì ch¯c r¥t khó Ñi vÛi mÙt phóng viên. Tôi hiÃu! Và thông c£m! Tôi là dân công nghÇ thông tin (CNTT), thích nghiên céu vÁ Hacking và Security (LTS: kù thu­t xâm nh­p máy tính và b£o m­t). Chính vì v­y, tôi trß thành mÙt trong r¥t nhiÁu cá nhân cça m¡ng Hacker ViÇt Nam. Tôi quan tâm ¿n hÇ thÑng b£o m­t cça các server (LTS: máy chç) ViÇt Nam và muÑn chúng °ãc hoàn chÉnh h¡n sñ hoàn chÉnh bây giÝ. HiÇn t¡i, Ù b£o m­t cça các server ß ViÇt Nam ch°a °ãc cao. ó chÉ là nhïng server b£o m­t Ñi vÛi nhïng hacker Newbie hay là Script Kiddies (t¡m dËch là hacker lính-mÛi-tò-te), còn Ñi vÛi nhïng hacker có trình Ù mÙt chút ß ViÇt Nam thì viÇc t¥n công các server này không ph£i là khó khn, chÉ có iÁu hÍ muÑn phá hay không mà thôi. H§u h¿t các hacker này hiÃu °ãc hành Ùng cça hÍ làm. G§n nh° toàn bÙ hÇ thÑng server t¡i ViÇt Nam Áu "°ãc" chính hacker ViÇt Nam chinh phåc g§n nh° hoàn toàn. H³n các qu£n trË m¡ng ViÇt Nam hiÃu rõ h¡n ai h¿t iÁu ó, ch³ng qua hÍ không dám lên ti¿ng hay thëa nh­n chính hÇ thÑng cça hÍ bË Ùt nh­p. ã có mÙt sÑ hacker liên l¡c vÛi nhïng ISP (LTS: nhà cung c¥p dËch vå internet), webmaster (LTS: nhà qu£n trË web) cça các hÇ thÑng à mong °ãc hãp tác config (LTS: cài ·t c¥u hình) server. Nh°ng hÍ g§n nh° nh­n °ãc th­m chí không mÙt câu tr£ lÝi të các webmaster phía server, à rÓi hÇ thÑng cça hÍ l×i v«n hoàn l×i! Chính b£n thân tôi là mÙt trong sÑ nhïng hacker ó: Tôi ã tëng liên l¡c vÛi bÑn ISP thì chÉ nh­n °ãc sñ tr£ lÝi hãp tác të mÙt ISP, còn l¡i Áu b·t vô âm tín. T¡i Ngày hÙi Hacker 1/11/2002, tôi nêu ý ki¿n xin °ãc làm b£o m­t config server cho các ISP mÙt l§n vÛi méc giá 10.000 USD. Sau ngày ó, tôi bË mang ti¿ng r¥t nhiÁu. Có ng°Ýi b£o tôi thích ch¡i nÕi, có ng°Ýi b£o tôi thích khoác lác, có ý ki¿n l¡i b£o "§u tôi có v¥n Á". T¥t c£ Áu là ý ki¿n mÙt phía, còn nhïng ng°Ýi b¡n cça tôi nh° KHA, WHAT, Trung Only, Huyremy,& thì hiÃu rõ tôi ang hành Ùng gì và sß hïu nhïng gì. T¥t nhiên khi dám nói nh­n làm b£o m­t mÙt l§n các ISP vÛi giá 10.000 USD, tôi có lý do và chính ki¿n cça tôi. SÑ tiÁn ó t¥t nhiên là r¥t lÛn Ñi vÛi tôi và b¡n. Nó chính là sÑ tiÁn tôi muÑn có à °ãc i du hÍc vÁ CNTT. 10.000 USD là to h¡n sÑ tiÁn tôi bÏ ra nÙp cho các ISP à ngÓi internet të ngày b¯t §u k¿t nÑi m¡ng ¿n nay. Tuy v­y, so vÛi các ISP thì 10.000 USD l¡i là mÙt con sÑ nhÏ, nhÏ h¡n r¥t nhiÁu so vÛi nhïng tÕn th¥t cça các ISP khi bË thiÇt h¡i do hacker t¥n công. Ví då nh° hÇ thÑng th» internet tr£ tr°Ûc cça mÙt ISP ã bË hacker t¥n công trong tháng 12/2002. Hàng nghìn account (tài kho£n) cça khách hàng Áu bË hacker l¥y pass (m­t kh©u) và viÇc này diÅn ra c£ tháng trÝi thì qu£n trË m¡ng mÛi fix (LTS: sía chïa) °ãc l×i. Thí hÏi thiÇt h¡i bao nhiêu? Hay vå ng t£i công khai 30.000 Ëa chÉ e-mail khách hàng cça mÙt ISP khác, lúc §u ng°Ýi ta t°ßng r±ng thiÇt h¡i chÉ là bË lÙ danh sách 30.000 Ëa chÉ e-mail và lo sã s½ bË dùng danh sách ó à spam (LTS: dÙi bom rác e-mail). Tuy v­y, sñ viÇc còn nghiêm trÍng h¡n, vì ít ai bi¿t r±ng toàn bÙ password sÑ Ëa chÉ e-mail ó cing ã bË hacker n¯m trong tay.

Thí hÏi thiÇt h¡i bao nhiêu? L­t l¡i hÓ s¡ cách ây hai nm, có 20 website cça ViÇt Nam ã thay Õi trang chç do mÙt hacker ng°Ýi ViÇt ß n°Ûc ngoài thñc hiÇn. iÁu tôi c£nh báo là có kh£ nng toàn bÙ các website ViÇt Nam bË down trong mÙt ngày, do viÇc này hoàn toàn có thà thñc hiÇn °ãc mÙt khi hacker ã n¯m °ãc nhïng máy chç tên miÁn (DNS server) cça ViÇt Nam.

Thí hÏi tôi òi hÏi th¿ có là khoác lác, "th§n kinh" không? LiÇu thí hÏi có ai dám lên ti¿ng nh° tôi không, hay cé à các hÇ thÑng server ó v«n mãi còn nhïng l×i nguy hiÃm. Thi¿t ngh) liÇu sau này có x£y ra chi¿n tranh tin hÍc thì ViÇt Nam chÑng tr£ ra sao? T¥t c£ Áu có thà x£y ra. Xin dëng bút t¡i ây. Hãy à cho e-CHÍP suy ngh) cùng tôi vÁ v¥n Á ó. Chúc e-CHÍP s½ càng hay và bÕ ích trong l)nh vñc CNTT.

Hacker ViÇt Nam, mi màu gì?

NG KHOA

NGAY SAU KHI HAI BÀI VI¾T Phanh phui bí m­t th¿ giÛi ng§m hacker ViÇt Nam và Hacker mi tr¯ng và hacker mi en °ãc ng trên e-CHÍP sÑ 2, giÛi hacker ViÇt Nam b×ng nhiên xôn xao vì chuyÇn... mi. Trên diÅn àn (forum) cça VietHacker, mÙt trong sÑ ba forum thu hút °ãc nhiÁu thành viên nh¥t hiÇn nay, ã diÅn ra nhïng cuÙc th£o lu­n sôi nÕi vÁ các chç Á: Th¿ nào là mÙt hacker , Ënh ngh)a hacker , e-CHÍP hôm nay vi¿t gì vÁ hacker , và Hacker ViÇt Nam là mi en hay mi tr¯ng .

H§u h¿t các forum cça hacker ViÇt Nam Áu cÕ vi cho các hành Ùng theo tr°Ýng phái mi tr¯ng. Ch³ng h¡n nh° khi ng ký làm thành viên cça forum VietHacker, ng°Ýi ta s½ Íc th¥y dòng chï: Khi ã ch¥p nh­n làm thành viên cça VietHacker, b¡n ph£i tuân thç và nghiêm chÉnh ch¥p hành các iÁu sau: DiÅn àn là n¡i trao Õi các ki¿n théc vÁ b£o m­t máy tính và m¡ng máy tính, do ó nghiêm c¥m các bài vi¿t có liên quan ¿n v¥n Á chính trË, tôn giáo, sex, account chùa . Ho·c trên forum cça HackerVN là tuyên ngôn: Chúng tôi không vi¿t virus cing nh° không dung túng cho hành vi vi¿t và phát tán virus. Chúng tôi không phá hu÷ dï liÇu cça b¥t cé website nào .

Trên thñc t¿, iÁu này ang diÅn ra theo xu h°Ûng tích cñc. H§u nh° các hacker ã b¯t §u nh­n théc °ãc rõ hành Ùng phá ho¡i s½ là vi ph¡m pháp lu­t. Vì th¿, hÍ Áu tán thành vÛi tiêu chí mi tr¯ng nh° b¡n Íc e-CHÍP có thà th¥y qua trích o¡n các trao Õi sau giïa các hacker:

Naskita: Anh em ¡i, cho tôi hÏi thí coi: Hacker ViÇt Nam là mi en hay mi tr¯ng? Tôi th¥y bài này trên e-CHÍP coi °ãc ó. Có ai theo mi en nh° tôi không? :-) Nói v­y thôi ché anh em cùng th£o lu­n vÁ måc tiêu cça hacker ViÇt Nam, tiêu chí i ha. Mong óng góp ý ki¿n.

D°¡ngKóMinh: Tuó hành Ùng cça m×i cá nhân ché! Bác có th¥y nick cça bác W_Hat không? Là White Hat (mi tr¯ng) ¥y! Có l½ ó cing là tiêu chí cça forum này!

ITcompvn: ChÉ mÙt ng°Ýi mi tr¯ng thì cing âu có °ãc. T¥t c£ tÕ chéc VietHacker ph£i là mi tr¯ng h¿t ché. HÍc hÏi l«n nhau nh°ng ph£i trên tinh th§n trong sáng.

Greenheart109: Cái chính là tuó thuÙc vào ý théc cça m×i thành viên trong cái forum này!

W_Hat: úng v­y, mÍi ng°Ýi tuy tham gia forum nh°ng forum ko (LTS: không) b¯t buÙc các b¡n ph£i theo mi en hay tr¯ng. V¥n Á là ß ch× ý théc và hiÃu °ãc tác h¡i cça nhïng viÇc mình làm ra, nhïng lãi ích mang l¡i và nó ph£i ko gây tác h¡i Ñi vÛi sñ phát triÃn cça forum. Tuy nick (LTS: nickname biÇt danh) tôi nh° th¿ nh°ng tôi cing ch°a tëng dám tñ nh­n mình là hacker hay white-hat hacker gì c£. Làm cái gì cing v­y, h°Ûng thiÇn s½ có t°¡ng lai h¡n. Các b¡n hãy tham gia vÛi måc ích hÍc t­p, rút kinh nghiÇm và tránh dùng nó vào nhïng måc ích x¥u.

Tuanibt: Có trách nhiÇm vÛi b£n thân mình và vÛi mÍi ng°Ýi, ó là tiêu chu©n cça mÙt hacker.

Trinhaingoc: Mi en hay tr¯ng không quan trÍng!!! ChÉ c§n hÍ óng góp cho ngành công nghÇ thông tin ViÇt Nam là °ãc rÓi.

Themoon: úng là en, tr¯ng không thành v¥n Á. en hay tr¯ng thì ph£i à xã hÙi nói thôi. Tôi nhÛ Íc ß âu ó ng°Ýi ta b£o hacker ViÇt Nam là mÙt nhóm ch°a Ënh hình quan iÃm. HÍ gÍi ta là: Ch°a bi¿t nên xây hay nên phá. N¿u téc gi­n vì ng°Ýi ta nói mình th¿ mà i hack thì rõ là mi en rÓi. Còn không nói gì mà l³ng l·ng óng góp thì gÍi là mi tr¯ng.

Windak: Em thích mi nâu h¡n.

Kaka: Em thích Ùi mi sÍc nh° ngña v±n í!

Em khong biet hack: Em v«n thích mi k» ca-rô h¡n, các bác ¡!

RED EYE: Cái mi không quan trÍng b±ng cái §u cça mình!

Gamer no0: Mi nào cing v­y, chç y¿u là suy ngh) en hay tr¯ng .

Owl7: Theo tôi thì hacker là Ùng lñc và là tác nhân làm cho tin hÍc phát triÃn. N¿u không có hacker thì mÙt ng°Ýi nghiÇp d° thi¿t k¿ web nh° tôi không c§n ph£i hÍc thêm các ngôn ngï có tính b£o m­t cao và tìm thç thu­t mã hoá trang Web cça mình. Không à tình tr¡ng mÙt bïa nào ó th¥y công trình cça mình °ãc sao g§n y b£n chính (khác ß cái tên miÁn), hay là làm °Ýng cho hacker vào tham quan máy chç v½ b­y vô m·t mình và làm tiêu cái nhà cça mình trên m¡ng luôn. Lúc ó, chÉ có n°Ûc ôm bàn phím ra ngoài °Ýng n xin. Và n¿u không có hacker thì các hãng cung c¥p ph§n mÁm chÉ c§n làm mÙt phiên b£n và vài nm sau mÛi c§n nâng c¥p phiên b£n mÛi không sã ai xài chùa và mÝi ng°Ýi khác xài chùa theo. Do ó, hacker là hoa x°¡ng rÓng trên sa m¡c thông tin, tôi s½ r¥t tñ hào n¿u mình trß thành mÙt hacker thñc thå.

M·c d§u v­y, các hacker v«n không thà chÉ hÍc hack vÛi lý thuy¿t suông. R¥t nhiÁu website trong n°Ûc và trên th¿ giÛi ã trß thành Ñi t°ãng cça nhïng cuÙc t¥n công thí vi khí . Ñi vÛi các website ViÇt Nam, ¡i a sÑ các hacker không hÁ phá ho¡i, nh°ng thñc ra hÍ h§u nh° cing không hÁ à l¡i mÙt thông báo nào trong server à nh¯c nhß ng°Ýi qu£n trË sau khi hÍ vi¿ng thm. Ñi vÛi các website th¿ giÛi, các hacker tha hÓ hành Ùng tuó ý, vÛi quan niÇm cça ng°Ýi phúc ta . Theo nguÓn tin do mÙt hacker cÙm cán cung c¥p, giÛi hacker ViÇt Nam hiÇn ang n¯m quyÁn kiÃm soát 25 server dËch vå Web hosting cça th¿ giÛi và có thà cho ch¿t vào b¥t cé lúc nào. Nh° v­y, chi¿c mi cça các hacker ã không còn là màu tr¯ng!

Xâm nh­p vào website th¿ giÛi chán rÓi, các hacker l¡i quay ra thí hack vào chính forum hacker cça nhau. MÙt trùm hacker cho chúng tôi bi¿t: Trong dËp tr°Ûc và sau T¿t Quý Mùi, nhïng thç l)nh cça forum VietHacker (VHA) và HackerClub (HKC) ã liên minh t¥n công HackerVN (HVA), khi¿n cho domain ( HYPERLINK "http://hackervn.net" http://hackervn.net), server và c¡ sß dï liÇu cça HVA bË c°Ûp m¥t. Cho ¿n nay, nhïng ng°Ýi truy c­p vào Ëa chÉ forum cça HVA Áu °ãc tñ Ùng chuyÃn sang Ëa chÉ cça& VHA. Ng°Ýi éng §u forum cça HVA có nick là JAL (nghe nói ang làm viÇc t¡i Nh­t B£n) ang ph£i xây dñng l¡i forum này të §u t¡i Ëa chÉ ( HYPERLINK "http://www.vnhacker.org" www.vnhacker.org). Ng°ãc l¡i, các hacker cça HVA cing ã ng§m t¥n công DDoS và c°Ûp m¥t tên miÁn ( HYPERLINK "http://www.viethacker.com" www.viethacker.com) cça VHA.

Có hay không chuyÇn các forum hacker ViÇt Nam t¥n công l«n nhau?

JAL: Xin thông báo tÛi toàn member (LTS: thành viên), sau mÙt thÝi gian bË m¥t domain (LTS: tên miÁn, gÍi t¯t) hackervn.net, nay HVA ã hack (LTS: xâm nh­p m¡ng trái phép) và l¥y l¡i °ãc domain này. Nhïng gì thuÙc vÁ HVA s½ quay vÁ vÛi HVA.hv@: Sau vài ngày không vào, th¥y viethacker.net không vào °ãc nïa; nghe bên vnhacker.org (HVA) nói là ã hack tung domain viethacker.net và bây giÝ không còn vào uãc v)nh viÅn. Còn cái domain hackervn.net bË hack tung và chuyÃn thành vnhacker.org, xin các admin (LTS: gÍi t¯t cça administrator qu£n trË m¡ng) gi£i thích dùm à các newbie (LTS: t¡m dËch là lính mÛi ) tåi em bi¿t rõ h¡n ¡.

Còn cái câu VietHacker và HVA hãp nh¥t âu rÓi? Tôi cing ã Íc bên HVA hÍ không hÁ có chuyÇn hãp nh¥t vÛi VietHacker, th¿ mà cing không ng¡i mË dân newbie tåi tôi nói là hai bên hãp tác à nh±m cho dân newbie không bi¿t vào viethacker mà t°ßng.

U2: Chúng tôi th­t sñ coi HVA là b­c àn anh có §y b£n l)nh.

VietHacker chÉ là tñ vÇ khi bên HVA ã chÉ vì mÙt lý do nhÏ mà t¥n công chúng tôi. ó là lý do, còn Hacker Club hoàn toàn là b¡n cça VietHacker, không x£y ra gì c£.

XacUopDoiMoi: Mình Íc trên e-CHÍP th¥y nói vÁ cuÙc chi¿n cça ba website hacker ViÇt Nam. Mình nh­n th¥y chúng ta th­t phí công séc vô ích khi gây chi¿n vÛi nhau, t¡i sao l¡i không oàn k¿t vÛi nhau trong mÙt khÑi à t¡o séc m¡nh chung? Chúng ta thành l­p và tham gia nhïng website này à làm gì? T¥t nhiên là à nâng cao trình Ù vÁ b£o m­t và l­p trình cça mình lên mÙt méc cao h¡n và cing là à thà hiÇn kh£ nng cça mình. Các b¡n hãy thí ngh) xem séc m¡nh cça chúng ta s½ nh° th¿ nào khi chúng ta hãp nh¥t? Trong chúng ta ai cing có dòng máu ViÇt Nam, ai cing có lòng tñ hào dân tÙc, và cing có lòng kiêu hãnh cça riêng mình. Vì v­y, tôi mong muÑn t¥t c£ nhïng hacker ViÇt Nam hãy oàn k¿t à cùng nhau vïng b°Ûc trong t°¡ng lai, khi mà chi¿n tranh m¡ng là mÙt iÁu t¥t nhiên, xã hÙi iÇn tí thông tin là chç ¡o. B¡n s½ ngh) gì khi t¥t c£ các trang web cça ViÇt Nam bË hacker n°Ûc ngoài t¥n công? Trong khi ó, chúng ta còn b­n thanh toán l«n nhau à thà hiÇn cái tôi kiêu hãnh?

Tôi chÉ trình bày ý ki¿n cça mình tÛi Admin và nhïng thành viên nh° v­y thôi! Tôi chÉ mong muÑn nhïng hacker chúng ta là nhïng con ng°Ýi có ích và vì lãi ích chung cça dân tÙc và cça chính chúng ta .

Xâm nh­p th¿ giÛi ng§m (Kó I): Góc khu¥t Ýi hacker!09:48' 22/02/2006 (GMT+7)

ChÉ trong vòng 6 ti¿ng n±m ngç vùi trên gi°Ýng, tay hacker 21 tuÕi ¥y ã xâm nh­p thành công vào g§n 2000 máy tính trên toàn th¿ giÛi.

HYPERLINK "http://vietnamnet.vn/dataimages/200602/original/images910837_0110_210206.jpg"

HYPERLINK "http://vietnamnet.vn/dataimages/200602/original/images910847_code210206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/01.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20I).mht!http://vietnamnet.vn/dataimages/200602/original/images910847_code210206.jpg" \* MERGEFORMATINET NguÓn: Infoworld H¯n thong dong ngç trong khi ph§n mÁm do h¯n vi¿t ra såc s¡o trên m¡ng Internet, vÓ l¥y nhïng máy tính "cëu non ng¡ ngác" và lây nhiÅm chúng b±ng ç lo¡i virus. K¿t qu£ cuÑi cùng: Cëu non bi¿n thành nô lÇ, m·c tay h¯n sai khi¿n.

MÙt sáng nh° mÍi sáng, thong th£ châm i¿u Marlboro, hacker có biÇt danh "0x80" b¯t §u ·t laptop lên bàn cà phê và nhoay nhoáy gõ vào hàng lo¡t lÇnh. Rm r¯p nghe lÝi, nhïng chi¿c máy tính nô lÇ b¯t §u download và cài ·t các ph§n mÁm do 0x80 chÉ Ënh sµn, Ã rÓi sau ó, b¯n phá ng°Ýi dùng liên tåc b±ng các qu£ng cáo sex, Viagra ç lo¡i.

Màn cài ·t xong xuôi, 0x80 l¡i ra lÇnh cho các máy tính thây ma (zombie- tên chÉ nhïng máy tính nô lÇ nói trên) tñ Ùng tìm ki¿m các n¡n nhân ti¿p theo të m¡ng Internet.

TiÁn tñ ch£y vào túi

¿n lúc này, 0x80 mÛi hít mÙt h¡i thuÑc th­t sau, të të nh£ ra hình chï O và ng¡o nghÅ tña vào sofa, mÉm c°Ýi vÛi nhà báo ang ngÓi Ñi diÇn. (Sau r¥t nhiÁu kù x£o nghÁ nghiÇp, phóng viên Washington Post ã thuy¿t phåc °ãc 0x80 ch¥p nh­n tr£ lÝi phÏng v¥n, vÛi iÁu kiÇn tên th­t và thành phÑ h¯n ang sinh sÑng tuyÇt Ñi °ãc giï kín).

ây là công viÇc th°Ýng ngày cça h¯n, và xin l°u ý r±ng, toàn bÙ công viÇc ¥y °ãc hoàn t¥t trong vòng ch°a §y... 2 phút. Th¿ nh°ng chÉ 2 tu§n nïa thôi, h¯n s½ nh­n °ãc t¥m séc trË giá 300 USD të mÙt công ty ti¿p thË trñc tuy¿n nào ó.

"Ngày nào cing v­y, tôi chÉ viÇc rung ùi ngÓi nhà, tán g«u trong khi tiÁn v«n ch£y vào túi", 0x80 nhún vai. "Cé 15 ngày tôi l¡i nh­n °ãc séc thanh toán qua °Ýng b°u iÇn, t§m vài trm ô. MÙt nguÓn thu khác là të ngân hàng ß Canada m×i tháng". 0x80 cho bi¿t thu nh­p tháng trung bình cça h¯n vào kho£ng 6800 - 10.000 USD, không tÇ cho mÙt sinh viên bÏ hÍc giïa chëng nh° h¯n.

Công cå làm n

HYPERLINK "http://vietnamnet.vn/dataimages/200602/original/images910841_0110_210206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/01.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20I).mht!http://vietnamnet.vn/dataimages/200602/original/images910841_0110_210206.jpg" \* MERGEFORMATINET NguÓn: Infoworld Nhïng chi¿c máy tính gia ình bË hack, rÓi bË iÁu khiÃn të xa, °ãc nhïng hacker nh° h¯n gÍi b±ng r¥t nhiÁu tên lóng, të "robot", "bots", "cëu", "nô lÇ" cho ¿n "cåc c°ng". NhiÁu bot k¿t nÑi vÛi nhau, nh° cça 0x80, t¡o thành "botnets" và ây chính là công cå ki¿m tiÁn cça g§n nh° toàn bÙ dân "chã en" trên Net.

Botnets °ãc dùng à chuyÃn ti¿p và phát tán hàng triÇu th° rác, và th­m chí còn là vi khí à các botmaster (nhïng k» nh° 0x80 - n¯m quyÁn iÁu khiÃn m¡ng botnets) hm dÍa, tÑng tiÁn b±ng nhïng vå "t¥n công të chÑi dËch vå". Trong tr°Ýng hãp này, các "gangster" m¡ng th°Ýng òi të vài ngàn cho ¿n hàng chåc ngàn USD të doanh nghiÇp, gÍi là "tiÁn b£o vÇ".

N¿u doanh nghiÇp të chÑi °a tiÁn, bÍn chúng s½ lÇnh cho hàng ngàn máy tính "nô lÇ" trong tay Óng lo¡t nh¥n chìm website b±ng nhïng luÓng dï liÇu tÛi t¥p, vô ngh)a, khi¿n website trß nên tê liÇt, ngây ¡ và doanh nghiÇp thiÇt h¡i kho£ng vài trm ngàn USD doanh thu.

0x80 nói r±ng h¯n ch°a hÁ sí dång m¡ng botnet cça mình à gây khÑn Ñn cho doanh nghiÇp nào. Thay vào ó, h¯n - và mÙt sÑ l°ãng botmaster ngày càng ông khác - ki¿m tiÁn të viÇc c¥y spyware (hay còn gÍi là adware) vào trong botnet cça mình. MÙt khi °ãc cài ·t vào máy tính, adware s½ kích ho¡t cho các cía sÕ qu£ng cáo nh£y xÕ ra màn hình, ho·c lén lút theo dõi thói quen l°Ût web cça ng°Ýi dùng. Sâu máy tính thì nguy hiÃm h¡n, do chúng t­p hãp và ánh c¯p nhïng dï liÇu nh¡y c£m h¡n nhiÁu të máy tính n¡n nhân, bao gÓm m­t kh©u, Ëa chÉ email, sÑ B£o hiÃm xã hÙi và th­m chí là thông tin cça th» tín dång.

CÝ ¿n tay ai, ng°Ýi ¥y ph¥t

ViÇc phát tán qu£ng cáo thông qua spyware và adware ã bi¿n thành mÙt nÁn công nghiÇp trË giá tÛi... 2 t÷ USD trong nm 2005. Ngành công nghiÇp này bùng nÕ tÛi âu, các m¡ng botnet theo tÛi ó. ChÉ cách ây ít tháng, FBI ã gô cÕ mÙt hacker 20 tuÕi ß Nam California vì tÙi cài ·t adware trên mÙt m¡ng botnet lên tÛi... 400.000 máy tính. Trong danh sách n¡n nhân cça Jeanson James, ng°Ýi ta th¥y c£ Trung tâm Chi¿n sñ Thçy không quân và Vn phòng hÇ thÑng thông tin cça BÙ QuÑc phòng Mù.

HYPERLINK "http://vietnamnet.vn/dataimages/200602/original/images910845_spyware1_210206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/01.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20I).mht!http://vietnamnet.vn/dataimages/200602/original/images910845_spyware1_210206.jpg" \* MERGEFORMATINET NguÓn: Infoworld Cing giÑng nh° Jeanson, 0x80 là tay cài adware chuyên nghiÇp. Trong të iÃn cça h¯n, không hÁ tÓn t¡i chï c£m thông dành cho các n¡n nhân. "N¿u tôi không lãi dång hÍ, kiÃu gì hÍ ch£ bË dính vào m¡ng botnet cça k» khác. Th¿ nên tÑt nh¥t cÝ ¿n tay ai, ng°Ýi ¥y ph¥t", 0x80 nói ráo ho£nh. "a sÑ ng°Ýi dùng quá "dÑt" à có thà b£o vÇ chính mình".

Cao, m£nh d», mái tóc kh½ rç xuÑng chân mày, 0x80 không có thói quen nhìn th³ng vào m¯t ng°Ýi Ñi tho¡i. Khi r£nh r×i, h¯n th°Ýng t¡t qua mÙt câu l¡c bÙ thoát y ß g§n nhà, và có l§n ã tr£ ¿n 800 USD Ã thuê trÍn mÙt phòng VIP. H¯n nói vÛi bÑ m¹ là ang làm viÇc cho mÙt hãng thi¿t k¿ Web.

Vào thÝi iÃm này, 0x80 ang kiÃm soát h¡n 13.000 máy tính, phân bÑ ß 20 n°Ûc khác nhau. Sáng nay, h¯n l¡i cài thêm spyware vào vài trm trong sÑ 2000 n¡n nhân mÛi "chn" °ãc êm qua. Të giÝ ¿n cuÑi ngày, h¯n s½ túc t¯c cài nÑt sÑ còn l¡i, sí dång mÙt ch°¡ng trình cài ·t tñ Ùng. N¿u h¯n cài quá nhiÁu gói spyware mÙt lúc, các công ty marketing khách hàng s½ "nghi ngÝ, c¯t hãp Óng và th¿ là tôi h¿t tiÁn", h¯n l©m b©m. "Tôi ã th¥m °ãc bài hÍc không nên quá tham lam và vÙi vàng".

Vëa nói, h¯n vëa v©y tay gõ dòng chï "pstore", vi¿t t¯t cça "password store". Trên màn hình laptop l­p téc hiÇn ra mÙt danh sách dài d±ng d·c username và m­t kh©u mà chç nhân cça nhïng máy tính botnet ã l°u l¡i bên trong trình duyÇt IE. R¥t nhiÁu trong sÑ này °ãc hÍ sí dång à ng nh­p vào các tài kho£n trñc tuy¿n trên PayPal, eBay, Ngân hàng Mù và Citibank. Hàng ngàn Ëa chÉ email có uôi "mil" và ".gov" (Téc là quân Ùi và chính phç Mù").

Tuy nhiên, 0x80 kh³ng Ënh h¯n không bán cing nh° sí dång nhïng thông tin này nh° nhiÁu gã khác mà h¯n bi¿t. "ViÇc ó quá nguy hiÃm và rçi ro". Måc tiêu cça h¯n luôn là ki¿m tiÁn và chÉ có v­y, ché không ph£i ngÓi bóc lËch trong tù.

(Còn ti¿p)

Thiên Ý (NguÓn: Brian Krebs - Washington Post)

Xâm nh­p th¿ giÛi ng§m (Kó II): Sát thç tuÕi teen13:17' 23/02/2006 (GMT+7)

0x80 b¯t §u hÍc l­p trình të nm 14 tuÕi, tr°Ûc c£ khi gia ình h¯n t­u °ãc mÙt chi¿c máy tính. MÙt ngày, tình cÝ nh£y vào mÙt chatroom có cái tên r¥t kích thích "Lesbians Only" trên m¡ng cça AOL, h¯n ã nh­n °ãc bài hÍc vá lòng §u tiên vÁ virus.

>> HYPERLINK "http://www3.vietnamnet.vn/cntt/2006/02/543766/" Xâm nh­p th¿ giÛi ng§m (Kó I): Góc khu¥t Ýi hacker!

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images911853_hacker220206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20II).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images911853_hacker220206.jpg" \* MERGEFORMATINET NguÓn: Technewsworld "Ai ó ã gíi cho tôi mÙt con virus, à rÓi sau ó, cé m×i l§n tôi gõ bàn phím thì mÙt tin nh¯n l¡i nh£y xÕ ra tr°Ûc màn hình, vÛi nÙi dung "Tôi là GAY", 0x80 nhÛ l¡i. H¯n ã tìm mÍi cách à ngn không cho máy tính hiÃn thË tin nh¯n nïa, nh°ng b¥t lñc. R¥t lâu sau, h¯n mÛi tìm °ãc cách vi¿t ra mÙt script à ch·n éng con virus khiêu khích ó.

Sau sñ vå này, 0x80 b¯t §u bË ám £nh vÛi virus máy tính và dành g§n trÍn thÝi gian cça mình à tìm hiÃu, nghiên céu vÁ chúng. úng ngày sinh nh­t l§n thé 16, h¯n °ãc t·ng chi¿c máy tính §u Ýi à phåc vå công viÇc hÍc t­p ß tr°Ýng. Nh°ng ch³ng °ãc bao lâu, 0x80 ã bÏ hÍc, dành thÝi gian lang thang trên nhïng kênh Internet Relay Chat (IRC), mÙt hình théc chat text có tr°Ûc IM.

ThÝi gian ¥y, có tÛi hàng chåc ngàn kênh IRC các lo¡i ang ho¡t Ùng trên kh¯p th¿ giÛi, phåc vå g§n nh° mÍi lo¡i Ñi t°ãng và sß thích trên trÝi d°Ûi biÃn. MÙt sÑ chúng là sân ch¡i Ùc quyÁn cça các hacker, dân vi¿t virus và các bng tÙi ph¡m m¡ng. D§n dà, IRC ã trß thành mÙt trong nhïng ph°¡ng tiÇn phÕ bi¿n nh¥t à chúng kiÃm soát các m¡ng botnet.

Cách ây kho£ng 2 nm, 0x80 tìm °ãc mÙt kênh IRC n¡i vài hacker ang bàn lu­n sôi nÕi vÁ chuyÇn ki¿m bÙn tiÁn të viÇc sí dång botnet à cài ·t spyware. Tr°Ûc ¥y, 0x80 h§u nh° chÉ sí dång botnet à nghËch ngãm, ùa vui, ti¿n hành nhïng cuÙc t¥n công të chÑi dËch vå nho nhÏ nh±m h¡ gåc b¡n bè ho·c nhïng k» h¯n ghét. Nh°ng chÉ sau vài tu§n liên tåc ghé thm kênh IRC ó, 0x80 ã °ãc "t©y não".

H¯n b¯t §u c·m cåi chÉnh sía mã virus c§n thi¿t à bi¿n botnet thành công cå ki¿m tiÁn.

Th¿ hÇ xài "chùa"

0x80 và nhïng tay b¡n hacker cça h¯n thuÙc vÁ mÙt th¿ hÇ lÛn lên cùng Internet, n¡i chúng có °ãc mÍi thé, të ph§n mÁm, nh¡c sÑ, tiÁn b¡c mÙt cách dÅ dàng, h§u nh° không tÑn công séc hay chi phí §u t°. NhiÁu k» trong sÑ chúng th°Ýng xuyên có thç thu­t à dùng "chùa", mua "chùa" và th­m chí là n "chùa".

L¥y thí då, trong mÙt cuÙc hÍp m·t g§n ây vÛi li b¡n hacker, 0x80 ã sí dång mÙt hÇ thÑng conferencing 800 sÑ mà chúng hack °ãc të tr°Ûc. Ã "ti¿p t¿ thñc ph©m", bÍn chúng ·t mua pizza b±ng nhïng phi¿u t·ng quà miÅn phí làm gi£, ho·c hack trñc ti¿p vào máy tính cça qu£n lý nhà hàng.

iÁu ít ai bi¿t là bÍn chúng làm iÁu này không chÉ vì tiÁn b¡c. "Cái c£m giác khi ta b°Ûc vào hàng, °a phi¿u gi£, c§m théc n rÓi tñ do i ra.... th­t tuyÇt. Nó giÑng nh° ta là k» b£n l)nh nh¥t th¿ gian này v­y. Bao giÝ pizza chùa ch£ ngon h¡n pizza tr£ tiÁn", mÙt hacker 16 tuÕi rú lên.

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images911855_dark-net220206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20II).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images911855_dark-net220206.jpg" \* MERGEFORMATINET NguÓn: AFP 0x80 ti¿t lÙ r¥t ít vÁ dñ Ënh t°¡ng lai cça h¯n. ôi lúc, h¯n úp mß vÁ kh£ nng hÍc ti¿p lên ¡i hÍc à l¥y b±ng khoa hÍc CNTT, tuy nhiên ý t°ßng tìm mÙt công viÇc tí t¿ t¡i mÙt hãng công nghÇ hãp pháp d°Ýng nh° ch³ng h¥p d«n h¯n cho l¯m. "Dù làm ß âu, tôi v«n muÑn làm th±ng trai h°. Tính tôi nó th¿".

Khi °ãc hÏi có lo bË b¯t qu£ tang hay không, 0x80 út tay vào túi qu§n, nhún vai và c¯m m¯t xuÑng ôi giày. "Nói th­t nhé, tôi cing ng¡c nhiên là cho ¿n lúc này hÍ ch°a b¯t °ãc tôi ¥y". H¯n tuyên bÑ không quan tâm, nh°ng rÓi l¡i thú nh­n cing có dành thÝi gian cho viÇc xóa d¥u v¿t. "êm nào tôi cing théc r¥t khuya à £m b£o sáng hôm sau c£nh sát không xÙc vào nhà. N¿u ch³ng may bË b¯t, th­t ra tôi cing ch£ lo. Tôi ã ki¿m ç tiÁn à thuê mÙt lu­t s° giÏi".

K» c¯p bà già

Trên thñc t¿, nhïng k» nh° 0x80 có thà làm giàu nhanh chóng cing nhÝ nhïng công ty phát tán adware và spyware ã bÏ tiÁn ra "nuôi" chúng. Nhïng ai chËu Óng ý giúp chúng cài ·t nhïng ph§n mÁm này s½ °ãc tr£ tiÁn và nhanh chóng giàu có. Trong nghÁ, ng°Ýi ta gÍi nhïng k» lính ánh thuê này là "affiliates", téc HÙi viên.

NhiÁu site phát tán adware ã tuyÃn dång "hÙi viên" b±ng hình £nh cça nhïng tÝ hóa ¡n 100 USD §y ma lñc. L¥y thí då, Gamma.Com ã "câu" lính ánh thuê b±ng hình £nh mÙt ôi tay nâng niu chi¿c Óng hÓ ¯t tiÁn. Vài giây sau, chi¿c Óng hÓ bi¿n m¥t và th¿ ch× là mÙt con xe a dång thà thao Cadillac sang trÍng, và cuÑi cùng là mÙt chi¿c du thuyÁn. (Các n¡n nhân cça Gamma.com s½ th¥y thanh công cå trên máy tính cça hÍ bi¿n thành XXX toolbar, ch­t ních các tính nng khiêu dâm và nhïng Ëa chÉ mát m»).

M·c dù v­y, hãng này ã °a vào trong "iÁu kho£n hãp Óng" mÙt quy Ënh r±ng : Không cho phép cài ·t s£n ph©m vào máy tính n¿u ng°Ýi dùng không hay bi¿t và không Óng ý. ¡i a sÑ các hãng khác kh³ng Ënh s½ c¯t ngang hãp Óng và không tr£ cho "hÙi viên" xu nào n¿u hÍ vi ph¡m quy Ënh nói trên.

Trong khi 0x80 và b¡n bè cça h¯n tìm cách che m¯t "khách hàng tuyÃn dång" b±ng thç o¡n cài ·t spyware theo kiÃu "b¯n tÉa tëng ph§n", thì nhïng hãng này cing ch¡i trò bÛt xén vÛi "hÙi viên". SÑ ch°¡ng trình do các hÙi viên cài ·t s½ bË thÑng kê th¥p i mà 0x80 ch³ng thà làm gì °ãc.

TiÁn là trên h¿t

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images911857_salary220206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20II).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images911857_salary220206.jpg" \* MERGEFORMATINET NguÓn: Jpgilmore Th­t ra, có nhiÁu cách hãp pháp à b¯t buÙc ng°Ýi dùng máy tính download spyware ho·c adware. L¥y thí då nh° khi t£i game ho·c ph§n mÁm vÁ máy, ho·c ¡n gi£n chÉ ghé thm mÙt sÑ website nh¥t Ënh, ng°Ýi dùng ã nghiÅm nhiên ch¥p nh­n chuyÇn s½ có spyware i kèm.

Tr°Ûc khi b¯t tay cùng "hÙi viên", TopConverting tëng phát tán spyware mÙt cách "lành m¡nh": quy¿n ri ng°Ýi dùng thi¿u nhi và tuÕi teen b±ng các game ¡n gi£n ho·c "avatar" và biÃu t°ãng "emoticon" áng yêu. HÍ cing xây dñng nhïng o¡n ho¡t hình ng¯n có nÙi dung r¥t ngÙ ngh)nh. Có thà ng°Ýi dùng ch³ng hiÃu °ãc r±ng hÍ s½ nh­n °ãc nhïng gì sau khi click "OK", nh°ng nhïng ho¡t Ùng nói trên d«u sao v«n °ãc pháp lu­t ch¥p nh­n.

Nh°ng 0x80 thì ch³ng bao giÝ cho ng°Ýi dùng mÙt c¡ hÙi të chÑi nào c£. MÙt khi ã xâm nh­p thành công và chiêu n¡p máy tính vào m¡ng botnet, chúng s½ sí dång mã keystroke (theo dõi bàn phím) tñ Ùng à ra lÇnh cho máy tính nô lÇ chÍn "OK" Ñi vÛi các lÇnh cài ·t. 0x80 cho bi¿t h¯n th­m chí còn t¡o ra mÙt ch°¡ng trình cho phép xóa (të xa nhé) các adware ci n±m trong zombie, dÍn ch× cho viÇc cài adware mÛi. Và nh° th¿, h¯n l¡i °ãc tr£ tiÁn l§n hai.

Majy, 19 tuÕi, b¡n cça 0x80, ang n¯m trong tay m¡ng botnet gÓm 30.000 zombie, ti¿t lÙ TopConverting ã tr£ cho h¯n trung bình 2.400 USD/nía tháng à cài ·t adware. Cé m×i l§n cài thành công vào mÙt máy tính trên ¥t Mù, h¯n l¡i nh­n °ãc 20 cent, còn ß 16 quÑc gia khác gÓm Pháp, éc, Anh, h¯n chÉ °ãc tr£ 5 cent/máy. Vài xu kiÃu này ch³ng bõ bèn gì, trë phi b¡n ang kiÃm soát vài chåc nghìn máy tính.

(MÝi quý Ùc gi£ chú ý ón Íc "Xâm nh­p th¿ giÛi ng§m -Kó III".)

Thiên Ý (NguÓn: Brian Krebs - Washington Post)

Xâm nh­p th¿ giÛi ng§m (Kó III): GuÓng quay b¡ch tuÙc06:30' 28/02/2006 (GMT+7)

Nói ¿n ngành công nghiÇp adware, ng°Ýi ta không thà không nh¯c ¿n cái tên 180 Solutions. ¡n gi£n, ây là ¡i gia hùng m¡nh nh¥t và quan trÍng nh¥t cça ngành công nghiÇp ¥y.

>> HYPERLINK "http://www.vietnamnet.vn/cntt/2006/02/543766/" Xâm nh­p th¿ giÛi ng§m (Kó I): Góc khu¥t Ýi hacker!

>> HYPERLINK "http://www.vietnamnet.vn/cntt/2006/02/544287/" Xâm nh­p th¿ giÛi ng§m (Kó II): Sát thç tuÕi teen

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images915371_decor-laptop4_270206.jpg"

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images915385_gold-rush270206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/03.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20III).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images915385_gold-rush270206.jpg" \* MERGEFORMATINET NguÓn: Businessweek Trå sß cça 180Solutions °ãc xây toàn b±ng kính và thép, kiên cÑ tÍa l¡c trên ¡i lÙ Bellevue, Washington, nh°ng có tÛi mÙt nía c¥u trúc °ãc bÑ trí ng§m d°Ûi ¥t. Trên t§ng th°ãng là mÙt sân bóng chuyÁn tiêu chu©n, lò n°Ûng phåc vå tiÇc barbecue.

"SÑng trên Ýi ph£i bi¿t mình là ai"

S£nh chính dài hun hút và rÙng thênh thang, tÛi méc nhiÁu ng°Ýi trong sÑ 200 nhân viên cça hãng ph£i i qua b±ng... ván tr°ãt. Trên t°Ýng dán chi chít nhïng poster vÛi kh©u hiÇu "Anh muÑn là ai?", nh° thà hét vào tai các nhân viên r±ng hÍ luôn ph£i hiÃu rõ vË trí cça mình. Nh°ng sâu xa h¡n, nó cing là b±ng chéng à 180Solutions chéng tÏ vÛi th¿ giÛi, r±ng hãng này ã Õi chiÁu 180 Ù so vÛi con °Ýng kinh doanh tr°Ûc ây.

180solutions khßi nghiÇp trong ngành công nghiÇp adware b±ng mÙt s£n ph©m có tên Epipo, theo ó, ng°Ýi dùng s½ °ãc tr£ 6 cent/giÝ n¿u nh° chËu xem nhïng m«u qu£ng cáo °ãc gíi ¿n máy tính cho hÍ. Epipo nhanh chóng trß nên phÕ bi¿n trong giÛi sinh viên, bßi nhïng bÙ óc nh¡y bén này ã l­p téc tìm ra cách tñ Ùng hóa viÇc duyÇt Web à ... ki¿m tiÁn, dù hÍ không hÁ ngÓi tr°Ûc màn hình máy tính.

180solutions ã Ñi phó l¡i b±ng cách thay Õi quy Ënh tr£ tiÁn và bË kiÇn lên tòa án Washington. Sau khi dàn x¿p Õn thÏa °ãc vå kiÇn vào nm 2002, 180 cing g§n nh° phá s£n.

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images915375_180solutions270206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/03.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20III).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images915375_180solutions270206.jpg" \* MERGEFORMATINET Giám Ñc iÁu hành kiêm chç tËch 180Solutions ¿n vn phòng b±ng xe scooter. NguÓn: Seattleip Khi ó, 180 ã quy¿t Ënh thay Õi chi¿n l°ãc marketing. Thay vì tr£ tiÁn à ng°Ýi dùng cài ·t adware, hãng này ã chç Ënh mÓi chài ng°Ýi dùng b±ng game miÅn phí. Trong m×i game này Áu có nhúng mÙt ph§n mÁm có tên "n-Case", chuyên theo dõi thói quen l°Ût Net cça ng°Ýi tiêu dùng và cñc kó khó lo¡i bÏ.

Bình mÛi r°ãu ci

¿n nm 2004, các nhà §u t° m¡o hiÃm ã rót h¡n 40 triÇu USD cho 180solutions, khi¿n cho công ty này ph¥t lên nh° diÁu. Cùng nm này, 180 bÏ túi h¡n 50 triÇu nhÝ phát tán qu£ng cáo trñc tuy¿n cho nhiÁu t­p oàn nÕi ti¿ng nh¥t n°Ûc Mù nh° Cingular, T-Mobile, JP Morgan Chase.

Theo tính toán riêng cça 180, adware cça hãng ã °ãc cài ·t trên... 20 triÇu máy tính toàn c§u. Chç nhân cça nhïng chi¿c máy này s½ ph£i nh­n qu£ng cáo pop-up dña trên nhïng gì hÍ v«n hay tìm ki¿m qua m¡ng. Gi£ sí b¡n hay tìm b±ng të khóa "du lËch", ph§n mÁm cça 180 s½ tra céu trong toàn bÙ c¡ sß dï liÇu khách hàng à lôi ra nhïng qu£ng cáo liên quan nh¥t. Cé m×i l§n gíi i mÙt qu£ng cáo, 180 l¡i nh­n °ãc thù lao 1,5 - 2,5 cent. SÑ l°ãng máy tính dính adware càng nhiÁu, doanh thu do cça 180 càng lÛn.

SÑ b±ng chéng cho th¥y 180 cài ·t adware trái phép t¡i tòa ch¥t cao nh° núi, nh°ng b±ng ç thç thu­t tráo tên, Õi hÍ, 180 v«n sÑng sót. Nm ngoái, 180Solutions tuyên bÑ hãng s½ không cho phép adware cça mình "chéa ch¥p" nÙi dung khiêu dâm cing nh° dËch vå chia s» file P2P nïa. Ban giám Ñc hãng này cing thÁ sÑng thÁ ch¿t là cÑ h¿t séc à "triÇt bÏ ham muÑn download trái phép të ng°Ýi dùng".

ThiÇn chí hay chiêu bài?

HYPERLINK "http://www3.vietnamnet.vn/dataimages/200602/original/images915387_bach-tuoc270206.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/03.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20III).mht!http://www3.vietnamnet.vn/dataimages/200602/original/images915387_bach-tuoc270206.jpg" \* MERGEFORMATINET NguÓn: Symantec Nh±m minh chéng cho cam k¿t cça mình, 180 ã cùng lúc Ç ¡n kiÇn... 7 hãng phân phÑi adware, cáo buÙc nhïng hãng này ã sí dång botnet à cài ·t adware vào h¡n 60.000 máy tính mà không °ãc phép cça ng°Ýi dùng. 180 cing hãp tác vÛi FBI và nhà chéc trách Hà Lan à triÇt h¡ mÙt m¡ng botnet h¡n 1 triÇu máy tính, mà k¿t qu£ là b£n thân hãng này trß thành måc tiêu à các botmaster nã t¥n công të chÑi dËch vå liên tåc.

Tuy nhiên, giÛi phân tích v«n tÏ ra ngÝ vñc "thiÇn chí" cça 180 Ù. HÍ không thà tin 180Solutions l¡i chËu thay Õi cách iÁu hành cça mình và ·t d¥u hÏi tr°Ûc viÇc 180 Ù mua l¡i các hãng phân phÑi adware khác. "Cing giÑng nh° k» say tuyên bÑ mua h¿t mÙt qu§y r°ãu à gi£i quy¿t thói quen uÑng r°ãu cça h¯n ta v­y".

VÁ ph§n mình, 0x80 cho bi¿t h¯n ch³ng quan tâm tÛi chuyÇn làm n cça 180Solutions. H¯n cing tÏ ra hoài nghi vÁ kh£ nng nhïng biÇn pháp mà 180Solutions ang ti¿n hành có thà khi¿n các botmaster nhåt chí. "Có quá nhiÁu c¡ hÙi à ki¿m tiÁn. Không làm ch× này thì làm ch× khác. 180 ch³ng thà làm °ãc gì c£", h¯n bình lu­n.

(MÝi quý Ùc gi£ ón Íc bài Xâm nh­p th¿ giÛi ng§m - Kó IV)

Thiên Ý (Theo Washington Post)

Xâm nh­p th¿ giÛi ng§m (Kó IV): Thã sn và chim mÓi12:30' 06/03/2006 (GMT+7)

Sam Norris là mÙt anh chàng ¹p trai, h¡i phÛt Ýi trong trang phåc qu§n jean, áo phông và ôi gi§y thà thao xanh-tr¯ng. MiÇng c°Ýi ngoác ¿n t­n mang tai, Norris xßi lßi nói "Các anh ¿n úng lúc ¥y, hôm nay tôi vëa tóm °ãc m¥y "chú" botnet rÓi".

>> HYPERLINK "http://www.vietnamnet.vn/cntt/2006/02/543766/" Xâm nh­p th¿ giÛi ng§m (Kó I): Góc khu¥t Ýi hacker!

>> HYPERLINK "http://www.vietnamnet.vn/cntt/2006/02/544287/" Xâm nh­p th¿ giÛi ng§m (Kó II): Sát thç tuÕi teen

>> HYPERLINK "http://vietnamnet.vn/cntt/2006/02/545682/" Xâm nh­p th¿ giÛi ng§m (Kó III): GuÓng quay b¡ch tuÙc

Sát thç cça botnet

HYPERLINK "http://vietnamnet.vn/dataimages/200603/original/images920321_CRYSTAL-BALL060306.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/04.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20IV).mht!http://vietnamnet.vn/dataimages/200603/original/images920321_CRYSTAL-BALL060306.jpg" \* MERGEFORMATINET NguÓn: BusinessWeek Nm nay 31 tuÕi, Norris hiÇn là chç tËch cça hãng dËch vå Internet có tên ChangeIP.com, mÙt trong nhïng "pháo thç" hàng §u chÑng l¡i botnet. Theo °Ûc tính cça Norris, anh ta m¥t kho£ng 20 ti¿ng m×i tu§n cho viÇc ngn ch·n các tay botmaster nh° 0x80 và Majy sí dång m¡ng cça ChangeIP Ã iÁu khiÃn botnet.

Th°Ýng thì các botmaster v«n kiÃm soát botnet b±ng cách lÇnh cho tëng PC nô lÇ báo cáo hàng ngày vÁ máy chç trung °¡ng và chÝ chÉ d«n ti¿p theo (có thà là t¥n công mÙt website, gíi th° rác hay download các ch°¡ng trình spyware). Tuy nhiên, nhiÁu m¡ng IRC ã b¯t §u nh­n ra tình tr¡ng này và thñc hiÇn chi¿n dËch triÇt h¡ botnet.

HÇ qu£ là ngày càng nhiÁu hacker tìm cách che gi¥u và ngåy trang cho mình b±ng viÇc sí dång nhïng dËch vå nh° cça ChangeIP. Các dËch vå này cho phép trình duyÇt Internet tìm ki¿m hàng trm website nhÏ theo tên, kà c£ khi Ëa chÉ sÑ thñc sñ cça site có thà thay Õi qua tëng ngày. Các botmaster nh¡y bén nh° 0x80 ã l­p téc ngíi th¥y ích lãi të ây. Chúng ã sí dång dËch vå cça Norris à che gi¥u các botnet cça mình khi nh£y të máy chç này sang máy chç khác.

N¿u nhà chéc trách ho·c các chuyên gia b£o m­t b¯t §u à m¯t ¿n mÙt máy chç ang ch¡y botnet cça chúng, l­p téc chúng s½ chuyÃn sang máy chç khác, và ChangeIP.com s½ giúp các máy tính cëu non tìm ki¿m "chuÓng trú ©n" mÛi.

Trong a sÑ các tr°Ýng hãp, Norris dÅ dàng phân biÇt °ãc trên m¡ng cça ChangeIP, âu là website hãp pháp và âu là botnet: Þ các website nhÏ, b¡n không bao giÝ chéng ki¿n c£nh hàng ngàn máy tính cùng truy c­p Óng thÝi, Áu tm t¯p nh° cça botnet.

B±ng cách theo dõi luÓng liên l¡c qua l¡i giïa các máy tính nô lÇ vÛi kênh iÁu khiÃn cça botmaster, Norris có thà tóm °ãc nhïng dï liÇu r¥t ¯c dång vÛi c¡ quan iÁu qua, ch³ng h¡n nh° trích o¡n text ho·c mã có chéa §u mÑi vÁ n¡i ß ho·c danh tính cça botmaster.

Theo tính toán cça Norris, trung bình có kho£ng 37 botnet mÛi tìm cách lãi dång dËch vå cça hãng anh m×i tu§n. Có nhïng thÝi iÃm, sÑ botnet vÍt lên tÛi 10 botnet/ngày. Mùa xuân nm ngoái, Narris ã ch·n hÍng thành công mÙt botnet gÓm 40.000 máy tính chuyên làm nhiÇm vå cài spyware. "SÑ l°ãng botnet-spyware ang tng vÛi tÑc Ù chóng m·t. Theo tôi ó là do hacker ã nh­n ra chúng có thà ki¿m °ãc hàng Ñng tiÁn të ây".

Nháy m¯t mÙt cách ranh mãnh, Norris chÉ cho chúng tôi xem b£n sao cça mÙt botnet bË anh ta tråc xu¥t khÏi m¡ng ChangeIP.com cách ây không lâu. Ch°¡ng trình này bao gÓm các câu lÇnh à cài ·t 14 adware và spyware khác nhau, vÛi o¡n mã ã °ãc mã hóa và ngåy trang tinh vi tÛi méc không mÙt ph§n mÁm diÇt virus ang dùng nào có thà phát hiÇn °ãc.

B£n thân Narris, trong khi ang kiÃm tra ch°¡ng trình bot này cing ã vô tình khßi Ùng nó, khi¿n cho máy tính cça anh... dính ch°ßng. G§n nh° téc thÝi, ch°¡ng trình này t£i vÁ máy c£ mÙt gói adware và kích ho¡t hàng lo¡t cía sÕ pop-up qu£ng cáo cho các site khiêu dâm. Nó Óng thÝi cing cài ·t c£ thanh công cå XXX cça GammaCash lên giao diÇn trình duyÇt.

Ti¿p tåc phân tích, Norris phát hiÇn th¥y ch°¡ng trình bot tinh vi này còn chéa tÛi h¡n 30 tính nng khác, të lén lút ghi l¡i toàn bÙ ho¡t Ùng l°Ût Web và theo dõi bàn phím (keystroke) cho ¿n n c¯p username và m­t kh©u cça PayPal. MÙt ch°¡ng trình khác th­m chí còn cho phép k» t¥n công nhìn trÙm t¥t c£ nhïng gì mà webcam ng°Ýi dùng thu °ãc.

Liên minh "hiÇp s)"

L¡i nói vÁ Norris. Anh chàng này là thành viên cça mÙt nhóm "iÁu tra viên" không chính théc, t­p hãp h¡n 100 chuyên gia b£o m­t Ùc l­p trên toàn th¿ giÛi. Ngày ngày, hÍ chia s» vÛi nhau ç mÍi dï liÇu vÁ quy mô, Ëa iÃm và ho¡t Ùng cça nhïng m¡ng botnet phá ho¡i nh¥t. Sí dång nhïng thông tin này, các thành viên cça nhóm ã óng cía °ãc kha khá botnet, b±ng cách ch·t gãy h¿t m¡ng l°Ût máy tính nô lÇ cça các botmaster và chuyÃn giao hÓ s¡ cho các lñc l°ãng t° pháp.

HYPERLINK "http://vietnamnet.vn/dataimages/200603/original/images920329_hacker_hostedpicture060306.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/04.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20IV).mht!http://vietnamnet.vn/dataimages/200603/original/images920329_hacker_hostedpicture060306.jpg" \* MERGEFORMATINET NguÓn: HostedPicture M×i buÕi sáng, Norris l¡i nh­n °ãc mÙt email liÇt kê Ëa chÉ trên m¡ng cça các máy chç Web ang bË botmaster sí dång. Rà soát c©n th­n danh sách này, Norris cÑ g¯ng tìm ra botnet nào ang lãi dång m¡ng cça mình.

ëng l§m t°ßng r±ng chÉ có máy tính gia ình mÛi dÅ dàng bË t¥n công và chiêu n¡p vào m¡ng botnet. Vài tháng tr°Ûc, Norris ã phát hiÇn th¥y h¡n 10.000 máy tính cça mÙt công ty có trên trong danh sách Fortune 100 (100 công ty hàng §u th¿ giÛi do Fortune bình chÍn - ND) ang tìm cách liên l¡c vÛi mÙt máy chç trong m¡ng cça ChangeIP. Khi Norris thông báo tin x¥u này vÛi hãng, qu£n trË m¡ng cça công ty ó kém ¿n n×i không bi¿t ph£i ph£n éng l¡i nh° th¿ nào. "Anh ta ng¡ ngác hÏi tôi: "Anh muÑn tôi làm gì bây giÝ?".

Norris cho bi¿t sau khi thu th­p ç b±ng chéng, chéng minh ó là botnet, anh s½ ình chÉ account truy c­p dËch vå và (hy vÍng là) s½ b» gãy °ãc °Ýng dây liên l¡c giïa botmaster vÛi các máy tính tay chân. Sß d) có chï "HY VÌNG" ß ây là vì r¥t nhiÁu l§n, các botmaster ã chÉ d«n cho máy tính nô lÇ chuyÃn sang nhïng tên miÁn khác khi kênh iÁu khiÃn chính bË s­p cía. Tuy nhiên, trong a sÑ tr°Ýng hãp, botmaster chÉ viÇc di dÝi toàn bÙ m¡ng botnet cça h¯n sang mÙt nhà cung c¥p dËch vå Internet khác mà thôi.

Mèo và chuÙt

Cing có khi, botmaster còn cÑ tình xÏ xiên Norris b±ng cách gíi mÙt email lÝi l½ cñc kó nhã nh·n hÏi r±ng "T¡i sao l¡i óng cía dËch vå cça tôi?". Tr°Ýng hãp x¥u nh¥t là sau khi xây dñng m¡ng botnet ß mÙt n¡i khác, hacker s½ quay l¡i, dùng botnet ó à t¥n công tr£ ia chính ChangeIP. Nm ngoái, mÙt botmaster bË lo¡i ã liên k¿t cùng mÙt botnet khác à ti¿n hành t¥n công quy mô lÛn nh±m vào ChangeIP, khi¿n cho site này lao ao và ình trÇ trong g§n mÙt tu§n.

Khi v¥n n¡n botnet leo thang, cuÑi cùng thì các c¡ quan t° pháp cing ã b¯t §u chú ý. "HÍ ã hiÃu °ãc r±ng botnet không còn là mÙt mÑi phiÁn toái khó chËu nïa: Nó là mÙt guÓng quay ma qu÷ t­p hãp t¥t c£ nhïng gì en tÑi nh¥t trên Internet hiÇn nay, të hacking, th° rác cho ¿n phishing và do thám".

HYPERLINK "http://vietnamnet.vn/dataimages/200603/original/images920333_mecung_amstelxp060306.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/04.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20IV).mht!http://vietnamnet.vn/dataimages/200603/original/images920333_mecung_amstelxp060306.jpg" \* MERGEFORMATINET NguÓn: Armstel óng cía mÙt m¡ng botnet không ph£i là viÇc khó, nh°ng tìm ra °ãc k» chç m°u gi­t dây ±ng sau mÛi thñc sñ chông gai. MÙt ph§n cing vì nhïng chuyên gia b£o m­t nh° Norris th°Ýng b¥t Óng vÛi nhau vÁ viÇc triÇt phá botnet ngay téc kh¯c hay là ti¿p tåc theo dõi thêm mÙt thÝi gian à thu th­p ç §u mÑi, cung c¥p cho các nhà iÁu tra.

MÙt nguyên nhân khác là do ho¡t Ùng và m¡ng l°Ûi cça các botnet th°Ýng xuyên låc Ëa, òi hÏi sñ hãp tác ch·t ch½ giïa lñc l°ãng t° pháp nhiÁu n°Ûc. Mà thñc t¿ ai cing hiÃu là trình Ù cça các botmaster ã ch¡y tr°Ûc nhân viên iÁu tra khá nhiÁu, khi¿n cho viÇc l§n theo d¥u v¿t cça chúng vô cùng khó khn.

Norris cing chia s» mÑi quan ng¡i r±ng các botmaster s½ chuyÃn sang khai thác công nghÇ P2P ngày càng nhiÁu. Nhïng m¡ng nh° Kazaa hay LimeWire s½ cho phép máy tính nô lÇ trao Õi, chia s» chÉ d«n và ph§n mÁm vÛi nhau mà không c§n phå thuÙc vào máy chç trung °¡ng nïa. Khi ¥y, dù Norris hay nhïng chuyên gia "sn botnet" khác có tìm °ãc và vô hiÇu hóa máy chç, m¡ng botnet này v«n duy trì ho¡t Ùng bình th°Ýng.

"Khi ¥y, tôi buÙc ph£i ría tay gác ki¿m thôi, vì mÍi chuyÇn ã v°ãt ra khÏi t§m tay cça tôi rÓi", Norris c£nh báo.

"Ría tay gác ki¿m"

BuÕi tÑi hôm phóng viên £nh cça Washington Post ¿n g·p, 0x80 ã quy¿t Ënh s½ nói th­t vÛi cha h¯n vÁ "nghÁ nghiÇp" th­t sñ cça mình. 0x80 nói r±ng sñ dÑi trá ang g·m nh¥m h¯n të bên trong, và h¯n ã nói toàn bÙ sñ th­t vÛi bÑ, nh°ng v«n không ç can £m à Ñi m·t vÛi m¹. H¯n sã bà s½ gåc ngã và Õ bÇnh khi nghe °ãc mÙt cái tin sét ánh ngang tai nh° v­y.

HYPERLINK "http://vietnamnet.vn/dataimages/200603/original/images920341_salary_cnn060306.jpg" INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/02.Xam%20nhap%20the%20gioi%20ngam%20Hacker/04.Xam%20nhap%20the%20gioi%20ngam%20Hacker%20(ky%20IV).mht!http://vietnamnet.vn/dataimages/200603/original/images920341_salary_cnn060306.jpg" \* MERGEFORMATINET NguÓn: CNN "Tôi b£o vÛi bÑ là con ã t¡o ra mÙt con sâu, lây nhiÅm r¥t nhiÁu ng°Ýi, sau ó dùng máy tính cça hÍ Ã ki¿m tiÁn. BÑ tôi chÉ l¯c §u và nói: "BÑ chÉ mong con không ph£i vào tù vì viÇc ó. BÑ cing hy vÍng con không phát tán m¥y thé Ói tråy ¿n cho li tr»".

Khi nói nhïng lÝi này, trên m·t 0x80 không còn v» câng cáo và b¥t c§n Ýi nh° nhïng l§n phÏng v¥n tr°Ûc. Thay vì lo ¿n chuyÇn bË b¯t qu£ tang và °a ra tòa, h¯n b¯t §u ngh) ¿n viÇc bÏ "nghÁ" và gia nh­p quân Ùi, không chÉ Ã °ãc sÑng trong mÙt môi tr°Ýng k÷ lu­t và rèn luyÇn, mà còn à có iÁu kiÇn vào hÍc ¡i hÍc miÅn phí. Të xu¥t phát iÃm ó, h¯n có thà m¡ vÁ mÙt t°¡ng lai tí t¿ h¡n, khi vào làm viÇc cho mÙt dñ án công nghÇ thông tin nào ó cça quân Ùi.

"Tôi s½ không còn ph£i ph¥p phÏng không yên nïa", 0x80 nói.

0x80 ã chia s» dñ Ënh này vÛi mÙt vài chi¿n hïu trên m¡ng. NhiÁu k» trong sÑ ó h§u nh° dña d«m hoàn toàn vào 0x80 Ã phát triÃn các ch°¡ng trình botnet và chúng, t¥t nhiên, không muÑn 0x80 dét áo "hoàn l°¡ng". Nh°ng có v» nh° 0x80 ã quy¿t.

"Tôi ã tìm ra °ãc °Ýng i riêng cho mình, v«n giï °ãc chuyên môn và am mê nh°ng v«n có thu nh­p Õn Ënh và °ãc ng°Ýi khác tôn trÍng. Nh°ng quan trÍng nh¥t, tôi s½ có thà thoát ra khÏi cái hÑ en nh§y nhåa này".

(H¿t)

Thiên Ý (Theo Brian Krebs - Washington Post)

Hacker vô gia c°

Thanh HuyÁn

Adrian Lamo ã rành r½ chuyÇn vÍc máy vi tính khi mÛi lên 8 tuÕi... ¿n nay, ã có hàng trm bài vi¿t vÁ h¯n chÉ nh±m à bàn cho ra: Adrian Lamo có tÙi hay vô tÙi khi Ùt nh­p vào các m¡ng máy tính...

Thích lang thang

Adrian Lamo là con trai lÛn cça mÙt công chéc bình th°Ýng có ba con sÑng t¡i San Francisco, bang California, Mù. Lamo tìm ra cách ghi °ãc dï liÇu lên... c£ hai m·t cça chi¿c )a mÁm khi mÛi lên 8 tuÕi!

Nm Lamo 17 tuÕi, cha m¹ h¯n chuyÃn të San Francisco ¿n sÑng ß ngo¡i ô Sacramento. Do Sacramento quá yên t)nh mà Lamo l¡i "nghiÇn" sñ sôi Ùng nên h¯n không i theo gia ình cça mình. Báo giÛi ß Mù gÍi Lamo là hacker vô gia c° (homeless hacker) vì h¯n dành ph§n lÛn thÝi gian à lang thang ngoài °Ýng. êm xuÑng h¯n vào nhïng cn nhà hoang và ngç ß ó.

Lamo ã theo nhïng chuy¿n xe buýt °Ýng dài (lo¡i ph°¡ng tiÇn di chuyÃn công cÙng duy nh¥t không kiÃm tra gi¥y tÝ tùy thân) ¿n New York, Washington DC, Philadelphia, Pittsburgh, Ohio, California,... vÛi chi¿c laptop hiÇu Toshiba ã dùng suÑt 8 nm qua, mÙt cái mÁn, mÙt bÙ qu§n áo và kh©u Taser (Taser Stun gun - mÙt lo¡i súng b¯n xung iÇn khi c§n tñ vÇ) Ã mß các khóa iÇn và thÉnh tho£ng "b¯n" thí vào các máy bán hàng tñ Ùng xem chúng có nh£ Ó n hay tiÁn l» ra không. Lamo th°Ýng dëng chân ß nhïng cía hàng thuÙc hÇ thÑng Kinko (g§n nh° °ãc mß ß t¥t c£ các thành phÑ t¡i Mù), vì ngoài viÇc cung c¥p dËch vå scan, in ¥n hÇ thÑng này còn còn cho phép truy c­p Internet không dây. T¡i ó, Lamo thñc hiÇn các chuy¿n "du thám" £o, th­m chí ngç qua êm khi tìm không ra ch× ngç.

Lamo sÑng dña vào kho£n tiÁn ti¿t kiÇm khiêm tÑn mà h¯n tích liy °ãc khi làm viÇc cho mÙt sÑ tÕ chéc phi lãi nhu­n. Lamo ã tëng làm t° v¥n b£o m­t m¡ng cho hãng Levi Strauss trong 3 tháng. ây là công ty duy nh¥t tr£ công cho Lamo trong viÇc b£o m­t, dña trên lý lËch cça Lamo. ôi khi, Lamo ghé thm mÙt vài ng°Ýi b¡n và Õi viÇc °ãc hÍ ãi n, giúp ch× ngç vÛi chuyÇn cho hÍ tham gia nhïng cuÙc phiêu l°u: i xuyên qua hÇ thÑng cÑng ng§m cça thành phÑ ho·c nhïng n¡i "kín cÕng, cao t°Ýng". Lamo th°Ýng cùng b¡n bè mình ch¡i "dumpster diving" (dò tìm các m­t kh©u truy c­p m¡ng máy tính mà nhïng nhân viên vn phòng vô ý ghi l¡i trên các m©u gi¥y nh¯c viÇc ho·c sÕ tay). Nhïng thông tin trên các m©u gi¥y vån này chính là chìa khoá cho nhïng hacker nh° Lamo chui vào các m¡ng máy tính.

Lamo tâm sñ: ¿n mÙt n¡i xa l¡, không tiÁn, không có ng°Ýi quen nh°ng tìm ra cách v°ãt qua t¥t c£ các khó khm em l¡i mÙt niÁm vui khó t£. Nó giÑng nh° khi Ùt nh­p vào mÙt m¡ng máy tính mà tr°Ûc ó mình ch³ng có thông tin nào vÁ nó.

MÙt "thiên tài"?

Có thà s½ có nhiÁu hacker ng¡c nhiên khi bi¿t Lamo ch°a hÁ qua lÛp ào t¡o nào vÁ tin hÍc. H¯n hoàn toàn không bi¿t gì vÁ các ngôn ngï máy tính nh°: Java, C++,... không bi¿t t­n dång nhïng l× hÕng n±m bên trong các dòng mã lÇnh cça hÇ thÑng. Lamo chÉ sí dång trình duyÇt Web. Qua Internet Explorer, Lamo dò trên trang chç cça mÙt công ty, låc nhïng m£ng thông tin mà công ty ó ph£i thuê bên ngoài thñc hiÇn (outsource) nh°: qu£ng cáo, kênh phân phÑi, b£ng l°¡ng. Nhïng công ty °ãc thuê thñc hiÇn các công viÇc này th°Ýng k¿t nÑi vÛi c¡ sß dï liÇu cça bên thuê. Do viÇc b£o m­t cça các máy chç trung gian (proxy server) - iÃm k¿t nÑi giïa hai hÇ thÑng m¡ng - th°Ýng r¥t kém, ôi khi, m­t kh©u r¥t ¡n gi£n nên viÇc phát hiÇn nhïng iÃm y¿u này c§n sñ kiên nh«n h¡n tài nng.

Tuy nhiên Lamo khá may m¯n. T¡i mÙt cía hàng thuÙc hÇ thÑng Kinko ß thành phÑ San Francisco, Lamo chÉ l°Ût vài ngón tay trên bàn phím ã lôi ra °ãc mÙt b£n Ó n°Ûc Mù, vÛi hàng trm °Ýng k» ngang dÍc có nhiÁu màu khác nhau cùng các ký hiÇu và nhïng ký tñ li ti, cung c¥p chi ti¿t vÁ h¡ t§ng Internet (các m¡ng cáp ng§m, các bÙ l·p tín hiÇu, tr¡m vÇ tinh m·t ¥t, các §u nÑi, thi¿t bË §u cuÑi, và hàng chåc tuy¿n cáp xuyên ¡i d°¡ng,...) ß Mù. File PDF có kích th°Ûc chëng 1 MB, ß góc d°Ûi bên ph£i ghi mÙt dòng chï Ï: "Nghiêm c¥m sao chép" cùng vÛi c£nh báo: "Không °ãc c¥p cho nhïng cá nhân không °ãc phép tham kh£o", kèm mÙt dòng c£nh báo khác ch¡y dÍc theo mép t¥m b£n Ó: "WorldCom Restricted". WorldCom chÉ là mÙt trong nhïng måc tiêu mà Lamo ã xâm nh­p. AOL, Excite@Home, Yahoo !, và Microsoft Áu ã tëng bË Lamo Ùt nh­p.

Các éng dång Web th°Ýng bË chuyên gia b£o m­t bÏ qua. ôi khi, iÃm y¿u cça hÇ thÑng l¡i n±m ß måc Danh sách kiÃm soát truy c­p (Access Control List - ACL). Do viÇc thi¿t l­p c¥u hình ch°a chu©n nên b¥t kó ai trên Internet cing có thà truy c­p vào éng dång. Cing có khi, nhïng ng°Ýi qu£n trË m¡ng vô tình à lÙ các trang Web bí m­t và ngá r±ng ch³ng ai gõ nh§m Ëa chÉ URL à tìm ra. Lamo chính là b­c th§y trong viÇc dò tìm các trang Web ©n này. Lamo có thà d«n b¡n vào Website cça Apple Computer à xem nhïng "thông tin Ùc quyÁn" vÁ chip. Lamo còn bi¿t mÙt Ëa chÉ ·c biÇt cça tÝ Journal of Commerce danh ti¿ng, à të ó l§n ra công cå qu£n trË cho phép c¥p quyÁn truy nh­p vào c¡ sß dï liÇu các thuê bao trñc tuy¿n cça tÝ báo này, xem thông tin vÁ tên tuÕi khách hàng, Ëa chÉ, m­t kh©u hÙp th° iÇn tí cça hÍ. Th°Ýng thì sÑ các th» tín dång không °ãc hiÃn thË song Lamo v­n dång mÙt lý thuy¿t do h¯n tñ phát triÃn: "mÙt trong nm password thí nghiÇm có thà mß °ãc tài kho£n email cça b¥t kó ai trong danh sách".

Lamo cing là k» phát hiÇn mÙt máy chç cça Microsoft chéa nhïng thông tin vÁ dï liÇu thanh toán, v­n chuyÃn, mua bán cça nhïng khách hàng ã mua s£n ph©m qua m¡ng. VÛi Yahoo, Lamo sí dång mÙt công cå xu¥t b£n trñc tuy¿n à sía mÙt bài vi¿t trên trang tin téc cça hãng này. Lamo cing ã tìm ra "chìa khóa" vào WorldCom të các proxy server không °ãc b£o m­t. Trong mÙt phiên ho¡t Ùng thông th°Ýng, proxy server là c× máy chuyên dång °ãc ·t giïa mÙt m¡ng cåc bÙ (LAN) và th¿ giÛi bên ngoài, chuyÃn các yêu c§u truy c­p Web cça ng°Ýi trong m¡ng cåc bÙ ra Internet và th°Ýng l°u l¡i các k¿t qu£ nh±m tng tÑc Ù cho nhïng l§n truy c­p sau khi vào cùng mÙt Ëa chÉ Web. áng l°u ý là các nhà qu£n trË m¡ng th°Ýng r¥t b¥t c©n khi thi¿t l­p c¥u hình cho các proxy server nên ã t¡o iÁu kiÇn cho hacker xâm nh­p vào m¡ng nÙi bÙ. Th­m chí, có nhïng công ty không bi¿t các proxy còn ang. Cing vì v­y, các hacker th°Ýng chui vào nhïng "cía không có khoá" này à l°Ût Web n·c danh. Riêng Lamo thì nh£y h³n vào trong m¡ng nÙi bÙ và thi¿t ·t máy tính cça mình nh° mÙt nút m¡ng cça m¡ng nÙi bÙ này...

(Còn ti¿p kó 2)

(echip.com.vn)

Hacker vô gia c°

(Ti¿p theo và h¿t)

Thanh HuyÁn

Công ?

Khi Á c­p ¿n khía c¡nh ¡o éc, ng°Ýi ta th°Ýng chia các hacker thành ba lo¡i: Mi tr¯ng (nhïng hacker Ùt nh­p vào các m¡ng máy tính à tìm ki¿m nhïng l× hÕng b£o m­t và "vá" chúng ché không khai thác vÛi ý Ó x¥u nên th°Ýng °ãc các công ty thuê làm công viÇc b£o m­t hÇ thÑng m¡ng), Mi en (Ùt nh­p vào các m¡ng máy tính mÙt cách b¥t hãp pháp à ánh c¯p ho·c phá ho¡i), giïa hai lo¡i này là Mi xám (nhïng hacker không phá ho¡i nh°ng thích tìm c£m giác m¡nh thông qua viÇc tñ ý Ùt nh­p vào các hÇ thÑng m¡ng riêng và thñc hiÇn nhïng cuÙc kiÃm tra an ninh b£o m­t không ai mÝi, rÓi làm mÙt sÑ Ùng tác chéng tÏ m¡ng ã bË xâm nh­p nh° à l¡i thông tin cá nhân). Hacker mi xám th°Ýng tñ cho mình là nhïng Ùi viên dân phòng , có tinh th§n c£nh giác cao, luôn giúp á các công ty tìm ra l× hÕng cça hÇ thÑng. Tuy nhiên ranh giÛi giïa sñ vô t° và vå lãi th°Ýng r¥t mÏng manh và ó chính là môi tr°Ýng mà Lamo thích nh¥t.

Thông báo vÛi công ty vëa bË mình Ùt nh­p vào hÇ thÑng là cách mà Lamo th°Ýng chÍn. Worldcom ã tëng gíi th° c£m ¡n Lamo khi h¯n không ánh c¯p hàng triÇu séc thanh toán nh¡y c£m, th­m chí sau ó, Lamo còn dành h³n mÙt buÕi à mô t£ cuÙc Ùt nh­p gíi cho lãnh ¡o Worldcom. Excite@Home cing ã tëng c£m ¡n Lamo khi h¯n lÍt qua mÙt proxy server à vào Web nÙi bÙ cça hãng này, tñ ghi tên mình vào hÇ thÑng. Sau khi tìm ra cách truy nh­p vào tëng b£n ghi chép vÁ hàng triÇu thuê bao trñc tuy¿n, Lamo )nh ¡c b°Ûc vào trå sß cça công ty Excite@Home t¡i Redwood City, California, trñc ti¿p thông báo trñc ti¿p cho qu£n trË m¡ng, ß l¡i giúp hÍ kh¯c phåc l× hÕng rÓi mÛi i...

Và tÙi...

Tuy nhiên viÇc Ùt nh­p vào hÇ thÑng m¡ng cça tòa so¡n tÝ báo The New York Times hÓi tháng 2-2002 thì khác, không nhïng Lamo không °ãc ai cám ¡n mà còn bË °a vô tù... Không tìm °ãc gì ß các server tin téc, Lamo t­p trung Ùt vào m¡ng công ty, gíi các email thí nghiÇm tÛi hÙp th° tñ Ùng tr£ lÝi cça tÝ The New York Times à lÍc ra các Ëa chÉ IP và... tình cÝ chi °ãc vào mÙt m¡ng c¥p d°Ûi - có quyÁn iÁu khiÃn CSDL chéa nhïng dï liÇu quan trÍng vÁ h¡n 3000 cÙng tác viên thuÙc trang Op-Ed cça New York Times (chuyên trang báo ·c biÇt vÛi nhïng bài bình lu­n sâu s¯c vÁ nhiÁu v¥n Á mà ôi lúc khá nh¡y c£m).

Trong danh sách mà Lamo tìm °ãc, có c£ nhïng nhân v­t nh° cñu TÕng thÑng Mù Jimmy Carter, Thanh tra vi khí cça Liên hãp quÑc Richard Buttler, cñu Giám Ñc Cåc An ninh quÑc gia Bobby Inman, các ngôi sao iÇn £nh nh° Robert Redford và Rush Limbaugh,... R¥t nhiÁu nhân v­t trong danh sách này có c£ Ëa chÉ và sÑ iÇn tho¡i i kèm nhïng ghi chép vÁ l)nh vñc ho¡t Ùng, thu nh­p cá nhân,... Sau ó, Lamo tñ tñ Ùng °a tên mình vào danh sách. Không chÉ iÁn §y ç hÍ tên, sÑ iÇn tho¡i di Ùng mà còn giÛi thiÇu l)nh vñc chuyên môn à cÙng tác là "chuyên gia xâm nh­p máy tính, b£o m­t quÑc gia, tình báo truyÁn thông".

Sau ó, Lamo gÍi cho phóng viên Kevin Poulsen cça Website SecurityFocus.com, vÑn cing tëng là mÙt hacker, cung c¥p tin này, Ã kiÃm tra l¡i tính chân thñc cça thông tin, Kevin Poulsen ã gÍi cho The New York Times.

The New York Times ã gíi mÙt báo cáo cho Vn phòng Công tÑ Á nghË iÁu tra. C¡ quan này phát hiÇn ra r±ng không nhïng Lamo chÉ °a tên h¯n vào danh sách cÙng tác viên trang Op-Ed mà còn t¡o mÙt sÑ account cho phép truy c­p và sí dång Lexis Nexis (mÙt dËch vå cung c¥p tin téc trñc tuy¿n có thu phí cça The New York Times). T¡i Toà, Công tÑ viên cho bi¿t, trong nhiÁu tháng, Lamo ã sí dång các account kà trên à thñc hiÇn h¡n 3.000 l§n tìm ki¿m trên Lexis Nexis, mÙt vài cuÙc tìm ki¿m là dò tìm các thông tin vÁ chính h¯n. Lamo cing ã tìm t¥t c£ nhïng biÃn kiÃm soát °ãc c¥p cho nhïng chi¿c xe mà FBI ng ký à ho¡t Ùng bí m­t. Theo FBI, Lamo ã sí dång h¡n 300.000USD phí dËch vå Lexis Nexis. ây rõ ràng là mÙt kho£n c°Ûc có tính trëng ph¡t. Trên thñc t¿, n¿u Lamo chÉ ng ký mÙt account không h¡n ch¿ quyÁn truy c­p vÛi Lexis-Nexis trong ba tháng thì h¯n chÉ xài chùa kho£ng 1.500USD. Tuy nhiên Ñi vÛi The New York Times, thiÇt h¡i do Lamo gây ra không ph£i là tiÁn b¡c. ¡i diÇn The New York Times tuyên bÑ: "ó là mÙt vi ph¡m có tính thách théc nghiêm trÍng".

Không ai c£m th¥y bi¿t ¡n Lamo vÁ viÇc Lamo ã chÉ ra nh°ãc iÃm trong c¡ sß dï liÇu Op-Ed. MÙt sÑ ng°Ýi còn xem hành vi ó là thç o¡n nham hiÃm: mÙt n× lñc nh±m chuyÃn sñ chú ý khÏi trò n c¯p. Khi FBI công bÑ k¿t lu­n iÁu tra, The New York Times ã quy¿t Ënh tính thiÇt h¡i vÛi méc h¡n 300.000 USD.

Mi mà Lamo Ùi xám ß méc nào v«n còn ang là mÙt nÙi dung gây nhiÁu tranh cãi. Trên Website Slashdot, n¡i t­p trung nhiÁu chuyên gia b£o m­t máy tính, các thành viên ã dành nhiÁu ngày à tranh lu­n vÛi nhau vÁ viÇc nên chÍn të nào Á sát hãp nh¥t vÛi hành vi hack cça Lamo. LiÇu ó có ph£i là mÙt hành Ùng thñc sñ tÑt, giÑng nh° i qua mÙt chi¿c ô tô không khóa, chéa §y tiÁn và lên ti¿ng c£nh báo cho ng°Ýi chç? Hay chÉ là trò ùa giÑng nh° mß cía vào nhà hàng xóm và à l¡i trên gi°Ýng mÙt m©u gi¥y báo vÛi chç nhà r±ng cía sÕ phòng t¯m nhà hÍ ch°a óng?

Nhïng vå Ùt nh­p khi¿n Lamo trß thành nÕi ti¿ng trong giÛi hacker. Bên c¡nh nhïng k» çng hÙ Lamo có không ít ng°Ýi phê phán. HÍ cho r±ng viÇc Lamo thông báo vÛi báo chí vÁ các vå Ùt nh­p ch³ng qua chÉ nh±m thÏa mãn cái tôi. Th­m chí mÙt hacker có tên là Mike Sanders còn cho r±ng thñc ra, Lamo không phát hiÇn °ãc l× hÕng cça Excite@Home mà chÉ tÏ ra tí t¿ Ã l¥y ti¿ng... th¡m.

INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/03.Hacker%20vo%20gia%20cu/02.Hacker%20vo%20gia%20cu%202.mht!http://www.echip.com.vn/echiproot/images/2004/so122/hacker2.jpg" \* MERGEFORMATINET

Lamo (bìa trái) và hai hacker àn anh là Kevin Mitnick và Kevin Poulsen

Có thà Lamo là ng°Ýi tÑt khi khác nhiÁu hacker, không bao giÝ Lamo dùng tên gi£ và không hÁ gi¥u kín danh tính cça mình. N¿u công ty °ãc h¯n thông báo vÁ iÃm y¿u hÇ thÑng tÏ ra c§n, Lamo giúp hÍ trám l× hÕng b£o m­t ó hoàn toàn miÅn phí. Tuy Lamo có công vÛi mÙt sÑ công ty nh°ng vå The New York Times ã hé ra mÙt iÁu: Ng°Ýi ta có thà nhìn hành Ùng cça h¯n theo h°Ûng khác. Tr°Ûc Tòa, Lamo bË cáo buÙc ã xâm nh­p vào hÇ thÑng máy tính cça The New York Times vào ngày 26-2-2002 à l¥y c¯p các thông tin cá nhân trong ó có sÑ iÇn tho¡i và sÑ an sinh xã hÙi cça h¡n 3.000 cÙng tác viên cça tÝ báo này. Lamo còn bË cáo buÙc ã sí dång các tên truy nh­p và m­t kh©u gi£ à thñc hiÇn h¡n 3.000 tra céu t¡i c¡ sß dï liÇu trñc tuy¿n LexisNexis, gây tÕn th¥t cho Times 300.000 USD.

Tháng 9-2003, Tòa cho Lamo t¡i ngo¡i sau khi ã nÙp kho£n tiÁn b£o lãnh là 250.000 USD và chËu bË qu£n thúc 6 tháng ß nhà cha m¹ h¯n t¡i Sacramento trong khi chÝ phán quy¿t chính théc. Theo bÙ lu­t liên bang Mù Computer Fraud and Abuse Act , ban hành nm 1986, Lamo có thà s½ bË ph¡t 15 nm tù và ph£i tr£ kho£n tiÁn ph¡t lên tÛi 500.000 USD. Ch³ng bi¿t anh chàng hacker có rút ra °ãc gì të chuyÇn này không.

(echip.com.vn)

Nhïng cuÙc Ñi tho¡i vÛi rookie-1-.

(Tác gi£: conmale)

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£ nng 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£ nng 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ù nng 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 cing 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 nm 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ó cing 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 thm anh bao nhiêu tuÕi à tiÇn x°ng hô. N¿u anh không muÑn nói cing 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£ nng cça em). ây là mÙt kù nng 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£ nng 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 cng 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£ nng: 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 ó cing 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 nng 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" nhn nhó:

"Gì mà khó khn, 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 ia, 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" hm 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. Nn 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 nm 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 cing 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 hm 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ì cing C: rÓi D: và b¥y nhiêu software mà ai cing 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 cing 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 nm 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 cing 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ó khn 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 cing ã 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 nm 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 ln 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 cing 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£ nng 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£ nng này cing 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 cing 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 nm 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.

16/06/2005

Chú thích:

-1- rookie chÉ cho nhïng ng°Ýi tr» tuÕi, bÓng bÙt và thi¿u kinh nghiÇm.

Conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie ph§n 2

5. NÁn t£ng

G§n mÙt tu§n lÅ trôi qua, tôi quá b­n bËu và không có chút thÝi gian à log vào YIM. ChiÁu hôm nay, mÙt chiÁu thé Nm yên t)nh mÙt cách hi¿m hoi, "thç tr°ßng" thì nghÉ bÇnh, m¥y tay làm viÇc trong nhóm thì i tham dñ khóa hu¥n luyÇn. ChÉ còn m×i mình tôi ß l¡i "trå". H¡n mÙt giÝ nïa mÛi ¿n giÝ tan sß nh°ng tôi không thà làm gì h¡n vÛi mÛ công viÇc dang dß (vì ph£i ãi thông tin të mÙt sÑ ph§n hành khác). Chãt nhÛ ¿n "cuti" và l§n chuyÇn trò vÛi cu c­u g§n mÙt tu§n lÅ tr°Ûc ây, tôi quy¿t Ënh log vào YIM.

Chà, có hàng Ñng offline messages và qu£ th­t, trong mÛ này có ¿n nm sáu cái cça "cuti". Tôi xem xét tëng message và thong th£ hÓi âm cho tëng ng°Ýi. Khi Íc ¿n các messages cça "cuti" tôi phá lên c°Ýi nhiÁu l§n vì chúng có nÙi dung r¥t ngô nghê nh° sau:

"Anh 'già khó tánh' có ó không? Em ã nghe theo anh và in ra ph§n nÙi dung chat à 'ngâm kíu' nh°ng em th¥y sao mà khó quá. Anh có ó không?

Ch¯c h³n "cuti" ngh) r±ng tôi cÑ tình "núp" ß tình tr¡ng "invisible" và cu c­u ã xác nh­n tôi là "anh già khó tánh". Tôi l©m b©m: "Hë, l¡i 'khó quá' mà ch³ng có thêm mÙt dòng gi£i thích t¡i sao khó", nh°ng l¡i c°Ýi mÙt mình vì ngh) r±ng tôi h¡i ngÛ ng©n khi cho r±ng "cuti" ã b¯t §u có thói quen trình bày có "§u ia" sau mÙt l§n chat ng¯n ngçi vÛi tôi.

MÙt thông iÇp khác cing không kém ph§n "hài h°Ûc" të "cuti":

"Anh 'già khó tánh' ¡i? v­y 'hack' là mÙt hành Ùng x£y ra sau khi thâm nh­p °ãc? N¿u v­y em không c§n bi¿t 'hack' mà chÉ c§n bi¿t cách thâm nh­p là ç. Bày em cách thâm nh­p i anh già khó tánh ¡i".

Ngay sau thông iÇp trên là thông iÇp nh° sau (tính theo thÝi gian gßi) cça "cuti":

"Anh già khó tánh núp âu kù v­y? Cho em hÏi cái này mÙt tí i. N¿u em muÑn 'hack' vào mÙt máy khác, em ph£i thâm nh­p nó tr°Ûc rÓi mÛi 'hack' nó? N¿u em ã thâm nh­p nó °ãc rÓi có ngh)a là là ã 'hack' thành công rÓi còn gì nïa mà... hack trÝi? Ch¿t em rÓi, bË t©u ho£ rÓi, hu hu hu."

L§n này tôi b­t c°Ýi th­t to vì tính ngÙ ngh)nh cça "cuti". Qu£ th­t cu c­u ang i vào con °Ýng "t©u ho£" bßi vì cé bË "ám" mãi cái khái niÇm sai l¡c vÁ 'hack'. Tôi quy¿t Ënh gßi "cuti" mÙt thông iÇp th¿ này:

"Hello cuti, anh không trÑn mà ít vào YIM thôi. Em b¯t §u có chiÁu h°Ûng 't©u ho£' th­t rÓi ó. Anh ã b£o thâm nh­p không ph£i là 'hack' c¡ mà. Thâm nh­p là b°Ûc x£y ra tr°Ûc khi 'hack'. Em cé bË ám £nh mãi khái niÇm 'thâm nh­p' là 'hack'. ëng cÑ quá mà hÏng h¿t."

Vài phút sau, "cuti" dÙi cho tôi hàng lo¡t thông iÇp trên YIM, toàn là nhïng chuyÇn cu c­u xuýt xoa vÁ cái khái niÇm 'hack' tôi °a ra làm c­u m¥t n, m¥t ngç. Tôi áp b±ng mÙt thông iÇp ng¯n gÍn:

"Thong th£ nào cuti. Anh em mình thí 'bàn' mÙt ví då cå thà nào ó có l½ dÅ chËu h¡n h£?".

Không ãi "cuti" tr£ lÝi, tôi gßi ti¿p mÙt thông iÇp khác:

"Này, ví då ß nhà em có hai máy ch¡y Windows ch³ng h¡n. B±ng cách nào ó, em truy c­p máy B të máy A (là máy cça em). Tuy nhiên, sau khi truy c­p vào máy B, em chÉ duyÇt máy này mà không thay Õi gì c£, không t¡o thêm file mÛi, cing ch³ng delete file ci... Nh° th¿ có gÍi là 'hack' không?"

"cuti" tr£ lÝi nhanh nh° iÇn:

"Anh n gian quá, làm nh° th¿ thì chÉ là truy c­p thôi chÛ hack hi¿c gì anh. Em bi¿t tên ng°Ýi dùng và m­t kh©u cça máy B thì em vào chÛ âu có gì v¥t v£ âu mà gÍi là 'hack'?"

Tôi th¥y thêm mÙt nhìn nh­n mÛi vÁ cái gÍi là 'hack' theo suy ngh) cça "cuti", nên tôi hÏi l¡i:

"À, ra th¿. V­y, n¿u em bi¿t tên ng°Ýi dùng và m­t kh©u cça mÙt máy nào ó và dùng chúng à truy c­p vào máy này thì chÉ là... truy c­p? N¿u em không hÁ bi¿t tên ng°Ýi dùng và m­t kh©u nh°ng b±ng cách nào ó em có thà truy c­p nó thì gÍi là... 'hack'?"

"cuti" c°Ýi hÛn hß:

"Hi hi, úng v­y ó anh! ChÉ ¡n gi£n nh° th¿ thôi. Còn cái khái niÇm qu÷ quái cça anh làm em iên §u chÛ ch³ng i tÛi âu c£."

Tôi c°Ýi, hÏi ti¿p:

"Th¿, iÃm khác nhau giïa viÇc:

a. ai ó cho em tên ng°Ýi dùng và m­t kh©u à truy c­p ¿n máy X nào ó. Ng°Ýi này không ph£i là chç nhân cça máy.

b. em tñ dùng cách nào ó (oán mò, brute force...) à rÑt cuÙc tìm ra °ãc tên ng°Ýi dùng và m­t kh©u cing à truy c­p ¿n máy X này.

a và b khác nhau ch× nào?"

"cuti" im l·ng hÓi lâu rÓi råt rè tr£ lÝi:

"Hình nh° anh l¡i hÏi m¹o em nïa hay sao ó ph£i không? Em th¥y rõ iÃm khác nhau duy nh¥t là tr°Ýng hãp b cñc h¡n tr°Ýng hãp a và ôi khi không ¡t °ãc tr°Ýng hãp b nïa là ±ng khác."

Tôi tr¥n an "cuti":

"Không, anh ch°a hÁ 'hÏi m¹o' em bao giÝ, câu nào anh hÏi cing Áu là hÏi th­t c£. V­y, c£ a và b ß trên có °ãc gÍi là 'hack' hay không?"

"cuti" áp ngay, không suy ngh):

"T¥t nhiên b là 'hack', a là 'truy c­p'."

Tôi c°Ýi phá lên và hÏi thêm:

"T¡i sao a là 'truy c­p' mà b là 'hack' v­y cuti?"

"cuti" có v» gi­n d×i, áp:

"Anh héa là mình s½ bàn mÙt ví då cå thà mà l¡i i hÏi em lng nhng nh° th¿ này thì... o£i quá :(. T¥t nhiên b là 'hack' vì mình ph£i mò m«m, chËu khó, m¥t thÝi gian à tìm ra tên ng°Ýi dùng và m­t kh©u à vào °ãc máy X chÛ sao nïa anh?"

Tôi v«n kiên trì "khai thác" suy ngh) cça "cuti":

"V­y n¿u mÙt tên ¡o chích muÑn 'thâm nh­p' vào dinh c¡ cça ông phú ông ch³ng h¡n. Có hai tr°Ýng hãp x£y ra vÝi tên ¡o chích này:

a. h¯n có chìa khoá mß cía vào.

b. h¯n dùng cÍng dây thép à ngoáy l× khoá.

C£ hai tr°Ýng hãp Áu t¡o ra iÁu kiÇn cho tên ¡o chích vào °ãc nhà ông phú ông. ChÉ có cách b khó khÕ h¡n cách a. Tuy nhiên, sau khi tay ¡o chích vào °ãc trong nhà nh°ng h¯n ch°a 'mó tay' vào món nào cça phú ông mà chÉ 'nghía' xung quanh thì h¯n 'hack' ch°a? :)"

"cuti" reo lên:

"Á à, em hiÃu rÓi. Ý anh 'thâm nh­p' b±ng cách này hay cách khác chÉ là 'thâm nh­p'. Còn 'hack' thì ph£i Ùng ¿n cái gì ó bên trong môi tr°Ýng mình ã thâm nh­p, ph£i không anh già khó tánh? :)."

Tôi c°Ýi áp:

"úng v­y. Ngay c£ tr°Ýng hãp trên thay tên ¡o chích b±ng th±ng cháu cça phú ông và phú ông °a h³n chìa khoá cho nó vào dinh thñ. N¿u nó ã vào °ãc dinh thñ (b±ng chìa khoá h³n hòi) và chÉ quan sát mà không 'mó' tay vào b¥t cé thé Ó ¡t gì trong nhà thì có ngh)a nó ch°a 'hack' ông phú ông v­y :). Nói mÙt cách khác, 'thâm nh­p' mÙt cách hãp lÇ hay b¥t hãp lÇ v«n là 'thâm nh­p'; sau khi 'thâm nh­p' rÓi, 'hack' hay không là mÙt hành Ùng khác. Anh muÑn mình thông qua khái niÇm này."

"cuti" c£m thán:

"TrÝi ¥t, tr°Ûc giÝ em cé tin t°ßng r±ng hÅ mình thâm nh­p °ãc vào mÙt hÇ thÑng thì có ngh)a là mình ã 'hack'. Nh°ng nói theo 'Ënh ngh)a' cça anh thì qu£ th­t 'hack' là mÙt hành Ùng thay Õi thái Ù làm viÇc cça hÇ thÑng. Mình không 'mó' gì c£ thì ch³ng có gì thay Õi --> no hack. Thú vË th­t, thú vË th­t."

"cuti" d°Ýng nh° nh­n ra iÁu gì ó bèn nói ti¿p:

"A, em bi¿t ý anh rÓi. Anh áo à th­t. Anh nói là anh s½ bày em cách 'hack' có ngh)a là anh không Ùng ¿n chuyÇn 'thâm nh­p', có ngh)a là m·c em muÑn 'thâm nh­p' ra sao thì tuó rÓi 'hack' th¿ nào thì anh chÉ v½ sau, ph£i không?"

Tôi c°Ýi phá lên:

"Ha ha ha, ó là em tñ suy diÅn ó nha. Em thích nh° v­y thì cing tÑt!"

"cuti" phång phËu:

"TrÝi ¡i, em bË lëa mÙt qu£ au th­t :(. 'thâm nh­p' mÛi khó chÛ, ã 'thâm nh­p' °ãc rÓi muÑn 'hack' sao l¡i không °ãc?"

Tôi nghiêm giÍng:

"Em th­t sñ tin r±ng 'thâm nh­p' khó h¡n 'hack' sao? anh em mình thí ánh cuÙc mÙt phát xem?"

"cuti" th­n trÍng h¡n tr°Ûc nh°ng câu tr£ lÝi cça cu c­u không d¥u °ãc sñ tñ tin vÛi ý ki¿n cça mình:

"Ùm... em tin r±ng 'thâm nh­p' mÛi th­t là khó, 'hack' cing khó nh°ng không 'thâm nh­p' °ãc thì làm sao mà 'hack'?, ph£i v­y không anh? N¿u anh chéng minh °ãc 'hack' khó h¡n 'thâm nh­p' ho·c khó b±ng 'thâm nh­p' thì anh nói gì em cing nghe h¿t!"

Tôi c°Ýi, áp lÝi "cuti":

"°ãc rÓi, héa ó nha 'anh nói gì em cing nghe h¿t!'. Anh cho em IP cça mÙt Linux server, anh cho em bi¿t luôn ó là Linux gì, ch¡y kernel nào, dùng filesystem nào. Anh cho em luôn tên ng°Ýi dùng, m­t kh©u và cÕng SSH à log vào. Em khÏi lo chuyÇn 'thâm nh­p' i. Bây giÝ anh cho em mÙt ngày à 'hack' cái server ó à làm sao trang chç index.html có dòng "cuti was here and won the bet to the grumpy old man!". Anh không cho em bi¿t web server này ch¡y b±ng ch°¡ng trình nào, hÓ s¡ c¥u hình nó n±m ß âu... Tùy em ph£i tìm hiÃu. Em thí 'hack' xem dÅ hay khó!"

"cuti" rú lên và tuôn ra hàng tràng ca c©m:

"Tiêu em rÓi anh già khó tánh ¡i! Anh bi¿t em không rành Linux mà l¡i mang Linux ra b¯t em 'hack' thì em thua là cái ch¯c :(. Lúc tr°Ûc em có nghe m¥y éa b¡n tán kháo là Linux m¡nh l¯m. Em cing cài thí. M¥t m¥y ngày trÝi b§m d­p mÛi xong. RÑt cuÙc cing vào °ãc Linux nh°ng chÉ th¥y màn hình en thùi vÛi dòng chï màu tr¯ng, y nh° m¥y cái cía sÕ DOS cÕ l× s), chán nh° con gián. Em ch£ th¥y m¡nh ß âu mà chÉ th¥y chán thôi. Sau ó chÉ tháo bÏ Linux thôi mà v¥t v£ quá trÝi, thi¿u iÁu m¥t luôn cái partition Windows cça em. Thôi thôi, em chËu thua Ù rÓi ó."

Tôi nh­n th¥y cái tính thi¿u kiên trì, thi¿u ngÍn ngành cça 'cuti' mÙt l§n nïa thà hiÇn rõ trong câu tr£ lÝi trên. Tr§m ngâm vài giây, tôi áp:

"Anh th­t sñ không bi¿t là em không rành Linux bßi vì anh th¥y r±ng, muÑn 'hack' mà không th¡o các hÇ iÁu hành hiÇn thÝi thì không thà 'hack' °ãc. H¡n nïa, Linux là môi tr°Ýng s£n sinh të 'hack' mà ra và nó có mÙt kho tàng công cå à 'hack' theo úng ngh)a cça nó. Qua ph§n tr£ lÝi cça em ß trên, anh có nh­n xét nh° sau:

- em chÉ nghe b¡n tán kháo là Linux m¡nh, em th¥y ç h¥p d«n à b¯t tay vào viÇc cài Linux. ây là mÙt iÁu tÑt. Tuy nhiên, em bË m¥t h³n b°Ûc tham kh£o (chính em tham kh£o chÛ không nghe tán kháo) xem Linux m¡nh ß ch× nào. Bßi th¿ em bË m¥t Ënh h°Ûng ngay khi vào °ãc Linux và th¥y màn hình en, chï tr¯ng.

- Em ch°a tñ ép mình h¡n méc bình th°Ýng à tìm hiÃu xem ±ng sau màn hình en và dòng chï tr¯ng ¥y có nhïng gì lý thú. Anh thëa bi¿t vÛi kh£ nng cça em và sñ thông minh sµn có cça em, em có thà 'vén' °ãc màn hình màu en ó à i vào bên trong và th¥y °ãc nhïng iÁu lý thú và bÕ ích. Nh°ng ti¿c là em ã không ç 'can £m' và 'kiên nh«n' à thñc hiÇn.

Quay vÁ vÛi chuyÇn 'thâm nh­p' và 'hack' em có th¥y r±ng, Ã 'hack' °ãc server mà anh ánh cá vÛi em, em ph£i hiÃu rõ Linux không? V­y, theo em ngh), 'hack' khó hay 'thâm nh­p' khó? 'thâm nh­p' có khó h¡n 'hack' không?"

"cuti" trß nên buÓn bã:

":( Anh nói úng l¯m và nhïng lÝi anh nói còn au h¡n ong chích. Bây giÝ em mÛi th¥y 'thâm nh­p' không dÅ mà 'hack' cing mênh mông quá. N¿u em hiÃu không sai thì anh muÑn nói r±ng: muÑn 'hack' thì ph£i hiÃu rõ måc tiêu mình dñ Ënh 'hack', ph£i không ¡?"

Tôi tr£ lÝi:

"Chính xác!"

"cuti" tr£ lÝi vÛi v» thi¿u ph¥n khích th¥y rõ:

"V­y có ngh)a là tr°Ûc khi em muÑn 'hack' Linux em ph£i thành th¡o Linux, muÑn 'hack' Windows em ph£i thành th¡o Windows. N¿u ch°a thành th¡o thì em ph£i hÍc të §u ¿n cuÑi. Hu hu, v­y ¿n Ýi nào, ki¿p nào em mÛi 'hack' °ãc bây giÝ?"

Tôi áp l¡i mÙt cách ng¯n gÍn:

"Cho ¿n khi nào em có thÃ!"

"cuti" than thß:

"Anh không có cách nào khác sao? Em th¥y trên các diÅn àn bày cách 'hack' ç kiÃu, ç cá. Có nhïng tr°Ýng hãp làm °ãc, có nhïng tr°Ýng hãp thí hoài ch³ng có k¿t qu£. Nh°ng ít ra nhïng tr°Ýng hãp thành công thì cing là cách 'hack' có k¿t qu£ v­y? Nhïng cách này em Íc vào th¥y ù ù, c¡c c¡c nh°ng làm v«n °ãc mà em cing âu c§n ph£i hÍc cho có ngÍn ngành nh° anh nói âu?"

Tôi c°Ýi áp:

"Em nói nh° th¿ là mÙt l§n nïa muÑn sa vào cõi 't©u ho£'. Anh hÏi l¡i, em muÑn 'hack' hay em muÑn 'thâm nh­p'? em muÑn th­t sñ hÍc hÏi hay em chÉ muÑn th¥y k¿t qu£ ngay l­p téc? Nhïng d¡ng bày cách 'hack' mà em th°Ýng th¥y trên các diÅn àn cing giÑng nh° tin téc trên báo chí hàng ngày v­y. Nó nóng hÕi, mÛi toanh sáng nay nh°ng sáng mai nó s½ ci kù, l×i thÝi. Th­t sñ anh nói h¡i quá nh°ng dùng hình £nh nh­t báo à so sánh vÛi các 'chiêu' hack trên các diÅn àn không khác nhau m¥y. Thí ngh) xem, em thâu th­p và trang bË mÍi thé të mÙt bài bày cách 'hack' nào ó. Em s½ có 2 lña chÍn:

- thí 'thâm nh­p' và 'hack' vào chính máy chç nào bË lÕ hÕng (và °ãc dùng làm måc tiêu trong nÙi dung bài chÉ cách 'hack') --> cách này chán phèo vì máy chç ó ã bË nát nh° t°¡ng. Em 'thâm nh­p' Ã xem 'rác' chÛ ch³ng còn gì lý thú.

- thí tìm và 'thâm nh­p' mÙt máy chç nào ó bË lÕ hÕng t°¡ng tñ. Em bË k¹t. K¹t ch× nào? K¹t ß ch× em không bi¿t cách nào à tìm ra mÙt máy chç bË lÕ hÕng t°¡ng tñ bßi vì em thi¿u m¥t nhïng kù nng cn b£n. Cho ¿n khi em tìm ra °ãc mÙt máy chç nào ó °ng ý, có thà máy này ã vá l×i m¥t rÓi.

Ch³ng nhïng th¿, có l¯m tr°Ýng hãp em Íc các bài h°Ûng d«n 'hack' và hoàn toàn m¥t ph°¡ng h°Ûng bßi vì h§u h¿t nhïng ng°Ýi vi¿t các bài này không ph£i vi¿t theo tinh th§n truyÁn ¡t c·n k½ cho ng°Ýi muÑn bi¿t mà dëng l¡i ß d¡ng 'tóm l°ãt' l¡i nhïng gì hÍ tr£i qua. ó là ch°a kà nhïng tr°Ýng hãp 'tam sao th¥t bÕn', ng°Ýi thé nh¥t Íc, thí và làm rÓi diÅn dËch thành mÙt thé khác. Ng°Ýi thé nhì ti¿p nÑi tinh th§n này... ¿n l°ãt em, em ch³ng còn hiÃu °ãc bao nhiêu. iÁu này cing ph£i bßi vì ch³ng ai có thà vi¿t mÙt bài h°Ûng d«n i të chuyÇn cn b£n nh¥t ¿n chuyÇn cao c¥p nh¥t c£. Nhïng ki¿n théc cn b£n c§n có à 'hành Ùng' là do b£n thân mình t¡o dñng nên.

Anh th°Ýng th¥y các bài h°Ûng d«n ng§m phÏng Ënh là ng°Ýi Íc ph£i hiÃu r¥t nhiÁu chi ti¿t cn b£n và tñ mình hình dung ra môi tr°Ýng cça máy chç bË 'thâm nh­p'. Thi¿u nÁn t£ng này, ng°Ýi Íc chÉ nh¯m m¯t mà làm theo b°Ûc mÙt, b°Ûc hai, b°Ûc ba rÓi kêu oai oái là... không °ãc."

"cuti" âm liÁu l)nh:

"Chà, anh làm em không còn bång d¡ nào cho chuyÇn hack hi¿c gì nïa. Anh làm cho em c£m th¥y mình ngu ngÑc kinh khçng. Kó này ch¯c em bÏ h¿t, không thèm hÍc tin nïa."

Tôi oán ch¯c "cuti" nói d×i, bèn hÏi tÛi:

"V­y lý do gì làm em quy¿t Ënh theo hÍc ngành tin v­y?"

"cuti" hm hß:

"Anh cing trong ngành, anh bi¿t mà. Ai theo ngành tin, giÏi ngành tin thì ch¯c ch¯n s½ 'c¡m no, bò c°ái', ra °Ýng m¥y '»m' chen nhau ch¡y theo :)".

À, ra th¿, l¡i thêm mÙt iÃm 'nhéc nhÑi' trong suy ngh) cça "cuti", mÙt lý do m¡nh m½ Ã "cuti" chÍn ngành tin. Tôi áp:

"Cé cho ngành tin có 'phép m§u' nh° th¿ i. Em thí tính s¡ qua xem m×i nm có bao nhiêu sinh viên tÑt nghiÇp ngành tin và có bao nhiêu ng°Ýi °ãc nh­n làm trong ngành tin, có bao nhiêu ng°Ýi °ãc ß vË th¿ 'c¡m no, bò c°ái'? Hµng khoan tính sÑ l°ãng ng°Ýi hiÇn ã và ang làm trong ngành tin và có kinh nghiÇm h¡n nhiÁu. Të con sÑ này, em thí °Ûc tính xem, vÛi k¿t qu£ 'bình bình, ch³ng h¡n ai' thì em có °ãc bao nhiêu ph§n trm c¡ hÙi ¡t °ãc cái gÍi là 'c¡m no, bò c°ái', ra °Ýng m¥y '»m' chen nhau ch¡y theo'?"

"cuti" im l·ng r¥t lâu, ph£i ¿n g§n hai phút. Tôi cé ngh) cu c­u bË 'rÛt m¡ng' nh°ng th­t sñ không ph£i th¿. Cu c­u v«n còn online và có l½ ang ngh) mông lung. Sau ó, "cuti" mÛi tr£ lÝi:

"TrÝi ¡i, anh làm em th­t sñ lo ng¡i và nhåt chí rÓi ó. V­y em ph£i làm sao bây giÝ?".

H³n nhiên là hÓi nãy "cuti" ã nói liÁu "không thèm hÍc tin nïa". Tôi oán ch¯c cu c­u ã hình dung °ãc "con °Ýng chông gai" tr°Ûc m¯t. ¿n lúc này tôi mÛi góp ý "cuti" cú chót mÙt cách nghiêm túc:

"N¿u em th­t sñ muÑn hÏi ý ki¿n anh thì th¿ này. Hãy t¡m d¹p sang mÙt bên nhïng trò 'thâm nh­p' vô ích kia i. Chuyên chú vào chuyÇn hÍc là chính. Ch³ng nhïng em c§n hiÃu nhïng iÁu mình hÍc °ãc mà còn ph£i tìm tòi thêm à hiÃu rÙng và hiÃu sâu m×i v¥n Á. N¿u em ¡t °ãc k¿t qu£ trên 90%, ch¯c ch¯n em có nhiÁu c¡ hÙi thành công h¡n.

Ngay c£ n¿u em có Ënh h°Ûng theo ngành b£o m­t, em ph£i n¯m r¥t vïng nhïng hÇ thÑng máy em c§n b£o vÇ ho·c c§n 'khai thác'. MÙt khi em n¯m vïng nhïng cái này, tñ nhiên chuyÇn 'b£o vÇ' hay 'khai thác' (thâm nh­p và 'hack') trß nên rõ ràng. N¿u em dành thÝi gian à mày mò nhïng tiÃu x£o nho nhÏ, k¿t qu£ s½ i vÁ âu? ch³ng i vÁ âu c£ vì chúng chÉ là nhïng tiÃu x£o không h¡n, không kém. Cho dù em rành r½ các tiÃu x£o này nh°ng khi ·t em vào mÙt môi tr°Ýng có nhïng thay Õi khác, em s½ không 'khai thác' °ãc vì em bË thi¿u m¥t cn b£n, không n¯m vïng các nguyên t¯c c§n thi¿t."

"cuti" tr£ lÝi mÙt cách buÓn bã:

"úng là tr°Ûc giÝ em phí thÝi gian quá. Ch¯c em ph£i ch¥n chÉnh l¡i. Nh°ng em có mÙt th¯c m¯c. Anh nói là 'muÑn thâm nh­p và hack thì ph£i n¯m vïng hÇ thÑng mình c§n thâm nh­p và hack', iÁu này có ngh)a là em ph£i sí dång các hÇ thÑng này thành th¡o?"

Tôi áp:

"T¥t nhiên rÓi. Theo anh, 'hacker' là mÙt 'user' có ki¿n théc r¥t qu£ng bác. Không nhïng anh ta (ho·c cô ta) n¯m vïng cách sí dång hÇ thÑng (trên bình diÇn mÙt user) mà còn có kh£ nng phân tích và th¥u hiÃu c¡ ch¿ làm viÇc cça hÇ thÑng. Nói mÙt cách nôm na, 'user' chÉ c§n bi¿t nh¥n mÙt nút thì có k¿t qu£ gì ó còn 'hacker' thì ch³ng nhïng ph£i bi¿t nh° th¿ mà còn bi¿t °ãc hành Ùng nh¥n nút ¥y ã t¡o ra bi¿n cÑ gì, bi¿n cÑ này tác Ùng th¿ nào ¿n hÇ thÑng, nhïng tác Ùng này t¡i sao hãp lÇ, nhïng tác Ùng này s½ không °ãc xem là hãp lÇ trong nhïng tình tr¡ng nào.... và h¡n h¿t, làm sao à iÁu chÉnh cho tác Ùng ¿n nút này luôn luôn hãp lÇ (trên quan iÃm b£o m­t) ho·c iÁu chÉnh làm sao cho tác Ùng trß nên b¥t hãp lÇ (trên quan iÃm khai thác).

Ví då ai ó hÏi em 'làm sao dùng NET USE à truy c­p vào mÙt máy khác? (mÙt cách hãp lÇ hay b¥t hãp lÇ)' thì t¥t nhiên à có thà tr£ lÝi câu này, em ph£i n¯m r¥t vïng cách dùng NET USE, sau ó em ph£i hiÃu rõ NET USE tác Ùng ¿n hÇ thÑng th¿ nào và n¿u c§n dùng NET USE à 'thâm nh­p' thì em ph£i bi¿t xác Ënh iÃm y¿u cça hÇ thÑng të các tác Ùng này n±m ß âu. à làm °ãc viÇc này, em ph£i là mÙt 'user' giÏi và thành th¡o Windows.

N¿u em chÉ v½ cho ai ó mÙt dòng lÇnh NET USE Ã thâm nh­p vào hÇ thÑng ch¡y Windows ch³ng h¡n, nh°ng lÇnh này không t¡o k¿t qu£ gì c£. Em ph£i °Ûc oán °ãc các lý do làm cho lÇnh này không thñc hiÇn °ãc. Nh° v­y, 'thâm nh­p' ß ây chÉ dëng l¡i ß ch× gõ dòng lÇnh nh°ng 'hack' ß ây thì i xa h¡n: hiÃu rõ dòng lÇnh làm nhïng gì ±ng sau ó."

"cuti" g­t gù, tr£ lÝi vÛi lo¡i ngôn të r¥t thËnh hành (vÛi hai chï "h¡i bË" °ãc dùng khá sai l¡c vÁ m·t ngï pháp):

"Anh l¥y ví då này... h¡i bË hay ó. V­y, mÙt ng°Ýi thuÙc d¡ng 'script kiddie' nh° ng°Ýi ta th°Ýng nh¯c ¿n thì thuÙc d¡ng 'user' hay 'hacker'?"

Tôi mÉm c°Ýi, tr£ lÝi:

"D¡ng 'script kiddie' theo anh là mÙt 'user' nh°ng không ph£i là mÙt 'user' bình th°Ýng. 'script kiddie' có thà rành mÙt sÑ tiÃu x£o nào ó h¡n 'user' bình th°Ýng nh°ng l¡i kém ki¿n théc h¡n 'user' bình th°Ýng nhiÁu m·t khác. Ch¯c ch¯n 'script kiddie' không ph£i là 'hacker' vì 'hacker' th­t sñ là mÙt ng°Ýi không qu£n ng¡i khó khn à tìm cho mình gi£i áp, tìm cho mình sñ tho£ mãn mÙt cách vïng ch¯c thay vì muÑn th¥y ngay k¿t qu£ (mà không chËu khó khÕ) nh° 'script kiddie'. Nói mÙt cách nôm na: 'hacker' tìm ra và thay Õi thái Ù làm viÇc cça mÙt nút b¥m nào ó, 'script kiddie' chÉ c§n b¥m nút, chÝ k¿t qu£ và không c§n quan tâm chuyÇn gì x£y ra sau khi b¥m nút."

"cuti" rên rÉ:

"Oái, anh ang chíi xéo em ó ph£i không? :). Sao em th¥y em giÑng 'script kiddie' quá. Ch¯c em úng là 'script kiddie' rÓi :(. Hu hu, nh°ng làm sao à tránh không trß thành mÙt 'script kiddie' v­y anh?"

Tôi áp:

"Em hÏi câu này h¡i thëa rÓi ó. Anh tin r±ng qua hai l§n chat vÛi nhau, em ã hiÃu c§n ph£i làm th¿ nào à không trß thành mÙt 'script kiddie'. Có l½ anh không c§n ph£i tÕng k¿t l¡i h£? Thí rèn luyÇn kh£ nng tÕng k¿t i em :). À mà này, l§n tr°Ûc mình có bàn vÁ chuyÇn Íc sách và rèn luyÇn kù nng tÕng k¿t, em ã thí nghiÇm ch°a và th¥y th¿ nào?"

"cuti" c°Ýi g°ãng g¡o:

"Ùm... em có thí lôi mÙt cuÑn e-book ra nghiÁn ng«m nh° chÉ °ãc m¥y trang §u là th¥y choáng váng c£ m·t mày :(. Em tñ nhç là Ã mai xem ti¿p nh°ng rÓi h¿t chuyÇn này ¿n chuyÇn khác, em v«n ch°a Íc quá ba trang."

Tôi c°Ýi phá lên:

"Hà hà, úng là iÃn hình rookie :). V­y em Íc cuÑn gì mà th¥y choáng váng c£ m·t mày?"

"cuti" phång phËu:

"Thì em nghe theo lÝi anh nói trên diÅn àn HVA là cuÑn TCP/IP Illustrated cça Richard Stevens là cuÑn à §u gi°Ýng nên em tóm ngay cuÑn ó thôi. âu ngÝ nó khó nuÑt ¿n nh° v­y :( "

Tôi không ng¡c nhiên khi "cuti" nh­n Ënh nh° th¿, tôi áp:

"êa, Íc nhïng cuÑn 'thu§n' nh° cá TCP/IP Illustrated cça Richard Stevens thì em ph£i c§n mÙt ít kù nng và ph£i th­t sñ muÑn tìm hiÃu thì mÛi tiêu hoá nÕi. Còn không thì nó 'khô nh° r¡m' thì làm sao mà nuÑt cho vô? CuÑn này cça Richard Stevens dùng à bÕ túc, Ñi chi¿u và ào sâu nhïng gì em hÍc ß tr°Ýng thì r¥t hay, n¿u em nh£y ngang vào và cÑ Íc thì chÉ d«n ¿n chuyÇn chán n£n mà thôi. Þ tr°Ýng em ã ång ¿n TCP/IP ch°a?"

"cuti" tr£ lÝi không ng§n ngë:

"Þ tr°Ýng h£ anh? ß tr°Ýng có gì mà hÍc? Cái gì cing ¡i c°¡ng vÛi khái niÇm, chán nh° con gián. HÍc nh° v­y bi¿t chëng nào mà thành?"

Tôi m¯ng "cuti" ngay":

"Em §y mâu thu©n. Em xem th°Ýng m¥y thé '¡i c°¡ng' vÛi 'khái niÇm' nh°ng không có chúng thì làm sao em có nÁn t£ng à i sâu h¡n? Të nhïng thé '¡i c°¡ng' và 'khái niÇm' này, em có thà tham kh£o sách vß, tài liÇu và trau dÓi cho mình thêm ki¿n théc. Không nhïng ây là chuyÇn bÕ ích cho b£n thân em mà ây cing là iÃm à o cái khác biÇt giïa mÙt sinh viên 'th°Ýng th°Ýng b­c trung' và mÙt sinh viên 'xu¥t s¯c' ó. Hèm, con °Ýng i tÛi ch× 'c¡m no, bò c°ái' e h¡i chông gai ó em!"

"cuti" nhn nhó:

"TrÝi, hôm nay úng là xu¥t hành không coi ngày hay sao ó. Të nãy giÝ em bË sao qu£ t¡ cça anh 'chi¿u' liên hÓi luôn :( "

Tôi c°Ýi áp:

"V­y em muÑn 'sao qu£ t¡' không chi¿u chÛ gì? dÅ ãt thôi mà. Bây giÝ mình bàn chuyÇn 'hack gunbound' hay 'chôm Yahoo password' là h¿t 'sao qu£ t¡' :)"

"cuti" cuÑn quýt:

"Không, không, em chÉ ùa tí thôi mà. Th­t tình nói chuyÇn vÛi anh, em thông °ãc nhiÁu iÁu l¯m. ChÉ có iÁu 'cái §u khÕ sß' cça em nó làm viÇc ch­m nh° bÙ vi xí lý 486 ci kù nên ch¯c em c§n ph£i có thÝi gian à të të mà 'xí lý'. Nói chuyÇn vÛi anh, em bË nhiÁu cú au §u l¯m á nh°ng không hiÃu sao nó... h¡i bË phê, hì hì."

Tôi c°Ýi:

"L¡i cái kiÃu nói 'h¡i bË...' dùng të gì kó cåc v­y? 'h¡i bË' là d¡ng thå Ùng dùng à chÉ cho iÁu gì ó không °ãc hay mà sao l¡i i tr°Ûc mÙt të nh° 'phê', 'hay' v­y? 'h¡i bË hay' rÓi 'h¡i bË phê' nghe nó trái tai làm sao ó!"

"cuti" c°Ýi nhanh nh©u:

"Thôi anh ¡i, anh quá cÕ lÕ s) rÓi, thÝi nay mÍi ng°Ýi dùng të kiÃu này không anh à. Nh°ng mà ëng nói là anh l¡i chu©n bË cho em mÙt bài vÁ 'ngï pháp' ó nha. Hì hì, em bË 'qu£ t¡' g§n trúng thñc rÓi ây."

Tôi áp:

"Thôi, anh chÉ nh­n xét v­y thôi, dính vô m¥y chuyÇn ngï pháp ti¿ng ViÇt, ti¿ng ViÇt trong sáng... coi chëng 't©u ho£' d¡ng khác bây giÝ. Th¿ này, em hiÇn ang hÍc cái gì ß tr°Ýng và em ngh) là hiÇn thÝi em thích tham kh£o chuyÇn gì nh¥t. Có c§n e-book hay tài liÇu gì, anh cÑ tìm cho mà Íc. Nh°ng quan trÍng là ph£i khßi §u b±ng cái gì ó vëa séc em và ëng 'khô nh° r¡m' thì mÛi nuÑt nÕi."

"cuti" tr£ lÝi ngay:

"e-book h£ anh? em có hàng... t¥n. Nghe ß âu có e-book là em hì håi down vÁ cho °ãc. Em có chëng 2 gig e-book à måc miÅu trong máy á. Có cái em ch°a bao giÝ ngó qua, có cái xem có v» hay hay nh°ng có l½ nÙi công còn non nÛt quá nên ch°a bao giÝ luyÇn qua h¿t t§ng mÙt (ch°¡ng mÙt) cça bÙ bí kíp nào h¿t. Anh muÑn em Íc cuÑn nào, em låc cuÑn ¥y mà Íc thôi."

Tôi c°Ýi mÙt mình, l¯c §u và tr£ lÝi "cuti":

"L¡i thêm mÙt iÃn hình khác cça 'rookie'. Nghe th¥y ß âu có e-book thì cÑ mà download vÁ rÓi bÏ ó. Anh không thà 'muÑn' em Íc cuÑn nào mà ph£i chính em quy¿t Ënh em 'muÑn' Íc cuÑn nào. ChuyÇn quan trÍng lúc này là cách làm quen vÛi sách kù thu­t chÛ ch°a c§n nÙi dung cao siêu cá nào h¿t. MiÅn sao em thích Á tài nào thì chÍn mÙt trong m¥y cuÑn em có mà thí thôi. Cái quan trÍng là ph£i tñ k÷ lu­t, ëng héa h¹n cho ngày mai. Ch¯c cing g§n ¿n giÝ anh dzÍt rÓi. à khi khác mình ti¿p tåc v­y h£?"

"cuti" n±n nì:

"Khoan ã anh, cho em hÏi thêm mÙt tí nïa thôi. Anh 'b¯t' em Íc sách nh°ng anh ch³ng chËu cho em mÙt tí 'kh©u quy¿t' gì Ã '£ thông' h¿t làm sao em nuÑt vô cho nÕi? :(. Anh bày em cách Íc và tÕng hãp nh° anh nói i. HÓi ó i hÍc, anh có ph°¡ng pháp gì v­y?"

Tôi ch­m rãi áp:

"Cái thÝi 'hÓi ó' cça anh có l½ khác cái thÝi 'hÓi nay' cça em nhiÁu l¯m. ThÝi ó ch°a có cái gÍi là 'google', Internet cing ch°a có luôn. Modem thÝi ó lúc anh mÛi làm quen computer là 4800 bauds còn sách và tài liÇu thì quý nh°... vàng. MuÑn mua mÙt cuÑn sách ph£i t±ng tiÇn c£ tháng trÝi ho·c h¡n cho nên có mÙt cuÑn sách trong tay là 'nghi¿n' tëng dòng, tëng chï. Bßi hai 'thÝi' khác nhau quá, anh chÉ có thà góp ý vÛi em th¿ này:

- sách vß, tài liÇu có hai d¡ng chính: sách giáo khoa và sách tham kh£o. Cách Íc và 'tiêu hoá' hai lo¡i này khác nhau.

- sách giáo khoa là Ã hÍc các ki¿n théc em gÍi là '¡i c°¡ng và khái niÇm'. Lo¡i sách này em ph£i hÍc, hiÃu và ti¿p nh­n nó nh° mÙt thé ki¿n théc cn b£n và c§n thi¿t.

- sách tham kh£o là Ã Ñi chi¿u, mß rÙng, ào sâu nhïng thé em ã hÍc °ãc të sách giáo khoa. Các e-book cça em có ch¯c h§u h¿t là sách tham kh£o.

- v­y, Ã Íc °ãc sách tham kh£o em ph£i có cn b£n tr°Ûc không thì em bË 'bÍng' và s½ th¥y 'khó nuÑt' bßi vì lo¡i sách này vi¿t vÛi ng§m Ënh là em ã n¯m ki¿n théc cn b£n.

Riêng ph§n 'kh©u quy¿t' thì ¡i lo¡i là th¿ này: à làm quen vÛi viÇc 'ào sâu', em nên tñ ·t cho mình các câu hÏi rÓi tìm cách tñ tr£ lÝi. N¿u em ch°a quen 'tñ ·t câu hÏi' thì em có thà dùng vô sÑ các câu hÏi °ãc ·t ra xung quanh em. ThÝi nay diÅn àn CNTT mÍc lên nh° n¥m, có bao nhiêu là câu hÏi të d¡ng ¡n gi£n nh¥t ¿n d¡ng phéc t¡p nh¥t. Em thí chÍn mÙt vài câu hÏi rÓi hình thành cho mình câu tr£ lÝi sao cho §y ç nh¥t, hïu lý nh¥t. Câu tr£ lÝi tìm ß âu? të các sách tham kh£o em có, të 'google', të các search engines.... Ví då, ai ó phát biÃu mÙt câu nh° sau: giao théc TCP là mÙt giao théc stateful và UDP là mÙt giao théc stateless. Em thí tìm hiÃu xem lý do t¡i sao câu này °ãc phát biÃu nh° th¿? có nhïng lý do nào làm cho TCP thuÙc d¡ng stateful và UDP thuÙc d¡ng stateless? Tham gia sinh ho¡t trên mÙt diÅn àn mÙt cách nghiêm túc cing là mÙt ph°¡ng pháp hay cho viÇc 'hÏi' và 'tr£ lÝi'. N¿u em c§n mÙt câu tr£ lÝi th¥u áo cho chính mình thì chính câu tr£ lÝi này s½ là câu tr£ lÝi r¥t giá trË cho ng°Ýi khác."

"cuti" có v» không l¥y làm hào héng:

"Chà, xem có v» cng ây. Nh°ng à em cÑ xem sao. úng là em có cái t­t qua quít cho xong nên ch³ng có cái gì cho ra cái gì c£. Em bi¿t anh ang truyÁn ¡t cho em mÙt lÑi suy ngh) khác? Em th¥y con °Ýng 'tu luyÇn' có v» §y chông gai nh° anh ã nói. Nh°ng em có th¯c m¯c là làm sao mình có thà nhÛ mÙt trm thé, mÙt ngàn thé °ãc?"

Tôi áp:

"êa, chï 'truyÁn ¡t' h¡i quá, anh ngh) là 'góp ý' thì úng h¡n. Anh ang 'góp ý' em à hình thành cái gÍi là nÁn t£ng. Ph£i có nÁn t£ng rÓi thì mÛi i ti¿p °ãc.

Riêng chuyÇn nhÛ thì em không thà nhÛ mÙt trm, mÙt ngàn thé ngay l­p téc °ãc nh°ng n¿u em th­t sñ hiÃu mÙt thé nào ó, nó s½ v)nh viÅn là cça em vì nó ã thuÙc vÁ ki¿n théc cça em. Lý do 'c§n ph£i ngÍn ngành' cing i të ây ra thôi, nó giúp em 'th­t sñ hiÃu'. Còn chuyÇn nhÛ nhanh, nhÛ ch­m, nhÛ lâu hay nhÛ mau thì có ph§n nào phå thuÙc vào kh£ nng tñ nhiên cça m×i ng°Ýi nh°ng không có ngh)a là không thà rèn luyÇn à nâng cao kh£ nng này cho mình. Em thí i rÓi l§n sau cho anh bi¿t cách em Íc thông tin cça mÙt ch°¡ng ra sao, cách em hiÃu nó nh° th¿ nào, cách em tóm l°ãc nó (à nhÛ) ra làm sao... rÓi anh s½ góp ý cho. Bây giÝ anh ph£i i, n¿u tiÇn mình s½ liên l¡c sau h£? Chào cuti."

"cuti" không quên hóm hÉnh:

"Chào anh già khó tánh :)"

Và tôi logoff.

conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie ph§n 3

6. "V­t vã":

iÁu l¡ ã x£y ra. SuÑt tu§n lÅ này tôi không hÁ nh­n °ãc mÙt thông iÇp nào të "cuti". Tôi không thà oán nÕi "cuti" b­n hÍc hành, thi cí hay cu c­u ã chán n£n "con °Ýng chông gai". Dù gì i chng nïa, tôi ã có ít nhiÁu c£m m¿n "cuti" ß cái tính th­t thà và hóm hÉnh cça cu c­u. MÙt ph§n nào ó th§m kín trong lòng, tôi mong "cuti" ëng bÏ cuÙc.

Th¿ rÓi, sang tu§n lÅ thé hai, tôi nh­n °ãc mÙt thông iÇp ng¯n gÍn và bí hiÃm të "cuti":

"Chào anh già khó tánh. Em ang v­t vã ây nh°ng cing ch°a ¿n n×i 'lñc cùng, séc t­n'. Em s½ cho anh bi¿t k¿t qu£ thí nghiÇm cça em". Tôi l©m b©m "chà, có gì mà bí hiÃm quá v­y? 'thí nghiÇm'? ch¯c cu c­u ã táy máy cái gì ây.". Tôi th¥y vui vì thông iÇp này chéng tÏ cu c­u ch°a bÏ cuÙc nh°ng l¡i th¯c m¯c không hiÃu lý do t¡i sao "cuti" l¡i trß nên ti¿t kiÇm ngôn të ¿n th¿.

Tôi ti¿p tåc lao vào công viÇc suÑt nhïng ngày còn l¡i cça tu§n lÅ. Mãi ¿n chiÁu thé B£y, r£nh r×i mÙt tí, tôi log vào YIM Ã xem các "offline message". Nh° th°Ýng lÇ, tôi nh­n hàng Ñng thông iÇp và thong th£ tr£ lÝi tëng cái mÙt. Qu£ nhiên có vài cái thông iÇp cça "cuti". L§n này "cuti" có v» r¥t kh©n tr°¡ng:

"Ui, anh già khó tánh co ó không? Em bó tay rÓi á. Anh có online cho em bi¿t vÛi"

MÙt thông iÇp khác:

"CuÑi tu§n ch¯c anh r£nh h£? Lúc nào tiÇn, cho em bi¿t. Em s½ online cuÑi tu§n à nhÝ anh chÉ cho em thêm vài 'kh©u quy¿t'.".

Tôi ch­c l°ái: "Chà, cuti này làm gì mà có v» bí hiÃm th­t." Tôi oán ch¯c cu c­u ang táy máy cái gì ây nh° bË t¯c tË. Tôi bèn gßi cho "cuti" mÙt thông iÇp:

"Hello cuti, anh hiÇn ang online. Có c§n gì thì vào mà hÏi. Anh s½ online të 2 giÝ chiÁu ¿n tÑi a là 3 giÝ."

Không §y mÙt phút, tôi nh­n °ãc thông iÇp cça "cuti":

"D¡, em ây. Em ngÓi chÝ të sáng ¿n giÝ á."

Tôi c°Ýi, áp:

"Hì hì, r£nh r×i quá h£? 'n±m' trên Internet th°Ýng trñc? Mà này, em cing ch¡i trò 'invisible' nh° anh h£? Có chuyÇn gì mà có v» kh©n tr°¡ng v­y?"

"cuti" rÑi rít:

"D¡, em chuyÃn sang 'invisible' à khÏi bË qu¥y r§y. C£ hai tu§n qua em ch£ chat vÛi ai c£ mà g§m §u vào à tìm hiÃu lÝi thí thách cça anh."

Tôi ng¡c nhiên:

"æa, 'lÝi thí thách' nào cça anh v­y?"

"cuti" nhanh nh©u:

"TrÝi, mÛi có hai tu§n mà anh quên béng h¿t rÓi sao? Cái thí thách anh nói là anh cho em IP, account cça mÙt Linux box à em vào hack ó. Anh còn nhÛ không?"

Tôi b­t c°Ýi nh°ng không kém ph§n ng¡c nhiên. Qu£ tôi có 'thách' "cuti" th­t nh°ng ó chÉ là mÙt chi ti¿t trong cuÙc àm tho¡i à làm rõ quan iÃm cça tôi mà thôi. Không ngÝ "cuti" ti¿p nh­n v¥n Á mÙt cách nghiêm túc và nghiêm trÍng. Tôi áp:

"À, t¥t nhiên là anh nhÛ chÛ. Nh°ng ó âu ph£i là iÁu anh thách théc mÙt cách chính théc âu? ó chÉ là mÙt cách làm rõ quan iÃm thôi mà em. H¡n nïa, anh nhÛ là em chËu thua rÓi mà? :)"

Không ngÝ "cuti" tr£ lÝi nh° sau:

"D¡, em thua th­t nh°ng sau khi nói chuyÇn vÛi anh l§n thé nh¥t, rÓi ¿n l§n thé hai. MÍi iÁu anh em mình trao Õi em Áu ghi nhÛ và cÑ g¯ng suy g«m. Có nhïng iÁu em suy không ra, nh°ng cing có nhiÁu iÁu em th¥y th¥m l¯m. Cho nên, nhïng iÁu anh nói em Áu cho r±ng ph£i có mÙt ©n ý nào ó. H¡n nïa, qu£ th­t anh ã 'thách théc' em mà. Em ã chËu thua nh°ng sau ó ngh) ngãi l¡i em th¥y ¥m éc chËu không nÕi. Th¿ là em b¯t tay vào thí nghiÇm."

H¡i ng¡c nhiên, tôi hÏi ti¿p:

"RÓi sao nïa?"

"cuti" ti¿p tåc:

"D¡. Em chÉ có mÙt con Pentium 3 mà thôi. L§n tr°Ûc em hÍc òi cài ·t Linux, xém chút nïa là tiêu cái Windows cça em. Bây giÝ em muÑn hÍc Linux nên em... vòi m¹ em tiÁn à s¯m mÙt con Pentium 4. Em viÇn lý do là em ph£i hÍc m¡ng, c§n hai máy nên rÑt cuÙc m¹ cho tiÁn s¯m thêm mÙt con P4. Th­t là thích. Con này m¡nh nên em mang cái )a ch¡y Windows qua và dùng con ci à cài Linux."

"cuti" °a tôi i të ng¡c nhiên này ¿n ng¡c nhiên khác, tôi hÏi ti¿p:

"Th¿ rÓi sao?

"cuti" hÛn hß áp:

"Em t­u con P4 chÉ trong vòng 2 ngày là có và ¿n ngày thé 3 thì em ã có con P3 ci à vÍc qu­y vÛi Linux. Em mua mÙt bÙ )a RedHat 9 và tham kh£o Ñng e-book cça em à cài l¡i con Linux này. Ròng rã m¥y ngày trÝi, em hoàn t¥t con Linux. Có hôm em théc ¿n m¥y giÝ sáng, ngç ch­p chÝn mÙt tí rÓi théc d­y i hÍc."

Tôi th§m c£m phåc cái "b°Ûng bÉnh" và quy¿t tâm cça "cuti". Không ngÝ cu c­u quá nghiêm trÍng vÛi chi ti¿t "thách théc" kia. Tôi hÏi ti¿p:

"V­y, cài xong con Linux kia, em dñ Ënh làm nhïng gì?"

"cuti" áp tÉnh khô:

"TrÝi, v­y mà anh không bi¿t sao? Em Ënh t¡o dËch vå web trên con Linux này rÓi tñ 'hack' nó à thay Õi trang chç y hÇt nh° lÝi anh thách théc em ó. Nh°ng cài xong em ch³ng bi¿t th±ng apache làm viÇc ra sao nïa. Khi cài, em chÍn cài t¥t c£ nên có tùm lum tá l£ dËch vå trên máy chç này. Em l¡i lÍ mÍ tham kh£o cuÑn e-book nói vÁ apache à xem nó làm viÇc ra sao. Anh cing bi¿t là ti¿ng Anh cça em dÏm sÑ mÙt nên nhiÁu lúc tham kh£o m¥y tài liÇu kia choáng váng c£ m·t mày. Nh°ng rÑt cuÙc em cing ã hoàn t¥t °ãc th±ng apache rÓi. M¥t cça em ròng rã m¥y ngày trÝi á."

Tôi c°Ýi rÙ vì lÑi suy ngh) "th³ng ruÙt ngña" cça "cuti" nh°ng Óng thÝi c£m th¥y m¿n cu c­u nhiÁu h¡n. M¿n ß ch× cu c­u không chÉ "nói miÇng" mà dám gát qua h¿t mÍi chuyÇn à t¡o ra mÙt môi tr°Ýng à tñ thí nghiÇm và kiÃm chéng. Tôi áp:

"TÑt l¯m ó 'cuti'. Em dám hy sinh thÝi gian và nhïng 'trò ch¡i' thông th°Ýng à tñ hình thành cho mình mÙt cái Linux server trong kho£ng thÝi gian ng¯n nh° v­y thì qu£ th­t xu¥t s¯c. Anh th­t lòng hoan nghênh em ó :)"

"cuti" hÓ hßi:

"Anh nói th­t sao? ·c ·c, hu hu, s°Ûng quá i m¥t. Em cé t°ßng anh s½ m¯ng cho em mÙt ch·p vì tÙi phí thÝi gian cài mÙt con Linux à chéng minh mÙt chuyÇn ch³ng là cái gì h¿t. ¶c, ·c... em t°ßng anh th­t sñ là 'anh già khó tánh' nh°ng không ngÝ anh cing bi¿t khen ó chÛ, hì hì."

Tôi áp:

"TrÝi, sao không khen °ãc "cuti"? N¿u em làm mÙt chuyÇn gì úng và có giá trË thì ph£i °ãc khen mÛi ph£i chÛ? Anh khen vì anh th¥y em không chÉ 'nói miÇng' cho xong chuyÇn nh°ng em ã th­t sñ b¯t tay vào làm mÙt viÇc cå thÃ. Ch°a bi¿t k¿t qu£ công viÇc ó nh° th¿ nào nh°ng ß giai o¡n tìm hiÃu vÛi mÙt ng°Ýi nh° em, theo anh, em ã ¡t mÙt b°Ûc §u h¿t séc quan trÍng: hÍc i ôi vÛi hành. Cái này cing chéng tÏ là em có ç ham muÑn à tìm hiÃu và làm sáng tÏ iÁu mình th¯c m¯c. Th­t sñ, anh th¥y r¥t vui khi nghe chuyÇn này."

"cuti" rên rÉ:

"Hic hic, h¡n mÙt tu§n qua em 'phÝ ph¡c' vÛi con Linux này. GiÝ °ãc khen tñ nhiên bao nhiêu mÇt nhÍc bi¿n i âu h¿t. Anh là mÙt ng°Ýi r¥t 'nguy hiÃm'! hì hì. Lý do em muÑn g·p anh là vì em th¥y muÑn Õi thông tin trên trang chç cça website quá ¡n gi£n. Em ngh) là anh Ñ 'm¹o' em gì ây. Em ngh) nát óc mà không ra lý do. Anh chÉ cho em vÛi."

Tôi c°Ýi, hÏi l¡i:

"Thé nh¥t, t¡i sao ngh) anh là ng°Ýi nguy hiÃm? Thé hai, em iÁu chÉnh thông tin trên trang chç cça website em t¡o ra b±ng account nào và b±ng công cå nào v­y?"

"cuti" nhanh nh£u:

"Thé nh¥t, anh là ng°Ýi 'nguy hiÃm' vì anh có kh£ nng 'hành h¡' bÙ não cça em rÓi sau ó mÛi khen mÙt ti¿ng. Cú khen này th¥y 'phê' h¡n các cú khen thông th°Ýng. Theo em, nh° v­y là... 'nguy hiÃm' ;-). Thé nhì, ý anh account nào là sao? khi em cài con RH9 này nó cho phép em chÍn m­t mã cça account root cho nên em chÉ dùng root të bïa giÝ thôi. âu có account nào khác âu? Còn công cå thì em th¥y có cái Gnu Text Editor gì ó nên em dùng v­y thôi."

Tôi áp:

"À ra v­y. Thé nh¥t, n¿u em nghiÇm ra °ãc anh là ng°Ýi 'nguy hiÃm' thì không chëng em còn 'nguy hiÃm' h¡n anh. Thé hai, em ngh) l§n tr°Ûc anh ánh cuÙc vÛi em chuyÇn sía nÙi dung mÙt trang web trên Linux server, anh s½ cho em root account sao? ;-). N¿u v­y còn gì vui nïa. Anh chÉ cho em mÙt account nh° mÙt ng°Ýi dùng bình th°Ýng trên server này thôi. Còn chuyÇn em dùng Text Editor gì ó thì có ngh)a là em ch¡y trên môi tr°Ýng GUI h£?".

"cuti" th¯c m¯c:

"V­y root account vÛi account cça ng°Ýi dùng bình th°Ýng khác nhau th¿ nào anh? Và anh nói chuyÇn GUI, có ph£i ý anh là làm viÇc trên giao diÇn Ó ho¡ ph£i không?"

Th¥y rõ "cuti" còn hÕng nhiÁu iÃm cn b£n, tôi ng«m ngh) cách tÑt nh¥t à gi£i thích cho cu c­u. Sau ó tôi tr£ lÝi:

"Anh ngh) em rành Windows nên anh t¡m dùng Windows à em dÅ liên t°ßng. Th¿ này, trên Windows, Administrator có chç quyÁn cao nh¥t, có ngh)a là ai dùng account này có thà làm b¥t cé chuyÇn gì trên máy. Trên *nix nói chung, root chính là Administrator v­y. Thông th°Ýng ít có ai (kinh nghiÇm vÛi *nix) mà dùng root account à làm viÇc bßi vì quá nguy hiÃm. Nguy hiÃm ß ch× n¿u 'lá tay' thì không céu vãn °ãc vì root có uy quyÁn tuyÇt Ñi. Bßi th¿, admin cça server th°Ýng t¡o các account thông th°Ýng cho ng°Ýi dùng thông th°Ýng. ChÉ có nhïng tr°Ýng hãp c§n thi¿t thì mÛi chuyÃn sang su (super user mode - hay còn gÍi là root mode). Trong tr°Ýng hãp cça em, em ph£i t¡o thêm mÙt account bình th°Ýng cho ng°Ýi dùng rÓi mÛi dùng account này à 'hack' thì mÛi g§n vÛi hoàn c£nh chuyÇn anh ánh cuÙc vÛi em.

Riêng chuyÇn GUI thì th¿ này. GUI giúp cho nhïng ng°Ýi mÛi làm quen *nix th¥y dÅ dàng và nó r¥t tÑt n¿u em có thà dùng nó nh° mÙt d¡ng desktop à làm viÇc. Tuy nhiên, trong tr°Ýng hãp anh cho em mÙt account trên mÙt Linux server nào ó à 'hack' thí, em thí ngh) xem, em s½ login server này b±ng cách nào?"

"cuti" áp ngay:

"Em ngh) là ph£i dùng mÙt d¡ng 'pcanywhere' hay 'terminal service' Ã log vào chÛ sao nïa anh?"

Tôi c°Ýi áp:

"Hì hì, trên *nix làm gì có 'pcanywhere' hay 'terminal service'? Thông th°Ýng, Ã b£o m­t, nhïng d¡ng dËch vå cung c¥p kh£ nng truy c­p theo d¡ng GUI (trên *nix còn gÍi là X) hoàn toàn bË lo¡i bÏ vì r¥t dÅ bË 'khai thác'. N¿u v­y, theo em thì mình log vào b±ng cách nào?"

"cuti" ng«m ngh) rÓi áp:

"B±ng telnet ph£i không anh?"

Tôi áp:

"G§n úng! ngày tr°Ûc dËch vå telnet °ãc dùng r¥t phÕ bi¿n nh°ng ngày nay r¥t hi¿m th¥y máy chç cung c¥p ph°¡ng tiÇn truy c­p ¿n dËch vå telnet vì lý do thông tin trao Õi giïa telnet client và telnet server hoàn toàn là 'cleartext' nên dÅ bË 'sniff' (kà c£ password). Thay vào ó, ngày nay ng°Ýi ta dùng ssh là chính."

"cuti" hÛn hß:

"A, em có nghe ¿n SSH rÓi nh°ng ch°a hÁ mó qua nó. V­y mình truy c­p vào b±ng °Ýng SSH có ngh)a là mình chÉ có mÙt cía sÕ en ngòm à làm viÇc ph£i hông anh?"

Tôi xác nh­n:

"úng th¿, em sáng d¡ l¯m :). Mình chÉ có mÙt cía sÕ 'en ngòm' à làm viÇc. MuÑn có nhiÁu cía sÕ thì mình ph£i login nhiÁu l§n. RÓi, n¿u mình login qua ssh và có cía sÕ 'en ngòm', v­y liÇu em có thà dùng "Notepad" gì à à iÁu chÉnh hÓ s¡ trên website không?"

"cuti" li¿n tho¯n:

"Hi hi, anh gh¹o em hoài. Lúc này không có GUI thì làm sao mà 'Notepad'? V­y mình ph£i dùng cái gì Ã thñc hiÇn chuyÇn iÁu chÉnh ây anh?"

Tôi c£m th¥y ph£i i ch§m ch­m vÛi "cuti" không thì cu c­u choáng ngãp thì hÏng h¿t, bèn áp:

"êa, khi làm viÇc vÛi *nix, mÙt trong nhïng công cå cn b£n và không thà thi¿u là vi ho·c emacs. Em ph£i hÍc cách sí dång mÙt trong hai công cå này. vi thì phÕ bi¿n và ¡n gi£n h¡n, emacs thì có server không dùng nh°ng nó cao c¥p h¡n. Anh ngh) em nên làm quen vÛi vi tr°Ûc."

"cuti" reo lên:

"Hi hi, vi? cái tên gì ngÙ th­t :) Em ch°a tëng nghe qua, ëng nói chi là ång ¿n nó. V­y mình có c§n cài gói vi không anh?"

Tôi áp:

"Không em, vi có sµn khi em cài Linux rÓi ó vì nó là mÙt trong nhïng gói cn b£n nh¥t. Em xem thí trong mÛ e-book cça em có cuÑn sách nào nói vÁ vi không? anh nhÛ mang máng là O'Rilley có mÙt cuÑn chuyên chú vÁ vi ó. N¿u không có, cho anh bi¿t à anh tìm vài cái link trên Internet chÉ cách hÍc và thñc t­p vi cho."

"cuti" tr£ lÝi ngay:

"D¡, chÝ em mÙt tí thôi, con Windows cça em ngay trên bàn, Ã em xem liÁn thí có cuÑn e-book này không."

Tôi ngÓi chÝ "cuti" và cÑ hình thành mÙt ph°¡ng án ng¯n gÍn à '°a' "cuti" i të ch× thi¿u lÛp lang ¿n ch× có lÛp lang h¡n. Cái khó là v¥n Á thÝi gian và ph°¡ng tiÇn liên l¡c. Tôi thì r¥t ít có thÝi gian à vào YIM. Ngay c£ vào YIM và chat b±ng text thì ch³ng 'hiÇu xu¥t' vì ch­m quá. Tôi th§m nhç "thôi thì cé tëng b°Ûc mà m§n, xem thí cuti kéo dài °ãc bao lâu rÓi tính ti¿p". Sau vài phút, "cuti" gßi cho tôi mÙt thông iÇp khác:

"Anh già khó tánh ¡i, còn ó hông? Em ã tìm ra °ãc cuÑn e-book cça O'Rilley anh nói rÓi ó. Em ngh) úng là nó vì trong Ñng e-book cça em chÉ có mÙt cuÑn nói vÁ vi. Hi hi, bây giÝ em mÛi th¥y quý cái 'kho' ebook cça em. Tr°Ûc giÝ cé Ã nó mÙt góc mà ch³ng bi¿t t­n dång nó."

Tôi áp:

"TÑt l¯m. Sµn có hai máy, em mß cái ebook ó trên Windows và dãt vi trên Linux i. Nh°ng nhÛ ëng tñ dÓn ép quá mà không tÑt và dÅ bË n£n. Théc n dành cho não bÙ cing nh° théc n dành cho... bÙ lòng :). Em ph£i n uÑng iÁu Ù thì nó mÛi tiêu hoá và ti¿p thu °ãc. Ráng dÓn cho nhiÁu vào th¿ nào cing bÙi thñc cho mà xem. À mà này, em ã n¯m khái niÇm 'root' account và account cho ng°Ýi dùng bình th°Ýng ch°a?"

"cuti" hóm hÉnh:

"¡n gi£n quá mà anh. Anh cé dùng Windows giúp em liên t°ßng Linux thì em hiÃu liÁn liÁn thôi. Còn chuyÇn dÓn ép thì anh ëng lo. HÅ em thích thì bao nhiêu cing °ãc h¿t. Anh th¥y không, g§n hai tu§n qua em v­t lÙn vÛi con Linux, vëa Íc tài liÇu vëa ráng hiÃu v­y mà cing cài °ãc con Linux mà. Em ch³ng th¥y mÇt gì c£ mà l¡i th¥y thích vì l§n §u tiên em cài nó vì có måc ích rõ ràng :)"

Tôi c°Ýi và áp:

"Thôi i, úng ra anh không nên dùng Windows à giúp em liên hÇ vÛi Linux bßi vì chúng khác nhau r¥t nhiÁu. Khi làm viÇc vÛi Linux nên tránh liên hÇ và so sánh ¿n Windows vì nó có thà d«n ¿n nhïng sai l¡c cn b£n. L§n sau anh không liên hÇ kiÃu này nïa âu. Còn chuyÇn cài °ãc con Linux thì anh th¥y tÑt l¯m. Em ã v°ãt qua °ãc mÙt b°Ûc r¥t quan trÍng cho nhïng b°Ûc vÁ sau. Tuy nhiên, anh góp ý vÛi em chuyÇn iÁu Ù là vì anh không muÑn em lao vào th­t nhanh rÓi rút lui th­t nhanh vì bË choáng ngãp. N¿u lâm vào tình tr¡ng này không nhïng uÕng phí mà còn nguy h¡i nïa bßi vì l§n sau em s½ e ng¡i vì có ¥n t°ãng không tÑt të l§n tr°Ûc và bßi th¿ em s½ r¥t khó quay l¡i méc bÁn bÉ và quy¿t tâm c§n thi¿t à thành công."

"cuti" tr£ lÝi:

"V­y thì em nghe theo lÝi anh. Em chÉ sã tñ nhiên gi£m 'tÑc Ù' l¡i mÙt cách Ùt ngÙt s½ làm em m¥t trÛn thôi. V­y em ph£i b¯t tay vào hÍc vi ph£i không anh? Anh ngh) bao lâu thì em s½ thành th¡o vÛi công cå này?"

Tôi áp:

"Anh ngh) không lâu âu. Cn b£n thì vi chÉ có vài chåc lÇnh à di chuyÃn và sía Õi nÙi dung hÓ s¡. Ph§n khó là ph§n dùng regex à tìm 'pattern' và thay th¿ 'pattern'. Tuy nhiên, em có thà 'nâng c¥p' të të. Cái quan trÍng là ph£i chËu khó 'dãt' vi b±ng cách làm viÇc thí trên các hÓ s¡; Íc sách 'khan' mà không thí thì không cách gì mà nhÛ h¿t và thông th¡o °ãc.

À, có mÙt chi ti¿t anh muÑn nh¯c em vÁ chuyÇn em muÑn thñc hiÇn vå ánh cuÙc cça mình. Em nên nhÛ là em ph£i thñc hiÇn các thao tác të xa và chÉ dùng mÙt cía sÕ 'en ngòm, chï tr¯ng'. Em ph£i thí login máy Linux server cça të mÙt máy khác. Trong tr°Ýng hãp cça em thì nên logon të máy Windows và nên dùng Putty, mÙt ssh client r¥t hay và miÅn phí. Thí vào google và tìm 'Putty' thì s½ th¥y °Ýng d«n à download công cå này. N¿u em ã chÍn ch¿ Ù 'cài t¥t c£' khi cài Linux, anh ngh) là em ã có sµn dËch vå SSH trên máy Linux rÓi ó."

"cuti" c°Ýi, áp:

"Hì hì, anh c©n th­n quá. Em bi¿t em ph£i làm gì mà."

Tôi v«n kiên trì:

"ok, n¿u em bi¿t em ph£i làm gì, em tóm t¯t nhïng iÃm em ph£i làm gì anh xem thí? :)"

"cuti" tr£ lÝi ngay:

"¡n gi£n nh°... ang gián. Nè, em ph£i:

- download th±ng Putty vÁ máy Windows

- dùng nó Ã truy c­p vào máy chç Linux

- thí thay Õi nÙi dung trang web ang có trên máy chç Linux"

Tôi áp:

"Còn thi¿u! dùng Putty à truy c­p vào máy chç Linux b±ng mÙt account bình th°Ýng. iÃm này cñc kó quan trÍng."

"cuti" rú lên:

"Oái, chuyÇn ¡n gi£n v­y mà em v«n sót mÙt chi ti¿t quan trÍng. Không sao, Ã em save nÙi dung anh em mình chat và Íc l¡i thì ch¯c n, không sót gì âu. , nh°ng mà muÑn truy c­p và máy chç Linux b±ng mÙt account bình th°Ýng thì ph£i có mÙt account bình th°Ýng ph£i không anh? N¿u v­y mình ph£i t¡o thêm account bình th°Ýng. T¡o account bình th°Ýng là làm sao v­y anh?"

Tôi c°Ýi:

"Sao hÏi anh? CuÑn c©m nang Linux cça em âu? T¡o account trên *nix cing °ãc xem là mÙt trong nhïng thao tác 'hack' ó và không có cuÑn sách chÉ d«n dùng Linux nào l¡i không nói ¿n chuyÇn này c£. Em thí tìm cách 'hack' hãp lÇ b±ng cách t¡o 'user account' i :)."

"cuti" rên rÉ:

"¶c ·c, em muÑn anh chÉ liÁn à á m¥t công Íc sách và có ngay mÙt account à mà qu­y. V­y mà anh cing không chËu chÉ dùm."

Tôi tìm cách khuy¿n khích "cuti" và áp:

"Hì hì, anh ch³ng h¹p hòi vÛi cái lÇnh thêm user account vào máy âu. Tuy nhiên, anh không chÉ em ngay l­p téc bßi vì em ph£i làm quen vÛi nhïng thao thác ¡n gi£n và cn b£n này thì vÁ sau em mÛi có thà 'hack' °ãc. Cái ¡n gi£n và cn b£n luôn luôn có giÁng mÑi sâu xa vÛi cái phéc t¡p và nâng cao. Cho nên em c§n chËu khó b°Ûc §u."

"cuti" vui v» tr£ lÝi:

"Không có gì âu anh, em tìm hiÃu nó °ãc mà. Em chÉ có th¯c m¯c là t¡i sao anh r¥t kiên trì vÛi chuyÇn b¯t em ph£i làm quen vÛi viÇc t¡o account thôi. Ch¯c anh ph£i lý do gì ó ph£i hông?"

Tôi áp:

"êa, em tinh ý l¯m. Ch¯c ch¯n là anh có lý do. Lý do khá rõ ràng nh° sau n¿u em th¯c m¯c. Bßi l½ em ph£i Íc ph§n h°Ûng d«n cách t¡o user account, ch¯c ch¯n nó s½ kèm thông tin vÁ tài kho£n và quyÁn h¡n cça account. Nó l¡i trñc ti¿p dính ¿n nhóm ng°Ýi dùng (group) và c£ password, th° måc nhà (home directory), shell ¥n Ënh cho ng°Ýi dùng và chç quyÁn truy c­p trên filesystem.... ây là nhïng ki¿n théc cn b£n không thà thi¿u °ãc. N¿u em là ng°Ýi có 'máu' system admin thì em s½ tò mò tìm hiÃu thêm c¡ ch¿ l°u trï password cça Linux th¿ nào, c¡ ch¿ xác thñc ng°Ýi dùng (authentication) ra làm sao. N¿u em là ng°Ýi có 'máu' coder thì em s½ tò mò tìm hiÃu xem khi tài kho£n °ãc t¡o ra, nó s½ dính líu ¿n các system calls nào, khi ng°Ýi dùng xác thñc à login thì có nhïng system calls nào c§n dùng? thu­t toán nào dùng à bm (hash) password?.... Nhïng ki¿n théc này là nhïng ki¿n théc s½ làm em "v­t vã" trong giai o¡n §u nh°ng không thà thi¿u °ãc n¿u nh° em muÑn làm 'hacker' úng ngh)a."

"cuti" c£m thán:

"Chà chà, nghe mà phát khi¿p. Thôi anh ch­m ch­m l¡i mÙt chút hông thì em 'nuÑt' không kËp. Ý anh là em ph£i nhìn v¥n Á të nhiÁu ph°¡ng diÇn? nhìn v¥n Á nh° mÙt system admin cing nh° mÙt coder? Và t¡i sao mình c§n ph£i hiÃu rõ mÙt cách tinh t¿ nh° v­y anh?"

Tôi c°Ýi áp:

"Anh oán tr°Ûc th¿ nào em cing th¯c m¯c nhïng iÃm này. à anh gi£i thích thêm mÙt tí nïa. Hãy thí dùng mÙt ví då 'hiÇn thñc' h¡n mÙt tí: em vào °ãc mÙt dinh thñ, trong dinh thñ có mÙt cái két s¯t chéa b£n Ó d«n ¿n mÙt kho tàng khÕng lÓ. ViÇc em c§n làm là l¥y cho °ãc t¥m b£n Ó này. Có hai lña chÍn: 1) dùng thuÑc nÕ Ã phá tan cái két s¯t (có thà làm hÏng c£ cái b£n Ó và t¡o ti¿ng Ón, à l¡i d¥u tích) 2) nghiên céu cách mß Õ khoá cça cái két s¯t này (à mß nó ra mÙt cách nh¹ nhàng, êm th¥m, không có v¿t tích, không có ti¿ng Ón). T¥t nhiên cách thé nh¥t nhanh h¡n và có nhiÁu hiÃm ho¡ h¡n cách thé nhì. Trong khi ó, cách thé nhì khó khÕ h¡n, m¥t thÝi gian h¡n nh°ng ít hiÃm ho¡ h¡n. H¡n nïa, sau khi nghiên céu kù l°áng cách mß khoá két s¯t, tñ nhiên các két s¯t khác trß nên không còn khó khn Ñi vÛi em nïa. V­y à thñc hiÇn cách thé nhì, em c§n nghiên céu c©n th­n c¥u trúc cça các lo¡i khoá të ¡n gi£n ¿n phéc t¡p, cách làm viÇc cça chúng, iÃm m¡nh, iÃm y¿u cça chúng.... N¿u nhìn vÁ h°Ûng thiÇn, sau khi nghiên céu chúng, em có thà kh¯c ch¿ chúng và cing có thà t¡o ra nhïng lo¡i khoá khác vïng vàng h¡n ch³ng h¡n. N¿u nhìn vÁ h°Ûng ác, sau khi nghiên céu chúng, em có thà kh¯c ch¿ các lo¡i khoá mÙt cách dÅ dàng à mß két.... Ý anh không ph£i khuy¿n khích b» khoá, Ùt nh­p ß ây. Ý anh chÉ muÑn nói r±ng, à kh¯c ch¿ ho·c c£i thiÇn mÙt viÇc gì ó, em ph£i thông hiÃu nó và nhïng giÁng mÑi xung quanh nó. Hay nói mÙt cách khác, kù nng và ki¿n théc là nhïng thé không thà thi¿u °ãc. Ch¯c em cing hiÃu là anh không khuy¿n khích dùng cách thé nh¥t.

Quay vÁ vÛi chuyÇn tài kho£n ng°Ýi dùng cça anh em mình. N¿u em không n¯m rõ c¡ ch¿ làm viÇc này, không có cách gì em có thà 'hack' nó °ãc. Nó cing t°¡ng tñ nh° Õ khoá cça két s¯t ß trên thôi. Em tho£ mãn rÓi ché? :)"

"cuti" tr§m ngâm hÓi lâu, có l½ cu c­u ang ngh) ngãi. Sau ó, "cuti" tr£ lÝi:

"Chà... d¡, em ang Íc l¡i thông iÇp cça anh, ang cÑ g¯ng hình dung nhïng gì n±m sau màn 'ki¿n théc' mà anh nói ß ây. Em c£m th¥y d°Ýng nh° nhïng iÁu em hiÃu vÁ 'hack' tr°Ûc giÝ không giÑng nhïng iÁu anh nói. Em lÝ mÝ hình dung nhïng iÁu anh nói ß ây có l½ là nguyên t¯c à thí kh¯c ch¿ 'các lo¡i khoá' chÛ không riêng gì 'mÙt lo¡i khoá'. Ph£i không anh?"

Tôi áp mÙt cách vui v»:

"Em thông minh l¯m. N¿u 'hack' °Íc mÙt lo¡i khoá thì không nên 'hack' làm gì. mÙt lo¡i khoá ß ây theo ngh)a en là mÙt tr°Ýng hãp. ¿n khi g·p tr°Ýng hãp thé hai: b¿ t¯c vì không hiÃu rõ nguyên t¯c. Bßi v­y, ngay të §u anh ã nói: "con °Ýng chông gai" mà :)"

"cuti" dè d·t:

"Nh° v­y tr°Ûc m¯t, em không nhïng ph£i hÍc vi mà còn ph£i bi¿t cách làm cái gì vÛi cía sÕ 'en ngòm có chï tr¯ng' kia nïa. Th­t sñ ngay lúc này em không thà hình dung nÕi sau khi login Linux server b±ng 'Putty' gì ó, em s½ thao tác nhïng gì. Ui cha, th¥y v­y mà gay thiÇt. V­y khi em bí cái gì ó, em gßi message cho anh trên YIM nha?"

Tôi tr£ lÝi:

"Xong ngay thôi em. Cé hÏi. Anh s½ cÑ g¯ng login YIM Áu ·n h¡n à giúp em mÙt tay. Nên xem trò 'ánh cuÙc' này cça anh em mình là mÙt chuyÇn dùng à t¡o iÁu kiÇn khai phá. K¿t qu£ quan trÍng nh¥t chính là ki¿n théc mình g·t hái trên các b°Ûc mình i qua."

"cuti" lßi xßi tr£ lÝi:

"D¡ em bi¿t mà. Em có mÙt th¯c m¯c nïa là em th¥y r¥t l¡ là anh ch°a bao giÝ dùng mÙt lÇnh nào ó à làm ví då trong khi mình nói chuyÇn c£. Em th¥y ß âu cing dùng lÇnh à minh ho¡ h¿t, t¡i sao v­y anh?"

Tôi c°Ýi, áp:

"LÇnh? lÇnh nào? lÇnh cça cái gì? lÇnh à làm gì? Hì hì, anh ùa ó. Anh ngh), hÅ nói ¿n lÇnh là nói ¿n 'thñc hành' mà à 'thñc hành' thì ph£i có cn b£n 'lý thuy¿t' mà à 'nuÑt trôi' °ãc 'lý thuy¿t' thì ph£i n¯m °ãc nÁn t£ng và kù nng ti¿p c­n v¥n Á. Nó giÑng nh° mình xây mÙt ngôi nhà v­y, 'lÇnh' t°¡ng tñ nh° thao tác ráp cía sÕ vào béc t°Ýng nh°ng trong tr°Ýng hãp cça mình, mình ch°a hÁ có ngôi nhà, ch³ng có cái nÁn, ch°a có béc t°Ýng thì làm sao mà g¯n cía sÕ vào? ViÇc tr°Ûc tiên mình xác Ënh rõ là mình có muÑn xây nhà không? có ç kiên trì à xây nhà không? sau ó mÛi tìm hiÃu xây cái nhà thì c§n nhïng gì? rÓi të ó mÛi lên plan và thñc hiÇn tëng nÁn nhà i lên. Ngay bây giÝ mình nói chuyÇn ráp cía sÕ thì h¡i sÛm và h¡i ch°a c§n thi¿t :). ây, à thÏa mãn n×i béc xúc cça em, xem thí mÙt lÇnh:

Code:

find / -depth -type f -perm -0202 | xargs file | cut -f1 -d: | while read file; do printf "cuti is insane

" >> $file; done

Em thí xem nó có ngh)a là gì? Tác dång cça nó làm gì?"

"cuti" vÙi vã tránh:

"Thôi thôi anh già khó tánh ¡i. Anh 'k¹p' nh° cua k¹p th¿ này thì làm sao em cãi nÕi. Anh dùng ví då ngôi nhà là em ã hiÃu rÓi. Thêm cái dòng lÇnh kó quái ß trên chÉ tÕ làm cho em lùng bùng thêm thôi. :("

Tôi vui v» áp l¡i:

"Hì hì, v­y thì tÑt rÓi. NhÛ ëng ch¡y cái lÇnh trên và nh¥t là không °ãc ch¡y nó b±ng root không thì em ph£i cài l¡i con Linux cça em ó. Anh hy vÍng bây giÝ em ã hiÃu th¿ nào là 'ngÍn ngành'."

"cuti" ti¿p tåc tò mò:

"Ui trÝi, cái lÇnh kó quái cça anh làm gì mà kinh v­y?"

Không muÑn ào sâu vÛi cái lÇnh, tôi g¡t phng:

"Thôi em, coi chëng l¡c Á và lâm vào tình tr¡ng 't©u hÏa' bây giÝ. Anh b£o £m n¿u em i úng °Ýng lÑi, úng thé tñ lÛp lang thì mÙt ngày kia em s½ rõ dòng lÇnh trên nh° Íc tiÃu thuy¿t v­y :). Anh muÑn hÏi em thêm mÙt iÃm tr°Ûc khi anh sign off. N¿u dña trên tinh th§n 'cái nhà' ß trên, em ngh) mình ang ß giai o¡n nào?"

"cuti" trß l¡i vÛi cái tính hóm hÉnh cÑ hïu:

"D¡, mình ang ß giai o¡n..... v­t vã ;-). Hông có, em ùa ó. Em ngh) mình ß trong giai o¡n tìm hiÃu cách xây cái nÁn cho cái nhà. Ph£i hông anh?"

Tôi áp, cÑ Ùng viên "cuti":

"úng ó cuti. Mình ang trong giai o¡n 'v­t vã tìm hiÃu cách xây cái nÁn nhà'. iÁu này có ngh)a mình ã quy¿t tâm xây cái nhà. Anh hy vÍng quy¿t tâm này s½ bÁn bÉ cho ¿n khi cn nhà °ãc xây xong và anh tin em có ç 'lía' Ã hoàn t¥t. Thôi, anh ph£i i ây. C§n gì cé YIM cho anh. Chào cuti"

"cuti" áp:

"D¡, v­t vã trong 'lía' ;-). Chào anh."

30/6/2005

<còn ti¿p>

Conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 4

7. GiÁng mÑi:

Nh° tôi oán tr°Ûc, l§n này qu£ th­t "cuti" im ¯ng. SuÑt hai tu§n lÅ, tôi không nh­n °ãc mÙt thông iÇp nào të "cuti" nh°ng l§n này tôi không còn ng¡i "cuti" bÏ cuÙc mà tin r±ng "cuti" ang 'v­t lÙn' vÛi mÛ khái niÇm mÛi, vÛi môi tr°Ýng hÇ iÁu hành mÛi. Tôi bi¿t ây là mÙt o¡n dÑc khá cao và cng th³ng vÛi "cuti" vì cu c­u g§n nh° ph£i b¯t §u l¡i të §u vÛi mÙt hÇ iÁu hành mÛi m».

Có sµn kinh nghiÇm dùng máy tính và sí dång hÇ iÁu hành Windows cÙng vÛi dm ba m¹o v·t không t¡o iÁu kiÇn thu­n lãi cho "cuti" 'v°ãt dÑc' mà ng°ãc l¡i có thà t¡o nhïng khó khn n·ng nÁ h¡n vì ch¯c ch¯c cu c­u s½ không ngëng liên hÇ ¿n nhïng thói quen và ki¿n théc có sµn vÁ hÇ iÁu hành Windows. iÁu áng nói là "cuti" không hÁ gßi mÙt thông iÇp nào à than vãn ho·c c§u céu. Tôi không bi¿t cu c­u có tham gia diÅn àn nào khác và ang tung lên hàng lo¡t câu hÏi. Dù "cuti" có thí gi£i quy¿t cách này, cu c­u ch¯c ch¯n s½ m¥t mÙt kho£ng thÝi gian dài à i ¿n giai o¡n hiÃu °ãc mình ang ß âu.

Sau hai tu§n, tôi nh­n °ãc mÙt béc e-mail të "cuti". Nó có nÙi dung r¥t dí dÏm nh° sau (tôi ã l°ãt bÏ nhïng chi ti¿t riêng t° và không phù hãp vÛi tinh th§n chç Á, tôi cing ã iÁu chÉnh l¡i cho ngôn të nghiêm túc và chuyên nghiÇp h¡n):

"Anh già khó tánh kính m¿n,

Hai tu§n qua em bË con chim cánh cåt 'è' g§n ng¥t xÉu nhiÁu l§n. Em nhiÁu l§n r¥t muÑn gßi anh mÙt vài thông iÇp à c§u céu nh°ng lÝi anh nói cé ám trong §u: "Sao hÏi anh? CuÑn c©m nang Linux cça em âu?" làm em ng§n ng¡i. Lúc này em không khác gì ng°Ýi i trong rëng Amazon, ch³ng còn bi¿t ph°¡ng h°Ûng ß âu nïa. Bây giÝ em mÛi th­t sñ th¥y chuyÇn ánh cuÙc cça anh em mình khó ¿n méc nào.

Anh già bi¿t hông? sau bao nhiêu là mò m«m, em mÛi hiÃu ra chÉ có root mÛi có thà t¡o account cho ng°Ýi dùng và mÛi tìm ra °ãc lÇnh dùng à t¡o account. Nhìn l¡i thì th¥y nhïng chuyÇn này không khác gì bên Windows m¥y. Tuy nhiên, à khai mß nhïng iÃm anh °a ra vÁ chuyÇn 'nhìn sñ viÇc nh° mÙt system admin hay mÙt coder' thì em qu£ l¡c lÑi m¥t rÓi. CuÑn 'c©m nang Linux' cça em không Á c­p bao nhiêu vÁ nhïng iÃm này. V­y em tìm hiÃu nhïng thông tin này ß âu anh? Th­t kó l¡ anh ¡, tr°Ûc ây hÅ th¥y cuÑn e-book nào dày vài trm trang là em h¿t muÑn ång tÛi. GiÝ ây, em l¡i mong cuÑn e-book Linux cça em dày h¡n, nhiÁu h¡n. Em ngh) anh là con ng°Ýi nguy hiÃm là mÙt iÁu không sai bßi vì không hiÃu t¡i sao anh có thà bi¿n em të mÙt éa không buÓn ång ¿n cuÑn e-book mà bây giÝ l¡i mong nó dày h¡n. Hì hì, em nói ùa ó thôi. Có nhiÁu lúc em muÑn bÏ dß Ã i b¯n Gunbound cho kho» nh°ng ngh) l¡i thì th¥y h¡i... ê vì th¿ nào cing bË anh chíi cho mÙt ch·p, nên thôi.

Em ã t¡o °ãc account dành cho ng°Ýi dùng bình th°Ýng và có thà login b±ng account ó rÓi. Tuy nhiên, em ang ß trong giai o¡n 'd­m chân t¡i ch×' bßi vì khi dùng account này và thí 'vi' trang index.html cça web server trên máy chç Linux thì nó luôn luôn báo l×i 'changing read-only file'. Câu hÏi cça em là: b±ng cách nào mình có thà 'vi¿t' vào nó à thay Õi nÙi dung hß anh?

N¿u r£nh anh sÛm hÓi âm dùm em nhe? Em bi¿t anh ch¯c b­n rÙn l¯m nh°ng không hÏi anh thì hÏi ai bây giÝ? N¿u anh quá b­n rÙn thì ch¯c em ph£i ành cho con chim cánh cåt 'è' thêm ít hôm nïa, ch¯c cing không sao âu.

Chúc anh và gia ình vui kho».

Em,

Cuti."

Tôi Íc e-mail cça "cuti", ng«m ngh) tìm cách tr£ lÝi cho cu c­u. Câu hÏi cu c­u °a ra [i]"b±ng cách nào mình có thà 'vi¿t' vào nó à thay Õi nÙi dung hß anh?" là mÙt câu hÏi ß d¡ng có thà có vô sÑ các câu tr£ lÝi. Tôi s½ chÍn câu tr£ lÝi nào ây?

M¥y ngày k¿ ti¿p, tôi vô cùng b­n rÙn nên v«n ch°a tr£ lÝi cho "cuti" nh°ng thÉnh tho£ng tôi ghi xuÑng dm ba iÃm quan trÍng à dùng chúng mà khai triÃn câu tr£ lÝi. ChiÁu nay, trên °Ýng i làm vÁ, ngÓi trên tàu lía, tôi mß laptop ra và quy¿t Ënh th£o mÙt béc e-mail cho "cuti" nh° sau:[/i]

"Cuti thân m¿n,

Anh ã nh­n °ãc mail cça em vài ngày tr°Ûc ây nh°ng lu bu công viÇc quá nên ch°a hÓi âm ngay cho em °ãc. Mong em thông c£m. Anh s½ tr£ lÝi các th¯c m¯c cça em theo thé tñ nh° sau:

1. Em nên ng§n ng¡i khi hÏi anh n¿u nh°:

- em ch°a Íc kù cuÑn "c©m nang" cça em

- em Íc rÓi nh°ng ch°a hiÃu rõ và không muÑn Íc l¡i l§n nïa à hiÃu rõ h¡n

Nói cách khác, n¿u em hÏi có cái gì dính dáng vÛi "what" và "how" thì cé nhÛ ¿n câu: "Sao hÏi anh? CuÑn c©m nang Linux cça em âu?" :). N¿u em hÏi có cái gì dính vÛi "why" thì anh s½ tr£ lÝi th¯c m¯c cça em.

Lý do anh khuy¿n khích em Íc và suy ngh) vì quá trình 'hành xác' này s½ bi¿n nhïng thé em Íc và suy ngh) thành 'tài s£n' cça em. Anh có thà tÕng k¿t, rút gÍn l¡i nhïng iÁu em c§n Íc và gi£i thích cho em. Tuy nhiên, mình không nên i theo h°Ûng này vì nó làm... h° ng°Ýi i :). Em c§n tñ mình hình thành mÙt lÑi suy ngh), ti¿p c­n và gi£i quy¿t v¥n Á riêng cho mình.

2. ChuyÇn ánh cuÙc cça anh em mình s½ r¥t khó Ñi vÛi nhïng ai không hiÃu °ãc chiÁu rÙng và bÁ sâu cça iÁu c§n ph£i làm. Nó s½ khó vÛi nhïng ai ã hình dung °ãc chiÁu rÙng và bÁ sâu này và nó s½ không khó vÛi nhïng ai ã 'thí' i xuÑng bÁ sâu và i ngang qua chiÁu rÙng này. Íc mail cça em, anh hình dung là em ã b¯t §u hình dung °ãc chiÁu rÙng và bÁ sâu cça v¥n Á. Th­t tình mà nói, em r¥t sáng d¡ và chËu khó vì em ã i qua mÙt o¡n °Ýng khá 'chông gai' trong mÙt kho£ng thÝi gian ng¯n ngçi nh° th¿. Anh không g·p bao nhiêu ng°Ýi có thà làm nh° em âu. Cho nên g¯ng lên em và nên kiên nh«n h¡n.

3. Câu hÏi "b±ng cách nào mình có thà 'vi¿t' vào nó à thay Õi nÙi dung hß anh?" thì anh có thà tóm gÍn nh° sau:

Không riêng gì root làm chç mÙt (ho·c nhiÁu) hÓ s¡, th° måc... mà b¥t cé tài kho£n nào cing v­y, n¿u chç nhân cça các hÓ s¡ này ¥n Ënh mÙt sÑ giÛi h¡n ¿n nhïng thé hÍ t¡o ra thì tÕng quát mà nói, em không thà thay Õi °ãc nó mÙt cách chính diÇn b±ng chính tài kho£n cça em ngo¡i trë... em 'hack' (và ngo¡i trë em có 'root' account). Hành Ùng 'hack' ß ây °ãc ti¿p c­n và phân tích ra sao thì tùy vào méc Ù am hiÃu hÇ thÑng cça ng°Ýi muÑn 'hack'. Tuy nhiên có hai tr°Ýng hãp tÕng quát à có thà làm nÁn t£ng cho viÇc 'thay Õi nÙi dung hÓ s¡' ¥y:

- 'm°ãn tay' root à thay Õi nÙi dung vì chÉ có root mÛi có thà làm chuyÇn này.

- 'bi¿n' mình thành root à thay Õi nÙi dung cing vì lý do ß trên.

Ngoài ra, có thà có kh£ nng khác. Ví då nh° hÓ s¡ này cho phép nhïng ai trong nhóm (group) iÁu chÉnh (n¿u nh° attribute cça hÓ s¡ này ¥n Ënh nh° th¿).

V­y, iÁu em c§n tìm hiÃu ß ây là gì? ây:

- tìm chç quyÁn và giá trË ¥n Ënh chç quyÁn hÓ s¡ mình c§n thay Õi (cho owner, group và others) xem thí nó là gì?

- 'm°ãn tay' root là sao? do âu có khái niÇm 'm°ãn tay' root?

- 'bi¿n' mình thành root là sao? do âu có khái niÇm 'bi¿n' mình thành root?

ây là cÑt lõi cça các iÃm y¿u th°Ýng g·p trên hÇ thÑng *nix n¿u ch¿ Ù m·c Ënh bË l×i ho·c system admin thi¿u kinh nghiÇm, thi¿u c©n th­n trong quá trình iÁu chÉnh ho·c chính software trên hÇ thÑng này bË l×i. Të ba iÃm y¿u này mß ra muôn vàn kh£ nng, bi¿n thái, k¿t hãp, iÁu ch¿, thí nghiÇm.... và ây chính là 'hack': hành Ùng tìm ki¿m và i ¿n tác Ùng à thay Õi thái Ù làm viÇc cça hÇ thÑng. Không riêng gì trên *nix mà b¥t cé hÇ iÁu hành nào cing v­y, b¥t cé c¡ ch¿ xác thñc ng°Ýi dùng (authentication) và ¥n Ënh chç quyÁn ng°Ýi dùng (authorisation) nào Áu có c¡ hÙi bË 'xoáy thçng' dña trên ba iÃm trên.

Anh chÉ có thà tr£ lÝi chi ti¿t h¡n khi nào em ã n¯m vïng c¡ ch¿ ¥n Ënh chç quyÁn cça tài nguyên trên mÙt máy chç. Em còn nhÛ o¡n lÇnh anh gßi cho em l§n tr°Ûc làm em 'lùng bùng' không? Nó có liên quan trñc ti¿p ¿n cái gÍi là giá trË ¥n Ënh chç quyÁn ó. Anh giÛi thiÇu thêm vài të khoá: ls, umask, chmod, chown, chgrp à em á ph£i lan man. Sau khi ã hiÃu rõ nhïng gì thuÙc vÁ m¥y të khoá trên và nhïng giÁng mÑi xung quanh nó, th¯c m¯c cça em s½ trß nên rõ ràng h¡n.

Thé nm tÛi ây anh có ngày nghÉ. Có l½ anh s½ b­n buÕi sáng nh°ng buÕi chiÁu thì r£nh. N¿u muÑn 'bÕ' thêm vài 'thang' thì cho anh bi¿t. Të ây ¿n ó còn ba ngày cho nên em nên tham kh£o qua m¥y të khoá ß trên tr°Ûc i. Em cing nên chu©n bË sµn nhïng iÁu mình th¯c m¯c thì anh em mình 'chat' mÛi có ch¥t l°ãng. Nên nhÛ: ask me why, don't ask me what :)

Chúc em mÙt ngày vui.

Chào cuti."

TÑi hôm ¥y tôi gßi "cuti" béc e-mail trên. Sáng ngày hôm sau tôi nh­n °ãc hÓi âm cça "cuti":

"Hello anh già khó tánh :)

Cé m×i l§n nh­n °ãc mÙt thông iÇp cça anh, bÙ não cça em l¡i ch¡y ro ro. Em l¡i sinh ra mÙt cái t­t mÛi là miÇng hay l©m b©m ;-), ch¯c anh bi¿t lý do t¡i sao.

ChiÁu thé Nm em cing r£nh nh°ng ph£i sau mÙt giÝ tr°a l­n bßi vì em ph£i vào tr°Ýng. Nh° v­y kho£ng sau 4 giÝ chiÁu n¡i anh ß. V­y có tiÇn không anh?

Em s½ 'lên danh sách' nhïng iÁu em th¯c m¯c à °ãc anh 'châm' cho vài phát. Em ang lùng thêm vài cuÑn e-book Linux, không bi¿t anh có cuÑn nào khác không?

V­y anh nhé? H¹n g·p l¡i chiÁu thé Nm.

Chúc anh mÙt tu§n làm viÇc vui v».

Cuti."

SuÑt m¥y ngày ti¿p theo, tôi vùi §u vào công viÇc và ba ngày i qua nhanh chóng. ChiÁu thé Nm ¥y tôi quên bµng mình có 'h¹n' vÛi "cuti", v«n i ch¡i vÛi gia ình. Mãi ¿n sau 4 giÝ chiÁu mÛi sñc nhÛ. Khi tôi vÁ nhà và logon, "cuti" v«n ch°a online. Tôi c°Ýi, th§m ngh) "Chà, t°ßng âu mình cho cuti leo cây, không ngÝ l¡i bË cuti cho mình leo cây". Tôi gßi "cuti" mÙt offline message:

"Cuti, anh ã online. Khi nào em vào, hú mÙt ti¿ng cho anh bi¿t."

Mãi m°Ýi lm phút sau tôi mÛi nh­n °ãc thông iÇp hÓi báo cça "cuti". Cu c­u có v» "hÛt hãi" l¯m:

"D¡ em ây, em ây. Trên °Ýng i hÍc vÁ bË x¹p lÑp anh à cho nên trÅ nãi h¿t. Cho em xin l×i nhe. May mà không có anh ß ây chÛ không thì ch¯c cing bË n vài cái 'kí' trên §u rÓi. Hi hi."

Tôi tr£ lÝi:

"Không sao em, anh cing mÛi online chëng 15 phút thôi. Em n c¡m ch°a? cé thong th£ i."

"cuti" l¡i hóm hÉnh:

"D¡ em ang vëa 'Ûp', vëa 'chat' ây. Hông ph£i vëa Ñp, vëa chát âu nghe? Ai mà dám Ñp chát vÛi anh ;-)."

Tôi c°Ýi, áp:

"V­y em thong th£ n c¡m i rÓi mình nói chuyÇn sau. Anh duyÇt web, tr£ lÝi e-mail cing °ãc."

"cuti" rÑi rít:

"D¡ không, °ãc mà anh. Bång Ûp kÇ bång, não Ûp kÇ não. Em n hai thé mÙt l°ãt cing °ãc mà."

Phì c°Ýi vì tính dí dÏm cÑ hïu cça cu c­u, tôi cing hóm hÉnh vÛi cu c­u:

"V­y thì °ãc thôi, anh chÉ sã c¡m thì lên não mà chï thì xuÑng ruÙt... già thì công toi thôi, hì hì. V­y em ã 'lên danh sách' nhïng iÁu em muÑn hÏi ch°a?"

"cuti" nhanh nh©u:

"Ha ha, anh cing bi¿t nói chuyÇn t¿u lâm nïa sao? Em cé t°ßng anh là mÙt lão ¡o m¡o chÉ có sÑ vÛi chï không chÛ! Còn chuyÇn danh sách thì có rÓi chÛ anh. Lúc máy mó trên con Linux thì bao nhiêu là câu hÏi. Lúc Íc mail cça anh l¡i thêm c£ Ñng câu hÏi. V­y mà khi ngÓi xuÑng liÇt kê l¡i thì ch³ng còn °ãc bao nhiêu câu h¿t. L¡ th­t."

Tôi áp:

"V­y em cé hÏi rÓi tñ nhiên câu hÏi này s½ d«n ¿n câu hÏi kia thôi. Còn chuyÇn em ngh) anh ¡o m¡o thì em l§m to rÓi ó :)."

"cuti" trËnh trÍng:

"Em hÏi nhe? Anh sµn sàng ch°a?"

Tôi b­t c°Ýi, tr£ lÝi:

"Shoot!"

"cuti" chÙp ngay câu tr£ lÝi cça tôi và hÏi liÁn:

"shoot là gì v­y anh? á banh h£?"

Tôi không nén nÕi, b­t c°Ýi xoà vì tính con nít và nng Ùng (và có ph§n thi¿u t­p trung) cça "cuti". Tôi áp:

"Thôi i ông th§n. Ráng t­p trung vào v¥n Á, ëng th¥y gì hÏi ó. Em chÉ c§n bi¿t 'shoot' là 'hÏi i' là ç. ó chÉ là mÙt cách nói."

"cuti" ra v» nghiêm trang:

"Câu 1: t¡i sao anh nói: "ask me why, don't ask me what" v­y? Em hiÃu ngh)a ti¿ng Anh là hÏi t¡i sao, ëng hÏi cái gì. V­y ý anh là th¿ nào?"

Tôi áp:

"R¥t ¡n gi£n.

- 'What' là 'cái gì', 'cái gì' có thà tìm th¥y trong sách giáo khoa và sách tham kh£o. Công viÇc cça em là tìm ra câu tr£ lÝi cho các cái 'cái gì' bßi vì anh không thà tr£ lÝi h¿t cái 'cái gì' °ãc. 'cái gì' là ki¿n théc cn b£n.

- 'Why' là 't¡i sao', 't¡i sao' cing có trong sách giáo khoa và sách tham kh£o nh°ng c§n ph£i °ãc úc k¿t, rút tÉa. MÙt ng°Ýi thà ch°a ç 'cái gì' à hình thành 't¡i sao', có thà ch°a ç kinh nghiÇm à hình thành 't¡i sao' và cing có thà ch°a ç suy lu­n à hình thành 't¡i sao'. 't¡i sao' là ki¿n théc mß rÙng.

Cho nên anh có thà giúp em nhïng cái 'why' mà không thà giúp em nhïng cái 'what'. Nên nhÛ, sau khi có 'what' rÓi thì mÛi có 'why'.

RÓi, câu k¿ ti¿p."

"cuti" th£ng thÑt:

"TrÝi! anh gi£i thích y nh° kiÃu suy lu­n toán hÍc hông b±ng. Ùm... Ã em xem l¡i mÙt phát nïa cái. Ùm... hình nh° l§n tr°Ûc anh Á c­p ¿n sách giáo khoa và sách tham kh£o cing có giÁng mÑi vÛi chuyÇn này ph£i hông anh?"

Tôi c°Ýi và tr£ lÝi cu c­u:

"Ái chà, em cing dùng chï 'giÁng mÑi' sao? úng v­y, sß d) anh °a ra chuyÇn Íc sách, phân lo¡i sách và ph°¡ng pháp tÕng hãp, thâu th­p të sách là vì anh có ý muÑn em ph£i i qua cái 'what' tr°Ûc sau ó mÛi có thà khai triÃn ¿n cái 'why'. RÓi, câu thé hai?"

"cuti" li¿ng tho¯n:

"Ái chà, chï 'giÁng mÑi' là chï em copy anh ó thôi. Chï này ít th¥y dùng nh°ng em th¥y hay hay. Ch¯c mình ph£i i sâu vào chi ti¿t kù thu­t Íc sách và rút tÉa të sách quá anh à, t¡i vì em v«n th¥y nhïng thé trong sách muôn trùng. iÁu mình c§n tìm hiÃu thì ít Ïi, iÁu mình không c§n tìm hiÃu thì quá nhiÁu. Cái khó là tìm ra °ãc nhïng ph§n mình c§n trong mÙt cuÑn sách. Nh°ng thôi, à mình bàn chuyÇn này sau. Câu thé hai cça em là: anh có thà cho em vài ví då kù thu­t vÁ cái 'giÁng mÑi' mà anh nói ß ây không?"

"cuti" qu£ không ¡n gi£n tí nào. Tôi tr§m ngâm vài giây rÓi tr£ lÝi:

"°ãc rÓi. Cái gÍi là 'giÁng mÑi' chính là nhïng m¯c xích të ph§n này ¿n ph§n kia mÙt cách logic trong mÙt chu×i sñ viÇc, hiÇn t°ãng, thà tr¡ng. Trên bình diÇn kù thu­t và nh¥t là trong khuôn khÕ nhïng gì mình ang i qua, 'giÁng mÑi' nói mÙt cách tÕng quát, là nhïng b°Ûc d«n mình i ¿n måc ích cuÑi. Ví då:

- em Íc sách úng ph°¡ng pháp à hình thành cái 'what', rÓi të 'what' i ¿n 'why, thi¿u 'what' không thà hình thành 'why', thi¿u 'why' không thà i ¿n ích: ây là 'giÁng mÑi' sñ viÇc.

- em không thà iÁu chÉnh nÙi dung index.html kia: ây là hiÇn t°ãng. N¿u phân tích hiÇn t°ãng này thì em th¥y r±ng, à có thà thñc hiÇn viÇc iÁu chÉnh này em ph£i có ç chç quyÁn, à có ç chç quyÁn em ph£i là 'root', à bi¿n em thành 'root' ho·c m°ãn tay 'root' thì em ph£i hiÃu rõ nhïng iÃm nào trong hÇ thÑng có thà cho phép cho em thñc hiÇn: ây là 'giÁng mÑi' hiÇn t°ãng.

- em c§n ph£i tham kh£o và hiÃu rõ ls, umask, chmod, chown và chgrp là vì ls cho phép em liÇt kê tính ch¥t và thà tr¡ng cça các hÓ s¡ và th° måc, umask ¥n Ënh các thà tr¡ng này cho tình tr¡ng m·c Ënh và chmod, chown và chgrp thay Õi ho·c ¥n Ënh l¡i thà tr¡ng hiÇn có sang thà tr¡ng mÛi: ây là 'giÁng mÑi' thà tr¡ng.

Em Íc ba ví då trên rÓi suy g«m i :)"

"cuti" l·ng thinh hÓi lâu rÓi áp, có ph§n gay c¥n:

"grë... anh nói chuyÇn Ùc thiÇt, nh°ng anh dùng nhiÁu të làm em lùng bùng rÓi :(. Em ch°a hÁ th¥y có sách giáo khoa nào vÁ IT mà Á c­p nhïng iÃm: sñ viÇc, hiÇn t°ãng và thà tr¡ng nh° anh. MÙt lÇnh là mÙt lÇnh, mÙt quyÃn sách là mÙt quyÃn sách.... em ch°a hÁ th¥y qua lÑi diÅn gi£i sñ viÇc nh° anh. Th­t tình em h¡i bË lùng bùng ây anh ¡. Em không hiÃu t¡i sao em ph£i hiÃu rõ giÁng mÑi thà tr¡ng cça các lÇnh. BÙ muÑn trß thành mÙt ng°Ýi rành r½ vÁ IT thì ph£i hiÃu rõ các 'giÁng mÑi' mà anh °a ra sao?"

Tñ nhç là mình nên kiên nh«n vì "cuti" ã 'lá' ám £nh vÛi lÑi suy ngh) cåc bÙ, tôi ti¿p tåc tr£ lÝi:

"Nhïng ví då vÁ 'giÁng mÑi' trên là úc k¿t logic cça nhïng tr°Ýng hãp anh em mình ang i qua. N¿u em chÉ hiÃu ß méc Ù 'mÙt lÇnh là mÙt lÇnh', em chÉ c§n bi¿t gõ lÇnh nào ó còn chuyÇn gì gì x£y ra ±ng sau là chuyÇn em không muÑn bi¿t thì em chÉ dëng l¡i ß méc Ù ng°Ýi dùng bình th°Ýng. Em còn nhÛ chi ti¿t chuyÇn 'nh¥n nút' tr°Ûc ây không? Ng°Ýi dùng bình th°Ýng chÉ... nh¥n nút và chÝ k¿t qu£. script kiddie cing nh¥n nút và chÝ k¿t qu£. Tuy nhiên, hacker nh¥n nút và bi¿t rõ ngay sau khi nút °ãc nh¥n, chuyÇn gì ã và ang x£y ra. Bßi vì hacker ã khi¿n cho cái 'nút' kia thñc thi nhïng iÁu cå thà mà anh ta muÑn. 'LÇnh' cing nh° 'nút' v­y, chúng Áu là ph°¡ng tiÇn à tác Ùng ¿n hÇ thÑng. 'hacker' không nhïng bi¿t nhïng ph°¡ng tiÇn tác Ùng cn b£n, hiÃu rõ c¡ ch¿ và giÁng mÑi làm viÇc cça chúng mà còn ph£i có kh£ nng t¡o 'nút' và 'lÇnh' à tho£ mãn òi hÏi cça mình. N¿u ch°a n¯m °ãc 'nút' và 'lÇnh' làm nhïng gì ¿n hÇ thÑng thì viÇc t¡o thêm 'nút' và 'lÇnh' là chuyÇn không thà x£y ra. ây chính là v¥n Á thuÙc vÁ giÁng mÑi.

Riêng chuyÇn ngôn të anh dùng thì... em thông c£m h£? anh quen dùng nhïng të ¥y rÓi. V£ l¡i anh không bi¿t em dùng nhïng të nào t°¡ng °¡ng nên ành ph£i dùng nhïng të anh quen thuÙc, hì hì."

"cuti" ti¿p tåc v·n:

"V­y anh có thà nói rõ h¡n cái 'giÁng mÑi' giïa ls, umask và chmod °ãc không anh? T¡i sao anh ¡n cí m¥y lÇnh này? Em th¥y v¥n Á 'giÁng mÑi' anh °a ra ß ây ch°a tÏ l¯m. Hay là em lù khù quá nên ch°a n¯m °ãc ý anh."

Tôi áp:

"Anh ngh) anh ã gi£i thích khá rõ trong e-mail và trong câu tr£ lÝi trên rÓi mà? Em nên xem l¡i. Có l½ mình i xuyên qua v¥n Á h¡i nhanh nên em ch°a có ç thÝi gian à suy g«m ó thôi. RÓi, câu hÏi ti¿p theo là gì?"

"cuti" v«n kiên trì:

"úng là anh ã gi£i thích vÁ chuyÇn 'giÁng mÑi' rÓi nh°ng em v«n th¯c m¯c là làm sao mình bi¿t khi nào mình c§n dùng lÇnh ls, khi nào mình c§n dùng lÇnh chmod ch³ng h¡n? Em c§n °ãc £ thông khúc m¯c này tr°Ûc khi em có thà hÏi câu ti¿p theo."

Tôi tr£ lÝi "cuti":

"Chà, iÁu em c§n £ thông ß ây là sñ nhu§n nhuyÅn mÙt hÇ iÁu hành và nhïng ph°¡ng tiÇn tác Ùng ¿n nó à thñc hiÇn iÁu mình muÑn. à ¡t °ãc chuyÇn này, em ph£i dùng nó, ph£i thí nghiÇm, ph£i bi¿n 'l¡' thành 'quen'. Nói mÙt cách khác, em ph£i là mÙt 'user' th­t sñ trên hÇ iÁu hành này tr°Ûc khi em trß thành mÙt 'hacker'. N¿u em dùng hÇ iÁu hành ¿n méc nhu§n nhuyÅn, tñ nhiên em bi¿t °ãc khi nào em c§n dùng lÇnh nào à thñc hiÇn chuyÇn gì. ây là cái 'what' mà em ph£i thñc hiÇn."

"cuti" trß nên gàn b°Ûng:

"Nh°ng ãi ¿n khi em thành th¡o h¿t nhïng 'lÇnh' kia thì bi¿t cho ¿n bao giÝ hß anh? iÁu em th¯c m¯c là có mÙt quy trình gì ó Ã thao tác nhïng lÇnh ó không anh?"

Tôi h¡i th¥t vÍng vì l¡i ph£i quay l¡i giai o¡n này. Tôi áp:

"Hèm, anh ngh) mình ã thÑng nh¥t vÛi nhau là: em ph£i hiÃu rõ hÇ thÑng tr°Ûc khi có thà 'hack' hÇ thÑng rÓi mà? ViÇc em dành thÝi gian cài mÙt cái Linux server và cÑ g¯ng làm quen vÛi nó chính là quá trình hiÃu hÇ thÑng ó. Þ ây anh giúp em mÙt iÁu: giÛi h¡n l¡i nhïng iÃm c§n tìm hiÃu cho viÇc iÁu chÉnh nÙi dung index.html kia thì c§n tham kh£o nhïng lÇnh nào. Anh không khuy¿n khích hÍc 'lÇnh' mà anh chÉ khuy¿n khích hÍc 'system'. Tuy nhiên à em á m¥t thÝi gian, anh giÛi thiÇu vài 'lÇnh' à em t­p trung vào mÙt ph§n nào ó cça system. Còn chuyÇn quy trình thì anh ngh) là không có quy trình gì c£. Các b°Ûc th©m Ënh, dò xét à chÍn lña h°Ûng gi£i quy¿t cça m×i ng°Ýi Áu khác nhau.

¿n mÙt méc nào ó, quá trình hình thành h°Ûng gi£i quy¿t và cách gi£i quy¿t cå thà chÉ thu§n tuý phå thuÙc vào kh£ nng sáng t¡o cça m×i cá nhân mà thôi. Nhïng lÇnh cn b£n nh° ls, umask là nhïng lÇnh không thà thi¿u à th©m Ënh. Th©m Ënh còn có thà mß rÙng ra b±ng cách phÑi hãp mÙt sÑ 'lÇnh' à mang l¡i k¿t qu£ nhanh chóng và trung thñc h¡n. Anh cho r±ng không có mÙt công théc hay quy trình nào c£. Cùng l¯m là mÍi ng°Ýi Áu chÍn chung mÙt h°Ûng gi£i quy¿t là i të dÅ ¿n khó, të ¡n gi£n ¿n phéc t¡p."

"cuti" reo lên:

"V­y th¿ nào là ¡n gi£n, th¿ nào là phéc t¡p? th¿ nào là dÅ và th¿ nào là khó hß anh?"

Tôi c°Ýi, áp:

"Em không ùa ¥y ché? Em không bi¿t th¿ nào là ¡n gi£n, phéc t¡p, dÅ và khó hay sao? Hay ý em muÑn nói trong khuôn khÕ iÁu chÉnh nÙi dung index.html ß ây mà thôi?"

"cuti" áp mÙt cách tho£ mãn:

"úng rÓi anh, có v­y mÛi °ãc chÛ? hì hì. Em chÉ muÑn bi¿t cách nào là cách ¡n gi£n, dÅ Ã iÁu chÉnh nÙi dung index.html kia. Cách nào là cách khó và phéc t¡p. Anh nói qua chuyÇn này i?"

Tôi áp:

"Hì hì, em v«n ch°a thoát khÏi con ma 'thi¿u kiên nh«n', nó cé i theo em và 'ám' em mãi v­y? ;-). Em chÉ muÑn th¥y k¿t qu£ liÁn liÁn thôi. Anh có thà nói ¿n các thao tác à em nghe nh°ng làm nh° v­y bË hÏng h¿t k¿ ho¡ch cça anh em mình. Làm nh° v­y em không còn có chuyÇn à tìm hiÃu và thâu th­p nïa."

"cuti" chÑng ch¿:

"Hì hì, d¡ úng rÓi. Em úng là muÑn th¥y ngay k¿t qu£. Nh°ng anh thông c£m cho em tí i. Dù gì em cing còn nhÏ d¡i, thi¿u kiên nh«n mà. N¿u em mà iÁm ¡m, kiên nh«n thì em ã thành mÙt ông... già khó tánh nh° anh rÓi ;-). N¿u anh ngh) r±ng mình không nên Ñt giai o¡n thì em không tò mò thêm nïa âu."

Tôi mÉm c°Ýi, ngh) ngãi vài giây rÓi tr£ lÝi "cuti":

"Hèm.... 'nhÏ d¡i' thì ph£i làm gì ó mÛi 'lÛn lên' °ãc chÛ em? Không nên viÇn lý do 'nhÏ d¡i' à làm sai h°Ûng mình i. H¡n nïa, n¿u lúc nào cing chÑng ch¿ b±ng sñ 'nhÏ d¡i' thì khó mà 'lÛn lên' °ãc. Th­t ra anh có thà tÕng hãp lÑi gi£i quy¿t v¥n Á mÙt cách chung chung cho em xem. Tuy nhiên, em nên nhÛ ây không ph£i là mÙt quy trình hay công théc gì c£, ây chÉ là nhïng th©m Ënh và thñc thi mang tính thói quen và kinh nghiÇm mà thôi. Gi£ sí em ánh cuÙc vÛi anh là làm sao anh có thà Õi nÙi dung index.html thì anh s½ làm nh° sau, không nh¥t thi¿t ph£i theo úng thé tñ:

- tr°Ûc tiên, dùng ls à xem chç quyÁn ¥n Ënh ¿n hÓ s¡ này. N¿u nó cho phép mÍi ng°Ýi 'vi¿t' và 'Íc' --> game's over.

- n¿u nó cho ng°Ýi t¡o ra hÓ s¡ này và mÙt nhóm ng°Ýi dùng nào ó (group) °ãc phép 'vi¿t' và 'Íc', anh xem thí umask ¥n Ënh ch¿ Ù chç quyÁn theo m·c Ënh ra sao à ánh giá méc c©n th­n cça ng°Ýi làm chç server này --> anh tìm cách °a tài kho£n cça anh vào group này --> n¿u °ãc, game's over.

- n¿u nó chÉ cho ng°Ýi t¡o ra hÓ s¡ này muÑn làm gì thì làm, ngoài ra mÍi ng°Ýi chÉ °ãc phép 'Íc' --> cái này d«n ¿n nhiÁu chÍn lña.

a. anh xem thí sudo °ãc ¥n Ënh th¿ nào. N¿u sudo ¥n Ënh lÏng l»o và cho phép anh thay Õi mÙt script nào ó ho·c m°ãn tay root à làm gì ó --> game's over

b. n¿u sudo quá ch·t ch½, em mÛi dò tìm xem trên system này có 'world-writeable' script nào không. script c§n cho root thñc thi thì càng tÑt. N¿u có --> game's over

c. n¿u không tìm ra °ãc gì h¿t, anh mÛi chuyÃn qua tìm xem có binary nào trên system có SUID và bË l×i. N¿u có --> game's over.

d. n¿u tìm không ra SUID có l×i, anh mÛi ngh) ¿n chuyÇn tìm nhïng ch°¡ng trình hay dËch vå nào ch¡y vÛi chç quyÁn super user và c§n t¡o hÓ s¡ t¡m thÝi ß /tmp. N¿u các ch°¡ng trình này thi¿u sanity check tr°Ûc khi t¡o temp file thì anh dùng symlink à m°ãn tay 'su' Õi chç quyÁn mÙt file nào ó anh chÍn tr°Ûc à khai thác password ho·c nhïng thé t°¡ng tñ --> game's over

e. n¿u system này... chi¿n quá, không có ch°¡ng trình nào ho·c dËch vå nào thi¿u sót trong ph§n sanity check tr°Ûc khi t¡o temp file thì anh mÛi ngh) ¿n shellcoding. Tìm cách dò ra mÙt vË trí nào ó trên memory ang °ãc 'su' dùng và b¯t nó thñc thi mÙt chuyÇn gì ó tiÇn lãi cho anh à bi¿n anh thành 'root' --> game's over.

N¿u i xuyên qua các d¡ng th©m Ënh trên (cÙng vÛi các phÑi hãp) mà v«n không tìm ra k» hß --> bó tay.

N¿u xét vÁ m·t khó hay dÅ, ¡n gi£n hay phéc t¡p thì a -> e t¡m xem là thé tñ. Tuy v­y, m×i d¡ng thm dò và quy¿t Ënh ph°¡ng h°Ûng có thà mß ra nhiÁu kh£ nng khác nhau, méc ¡n gi£n và phéc t¡p s½ thay Õi. Bßi v­y, trình tñ cå thà và rõ ràng là chuyÇn không thà có °ãc."

"cuti" khoái chí áp:

"Th¥y ch°a? em 'moi' mÙt ch·p cing ra thôi. Anh °a ra a -> e không ¡n gi£n và dÅ hiÃu h¡n sao?"

Tôi áp:

"T¥t nhiên là '¡n gi£n và dÅ hiÃu' n¿u nh° em v«n còn eo céng lÑi khai triÃn và thñc hiÇn theo kiÃu 'step-by-step'. N¿u em hiÃu rõ viÇc éng dång các c¡ ch¿ làm viÇc trên máy chç, tñ nhiên em hiÃu rõ v¥n Á và hiÃu r¥t sâu vÁ nó. N¿u em không hiÃu rõ viÇc éng dång các c¡ ch¿ mà chÉ làm theo các 'steps' thì sñ th¥t b¡i chi¿m trên 90% vì khi g·p trß ng¡i, em không bi¿t cách Õi h°Ûng hay v­n dång thêm các chÍn lña khác à thay Õi tình hình. Nên nhÛ, anh không 'chÉ v½' chuyÇn 'khai thác' ß ây. Anh chÉ °a ra ví då và phân tích cái gÍi là 'giÁng mÑi' cho em th¥y rõ 'giÁng mÑi' là th¿ nào mà thôi. N¿u em hÏi anh SUID là gì, làm sao khai thác nó thì anh s½ không tr£ lÝi vì anh không bi¿t ph£i tr£ lÝi th¿ nào. Cho ¿n khi em tìm ra SUID là gì, nó có tác dång gì, t¡i sao có nó thì tñ nhiên em s½ có câu tr£ lÝi 'làm sao à khai thác nó' mà thôi :)."

"cuti" béc xúc th¥y rõ:

"TrÝi, anh lúc nào cing úp úp, mß mß :(. Anh úng là làm khó em."

Tôi c°Ýi phá lên vì "cuti" bË l¡c Á và i ¿n viÇc ngÙ nh­n v¥n Á mÙt cách tr§m trÍng. Tôi nói ti¿p:

"Này ông th§n n°Ûc m·n, anh em mình ang nói chuyÇn 'giÁng mÑi' hay anh em mình ang bàn chuyÇn 'exploit' ß ây v­y? Em ëng nóng n£y nh° th¿. LiÇu tr°Ûc giÝ em ã 'chat' vÛi ai ß c¥p Ù anh em mình ang 'chat' ch°a? N¿u ch°a thì em không nên cho là anh 'úp úp, mß mß' :)."

"cuti" chÑng ch¿ và phång phËu:

"Hông ph£i, hông ph£i. Ý em trách móc gì anh h¿t. Em th¥y 'giÁng mÑi' °ãc thà hiÇn qua quy trình exploit là dÅ th¥y và dÅ hiÃu nh¥t. Anh dùng ví då a -> e tñ nhiên em th¥y thông h³n ra. Th¿ nh°ng anh l¡i quay vÁ chuyÇn khái niÇm. à em tiêu hoá °ãc mÛ khái niÇm này ch¯c ch¿t m¥t."

Tôi quy¿t Ënh trß nên céng r¯n vÛi "cuti" không thì hÏng bét. Tôi áp:

"N¿u em không tiêu hoá nÕi mÛ 'khái niÇm' kia thì em s½ không bao giÝ có thà 'hack' °ãc. Anh ph£i nh¥n m¡nh iÁu này bßi vì có ba iÃm quan trÍng nh° sau:

- nhïng cái em gÍi là 'khái niÇm' kia chính là kù nng l­p lu­n và Ënh h°Ûng. Không có nó, em không làm gì °ãc (và chÉ có thà ngÓi ó chÝ °ãc mách n°Ûc). Kù nng này giúp cho em không chÉ mß mÙt 'Õ khoá' mà nhiÁu 'Õ khoá'. Em chÍn lña lÑi ti¿p thu 'step-by-step' thì ch¯c ch¯n em chÉ có thà mß °ãc mÙt 'Õ khoá' mà thôi.

- të nhïng thé gÍi là 'khái niÇm' kia, nó t¡o iÁu kiÇn cho em tìm hiÃu và hiÃu nhïng ki¿n théc c§n thi¿t à hình thành nhïng 'giÁng mÑi' cça c£ mÙt hÇ thÑng làm viÇc.

- n¿u em chÉ 'nh¯m m¯t' mà thñc thi các 'lÇnh', em v°Ûng vào mÙt th¿ giÛi cñc kó m¡ hÓ và nguy hiÃm."

"cuti" cÑ chÑng chÍi:

"TrÝi, có gì mà nguy hiÃm anh? Cùng l¯m là làm không °ãc thôi mà :)."

Tôi c°Ýi, áp:

"N¿u anh cho em mÙt o¡n script ho·c mÙt o¡n mã nguÓn và anh nói r±ng: 'ch¡y nó i, nó s½ thñc hiÇn iÁu em muÑn' nh°ng bên trong o¡n script ho·c o¡n mã nguÓn này tàng chéa nhïng 'thé' nguy hiÃm khác mà em không bi¿t. LiÇu em có ch¡y nó không?"

"cuti" c°Ýi giã lã:

"Ch³ng l½ anh mà l¡i 'ch¡i' em sao? T¥t nhiên là em ch¡y nó liÁn mà ch³ng ng§n ng¡i."

Tôi áp:

"ó chính là iÃm nguy hiÃm mà em không nh­n ra. Cé cho là anh không làm chuyÇn ó nh°ng làm sao em dám ch¯c là mÙt ch°¡ng trình nào ó em download të Internet vÁ hoàn toàn áng tin c­y n¿u em không soi xét nó kù l°áng? Và Ã soi xét kù l°áng nh¥t Ënh em ph£i có ç ki¿n théc c§n thi¿t. Em dùng mÙt thé công cå, mÙt o¡n script, mÙt o¡n mã nguÓn vÛi måc ích 'exploit' mà bË 'exploit' bßi chính công cå mình dùng thì... hack hi¿c cái n×i gì?"

"cuti" áp:

"TrÝi, em ch°a bao giÝ ngh) ¿n iÃm này. Có l½ em ch°a có ç kinh nghiÇm 'chi¿n tr°Ýng' mà thôi."

Tôi tr£ lÝi:

"êa, ch°a ç kinh nghiÇm 'chi¿n tr°Ýng' thì quá rõ nh°ng v¥n Á mình ang bàn ß ây là mình ph£i có ç ki¿n théc à xem thí mình ang 'ch¡i' vÛi cái gì và ch¯c ch¯n lÑi khai triÃn 'step-by-step' s½ không giúp °ãc em. H¡n nïa, n¿u hiÃu rõ, mình có thà dùng nó à 'c£i thiÇn' cho måc ích cå thà cça mình. Nh°ng thôi, anh ngh) mình i h¡i xa chç Á rÓi ó. Em nên l°u l¡i trÍn bÙ nÙi dung cuÙc nói chuyÇn cça anh em mình hôm nay và vÁ Íc kù l¡i i. N¿u °ãc, l§n sau em làm mÙt b£n 'tÕng k¿t' nhïng gì mình bàn cãi cho ¿n lúc này. °ãc không 'cuti'?"

"cuti" nhanh nh£u:

"D¡ °ãc chÛ anh, chuyÇn nhÏ nh° con thÏ thôi mà. Anh ph£i i à?"

Tôi áp:

"êa, anh ph£i i. Anh dính ch·t vào cái máy c£ ti¿ng Óng hÓ rÓi. Anh ph£i i có công chuyÇn. C§n gì cé YIM cho anh nha. Chào cuti."

"cuti" v«n hóm hÉnh:

"Chào anh già... dÅ tánh".

Và tôi logoff.

12/7/2005

<còn ti¿p>

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 5

8. "Hai m·t" cça v¥n Á:

Trái h³n vÛi hai tu§n lÅ tr°Ûc, vài tu§n nay "cuti" liên tåc 'dÙi' YIM và mail box cça tôi vÛi hàng lo¡t câu hÏi. Ph§n lÛn là nhïng câu hÏi thuÙc d¡ng 'what'. Tôi cÑ g¯n tr£ lÝi h§u h¿t các th¯c m¯c cça "cuti" m·c dù v¥n Á thÝi gian cça tôi r¥t giÛi h¡n. Có nhïng e-mail hÓi âm cça tôi chÉ vÏn v¹n có mÙt câu: cái này thuÙc d¡ng 'what', em thí tìm hiÃu xem. "cuti" tÏ v» khá bñc dÍc vÛi nhïng e-mail này cça tôi. Tuy nhiên, tôi v«n... phÛt lÝ và duy trì giÛi h¡n nhïng câu tr£ lÝi nh±m måc ích '©y' "cuti" vào ch× th­t sñ làm quen và hình thành kù nng tìm ki¿m, tÕng hãp và thu th­p thông tin. Có l§n tôi nh­n mÙt thông iÇp cça "cuti" trên YIM nh° th¿ này:

"Anh già ui, hình nh° càng hÍc em th¥y em càng ngu hay sao ó. Hu hu hu :(. Cé m×i iÃm c§n tìm hiÃu l¡i n£y ra hàng sa sÑ nhïng iÃm xung quanh. Em Íc sách muÑn khùng luôn nh°ng càng ào sâu, càng th¥y mình ngu si i. Hay là em bË 't©u ho£' th­t sñ rÓi?"

Tôi th§m ngh), hiÇn t°ãng "cuti" ang Ñi chÍi có l½ do cu c­u cÑ dÓn ép quá mà ra. Tôi gßi "cuti" mÙt offline message:

"cuti ¡i, tr°a Chç Nh­t tu§n này anh r£nh ó. Có muÑn 'gi£i bày' thì 'bay' vô YIM h£?"

Hai ngày sau, tôi nh­n °ãc mÙt e-mail të "cuti" nh° sau:

"Anh già ¡i, m¥y ngày vëa qua em ch£ thèm Ùng ¿n máy. Em xách xe i ch¡i vòng vòng cho bÛt cng th³ng. ChiÁu nay em nhÛ ¿n viÇc anh yêu c§u l§n tr°Ûc là hình thành mÙt 'b£n tÕng k¿t' nhïng gì anh em mình th£o lu­n cho ¿n giai o¡n này. Tñ nhiên trong quá trình hình thành 'b£n tÕng k¿t' em th¥y r¥t nhiÁu sñ viÇc trß nên rõ ràng. ây, 'b£ng tÕng k¿t' em có thà rút tÉa °ãc:

1. 'hack' là hành Ùng iÁu chÉnh máy tính ß nhiÁu t§ng khác nhau nh±m thay Õi thái Ù làm viÇc cça nó.

2. muÑn 'hack' ph£i hiÃu rõ måc tiêu mình s¯p sía 'hack' là gì.

3. 'hacker' là mÙt 'user' r¥t th¥u áo môi tr°Ýng làm viÇc cça mình. 'hacker' không nhïng n¯m vïng 'nút' b¥m (ho·c lÇnh) à làm gì mà còn bi¿t rõ nhïng gì x£y ra khi 'nút' °ãc b¥m (ho·c lÇnh °ãc ch¡y) và có thà t¡o ra 'nút' à b¥m (ho·c lÇnh à ch¡y) à áp éng òi hÏi cå thÃ.

4. mÍi v¥n Á trong th¿ giÛi 'hack' Áu có giÁng mÑi cça chúng. N¯m °ãc nhïng 'giÁng mÑi' này mÛi có thà làm thay Õi °ãc thái Ù làm viÇc cça hÇ thÑng.

5. Íc i ôi vÛi 'hành'. Tr°Ûc khi bi¿t °ãc 'why' ph£i bi¿t °ãc 'what'.

6. à có thà n¯m °ãc 'what' c§n ph£i có kiên nh«n và có hÇ thÑng. à có thà n¯m °ãc 'why' c§n ph£i có kh£ nng phân tích và tÕng hãp nhïng iÃm cÑt lõi.

Anh xem thí nhïng iÃm em °a ra còn thi¿u sót gì không? Chç Nh­t này em s½ online ãi anh ó nha.

Chúc anh mÙt tu§n làm viÇc vui v».

cuti."

Nh­n °ãc mail cça "cuti", tôi Íc ph§n tÕng k¿t cça cu c­u và th¥y r±ng "cuti" ã tÕng k¿t khá §y ç các iÃm cÑt lõi mà bÍn tôi ã trao Õi nhïng l§n tr°Ûc ây. ây là viÇc áng mëng. Tuy nhiên, v­n dång th¿ nào v«n còn là mÙt con °Ýng dài d±ng d·c và §y chông gai. Tôi hÓi âm "cuti" b±ng mÙt e-mail ng¯n gÍn nh° sau:

"cuti thân m¿n, sáu iÃm em °a ra th­t tuyÇt. Tuy nhiên, anh ngh) em v«n còn sót mÙt iÃm cuÑi, iÃm thé b£y. Em thí ngh) xem iÃm này là iÃm gì?

H¹n g·p l¡i chiÁu Chç Nh­t kho£ng 3 giÝ.

Thân."

ChiÁu Chç Nh­t, úng 3 giÝ chiÁu tôi logon YIM và "cuti" ã ngÓi chÅm chÇ chÝ. Tôi gßi cho "cuti" mÙt thông iÇp à báo cho cu c­u là tôi ã online (vì tôi v«n ß tình tr¡ng invisible). "cuti" hÓi áp g§n nh° ngay l­p téc kèm theo là mÙt lÝi mÝi tham gia mÙt conference:

"Chào anh, mình mß mÙt cái conference °ãc hông anh?"

Tôi khá th¯c m¯c, "viÇc gì ph£i conference nhÉ? Có l½ có ai ó muÑn tham gia chat chng?". Tuy v­y tôi v«n ti¿p nh­n lÝi mÝi. Không ngoài dñ oán, khi tham gia conference này, tôi th¥y có thêm hai nhân v­t mÛi vÛi nick name khá.... ki¿m hiÇp. MÙt ng°Ýi mang tên là 'docco' (Ùc cô) và mÙt ng°Ýi mang tên là 'haothu' (h£o thç). Tôi chào mÍi ng°Ýi:

"Chào cuti, chào docco và haothu."

"cuti" nhanh nh£u:

"D¡, ây là hai éa b¡n hÍc chung vÛi em, bÍn em ch¡i thân vÛi nhau l¯m. Sau khi em °a cho bÍn nó xem b£n sao cuÙc nói chuyÇn cça anh em mình, bÍn nó khoái l¯m nh°ng giïa bÍn em nÕ ra mÙt tr­n tranh cãi khá gay g¯t là: b£o m­t tr°Ûc hay 'hack' tr°Ûc?. BÍn nó cho r±ng muÑn b£o m­t cho tÑt thì ph£i bi¿t hack tr°Ûc. Còn em thì do bË 'tiêm nhiÅm' anh nên cho r±ng muÑn hack giÏi thì ph£i bi¿t b£o m­t, bi¿t b£o m­t rÓi thì mÛi bi¿t hack. Bây giÝ em muÑn anh éng ra phân gi£i dùm bÍn em. Hy vÍng anh không phiÁn vì em ã mÝi thêm hai ông t°Ûng này vào nói chuyÇn mà không báo tr°Ûc cho anh bi¿t."

"docco" và "haothu" chào tôi sau khi "cuti" giÛi thiÇu và gi£i bày sñ thÃ. Tôi vui v» áp:

"Không sao âu em, có nhiÁu ng°Ýi nói chuyÇn thì càng vui chÛ sao âu? M¥y anh em mình nói chuyÇn mÙt cách tho£i mái, ëng céng nh¯c quá mà m¥t vui. docco', 'haothu' cing hÍc chung lÛp vÛi 'cuti' h£?"

"haothu" áp:

"D¡, em hÍc cùng tr°Ýng vÛi 'cuti' ó anh. Em cing bi¿t anh lâu rÓi nh°ng em ng¡i, không dám liên l¡c trñc ti¿p vÛi anh. Kó này bÍn em cãi nhau rôm r£, âu cing là dËp tÑt à em làm quen vÛi anh."

"docco" thêm vào:

"Hì hì, chÉ có th±ng khÉ 'cuti' này mÛi b¡o gan add tên anh vào YIM cça nó chÛ em thì hông dám. Lá anh 'ì nai' thì quê ch¿t. 'cuti' nói là anh dÅ tính, vui v» l¯m, bây giÝ em mÛi th¥y."

Tôi c°Ýi áp:

"Hì hì, em mà th¥y cái danh sách ng°Ýi trên YIM cça anh thì em không té xÉu là dß, m·c dù anh r¥t ít vào YIM nh°ng có nhiÁu ng°Ýi cé 'add' và anh cé 'accept'. Ri¿t hÓi anh ch³ng còn bi¿t ai là ai nïa. Ch¯c bïa nào ph£i dÍn d¹p mÙt l§n."

"cuti" lên ti¿ng:

"Tåi mày th¥y ch°a? tao ã nói là Õng dÅ tính, vui v» mà. BÍn em x°ng mày tao búa xua, anh già 'dÅ tính' ch¯c không phiÁn h£?"

Tôi áp:

"êa, cé tho£i mái i em. Còn chuyÇn bÍn em cãi nhau nh° "cuti" nói hÓi nãy, bÍn em ã cãi nhïng gì, l°ãc s¡ qua dùm anh tí coi? :)"

"docco" nhanh nh£u áp:

"D¡, em vÛi th±ng Khoa, ý quên, th±ng 'haothu' có cùng quan iÃm là muÑn b£o m­t cho giÏi thì ph£i bi¿t hack tr°Ûc. Em th¥y có r¥t nhiÁu chuyên gia b£o m­t nói mÙt câu có ý ¡i khái là: muÑn b£o m­t tÑt thì ph£i suy ngh) nh° mÙt hacker. NghiÇm tÛi, nghiÇm lui em th¥y qu£ là úng nh°ng th±ng khÉ H°ng, ý quên, th±ng 'cuti' thì khng khng cho r±ng ph£i có ki¿n théc të cn b£n lên ¿n nâng cao, ph£i n¯m rõ hÇ thÑng mình c§n b£o vÇ thì mÛi kiÇn toàn chuyÇn b£o m­t, të ó mÛi n¯m °ãc 'hack' là gì. Anh ngh) sao?"

"cuti" xen ngay vào:

"Th±ng khÉ kia, ai biÃu mày khai tên thiÇt ra h¿t v­y trÝi? Hì hì, anh già ëng trách nha, tr°Ûc giÝ nói chuyÇn vÛi anh, em ch°a bao giÝ ti¿t lÙ tên thiÇt cça em, th±ng khÉ Duy này khai h¿t. ChuyÇn bÍn em tranh cãi ch³ng i tÛi âu c£. Em tin r±ng muÑn 'hack' thì ph£i giÏi b£o m­t tr°Ûc. V­y thôi."

"haothu" chêm vào:

"Em cing Óng quan iÃm vÛi th±ng Duy luôn ó anh."

Tôi c°Ýi, và áp:

"Të të cái ã. à anh hÏi cu H°ng mÙt câu à úc k¿t ph§n anh và nó trao Õi m¥y l§n tr°Ûc ây ã nha? V­y anh gÍi 'cuti' là H°ng, 'haothu' là Khoa và 'docco' là Duy °ãc không?"

"cuti" áp lÝi ngay:

"À, ý anh muÑn hÏi em iÃm thé b£y là gì ó ph£i không anh? Th­t tình em ã Íc kù l¡i m¥y o¡n anh em mình trao Õi nh°ng em tìm không ra iÃm nào có thà là iÃm thé b£y. Còn chuyÇn gÍi bÍn em b±ng tên nào cing °ãc h¿t anh. BÍn em gÍi nhau b±ng tên th­t quen rÓi nên vào chat v«n quen thói gÍi tên th­t."

Tôi áp:

"V­y tÑt, thÑng nh¥t cách gÍi nh° v­y i. Còn iÃm thé b£y mà em tìm không ra là "4 ê" ó em: Áu ·n và iÁu Ù. ây là iÃm cñc kó quan trÍng bßi vì 'n' không giÝ gi¥c, không iÁu Ù thì th¿ nào cing bÙi thñc :)."

"cuti" li¿ng tho¯ng:

"Ái chà, ây là iÃm thé b£y sao? Em không hÁ ngh) ¿n nó, ëng nói chi là th¥y nó quan trÍng ngang hàng vÛi nhïng iÃm kia. Em th¥y hÅ mình héng lên thì ngÓi táy máy bao nhiêu ti¿ng cing °ãc nh°ng không héng thì vô ph°¡ng thôi anh."

Tôi v«n kiên nh«n tr£ lÝi:

"Không âu em. MuÑn tìm tòi lâu dài và có k¿t qu£ thì c§n ph£i có k¿ ho¡ch h³n hòi. Không thà dña trên cái 'héng' °ãc. N¿u em may m¯n, ngày nào cing 'héng' thì em có thà g·t hái vài iÁu. Lá may c£ tháng em... m¥t 'héng' thì coi nh° i tong tháng ¥y sao? Sñ iÁu Ù t¡o cho não bÙ cça em mÙt thé 'ph£n x¡ có iÁu kiÇn'. ¿n giÝ ó trong ngày, nó sµn sàng làm viÇc và lúc ¥y mÛi mang l¡i k¿t qu£ tÑt °ãc. Có thà lúc §u khi ch°a quen, em ch°a th¥y tác dång ó. Tuy nhiên, sau mÙt thÝi gian, em s½ th¥y sñ Áu ·n có tác dång nh° th¿ nào."

"cuti" áp:

"Qu£ th­t em ch°a hình dung °ãc iÃm này. Ã em chiêm nghiÇm thí xem. Bây giÝ m¥y anh em mình thí bàn chuyÇn 'hack tr°Ûc hay b£o m­t tr°Ûc' nha anh?"

Tôi c°Ýi, áp:

"°ãc thôi. Tr°Ûc h¿t anh muÑn nghe các lý do t¡i sao mÙt bên tin r±ng 'muÑn b£o m­t tÑt ph£i bi¿t hack tr°Ûc' và bên Ñi l­p l¡i cho r±ng 'muÑn hack giÏi thì ph£i bi¿t b£o m­t tr°Ûc'. à khÏi bË hiÃu sai và khai triÃn sai, anh Á nghË xác Ënh l¡i cå thà v¥n Á ß ây. Có l½ 'hack' và 'b£o m­t' ß ây Óng ngh)a vÛi t¥n công và phòng thç ph£i không?"

"docco" reo lên:

"úng rÓi ó anh. Lúc tåi em cãi vÛi nhau toàn là dùng hai chï 'hack' và 'security' nh°ng em ngh) là t¥n công và phòng thç là chính xác tinh th§n rÓi ó."

Tôi áp:

"Hì hì, n¿u qu£ th­t là nh° v­y thì 'attack' là công và 'defend' là thç. Anh ngh) là dùng hai chï 'hack' và 'security' ß ây sai tinh th§n rÓi. 'hack' không h³n chÉ là t¥n công mà còn có thà là hành Ùng óng góp cho viÇc phòng thç. 'security' chÉ chung cho sñ b£o m­t và ch°a h³n nó lo¡i trë 'hack' ra khÏi các hành Ùng, thao tác à ¡t °ãc tính 'b£o m­t'. Mình nên dùng úng 'term' và xác Ënh rõ ý ngh)a cça chúng à lo¡i trë nhïng ngÙ nh­n có thà có thì mÛi bàn cãi sâu sát và chính xác °ãc."

"haothu" phát biÃu mÙt cách h¿t séc th­t thà:

"Ái chà, mÛi vào §u câu chuyÇn ã th¥y 'anh già' quá kinh rÓi. Thôi i Duy ¡i, hai th±ng mình thua non i cho rÓi. Tao bi¿t £nh b£o kê cho th±ng H°ng là cái ch¯c. MÛi vào ã th¥y £nh 'b»' s¡ s¡ th¥y phát Ûn."

Tôi xen vào ngay:

"Khoa, ëng ngh) v­y em. Anh ch³ng 'b£o kê' ai c£. Anh chÉ 'b£o kê' cái úng mà thôi. Cé xem nh° anh là trÍng tài cça cuÙc ¥u kh©u này thôi. Sß d) anh ph£i xác Ënh rõ m×i phía bßi vì mình c§n ph£i tránh sñ hiÃu l§m ngay të §u không thì có bàn cãi cing ch³ng i tÛi âu h¿t. Hì hì, Ñi vÛi anh không có chuyÇn n thua ß ây ó nha. RÓi h£? Ai muÑn b¯t §u?"

"cuti" ln x£ vào tr­n chi¿n:

"Em muÑn, em nói tr°Ûc °ãc hông anh?"

Tôi ch°a kËp tr£ lÝi thì "docco" ã áp lÝi:

"Ch¥p luôn. Th±ng khÉ H°ng này lúc nào cing tranh tiên h¿t. Nó thì lúc nào ch£ v­y!"

"cuti" cing không ph£i tay vëa:

"Tao nói tr°Ûc hay nói sau gì mày cing thua mÙt méc mày ¡ ;-) bßi vì l½ ph£i thì lúc nào cing ph£i, không phân biÇt tr°Ûc sau."

Tôi xen vào:

"Thôi i ông th§n, ba hoa l¯m v­y? B¯t §u i."

"cuti" có ý ki¿n nh° sau:

"Em không bi¿t có ph£i em bË anh tiêm nhiÅm hay không chÛ em th¥y rõ mÙt iÁu: n¿u tay qu£n lý máy chç không n¯m rõ server cça mình có cái gì, iÁu hành nó ra làm sao, qu£n lý nó ra làm sao thì không cách gì có thà b£o m­t °ãc. T°¡ng tñ nh° v­y, tay tin t·c nào ó muÑn t¥n công mÙt server thì ph£i hiÃu server ó có nhïng gì, làm viÇc ra sao. N¿u không, h¯n không có cách gì mà t¥n công ho·c thâm nh­p °ãc. Gi£ sí em thi¿t l­p mÙt cái server và em d¥u h¿t 'footprint', tay tin t·c không thà xác Ënh °ãc server này ch¡y trên hÇ iÁu hành nào c£. Cùng l¯m là h¯n dò ra °ãc các dËch vå ang ch¡y trên máy chç này nh°ng à thâm nh­p là mÙt chuyÇn cñc khó."

Tôi c°Ýi, kh¡i mào cho "docco" ph£n bác:

"Em ngh) sao Duy? Nhïng iÁu cu H°ng nói có nhïng iÃm y¿u nào?"

"docco" im l·ng khá lâu. "haothu" bèn lên ti¿ng:

"D¡, th±ng Duy có cái t­t ¯n o vòng vo tam quÑc dï l¯m anh. Thôi à em tr£ lÝi tr°Ûc cho. Em th¥y là khi tay tin t·c ¥y xác Ënh °ãc các dËch vå ang ch¡y trên mÙt máy chç, h¯n chÉ c§n 'thí' h¿t nhïng l×i th°Ýng th¥y và ã °ãc công bÑ, tr°Ûc sau gì cing phá thçng hàng phòng thç mà thôi. H¯n âu c§n bi¿t dËch vå ó ch¡y trên Linux hay AIX, hay Solaris hay Windows làm chi? Trên Internet có hàng 't¥n' công cå, scripts... à thñc hiÇn chuyÇn này. H¯n chÉ c§n download h¿t vÁ máy rÓi ngÓi ó mà thí tëng cái mÙt. Em tin r±ng, ¿n lúc nào ó cing Ùt nh­p °ãc thôi."

Tôi hÏi ti¿p "docco":

"Em ngh) sao Duy?"

Lúc này "docco" mÛi lên ti¿ng:

"Em th¥y c£ hai éa H°ng và Khoa Áu có nhïng iÃm không Õn. H°ng thì dëng l¡i ß bình diÇn ki¿n théc kh£ d) à hình thành mÙt server. Khoa thì v­n dång phép... mò. C£ hai ch°a i ¿n ngÍn ngành. Theo em th¥y, n¿u c£ hai tay qu£n lý server và tay tin t·c có ki¿n théc và kinh nghiÇm ngang nhau, ch°a bi¿t ai phòng thç giÏi hay t¥n công giÏi. Em không thà biÇn minh rõ ràng và rành m¡ch °ãc nh°ng vì lý do gì ó, em tin r±ng tay tin t·c dÅ ¡t måc ích h¡n vì h¯n vÑn thích táy máy, mày mò. Còn tay qu£n lý server thì th°Ýng làm theo tài liÇu h°Ûng d«n."

"cuti" ph£n công ngay l­p téc:

"Thôi i 'pa'. N¿u 'pa' không bi¿t server ó có cái gì, c¥u trúc nó ra làm sao thì làm sao mà thâm nh­p? Cho dù thâm nh­p rÓi mà không bi¿t °Ýng i n°Ûc b°Ûc thì có n°Ûc éng ó... ng©n tò te thôi. Nh° cái vå 'anh già' và tao ánh cuÙc ây này, £nh cho tao luôn c£ account name và password à vào máy chç luôn ó nh°ng sau ó thì... bó tay vì không bi¿t làm gì h¿t."

"haothu" reo lên thích thú:

"Á à, v­y mày chËu thua rÓi h£ H°ng? Mày óng vai là tay phòng thç mà l¡i ng©n tò te thì thua non i cho rÓi con ¡i."

Tôi xen ngay vào à 'n¯n' câu chuyÇn khÏi l¡c Á:

"Anh th¥y Duy có nhïng nh­n xét r¥t c©n th­n và lý thú. H°ng và Khoa cing có lý éng trên quan iÃm cça m×i phía. Tuy nhiên, iÃm c§n xác Ënh thêm ß ây là trình Ù cça c£ 'k» công' chÍi vÛi 'ng°Ýi thç' là th¿ nào? N¿u 'k» công' là mÙt tay cñc kó kinh nghiÇm và 'ng°Ýi thç' là mÙt tay m¡ thì cán cân s½ khác rõ. Ng°ãc l¡i 'ng°Ýi thç' là mÙt tay tëng tr£i và 'k» công' là mÙt tay éng dång ph°¡ng théc... mò thì k¿t qu£ cing quá hiÃn nhiên. Có l½ mình nên xác Ënh l¡i mÙt cách cå thà trình Ù và kinh nghiÇm cça hai tay này cho tho£ áng."

"cuti" nh£y ngay vào:

"D¡, n¿u v­y thì cé cho là c£ hai tay Áu rành Linux nh° nhau, có 5 nm kinh nghiÇm nh° nhau, có kh£ nng thi¿t l­p máy chç nh° nhau. V­y thì 'phòng thç' s½ thçng hay, 't¥n công' s½ bó tay?"

"docco" lên ti¿ng:

"Em th¥y cách xác Ënh hai tay này có trình Ù ngang nhau à so sánh hai phía công / thç là công bình nh¥t. Þ cá tåi em, n¿u th±ng H°ng mà thi¿t l­p mÙt server và th±ng Khoa thì dùng m¥y thé Ó nghÁ khai thác có sµn trên Internet thì em tin r±ng th±ng H°ng s½ bË thçng vì nó ch°a n¯m °ãc cách phòng thç cho úng méc. Trong khi ó, th±ng Khoa không c§n bi¿t nhiÁu vÁ Linux, nó chÉ thí h¿t cái này ¿n cái kia thì rÑt cuÙc cing vào °ãc máy chç kia mà thôi."

"haothu" chêm vào:

"H³n nhiên rÓi."

"cuti" cay cú:

"M¥y th±ng này §u xi mng hay sao mà nói mãi không lay nhÉ? Tao nói là cá th±ng Khoa có cho account à vào cing chÑng m¯t mà nhìn chÛ bi¿t làm khÉ gì."

Tôi vÙi vàng xen vào:

"H°ng làm gì mà cay cú v­y em? :). V­y thì mình ph£i thêm mÙt y¿u tÑ Ã so sánh: tay 't¥n công' ph£i thâm nh­p và thay Õi cách làm viÇc cça hÇ thÑng, n¿u vào °ãc rÓi mà ngÓi ó... ngó thì không thà gÍi là 't¥n công'. Còn tay 'phòng thç' ph£i làm sao không cho chuyÇn thâm nh­p x£y ra. Ngay c£ có thâm nh­p °ãc rÓi cing 'ngÓi ó mà ngó' thì phía phòng thç th¯ng chÛ gì?"

"cuti" nhanh nh£u:

"Hì hì, ch¯c anh h¡i ng¡c nhiên vÛi cách nói chuyÇn cça bÍn em h£? BÍn em n nói b¥t kà l¯m nh°ng không có ý gì âu anh. Ch¯c anh không khó chËu chÛ? Còn y¿u tÑ anh °a ra thêm em th¥y hoàn toàn có lý."

"docco" áp lÝi:

"N¿u theo úng các y¿u tÑ anh °a ra à có thà so sánh thì em ngh) bÍn em không ç séc so sánh cho xác thñc. Bßi vì th­t tình mà nói, thâm nh­p cing nh° b£o vÇ có quá nhiÁu tr°Ýng hãp, có quá nhiÁu t§ng. Nhìn hai m·t cça v¥n Á Áu th¥y sñ phéc t¡p cça chúng."

MÙt l§n nïa, tôi th§m c£m m¿n tính chïng ch¡c và c©n th­n cça "docco". Rõ ràng nhïng nh­n Ënh cça "docco" ánh Õ trÍn bÙ nhïng nh­n xét và ý ki¿n mang n·ng c£m tính. Tôi áp:

"Em nh­n xét tinh t¿ và c©n th­n l¯m Duy. N¿u so sánh, mình c§n ph£i nhìn c£ hai m·t cça v¥n Á. N¿u thiên vË m·t nào thì m·t ¥y s½ n·ng h¡n và nh­n xét trß nên thi¿u chính xác. Nh° v­y làm sao mình ánh giá th­t sñ c§n bi¿t 'công' tr°Ûc hay bi¿t 'thç' tr°Ûc thì mÛi b£o m­t tÑt theo úng tin th§n cça cuÙc bàn cãi?"

"cuti" v«n khng khng:

"Thç tr°Ûc. Em v«n ngh) là thç tr°Ûc."

"haothu" không nh°Ýng b°Ûc:

"Công tr°Ûc. Em v«n tin là công tr°Ûc."

"docco" v«n trung hoà:

"Em không xác Ënh °ãc. Anh có ý ki¿n gì không v­y?"

Tôi áp:

"Hãy tóm l°ãc l¡i 'bài toán' cça chúng ta: có hai nhân v­t, mÙt k» chuyên 'công', mÙt ng°Ýi chuyên 'thç'. C£ hai có kinh nghiÇm t°¡ng °¡ng nhau, Áu n¯m rõ hÇ thÑng nh° nhau nh°ng ào luyÇn vÛi tinh th§n khác nhau. K» 'công' thì nhìn v¥n Á të phía 'công', có ngh)a là h¯n ta ph£i n¯m rõ hÇ thÑng à có thà tìm ra nhïng iÃm y¿u cho viÇc thâm nh­p và t¥n công. Trong khi ó, ng°Ýi 'thç' thì nhìn v¥n Á të h°Ûng 'thç', có ngh)a là h¯n n¯m r¥t rõ hÇ thÑng mình thi¿t k¿, bi¿t chÍn lÍc nhïng dËch vå c§n thi¿t, bi¿t th¯t ch·t nhïng iÃm hß. Trong 'cuÙc ¥u' này, n¿u k» 'công' có thà thâm nh­p và thay Õi °ãc hÇ thÑng làm viÇc, h¯n n¯m ph§n th¯ng. N¿u k» thç 'phòng thç' quá ch·t ki¿n cho k» công không thà thâm nh­p và thay Õi hÇ thÑng, 'k» thç' th¯ng. LiÇu anh tóm l°ãc nh° v­y ç ch°a?"

BÙ ba H°ng, Khoa và Duy Áu im l·ng hÓi lâu. "haothu" Khoa là ng°Ýi lên ti¿ng tr°Ûc:

"Em th­t tình không bi¿t ph£i so sánh th¿ nào."

"cuti" H°ng ti¿p theo:

"Em ngh) r±ng không thà so sánh °ãc."

"docco" Duy á lÝi sau chót:

"Theo em, n¿u mình phân tích tëng tr°Ýng hãp thâm nh­p và phòng thç mÙt cách tÉ mÉ thì may ra có thà i ¿n mÙt k¿t lu­n nào ó. Ngoài ra, em b¯t §u tin r±ng không thà xác Ënh °ãc nên bi¿t 'công' tr°Ûc hay nên bi¿t 'thç' tr°Ûc. Nói mÙt cách khác, Ënh Á muÑn b£o m­t cho tÑt thì ph£i bi¿t thâm nh­p tr°Ûc và ng°ãc l¡i Áu thi¿u c¡ sß."

Tôi g­t gù tr°Ûc nh­n Ënh ch·t ch½ cça "docco". ChÉ qua vài chåc dòng chat, cá tính cça m×i ng°Ýi trong bÙ ba này thà hiÇn th­t rõ. "cuti" H°ng nhanh nh£u, thông minh. "haothu" Khoa nóng n£y, trñc tính. "docco" Duy ch­m ch¡p nh°ng sâu s¯c. V­y mà ba cu c­u ch¡i r¥t thân vÛi nhau. Có thà ba cá tính bÕ khuy¿t cho nhau nên chúng thân vÛi nhau chng? Tôi kh¡i mào:

"V­y, m¥y anh em mình có nên 'khai phá' vài tr°Ýng hãp à xem thí hai Ënh Á muÑn b£o m­t cho tÑt thì ph£i bi¿t thâm nh­p tr°Ûc ho·c muÑn thâm nh­p cho giÏi thì ph£i bi¿t b£o m­t tr°Ûc không?"

C£ ba cùng reo lên:

"D¡."

"Ch¡i luôn."

"Ch¯c anh là ng°Ýi 'khai phá' chÛ bÍn em thì không ç séc rÓi :)"

Tôi ng«m ngh) rÓi áp:

"Th¿ này, anh ngh) à t¡o ra mÙt buÕi bàn th£o lý thú, m¥y anh em mình nên chu©n bË kù l°áng tr°Ûc các iÃm c§n bàn. Hãy hình thành mÙt sÑ tr°Ýng hãp cå thÃ. ·t tên cho k» t¥n công, ng°Ýi phòng thç. Ph£i quy Ënh xem nên thi¿t l­p mÙt máy chç ra sao, có nhïng dËch vå nào. Sau ó mình s½ phân tích tëng 'thí nghiÇm' cå thà c£ hai phía. Ví då nh°:

'k» công' = A

'ng°Ýi thç' = B

server cça B thi¿t l­p = Z

dËch vå cça Z = z1, z2, z3...

Sau ó mÛi khai triÃn:

A xác Ënh footprint Z nh° th¿ nào, B ngn ch·n viÇc này ra làm sao.

A dò tìm z1, z2, z3 nh° th¿ nào, B kiÇn toàn các dËch vå này ra làm sao.

A exploit z1, z2, z3 nh° th¿ nào, B th¯t ch·t các dËch vå này ra làm sao...

M¥y anh em mình chat ã khá lâu, anh ph£i i. Mình có mÙt tu§n à suy ngh) xem: n¿u mình là A thì mình s½ thm dò ra sao? thí nghiÇm nhïng gì và hành Ùng nh° th¿ nào? N¿u mình là B thì mình thi¿t l­p nhïng gì, th¯t ch·t nhïng gì và Ñi phó ra sao khi A thâm nh­p.

Th¥y °ãc không?"

"cuti" reo lên tr°Ûc:

"Ái chà, °ãc nh° v­y thì h¡i bË... hay. V­y em s½ chÍn vË trí A hay B?"

"haothu" cing không kém hào héng:

"Ui chao, phân tích nhïng thé này ¿n §u, ¿n ia thì còn gì b±ng? Em chÍn mình là A °ãc không anh?"

Nh° th°Ýng lÇ, "docco" tr£ lÝi sau cùng:

"Em th¥y ý ki¿n này tuyÇt diÇu. Nó t¡o iÁu kiÇn cho mình tñ ·t mình ß hai phía và tìm gi£i pháp thích éng. Sao bÍn em không chÍn c£ A và B Ã tñ lý gi£i anh nhÉ?"

Tôi ã không sai l§m khi nh­n Ënh r±ng "docco" Duy là mÙt c­u bé h¿t séc iÁm ¡m và c©n th­n. Tôi áp:

"Hoan hô Duy, em Á nghË r¥t hay. Khi °a ra các tr°Ýng hãp ß trên, ý anh là mÍi ng°Ýi Áu nên lý gi£i hai m·t cça v¥n Á. Có nh° th¿ thì mình mÛi hình thành mÙt cái nhìn toàn diÇn, không thì bË r¡i vào tình tr¡ng thiên vË và bßi th¿, không thà khai phá ¿n n¡i, ¿n chÑn."

"cuti" phång phËu"

"TrÝi ¡i, mÙt tu§n làm sao mà ç thÝi gian à tìm hiÃu h¿t nhïng chuyÇn c§n tìm hiÃu anh?"

Tôi áp:

"Hì hì, bÙ em ngh) trong mÙt tu§n bÍn mình n¯m °ãc c·n k½ v¥n Á hay sao em? Anh không ngh) th¿ âu. MÙt tu§n à bÍn em tñ hình dung nhïng iÃm tÕng thÃ. Khai triÃn và 'ào xÛi' thì không bi¿t chëng nào mÛi xong. Em chÉ thí hình dung xem mÙt máy chç thông th°Ýng c§n có nhïng gì? và mÙt máy chç nh° th¿ n¿u 'bË' t¥n công thì t¥n công vào âu? Nh° th¿ ã là nhiÁu. Sau ó ám tåi mình mÛi bàn sâu tëng tr°Ýng hãp. V­y h£?"

"cuti" l©m nh©m:

"V­y là s¯p thêm 'nhïng êm không ngç'."

"haothu" ph¥n khích:

"Ái chà, trúng 'mánh' rÓi."

"docco" iÁm ¡m:

"Qu£ là mÙt iÁu kiÇn à hÍc hÏi và nghiên céu mÙt cách tuyÇt vÝi!"

Tôi k¿t thúc:

"RÓi nha, Chç Nh­t tu§n sau, cing vào giÝ này. 'cuti' nên nhÛ ¿n '4 ê' nha em? Chào Khoa, chào Duy."

và tôi logoff.

19/7/2005

<còn ti¿p>

conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 6

9. "Hai m·t" cça v¥n Á - c¡ ch¿ làm viÇc:

Không ngoài dñ phÏng, tôi liên tåc nh­n mail të bÙ ba Khoa, Duy, H°ng. MÙt l§n nïa, tôi cÑ tr£ lÝi h§u h¿t các e-mail të bÙ ba này b±ng thông iÇp ng¯n gÍn:

"Em ngh) iÁu em th¯c m¯c là 'what' hay là 'why'? Anh ngh) nó là 'what' chÛ ch³ng ph£i là 'why' cho nên em nên xem sách i rÓi hÏi anh cái 'why' :)"

Tuy v­y, bÙ ba này không hÁ mÇt mÏi trong chuyÇn hÏi, hÏi và hÏi. Trong tu§n này, tôi nh­n °ãc e-mail të "haothu" Khoa có mÙt ph§n nÙi dung nh° sau:

"Anh thân m¿n,

RÑt cuÙc bÍn em ã i ¿n quy¿t Ënh t¡o mÙt máy chç gÓm có các dËch vå: web, mail và ssh cho remote control bßi vì th­t ra nhïng dËch vå râu ria khác không c§n thi¿t. BÍn em chia 'công tác' ra thành ba ph§n: H°ng lo viÇc thi¿t k¿ và cài dËch vå web, em thì lo dËch vå mail còn Duy thì lo dËch vå secure shell. Tuy nhiên, khi ba dËch vå này hoàn thành, bÍn em ph£i cùng iÁu chÉnh chi ti¿t cho m×i dËch vå. Cái khó là bÍn em (em và Duy) ch³ng có con server nào à vÍc cho nên ph£i ch¡y qua nhà th±ng H°ng th°Ýng xuyên. ThÝi gian thì r¥t h¡n h¹p nên sau khi hÏi thm ý ki¿n cça anh nhiÁu l§n, bÍn em cing ch°a hoàn t¥t cái gì cho ra §u ia. Em có vài iÁu c§n hÏi anh, mong anh tr£ lÝi dùm em (n¿u r£nh):

1. n¿u bÍn em chÉ dùng ba dËch vå web, mail và ssh, làm cách nào mình có thà t¯t h¿t các dËch vå khác không c§n thi¿t hß anh? hay là dùng firewall à che h¿t nhïng dËch vå không c§n thi¿t và không ph£i lo nhïng dËch vå không c§n thi¿t kia?

2. sau khi ngâm céu, bÍn em hiÃu r±ng n¿u dËch vå web chÉ phåc vå dï liÇu t)nh (static content) thì c¡ hÙi có thà thâm nh­p và t¥n công dËch vå web thành công s½ r¥t th¥p. Bßi v­y bÍn em ngh) ¿n chuyÇn t¡o dËch vå web có phåc vå dï liÇu Ùng (dynamic content). N¿u th¿, ph£i dính ¿n php, CSDL (mysql hay cái gì ó) mà bÍn em ch³ng éa nào rành m¥y cái món này. Anh ngh) bÍn em nên dành thÝi gian hÍc thêm vÁ chuyÇn thi¿t l­p server ch¡y php, thi¿t l­p mysql không anh? N¿u v­y thì bi¿t chëng nào bÍn em xong cái server à mà... qu­y bây giÝ? :(

3. n¿u câu hÏi thé 2 không có cách gi£i quy¿t liÁn, em Á nghË th¿ này: hay là m¥y anh em mình chÍn mÙt máy chç nào ó có sµn trên web rÓi cé dùng nó mà... khai thác. °ãc không anh?

Mong anh sÛm hÓi âm bÍn em.

Thân,

Khoa."

Íc e-mail này cça "haothu" Khoa tôi không hÏi ngh) ngãi à tìm cách tr£ lÝi cho úng méc. HiÃn nhiên "haothu" Khoa nhà ta r¥t hm hß vÛi chuyÇn thâm nh­p và t¥n công nên mÛi ·t v¥n Á nh° trên. Ph£i sau hai ngày và sau nhiÁu l§n tranh thç khi r£nh tôi mÛi hoàn thành mail tr£ lÝi cho Khoa nh° sau:

"Khoa thân m¿n,

Anh m¥t hai ngày mÛi có thà tr£ lÝi mail cho em. Tr°Ûc tiên, anh có nh­n xét là em v«n ch°a (muÑn) nhìn v¥n Á të hai phía mà em chÉ thích chuyên chú theo h°Ûng t¥n công. N¿u em ch°a có thà thi¿t l­p, cài ·t mÙt máy chç có các dËch vå nào ó ß méc ¡t thì em không thà t¥n công và khai thác mÙt máy chç khác cing °ãc thi¿t l­p ß méc ¡t này ho·c h¡n. Anh hy vÍng sau khi anh em mình trao Õi sâu h¡n vào tëng v¥n Á, em s½ hiÃu ý anh. Bây giÝ anh tr£ lÝi các câu hÏi cça em tu§n tñ nh° sau:

1. trên nguyên t¯c, n¿u em dùng mÙt d¡ng firewall nào ó và c£n lÍc trÍn bÙ các dËch vå trên máy chç, ngo¡i trë các dËch vå em cho phép thì các truy c­p të bên ngoài ¿n nhïng dËch vå ã bË c£n lÍc không thà x£y ra °ãc (n¿u nh° firewall cça em ch·t ch½). Tuy nhiên, em nên xét l¡i các tr°Ýng hãp có thà x£y ra nh° sau:

- chuyÇn gì x£y ra n¿u firewall cça em bË hÕng ch× nào ó và nó cho phép truy c­p ¿n vài dËch vå 'ch¿t ng°Ýi'?

- chuyÇn gì x£y ra n¿u tài nguyên cça máy chç có giÛi h¡n nh¥t Ënh nh°ng l¡i tiêu tÑn cho các dËch vå không c§n thi¿t? Hãy nhìn nh­n v¥n Á ß khía c¡nh em ang thi¿t k¿ mÙt máy chç cung c¥p dËch vå th­t sñ và có hàng ngàn ng°Ýi truy c­p nó xem? :)

Bßi th¿, ý ki¿n cá nhân cça anh là: t¯t bÏ mÍi dËch vå không c§n thi¿t cho dù em có firewall b£o vÇ và cho dù firewall cça em hoàn toàn vïng.

à t¯t bÏ các dËch vå trên máy thì có 2 ph§n chính em c§n xem xét: dËch vå °ãc t¡o ra të inetd/xinetd và dËch vå t¡o ra të run level scripts (trong rc.d). N¿u em dùng RedHat ho·c các distro dña RedHat thì em có thà dùng tiÇn ích chkconfig à kiÃm tra xem có nhïng dËch vå nào ang ho¡t Ùng trên máy. N¿u em không dùng RedHat thì iÁu em c§n tìm hiÃu chính là inetd/xinetd và dËch vå t¡o ra të run level scripts. T¡i sao em nên c§n tìm hiÃu nhïng cái này? Lý do: mÙt khi ã hiÃu rõ c¡ ch¿ khßi t¡o dËch vå cça mÙt *nix server, em s½ b¯t §u n¯m °ãc iÃm m¡nh cça nó ß âu, iÃm y¿u cça nó ß âu. N¿u em có cái nhìn thiên vÁ h°Ûng "exploit" thì tñ nhiên em s½ th¥y chúng dÅ (hay khó) bË khai thác nh° th¿ nào n¿u nh° iÁu chÉnh không kù (ho·c kù). inetd là gì?, xinetd là gì?, run level là gì?, initialization / startup scripts là gì?

2. BÍn em ã xác Ënh °ãc 'static web' ít bË khai thác h¡n 'dynamic web' thì ã hình thành mÙt cái nÁn khá tÑt à t¡o dËch vå web rÓi ó. T¥t nhiên muÑn nó 'Ùng' thì em ph£i làm cho nó 'Ùng'. Không nh¥t thi¿t ph£i dùng php mà b¥t cé cái gì (cgi, asp, jsp...) Áu °ãc c£. BÍn em sß tr°Ýng 'món' nào thì cé dùng 'món' ó. Cái chính mình c§n khai phá ß ây là thà tr¡ng 'Ùng' cça mÙt web server và nó d«n ¿n nhïng l× hÕng gì chÛ không c§n ph£i i sâu vào tëng công nghÇ Ã phân tích và éng dång chúng. N¿u bÍn em ch°a hÁ có sß tr°Ýng 'món' nào thì ph£i chÍn l¥y mÙt 'món' và b¯t §u hÍc + khai triÃn. Em có thà phàn nàn là: hÍc nh° th¿ bi¿t chëng nào xong và anh có thà tr£ lÝi là: chëng nào em không bi¿t php làm viÇc ra sao, chëng ¥y em không thà khai thác php. Câu này dành cho mÍi công nghÇ em muÑn dùng.

3. Câu thé ba làm cho anh ph£i ¯n o tr°Ûc khi tr£ lÝi em. iÁu anh muÑn bàn th£o vÛi bÍn em lúc này là hai m·t cça v¥n Á. Á nghË cça em có mÙt sÑ iÃm khá k¹t:

- nó làm hÏng tinh th§n khai phá hai m·t cça v¥n Á.

- nó i ra ngoài khuôn khÕ hÍc t­p (anh không chç tr°¡ng chÍn ¡i mÙt server nào ó không ph£i cça mình à làm thí iÃm).

- nó s½ không giúp bÍn em i cho úng b°Ûc và të ó khó hình thành mÙt cái nhìn úng ¯n vÁ security.

Qua nhïng iÃm trên, anh th¥y Á nghË thé ba này cça em không thích hãp. N¿u nh° em ã Íc kù nhïng ph§n anh và 'cuti' H°ng trao Õi tr°Ûc ây, em ¯t s½ th¥y rõ mÙt iÁu anh muÑn nh¥n m¡nh: ti¿p c­n sñ viÇc mÙt cách có quy cách và có ngÍn ngành là mÙt iÁu quan trÍng hàng §u. N¿u bÍn em c£m th¥y ch°a sµn sàng thì mình dÝi sang tu§n sau. Em thí hÙi ý vÛi H°ng và Duy xem sao rÓi cho anh bi¿t nha.

Thân."

MÙt ngày, hai ngày rÓi ba ngày... bÙ ba HKD (H°ng, Khoa, Duy) hoàn toàm im ¯ng. Sao v­y nhÉ? ¿n ngày thé t°, tôi nh­n °ãc e-mail të 'docco' Duy có nÙi dung nh° sau:

"Anh kính m¿n,

§u th° em xin chúc anh mÙt ngày làm viÇc vui v». Em r¥t c£m ¡n anh ã dành nhiÁu thÝi gian cho bÍn em.

Em m¡n phép gßi anh béc e-mail này vì sau khi th±ng Khoa nh­n °ãc mail cça anh, nó than nh° bÍng. Nó sã tr£ lÝi anh không khéo l¡i bË m¯ng nïa. BÍn em cùng Íc mail cça anh tr£ lÝi cho Khoa và éa nào cing ng¡i. Cho nên, ©y tÛi, ©y lui rÑt cuÙc em ph£i là ng°Ýi hÓi âm cho anh. B£n thân em thì em th¥y viÇc anh të chÑi Á nghË cça th±ng Khoa là hoàn toàn hïu lý. Có l½ bÍn em éa nào cing nôn nóng muÑn th¥y k¿t qu£ mà thôi chÛ ch³ng ph£i bÍn em muÑn phá phách gì âu. Mong anh hiÃu cho bÍn em.

Íc e-mail cça anh, em th¥y r±ng có quá nhiÁu iÁu bÍn em ph£i chu©n bË, ph£i i qua, ph£i thñc sñ lãnh hÙi tr°Ûc khi có thà nhìn v¥n Á të hai phía nh° anh °a ra. Lý do r¥t ¡n gi£n anh ¡. Em ngh), cho dù bÍn em có thà thi¿t l­p, cài ·t mÙt máy chç cho nó ch¡y °ãc (dña vào e-book và nhïng tài liÇu tìm °ãc trên Internet) nh°ng à liên hÇ ¿n c¥p Ù b£o m­t hay t¥n công, ây là mÙt iÁu h¿t séc khó khn. B£n thân em ch°a hình dung ra °ãc cái giÁng mÑi giïa chuyÇn thi¿t l­p mÙt mÙt máy chç cho nó ch¡y và mÙt máy chç cho nó ch¡y nh°ng b£o m­t. ëng nói chi chuyÇn khai thác nó. Em xin ¡n cí tr°Ýng hãp SSH ch³ng h¡n vì nó là ph§n dËch vå em ph£i lo.

Em ã theo mÙt vài tài liÇu how-to à cài SSH thành công. Nó làm viÇc ngon lành nh°ng ng«m ngh) mãi em không thà tìm ra ch× y¿u cça nó ß âu à th¯t ch·t (nói theo ph°¡ng diÇn b£o m­t) và à khai thác (nói theo ph°¡ng diÇn t¥n công). Em cing ã tìm hiÃu các l×i x£y ra vÛi open-ssh trên Internet nh°ng ¿n th¿ là h¿t. Em bi¿t ch¯c phiên b£n openssh này em dùng không bË CRC exploit v­y thì muÑn th¯t ch·t thì ph£i làm sao anh?

Th±ng H°ng cing lâm vào tình tr¡ng không khác gì em c£. Nó chÍn phiên b£n mÛi nh¥t cça Sendmail vÁ cài, cing khÕ sß vÛi m¥y cái .cf và .m4 và rÑt cuÙc cing t¡o °ãc dËch vå smtp. Tuy nhiên nó cing ang n·n óc suy ngh) xem hÇ thÑng mail cça nó có gì không vïng. Em thì h³n nhiên là mù tËt chuyÇn này vì em ch°a bao giÝ thi¿t l­p sendmail nên cing ch³ng góp ý gì °ãc cho nó. TÙi nghiÇp, nó théc suÑt, ngoáy phá rÓi l§m b±m chíi rça mÙt mình mãi.

Riêng th±ng Khoa thì ch³ng ti¿n triÃn gì m¥y ngoài viÇc hoàn t¥t xong cái apache vÛi mÙt trang index.html. Nó ang k¹t céng vì ph£i chÍn mÙt trong m¥y công nghÇ php, asp, jsp hay cgi và cái nào cing òi hÏi ph£i nghiên céu th­t sñ.

Em ngh) có l½ m¥y anh em mình nên bàn ¿n tëng dËch vå, bàn iÃm m¡nh và iÃm y¿u cça tëng dËch vå. Të ó bÍn em mÛi có °ãc cái 'h°Ûng' Ã khai triÃn. Anh ngh) sao?

Mong anh sÛm cho bÍn em ý ki¿n.

Em chào anh.

Duy."

Tôi nh­n °ãc mail cça "docco" Duy và c£m th¥y ph¥n ch¥n bßi vì iÁu quan trÍng nh¥t là c£ bÍn trong bÙ ba kia Áu cÑ g¯ng ti¿p c­n v¥n Á mÙt cách nghiêm túc và say mê. Thi¿u nÁn t£ng này, mÍi dñ Ënh khai phá s½ ch³ng i tÛi âu. Tôi liÁn hÓi âm cho "bÙ ba" nh° sau:

"Chào H°ng, Duy và Khoa,

Anh ã nh­n °ãc mail cça Duy, ã Íc. Anh dñ phÏng th¿ nào bÍn em cing g·p nhïng trß ng¡i. Mình nên xem nhïng trß ng¡i này là chuyÇn hiÃn nhiên và ëng vÙi n£n. BÍn em nên tìm hiÃu kù l°áng h¡n c¡ ch¿ làm viÇc cça tëng dËch vå mình muÑn thi¿t l­p. ây là chuyÇn c§n thi¿t vì nó s½ giúp cho viÇc bàn th£o cça m¥y anh em mình dÅ dàng h¡n.

ChiÁu thé B£y tu§n tÛi anh r£nh. Anh s½ online kho£ng 1 giÝ tr°a giÝ VN. N¿u bÍn em th¥y Õn thì cho anh bi¿t nha.

Thân."

Ngày hôm sau tôi nh­n °ãc mÙt thông iÇp ng¯n gÍn të "cuti" H°ng trên YIM:

"Chào anh già, bÍn em s½ online lúc 1 giÝ chiÁu thé B£y tu§n sau nh° anh ã h¹n."

Thêm mÙt tu§n lÅ trôi qua. Tôi ch³ng hÁ nh­n thông iÇp nào të bÙ ba. Có l½ c£ bÍn ang 'chúi §u' vào xem xét cái gÍi là "c¡ ch¿ làm viÇc". ChiÁu nay, chiÁu thé B£y, tôi log vào YIM nh° ã h¹n. "cuti" H°ng và "docco" Duy ang ngÓi chÝ. "haothu" Khoa âu nhÉ? Tôi gßi "cuti" mÙt thông iÇp:

"Hello H°ng, anh ã online ây. "haothu" Khoa âu rÓi?"

"cuti" bèn gßi ngay 'lÝi mÝi' Ã vào conference, kèm theo mÙt thông iÇp:

"D¡, th±ng Khoa bË bÇnh rÓi anh. Em gÍi dtdd cho nói thì th¥y nó ho khù khå, than au §u, au cÕ búa xua."

Tôi ti¿p nh­n lÝi mÝi cça "cuti" rÓi ti¿p tåc:

"V­y h£? ti¿c th­t. V­y em nên l°u l¡i nÙi dung trao Õi cça anh em mình cho nó Íc không thì nó bË thi¿u liÁn l¡c nha. Trong bÙ ba bÍn em, anh h¡i ng¡i cho nó vì nó có v» thi¿u kiên nh«n nh¥t."

Lúc này "docco" Duy lên ti¿ng:

"Chào anh, anh kho» không? BÍn em bi¿t rõ tính th±ng Khoa mà. Anh nh­n xét úng l¯m. Nó thì lúc nào cing muÑn liÁn liÁn. ChuyÇn gì thích là làm ngay, không c§n suy ngh). Em vÛi nó cé cãi nhau hoài vÁ kho£n này. Th±ng H°ng thì... trung tính h¡n nên em th¥y trao Õi vÛi nó dÅ h¡n."

Tôi g­t gù. Trong mÙt không gian bé nhÏ, vÛi ph°¡ng tiÇn ngôn ngï 'cà rán' mà ám chúng tôi ang trao Õi, v­y mà cái gÍi là 'cá tính' v«n hiÃn hiÇn mÙt cách th­t rõ ràng. Tôi áp:

"êa, anh cing th¥y nh° v­y. Bây giÝ anh em mình b¯t §u chÛ? Anh Á nghË mình nên phân tích tëng d¡ng dËch vå thì mÛi có thà dÅ hình thành "hai m·t v¥n Á". BÍn em th¥y sao?"

"cuti" áp lÝi ngay:

"D¡, em th¥y cách ó hay nh¥t. Mình bàn vÁ sendmail tr°Ûc nha anh? :)"

"docco" Duy xen ngay vào:

"Thôi i mày, nhào vô là muÑn tranh tiên liÁn h£? Công séc tao gßi mail cho £nh thì ph£i °ãc Án bù là éng §u danh sách chÛ :)"

Tôi áp:

"Cái nào tr°Ûc cing °ãc. Cái nào cing quan trÍng c£. iÁu mình c§n bàn ß ây không ph£i cách cài ·t và thi¿t l­p à mÙt dËch vå ch¡y °ãc mà là bàn vÁ nhïng iÃm có thà th¯t ch·t (ho·c có thà khai thác) sau khi dËch vå này ã ho¡t Ùng. Anh ngh) mình nên khßi §u vÛi SSH vì ây là ph°¡ng tiÇn cho phép truy c­p trñc ti¿p vào hÇ thÑng à iÁu khiÃn hÇ thÑng."

"docco" ¯c th¯ng:

"Hì hì, th¥y ch°a H°ng? Mày òi tranh tiên làm chi cho mÇt."

"cuti" tiu nghÉu:

"Thôi, nh°Ýng cho mày i tiên mÙt l§n cing °ãc."

Tôi c°Ýi, áp:

"Làm nh° oánh cÝ t°Ûng không b±ng. i tiên vÛi i h­u :). RÓi, Duy, em ·t v¥n Á i."

"docco" Duy ng¡ ngác:

"D¡.... ·t v¥n Á... sao anh?"

Tôi áp:

"Ùm... ·t v¥n Á là cho ¿n lúc này em ã làm °ãc gì vÛi SSH, ã hiÃu nhïng gì vÁ c¡ ch¿ làm viÇc cça SSH và lý do t¡i sao em không tìm ra °ãc ch× nào à th¯t ch·t nó."

"docco" Duy im l·ng mÙt ×i rÓi b¯t §u:

"Em hiÃu r±ng SSH là mÙt ph°¡ng tiÇn, mÙt dËch vå cho phép ng°Ýi dùng truy c­p të xa vào à iÁu khiÃn mÙt hÇ thÑng nào ó. Sß d) nó là secure shell vì thông tin gßi / nh­n të hai §u °ãc hoàn toàn mã hoá. Nói vÁ m·t th¯t ch·t, em ã thí nhïng tài kho£n không tÓn t¡i à truy c­p và ssh hoàn toàn të chÑi, em không bi¿t ph£i làm gì khác. Nói vÁ m·t khai thác, em cing thí truy c­p të máy khác vào b±ng các tài kho£n 'có thà oán °ãc' nh°ng cing không có cách nào vào °ãc. ¿n giai o¡n này em hoàn toàn b¿ t¯c :("

Tôi gãi ý:

"Nói vÁ ph°¡ng diÇn 'c¡ ch¿ làm viÇc' cça ssh, em thí phân tích xem: à ssh có thà làm viÇc °ãc, nó c§n nhïng 'c¡ ph­n' nào?"

"docco" Duy råt rè:

"D¡... t¥t nhiên là mình ph£i c§n ch°¡ng trình ssh thì nó mÛi t¡o °ãc dËch vå chÛ anh?"

Tôi khuy¿n khích:

"úng l¯m. Em thí liÇt kê mÙt cách tÕng quát xem, gói ssh (ch¯c em dùng rpm à cài?) gÓm có nhïng gì trong ó?"

"docco" Duy h¡i ng­p ngëng nh° thà cu c­u không tñ tin ß iÁu mình s¯p nói:

"D¡... em ngh)... em th¥y... em cài gói ssh të rpm úng rÓi ó anh. Nh°ng em th¥y nó có tùm lum thé c£. Anh muÑn em liÇt kê ra h¿t h£?"

Tôi c°Ýi, áp:

"Không em, anh muÑn em liÇt kê ra h¿t làm chi? Anh chÉ muÑn em có nh­n Ënh tÕng quát vÁ mÙt gói ch°¡ng trình thôi. Të ó em mÛi hình thành °ãc c¡ ch¿ làm viÇc cça nó. Th¿ này, Ã anh thí 'nh­n Ënh' theo kiÃu cça anh h£?"

"docco" vÙi vã áp:

"D¡, anh 'thí' i. Ngay të §u anh b£o em '·t v¥n Á' làm em khi¿p vía nên không bi¿t ph£i nói th¿ nào cho suông nïa."

Tôi tr¥n an "docco":

"Hì hì, có gì âu mà 'khi¿p vía' em? '·t v¥n Á' là mÙt cách tóm t¯t mÙt v¥n Á mình c§n gi£i quy¿t. Ph£i n¯m rõ v¥n Á tr°Ûc khi ngh) ¿n gi£i pháp à gi£i quy¿t v¥n Á. Nên nhÛ, there is no solution for unknown problem. Anh th¥y th¿ này: gói ssh có binaries, có libraries, có configuration files, có init script. Binaries là à khßi t¡o ch°¡ng trình, tuy nhiên, thi¿u th° viÇn, thi¿u hÓ s¡ c¥u hình thì dËch vå không thà hình thành °ãc. Còn init script là mÙt ph°¡ng tiÇn à khßi t¡o dËch vå theo úng trình tñ 'run level' trên hÇ thÑng, nó cing là ph°¡ng tiÇn à t¯t bÏ dËch vå úng quy cách. V­y, vÛi t° cách cça mÙt ng°Ýi dùng, mÙt admin (và không ph£i là mÙt l­p trình viên), y¿u tÑ nào quan trÍng nh¥t quy¿t Ënh tính nng ho¡t Ùng cça ssh?"

"docco" áp:

"D¡ em ngh) hÓ s¡ c¥u hình là y¿u tÑ quan trÍng nh¥t quy¿t Ënh tính nng ho¡t Ùng cça ssh. Ph£i ý anh hÓ s¡ c¥u hình là t­p tin không anh? BÍn em bên này toàn là dùng thu­t ngï 't­p tin' không à."

Tôi c°Ýi, áp:

"Chính xác! 't­p tin' là y¿u tÑ quan trÍng nh¥t quy¿t Ënh tính nng ho¡t Ùng cça ssh. Mình dùng thu­t ngï 't­p tin' i, m·c dù anh không hoàn toàn Óng ý 'configuration file' °ãc dËch là 't­p tin c¥u hình'. Tuy nhiên ây là chuyÇn khác, n¿u có dËp anh em mình 'cãi' ch¡i cho vui. V­y, em ã thí 'hack' t­p tin c¥u hình ch°a?"

C£ hai "cuti" và "docco" cùng síng sÑt hÏi l¡i:

"Hack t­p tin c¥u hình?"

"Hack t­p tin c¥u hình?"

"cuti" hÏi thêm:

"T­p tin c¥u hình có gì Ã hack âu anh?"

Tôi c°Ýi phá lên rÓi thong th£ tr£ lÝi:

"Sao không 'hack' °ãc em? Em hÏi th¿ này chéng tÏ em ch°a hoàn toàn '£ thông' khái niÇm 'hack' mà anh em mình ã nh¯c tÛi, nh¯c lui nhiÁu l§n. B¥t cé mÙt hành Ùng nào làm thay Õi thái Ù ho¡t Ùng cça hÇ thÑng Áu là hack c£. Em cé bË ám mãi 'hack' == 'thâm nh­p'. Khi em dùng mÙt gói rpm có sµn t­p tin c¥u hình, có sµn binaries, libraries... à cài trên máy chç, hành Ùng này có thà °ãc xem là cài ·t. Þ méc Ù cñc oan, n¿u ng°Ýi qu£n lý máy chç (không ph£i em) không muÑn cài ssh nh°ng b±ng cách gì ó em l¡i cài ssh trên máy thì ây cing là hành Ùng hack. Bßi vì em ã thay Õi thái Ù làm viÇc cça máy chç. N¿u em là ng°Ýi qu£n lý máy chç và quy¿t Ënh cài gói rpm cça ssh, không iÁu chÉnh b¥t cé thé gì và chÉ khßi t¡o dËch vå ssh thì ây là cài ·t. Ngay khi em dùng vi à mß cái sshd_config à táy máy và 'save' nó, em ã thñc hiÇn viÇc 'hack'. N¿u em 'hack' dß quá, ssh không ch¡y nïa thì cing là 'hack' (nh°ng dß). N¿u em 'hack' thi¿u c©n th­n và làm cho ssh không còn b£o m­t nïa thì cing là 'hack' (nh°ng không c©n th­n). Anh hy vÍng gi£i thích nh° th¿ này t¡m à em hiÃu h¡n th¿ nào là 'hack' :)"

"cuti" rên rÉ:

"Ôi trÝi. ChÉ th¿ thôi sao anh? V­y là hack h£? :(. Thôi rÓi, mÍi thé såp Õ."

¿n lúc này "docco" Duy v«n ch°a lên ti¿ng. Có l½ cu c­u ang ng«m ngh) gì ây nên tôi tr£ lÝi ti¿p:

"Sao l¡i 'chÉ th¿ thôi' em? Nhïng ví då anh °a ra ß trên là mÙt trong nhïng ví då thuÙc d¡ng 'hack'. T¥t nhiên là 'hack' không 'chÉ là th¿ thôi' :). Này, mình thí i sâu h¡n mÙt tí là em s½ th¥y rõ h¡n. Óng ý không?"

"docco" Duy c¥t ti¿ng:

"Thú th­t em cing bË håt h«ng bßi m¥y cái ví då cça anh. Có l½ tr°Ûc giÝ em bË t©y não bßi nhïng m©u chuyÇn màu mè hoa lá cành, nhïng huyÁn tho¡i vÁ cái gÍi là 'hack' nên cé ngá r±ng 'hack' là nhïng hành Ùng nào ó cao siêu và m§u nhiÇm à phá vá mÙt hÇ thÑng làm viÇc. NgÝ âu anh l¡i dùng vài ví då h¿t séc ¡n gi£n à minh ho¡ 'hack'. Có l½ em c§n ph£i iÁu chÉnh l¡i mÙt sÑ quan niÇm mà em ã 'quen' të tr°Ûc ¿n giÝ."

Tôi tr§m ngâm khi Íc o¡n Ñi tho¡i cça "docco" Duy và tìm cách tr£ lÝi cu c­u sao cho §y ç, súc tích. Sau ó, tôi nói:

"Th¿ này. Em ngh) r±ng nhïng ví då anh °a ra ß trên là ¡n gi£n th­t sao? Anh thì không ngh) th¿. Anh cho r±ng chúng phéc t¡p nh° bao nhiêu chuyÇn phéc t¡p khác. ViÇc 'hack' Ã phá vá mÙt hÇ thÑng làm viÇc chÉ là 'mÙt m·t cça v¥n Á'; 'hack' còn có måc ích chÑng l¡i hành vi phá vá nïa. Ã anh chéng minh cho mà xem.

1. nói vÁ chuyÇn iÁu chÉnh sshd_config, hãy xem thí c¥u hình chung chung nh° sau:

Code:

Port 22

ListenAddress 203.210.205.200

HostKey /etc/ssh/ssh_host_key

HostKey /etc/ssh/ssh_host_dsa_key

HostKey /etc/ssh/ssh_host_rsa_key

ServerKeyBits 768

LoginGraceTime 60

KeyRegenerationInterval 3600

PermitRootLogin yes

IgnoreRhosts no

IgnoreUserKnownHosts yes

StrictModes no

X11Forwarding yes

PrintMotd yes

KeepAlive yes

SyslogFacility AUTH

LogLevel INFO

RhostsAuthentication yes

RhostsRSAAuthentication yes

RSAAuthentication yes

PasswordAuthentication yes

PermitEmptyPasswords yes

Subsystem sftp /usr/libexec/openssh/sftp-server

N¿u không hiÃu t°Ýng t­n tëng giá trË, làm sao em có thà bi¿t °ãc giá trË nào có nguy c¡ 'làm gi£m' Ù b£o m­t? V­y chÉnh lý th¿ nào à gi£m nhïng 'nguy c¡' có thà x£y ra? Làm sao em xác Ënh °ãc giá trË nào là thích hãp? Cách b£o £m nh¥t (và cing au khÕ nh¥t) là iÁu chÉnh tëng giá trË, khßi Ùng l¡i sshd rÓi thí nghiÇm. ây là công viÇc r¥t m¥t thÝi gian và c§n sñ kiên nh«n và t¥t nhiên là không ¡n gi£n tí nào. T­p tin này ß d¡ng m·c Ënh th°Ýng có các giá trË c¥u hình cn b£n nh¥t và tho£i mái nh¥t nh±m måc ích 'dùng °ãc liÁn' cho mÍi ng°Ýi. N¿u em không iÁu chÉnh l¡i thì hoàn toàn không mang tính ch¥t gì gÍi là 'b£o m­t' c£. Cing chính vì th¿ mà nhïng k» muÑn t¥n công th°Ýng dña vào nhïng iÃm 'tho£i mái' trong t­p tin c¥u hình m·c Ënh mà khai thác.

2. bßi vì em cài ·t nó të mÙt rpm và mÍi thé Áu °ãc s¯p x¿p âu vào ó, em chÉ ch¡y /etc/rc.d/sshd start là dËch vå này sµn sàng phåc vå --> xem có v» ¡n gi£n. N¿u nh° em không muÑn cài të rpm mà muÑn biên dËch trÍn bÙ të nguÓn vì mÙt lý do gì ó (vì rpm ch°a kËp c­p nh­t hay vì em muÑn iÁu chÉnh cái gì ó trong mã nguÓn). LiÇu nó có ¡n gi£n không? Câu tr£ lÝi là không. Bßi vì em ph£i iÁu chÉnh mÍi thé cho thích hãp, ph£i t¡o ra init script n¿u ch°a có sµn, ph£i iÁu chÉnh l¡i LD_LIBRARY_PATH Ã các binaries bi¿t dùng th° viÇn nào cho úng, em ph£i iÁu chÉnh là PATH, em ph£i b£o £m v¥n Á dependency hoàn toàn âu vào ó. Sau ó em ph£i iÁu chÉnh l¡i sshd_config.

Anh không tin là trÍn bÙ thao tác ¡n gi£n và dÅ dàng tí nào."

"cuti" d°Ýng nh° cing có cùng béc xúc nh° "docco" nên h°ßng éng thêm:

"Qu£ là phéc t¡p nh°ng em v«n th¯c m¯c là viÇc iÁu chÉnh sshd_config n±m ß giÛi h¡n iÁu chÉnh chÛ sao gÍi là hack °ãc anh?"

Tôi c°Ýi, áp:

"êa, em ngh) ó là iÁu chÉnh cing hãp lý nh°ng theo cách nhìn cça anh, n¿u em thay Õi c¥u hình m·c Ënh cça mÙt dËch vå à thay Õi thái Ù làm viÇc cça nó thì ó là 'hack'. KiÇn toàn b£o m­t cho sshd (cing nh° các dËch vå khác) không chÉ dëng l¡i ß chính t­p tin c¥u hình cça nó mà còn ph£i xét duyÇt, iÁu chÉnh nhïng thé xung quanh nó. Ví då, em biên dËch l¡i ssh à áp ·t dùng pam (plugable authentication module) và sau ó iÁu chÉnh pam dành riêng cho ssh có thái Ù cå thà nào ó ch³ng h¡n. Nhïng công viÇc này Áu là 'hack'. Anh ¡n cí mÙt ví då r¥t ¡n gi£n: anh iÁu chÉnh l¡i giá trË #VERSION cça ssh tr°Ûc khi biên dËch l¡i nó të mã nguÓn vÛi måc ích d¥u footprint, cái này h³n nhiên là 'hack' rÓi :)."

C£ "cuti" và "docco" Áu tr§m ngâm hÓi lâu. Sau ó "docco" lên ti¿ng:

"Bây giÝ em mÛi th¥y khái niÇm quan trÍng nh° th¿ nào. Khái niÇm °ãc hình thành mÙt cách sai l¡c và què qu·c thì s½ d«n ¿n hàng lo¡t các sai l¡c khác. V«n vÛi chç Á t­p tin c¥u hình sshd_config, anh có thà phân tích thêm theo ph°¡ng diÇn t¥n công °ãc không anh?"

Tôi áp:

"°ãc chÛ em. Hãy thí 'ào xÛi' giá trË thé nh¥t Port 22. Ai cing bi¿t ây là cÕng chính théc cça dËch vå ssh. N¿u muÑn táy máy, anh chÉ c§n thí mÙt dòng nmap ã ç có thà xác Ënh xem có dËch vå ssh trên máy chç hay không rÓi:

Code:

[conmeo@home conmale]# /usr/local/bin/nmap -sT someserver.somedomain.com -p 22 -v

Starting nmap 3.81 ( HYPERLINK "http://www.insecure.org/nmap/" \t "_blank" http://www.insecure.org/nmap/ ) at 2005-07-31 17:04 EST

Initiating Connect() Scan against someserver.somedomain.com (xx.xx.xx.xx) [1 port] at 17:04

Discovered open port 22/tcp on xx.xx.xx.xx

The Connect() Scan took 0.23s to scan 1 total ports.

Host someserver.somedomain.com (xx.xx.xx.xx) appears to be up ... good.

Interesting ports on someserver.somedomain.com (xx.xx.xx.xx):

PORT STATE SERVICE

22/tcp open SSH

Nmap finished: 1 IP address (1 host up) scanned in 1.464 seconds

Raw packets sent: 2 (68B) | Rcvd: 1 (46B)

N¿u c§n, anh có thà thêm mÙt thông sÑ Ã xác Ënh phiên b£n cça ssh:

Code:

[conmeo@home conmale]# /usr/local/bin/nmap -sT -sV someserver.somedomain.com -p 22 -v

Starting nmap 3.81 ( HYPERLINK "http://www.insecure.org/nmap/" \t "_blank" http://www.insecure.org/nmap/ ) at 2005-07-31 17:03 EST

Initiating Connect() Scan against someserver.somedomain.com (xx.xx.xx.xx) [1 port] at 17:03

Discovered open port 64321/tcp on xx.xx.xx.xx

The Connect() Scan took 0.23s to scan 1 total ports.

Initiating service scan against 1 service on someserver.somedomain.com (xx.xx.xx.xx) at 17:03

The service scan took 0.47s to scan 1 service on 1 host.

Host someserver.somedomain.com (xx.xx.xx.xx) appears to be up ... good.

Interesting ports on someserver.somedomain.com (xx.xx.xx.xx):

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 3.5p1 (protocol 2.0)

Nmap finished: 1 IP address (1 host up) scanned in 2.481 seconds

Raw packets sent: 2 (68B) | Rcvd: 1 (46B)

Ho·c ¡n gi£n h¡n nïa:

Code:

$ telnet someserver.somedomain.com 22

Trying someserver.somedomain.com...

Connected to someserver.somedomain.com (xx.xx.xx.xx).

Escape character is '^]'.

SSH-2.0-OpenSSH_3.5p1

Të nhïng thông tin này, anh có thà hình thành mÙt k¿ ho¡ch 'ào xÛi' ssh cça em. N¿u nh° em c§n dËch vå ssh cho chính em (và mÙt sÑ giÛi h¡n ng°Ýi dùng nào ó), t¡i sao em không Õi cÕng 22 thành cÕng gì ó n±m trên dãy high ports: 22334 ch³ng h¡n? N¿u em xoá luôn footprint cça ssh thì anh s½ m¥t nhiÁu thÝi gian h¡n à xác Ënh xem có ssh ang l¯ng nghe hay không? ôi khi anh bÏ cuÙc vì m¥t thÝi gian quá :). N¿u chÉ có cÕng ssh mß ra trên toàn máy chç và n¿u anh ph£i thâm nh­p máy chç cça em thì có mÙt vài cách khai triÃn:

a. xem thí phiên b£n này có thuÙc mÙt trong nhïng b£n bË l×i hay không (ây là cách cça a sÑ perpetrator).

b. n¿u phiên b£n này mÛi ho·c không thuÙc diÇn "known vulnerability" thì mÛi ti¿p tåc dò d«m nhïng iÃm s¡ hß cça c¥u hình (ây là cách cça nhïng perpetrator cÑ tình thâm nh­p khai triÃn).

c. t£i mã nguÓn cça chính phiên b£n ang °ãc dùng trên måc tiêu vÁ à 'soi' xem chúng có l×i gì rÓi hình thành ph°¡ng pháp thâm nh­p. T¥t nhiên là chÉ có thà n¿u có mã nguÓn à t£i (ây là cách cça nhïng 'hacker' th­t sñ chuyên chú và say mê).

d. n¿u chính mã nguÓn cça ssh không có l×i (ho·c không thà tìm ra l×i), thì tìm l×i cça nhïng th° viÇn h× trã (ssl, zlib...) bßi vì chúng trñc ti¿p £nh h°ßng ¿n b£o m­t cça ssh (ây cing là cách cça nhïng 'hacker' th­t sñ chuyên chú và say mê).

N¿u trên máy chç cça em còn nhiÁu 'tiÁm nng' khác và ssh... 'khó n' quá thì không bi¿t chëng, anh l¡ ¹p ssh và chuyÃn sang iÃm y¿u khác. Cái này còn tuó vào måc ích thâm nh­p và vai trò cça ng°Ýi thâm nh­p nïa. N¿u anh là 'ethical hacker' ang làm công tác b£o m­t và muÑn kiÇn toàn hÇ thÑng thì anh ph£i cÑ exploit mÍi iÃm có thà tìm °ãc. N¿u anh là 'professional hacker' thì anh tìm b¥t cé iÃm nào y¿u nh¥t cça hÇ thÑng mà khai thác ho·c k¿t hãp nhïng y¿u tÑ 'y¿u' nh¥t à khai thác à ¡t måc ích nhanh chóng nh¥t. N¿u anh là 'amateur hacker' thì... "të të mà m§n", l× này không °ãc thì thí ti¿p l× khác."

"cuti" reo lên:

"Ò... nghe 'ã' thiÇt! Anh nói thêm nïa i."

"docco" thì c©n th­n h¡n:

"Em th¥y nhïng iÁu này th­t là lý thú. Em ngh) r±ng bÍn em ngay lúc này thì bó tay vÛi iÃm c và d rÓi ó. Bßi vì có ç kh£ nng ngÓi 'soi' code thì úng là cao thç rÓi. V­y, nhïng giÁng mÑi cça "hai m·t v¥n Á" trong iÃm a và b là sao anh?"

"docco" qu£ là ranh mãnh ;-). Tôi mÉm c°Ýi và nói ti¿p:

"RÓi, 'hai m·t cça v¥n Á' trên iÃm a và b th¿ này. Thí ¡n cí mÙt giá trË trong sshd_config là PermitEmptyPasswords yes ch³ng h¡n.

- n¿u anh óng vai trò là B (ng°Ýi thç): và anh chÍn PermitEmptyPasswords yes thì anh bË sút 'k» công' mÙt iÃm. B£o m­t không tha thé cho thi¿u sót, l¡i càng không tha thé cho thi¿u nghiên céu và 'lÝ' b¥t cé chi ti¿t nào.

- n¿u anh óng vai trò là A (k» công): anh có thà enumerate ra danh sách user trên server b±ng ph°¡ng tiÇn nào khác và cé ¡n gi£n logon server cça em b±ng username mà không c§n password. Th¿ nào anh cing tìm ra °ãc account không có password (n¿u nh° em thi¿t k¿ thi¿u c©n th­n). Sau khi login °ãc rÓi thì chuyÇn privilege escalation là mÙt chuyÇn khác.

V­y, vÛi t° cách là B, làm sao anh bi¿t giá trË PermitEmptyPasswords yes là nguy hiÃm? T¥t nhiên là anh ph£i nghiên céu tài liÇu cå thà cça ssh và thí nghiÇm mÙt cách tÉ mÉ và c©n th­n. VÛi t° cách là A, làm sao anh bi¿t giá trË PermitEmptyPasswords yes có thà là c¡ hÙi ¡t k¿t qu£? T¥t nhiên anh cing ph£i nghiên céu tài liÇu cå thà cça ssh thì mÛi bi¿t °ãc có cái 'màn' empty password ß ây. N¿u không thì viÇc gì anh bÏ thÝi gian ra à enumerate account rÓi ngÓi ó mà thí 'empty password'?

'Hai m·t v¥n Á' ß ây quy tå l¡i mÙt iÃm: c£ A và B Áu ph£i bi¿t rõ ssh có nhïng chéc nng gì? có thà 'hß' ß nhïng iÃm nào? K» công thì khai thác nhïng iÃm nào bË 'hß', ng°Ýi thç thì lo bít nhïng iÃm có thà bË 'hß'. Nhìn të hai phía, c£ hai Áu ph£i có ki¿n théc. Nên nhÛ, nhïng iÁu k» công A làm (mình bàn ß ây) ch°a ph£i là 'hack' mà chÉ là kù thu­t dò tìm và thâm nh­p. ëng l«n lÙn nó vÛi 'hack'. Þ b°Ûc này, A ch°a hÁ làm gì à thay Õi thái Ù làm viÇc cça hÇ thÑng c£."

"cuti" thÑt lên:

"Th­t thú vË. Em cé ngá nhïng ng°Ýi thích thâm nh­p có nhïng công théc hay Ó nghÁ bí m­t gì ó. Không ngÝ sñ thà ¡n gi£n và dÅ hiÃu ¿n th¿. Nh°ng sao ssh l¡i cung c¥p chÍn lña 'empty password' chuÑi quá v­y anh? Làm th¿ thì còn gì là b£o m­t?"

"docco" xen vào:

"Thôi i mày ¡i, làm sao mà ¡n gi£n? NhÝ Õng phân tích thì mÛi th¥y ¡n gi£n và dÅ hiÃu chÛ thñc t¿ thì tr°Ûc m¯t bÍn mình ph£i 'xoi' qua cuÑn sách nói vÁ ssh à thí nghiÇm tëng giá trË trong t­p tin c¥u hình rÓi ó."

"cuti" chÑng ch¿:

"Thì tao có nói gì gì âu. Ý tao là sau khi °ãc gi£i thích rÓi mÛi th¥y nó dÅ hiÃu. Mày thì lúc nào cing giÏi b¯t b»."

Tôi xen ngn ngay tr­n kh©u chi¿n:

"Thôi, thôi hai trñ. Sß d) th¥y nó có v» ¡n gi£n bßi vì nó có nguÓn gÑc, cn nguyên rõ ràng. Công théc thì anh ngh) ch³ng có công théc gì h¿t, chÉ có nhïng b°Ûc khai triÃn dña trên tình hình, thông tin l¥y °ãc và hoàn c£nh mà thôi. Cái này có thà xem là nguyên t¯c chÛ không thà xem là công théc. Còn công cå thì chç y¿u là tñ ch¿ mà thôi, bßi vì m×i hoàn c£nh, m×i òi hÏi c§n mÙt thé công cå khác nhau. Có nhïng công cå có sµn và cñc hay dành à dò tìm thông tin nh° nmap ch³ng h¡n. Có thà éng dång nó trong mÍi hoàn c£nh vì l¥y footprint là mÙt b°Ûc h§u nh° không thà thi¿u. Tuy nhiên, nhïng thao tác à thí 'xâm nh­p' thì quá nhiÁu và quá rÙng cho nên cách hay nh¥t và cå thà nh¥t là tñ t¡o cho mình công cå.

Riêng chuyÇn ssh cho phép 'empty password' là chuÑi thì.... hèm... mình ph£i nhìn v¥n Á mÙt cách rÙng h¡n. Không riêng gì ssh mà dËch vå nào cing có hai m·t: tiÇn dång và b£o m­t. MÙt ch°¡ng trình có nhiÁu chéc nng, linh Ùng trong c¥u hình, cho phép lña chÍn thì l¡i dÅ v°Ûng vào chuyÇn 'y¿u' b£o m­t. MÙt ch°¡ng trình muÑn b£o m­t thì l¡i giÛi h¡n chéc nng và lña chÍn. Bßi v­y, công tác cça ng°Ýi làm b£o m­t là t¡o nên sñ cân b±ng giïa tiÇn dång và b£o m­t. Trong khi ó, vai trò cça k» t¥n công là tìm ra nhïng iÃm y¿u cça sñ thi¿u cân b±ng giïa tiÇn dång và b£o m­t à thâm nh­p."

"cuti" rú lên:

"TrÝi ¡i. N¿u mình dành thÝi gian ngÓi ó vi¿t ch°¡ng trình thì chëng nào cho xong anh?"

Tôi ng¯t lÝi "cuti":

"ó ó, em l¡i bË sa vào 'cõi' thi¿u kiên nh«n rÓi. Anh ví då tr°Ýng hãp SSH ti¿p nh­n "empty password" ß ây, em có thà dùng Perl hay ngay c£ shell script à tñ Ùng hoá thao tác truy c­p. Cách này úng ra còn nhanh h¡n là dò tìm xem có công cå nào làm cho viÇc này. Anh ngh) cùng l¯m là mÙt chåc dòng code là xong. MuÑn 'ao to búa lÛn' h¡n nïa thì thí dùng C ho·c mÙt sÑ ngôn ngï khác. Không nhïng nhanh h¡n chuyÇn tìm ki¿m công cå, nó còn b£o £m k¿t qu£ em muÑn tìm bßi vì chính em vi¿t ra."

"cuti" v«n rên rÉ:

"TrÝi, c¥u hình cho cái dËch vå ch°a nên dáng. Bây giÝ l¡i thêm chuyÇn vi¿t công cå Ã 'thâm nh­p' nó :(. Sao mà mênh mông quá v­y trÝi?"

"docco" th¯c m¯c:

"Em muÑn hÏi thêm iÃm này. Theo anh nói, nhïng ng°Ýi dùng các công cå có sµn à tìm °Ýng vào hiÃn nhiên là... mò. Mình vi¿t script à tìm °Ýng vào trong tr°Ýng hãp 'empty password' ß ây em ngh) cing là... mò luôn. V­y sao không dùng công cå có sµn à mò hß anh? Nh° v­y không dÅ dàng h¡n sao?"

Tôi c°Ýi áp:

"Em th¯c m¯c mÙt iÃm r¥t lý thú ó Duy. Tr°Ýng hãp 'mò' empty password ß ây cing có thà xem là... mò. Tuy nhiên iÃm khác biÇt lÛn lao là 'mò' ß ây là 'mò' có cn, còn 'mò' theo kiÃu dùng mÙt công cå có sµn và cé 'phang' ¡i thì ó là 'mò'... mù :). Nói mÙt cách khác, 'mò' empty password ß ây là mÙt hành Ùng có chç ích, nh¯m vào mÙt iÃm r¥t cå thà à Ùt phá s¡ hß cça c¥u hình ssh. Nh° anh ã có l§n Á c­p, 'script kiddie' chÉ c§n khßi Ùng mÙt công cå có sµn và nh¯m m¯t mà ch¡y, không c§n bi¿t công cå này làm gì. N¿u không có k¿t qu£ gì h¿t thì 'kiddie' này... b¿ t¯c. Trong khi ó, n¿u em tñ vi¿t mÙt công cå cho mÙt måc ích cå thà nào ó, em bi¿t chính xác chuyÇn gì x£y ra. N¿u em thí vi¿t script à truy c­p: thành công, nó cho k¿t qu£; không thành công, không có k¿t qu£ gì c£. Ít nh¥t em có thà thu th­p °ãc ß ây là xác Ënh °ãc dËch vå ssh này không cho (ho·c cho phép) empty password."

"docco" tr£ lÝi:

"D¡, qu£ th­t có khác nhau. Em ngh) là em °ãc £ thông chuyÇn này rÓi ó, th­t là ã. V­y bÍn em ph£i ngâm céu th­t kù c¥u hình cça m×i dËch vå rÓi ch¯c ph£i nhÝ anh 'chÉ iÃm' thêm quá."

Tôi áp:

"êa, à mình có thà bàn ß c¥p Ù 'công' hay 'thç' thì ph£i th­t sñ n¯m vïng c¥u hình cça dËch vå và bi¿t rõ lý do t¡i sao mình quy¿t Ënh nh° v­y. Anh ph£i i rÓi. N¿u muÑn, tu§n sau mình ti¿p tåc h£?"

"cuti" lém lÉnh:

"D¡, nh¥t Ënh tu§n sau anh em mình s½ có nhïng chuyÇn lý thú h¡n bßi vì s½ ång ¿n ph§n cça em ;-)."

Tôi áp:

"êa, ch°a bi¿t s½ 'lý thú' h¡n hay 'au §u' h¡n ó em. Em xem thí sendmail có thà bË 'thçng' ß âu rÓi mình bàn h£? Duy, em xem thí sau mÙt tu§n ngâm céu em s½ có nhïng th¯c m¯c gì vÁ SSH nha? Chào Duy, chào H°ng."

Tôi x¿p laptop l¡i.

30/7/2005

<còn ti¿p>

Conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 7

10. "Hai m·t" cça v¥n Á - 'nhu c§u cå thÃ':

Tu§n này, tôi liên tåc nh­n mail và offline message të bÙ ba Khoa, H°ng, Duy nh°ng 'docco' Duy là ng°Ýi gßi nhiÁu nh¥t và th°Ýng xuyên nh¥t. iÁu làm tôi thích thú khi Íc mail và offline messages cça 'docco' là vì tính chín ch¯n và c©n th­n cça cu c­u. H³n nhiên 'docco' Duy v«n ph£ng ph¥t h¡i hám cça mÙt 'rookie', iÁu này h³n không tránh khÏi nh°ng so vÛi 'cuti' và 'haothu', nhïng phát biÃu và nh­n Ënh cça 'docco' có trÍng l°ãng khác h³n. Có l½ cu c­u ã suy ngh) kù tr°Ûc khi nói. Tôi c£m m¿n tëng c­u trong bÙ ba này, m×i ng°Ýi mÙt v», m×i ng°Ýi Áu có °u khuy¿t iÃm. Tuy nhiên, mÙt iÁu làm tôi c£m th¥y không bË 'phí' là c£ ba c­u Áu tÏ v» th­t sñ chuyên chú vào nhïng iÁu chúng tôi bàn cãi.

Hôm qua tôi nh­n °ãc mÙt e-mail të 'docco' nh° sau:

"Anh D thân m¿n,

Sau mÙt hÓi truy lùng, em ã bi¿t °ãc tên th­t cça anh. Th­t không ngÝ em bi¿t anh ã lâu, të mÙt n¡i khác nh°ng không bi¿t anh... chính là anh. Em ã có lúc ngÝ ngã vì cách nói chuyÇn cça anh nh°ng không tiÇn hÏi. Và th¿ là sau mÙt cuÙc dò xét, em ã bi¿t ch¯c anh chính là ng°Ýi em ã bi¿t và tëng trao Õi (không trñc ti¿p mà chÉ trên mÙt diÅn àn nÍ) të m¥y nm tr°Ûc. Cho em xin l×i n¿u nh° anh c£m th¥y khó chËu khi danh tánh cça anh bË em khám phá nha? :) Em không có ý gì h¿t, em chÉ muÑn tìm hiÃu ng°Ýi mình ang trao Õi. Lý do r¥t ¡n gi£n là em không hiÃu t¡i sao anh có thà khi¿n em ph£i suy ngh) r¥t nhiÁu vÛi nhïng iÁu m¥y anh em mình trao Õi. Cho nên, em mÛi tò mò tìm hiÃu xem thñc sñ anh là ai.

Tu§n này anh có r£nh không? Khi nào r£nh, anh cho em bi¿t vÛi. Em r¥t muÑn nói chuyÇn vÛi anh. Em có mÙt sÑ th¯c m¯c muÑn anh gi£i to£ dùm em. Em muÑn hÏi nhïng v¥n Á thuÙc vÁ kù nng phân tích. M¥y cái mail vÛi offline message bË t£n m¡n quá, n¿u nói chuyÇn °ãc thì liÁn l¡c h¡n.

Mong anh sÛm hÓi âm. Chúc anh mÙt ngày làm viÇc vui v»."

Tôi tñ hÏi không bi¿t 'docco' Duy là ai mà bí hiÃm th¿. Tôi tr£ lÝi mail cho 'docco' nh° sau:

"Duy thân m¿n,

Thé Nm tu§n này anh có ngày nghÉ bù. BuÕi sáng anh r£nh nh°ng lúc ó ch¯c em ch°a ngç d­y. BuÕi tr°a thì anh ph£i i ít công chuyÇn. BuÕi chiÁu ch¯c anh r£nh °ãc 1, 2 ti¿ng. N¿u th¥y tiÇn, cho anh bi¿t à anh online nha? NhÛ rç luôn hai éa H°ng, Khoa n¿u tåi nó r£nh. Còn chuyÇn danh tánh... hì hì, sao mày l¯m chuyÇn v­y em? :)

Thân."

Ch³ng m¥y chÑc, tôi nh­n °ãc hÓi âm cça 'docco'. Cu c­u s½ online chiÁu thé Nm.

Nh° ã h¹n, tôi làm mÙt ly cà fê và logon YIM vào chiÁu thé Nm. 'docco' ã có m·t sµn nh°ng ch³ng th¥y tm h¡i hai trñ H°ng và Khoa âu c£. Tôi gßi 'docco' mÙt thông iÇp:

"Chào Duy, em vào lâu ch°a? Còn hai éa kia âu?"

'docco' tr£ lÝi ngay:

"D¡, em vào cing g§n mÙt ti¿ng rÓi anh à. Nãy giÝ em ngÓi l°Ût web, Íc lng nhng m¥y b£n tin v­y mà. Còn th±ng H°ng thì i Long H£i ch¡i rÓi. Nó nh¯n em nó xin l×i vì không vào °ãc bßi vì bË k¹t 'sô' vÛi gia ình nh°ng em nghi nó d«n con bÓ i Long H£i ch¡i chÛ ch³ng gia ình gì âu, hi hi. Còn th±ng Khoa thì hôm nay k¹t ám gi× gì ó anh, nó không online °ãc."

Tôi áp:

"êa, 'cuti' nhà mình i ch¡i vÛi bÓ thì ó là '¡i sñ' cho nó ó em, nó ã muÑn d¥u mà còn 'khai' vÛi anh làm chi?. Còn trñ Khoa b­n gia ình thì l§n khác cing °ãc. Thôi thì anh em mình nói chuyÇn lai rai cing °ãc."

'docco' ph£n Ñi:

"Sao l¡i lai rai anh? Em có nhïng th¯c m¯c toàn là... gay c¥n không ó. V­y anh thích nói chuyÇn lai rai hay anh thích nói chuyÇn kù thu­t?"

Tôi c°Ýi, áp:

"Hì hì, lai rai kù thu­t °ãc hông?"

'docco' áp:

"D¡ °ãc chÛ anh. MiÅn có kù thu­t là ã rÓi :)."

Tôi à khía:

"Hèm... em có v» khoái kù thu­t l¯m h£? °ãc rÓi, Ã xem bao lâu em s½ ngán 'kù thu­t' lên tÛi cÕ ;-)."

'docco' v«n mÙt mñc:

"D¡ ch¯c em ch³ng khi nào ngán kù thu­t tÛi cÕ âu anh. Chëng nào em ngán thì anh th¥y em bi¿n m¥t tm liÁn. Bây giÝ em muÑn hÏi anh câu này: công tác cça ng°Ýi làm b£o m­t là t¡o nên sñ cân b±ng giïa tiÇn dång và b£o m­t. Trong khi ó, vai trò cça k» t¥n công là tìm ra nhïng iÃm y¿u cça sñ thi¿u cân b±ng giïa tiÇn dång và b£o m­t à thâm nh­p. Em hình dung câu này tÕng hãp 'hai m·t cça v¥n Á'. Tuy nhiên, em ch°a thà hình dung ra khi nào là tiÇn dång và khi nào b£o m­t. Làm sao k» t¥n công bi¿t °ãc nhïng iÃm tiÇn dång cça mÙt hÇ thÑng nào ó mà khai thác? Có l½ em ch°a Íc ç nhiÁu à th¥y nhïng iÃm này trong sách. Anh phân tích dùm em °ãc không?"

Tôi c°Ýi áp:

"Em tinh t¿ l¯m, lôi ra °ãc câu này trong Ñng chï mình trao Õi l§n tr°Ûc chéng tÏ em 'rà' r¥t kù. Anh ngh) mình nên dành câu này làm câu chót i. Anh em mình à khía mÙt hÓi, tñ nhiên em không c§n hÏi câu này nïa âu. Anh tin nh° v­y."

'docco' hÓ hßi:

"D¡ °ãc mà, nh°ng em ph£i ghi xuÑng à tí nïa l¡i hÏi anh câu này n¿u em th¥y còn c§n ph£i hÏi. V­y em muÑn hÏi ti¿p là th¿ nào là tiÇn dång và th¿ nào là b£o m­t anh?"

Tôi ng«m ngh) rÓi áp:

"Th¿ này. B¥t cé mÙt ch°¡ng trình nào °ãc t¡o ra cing không ngoài måc ích phåc vå mÙt nhu c§u nào ó. MÙt ch°¡ng trình càng lÛn, càng phéc t¡p thì th°Ýng có nhiÁu chéc nng à phåc vå nhiÁu nhu c§u, nhiÁu tr°Ýng hãp nh°ng l¡i bË v°Ûng vào tình tr¡ng dÅ bË l×i. Ngày tr°Ûc, mÙt ch°¡ng trình vi¿t ra th°Ýng cÑ g¯ng ¡t °ãc méc gÍn nh¹ và hiÇu xu¥t bßi vì kh£ nng áp éng và xí lý cça hardware lúc ¥y còn h¡n ch¿. Khi hardware càng ngày càng nâng cao và c£i ti¿n, software càng ngày càng mß rÙng chéc nng. òi hÏi 'gÍn nh¹' không còn là iÃm tÑi quan trÍng nïa mà òi hÏi 'a nng' chi¿m vË trí °u tiên. T¥t nhiên ngày nay v«n có nhïng software °ãc vi¿t vÛi tinh th§n 'gÍn nh¹ và hiÇu xu¥t nh°ng khá hi¿m. Vì l½ tñ nhiên, cái gì càng phéc t¡p càng dÅ g·p ph£i thi¿u sót và thi¿u sót d«n ¿n l×i. Ngay c£ nhïng software °ãc vi¿t có r¥t ít l×i nh°ng vì òi hÏi ' nng' nên tính b£o m­t 'bË' nhân nh°ãng.

Ví då, mÙt software có m°Ýi chéc nng ch³ng h¡n. Không nh¥t thi¿t chéc nng nào cing áp ·t tính b£o m­t trong ó. Trái l¡i, tính tiÇn dång th°Ýng chi¿m °u tiên. Ngo¡i trë nhïng software chuyên cho b£o m­t thì không kà (nh°ng v«n có ít nhiÁu tính nng tiÇn dång, không thì không áp éng °ãc nhu c§u... l°Ýi cça con ng°Ýi ;-)). L§n tr°Ûc m¥y anh em mình bàn vÁ SSH, em cing th¥y r±ng t­p tin c¥u hình cça ssh (sshd_config) có vài tá giá trË chÍn lña. H¡n mÙt nía là à phåc vå tính tiÇn dång, ph§n còn l¡i chuyên chú vÁ b£o m­t. N¿u áp ·t quá n·ng b£o m­t thì ng°Ýi dùng s½ g·p khó khn, n¿u th£ lÏng à tiÇn dång thì làm m¥t i tính b£o m­t.

V­y, tiÇn dång là gì? là nhïng tính nng giúp cho viÇc sí dång dÅ dàng, á m¥t công và nhanh chóng. B£o m­t là gì? là nhïng tính nng 'làm khó', làm c£n trß sñ thâm nh­p. Nhïng cái 'làm khó' này d«n ¿n sñ m¥t tiÇn dång cho ng°Ýi dùng bình th°Ýng."

'docco' ti¿p tåc 'khai thác':

"Anh có thà chéng minh nhïng iÃm 'tiÇn dång' và 'b£o m­t' trong mÙt hÓ s¡ c¥u hình °ãc không anh? sshd_config ch³ng h¡n? Thú th­t là em ch°a Íc kù và thí nghiÇm h¿t nhïng thé có trong sshd_config nh°ng n¿u anh cho em vài ví då thì quá hay."

Tôi c°Ýi, áp:

"Chëng nào em còn ch°a Íc kù và tñ thí nghiÇm thì chëng ó em chÉ dëng l¡i ß nhïng iÃm em... Íc ch°a kù và ch°a thí nghiÇm mà thôi. Anh có thà cho em mÙt ví då trong t­p tin c¥u hình sshd_config nh°ng à th­t sñ n¯m b¯t sshd_config, em ph£i tñ tay 'táy máy' thôi. Lý do? m×i giá trË c¥u hình (cça b¥t cé dËch vå nào) Áu có nhïng giÁng mÑi, nhïng liên quan sâu xa ¿n hÇ iÁu hành nó ang ch¡y và chÉ có t­n tay thñc hành thì mÛi th¥y rõ °ãc.

Hãy thí xét giá trË RhostsAuthentication yes ch³ng h¡n. N¿u em Íc kù man cça sshd, em s½ th¥y giá trË RhostsAuthentication này dùng à cho phép ng°Ýi dùng xác thñc danh tánh cça mình dña trên hai giá trË: tên cça máy và tên ng°Ýi dùng. Giá trË RhostsAuthentication yes trñc ti¿p liên hÇ vÛi hai giá trË khác: StrictModes và IgnoreRhosts. N¿u tên cça máy (ß xa) cing nh° tên ng°Ýi dùng cça máy này ã °ãc ssh server 'tin' (trusted) thì ng°Ýi dùng ¥y chÉ c§n gõ:

Code:

$ ssh myserver

Là ng°Ýi ¥y có thà i th³ng vào máy chç myserver mà không c§n gõ password hay pass-phrase gì c£. TiÇn không? TiÇn quá i chÛ. Nh°ng b£o m­t? ch¯c ch¯n là không b£o m­t. ây là iÃm tiÇn dång mà nhóm phát triÃn SSH v«n giï l¡i à áp éng nhu c§u cça nhïng ng°Ýi quen dùng series r trên *nix.

Có nhïng system admin m×i ngày ph£i login, logout hàng chåc ho·c hàng trm servers và ph£i gõ tên + password nh° v­y thì quá... mÇt. Cho nên, ã có nhïng ng°Ýi 'hack' *nix të thuß ban §u à t¡o sñ tiÇn dång. N¿u em dùng UNIX nhiÁu, ·c biÇt là nhánh *bsd, em h³n quen bi¿t ¿n series r* nh° rlogin, rsh, rcp, rexec... cho phép truy c­p và thñc thi lÇnh të máy này ¿n máy kia mà không c§n ph£i gõ tên ng°Ýi và password. iÁu duy nh¥t system admin c§n iÁu chÉnh là °a vào giá trË tên máy (cça ng°Ýi muÑn truy c­p vào server) vào /etc/hosts.equiv cça server là xong. T¥t nhiên ng°Ýi ¥y ph£i có tài kho£n trên myserver (°ãc làm ví då ß ây)."

'docco' reo lên:

"Chà, tiÇn quá v­y anh? Em không ngÝ *nix có nhiÁu cái hay ghê. Nh°ng dùng cách trên em th¥y cing an toàn mà anh? N¿u k» muÑn thâm nh­p thí dùng tên account không có trên myserver kia thì cing ch³ng làm gì °ãc ph£i không anh?"

Tôi áp:

"T¥t nhiên là không rÓi. Nh°ng em thí ngh) thêm mÙt chút xem, n¿u k» t¥n công dùng account có tên là a và vào không °ãc, liÇu h¯n ta có thí dùng account có tên là b à thí ti¿p không? :). ó là ch°a kà ¿n nhïng ph°¡ng tiÇn và kù thu­t có thà enumerate ra tên ng°Ýi dùng cça các tài kho£n hiÇn hïu trên hÇ thÑng."

'docco' tr§m ngâm:

"Dám l¯m chÛ. G·p em thì em cing thí b sau khi thí a liÁn. Nh°ng làm cách này m¥t công quá anh? Và n¿u k» t¥n công i të bên ngoài vào, làm sao tên máy cça h¯n có trên máy chç myserver mà thí anh? D«u h¯n có dùng úng account có th­t i chng nïa cing vô ích thôi. Em ngh) v­y không bi¿t có úng không?"

'docco' th­t tinh t¿! Tôi c°Ýi áp:

"Em ngh) hoàn toàn úng trong khuôn khÕ 'thâm nh­p iÃm thé nh¥t cça hÇ thÑng' nh°ng ch°a ç sâu trong khuôn khÕ 'të iÃm thé nh¥t cça hÇ thÑng ¿n trÍn bÙ hÇ thÑng'."

'docco' ngá ngàng:

"Ui.... là sao hß anh?"

Tôi ti¿p tåc tr£ lÝi:

"B£o m­t cho mÙt hÇ thÑng (m¡ng) không dëng l¡i chÉ mÙt máy mà b£o m­t ph£i cho t¥t c£ các máy cça hÇ thÑng. N¿u mÙt trong nhïng máy cça hÇ thÑng bË nhân nh°ãng (vì lý do nào ó) và n¿u ch¿ Ù truy c­p të máy này sang máy kia cça hÇ thÑng dña trên tinh th§n 'trust' mÙt cách 'tiÇn dång' theo kiÃu dùng /etc/hosts.equiv ß trên thì trÍn bÙ hÇ thÑng bË såp Õ nhanh chóng sau khi máy thé nh¥t bË nhân nh°ãng. Þ ây anh muÑn nh¥n m¡nh cái tác h¡i cça d¡ng thi¿t k¿ thi¿u cân b±ng giïa tiÇn dång và b£o m­t.

Sñ cân b±ng giïa 'tiÇn dång' và 'b£o m­t' n±m ß ch×: nhïng gì không c§n tiÇn dång, không nên làm cho nó tiÇn dång; nhïng gì nên b£o m­t, không nên làm cho nó tiÇn dång. Nhu c§u tiÇn dång ph£i có giÛi h¡n nh¥t Ënh và giÛi h¡n này °ãc ánh giá dña trên cái nhìn b£o m­t chÛ không ph£i dña trên cái nhìn tiÇn dång."

'docco' v«n th¯c m¯c:

"Nh°ng em th¥y r±ng các máy chç chính nó th°Ýng bË thâm nh­p chÛ em ch°a tëng nghe th¥y tr°Ýng hãp mÙt máy trong nÙi m¡ng và các máy khác bË thâm nh­p theo bao giÝ. Tr°Ýng hãp này là sao anh?"

Tôi gi£i thích:

"À, anh bi¿t em th¯c m¯c vì em ngh) r±ng (ho·c nghe th¥y) nhïng vå 'deface' hay thâm nh­p x£y ra th°Ýng chuyên chú vào mÙt web server nào ó và khi mÙt thông iÇp hiÇn lên trên trang chç, ¡i lo¡i nh° defaced by docco thì... xong chuyÇn. Tính vÁ Ù 'tàn phá' thì làm nh° th¿ chÉ x°Ûc nh¹ trên bÁ m·t, hay thu­t ngï ti¿ng Anh còn gÍi là 'scratch the surface'. KhÕ chç chÉ bË 'm¥t m·t' vì website cça mình bË ai ó thay Õi nÙi dung. So what? mÙt ngày, hai ngày, ba ngày hay mÙt tháng thì ch³ng ai còn nhÛ ¿n bi¿n cÑ bË deface này nïa. Ch³ng nhïng th¿, n¿u hÍ bË 'deface' mÙt l§n thì c¡ hÙi bË 'deface' l§n k¿ ti¿p r¥t th¥p vì hÍ s½ kiÇn toàn. Ngo¡i trë website này là mÙt website ch³ng ai thèm vi¿ng, ch³ng ai buÓn lo cho sñ tÓn t¡i cça nó ho·c khÕ chç không có iÁu kiÇn, ph°¡ng tiÇn à kiÇn toàn nó. N¿u th¿ thì còn gì lý thú à mà thâm nh­p l§n nïa?

Méc Ù nguy hiÃm thñc sñ khi mÙt máy chç bË thâm nh­p nh°ng ch³ng ai bi¿t, kà c£ khÕ chç. Ngay c£ máy chç này ch³ng có thông tin gì lý thú, k» t¥n công thuÙc d¡ng 'nguy hiÃm' th°Ýng à dành nó cho nhïng viÇc khác. Ví då, dùng máy chç này làm bàn ¡p à thâm nh­p nhïng máy chç khác, dùng máy chç này à bi¿n nó thành zombie à t¥n công nhïng måc tiêu khác ho·c ngay c£ dùng nó à làm tài nguyên cho nhïng công viÇc nh° biên dËch, brute force password, chéa dï liÇu.... Anh th¥y nhïng trò dán b£ng hiÇu 'defaced by someone' khá là con nít và vô ích n¿u xét trên ph°¡ng diÇn thâm nh­p mÙt cách nghiêm túc. N¿u c£ mÙt hÇ thÑng Áu bË nh­n nh°ãng ß tình tr¡ng 'yên ¯ng' th¿ này thì Ù nguy hiÃm h³n ph£i ghê gÛm h¡n nhiÁu."

'docco' reo lên thích thú:

"Ái chà, em ch°a bao giÝ ngh) ¿n ho·c nghe ¿n viÇc 'hack' mÙt máy chç và dùng nó cho måc ích riêng cça mình nh° à biên dËch hay à brute force password bao giÝ. Qu£ là thâm, qu£ là thâm. Anh chÉ °Ýng cho h°¡u ch¡y rÓi ó nhe? V­y anh có áp dång chuyÇn này cho måc ích riêng cça anh không? Em oán ch¯c là có :)"

Tôi c°Ýi, áp:

"Em l¡i dùng chï 'hack' sai nïa rÓi. Không em, em oán sai rÓi. Anh may m¯n °ãc làm viÇc trong nhïng môi tr°Ýng có CPU, có tài nguyên à áp éng nhu c§u mình c§n. N¿u c§n brute force, anh có thà dùng vài cái mid-range servers à thñc hiÇn, anh không c§n ph£i m¥t thÝi gian à thâm nh­p mÙt server nào ó rÓi 'chôm' mÙt ít CPU. Ngay c£ n¿u nh° anh không °ãc iÁu kiÇn thu­n lãi à dùng các máy thé dï ß công ty, anh cing ch°a bao giÝ có ý Ënh thâm nh­p à 'chôm' CPU bao giÝ. Lý do anh bi¿t °ãc iÃm lý thú này là vì tr°Ûc ây có mÙt khách hàng cça anh bË thâm nh­p. Máy chç ó bË 'root-kit' và nó bË bi¿n thành mÙt máy chuyên à brute force. Tay chç nhân chÉ th¥y máy chç cça mình có nhïng lúc ch¡y ch­m quá nên nhÝ anh iÁu tra (và bßi th¿ hÍ trß thành khách hàng cça anh). NhÝ dËp này anh mÛi hÍc °ãc kinh nghiÇm ó.

Còn chuyÇn 'chÉ °Ýng cho h°¡u ch¡y' thì em ëng lo. à có thà thâm nh­p mÙt måc tiêu và l³ng l·ng bi¿n nó thành nguÓn tài nguyên cho måc ích riêng cça mình òi hÏi ph£i có kinh nghiÇm và kh£ nng th­t sñ. Nhïng ng°Ýi chÉ bi¿t thao tác m¥y thé sql injection hay xss të nhïng tài liÇu có sµn trên t§ng web thì không có cách gì thñc hiÇn ý Ënh ß méc Ù anh nêu ra ß ây âu. Em ëng lo. Anh Á c­p chuyÇn này ß ây theo tinh th§n là: có nhiÁu c¥p Ù thâm nh­p và nhiÁu c¥p Ù sí dång k¿t qu£ ¡t °ãc mà thôi."

'docco' tr§m ngâm hÓi lâu rÓi c£m thán:

"Chà, hình nh° anh em mình b¯t §u i vào cõi thâm u rÓi ây. Thú th­t em h¡i bË lùng bùng rÓi ó. V­y còn chuyÇn 'trust' anh Á c­p ß ây có giÑng nh° kiÃu 'trusted domains' trên Windows không anh?"

Tôi áp:

"Hì hì, em không d±n °ãc ý muÑn ph£i dùng Windows à so sánh h£? :) ChuyÇn 'trust' ß ây, vÁ m·t khái niÇm thì nó t°¡ng tñ nh° 'trusted domains' trên Windows nh°ng c¡ ch¿ thì khác. 'trust' ß ây là sñ tin t°ßng °ãc thi¿t l­p dña trên mÙt sÑ dï kiÇn nào ó. Trong tr°Ýng hãp /etc/hosts.equiv mình bàn ß ây, miÅn sao trong hÓ s¡ c¥u hình này có giá trË tên máy thì máy ó °ãc quyÁn truy c­p vào máy chç mà không c§n ph£i cung c¥p thêm thông tin nào khác. Méc Ù 'trust' ß ây giÛi h¡n giïa máy tr¡m và máy chç nào có giá trË tên máy tr¡m trong /etc/hosts.equiv mà thôi. Nó không mß rÙng ra ß biên Ù trÍn bÙ mÙt (ho·c nhiÁu) 'forest' nh° trên Windows.

Nói vÁ m·t tinh th§n, 'trust' b±ng rhost và /etc/hosts.equiv trên *nix và trusted forest trên Windows có cùng måc ích: tiÇn dång. Tính tiÇn dång ß ây l¥n át tính b£o m­t và ây là chuyÇn mÙt chuyên viên b£o m­t ph£i cân b±ng."

'docco' than vãn:

"Có quá nhiÁu khái niÇm mÛi m» em c§n ph£i n¯m b¯t :(. Càng i vào sâu, em càng th¥y rÑi r¯m ó anh."

Tôi c°Ýi thông c£m và áp:

"Có l½ em ch°a quen vÛi nhïng khái niÇm này thôi. Em chÉ c§n n¯m mÙt iÃm cÑt lõi: tiÇn dång cho ng°Ýi dùng hãp lÇ thì cing tiÇn dång cho ng°Ýi dùng b¥t hãp lÇ --> kém b£o m­t. Nói mÙt cách khác, tiÇn dång t÷ lÇ nghËch vÛi b£o m­t. Ng°Ýi b£o m­t ph£i bi¿t dëng l¡i ß âu khi cung c¥p tính 'tiÇn dång' cho ng°Ýi dùng. K» t¥n công ph£i bi¿t suy xét të thông tin thu th­p °ãc sau khi 'kh£o sát' mÙt hÇ thÑng à ánh giá méc Ù 'tiÇn dång' ang °ãc dùng trên hÇ thÑng và rÓi hình thành k¿ ho¡ch thâm nh­p.

N¿u ng°Ýi làm b£o m­t có cái nhìn vïng vàng vÁ b£o m­t thì anh ta s½ thi¿t k¿ hÇ thÑng có nhïng iÃm tiÇn dång nh°ng ph£i cân b±ng vÛi b£o m­t. N¿u k» t¥n công có cái nhìn vïng vàng vÁ thâm nh­p, hiÃu rõ vÁ hÇ thÑng thì h¯n ta s½ có kh£ nng xác Ënh °ãc hÇ thÑng này °ãc ·t trên tiêu chÉ 'b£o m­t' hay tiêu chÉ 'tiÇn dång'. Nói cho cùng, nhu c§u cå thà ph£i °ãc xác Ënh rõ ràng và cå thà ngay të §u rÓi mÛi hình thành °ãc méc Ù tiÇn dång và b£o m­t.

'docco' ào xÛi:

"Nói v­y, nhìn të ph°¡ng diÇn 'k» t¥n công', tính 'tiÇn dång' °ãc khám phá và th©m Ënh th¿ nào à có thà t¥n công v­y anh?"

Tôi áp:

"Xét vÁ m·t tâm lý, khi thí nghiÇm và dò xét mÙt hÇ thÑng, n¿u em phát hiÇn ra mÙt l×i nhÏ nào ó --> ch°a h³n là admin cça hÇ thÑng này kém cÏi, l°Ýi bi¿ng hay chÍn nguyên t¯c 'tiÇn dång'. Tuy nhiên, n¿u em phát hiÇn ra nhiÁu s¡ sót và nhïng s¡ sót này nghiêng h³n vÁ h°Ûng tiÇn dång --> ch¯c ch¯c ph§n lÛn hÇ thÑng thi¿t k¿ theo h°Ûng tiÇn dång. Kù thu­t th©m Ënh (hay còn gÍi là reconnaissance technique) òi hÏi r¥t nhiÁu kinh nghiÇm và ki¿n théc. Quá trình th©m Ënh có thà bao gÓm mÙt máy chç cho ¿n trÍn bÙ mÙt network hay nhiÁu network liên hÇ ¿n måc tiêu. Të nhïng thông tin l¥y °ãc, em có thà xác Ënh °ãc tÉ lÇ 'tiÇn dång' so vÛi 'b£o m­t' cça måc tiêu này và të ó, mÙt k¿ ho¡ch thâm nh­p s½ °ãc hình thành. Thông tin thu l°ãm °ãc có xác thñc hay không là tùy vào sñ kiên nh«n và ki¿n théc cça em; ây cing là chìa khoá cça sñ thành công hay th¥t b¡i cça viÇc thâm nh­p.

N¿u system admin cça måc tiêu em muÑn thâm nh­p có r¥t ít kinh nghiÇm vÁ b£o m­t, không hình thành k¿ ho¡ch tr°Ûc khi thi¿t l­p hÇ thÑng mÙt cách chi ti¿t và khoa hÍc, iÁu này s½ thà hiÇn r¥t rõ trong quá trình em thñc hiÇn 'reconnaissance'. ây là lý do có nhïng hÇ thÑng bË nhân nh°ãng mÙt cách nhanh chóng và dÅ dàng."

'docco' c°Ýi mÙt cách thích thú:

"He he, em th¥y nhïng hÇ thÑng em tëng °ãc phép ti¿p xúc, ch³ng h¡n nh° các hÇ thÑng ß tr°Ýng em, system admin chÉ c¯m §u c¯m cÕ mà cài cài, ·t ·t miÅn sao cho nó ch¡y là mëng rÓi. Hèn chi mà máy chç ß VN mình bË phá t¡i bÝi. V­y ý anh là viÇc chu©n bË tr°Ûc khi thi¿t l­p mÙt hÇ thÑng là iÁu c§n thi¿t?"

Tôi c°Ýi, áp lÝi 'docco':

"úng rÓi ó em. IT nói chung và b£o m­t nói riêng cing nh° bao nhiêu ngành nghÁ khác, b°Ûc chu©n bË là b°Ûc quan trÍng nh¥t. MuÑn k¿t qu£ có mù mãn hay không, muÑn gi£m thiÃu t¯c trách, muÑn lo¡i trë thi¿u sót, muÑn không m¥t thÝi gian vÁ sau.... t¥t c£ Áu phå thuÙc vào b°Ûc chu©n bË này. MÙt chuyên viên có giÏi kù thu­t ¿n m¥y, có kinh nghiÇm làm viÇc ¿n cá nào mà xông th³ng vào viÇc thi¿t l­p, bÏ ngang b°Ûc chu©n bË ho·c xem nh¹ b°Ûc chu©n bË thì không thà nào có k¿t qu£ b±ng mÙt chuyên viên khác bi¿t chu©n bË kù l°áng. Thi¿t k¿ mÙt hÇ thÑng làm viÇc không nhïng chÉ dëng l¡i ß sñ tiÇn dång, sñ b£o m­t mà còn liên hÇ trñc ti¿p ¿n hiÇu xu¥t cça hÇ thÑng và kh£ nng mß rÙng cça chúng nïa. Nhïng cái này i ra të b°Ûc chu©n bË c£ :)."

'docco' reo lên:

"Ái chà, anh nói em th¥y có h¡i h°Ûm cça ngành thi¿t k¿ ph§n mÁm mà ti¿ng Anh gÍi là software engineering ó. Ph£i v­y không anh?"

Tôi áp:

"êm... anh ngh) em nh­n xét nh° th¿ cing úng. B°Ûc chu©n bË trong ngành l­p trình, trong viÇc vi¿t software là mÙt b°Ûc cñc kó quan trÍng. Thi¿u nó, software s½ thi¿u ch¥t l°ãng, s½ nhiÁu l×i, s½ khó mß rÙng, s½ thi¿u hiÇu xu¥t. Nó cñc kó quan trÍng là vì quá trình t¡o ra mÙt software hoàn chÉnh r¥t phéc t¡p. Thi¿u thi¿t k¿ mÙt cách c©n th­n, khi i sâu vào công trình và không may khám phá ra mình ã i sai h°Ûng thì ó là mÙt sñ Õ vá, thiÇt h¡i lÛn lao. N¿u mình ·t viÇc thi¿t k¿ mÙt hÇ thÑng làm viÇc vÛi tinh th§n t°¡ng tñ nh° vi¿t software thì... qu£ th­t iÁu mình bàn ß ây có 'h¡i h°Ûm' software engineering. Em cé thí so sánh viÇc xây mÙt ngôi nhà vÛi viÇc xây dñng mÙt hÇ thÑng máy tính xem; chúng có r¥t nhiÁu iÃm t°¡ng Óng. Em không thà cé nh¯m m¯t mà thi công rÓi sau ó mÛi th¥y mình muÑn à cía sÕ ch× này, à cía chính ch× kia... nh°ng nhà ã xây nía chëng rÓi. Em bË lâm vào tình tr¡ng r¥t k¹t. Ph£i v­y không?"

'docco' ti¿p tåc:

"D¡ nh¥t Ënh rÓi. Còn chuyÇn 'nhu c§u cå thÃ' °ãc anh Á c­p hÓi nãy là sao anh?"

Tôi hÏi ng°ãc l¡i 'docco':

"Hì hì, giÑng nh° em ang phÏng v¥n anh v­y? ;-) V­y em hiÃu th¿ nào là 'nhu c§u cå thÃ'?"

'docco' ¥p úng rÓi råt rè áp:

"D¡... ùm.... à.... em ngh).... nhu c§u cå thà là nhu c§u cå thà chÛ là gì nïa anh? Ví då em c§n t¡o dËch vå web, thì ó chính là nhu c§u cå thà chÛ còn gì nïa? Hay là anh gh¹o em nên mÛi hÏi câu này?"

Tôi c°Ýi phá lên, rÓi tr£ lÝi 'docco':

"Hì hì, em có th¥y anh gh¹o em l§n nào ch°a? :). Không, anh hÏi câu này là hÏi mÙt cách nghiêm túc ó. T¥t nhiên em c§n t¡o dËch vå web thì ó là nhu c§u cça em, nh°ng nói nó là cå thà thì nó ch³ng cå thà tí nào."

'docco' c°Ýi trë:

"Khì khì, em chËu thua ó. Anh gi£i thích dùm em tí i?"

Tôi ch­m rãi áp:

"Gi£ sí nh° em hÏi anh, 'nhu c§u cå thà cça anh là gì n¿u nh° anh c§n t¡o dËch vå web'? thì anh s½ chu©n bË nhiÁu thé tr°Ûc khi tr£ lÝi cho em. Anh c§n xác Ënh rõ:

- website này dñ phÏng s½ có nÙi dung thuÙc chuyên ngành gì?

- dËch vå web ¥y phåc vå ai?

- Ùc gi£ cça trang web a sÑ là giÛi nào?

- dñ t°ßng s½ có bao nhiêu ng°Ýi vi¿ng website ó?

- kinh phí dñ trù là bao nhiêu?

- méc Ù quan trÍng cça website này th¿ nào?

- n¿u nó bË 'ch¿t' ng¯n h¡n thì chuyÇn gì x£y ra?

- n¿u nó bË 'ch¿t' dài h¡n thì chuyÇn gì x£y ra?

sau ó mÛi ào xÛi ¿n v¥n Á kù thu­t làm sao à tho£ mãn nhïng iÁu ·t ra. RÓi të ó mÛi có mÙt ph°¡ng án cå thà s½ khai triÃn th¿ nào, quy ch¿ ra sao, c¥u hình cå thà s½ ra làm sao, cách xí lý trong nhïng tr°Ýng hãp iÃn hình có thà x£y ra vÛi dËch vå mình t¡o s½ là gì..... và t¥t nhiên là b£o m­t s½ là mÙt y¿u tÑ quan trÍng trong m×i câu tr£ lÝi °ãc °a ra."

'docco' rú lên:

"Ôi trÝi! Anh th­t sñ ph£i chu©n bË nhïng thé nh° th¿ sao anh?"

Tôi tr£ lÝi mÙt cách ng¯n gÍn:

"H³n nhiên rÓi!"

'docco' hÏi ti¿p:

"V­y viÇc xác Ënh nhu c§u có liên quan trñc ti¿p ¿n v¥n Á b£o m­t ra sao anh?"

Tôi áp:

"MÙt khi ã xác Ënh cå thà nhu c§u, em có thà hình thành mÙt k¿ ho¡ch khai triÃn, mÙt cái s°Ýn rÓi mÛi thi¿t l­p tëng chi ti¿t cho cái s°Ýn này. Làm nh° th¿ em có thà tránh °ãc nhïng thi¿u sót hay d° thëa trong khi cài ·t, iÁu chÉnh. Bßi th¿, l×i b£o m­t s½ gi£m thiÃu áng kÃ. Ví då, s¿p cça em muÑn em thi¿t l­p dËch vå ssh trên máy chç nào ó. N¿u em xác Ënh °ãc dËch vå này s½ cho nhïng ai dùng, bao nhiêu ng°Ýi dùng, truy c­p të âu thì hÓ s¡ c¥u hình cho nó s½ trß nên xác thñc và vëa ç.

- N¿u dËch vå ssh này giÛi h¡n cho mÙt nhóm ng°Ýi dùng r¥t nhÏ và chÉ truy c­p trong nÙi m¡ng, em có thà dÅ dàng áp ·t c¡ ch¿ xác thñc ng°Ýi dùng và áp ·t cå thà nhïng IP nào °ãc quyÁn truy c­p ¿n dËch vå này.

- N¿u dËch vå này có biên Ù rÙng lÛn h¡n thì em ph£i ¥n Ënh c¡ ch¿ xác thñc ng°Ýi dùng nào là tiÇn dång và b£o £m nh¥t, thay vì dùng password-based authentication, hÍ dùng key-based authentication key à xác thñc ch³ng h¡n.

Càng n¯m cå thà nhu c§u, càng có thà hình thành mÙt c¥u hình chi ti¿t. Càng hình thành mÙt c¥u hình chi ti¿t, càng gi£m thiÃu thi¿u sót. Càng gi£m thiÃu thi¿u sót, tính b£o m­t càng cao. ây là giây chuyÁn logic i të 'nhu c§u' ¿n 'b£o m­t'."

'docco' xuýt xoa:

"Qu£ th­t bây giÝ em mÛi bi¿t °ãc thêm nhiÁu cái mÛi m». Nhïng v¥n Á này có ph£i là ki¿n théc trong ngành IT không anh?"

Tôi c°Ýi áp:

"Nó không ph£i là ki¿n théc kù thu­t theo kiÃu IT = 'gõ lÇnh' nh°ng nó °ãc dùng trong IT, dùng trong viÇc qu£n lý các công trình IT. Ngay c£ em muÑn tñ vi¿t software hay thñc hiÇn iÁu gì ó, em cing c§n ¿n nó. Nh° anh ã nói ß trên, thi¿u chu©n bË thì k¿t qu£ không mù mãn nh° ý muÑn là v­y."

'docco' c£m thán:

"Hoá ra b£o m­t không dÅ dàng chút nào. Anh chÉ nói s¡ qua em ã th¥y nó dính líu ¿n quá nhiÁu v¥n Á khác nhau chÛ không ¡n gi£n dëng l¡i ß kù nng cài ·t và iÁu chÉnh. Em ngh) viÇc hình thành k¿ ho¡ch, qu£n lý công trình là viÇc cça ám qu£n lý công trình mà anh? Mình là dân kù thu­t thì viÇc gì ph£i lo ¿n nhïng thé này?"

Qu£ th­t 'docco' này s¯c s£o l¯m. Cu c­u không bÏ qua mÙt chi ti¿t nhÏ nào. Tôi tr£ lÝi:

"Nói trên m·t lý thuy¿t thì viÇc lên k¿ ho¡ch và qu£n lý công trình là chuyÇn cça ám project manager. Tuy nhiên, trên thñc t¿ anh hi¿m khi th¥y có tay project manager nào có ç kh£ nng kù thu­t à hình thành mÙt k¿ ho¡ch cho ¹p c£. Trên thñc t¿ anh toàn th¥y nhïng tay này quan ng¡i ¿n y¿u tÑ thÝi gian là chính. N¿u em trông chÝ vào hÍ vÁ viÇc khai triÃn kù thu­t thì em s½ bË 'd­m chân t¡i ch×' bßi vì làm sao hÍ n¯m °ãc chi ti¿t kù thu­t mà lên k¿ ho¡ch? Ho¡ may em cung c¥p mÍi thông tin kù thu­t cho hÍ nh° kiÃu 't° v¥n kù thu­t' và hÍ k¿t hãp l¡i à lên ch°¡ng trình. Còn không thì công trình ch³ng i tÛi âu c£ :). HÍ âu c§n bi¿t sshd_config hay httpd.conf c§n có nhïng gì? HÍ càng không bi¿t nhïng dËch vå này liên quan th¿ nào à ngo¡i m¡ng, nÙi m¡ng, firewall và các c¡ ch¿ b£o m­t khác."

L§n này 'docco' th­t sñ choáng. Cu c­u gßi cho tôi các emotion icon biÃu lÙ sñ buÓn bã và phát biÃu nh° sau:

" :( , càng i vào sâu em càng th¥y kinh khçng. Hình nh° nhïng iÁu anh nói là dành cho nhïng tay chuyên viên b£o m­t hay sao ó chÛ system admin bình th°Ýng làm gì mà cáng áng nhiÁu thé quá v­y anh? Có quá nhiÁu khái niÇm mÛi m» mà em chÉ nghe ây là l§n §u. V­y em ph£i hÍc ß âu, Íc nhïng sách nào à n¯m nhïng chi ti¿t anh °a ra v­y anh?"

Tôi hiÃu 'docco' ang c£m th¥y th¿ nào nên nói ti¿p:

"Anh hiÃu c£m giác cça em. Em ngh) r±ng nhïng v¥n Á anh °a ra chÉ dành cho 'chuyên viên b£o m­t' sao?. BÙ em không muÑn làm chuyên viên b£o m­t hay sao? Cho nên, em c§n bi¿t nhïng iÁu này là iÁu c§n thi¿t và hãp lý. Theo anh, ng°Ýi làm công tác b£o m­t khác h³n vÛi mÙt system admin ho·c network admin bình th°Ýng. system admin ho·c network admin dëng l¡i ß méc Ù: cài ·t, thi¿t l­p dËch vå và mÙt ph§n nào ó khá h¡n h¹p liên quan ¿n viÇc kiÇn toàn b£o m­t theo Á nghË cça 'chuyên viên b£o m­t'. HÍ chÉ dëng l¡i ß méc Ù 'làm sao cho dËch vå ch¡y Õn Ënh'. Trong khi ó, chéc nng cça 'chuyên viên b£o m­t' rÙng h¡n và sâu h¡n. Chuyên viên b£o m­t là ng°Ýi xác Ënh nhïng dËch vå nào nên ch¡y, th©m Ënh nhïng dËch vå °Íc ch¡y ph£i ß méc an toàn và tiÇn dång nh° th¿ nào. à có thà xác Ënh và th©m Ënh nh° th¿, hÍ là ng°Ýi n¯m trÍn bÙ mô hình m¡ng të th¥p ¿n cao. N¿u ai cho r±ng, chuyên viên b£o m­t thì chÉ bi¿t firewall, IDS, proxy.... thì theo anh, ó là mÙt sñ ngÙ nh­n"

'docco' lên ti¿ng:

"V­y giÛi h¡n trách nhiÇm và chéc nng cça 'chuyên viên b£o m­t' n±m ß dâu anh?"

Tôi áp:

"Anh ngh) r±ng, giÛi h¡n trách nhiÇm và chéc nng thñc sñ cça 'chuyên viên b£o m­t' n±m ß mÍi ph°¡ng diÇn xây dñng và b£o trì cho mÙt hÇ thÑng. Të lúc có nhu c§u xây dñng dËch vå cho ¿n lúc ã hình thành dËch vå và kéo dài suÑt quá trình ho¡t Ùng cça dËch vå Áu có 'chuyên viên b£o m­t' nhúng tay vào. Ngay c£ khi dËch vå này bi¿n chuyÃn, nâng c¥p và mß rÙng sau này cing c§n ph£i có sñ tham gia cça 'chuyên viên b£o m­t'. Anh ngh) r±ng chuyên viên b£o m­t không dính ¿n chuyÇn quy¿t Ënh bÏ ra bao nhiêu kinh phí Ã hình thành hÇ thÑng mà thôi. Tuy nhiên, chuyên viên b£o m­t cing có ít nhiÁu £nh h°ßng ¿n con sÑ kinh phí.

T¥t nhiên nhïng iÁu anh °a ra ß ây là nhïng iÁu chÉ có các tÕ chéc có lÛp lang mÛi thñc hiÇn. Nhïng tÕ chéc thi¿u s¯p x¿p thì ây là mÙt khái niÇm l¡ l«m và ôi khi còn bË xem là 'phí công séc, phí thÝi gian'."

'docco' c£m thán:

"Nhìn mÙt cách tÕng quát thì th¥y, n¿u mÙt tay chuyên viên b£o m­t dùng ki¿n théc cça mình à thâm nh­p thì nguy hiÃm bi¿t chëng nào anh nhÉ?"

Tôi c°Ýi, hÏi l¡i:

"Lý do nào làm em ngh) nh° th¿ v­y?"

'docco' ng§n ngë rÓi tr£ lÝi:

"Ùm... à... d¡... em ngh) là mÙt ng°Ýi hiÃu bi¿t th¥u áo c¥u trúc các hÇ thÑng, n¯m rõ các ngóc ngách c¥u hình, t°Ýng t­n °Ýng i n°Ûc b°Ûc thì ¯t ph£i thâm nh­p r¥t dÅ dàng. Không bi¿t em ngh) th¿ có úng không?"

Tôi c°Ýi, áp:

"TÕng quát mà nói thì em nh­n xét nh° th¿ là úng. Tuy nhiên, trên thñc t¿ các c¥u trúc hÇ thÑng và các t­p tin c¥u hình r¥t a d¡ng. MÙt chuyên viên b£o m­t có thà th©m Ënh dÅ dàng h¡n và chính xác h¡n vì n¯m vïng mÙt sÑ nguyên t¯c nh¥t Ënh. Bßi th¿ kh£ nng và k¿t qu£ thâm nh­p cça h¯n cao h¡n mÙt ng°Ýi không có cùng méc Ù ki¿n théc nh° h¯n. Tuy nhiên, quá trình th©m Ënh v«n ph£i m¥t thÝi gian. Em nh­n xét nh° th¿ có ngh)a là em công nh­n 'bi¿t b£o m­t tr°Ûc rÓi mÛi thâm nh­p'?"

'docco' ý ki¿n:

"Hì hì, anh trêu em hoài. L§n tr°Ûc em ã công nh­n chuyÇn này rÓi mà. Ngay të lúc anh nêu ra tr°Ýng hãp ai ó 'thâm nh­p' °ãc vào mÙt máy chç nhÝ ph°¡ng tiÇn hay 'công théc' nào ó xong rÓi ngÓi... ngó vì không bi¿t làm gì nïa, lúc ¥y em ã công nh­n quan iÃm: ph£i có ki¿n théc th­t sñ mÛi có thà thâm nh­p mÙt cách úng ngh)a °ãc."

Tôi áp:

"V­y thì tÑt :)"

'docco' hÏi thêm:

"Khi nào tiÇn, anh cho em hÏi thêm vÁ các kù thu­t nh­n Ënh "reconnaissance" nha anh? Em muÑn bi¿t kù thu­t này òi hÏi nhïng gì? quá trình thñc hiÇn ra sao và phân tích k¿t qu£ tìm °ãc nh° th¿ nào. Em ngh) à kiÇn toàn b£o m­t, viÇc tñ th©m Ënh hÇ thÑng mình t¡o ra b±ng "reconnaissance" không thà thi¿u °ãc."

Tôi c°Ýi áp:

"Anh sµn sàng thôi. Tuy nhiên, ch¯c à l§n tÛi i em nha? Anh em mình 'à khía' h¡i lâu rÓi ó. Anh ph£i chu©n bË vài thé à ngày mai còn i làm nïa. Em nhÛ l°u l¡i nÙi dung 'lai rai' cça anh em mình hôm nay à H°ng và Khoa Íc vÛi nha? Còn chuyÇn c¥u hình 'con' server cça bÍn em tÛi âu rÓi?"

'docco' nhanh nh©u:

"Thôi anh à, em ngh) là bÍn em c§n nhiÁu thÝi gian cho chuyÇn này h¡n dñ tính. Ch°a hình thành °ãc nhu c§u cå thÃ, ch°a cài ·t cho Õn thì làm sao nói ¿n chuyÇn b£o m­t hay thâm nh­p nó °ãc anh? Em không bi¿t th±ng Khoa vÛi th±ng H°ng ngh) sao chÛ riêng em thì em ngh) có l½ nên thong th£."

Tôi c°Ýi phá lên:

"Ái chà, "ch°a hình thành °ãc nhu c§u cå thÃ"? Hì hì, em éng dång ngay v­y? :). Em còn c§n hÏi câu hÏi §u tiên không?"

'docco' ng°ãng ngËu:

"Anh cé diÅu em mãi. HÍc ph£i i ôi vÛi hành mà anh. Ng«m ngh) em th¥y qu£ th­t n¿u không bi¿t thi¿t l­p server à làm gì, à áp éng cái gì thì không thà t¡o nên c¥u hình cho nó °ãc. N¿u th¿ thì khoan hµng nói chuyÇn b£o m­t cho nó. Hì, anh v«n nhÛ câu hÏi §u h£? T¥t nhiên là em không c§n ph£i hÏi câu hÏi §u tiên nïa anh :)."

Tôi r¥t vui khi nghe 'docco' tÕng k¿t nh° th¿. Tôi b£o:

"TÑt l¯m. Em nh­n ra °ãc iÁu này thì có ngh)a l§n này anh em mình nói chuyÇn không chÉ 'lai rai' mà có k¿t qu£ h³n hòi: nhu c§u cå thà là mÙt y¿u tÑ quan trÍng à hình thành viÇc b£o m­t. N¿u nhìn të phía 'thâm nh­p', anh tin r±ng em cing th¥y °ãc m·t trái cça nó nh° th¿ nào rÓi h£?

Thôi, anh ph£i i ây Duy. Anh em mình g·p l¡i sau h£? Chào em."

'docco' chào t¡m biÇt:

"Em s½ thông báo tình hình l¡i vÛi hai éa kia. Chào anh."

15/8/2005

<còn ti¿p>

Conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 8

11. Information? What the...

SuÑt vài tu§n qua tôi quá b­n rÙn nên liên l¡c r¥t qua loa vÛi bÙ ba H°ng, Khoa và Duy. Hình nh° các c­u cing nh­n ra °ãc iÁu này nên offline messages và e-mail të bÙ ba này ít h³n. Cing có thà các c­u quá b­n rÙn nên không còn thÝi gian à hÏi han nïa.

ChiÁu nay r£nh rang, tôi ng nh­p vào YIM Ã xem offline messages và không ngÝ bÙ ba H°ng, Khoa, Duy ang online. Tôi chào 'cuti':

"Hello H°ng, kho» hông em? Sao không hÍc hành gì mà cé 'trñc' online hoài v­y?"

'cuti' tr£ lÝi tôi b±ng mÙt 'conference invitation':

"Hello anh già. Anh r£nh hông? Vào ây i. Tåi em muÑn hÏi vài chuyÇn °ãc hông anh?"

Tôi ch­c l°ái, ng«m ngh) không bi¿t m¥y ông t°Ûng này muÑn hÏi gì. H¡n nïa tôi ang ß sß, vào YIM không tiÇn l¯m. Th¿ nh°ng tôi cing ti¿p nh­n lÝi mÝi và mß §u:

"°ãc rÓi, anh vào vài phút rÓi ph£i dzÍt vì anh ang ß sß ó nha!"

'haothu' chào và nh­n Ënh:

"Chào anh, lâu ngày quá anh. Em th¥y anh lúc nào cing b­n rÙn v­y? NgÓi ch¡i vÛi bÍn em mÙt tí thôi mà."

Tôi áp:

"êa, anh thì lúc nào cing b­n rÙn. Anh hiÇn ang ß sß nên vào YIM không tiÇn l¯m. N¿u anh ang ß nhà thì dÅ rÓi. M¥y éa có chuyÇn gì c§n thi¿t không?"

'cuti' nhanh nh£u:

"D¡ cing không có gì. BÍn em vëa thi xong nên r£nh rang h¡n tr°Ûc, Ënh ti¿p tåc 'làm phiÁn' anh ây :)."

'docco' c©n th­n:

"Em th¥y mÛ khái niÇm và d«n gi£i cça anh trong nhïng l§n tr°Ûc ây còn quá séc nhiÁu thé Ã bÍn em thí nghiÇm và lãnh hÙi. Em không bi¿t H°ng và Duy ngh) sao chÛ riêng em thì em c£m th¥y nh° th¿. Em sã bË... 'bÙi thñc' n¿u không 'tiêu hoá' kËp :) nên có l½ em s½ không hÏi nhiÁu âu."

Tôi c°Ýi áp:

"Em nói úng ó. Thông tin xung quanh mình nhiÁu l¯m nh°ng cái quan trÍng là dung n¡p nó nh° th¿ nào. Có nhïng iÃm mình c§n ph£i hiÃu c·n k½, có nhïng iÃm mình chÉ c§n ti¿p nh­n à ti¿p tåc khai mß. Tuy nhiên, n¿u mÙt lúc nào ó c£m th¥y có c£m giác muÑn 'bÙi thñc' thì nên ch­m l¡i và dành thÝi gian à tháo gá nhïng khúc m¯c tr°Ûc khi i ti¿p."

C£ ba d°Ýng nh° ang tr§m ngâm. HÓi lâu, 'cuti' lên ti¿ng:

"Em th¥y th±ng Duy nói úng th­t và anh çng hÙ nh­n xét cça nó là hoàn toàn chính xác. Cing may là bÍn em có iÁu kiÇn hÍc hành cn c¡ ß tr°Ýng. Cho nên khi nh­n ra nhïng lÕ hÕng cça chính mình trong khi trao Õi vÛi anh, bÍn em có thà 'l¥p lÕ' không ¿n n×i cñc nhÍc. iÁu em th¥y rõ là ch°¡ng trình giáo dåc cça n°Ûc mình có nhïng iÃm c§n c£i thiÇn. Em th¥y th§y cô giáo ít chËu ào sâu ho·c giÛi thiÇu nhïng ki¿n théc, thông tin mÛi m» mà cé theo cái giáo trình ci rích mà l·p i, l·p l¡i."

Tôi th¯c m¯c:

"Làm sao em bi¿t °ãc giáo trình em ang hÍc ci rích v­y? và n¿u ch°¡ng trình giáo dåc cça n°Ûc mình c§n c£i thiÇn thì c§n làm nhïng gì?"

'haothu' Khoa xen vào:

"Hì hì, anh không bi¿t ó thôi. Em dám ch¯c là anh không có giáo trình cça tr°Ýng em trong tay nên anh không rõ nó 'ci rích' ¿n cá nào. BÍn em thì có thà truy c­p Internet nên mày mò, låc l¡o trên Internet, vào các tr°Ýng ¡i hÍc lÛn trên th¿ giÛi thì th¥y giáo trình cça hÍ 'n·ng' và mÛi h¡n mình nhiÁu. Em ch³ng th¥y có m¥y n°Ûc tân ti¿n còn d¡y Pascal nïa. Trong khi ó ß VN mình, cé chui §u vào l­p trình là dính ngay Pascal. HÍc mòn gh¿ v«n cé m¥y cái ch°¡ng trình 'Ó ch¡i' vi¿t b±ng Pascal chán nh° con gián. Lên mÙt chút thì hÍc VB. Ban §u em còn th¥y thích, sau ó mò vào các diÅn àn 'chuyên' vÁ l­p trình thì th¥y bà con cho£ng nhau chí choé vÁ VB. Em th¥y phe chÑng cing có lý vì hÍc VB là hÍc ch°¡ng trình vi¿t Visual Basic cça Microsoft chÛ ch³ng ph£i hoàn toàn là hÍc ngôn ngï Basic. HÍc sinh hÍc nh° th¿, khi bË ©y ¿n ch× ph£i vi¿t ch°¡ng trình dùng ngôn ngï Basic mà không có công cå VB thì... bó tay. Còn khái niÇm software engineering thì ch³ng m¥y ai Á c­p ¿n. Cho nên khi th±ng Duy chuyÃn cho em nÙi dung nó chat vÛi anh l§n tr°Ûc, em th¥y ti¿c là ã v¯ng m·t :("

Tôi áp:

"Ùm... qu£ th­t là anh không n¯m °ãc tình hình ß VN cho l¯m. Anh có sinh ho¡t trên mÙt diÅn àn khác thì th¥y có r¥t ít ng°Ýi quan tâm h¡n ¿n nhïng ngôn ngï l­p trình mÛi và quan tâm sâu ¿n software engineering. Ngoài ra, ph§n lÛn tình hình qu£ có nhïng iÃm ph£n £nh iÁu em vëa nh­n xét."

'cuti' H°ng không kém ph§n khích Ùng:

"ó chÉ mÛi ß ph°¡ng diÇn l­p trình thôi ó anh. Các ph°¡ng diÇn khác nh° networking, b£o m­t thì r¥t s¡ sài. Networking thì g§n nh° là Microsoft Networking chÛ ch³ng ph£i là networking tÕng quát. Còn b£o m­t thì h§u nh° em ch°a th¥y ß tr°Ýng d¡y gì h¿t. Bßi v­y khi b¯t §u lò dò tham gia các diÅn àn, em th¥y mình giÑng y nh° trong båi nh£y ra vì có quá séc nhiÁu thé mình ch°a bao giÝ nghe tÛi. Em nghe m¥y th±ng b¡n i hÍc bên Sing, bên Châu Âu... b£o là bÍn nó có nguyên mÙt môn vÁ security và môn này có nhiÁu ph§n nhÏ. HÍc xanh m·t luôn. Em không bi¿t chëng nào n°Ûc mình mÛi °a nhïng thé này vào giáo trình nïa. Còn vào diÅn àn chuyên b£o m­t thì quanh i qu©n l¡i chÉ toàn là nhïng thé ång tÛi web, tÛi yahoo, chán ng¥y ¿n cÕ :("

Tôi c°Ýi và nh­n xét:

"Này, hình nh° bÍn em kêu anh vào ây à 'tÑ khÕ' chuyÇn giáo trình hay sao ó ;-). Kêu vÛi ai chÛ kêu vÛi anh thì cing nh° 'n°Ûc Õ §u vËt' thôi bßi vì anh âu có làm gì °ãc âu nào. Anh ngh) bÍn em và các sinh viên nói chung nên làm mÙt viÇc gì ó tích cñc h¡n cho v¥n Á này. Ví då, bÍn em ngÓi l¡i vÛi nhau và phân tích c·n k½ °u, nh°ãc iÃm cça giáo trình hiÇn t¡i. °a ra các Á nghË thay Õi và lý do cå thà à b£o vÇ các Á nghË này. T¥t nhiên mÍi thé ph£i trên gi¥y bút àng hoàng, câu cú, trình bày cho t°¡m t¥t rÓi trình lên ông tr°ßng khoa thì ho¡ may."

'docco' Duy gßi mÙt biÃu t°ãng 'lè l°ái' tÏ ý e ng¡i rÓi nói:

"TrÝi, anh úng là l¡c h­u quá rÓi. Ch¯c anh ß n°Ûc ngoài lâu quá nên quên h¿t chuyÇn n°Ûc mình. Em th¥y chuyÇn này cñc kó khó thñc hiÇn. Thé nh¥t, bÍn em không ç séc hình thành mÙt b£n phân tích cho ngon lành à trình cho ông tr°ßng khoa. Thé nhì, em không dám ch¯c ông tr°ßng khoa có buÓn ti¿p nh­n b£n phân tích này hay không. Thé ba, cho dù ông ta có ti¿p nh­n i chng nïa, em cing không dám tin là ông ¥y làm gì ó vÛi Á nghË này hay nó bË... chìm vào quên lãng."

Tôi g­t gù rÓi áp:

"Hèm... em °a ra khó khn, anh Á nghË h°Ûng gi£i quy¿t nh°ng h°Ûng này xem ra không °ãc h£? Anh ch³ng bi¿t ph£i làm gì h¡n. Anh không thà nh­n xét hay ý ki¿n nhiÁu vì ch°a n¯m rõ sñ thÃ, ch°a bi¿t cái giáo trình em nói có nÙi dung nh° th¿ nào. iÁu anh có thà Á nghË là nên làm mÙt viÇc gì cå thà và tích cñc thì mÛi gi£i quy¿t °ãc v¥n Á. Nh°ng sao tñ nhiên l¡i 'tÑ khÕ' v­y cà?"

'cuti' H°ng nhanh nh£u:

"Không ph£i tÑ khÕ âu anh. Em muÑn °a chuyÇn này ra chÉ Ã anh th¥y r±ng thñc t¿ bÍn em ph£i Ñi diÇn nhiÁu h¡n ch¿ l¯m. Riêng em thì em chÉ mong là anh ëng ngh) r±ng bÍn em l°Ýi nhác nên ch³ng thu ho¡ch °ãc bao nhiêu trong chuyÇn hÍc t­p bßi vì l¯m khi em hÏi anh nhïng iÁu... ngÛ ng©n."

Tôi áp:

"Hì hì, hoá ra là muÑn... phân bua ây. Có bao giÝ em th¥y anh phát biÃu hay anh có thái Ù gì chéng tÏ r±ng anh ngh) em l°Ýi nhác ch°a? Em an tâm i. Cé thí chiêm nghiÇm vÁ méc Ù trao Õi cça anh em mình nhïng l§n §u, l§n này và nhïng l§n vÁ sau, em s½ th¥y có nhïng cái khác, có nhïng cái bi¿n thiên. Bßi vì không nhïng chuyÇn ki¿n théc mà sñ thông hiÃu ý ki¿n và suy ngh) cça nhau làm cho viÇc trao Õi trß nên dÅ dàng và thông suÑt h¡n nhiÁu. N¿u em qu£ th­t l°Ýi bi¿ng thì anh s½ 'qu¡t' th³ng tay liÁn, ëng lo :). V­y bÍn em c§n anh vào ây có chuyÇn gì g¥p không?"

'haothu' Khoa lên ti¿ng:

"D¡ không có gì g¥p âu anh. Ph§n em thì em chÉ th¥y càng lúc càng lùng bùng sau m×i l§n xem l¡i nÙi dung trò chuyÇn cça m¥y anh em mình. Em ang cÑ g¯ng ghép nÑi nhïng m©u chuyÇn, nhïng thông tin trong nÙi dung trò chuyÇn này l¡i vÛi nhau à hình thành mÙt khÑi thông tin liÁn l¡c nh°ng em th¥y khó quá :(. Em Ënh hÏi thêm anh mÙt sÑ iÃm, °ãc không anh?"

Tôi tr£ lÝi:

"°ãc chÛ em. Tuy nhiên không ph£i ngay bây giÝ bßi vì anh ang ß sß, anh ph£i logoff ây. TÑi nay vÁ nhà, m¥y anh em mình nói chuyÇn ti¿p n¿u bÍn em r£nh. Hay em th¥y khi nào thì tiÇn?"

'cuti' H°ng li¿ng thoán:

"DÅ quá mà anh. BÍn em vëa thi xong, thÝi gian không là v¥n Á. ChiÁu nay em s½ online canh chëng anh lên á."

'docco' Duy diÅu:

"Còn '»m' Ã âu mà lên ngÓi canh chëng v­y pa? Nói lên là ph£i lên ó nha."

Tôi k¿t thúc:

"Thôi, anh ph£i dông ây. Có gì chiÁu tÑi g·p l¡i." và tôi logoff.

---------------------

C¡m n°Ûc xong, tôi thong th£ log vào YIM. Qu£ th­t ba 'trñ' H°ng, Khoa và Duy ang 'canh chëng'. Tôi chào và chÍc quê 'cuti':

"Hông b­n lo '»m' hay sao mà lên ây 'canh' th­t v­y em?"

'cuti' gßi tôi conference invitation kèm theo thông iÇp:

"Ái chà, th±ng khéa Duy khai vÛi anh h¿t rÓi ph£i hông?"

Tôi ti¿p nh­n lÝi mÝi và kèm theo câu tr£ lÝi:

"Khai gì em? khai vå em i hóng mát vÛi '»m' ó h£?"

'haothu' và 'docco' gßi hai thông iÇp g§n nh° cùng mÙt lúc, cùng ch¿ diÅu 'cuti':

"Th±ng khÉ H°ng này cái gì cing °ãc, chÉ có chuyÇn 'ghÇ' là d¥u d¥u di¿m di¿m nh° mèo d¥u..."

"TrÝi, có gì mà d¥u h£ pa? '»m' chËu i ch¡i thì ph£i v× ngñc tñ hào chÛ viÇc gì ph£i ng¡i?"

Tôi xen vào:

"Thôi, 'cuti' không thích 'bàn' chuyÇn này thì tha cho nó i m¥y éa. Chëng nào nó muÑn 'thÕ lÙ tinh t§m' thì tñ nhiên nó s½... phun ra có... vòi thôi :)."

'haothu' không tha, chêm thêm:

"Em bi¿t th±ng khÉ H°ng quá rõ mà anh. Em hÍc vÛi nó të c¥p I lên, bây giÝ nó ang ngh) trong §u em cing bi¿t nïa mà. Em chÉ chÍc quê cho vui tí thôi chÛ th±ng này lËt lËt mà xËt ra khói ó."

Tôi c°Ýi và l£ng sang chuyÇn khác:

"OK, hÓi chiÁu em nói là em có vài th¯c m¯c gì ó Khoa, em nói i."

'haothu' ng­p ngëng:

"Chà.... hông bi¿t tñ nhiên sao em quên tuÑt luÑt là mình muÑn nói gì nïa. Anh chÝ em mÙt tí Ã em 'restart' l¡i con CPU trong não cça em cái ã."

ChuyÃn h°Ûng sang 'cuti' Ã 'haothu' có thÝi gian s¯p x¿p l¡i nhïng iÁu mình muÑn nói, Tôi áp:

"Thong th£ thôi em. Còn 'cuti' có nh­n xét gì vÁ nÙi dung Duy và anh nói chuyÇn l§n tr°Ûc không?"

'cuti' nhanh nh©u:

"Thì... ã chÛ sao anh? nh°ng ch¯c không ã b±ng nói chuyÇn 'trñc tho¡i' rÓi ó. Em chÉ có c£m giác là nhïng iÁu m¥y anh em mình bàn càng ngày càng rÙng ra chÛ không ph£i càng ngày càng i vào chi ti¿t. Em oán r±ng anh muÑn chia x» nhïng khái niÇm quan trÍng và c§n thi¿t à ti¿p c­n v¥n Á. Tuy nhiên, thñc tình mà nói thì em th¥y r¥t khó liên hÇ nó ¿n môi tr°Ýng thñc t¿. Có l½ tåi em ch°a i làm, ch°a có nhiÁu kinh nghiÇm nên th¥y nhïng khái niÇm anh °a ra nó l¡ l«m quá."

'haothu' reo lên:

"TrÝi, th±ng H°ng nói sao úng ý em v­y? Em cing muÑn nói vÛi anh nh° th¿. Em th¥y nhïng khái niÇm vÁ tính liÁn l¡c, vÁ sñ quan trÍng cça giÁng mÑi, d«n ¿n chuyÇn nhìn v¥n Á të nhiÁu phía, rÓi khái niÇm và kù nng chu©n bË tr°Ûc khi thñc hiÇn ý Ënh.... mà anh °a ra Áu h¿t séc lý thú. Tuy nhiên, em ráng 'apply' vào trong thñc t¿ em ang Ñi chÍi thì ch³ng bi¿t ph£i b¯t §u të âu c£. :("

Tôi tr§m ngâm vài giây rÓi hÏi:

"Em cho anh mÙt ví då thñc t¿ mà em ang Ñi chÍi xem?"

'haothu' áp:

"D¡ ví då nh° ß tr°Ýng ra bài l­p trình ch³ng h¡n. Yêu c§u dùng mÙt ngôn ngï l­p trình nào ó Ã tính ngày, giÝ, kho£ng cách, chu×i sÑ, bi¿n thiên.... Em th¥y nhïng thé này chÉ c§n hình thành mÙt cái thu­t toán nào ó rÓi xem cú pháp ngôn ngï làm th¿ nào là vi¿t thôi. Em cÑ hình dung làm sao nh­n Ënh giÁng mÑi cça yêu c§u ¿n ph§n t¡o thu­t toán rÓi ¿n chuyÇn tìm hiÃu cú pháp. Và rÓi, nhìn të nhiÁu phía trong hoàn c£nh này là nhìn th¿ nào anh? Còn chu©n bË k¿ ho¡ch thì t¥t nhiên là ph£i chu©n bË rÓi ó nh°ng ch³ng l½ em ph£i vi¿t mÙt b£n k¿ ho¡ch trên gi¥y?"

Tôi c°Ýi áp:

"Anh ngh) em h¡i bË... máy móc rÓi. Nhïng khái niÇm kia nên éng dång mÙt cách linh Ùng, tùy hoàn c£nh, tùy méc Ù lÛn nhÏ cça công viÇc. Mình không thà áp dång mÍi thé mÙt cách céng nh¯c °ãc.

Nói vÁ m·t giÁng mÑi cho yêu c§u cå thÃ ß trên vÛi viÇc hình thành thu­t toán và cú pháp cça ngôn ngï l­p trình thì anh ngh) r±ng em khai triÃn nó úng trình tñ và logic rÓi. GiÁng mÑi giïa yêu c§u và thu­t toán quá rõ ràng và hiÃn nhiên: ph£i hiÃu °ãc và hiÃu úng yêu c§u thì mÛi hình thành úng thu­t toán. i xa h¡n nïa em có thà tñ ch¥t v¥n mình à xem thu­t toán mình vëa hình thành có tÑi °u ch°a. Sau khi hình thành k¿t qu£ cuÑi cùng cho thu­t toán, mang nó vào viÇc coding chÉ là mÙt b°Ûc éng dång. Thu­t toán cça em càng hay, càng súc tích, càng vïng thì tñ nhiên b°Ûc coding trß nên ¡n gi£n và ¹p thôi. Theo anh ây là cái giÁng mÑi hiÃn nhiên.

Nói vÁ chuyÇn 'nhìn nhiÁu phía' thì có v» h¡i trëu t°ãng h¡n m·t 'giÁng mÑi' mÙt tí. Tuy nhiên, ß méc Ù nào ó em v«n có thà 'nhìn' nó ß góc Ù khác nhau. Ví då em tñ xét xem gi£i thu­t °ãc ·t ra vÛi måc ích là gì? em muÑn l¥y k¿t qu£ cuÑi cùng mà ch°¡ng trình tr£ vÁ, hay em muÑn th¥y nó gi£i quy¿t v¥n Á nhanh ch­m, hiÇu xu¥t ra sao trong c£ mÙt khÑi éng dång nào ó. Gi£ sí ch°¡ng trình em vi¿t s½ °ãc mÙt ng°Ýi dùng và chÉ sí dång nhïng giá trË nh­p ¡n gi£n, úng tiêu chu©n thì sao? n¿u 100 ng°Ýi cùng dùng và hÍ òi hÏi giá trË nh­p phéc t¡p h¡n, a d¡ng h¡n thì sao? ó là ch°a kà em c§n nhìn të góc Ù ng°Ýi dùng à hình thành ch°¡ng trình cça mình vïng vàng h¡n.

Riêng chuyÇn 'hình thành k¿ ho¡ch' thì anh ngh) th¿ này. ây là mÙt thói quen và lÑi khai triÃn cça m×i cá nhân. N¿u em có thói quen và kh£ nng hình thành k¿ ho¡ch trong §u mÙt cách rành m¡ch mà không c§n gi¥y bút thì không viÇc gì ph£i dùng gi¥y bút. Tr°Ýng hãp này th­t ra chÉ kh£ thi cho nhïng công viÇc có t§m cá nhÏ và ¡n gi£n. MÙt khi em ph£i ti¿p diÇn vÛi mÙt công trình lÛn, phân tích và hình thành k¿ ho¡ch trên gi¥y bút không nhïng giúp em nh­n Ënh v¥n Á mÙt cách chính xác và chi ti¿t h¡n, nó còn là mÙt ph°¡ng tiÇn l°u trï bßi vì dm ba ngày, mÙt vài tháng em s½ quên h¿t các chi ti¿t. N¿u em muÑn quay l¡i (vì lý do nào ó) thì em v«n còn thông tin l°u trï. Þ khuôn khÕ bài t­p ß tr°Ýng, có l½ em ch°a th¥y sñ quan trÍng cça viÇc hình thành k¿ ho¡ch (m·c dù ß méc Ù nào ó em v«n ph£i hình thành k¿ ho¡ch tr°Ûc khi thñc hiÇn) nh°ng ch¯c ch¯c em s½ th¥y nó quan trÍng nh° th¿ nào trên thñc t¿ công viÇc. Cho måc ích hoàn t¥t bài t­p, mÙt trang nhng nhít nhïng chÍn lña, sía Õi thu­t toán và dm ba dòng mã gi£ (psuedo code) tr°Ûc khi em b¯t tay vào vi¿t, theo anh ó chính là 'hình thành k¿ ho¡ch' rÓi :)."

'haothu' Khoa hÏi ti¿p:

"Anh cho em hÏi chi ti¿t này nha? anh nói ó là ch°a kà em c§n nhìn të góc Ù ng°Ýi dùng à hình thành ch°¡ng trình cça mình vïng vàng h¡n là sao anh?"

Tôi áp:

"êa, anh cing oán n¿u nh° em thñc sñ quan tâm ¿n k¿t qu£ em t¡o ra, em s½ th¯c m¯c khía c¡nh này. Em ngh) th¿ nào vÁ câu nói ¥y v­y?"

'haothu' Khoa có v» ng­p ngëng:

"D¡, em ngh)... à... ùm... mình vi¿t ch°¡ng trình xong rÓi mình dùng nó Ã thí nghiÇm thì mình ã tñ ·t mình vào góc Ù ng°Ýi dùng rÓi ph£i không anh? Em ngh) ph£i có lý do gì khác anh mÛi Á c­p chi ti¿t này. N¿u nó chÉ ¡n gi£n nh° th¿ thì anh nêu ra làm chi ph£i không ¡?"

Tôi c°Ýi áp:

"úng v­y, em nh­n xét úng l¯m. "Nhìn të khía c¡nh ng°Ýi dùng" t¥t nhiên s½ liên quan ¿n chuyÇn dùng ch°¡ng trình này. Tuy nhiên, nhìn nh° th¿ nào mÛi là quan trÍng. Khi em vi¿t mÙt ch°¡ng trình hay t¡o ra mÙt quy Ënh nào ó, em th°Ýng bË sa vào cõi chç quan. Có ngh)a là em gi£ Ënh mÍi ng°Ýi cing ngh) nh° em. Ví då, em bi¿t rõ ch°¡ng trình cça em chÉ ti¿p nh­n sÑ nguyên ch³ng h¡n, khi thí nghiÇm hiÃn nhiên em chÉ dùng các con sÑ tròn trËa à dùng. Bßi th¿, k¿t qu£ em nh­n °ãc luôn luôn chính xác. T¡i sao em l¡i dùng nhïng con sÑ 'tròn trËa' à thí nghiÇm? ây là v¥n Á tâm lý mà thôi, trí não con ng°Ýi làm viÇc r¥t kó l¡ ;-). N¿u ng°Ýi dùng bình th°Ýng lá tay gõ vào mÙt sÑ thñc ch³ng h¡n, chuyÇn gì x£y ra? Ho·c hÍ lá tay gõ nh§m mÙt d¥u ch¥m, d¥u ph©y trong ph§n INPUT thì chuyÇn gì x£y ra? T¥t nhiên là ch°¡ng trình s½ có sñ cÑ, ph£i không em?"

'cuti' H°ng rú lên:

"Ái chà, hay th­t. N¿u là em thì em cing ch³ng ngh) ¿n chuyÇn ng°Ýi dùng s½ gõ nhïng gì khác ngoài các con sÑ thñc. úng là trí não con ng°Ýi kó l¡ th­t. ây có ph£i là 'kinh nghiÇm chi¿n tr°Ýng' không anh?"

Tôi áp:

"êa, 'kinh nghiÇm chi¿n tr°Ýng' óng góp mÙt ph§n nào ó nh°ng theo anh, 'k¿ ho¡ch chu©n bË' chu áo giúp lo¡i bÏ các sñ cÑ này. V­y, nhìn të ph°¡ng diÇn ng°Ýi dùng, em ngh) sao n¿u nh° em 'lá tay' gõ mÙt giá trË gì ó và làm c£ ch°¡ng trình bË... treo?"

'haothu' c°Ýi và tr£ lÝi:

"D¡, thì em s½ ngh) r±ng ch°¡ng trình ó... chuÑi chÛ sao anh? :)"

Tôi nói ti¿p:

"N¿u th¿ thì mình nên làm gì Ã cho nó không... chuÑi nïa?"

'cuti' li¿ng tho¯ng:

"Mình mß rÙng à ch°¡ng trình ¥y ti¿p nh­n thêm sÑ thñc?"

'docco' Duy ch­m rãi:

"Em ngh) mình c§n dùng c¡ ch¿ 'error handling' nào ó. °a vào các cåm iÁu kiÇn cách à th©m Ënh xem giá trË INPUT có tho£ mãn yêu c§u hay không tr°Ûc khi xí lý."

Tôi áp:

"Ý ki¿n cça em hay l¯m ó Duy. LiÇu mình mß rÙng ra à ti¿p nh­n thêm sÑ thñc có áp éng chính xác yêu c§u cça Á bài hay không H°ng? ó là ch°a kà tr°Ýng hãp ng°Ýi dùng 'lá tay' gõ vào mÙt ký tñ nào ó b¥t hãp lÇ. Anh th¥y mÙt iÃm lý thú là m¥y éa nghiên vÁ h°Ûng t¡o gi£i pháp c¥p thÝi h¡n là nhìn v¥n Á ß bình diÇn tÕng quát :)."

'cuti' chÑng ch¿:

"Em ngh) mß rÙng cing hay mà anh. Ch¯c em suy ngh) ch°a kù hay sao ó."

Tôi tr£ lÝi:

"êa, có l½ em ch°a suy ngh) kù không chëng ;-). à khía chi ti¿t này là vì anh muÑn nh¥n m¡nh t§m quan trÍng cça viÇc chu©n bË k¿ ho¡ch ó thôi. N¿u chu©n bË k¿ ho¡ch kù thì em có dËp liÇt kê ra h§u h¿t các tình huÑng và gi£i pháp cho m×i tình huÑng h¡n là n£y ra mÙt ý ki¿n nh¥t thÝi nào ó."

Tôi ti¿p tåc kh¡i mào:

V­y éng trên ph°¡ng diÇn b£o m­t, sñ nguy hiÃm cça viÇc thi¿u xác thñc giá trË nh­p s½ là gì?"

'haothu' xuýt xoa:

"Ái chà, em th¥y làm gì thì làm chÛ software mình vi¿t mà chính nó bË treo hay nó làm treo máy thì th­t là x¥u hÕ. N¿u nói vÁ m·t b£o m­t thì rõ ràng sñ cÑ này ph¡m l×i b£o m­t rÓi."

Tôi áp:

"úng nh° v­y ó Khoa. B¥t cé sñ cÑ ý hay vô tình làm software bË crash trong môi tr°Ýng mÙt ho·c nhiÁu ng°Ýi dùng Áu có thà xem là bË ph¡m l×i b£o m­t (vì software thi¿u an toàn). Khía c¡nh b£o m­t n±m ß ch× tình tr¡ng dËch vå bË treo ho·c không còn tÓn t¡i à cung c¥p cho ng°Ýi dùng."

'docco' reo lên:

"A, em liên t°ßng ¿n nhïng tr°Ýng hãp thâm nh­p trên web mà em có Íc qua nhiÁu n¡i. Có ph£i ý anh là viÇc input validation không vïng ch¯c thì s½ d«n tÛi hiÇu qu£ thi¿u b£o m­t?"

Tôi c°Ýi và áp lÝi 'docco':

"Em nh­n xét úng l¯m. MÙt HTML form hay b¥t cé mÙt ph°¡ng tiÇn nào ti¿p nh­n dï liÇu nh­p Áu nên có c¡ ch¿ input validation. Thi¿u c¡ ch¿ này, dï liÇu nh­p có thà chéa nhïng thé b¥t hãp lÇ (Ñi vÛi ch°¡ng trình éng dång) và s½ t¡o h­u qu£ lÛn nhÏ, khác nhau, tùy theo hoàn c£nh. Không nhïng 'input validation' h¿t séc quan trÍng mà c¡ ch¿ 'error handling' cing v­y. MÙt l­p trình viên giÏi và c©n th­n th°Ýng i xuyên qua b°Ûc 'chu©n bË k¿ ho¡ch' à t¡o nên các tr°Ýng hãp cho 'error handling'. C¡ ch¿ này càng tÉ mÉ thì c¡ hÙi d«n ¿n nhïng bi¿n cÑ tiêu cñc và nhïng thông tin nguy h¡i x£y ra càng ít."

'cuti' H°ng nh­n xét:

"Hì hì, të mÙt bài t­p l­p trình mà anh d«n ¿n c£ chuyÇn thi¿t k¿ ph§n mÁm l«n khía c¡nh b£o m­t cça nó °ãc. Ph£i nói là em phåc anh ó. Em ngh) cái bài t­p ó chÉ có tåi em dùng thôi, ông th§y ch¥m xong là v)nh viÅn ch³ng bao giÝ ång tÛi m¥y cái software 'Ó ch¡i' ó nïa anh ¡i."

Tôi c°Ýi, áp:

"Hì hì, bßi th¿ ngay të §u anh ã nói là mình ph£i uyÃn chuyÃn, ph£i linh Ùng trong khi éng dång mÙt ho·c nhiÁu nguyên t¯c / khái niÇm cho viÇc gì ó. Không nên céng nh¯c không thì hoá ra trì trÇ và thi¿u éng hiÇu. ChuyÇn anh mß rÙng ß ây chÉ là mÙt sÑ khía c¡nh th°Ýng th¥y trong khi i hÍc cing nh° trong lúc i làm thôi. ó là nhïng 'kinh nghiÇm x°¡ng máu' anh muÑn chia x» à em khÏi d«m l¡i nhïng b°Ûc anh ã d«m :). Có thà em ch°a liên t°ßng nhïng iÃm trên rõ ràng ngay lúc này nh°ng anh hy vÍng mÙt ngày không xa em s½ th¥y iÁu anh ·t ra ß ây nó 'th­t' và 'th°Ýng g·p' ¿n méc nào. T¡o mÙt ch°¡ng trình nhÏ bé, ¡n gi£n có thà khó th¥y °ãc t§m quan trÍng cça viÇc 'chu©n bË k¿ ho¡ch' và chuyÇn 'error handling' hay 'input validating'. Tuy nhiên, n¯m b¯t °ãc t§m quan trÍng cça các khái niÇm này ngay lúc này thì s½ á v¥t v£ h¡n khi ång ph£i nhïng thé to lÛn h¡n."

'docco' lên ti¿ng:

"Em v«n th¥y nhïng chuyÇn này quá g§n vÛi lãnh vñc software engineering h¡n là b£o m­t anh à. Có l½ em v«n ch°a hình dung °ãc mÙt chuyên viên b£o m­t th­t sñ ph£i làm nhïng gì. Cing có thà nhïng iÁu em nghe th¥y ã t¡o ra cho em mÙt tiêu chu©n nào ó vÁ trách nhiÇm cça mÙt chuyên viên b£o m­t và tiêu chu©n này h¡i... khác nhïng iÁu anh °a ra."

Tôi áp:

"Em có nghe câu ng¡n ngï ti¿ng Anh: the first impression lasts ch°a? ¤n t°ãng §u tiên óng vai trò r¥t quan trÍng. Nhïng iÁu em nghe th¥y và ã ti¿p nh­n tr°Ûc ây th°Ýng trß thành mÙt thé tiêu chu©n cça em. Anh th¥y viÇc ti¿p nh­n mÙt iÁu hoàn toàn mÛi dÅ h¡n là vét bÏ 'tiêu chu©n' ci à ti¿p nh­n 'tiêu chu©n' mÛi. iÁu mình có thà rút ra ß ây là mÙt chuyên viên b£o m­t kinh nghiÇm, mÙt tay thâm nh­p sëng sÏ và mÙt l­p trình viên dày d·n Áu có chung mÙt iÃm: hÍ Áu có kh£ nng chu©n bË k¿ ho¡ch, có kh£ nng phân tích và th©m Ënh v¥n Á. Còn lý do t¡i sao viÇc 'chu©n bË k¿ ho¡ch' c©n th­n là viÇc c§n thi¿t thì anh ã phân tích l§n tr°Ûc rÓi.

Trong giÛi h¡n bài t­p ß tr°Ýng mà Khoa °a ra ß ây thì anh dám ch¯c mÙt iÁu: em ¡t k¿t qu£ cao h¡n n¿u em 'chu©n bË k¿ ho¡ch' kù l°áng; em ¡t k¿t qu£ th¥p h¡n n¿u em b¯t tay vào thñc hiÇn liÁn mà không chu©n bË ho·c ít chu©n bË.

Trên bình diÇn b£o m­t, nhiÁu ng°Ýi cho r±ng vi¿t software th¿ nào thì vi¿t, miÅn sao nó ch¡y là tÑt. MuÑn b£o vÇ hÇ thÑng thì chÉ cài firewall, g¯n nhïng thi¿t bË b£o m­t vào là âu vào ó. ây là mÙt cách nhìn phi¿n diÇn. N¿u em quan tâm ¿n b£o m­t và thâm nh­p thì ây là mÙt chi ti¿t quan trÍng ó. Firewall chÉ c£n không cho phép truy c­p các dËch vå bË 'c¥m' và ß méc Ù nào ó, nó c£n mÙt sÑ tr°Ýng hãp thâm nh­p iÃn hình. Không có firewall nào có thà c£n lÍc mÍi hình théc ng nh­p dï liÇu (vô tình ho·c cÑ ý) có thà gây ra v¥n Á h° ho¡i cho hÇ thÑng c£."

'cuti' phát biÃu:

"Em công nh­n anh nói r¥t có lý. Ch¯c bÍn em ph£i éng dång thí xem sao. Hình nh° anh có v» chú trÍng ¿n 'thái Ù' ti¿p c­n và khai triÃn v¥n Á h¡n là chi ti¿t khai triÃn cå thà nh° th¿ nào ph£i không anh?"

Tôi áp:

"Chà, hôm nay 'cuti' nh­n xét tinh t¿ l¯m. úng nh° th¿. Chi ti¿t khai triÃn th¿ nào thì chÉ c§n có thÝi gian và thông tin thu th­p °ãc là khai triÃn °ãc. Tuy nhiên, 'thái Ù' thì chÉ có thà xác Ënh úng mÙt l§n ngay të §u mà thôi. N¿u ti¿p c­n và khai triÃn vÛi thái Ù không úng méc thì cho dù có bao nhiêu cách khai triÃn (có sµn) cing có thà d«n ¿n k¿t qu£ không hoàn toàn nh° ý."

'cuti' khoái chí:

"D¡, không ít thì nhiÁu cing thu th­p °ãc gì ó chÛ anh? ;-)"

'docco' Duy hÏi ti¿p:

"Bây giÝ em hÏi nhïng viÇc gì c§n chu©n bË cho kù thu­t "reconnaissance" °ãc không anh? HÓi nãy anh có Á c­p ¿n chuyÇn chuyên viên b£o m­t, ng°Ýi thâm nh­p và l­p trình viên giÏi Áu có kh£ nng chu©n bË k¿ ho¡ch. V­y trong viÇc dò tìm thông tin cça mÙt hÇ thÑng òi hÏi ph£i chu©n bË nhïng gì v­y anh?"

Tôi c°Ýi áp:

"Hà hà, em th¥y 'ngéa ngáy' vÛi 'reconnaissance' h£? RÓi, thì mình bàn thí. Hãy nhìn 'reconnaissance' nh° mÙt công tác và ã là mÙt công tác thì nó ph£i có nhu c§u cå thÃ. Em còn nhÛ chuyÇn 'nhu c§u cå thÃ' mà mình ã à khía tr°Ûc ây hông?"

'docco' áp:

"D¡ nhÛ chÛ anh. Anh muÑn em tr£ lÝi nhu c§u cå thà cça em cho viÇc 'reconnaissance' là gì h£?"

Tôi áp:

"êa, ph£i có nhu c§u cå thà thì mình mÛi khai triÃn °ãc chÛ em :)"

'docco' tr£ lÝi:

"Em ngh) 'reconnaissance' là tìm hiÃu xem hÇ thÑng mình muÑn thâm nh­p có nhïng dËch vå gì, nó ch¡y trên môi tr°Ýng nào, nó thuÙc mô hình m¡ng ra sao, có nhïng iÃm m¡nh y¿u gì... Ã giúp mình hình thành ph°¡ng án thâm nh­p (hay b£o vÇ) cho sâu sát. ó là nhïng iÃm em 'g·t hái' °ãc të nhïng l§n m¥y anh em mình nói chuyÇn,"

Tôi c°Ýi và kh¡i mào thêm:

"V­y, nhu c§u cå thà là bi¿t rõ måc tiêu à tìm cách thâm nh­p nó ph£i không? Bây giÝ Ã hình thành k¿ ho¡ch cå thÃ, mình s½ thm dò cái gì tr°Ûc? cái gì sau? làm sao mình xác Ënh °ãc nhïng thông tin mình tìm ki¿m là xác thñc? nhïng ph°¡ng tiÇn nào mình s½ dùng à thm dò?"

'cuti' xen vào:

"Ái chà, nãy giÝ ng«m ngh) em mÛi th¥y nhïng gì anh em mình à khía të tr°Ûc ¿n giÝ Áu có liên quan m­t thi¿t vÛi nhau. Công nh­n Ùc th­t.. Ùc th­t."

'haothu' th¯c m¯c:

"Pa l¡i l£m nh£m gì nïa ó pa?"

'cuti' gi£i thích:

"Nè nè, §u tiên mình bàn chuyÇn 'hack' là gì, sau ó mình bàn ¿n chuyÇn muÑn 'thâm nh­p' ph£i bi¿t rõ cái mình muÑn 'thâm nh­p'. K¿ ti¿p mình ào xÛi chuyÇn 'bi¿t rõ' là ph£i bi¿t th¿ nào, ph£i n¯m ngÍn ngành ra làm sao. RÓi ¿n chuyÇn nhïng giÁng mÑi trong quá trình thu th­p à có thà 'bi¿t rõ'. K¿ ¿n là kù nng nhìn nh­n và ti¿p nh­n v¥n Á të nhiÁu phía. L¡i thêm chuyÇn ph£i có k¿ ho¡ch à khai triÃn viÇc mình c§n làm sau khi xác Ënh rõ nhu c§u cå thÃ. Nhïng iÃm này không liên quan m­t thi¿t vÛi nhau thì là gì nïa ông cå?"

'haothu' g­t gù:

"À há, tao thua mày ó H°ng. Tao cÑ tÕng hãp l¡i nhïng thé này mà không °ãc và nó cé rÑi bòng bong lên."

'cuti' ph¥n khích nh°ng làm ra v» khiêm tÑn:

"âu có gì âu mày. ChÉ c§n xét l¡i trÍn bÙ nhïng iÃm cÑt lõi mà bÍn mình ã bàn thì ra liÁn thôi."

Tôi nh­n xét:

"Em tÕng hãp v­y là xu¥t s¯c ó H°ng. Ph§n còn l¡i chÉ là éng dång sao cho uyÃn chuyÃn thôi."

'cuti' không kìm °ãc:

"¶c ·c, t°ßng âu §u óc bË lú l«n rÓi chÛ. Lâu lâu nói úng mÙt phát, °ãc khen mÙt phát s°Ûng lên mây... ·c ·c, hu hu."

Lúc này 'docco' mÛi xen vào:

"M¥y pa này cé c¯t ngang hoài. Ng°Ýi ta ang nói chuyÇn 'recconnaissance' mà trÝi!"

Tôi tr¥n an 'docco':

"Lo gì em. Mình còn ngày dài tháng rÙng à nói chuyÇn mà. Anh th¥y H°ng tÕng k¿t nh° v­y là chuyÇn r¥t nên làm ó. Ok, hÓi nãy mình ang nói tÛi âu rÓi nhÉ?"

'docco' hình nh° ã gõ sµn nên thông iÇp cça cu c­u hiÇn ra trên màn hình g§n nh° ngay sau khi tôi tr£ lÝi:

"D¡, hÓi nãy ¿n o¡n anh hÏi là mình s½ thm dò cái gì tr°Ûc? cái gì sau. Cách nào xác Ënh °ãc nhïng thông tin tìm ki¿m là xác thñc. Nhïng ph°¡ng tiÇn nào s½ dùng à thm dò ó anh. Nhïng iÃm anh °a ra ß ây chính là nhïng iÃm em th¯c m¯c ó. Mình thm dò cái gì tr°Ûc, cái gì sau có quan trÍng không anh?"

Tôi áp:

"êa, có l½ mình nên khai triÃn tëng ph§n mÙt à á rÑi r¯m. Theo anh th¥y, thm dò có hai lo¡i chính: Ùng và t)nh. M×i lo¡i g¯n liÁn vÛi cái gÍi là 'tr°Ûc' và 'sau'. iÃm quan trÍng hàng §u cça viÇc thm dò là làm sao thu th­p °ãc thông tin xác thñc nh¥t nh°ng l¡i kín áo nh¥t, ít bË phát hiÇn nh¥t."

'haothu' reo lên:

"Ái chà, thm dò có 'Ùng' và 't)nh' sao anh? L§n §u tiên em nghe ó."

Tôi c°Ýi áp:

"êa, Ùng và t)nh là hai të anh t¡m dËch sang ti¿ng ViÇt. úng ra nó là "active" và "passive" theo ti¿ng Anh. "Active" ß ây là 'Ùng' nh°ng nó còn có tinh th§n là trñc ti¿p. Trong khi ó, "passive" là t)nh và nó mang tinh th§n gián ti¿p. V­y th¿ nào là "active" và th¿ nào là "passive"? active là lÑi thm dò t¡o ra b±ng cách t°¡ng tác trñc ti¿p vÛi hÇ thÑng mình muÑn thm dò và passive là lÑi thm dò không t°¡ng tác trñc ti¿p."

'cuti' th¯c m¯c:

"Nh°ng làm sao mình bi¿t °ãc có hai d¡ng thm dò 'active' và 'passive' anh? Cái này mình Íc sách hay tham kh£o ß âu v­y?"

Tôi áp:

"Hai d¡ng thm dò này quá rõ cho nên chÉ c§n dùng suy lu­n thông th°Ýng cing có thà x¿p lo¡i chúng thành hai d¡ng. Còn nhïng cách thm dò th¿ nào thì mình ph£i tham kh£o nhiÁu n¡i và tñ tay táy máy mà ra."

'docco' hÏi ti¿p:

"V­y giïa hai d¡ng này, cái nào cho mình thông tin chính xác h¡n cái nào anh?"

Tôi tr£ lÝi:

"Kinh nghiÇm b£n thân anh th¥y d¡ng thm dò 'active' th°Ýng cho thông tin chính xác h¡n nh°ng cing còn tuó mình muÑn l¥y thông tin gì nïa. Ví då nh° cách thm dò à l¥y thông tin vÁ domain name, các hosts trong domain và IP cça chúng thì em chÉ c§n query mÙt DNS server nào ó thì ã có thà có mÙt sÑ thông tin. Ngay c£ em dùng các công cå online (web-based) à l¥y thông tin lo¡i này cing thuÙc d¡ng 'passive' và cing có thông tin khá chính xác (ngo¡i trë công cå online này sí dång mÙt DNS server nào ó có v¥n Á). N¿u em muÑn l¥y thông tin cå thà h¡n và các hosts trong mÙt m¡ng mà thông tin này không °ãc công bÑ trên DNS công cÙng thì ph£i v­n dång ¿n cách thm dò 'active'. Nói tÕng quát thì có nhïng lo¡i thông tin òi hÏi dùng d¡ng 'active' thì mÛi l¥y °ãc. Cho nên, 'active' thì th°Ýng chính xác h¡n nh°ng ít kín áo h¡n, 'passive' thì kín áo h¡n nh°ng nhïng thông tin này mang tính tÕng quát h¡n."

'cuti' v«n ti¿p tåc th¯c m¯c:

"Em v«n th¯c m¯c là làm sao bi¿t °ãc nhïng kù thu­t thm dò ây anh. Ví då nh° bÍn em tay m¡, ch°a bi¿t gì h¿t. Bây giÝ bÍn em muÑn thí thm dò thì b¯t §u të âu anh?"

Tôi c°Ýi, áp:

"T¥t nhiên là b¯t §u të tài liÇu, thông tin trong sách, trên web, trên các forum chuyên vÁ b£o m­t hay thâm nh­p. N¿u em thí dùng të khoá 'reconnaissance' và google thí thì em s½ th¥y thông tin nhiÁu bi¿t chëng nào. Theo anh th¥y, cái khó không ph£i là ph°¡ng tiÇn tìm thông tin mà là ph°¡ng tiÇn thu th­p, lÍc lña, thí nghiÇm và éng dång thông tin."

'haothu' c£m thán:

"Ôi trÝi, sao em th¥y bây giÝ hÏi ai cái gì cing °ãc tr£ lÝi là 'google', 'google', 'google' v­y anh. Anh cing Á nghË bÍn em nên 'google' nïa rÓi :(. Em th¥y tìm thông tin trên 'google' lan man quá anh."

Tôi áp:

"Em không bi¿t sao? Dùng search engine cing là mÙt trong nhïng kù thu­t 'reconnaissance' ó em. Nói chung, kh£ nng tìm không thà thi¿u cho viÇc 'reconnaissance'. Không bi¿t tìm, không thà thñc hiÇn 'reconnaissance' hiÇu qu£ °ãc."

'cuti' láu lÉnh:

"V­y anh muÑn bÍn em hÍc cách dùng 'google' luôn chÛ gì? ;-)"

Tôi tr£ lÝi:

"Hì hì, không anh muÑn mà anh chÉ Á nghË mà thôi. ThÝi buÕi này 'information is gold'. Information thì có kh¯p n¡i. Em lên web thì të thé rác r°ßi ¿n nhïng thông tin cñc kó quý giá Áu có. ChÉ có em tñ ào luyÇn cho mình kù nng tìm thông tin (b±ng google hay b¥t cé search engine nào) và kù nng chÍn lÍc thông tin. Càng có thà thu th­p và chÍn lÍc thông tin, em càng 'i tr°Ûc' nhïng ng°Ýi khác trên ph°¡ng diÇn này."

'cuti' phân bua:

"Hì hì, em chÉ ùa thôi mà. Em bi¿t 'google' và các search engine khác có nhïng thông tin cñc kó quý giá. Em chÉ th¥y khó ß ch× dùng cách nào à tìm và làm sao bi¿t °ãc thông tin nào c§n l¥y, thông tin nào không c§n l¥y thôi."

Tôi áp:

"Em vào b¥t cé trang chç cça b¥t cé search engine nào cing có thà th¥y không ít thì nhiÁu h°Ûng d«n cách 'search', em nên Íc kù h°Ûng d«n à dùng cho hiÇu qu£. Sß d) ai cing nh¯c ¿n 'google' vì hiÇn nay nó là 'máy tìm' sÑ mÙt. Th­t ra không có nhiÁu ng°Ýi thñc sñ sí dång úng méc chéc nng cça google à tìm thông tin và ph§n lÛn là do không chËu Íc h°Ûng d«n cça google °a ra. Anh th¥y g§n ây ám O'Reilly còn xu¥t b£n c£ cuÑn "google hack" nïa. Anh ch°a Íc cuÑn này nh°ng anh oán là nó giÛi thiÇu nhïng thç thu­t tìm ki¿m trên google và nhïng thç thu­t này i të ph§n h°Ûng d«n cça google mà ra.

Riêng viÇc bi¿t thông tin nào c§n l¥y hay không thì ây là v¥n Á kinh nghiÇm. Em ph£i c§n thÝi gian à bÓi ¯p kinh nghiÇm này. Kinh nghiÇm b£n thân thì anh không 'tin' ngay vào nguÓn thông tin anh ki¿m °ãc. Anh th°Ýng tìm c£ tìm nguÓn thông tin khác à Ñi chéng và khi có iÁu kiÇn, anh tñ tay 'táy máy' à xác thñc giá trË cça thông tin anh tìm °ãc. Lâu ngày tñ nhiên có kinh nghiÇm nhiÁu h¡n, mình có thà xác Ënh °ãc nguÓn tin nào áng tin và nguÓn tin nào c§n xét l¡i. Cing të kinh nghiÇm, ôi khi Íc mÙt o¡n thông tin em có thà xác Ënh thông tin này áng tin hay không dña trên tính logic cça nó, dña trên sñ liÁn l¡c và sñ vïng vàng trong c¥u trúc cça nó."

'cuti' rên rÉ:

"Ôi trÝi, sao mà khó quá v­y anh? :(. BÍn em Íc ti¿ng Anh ch°a nên thân mà anh còn b¯t ph£i 'dính' vào ch× xem nÙi dung thông tin à ánh giá và thu l°ãm chúng thì làm sao làm nÕi? Ho¡ may bÍn em có ti¿ng Anh th­t chi¿n, có kh£ nng Íc, nhÛ và phân tích nhanh nh°... iÇn."

'haothu' chêm vào thêm:

"Em cing th¥y nh° v­y ó. °a em mÙt cuÑn sách cça OReilly, cça Wiley hay cça Syngress ã xu¥t b£n, ã biên t­p và chÍn lña h³n hòi, em Íc mà th¥y muÑn ch£y... má ra, huÑng hÓ chi thông tin t£n m¡n trên net. Anh có cách gì khác không anh?"

Tôi c°Ýi, áp:

"Hì hì, bßi th¿ m¥y nhà xu¥t b£n mÛi ki¿m sÑng °ãc chÛ em? trên 90% nhïng gì °ãc in trên sách i të nhïng thông tin có trên Internet. Thông tin °ãc trao Õi të các newsgroup, të các forums, të nhïng nhóm bug track, të các security articles, të tr°Ýng ¡i hÍc, të các nhóm nghiên céu... °ãc thu th­p, lÍc lña, tuyÃn chÍn và °ãc vi¿t l¡i b±ng sách mÙt cách có hÇ thÑng, có logic, b±ng thé ngôn ngï ai cing có thà ti¿p nh­n °ãc. Tuy nhiên, không ph£i sách nào cing có nÙi dung hoàn toàn chính xác và mÙt iÁu quan trÍng là khi sách °ãc in ra thì nhïng thông tin này g§n nh° ã l×i thÝi so vÛi thñc t¿. Nh¥t là vÛi l)nh vñc công nghÇ thông tin và ·c biÇt là b£o m­t."

'haothu' ti¿p tåc:

"V­y anh ngh) bÍn em ph£i làm sao bây giÝ?"

Tôi áp:

"Làm sao? Thì em v«n i hÍc, v«n Íc sách giáo khoa cho c©n th­n, v«n ào luyÇn cho mình kh£ nng ti¿p nh­n thông tin theo d¡ng 'hàn lâm' ß tr°Ýng và b¯t §u làm quen vÛi mÛ 'h×n Ùn' trên Internet chÛ sao? ;-)"

'cuti' nhn nhó:

"Anh cé trêu hoài :(. Em hÏi th­t mà. Em cing c£m th¥y y hÇt nh° th±ng Khoa v­y."

Tôi c°Ýi phá lên rÓi áp:

"Thì anh nói th­t mà. Câu vëa rÓi anh nói hoàn toàn nghiêm túc. Em cé thí nghiÇm xem i. Thông tin là théc n cho tinh th§n, không ai có thà ép em ph£i 'n' cái gì c£. HÍ chÉ có thà Á nghË em nên chÍn théc n ra sao và cách tÕng quát à 'tiêu hoá' théc n mà thôi."

'docco' tiu nghÉu:

"Ch¯c ph£i v­y rÓi. Em chãt nhÛ mÙt chi ti¿t mình 'à khía' tr°Ûc ây: Áu ·n và iÁu Ù; nguyên t¯c '4 ê' ó anh. Ph£i có '4 ê' thì ho¡ may mÛi hình thành °ãc mÛ kù nng c§n thi¿t à 'chÍn théc n và tiêu hoá théc n' ph£i không anh?"

Tôi áp:

"úng rÓi ó em. Ch¯c ch¯n ph£i c§n '4 ê'. Thôi khuya rÓi, anh ph£i i ngç mai còn i làm sÛm. L§n sau mình 'à khía' vài chi ti¿t vÁ 'reconnaissance' cho vui nha?"

'cuti' nhanh nh£u:

"D¡, quá ã ó anh."

'docco' kó nèo:

"Héa ó nhe anh. L§n nào mình cing sa à vào nhïng chuyÇn khác."

'haothu' hóm hÉnh:

"Em thì cái gì cing °ãc h¿t. MiÅn sao ngÓi à khía nh° th¿ này là vui rÓi."

Tôi áp:

"êa, nh¥t Ënh mình s½ bàn chuyÇn này mà Duy. Anh chÉ th¥y nó ch°a quá séc quan trÍng lúc này thôi. Anh muÑn em có 'right set of mind' tr°Ûc khi i vào ch× ó :). OK, bye m¥y ku."

và tôi logoff. Óng hÓ cing vëa gõ m°Ýi ti¿ng.

7/9/2005

<còn ti¿p>

conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 9

12. Information... What for? - I

M¥y tu§n qua tôi quá b­n rÙn nên ã 'lÝ' khá nhiÁu mail và offline messages të bÙ ba 'cuti', 'haothu' và 'docco' và t¥t nhiên tôi cing lÝ khá nhiÁu mail të nhïng ng°Ýi khác. Tôi °ãc nghÉ bù liên ti¿p ba ngày (cÙng vÛi hai ngày cuÑi tu§n là nm ngày). Dñ Ënh s½ °a gia ình i ch¡i âu ó, không ngÝ trÝi Õ m°a t§m tã cho nên ành ph£i thúc thç trong nhà. Tôi quy¿t Ënh online à Íc mail, tr£ lÝi mail và xem offline messages. Nh° dñ oán, tôi có hàng trm email trong inbox và hàng 't¥n' offline messages. ang trong lúc thong th£ Íc và tr£ lÝi tëng cái (áng tr£ lÝi), YIM b×ng nhiên báo 'cuti' vëa vào. Tôi h¿t séc ng¡c nhiên vì lúc này bên VN mÛi có 7 giÝ sáng. Không hiÃu 'cuti' làm gì mà mò vào YIM sáng tinh m¡ nh° th¿. Tôi bèn gßi anh chàng mÙt message:

"Hello H°ng, làm gì mà mò lên ây sÛm quá v­y?"

Trong tích t¯c, tôi nh­n °ãc hÓi báo:

"Ui trÝi, hôm nay là ngày gì mà ·c biÇt v­y? Sao giÝ này anh lên ây, bÙ anh không i làm sao?"

Tôi áp:

"À, anh °ãc m¥y ngày nghÉ bù, Ënh i ch¡i âu ó nh°ng trÝi ang m°a t§m tã nên lên web d¡o ch¡i :). Còn em làm gì mà d­y sÛm v­y?"

'cuti' tr£ lÝi có v» uà o£i:

"D¡, áng l½ hôm nay em i hÍc nh°ng bË cúm m¥y hôm nay, trong ng°Ýi còn th¥y nhë quá nên ß nhà. Em d­y hÓi sÛm à. N±m hoài trong gi°Ýng buÓn quá nên mò lên net ch¡i. V­y anh em mình 'à khía' lai rai °ãc hông anh?"

Tôi c°Ýi, áp:

"N¿u trÝi cé m°a thì anh em mình tha hÓ mà 'à khía' nh°ng trÝi t¡nh m°a thì anh s½ d«n m¥y th±ng nhóc i ch¡i. Em muÑn 'à khía' gì ây?"

'cuti' khoái chí:

"Hi hi, em muÑn trÝi m°a hoài. Anh em mình 'à khía' chuyÇn gì mà không °ãc anh? ChuyÇn trên trÝi, d°Ûi ¥t cho vui mà. À, em có mÙt chuyÇn cing buÓn c°Ýi l¯m. Anh muÑn nghe không?"

Tôi ng§n ngë:

"Èm... cing tùy chuyÇn ó là chuyÇn gì nïa em. N¿u em ngh) là anh thích nghe thì em kà i."

'cuti' b½n l½n"

"Cing ch³ng có gì ·c biÇt âu anh. ChuyÇn em vÛi con 'ghÇ' bÓ ó mà."

Tôi áp:

"Ui trÝi, 'nàng tiên cça lòng anh' mà sao gÍi là 'con ghÇ' v­y em? ;-)"

'cuti' c°Ýi, tr£ lÝi câu hÏi cça tôi:

"Anh không bi¿t ó thôi, ó là cách gÍi thân m­t và âu y¿m ó thôi mà."

Tôi tr£ lÝi:

"Ái chà... có l½ anh l×i thÝi rÓi. Anh mà gÍi bà xã anh là 'con ghÇ' thì ch¯c nguy to ;-). êa, em kà i, có chuyÇn gì vÛi 'con ghÇ' mà em có v» ph¥n khßi v­y?"

'cuti' b¯t §u:

"Anh còn nhÛ hÓi bïa, l§n cuÑi cùng bÑn anh em mình 'à khía' hông? Th­t ra hôm ó em có h¹n vÛi 'con ghÇ' nh°ng em quy¿t Ënh cho nó leo cây. Ai biÃu t¯t di Ùng làm chi, em gÍi hoài không °ãc nên... xù."

Tôi th¯c m¯c:

"T¯c di Ùng là t¯c th¿ nào em? anh không hiÃu l¯m."

'cuti' phát biÃu:

"KiÃu này anh ph£i vÁ VN làm mÙt khóa tu të i anh, 'di Ùng' là iÇn tho¡i di Ùng ó. Hì hì."

Tôi áp:

"À... hoá ra là th¿. Anh cé ngá con mèo di Ùng hay con chuÙt di Ùng gì ó ;-)"

'cuti' ti¿p tåc:

"Em ph£i dùng të c©n th­n không thì l¡i bË anh kê cho. TÑi hôm ó, 'con ghÇ' ãi hoài không th¥y em ¿n nên nÕi 'khùng' lên. iÇn tho¡i di Ùng em thì h¿t pin mà cing ch°a kËp s¡c nïa. Th¿ là »m bèn phóng xe ¿n nhà em. Ch°a giáp m·t, ã m¯ng em xÑi x£ vì em ã cho b£ leo cây."

Tôi xen vào:

"V­y là tÑt rÓi, 'n°Ýng' còn chËu khó phóng xe ¿n nhà em à m¯ng thì không có gì tr§m trÍng. RÓi sao nïa."

'cuti' c°Ýi, nói ti¿p:

"Hì hì, anh không rõ ó thôi. Con bÓ em tánh nóng nh° lía, có gì là huõch to¹t ra h¿t. Lúc ó nghe thì cing ngéa con ráy l¯m nh°ng ri¿t cing quen. Nó buÙc tÙi em là mê net, mê chat vÛi 'con qu÷ cái' nào ¿n n×i ph£i cho nó leo cây. Em cÑ séc phân tr§n nh°ng không hiÇu qu£. RÑt cuÙc em ph£i cho nó xem nÙi dung m¥y anh em mình 'à khía' nó mÛi chËu yên."

Tôi c°Ýi:

"Hì hì, hoá ra tr°Ûc ó em ch°a hÁ kà cho 'con ghÇ' nghe vÁ mÑi quan hÇ 'b¥t chính' cça m¥y anh em mình sao?"

'cuti' tr£ lÝi:

"D¡, em Ënh kà cho nó nghe nhiÁu l§n nh°ng cé m×i l§n i ch¡i mà Á c­p ¿n tin hÍc, ¿n máy tính là nó g¡t phng i. Nó nói "bÙ ôm máy c£ ngày, c£ tu§n ch°a ã n° sao mà hÅ mß miÇng ra là máy tính, máy tính" nên em... im luôn."

Tôi áp:

"Thú vË l¯m. V­y sau ó th¿ nào em?"

'cuti' c°Ýi hÛn hß:

"D¡ sau ó thì tåi em i uÑng n°Ûc mÙt chút rÓi vÁ. Lúc m¥y anh em mình k¿t thúc thì bên ây mÛi có 7 giÝ tÑi chÛ m¥y anh. Th¿ là trong lúc i uÑng n°Ûc, 'con ghÇ' cé em chuyÇn m¥y anh em mình 'à khía' ra hÏi dÓn. Em nói vÛi nó là em có l°u l¡i nÙi dung anh em mình chat, à em cho nó mÙt b£n à Íc cho khÏi th¯c m¯c."

Tôi áp:

"êa, con gái là chúa tò mò mà em. Cái gì càng d¥u, càng thích tò mò ;-)."

'cuti' c°Ýi hi hi, rÓi nói ti¿p:

"Ch°a h¿t. Sau khi em °a cho nó cái file chéa nÙi dung anh em mình chat, m¥y ngày sau nó nh¥t Ënh òi em ph£i giÛi thiÇu anh cho nó. Nó cing muÑn tham gia 'à khía' vÛi m¥y anh em mình luôn. Em nói là em s½ chuyÃn lÝi nh°ng em không héa gì h¿t."

Tôi c°Ýi gh¹o 'cuti':

"Hì hì, °ãc dËp tr£ ia nên làm khó 'n°Ýng' hay sao ây? Hoá ra là chuyÇn con bé muÑn tham gia :). Thì cé d«n 'n°Ýng' lên 'à khía' chung chÛ có gì quan trÍng âu em?"

'cuti' tr£ lÝi:

"Em nói thiÇt mà anh. Em không thà héa gì nó vì em không bi¿t hay s½ nói gì. Lá may em Á nghË và anh phán con gái, con léa mà bày v½, l¯m chuyÇn thì có quê c£ ám hông à."

Tôi áp:

"Có gì mà không ok em. Kêu nó tham gia cho vui chÛ có sao âu à."

"cuti" tr£ lÝi:

"D¡, Ã em báo cho nó bi¿t. 'Con gái, con léa' mÇt l¯m anh ¡i, khi th¿ này, khi th¿ kia, ch³ng bi¿t °Ýng nào mà mò."

Bên ngoài m°a ã ngÛt. Tôi oán m¥y th±ng nhóc cça tôi s¯p sía vòi v)nh chuyÇn i ch¡i ây. Cho nên tôi cho 'cuti' bi¿t:

"Có l½ anh s½ i ch¡i vÛi m¥y th±ng nhóc. TrÝi bên này ã t¡nh m°a rÓi em. ChiÁu tÑi nay anh ß nhà, n¿u thích em rç ám Khoa, Duy và 'con ghÇ' vào à khía cho vui."

"cuti" hÛn hß:

"D¡, v­y thì vui quá. Em bÇnh n±m nhà hoài chán quá. °ãc à khía v­y thì quá ã. Ã em iÇn cho tåi nó liÁn. V­y kho£ng m¥y giÝ anh lên?"

Tôi phÏng chëng:

"Anh oán kho£ng 4, 5 giÝ chiÁu bên em ó, có tiÇn không?"

'cuti' ch­c l°ái áp:

"Ch­c ch­c... h¡i k¹t ó anh. BÍn em thì dÅ nh°ng con Nh° ch¯c k¹t vì em oán giÝ ó nó ph£i n¥u c¡m chiÁu rÓi. Thôi kÇ nó v­y. Khi khác cho nó tham gia cing °ãc."

Tôi 'chÉnh' 'cuti':

"Hèm... nó là girl friend cça em mà cé 'con' vÛi 'nó' nghe hông 'ngÍt' tí nào h¿t em. V­y ngày mai kho£ng 2 giÝ tr°a bên em °ãc hông?"

'cuti" tr£ lÝi:

"D¡, 2 giÝ tr°a thì ch¯c ok rÓi anh. Nó có lên trÅ mÙt tí cing không sao. Còn chuyÇn 'nó' vÛi 'con' em bË quen miÇng rÓi anh ¡i. GÍi th¿ nào cho Õn ây anh?"

Tôi áp:

"Kêu b±ng tên i em và cing không c§n ph£i Çm thêm chï 'con' :). RÓi, 2 giÝ tr°a bên em h£? Anh i ây."

'cuti' phàn nàn:

"D¡ chào anh. úng là anh già khó tính, thêm chï 'con' cing không °ãc ;-)."

Tôi logoff.

----------------------------

ChiÁu hôm sau, nh° ã h¹n, tôi l¡i logon YIM. Khi vào, tôi th¥y hai khuôn m·t 'vàng khè' cça 'cuti' và 'docco' cÙng thêm mÙt 'request for accept' cça mÙt ng°Ýi có cái nick khá ngÙ ngh)nh và bí hiÃm là ccxx kèm theo thông iÇp ng¯n gÍn: "D¡ em là Nh° ây, b¡n cça H°ng, Khoa và Duy ó anh. Anh add em °ãc không ¡?". HiÃn nhiên là 'cô bÓ' cça 'cuti' nhà mình. Tôi nh¥n nút "accept" và mÙt khuôn m·t 'vàng khè' trên cái nick ccxx hiÇn ra trên danh sách YIM cça tôi. Ch³ng th¥y 'haothu' âu c£, hay anh chàng ang 'invisible'?

Trong tích t¯c, mÙt "conference invitation" °ãc ccxx gßi ¿n. Trong khi nh¥n nút "Accept", tôi th§m ngh) "chà, cô bé này có v» nh­m l¹ ây".

Trong 'conference room' có 'cuti', 'docco' và 'ccxx' nh°ng ch³ng th¥y bóng dáng 'haothu' âu c£. 'ccxx' lên ti¿ng:

"Chào 'anh già khó tính' ¡. Em xin tñ giÛi thiÇu em là Nh°. R¥t vui °ãc làm quen vÛi anh."

Tôi mÉm ng°Ýi, tñ nhç "con bé li¿ng qu£ nhÉ" và áp lÅ:

"Chào Nh°, cing b¯t ch°Ûc cu H°ng gÍi anh là 'anh già khó tính' sao? Còn 'haothu' âu rÓi m¥y éa?"

'ccxx' tr£ lÝi l¹ làng:

"D¡, em nghe nói nó bË k¹t. Không rõ bË k¹t gì mà không online °ãc anh."

Lúc này 'cuti' và 'docco' mÛi lên ti¿ng:

"Chào anh già khó tính, anh i ch¡i vÛi m¥y nhóc có vui không?"

"Chào anh D, mÛi có vài tu§n mà em th¥y nh° hàng tháng v­y. Anh kho» không?"

Tôi áp:

"êa, i ch¡i cing vui l¯m em. Anh cing khÏe, còn em d¡o này sao Duy?"

'docco' tr£ lÝi:

"D¡ em cing bình th°Ýng anh. D¡o này em Íc nhiÁu h¡n và ít i ch¡i h¡n :)"

Tôi áp:

"TÑt quá v­y? Anh tin là em 'luyÇn' °ãc m¥y 't§ng nÙi công' rÓi ó :). êa, nãy giÝ anh thí oán cái nick ccxx là cái gì. Anh ngh) là oán úng hông chëng."

'ccxx' c°Ýi khoái chí:

"Anh oán ra °ãc em phåc ln liÁn ó. HÓi giÝ ch°a có ai oán ra °ãc cái 'bí ©n' ±ng sau cái nick này ó anh."

Tôi c°Ýi, áp:

"êa, n¿u v­y dám anh oán sai l¯m ó. Anh ngh) ccxx là 'công chúa x¥u xí' ph£i không?"

C£ ba 'cuti', 'docco' và 'ccxx' cùng tr£ lÝi g§n mÙt l°ãt:

"Ò"

"wow"

"Ùc thiÇt"

và 'ccxx' nói ti¿p:

"Sao anh oán mÙt cái là trúng phóc liÁn dzË? Em thiÇt là phåc ln ó. M¥y ng°Ýi trên m¡ng toàn liên t°ßng cái nick cça em ¿n nhïng thé b­y b¡ không à."

Tôi áp:

"Ch¯c là m¥y 'anh chàng' trên m¡ng oán °ãc nh°ng không dám nói, sã em gi­n vì nó có hai chï 'x¥u xí' bên trong. Anh nhìn qua chï ccxx tñ nhiên anh liên t°ßng ngay ¿n 'công chúa x¥u xí' liÁn. Nh°ng mà, ccxx có gì mà liên t°ßng ¿n nhïng thé b­y b¡ v­y em?"

'ccxx' phång phËu:

"Anh không bi¿t ó thôi. cc là credit card chùa ó anh, còn xx là m¥y thé... ùm.... à... t§m b­y t§m b¡ ó. Thôi, em không nói nïa. À nh°ng mà anh không sã em gi­n sao mà nói th³ng hai chï 'x¥u xí' dzË? :)"

'docco' xen vào:

"Thì x¥u thì ch¥p nh­n x¥u chÛ có gì mà gi­n cà."

'ccxx' ph£n công:

"Còn ông nïa, còn chëng ông nghe ông."

Tôi c¯t ngang:

"Hì hì, anh ngh) hai chï 'x¥u xí' ó th­t ra hàm chéa mÙt chút kiêu hãnh ng§m ó thôi. Có ai tñ cho mình 'x¥u xí' bao giÝ? N¿u có thì cing 'ng§m' khen mình 'xinh ¹p' ;-). Bßi v­y, anh ch³ng ng¡i nói ra hai chï này. Riêng vÛi nhïng ng°Ýi liên t°ßng cái nick cça em thành nhïng thé b­y b¡ thì chính hÍ thiÇt thòi thôi. ëng à ý làm gì."

'ccxx' thÑt:

"Kinh khçng, kinh khçng. Em Íc nhïng lÝi anh Ñi tho¡i vÛi ám H°ng, Khoa, Duy ã th¥y miÇng l°ái cça anh kinh khçng. GiÝ trñc ti¿p nói chuyÇn mÛi th¥y qu£ là không sai :). Thôi, em ngh) ngoài viÇc 'à khía' chuyÇn tin hÍc, máy tính, anh nên hu¥n luyÇn ông Duy mÙt khoá 'ái tìn' i anh. Ông này cing tÑt mã, hÍc giÏi mà sao v«n ch°a có mÙt 'miÃng tìn rách r°Ûi' nào h¿t. Em b£o £m anh hu¥n luyÇn cho Õng mÙt khoá là thành công ngay."

'docco' luÑng cuÑng:

"Thôi.. thôi.. i bà. Cho tui xin mà. Nh°ng không cái gì mà 'tìn tìn' trong này. Thôi anh, mình nói chuyÇn tin hÍc vui h¡n."

'ccxx' c°Ýi ré lên:

"hi hi hi, tui oán m·t ông Duy lúc này ang Ï nh° 'm·t trÝi bé con' ó. Thôi, tha cho ông mÙt l§n ó. V­y m¥y anh em mình nói chuyÇn gì ây?"

'cuti' lúc này mÛi lên ti¿ng:

"Anh th¥y... anh th¥y Nh° ho¡t bát hông anh? Hay à Nh° chÍn Á tài °ãc ó."

Tôi c°Ýi, áp:

"Hì hì, anh th¥y 'nhà' em ho¡t bát l¯m, muÑn 'lng xê' nàng liÁn h£? Hy vÍng s½ có nhiÁu chuyÇn lý thú ây :)."

'ccxx' phát biÃu mÙt câu th­t ng¯n rÓi bÏ dß:

"Em công nh­n anh nói chuyÇn 'kinh' thiÇt.... [/i]

'docco' c°Ýi thích thú:

"Hi hi, cám ¡n anh D gá dùm em mÙt qu£. Em dám ch¯c lúc này m·t bà Nh° Ï h¡n 'm·t trÝi bé cha' nïa ;-)"

ChÉ qua vài câu Ñi tho¡i, bÍn tôi ã trß nên tho£i mái nh° ã quen thân nhau të lâu. 'docco' hình nh° muÑn c¯t ng¯n nhïng chuyÇn cà rán à b¯t §u 'à khía' nhïng chuyÇn cu c­u th¯c m¯c. 'docco' lên ti¿ng:

"Thôi, '£ qua £ l¡i' mÙt hÓi coi chëng th¿ chi¿n thé III b¯t §u bây giÝ. Mình nói chuyÇn khác i h£ bà con?"

'docco' nói ti¿p:

"Em có tham kh£o qua các v¥n Á thuÙc vÁ reconnaissance rÓi ó anh nh°ng em th¥y có nhiÁu iÃm lÝ mÝ quá. Em th¥y có cái thì gÍi là 'enumeration', cái thì gÍi là 'interrogation', cái l¡i gÍi là "reconnaissance". Em thí so sánh thì th¥y r±ng chúng cùng phåc vå cho måc ích thm dò. V­y cái nào là cái nào ây anh?"

Tôi c°Ýi, áp:

"Hì hì, nh£y ngay vào kù thu­t h£? Ch¯c em sã mình l¡i 'l¡c Á' sang nhïng chuyÇn khác chÛ gì? úng là nhïng thu­t ngï em liÇt kê ra ß ây Áu tñu trung vào tinh th§n chung: thm dò. Reconnaissance dËch sát ngh)a là 'khai thác thông tin' và 'interrogate' và 'enumerate' dính líu trong ti¿n trình khai thác này. Trong ó, 'interrogate' dËch sát ngh)a là 'h¡ch hÏi' và 'enumerate' là '¿m'. N¯m °ãc nhïng thu­t ngï này cing có ích à hiÃu sâu tëng phân o¡n cça quá trình thm dò. Tuy nhiên, n¿u em c£m th¥y bÑi rÑi vÛi nhïng thu­t ngï này thì khoan hµng tìm cách 'dËch' chúng sang ti¿ng ViÇt vì có nhïng të dËch không °ãc ho·c không ç lÙt t£ tinh th§n. Cé ti¿p nh­n chúng nh° nhïng thu­t ngï v­y thôi. Sau này em s½ rõ h¡n."

'ccxx' xen vào:

"Thôi à anh già và Duy Ñi tho¡i hén? Em vÛi H°ng ngÓi nghe. Có gì th¯c m¯c bÍn em tham gia sau."

'docco' tr£ lÝi gÍn lÏn:

"êa, v­y càng tÑt. á bË loãng."

RÓi hÏi ti¿p:

"V­y tóm l¡i quá trình thm dò bao gÓm nhïng b°Ûc chính nào v­y anh? Và t¡i sao ph£i thñc hiÇn nhïng b°Ûc này?"

Tôi áp:

"áng l½ ra anh ph£i hÏi em câu hÏi này à giúp em tÕng hãp nhïng gì em ã Íc. Tuy nhiên, em có v» khá bÑi rÑi vÛi nhïng thu­t ngï kia. Anh e r±ng em ang rÑi... tùng phè lên trong ó nên à anh tóm t¯t luôn v­y.

Th­t ra không có mÙt lu­t nào b¯t buÙc ph£i thao tác úng tëng b°Ûc à phåc vå måc ích thm dò c£. Tùy måc tiêu và tùy kh£ nng phòng bË và th¯t ch·t cça måc tiêu mà khai triÃn k¿ ho¡ch thm dò cho thích hãp. Anh ngh) mình có thà tóm gÍn chúng l¡i thành ba ph§n chính:

- tìm d¥u ¥n (footprinting) --> xác Ënh måc tiêu tÕng quát

- rà quét (scanning) --> xác Ënh các dËch vå tÕng quát

- l¥y sÑ liÇu cå thà (enumerating) --> thu th­p thông tin cå thÃ.

Em thí suy lu­n xem, t¡i sao ph£i tìm d¥u ¥n? t¡i sao ph£i rà quét và t¡i sao ph£i thu th­p thông tin cå thÃ?"

'docco' råt rè:

"D¡... em nói ¡i nghe? Tìm d¥u ¥n à xác Ënh hÇ iÁu hành nào mình ang Ñi diÇn nh±m thu h¹p biên Ù dò tìm và khai triÃn b°Ûc k¿ ti¿p °ãc chính xác h¡n. Còn rà quét thì em ngh)... ã ti¿n tÛi mÙt b°Ûc r¥t cå thà là tìm xem có nhïng dËch vå nào ang °ãc cung c¥p trên måc tiêu mình muÑn thm dò à thi¿t l­p k¿ ho¡ch thâm nh­p. Còn l¥y sÑ liÇu cå thÃ... ùmm... à... em không bi¿t nïa."

Tôi c°Ýi, cÕ vi 'docco':

"Em tr£ lÝi hai ph§n §u v­y là súc tích và chính xác l¯m rÓi. T¥t nhiên ph§n thé ba là ph§n l¥y k¿t qu£, là ph§n k¿t thúc quá trình thm dò chÛ còn gì nïa em? B°Ûc này càng cå thà h¡n b°Ûc thé nhì là mình dùng nó à thi¿t l­p b°Ûc thâm nh­p. V­y mình có thà thêm vào b£ng liÇt kê ß trên nh° sau:

- tìm d¥u ¥n (footprinting) --> xác Ënh måc tiêu tÕng quát --> thu h¹p biên Ù thm dò

- rà quét (scanning) --> xác Ënh các dËch vå tÕng quát --> thi¿t l­p k¿ ho¡ch thâm nh­p

- l¥y sÑ liÇu cå thà (enumerating) --> thu th­p thông tin cå thà --> thi¿t l­p b°Ûc thâm nh­p

Em th¥y có gì ·c biÇt vÛi b£ng liÇt kê này không?"

'ccxx' xen vào:

"Càng lúc càng cå thà ph£i không anh?"

Tôi áp:

"úng rÓi ó em. Càng lúc càng cå thà và càng cå thà càng tÑt. Th­t ra 3 'b°Ûc' ß trên có thà k¿t hãp l¡i thành 1 'b°Ûc', cing có thà tách rÝi ra làm 2 'b°Ûc' ho·c mß rÙng ra thành... m¥y chåc b°Ûc. VÛi måc ích dò tìm thông tin thì miÅn sao tìm °ãc thông tin cå thà và chính xác là °ãc, không nh¥t thi¿t ph£i theo... 'b°Ûc'."

'cuti' th¯c m¯c:

"Nh°ng t¡i sao tìm footprint l¡i quan trÍng th¿ anh? Em th¥y mÙt web server apache ch¡y trên Windows 2000 và mÙt web server apache ch¡y trên Linux âu có khác gì âu anh?"

Tôi áp:

"N¿u nhìn mÙt cách tÕng quát trên ph°¡ng diÇn ng°Ýi dùng thì nh­n Ënh cça em không sai nh°ng n¿u xét c©n th­n vÁ m·t kù thu­t thì nh­n Ënh cça em ch°a.... hoàn toàn úng. Trên ph°¡ng diÇn ng°Ýi dùng, c£ hai apache (em °a ra) Áu nh­n request, xí lý request, Áu có thà g¯n vÛi asp, jsp, php, cgi... à t¡o trang Ùng nh°ng xét cho c·n k½ thì c¡ ch¿ qu£n lý bÙ nhÛ l«n c¡ ch¿ iÁu tác process trên hai hÇ iÁu hành khác nhau r¥t xa. Nhïng khác biÇt này d«n tÛi chi¿n l°ãc phòng thç hay t¥n công r¥t khác nhau. ViÇc nh­n diÇn d¥u ¥n cça måc tiêu không chÉ giúp giÛi h¡n biên Ù thm dò và khai thác mà nó còn trñc ti¿p £nh h°ßng ¿n viÇc:

- quy¿t Ënh 't¥n công' hay 'rút lui' (nói theo ph°¡ng diÇn t¥n công) ho·c,

- quy¿t Ënh 'th¯t ch·t thêm' hay 'xây dñng l¡i të §u' (nói theo ph°¡ng diÇn phòng thç)."

'cuti' v«n th¯c m¯c:

"Em v«n th¥y v¥n Á này h¡i mù mÝ ó anh. N¿u c§n t¥n công mÙt webserver apache có ch¡y php ch³ng h¡n thì cing b¥y nhiêu kù thu­t nh° sql inject, xss... v­y thì ch¡y trên Windows hay trên *nix âu có khác gì?"

Tôi tr£ lÝi:

"Em nói úng nh°ng cái úng này bË áp ·t trong mÙt giÛi h¡n khá h¹p. T¥n công và thâm nh­p mÙt dËch vå (web ch³ng h¡n) không chÉ dëng l¡i ß sql inject và xss. ây là nhïng kù thu­t phÕ bi¿n và dÅ thñc hiÇn, h¡n nïa nhïng l×i này l¡i th°Ýng th¥y nên th°Ýng °ãc chú trÍng. N¿u 't¥n công' chÉ dëng l¡i ß ch× 'chôm' °ãc admin password cça mÙt forum hay °a lên mÙt thông iÇp trên mÙt trang web à 'deface' thì m¥y kù thu­t em Á c­p ã ç dùng. N¿u th¿ thì ph¡m vi reconnaissance ß ây r¥t nhÏ ho·c không c§n thi¿t nïa. Nhïng iÁu anh °a ra ß ây có thà dùng à éng dång nhiÁu kh£ nng và kù thu­t thâm nh­p h¡n nïa, cho nên reconnaissance trß nên c§n thi¿t. Ví då, em muÑn ch¡y shellcode ¿n dËch vå web cça server à l¥y mÙt cái 'shell' cho måc ích thâm nh­p sâu h¡n nh°ng không xác Ënh chính xác hÇ iÁu hành cça måc tiêu thâm nh­p là gì thì không có cách gì t¡o shellcode °ãc. Lý do, shellcode cça m×i hÇ iÁu hành m×i khác.

N¿u måc tiêu thâm nh­p càng sâu thì quá trình reconnaisance òi hÏi càng ph£i c©n th­n và chi ti¿t. Ngay c£ nhïng 'màn' t¥n công thuÙc lo¡i 'd¡' nh° DoS ch³ng h¡n, Ã thñc sñ 'gi¿t' måc tiêu mình muÑn DoS, em ph£i hiÃu r¥t rõ iÃm y¿u cça hÇ iÁu hành và dËch vå ang ch¡y. DoS 'ch¿t' mÙt Windows server ch¡y Apache + php (dùng prefork) và không có database connection pool nhanh h¡n DoS ch¿t mÙt Linux server ch¡y Apache + jsp (dùng worker) và có connection pool h³n hòi. Nhïng chi ti¿t này ß âu ra? ó chính là k¿t qu£ qu£ 'reconnaissance' ó em.

Nm ngoái, mÙt server do anh qu£n lý (ch¡y Linux) bË m¥y 'ông th§n' nào ó dùng 'ping of death' à t¥n công. iÁu buÓn c°Ýi là d¡ng 'ping of death' này dành cho Windows phiên b£n ci, bË l×i ß ph§n giÛi h¡n packet size cça ICMP làm treo máy khi bË t¥n công. Anh không hiÃu sao nhóm này cé hè nhau mà t¥n công Linux server cça anh b±ng mÙt thé công cå dành à t¥n công Windows. H¡n nïa, Linux server cça anh hoàn toàn c£n mÍi inbound ICMP và UDP. Các gói tin ICMP và UDP chÉ có thà i vào khi chúng mang vai trò tr£ lÝi cho các request i të bên trong Linux server mà thôi. iÁu này có ngh)a nhïng gói ICMP hÍ 'tia' vào server cça anh bË hu÷ ngay khi ång firewall. V­y mà nhóm này v«n nh¯m m¯t, nh¯m mii 'tia' ¿n m¥y ti¿ng liên tåc rÓi mÛi chËu ng°ng. T¥t nhiên d¡ng t¥n công nh° th¿ ch³ng làm suy suyÃn server cça anh m£y may nào h¿t. iÁu áng nói là nguÓn t¥n công hoàn toàn i të VN ra và iÁu áng buÓn là nhïng 'ông th§n' này không thèm tìm hiÃu xem 'ping of death' là gì, th­t sñ ã t¡o ra tác h¡i gì ¿n server cça anh không. Có l½ m¥y 'ông th§n' này tìm âu ra m¥y cái script vi¿t sµn trên Internet rÓi hè nhau mà 'ria' vào server cça anh chng?"

'docco' lè l°ái (mÙt biÃu t°ãng °ãc dùng trên YIM) rÓi lên ti¿ng:

"Ái chà, bây giÝ em mÛi hiÃu lý do t¡i sao reconnaissance l¡i quan trÍng nh° th¿. Lúc Íc tài liÇu, em cé ngá ây là nhïng b°Ûc c§n ph£i làm cho úng nguyên t¯c và ch³ng th¥y có phân tích m¥u chÑt cça reconnaissance là gì h¿t. Em cing có Íc s¡ s¡ qua vÁ shellcoding và th¥y hoàn toàn mù tËt. Còn chuyÇn m¥y 'ông th§n' tìm Ó ch¡i trên m¡ng rÓi i 'ria' là chuyÇn th°Ýng ngày mà anh? :)"

Tôi áp:

"Anh ngh) sách vß th°Ýng giÛi thiÇu nhïng iÃm chung nh¥t và dÅ ti¿p nh­n nh¥t. Sau khi thí nghiÇm, tñ nhiên em s½ 'ngÙ' ra lý do cça tëng phân o¡n trong c£ mÙt quá trình thñc hiÇn. Nhïng ng°Ýi càng kinh nghiÇm vÁ b£o m­t thì b°Ûc thm dò cça hÍ càng chi¿m nhiÁu thÝi gian. Ñi vÛi mÙt k» có chç tr°¡ng 't¥n công', h¯n ph£i dò xét h¿t séc c©n th­n tr°Ûc khi b¯t tay vào thñc hiÇn ý Ënh cça mình à ¡t °ãc måc ích, ít tÑn thÝi gian, ít có c¡ hÙi bË... tóm. Cing l¯m lúc, k» này bÏ cuÙc vì sau khi dò xét c©n th­n, h¯n c£m th¥y không áng à m¥t thÝi gian. Ñi vÛi ng°Ýi phòng thç, quá trình 'dò xét' l¡i càng khó h¡n bßi vì ng°Ýi phòng thç ph£i ·t mình vào vË trí khách quan, ph£i test hÇ thÑng cça mình y nh° mÙt 'black box' th­t sñ rÓi të ó mÛi i ¿n viÇc kiÇn toàn b£o m­t."

'cuti' nh­n xét:

"Nh°ng làm sao mình có thà dò xét ra mÙt server nào ó ang ch¡y Windows, dùng php và dùng prefork chÛ không ph£i nó ang ch¡y Linux, dùng jsp và dùng worker v­y anh? BÙ 'reconnaissance' có thà cung c¥p thông tin ß méc Ù này luôn sao?"

Tôi c°Ýi, áp:

"Cái này tùy vào kh£ nng thm dò cça em. Có nhiÁu y¿u tÑ Ã giúp em i ¿n ch× k¿t lu­n là måc tiêu thm dò cça em có cái gì. Bßi v­y, nh° anh ã nói, giai o¡n reconnaissance có thà là giai o¡n m¥t thÝi gian nh¥t. Riêng chi ti¿t Windows ch¡y apache vÛi php hay Linux ch¡y apache vÛi jsp thì ph§n lÛn em c§n có mÙt sÑ ki¿n théc và dùng kh£ nng suy lu­n à °a vÁ mÙt k¿t lu­n nào ó có lý nh¥t."

'cuti' càng thêm tò mò:

"V­y có ngh)a là sao anh? anh nói sâu h¡n mÙt tí °ãc không anh?"

Tôi áp:

"Hèm... ok, à anh thí tóm gÍn xem sao. N¿u em rành php, em h³n bi¿t là php tr°Ûc phiên b£n 5.x hoàn toàn không thread-safe. Ngay c£ nhïng ng°Ýi ang dùng php 5.x không không m¥y ai 'dám' dùng ß ch¿ Ù 'thread-safe' c£. N¿u em dò mÙt website và bi¿t r±ng nó ch¡y b±ng php trên apache, em có thà oán 99% là nó ch¡y ß ch¿ Ù prefork. N¿u em chËu khó dò thêm footprint cça hÇ iÁu hành và xác Ënh °ãc nó ch¡y trên Windows server thì em có thà xác Ënh nó ch¡y php trên apache vÛi ch¿ Ù prefork. T°¡ng tñ, n¿u em dò mÙt website và bi¿t nó ch¡y b±ng jsp, em có thà oán 99% là nó ch¡y ß ch¿ Ù worker. N¿u xác Ënh °ãc thêm hÇ iÁu hành là Linux thì em càng có thà kh³ng Ënh nó ch¡y jsp trên apache vÛi ch¿ Ù worker. T¥t nhiên, thu th­p càng nhiÁu thông tin, càng giúp em kh³ng Ënh phÏng oán cça em chính xác và à thu th­p nhiÁu thông tin thì 'reconnaissance' càng m¥t thÝi gian là v­y. Nên nhÛ là luôn luôn có nhïng sai sÑ trong 'reconnaissance' vì ng°Ýi phòng thç cÑ tình d¥u footprint ho·c ánh lëa các công cå em dùng à l¥y footprint. Nhïng sai sÑ này càng nhiÁu thì k¿t qu£ càng ít áng tin c­y."

'cuti' g­t gù:

"Hoá ra ây là c£ mÙt nghÇ thu­t chÛ ch³ng ùa. Nhïng ki¿n théc và kinh nghiÇm cho viÇc xác Ënh 'nó' ch¡y php hay jsp cing ç ã iên cái §u rÓi. Dân không ång nhïng chuyÇn này thì bi¿t °Ýng nào mà mò anh? Nh° v­y rõ ràng ki¿n théc có sµn tuyÇt Ñi quan trÍng. N¿u không có thì ngay c£ viÇc thm dò cing không thà °ãc. Bi¿t gì mà thm dò?"

L§n này 'ccxx' góp chuyÇn:

"Thì bßi, em Íc nhïng m©u Ñi tho¡i cça anh già khó tính và m¥y ông t°Ûng này, em th¥y anh nh¥n m¡nh r¥t nhiÁu l§n cái gÍi là 'ngÍn ngành'. Nhïng m©u thông tin nho nhÏ Áu i të 'ngÍn ngành' ra ph£i không anh?"

Tôi c°Ýi, áp:

"úng ó 'công chúa xinh ¹p' :). Anh có l·p i l·p l¡i nhiÁu l§n: 'muÑn b£o vÇ hay t¥n công, mình ph£i n¯m rõ måc tiêu' là v­y ó. 'reconnaissance' chính là b°Ûc à giúp 'n¯m rõ måc tiêu' ß khuôn khÕ 'blackbox' v­y."

'docco' xen vào hÏi thêm:

"Khái niÇm 'blackbox' là sao anh? VÛi l¡i 'prefork' khác gì vÛi 'worker' v­y anh?"

Tôi áp:

"Em ch°a tëng nghe qua 'blackbox' và 'whitebox' sao? Sµn ây mình nên làm quen vÛi khái niÇm này luôn. 'blackbox' chÉ cho hoàn c£nh thí nghiÇm mÙt server mình hoàn toàn không bi¿t gì vÁ nó; mình chÉ ß bên ngoài, chÍc ngoáy nó à tìm thông tin mà thôi. Trong khi ó, 'whitebox' là mÙt server mình n¯m rõ nó có nhïng gì, nó ho¡t Ùng ra sao và cung c¥p nhïng gì. Nhïng công ty t° v¥n vÁ b£o m­t th°Ýng thí nghiÇm Ù b£o m­t cça hÇ thÑng theo d¡ng 'blackbox' là chính. HÍ không bi¿t gì vÁ hÇ thÑng cça khách hàng c£ nh°ng hÍ v­n dång mÍi ph°¡ng tiÇn à th©m Ënh Ù b£o m­t cça hÇ thÑng này. Sau khi hoàn thành giai o¡n 'blackbox' rÓi hÍ mÛi i ¿n giai o¡n 'whitebox' và mÛi giÛi thiÇu ph°¡ng án phòng thç. 'whitebox' test th°Ýng dùng à thí nghiÇm tính nng và ho¡t Ùng cça hÇ thÑng dña trên mÙt sÑ th°Ûc o nào ó.

Riêng 'prefork' và 'worker' thì th¿ này. úng ra mình ph£i dùng thu­t ngï 'process' và 'thread' thì thích hãp vÛi tinh th§n mình bàn ß ây h¡n. Lý do anh dùng 'prefork' và 'worker' là vì mình ang nói vÁ webserver apache và nhïng thu­t ngï này là nhïng thu­t ngï cça apache. 'prefork' là c¡ ch¿ xí lý request cça apache b±ng cách t¡o process. Process thì th°Ýng n·ng nÁ, tÑn tài nguyên và kém hiÇu xu¥t nh°ng °ãc mÙt iÃm là r¥t bÁn, ít bË sñ cÑ. Trong khi ó, 'worker' là c¡ ch¿ xí lý request cça apache b±ng cách t¡o thread. Thread thì nh¹ nhàng, ít hao tÑn tài nguyên h¡n, hiÇu xu¥t h¡n nh°ng l¡i có nh°ãc iÃm là kém bÁn bÉ, dÅ bË sñ cÑ. Nói trên bình diÇn b£o m­t và ·c biÇt là tính hiÇu xu¥t cing nh°ng tính bÁn bÉ cça mÙt dËch vå, m×i chÍn lña Áu có iÃm °u và khuy¿t. Tuó nhu c§u và hoàn c£nh mà chÍn cho thích hãp."

'cuti' diÅu:

"He he, ëng b¯t bÍn em ph£i hÍc kù vÁ thread và process ó nha anh. Ch¿t tåi em ó :)"

Tôi áp:

"L¡i 'b¯t' ;-). Anh ch³ng bao giÝ 'b¯t' em ph£i làm gì c£. ¿n mÙt lúc nào ó, tñ nhiên em c£m th¥y c§n ph£i hiÃu vÁ 'thread' và 'process' thì tñ nhiên em tìm hiÃu thôi. Lúc ¥y anh có 'b¯t' em không tìm hiÃu cing ch£ °ãc. Nói ùa v­y thôi, n¿u siêng, em nên tìm hiÃu d§n d§n vÁ 'thread' và 'process'. Theo anh, ây là mÙt trong nhïng '¡n vË' nÁn t£ng cça nhïng iÁu em ang làm quen ó."

'docco' c£m thán:

"Không ngÝ të chuyÇn này l¡i d«n ¿n bao nhiêu là chuyÇn khác. úng là 'bà hÍc mênh mông, dåc tÑc b¥t ¡t' th­t không sai tí nào."

Tôi c°Ýi, Ùng viên 'docco':

"Thong th£ thôi em, viÇc gì ph£i 'dåc tÑc' Ã rÓi 'b¥t ¡t'? ëng tham quá mà i ¿n ch× 'bÙi thñc' mà thôi."

'docco' hÏi ti¿p:

"V­y khái niÇm 'active' và 'passive' recconnaissance mà anh Á c­p l§n tr°Ûc liên quan th¿ nào ¿n 3 b°Ûc ß trên v­y anh?"

Tôi ng«m ngh) "chà, các 'b°Ûc' là các b°Ûc còn 'active' hay 'passive' là d¡ng. Làm th¿ nào à cu c­u ëng l«n lÙn ây nhÉ?", th¿ rÓi tôi tr£ lÝi:

"Th¿ này, 'active' hay 'passive' là các d¡ng thm dò, còn 3 b°Ûc ß trên là cå thà các b°Ûc khai triÃn. Em có thà dùng d¡ng 'active' ho·c 'passive' ho·c c£ hai d¡ng này à thñc hiÇn 3 b°Ûc ß trên. ây là mÑi liên quan mà em th¯c m¯c ó."

'cuti' nhanh nh£u:

"V­y... ví då b°Ûc mÙt, khi nào mình dùng 'active', khi nào mình dùng 'passive' anh?"

Tôi hÏi ng°ãc l¡i:

"V­y em còn nhÛ måc ích cça viÇc dùng 'active' và 'passive' Ã thm dò không?"

'cuti' áp:

"D¡ nhÛ chÛ anh. 'ative' chính xác h¡n nh°ng ít kín áo h¡n. 'passive' kín áo h¡n nh°ng ít chính xác h¡n. Nh°ng ý em là trong lúc tìm footprint, khi nào thì thao tác 'passive', khi nào thì dùng 'active' ó mà."

Tôi chÉnh 'cuti' ngay vì không chËu suy ngh) mà chÉ hÏi 'tr¡n':

"Em vëa tr£ lÝi ngay câu hÏi cça em ó thôi. N¿u ã n¯m °ãc 'ative' chính xác h¡n nh°ng ít kín áo h¡n. 'passive' kín áo h¡n nh°ng ít chính xác h¡n thì t¡i sao không dùng nó mà éng dång? Anh ngh) em nên Ùng não h¡n mÙt tí ó H°ng."

'ccxx' xen vào:

"Anh nói úng ó, ông H°ng này có cái t­t dÅ thì âm l°Ýi ó anh. Anh quay Õng nh° 'd¿' thì Õng s½ Ùng não thôi, ëng tr£ lÝi mÍi câu hÏi cça Õng là cách hay nh¥t. Em bi¿t l¯m mà :)."

Tôi c°Ýi, áp:

"êa, em mà không bi¿t cu H°ng 'l¯m' thì còn ai bi¿t nïa em? Thôi... em 'quay nó nh° d¿' dùm anh nha?"

'ccxx' c°Ýi thích chí:

"Hi hi hi, anh hông bi¿t ó thôi, em quay Õng nh° c¡m bïa mà không thì 'dÅ hoá l°Ýi' liÁn thôi."

'docco' có v» bÓn chÓn vÛi nhïng Ñi tho¡i thuÙc d¡ng chit chat, cu c­u xen vào:

"E hèm... h¡i bË... l¡c Á á. Anh già ¡i, cho em hÏi thêm cái này nha? Có bao nhiêu cách à xác Ënh footprint v­y anh? Em Íc sách th¥y có khá nhiÁu công cå, v­y theo anh mình nên dùng cái nào?"

Tôi áp:

"Anh không thà nói rõ có bao nhiêu cách vì anh không bi¿t th­t sñ có bao nhiêu cách. Cái này tùy vào tính linh Ùng và kh£ nng sáng t¡o thôi em. Anh cing không thà tr£ lÝi em là nên dùng công cå nào. ChÉ có chính em tñ tay dùng rÓi chÍn l¥y mÙt ho·c nhiÁu công cå em thích mà thôi. Có nhïng công cå 'gom' luôn các công o¡n xác Ënh hÇ iÁu hành, xác Ënh các dËch vå ang ch¡y (open ports) th­m chí l¥y luôn c£ phiên b£n cça software cung c¥p dËch vå. Tuy nhiên, công cå nào cing có °u khuy¿t iÃm c£. Ví då nmap là mÙt port scanner r¥t Ùc áo, nó có thà thñc hiÇn ba iÁu ß trên cùng mÙt lúc nh°ng n¿u dùng không úng méc thì nó s½ r¥t 'Ón ào' vì nó không nhïng 'active' mà 'extremely active'. Nhïng hÇ thÑng có trang bË IDS, IPS s½ phát hiÇn ngay là có nmap ang dò d«m và ây là iÁu b¥t lãi cho viÇc thm dò."

'docco' phát biÃu:

"À, v­y nmap là công cå thuÙc d¡ng 'active' rÓi. Em ph£i ghi nhÛ chuyÇn này."

Tôi c°Ýi, nói:

"Không h³n là nh° v­y âu em. Anh nói là n¿u dùng không úng méc thì nó s½ r¥t 'Ón ào' c¡ mà. N¿u em dùng nó úng méc, nó không còn 'extremely active' nïa. Nó không ph£i 'passive' nh°ng cing không h³n là 'active' bßi vì em không t¡o ra nhiÁu 'ti¿ng Ón' trong khi rà (n¿u dùng úng méc)."

'cuti' c£m thán:

"Ch¹p... chÉ có chuyÇn 'rà' không mà cing l¯m nguyên t¯c và công phu ¿n th¿. Ch¯c l¡i ph£i hÍc thêm nmap roài."

Tôi áp:

"Em có v» bÓn chÓn vÛi chuyÇn làm quen vÛi nhïng công cå mÛi hay sao v­y H°ng? ng°Ýi ta vi¿t hàng ngàn dòng code, xây dñng hàng trm signature, vi¿t manual sµn. Em chÉ có viÇc Íc và dùng mà còn rên rÉ sao em? KiÃu này b¯t §u nguy rÓi ó."

'cuti' ính chính lia lËa:

"Hông, hông có âu anh. Em théc sáng êm à qu­y còn °ãc mà. Ý em sau m×i l§n nói chuyÇn vÛi anh là có thêm hàng lo¡t thông tin mÛi, c£ Ñng công cå mÛi à thí, à làm quen. Em c£m th¥y có mÙt ph§n séc ép nào ó à uÕi b¯t vÛi thông tin anh °a ra thôi anh."

Tôi c°Ýi:

"Hì hì, v­y em còn muÑn 'hack' không? Anh cing c£m th¥y iÁu ó nên m¥y anh em mình 'à khía' ít th°Ýng xuyên h¡n là th¿. Em không nên ngh) và tñ t¡o séc ép cho mình là ph£i thông th¡o, ph£i n¯m vïng các thông tin mÛi m» ngay l­p téc. Të të, thong th£ thôi em."

'docco' hÏi ti¿p:

"HÓi nãy anh nói ¿n v¥n Á 'Ón', Ón ß ây là nhïng d¥u hiÇu mà hÇ thÑng phát hiÇn ph£i không anh?"

Tôi áp:

"úng rÓi ó em. 'Òn' ß ây chính là nhïng thông tin °ãc ghi nh­n trong các log files cça hÇ thÑng hay các hÇ thÑng phát hiÇn g§n nh° 'real time' nh° IDS/IPS ó. M×i d¡ng thm dò th°Ýng có tính ch¥t ·c thù và nhïng ·c thù ó °ãc ghi nh­n trên các hÇ thÑng phòng thç, còn gÍi là 'signature'. N¿u admin cça hÇ thÑng ¥y b¥t thình lình th¥y có hàng lo¡t cú 'rà' trên hÇ thÑng cça mình thì coi nh° måc ích thm dò và thâm nh­p cça ai ó bË hÏng. N¿u admin không nh­n th¥y nhïng d¥u hiÇu này mà IDS/IPS nh­n th¥y thì tình hình cing ch³ng khác gì m¥y. Không riêng gì nmap mà t¥t c£ các software em dùng, cái nào cing 'Ón' c£ thôi. ChÉ có cái khác là em 'th¥y' hay 'không th¥y' °ãc cái 'Ón' ó thôi :). à rà mÙt máy con cça mÙt ng°Ýi ang duyÇt web thì ch³ng ph£i lo m¥y ¿n cái 'Ón' c£ vì hÍ hi¿m khi 'th¥y' °ãc sñ 'Ón' ó. Tuy nhiên, à rà và thm dò mÙt máy chç, mÙt måc tiêu áng à thâm nh­p hay áng à b£o vÇ thì m×i chi ti¿t 'Ón' Áu là d¥u hiÇu quan trÍng."

'ccxx' th¯c m¯c:

"Ã khÏi bË 'Ón', mình không c§n thm dò kù mà chÉ t¥n công th³ng vào dËch vå web thì sao anh?"

Tôi c°Ýi, áp:

"Thì mình n¯m ph§n th¥t b¡i nhiÁu h¡n là thành công 'công chúa xinh ¹p' ¡."

'ccxx' phång phËu:

"è ë, em hÏi th­t mà anh cé ùa hoài."

Tôi c°Ýi phá lên và ti¿p tåc:

"Á à, anh tr£ lÝi th­t mà em cé ngá anh ùa hoài. Mình t¥n công th³ng vào dËch vå web là t¥n công th¿ nào em? Mình không n¯m °ãc nó m¡nh, y¿u ch× nào thì mình chÉ '¥m á' kiÃu 'bËt m¯t' thôi thì có trúng tr­t vào âu nào? Cái này cing giÑng nh° tr°Ýng hãp 'ping of death' anh nói hÓi nãy thôi em. Nó cing giÑng nh° muÑn åc cánh cía s¯t cça két tiÁn mà cé dùng dùi åc b±ng g× mà phang vào cía s¯t thì chëng nào thçng °ãc cái tç? :)"

'ccxx' gi£ lã:

"Hi hi, anh già vui tính ghê. Ch¯c em hÏi h¡i ngÛ ng©n th­t a. L§n sau em s½ uÑn l°ái 7 l§n tr°Ûc khi hÏi cho ch¯c n."

Tôi áp:

"Không em, em cé nói chuyÇn tho£i mái. Có b¥t cé ý ngh) nào n£y ra trong §u cé phát biÃu. ChuyÇn úng, sai, ngÛ ng©n không quan trÍng mà quan trÍng ß ch× em rút tÉa °ãc nhïng gì tr°Ûc và sau khi °a ra câu hÏi. N¿u em e dè quá thì cuÙc Ñi tho¡i cça m¥y anh em mình s½ 'khô' nh° r¡m thôi."

'ccxx' tr£ lÝi:

"D¡. Em cé th¿ mà phang, anh chu©n bË tinh th§n ó nha."

'docco' xen vào:

"Không bi¿t em nh­n xét nhïng cái này có úng hông, anh xem thí nha. Ví då muÑn khám phá các chi ti¿t thuÙc vÁ domain name cça mÙt host nào ó, mình có thà dùng mÙt công cå online à xem mà không c§n ti¿p xúc trñc ti¿p të máy cça mình ¿n DNS server cça måc tiêu. Cái này gÍi là thm dò ß d¡ng 'passive' ph£i không anh?"

Tôi áp:

"úng l¯m. Nó hoàn toàn 'passive' bßi vì em chÉ 'query' thông tin mÙt domain, mÙt host nào ó trên mÙt DNS database công cÙng. Có thà DNS em ang query s½ liên hÇ vÛi authoritative DNS se\^txÊ

V"Vøt€u‚uÌyR...(†H~€"ÌzžÜ¢¥b¥~¦¶¨Ä¨È¨ÎªÒªêªîª

¬¬"¬P­R­n­r­®®®®^²'²p²t²³³4³8³''"'&'ضڶè¶òçòçÙçÊç¼± ± ±¼±¼±¼±'±'±¼±'±¼±'±¼±'±¼±'±¼±'±¼±'±¼±'±¼±'±¼h³Ih³I6OJQJ] h³Ih³I56OJQJ\] h³Ih³IOJQJh³Ih³I5OJQJ\jh§\*h§\*OJQJUh§\*h§\*6OJQJ] h§\*h§\*OJQJh§\*h§\*5OJQJ\9^vÌ

¦ Њ-n!ì(¸.H3˜3¤7Ø="@CLG"NPrP<S Vê[î[b¦f6hÆnúúúúúúúúúúúúúúúúúúúúúúúúúúúúúgd§\*Êq ýÆnâsØtÚtøt0u‚u„uÎyîyú{0- šFH€‚-˜d¡„¦²¨'¨ÒªÔª

¬ ¬R­T­úúúúõõõõõõõõõõõõõõõõõõõõõõõõgd³Igd§\*T­®®'²b²³³' 'ڶܶ··l·n·è·ê·Z¸\¸â¸ä¸H¿êÄ"ËÌÑüÒxÓÂÔrÜúúúúúúúúúúúúúúúúúúúúúúúúúúúúúgd³Iè¶ì¶ ·· ·$·j·l·'·-·æ·è·ø·ü·X¸Z¸n¸r¸à¸â¸ì¸ð¸F¿H¿J¿@ÇBDŽdžǬǮÇòÉôÉ>Ê@Ê'ÊbÊËËVËXË|Ë~Ë"Ë ÌÌÌ"Ì ÑüÒÓÓvÓxÓÀÔÂÔÚÔÞԾخÙpÜrÜbÝÞ ÞõçõÙõçõÙõçõÙõçõÙõçõÙõçõÊõÊõʹÊõÊõʹÊõÊõʹÊõÙõÙõçõÙõçõçõÙõçõçõçõªhÝA'hÝA'CJOJQJaJ h³Ih³I>*B*OJQJphÿjh³Ih³IOJQJUh³Ih³I5OJQJ\h³Ih³I6OJQJ] h³Ih³IOJQJ@rÜÞ Þ°ß7à8à9à:àúõé×'×MEkdt$$If--ÖÓÿi€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'Ekd$$If--ÖÓÿi€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'gdÝA'gd³I ޮ߲߰ß3à5à7à8à9à:à;à<à•à-à-à6â8â:â<â>â@âBâbâdâfâ0äìÝÊÝÊݻݻ«ÊÝÊ"€"h"ÊÝ»SÝ»B hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿ.jèhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ-hÝA'hÝA'<CJOJQJaJhÝA'hÝA'CJ OJQJaJ %jhÝA'hÝA'CJOJQJUaJhÝA'hÝA'CJOJQJaJ&hÝA'hÝA'5CJOJQJ\^JaJ:à;à@âBâdâfâ2äâæ:èdè÷å å[OOOO

¤d ¤d[$\$gdÝA'Ekdî{$$If--ÖÓÿÀ

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'Ekdz{$$If--ÖÓÿÀ

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA' $a$gdÝA' 0ä2äàæâæ8è:èbèdèë

ëæìèìÞïàïüïþïðZð[ð\ðáñâñãñäñåñæñò ò"ò$ò˜ôšôb÷ñàñàñÌñàñàñàñÌñ¹ñ¹¡Ž¡v¡¹ñgRñgàñà)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ .jb|hÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJhÝA'hÝA'CJOJQJaJ dè

ëèìàïþïæñçñ"ò$òšôd÷|ùóóóóå¤åcóóóAkdFõ$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'AkdÚô$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' $& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

b÷d÷zù|ù@þBþzþ|þLNP

"$ÖØ

ì î npB ñàñàñÌñàñ¹ñ¹¡Ž¡v¡¹ñgRñgàñàñàñàñà)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ .j²õhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJhÝA'hÝA'CJOJQJaJ |ùBþ|þN"óóóᜀ$¤d ¤d$„øÿ„øÿ& #$/„-If[$\$a$gdÝA'Ekdép$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'"$Ø

î pD Z º RJ:º®®®®®®®©®®-$„øÿ„øÿ& #$/„-IfgdÝA'gdÝA'

¤d ¤d[$\$gdÝA'Ekd]q$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'

B D X Z j l | " ˜ ¶ ¸ RHJPRÊÌ468:<üþñÝñɲÝÉ¡²ÝñÉñɉɉq‰Éñ^ñ^F.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJ.hÝA'hÝA'5>*B*CJOJQJ\^Jphÿ/jhÝA'hÝA'5CJOJQJU\^JaJ hÝA'hÝA'CJOJQJ^JaJ,hÝA'hÝA'56CJOJQJ\]^JaJ&hÝA'hÝA'5CJOJQJ\^JaJ&hÝA'hÝA'6CJOJQJ]^JaJhÝA'hÝA'CJOJQJaJ

(*,àâà!â!¤$¦$Â'Ä'v(x(š(œ(++@-B-†/ˆ/Š/'0(0ìÔ¼Ô©š‹vš‹ešešešešešQšešešeš©š©&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.jÑqhÝA'hÝA'B*CJOJQJUaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ-*,ââ!¦$Ä'x(œ(+º¨cWWWWWWW

¤d ¤d[$\$gdÝA'Ekd,è$$If--ÖÓÿÉ€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'Ekd¸ç$$If--ÖÓÿÉ€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'

+B-ˆ/¼1½122z4 8>8Ä:¶>óóå¤åcóóóóóAkd6Z$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'AkdÊY$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' $& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

(0)0·1¸1¹1º1»1¼12 222x4z48 8<8>8Â:Ä:'>¶>

A

AHCJCjClCnCDDD¥EèÕè½èª›Œw›Œf›f›R›f›f›f›f›R›ª›ªèÕ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.j èhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ ¶>

AJClCªE«E"F$F4H-K"OóóóáœáWóóóEkdxÖ$$If--ÖÓÿC€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'EkdÖ$$If--ÖÓÿC€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

¥E¦E§E¨E©EªEF F"F$F2H4H"K-K O"ONRPRÒRÔRäRôR SS0SÒS2U4U:UèÐè½®ŸŠ®Ÿy®y®y®y®e®QeQye®Q®Q&hÝA'hÝA'5CJOJQJ\^JaJ&hÝA'hÝA'6CJOJQJ]^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.j¢ZhÝA'hÝA'B*CJOJQJUaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ"OPRÔR2SÒS4U

WäWæWèWóóóîóóÜ-ÜEkdìÖ$$If--ÖÓÿi€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'gdÝA'

¤d ¤d[$\$gdÝA' :U<U²U'UVV(V*V V¢VWWW

W

WÜWàWäWæWèWêWìWîWZX[X\XêÙêÁê­êÙêÁêÙž‹ž‹ž|ž|l‹ž‹T.jhÝA'hÝA'B*CJOJQJUaJphÿ-hÝA'hÝA'<CJOJQJaJhÝA'hÝA'CJ OJQJaJ %jhÝA'hÝA'CJOJQJUaJhÝA'hÝA'CJOJQJaJ&hÝA'hÝA'5CJOJQJ\^JaJ.hÝA'hÝA'5>*B*CJOJQJ\^Jphÿ hÝA'hÝA'CJOJQJ^JaJ)jhÝA'hÝA'CJOJQJU^JaJèWêWìWñYòY(Zº² [ EkdwR$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA' $a$gdÝA'Ekd'×$$If--ÖÓÿi€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'\XìYíYîYïYðYñYZ&Z(Z*Z\\b\d\º_¼_ÖbØb8d:d<de

eggìÔ¼Ô©š‹vš‹ešQšešešeš©š©ÔìÔ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.jÔ×hÝA'hÝA'B*CJOJQJUaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ(Z*Z\d\¼_Øb:dg-g¼hº®®®®® _ AkdaÊ$$If--ÖÓÿù €

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' $& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'EkdëR$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' ggggghºh¼h¾h k"kBkDklmnmhqjq€t‚t²t't¶t|u~u€uPwQwèн®ŸŠ®Ÿy®e®y®y®y®e®½®½ÐRÐ%hÝA'hÝA'B*CJOJQJaJphÿ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.jhÝA'hÝA'B*CJOJQJUaJphÿ.j_ShÝA'hÝA'B*CJOJQJUaJphÿ¼h¾h"kDknmjq‚t'tUwVw x¾²²²²²² [ Ekds@$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'AkdÍÊ$$If--ÖÓÿù €

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'

QwRwSwTwUwxx x"xh{j{ä}æ}h€j€â€ä€ò€ô€ "(Ķƒ¸ƒ¾ƒÀƒ6„èн®ŸŠ®Ÿy®y®y®e®Qye®F®Q®Q½® hÝA'hÝA'OJQJ&hÝA'hÝA'5CJOJQJ\^JaJ&hÝA'hÝA'6CJOJQJ]^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.jhÝA'hÝA'B*CJOJQJUaJphÿ.j9ËhÝA'hÝA'B*CJOJQJUaJphÿ x"xj{æ}j€ä€"$&(ĸƒv†œ†D‰º®®®®®©©©©®®®-$„øÿ„øÿ& #$/„-IfgdÝA'gdÝA'

¤d ¤d[$\$gdÝA'Ekdç@$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' 6„8„ „¢„¬„®„$...&...ˆ...Š...Œ...'..."...††n†p†r†t†v†š†œ†ž†'‡b‡d‡?‰@‰A‰B‰C‰D‰ìÔìÀì±ìÔì±Àì±ìÔìÀ ±À±ì±ìˆuˆ]ˆì±.j[AhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ hÝA'hÝA'CJOJQJ^JaJhÝA'hÝA'CJOJQJaJ&hÝA'hÝA'5CJOJQJ\^JaJ.hÝA'hÝA'5>*B*CJOJQJ\^Jphÿ%jhÝA'hÝA'CJOJQJUaJ-D‰E‰(Š*ŠŒ$¾'€"t-Š˜Ü›º¨cWWWWWWW

¤d ¤d[$\$gdÝA'Ekdªº$$If--ÖÓÿž€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'Ekd6º$$If--ÖÓÿž€

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'

D‰Š&Š(Š*ŠŽŒŒ"$¼'¾'~"€"x•r-t-ˆ˜Š˜Ú›Ü›üœ-ž˜žd¡f¡:£¤¤D¤F¤ø§ú§ü§g¨h¨i¨ñÜÍñ¼Í¼Í¼Í¼Í¼¥Í¼Í¼Í¼¥Í¼Í¼¥Í'ͼÍ~Í~f.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJ&hÝA'hÝA'5CJOJQJ\^JaJ,hÝA'hÝA'56CJOJQJ\]^JaJ hÝA'hÝA'CJOJQJ^JaJhÝA'hÝA'CJOJQJaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ #Ü›˜žf¡¤F¤ú§ªª2ª4ªà«ð¯óóóóóå¤åcóóAkdè1$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'Akd|1$$If--ÖÓÿä

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' $& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

i¨þ©ÿ©ªªªªª0ª2ª4ªÞ«à«î¯ð¯ð³ò³

'

'2µD¶ª·¬·ìÔ¼Ô©š‹vš‹ešešešQše:eš,hÝA'hÝA'56CJOJQJ\]^JaJ&hÝA'hÝA'5CJOJQJ\^JaJ hÝA'hÝA'CJOJQJ^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ hÝA'hÝA'CJOJQJaJ%jhÝA'hÝA'CJOJQJUaJ.j»hÝA'hÝA'B*CJOJQJUaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿð¯ò³

'¬·º¼¼ ¼"¼Â¾,ÁóóóóáœáWóóEkdð­$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'Ekd|­$$If--ÖÓÿä

6 "øÿ"øÿ"- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'$„øÿ„øÿ& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

¬·ºººiºjºkºû»ü»ý»þ»ÿ»¼¼¼ ¼"¼À¾Â¾*Á,ÁÂ@ÃbÄdÄLÅNÅïàÍà͵¢µŠµÍà{fà{ïàïàïOïàïà,hÝA'hÝA'56CJOJQJ\]^JaJ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ .jT2hÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJhÝA'hÝA'CJOJQJaJ hÝA'hÝA'CJOJQJ^JaJ,ÁdÄNÅtÅJÈËËÌÌÎÆÑ@Òóóóóå¤åcóóóAkdÍ($$If--ÖÓÿB €

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA'Akda($$If--ÖÓÿB €

6 "- ö6ÖÿÖÿÖÿÖÿ"-3Ö4Ö-aöytÝA' $& #$/„-IfgdÝA'

¤d ¤d[$\$gdÝA'

NÅrÅtÅHÈJÈLÈ

É

É ÉËË ËËËËÌ ÌÌÌÎÎÄÑÆÑ>Ò@Ò(Ô*ÔÚÕÜÕìÝÌݹݹ¡Ž¡v¡¹ÝgRÝgÌÝÌÝÌÝÌÝÌÝ)hÝA'hÝA'B*CJOJQJ^JaJphÿhÝA'hÝA'CJ OJQJaJ .jd®hÝA'hÝA'B*CJOJQJUaJphÿ%hÝA'hÝA'B*CJOJQJaJphÿ.jhÝA'hÝA'B*CJOJQJUaJphÿ%jhÝA'hÝA'CJOJQJUaJ hÝA'hÝA'CJOJQJ^JaJhÝA'hÝA'CJOJQJaJ&hÝA'hÝA'5CJOJQJ\^JaJ@Ò*ÔÜÕèÕDÖ~ÖØ2ØÈÙÜ'âàè¶êØêêðx÷pÿú 8:\š¨äóóóóëßßßßßßßßßßßßßÚÕëëßßgdÝA'gdpS

¤d ¤d[$\$gdpS $a$gdpS

¤d ¤d[$\$gdÝA'ÜÕæÕèÕöÕøÕBÖDÖfÖ|Ö~Ö ØØ0Ø2ØÆÙÈÙŽÜÜ'ÜìÝɸìÝ¢ŽkSBB/%jhpShpSCJOJQJUaJ hpShpSCJOJQJ^JaJ/hpShpS5B*

CJOJQJ\^JaJph€&hpShpS6CJOJQJ]^JaJhpShpSCJOJQJaJ&hpShpS5CJOJQJ\^JaJ+hpShpS5B*CJOJQJ\aJphÿ hÝA'hÝA'CJOJQJ^JaJ&hÝA'hÝA'5CJOJQJ\^JaJhÝA'hÝA'CJOJQJaJ&hÝA'hÝA'6CJOJQJ]^JaJ'ܲâ'âÞèàè'ê¶êÖêØêèðêðìðv÷x÷nÿpÿø ú 8:Z\‚˜š¦¨âäæ(*<>

ïàïàïàÈàïàµïàïàïà¡à•Štàt'àÈàïàµïàÈàïà&hpShpS5CJOJQJ\^JaJ+hpShpS5B*CJOJQJ\aJphÿ hÝA'hÝA'OJQJhpShpS5OJQJ&hpShpS6CJOJQJ]^JaJ%jhpShpSCJOJQJUaJ/hpShpS5B*

CJOJQJ\^JaJph€hpShpSCJOJQJaJ hpShpSCJOJQJ^JaJ%ä*> â ô(T+¼/¸2ð5<F?d?(÷B÷÷'÷,Ë.Ë|Ë~Ë°zóóóóóóóóóäóóßßßßßßÚßßßgd³IgdpS $¤d ¤d[$\$a$gdpS

¤d ¤d[$\$gdpS à⎠ò(ô(R+T+º/¼/¶2¸2º2X5Z5\5^5'5î5ð5 <<D?F?d?¢?¨?Ø?ì?ÔMèMhQ„RSJSèU'VÚVïàïàïàïàïàïàÍàͺÍà£àïàïà-‰zo‰o‰oaoaoaohpShpS6OJQJ] hpShpSOJQJhpShpSB* OJQJphÿ¥hpShpS5OJQJ\hpShpS5OJQJ,hpShpS56CJOJQJ\]^JaJ%j9)hpShpSCJOJQJUaJ%jhpShpSCJOJQJUaJhpShpSCJOJQJaJ hpShpSCJOJQJ^JaJ&ÚV^WˆWZX.Z¬Zv\ô^*_¼_Ü_a^aâabnbLcd¶dee4eeìjkRk-kVl¨n

pDpšqrôuvÔxîx¬y¾yLzRzrz¦zh|Î}¦~Ø~†Àb€ô€Œb‚ƒDƒºƒÜƒL„-„¨„¸„....b...d...v...Š...š...º...È...ì...†‚†'†j‡z‡Œ‡òçòçòçòçòçòçòçòçòçòçÙçòçòçòçòçòÈòçòçòÈòçÙçòçòçòçòçòçòçòçòçòÈòçòÈòÈòÈòÈòÈòÈò hpShpS56OJQJ\]hpShpS5OJQJ\ hpShpSOJQJhpShpS6OJQJ]KŒ‡‚‰Š‹ì‹Œx~p è*'D''"æ"

•,•¼-¾-Ì-Ð-üžÐžÚž" ž ¨¢²¢:¤Ì¤

¦0¦P¨X¨Šª¢ªD«n«¦¬Ê­R¯z¯Ô±Þ±V³€³Ø³¸'Ð' µ¸B¸¹ºÀÂÃvÄÔÄ>ÆdƘƼÆÐÊðÊÌ°Ì

Í&ÍhÍàÍíßÔßÔßÃßÃßÔßÔßÔßÔßÔµÔßÃßÃßÃßÃßÔßÔßÃßÃßÔßÔßÔßÃßÔßÃßÃßÔßÔßÔßÔßÃßÃßÔßÃßÃßÔhpShpS5OJQJ\ hpShpS56OJQJ\] hpShpSOJQJhpShpS6OJQJ]#hpShpS6B* OJQJ]phÿ¥Gà͊ЬÐøÑ*Ò¨ÓVÔNØvØ

Ý4Ýà.àÜà^ášáâtâ°âÎãàãåZå°åØåèåúåéHéÀéäéPìŽì¤í¾í>ñ(÷B÷÷¨÷ºýÔþàÿh(¸j¦X| Ž n

8

zÀ è °œòáòÖòÖòáòÖòáòÖÈÖòáòáòáòáò¹òÖòÖòÖòÖòÖ­›ÈÖòÖòÖòÖòÖòáòÖòÖòÖòÖòáò#hpShpS5B*

OJQJ\ph€hpShpS5OJQJhpShpS6>*OJQJ]hpShpS5OJQJ\ hpShpSOJQJ hpShpS56OJQJ\]hpShpS6OJQJ]=œ¬à @àðL\'„'Èd¨

L*-V"~"$,$ü'&(˜*+Ð,ü,Š-¸-¬.Ø.'/h0¸1Æ1ê1ú1V2'2È4Ø4Z5Æ5ò6R7';Ü<^F-FH H8HrH'H'HÌH4I

KRKïáÖáÖáïáïáÖáÖáÖáÖáÖáÖáÖáÖáÖáÖáÖáÖáÖáÖáïáïáÖáÇáïáÖáÖáÖáµ µáÖáÖáÖ)hpShpS56B* OJQJ\]phÿ¥#hpShpS6B* OJQJ]phÿ¥hpShpS6>*OJQJ] hpShpSOJQJhpShpS6OJQJ] hpShpS56OJQJ\]?RKŠK'K NÄNF]

^ø^,_v'Ô'DajabŒc'giÂi\krÚrÔtît

{¶{öƒLƒˆˆ®ˆDŠ^ŠPþŽ*Úv'ö'R•˜•¤-Ú-¤šÎšÂ›æ›>̟蟲¡ê¡†£ £²¦ä¦¶©ª®.®-® ®8°d°ˆµŽµ(½º½¼À Á¦ÃÀÜĬÄxʸÊìÊËòçòçòÖòçòçòçòçòçòçòçòçòÖòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòÖòçòÖòÖòçòçòÖòçòç hpShpS56OJQJ\] hpShpSOJQJhpShpS6OJQJ]PË*Ë,Ë.Ë~Ë-Ë ÏÐ:ÐÜЊÔ.Õ'ÕXÖ~ÖØÖ¢×€ØúØRÙxÙœÚÄÚÞÛÜR܀ܺݪß"ánáêä.åJåtårèé"éPéÂëàìNí€íôñÚóõ¶õä÷þ÷æú

ûóèÝǵ¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"¦"(hpShpS56CJOJQJ\]aJ"hpShpS6CJOJQJ]aJhpShpSCJOJQJaJ"hpShpS5CJOJQJ\aJ+hpShpS5B*

CJ(OJQJ\aJ(ph€ h³Ih³IOJQJ hpShpSOJQJhpShpS5OJQJ2

û"üHüúþ(ÿh-6¤ Ð

ºä¢Ææ"\vø^‚Ž¼Ò- -2-¦ ª º â ò ö Ü!ö!##p$¢$r%Ò'p(â(

+&+¨+¬+^.ˆ."1¾1f7Ž7¤8¨889R9'@Œ@ö@"AÎABnCˆCòC*DfDŒDFPFrGŽGžIÄI¼JKîßîßîßîßîßîßîßîßîßîßîßîßîßîßîÊîÊîßîÊîßîÊîßîßîßîßîÊîßîßîßîÊîßîßîßîßîßîÊîßîÊîßîßîß(hpShpS56CJOJQJ\]aJhpShpSCJOJQJaJ"hpShpS6CJOJQJ]aJPKL"LÈLlM'MêMdO~OJWtWzYžYžgDh€iˆikTkœk¶kòk

l>lZl'm†m(pJpNr†rtDt z¤z®z°z®{²{|P|ê}~¢ØF€®€:ƒœƒîÙîÀî±î±î±î±î±îžî±îÙîÙîÙî±î±î±î±î±Œ±{±î±î±î±î±î± hpShpSCJ OJQJ^JaJ "hpShpS5CJOJQJ\aJ%hpShpS6>*CJOJQJ]aJhpShpSCJOJQJaJ1hpShpS56B* CJOJQJ\]aJphÿ¥(hpShpS56CJOJQJ\]aJ"hpShpS6CJOJQJ]aJ0°zª{®{ø‡ˆ ˆfˆhˆ^'°'²'lnp|"Ž"Ì"

•P•-•ààÛÛÖÖÖÖÖÖÖÖÖÖÖÖ·····-

Æ2"( ¼

P äx

4 È#\'ð*„.2¬5@9gd"Wœgd"WœgdpS-

Æ2"( ¼

P äx

4 È#\'ð*„.2¬5@9gdpSœƒÆ„

...Ú...

†X‡x‡Æ‡ø‡ˆˆ ˆdˆfˆhˆ‚ˆ†ˆH.'²" "

••@¢‚£îßîÊîßîߺ® ‹xl aSBSaSa aS h"Wœh"Wœ56OJQJ\]h"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJh"Wœh"WœOJQJ\%h"Wœh"WœB*

CJ$OJQJaJ$ph€(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"Wœ5OJQJ\hpShpS5OJQJ-hpShpS5CJOJQJaJ(hpShpS56CJOJQJ\]aJhpShpSCJOJQJaJ"hpShpS6CJOJQJ]aJ‚£*¨0¨^¨l¨ ªjª@®N®ö®ü®€¯'¯Ì²X³š¿æ¿nà ÃìÃðÃôÃþÃÄ

ÄÄÄÄ(ÄàÇÈtÈ.ÉÔÍØÐdÑ(Ò¬ÓÄÓ~Ô¦ÔŠÕ¦ÕlÖŠÖR×â×&ÙJÙòÛÜÝ,ÝvݢݼÝÞlÞHß^à'àÈàÊàááHá€á¶áÆádçˆçöèéLé‚éõçõçõÙõçõçõçõÙõçõçõçõçõçõçõçõçõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙõÙÈÙõÙõÙõÙõ¼õÙh"Wœh"Wœ>*OJQJ h"Wœh"Wœ56OJQJ\]h"Wœh"Wœ6OJQJ]h"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJJ‚é'ë¸ëÌïVðÀöÌöŒ÷÷"÷ž÷¢÷¬÷°÷º÷Â÷Ì÷Ú÷Þ÷jøtøàøêøîøøøù

ù ú†úˆþPÿÚàl ~

2 - š ž ¨ ° º ò

¾

æ

à

ä

( Ø þ àj æ ˆ¢ÂÆÊÔXb€8-T-¬ æ l"|"æ$%r'õçõçõÛõÍõÍõÍõÍõÍõÍõÍõÍõÍõÍõçõçõÍõÍõçõÍõÍõÍõçõçõÍõÍõçõçõçõÍõÍõÍõ¾õçõçõçõçõçõh"Wœh"WœB* OJQJphÿ¥h"Wœh"Wœ5OJQJ\h"Wœh"Wœ>*OJQJh"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJKr'Ú'',-,B.L.ê0ò0(1012$2Þ<=Ô=ä=¼BüBœDÊDVE"FNHŒHÌJZKÎK L¸OÀODQnQR RT>TòTU„XšXhY€YØ]ü]ˆ^˜^ª_Ò_^'°'²'â'æ'Tc°cfhi¾i0jäthwþx{Œ{@~Ž~òçÙçÙçÙçÙçÙçòçòçÙçòçòçòçòçÙçÙçòçòçòçòçòçòçòçòçòçĸÙçò§òçòçòçòçòçòç h"Wœh"Wœ56OJQJ\]h"Wœh"WœOJQJ\(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]BŽ~²~n€¬€bƒ„°...Ê...Z‡|‡úˆ ‰öŠ‹Œ.Œ>lx' '"$"""¶"$-L-º˜Ê˜Œ™°™†š®šŒœÀœ¡¡L¢h¢¼¢Æ¢ú¢H£‚£Ú£æ¤ö¤þ¤¥0¥P¥¦.¦6¦H¦Ž¦ž¦§

§*§0§ò§¨¬¨º¨Žªèª"¬¶¬Ž¯È¯°v°(±f±n²†²î² ³N¸ž¸(¹ˆ¹¾.¾\¾˜¾ôÂòçÙçòçòçòçòçòçòçòçòçòçòçòçòçÙçòçòçòçòçÙçòçòçÙçÙçòçÙçÙçòçÙçÙçÙçÙçòçòçòçòçòçòçòçòçòçòçòçh"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]VôÂ0ÃÆNÆBǤÇÉÉäË Ì"͸ÍTÑxѢѾÑøÒ"Ó Ö8ÖÖ×ö×ÚhÛݘÝêÝÞBÞJÞnÞ¤ÞÐÞÖÞüÞ(ߜ߬ß$å6åäåŒæôæ çvç®ç'èlè é&éTéZé¶éê^ê4íÔí8îDîªîÀîæî ïÌïŠò<óró*õn÷˜÷2øtøJùšùìú¼ûŽü²üèý

þÊþÚþòçòçòçÙçòçòçòçòçòçòçòçòçÙçòçòçòçòçòçòçÍçòçòçòçòçÙçÙçÙçòçÙçÙçòçòçÙçÙçòçòçòçòçÙçòçòh"Wœh"Wœ>*OJQJh"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]QÚþ0PªÒ4ÄÞ'ÐjlÄÈ 2\ ZtzŠœ &ì-¦%¸%¬&'')Ì)Ð)ê)î) **'*8-õçõçõçõçõçõÛÆ°ž}}}žmžžžžžžžž-h"Wœh"Wœ>*CJOJQJaJ"h"Wœh"Wœ6CJOJQJ]aJh"Wœh"WœCJOJQJaJ"h"Wœh"Wœ5CJOJQJ\aJ+h"Wœh"Wœ5B*

CJ$OJQJ\aJ$ph€(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"Wœ5OJQJh"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJ*8-J-L/Š/À/'0"1¸1N2r2r7¾8š>È>ÒAìA8MPO*SÀSlT°V(WºWšXöX„ZÀZú\b^È_ð_†'¸'ÆaÖaÞbðbœc'c²dÖdXezeæef¸fâf*g:gšhêhülmn<nönop-p®qÊq's¸s°tØtFv-vÀzØzn|Š|$îßÊßÊßîßî߸߸ßî߸߸߸߸߸߸߸߸߸߸ßîßî߸߸߸߸߸߸߸߸߸߸߸߸߸ßî߸߸ß"h"Wœh"Wœ6CJOJQJ]aJ(h"Wœh"Wœ56CJOJQJ\]aJh"Wœh"WœCJOJQJaJ"h"Wœh"Wœ5CJOJQJ\aJH$‚ð€l€º€x‚€‚âƒðƒª†¸†Þ†â†ø† ‡‚‰ž‰DŠ

‹ÊŒöŒNB'""p"z"|"k-¼žäž~¡"¡à¡þ¡Ž¢-¢F£\£æ£p¤è¤þ¤¥2¥R¥Z¥v¥'¥8«Â«ð«¬4¬F¬8­N­à­ð­V®d®¾¯È¯Ê¯P°Q°îßîßîßÍßÍßÍßÍßÍßîßîßîßîßÍßÍß¼ßÍßÍßÍßÍßÍßîßÍßÍßÍßîßîßÍßÍßÍßîßÍßÍß¼§)jh"Wœh"WœCJ OJQJU^JaJ h"Wœh"WœCJ OJQJ^JaJ "h"Wœh"Wœ5CJOJQJ\aJh"Wœh"WœCJOJQJaJ"h"Wœh"Wœ6CJOJQJ]aJB-•¼•â•-$-5-O-_-r---¥-'-Î-ë---8-i-k-ʯ8°:°Â°-±K±àààààààààààààààààààÛàààààgd"Wœ-

Æ2"( ¼

P äx

4 È#\'ð*„.2¬5@9gd"WœQ°ˆ°‰°¦°§°d³ô³þ³'o'p'§'¨'Å'Æ'¸4¸>¸@¸®¹X½t½èÈÉhɚɊËøË Ì¶Ì¾ÌîÌrÍ¢ÍöÑ&Ò'ÓÓHÙhÙ^Û~Û<Ý^ÝVÞšÞžà²àÞàðàLâTâvåˆååžåÚèöèïÚÅÚﶤ¶ïÚïÚÅÚﶤ¶ï¶¤¶'¶'¶'¶¤¶¤¶¤¶¤¶¤¶'¶'¶'¶'¶¤¶¤¶¤¶¤¶¤¶'"h"Wœh"Wœ6CJOJQJ]aJ"h"Wœh"Wœ5CJOJQJ\aJh"Wœh"WœCJOJQJaJ(h"Wœh"Wœ>*B*CJ OJQJ^Jphÿ)jh"Wœh"WœCJ OJQJU^JaJ h"Wœh"WœCJ OJQJ^JaJ 9K±±Ê±²D²h²ì²'³d³'W'Y'á'>µmµ£µ¶<¶...¶Ä¶å¶··\·-·˜·ààààààààÛààààààààààààààààgd"Wœ-

Æ2"( ¼

P äx

4 È#\'ð*„.2¬5@9gd"Wœ˜·@¸Ž¸Ø¸F¹|¹ª¹®¹(ÿBÿ"ÿ-ÿô< = = ²ð Ìð ñ ñ äüþüýRýTýàÍ

úÍ

úÛÛÛÛÛÛúúúúúÛÛúúúúúúúúúúú-

Æ2"( ¼

P äx

4 È#\'ð*„.2¬5@9gd"Wœgd"Wœöè°éØéÂíæíï$ï€ñšñÂøâødútúü0üýý(ÿ@ÿBÿ'ÿ"ÿîÿòÿâ X æ ˆ Ž æ T ~ f v 2 T v ' ä ü h € X € 8- '! Î! '# Ò# .% Z% ñßñßñßñßñßñßñßñßñÏñßñßñßñßñßñßñßñßñßñßñßñ†ñßñßñß"h"Wœh"Wœ5CJOJQJ\aJ+h"Wœh"Wœ5B*

CJ$OJQJ\aJ$ph€(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"Wœ5OJQJ-h"Wœh"Wœ5CJOJQJaJ"h"Wœh"Wœ6CJOJQJ]aJh"Wœh"WœCJOJQJaJ4Z% |3 ¶3 ¦5 Â5 p9 9 Ô9 Ú9 : >: 2; b; '; Ê; Ò; ê; è< ò< ô< = j= z= F? H? žA ¢A ¬A ®A ¼A ¾A ÆA ÈA ÐA ÒA ŠC ªC (D 8D pD D êE úE 'F pF >G @G ¼G ¾G îH I 'I bI |I ~I vJ †J zK ÀK M <M tM žM BN ^N þO P 6P DP œP ñßñßñÍñÍñÍñÍñÍñÍñÍñ¼ñÍñÍñÍñÍñÍñÍñÍñÍñÍñßñÍñßñÍñÍñßñÍñÍñÍñßñßñßñÍñÍñÍñ h"Wœh"WœCJ OJQJ^JaJ "h"Wœh"Wœ5CJOJQJ\aJ"h"Wœh"Wœ6CJOJQJ]aJh"Wœh"WœCJOJQJaJEœP ¬P T 8T ÂU àU vW -W 6b jb îd

e „o Òo jq zq s $s ¦s Æs Âu âu äv îv öv w lx Žx by -y Äz Êz :€ V€ ( H L‚ \‚ „ $„ â‹ "Œ -Ž ÊŽ ¨" È" Ö• æ• @ b ž Fž Ÿ @Ÿ Ü (¡ ¢ œ¢ Ü¢ þ¢ x£ š£ ®ª ̪ T« « º« Ü« ˆ¬ ˜¬ ìµ ¶

· &· ~¹ ïàÎàÎàÎàÎàÎàÎàÎà¼à¼à¼à¼à¼àÎàÎà¼à¼àÎàÎà¼àÎàÎàÎàÎàÎàÎàÎàÎà¼àÎàÎàÎàÎàÎàÎàÎàÎà"h"Wœh"Wœ5CJOJQJ\aJ"h"Wœh"Wœ6CJOJQJ]aJh"Wœh"WœCJOJQJaJ-h"Wœh"Wœ>*CJOJQJaJJ~¹ ¹ >¼ î¼ BÃ Ä ØÆ @Ç Ï &Ï ÐÏ àÏ „Ö ¦Ö Ì× ð× BØ |Ø 4Ú PÚ ,Þ JÞ öà á 0á Rá Ðã êã @æ fæ ºè Üè òè <é Öé þé ì í Úï ð ²ð Êð Ìð ñ ñ Xñ \ñ îßîßîßîßîßîßîßîßîßîßîßîßîßîßîßîßîßîßîßîßÏ h"Wœh"WœOJQJh"Wœh"Wœ5OJQJ\+h"Wœh"Wœ5B*

CJ$OJQJ\aJ$ph€(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"Wœ5OJQJ-h"Wœh"Wœ5CJOJQJaJh"Wœh"WœCJOJQJaJ"h"Wœh"Wœ6CJOJQJ]aJ.\ñ fô õ võ *ö l÷ ü÷ 2ø

ù ù Tú xú Tû vû ºý Ôý -

ð

&Râ ò F'j"

†> d p#ž#ò%&è&ð&†*¶*Œ-¤-"/R/60X0ú0 1€1š1Ò1Ì2H3º34445¦5(7@7€8¼8F:Š:;B;p<0=ü= >êA

B*EhEàEúEpJŠJf_"_ì_¬'Ì'Ü'ôa2bddòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçÙçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçh"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]Vdd~dŠe'e|fŒf@kfkm m&oXoæop€p¨p$qNq r°rXuzuv*v~xªxry-y

{{f}†}ø~0òøôƒ„'†|†hŒP'¬à‚'†'Ö›ø› °Æ è n¡˜¡¤ ¤L¥Z¥ ¦&¦î¦þ¦Ž§®§Dªxª¬ªþªª¬È¬®(®p®"®Î²î²Ê³"'ô' µòçÙçÙçòçòçòçòçòçòçòçòçòçòçòçòçòçòçÍçòçòçòçòçòçÙçòçòçòçòçòçÙçòçòçòçòçÙçòçòçòçòçòçòh"Wœh"Wœ>*OJQJh"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]Q µÒµþµú¶2·â·

¸P¹(º¢¼²¼¿>¿Ö¿ð¿<ÁNÁ¼ÁÎÁXÃxÃzÄŠÄ.ÆPÆöÆ Ç8ÎrÎÎÏêϲÒÖÒzÔŠÔvÕ|ÕbÖ‚Ö××F×N×f×t×rÚ'ÚbÜrÜLáTázæ-æÆèôèÞêúêBðfðÆðÖð†ò¦òRó„ó¢õÆõXö|ö®÷¾÷ù6ùhù†ùú4úÖúæúVü²üäüõçõçõçõçõçõçõçõÙõÙõçõçõçõçõçõçõçõçõÙõçõçõÙõÙõçõçõÙõçõçõçõçõçõçõçõçõçõçõçõçõçõçõçõh"Wœh"Wœ5OJQJ\h"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJQäüþüýPýRý"ý˜ý- þ J $ 8 p * F d † ü

Ö

ô

Š

š

2

, t ' 8 R Ä æ ® ¾ h ˆ ¾ Ö ¶ â °  ¦ Ä Ä j ˜ ¨ ú ¬- ¼- X ˜ " º" $ óçÒ¼®£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£•£h"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJh"Wœh"Wœ5OJQJ\+h"Wœh"Wœ5B*

CJ$OJQJ\aJ$ph€(h"Wœh"Wœ5B*

CJ$OJQJaJ$ph€h"Wœh"WœOJQJ\h"Wœh"Wœ5OJQJ: $ 2$

% X% "% ¤% 0& N& B' 2( „) ) ¾* Þ* \+ †+ Ø, þ, . 4. x/ ˆ/ d0 „0 &1 <1 €1 3 3 7 '8 Î8 ž9 Ì9 h: ¸: Þ; î; ‚< ¢< B= R= "> À> ¬? È? ~@ ò@ *A PA ŒB œB ªD ÎD tF "F G "G xG "G >J VJ ÆM îM ðN O >P xP Q 8Q R zR èR S ðS ŒU tV -V Y 0Y Z òçòçòçòçòçòçòçòçòçòçòçòçòçòÖòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòçòç h"Wœh"Wœ56OJQJ\] h"Wœh"WœOJQJh"Wœh"Wœ6OJQJ]PZ žZ æ^ _ Ò_ ' L' f' Na ^a †g ¤g ºj êj 'l ¼l Ôo òo Hp Xp òr s rt ‚t Üz { °| È| v' ú'

• • D› d› F b ˆ ¶ B¡ R¡ Þ¤ 2¥ ž¦ 𦠪 ª ج

­ ¼® Ø® "° Æ° t± „± Œº šº ¼

¼ l¾ „¾ <¿ L¿ ÒÀ îÀ :Á DÁ ' ‚ à Èà ¬Ä ÎÄ ÌÅ Æ Æ ^Æ fÆ îÆ BÇ JÇ òçÙçÙçÙçÙçÙçÙçòçÙçÙçÙçÙçÙçÙçÙçÙçÙçÙçÙçÙçòçòçÙçÙçÙçÙçÙçòçòçÙçÙçòçòçÙçÙçÙçÙÈÙÈÙçò h"Wœh"Wœ56OJQJ\]h"Wœh"Wœ6OJQJ] h"Wœh"WœOJQJh"Wœh"Wœ5OJQJ\OJÇ žÇ ¦Ç ÞÇ æÇ 'È hÈ ÐÈ ôÈ ¨É ÌÉ tÊ ŠÊ :Ì ¸Ì 6Í æÍ -Î 'Î .Ð JÐ Ñ JÑ Ò 'Ò DÔ TÔ žÔ ¦Ô TØ \Ø ¾Ú âÚ †Û ¢Û øÛ RÜ êÝ

Þ ôÞ ß îà "á 4ã Fã Zå |å Læ \æ >í Fí òí î Úî öî ˜ï ¼ï ð Lð ¾ó Úó Ôô äô 4÷ R÷ Ì÷ ì÷ vú †ú ü -

š

®š

Æš

"›

p›

'›

¾Ÿ

Ö¦

ø¦

¼§

̧

¨

õçõçõçõÙõÙõÙõÙõçõÙõÙõÙõÙõÙõçõçõÙõÙõçõÙõÙõÙõÙõÙõÙõçõÙõÙõÙõÙõÙõÙõÙõÙõÙõ×õÙõÙõçõçõçõÙõÙõUh"Wœh"Wœ6OJQJ]h"Wœh"Wœ5OJQJ\ h"Wœh"WœOJQJUrver cça måc tiêu em ang thm dò à l¥y thông tin, cing có thà là không vì nó dùng thông tin có sµn trong cache không chëng. Dù gì i chng nïa, ây v«n là d¡ng 'passive' bßi vì admin cing nh° hÇ thÑng IDS cça måc tiêu em muÑn thm dò Áu không có cách gì bi¿t °ãc em ang thm dò. Nhïng thông tin này th°Ýng ß d¡ng tÕng quát và dành cho công cÙng. Nó cing có ích à xác Ënh mÙt sÑ iÁu. Tuy nhiên, à thm dò DNS và hình thành c¥u trúc m¡ng cça måc tiêu, ôi khi em ph£i chuyÃn sang d¡ng thm dò 'active'."

'docco' hÏi ti¿p:

"Anh ví då mÙt kiÃu thm dò DNS ß d¡ng 'active' °ãc không anh?"

Tôi tr£ lÝi:

"°ãc chÛ em. Thông th°Ýng, em dùng nslookup trên windows ch³ng h¡n, thì th¿ này:

C:>\> nslookup <server.domain.com>

Cách này query dùng default DNS server chính là DNS server nào em khai báo trên máy dùng à phân gi£i tên miÁn. DNS server này có thà là DNS riêng do em t¡o ra ho·c DNS server do ISP cung c¥p. Þ d¡ng ó, nhïng iÁu °ãc query cing chÉ là nhïng thông tin dành cho công cÙng mà thôi (cái này còn tùy thuÙc vào sñ ch·t ch½ cça ng°Ýi thi¿t k¿ DNS, có nhïng DNS chéa c£ thông tin dàng cho công cÙng l«n thông tin dành riêng cho nÙi m¡ng và ây là iÁu nên tránh). Tuy nhiên, n¿u em 'chËu khó' h¡n mÙt tí, thí nh° sau:

C:\> nslookup

> set type=ns

> domain.com

Server: [172.16.114.163]

Address: 172.16.114.163

domain.com nameserver = ns1.domain.com

domain.com nameserver = ns2.domain.com

ns1.domain.com internet address = 172.16.114.163

ns2.domain.com internet address = 172.17.124.174

> server ns1.domain.com

> ls -d domain.com

[[172.16.114.163]]

domain.com. SOA ns1.domain.com hostmaster.domain.com. (1098357511 16384 2048 1048576 2560)

domain.com. NS ns1.domain.com

domain.com. NS ns2.domain.com

domain.com. MX 0 mail.domain.com

www A 172.16.114.160

white A 172.16.114.161

mail A 172.16.114.162

ns1 A 172.16.114.163

ns2 A 172.17.124.174

domain.com. A 172.16.114.160

blue A 172.16.114.163

red A 172.17.124.174

domain.com. TXT "v=spf1 a mx ptr -all"

mail TXT "v=spf1 a -all"

domain.com. SOA ns1.domain.com hostmaster.domain.com. (1098357511 16384 2048 1048576 2560)

Có gì ·c biÇt ß ây v­y em?"

'docco' ng§n ngë:

"Ùm... à.... hình nh° anh cÑ tình dùng chính DNS cça chính måc tiêu à query ph£i không anh?"

Tôi áp:

"Bravo! úng nh° th¿, nó n±m ß ây:

> server ns1.domain.com

> ls -d domain.com

.

Em bi¿t lý do t¡i sao không? Ngày nay, h§u h¿t các authoritative DNS Áu không cho 'zone transfer' mÙt cách rÙng rãi nïa vì quá nguy h¡i. Tuy nhiên, v«n có các DNS server cho phép nhïng DNS server °ãc 'tin c­y' thñc hiÇn 'zone transfer'. Bßi th¿, mình mÛi 'láu cá' b±ng cách m°ãn tay DNS server °ãc 'tin c­y' Ã query thông tin cho mình :). Nên nhÛ là có nhïng DNS server (primary và secondary) hiÇn nay không còn cho phép thñc hiÇn b°Ûc ß trên nïa vì hÍ không cho 'zone transfer' ngay c£ giïa primary và secondary."

'cuti' th¯c m¯c:

"Query DNS có gì mà quan trÍng ¿n th¿ hß anh? Nãy giÝ em ráng theo dõi nh°ng b¯t §u bË ù ù c¡c c¡c rÓi ó. Có nhiÁu thông tin hoàn toàn mÛi m» Ñi vÛi em cho nên tóm gÍn l¡i, em không rõ t¡i sao ph£i thu th­p nhïng thông tin này và à có thà thu th­p thông tin thì ph£i n¯m bao nhiêu là ki¿n théc :("

'ccxx' xen vào:

"Trong khi anh nói, em cing thí và th¥y qu£ th­t mình có thà thâu th­p khá nhiÁu thông tin qua DNS. Có khi query °ãc, có khi không. Hình nh° mình có thà xác Ënh mÙt cách tÕng quát có bao nhiêu servers trong mô hình m¡ng mình muÑn thm dò. Em ch°a rõ b°Ûc k¿ ti¿p th¿ nào nh°ng em hình dung mình s½ làm gì ó vÛi nhïng thông tin thu th­p °ãc. Có thà dùng à phác th£o mÙt mô hình m¡ng chng?"

Tôi c°Ýi, áp:

"Công chúa nh­n xét úng l¯m. T¥t nhiên là mÍi thông tin Áu c§n thi¿t c£, n¿u không mình m¥t thÝi gian vÛi chúng làm gì? à hình thành mô hình m¡ng cça måc tiêu mình muÑn thm dò, viÇc thm dò DNS chÉ cung c¥p mÙt ph§n thông tin mà thôi. Em c§n ph£i k¿t hãp vÛi mÙt sÑ thông tin khác nïa. Cái này mình s½ bàn sau. Anh l¥y ví då ¡n gi£n th¿ này nha. Gi£ sí em muÑn t¥n công mÙt host X nh°ng host này 'thç' ch·t quá. Thông th°Ýng thì em bó tay và bÏ cuÙc. Tuy nhiên, n¿u em thm dò rÙng ra (b±ng cách hình thành mô hình m¡ng) thì th¥y r±ng host X n±m trong mÙt nhóm host khác và mÙt vài host ¥y có thà thâm nh­p °ãc. N¿u thâm nh­p °ãc mÙt trong các host này thì c¡ hÙi 'nh£y' sang host X thành công cao h¡n.

Cho dù em không thà thâm nh­p b¥t cé host nào i chng nïa nh°ng qua thông tin dò xét và thu th­p °ãc trong quá trình recconnaissance, em có thà i ¿n k¿t lu­n là nên ti¿p tåc hay nên bÏ cuÙc (à á tÑn thÝi gian). N¿u th¥y mô hình m¡ng ch·t ch½ quá, th¥y có firewall vïng vàng, cách tÑt nh¥t là bÏ cuÙc à á m¥t thÝi gian. Th­t ra, n¿u ã thông th¡o thì viÇc dò tìm thông tin xuyên qua DNS không m¥t quá nhiÁu thÝi gian âu. ây chÉ là mÙt b°Ûc r¥t nhÏ trong quá trình thm dò. V¥n Á mình bàn ß ây là à nh¥n m¡nh mÙt iÁu quan trÍng: tìm thông tin có r¥t nhiÁu cách, cách nào nhanh nh¥t, có thông tin cå thà nh¥t thì ó là cách thích hãp nh¥t."

'docco' c£m thán:

"Không ngÝ bên trong recconnaissance ã có nhïng iÁu lý thú ¿n nh° th¿. Em Ënh hÏi thêm anh mÙt sÑ chi ti¿t vÁ k¿t qu£ l¥y °ãc ß trên nh°ng chãt nhÛ ask me why, don't ask me what nên em ã ghi chú mÙt lo¡t thông tin mà em c§n ph£i tìm hiÃu chi ti¿t sau. Cing nh° H°ng, em b¯t §u th¥y lùng bùng rÓi ó anh. Nh° anh nói, v­y là recconnaissance cing s½ dính vÛi chuyÇn dò d«m c£ firewall luôn sao anh? và Ñi vÛi ng°Ýi phòng thç thì nên làm th¿ nào? VÁ viÇc anh Á c­p tÛi host X ß trên, hình nh° anh muÑn nói ¿n khía c¡nh kiÇn toàn b£o m­t?"

Tôi tr£ lÝi:

"ChuyÇn dò d«m firewall là chuyÇn không thà thi¿u n¿u nh° firewall n±m trên °Ýng thâm nh­p rÓi ó em. Thong th£ rÓi mình s½ bàn các chi ti¿t này sau, không thì em càng lùng bùng nïa. ChuyÇn phòng thç thì mình cing s½ bàn sau khi em ã 'thông' nhïng chi ti¿t mình vëa 'à khía'. Nên nhÛ r±ng, 'thç' ß ây là thñc sñ phòng thç chÛ không ph£i là nhïng kù thu­t nho nhÏ dùng à d¥u footprint không thôi nha. Mình s½ ào sâu të të nhïng chuyÇn này (n¿u bÍn em còn héng thú ;-) )."

'cuti' lên ti¿ng ngay l­p téc:

"Làm sao mà không còn héng thú °ãc anh? Nhïng thông tin này là tÕng hãp cça bao nhiêu iÁu lý thú. Ch¯c em s½ không bao giÝ thâm nh­p ai nh°ng nhïng ki¿n théc này ch¯c s½ ích lãi trong công viÇc vÁ sau. Anh ëng lo tåi em h¿t héng thú :)"

'docco' cing chêm thêm:

"Hay là anh .... n£n thì có. Nói chuyÇn vÛi bÍn em cái gì anh cing ph£i gi£i thích. G·p em, ch¯c em n£n të lâu rÓi."

Tôi áp:

"Hì hì, n£n h£? có gì mà n£n em? ThÉnh tho£ng vào 'à khía' th¿ này vui mà. Thôi, anh ph£i logoff ây. NgÓi dính mÙt ch× lâu quá rÓi. Anh v«n còn ß nhà vài ngày tÛi, tr°a tr°a anh s½ vào check mail m×i ngày, éa nào muÑn 'à khía' thì offline message cho anh mÙt cái ha."

'ccxx' c°Ýi, pha trò:

"Í cha, anh già rút... ¹p thiÇt à nha. ¢nh rào câu áp chót, chuyÃn qua câu chót là bye bye liÁn :). Mai em cing r£nh á, em s½ online chÝ anh."

'cuti' hùa theo:

"Em cing v­y."

'docco' th­n trÍng:

"N¿u không có gì Ùt xu¥t, em cing s½ online luôn."

Tôi áp:

"êa, cing kho£ng giÝ này ho·c sÛm h¡n vào ngày mai h£? Chào m¥y éa."

26/9/2005

<còn ti¿p>

conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 10

13. Information... What for? - II

ChiÁu nay nh° ã h¹n, tôi log vào YIM. M¥y 'khuôn m·t' YIM cça cuti, ccxx, haothu và docco Áu "tr¯ng bÇch". Tôi th§m ngh), "chà, m¥y trñ này v«n ch°a lên hay có tråc tr·c gì rÓi". Tôi quy¿t Ënh gßi cùng mÙt offline message cho c£ bÑn 'trñ' Ã khi nào có ai lên thì cho tôi bi¿t. ChÉ trong vài giây tôi nghe bÑn ti¿ng "Knock, knock", "Knock, knock" và hai khuôn m·t "vàng choé" cça docco và ccxx online. 'docco' chào tr°Ûc:

"Chào anh, anh lên lâu ch°a v­y?"

'ccxx' chào ti¿p theo:

"Ý chà, anh úng giÝ khçng khi¿p luôn á. Em chuyÃn ch¿ Ù 'invisible' Ã khÏi phiÁn chÛ em lên ây të tr°a á."

L§n này tôi gßi 'conference invitation' kèm theo câu tr£ lÝi:

"Hì hì, anh 'hên' nên úng giÝ thôi em. Anh âu bi¿t khi nào m¥y éa lên âu à. Còn cuti vÛi haothu âu rÓi?"

'ccxx' nhanh nh£u:

"D¡ em cing không bi¿t nïa anh. Em gÍi di Ùng cho ông H°ng mà ch³ng th¥y tr£ lÝi. Còn ông Khoa thì em ch³ng th¥y tung tích të hôm qua ¿n giÝ."

'docco' ti¿p lÝi:

"À, hÓi sáng em có g·p H°ng mà. Nó nói th¿ nào nó cing lên. Còn th±ng Khoa thì ch³ng bi¿t nó ß âu mà mò nïa anh."

Tôi c°Ýi, áp:

"êa, khi nào tåi nó th¥y tiÇn thì lên thôi. Anh em mình à khía lai rai cing °ãc. Hay em muÑn chÝ tåi nó lên luôn?"

'docco' tr£ lÝi:

"D¡ mình 'làm' lai rai i anh. Chëng nào tåi nó lên thì nh­p cuÙc luôn cing °ãc."

'ccxx' cing hùa theo:

"úng ó. M¥y ông ó ch³ng bi¿t âu mà chÝ anh ¡i."

Tôi áp:

"Xong ngay. V­y mình ti¿p tåc câu chuyÇn l§n tr°Ûc h£? hay m¥y éa thích nói chuyÇn gì khác hông?"

'docco' tr£ lÝi ngay:

"D¡ ti¿p tåc chuyÇn l§n tr°Ûc i anh. ChuyÇn này 'ã' h¡n nhïng chuyÇn t§m phào khác :)"

Tôi c°Ýi áp:

"Nhào ngay vô liÁn h£? OK. L§n tr°Ûc mình ang nói ¿n chuyÇn tìm 'footprint' ph£i hông? Anh muÑn Á c­p thêm mÙt chi ti¿t nhÏ trong viÇc query DNS khá quan trÍng. H§u h¿t các DNS server trên Internet hiÇn nay dùng BIND, ch¡y trên UNIX. Nhïng DNS server không thi¿t k¿ và iÁu chÉnh c©n th­n th°Ýng có các giá trË HINFO (Host Information) chéa nhïng thông tin khá cå thà vÁ vË trË cça host này, hÇ iÁu hành ang ch¡y trên host này... nhïng thông tin ó h¿t séc quan trÍng cho viÇc 'thm dò'. Anh Á c­p ¿n chuyÇn này vì muÑn nh¥n m¡nh sñ quan trÍng cça viÇc thi¿t k¿ hÇ thÑng trên ph°¡ng diÇn b£o m­t; tránh à lÙ nhïng thông tin nh¡y c£m và không c§n thi¿t trên các hÇ thÑng ti¿p diÇn vÛi 'untrused networks'."

'ccxx' hÏi ngay:

"Ph£i 'untrusted networks" là Internet hông anh?"

Tôi áp:

"êa, Internet là mÙt trong nhïng 'untrusted network'. Ngay c£ m¡ng riêng cça công ty v«n có nhïng ph§n thuÙc d¡ng 'untrusted' n¿u nh° các thông tin nh¡y c£m i xuyên qua ho·c mß rÙng trong các ph§n này. Nói chung, 'untrusted networks' là nhïng m¡ng em không thà kiÃm soát °ãc."

'docco' th¯c m¯c:

"Nh° anh nói ß trên, v­y HINFO chéa nhïng thông tin nào mà nguy hiÃm nh° v­y anh? Th­t tình em ch°a bao giÝ th¥y thông tin này."

'ccxx' chêm vào:

"D¡ em cing th¯c m¯c iÃm này luôn ó."

Tôi áp:

"êa, em ph£i ång ¿n nó thì mÛi bi¿t :). HINFO là mÙt 'query type' khi em query DNS, t°¡ng tñ nh° A, MX, NS, CNAME, SOA... m¥y cái này em nên tham kh£o chi ti¿t sau vì nó dính khá nhiÁu thé trong ó. Mình t­p trung vào HINFO ß ây à em n¯m chi ti¿t quan trÍng này thôi. TÕng quát mà nói thì HINFO chéa giá trË (và s½ tr£ vÁ giá trË n¿u mình query nó) ß d¡ng nh°:

"sparc20" "lp & fax comm room" ch³ng h¡n. Nó th°Ýng chéa các thông tin khá chi ti¿t à sysadmin dÅ nh­n diÇn host này là host gì trong m¡ng. Nó tiÇn dång cho sysadmin nh°ng l¡i khá nguy hiÃm trên ph°¡ng diÇn b£o m­t. BÍn em oán thí vÛi giá trË trong ngo·c kép, nó nguy hiÃm ß âu?"

'docco' và 'ccxx' im l·ng mÙt ×i. 'docco' lên ti¿ng tr°Ûc:

"D¡ em oán nó chÉ cho k» thm dò bi¿t server ó lo¡i gì và vË trí server ó ß âu . Nh°ng.... vË trí 'comm room' cing âu giúp °ãc gì âu anh?"

'ccxx' nói ti¿p:

"Hình nh° sparc20 là mÙt lo¡i server cça công ty Sun ph£i hông anh? Em ch°a th¥y nó bao giÝ nh°ng em có nghe ¿n. N¿u mình bi¿t °ãc lo¡i máy ch¯c mình có thà oán °ãc hÇ iÁu hành nào ang ch¡y trên nó?"

Tôi c°Ýi, áp:

"C£ hai éa oán úng h¿t nh°ng m×i éa chÉ úng 1/3 thôi :)"

'docco' b½n l½n:

"Sao anh? em chÉ oán bëa thôi mà :)"

Tôi tr£ lÝi:

"êa, thì em oán ra vË trí + lo¡i server, cái này cho 1/3 thông tin. Cô bé Nh° oán °ãc 'có thà l¥y hÇ iÁu hành' n¿u bi¿t lo¡i máy °ãc thêm 1/3 nïa. 1/3 còn l¡i cho th¥y chéc nng chính cça máy chç này cung c¥p dËch vå in và fax. B¥y nhiêu thông tin cing ç giúp cho k» thm dò hình thành ít nhiÁu k¿ ho¡ch. Ví då, Solaris th°Ýng bË nhïng iÃm y¿u nào? n¿u máy chç này cung c¥p dËch vå in (lp) và fax thì nó th°Ýng bË l× hÕng ß ch× nào? N¿u nó n±m trong 'comm room', liÇu të máy này có thà truy c­p ¿n các máy chç khác cing trong 'comm room' hay không? và hàng lo¡t các câu hÏi khác. Ù nguy hiÃm càng tng khi k» ang thm dò có nhiÁu kinh nghiÇm."

'docco' th¯c m¯c:

"Công nh­n anh phân tích ra thì th¥y lý thú nh°ng em v«n ch°a hình dung °ãc Ù nguy hiÃm ß ch× nào h¿t anh?"

Tôi c°Ýi, ch­m rãi áp:

"Anh cing hiÃu °ãc t¡i sao em ch°a hình dung ra sñ nguy hiÃm. Th¿ này, à anh kà cho nghe mÙt m©u chuyÇn ng¯n, hy vÍng em s½ hiÃu. Cách ây vài nm, khi anh còn làm ß mÙt công ty khác, anh phát hiÇn mail server cça cty anh bË spam quá nhiÁu. Sau khi truy ra nguÓn mail °ãc gßi i và tÕng k¿t sÑ l°ãng mail nh­n °ãc, anh nghi r±ng mail server ó bË open relay. Anh b¯t tay vào kiÃm tra mail server ¥y thì th¥y qu£ th­t nó open relay. Anh quy¿t Ënh gßi thông báo cho tay sysadmin cça mail server dùng làm ph°¡ng tiÇn à spam mail server cça cty anh. Tay này nm l§n, b£y l°ãt cÑ làm ng¡. RÑt cuÙc h¯n tr£ lÝi anh là mail server cça h¯n không bË cái gì h¿t, anh thí chéng minh xem à h¯n th¥y.

Anh bèn mß cuÙc thm dò thì th¥y m¡ng này khá lÛn, có r¥t nhiÁu servers. Các servers Áu dùng static IP và chÉ có mÙt border router cho c£ nÙi m¡ng. T¥t nhiên là anh chéng minh cho h¯n th¥y mail server cça h¯n bË 'open relay'. Trong quá trình thm dò, qua ph°¡ng tiÇn query DNS, anh tìm th¥y có r¥t nhiÁu servers trong nÙi m¡ng này có tên ß d¡ng test, ví då nh° testbed, teststage, testserver. ChÉ c§n nháy m¯t, anh log vào mÙt trong nhïng server này vÛi account test/test mÙt cách dÅ dàng. Të server thé nh¥t, anh có thà i vào các server còn l¡i b±ng nhïng ph°¡ng tiÇn truy nh­p thông th°Ýng. Anh còn th¥y vô sÑ l×i cho phép leo thang të user test thành root mÙt cách không m¥y khó khn. ChÉ trong kho£ng thÝi gian ng¯n, anh g§n nh° làm chç m¡ng ó."

'ccxx' c£m thán:

"Wow... cool thiÇt ó nha. Làm dÅ nh° v­y sao anh? Sau ó anh làm gì nïa?"

Tôi c°Ýi, áp:

"Có gì mà 'cool' em. ây chÉ là lÑi thâm nh­p do hÇ thÑng b£o m­t quá kém. sysadmin không có ki¿n théc vÁ b£o m­t ho·c quá l°Ýi bi¿ng mà thôi. Sau ó anh ch³ng làm gì h¿t. Anh dò d«m qua mÙt vòng và khám phá ra anh không ph£i là ng°Ýi §u tiên dò d«m trong hÇ thÑng này mà ã có vài ng°Ýi khác nïa. Anh bèn t¡o mÙt sÑ files trên vài servers rÓi gßi mail (të mÙt trong nhïng server trong m¡ng ¥y) ¿n tay sysadmin à c£nh báo h¯n. MÙt tu§n sau anh thí quay l¡i thì hÇ thÑng này ã °ãc th¯t ch·t. V­y, hai éa rút ra °ãc gì të câu chuyÇn trên?"

'docco' c°Ýi, tr£ lÝi:

"Hì hì, hình nh° anh Õi r¡ hay sao ó. M¥y bïa tr°Ûc anh cho tåi em hÏi tho£i mái, hôm nay em th¥y anh hÏi tåi em không à. Ph§n em thì em th¥y có m¥y chi ti¿t anh nh¥n m¡nh ß iÃm test. N¿u không có các chi ti¿t này ch¯c anh không máy mó thêm ph£i không anh?"

'ccxx' cing xen vào:

"Hi hi... em th¥y cái vå 'test/test' này úng là hay tÉ luôn ó. Em có i làm thêm ß mÙt công ty và th¥y cái gì cing 'test/test'. Bây giÝ anh kà chuyÇn này, hoá ra ß âu cing có thói quen này."

Tôi áp:

"Em tinh m¯t l¯m. ChÉ vì 'test/test' mà làm anh tò mò và 'thí' thêm cho nên mÛi d«n ¿n ch× anh vào g§n nh° mÍi server cça m¡ng ó. Tay sysadmin này l°Ýi bi¿ng nên h¯n set mÍi server Áu 'trusted' nên dùng 'rlogin' là vào tuÓn tuÙt, khÏi password, khÏi gì h¿t. iÁu c§n nh¥n m¡nh ß ây là nhïng thông tin trông có v» nhÏ nh°ng có thà d«n ¿n h­u qu£ khó l°Ýng. Ng°Ýi dùng, ngay c£ sysadmin, mà l°Ýi bi¿ng và thi¿u c©n th­n thì ß âu cing 'test/test'. Em có tin r±ng n¿u anh không thí thm dò, không query DNS và không th¥y 'test' hiÇn lên thì ch³ng có chuyÇn gì x£y ra không? ây là anh không có ý Ënh thâm nh­p, còn Ñi vÛi k» th­t sñ có ý muÑn thâm nh­p thì nhïng thông tin này còn quý h¡n... vàng :). V­y, m¥y éa thí ngh) xem, éng trên ph°¡ng diÇn b£o m­t, mình rút tÉa °ãc iÁu gì ß ây?"

'ccxx' áp lÝi ngay:

"BÏ h¿t m¥y cái 'test/test' ph£i không anh?"

'docco' thêm vào:

"Th¯t ch·t hÇ thÑng ph£i không anh?"

Tôi c°Ýi xoà:

"Ái chà, mÙt éa thì quá cå thÃ, mÙt éa thì quá tÕng quát. C£ hai éa Áu úng nh°ng ráng suy ngh) thêm mÙt chút à tìm mÙt câu trÍn v¹n xem sao?"

C£ hai 'ccxx' và 'docco' im l·ng hÓi lâu. 'docco' lên ti¿ng tr°Ûc:

"Em ngh) là hÇ thÑng ¥y c§n ph£i d¥u h¿t nhïng gì không c§n công bÑ vÛi công cÙng. Ph£i thi¿t k¿ l¡i m¡ng và hÇ thÑng phòng thç."

'ccxx' nói ti¿p:

"G·p em thì em uÕi cÕ cái tay sysadmin ó vì cái tÙi l°Ýi bi¿ng ho·c thi¿u kh£ nng. N¿u h¯n c©n th­n và chËu khó thì có l½ anh không dÅ dàng thâm nh­p ¿n nh° th¿ âu."

Tôi áp:

"E hèm... c£ hai éa Áu úng h¿t. ChÉ có 'công chúa xinh ¹p' h¡i... hung dï mÙt tí thôi ;-). N¿u gom hai câu tr£ lÝi thành mÙt thì hoàn chÉnh rÓi ó. Tuy nhiên, 'uÕi cÕ' h¯n nh° th¿ có thà h¡i oan vì sysadmin ch°a h³n là chuyên viên b£o m­t âu em. Có thà công tác chính cça h¯n là làm sao cho hÇ thÑng ch¡y Õn Ënh là °ãc rÓi. Cái này cing cho th¥y mÙt iÁu là làm chuyên viên b£o m­t hay chuyên viên 'thâm nh­p' còn ph£i kinh nghiÇm và có kh£ nng nhìn sâu, rÙng h¡n sysadmin bình th°Ýng."

'docco' c£m thán:

"Bây giÝ em mÛi hiÃu °ãc viÇc thm dò quan trÍng nh° th¿ nào. Qu£ th­t nhïng iÁu này h¿t séc lý thú. Có thà em Íc ch°a nhiÁu nh°ng em có c£m giác nhïng iÁu anh nói ß ây toàn là 'kinh nghiÇm x°¡ng máu' chÛ ch³ng th¥y trong sách."

Tôi áp:

"Anh oan ch¯c là nhïng ng°Ýi khác cing 'th¥y' nhïng iÁu anh 'th¥y' và h¡n nïa. iÁu quan trÍng ß ây là kh£ nng nh­n xét mÙt cách nh¡y bén. Càng nh¡y bén càng tÑt. Të thông tin trong HINFO ¿n nhïng chi ti¿t r¥t nhÏ bé khác trong quá trình thm dò có thà d«n ¿n nhïng iÁu không thà ngÝ tr°Ûc °ãc. ây cing là iÁu giúp cho mình th¥y là không có mÙt công théc cå thà nào cho viÇc thâm nh­p c£. MÍi chuyÇn là do tính nh¡y bén và sáng t¡o cça mình mà ra thôi."

'ccxx' hÏi thêm:

"Có mÙt sÑ chi ti¿t anh i l°Ût qua nh° 'open relay', 'rlogin', 'trusted'.... em th¥y l¡ ho¯c à. ây có ph£i là nhïng ki¿n théc cn b£n không anh? Em ch°a hÁ nghe qua nhïng cái này bao giÝ."

Tôi áp:

"Cn b£n thì cing không h³n âu em. Anh nhÛ anh có Á c­p ¿n r series cho rlogin, rsh, rexec và 'trusted network' ... trong mÙt l§n 'à khía' tr°Ûc ây. Em hÏi cu H°ng b£n l°u cça l§n trò chuyÇn ó vÁ Íc. Nhïng cái này chÉ th¥y trên UNIX là chính. Nó mang l¡i tính tiÇn dång nh°ng làm hÏng tính b£o m­t cça hÇ thÑng. Riêng khái niÇm 'open relay' thì chÉ khi nào em thi¿t k¿ mÙt MTA (mail transfer agent), hay còn gÍi là mail server thì mÛi ång ¿n v¥n Á 'mail relay'. Ngay c£ chÉ thi¿t k¿ nó cho ch¡y °Íc cing không ång tÛi mail relay âu. ChÉ khi nào em c§n b£o m­t nó thì mÛi ång tÛi ph°¡ng diÇn này. ¡i khái 'mail relay' là mÙt c¡ ch¿ cho phép máy con thuÙc m¡ng này dùng mail server cça m¡ng kia. Trên m·t nguyên t¯c thì nó tiÇn dång nh°ng l¡i nguy hiÃm vì të tiÇn dång hoá thành... l¡m dång :). 'mail relay' là ph°¡ng tiÇn chính cho n¡n spamming ang lan tràn trên Internet."

'docco' c°Ýi thích thú:

"Ch¯c bà Nh° ch°a quen ó thôi. Anh D i xuyên qua nhïng v¥n Á °ãc ·t ra r¥t tÑc Ù. Tui rút kinh nghiÇm và vi¿t xuÑng h¿t nhïng të khóa quan trÍng rÓi vÁ tñ tìm hiÃu sau. Có gì k¹t thì l§n sau hÏi £nh ti¿p. Có nhïng 'të khoá' mß ra thành nhiÁu trm trang tài liÇu, thành nhiÁu cuÑn sách luôn ó bà ¡i. Lúc tr°Ûc tui h¡i ngá ngàng vì anh ¥y chÉ th°Ýng gi£i thích các th¯c m¯c dña trên iÁu kiÇn là mình ph£i n¯m ít nhiÁu cn b£n. D§n dà, tui ngÙ ra °ãc iÁu này, hi hi."

'ccxx' áp:

"V­y h£? có l½ Nh° ch°a Íc kù chi ti¿t cça nhïng l§n Ñi tho¡i tr°Ûc. Ch¯c kó này ph£i Íc l¡i th­t kù. Cám ¡n ông 'chÉ iÃm' dùm nhe Duy."

'ccxx' nói ti¿p:

"Bây giÝ em mÛi hiÃu lý do t¡i sao ông H°ng l¡i 'nghiÇn' nhïng cuÙc 'à khía' ¿n nh° v­y. Em có quan niÇm là c£ ngày ã 'ôm' cái máy thì ban êm nên dành thÝi gian cho chuyÇn khác nên m×i l§n ông H°ng mà Á c­p ¿n máy tính là em g¡t ngang. Không ngÝ anh em mình nói chuyÇn kù thu­t nh°ng em c£m th¥y thích thú và dÅ chËu nh° ang trao Õi nhïng chuyÇn bình th°Ýng trong Ýi sÑng v­y."

Tôi c°Ýi và áp:

"Hì hì, 'skeptic blinds h(im)erself'. Nên b°Ûc vào mÙt sñ viÇc vÛi tinh th§n và thái Ù mß rÙng không thì em tñ Ùng h¡n ch¿ mình ó 'công chúa xinh ¹p'."

'ccxx' áp gÍn:

"D¡, cám ¡n anh. Em s½ suy g«m thêm."

'docco' ti¿p tåc khai triÃn:

"V­y query DNS là mÙt b°Ûc cça quá trình thm dò. Nhïng gì ti¿p sau ó v­y anh? À, em nhÛ có mÙt quyÃn sách nói vÁ chuyÇn thm dò có dùng të 'profiling' nïa. Có ph£i ây cing là mÙt lo¡i thm dò?"

Tôi áp:

"Profile t¡m dËch là 's¡ y¿u lý lËch' và profiling có ngh)a là 'hành Ùng hình thành s¡ y¿u lý lËch' ó em. ây cing là mÙt thu­t ngï °ãc dùng trong công tác thm dò. Ví då em muÑn thm dò mÙt máy (host profiling), mÙt m¡ng (network profiling) ho·c mÙt tÕ chéc (organisation profiling) thì em c§n hình thành mÙt b£ng 's¡ y¿u lý lËch' cho tëng måc tiêu. Trong b£ng s¡ y¿u lý lËch này em iÁn vào nhïng thông tin tìm °ãc trong quá trình thm dò."

ang trò chuyÇn tÛi ây thì 'cuti' vào. Cu c­u xuýt xoa vì vào trÅ và gßi cho tôi mÙt thông iÇp:

"Chào anh già khó tính :). Em i công chuyÇn, gßi xe nh°ng làm m¥t th» gßi nên ç thé chuyÇn phiÁn phéc, m¥t thÝi giÝ. Anh vÛi m¥y éa kia nói chuyÇn lâu ch°a anh?"

Tôi áp lÝi 'cuti' b±ng cách mÝi 'cuti' tham gia 'conference', kèm theo câu tr£ lÝi:

"Cing khá lâu rÓi em. Không sao âu, mình còn lai rai °ãc vài chåc phút nïa."

'cuti' vào 'conference' và xin l×i mÍi ng°Ýi vì vào trÅ. Tôi ti¿p tåc tr£ lÝi 'docco':

"Tùy theo måc tiêu cça em là mÙt host, mÙt network hay c£ mÙt organisation, profiling s½ c§n nhiÁu hay ít thông tin. Nguyên t¯c cn b£n áp dång cho các måc tiêu Áu nh° nhau.

- thé nh¥t: em c§n bi¿t måc tiêu ang ß âu, ang thuÙc network nào.

- thé hai: em c§n bi¿t të n¡i em ang thñc hiÇn thm dò ¿n måc tiêu c§n thm dò s½ i qua nhïng ch·ng network nào.

- thé ba: em c§n bi¿t måc tiêu có nhïng dËch vå nào.

- thé t°: em c§n bi¿t måc tiêu °ãc b£o vÇ nh° th¿ nào.

Të nhïng thông tin thu th­p °ãc, em s½ hình thành mÙt cái gÍi là profile."

'cuti' xen vào:

"Hay là anh cho bÍn em mÙt ví då cå thà i anh? Em th¥y cách này dÅ 'tiêu hoá' nh¥t ó."

Tôi áp:

"Cing °ãc thôi em. Tuy nhiên, anh muÑn tránh lÑi khai triÃn r­p khuôn, theo tëng b°Ûc cho nên em ëng theo ví då mà thñc hiÇn n¿u em muÑn thm dò. Nên v­n dång trí t°ßng t°ãng cça mình. T¥t nhiên là em c§n ph£i trau dÓi mÙt sÑ ki¿n théc cn b£n vÁ giao théc m¡ng, dËch vå trên m¡ng và công cå kiÃm tra / kh¯c phåc sñ cÑ cho m¡ng."

Tôi nói ti¿p:

"Ti¿p theo ví då l§n tr°Ûc vÁ viÇc thông tin l¥y °ãc të DNS, anh bi¿t mÙt host anh ang thm dò thuÙc network 172.16.114.0. T¥t nhiên chu×i IP này là private IP dùng à làm ví då thôi nha. BÍn em thëa bi¿t mà ph£i không? Gi£ sí anh quy¿t Ënh thm dò kù l°áng host white të thông tin l¥y °ãc xuyên qua DNS l§n tr°Ûc. Anh muÑn xem të máy cça anh (ho·c mÙt terminal nào ó anh ang làm viÇc) ¿n host white.domain.com qua bao nhiêu hops, nó có thà có firewall b£o vÇ hay không? thì anh dùng thí traceroute (tracert trên windows):

Code:

$ traceroute white.domain.com

traceroute to white.domain.com (172.16.114.161), 30 hops max, 38 byte packets

1 redback (192.168.1.100) 0.538 ms 0.408 ms 0.355 ms 2

2 cobweb (192.168.2.1) 13.528 ms 11.439 ms 10.712 ms

3 reptile (172.16.100.1)

3 border.domain.com(172.16.114.10) 16.052 ms 14.238 ms 13.118 ms

4 * * *

5 * * *

.....

.....

$

K¿t qu£ trên cho th¥y gì nhÉ?"

'ccxx' tr£ lÝi ngay:

"Em thì bó tay rÓi ó anh. Em ch³ng bi¿t gì vÁ m¥y cái network h¿t á."

'cuti' nÑi ti¿p:

"Hình nh° anh ch¡y lÇnh traceroute à tìm xem có bao nhiêu hops ¿n host white.domain.com, còn nhïng k¿t qu£ thì em không rõ l¯m. Hình nh° nó in ra thông tin m×i khi nó ¿n mÙt network router ph£i không anh?"

Tôi áp:

"úng rÓi. N¿u em Íc kù TCP/IP Illustrated cça Richard Stevens em s½ nh­n ra ngay nhïng giá trË ß trên."

'docco' lên ti¿ng:

"Em cing hiÃu man mán nh° th±ng H°ng v­y. iÁu em không n¯m rõ là t¡i sao nó in ra nhïng d¥u hoa thË ß m¥y dòng cuÑi."

Tôi tr£ lÝi:

"ây là nhïng ki¿n théc thông th°Ýng vÁ m¡ng. Nói mÙt cách khác, traceroute là mÙt công cå thông dång và là mÙt ph°¡ng tiÇn th©m Ënh network quan trÍng. Anh có thà gi£i thích mÙt cách v¯n t¯t nh° sau:

- dòng §u tiên: traceroute cho bi¿t là nó dò tuy¿n i ¿n white.domain.com sau khi phân gi£i tên thành IP 172.16.114.161. Theo m·c Ënh, nó chÉ dò ¿n 30 hops và dùng gói tin có kích th°Ûc là 38 bytes.

- dòng 1: ây là hop thé nh¥t traceroute i qua. redback là tên cça host, nó là mÙt router dùng à Ënh tuy¿n gói tin të network 192.168.1.0 sang network 102.168.2.0. Gói tin này m¥t thÝi gian tÑi a, trung bình và tÑi thiÃu nh° ã hiÃn thË.

- dòng 2: ây là hop thé nhì traceroute i qua. cobweb là mÙt router khác Ënh tuy¿n gói tin të network 192.168.2.0 ¿n network 172.16.100.0.

- dòng 3: ây là hop thé ba cça traceroute. reptile là mÙt router hay mÙt firewall cça network 172.16.114.0, network này chéa måc tiêu white.domain.com cça mình.

- dòng thé 4 trß i: không có m¥y thông tin. iÁu này chéng tÏ nhïng hop k¿ ti¿p không Ùng t)nh gì c£ và traceroute hoàn toàn không n¯m b¯t °ãc thông tin gì cå thÃ."

'cuti' thi¿u kiên nh«n:

"Em v«n ch°a th¥y có gì là b£o m­t hay thâm nh­p ß ây c£ v­y anh? M¥y cái này chÉ là ki¿n théc c§n thi¿t cho mÙt network admin thôi mà? VÛi l¡i nïa, t¡i sao mình c§n bi¿t có bao nhiêu hops ¿n måc tiêu làm chi v­y anh?"

'ccxx' lên ti¿ng:

"Cái ông này l¡i láu táu nïa rÓi. Anh D °a ra nhïng chi ti¿t này ch¯c ch¯n s½ d«n ¿n mÙt iÃm nào ó c§n n¯m. Sao ông hông thí kiên nh«n thêm mÙt tí nïa coi sao?"

Tôi á lÝi:

"Hì hì, anh v«n bi¿t 'cuti' v«n còn ám vÛi nhïng thé gÍi là 'thâm nh­p' b±ng mÙt công cå m§u nhiÇm nào ó. Ã anh c¯t ngh)a ti¿p cho nó á bÓn chÓn." Tôi nói ti¿p:

"Mình c§n bi¿t sÑ hops có nhiÁu lý do c§n thi¿t sau này, tùy theo ý Ënh thâm nh­p nïa. Ví då të máy mình ¿n måc tiêu ph£i i xuyên qua nhiÁu hops quá thì các kù thu­t rà tìm sau này ph£i iÁu chÉnh l¡i cho thích hãp à á m¥t thÝi gian ho·c à có k¿t qu£ chính xác h¡n (vì có thà có nhïng tr°Ýng hãp gói tin bË m¥t). Sß d) nhïng thông tin thâu th­p °ãc r¥t quan trÍng bßi vì chúng giúp em xác Ënh tÕng quát méc b£o m­t cça måc tiêu em thm dò. Trong tr°Ýng hãp mình ang bàn ß ây, nó ti¿t lÙ mÙt chi ti¿t r¥t quan trÍng là ß hop thé 3, border.domain.com có thà hçy các gói UDP i vào nh°ng không hçy các gói ICMP i ra à tr£ lÝi. Chéng tÏ border.domain.com là mÙt router r¥t ch·t ch½ ho·c nó ph£i là mÙt firewall có nhïng ¥n Ënh cå thÃ. T¡i sao mình bi¿t nó hçy các gói UDP i vào nh°ng không hçy các gói ICMP i ra à tr£ lÝi?"

'ccxx' thÑt lên:

"Em thua."

'cuti' nÑi ti¿p:

"Em ch³ng khá gì h¡n."

'docco' ch­m rãi áp:

"Hình nh° cái này có liên quan ¿n c¡ ch¿ làm viÇc cça traceroute ph£i không anh? T°Ýng t­n v¥n Á thì em §u hàng rÓi ó."

Tôi áp:

"Cu Duy oán úng rÓi ó. traceroute gßi gói tin UDP ¿n måc tiêu và tñ Ùng chÍn cÕng UDP nó gßi ¿n. Chu×i cÕng này th°Ýng n±m trên dãy 30000. N¿u måc tiêu cça mình (white.domain.com) hoàn toàn không có gì b£o vÇ (nh° mÙt máy bình th°Ýng), ch¯c ch¯n traceroute có thà liên hÇ vÛi nó qua các cÕng trên dãy 30000 trß lên. N¿u chính white.domain.com có c¡ ch¿ c£n UDP ho·c host nào n±m bên ngoài (b£o vÇ cho nó) c£n UDP giúp nó thì em th¥y ngay måc tiêu em ang thm dò không dÅ dàng tí nào."

'cuti' phát biÃu:

"V­y thì cing ch°a có gì cå thà cho viÇc thâm nh­p c£."

Tôi h¡i cáu khi 'cuti' cé nh¥m nh³n chuyÇn thâm nh­p trong khi ang bàn ß b°Ûc thm dò. Tôi tr£ lÝi:

"H°ng à, hình nh° em quên là mình ang nói chuyÇn thm dò hay sao ó. Sao em cé eo mãi cái chuyÇn thâm nh­p v­y? Em ch°a bi¿t måc tiêu cça em th¿ nào thì em thâm nh­p cái con khÉ gì? iÁu anh muÑn phân tích ß ây là muÑn cho em th¥y nhïng kù nng và ki¿n théc c§n thi¿t à °Ûc l°ãng tình th¿. Të ó, tránh viÇc phí thÝi gian à cÑ thâm nh­p vào mÙt måc tiêu quá vïng ho·c nghiêm trÍng h¡n nïa là tránh bË 'tóm' n¿u mò m«m không có cn. Gi£ sí anh muÑn thâm nh­p mÙt måc tiêu và °Ûc l°ãng °ãc tình th¿ khó khn ho·c nguy hiÃm (vì dÅ bË phát hiÇn), anh s½ không phí thÝi gian ho·c liÁu l)nh làm chuyÇn này. Cái khÕ là anh ph£i th©m Ënh và thm dò tr°Ûc khi i ¿n ch× quy¿t Ënh nên thâm nh­p hay không nên thâm nh­p. Không ph£i måc tiêu nào cing có thà thâm nh­p và em nên gÙt ría khÏi cái §u em chuyÇn này: không có mÙt thé công cå m§u nhiÇm nào giúp em thâm nh­p mÙt hÇ thÑng và cing ch³ng có công théc cå thà nào cho viÇc thâm nh­p c£. Thâm nh­p °ãc hay không là tùy thuÙc ß méc phòng thç cça måc tiêu và ki¿n théc, kh£ nng sáng t¡o cça em cho tëng tr°Ýng hãp."

Th¥y tôi có v» cáu, 'ccxx' á lÝi:

"Thôi anh, anh ëng cáu làm gì. Em th¥y m¥y bïa nay ông H°ng làm sao ó. Hay mình nói chuyÇn khác cho vui rÓi quay l¡i chuyÇn này sau?"

Tôi áp:

"Không sao âu em. Anh h¡i cáu th­t bßi vì anh không hiÃu sao d¡o này cu H°ng l¡i có v» r¥t thi¿u kiên nh«n. Nhïng iÁu mình bàn ß ây là ph°¡ng pháp khai triÃn v¥n Á chÛ không ph£i lÑi "út tëng mu×ng" cho tëng lÇnh mÙt. Anh muÑn m¥y éa hiÃu mÙt iÁu tÑi quan trÍng là b£o m­t, thâm nh­p hay b¥t cé thé gì khác cing c§n ph£i có kiên nh«n, cn c¡, ngÍn ngành. Anh ngh) r±ng anh l·p i, l·p l¡i iÃm này r¥t nhiÁu l§n nh°ng hình nh° khái niÇm này... khó tiêu hay sao ó :(. Ngay c£ chuyÇn ¡n gi£n nh° chuyÇn n¥u c¡m ch³ng h¡n. N¿u em muÑn n¥u cho nhanh và cÑ nÕi lía lên cho lÛn à mong c¡m mau chín thì chÉ tÕ làm cho c¡m khê khét ß d°Ûi nh°ng l¡i sÑng nhn ß trên thôi. Em làm toán, cÙng trë nhân chia ch°a vïng thì làm sao ång ¿n cn sÑ, liy thëa và nhïng thé cao c¥p h¡n? Còn chuyÇn cå thà mình ang bàn ß ây là chuyÇn thm dò. Ch°a thm dò xong thì bi¿t gì mà thâm nh­p? ChÉ có m¥y ông nhóc script kiddie mÛi ch¡i trò lôi ß âu ra mÙt cái tool rÓi nh¯m m¯t, nh¯m mii mà phang ¡i thôi. Cái này y hÇt nh° chuyÇn 'ping of death' ¿n Linux server mà anh ã kà thôi."

'docco' lên ti¿ng:

"È... èm... em th¥y anh cáu là úng nh°ng anh thông c£m cho th±ng H°ng và bÍn em nha anh? Dù sao bÍn em cing còn tr», cing còn bÓng bÙt. âu có iÁm ¡m và kiên nh«n nh° anh °ãc. Riêng em thì em th¥y m×i iÃm anh nói Áu mß ra nhïng iÁu mÛi m» mà em c§n ph£i tham kh£o, nghiên céu và hÍc hÏi. Không ph£i khái niÇm "cn c¡, ngÍn ngành" khó tiêu âu anh mà là vì, ôi khi bÍn em h¡i thi¿u kiên nh«n tí thôi."

Tôi áp lÝi:

"Hì hì, anh có cáu thì chÉ thoáng qua v­y thôi. Anh có 'care' thì mÛi cáu. Anh không 'care' thì không cáu."

Không khí trong phòng 'conference' trß nên ngÙt ng¡t. MÍi ng°Ýi im l·ng nh° thà ch³ng ai còn chuyÇn gì à nói. Sau hÓi lâu, tôi Ënh lên ti¿ng thì Ùt nhiên 'cuti' phát biÃu gÍn lÏn:

"úng là 'anh già khó tính'."

Tôi không kÁm °ãc, phá lên c°Ýi:

"Hì hì hì."

rÓi c£ ba éa 'cuti', 'ccxx' và 'docco' cing c°Ýi rÙ:

"Hi hi hi"

"Ha ha ha"

"Kh¹c kh¹c kh¹c... t¿u th­t."

Không khí trß l¡i bình th°Ýng mÙt cách nhanh chóng. Tôi lên ti¿ng:

"Bây giÝ anh Á nghË m¥y éa làm mÙt bài t­p à l§n sau mình nói chuyÇn dÅ dàng h¡n."

'ccxx' thÑt lên:

"Bài t­p?"

'cuti' nÑi ti¿p:

"Bài t­p gì ó anh?"

'docco' v«n ch­m rãi nh° mÍi khi và hÏi sau cùng:

"Bài t­p cho chuyÇn gì v­y anh?"

Tôi áp:

"Nói là bài t­p thì cing không úng. Th­t ra nó chÉ là mÙt vài iÃm nhÏ c§n tham kh£o thôi. Anh muÑn m¥y éa, n¿u r£nh, nên tìm hiÃu xem traceroute (trên UNIX) và tracert (trên Windows) làm viÇc ra sao. Chúng gßi cái gì i và nh­n cái gì vÁ trong các tr°Ýng hãp thông th°Ýng. Biên Ù tìm hiÃu sâu / rÙng th¿ nào là tùy bÍn em. N¿u siêng h¡n nïa thì tìm hiÃu (ho·c xem l¡i) th­t kù c¡ ch¿ '3-way handshaking' cça tcp. ·c biÇt chú tâm ¿n nhïng ·c iÃm: khi nào thì gói tcp dùng syn flag, khi nào dùng ack, khi nào dùng ack-psh, khi nào dùng fin, khi nào dùng rst... N¯m nhïng cái này thì l§n tÛi mình 'à khía' s½ thông suÑt h¡n."

L§n này 'docco' lên ti¿ng tr°Ûc:

"Ái chà, anh có v» cå thà h¡n nhïng l§n tr°Ûc rÓi ây. Ch¯c là chuyÇn này có gì quan trÍng nên anh yêu c§u bÍn em tham kh£o?"

Tôi áp:

"Quan trÍng thì ki¿n théc nào cing quan trÍng h¿t c£ nh°ng cå thà trong nÙi dung mình ang bàn, anh muÑn bÍn em th¥u áo h¡n b±ng cách tham kh£o thêm. Có v­y thì mÛi vui chÛ? :) ).

'cuti' nói:

"D¡, chuyÇn này dÅ thôi mà. Ã em låc trong kho e-book cça em th¿ nào cing có c£ Ñng thông tin cho mà xem."

'ccxx' gi­n d×i:

"Kìa, kìa, có c£ 'kho' e-book mà d¥u ng°Ýi ta ph£i hông? Sao hÓi giÝ giï kh° kh° cái 'kho' ó v­y? :("

'cuti' bi¿t ngay là cô bé Nh° ang d×i, bèn cuÑn quýt lên ti¿ng:

"Ùm.. è... anh ây có gi¥u Nh° hÓi nào âu à. T¡i vì m×i l§n nói ¿n chuyÇn máy tính là Nh° g¡t ngang ó thôi. TrÝi, cái gì anh còn 'dâng' h¿t cho Nh° °ãc huÑng hÓ chi m¥y quyÃn e-book quèn ó? ;-)"

'docco' xen vào trêu:

"Thôi thôi, hai ông bà muÑn ca c£i l°¡ng thì vô phòng kín mà ca dùm. Tui nghe "anh, anh, Nh°, Nh°" tñ nhiên cé nÕi gai liên hÓi ây."

Tôi c°Ýi, chêm thêm:

"êa, bây giÝ anh cing ph£i dÍt luôn. Anh em mình chuÓn i Duy, Ã hai éa nó cé tha hÓ mà "anh, anh, Nh°, Nh°" cho tiÇn. Khi nào r£nh m¥y anh em mình l¡i à khía h£? Chào m¥y éa."

Tôi logoff, th§m ngh) "hèm... không bi¿t m¥y trñ có chËu chu©n bË gì cho l§n tÛi không ây?"

17/10/2005

<còn ti¿p>

Conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 11

14. Banner, th­t hay gi£?:

MÙt tu§n lÅ trôi qua. Tôi nh­n °ãc vài e-mail cça bÙ té cuti, ccxx, docco và haothu vÛi nÙi dung ph§n lÛn là nhïng th¯c m¯c vÁ lý do t¡i sao viÇc xác Ënh "footprint" cça måc tiêu l¡i quan trÍng ¿n nh° v­y. Tôi quá b­n rÙn nên chÉ hÓi áp mÙt cách tÕng quát và h¹n l§n 'à khía' k¿ ti¿p s½ tr£ lÝi chi ti¿t h¡n. Tôi cing không quên nh¯c m¥y 'trñ' nên xem kù c¡ ch¿ truyÁn t£i thông tin cça giao théc TCP vì nó s½ d«n ¿n mÙt b°Ûc sâu h¡n trong viÇc tìm "footprint" cça måc tiêu. BÙ té Á nghË hoãn l¡i cuÙc 'à khía' thêm mÙt tu§n à ç thÝi gian chu©n bË và t¥t nhiên là tôi Óng ý.

Thêm mÙt tu§n lÅ trôi qua. Tôi nh­n °ãc mÙt offline message cça 'cuti' h¹n cuÑi tu§n g·p nhau trên YIM. Tôi Óng ý.

ChiÁu thé b£y, lúc 2 giÝ tr°a tôi vào YIM thì bÙ té ã có m·t §y ç. Trong chÑc lát tôi nh­n °ãc lÝi mÝi tham gia "conference".

'cuti nhanh nh£u:

"Chào anh, anh kho» hông? BÍn em lên ây c£ ti¿ng Óng hÓ rÓi. ang nói chuyÇn t§m phào cho vui trong khi chÝ anh ó."

Tôi chào bÙ té:

"Chào m¥y éa. Kho» h¿t chÛ? Sao lên sÛm v­y? Khoa có chuyÇn gì mà v¯ng m·t lâu v­y em?"

'haothu' áp:

"D¡ em k¹t mÙt sÑ chuyÇn gia ình nh°ng mÍi chuyÇn xong h¿t rÓi. Bây giÝ em s½ tham gia 'à khía' Áu ·n h¡n. Em cing l¥y nÙi dung m¥y l§n tr°Ûc à xem h¿t rÓi anh."

'ccxx' i ngay vào v¥n Á:

"Em có gßi mail hÏi anh lý do t¡i sao viÇc xác Ënh 'footprint' l¡i quan trÍng nh° v­y và anh héa là anh s½ gi£i thích chi ti¿t. V­y bây giÝ anh tiÇn gi£i thích không anh?"

'docco' chêm vào:

"Ui, không ngÝ bà Nh° lanh thiÇt. Tui ch°a kËp hÏi bà ã hÏi rÓi. Anh D ¡i, em Íc kù l¡i m¥y bài anh em mình 'à khía' thì th¥y viÇc dò tìm và xác Ënh 'footprint' cça måc tiêu r¥t quan trÍng. Nh° anh ã Á c­p tr°Ûc ây muÑn khai thác mÙt måc tiêu thì ph£i n¯m rõ måc tiêu. Tuy nhiên, em v«n ch°a hoàn toàn n¯m °ãc v¥n Á mÙt cách xác thñc. Anh nói rõ h¡n °ãc không anh?"

Tôi áp:

"êa, viÇc xác Ënh 'footprint' quan trÍng và m¥t thÝi gian bßi vì nó quy¿t Ënh cho sñ thành công hay th¥t b¡i cça viÇc thâm nh­p. Nói trên bình diÇn b£o m­t, che d¥u ho·c thay Õi 'footprint' s½ ph§n nào ánh l¡c h°Ûng ho·c làm ch­m k» muÑn t¥n công. Nhïng hÇ thÑng, nhïng máy chç không có gì b£o vÇ thì ch³ng có gì áng nói; chÉ c§n mÙt vài thao tác là em ã có thà xác Ënh 'footprint' cça nó cho nên viÇc xác Ënh 'footprint' không còn áng kà nïa. Tuy nhiên, có nhïng tr°Ýng hãp admin cça hÇ thÑng nào ó cÑ tình thay Õi 'footprint' cça hÇ thÑng à ánh lëa k» muÑn t¥n công thì sñ thà hoàn toàn khác."

'haothu' hÏi ti¿p:

"Cå thà nh° th¿ nào anh? Em th¥y khó hình dung quá :("

Tôi tr£ lÝi:

"êa, qu£ th­t là h¡i khó hình dung n¿u em ch°a 'kinh qua' nhïng chuyÇn này. Hãy thí 'ào xÛi' mÙt tí xem sao? Anh nhÛ ã có l§n anh Á c­p ¿n chuyÇn 'các trình Ù thâm nh­p' rÓi ph£i không?"

'cuti' áp:

"D¡, có ph£i ý anh là chuyÇn 'dân hacker thé thiÇt' tñ thí nghiÇm và tìm l×i à thâm nh­p, 'dân hacker bán chuyên' thì dña vào l×i ã °ãc công bÑ trên bug-track và dân 'kiddie' thì chÉ dùng công cå có sµn' không v­y?"

Tôi áp:

"êa, úng v­y. Hãy thí ngh) xem, tr°Ýng hãp 'dân hacker thé thiÇt tñ thí nghiÇm và tìm l×i', chuyÇn 'footprint' dính líu gì ß ây?"

'ccxx' áp:

"Em ngh) chuyÇn 'footprint' ch³ng còn quan trÍng vÛi tr°Ýng hãp 'hacker thé thiÇt' nïa."

Tôi hÏi ti¿p:

"Em gi£i thích thêm mÙt tí °ãc không?"

'ccxx' áp:

"Em th¥y quá hiÃn nhiên mà anh? N¿u nh° 'hacker thé thiÇt' tñ nghiên céu và tìm l×i thì h³n nhiên anh ta ph£i làm viÇc cå thà trên mÙt hÇ iÁu hành, trên mÙt môi tr°Ýng nào ó. Em hình dung là anh ta ph£i l­p mÙt máy chç có hÇ iÁu hành cå thÃ, có phiên b£n ch°¡ng trình cå thà rÓi mÛi thí nghiÇm và tìm l×i. Cho nên, 'footprint' n±m trong tay anh ta là chuyÇn hiÃn nhiên."

Tôi c°Ýi, áp:

"RÓi, cuti, haothu, docco ngh) sao vÛi nh­n Ënh này cça 'ccxx'?"

C£ ba im l·ng hÓi lâu. Sau cùng, 'haothu' lên ti¿ng:

"Em ngh) 'ccxx' nói úng l¯m nh°ng nó chÉ giÛi h¡n trong tr°Ýng hãp tay 'hacker thé thiÇt' ó tìm l×i trên chính máy chç do mình thi¿t l­p. Còn tr°Ýng hãp tìm l×i trên mÙt server nào ó thì sao? Tay 'hacker thé thiÇt' ¥y v«n ph£i xác Ënh 'footprint' nh° th°Ýng. Không bi¿t em nói có úng không?"

'docco' lên ti¿ng:

"Ý em cing giÑng nh° ý th±ng Khoa ó anh."

'cuti' góp ph§n:

"úng rÓi. Tñ thi¿t l­p mÙt máy chç, cài soft rÓi tìm l×i cå thà thì chuyÇn 'footprint' là chuyÇn không c§n thi¿t vì mình ã thi¿t l­p mÍi thé theo ý. Tr°Ýng hãp các tay 'hacker thé thiÇt' thí dò tìm l×i trên các máy chç không ph£i do hÍ làm chç có x£y ra không anh?"

Lúc này tôi mÛi lên ti¿ng:

"Anh tin r±ng nh­n Ënh cça 'ccxx' r¥t hïu lý. H§u h¿t các tr°Ýng hãp thí nghiÇm và tìm l×i x£y ra trên chính server mà tay 'hacker thé thiÇt' ¥y thi¿t l­p. Cho nên, chuyÇn xác Ënh 'footprint' ß ây không còn là mÙt viÇc c§n thi¿t nïa. Riêng tr°Ýng hãp thí nghiÇm trên server không ph£i do mình thi¿t l­p thì anh không thà xác Ënh °ãc vì ch³ng có sÑ liÇu nào cho chuyÇn này. Tuy nhiên, anh hình dung r±ng tr°Ýng hãp 'thí trên server mình không làm chç' v«n có thà x£y ra nh°ng khá ít. Lý do là thí nghiÇm và tìm l×i nh° th¿ khá m¡ hÓ và kém hiÇu xu¥t. H¡n nïa, à thí nghiÇm và tìm l×i mÙt cách úng méc, em c§n ph£i sí dång hàng lo¡t công cå nh° debugging, tracing... em ph£i l·p i, l·p l¡i mÙt test case vÛi nhiÁu bi¿n sÑ khác nhau à tìm k¿t qu£. Nhïng thao tác này n±m trong khuôn khÕ 'local', có ngh)a là em ph£i có quyÁn sí dång và thñc thi các công cå ngay trên máy chç à tìm l×i."

Tôi dëng l¡i vài giây và hÏi ti¿p:

"V­y, tr°Ýng hãp các 'hacker bán chuyên' dña vào bug-track à thâm nh­p thì dính líu gì ¿n chuyÇn 'footprint'?"

L§n này 'cuti' nhanh nh£u tr£ lÝi:

"Em ngh) nó 'dính líu' nhiÁu l¯m ché. Em th¥y trên bug-track ghi rõ l×i trên hÇ iÁu hành nào, cho phiên b£n cça software nào. iÁu này chéng tÏ, n¿u tìm cách áp dång nó Ã exploit trên mÙt hÇ iÁu hành khác, trên phiên b£n software khác thì c¡ hÙi thành công h§u nh° không có. Bßi v­y, dân 'bán chuyên' ph£i i qua ch·ng °Ýng xác Ënh xem måc tiêu cça mình có r¡i vào 'ph¡m vi' con bug ã °ãc công bÑ hay không thì mÛi có k¿t qu£ kh£ quan."

Tôi áp:

"Hay l¯m. M¥y éa còn ý ki¿n nào khác không?"

'docco' lên ti¿ng:

"Em ngh) H°ng nói úng quá rÓi. ChÉ có iÁu 'dân bán chuyên' xác Ënh 'footprint' ra sao ây?"

Tôi c°Ýi, áp:

"ó. Bây giÝ em ã nh­n ra t§m quan trÍng cça viÇc xác Ënh 'footprint' ch°a? ChuyÇn 'dân bán chuyên' xác Ënh 'footprint' ra sao thì mình s½ bàn ¿n."

'haothu' tr£ lÝi:

"ChuyÇn này thì quá rõ rÓi. N¿u không xác Ënh °ãc 'footprint' thì chÉ có n°Ûc làm... mò mà thôi."

Tôi ©y thêm:

"RÓi, mình ã xác Ënh °ãc hai tr°Ýng hãp. N¿u v­y thì tr°Ýng hãp các 'kiddie' tìm âu ra vài món Ó nghÁ thì dính líu gì ¿n 'footprint' nhÉ?"

'ccxx' c°Ýi xoà:

"Hi hi hi, em ngh) là anh ang hÏi m¹o cái gì ây rÓi. N¿u dña trên khái niÇm th¿ nào là 'kiddie' mà anh °a ra tr°Ûc ây thì m¥y tay này có sá gì 'footprint' hay không âu anh? V£ l¡i, liÇu hÍ có kiên nh«n ho·c ki¿n théc à tìm 'footprint' ho·c quý trÍng k¿t qu£ mình tìm °ãc ß méc Ù thm dò hay không?"

'docco' ph£n Ñi:

"Tui không Óng ý vÛi bà Nh° iÃm này. HiÇn nay có quá nhiÁu công cå të th°¡ng m¡i ¿n mã nguÓn mß và nhïng công cå này r¥t m¡nh, r¥t dÅ dùng và cing r¥t nguy hiÃm. N¿u 'kiddie' chËu khó mÙt tí thì chuyÇn gì cing có thà °ãc c£."

'ccxx' ph£n òn:

"V­y ý ông 'kiddie' ç kh£ nng và kinh nghiÇm xác Ënh 'footprint' b±ng cách dùng công cå nào ó mÙt cách dÅ dàng? Tui không tin nh° v­y. Cho dù có dùng tool nào ó, dù dÅ ¿n âu, ông cing c§n có ít nhiÁu ki¿n théc trong lãnh vñc này tr°Ûc khi có thà dùng nó mÙt cách hiÇu qu£. LiÇu 'kiddie' có chËu khó Íc h°Ûng d«n mÙt cách c©n th­n tr°Ûc khi dùng không? và liÇu sau khi l¥y °ãc thông tin nào ó, hÍ có ç séc Ñi chi¿u vÛi thông tin °ãc công bÑ hay tìm cách xác Ënh l¡i thông tin tìm °ãc xem chúng có áng tin c­y hay không?"

'haothu' xen vào:

"Hì hì, bà Nh° ánh giá 'kiddie' th¥p quá v­y? B£n thân tui thì qu£ th­t tui th¥y h¡i o£i khi ph£i dùng mÙt công cå ch¡y trên dòng lÇnh và ph£i Íc h°Ûng d«n sí dång. Lo¡i công cå này th°Ýng có h°Ûng d«n quá ng¯n gÍn, Íc xong ph£i v­n dång, suy ngh) thì mÛi dùng °ãc. Tuy v­y, n¿u tui mà 'k¿t' mÙt cái gì thì tui sµn sàng bÏ công ra à lãnh hÙi nó thôi."

'cuti' góp chuyÇn:

"Em cing th¥y Khoa nói úng ó. B£n thân em cing bË dính vào c£m giác này."

Tôi h°Ûng câu chuyÇn vÁ trÍng iÃm:

"OK, cé cho là có 'kiddie' có thà dùng các công cå à xác Ënh 'footprint' mÙt cách không khó khn, v­y, mình có thà th¥y °ãc t§m quan trÍng cça viÇc xác Ënh 'footprint' rÓi ché? 'haothu', em th¥y sao?"

'haothu' lïng lÝ:

"D¡, trên m·t nguyên t¯c thì sñ thà rõ ràng h¡n rÓi nh°ng cái này ch¯c ph£i b¯t tay vào làm thì mÛi ánh giá úng méc °ãc t§m quan trÍng cça viÇc tìm 'footprint' thôi."

Tôi c°Ýi, cÑ gút v¥n Á l¡i:

"OK, em thí hình dung xem, có bao nhiêu ph§n trm 'hacker chuyên', bao nhiêu ph§n trm 'hacker bán chuyên' và bao nhiêu ph§n trm là 'kiddie'?"

'haothu' tr£ lÝi:

"SÑ l°ãng chính xác thì em không có rÓi ó nh°ng em ngh) r±ng sÑ 'kiddie' ch¯c là chi¿m a sÑ, sau ó là ¿n nhóm 'hacker bán chuyên'. Nhóm 'hacker chuyên' thì có l½ chÉ chi¿m thiÃu sÑ mà thôi."

Tôi hÏi ti¿p:

"V­y, em thí hình dung có bao nhiêu ph§n trm 'kiddie' s½ tìm tòi 'footprint' khi vÛ ph£i mÙt công cå dùng à t¥n công nào ó? Có bao nhiêu ph§n trm dân 'bán chuyên' ph£i mó tÛi chuyÇn 'footprint'? Và n¿u hÍ (c£ 'kiddie' l«n 'dân bán chuyên') không mó ¿n chuyÇn 'footprint' thì tÉ lÇ thành công s½ n±m ß méc nào?"

Không ãi 'haothu' tr£ lÝi, 'docco' chen vào:

"Theo em thì tÉ lÇ thành công g§n nh° không có. N¿u cé nh¯m m¯t mà phang ¡i thì ch³ng khác gì chó ngáp nh±m ruÓi c£."

Tôi úc k¿t iÃm th¯c m¯c cça 'haothu':

"V­y thì xét trên cn b£n, viÇc tìm 'footprint' là viÇc r¥t c§n thi¿t cho quá trình th­m nh­p chÛ gì? Óng ý vÛi nhau iÃm này rÓi ché?"

'ccxx' áp ngay:

"Em thì th¥y iÁu này sáng tÏ nh° con thÏ v­y. ChÉ có iÁu em còn h¡i ¥m éc là vì em muÑn 'ào xÛi' thêm cho ông Khoa th¥y là muÑn dùng công cå nào ó úng méc thì mình ph£i có ki¿n théc cn b£n cho v¥n Á này."

'cuti' ti¿p theo:

"Em cing v­y."

'docco' cing cho c£m ngh) và °a ra v¥n Á k¿ ti¿p:

"Ch¯c ch¯n là viÇc tìm 'footprint' là viÇc c§n thi¿t rÓi. Bây giÝ em muÑn hÏi anh là tìm 'footprint' bao gÓm nhïng iÃm chính nào. Anh cing hiÃu là em ch°a dám ·t bÍn em ß vË trí là 'dân chuyên', cing ch³ng muÑn ·t bÍn em ß vË trí là 'kiddie' nên có l½ bÍn em c§n hiÃu nguyên t¯c tìm 'footprint' nh°ng ám 'bán chuyên' v­y :)"

Tôi tr£ lÝi, không quên gh¹o 'cuti':

"OK 'ccxx', anh ngh) em s½ có dËp thñc hiÇn ý Ënh thôi. Ch¯c ch¯n mình s½ ång ¿n chuyÇn này. Còn 'cuti', em cing v­y có ngh)a là 'bà tiÁn hô, ông h­u çng' h£? ;-)."

Tôi ti¿p tåc:

"Anh nhÛ hÓi nãy em có nh­n xét là dân 'bán chuyên' th°Ýng dña vào bug-track và trên bug-track th°Ýng có ghi rõ hÇ iÁu hành, phiên b£n cça nó và phiên b£n software cça dËch vå. N¿u v­y, theo em ngh), xác Ënh 'footprint' là xác Ënh nhïng cái gì mÙt cách cå thÃ?"

'docco' liÁn áp lÝi:

"Oài... quá hiÃn nhiên mà anh? T¥t nhiên là mình xác Ënh ba iÁu chính:

- måc tiêu ch¡y trên hÇ iÁu hành nào

- phiên b£n cça hÇ iÁu hành ó

- software t¡o dËch vå là software gì, có phiên b£n nào

ph£i không anh?"

Tôi c°Ýi, áp:

"úng rÓi. Nh°ng... em nên tñ tin h¡n. CÑ g¯ng ëng kèm thêm o¡n 'ph£i không anh' làm chi :). N¿u 'không ph£i' ho·c ch°a §y ç thì anh s½ ý ki¿n liÁn. ëng lo.

RÓi, v­y thì mình khai triÃn ba iÁu 'docco' °a ra v­y. Câu hÏi thé nh¥t °ãc ·t ra: làm sao xác Ënh °ãc måc tiêu ch¡y trên hÇ iÁu hành nào?"

'bÙ té' im l·ng, tr§m ngâm hÓi lâu. Sau ó 'cuti' lên ti¿ng:

"Em nhÛ là em ã có Íc qua vài o¡n vÁ chuyÇn này nh°ng lúc ó em không cho là quan trÍng nên không ghi nh­n nó. Hình nh° là 'banner' cái gì gì ó."

'docco' chêm vào:

"À, úng rÓi, 'banner grabbing'. ây là mÙt cách l¥y thông tin mình c§n vÁ hÇ iÁu hành và phiên b£n cça måc tiêu ph£i không anh?"

Tôi áp:

"úng rÓi, ây là mÙt cách dÅ nh¥t, thông dång nh¥t và có thà có k¿t qu£ cñc kó chính xác ho·c cñc kó sai l¡c."

'ccxx' ng¡c nhiên:

"Sao kó v­y anh? làm sao mà vëa có thà chính xác và sai l¡c?"

Tôi c¯t ngh)a:

"Thông th°Ýng banner grabbing nh° th¿ này, gi£ sí måc tiêu có dËch vå telnet ang l¯ng nghe, em thí:

Code:

$ telnet myhost.mydomain.com

Red Hat Linux release 9 (Shrike) myhost.mydomain.com

myhost login:

cho mình th¥y ngay måc tiêu ang ch¡y trên RedHat và phiên b£n là 9.0. Thông tin này có thà hoàn toàn chính xác n¿u nh° admin cça server này hoàn toàn không thay Õi, che d¥u footprint cça hÇ thÑng. N¿u v­y thì thông tin c§n bi¿t ã có mÙt cách dÅ dàng. Tuy nhiên, làm sao xác Ënh °ãc thông tin này xác thñc? N¿u måc tiêu không mß dËch vå telnet thì có thà làm gì khác à xác Ënh thông tin này?"

'haothu' không trñc ti¿p tr£ lÝi câu hÏi cça tôi mà l¡i hÏi ti¿p mÙt câu khác:

"æa, sao anh không cho thông sÑ giá trË cÕng dËch vå ß trên v­y? Em th¥y th°Ýng th°Ýng lÇnh telnet i theo thông sÑ Ëa chÉ và cÕng mà?"

Tôi áp:

"À, nhiÁu ng°Ýi bÑi rÑi chi ti¿t r¥t nhÏ này. Khi em dùng lÇnh telnet và chÉ có thông sÑ thé nh¥t là Ëa chÉ nh°ng không kèm theo thông sÑ thé hai là cÕng thì telnet dùng cÕng (ích) m·c Ënh là 23 (cÕng telnet). Nói mÙt cách khác, n¿u em không cung c¥p giá trË cÕng thì telnet client (ch°¡ng trình telnet em dùng trên command prompt là telnet client) s½ tñ Ùng truy c­p ¿n Ëa chÉ ã cho ß cÕng 23. N¿u em cung c¥p Ëa chÉ và cÕng thì telnet client s½ truy c­p ¿n Ëa chÉ ¥y ß cÕng °ãc ¥n Ënh. Ví då, em gõ

Code:

$ telnet www.mysite.com 80

thì telnet client s½ truy c­p ¿n Ëa chÉ là www.mysite.com ß cÕng 80. Rõ rÓi ché?"

'haothu' ­m ë:

"D¡... nh°ng... ùm... m×i l§n em dùng telnet trên windows à telnet ¿n cÕng nào ó, sau em ch³ng th¥y có chï gì h¿t, chÉ có cái command prompt en ngòm v­y anh? Hay em làm gì sai?"

Tôi áp, h¡i thi¿u kiên nh«n:

"À, m¥y cái này là do telnet trên Windows không có 'echo' ó thôi. N¿u em gõ Run/cmd rÓi trên dos-prompt này em mÛi gõ telnet thì Windows s½ dùng telnet client bên trong command window (DOS-console) và em không set 'echo' °ãc cho nên nó... en ngòm. N¿u em thí gõ Run/C:\Winnt\system32\telnet.exe thì Windows s½ t¡o mÙt process riêng biÇt cho telnet client và nó ß trong tình tr¡ng t¡m gÍi là "full mode", lúc ¥y em có thà set 'echo' °ãc. Trong ch¿ Ù này, em có thà set bi¿n LOCAL_ECHO và nó s½ hiÇn ra chï m×i khi em gõ thôi. M¥y cái này có trong ph§n "help" cça Windows c£. Em chËu khó tìm hiÃu chi ti¿t chÛ mình mà ào sâu m¥y thé này thì i xa trÍng tâm ó em."

'haothu' tr£ lÝi:

"D¡. Ch¯c do em ch°a mày mò úng méc thôi."

'cuti' chen vào:

"M¥y cái này úng ngh)a là 'hiÃu rõ', 'hiÃu ngÍn ngành' ây. Ui... bi¿t chëng nào mÛi 'ngÍn ngành' mÍi thé ây trÝi?"

Tôi ti¿p tåc:

"Th±ng này cé than vÛi thß. Të të thì s½ ngÍn ngành thôi em. Em ph£i ång ¿n nó, ph£i chËu khó thì mÛi n¯m °ãc nhiÁu. Thôi mình ti¿p tåc chuyÇn hÓi nãy i h£?"

'docco' hÏi ngay:

"V­y n¿u måc tiêu ¥y không có dËch vå telnet thì mình telnet vào mÙt dËch vå khác ph£i không anh?"

Tôi c°Ýi, áp:

"úng rÓi. Nh°ng lý do t¡i sao mình telnet vào mÙt dËch vå khác?"

'docco' tr£ lÝi:

"Hình nh° dËch vå nào cing có cái 'banner' h¿t ph£i không anh? N¿u v­y, khi mình telnet vào dËch vå, có ngh)a là mình muÑn k¿t nÑi vÛi dËch vå ¥y thì nó th°Ýng 'chào' mình b±ng mÙt biÃu ngï?"

Tôi áp:

"úng l¯m. Hình nh° em có ngâm céu qua m¥y cái này rÓi ph£i không Duy?"

'docco' áp:

"Hì hì, úng là không qua m·t anh nÕi. úng là em có 'ngâm' qua vài thông tin vÁ chuyÇn 'footprint' ó anh vì l§n tr°Ûc mình có bàn qua vÁ chuyÇn này. Em ngh) ch¯c nó ph£i quan trÍng nên anh mÛi khai triÃn nó, cho nên em Íc thêm à n¯m thêm thông tin."

R¥t hài lòng vÛi sñ chuyên tâm cça docco, tôi áp:

"Hay l¯m. N¿u em chuyên tâm nh° v­y thì em s½ n¯m °ãc chìa khoá cça v¥n Á mÙt cách nhanh chóng ó Duy :)"

'docco' lúng túng:

"D¡... ùm... à.... em chÉ cÑ quan sát và rút kinh nghiÇm të nhïng l§n m¥y anh em mình 'à khía' thôi anh. Em rút ra mÙt iÁu là anh luôn luôn có dång ý gì ó khi °a ra mÙt v¥n Á cho nên l§n này em lo 'rào' tr°Ûc, hì hì."

'cuti' xen vào:

"Em cing ráng 'rào' nh°ng hình nh°ng em ch°a vïng tâm b±ng th±ng Duy. Em v«n ch°a có thà xác Ënh là tñ nên làm cái gì ti¿p."

'haothu' trêu 'cuti':

"Tao th¥y mày nên l¥y vã là chuyÇn ti¿p theo mày nên làm... ti¿p ;-)"

Tôi th§m ngh), m¥y ông t°Ûng này làm sao tránh khÏi chit chat. V­y cing vui nh°ng ph£i 'iÁu tác' mÙt tí không thì sa à, m¥t thÝi gian. Tôi bèn lên ti¿ng:

"êa, nó mà l¥y vã thì ch¯c khÏi th¥y m·t nó luôn. Thôi, mình 'khoá' cái v¥n Á ang lß dá kia rÓi anh ph£i dÍt á."

'ccxx' lên ti¿ng:

"D¡... cám ¡n anh céu bÓ, chÛ hông thì m¥y Õng chÍc ¿n mai cing không chËu ng°ng âu :(. Em muÑn hÏi anh là n¿u m¥y ông admin bi¿t tr°Ûc chuyÇn nhïng tay thâm nh­p cÑ tìm thông tin të banner à tìm cách t¥n công, hÍ tháo h¿t m¥y cái banner i thì l¥y âu mà thm dò h£ anh? Em thì không rõ hÍ tháo m¥y cái banner b±ng cách nào nh°ng em hình dung là n¿u g¯n lên °ãc thì ph£i tháo xuÑng °ãc."

Tôi c°Ýi, áp:

"Ái chà, con bé nói chuyÇn phòng thç h£? úng là b£n nng tñ nhiên cça phå nï ;-). Em °a ra mÙt iÃm h¿t séc lý thú. úng rÓi, ngày nay các admin có quan tâm ¿n b£o m­t Áu thñc hiÇn viÇc 'd¥u' banner à gi£m thiÃu thông tin vÁ máy bË ti¿t lÙ. Có nhiÁu admin còn cñc oan h¡n nïa là hÍ ch³ng nhïng d¥u mà còn cÑ tình thay Õi të A thành B à ánh lëa nhïng k» thm dò nïa."

'cuti' xen vào:

"Nh°ng mà khoan, cho em hÏi mÙt chi ti¿t này mÙt tí anh? Hình nh° mình chÉ th¥y °ãc cái banner cça mÙt dËch vå khi mình cÑ tình truy c­p nó ß méc Ù th¥p h¡n ph£i không anh? Ví då em dùng Outlook Express à gßi và nh­n mail thì làm sao mình th¥y °ãc m¥y cái banner kia?"

Tôi áp:

"Em th¯c m¯c mÙt iÃm r¥t có lý. Th­t ra mail client nh° Outlook Express 'th¥y' h¿t nhïng cái banner nh°ng nó th°Ýng 'd¥u'. Ngo¡i trë em muÑn xem cái 'header' cça nó. Em thí tìm tòi xem trong m¥y cái 'header' cça smtp mà mail client nh­n °ãc, nó có chút ít 'footprint' không? :). Nhïng dËch vå khác nh° ftp, khi em dùng ftp client à truy c­p ftp server, n¿u ftp server này không d¥u banner thì em s½ th¥y ngay cái banner trong lúc truy c­p. DËch vå http thì l¡i khác, em không th¥y m¥y cái banner bßi các trình duyÇt éng dång à 'hiÃn thË' nhïng thông tin mà ng°Ýi dùng bình th°Ýng c§n xem mà thôi. Tuy nhiên, n¿u em truy c­p http service ß d¡ng 'raw' (nh° i qua telnet) thì em có thà th¥y r¥t nhiÁu thông tin n¿u nh° server này không d¥u banner.

Nên nhÛ mÙt iÁu là không ph£i banner nào cing chéa ñng thông tin vÁ hÇ iÁu hành và phiên b£n cça nó. Thông th°Ýng nó chÉ chéa tên software t¡o dËch vå (mình telnet vào) và phiên b£n cça nó. Tuy v­y mình cing có thà ph§n nào oán °ãc hÇ iÁu hành dña trên thông tin này."

'cuti' áp mÙt cách tho£ mãn:

"À, v­y thì tùy dËch vå mà tìm banner ph£i không anh? Nh°ng hình nh° cách dùng telnet là ch¯c n nh¥t. Nh°ng mà em th¥y chi ti¿t 'có thà ph§n nào oán °ãc hÇ iÁu hành' có v» không °ãc ch¯c n v­y anh?"

Tôi áp:

"êa, n¿u nh° banner ó là banner thé thiÇt, không hÁ bË thay Õi. Còn chuyÇn ch¯c n thì ch³ng có gì mà ch¯c n âu em. M×i ng°Ýi có thà tìm k¿t qu£ m×i khác trong quá trình thm dò bßi vì có quá nhiÁu thông tin và tùy vào °¡ng sñ mà phân tích, chÍn lÍc thông tin nào logic nh¥t, áng tin c­y nh¥t. Nên nhÛ r±ng thm dò không ph£i là 'hack' nha em. 'Thm dò' là 'thm dò', là mÙt quá trình tìm tòi, phân tích nhïng dï kiÇn có thà l¥y °ãc dña vào nhïng công cå, ph°¡ng tiÇn cho phép.

Quay l¡i nh­n Ënh cça 'ccxx' mÙt tí cho trót h£? Em ngh) th¿ nào khi em thí telnet vào mÙt server và nó cho em thông tin nh° sau:

Code:

$ telnet www.mydomain.com 80

Trying

www.mydomain.com...

Connected to www.mydomain.com.

Escape character

is '^]'.

HEAD /somefile.txt HTTP/1.0

HTTP/1.1 404 Not Found

Date: Thu, 25 Apr 2004 14:29:46 GMT

Server: Microsoft-IIS/5.0

Connection: close

Content-Type: text/html; charset=iso-8859-1

Connection closed by foreign host.

"

'ccxx' ng«m ngh) rÓi tr£ lÝi:

"D¡ thông tin ß ây cho th¥y server là mÙt con IIS 5.0, em tin ch¯c ây là mÙt web server ch¡y trên hÇ iÁu hành Windows 2000."

Tôi kh¡i mào:

"Còn m¥y éa có ý ki¿n gì khác không v­y?"

Ba trñ kia im l·ng khá lâu. Sau ó 'cuti' råt rè lên ti¿ng:

"Èm... à.... em ngh) có cái gì tàng ©n ß ây hay sao ó. Em cing ngh) cái này là mÙt con IIS 5.0, mà ã là IIS 5.0 thì nó ch¡y trên Windows 2000. Không bi¿t có cái gì ©n khu¥t ß ây không nhÉ?"

'docco' cing lên ti¿ng:

"Hì hì, th±ng H°ng cing b¯t §u có bËnh hoài nghi rÓi. Em cing ngh) nh° H°ng v­y. Tuy nhiên, tñ nhiên em cing h¡i hoài nghi vì n¿u nó ¡n gi£n và rõ ràng nh° th¿ thì anh °a nó ra làm chi?"

'haothu' cing tham gia:

"Ch¯c ch¯n là Windows 2000 rÓi. Thông tin rõ m°Ýi m°¡i th¿ kia mà."

Tôi không tr£ lÝi mà °a ra thêm mÙt ví då khác:

"°ãc rÓi, à anh °a ra thêm mÙt ví då khác à tåi em tìm xem có gì ·c biÇt không h£? ây:

Code:

$ telnet www2.mydomain.com 80

Trying

www2.mydomain.com...

Connected to www2.mydomain.com.

Escape character

is '^]'.

HEAD /somefile.txt HTTP/1.0

HTTP/1.1 404 Object Not Found

Server: Microsoft-IIS/5.0

Date: Thu, 25 Apr 2004 14:35:23 GMT

Content-Length: 460

Content-Type: text/html

Connection closed by foreign host.

"

BÙ bÑn hoàn toàn im l·ng nhiÁu phút Óng hÓ. HÓi lâu, 'docco' lên ti¿ng:

"Em th¥y rõ cái thé nhì khác cái thé nh¥t mÙt chút là cái thé nhì có thêm Content-Length và Content-Type thì h¡i khác mÙt chút vì không có o¡n 'charset=iso-8859-1'. T¡i sao chúng l¡i khác nhau ß m¥y iÃm này? Ch¯c ch¯n chúng là 2 server riêng biÇt vì mÙt cái là www.mydomain.com, cái kia là www2.mydomain.com. Em chÉ không hiÃu °ãc lý do t¡i sao chúng khác nhau m·c dù c£ hai Áu là IIS 5.0."

'ccxx' nh­n Ënh:

"Hay là mÙt trong hai server trên có banner gi£? Dám l¯m ó. Anh ang khai triÃn viÇc thay Õi banner ph£i không nào? V­y ch¯c chuyÇn này có thà l¯m."

'cuti' và 'haothu' cùng c£m thán:

"Ái chà."

"úng rÓi."

Tôi c°Ýi, thong th£ áp

"Bé Nh° nhà mình tinh t¿ l¯m. Rõ ràng là mình ang khai thác chuyÇn thay Õi banner mà. Qu£ th­t mÙt trong hai server trên gi£ d¡ng banner ó. N¿u v­y làm sao mình xác Ënh °ãc cái nào thiÇt, cái nào gi£?"

'docco' xuýt xoa:

"Ái chà, th­t là lý thú. Em không ngÝ ào xÛi m¥y cái HTTP header ß t§ng này l¡i có nhïng iÁu lý thú ¿n nh° v­y. Làm sao mình xác Ënh °ãc cái nào thiÇt, cái nào gi£ bây giÝ anh?"

Tôi áp:

"Hì hì, anh hÏi em, em hÏi l¡i anh? Cái này à em suy ngh) tr°Ûc cái ã. Anh tr£ lÝi liÁn thì m¥t hay i. Em tìm cách thí mÙt cái xem nào?"

'ccxx' thÑt lên:

"A... có rÓi, có rÓi. Tr°Ýng mình có mÙt con server ch¡y Windows 2000 và IIS 5. Cé thí telnet vào nó và ch¡y y hÇt dòng HEAD nh° trên ví då thì s½ bi¿t ngay thôi."

'cuti', 'haothu', 'docco' Óng c£m thán:

"úng rÓi."

"Ü hÛ."

"Sao mình không ngh) ra nhÉ? úng là àn bà, con gái tinh t¿ m¥y chuyÇn này."

Sau vài phút, 'cuti' lên ti¿ng tr°Ûc. Qu£ th­t m¥y ông ñc rña nhanh nh£u h¡n trong chuyÇn 'Ùng tay, Ùng chân' nh°ng l¡i ch­m h¡n m¥y cô kho£n 'nh­n xét tinh t¿'

"Th±ng thé nhì úng là th±ng IIS 5.0"

Ti¿p theo ó là 'docco', 'haothu' và 'ccxx' Óng xác nh­n:

"úng rÓi, ch¯c ch¯n server thé nhì ch¡y con IIS 5.0 thé thiÇt."

"H¿t °Ýng thoát."

"Em ã nói th¿."

và nhiÁu câu trao Õi khác.

Cái YIM 'conference' bé nhÏ trß nên rÙn rã b±ng nhïng câu c£m thán. Tôi hiÃu sñ rÙn rã này không ph£i tính quan trÍng hay mÛi m» cça nhïng iÁu bÙ bÑn tìm th¥y mà ß ch× chính ß ch× bÙ bÑn nhúng tay vào viÇc quan sát, phân tích, thao tác, so sánh và úc k¿t ra °ãc. Tôi lên ti¿ng:

"Trong hai ví då trên, còn có chi ti¿t nào khác nhau giïa hai server? Chi ti¿t này h¿t séc ·c biÇt. BÍn em xem thí?"

Nh° tôi dñ phÏng, chính 'ccxx' l¡i tìm ra iÃm khác biÇt tr°Ûc tiên trong bÙ bÑn. 'ccxx' áp:

"Em tìm ra rÓi. Cái khác nhau là 'HTTP/1.1 404 Not Found' và 'HTTP/1.1 404 Object Not Found' ph£i không anh? Server thé nh¥t chÉ thông báo là 'không tìm th¥y' còn con IIS thì l¡i thêm chï 'object' vào trong thông iÇp."

'haothu' áp, v» ti¿c r»:

"Công nh­n bà Nh° lanh thiÇt. Tui cing vëa tìm ra, ch°a kËp nói thì bà ã làm xong rÓi."

Tôi hÏi ti¿p:

"V­y bÍn em ngh) iÃm khác nhau mà Nh° °a ra có gì quan trÍng?"

'cuti' láu táu lên ti¿ng:

"Em th¥y iÃm khác biÇt này ch³ng ích lãi gì c£. M¥y ông Microsoft hay có thói làm cho khác ng°Ýi v­y thôi à."

'ccxx' nguýt 'cuti':

"Hé... cing là chéng nào t­t n¥y. Ch°a suy ngh) cho kù ã ôm Ñp nïa rÓi. Trong khuôn khÕ 'nh­n diÇn', iÃm khác biÇt kia h³n ph£i có mÙt giá trË nào ó chÛ?"

'cuti' lúng búng vÛi 'ccxx':

"Èm... thì anh có nói gì âu à."

Tôi can gián ngay:

"Thôi thôi. 'ccxx' nh­n Ënh v­y là chính xác. iÃm khác biÇt ß ây giúp chúng ta dÅ dàng nh­n ra âu là IIS th­t, âu là IIS gi£ m¡o. Trên *nix, apache th°Ýng °ãc dùng làm web service nh¥t. Nhïng ai rành rõi vÛi chuyÇn biên dËch th°Ýng t£i mã nguÓn cça apache vÁ và sía l¡i thông tin cça banner trong nguÓn. G§n ây, nhïng ai dùng apache còn có thêm mod_security cho phép 'gi£' banner nïa. Tuy v­y, có d¥u banner v«n không d¥u °ãc nhïng ·c iÃm khác. VÛi ví då thé nh¥t, mình bi¿t ngay ây là banner 'gi£ m¡o'. ChuyÇn xác Ënh banner th­t cça nó là gì là chuyÇn khác nïa nh°ng tr°Ûc m¯t mình có thà xác Ënh ph§n nào ó hÇ iÁu hành ang ch¡y web server ó không h³n là Windows 2000. iÁu ti¿p theo là ph£i xác Ënh rõ h¡n n¿u muÑn ti¿p tåc thm dò."

'haothu' hÏi:

"N¿u v­y em th¥y chuyÇn gi£ m¡o banner à d¥u danh tánh âu có ích lãi gì cho l¯m âu anh?"

Tôi c°Ýi, hÏi sang 'docco', 'cuti' và 'ccxx':

"BÍn em ngh) sao vÁ nh­n Ënh cça 'haothu'?"

'docco' tr£ lÝi tr°Ûc:

"Em th¥y tr°Ûc tiên nó ánh lëa °ãc m¥y ông kiddie. ây cing là chuyÇn ích lãi."

'cuti' ng§n ngë:

"Em.... em thì th¥y nó có lãi khá nhiÁu. Ngoài chuyÇn ánh lëa kiddie, nó có thà ánh lëa °ãc c£ Ñng công cå dùng à tñ Ùng thm dò hông chëng. Em th¥y có khá nhiÁu công cå dành riêng cho công tác này, c£ th°¡ng m¡i l«n mã nguÓn mß. Ví då ch°¡ng trình tñ Ùng kia 'nhìn' th¥y dËch vå là IIS thì nó chÉ dùng các l×i cça IIS có trong database cça nó mà... nÇn. Mà nÇn th¿ này thì tr­t l¥t h¿t vì th­t sñ dËch vå này âu ph£i là IIS. Em th¥y ây cing là mÙt iÃm hay."

'ccxx' phát biÃu:

"Em th¥y tùy méc Ù kinh nghiÇm cça k» thm dò. N¿u thm dò kiÃu nh° anh nói ß ây thì có ma nào mà d¥u nÕi. Tuy nhiên, em ngh) là 'cuti' r¥t có lý vÛi ý ki¿n dùng nó Ã lëa các công cå tñ Ùng."

Tôi áp:

"Hay l¯m, ráng 'Ùng não' Áu Áu h£ :). Qu£ th­t, dùng ph°¡ng pháp thay Õi banner chÉ có thà ánh lëa nhïng ng°Ýi ch°a ç kinh nghiÇm và mÙt sÑ tools tñ Ùng hoá ch°a ç tinh vi. Tuy v­y, ánh lëa °ãc nhóm 'thm dò' ß d¡ng hoàn toàn phó m·c vào công cå cing ã là áng kà vì nhóm này chi¿m a sÑ. V­y, trên ph°¡ng diÇn phòng thç, liÇu mình có nên éng dång ph°¡ng cách 'gi£' banner không?"

'cuti' áp:

"Em ngh) là nên. Lëa °ãc chút nào hay chút ó chÛ anh? :)"

'docco' lên ti¿ng:

"Em ngh) cing nên làm nh°ng n¿u nó không th­t sñ tác dång thì không nên quá tÑn công séc vÛi nó."

Tôi áp:

"úng rÓi. N¿u có thà 'gi£' à gi£m thiÃu nhïng màn thm dò chung chung thì t¡i sao không làm? Em nên bi¿t, chÉ có chëng d°Ûi 10% các cú rà tñ Ùng °ãc ti¿p tåc b±ng quá trình 'rà' b±ng tay à xác Ënh thêm thông tin måc tiêu. Thông th°Ýng, quá trình rà tñ Ùng chÉ Ã thu th­p mÙt sÑ måc tiêu có thông tin cå thà mà k» thâm nh­p muÑn tìm. Tuy nhiên, Ñi vÛi k» có quy¿t tâm thm dò mÙt måc tiêu cå thà nào ó thì chuyÇn 'gi£' có l½ không tác dång gì m¥y.

BÍn em có nghe ¿n khái niÇm security through obscurity ch°a?"

'docco' áp:

"Em có th¥y nh¯c ¿n nhiÁu n¡i nh°ng em không ào sâu l¯m vì không rõ tác dång cça nó. Nó là gì v­y anh?"

Tôi nói ti¿p:

"êa, security through obscurity dËch nôm na ra ti¿ng ViÇt là b£o m­t b±ng tính b¥t kh£ Ënh. Hay nói mÙt cách khác, vì måc tiêu không °ãc rõ ràng nên nó có v» b£o m­t h¡n. Có h³n mÙt tr°Ýng phái r¥t chuÙng security through obscurity nh°ng b£n thân anh thì anh không chuÙng bßi vì nó thuÙc vÁ cái vÏ bên ngoài mà thôi. Ñi vÛi nhïng ai th­t sñ muÑn thâm nh­p thì cái 'vÏ' này mÏng manh l¯m. N¿u có thÝi gian và iÁu kiÇn thì thêm cái vÏ này cing tÑt nh°ng n¿u chÉ phó m·c vào nó Ã 'b£o m­t' thì r¥t phi¿n diÇn."

'cuti' th¯c m¯c:

"HÍ làm sao gÍi là 'chuÙng' v­y anh?"

Tôi áp:

"À, 'chuÙng' ß ây là hÍ dành nhiÁu thÝi gian, công séc à t¡o mÙt lÛp vÏ 'gi£' à ánh lëa k» t¥n công. Có thà lÛp vÏ này làm ch­m b°Ûc thâm nh­p vì k» muÑn t¥n công vì hÍ m¥t thÝi gian xác Ënh th­t tính cça måc tiêu. Tuy v­y, thi¿u b£o m­t të bên trong ra, thi¿u b£o m­t th­t sñ thì lÛp vÏ này tan vá nhanh chóng."

'cuti' hÏi ti¿p:

"Em ngh) là chuyÇn gi£ mÙt cái banner âu có m¥t thÝi gian âu anh?"

Tôi áp:

"êa, Ñi vÛi mã nguÓn mß thì ây là chuyÇn không m¥t thÝi gian cho l¯m. Tuy v­y, ít nh¥t em ph£i c§n thÝi gian à biên dËch l¡i software. Ñi vÛi software th°¡ng m¡i thì ây là chuyÇn hoàn toàn khác. Nó dính ¿n chuyÇn b£n quyÁn, chuyÇn giÛi h¡n thay Õi software nên r¥t phiÁn phéc. Trên méc Ù banner thì th¿, nh°ng chuyÇn 'ánh lëa' còn i sâu xuÑng tcp/ip stack nïa. HÍ 'chuÙng' ph°¡ng pháp này ¿n Ù tìm cách thay Õi tcp/ip stack à d¥u nhïng ·c tính cça các gói tin i ra / i vào të các cÕng dËch vå bßi vì các gói tin này mang nhïng ·c iÃm có thà dùng à xác Ënh 'footprint' nïa.

N¿u em chÉ qu£n lý mÙt vài máy chç thì có l½ không quá phiÁn phéc nh°ng n¿u em ph£i qu£n lý c£ mÙt hÇ thÑng ch±ng chËt có nhiÁu máy chç, nhiÁu thi¿t bË thì sñ thà r¥t khác. Ngay c£ em chÉ qu£n lý mÙt vài máy chç mà không c©n th­n, tÉ mÉ thì cing vô ích bßi vì em có thà 'd¥u' §u này nh°ng à lÙ §u kia thì cing ch³ng phåc vå °ãc ý Ënh 'd¥u'."

'cuti' c£m thán:

"Chà... chuyÇn phéc t¡p v­y sao anh? Hoá ra b£o m­t cing có nm b£y °Ýng. Em th¥y chuyÇn 'gi£' này có v» thú vË l¯m."

'docco' xen vào:

"Cho em hÏi mÙt chi ti¿t nha anh? Anh nói là trên *nix ng°Ýi ta th°Ýng thay Õi source cça apache hay dùng mod_security à gi£ banner. V­y trên Windows và dùng IIS thì có ph°¡ng cách nào t°¡ng tñ không anh? Em ngh) IIS thì không thà iÁu chÉnh mã nguÓn rÓi ó."

Tôi c°Ýi, áp:

"Chà chà, bÙ em cing muÑn theo tr°Ýng phái 'security through obscurity' sao? :). Trên Windows thì có mÙt sÑ soft. Anh không nhÛ chính xác vì anh không 'chuÙng' m¥y cái này nh°ng anh bi¿t Windows có mÙt cái gÍi là urlscan. Nó làm viÇc trên t§ng ISAPI cça dËch vå web cça IIS và cho phép em 'gi£' banner ó. N¿u thích thì vào site cça Microsoft mà tham kh£o thêm. Anh ngh) em có thà táy máy ¿n m¥y các dll cça inetsrv cça Windows à Õi banner nh°ng ch¯c s½ m¥t thÝi gian. H¡n nïa, ã d¥u thì d¥u cho trót, ph£i Õi h¿t trÍn bÙ error pages cça IIS không thì banner mÙt n¡i mà error pages mÙt n»o."

'haothu' th¯c m¯c:

"Anh vëa nói chuyÇn thay Õi tcp/ip stack à che d¥u 'footprint', em th¥y cái này l¡ ghê. Anh nói rõ h¡n mÙt tí °ãc không anh?"

Tôi áp:

"êa, ó cing là mÙt trong nhïng lý do anh Á nghË bÍn em Íc kù vÁ tcp/ip l§n tr°Ûc à dÅ hình dung h¡n ó nh°ng m¥y anh em mình sa à ß méc banner nên ch°a Á c­p ¿n level này. Ch¯c ch¯n mình s½ ång ¿n kho£ng ó thôi. Em an tâm."

Tôi ti¿p tåc ph§n ang khai triÃn ß trên:

"OK, n¿u mình bi¿t 'th±ng' thé nh¥t ß trên là gi£ m¡o, làm sao mình xác Ënh °ãc danh tánh th­t sñ cça nó là gì?"

BÙ bÑn l¡i im l·ng. Sau vài phút, 'docco' lên ti¿ng:

"Ái chà, cái này mÛi vui á. Em mgh) ch³ng dÅ tí nào."

'haothu' nh­n Ënh:

"Em ngh) ch¯c ph£i dùng ph°¡ng pháp so sánh nh° kiÃu mình so sánh vÛi mÙt IIS server nh° hÓi nãy thôi anh. Anh th¥y chuyÇn này kh£ thi không?"

Tôi áp:

"Kh£ thi chÛ sao không em? Em nên nhÛ r±ng, b°Ûc thm dò b±ng tay tuy ch­m nh°ng nó luôn luôn cho em k¿t qu£ xác thñc h¡n b°Ûc thm dò tñ Ùng b±ng công cå nào ó. V­y, Ã so sánh thì mình c§n có cái gì?"

'haothu' tr£ lÝi:

"Nh¥t Ënh là mình ph£i có các b£n m«u 'xËn' rÓi cé dùng cái mình ang thm dò mà so sánh vÛi b£n 'xËn' là xong."

Tôi kh¡i mào:

"V­y mình c§n ph£i thu th­p h¿t các b£n m«u 'xËn' :). Cái này còn gÍi là 'footprint database'. Tùy m×i ng°Ýi có cách l°u trï và so sánh nh°ng iÃm cÑt lõi là: dù có 'rà' b±ng tay hay 'rà' tñ Ùng, em ph£i có mÙt sÑ thông tin m«u nào ó à làm chu©n. N¿u không, em không thà so sánh cái mình th¥y (të viÇc thm dò) vÛi mÙt cái gì khác c£."

'haothu' hÏi ti¿p:

"V­y mình ph£i 'thm dò' h¿t các lo¡i web server à l¥y 'footprint' thé thiÇt à dành hay sao anh? Cñc quá v­y? Có database nào có sµn m¥y cái này không anh?"

Tôi áp:

"Anh ngh) là có nh°ng ch°a th¥y phÕ bi¿n ß bên ngoài nh° mÙt database bình th°Ýng mà nó thuÙc mÙt công cå thm dò ß d¡ng mình ang bàn. Bßi v­y, ngay të §u anh ã nói: muÑn thâm nh­p mÙt cách úng ngh)a, em ph£i r¥t kiên nh«n, ph£i có cn c¡ và ph£i hiÃu måc tiêu cça mình là v­y ó."

Tôi nói ti¿p:

"Þ ây anh muÑn nói ¿n ph°¡ng h°Ûng ti¿p c­n v¥n Á chÛ không ph£i cách gi£i quy¿t cå thà cho tëng tr°Ýng hãp, tëng khúc m¯c. H°Ûng ti¿p c­n ß ây là: tìm và thu th­p các 'footprint' cça các web server à làm t° liÇu cho viÇc so sánh vÁ sau. Còn chuyÇn gi£i quy¿t th¿ nào thì mình ã bàn qua ph§n nguyên t¯c. Anh chÉ 'kh¡i mào' cho em à khßi Ùng còn muÑn ch¡y xa, ch¡y nhanh thì tuó ß em :).

VÛi hai ví då trên, anh còn muÑn nh¯c ¿n mÙt iÃm khác r¥t quan trÍng. BÍn em thí copy và paste chúng vào hai cÙt c¡nh nhau à dÅ so sánh, dùng soft nào cing °ãc, cách nào cing °ãc, miÅn sao có thà ·t chúng bên c¡nh nhau à so sánh. Ch¯c ch¯n em s½ tìm ra thêm iÃm khác nhau nïa."

Vài phút trôi qua, 'ccxx' l¡i lên ti¿ng tr°Ûc tiên:

"Em th¥y rÓi. VË trí thé tñ cça các HTTP header khác nhau ph£i không anh?"

Tôi áp:

"Chính xác. Chúng khác nhau ó. Tr°Ûc ây anh cing th¯c m¯c chuyÇn này nh°ng sau khi xem m¥y các RFC cho HTTP thì mÛi th¥y là ch³ng có áp ·t cå thà nào vÁ thé tñ trình bày cça các HTTP header c£. Bßi th¿, m×i n¡i implement m×i khác và ây là mÙt iÃm ·c thù giúp mình phân tích và phân biÇt 'footprint' nïa."

'cuti' th¯c m¯c:

"Sao anh bi¿t °ãc nhïng chi ti¿t tinh vi và khó th¥y nh° th¿ v­y anh? Có tài liÇu nào ó h°Ûng d«n m¥y chuyÇn này không anh?"

'docco' cing lên ti¿ng:

"D¡, em cing th¯c m¯c nh° th±ng Duy v­y. Em ch°a hÁ th¥y ß âu nói ¿n nhïng chi ti¿t lý thú nh° th¿ này vÁ chuyÇn nh­n diÇn 'footprint'."

Tôi áp:

"Có thà có nhïng tài liÇu phân tích nhïng chuyÇn này. Anh không ch¯c vì anh ch°a hÁ Íc °ãc cái nào c£. à tr£ lÝi th¯c m¯c cça 'cuti', anh vô tình tìm ra nhïng khác biÇt ó trong khi 'táy máy' và test mÙt web application vi¿t b±ng java. Application này °ãc deploy trên c£ Windows l«n Unix nh°ng có web-tier khác nhau. Trên Windows thì dùng IIS và trên *nix thì dùng Apache và iPlanet (cça Sun). Anh ph£i b¯t l¥y h¿t các header cça tëng lo¡i web server à t¡o bÙ lu­t mapping cho cái reverse proxy nên mÛi th¥y °ãc nhïng cái khác nhau kia. Kinh nghiÇm x°¡ng máu ó! :)"

'haothu' rên rÉ:

"Ôi trÝi, anh 'ViÇt-hóa' o¡n trên dùm em °ãc không anh? cái gì mà 'web-tier', rÓi ¿n 'deploy', 'mapping', rÓi 'reverse proxy'... Em Íc th¥y muÑn... t©u ho£ luôn :("

Tôi c°Ýi, áp:

"Ái chà... anh cing ch³ng bi¿t ph£i dËch ra sao nïa. N¿u em có ång ch¡m ¿n các éng dång web h¡ng... n·ng thì h³n s½ bi¿t °ãc khái niÇm 'mutlti-tier' application. Cái này có ngh)a là mÙt éng dång có nhiÁu t§ng nh°: t§ng web, t§ng logic, t§ng dï liÇu (database). Còn chï 'deploy' thì có ngh)a ¡i lo¡i nh° cài ·t, thi¿t l­p mÙt ch°¡ng trình mÛi trên mÙt máy chç. 'deploy' mang ngh)a rÙng h¡n 'install' (là cài ·t). Riêng 'mapping' thì anh không bi¿t ph£i dËch ra sao. Nó có ngh)a nh°ng là so sánh, biên dËch 2 phía thông tin. Ví då, phía A có thông tin là 1 có thà °ãc 'map' thành Z ß phía B ch³ng h¡n. Chï 'reverse proxy' có ngh)a là 'proxy ng°ãc'. Ng°Ýi dùng trong LAN muÑn truy c­p Internet thì i xuyên qua 'forward proxy', còn ng°Ýi dùng të Internet muÑn vào web server cça em thì i qua 'reverse proxy'. Nhïng khái niÇm này khá dÅ hiÃu, em chËu khó tham kh£o thêm trên net."

'cuti' nh­n xét:

"Ra v­y. Có quá nhiÁu ki¿n théc i ra të kinh nghiÇm b£n thân, trong môi tr°Ýng làm viÇc th­t sñ chÛ ch³ng ph£i cái gì cing có trong sách."

Tôi áp:

"úng th¿. Anh ã có l§n Á c­p tr°Ûc ây, sách là nguÓn thông tin tÕng quát. Nó giúp em hình thành mÙt cái 's°Ýn' cça v¥n Á. Tùy vào em mà hình thành cái 'ruÙt'. Nhïng iÁu m¥y anh em mình 'à khía' ß ây có r¥t nhiÁu iÁu i të 'kinh nghiÇm x°¡ng máu' mà có. Anh bi¿t có nhïng cái l¡ l«m, khó hình dung bßi vì em ch°a g·p qua. Tuy nhiên, ¿n mÙt lúc em ång ph£i iÁu gì ó mình ã bàn ß ây thì tñ nhiên sñ viÇc s½ sáng tÏ, dÅ dàng thôi."

'cuti' th¯c m¯c:

"V­y anh muÑn bÍn em i thu th­p m¥y cái header 'xËn' Ã làm t° liÇu h£ anh?"

Tôi áp:

"Tùy em thôi. N¿u em th¥y thích thú chuyÇn này thì em có thà dành thÝi gian à ào xÛi chúng. Anh dám ch¯c em s½ thu th­p °ãc nhiÁu iÁu lý thú. Tuy nhiên, iÃm cÑt lõi anh muÑn bÍn em ghi nh­n ß ây là iÃm khác c¡. Em có bi¿t ó là gì không?"

'cuti' áp:

"iÃm gì cà? Ái chà, cng à nha."

'haothu' lên ti¿ng:

"Anh mÕ x» chuyÇn 'footprint' vÛi bÍn em rÓi à cho bÍn em tùy chÍn muÑn ào thêm hay dëng l¡i mà không tÏ v» quan trÍng chuyÇn này. V­y chuyÇn gì quan trÍng nhÉ?"

'docco' lên ti¿ng:

"Em ngh) là em oán °ãc. Ý anh là muÑn giÛi thiÇu °Ýng h°Ûng và lÑi khai triÃn mÙt cách logic ph£i không ¡?"

Tôi áp:

"Anh không nói là nhïng chuyÇn mình vëa bàn không quan trÍng. Anh chÉ nói r±ng tùy ng°Ýi, tùy nhu c§u mà nó quan trÍng nhiÁu hay ít. 'docco' nói úng ó, nh°ng còn gì nïa?"

'ccxx' cing tham gia:

"Không bi¿t em ngh) có úng không nh°ng xem l¡i m¡ch chuyÇn të nãy giÝ, em th¥y mÙt iÃm khá quan trÍng là ngoài tính logic còn có tính t­p trung và sñ tinh t¿ trong khi nh­n xét v¥n Á. Ph£i không anh?"

H¿t séc hoan hÉ, tôi áp:

"Voila! chính xác. Logic tÑi c§n thi¿t nh°ng tính t­p trung và sñ tinh t¿ không thà thi¿u °ãc. Sau này, khi em i ¿n ch× vi¿t shellcode, dò stack mà l¡i thi¿u sñ tinh t¿ thì s½ không thà ¡t k¿t qu£ °ãc. Ñi vÛi 'hacker', m×i chi ti¿t bé nhÏ Áu có thà mang mÙt giá trË lÛn lao. Chúng có thà làm em m¥t n, m¥t ngç, m¥t thÝi gian à rÓi, ¿n lúc nào ó em s½ vò §u và tñ rça mình vì ã 'sót' chúng trong khi phân tích. Th­t ra, logic + t­p trung + tinh t¿ là ba éc tính c§n thi¿t không riêng gì trong b£o m­t mà nó c§n thi¿t trong các ngành khoa hÍc."

'docco' nói:

"Em sµn sàng ti¿p nh­n quan iÃm này. ëng nói i âu xa, nhïng lúc làm bài t­p ho·c vi¿t mÙt o¡n code ¡n gi£n mà thi¿u t­p trung thì có chuyÇn ngay. ·c biÇt là lúc bË 'có chuyÇn' mà thi¿u tinh t¿ thì tìm l×i muÑn... khùng luôn."

Tôi muÑn k¿t thúc buÕi 'à khía' nên rút ng¯n:

"Thôi, m¥y anh em mình ngÓi dính mÙt ch× ã quá lâu. Có l½ l§n sau mình mÛi i vào chi ti¿t OS 'footprint' trên tcp/ip vì mình bË... 'cháy' k¿ ho¡ch rÓi. iÁu này cing tÑt vì bÍn em có thêm thÝi gian à xem kù h¡n vÁ tcp/ip. M¥y éa cing nên Íc l¡i nÙi dung 'à khía' l§n này và ráng úc k¿t v¥n Á à làm nÁn cho l§n tÛi."

'docco' áp:

"D¡, v­y cing tÑt mà anh. Em v«n còn lçng cçng nhiÁu iÃm trên tcp/ip nên hoãn l¡i thêm mÙt tí thì tiÇn h¡n."

'ccxx' nh¥m nh³ng:

"Em còn muÑn cãi vÛi ông Khoa vÁ chuyÇn 'kiddie' dùng công cå khó hay dÅ v­y mà anh ph£i i rÓi. Thôi v­y, à em vÁ chu©n bË thêm à '¥u' vÛi Õng mÙt tr­n. Anh làm trÍng tài cho tåi em nha?"

Tôi c°Ýi, áp:

"êa, miÅn sao '¥u' Ã em l¡i mÙt k¿t qu£ nào ó ích lãi thì anh làm trÍng tài liÁn."

'cuti' phát biÃu:

"Em rút kinh nghiÇm nhïng l§n tr°Ûc, l§n này em s½ in ra nÙi dung 'à khía' Ã Íc l¡i và suy g«m kù h¡n. Em bË c£m giác là càng ngày càng bË tåt ±ng sau."

'docco' áp:

"Thì tui làm nh° v­y të lâu rÓi ông H°ng. Ch³ng nhïng th¿, t­p bài tui in ra bây giÝ ch±ng chËt vÛi nhïng dòng g¡ch d°Ûi, óng khung, tñ chú thích.... tá lã luôn. Không thì không nhÛ xuà âu á."

Tôi tr£ lÝi:

"Tùy m×i éa, tùy cách phân tích và chÍn lÍc thông tin cho mình thôi. MiÅn sao rút tÉa °ãc vài iÁu là tÑt rÓi. N¿u không hiÃu thì s½ th¥y n·ng nÁ và n¿u kéo dài ß tình tr¡ng 'không hiÃu' này thì s½ thì th¥y... chán. Cái ó mÛi là hoài cça nói theo lÑi nói ng°Ýi miÁn B¯c :). Thôi, anh ph£i i. H¹n m¥y éa tu§n sau n¿u r£nh."

và tôi logoff..

18/11/2005

<còn ti¿p>

conmale(HVA)

Nhïng cuÙc Ñi tho¡i vÛi rookie - Ph§n 12

15. tcp/ip info, th­t hay gi£? - II:

M¥y ngày qua tôi nh­n e-mail dÓn d­p të bÙ té 'cuti', 'ccxx', 'haothu' và 'docco', vÁ nhïng iÁu các cô c­u tìm th¥y trong nhïng l§n táy máy. Tôi tr£ lÝi bÙ té mÙt cách tÕng quát và s¡ sài, ¡i lo¡i nh° "tÑt l¯m, thí thêm mÙt tí nïa i" ho·c "ã ¿n méc này, ráng Ùng não mÙt tí i em"..... M¥y cô c­u béc xúc l¯m và nh¥t Ënh h¹n g·p nhau vào cuÑi tu§n à gá rÑi. Tôi nh­n lÝi s½ online trên YIM kho£ng tr°a thé B£y.

Nh° l§n tr°Ûc, bÙ té ã có m·t sµn trên YIM và ã t­p trung trong mÙt "conference". Tôi tham gia và nhanh chóng i qua b°Ûc chào hÏi.

L§n này 'docco' mß §u:

"Em có c£ Ñng th¯c m¯c và em ngh) nhïng th¯c m¯c này bÍn em éa nào cing th¯c m¯c nh° nhau. Em khßi §u nha anh?"

Tôi áp:

"T¥p bi liÁn h£? ;-). OK. shoot."

'docco' gõ ngay lên câu hÏi thé nh¥t:

"C£ tu§n nay em thí mày mò tìm trên Internet xem web server nào ch¡y nhïng software khác ngoài Apache và IIS, hai cái này thì dÅ rÓi vì chúng phÕ bi¿n quá. Em muÑn tìm các web site ch¡y nhïng thé khác nh° iPlanet, Domino, Zeus... mà không tìm ra. Em oán là còn nhiÁu lo¡i khác nïa. Anh chÉ dùm em ch× nào trên Internet có nhïng thông tin này °ãc không?"

Tôi áp:

"Cái này anh ngh) âu khó em? Em chÉ c§n dùng google và tìm qua các të khoá iÃn hình mÙt tí là có ngay. Anh ngh) em nên khßi §u vÛi të khoá "netcraft" và të ó mà i ra :)."

Sau mÙt hÓi, có l½ vëa thí xong të khoá tôi cung c¥p, 'docco' c£m thán:

"úng là có kinh nghiÇm thì lãi ç iÁu. Em mò m«m hoài mà ch³ng °ãc cái gì cho rõ ràng. Anh chÉ cho em mÙt të khoá là th¥y có tùm lum thé Ã xem rÓi."

'ccxx' lên ti¿ng:

"Tr°Ûc khi i sâu vào chuyÇn tcp/ip, em muÑn nêu lên mÙt chuyÇn. ChuyÇn này vëa giúp trong viÇc thm dò 'footprint' mà vëa chéng minh cho ông Khoa th¥y là 'kiddie' khó có kh£ nng dùng các công cå cho hiÇu qu£ n¿u hÍ không có ç ki¿n théc ho·c không chËu khó."

Tôi c°Ýi, tr£ lÝi:

"Hì hì, nh¥t Ënh 'khai chi¿n' h£ em? OK, cé viÇc tho£i mái."

'ccxx' ti¿p tåc:

"Không anh, tính em muÑn làm cho rõ chuyÇn thôi. Em có nghe qua vÁ nmap r¥t nhiÁu cho nên cing t£i vÁ dùng thí. T¥t nhiên là em chÍn phiên b£n dành cho Windows, có giao diÇn Ó hình h³n hòi. Tuy v­y, em m¥t r¥t nhiÁu thÝi gian à làm quen vÛi nó nh°ng v«n ch°a n¯m °ãc bao nhiêu. N¿u nmap không ph£i là mÙt công cå °ãc x¿p lo¡i 'mÙt trong m°Ýi công cå éng §u trong bÙ Ó nghÁ security' thì có l½ em ã vét nó qua mÙt bên vì quá khó. Công cå này thích hãp cho dân chuyên mà thôi."

Tôi hÏi:

"V­y em muÑn chéng minh là 'kiddie' không thà dùng nmap úng tiÁm nng cça công cå này?"

'ccxx' áp:

"D¡. Em muÑn chéng minh là dân l¡ t¡ m¡ nh°... em thì nhìn vào nmap chÉ có n°Ûc... nhìn mà thôi n¿u nh° không chËu khó mày mò."

'haothu' chen vào:

"Nh°ng tui th¥y trong chuyÇn này bà Nh° dùng kinh nghiÇm b£n thân à °a ra mÙt cái nh­n xét chung cho t¥t c£ các 'kiddie' coi bÙ không tho£ áng à nha."

'ccxx' ph£n hÓi:

"Tui ch°a chéng minh gì h¿t mà ông. Ã tui °a ra vài iÃm thì ông s½ th¥y thôi."

'ccxx' nói ti¿p:

"Khi khßi Ùng ch°¡ng trình nmap, thé nh¥t: nó hoàn toàn sí dång các thu­t ngï chuyên môn à ·t tên cho các nút b¥m, các chi ti¿t cça ch°¡ng trình. Tui hÏi ông, SYN stealth scan là cái gì? Tôi không dám ch¯c có 'kiddie' nào hiÃu nÕi cái gÍi là SYN stealth c£ âu. ó là ch°a kà c£ Ñng nhïng thé khác; nào là Stealth FIN, rÓi ¿n Null Scan, Xmas. Tui ráng tìm hiÃu xem thí nhïng cái này là gì nh°ng muÑn khùng luôn vì cái này liên hÇ ¿n cái kia. Ông thí tìm hiÃu xem m¥y cái ó là gì và m¥t bao lâu à n¯m °ãc? (n¿u nh° ông không bÏ dß nïa °Ýng)."

'cuti' chêm vào:

"ê, m¥y cái thu­t ngï kia tuy chÉ là thu­t ngï nh°ng n¿u mình không hiÃu nó là gì, lý do t¡i sao ph£i dùng nó thì h¡i mÇt thiÇt."

'haothu' chÑng ch¿:

"Thì dùng cái gì l¡i không tìm hiÃu tính nng cça nó bà Nh°? Tui oán 'kiddie' (nh° tui ch³ng h¡n) chÉ c§n theo tài liÇu có sµn mà gõ thôi. N¿u cái này không °ãc thì thí cái khác. V¥n Á ß ch× là nó mang l¡i cho mình k¿t qu£ gì."

'ccxx' chÙp ngay câu này à t¥n công:

"ó ó, ông nói câu này chÉ ch³ng khác gì ch¥p nh­n là 'kiddie' chÉ nh¯m m¯t gõ lÇnh mà không c§n suy ngh). N¿u v­y thì ông vô tình Óng ý vÛi quan iÃm cça tui rÓi. Tui ngh) à dùng mÙt công cå nh° nmap mình ph£i hiÃu r¥t rõ vÁ tcp/ip, ph£i n¯m rõ m×i chÍn lña công cå này cung c¥p làm viÇc ra sao à có thà éng dång mÙt cách thích áng cho m×i tr°Ýng hãp. N¿u ông dùng nmap à scan mÙt host nào ó và nó ã hoàn toàn c£n các gói ICMP, không cho ping, ông có thà ngÙ nh­n là host ¥y không tÓn t¡i ho·c offline n¿u nh° ông không dùng -P0. Cái GUI cho nmap th­t ra chÉ là mÙt ph°¡ng tiÇn cho nhïng ai làm bi¿ng gõ lÇnh mà thôi nh°ng à dùng th­t sñ thì ph£i hiÃu các chÍn lña, phÑi hãp à ¡t °ãc k¿t qu£."

Tôi c°Ýi, áp:

"Hay l¯m. Ti¿p tåc i em :)"

'haothu' c£m thán:

"Ái chà, không ngÝ bà rành nmap ¿n nh° v­y. Cãi vÛi bà thì ch¯c tui không l¡i rÓi ó nh°ng tui v«n tin r±ng mÙt công cå °ãc t¡o nên là Ã phåc vå ng°Ýi dùng thì không có lý gì ng°Ýi dùng ph£i n¯m t¥t c£ nhïng chi ti¿t kù thu­t bên trong ch°¡ng trình này thì mÛi dùng °ãc. Ngo¡i trë ng°Ýi dùng muÑn ¡t méc Ù chuyên vÁ lãnh vñc này."

'ccxx' ph£n bác:

"Ui... ông nói nghe m¯c c°Ýi quá. T¥t nhiên là công cå °ãc t¡o ra à phåc vå ng°Ýi dùng nh°ng ng°Ýi dùng ph£i hÍc cách sí dång nó chÛ? Công cå càng a nng, ng°Ýi dùng c§n m¥t nhiÁu thÝi gian à làm quen vÛi nó. Cái x»ng cing là công cå, chi¿c xe xúc cing là công cå, ông ngh) r±ng hÍc cách dùng x»ng và hÍc cách iÁu khiÃn chi¿c xe xúc òi hÏi công séc nh° nhau à? iÃm ông °a ra chính là iÃm à biÇn bác cho lÑi suy ngh) cça 'kiddie' vì 'kiddie' ch³ng c§n bi¿t ¿n cái tinh t¿ và kh£ nng sâu xa cça mÙt công cå mà chÉ c§n bi¿t nh¯m m¯t mà nh¥n nút thôi. Tui nói sai ch× nào âu à?"

Tôi xen vào can gián:

"Thôi thôi, anh th¥y bé Nh° nhà mình nói và b£o vÇ quan iÃm cça mình r¥t vïng vàng. Cu Khoa thua 1-0 rÓi ó nha. RÓi, Duy muÑn ti¿p tåc không em?"

'docco' lên ti¿ng:

"D¡, ti¿p tåc thì có bi¿t bao nhiêu chuyÇn ti¿p tåc hß anh? Hay là mình ti¿p tåc vÛi chuyÇn tìm footprint të tcp/ip i anh? Làm sao mình bi¿t °ãc nhïng thông tin này të tcp/ip?"

Tôi áp:

"Khi nói ¿n viÇc tìm footprint xuyên qua tcp/ip thì có ngh)a là mình ph£i n¯m vïng vÁ tcp/ip và các éng dång ·c thù trên tëng hÇ iÁu hành. Các RFC °a ra các tiêu chu©n cça m×i giao théc, tuy nhiên RFC có nhïng iÃm không cå thà cho nên các nhóm éng dång cho các hÇ iÁu hành Íc, hiÃu và éng dång chúng khác nhau. Bßi th¿ mÛi có nhïng tiÃu ti¿t khác nhau giúp cho mình có thà nh­n diÇn °ãc footprint xuyên qua tcp/ip. Tuy v­y, mình nên nhÛ r±ng, b¥t cé thông tin nào thu th­p °ãc cing mang tính t°¡ng Ñi mà thôi. Cing nh° ph§n tr°Ûc mình ã bàn, càng thu th­p °ãc nhiÁu dï kiÇn, càng có thà xác Ënh chính xác måc tiêu cça mình."

'cuti' chen vào:

"Lá may em ch°a rành tcp/ip thì liÇu em có hiÃu nÕi không anh?"

Tôi tr£ lÝi:

"Anh tin là em v«n hiÃu °ãc trên m·t nguyên t¯c. Tuy nhiên, muÑn i sâu vào thì có thà s½ có nhïng ch°Ûng ng¡i n¿u ch°a rành tcp/ip. Ví då, em hiÃu th¿ nào là TTL?"

'cuti' ­m ë:

"Ùm.... èm.... xí mê, xí mê, Ã em nghía cuÑn sách mÙt tí ã? :)"

Tôi phá lên c°Ýi:

"Ai làm gì mà xí mê, xê mí... ghê v­y? Em muÑn coi m¥y thì coi, anh chÉ hÏi b¥t chãt mÙt câu v­y thôi mà."

'cuti' hÛn hß:

"Tìm ra rÓi, TTL là 'Time To Live'. May mà m¥y cái e-book này cho search chÛ không thì dò bi¿t chëng nào cho ra trÝi? Anh hÏi nïa i? Em ch¯c th¿ nào cing tìm ra °ãc thôi."

Tôi áp:

"Hì hì, mình à khía hay mình ang tr¯c nghiÇm ây em? Mà thi oral kiÃu này thì n gian quá, có sµn cái e-book tr°Ûc mt à xem và tr£ lÝi. Anh mách cho mÙt k¿ th¿ này. Khi em muÑn n¯m vÁ tcp/ip, em nên nghiên céu mÙt béc Ó ho¡ vÁ ip header, tcp header, udp header.... và xem kù các fields và chéc nng cça chúng. Xong °ãc cái này là em ã n¯m ít nh¥t 50% vÁ giao théc này rÓi. N¿u không n¯m °ãc nhïng chi ti¿t và giá trË bên trong mÙt header thì Íc mãi Ñng chï trong sách cing ch³ng thu nh­p °ãc bao nhiêu âu em."

'docco' g­t gù:

"Có lý. Tr°Ûc giÝ em cé Íc i Íc l¡i nh°ng ít à tâm ¿n m¥y cái Ó hình vÁ header cça giao théc. Em ph£i xem l¡i mÛi °ãc."

¿n l°ãt 'haothu' lên ti¿ng:

"Nh°ng mà hÓi nãy anh nh¯c ¿n TTL có måc ích gì cå thà cho viÇc phát hiÇn footprint không anh? Hay chÉ là mÙt câu hÏi chung chung thôi?"

Tôi áp:

"À... th­t ra cái TTL cing ti¿t lÙ ít nhiÁu thông tin ó em. Thí mß mÙt cái command prompt lên và gõ:

Code:

C:\>ping localhost

hay

Code:

C:\>ping 127.0.0.1

xem thí nó báo cái gì i em?

BÙ té im l·ng chëng mÙt phút, sau ó 'ccxx' lên ti¿ng tr°Ûc:

"A.... hoá ra là cái TTL là v­y. Khi em thí ping, trên máy em nó báo 4 l§n TTL=128. Tr°Ûc giÝ em ch³ng bao giÝ Ã ý ¿n nó."

Tôi c°Ýi, hÏi qua 'cuti':

"Con Linux cça em có sµn ó không em?"

'cuti' áp liÁn:

"D¡ có ây anh? Ã chi v­y anh?"

Tôi áp:

"Em thí mß mÙt cái console và gõ:

Code:

$ ping -c 4 localhost

xem thí nó báo cái gì?

'cuti' tr£ lÝi ngay sau ó:

"Ùc thiÇt là Ùc, nó báo TTL là 64. Em bi¿t ý anh rÓi. Ph£i ý anh là m×i hÇ iÁu hành ¥n Ënh mÙt TTL khác nhau và të ó mình có thà oán °ãc footprint không anh?"

Tôi áp:

"úng là nh° v­y :). Em thông minh l¯m."

'cuti' hÛn hß:

"Chà, lâu lâu °ãc khen mÙt câu th¥y ph» ra. Nh°ng mà em th¯c m¯c là mình âu có vào console cça mÙt máy nào ó à ch¡y lÇnh °ãc à mà bi¿t nó có TTL là gì anh? mà ã vào °ãc à ch¡y lÇnh ping thì c§n gì ph£i nhìn ¿n TTL mà xác Ënh footprint nïa anh?"

Tôi thong th£ tr£ lÝi:

"BÍn em ngh) sao vÛi câu hÏi cça 'cuti'?"

'haothu' áp:

"Ch¯c ây là chuyÇn có liên quan ¿n viÇc anh muÑn bÍn em ngâm céu kù vÁ tcp/ip ây rÓi."

'docco' lên ti¿ng:

"N¿u em hiÃu không sai thì gói tin nào cing có mang theo giá trË TTL c£ ph£i không anh? V­y b±ng cách b¯t l¥y mÙt o¡n tin thì mình th¥y °ãc giá trË TTL cça måc tiêu ngay."

Tôi áp:

"Excellent! Em nh­n Ënh r¥t úng. V­y, TTL field n±m ß âu, t§ng nào trong mô hình tcp/ip?"

'cuti' nhanh nh£u tr£ lÝi:

"Có ây, có ây, IP layer ph£i hông anh? :). Hì hì, có cái c©m nang n±m ngay ây công nh­n s°Ûng thiÇt."

'ccxx' nh¡o:

"Ch¡i n gian v­y mà còn làm nh° hay l¯m. ëng xem sách coi thí có l¹ nh° th¿ không mÛi hay."

'docco' nói ti¿p:

"Em vëa thí sniff vài thé b±ng Ethereal à xem k¿t qu£ ra sao thì th¥y có tùm lum thé, làm sao mình bi¿t cái nào mình c§n sniff và c§n xem ây anh?"

Tôi áp:

"Câu hÏi này chÉ có mÙt câu tr£ lÝi duy nh¥t là em ph£i rành Ethereal ho·c b¥t cé công cå nào ó dùng à sniff. Em có thà giÛi h¡n lo¡i traffic nào c§n sniff, ví då sniff giao théc nào, cÕng nào... Anh khó có thà nói chi ti¿t, em nên tham kh£o tài liÇu i kèm vÛi công cå em muÑn dùng à bi¿t cách sí dång. N¿u em dùng Ethereal thì ph§n 'Help' cça nó có chÉ d«n r¥t rõ ràng. Nói vÁ m·t kù thu­t, à xác Ënh °ãc TTL cça máy të xa em ph£i tìm cách t°¡ng tác ¿n nó. Ví då, máy chç em muÑn thm dò có dËch vå web ch³ng h¡n; em thí dùng trình duyÇt à duyÇt trang web ¥y Óng thÝi sniff các gói tin trên cÕng 80. Të k¿t qu£ sniff °ãc, ch¯c ch¯n em có thà xác Ënh °ãc TTL.

iÁu c§n nói thêm ß ây là TTL em l¥y °ãc không ph£i cça chính máy chç ¥y. Cho nên, ngoài viÇc thu th­p giá trË TTL, em còn ph£i xác Ënh thêm các thông tin khác à xác thñc k¿t qu£. Chi ti¿t th¿ nào mình bàn sau."

'docco' tr£ lÝi:

"A... v­y mà em không xem ph§n help cça Ethereal. Ã em xem l¡i c©n th­n."

Tôi áp:

"êa, cing nh° 'ccxx' nói lúc nãy: "công cå càng a nng, ng°Ýi dùng c§n m¥t nhiÁu thÝi gian à làm quen vÛi nó". MuÑn ¡t °ãc k¿t qu£, không nhïng em ph£i v­n dång mÙt cách thành th¡o mÙt ho·c nhiÁu công cå mà ôi khi em còn ph£i phÑi hãp chúng l¡i. Anh không i vào quá chi ti¿t k»o em l¡i 'lùng bùng' nh°ng trên nguyên t¯c mà nói, em ã bi¿t:

- TTL cho m×i hÇ iÁu hành th°Ýng khác nhau

- TTL n±m trên IP header

- muÑn l¥y °ãc TTL cça måc tiêu ph£i 't°¡ng tác' ¿n hÇ thÑng mình muÑn thm dò.

- giá trË TTL sniff °ãc không ph£i lúc nào cing là TTL cça máy chç mình muÑn l¥y.

Të các iÃm ß trên, em có thà hình thành mÙt ph°¡ng pháp thm dò dña trên công cå mình có."

'docco' c°Ýi, áp:

"Hì hì, em hiÃu rÓi. HÓi nãy anh có Á c­p ¿n viÇc 'xác Ënh thêm các thông tin khác' là sao anh? Ch¯c là thông tin cça nhïng fields khác trên IP header hay TCP header nïa ph£i không anh?"

Tôi tr£ lÝi:

"êa, và h¡n th¿ nïa."

'cuti' xen vào hÏi:

"Em ang ß trên con Linux, anh có cái lÇnh gì Ã sniff cho l¹ không anh? Em muÑn xem thí ra sao."

Tôi áp:

"Trên Linux thì có l½ có sµn tcpdump. Tuy nhiên dùng công cå này h¡i khó và à "Íc" °ãc thông tin mÛ tin mà tcpdump b¯t °ãc, em c§n mÙt công cå khác nh° Ethereal ho·c Snort à Íc. Cách dÅ nh¥t là ch¡y lÇnh:

Code:

# tcpdump -s0 port 80 -w abc

trong khi thí duyÇt mÙt website nào ó. Sao ó ng°ng tcpdump (gõ Ctl-C) và copy file abc kia sang máy nào có Ethereal mà mß ra xem. Chú trÍng vào thông tin trên t§ng IP."

'cuti' áp:

"Chà, hoá ra cing phéc t¡p quá v­y? Ã em thí cái xem."

Vài phút im l·ng trôi qua. D°Ýng nh° bÙ té Ã tâm vào chuyÇn "thí" ho·c ang ãi xem 'cuti' công bÑ k¿t qu£ tìm th¥y. 'cuti' phá vá sñ im l·ng:

"À há, em tìm ra rÓi. Em sniff °ãc mÙt o¡n thông tin y nh° cái lÇnh anh cho ß trên và mang sang con Win cça em có Ethereal. Bây giÝ thì th¥y lÓ lÙ giá trË "Time To Live" cça website em muÑn tìm là 44. Nh°ng TTL có giá trË là 44 thì nó là hÇ iÁu hành nào anh?"

[i]Tôi tr£ lÝi:

"HÓi nãy mình ã thông qua là TTL em sniff °ãc không ph£i là TTL thñc sñ cça máy chç kia rÓi mà? N¿u em l¥y con sÑ này và cho r±ng nó chính là TTL cça máy chç em c§n dò tìm là thi¿u m¥t.... mÙt o¡n rÓi ó. Cái TTL mà em th¥y °ãc ó là TTL sau khi gói tin này i xuyên qua bao nhiêu 'hops' tr°Ûc khi vÁ tÛi máy cça em. Bßi v­y, TTL này ph£i cÙng thêm sÑ hops i të máy chç ¿n máy em thì mÛi ra TTL th­t sñ cça máy chç :)"

docco thÑt lên:

"Mèn.. m¥y cái này anh không nói thì tåi em n qu£ h¿t ráo."

Tôi c°Ýi áp:

"Bßi v­y anh mÛi nói là m¥y éa nên n¯m vïng tcp/ip thì mÛi mó tay vào m¥y thé này °ãc. V£ l¡i nhïng iÃm này cing i ra të suy lu­n mà thôi. N¿u hiÃu rõ TTL là gì, TTL i và TTL nh­n là th¿ nào thì tñ nhiên s½ th¥y rõ mÓn mÙt."

'cuti' l¡i lên ti¿ng:

"Em vëa thí duyÇt cái trang web ang ch¡y trên con Linux, vëa sniff traffic và th¥y r±ng TTL cça nó là 64. Em ping nó, nó cing cho bi¿t TTL là 64. V­y là sao anh? HÓi nãy anh nói là TTL mình sniff °ãc không ph£i lúc nào cing là TTL th­t sñ cça máy chç mình muÑn thm dò mà?"

Tôi tr£ lÝi:

"À, mÙt câu hÏi lý thú ó :). Sao em không thí tñ hÏi t¡o sao TTL trong tr°Ýng hãp này ch³ng hÁ thay Õi?"

"cuti" rên rÉ:

"Hic, anh làm em th¥y... n£n rÓi ó. Sao mà càng ngày càng tùm lum thé h¿t v­y trÝi :("

Tôi im l·ng vài giây rÓi áp:

"N£n th­t sao em? Nhïng thé mình ang bàn ß ây chÉ là nguyên t¯c mà thôi. N¿u mình thñc sñ i vào tëng iÃm kù thu­t có l½ em... chËu không nÕi âu."

'cuti' chÑng ch¿:

"Nh°ng... m×i l§n g·p anh là có thêm mÙt mÛ chuyÇn à tìm tòi, tra céu. MÛ tr°Ûc ch°a xong thì mÛ sau ­p ¿n thì làm sao lãnh hÙi kËp °ãc anh? Em th¥y n£n là vì à n¯m C thì ph£i hiÃu A và B, ch°a n¯m xong C thì ã có thêm D, E, F à nghiÁn ng«m cho nên ¿n lúc mình ch¡m ¿n G, H thì coi nh° em mù."

Tôi áp:

"Em nên hiÃu r±ng nhïng gì mình bàn ß ây là cái khung mà thôi. Mình không thà i sâu vào tëng chi ti¿t bßi vì không thà tìm âu ra thÝi gian c£. Ví då mình bàn chç à footprint ch³ng h¡n, mình chÉ có thà t¡o cái khung cho nhïng gì liên quan ¿n footprint. Còn mÍi chi ti¿t kù thu­t ai cing ph£i Íc, suy g«m và rút tÉa c£ thôi em. Nói tóm l¡i, em c§n thÝi gian, chuyên tâm và kiên nh«n à thu g·t ki¿n théc."

'haothu' xen vào:

"Em th¥y khúc m¯c cça H°ng khá dÅ hiÃu. Có l½ H°ng bË ho£ng vì ph£i ti¿p nh­n dÓn d­p nhiÁu thông tin quá mà thôi. Em cing c£m th¥y nh° v­y."

'docco' tham gia:

"Em thì th¥y r±ng nhïng iÁu anh nh¥n m¡nh të §u vÁ giÁng mÑi có lý do quá hiÃn nhiên. Cing nh° H°ng, em cing bË choáng nh°ng em ghi chú rÓi vÁ xem kù l¡i sau. Em th¥y ch³ng có gì Ã n£n c£."

'docco' cÑ d«n câu chuyÇn vÁ h°Ûng khác nên nói ti¿p:

"Mình v«n còn bàn vÁ TTL, anh có thà 'ào xÛi' thêm vÁ cái TTL mÙt tí °ãc không anh?"

Tôi tr£ lÝi:

"Hèm... TTL.. ok. Cé hiÃu nôm na là m×i khi gói tin i qua mÙt router, TTL nguyên thçy (lúc gói tin t¡o ra) s½ bË trë i 1. Chi ti¿t th¿ nào thì em nên xem l¡i cuÑn tcp/ip illustrated cça Richard Stevens, quyÃn này dành riêng m¥y trang nói r¥t kù vÁ TTL. Khi mình ã n¯m °ãc nguyên t¯c: qua 1 router, TTL trë 1 thì mình có thà suy lu­n và hình dung ra °ãc ngay gói tin 'cuti' sniff °ãc ß trên có TTL vÛi giá trË ã °ãc trë 1 nhiÁu l§n bßi vì nó ph£i i qua nhiÁu router tr°Ûc khi vÁ ¿n máy cça 'cuti'. Ph£i không nào?"

'docco' áp:

"D¡ ph£i."

'cuti' xen vào:

"A, hèn chi em ping và sniff con Linux server trên cùng mÙt network nên TTL không thay Õi vì nó ch³ng qua 'hop' nào c£. Ái chà, kiÃu này ph£i Íc và nhÓi thêm rÓi."

Tôi hÏi tÛi:

"N¿u th¿ thì à xác Ënh mÙt cách t°¡ng Ñi TTL cça gói tin mà 'cuti' sniff °ãc à të ó oán ra hÇ iÁu hành cça nó là gì thì mình c§n làm sao ây?"

'ccxx' nhanh nh£u:

"Em ngh) là mình ph£i làm sao tính °ãc có bao nhiêu l§n gói tin ó bË TTL trë 1. Sau ó l¥y sÑ l§n bË trë mÙt ó cÙng vÛi giá trË TTL cça ông H°ng tìm th¥y h³n ph£i là TTL nguyên thu÷."

Tôi c°Ýi, áp:

"Bravo! th¥y ch°a? ChuyÇn ¡n gi£n th¿ mà chóng th¥y n£n thì h¡i uÕng :)"

Tôi hÏi thêm:

"Th¿ thì làm sao mình xác Ënh °ãc bao nhiêu l§n gói tin ¥y bË TTL - 1 nhÉ? Có ai có ý ki¿n gì không?"

'cuti' råt rè:

"Èm.... tracert ph£i không anh?"

Tôi c°Ýi, tr£ lÝi:

"úng rÓi ó em. Tuy nhiên, tracert là ch°¡ng trình à 'trace route' trên Windows. Chính xác là dùng 'trace route' à xác Ënh có bao nhiêu hops i të máy mình ¿n máy mình thm dò. Nên nhÛ, °Ýng gói tin i (route) të máy mình ¿n máy mình thm dò th°Ýng khác °Ýng gói tin i të máy mình thm dò ¿n máy cça mình ó nha. Cho nên, giá trË hops tìm ra °ãc b±ng traceroute të máy mình cÙng vÛi TTL tìm °ãc të gói tin chÉ mang tính t°¡ng Ñi."

'ccxx' th¯c m¯c:

"Sao v«n chÉ là t°¡ng Ñi v­y anh? T¡o sao các hops i të máy A ¿n máy B có thà khác të máy B ¿n máy A?"

Tôi áp:

"À, iÁu này phå thuÙc vào router và các thu­t toán cça chúng mà gói tin ph£i i qua. Bßi th¿, gói tin i të A ¿n B có thà i xuyên các route ng¯n h¡n. Trong khi ó gói tin i të B ¿n A có thà l¡i dài h¡n. VÛi iÁu kiÇn lý t°ßng, Ù sai biÇt có thà chÉ n±m trong vòng vài hops. Tuy nhiên, trên thñc t¿ có nhiÁu y¿u tÑ chç quan và khách quan khi¿n cho °Ýng i ng°ãc và °Ýng i xuôi khác biÇt nhau."

'haothu' lên ti¿ng:

"N¿u v­y thì dùng TTL Ã xác Ënh OS qu£ là mong manh."

Tôi c°Ýi, áp lÝi 'haothu':

"Chính vì v­y, kù thu­t thm dò òi hÏi hàng lo¡t kù thu­t và kh£ nng k¿t hãp, úc k¿t, Ñi chi¿u thông tin l¥y °ãc. ó là ch°a kà ¿n tr°Ýng hãp admin nào ó quy¿t Ënh thay Õi TTL cça server vì lý do nào ó thì k¿t qu£ thu th­p °ãc l¡i càng... mong manh h¡n."

'cuti' thÑt:

"Ui trÝi... n¿u v­y thì bao nhiêu cÑ g¯ng tìm TTL, ch¡y tracert hoá ra vô ích sao anh?"

Tôi áp:

"Hì hì, em muÑn... tuyÇt vÍng h¡n không? ó là anh ch°a kà tr°Ýng hãp mÙt host nào ó mình muÑn thm dò th­t ra n±m ±ng sau mÙt (ho·c nhiÁu) reverse proxy server. Reverse proxy server này thay m·t server "th­t" à tr£ lÝi request të bên ngoài. Cho nên, TTL này có thà là TTL cça reverse proxy server không chëng? ;-)"

'cuti' rú lên:

"Anh lëa em, anh lëa em... anh d«n då toàn là nhïng thé n·ng ô xong rÓi l¡i °a ¿n ch× k¿t lu­n là chúng vô ích. Hèm... v­y mà em ráng dÏng tai lên nghe nãy giÝ :("

Tôi c°Ýi thích thú:

"Hà hà, v­y là em tuyÇt vÍng th­t sñ rÓi h£? Th¿ này, không có ki¿n théc nào phí c£. Måc ích t­n cùng cho viÇc nghiên céu tcp/ip, TTL hay cái gì ó là à trang bË cho mình lÛp ki¿n théc quan trÍng. Sau này, khi em làm network admin, security specialist hay ngay c£ l­p trình viên có dính líu ¿n m¡ng, thì mÛi ki¿n théc này quý h¡n... vàng. Nhïng iÁu mình bàn ß ây là con °Ýng i ra khÏi cái cõi 'kiddie' à trß thành mÙt ng°Ýi có ki¿n théc th­t sñ và có thà éng dång ki¿n théc ó."

conference room bao trùm trong sñ im l·ng. HÓi lâu, 'docco' lên ti¿ng:

"D¡, em hiÃu ý anh rÓi. Em chÉ muÑn ào xÛi thêm mÙt tí nïa, °ãc không anh?"

Tôi c°Ýi, áp:

"T¥t nhiên là °ãc. Em muÑn... ào cái gì ây?"

'docco' nói ti¿p:

"V­y vÛi tcp/ip, mình còn có thà dña trên nhïng chi ti¿t nào khác à xác Ënh footprint không anh?"

Tôi tr£ lÝi:

"T¥t nhiên là có. Nh° anh ã nói tr°Ûc ây, các RFC °ãc l­p ra nh°ng bÏ ngÏ nhiÁu chi ti¿t. Bßi th¿, các nhóm phát triÃn cé diÅn dËch và éng dång theo ý hÍ. Të ó mÛi n£y ra nhïng dË biÇt. Ví då, n¿u tham kh£o RFC 793 thì th¥y r±ng khi mÙt host nh­n °ãc gói tin mang flag là FIN tr¡ tråi thì không tr£ lÝi gói tin này vì nó ch³ng n nh­p vào âu c£. Gói tin FIN ph£i kèm theo ACK à 'acknowlege' xu¥t truy c­p k¿t thúc. Tuy v­y, nhiÁu hÇ iÁu hành éng dång không úng RFC 793 nên mÛi có tr°Ýng hãp FIN gßi i, RST të host ¥y gßi vÁ. HÇ iÁu hành phÕ bi¿n nh° Microsoft Windows cing dính vào d¡ng này. Ngoài ra các éng dång trên HP/UX, IRIX và ngay c£ Cisco cing không ph£i là ngo¡i lÇ. Bßi v­y, dùng mÙt công cå t¡o ra mÙt gói FIN ¡n l» ¿n 1 host và nh­n °ãc gói RST tr£ lÝi thì em có thà oán °ãc mÙt trong nhïng hÇ iÁu hành nh° trên ang tr£ lÝi."

'docco' thích thú:

"À, không ngÝ có nhïng chuyÇn lý thú ¿n nh° v­y. Nh°ng làm sao mình n¯m °ãc h¿t các hÇ iÁu hành nào có thái Ù nh° th¿ nào anh? Và cho dù có nh­n °ãc gói RST tr£ lÝi, mình cing không thà xác Ënh chính xác hÇ iÁu hành ó là gì mà?"

Tôi áp:

"úng nh° v­y em. à xác Ënh OS footprint mÙt cách chính xác, mình không thà dña vào mÙt thông tin ¡n l» nào mà ph£i tÕng hãp nhiÁu thông tin thâu l°ãm °ãc. Bßi v­y, các công cå °ãc vi¿t sµn à detect footprint th°Ýng thi hành mÙt lo¡t thm dò và so sánh vÛi k¿t qu£ ã có sµn trong database cça nó. Ngay c£ nh° th¿, không có công cå nào có thà tuyÇt Ñi xác Ënh °ãc footprint c£."

'docco' c£m thán:

"Chà, vå detect footprint dùng tcp/ip xem ra cing cng chÛ ch³ng dÅ dàng gì. V­y có công cå nào tñ Ùng rà tìm và cung c¥p cho mình thông tin vÁ footprint cça mÙt máy chç nào ó không anh?"

'ccxx' nhanh nh£u chen vào:

"Có ó ché, nmap ó. Nó có thà thñc hiÇn chuyÇn này nh°ng tui ch°a rành nó l¯m vì ch°a táy máy nhiÁu."

Tôi ti¿p lÝi:

"Công cå dùng à detect OS footprint thì có khá nhiÁu. Tr°Ûc ây thì có checkos, queso, sau này có nmap và mÙt sÑ công cå th°¡ng m¡i. Tñu trung, chúng làm viÇc trên cùng nguyên t¯c, chÉ khác nhau ti¿n trình và Ù tÉ mÉ trong khi thñc thi công tác rà tìm. Theo anh, nmap là mÙt công cå m¡nh nh¥t vì d°Ýng nh° nó mang l¡i k¿t qu£ trung thñc nh¥t."

'haothu' hÏi:

"V­y sao mình không dùng luôn cái nmap à tìm footprint cho kho» anh? Mình thm dò b±ng tay nh° nãy giÝ m¥y anh em mình bàn vëa ch­m l¡i vëa thi¿u chính xác."

Tôi c°Ýi, áp:

"Anh ngh) không riêng gì em mà m¥y éa kia cing suy ngh) nh° em v­y. Anh cing Óng ý vÛi ý ki¿n cça em. Tuy nhiên, iÁu quan trÍng cça viÇc thm dò b±ng tay là nó mang l¡i cho em 'in-depth knowledge'. Em s½ hiÃu sâu, hiÃu t°Ýng t­n khi nhúng tay vào cõi này. Kh£ nng k¿t hãp công cå à táy máy vÛi tcp/ip stack không chÉ dëng l¡i cho måc ích thm dò mà còn i xa h¡n r¥t nhiÁu. Nó s½ giúp em thâm nh­p ho·c b£o m­t tùy chÍn. Cái này cing giÑng nh° ng°Ýi lái xe hiÃu rõ chi¿c xe v­n Ùng ra sao, có nhïng thi¿t bË nào thay vì chÉ ¡n thu§n lái xe. N¿u xe bË hÏng hóc, ho·c n¿u em muÑn iÁu chÉnh chi¿c xe theo ý thì em bó tay. Sau này, khi em chËu trách nhiÇm qu£n lý mÙt chu×i server và em không muÑn bË rà tìm footprint b±ng các công cå nh° nmap ch³ng h¡n, em ph£i hiÃu rõ cách nmap làm viÇc à ánh lëa nó n¿u em muÑn éng dång mÙt ít 'security from obscurity' :)"

'docco' g­t gù:

"Ái chà, em ch°a ngh) tÛi cá ph£i hiÃu rõ nmap à ánh lëa nmap. Nh° anh nói l§n tr°Ûc, 'security from obscurity' chÉ là mÙt lÛp vÏ bên ngoài, v­y thì viÇc gì mình ph£i m¥t thÝi gian vÛi nó à d¥u footprint vÛi nmap scan hß anh?"

Tôi áp:

"Hì hì, cu Duy tinh t¿ quá. Th¿ này, defeat nmap chÉ là mÙt ví då, mÙt tr°Ýng hãp. à kiÇn toàn b£o m­t, n¿u muÑn nhìn të ph°¡ng diÇn này, em ph£i hiÃu các d¡ng rà tìm, t¥n công, các công cå th°Ýng dùng cho måc ích này à phòng chÑng. Khái niÇm 'hiÃu' này không chÉ gói gÍn trong khuôn khÕ defeating nmap hay mÙt công cå riêng biÇt nào c£. Anh ví då có mÙt công cå tñ Ùng hoá dùng à t¡o các http header cñc lÛn nh±m måc ích làm treo web service ch³ng h¡n. Có ít nh¥t hai h°Ûng nhìn à defeat d¡ng t¥n công này.

- H°Ûng 'ång âu chïa ¥y' là h°Ûng ãi server bË treo rÓi mÛi phân tích log và tìm th¥y nguyên nhân rÓi mÛi i ¿n ch× sía chïa nó.

- H°Ûng 'phÏng Ënh tr°Ûc' là h°Ûng nghiên céu các tr°Ýng hãp có thà x£y ra, tìm các lo¡i công cå t¡o các d¡ng t¥n công nh° th¿ Á phòng chÑng.

Khi nhìn vào mÙt cái perl script °ãc công bÑ trên các website chuyên b£o m­t, Íc xuyên qua em có thà hình dung là các web service có thà bË 'y¿u' ß nhïng iÃm nào. Të suy lu­n, em có thà i ¿n gi£i pháp sau ó. Ý anh là dña vào cách théc t¥n công cça các công cå có sµn và hình thành cách phòng chÑng nhïng d¡ng t¥n công t°¡ng tñ. iÁu này có ngh)a: em ph£i hiÃu cách làm viÇc cça công cå ¥y."

'docco' tr£ lÝi:

"Èm... em th¥y xa vÝi quá. Có l½ bÍn em ch°a ç 'ô' Ã ngh) ¿n nhïng chuyÇn này âu anh. Hy vÍng mÙt ngày nào ó bÍn em s½ th¥y hïu lý :). VÛi l¡i em th¥y có bug track và các cty, các nhóm phát triÃn cung c¥p b£n vá rÓi mà anh? N¿u mình ào sâu quá thì l¥y âu ra thÝi gian?"

Tôi c°Ýi, áp lÝi 'docco':

"êa, em suy ngh) th¿ cing có cái lý cça nó. Tuy v­y, n¿u mình muÑn làm viÇc và suy ngh) nh° mÙt 'hacker' thì mình không thà ÷ l¡i nh° mÙt 'user'. Có thà em không ång h¿t mÍi thé, có thà em chÉ chuyên mÙt thé nào ó và em óng góp nhïng iÁu em tìm th¥y të lãnh vñc em chuyên."

'haothu' hÏi ti¿p:

"À quên ché, anh có tài liÇu nào liÇt kê các TTL tiêu chu©n cça tëng hÇ iÁu hành không anh? Em muÑn tham kh£o thêm xem sao."

Tôi c°Ýi phá lên rÓi tr£ lÝi:

"Hì hì, em muÑn quay l¡i cái TTL Ã táy máy h£? TÑt l¯m. Anh có nhÛ là ã l°u mÙt b£n TTL tiêu chu©n anh tìm th¥y trên Web, Ã anh tìm cái xem."

Sau vài phút låc lÍi, tôi paste o¡n TTL mà tôi tìm °ãc:

"ây em, tha hÓ mà tham kh£o"

Code:

OS VER PLATFORM TTL WINDOW DF TOS

DC-OSx 1.1-95 Pyramid/NILE 30 8192 n 0

Windows 9x/NT Intel 32 5000-9000 y 0

AIX 4.3.x IBM/RS 60 006016000-16100 y 0

AIX 4.2.x IBM/RS 60 006016000-16100 n 0

Cisco 11.2 7507 60 65535 y 0

DigitalUnix 4.0 Alpha 60 33580 y 16

IRI X6.x SGI 60 61320 y 16

OS390 2.6 IBM/S390 60 32756 n 0

Reliant 5.43 Pyramid/RM1000 60 65534 n 0

FreeBSD 3.x Intel 64 17520 y 16

Linux 2.2.x Intel 64 32120 y 0

OpenBSD 2.x Intel 64 17520 n 16

OS/400 R4.4 AS/400 64 8192 y 0

SCO R5 Compaq 64 24820 n 0

Solaris 8 Intel/Sparc 64 24820 y 0

FTX(UNIX) 3.3 STRATUS 64 32768 n 0

Unisys x Mainframe 64 32768 n 0

Netware 4.11 Intel 128 32000-32768 y 0

Windows 9x/NT Intel 128 5000-9000 y 0

Windows 2000 Intel 128 17000-18000 y 0

Cisco 12.0 2514 255 3800-5000 n 192

Solaris 2.x Intel/Sparc 255 8760 y 0

"Thông tin này ã h¡i ci rÓi nh°ng có ph§n lÛn v«n còn giá trË. Thí 'ngâm kíu' xem sao."

'cuti' t¯c l°ái:

"Ch­c.... có nhïng OS em ch°a hÁ nghe qua luôn, ëng nói chi là có Ã mà thí :). Còn m¥y cái cÙt WINDOW, DF và TOS Ã làm gì v­y anh?"

Tôi áp:

"À, WINDOW là window size cça packet, DF là vi¿t t¯c cça "don't fragment" và TOS là vi¿t t¯c cça "type of service". Em xem trong cuÑn 'c©m nang' tcp/ip cça Richards thì s½ rõ chúng là gì, có vai trò gì. 3 giá trË WINDOW, DF và TOS cing là các giá trË ·c thù trong viÇc éng dång tcp stack trên m×i hÇ iÁu hành. Bßi v­y, có thà dùng các giá trË này à ph§n nào xác Ënh footprint."

'haothu' tham gia:

"Em cing ch°a hÁ nghe qua tên cça mÙt sÑ hÇ iÁu hành trên danh sách này. Ch¯c iÁu kiÇn ß VN thì có l½ khó lòng mà ti¿p c­n °ãc nh°ng cái chính là à mình tham kh£o cho mÙt sÑ hÇ iÁu hành mình có thà mó tay vào. Nh°ng mà làm sao thu th­p °ãc các thông tin ß trên hß anh? Ch³ng l½ muÑn bi¿t thì ph£i cài h¿t các hÇ iÁu hành ó mà vÍc sao?"

Tôi tr£ lÝi:

"Không em. Thông th°Ýng mÙt project nh° nmap khßi §u chÉ nhÏ thôi và nó cing thëa h°ßng khá nhiÁu të nhïng công cå i tr°Ûc. HÍ t¡o mÙt database à mÍi ng°Ýi óng góp các footprint ã °ãc tìm th¥y. M×i ng°Ýi mÙt ít, lâu d§n nó Ó sÙ và bao gÓm r¥t nhiÁu thông tin. Ch³ng có ai có thà tñ t¡o ra mÍi thé °ãc âu em :)."

'haothu' áp:

"À, ra v­y."

'ccxx' lên ti¿ng:

"Em th¥y nmap có option -O Ã oán OS cça máy mình muÑn thm dò. Th­t sñ nó làm viÇc th¿ nào v­y anh?"

'docco' xen vào:

"Em thì khoái tìm cách kh¯c ch¿ m¥y cái rà quét nh° nmap mà thôi. Em ngh) tr°Ûc m¯t mình chÉ c§n thëa h°ßng nhïng iÁu ã °ãc hình thành cing ã ç vá c£ §u rÓi."

Tôi áp:

"Ý ki¿n cça ccxx và docco Áu hïu lý c£. Có l½ m¥y anh em mình bàn ¿n chuyÇn này sau h£? Mình ngÓi 'ngâm' th¿ này ã khá lâu. Anh ph£i dÍt. L§n này mình bàn khá nhiÁu v¥n Á ó, cho nên m¥y éa chËu khó xem l¡i và kiÃm chéng, thí nghiÇm s¡ s¡ Ã n¯m h£? Chào m¥y éa."

BÙ bÑn áp:

"Chào anh."

Tôi logoff.

10/01/2006

<còn ti¿p>

conmale(HVA)

Ký sñ các vå DDOS HVA ph§n 1

LTS: Do mÙt sÑ nguyên nhân khách quan và chç quan, nhiÁu bài vi¿t trên HVA server tr°Ûc kia ã bË h° hÏng n·ng. VÛi måc ích t¡o sñ thu­n lãi cho các thành viên cça HVA khi tham kh£o các bài vi¿t ci, prof xin m¡n phép anh conmale, tác gi£ cça lo¡t bài "ký sñ các vå DDoS ¿n HVA", ng l¡i bài vi¿t cça anh trong box này. ây là mÙt topic r¥t h¥p d«n và gÓm nhiÁu ph§n. Sau ây là ph§n §u tiên. Các b¡n có thà tham chi¿u các ph§n ti¿p theo trong các topic cùng tên. Xin c£m ¡n.

-----------------

D¥u hiÇu

M¥y tu§n lÅ g§n ây, Ùt nhiên l°ãng t£i trên máy chç HVA tng vÍt trong khi sÑ l°ãng thành viên chính théc truy nh­p diÅn àn v«n ß méc bình th°Ýng. DoS? hay DDoS? L°ãng t£i này tng vÍt khá Áu ·n vài giÝ trong m×i ngày. L°ãng thành viên gia tng nên có quá nhiÁu ng°Ýi cùng truy c­p? không ph£i. HVA ang có Á tài gì h¥p d«n nên thiên h¡ ùn ùn kéo vào? cing không ph£i.

D¥u v¿t

Tôi nh­n công tác iÁu tra và xí lý tình tr¡ng b¥t bình th°Ýng này, trong §u ã ph§n nào oán sñ thà do DoS. Khuya ngày 10 tháng 10, tôi log vào server cça HVA và t¡o ra vài console, mß ra vài cái uôi -1-, làm mÙt ¥m trà và ngÓi ó nhâm nhi... mÙt mình. Không c§n ph£i ãi lâu, hàng lo¡t thông tin të log cça web server hiÇn lên màn hình vÛi mÙt sÑ chi ti¿t r¥t lý thú:

Code:

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

80.170.198.46 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1617 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)"

81.66.147.0 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1615 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1614 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

24.17.150.114 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1504 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1614 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

81.66.147.0 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1615 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

80.170.198.46 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1617 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1614 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

24.17.150.114 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1504 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3"

81.66.147.0 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1615 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1614 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

80.170.198.46 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1617 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

211.199.192.157 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1619 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

203.162.3.148 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1614 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"

81.66.147.0 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.1" 200 1615 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"

210.245.31.246 - - [10/Oct/2004:06:57:19 -0400] "POST /forum/ HTTP/1.0" 200 1618 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

24.17.150.114 - - [10/Oct/2004:06:57:20 -0400] "POST /forum/ HTTP/1.1" 200 1504 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3"

Chà, ch³ng l½ thành viên "hÑi h£" kéo vào diÅn àn và "POST" bài nhiÁu ¿n v­y sao? hai m°¡i lm cái "POST" trong mÙt giây të mÙt vài IP? Cé cho là hãp lÇ vì thành viên ß VN i ra Internet, qua cùng mÙt cía ngõ -2- là chuyÇn bình th°Ýng. Nh°ng, hµng ã, vëa rÓi l¡i có mÙt chùm ¿n h¡n nm m°¡i cái "POST" i ¿n trong mÙt giây, cing të các IP nh° trên. B¥t th°Ýng hay b¥t t°Ýng?

Tôi à yên m¥y "cái uôi" ch¡y trên m¥y console và mß trình duyÇt cça mình lên, thí log vào HVA b±ng nickname và password cça tôi à xem thí "thái Ù" POST të máy cça tôi có t°¡ng tñ nh° nhïng cái POST tôi nh­n °ãc vài chåc giây tr°Ûc ây (xác thñc là b¡n cça nghÁ phân tích). Cha ch£, cái POST cça tôi nhìn hãp lÇ h¡n nhiÁu:

Code:

xxx.xx.xxx.98 - - [10/Oct/2004:07:11:25 +0900] "POST /forum/act_Login_CODE_01.html HTTP/1.0" 200 7405 "http://www.hvaonline.net/forum/act_Login_CODE_00.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510"

Tôi thí mß "cái uôi" cça firewall log trên server xem có gì h¥p d«n không. Chà, log cça web server v«n "POST" vào §m §m nh°ng firewall log thì v«n im ¯ng nh° Énh Himalaya. Thôi rÓi, ch¯c ây là mÙt "kiÃu ch¡i" r¥t hãp lÇ nên firewall cho phép chúng vào th£ cía. Tôi gßi nhanh mÙt PM ¿n JAL, nhÝ lão phóng cái sniffer lên à "hít" -3- mÙt ít gói tin và l°u l¡i mÙt n¡i thích hãp dùm tôi. êm ã khuya, tôi ph£i i ngç à mai còn i làm. Sáng mai s½ copy mÛ gói tin ã °ãc l°u và s½ phân tích xem sñ thà ra sao.

Phân tích

Ngày 11/10

Trên tàu lía ¿n sß làm, tôi hm hß mß laptop ra và b¯t tay vào xem xét thông tin "b¯t" °ãc tÑi hôm qua. ChuyÇn §u tiên ­p vào m¯t tôi là kích th°Ûc hÓ s¡ ã sniff, chà, sao nó bé tí t¹o v­y nhÉ? Sáng nay lúc tôi log vào HVA server à copy hÓ s¡ này, tôi ã không à ý ¿n kích th°Ûc (vì cé ngh) nó ph£i ít nh¥t là vài megabytes), tôi chÉ ch¡y lÇnh scp và bÏ ó rÓi i thay Ó i làm. Lúc này mÛi nh­n ra là nó bé tí t¹o, không bi¿t có gì trong này.

Tôi dùng Ethereal mß hÓ s¡ này ra, và.... úng nh° dñ phÏng, Ethereal phàn nàn "stream not completed". Tôi b­t c°Ýi và tñ nhç: "chà, ch¯c lão JAL sã nó sniff lâu quá thành mÙt hÓ s¡ khÕng t°ãng nên chÉ sniff mÙt, hai giây rÓi t¯t liÁn". Thông tin "b¯t" °ãc të sniffer quá ít, chÉ vÏn v¹n h¡n m°Ýi dòng, trong ó có °ãc mÙt cái SYN -4-, mÙt cái ACK,PSH të mÙt segment khác, mÙt cái HTTP (POST) cÙng thêm vài cái "continuation" të các segment tr°Ûc và sau cái SYN ß trên không th¥y gì i theo.

X¿p laptop l¡i, tôi tr§m ngâm vài phút, có vài chi ti¿t c§n xem l¡i trong mÛ packets ng¯n ngçi mà lão JAL ã cung c¥p. Tôi l¡i mß laptop ra và i xuyên qua m°Ýi m¥y m£nh packets rÝi r¡c. Không thà "gom" các packets này thành mÙt stream hoàn chÉnh, tôi ành xem xét tëng m£nh mÙt l§n nïa. iÃm lý thú ­p ngay vào m¯t tôi khi dò ¿n http packet chéa m£ng §u cça ph§n "POST". Cha ch£, POST cái gì mà l¯m th¿?

- payload -5- cça "POST" có ¿n 2205 bytes?

- o¡n §u cça m£nh "POST" này có thông tin:

Code:

hotlinks=Offical%2Ecom&comdoss=attack&port=80&url1=http%3A%2F%2Fhvaonline%2Enet%3A80&url2=http%3A%2F%2Fhvaonline%2Enet%3A80%2Fforum%2F&http%3A%2F%2Fwww%2Exxx%2Ecom%2FForum%2Findex%2Ephp=&act=Reg&CODE=02&coppa%5Fuser=0&PassWo

Lý thú nhÉ, lý thú nh°ng cing ch°a có gì rõ ràng cho l¯m. Tôi h¡i ng¡c nhiên là t¡i sao m¥y lão trên HVA l¡i à yên nhïng http header và payload có dính ngÕn ngang các "chú" ampersand -6-. Có l½ m¥y lão cho phép vì ây là ph§n c§n thi¿t cho forum? Tôi ch°a n¯m °ãc bao nhiêu các ph§n tÑ ngÕn ngang giïa "Invision Board" và web server éng tr°Ûc, cái này ph£i iÁu tra kù mÛi °ãc.

Thi¿u các m£nh ti¿p theo cça o¡n POST trên, tôi ành thß dài và dëng l¡i vì ch³ng i tÛi âu. Thôi v­y, ành ph£i sniff l¡i vì mÛ thông tin này ch³ng giúp °ãc bao nhiêu.

Các b¡n có thà theo dõi ti¿p ph§n 2 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/176.hva" \t "_blank" ây

Chú thích:

-1- "tail", mÙt lÇnh dùng à liên tåc chuyÃn thông tin cça log lên console à theo dõi.

-2- "gateway", cía ngõ i ra / i vào giïa 2 network.

-3- "sniff", Ùng tác hít nói theo tính sinh hoá, Ùng tác "b¯t l¥y" các gói tin i xuyên qua °Ýng d«n nói theo tinh th§n iÇn toán.

-4- "SYN, ACK, PSH...." là các tcp flags °ãc dùng trong giao théc TCP.

-5- payload là dï liÇu trong gói tin (nói trên bình diÇn "m¡ng").

-6- ampersand (&) là d¥u "và" trên keyboard.

Conmale(HVA)

Phân tích (ti¿p theo)

TÑi 11/10

Tôi gßi PM cho lão JAL à "hít" thêm ít gói tin, l§n này tôi n¯m ch¯c ph£i có vài megabytes packets à ngËch. Không lâu sau ó, tôi nh­n °ãc hÓi áp të JAL thông báo các m£nh packets ã có sµn trên server. Tôi log vào HVA server và t£i chúng xuÑng. Hm hß mß o¡n "hit" thé nh¥t, tôi rà xuyên qua trÍn bÙ các gói tin b¯t °ãc trong nhóm thé nh¥t à tìm mÙt d¥u hiÇu nÕi b­t và nhïng d¥u hiÇu nào có liên quan ¿n o¡n payload cça HTTP POST ß trên. Quá nhiÁu! có quá nhiÁu "stream" -7- të nhiÁu nguÓn khác nhau nh° mang cùng mÙt ·c tính. Thí xem mÙt "stream" do client IP là 203.210.233.28, dùng proxy server là 203.162.3.148 à "POST" vào server cça HVA:

Code:

POST /forum/ HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Content-Type: application/x-www-form-urlencoded

Content-Length: 2387

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

Cookie: session_id=433ab8bcc276414badb0e83891bbb9a6

Host: www.quangvinhonline.info

X-Forwarded-For: 203.210.233.28

Connection: Keep-Alive

Cache-Control: no-cache, bypass-client=203.210.233.28

hotlinks=Offical%2Ecom&comdoss=attack&port=80&url1=http%3A%2F%2Fwww%2Ehvaonline%2Enet%2Fforum%2F&url2=http%3A%2F%2Fwww%2Ehvaonline%2Enet%2Fforum

%2F&http%3A%2F%2Fwww%2Exxx%2Ecom%2FForum%2Findex%2Ephp=&act=Reg&CODE=02&coppa%5Fuser=0&PassWord=123456&PassWord%5FCheck=123456&agree=1&imie=Only

+U&nazwisko=Frem&kraj=AG&adres1=Hien+kem&adres2=&miasto=Hiam+city&kod=51451&HT=Hacker%5FVietNam&EM=gianghomang%40yahoo%2Ecom&PW=123456&rPW=123456

&DangKy=nananaBD&telefon%5Fa=574&telefon=52415487&mail1=jand%40yahoo%2Ecom&mail2=jand%40yahoo%2Ecom&pass1=jand%40yahoo%2Ecom&pass2=jand%40yahoo

%2Ecom&ret=0&question=jand%40yahoo%2Ecom&answer=jand%40&s=&do=addmember&url=http%3A%2F%2F64%2E207%2E189%2E5&password%5Fmd5=&passwordconfirm%5Fmd5

=&passwordconfirm=123456&referrername=Nokia&timezoneoffset=0&dst=2&options%5Badminemail%5D=1&options%5Bshowemail%5D=1%24%23%24%40%24%5E%24%40%23

%21%40%23%24%21%40%23%24%40%21&1+42A3KCT%2ENET%2E+%0D%0A2+BAODIENTUVN%2ECOM%2E+%0D%0A3+CANDYKID%2ENET%2E+%0D%0A4+CVK3N%2ECOM%2E+%0D%0A5+CVK3N%2ENET

%2E+%0D%0A6+DIEMTUYENSINH%2ECOM%2E+%0D%0A7+DNSTBVN%2ENET%2E+%0D%0A8+HACKER4A%2ECOM%2E+%0D%0A9+HOAIANH%2ECOM%2E+%0D%0A10+LAMHONGHUYEN%2ECOM%2E+%0D

%0A11+LAMHONGHUYEN%2EINFO%2E+%0D%0A12+LAMHONGHUYEN%2ENET%2E+%0D%0A13+MUSIC4VN%2ECOM%2E+%0D%0A14+NVBH7%2ECOM%2E+%0D%0A15+THANGKCT%2ENET%2E+%0D

%0A16+TINHBANVIETNAM%2EORG%2E+%0D%0A17+TUOITRE%2EINFO%2E+%0D%0A18+VIETSTAR%2EINFO%2E+%0D%0A=%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0D

%0A1+4RTRITHUC%2ECOM%2E+%0D%0A2+ANHEMCLUB%2EORG%2E+%0D%0A3+r u crazy???%2ECOM%2E+%0D%0A4+BARIA%2DCLUB%2ECOM%2E+%0D%0A5+CANHHAO%2ECOM%2E+%0D%0A6+DONGTRANG

%2ECOM%2E+%0D%0A7+HOAHOCBKHN%2ECOM%2E+%0D%0A8+INTELNEW%2ECOM%2E+%0D%0A9+KHUCTINHCA%2ECOM%2E+%0D%0A10+LAONHAO%2ENET%2E+%0D%0A11+LYSOCHANTHUYEN%2EORG

%2E+%0D%0A12+NHANVAN%2EORG%2E+%0D%0A13+NHIPDIEUVN%2ECOM%2E+%0D%0A14+NHUNGANHSAOBANG%2ECOM%2E+%0D%0A15+NTQUOCKHAI%2ECOM%2E+%0D%0A16+PHAMLUYEN%2ENET

%2E+%0D%0A17+RADUONG%2ENET%2E+%0D%0A18+SAIGONMARK%2ECOM%2E+%0D%0A19+TEMP4YOU%2ENET%2E+%0D%0A20+THANHKY%2ENET%2E+%0D%0A21+TINHCAVN%2ECOM%2E+%0D

%0A22+TRUCXANHVN%2ENET%2E+%0D%0A23+TUOITRETAIHOA%2ECOM%2E+%0D%0A24+TUTHIENONLINE%2ECOM%2E+%0D%0A25+VUIVOINET%2ECOM%2E+%0D%0A26+XLUKE%2ENET%2E+%0D

%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D&UserName=782313927&EmailAddress=112156084%40&EmailAddress%5Ftwo=112156084%40&user=782313927&Email=112156084

%40&emailconfirm=112156084%40&timeonl=2847

Uh oh! Cái gì ây? Thí decode xem nó chéa gì, m¥y cái %2, %3 xem chÉ tÕ... mù m¯t:

Code:

POST /forum/ HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Content-Type: application/x-www-form-urlencoded

Content-Length: 2387

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

Cookie: session_id=433ab8bcc276414badb0e83891bbb9a6

Host: www.quangvinhonline.info

X-Forwarded-For: 203.210.233.28

Connection: Keep-Alive

Cache-Control: no-cache, bypass-client=203.210.233.28

hotlinks=Offical.com&comdoss=attack&port=80&url1=http://www.hvaonline.net/forum/&url2=http://www.hvaonline.net/forum/

&http://www.xxx.com/Forum/index.php=&act=Reg&CODE=02&coppa_user=0&PassWord=123456&PassWord_Check=123456&agree=1&imie=Only U&nazwisko=Frem&kraj=AG&adres1=Hien kem&adres2=&miasto=Hiam city&kod=51451&HT=Hacker_VietNam&[email protected]&PW=123456&rPW=123456&DangKy=nananaBD&telefon_a=574&telefon=52415487

&[email protected]&[email protected]&[email protected]&[email protected]&ret=0&[email protected]&answer=jand@

&s=&do=addmember&url=http://64.207.189.5&password_md5=&passwordconfirm_md5=&passwordconfirm=123456&referrername=Nokia&timezoneoffset=0

&dst=2&options[adminemail]=1&options[showemail]=1$#$@$^$@#!@#$!@#$@!&1 42A3KCT.NET. 2 BAODIENTUVN.COM. 3 CANDYKID.NET. 4 CVK3N.COM. 5 CVK3N.NET. 6 DIEMTUYENSINH.COM. 7 DNSTBVN.NET. 8 HACKER4A.COM. 9 HOAIANH.COM. 10 LAMHONGHUYEN.COM. 11 LAMHONGHUYEN.INFO. 12 LAMHONGHUYEN.NET. 13 MUSIC4VN.COM. 14 NVBH7.COM. 15 THANGKCT.NET. 16 TINHBANVIETNAM.ORG. 17 TUOITRE.INFO. 18 VIETSTAR.INFO. ==================1 4RTRITHUC.COM. 2 ANHEMCLUB.ORG. 3 r u crazy???.COM. 4 BARIA-CLUB.COM. 5 CANHHAO.COM. 6 DONGTRANG.COM. 7 HOAHOCBKHN.COM. 8 INTELNEW.COM. 9 KHUCTINHCA.COM. 10 LAONHAO.NET. 11 LYSOCHANTHUYEN.ORG. 12 NHANVAN.ORG. 13 NHIPDIEUVN.COM. 14 NHUNGANHSAOBANG.COM. 15 NTQUOCKHAI.COM. 16 PHAMLUYEN.NET. 17 RADUONG.NET. 18 SAIGONMARK.COM. 19 TEMP4YOU.NET. 20 THANHKY.NET. 21 TINHCAVN.COM. 22 TRUCXANHVN.NET. 23 TUOITRETAIHOA.COM. 24 TUTHIENONLINE.COM. 25 VUIVOINET.COM. 26 XLUKE.NET. ====================&UserName=782313927&EmailAddress=112156084@

&EmailAddress_two=112156084@&user=782313927&Email=112156084@&emailconfirm=112156084@&timeonl=2847

Cái gì nÕi b­t trong hai o¡n trên? úng rÓi: x-flash. T¡i sao l¡i có chuyÇn dùng flash à "duyÇt" HVA forum? Ngoài x-flash còn có nhïng gì nÕi b­t? Có quá nhiÁu iÃm nÕi b­t trong payload ß trên. Tuy nhiên, éng dång ra sao là y¿u tÑ quy¿t Ënh ph£i chÍn nhïng gì và ß âu trong payload.

Hãy thí "dñng" l¡i các gói tin thuÙc mÙt "stream" t°¡ng tñ Ã xét xem chúng có gì ·c biÇt vÁ m·t chuyÃn gßi và chuyÃn nh­n gói tin:

INCLUDEPICTURE "mhtml:mk:@MSITStore:D:\\My%20Documents\\Downloads\\SoTayHacker1.0.chm::/SoTayHacker1.0/27.Phong%20su%20-%20Ky%20su%20-%20Tin%20tuc%20-%20Lich%20su%20Hacker%20-%20Nhan%20vat/05.Ky%20su%20cac%20vu%20DDOS%20HVA/02.Ky%20su%20cac%20vu%20DDOS%20HVA%202.mht!http://img213.imageshack.us/img213/7497/lengthsig1lp.gif" \* MERGEFORMATINET

Nhïng iÃm °ãc khoanh l¡i ß trên là nhïng iÃm °ãc xem là "b¯t m¯t" nh¥t. Tr°Ûc tiên chúng ta th¥y các packets này xí dång úng TCP sequence, gßi SYN, rÓi gßi ACK, sau ó ti¿p tåc gßi tÛi ACK,PSH có encapsulated -8- HTTP trong ó. Sß d) chúng ta có 2 m£nh "continuation" vì content-length có chiÁu dài ¿n 2205 bytes, quá lÛn à khít vào mÙt MTU -9- và nó ph£i gói trong gói tin tcp ACK,PSH vì nó muÑn 2 m£ng thông tin này ¿n HVA server càng nhanh càng tÑt (càng nhanh thì HVA server càng mau ch¿t). Sau cùng là cái uôi RST (hiÃn thË trên hình là [TCP ZeroWindow].

Nhìn xuyên qua thì mÍi sñ có v» nh° hãp lÇ nh°ng xét cho kù thì t¡i sao cái "stream" này l¡i k¿t thúc b±ng RST thay vì FIN? H¡n nïa, sau khi hoàn t¥t m£ng "continuation" thé nhì thuÙc sequence 240 (xem cÙt trong cùng bên tay trái), mãi ¿n sequence thé 1154 mÛi gßi RST packet ¿n HVA server? iÁu này có ngh)a HVA server ph£i "ngóng chÝ" cho ¿n khi nguÓn tin të IP này ti¿p tåc ra hiÇu, n¿u không thì server s½ ãi cho ¿n khi "time out". ãi ¿n lúc "time out" hay ãi ¿n sau g§n 1000 sequence khác rÓi mÛi gßi 1 cái RST thì cing không khác gì nhiÁu cho l¯m (·c biÇt kernel trên HVA server °ãc chÉnh sµn TCP time out khá ng¯n). ây có thà là éng dång flash "chuÑi chiên" vì tôi không tin r±ng ng°Ýi t¡o flash có thà ¥n Ënh khi nào nên gßi FIN hay nên khßi RST? Cing có thà nguÓn nguyên thçy (máy nào ó) ch¡y cái flash này xuyên qua °Ýng d«n khá tÇ nên các TCP sequences cách nhau khá xa? Có thà k» ã t¡o ra m¥y cái flash này cing ch³ng thèm à ý ¿n nhïng "ph°¡ng h¡i" tinh vi th¿ này, miÅn sao dÙi HVA server càng nhiÁu, càng tÑt thôi.

Sau khi xem xét hàng lo¡t các stream có lÓng m£ng "HTTP POST" và hình thành các sÑ liÇu thÑng kê, tôi ghi l¡i các giá trË HEX -10- cça mÙt sÑ chi ti¿t nÕi b­t, b¥t bi¿n và vË trí offset (khung màu Ï trên hình) cça chúng të TCP "stream" ß trên à dành cho b°Ûc ngn ch·n sau này. Tôi không dành quá nhiÁu thÝi gian à t³n m³ng nÙi dung cça các POST payload ß trên nh°ng nhìn s¡ qua thì th¥y "chç nhân" cça mÛ x-flash này à lÙ quá nhiÁu chi ti¿t có thà giúp truy danh tánh. ây l¡i là mÙt chuyÇn khác, tôi th­t sñ không héng thú tìm hiÃu "chç nhân" mÛ x-flash này là ai.

Tôi log vào HVA server l§n nïa và "grep" -11- xuyên qua vài cái log ci cça web server ch¡y trên HVA. Ái chà, "bÇnh" x-flash này ã x£y ra cing ã nhiÁu ngày nh°ng HVA không "ch¿t" nÕi, chÉ ch­m l¡i ß nhïng lúc cao iÃm, chéng tÏ chi¿n thu­t x-flash này không m¥y hïu hiÇu? Hay vì "chç nhân" cça mÛ x-flash này chÉ cài chúng âu ó rÓi.... "sÑng ch¿t m·c bây"? Tôi ti¿p tåc ào sâu trong mÛ log ã ci cça HVA à hình thành vài con sÑ thÑng kê. Sau h¡n mÙt giÝ "chÍc ngoáy" các log files và ghi chú thành mÙt trang notepad chi chít chi ti¿t, tôi hình thành °ãc khá nhiÁu thông tin h¿t séc lý thú, Nhïng thông tin này khá phéc t¡p và t¿ nhË nên không thà công bÑ rÙng rãi cho Ùc gi£. Tôi ành ph£i t¡m tóm l°ãc nh° sau:

- cn bÇnh x-flash này ã x£y ra nhiÁu tháng.

- trung bình m×i ngày có kho£ng +- 15,000 requests dùng x-flash vào HVA forum.

- các request này th°Ýng t­p trung të kho£ng 6 giÝ chiÁu cho ¿n khuya giÝ VN.

- cao iÃm các request này "ång" vào HVA là kho£ng 9 giÝ tÑi.

Có thà rút tÉa °ãc iÁu gì thuÙc ph°¡ng diÇn kù thu­t të nhïng thông tin trên nhÉ?

- ám "x-flash" này có thà °ãc x¿p lo¡i vào d¡ng DDoS vì chúng ¿n të nhiÁu nguÓn (IP) khác nhau cùng mÙt lúc.

- chúng có cùng ·c tính (nói vÁ m·t giao théc, kích th°Ûc và thái Ù).

- có mÙt sÑ "stream" i vào có cùng tính ch¥t nh° các x-flash phá ho¡i này nh°ng không hÁ mang "x-flash" trong header cça HTTP POST, có l½ chúng °ãc mÙt proxy server nào ó "lÙt" m¥t cái header?

- chúng hoàn toàn hãp lÇ vÁ m·t giao théc cho nên c¥u hình server cça HVA ti¿p nh­n chúng vÛi "vòng tay rÙng mß".

- và d°Ýng nh° chúng °ãc gßi ¿n të các máy con trong thÝi iÃm duyÇt Internet cao Ù trong ngày.

VÛi nhïng nh­n Ënh trên, tôi tin r±ng các "con" x-flash kia không °ãc chç nhân iÁu tác theo kiÃu master / zombies thông th°Ýng mà ây có thà là cách cài các "x-flash" trên nhïng diÅn àn t°¡ng tñ nh° HVA. Khi ng°Ýi dùng duyÇt úng trang web nào ó có g¯n nhïng "x-flash" này, chúng °ãc dùng làm ph°¡ng tiÇn à gßi request ¿n HVA server. SÑ l°ãng ng°Ýi truy c­p các diÅn àn ¥y càng nhiÁu thì sÑ l°ãng request gßi ¿n HVA càng cao. V­y, HVA ph£i Ñi phó ra sao?

- c£n? c£n ai? c£n nhïng gì? n¿u ph£i c£n thì chÉ có thà c£n mÙt mÛ IP cça các gateway ho·c các proxy server i të VN (là chç y¿u) và n¿u v­y thì chuyÇn gì x£y ra? úng v­y! "x-flash" ã "deny service" thành công vì nó buÙc HVA ph£i c£n luôn nhïng "k» vô can" trong cuÙc ch¡i quái dË này.

- không c£n? thì "cn bÇnh" này cé eo uÕi mãi sao? và n¿u cé à nh° v­y thì chuyÇn gì x£y ra? t¥t nhiên là HVA server không thà "ch¿t" nÕi nh°ng £nh h°ßng ¿n các thành viên (và khách) truy c­p ¿n diÅn àn HVA là £nh h°ßng tiêu cñc (ch­m, ét quãng, phí tài nguyên, phí bng thông...).

Có khá §y ç các dï kiÇn c§n thi¿t, tôi b¯t §u hình thành chi¿n thu­t "trË" nh°ng "trË" th¿ nào thì xin Ùc gi£ ón xem ph§n k¿ ti¿p.

Các b¡n có thà theo dõi ti¿p ph§n 3 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/177.hva" \t "_blank" ây.

Chú thích:

-7- stream là mÙt chu×i tin khßi §u të SYN và k¿t thúc ß FIN theo úng quy trình. MÙt stream chéa các gói tin ra / vào të khi mß connection ¿n khi connection °ãc t¯t bÏ (vì lý do gì ó).

-8- encapsulated là "lÓng" gói tin thuÙc t§ng trên vào gói tin thuÙc t§ng d°Ûi (HTTP là giao théc t§ng application và °ãc lÓng vào TCP là giao théc t§ng transport)

-9- MTU là Maximum Transmission Unit, giá trË quy Ënh tÑi a có bao nhiêu bytes °ãc chéa trong mÙt m£ng tin bao gÓm header, thông tin tr£i të link layer trß lên. N¿u gói tin quá giÛi h¡n MTU thì nó ph£i °ãc b» nhÏ ra thành nhiÁu m£ng (fragmentation). Ethernet có MTU là 1500 bytes tÑi a cho m×i m£ng, IEEE 802.2/802.3 có MTU là 1492 tÑi a cho m×i m£ng, FDDI (optic fibre) có MTU là 4352 và tÑi a MTU có thà ¡t °ãc là 65535 cho Hyperchannel. Xem thêm chi ti¿t të mÙt cuÑn sách chuyên vÁ TCP/IP.

-10- HEX là vi¿t t¯t cça hexadecimal.

-11- grep là mÙt lÇnh h¿t séc phÕ bi¿n trên *nix dùng à tìm mÙt o¡n chï có d¡ng m«u nào ó trong mÙt hÓ s¡ nào ó (chú thích này dành cho nhïng ai ch°a hÁ dùng *nix).

Conmale(HVA)

Sáng 12/10

Sáng nay công viÇc có ph§n th° th£ h¡n mÍi ngày, tôi quy¿t Ënh log vào server HVA Ã b¯t §u xem xét c©n th­n c¥u hình kernel / firewall / web server xem thí c§n ph£i làm gì Ã "trË" cn bÇnh x-flash này. Tôi quên bµng là firewall / proxy cça công ty không cho phép i th³ng ¿n cÕng 22 -12-, bây giÝ mÛi Û ng°Ýi ra vì không vào HVA server °ãc. Tôi ã "bË" k¹t vå này ã lâu cho nên ph£i bi¿n cÕng SSH trên firewall riêng ß nhà të 22 thành 443 vì firewall cça hãng chÉ cho truy c­p ¿n cÕng 80 và 443 (xuyên qua proxy dùng HTTP CONNECT), nh°ng ây là chuyÇn khác, không khéo tôi l¡i l¡c Á ß ây. Sau vài phút tr§m ngâm, tôi n£y ra ý t¡o tunnel të máy cça mình ¿n firewall riêng ß nhà rÓi mÛi t¡o ssh connection të máy cça mình ¿n HVA server xuyên qua tunnel này. Bi¿t r±ng "tunnel trong tunnel" -13- ch¯c là chuÑi l¯m vì ch­m, nh°ng không còn cách nào khác.

Sau mÙt phút thí nghiÇm, tôi thí:

Code:

$ ssh localhost -p 25250

(localhost cça tôi l¯ng nghe trên cÕng 25250 và forward thông tin ¿n firewall riêng cça tôi ß nhà, të ó nó mÛi i ¿n HVA server). Ái chà, nó ch¡y! H¡i ch­m mÙt tí nh°ng không sao c£. Tôi mß thêm mÙt console khác cing xuyên qua tunnel này. TÑt rÓi, hai cái shell là ç làm viÇc.

Tôi tìm hÓ s¡ mà tôi ã hí hoáy ghi xuÑng ch±ng chËt ngày hôm tr°Ûc rÓi rà xuyên qua nó. ây rÓi H¡n 15 ngàn request ¿n HVA server m×i ngày. T­p trung kho£ng 8 giÝ ¿n 10 giÝ tÑi VN, cao iÃm là 9 giÝ. Të 8 giÝ ¿n 10 giÝ tÑi có Ù chëng 10 ngàn ¿n 12 ngàn x-flash requests. Có kho£ng 1 truy c­p hãp lÇ cho m×i 30 giây (HTTP GET, HTTP POST) cça các thành viên duyÇt diÅn àn khi diÅn àn ông nh¥t. Cé cho là trong 2 giÝ cao iÃm này có 12 ngàn x-flash requests ¿n HVA server, sÑ "l» t»" còn l¡i không áng kÃ.

(12000 requests / 120 phút) / 60 giây = 1.6 request m×i giây

Nói vÁ m·t t§ng sÑ truy c­p thì ây là mÙt con sÑ khá cao. Dña trên sÑ liÇu thành viên truy nh­p diÅn àn và gßi / xem bài mÙt cách hãp théc và bình th°Ýng (l¥y të log cça web server) x¥p xÉ:

(200 thành viên sign-in m×i giÝ / 60 phút) / 60 giây = 0.05 request m×i giây

So sánh hai con sÑ trên thì t§ng sÑ "truy c­p" b¥t hãp lÇ (x-flash) g¥p 32 l§n t§ng sÑ truy c­p hãp lÇ. Kinh nhÃ?

Câu hÏi cing nh° câu tr£ lÝi ß giai o¡n này trß nên quá hiÃn nhiên:

- hÏi: vô hiÇu hoá các truy c­p b¥t hãp lÇ ra sao ây? tr£ lÝi: giÛi h¡n các truy c­p b¥t hãp lÇ.

- hÏi: v­y giÛi h¡n là giÛi h¡n th¿ nào? tr£ lÝi: hèm... cái này thì ang tính toán ây.

Ph£i hình thành mÙt công théc à t¡o giá trË trung bình cça mÙt k¿t nÑi bình th°Ýng và të ó mÛi có thà hình thành giÛi h¡n hãp lý °ãc. Vì HTTP là mÙt giao théc có tính stateless -14- cho nên, thông tin giïa client (trình duyÇt) và server (web server) th°Ýng °ãc k¿t thúc càng nhanh càng tÑt và connection này s½ °ãc t¯t bÏ sau khi quy trình chuyÃn gßi thông tin hoàn t¥t. Tuy nhiên, trong quá trình chuyÃn Õi, giïa client và server s½ mß thêm các connection n¿u dï liÇu °ãc truyÁn quá lÛn ho·c c§n chuyÃn t£i thông tin nhanh chóng. Måc ích là à ©y thông tin i ¿n client (ho·c server) càng nhanh càng tÑt (HTTP GET và HTTP POST). Hãy xem thí mÙt x-flash stream xem sao. Tôi iÁu chÉnh hai console ã °ãc k¿t nÑi vào HVA server cho chúng n±m song song. Trên console thé nh¥t tôi "tail" web server log cça HVA, trên console thé nhì tôi ch¡y netstat. À ha, có vài chú x-flash ang i vào, tôi l¥y ngay IP ang hiÃn thË trên console theo dõi log cça web server và chuyÃn sang console có chéa netstat. Hãy thí IP 221.132.39.253 xem sao:

Code:

[root@hvaonline httpd]# netstat -nat | grep 221.132.39.253

tcp 0 0 192.168.1.100:80 221.132.39.253:4548 SYN_RECV

tcp 0 1 192.168.1.100:80 221.132.39.253:4544 LAST_ACK

tcp 0 723 192.168.1.100:80 221.132.39.253:4545 ESTABLISHED

tcp 0 723 192.168.1.100:80 221.132.39.253:4546 ESTABLISHED

tcp 0 723 192.168.1.100:80 221.132.39.253:4547 ESTABLISHED

tcp 0 0 192.168.1.100:80 221.132.39.253:4523 TIME_WAIT

tcp 0 0 192.168.1.100:80 221.132.39.253:4526 CLOSE_WAIT

tcp 0 0 192.168.1.100:80 221.132.39.253:4527 CLOSE_WAIT

tcp 0 0 192.168.1.100:80 221.132.39.253:4494 TIME_WAIT

tcp 0 0 192.168.1.100:80 221.132.39.253:4504 TIME_WAIT

tcp 0 0 192.168.1.100:80 221.132.39.253:4505 TIME_WAIT

Cha ch£, chú 221.132.39.253 này tham lam quá nhÉ? mÙt mình chú ã có ¿n nhïng 3 cái "ESTABLISHED", l¡i thêm 1 cái "SYN_RECV" và mÙt mÛ "CLOSE_WAIT", "TIME_WAIT". Dña trên thông tin cça hình minh ho¡ ß trên thì "thái Ù" tham lam này hoàn toàn phù hãp, bßi l½, mÙt HTTP POST có payload ¿n trên 2 ngàn bytes thì nó ph£i òi mß thêm connection à "©y" dï kiÇn ¿n HVA server càng nhanh càng tÑt mà (b¡n có à ý ¿n chi ti¿t ACK-PSH cça TCP segment chéa HTTP POST ã nói trong bài tr°Ûc không?). Tôi ti¿p tåc theo dõi thì th¥y chú 221.132.39.253 có ¿n nhïng tám cái "ESTABLISHED" c£ th£y trong suÑt quá trình chú hÑi h£ POST lên server cça HVA, iÁu này có ngh)a là có ít nh¥t 8 cái SYN ã gßi ¿n HVA server và vì nó là legitimate request (yêu c§u truy c­p hãp pháp) cho nên HVA server không hÁ c£n mà cho chúng i xuyên qua các b°Ûc TCP handshake rÓi i ¿n tình tr¡ng "ESTABLISHED". Có thà 8 cái "ESTABLISHED" này không dành riêng cho mÙt stream mà có ai ó cing dùng chung cái IP này à truy c­p HVA server. Có l½ °Ýng d«n giïa IP này và HVA server h¡i chuÑi, cing có l½ chính chú bË ngh½n vì Óng Ùi cça chú cing ang hÑi h£ flood HVA, cho nên, chú ph£i òi mß nhiÁu connection ¿n HVA server ¿n nh° v­y. Nh° v­y, tÕng sÑ socket c§n mß ra cho chú 221.132.39.253 và Óng Ùi cça chú (të nhiÁu IP khác) cho t¥t c£ các stream s½ lÛn l¯m ây. Cé cho r±ng m×i stream chéa HTTP POST mß ra 6 connections, chúng ta có:

Code:

( 12000 requests t¡o ) 12000 streams x 8 sockets = 72000 connections (cho m×i giÝ).

( 72000 connection / 120 ) / 60 = 10 connections cho m×i giây.

Ôi giÝi ¡i, sao mà kinh th¿? Cho dù SYN state thoát ra r¥t nhanh, cho dù ESTABLISHED state chÉ chi¿m vài giây nh°ng h­u qu£ cça mÛ "TIME_WAIT" và "CLOSE_WAIT" sau khi "ESTABLISHED" t¯t bÏ th­t sñ mÛi khinh khçng.

Tôi càng tin t°ßng vào ý Ënh dùng giÛi h¡n connection thay vì giÛi h¡n packet rate -15-. Lý do h¿t séc ¡n gi£n: ng°Ýi dùng bình th°Ýng chÉ c§n 4 connections là nhiÁu (tôi phÏng oán vÛi nÙi dung thông th°Ýng cça 1 trang trên HVA forum). ChÉ có nhïng chú "x-flash" tham lam kia mÛi c§n h¡n 4 connections vì HTTP POST chéa payload quá lÛn.

à b£o £m, tôi dùng chính trình duyÇt cça mình à thí truy c­p vào mÙt trang trên diÅn àn HVA. Hèm, hãy thí netstat trên mÙt console xem sao:

Code:

[root@hvaonline root]# netstat -nat | grep xxx.xx.xxx.98

tcp 0 0 192.168.1.100:80 grep xxx.xx.xxx.98:9322 SYN_RECV

tcp 0 1 192.168.1.100:80 grep xxx.xx.xxx.98:9313 LAST_ACK

tcp 0 198 192.168.1.100:80 grep xxx.xx.xxx.98:9307 ESTABLISHED

tcp 0 198 192.168.1.100:80 grep xxx.xx.xxx.98:9306 ESTABLISHED

tcp 0 0 192.168.1.100:80 grep xxx.xx.xxx.98:9303 TIME_WAIT

tcp 0 0 192.168.1.100:80 grep xxx.xx.xxx.98:9288 CLOSE_WAIT

tcp 0 0 192.168.1.100:80 grep xxx.xx.xxx.98:9292 TIME_WAIT

R¥t ti¿c tôi ph£i xoá cái IP cça mình và thay th¿ b±ng xxx.xx.xxx.98 vì IP này là IP toàn thÝi (tôi muÑn n ngon, ngç yên nên không thà ti¿t lÙ IP cça mình). Trß l¡i câu chuyÇn chính, b¥t ch¥p tôi vào trang nào, b¥t ch¥p trang ¥y có nhiÁu hay ít thông tin, tôi không hÁ th¥y có h¡n 4 connection hiÇn diÇn cho m×i l§n. Tôi cing thí lÇnh netstat ngay trên máy con cça mình và xác nh­n °ãc iÁu này. Ph§n lÛn là 3 connections cho m×i l§n, ngo¡i trë trang nào lÛn l¯m thì mÛi th¥y có 4 connections nh°ng tÉ lÇ này chÉ 1/100 (x¥p xÉ 100 l§n duyÇt mÛi có mÙt l§n). MÙt chi ti¿t áng nêu ra nïa là: thÝi gian mÙt socket n±m ß vË trí "ESTABLISHED" ch°a bao giÝ lâu h¡n 2 giây, ph§n lÛn chÉ 1/2 giây ho·c 1 giây là tÑi a. iÁu này giúp chúng ta rút ra vài iÁu r¥t lý thú:

- m×i trình duyÇt c§n tÑi a 4 connection à duyÇt 1 trang.

- 4 connections này không ß tình tr¡ng "ESTABLISHED" cùng 1 lúc, chÉ tÑi a 2 sockets ß tình tr¡ng "ESTABLISHED" cho m×i l§n.

Gi£ sí 200 thành viên cça HVA ang có m·t trên diÅn àn và cho r±ng có 1/10 sÑ l°ãng ng°Ýi ang b¥m vào mÙt sÑ trang nào ó (ây là tr°Ýng hãp cñc oan vì theo thông tin cça web server log, thì trung bình m×i 30 giây có mÙt "GET" trong kho£ng thÝi gian server b­n rÙn), và sÑ l°ãng 1/10 này ít nh¥t là dùng 5 IP (5 proxy khác nhau) Ã truy c­p HVA server:

(( 200 / 10) x 2 "ESTABLISHED") / 1 giây = 40 "ESTABLISHED"

40 "ESTABLISHED" / 5 IP = 8 "ESTABLISHED" connections là sÑ connection hãp lÇ cho m×i IP t¡i b¥t kì thÝi iÃm nào.

8 "ESTABLISHED" connections tÑi a cho m×i IP mÙt l§n, con sÑ này trông r¥t vëa ph£i. N¿u quy Ënh cho firewall chÉ cho phép ti¿p nh­n tÑi a 8 connections ¿n web server mÙt l§n thì nó ã d° séc phåc vå cho 200 thành viên có m·t trên diÅn àn cùng mÙt lúc. ó là ch°a kà tr°Ýng hãp khi mÙt thành viên thé nh¥t c§n duyÇt 1 trang nào ó, n¿u nó bË x¿p vào d¡ng quá connection thì trình duyÇt cça thành viên ¥y s½ ti¿p tåc gßi request ¿n HVA server à "thí l¡i", c¡ hÙi "thí l¡i" l§n thé nhì này t¡o connection trong ph¡m vi giÛi h¡n 8 connections r¥t cao. Ñi vÛi ng°Ýi dùng bình th°Ýng, sñ ch­m trÅ do "thí l¡i" này chÉ là mÙt ch­m trÅ r¥t nhÏ. T¡i sao tôi chÍn tình tr¡ng TCP "ESTABLISHED" à biÃu thË cho "connection"? -16- lý do r¥t ¡n gi£n là mÙt k¿t nÑi ã i ¿n tình tr¡ng "ESTABLISHED" thì k¿t nÑi ó ã thành công, ã có thông tin qua l¡i giïa 2 §u. Ph£i i qua °ãc giai o¡n TCP handshake thành công thì mÛi ¿n tình tr¡ng "ESTABLISHED".

Cing nên ào sâu thêm mÙt tí vÁ giÛi h¡n 8 connections ã nêu ra ß trên vÁ m·t logic. Gi£ sí chúng ta ã hình thành ch¿ Ù firewall °ãc ¥n Ënh cho phép truy c­p ¿n HVA web server të b¥t cé n¡i âu, miÅn sao m×i IP chÉ °ãc phép dùng tÑi a là 8 connections. 8 connections này có d¡ng na ná nh° mÙt lo¡i connection pools. Ví då, IP 203.162.5.100 là IP cça mÙt proxy server nào ó, ±ng sau IP này có 10 ng°Ýi ang dùng à truy c­p HVA server:

- ng°Ýi dùng thé nh¥t chi¿m 3 connections (n¿u truy c­p bình th°Ýng nh° tôi ã thí të trình duyÇt cça tôi ß trên) --> "pool" còn l¡i 5 connections

- ng°Ýi dùng thé hai chi¿m 3 connections --> trong khi ó, ng°Ýi dùng thé nh¥t ã tr£ l¡i 2 connection --> (5 + 2) - 3 = "pool" còn l¡i 4 connections

- ngay khi ng°Ýi thé ba chi¿m 3 connection nïa thì 3 connections cça ng°Ýi dùng thé nh¥t ã hoàn thành và ã tr£ l¡i 1, ng°Ýi dùng thé hai tr£ l¡i 2 --> (4 + 2 + 1) - 3 = "pool" còn 4 connections

Và cé th¿ mà xoay tròn. ây là nói theo tình tr¡ng truy c­p sequential (theo chu trình) h¿t ng°Ýi này ¿n ng°Ýi khác, còn n¿u tình tr¡ng truy c­p Óng thÝi thì sao? Cing 10 ng°Ýi dùng proxy trên à truy c­p HVA server:

- hai ng°Ýi 1 và 2 cùng truy c­p mÙt lúc, chi¿m 6 connections --> "pool" còn 2 connections

- ng°Ýi thé 3 và 4 k¿ ti¿p cùng truy c­p, chi¿m 6 connections --> 1 và 2 ß trên tr£ l¡i ít nh¥t 4 connections --> (4 + 2) - 6 = "pool" còn 0 connection

- ng°Ýi thé 5 và 6 cùng truy c­p, chi¿m 6 connections --> 1 và 2 tr£ l¡i h¿t các connection còn l¡i (2), 3 và 4 tr£ l¡i ít nh¥t 4 connections --> (2 + 4) - 6 = "pool" còn 0 connection

Theo phân tích trên, ngay c£ tr°Ýng hãp 2 ng°Ýi dùng cùng truy c­p mÙt l°ãt và dùng chung 1 IP (1 proxy server) Ã truy c­p thì v«n không bË £nh h°ßng gì të ch¿ Ù c£n cça firewall (vÛi ¥n Ënh tÑi a 8 connections).

N¿u nh° k¿ ti¿p có ng°Ýi thé 7, 8 và 9 cùng truy c­p thì sao? Ch¯c ch¯n là thi¿u 2 connection. Tuy nhiên, anh chàng nào h¡i ch­m chân mÙt tí thì trình duyÇt s½ "retry" ngay sau ó và khi "retry" packet này ång ¿n server thì c¡ hÙi có connection à vào r¥t cao vì khi ¥y ng°Ýi thé 3, 4, 5, 6 ã tr£ l¡i mÙt lo¡t connection rÓi. Ñi vÛi ng°Ýi dùng bình th°Ýng, ây là mÙt "delay" r¥t nhÏ và có thà ti¿p nh­n °ãc. Trên thñc t¿, chuyÇn này hi¿m x£y ra. Theo thông tin ã thâu th­p °ãc të log cça web server thì cé 30 giây mÛi có mÙt xu¥t truy c­p mÛi. Quy Ënh 8 connections mÙt lúc cho m×i IP th­t sñ còn quá th° giãn so vÛi hoàn c£nh thñc t¿. Tuy nhiên, cé t¡m dùng con sÑ này làm iÃm khßi §u rÓi chÉnh sía sau v­y.

V­y n¿u HVA server bË "flood" liên tåc và chi¿m h¿t connections, làm cho ng°Ýi dùng bình th°Ýng không vào °ãc thì sao? ây là iÃm òi hÏi ph£i chÉnh sía các thông sÑ tcp/ip trên kernel à iÁu ti¿t cho thích hãp h¡n. N¿u các giá trË ¥n Ënh cho tcp/ip cho phép "backlog" -17- thì v«n gi£i quy¿t °ãc tr°Ýng hãp bË "flood". T¥t nhiên là máy con truy c­p s½ bË ch­m h¡n nh°ng v«n còn tÑt h¡n là hoàn toàn bË "të chÑi". MÙt °u iÃm r¥t lÛn mà tôi tìm th¥y °ãc qua nhiÁu l§n "táy máy" là trong tr°Ýng hãp bË "flood", backlog queue này còn giúp cho IDS (Intrusion Detection System) kËp thÝi gßi gói tin xí lý ¿n nhïng gói tin vi ph¡m vÛi hiÇu qu£ cao h¡n-18-.

Dña trên nhïng iÃm ã phân tích ß trên, tôi th¥y rõ ph°¡ng pháp dùng "connection pool" ß trên có hai iÃm °u viÇt h¡n dùng ph°¡ng pháp packet rates:

- giÛi h¡n connection tính theo biên Ù và tr°Ýng Ù truy c­p cho phép ng°Ýi dùng có thà truy c­p vÛi bng thông tÑi a và lo¡i bÏ nhïng truy c­p "tham lam", không thñc t¿.

- vÛi giÛi h¡n này, nó giúp giÛi h¡n tài nguyên cho máy chç (và nhïng bÙ ph­n g¯n liÁn vÛi máy chç), ví då nh° backend database ch³ng h¡n. Connection limit b£o £m tÑi a chÉ có 8 xu¥t query ¿n database mÙt l§n n¿u nhïng connection này ång ch¡m ¿n database server (nên nhÛ: truy nh­p và l¥y dï kiÇn të database tÑn tài nguyên h¡n b¥t cé giai o¡n nào khác trên hÇ thÑng).

Trong khi ó, packet rate giÛi h¡n sÑ packets trong mÙt ¡n vË thÝi gian nào ó, cái này chÉ làm ch­m mÍi quy trình l¡i nh°ng không áp ·t mÙt giÛi h¡n nào rõ ràng. N¿u dùng packet rate, sÑ xu¥t truy c­p vào database có thà lên ¿n sÑ l°ãng ã áp ·t trên chính c¥u hình database mà thôi và ây là iÁu r¥t k¹t vì r¥t tÑn kém tài nguyên cça máy chç. ¿n mÙt méc Ù nào ó, °Ýng truyÁn s½ bË dung hoà (saturated) và các client hãp pháp s½ vào °ãc nh°ng cñc kó ch­m nh°ng à ¡t tÛi méc Ù này, ít nh¥t °Ýng truyÁn dùng à t¥n công ph£i h¡n °Ýng truyÁn cça máy chç HVA ít nh¥t là 3 l§n. GiÛi h¡n connection b£o £m mÙt iÁu tÑi quan trÍng, cho dù máy chç bË "flood" cá nào cing không thà "gi¿t" °ãc nó.

°ãc rÓi, hãy quy¿t Ënh khai triÃn h°Ûng giÛi h¡n connection tr°Ûc à c¯t bÏ ph§n lÛn khÑi 20 connections / 1 giây cça các con bÍ "x-flash" kia tr°Ûc rÓi ti¿p tåc khai triÃn b°Ûc "triÇt tiêu" chúng hoàn toàn sau.

ChuyÃn sang console thé nh¥t ã °ãc k¿t nÑi vào HVA server, tôi ch¡y mÙt lo¡t lÇnh à kiÃm tra:

Code:

# lsmod

Hèm... không th¥y m¥y cái modules mình muÑn, h³n là nh° v­y vì module mình muÑn âu n±m trong "base modules" cça kernel.

Code:

# ls /proc/sys/net/ipv4/netfilter

Hèm... qu£ th­t m¥y cái modules mình muÑn ch°a hÁ có trong kernel, cing nên xác Ënh cho rõ.

Code:

# sysctl -a | grep net

Whoa... a sÑ là giá trË m·c Ënh, chi ti¿t này ph£i ghi xuÑng à chÉnh l¡i sau, không thì quên nïa.

Code:

# iptables -L -v | more

Nhìn ok nh°ng... còn th¯t l¡i °ãc nhiÁu l¯m.

Chà chà, lão JAL và m¥y lão BQT "hiÁn" quá, m¥y cái rules này cça firewall không dÅ Ã "Ùt phá" nh°ng nó có quá ít £nh h°ßng ¿n mÛ x-flash quái £n kia. "Packet rate" cing ã áp ·t nh°ng vÛi t§ng sÑ 1.6 request / 1 giây thì.... bó tay, h¡n nïa, áp ·t này chÉ làm cho bà con thành viên truy c­p vào diÅn àn ch­m h¡n. Kernel hiÇn t¡i c§n thi¿t l­p vài modules quan trÍng à thñc sñ giÛi h¡n truy c­p. Tôi ch°a muÑn xem xét các t§ng cao h¡n vì k¿ ho¡ch mà tôi ã hình thành trong §u là: th¯t të d°Ûi lên và hiÇn nay tôi ang ß t§ng d°Ûi cùng trong các t§ng giao théc, nhïng t§ng kia s½ xét sau.

Tôi gßi ngay cho JAL mÙt PM vÁ viÇc tái biên dËch kernel à thêm vài modules quan trÍng cho kernel cing nh° lo¡i bÏ nhiÁu modules không c§n thi¿t. M°Ýi lm phút trôi qua, rÓi mÙt giÝ trôi qua. Chà, sao không th¥y tm h¡i lão JAL âu nhÉ? Tôi quy¿t Ënh b¯t tay vào thñc hiÇn ý Ënh cça mình rÓi s½ thông báo à lão tái khßi Ùng máy sau v­y.

Tôi dùng wget, tiÇn ích tôi r¥t °a thích à l¥y mã nguÓn cça kernel và các b£n vá c§n thi¿t. Trong khi wget t£i nhïng thé lÉnh kÉnh kia vÁ, tôi vi ngay hÓ s¡ c¥u hình biên dËch cça kernel (ti¿t kiÇm thÝi gian mà lË). Hèm.... m°Ýi lm phút §y nhïng Y, N và M trên mÙt hÓ s¡ c¥u hình biên dËch cça kernel, h¡i o£i... nh°ng bi¿t sao h¡n? Bng thông khá tÑt nên mÛi sau vài phút thì nhïng thé tôi c§n ã °ãc t£i h¿t vÁ máy. Tôi x£ nén mã nguÓn kernel, vá và b¯t tay vào chuyÇn biên dËch.

Tôi rà kù qua hÓ s¡ c¥u hình biên dËch kernel mÙt l§n cuÑi... ok, mÍi chuyÇn âu vào ó. MÙt, hai, ba... ch¡y. H¡n ba m°¡i phút trôi qua vÛi hàng lo¡t thông iÇp ch¡y vi vút trên màn hình. Kinh khçng, kinh khçng, kernel °ãc biên dËch xong d°Ûi ba m°¡i lm phút, úng là dual CPU có khác, ây là không kà ¿n hoàn c£nh server hiÇn nay ang ph£i dùng séc à Ñi phó vÛi ám lo¡n quân "x-flash" kia. Kernel ã xong nh°ng v«n ch°a th¥y tm h¡i lão JAL âu. Thôi v­y, à xem thêm thí có gì khác c§n ph£i làm nh°ng ch¯c à lúc khác, ã ¿n lúc ph£i gi£i quy¿t vài công chuyÇn ß sß không thì bê trÅ c£ ra.

Sáng 13/10

ang trên tàu lía trên °Ýng i làm, tôi tr§m ngâm l°ãt qua các chi ti¿t ã phân tích hôm qua. V«n ch°a th¥y JAL hÓi áp, cha ch£, lão này i ch¡i âu mà b·t vô âm tín v­y nhÉ? Tôi chãt nhÛ là kernel ã tái biên dËch xong nh°ng firewall rules mÛi ch°a hÁ có mÙt m£nh. Tôi mß laptop lên, phóng ngay chú "vim" lên màn hình và b¯t §u gõ.

Tôi khá ch¯c là HVA c§n dùng b¥y nhiêu dËch vå nên tôi quy¿t Ënh dùng kiÃu block function (hàm theo nhóm) à hình thành các ph§n logic cça firewall rules. Ba m°¡i lm phút trôi qua, chà tôi ph£i Õi sang chuy¿n tàu thé nhì (tôi c§n ph£i Õi tàu 2 l§n mÛi ¿n sß làm). Nhìn xuyên qua o¡n script, tôi khá hài lòng vì nó ã g§n nh° hoàn t¥t, chÉ c§n iÃm xuy¿t thêm, th¯t ch·t dm ba iÃm và t¡o mÙt sÑ thông iÇp thông báo khi ch¡y firewall script (à lão nào ch¡y nó thì còn bi¿t chuyÇn gì x£y ra). R¥t ti¿c tôi không thà trình bày chi ti¿t firewall rules này có nhïng gì ß ây vì lý do... b£o m­t.

Lên chuy¿n tàu thé nhì, tôi mß laptop ra và ti¿p tåc hoàn t¥t nhïng thé ã dñ Ënh trong §u. Tôi ng©ng lên nhìn Óng hÓ, chà! còn ¿n 15 phút nïa mÛi ¿n sß. Tôi quy¿t Ënh rà l¡i tëng dòng mÙt trên cái firewall script. Mèn... t°ßng ã hoàn chÉnh, hoá ra rà qua l¡i "n»" ra l×i, rà l¡i cing "n»" ra l×i. Còn 10 phút... tôi n£y ra ý Ënh t¡o thêm mÙt lÛp safe-guard (b£o kê) cho m×i truy c­p ¿n dËch vå ã °ãc cho phép. Xong xuôi, tôi khá hài lòng vì sáu m°¡i phút Óng hÓ trôi qua khá bÕ ích. Thôi °ãc, thí upload cái script này lên và ch¡y thí trên HVA server xem sao. N¿u có gì k¹t thì "ì b¥c" t¡i ch× chÛ làm sao h¡n °ãc?

Sau m¥y giÝ Óng hÓ liên tåc làm viÇc, tôi ã hoàn t¥t c£ Ñng công viÇc. GiÝ này lão JAL bên Nh­t ch¯c cing ã có m·t ß sß, Ã xem lão có hÓi báo gì không. Tôi log vào diÅn àn, khè khè "B¡n có 3 PM", ch¯c là cça lão JAL chÛ không ai vào ây. Qu£ th­t, lão JAL "mê" ch¡i âu quá nên tÑi hôm qua vÁ trÅ. Tôi upload cái firewall script lên HVA server, xem xét mÍi thé mÙt l§n nïa. RÓi, gßi cho JAL mÙt cái PM thông báo chuyÇn khßi Ùng l¡i server.

Lão JAL hÓi áp trong tích t¯c. Lão cho bi¿t s½ khßi Ùng server lúc "v¯ng v»" mÙt tí. Mèn.... sau vài phút cái SSH console cça tôi chãt báo "socket error", lão JAL này nói "ãi khi nào server v¯ng v» mÙt tí rÓi restart" v­y mà làm liÁn v­y sao cà? Qu£ th­t lão "làm liÁn". Ch°a §y 2 phút sau, tôi hÑi h£ thí log vào HVA server, vào °ãc ngay! Tôi phóng ngay m¥y cái lÇnh:

Code:

# less /var/log/boot

# lsmod

# /usr/local/sbin/iptables -L -v | more

# tail -f /var/log/messages

"I can't believe it", tôi thÑt lên mÙt mình. "First hit wonder!" tôi l©m nh©m ti¿p. Firewall ch¡y nh° ý muÑn ngay l§n §u tiên. MÍi chuyÇn Áu Õn të kernel lên tÛi firewall và các dËch vå khác (V­y mà ngày hôm ¥y lão th§n bài phát hiÇn ngay ra mÙt l×i, l×i gì v­y lão th§n bài? ). Nhìn cái "uôi"

Code:

# tail -f /var/log/messages

tôi muÑn ngÙp thß:

Code:

Oct 13 07:12:44 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=221.132.49.131 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=113 ID=22369 DF PROTO=TCP SPT=50257 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:44 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=221.132.49.131 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=113 ID=22379 DF PROTO=TCP SPT=50258 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:44 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.113.160.94 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=111 ID=7049 DF PROTO=TCP SPT=2370 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:44 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=221.132.49.131 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=113 ID=22381 DF PROTO=TCP SPT=50257 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:45 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=221.132.49.131 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=113 ID=22382 DF PROTO=TCP SPT=50258 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:45 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.113.160.94 DST=192.168.1.100 LEN=48 TOS=0x00

PREC=0x00 TTL=111 ID=7070 DF PROTO=TCP SPT=2370 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0

Oct 13 07:12:45 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.113.135.196 DST=192.168.1.100 LEN=48 TOS=0x0

0 PREC=0x00 TTL=110 ID=43299 PROTO=TCP SPT=42913 DPT=80 WINDOW=16384 RES=0x00 SYN URGP=0

Oct 13 07:12:45 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.113.135.196 DST=192.168.1.100 LEN=48 TOS=0x0

0 PREC=0x00 TTL=110 ID=43764 PROTO=TCP SPT=42913 DPT=80 WINDOW=16384 RES=0x00 SYN URGP=0

Vâng vâng và vâng vâng..... ChuyÇn gì ây? HÓi sau s½ rõ :)

Các b¡n có thà theo dõi ti¿p ph§n 4 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/178.hva" \t "_blank" ây.

Chú thích:

-13- B¡n có thà t¡o secure tunnel (°Ýng Ñng) të máy cça mình ¿n mÙt máy chç nào ó b±ng cách dùng SSH. Bên trong tunnel này, các thông tin chuyÃn l°u hoàn toàn °ãc mã hoá. Tuy ch­m nh°ng khá an toàn n¿u dùng SSH2. N¿u thích b¡n nên thí Íc tài liÇu và t£i software të openssh ß HYPERLINK "http://www.openssh.org." \t "_blank" http://www.openssh.org.

-14- HTTP là mÙt giao théc stateless, sau khi thông tin giïa hai §u server và client hoàn t¥t, connection này °ãc t¯t bÏ.

-15- GiÛi h¡n connection là giÛi h¡n bao nhiêu sockets °ãc mß ra à phåc vå mÙt IP nào ó. Ví då, tÑi a 4 connections të mÙt IP nào ó. N¿u IP này "òi" mß thêm 1 connection thé 5 thì connection này bË lo¡i bÏ.

GiÛi h¡n packet rates là giÛi h¡n sÑ packet °Ýng truyÁn t£i trong mÙt ¡n vË thÝi gian nào ó. Ví då: giÛi h¡n 100 packets / 1 giây të mÙt IP nào ó chÉ cho phép server nh­n tÑi a là 100 packets 1 giây, packet thé 101 trß i s½ bË lo¡i bÏ.

-16-Tôi dùng thu­t ngï "connection" ß ây là à chÉ chung cho các giai o¡n: SYN të client, SYN-ACK të HVA server, ACK-ACK të hai §u client và HVA server và sau ó là ACK-PSH hay b¥t cé gì khác të client cho ¿n khi "ESTABLISHED" trß thành "TIME_WAIT". GiÛi h¡n connection ß ây th­t sñ là giÛi h¡n SYN. ESTABLISHED chÉ dùng à biÃu thË connection ã hình thành mÙt cách hãp lÇ và úng quy Ënh mà thôi. N¿u truy c­p të cùng mÙt IP mà quá giÛi h¡n 8 "connections", có ngh)a là SYN v«n °ãc gßi nh°ng n¿u hiÇn ã có 8 ESTABLISHED connections thì SYN éng ó chÝ ho·c SYN bË hu÷. ESTABLISHED dùng à o l°Ýng sÑ connection hiÇu hïu và SYN dùng à c£n (ho·c cho phép) các truy c­p ti¿p theo dña trên sÑ connection ã hiÇn hïu

-17- "backog" là sÑ l°ãng công viÇc bË dÓn é l¡i. VÛi TCP connections, ví då n¿u chÉ Ënh 100 "backlog" ch³ng h¡n thì gói SYN thé 101 trß i s½ bË hçy bÏ, d«n ¿n tình tr¡ng ng°Ýi dùng không truy c­p °ãc. N¿u chÉnh Ënh 10000 "backlog" thì v«n t¡o c¡ hÙi cho các truy c­p ang ãi có thà vào thay vì bË hu÷.

-18- H§u h¿t các IDS hiÇn ¡i Áu có kh£ nng tác éng ¿n các gói tin mang tính vi ph¡m. Riêng trong tr°Ýng hãp này, tôi dùng snort vì nó miÅn phí. Nó có thà gßi nhiÁu gói RST ¿n c£ client l«n server cùng mÙt lúc à "xé" ngang °Ýng nÑi hiÇn hïu giïa client và server.

C­p nh­t:

10/11/2004: chÉnh sía các chi ti¿t tính toán bË sai l«n do mrro tìm th¥y trong bài t°Ýng trình và thêm chi ti¿t gi£i thích cho khái niÇm "connection".

Ký sñ các vå DDOS HVA ph§n 4

Sáng 13/10: (ti¿p theo)

Sau vài giÝ gi£i quy¿t công viÇc ß sß, tôi quay l¡i vÛi HVA server à xem xét tình hình kù l°áng h¡n. Tôi dán ch·t vào màn hình nh° bË thôi miên, có quá nhiÁu "OVERCONNLIMIT" të nhiÁu IP khác nhau trong m×i giây. Tôi "ng¯t" ngay mÙt o¡n cça firewall log và webserver log à so sánh xem sao. À ha, có mÙt o¡n "x-flash" v«n i vào HVA server °ãc:

Code:

203.160.1.66 - - [13/Oct/2004:10:34:22 -0400] "POST /forum/ HTTP/1.1" 200 8538 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:22 -0400] "POST /forum/ HTTP/1.1" 200 8538 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:24 -0400] "POST /forum/ HTTP/1.1" 200 8538 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:25 -0400] "POST /forum/ HTTP/1.1" 200 8537 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:27 -0400] "POST /forum/ HTTP/1.1" 200 8539 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:27 -0400] "POST /forum/ HTTP/1.1" 200 8539 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:34:28 -0400] "POST /forum/ HTTP/1.1" 200 8536 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

Trong khi ó, firewall log l¡i ghi nh­n:

Code:

Oct 13 10:34:23 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=38899 PROTO=TCP SPT=16634 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:34:25 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=39129 PROTO=TCP SPT=57986 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:34:26 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=43098 PROTO=TCP SPT=25311 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:34:28 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=43253 PROTO=TCP SPT=43128 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:34:31 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=44716 PROTO=TCP SPT=12221 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Hai o¡n log trên chéng tÏ iÁu gì? N¿u b¡n so sánh tÉ mÉ thÝi gian ghi nh­n giïa hai o¡n log trên b¡n s½ th¥y cái thú vË cça nó.

- Lúc 10:34:22, IP 203.160.1.66 gßi thành công 1 cái POST ¿n HVA server và webserver cça HVA ghi nh­n iÁu này.

- Cing trong lúc này, 10:34:22, nó gßi ti¿p cái POST k¿ ti¿p cing thành công. Þ b°Ûc này, vÛi chiÁu dài cça HTTP POST cá trên 2000 bytes thì trình duyÇt dùng à gßi ¿n HVA server h³n ã mß ra thêm ít nh¥t là vài connection. C£ hai cú POST trên ch¯c ch¯n ã ång ¿n giÛi h¡n cho phép.

- 1 giây sau, lúc 10:34:23 firewall thông báo ã c£n SYN request të 203.160.1.66 vì tình tr¡ng quá giÛi h¡n ã x£y ra.

- Lúc 10:34:24, IP này l¡i gßi thành công thêm 1 POST khác vì ch¯c h³n 2 cái POST i tr°Ûc ã tr£ l¡i vài connections và "connection pool" lúc này ã trÑng ch× ç Ã 203.160.1.66 gßi SYN và i vào.

- Lúc 10:34:25, IP này ti¿p tåc gßi thêm 1 POST khác thành công nh°ng Óng thÝi ngay lúc này firewall cing ã c£n mÙt SYN packet cça nó. iÁu này có l½ packetlength quá lÛn nên nó ph£i mß thêm connection à ©y ti¿p payload. Tuy nhiên, o¡n i sau ã bË c£n.

- Lúc 10:34:26, ch¯c h³n connection pool v«n ch°a trÑng ch× nên nó l¡i bË firewall c£n thêm l§n nïa.

- ¿n 10:34:27, lúc này h³n connection pool ã trÑng vì các cú POST trên ã l§n l°ãt hoàn t¥t nên nó l¡i POST thành công hai cái POST.

- ¿n 10:34:28, h³n IP này l¡i gßi mÙt ph§n cça gói POST dài th­m th°ãt kia và bË firewall c£n ngay vì 2 cú POST trên chi¿m h¿t ch× cça connection pool.

Qua o¡n trên, ta th¥y rõ mÙt iÁu, cé trung bình sau 2 cú POST thành công l¡i có mÙt cú c£n và ti¿p theo sau ó là mÙt cú POST nïa nh°ng bË c£n ph§n "continuation". Nh° v­y, t¡m hình dung là cé 3 POST gßi i thì bË c£n 1 POST r°ái. N¿u qu£ th­t là v­y thì có ít nh¥t 50% các gói POST bË "hu÷" sau khi firewall éng dång giÛi h¡n connection. N¿u tính theo sÑ liÇu ghi nh­n °ãc tr°Ûc ây là có ¿n 12000 connections trong 2 giÝ thì có ¿n 6000 "chú" bË rång (?). Chà chà, thông tin này có v» khá ph¥n khßi ây. Không ph¥n khßi sao °ãc khi 6000 "qu£" x-flash nh°Ýng ch× cho các truy c­p hãp lÇ?

Tôi ti¿p tåc theo dõi và phân tích mÑi t°¡ng quan giïa web server log và firewall log. GiÝ này không ph£i là lúc cao iÃm cça các chú "x-flash" nên lâu l¯m mÛi th¥y mÙt chùm vài chåc "qu£" i vào. Tuy nhiên, logic "3 và 1 1/2" ß trên v«n áp dång Áu ·n. Tôi n£y ra ý Ënh gi£m l°ãng "connection" cho phép të mÙt IP trong b¥t cé lúc nào à xem firewall "xí lý" các chú "x-flash" tham lam ra sao. H¡n nïa, diÅn àn lúc này còn v¯ng l¯m. Tôi chÉnh l¡i giá trË giÛi h¡n connection të 8 thành 6 và tái khßi Ùng l¡i firewall (t¥t nhiên là v«n thao tác mÍi chuyÇn qua SSH).

Voila! phóng l¡i cái "uôi" tail à xem firewall log. Im ¯ng quá nhÉ? trong log cça web server thÉnh tho£ng ghi nh­n vài truy c­p, firewall log thì thông báo nhiÁu h¡n. Nào là nhïng "qu£" FIN i sau SYN rÓi l¡i RST i sau SYN -19- Áu bË firewall tóm cÕ và cho vào /dev/null, nào là nhïng cú truy c­p thi¿u bình th°Ýng nh° "NEW" connection nh°ng không mang flag SYN -20- v..v... Nhïng thông tin trên chÉ Ã minh ho¡ s¡ qua mÙt sÑ trách nhiÇm khác cça firewall và ch¯c ch¯n không có liên quan gì ¿n nhïng chú "x-flash" ß ây vì "x-flash" có måc ích rõ ràng l¯m. N¿u "x-flash" thay Õi thái Ù gßi gói tin thì h³n ã bË firewall c£n ngay vòng ngoài vì bË x¿p d¡ng vô giá trË, v£ l¡i "x-flash" n±m ß t§ng application, công cå cho phép t¡o ra nó ch¯c ã không cho chÍn nhïng thé tÉ mÉ ß transport layer (nh° chÍn flag nào cho gói tin TCP ß giai o¡n nào, các TCP options ra sao....) à có thà thay Õi thái Ù °ãc. Nói cho cùng "x-flash" là mÙt ph°¡ng tiÇn phåc vå cho multimedia, nó không ph£i là ph°¡ng tiÇn dùng à thñc hành các måc ích mÝ ám trong l)nh vñc b£o m­t. Bßi v­y, ph£i công nh­n mÙt iÁu là tác gi£ m¥y con "flash" này r¥t sáng t¡o. May thay, x-flash à l¡i quá nhiÁu d¥u v¿t ·c thù và chính nó không ph£i là công cå "thé thiÇt" à t¡o packets, cho nên viÇc nh­n diÇn và lo¡i bÏ nó không quá phéc t¡p.

Trß l¡i vÛi giÛi h¡n 6 connections, tôi th¥y có nhïng chùm c£n trên firewall t°¡ng éng vÛi nhïng thông báo trên web server log:

Code:

203.160.1.66 - - [13/Oct/2004:10:59:34 -0400] "POST /forum/ HTTP/1.1" 200 8537 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:59:41 -0400] "POST /forum/ HTTP/1.1" 200 8537 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

203.160.1.66 - - [13/Oct/2004:10:59:45 -0400] "POST /forum/ HTTP/1.1" 200 8539 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

Và firewall log l¡i ghi nh­n:

Code:

Oct 13 10:59:35 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=49830 PROTO=TCP SPT=32841 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:59:36 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=49852 PROTO=TCP SPT=32842 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:59:42 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=49933 PROTO=TCP SPT=32853 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:59:43 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=49954 PROTO=TCP SPT=32858 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Oct 13 10:59:46 hvaonline kernel: OVERCONNLIMIT: IN=eth0 OUT= SRC=203.160.1.66 DST=192.168.1.100 LEN=48 TOS=0x00 PREC=0x00 TTL=56 ID=50235 PROTO=TCP SPT=32865 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

VÛi hai o¡n logs trên, chúng ta th¥y ngay sñ khác biÇt giïa sÑ l°ãng gói tin "°ãc vào" và sÑ l°ãng "bË c£n" so vÛi l§n tr°Ûc (dùng giÛi h¡n 8 connections):

- Lúc 10:59:34, 203.160.1.66 gßi thành công mÙt POST ¿n HVA server.

- Sau ó, trên firewall log t°Ýng trình 203.160.1.66 bË c£n lúc 10:59:35, có thà ây là cú POST ti¿p theo vì giÛi h¡n 6 connections v«n có thà vëa khít cho cú POST §u.

- Ti¿p theo sau ó, lúc 10:59:36, firewall l¡i t°Ýng trình c£n 203.160.1.66, có l½ ây là o¡n "continuation" cça cú POST ngay ß trên và vì quá giÛi h¡n nên bË c£n.

- Lúc 10:59:41, 203.160.1.66 l¡i gßi thành công mÙt POST khác nh°ng ti¿p theo sau ó lúc 10:59:42 và 10:59:43, firewall l¡i liên ti¿p báo nó ã c£n 2 "cú" të 203.160.1.66

- ¿n 10:59:45, 203.160.1.66 gßi thành công thêm mÙt cái POST nh°ng l¡i ti¿p tåc bË firewall c£n vào 10:59:46 và các gói ti¿p theo diÅn ti¿n y hÇt chu trình trên.

iÁu này cho th¥y, cé 3 "cú" 203.160.1.66 dÙi vào thì có h¿t 2 "cú" bË c£n mÙt cách khá Áu ·n. N¿u v­y, thì vÛi 12000 "cú" trong 2 giÝ thì có 8000 cú bË c£n (?). Không tÇ l¯m. Lúc này HVA server không b­n rÙn l¯m nên khó có thà oán giÛi h¡n 6 connection có t¡o £nh h°ßng "x¥u" ¿n các thành viên muÑn truy c­p mÙt cách hãp pháp. Tuy nhiên, cing vÛi l°ãng truy c­p khá t°¡ng tñ tr°Ûc khi khßi Ùng l¡i server và kernel ci, méc "load" cça server lúc này gi£m xuÑng chÉ còn 1/3 lúc tr°Ûc (të 1.5 - 1.6 load xuÑng còn 0.4 - 0.5 load). ây là d¥u hiÇu tÑt.

Thôi, v­y là t¡m ç vÛi firewall log lúc này. Tôi ph£i ti¿p tåc b°Ûc k¿ ti¿p. Ã tÑi nay, khi ãt "t¥n công" hàng êm lên cao iÃm, tôi s½ theo dõi sau.

Måc tiêu k¿ ti¿p tôi ã hình thành (trong §u) là xét ph§n IDS cça server. Qua vài phút dò xét, tôi khám phá snort -21- ã °ãc cài sµn. Phiên b£n không °ãc c­p nh­t l¯m nh°ng cing thuÙc diÇn "new generation", ·c biÇt các signature -22- thì mÛi toanh. Nhóm signatures cça snort trên server này °ãc iÁu chÉnh à tñ Ùng c­p nh­t các signature mÛi nh¥t trong ngày. Kèm theo ó là tiÇn ích dùng à Íc và lý gi£i log cça snort cho m×i giÝ, k¿t qu£ lý gi£i này có thà xem ß d¡ng "web". Qu£ là tiÇn dång. Tuy nhiên, snort chÉ dëng l¡i ß c¥p Ù theo dõi và t°Ýng trình các gói tin "trùng" vÛi signature mà không có ph£n éng trñc ti¿p gì ¿n các gói tin vi ph¡m. Tôi quy¿t Ënh t£i phiên b£n mÛi nh¥t cça snort và tái biên dËch nó à °a vào mÙt sÑ chéc nng "ph£n éng trñc ti¿p" à áp éng vÛi k¿ ho¡ch tôi ng§m Ënh sµn.

Ph§n biên dËch snort không có gì lý thú ngoài viÇc ph£i chu©n bË mÙt sÑ th° viÇn "c¥p th¥p" c§n thi¿t à snort có thà sniff và viÇc chÉnh Ënh thêm chÍn lña "--enable-flexresp" à cho phép snort éng Ùng ¿n các packet vi ph¡m. Gói mã nguÓn cça snort khá nhÏ nên thÝi gian biên dËch chÉ m¥t có vài phút là xong. HÓ s¡ c¥u hình cça snort -23- ã có sµn, init cça snort -24- ã có sµn, tôi chÉ c§n iÁu chÉnh mÙt sÑ chi ti¿t c§n thi¿t à buÙc binary mÛi cça snort ch¡y trên hÇ thÑng và dùng hÓ s¡ c¥u hình có sµn.

B°Ûc k¿ ti¿p là b°Ûc tôi cho là lý thú nh¥t vì nó trñc ti¿p éng dång nhïng gì tôi ã phân tích trong ph§n §u cça bài. úng v­y! chính là "x-flash" POST payload và nhïng thông tin h¿t séc ·c thù cça chúng. Tôi hình thành "signature" §u tiên cho HVA server nh° sau:

Code:

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (flags: PA; msg:"POST Null hex - Flash attack HVA"; flow:to_server; content: "|50 4F 53 54|"; content:"|78 2D 66 6C 61 73 68|"; offset:30; depth:80; classtype:attempted-NullDataPOST; resp:rst_all; resp:rst_all; resp:rst_all; react:block;)

Tôi không có dñ Ënh phân tích và gi£ thích kù l°áng signature ß trên trong bài vi¿t này, n¿u b¡n th­t sñ thích thú vÛi snort thì trên website cça snort có §y ç các thông tin chi ti¿t à có thà hiÃu nó. Tuy nhiên, tôi muÑn nêu ra vài chi ti¿t quan trÍng (và lý thú) vÁ signature. Signature là "kim chÉ nam" cho snort làm viÇc, cho nên chúng r¥t a d¡ng và phéc t¡p. Trong tr°Ýng hãp này, tôi muÑn snort làm cách nào ít tÑn thÝi gian và tài nguyên nh¥t à ph£n éng kËp thÝi ¿n các packets có tính ch¥t nh° tôi °a ra trong signature trên:

- flags: PA: tôi n¯m ch¯c là các gói tin "x-flash" có TCP flag là ACK-PSH nên chÉ Ënh snort t­p trung vào các gói mang flag PA (PSH ACK) thay vì m¥t thÝi gian và tài nguyên vÛi mÍi gói tin i vào.

- flow:to_server: tôi muÑn snort chÉ kiÃm tra các gói tin i vào server và không m¥t thÝi gian vÛi gói tin i ra vì HVA sever không dùng "x-flash" Ã "ch¡i" ai c£

- content: "|50 4f 53 54|"; content:"|78 2d 66 6c 61 73 68|";: tôi muÑn snort chÉ kiÃm tra các gói tin có nÙi dung nh° ã chÉ Ënh trong "content" này, và n¿u qu£ th­t chúng là nh° v­y thì mÛi có thêm ph£n éng.

- offset:30; depth:80;: tôi muÑn thâu h¹p ph¡m vi tìm ki¿m d¥u hiÇu ·c thù Ã snort không m¥t thÝi gian i låc tìm trong suÑt mÙt payload dài th­m th°ãt.

- resp:rst_all và react:block: tôi muÑn snort ph£i có ph£n éng ¿n các gói tin có tính ch¥t nh° trên. Ph£n éng b±ng cách là liên ti¿p gßi 3 gói RST ¿n c£ hai §u truy c­p (giïa máy ch¡y "x-flash" và HVA servers) Ã t¯t ngang °Ýng l°u thông và sau ó, c£n luôn gói tin nào ti¿p tåc i tÛi të nguÓn mang gói tin vi ph¡m này.

V­y, iÁu lý thú là ß âu? theo tôi, ó là ß chi ti¿t hình thành mÙt signature sao cho snort có thà éng ho¡t ß méc Ù nhanh nh¥t có thà °ãc. Chi ti¿t content ß trên có thà không c§n thi¿t ph£i mang giá trË HEX mà có thÃ ß d¡ng ASCII bình th°Ýng (b¡n thí Õi giá trË HEX trong ví då trên xem nó là gì). Tuy nhiên, làm nh° v­y là làm cho snort ch­m thêm mÙt tí vì nó ph£i chuyÃn Õi të ASCII thành HEX rÓi mÛi xem gói tin có d¥u hiÇu trùng vÛi ã ¥n Ënh hay không. Chi ti¿t offset cing h¿t séc lý thú vì n¿u thi¿u chi ti¿t này, snort s½ i suÑt mÙt d£i thông tin cça c£ gói tin à tìm xem có cái gì trùng hay không, làm th¿ thì r¥t m¥t thÝi gian. Tuy nhiên, iÃm tÑi quan trÍng ß ây là à giúp snort ph£n éng kËp thÝi ¿n gói tin vi ph¡m (thñc thi resp:rst_all và react:block) tr°Ûc khi nó ã i vào ¿n t­n web server thành công.

Chúng ta có thà iÁu chÉnh snort à nó "gÍi" firewall và c£n h³n IP nào vi ph¡m, nh°ng làm nh° th¿ thì quá nguy hiÃm vì n¿u có nhiÁu ng°Ýi dùng vô tÙi cùng chia x» IP ó thì s½ bË c£n chung ---> måc ích t¡o "denial of service" ã thành công. Nói cho cùng, n¡n "x-flash" x£y ra vÛi HVA thuÙc d¡ng "slash-dot effect" -25- vì các "x-flash" chÉ ¡n thu§n t¡o ra quá nhiÁu requests, và nhïng request này hoàn toàn hãp lÇ (m·c dù chç ích l¡i en tÑi). Thay vì dùng ph°¡ng pháp c£n IP, b¥t cé ph°¡ng pháp nào cå thà lo¡i bÏ các gói tin có tính ·c thù nh° "x-flash" (và t°¡ng tñ) Áu là gi£i pháp kh£ thi. Bßi l½, c£n IP là c£n nhïng cá nhân vi ph¡m l«n nhïng ng°Ýi vô can. H¡n nïa, chi¿n thu­t cài "x-flash" vào mÙt trang nào ó à ng°Ýi dùng duyÇt trang ¥y s½ "vô tình" gßi requests ¿n HVA là chi¿n thu­t dùng tay nhïng k» vô can à thñc hiÇn ý Ënh. ây chính là lý do càng không nên c£n IP.

Dùng snort signature ß trên, tôi có hai måc ích chính (và r¥t cå thÃ):

1. B¥t cé khi nào snort th¥y mÙt packet có tính ch¥t nh° ã phân tích ß nhïng ph§n trên --> reset nó, k¿t liÅu nó, k¿t liÅu c£ °Ýng nÑi giïa HVA và nó. iÃm này ¡n gi£n và dÅ hiÃu.

2. N¿u mÙt chùm gói tin i vào thuÙc d¡ng vi ph¡m mà snort không c£n °ãc thì ít nh¥t cing t¡o iÁu kiÇn cho firewall c£n. iÁu này có ngh)a, mÙt stream °ãc t¡o ra mÙt cách hãp pháp, ¿n lúc nào ó s½ thuÙc tình tr¡ng "ESTABLISHED", firewall s½ không c£n trß các packets ra vào n¿u chúng ã thuÙc mÙt xu¥t truy c­p thuÙc tình tr¡ng này. Tuy nhiên, n¿u mÙt (và chÉ mÙt packet) trong stream này bË chuyÃn thành tình tr¡ng nào khác (do snort can thiÇp) thì s½ bË firewall c£n trÍn bÙ các gói tin còn l¡i cça stream vi ph¡m.

Hãy thí ào sâu mÙt chút khía c¡nh này, gi£ sí mÙt request i të IP xxx.xxx.xxx.xxx ¿n HVA server:

- mß §u b±ng SYN --> OK, hoàn toàn hãp lÇ, ch°a có d¥u hiÇu gì vÁ ·c tính "x-flash", snort s½ không có ph£n éng gì c£.

- ti¿p theo HVA server tr£ lÝi request này b±ng SYN-ACK --> OK, hoàn toàn hãp lÇ, HVA server chÉ ti¿p nh­n và cho §u bên kia bi¿t là nó ã ti¿p nh­n truy c­p, snort s½ không can thiÇp vì signature ß trên ¥n Ënh r¥t rõ là nó chÉ kiÃm tra nguÓn i vào máy chç (flow:to_server) và không c§n ph£i làm gì vÛi gói tin i ra.

- packet k¿ ti¿p i vào h³n là ACK-PSH và b¯t §u có chéa payload --> có chuyÇn x£y ra vì snort ã kiÃm tra. Ngay lúc nó nh­n ç thông tin và nh­n diÇn °ãc gói tin này vi ph¡m, snort s½ t¡o báo Ùng ¿n log, thñc thi các lÇnh ã ¥n Ënh. ChuyÇn gì x£y ra ß ây? Có hai tr°Ýng hãp:

a) gói tin vi ph¡m này lÍt vào thành công vì ¿n khi snort thñc thi xong các lÇnh trên thì gói tin ã hoàn t¥t. Snort bË r¡i vào tình tr¡ng "ánh gió" .

b) gói tin vi ph¡m bË snort "reset", theo nhïng tôi theo dõi tr°Ûc ây, snort v«n có thà thñc thi lÇnh kËp thÝi và gói tin này bË c¯t ét giïa °Ýng. Khi snort gßi lÇnh rst_all nó thông báo cùng mÙt lúc ¿n máy të nguÓn xxx.xxx.xxx.xxx và HVA server r±ng: "xong, ch¥m dét, k¿t thúc, không còn gì à ti¿p tåc" và hai §u truy c­p bË ng¯t. ChuyÇn gì x£y ra ß giai o¡n này? socket trên HVA server óng xu¥t truy c­p này và Ñi vÛi hÇ thÑng cing nh° firewall, xu¥t truy c­p này không còn nïa. N¿u të phía xxx.xxx.xxx.xxx v«n ti¿p tåc gßi gói tin còn l¡i cça stream ¿n HVA server, ch¯c ch¯n nó s½ bË hu÷ bÏ vì HVA firewall s½ th¥y gói tin này hoàn toàn mÛi, không thuÙc xu¥t truy c­p nào h¿t nh°ng l¡i mang flag ACK-PSH (không ph£i là SYN à khßi t¡o mÙt xu¥t mÛi). Lý do r¥t ¡n gi£n: HVA firewall là stateful firewall, nó theo dõi tình tr¡ng m×i gói tin ra vào. Nói theo thu­t ngï firewall thì gói tin ti¿p tåc i vào này bË x¿p vào d¡ng "lost state" hay "invalid state" nên không °ãc ti¿p nh­n theo úng quy Ënh cça firewall.

- n¿u gói tin ß trên i qua °ãc vì tr°Ýng hãp a) x£y ra thì gói tin k¿ ti¿p s½ ti¿p tåc °ãc gßi (ß d¡ng continuation n¿u gói tin trên quá lÛn). Cing nh° trên snort ti¿p tåc theo dõi, n¿u có thêm mÙt signature bÕ sung cho signature trên thì nó s½ éng Ùng và xí lý gói tin ti¿p theo này và mÙt trong 2 tr°Ýng hãp a) ho·c b) s½ x£y ra. MÙt trong nhïng signature i theo mà tôi ã hình thành à xí lý các gói "continuation" có d¡ng t°¡ng tñ nh° sau:

Code:

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (flags: PA; msg:"POST Null frag1 - Flash attack HVA"; flow:to_server; content:"|68 6F 74 6C 69 6E 6B 73 3D 4F 66 66 69 63 61 6C|"; offset:30; depth:40; classtype:attempted-FragDataPOST; resp:rst_all; resp:rst_all; resp:rst_all; react:block;)

Signature này chÉ Ënh cho snort ti¿p tåc theo dõi và ph£n éng ¿n các gói tin mang tính ch¥t nh° trên. N¿u thích thú thì b¡n thí chuyÃn Õi giá trË HEX -26- ß trên à xem giá trË ASCII là gì (?)

V­y ngoài giÛi h¡n connection ã bàn ß trên, snort có thà gián ti¿p giúp cho công tác c£n trß thêm các gói tin vi ph¡m. N¿u chç quan thì có thà cho r±ng có c¡ hÙi 50/50 cho m×i gói tin vi ph¡m bË c£n theo ph°¡ng théc trên. N¿u dè d·t thì có thà cho r±ng ít ra cing có 1/3 c¡ hÙi gói tin vi ph¡m bË c£n theo cách này. Nh° v­y, trong 12000 "qu£" i vào thì có 6000 "qu£" bË c£n n¿u dùng ph°¡ng théc giÛi h¡n 8 connections ß trên, cÙng thêm 1/3 sÑ l°ãng các "qu£" bË snort c£n vÛi sÑ 6000 còn l¡i thì tÕng sÑ lên ¿n:

Code:

( 12000 - 6000 ) - ( 6000 / 3) = 8000

Sau khi tái biên dËch snort, chÉnh sía các hÓ s¡ c¥u hình và thêm vào các signature c§n thi¿t (có nhiÁu h¡n 2 signatures cho x-flash vì có nhïng bi¿n Õi trong các gói tin vi ph¡m này), tôi tái khßi Ùng snort và dành vài phút à iÁu theo dõi log cça snort, sau ây là mÙt o¡n ng¯n mà snort (phiên b£n mÛi) ã "báo cáo" sau khi °ãc t£i thêm nhïng signature cå thà cho "x-flash":

Code:

10/13-11:02:22.000189 [**] [1:0:0] POST Null hex - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 43.244.38.14:2387 -> 192.168.1.100:80

10/13-11:02:22.000189 [**] [1:0:0] POST Null frag1 - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 43.244.38.14:2387 -> 192.168.1.100:80

10/13-11:02:23.696940 [**] [1:0:0] POST Null hex - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 220.72.203.16:1768 -> 192.168.1.100:80

10/13-11:02:23.696940 [**] [1:0:0] POST Null frag1 - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 220.72.203.16:1768 -> 192.168.1.100:80

10/13-11:02:26.305662 [**] [1:0:0] POST Null hex - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 203.210.249.241:64004 -> 192.168.1.100:80

10/13-11:02:26.305662 [**] [1:0:0] POST Null frag1 - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 203.210.249.241:64004 -> 192.168.1.100:80

10/13-11:02:27.246717 [**] [1:0:0] POST Null frag2 - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 203.210.249.241:64008 -> 192.168.1.100:80

10/13-11:02:27.246717 [**] [1:0:0] POST Null hex - Flash attack HVA[**] [Classification: using POST to DoS by flash] [Priority: 1] {TCP} 203.210.249.241:64008 -> 192.168.1.100:80

ChuyÇn gì x£y ra vÛi c¡n li "x-flash" hàng êm? B¡n muÑn bi¿t ti¿p à? v­y thì ón xem bài k¿ ti¿p v­y.

Chú thích:

-19- FIN i sau SYN và RST i sau SYN có ngh)a là máy con gßi SYN à truy c­p ¿n server, server tr£ l¡i SYN-ACK và thay vì máy con ti¿p tåc gßi ACK à ti¿p nÑi 3-way handshaking thì nó l¡i gßi RST ho·c FIN ß b°Ûc này à k¿t thúc xu¥t truy c­p vÛi server. ây là kù thu­t t¥n công SYN-FIN ho·c SYN-RST nh±m t¡o ra hàng "t¥n" "TIME_WAIT" sockets trên server (à tiêu hao memory cça server).

-20- Ñi vÛi giao théc TCP, mÙt xu¥t truy c­p mÛi toanh ph£i b¯t §u të gói tin mang flag SYN (à i qua 3 b°Ûc b¯t tay). N¿u xu¥t truy c­p mà b¯t §u b±ng flag nào khác thì có thà là chç nhân cça nó không có thiÇn ý ho·c cing có tr°Ýng hãp gói SYN ã gßi tr°Ûc ó 10 phút ch³ng h¡n và bË time-out vì lý do gì ó, mãi sau 10 phút sau khi server ã tr£ lÝi SYN-ACK nó mÛi "lÓm cÓm" i ng°ãc l¡i và hÓi áp vÛi gói tin ACK à ti¿p tåc xu¥t truy c­p. Lúc này, n¿u server °ãc chÉnh à "time-out" sÛm h¡n 10 phút thì gói tin hÓi áp trên trß nên vô ngh)a Ñi vÛi firewall. Firewall s½ cho r±ng ây là gói tin hoàn toàn mÛi nh°ng l¡i mang flag ACK. Trên thñc t¿, lo¡i packets này chÉ th¥y ß mÙt sÑ phiên b£n ci cça MS (nh° Windows 9x) ho·c chÉ th¥y khi chç nhân cça nó cÑ tình gßi gói tin lo¡i này vÛi måc ích không chính áng cho l¯m.

-21- mÙt "open source" NIDS (Network Intrusion Detection System) °ãc phát triÃn r¥t m¡nh. HiÇn snort ã °ãc éng dång trong r¥t nhiÁu s£n ph©m b£o m­t h¡ng n·ng. Xem thêm chi ti¿t ß: HYPERLINK "http://www.snort.org" \t "_blank" http://www.snort.org

-22- snort là mÙt lo¡i IDS dùng signature. Signature là mÙt d¡ng rule °ãc kh£o sát và hình thành të nhïng b±ng chéng và d¥u hiÇu thâu th­p °ãc të các gói tin có tính dung h¡i và có tính ·c thù. Dña vào signature, snort s½ báo Ùng (ho·c éng tác n¿u chÉnh Ënh cho nó) n¿u nó tìm th¥y gói tin °ãc "sniff" mang tính th¥t trùng hãp vÛi signature có sµn.

-23- có nhiÁu cách ch¡y "snort" nh°ng cách bi¿n nó thành mÙt daemon (mÙt dËch vå cça hÇ thÑng) thì nên dùng mÙt hÓ s¡ c¥u hình hoàn chÉnh vì có quá nhiÁu chi ti¿t c§n chÉnh Ënh à snort có thà ho¡t Ùng nh° mÙt IDS... thé thiÇt.

-24- à khßi Ùng snort nh° mÙt daemon khi máy chç khßi Ùng, c§n ph£i có init script à nó °ãc khßi Ùng úng run level (cho các hÇ thÑng *nix thuÙc nhánh SysV). V¥n Á này thuÙc ph¡m trù chu©n bË hÇ thÑng. à bi¿t thêm chi ti¿t, b¡n nên tham kh£o vÁ "run level of SysV).

-25- "slashdot effect" là thành ngï ám chÉ hiÇn t°ãng mÙt website quá séc phÕ bi¿n và °ãc °a thích nên l°ãng truy c­p cao h¡n méc hÇ thÑng có thà £m °¡ng. iÁu này d«n ¿n k¿t qu£ ng°Ýi dùng vào website này Áu bË trì trÇ nh° nhau. Cåm "slashdot effect" i të hiÇn t°ãng các trang liên m¡ng cça nhóm "slashdot" trß nên quá phÕ bi¿n tr°Ûc ây do có nhiÁu °Ýng d«n të nhiÁu site khác dùng à i ng°ãc l¡i site cça slashdot, d«n ¿n tình tr¡ng webserver cça slashdot bË quá t£i. Tình tr¡ng quá t£i này không ph£i do bË DoS vì các truy c­p a sÑ Áu ß d¡ng hãp lÇ và tình tr¡ng này không x£y ra do mÙt ho·c nhiÁu ng°Ýi cÑ tình t¡o ra.

-26- hex convertor, công cå dùng à chuyÃn Õi giá trË të HEX thành ASCII; mÙt thé Ó nghÁ không thà thi¿u °ãc n¿u b¡n th­t sñ muÑn chuyên sâu trong lãnh vñc phân tích b£o m­t (security analysis). Tính ch¥t gói tin là nÁn t£ng cça kù thu­t phân tích b£o m­t và të k¿t qu£ phân tích này, các biÇn pháp kh¯c phåc s½ °ãc hình thành. Có r¥t nhiÁu hex convertor cho mÍi hÇ iÁu hành. MÙt trong nhïng hex convertor tôi th°Ýng dùng trên hÇ iÁu hành Windows là HEXwrite, mÙt freeware gÍn nh¹ do David De Groot vi¿t. Có thà tìm th¥y HEXwrite ß HYPERLINK "http://bluefive.pair.com." \t "_blank" http://bluefive.pair.com. Trên *nix tôi dùng "heme" có thà t£i të HYPERLINK "http://heme.sourceforge.net/," \t "_blank" http://heme.sourceforge.net/, heme dùng th° viÇn curses cho viÇc hiÃn thË và nh­p dï liÇu cho nên muÑn dùng nó, b¡n c§n th° viÇn curses trên hÇ thÑng. Có thêm mÙt công cå chuyÃn Õi hex r¥t hay vi¿t b±ng Java gÍi là DataWorkshop, b¡n có thà download të HYPERLINK "http://www.dataworkshop.de/" \t "_blank" http://www.dataworkshop.de/

Các b¡n có thà theo dõi ti¿p ph§n 5 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/179.hva" \t "_blank" ây.

iÁu chÉnh:

- 17/11/2004: iÁu chÉnh chi ti¿t snort là NIDS (theo yêu c§u cça ngoluoc)

Ký sñ các vå DDoS ¿n HVA - Ph§n 5

TÑi 13/10

TÑi nay thé T°, ngày giïa tu§n nên tôi không có cái tiÇn nghi thÝi gian à ngÓi t©n m©n vÛi m¥y cái logs hàng giÝ Óng hÓ. Tuy nhiên, tôi có ç thÝi gian à t£i vÁ dm ba o¡n log à kiÃm nghiÇm éng dång dùng snort à "phá" cái state cça connection. Tôi log vào HVA server và ch¡y mÙt o¡n lÇnh dùng à l¥y chÉ mÙt o¡n log të kho£ng 7 giÝ tÑi ¿n 9 giÝ tÑi cça firewall và web server log. Chà, chÉ có hai giÝ Óng hÓ mà o¡n log cho firewall h¡n 2Mb và o¡n log cho web server h¡n 5Mb (?), nh¥t Ënh ph£i có r¥t nhiÁu thông tin trong này.

Th­t là khçng khi¿p khi rà xuyên qua o¡n log trên. ¤n t°ãng xem nh¹ nhïng m£nh "x-flash" bé nhÏ të të nh°Ýng ch× cho sñ khi¿p £m khi tôi måc kích sÑ l°ãng gói tin truy c­p mang tính vi ph¡m mà firewall ã ghi nh­n và c£n trß. Lúc §u tôi r¥t ngá ngàng và h¡i nghi ngÝ vÛi k¿t qu£ trên. Tôi mß firewall rule ra xem xét l¡i mÙt l§n nïa th­t kù, phân tích të dòng trong m×i function. Tôi c£m th¥y an tâm khi các giá trË éng dång trong firewall rule Áu úng c£. Không nghi ngÝ gì nïa, úng là firewall ã thñc hiÇn chính xác nhïng gì nó °ãc ¥n Ënh. ¤n Ënh giÛi h¡n connection éng hiÇu, ¥n Ënh lo¡i trë invalid packets (do bË snort reset) cing éng hiÇu. Tôi v«n th¥y các thông tin trong web server log t°Ýng trình r£i rác cách m£nh "x-flash" v«n i ¿n web server vÛi status 200 -27-. Tôi ngÓi yên ng«m ngh) và duyÇt qua trong §u tëng bÙ ph­n cça trÍn bÙ c¡ ch¿ c£n lÍc ã °ãc hình thành cho ¿n lúc này. Nói vÁ m·t sÑ liÇu thì tôi c£m th¥y hài lòng vì các biÇn pháp rõ ràng có tác dång, nh°ng nói vÁ m·t hiÇu xu¥t tÑi a cça server cing nh° nhïng £nh h°ßng phå ¿n ng°Ýi dùng hãp lÇ thì tôi không tho£ mãn. iÁu này cing dÅ hiÃu vì có hai chuyÇn v«n x£y ra:

- trung bình cé 4 cú "x-flash" i vào thì 3 cú bË c£n, 1 cú lÍt vào trong. 1 cú lÍt vào này chi¿m mÙt ph§n tài nguyên cça máy chç mÙt cách vô ích vì máy chç v«n ph£i gi£i quy¿t yêu c§u cça "x-flash" này m·c dù chính ng°Ýi gßi cú "x-flash" có l½ cing ch³ng bi¿t anh ta (hay cô ta) ã gßi nó i.

- và Ã c£n các cú "x-flash" tai quái kia, ch¯c ch¯n firewall ã ít nhiÁu £nh h°ßng ¿n quá trình truy c­p cça các ng°Ýi dùng hãp pháp. Bßi l½, nói vÁ m·t giao théc thì chính các "x-flash" kia cing hãp pháp không khác gì các òi hÏi truy c­p i të IE, Mozilla, Opera...

Trong quá trình dò xuyên qua firewall log, tôi tìm th¥y khá nhiÁu các gói tin vi ph¡m bË snort "ra lÇnh" hu÷ bÏ (có còn nhÛ ¿n giá trË resp:rst_all và react:block trong snort signature tr°Ûc ây không?) nh°ng kèm theo ó là mÙt ph£n éng phå có thà kh¯c phåc °ãc nh°ng t¡o khó chËu khi phát hiÇn ra nó. Hãy cùng phân tích mÙt cåm log sau:

Oct 13 21:34:48 hvaonline kernel: INVALID_STATE: IN=eth0 OUT= SRC=203.162.3.193 DST=192.168.1.100 LEN=56 TOS=0x00 PREC=0x00 TTL=248 ID=60756 PROTO=ICMP TYPE=11 CODE=0 [SRC=43.244.42.107 DST=203.210.158.196 LEN=44 TOS=0x00 PREC=0x00 TTL=1 ID=0 DF PROTO=TCP INCOMPLETE [8 bytes] ]

Oct 13 21:34:49 hvaonline kernel: INVALID_STATE: IN=eth0 OUT= SRC=203.162.3.193 DST=192.168.1.100 LEN=56 TOS=0x00 PREC=0x00 TTL=248 ID=61332 PROTO=ICMP TYPE=11 CODE=0 [SRC=43.244.42.107 DST=222.252.33.143 LEN=44 TOS=0x00 PREC=0x00 TTL=1 ID=0 DF PROTO=TCP INCOMPLETE [8 bytes] ]

Oct 13 21:34:50 hvaonline kernel: INVALID_STATE: IN=eth0 OUT= SRC=203.162.3.193 DST=192.168.1.100 LEN=56 TOS=0x00 PREC=0x00 TTL=248 ID=62105 PROTO=ICMP TYPE=11 CODE=0 [SRC=43.244.42.107 DST=203.210.150.121 LEN=44 TOS=0x00 PREC=0x00 TTL=1 ID=0 DF PROTO=TCP INCOMPLETE [8 bytes] ]

Có chuyÇn gì áng nói ß ây? C£ ba thông báo trên x£y ra liên ti¿p m×i giây và Áu có cùng tính ch¥t nh° nhau. Firewall ã c£n và thông báo nh° sau:

- gói tin ICMP lo¡i 11, code 0 -28- i të 203.162.3.193 ¿n private IP 192.168.1.100 cça HVA server bË c£n vÛi thông báo "INVALID_STATE"

- phå chú cho thông báo c£n ß trên còn có các thông tin trong ngo·c [] cho bi¿t TCP packet gßi të public IP cça HVA server 43.244.42.107 ¿n 203.210.158.196 có chiÁu dài 44 bytes, có °u tiên dËch vå ß méc bình th°Ýng, nh°ng TTL chÉ có giá trË là 1.

ChuyÇn gì ã x£y ra ß ây? mÙt gói tin có chiÁu dài 44 bytes °ãc gßi të public IP cça HVA server ¿n 203.210.158.196 à tr£ lÝi mÙt request nào ó ¿n të IP này, ho·c cing có thà là gói tin RST à c¯t ét connection giïa IP và HVA server (nh° snort c§n ph£i làm khi g·p gói tin vi ph¡m). Tuy nhiên, vÛi giá trË TTL là 1, sau khi gói tin này hoàn thành có 1 hop -29- thì "router" 203.162.3.193 bèn gßi ng°ãc mÙt gói ICMP ng°ãc vÁ IP cça HVA à thông báo là gói tin này không tÛi ích °ãc vì lý do "time exceeded" (ICMP type 11 code 0). T°¡ng tñ cho 2 IP còn l¡i 222.252.33.143 và 203.210.150.121.

MÙt thông tin lý thú là: IP cça "router" 203.162.3.193 là IP thuÙc VNPT. N¿u v­y có ngh)a là gói tin i të public IP cça HVA vëa qua khÏi router cça ISP mà HVA dùng (hop 1) là ång ngay ¿n router i vào VNPT (hop 2) và TTL bË ch¥m dét? Gói tin i ra të public IP cça HVA 43.244.42.107 ch¯c ch¯n °ãc modem / router cça HVA t¡o ra vì nó mang public IP nh°ng nó l¡i tñ Ùng ¥n Ënh giá trË cho gói tin gßi i có TTL là 1 thì ây qu£ là iÁu buÓn c°Ýi và thú vË. N¿u v­y, hoá ra mÍi gói tin gßi i të modem / router cça HVA dùng Áu mang TTL là 1 sao? Có th¿ nào nh° v­y °ãc? N¿u qu£ th­t nh° v­y thì HVA server muÑn tr£ lÝi request s½ không bao giÝ i tÛi ích và lúc nào cing nh­n hàng lo¡t ICMP dÙi ng°ãc l¡i báo "time exceeded"? Th­t phi lý vì mÍi ng°Ýi v«n truy c­p và v«n nh­n thông tin hÓi báo të HVA server °ãc. N¿u v­y thì chÉ còn có mÙt tr°Ýng hãp là gói tin °ãc gßi i të modem / router cça HVA (°¡ng nhiên là ph£i xu¥t xé të bên trong web server i ra) có mÙt ·c iÃm gì ó khi¿n cho modem / router "ngang nhiên" ¥n Ënh TTL là 1. R¥t ti¿c là trong tay tôi chÉ có mÙt nhúm các packets °ãc sniff cho "°Ýng vào" HVA server chÛ không sniff c£ hai °Ýng ra vào nên tôi không tài nào bi¿t °ãc chuyÇn gì ã x£y ra.

Të phân tích trên, tôi rút ra °ãc hai iÃm lý thú nh° sau:

- snort h³n ã gßi RST ng°ãc vÁ các gói tin vi ph¡m. Tôi chÉ oán là v­y vì o¡n thông báo ß trên cça firewall chÉ tr£ ng°ãc vÁ 8 bytes thông iÇp ICMP và o¡n thông tin gßi i có chiÁu dài 44 bytes hoàn toàn bi¿n m¥t (biÃu thË b±ng INCOMPLETE) nên không bi¿t rõ gói tin gßi i mang TCP flag nào. Tôi bi¿t ch¯c chính firewall không "thèm" tr£ lÝi các gói tin vi ph¡m cho m¥t thÝi gian mà nó chÉ l·ng l½ cho vào thùng rác, cho nên, xác su¥t viÇc gói tin gßi i të HVA server mang RST do snort t¡o ra là r¥t cao.

- gói tin gßi i này bË r¡i vào tình tr¡ng "ánh gió" vì mÛi qua 1 hop ã k¿t thúc (h¿t TTL) , úng là hoài cça.

- cé m×i gói RST gßi i l¡i có 8 bytes IMCP trß vÁ và h³n nhiên nhïng gói ICMP này bË firewall cça HVA âm th§m cho vào thùng rác vì nó thuÙc tình tr¡ng INVALID_STATE nên £nh h°ßng cça "ph£n éng phå" này là zero.

T¡i sao tôi l¡i quan tâm ¿n nhïng chi ti¿t xem chëng nh° "vån v·t" nh° th¿ này? Tôi th¯c m¯c lý do t¡i sao l¡i có d¡ng "ph£n éng phå" kó quái nh° v­y x£y ra? ây có ph£i là l×i cça modem / router ti¿p diÇn vÛi Internet cça HVA hay không? hay ây là mÙt quy Ënh nào ó r¥t nhÏ trong c¡ ch¿ c£n "x-flash" gây nên? Nhïng câu hÏi này °ãc ·t ra nh° mÙt "Á bài" à tôi ph£i hoàn t¥t. Th­t sñ lý do khi¿n tôi °a ra v¥n Á này vào bài vi¿t là vì mÙt iÃm khác, b¡n thí ngh) xem, n¿u firewall cça HVA không lo¡i trë các gói tin mang tính INVALID -30- thì chuyÇn gì x£y ra? úng rÓi, HVA server s½ là n¡n nhân cça chính nó vì nhïng gói tin gßi i à RST §u truy c­p bên kia °ãc tr£ ng°ãc l¡i vÛi 8 bytes ICMP do gói tin mang TTL = 1. Hãy thí hình dung tr°Ýng hãp HVA server ang bË "dÙi" liên tåc vÛi "x-flash" mà còn bË "dÙi" thêm vÛi các gói ICMP vô tình kia thì h­u qu£ s½ ra sao? Vài ngày sau tôi ã tìm ra câu tr£ lÝi cho lý do t¡i sao có nhïng gói tin gßi i vÛi TTL = 1 (chÉ Ã tho£ mãn cho sñ tò mò cça b£n thân tôi). V¥n Á °ãc ·t ra ß ây là: thi¿t k¿ mÙt mô hình m¡ng + b£o m­t c§n có cái nhìn tÕng quát vÛi °Ýng i (ra vào) cça thông tin nh°ng c§n có sñ kiÃm duyÇt tÉ mÉ cho m×i c¡ ph­n trong quá trình éng dång. MÙt iÁu chÉnh nho nhÏ trên mÙt c¡ ph­n nào cça trÍn bÙ c¡ c¥u m¡ng + b£o m­t cing có thà t¡o £nh h°ßng tiêu cñc (ho·c tích cñc) ¿n tính hiÇu xu¥t và tính an toàn.

Tôi không có ý Ënh ào sâu h¡n vÛi nhïng phân tích giao théc "t§ng th¥p" vì nó có thà quá "khô khan" Ñi vÛi b¡n nên chúng ta hãy ti¿p tåc khai triÃn các éng dång t§ng cao h¡n. Nhïng áp ·t ß t§ng "network" và "transport" ã t¡m Õn, các cú "ánh gió" cça snort v«n thÉnh tho£ng x£y ra và các cú ICMP v«n thÉnh tho£ng i ng°ãc vÁ, nh°ng... who cares? nhïng cái này hoàn toàn vô h¡i. Tôi ti¿p tåc kh£o sát ¿n tiêu iÃm cça các cuÙc t¥n công: web service. M¥y hôm nay tôi mó ¿n các "access log" cça web server à xem tính ch¥t truy c­p nh°ng ch°a hÁ ång ¿n "error log". Thí xem có thông tin gì h¥p d«n trong error log. Ôi giÝi... ­p ngay vào m¯t tôi là hàng chu×i thông báo "segmentation fault" -31- trong error log. Tôi quá vô ý, l½ ra ây là n¡i c§n xem xét ngay të §u à n¯m tình hình chung tr°Ûc khi t­p trung vào hai t§ng "transport" và "network" nh°ng dù sao cing là sñ ã rÓi. Tôi chÉ th¥y sÑt ruÙt vì mÙt nhu liÇu báo quá nhiÁu segfault nh° v­y chéng tÏ mÙt iÁu ch¯n ch¯n là nó không ho¡t Ùng úng quy cách ho·c có nhïng giÁng mÑi ¿n nhïng l×i vÁ l­p trình vÛi chính web server và nhïng modules thêm vào.

Tôi mß mÙt cái "uôi" tail trên console à theo dõi các errors x£y ra vÛi web server, càng xem tôi càng thêm sÑt ruÙt vì h§u nh° m×i giây trôi qua là m×i segfault hiÇn lên màn hình. Lý do làm tôi sÑt ruÙt r¥t ¡n gi£n, nó không chÉ mang d¥u hiÇu cho tiÁm nng Õ vá cça web service b¥t cé lúc nào mà còn là d¥u hiÇu cça méc phåc vå kém hiÇu nng cça server. Cé m×i segfault x£y ra thì chúng ta có thà oán mÙt process nào ó c§n °ãc mß ra à phåc vå nh°ng không thành công và k¿t qu£ thì... ai cing có thà oán °ãc: úng v­y, request të trình duyÇt hoàn toàn không nh­n °ãc k¿t qu£ gì c£ n¿u chính process °ãc mß ra à tr£ lÝi bË segfault. Tôi quy¿t Ënh chÉnh l¡i log level trß thành "debug" level -32- và tái khßi Ùng web server -33-. Mß ra mÙt cái "uôi" tail mÛi trên console, tôi h¡i th¥t vÍng vì mình không tìm thêm °ãc bao nhiêu thông tin có ích trong viÇc tìm nguÓn gÑc cça các segfault. Error log thông báo thông tin t°¡ng tñ nh° sau:

Code:

[Thu Oct 13 21:36:26 2004] [notice] child pid 22332 exit signal Segmentation fault (11)

...

Tôi thß dài, ành ph£i dùng ¿n biÇn pháp ch¡y web server xuyên qua gdb -34- à tìm l×i v­y. Tôi r¥t miÅn c°áng khi làm th¿ này, không ph£i vì ph£i Ùng ¿n gdb mà vì ây là mÙt site ang "sÑng", ang ho¡t Ùng và ang bË... DoS. Nh°ng không làm th¿ thì làm sao tìm l×i à trË nó? Tôi kiÃm tra qua tình hình netstat hiÇn thÝi cça server, chà! không °ãc, có quá nhiÁu ng°Ýi dùng ang online ngay lúc này, ch¯c ph£i à sáng sÛm mai khi ch³ng có m¥y ai vào HVA forum. Cing ã khuya, tôi x¿p laptop l¡i.

Sáng 14/10:

Nh° th°Ýng lÇ, tôi có m·t ß công ty r¥t sÛm. Làm mÙt ly cà fê, tôi mß máy lên và log vào HVA server. Ã xem thí tình hình server ra sao? Tôi gõ w và ti¿p theo là netstat -nat. Hèm... tÑt, server im ¯ng l¯m, chÉ có lác ác vài m¡ng thì ch¯c không sao (lão JAL ã thông báo tôi cé viÇc làm nhïng gì tôi c§n làm, °ãc "lÇnh" rÓi mà ). Tôi thí "ì b¥c" mÙt child process theo kiÃu hú ho¡ xem sao vì error log cé ti¿p tåc thông báo l×i m×i giây. Sáng nay ít ng°Ýi vào nên segfault không °ãc báo ß méc Ù ó nh°ng ít nh¥t cing 30 giây mÙt l×i. Tôi xem thí có bao nhiêu child process °ãc forked -35-:

Code:

# ps -ef | grep httpd

Chà, m°Ýi m¥y "éa con" (child process) ang n±m chÝ. Tôi vÛ ngay mÙt trong m°Ýi m¥y éa, process xxxx và thí xem:

Code:

gdb httpd xxxx

sau khi hàng tá symbols °ãc load âu ó, rÓi nó éng yên chÝ.

Tôi bi¿t debug kiÃu này th­t không khác gì "chó ngáp nh±m ruÓi" vì trong Ñng child process kia có thà mÙt ho·c nhiÁu "éa" bË segfault chÛ không ph£i ngay cái process xxxx tôi ang thí. H¡n nïa, "éa" tôi ang dùng à thí có thà không có dËp ti¿p nh­n connection trong khi tôi ang thí thì "ì b¥c" cái n×i gì? Mèn, tôi l©m nh©m "viÇc gì ph£i e dè, cho cái web server chÉ ch¡y trên 1 process rÓi tha hÓ mà xem cái cça khÉ gì ang x£y ra". Quy¿t Ënh v­y xong, tôi thñc hiÇn ngay. Tôi dëng h³n web server và khßi Ùng të bên trong gdb -36- vÛi thông sÑ -DONE_PROCESS à buÙc server chÉ ch¡y ß ch¿ Ù single process à tiÇn "ì b¥c". DËch vå khßi t¡o bình th°Ýng, th° viÇn d«n bình Õn, và ngay sau ó: bang! có ngay mÙt connection mÛi i vào, socket mß ra à ti¿p nh­n. Cha ch£, à xem thí cái gì x£y ra.

Trong phút chÑc trên gdb console hiÇn ra hàng lo¡t thông tin liên quan ¿n mmap cça php và ti¿p theo ó là thông tin vÁ viÇc truy dång memory (mmap) cho mÙt sÑ các modules khác mà web service ang dùng. Bßi l½ dËch vå ang ch¡y ß ch¿ Ù single process, sigfault x£y ra ß ây d«n ¿n tình tr¡ng dËch vå hoàn toàn bË t¯t bÏ. Lý do ¡n gi£n là khi dËch vå ch¡y ß ch¿ Ù multi process thì n¿u mÙt "con" nào ch¿t, process "m¹" s½ ti¿p tåc » ra thêm nên dËch vå v«n ti¿p tåc ho¡t Ùng. MÙt cách tÕng quát mà nói thì web service không ho¡t Ùng ß tình tr¡ng "kho» m¡nh", tôi c§n bi¿t ch¯c do mmap -37- °ãc gÍi à ¥n Ënh memory cho các modules và bË segfault là ç. R¥t ti¿c tôi ã không l°u giï chi ti¿t cça k¿t qu£ "ì b¥c" vì lúc ¥y tôi ngh) r±ng các thông tin này không c§n thi¿t, h¡n nïa thông tin ì b¥c âu ph£i là "b±ng chéng" cça chuyÇn DoS mình ang iÁu tra cho nên càng không c§n ph£i giï l¡i. ¿n n°Ûc này chÉ còn mÙt gi£i pháp là tái biên dËch l¡i trÍn bÙ nhu liÇu cça web server và các modules kèm theo. Lý do ph£i làm chuyÇn này vì tôi nghi ngÝ web service trên HVA dùng binaries có sµn và nhïng binaries này dùng các th° viÇn kèm không t°¡ng éng vÛi nhïng gì ang có trên hÇ thÑng.

Tôi tái khßi Ùng l¡i web service và Ã cho nó ho¡t Ùng nh° bình th°Ýng. Sau ó, tôi gßi ngay cho JAL mÙt PM Ã thông báo c§n ph£i biên dËch l¡i trÍn bÙ ph§n mÁm cça web server. Lúc này còn sÛm l¯m, Japan l¡i sau n¡i tôi c° ngå hai giÝ Óng hÓ (tính theo múi giÝ). Tôi quy¿t Ënh t£i các gói mã nguÓn c§n thi¿t và b¯t tay vào viÇc biên dËch. Dñ Ënh trong §u tôi r¥t ¡n gi£n:

- giï nguyên nhïng gì ang ch¡y trên hÇ thÑng (Ã phòng bË).

- biên dËch vài cài dËch vå web mÛi ß n¡i khác.

- khi ph§n mÁm cça web server mÛi sµn sàng, chÉ c§n t¯t bÏ cái ci, khßi Ùng cái mÛi.

- n¿u có sñ cÑ gì thà quay vÁ cái ci.

Sµn dËp, tôi t£i luôn mÙt sÑ modules cå thà trã giúp cho "công cuÙc" chÑng x-flash. Biên dËch l¡i quá ¡n gi£n và nhanh chóng, ch°a ¿n m°Ýi lm phút, tôi ã hoàn t¥t mÍi thé. Tôi chÉ c§n copy cái c¥u hình cça web server hiÇn dång và mang qua cho web server mÛi, iÁu chÉnh l¡i các chi ti¿t c§n thi¿t. Dò xuyên qua mÍi thé mÙt l§n cuÑi, tôi hài lòng và logoff HVA server. Ch¯c ph£i vài giÝ sau mÛi có hÓi báo të JAL, bây giÝ ph£i gi£i quy¿t công viÇc ß sß cho xong rÓi s½ quay l¡i HVA sau.

Các b¡n có thà theo dõi ti¿p ph§n 6 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/180.hva" \t "_blank" ây.

Chú thích:

-27- HTTP status code chia làm 5 nhóm: 10x, 20x, 30x, 40x và 50x. M×i nhóm biÃu thË tình tr¡ng k¿t nÑi giïa client và server qua giao théc HTTP. Xem thêm chi ti¿t ß: HYPERLINK "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html" \t "_blank" http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

-28- ICMP hay Internet Control Message Protocol. MÙt giao théc c§n thi¿t trong TCP/IP chuyên à thông báo tình tr¡ng gói tin. Trong tr°Ýng hãp trên ICMP type 11, code 0 dùng à biÃu thË trình tr¡ng gói tin khi chuyÃn i ã bË "h¿t giÝ" tr°Ûc khi ¿n ích. Xem thêm thông tin vÁ ICMP ß: HYPERLINK "http://www.faqs.org/rfcs/rfc792.html" \t "_blank" http://www.faqs.org/rfcs/rfc792.html

-29- hop ¡n vË tính cho m×i router mà gói tin i xuyên qua. Giá trË "hop" biÃu thË rõ nh¥t khi dùng traceroute të mÙt IP này ¿n mÙt IP kia. Cé m×i l§n gói tin i qua mÙt router, giá trË TTL l¡i bË router ¥y trë i 1 cho ¿n khi nào nó tÛi ích, m×i l§n trë biÃu thË cho 1 hop. N¿u traceroute ch°a hoàn t¥t °Ýng c§n ph£i dò (trace) mà giá trË TTL cça packet gßi i ã ch¥m dét (b±ng 0) thì router nào "ång" ph£i packet ¥y ph£i gßi 1 gói ICMP type 11 code 0 (thông iÇp "time exceeded") ng°ãc vÁ host nguyên thu÷ ã gßi gói tin i à thông báo tình tr¡ng gói tin.

-30- các gói tin mang tính INVALID nói mÙt cách tÕng quát là các gói tin không thuÙc mÙt xu¥t truy c­p nào, không °ãc firewall iÁu tác và ghi nh­n mà chÉ xu¥t hiÇn b¥t chãt và không i qua các c¡ ch¿ giao théc hãp lÇ. Ñi vÛi quy Ënh riêng cça HVA firewall, và riêng vÛi giao théc ICMP thì chÉ có HVA server mÛi °ãc quyÁn khßi t¡o các gói tin ICMP và host nào ó nh­n °ãc, c§n tr£ lÝi thì firewall mÛi mß cía à nó i vào vÛi måc ích tr£ lÝi mà thôi. N¿u mÙt gói tin ICMP (b¥t ch¥p lo¡i nào) °ãc khßi t¡o të bên ngoài và i ¿n HVA server Áu bË c£n. Tính ch¥t gói tin này có thà hoàn toàn hãp lÇ vÁ m·t giao théc nh°ng b¥t hãp lÇ Ñi vÛi quy Ënh trên HVA firewall.

-31- segmentation fault hay còn gÍi t¯t là SEGFAULT. Tr°Ýng hãp segfault x£y ra khi mÙt nhu liÇu nào ó c§n truy c­p vào vË trí nào ó trên bÙ nhÛ nh°ng không °ãc phép ho·c cách truy c­p này không hãp lÇ.

-32- Các dËch vå ch¡y trên *nix nói chung Áu cho phép ¥n Ënh méc Ù thông tin °ãc log cça dËch vå báo cáo. Þ ây tôi dùng "debug" level có ngh)a là ß méc Ù chi ti¿t nh¥t có thà °ãc à l¥y càng nhiÁu thông tin càng tÑt nh±m måc ích xác Ënh vùng l×i x£y ra vÛi dËch vå. C§n nói thêm, "log" là ph°¡ng tiÇn, là khßi iÃm cça quy trình tìm l×i. iÁu r¥t áng ng¡c nhiên là a sÑ nhïng admin bình th°Ýng ít khi dùng ¿n nó khi g·p sñ cÑ mà th°Ýng chÉ c­y vào thao tác "stop / start" mÙt dËch vå và hy vÍng nó s½ Õn. N¿u may m¯n, dËch vå ¥y ti¿p tåc ho¡t Ùng, n¿u không may dËch vå l¡i v°Ûng vào ám "l×i" thì nhïng admin này th°Ýng c§u céu ¿n các dËch vå h× trã ho·c hÏi b¥t cé n¡i nào có thà hÏi °ãc. Theo tôi, ây là mÙt thói quen nên sía Õi.

-33- Tái khßi Ùng web server ß ây không giÑng nh° ng°ng nó hoàn toàn rÓi tái khßi Ùng; làm th¿ này s½ gián o¡n ¿n các xu¥t truy c­p hiÇn ang x£y ra trên server. Tái khßi Ùng ß ây chÉ là d¡ng "graceful", có ngh)a là server °ãc nh­n tín hiÇu c§n tái khßi Ùng à n¡p l¡i thông tin cça c¥u hình, nó s½ ãi cho các process có nhïng connection ang diÅn ti¿n xong rÓi mÛi k¿t thúc chúng. Làm th¿ này Ñi vÛi ng°Ýi dùng hoàn toàn "trong suÑt" và không có gián o¡n nào.

-34- gdb hay GNU Debugger, mÙt công cå không thà thi¿u °ãc cho nhïng ai c§n debug các ch°¡ng trình °ãc vi¿t b±ng C, C++ hay Modular 2. Nó cho phép ng°Ýi dùng "xem" nhïng gì x£y ra trong khi mÙt ch°¡ng trình ang ch¡y và n¿u ch°¡ng trình bË treo, báo l×i hay b¥t cé chuyÇn gì b¥t th°Ýng x£y ra, nó có thà cung c¥p nhïng thông tin c§n thi¿t à xác Ënh cå thà nguyên nhân sñ cÑ n±m ß âu. gdb có trên các Linux distro (n¿u cài thêm bÙ development tool) và g§n ây trß nên r¥t phÕ bi¿n trên các *nix th°¡ng m¡i nh° AIX, Solaris, UX-HP và t¥t nhiên MacOS X. Xem thêm thông tin vÁ gdb ß: HYPERLINK "http://www.gnu.org" \t "_blank" http://www.gnu.org

-35- prefork, cách t¡o process mÛi cho m×i connection. ây là cách "cÕ iÃn" nh°ng vì phiên b£n php hiÇn ang dùng trong tr°Ýng hãp này không thuÙc d¡ng "thread safe" nên ph£i dùng ¿n prefork. iÁu này có ngh)a m×i request i vào và c§n php phåc vå trang Ùng (dynamic page) thì ph£i "fork" ra mÙt process hoàn toàn mÛi. Khái niÇm tÕng quát là nh° v­y, n¿u b¡n c§n ào sâu thì nên nghiên céu thêm vÁ c¡ ch¿ t¡o process và thread cho mÙt system (bài vi¿t này cho môi tr°Ýng *nix).

-36- ây là mÙt trong nhïng thç thu­t debugging dùng gdb, tôi không i sâu vào chi ti¿t vì làm loãng nÙi dung. N¿u b¡n thích thú thì chính tài liÇu i kèm vÛi gdb có §y ç các thông tin cho v¥n Á này.

-37- mmap hay "map pages of memory", mÙt hàm dùng à xác Ënh mÙt kho£ng bÙ nhÛ cho mÙt process °ãc t¡o ra à thñc thi mÙt công tác nào ó trên hÇ thÑng. Xem thêm chi ti¿t vÁ mmap ß: HYPERLINK "http://www.opengroup.org/onlinepubs/009695...tions/mmap.html" \t "_blank" http://www.opengroup.org/onlinepubs/009695...tions/mmap.html

conmale(HVA)

Ký sñ các vå DDOS HVA ph§n 6

Tr°a 14/10:

ã ¿n giÝ n tr°a. G§n bÑn giÝ ròng rã vùi §u trong Ñng công viÇc, tôi h§u nh° quên bµng chuyÇn HVA. GiÝ này ch¯c JAL ã hÓi âm. Tôi hâm nóng mÛ théc n mang theo cho buÕi tr°a và log vào diÅn àn HVA (vëa n vëa táy máy server). úng nh° dñ t°ßng, tôi nh­n °ãc hai thông iÇp të JAL và mÙt mÛ thông iÇp khác có d¡ng "giúp em hack yahoo pass". Tôi l§m b§m "suÑi ngày cé yahoo pass, yim pass, không bi¿t chán sao trÝi" và tôi à chúng qua mÙt bên.

¡i khái trong thông iÇp JAL "phán" r±ng: "lão c§n làm gì thì cé làm". V­y thì không có v¥n Á gì. Tôi thí xem tình hình server lúc này ra sao b±ng mÙt sÑ lÇnh thông th°Ýng sau khi log vào HVA server. Chà, giÝ này bên VN mÛi có 9 giÝ sáng mà ã vào diÅn àn khá ông. ành ph£i v­y thôi:

Code:

kill -SIGTERM 'cat /var/run/httpd.pid' && rm -f /var/run/httpd.pid && rm -f /var/lock/subsys/httpd

à cho ch¯c n, tôi phóng ti¿p:

Code:

ps -ef | grep httpd

Hèm, s¡ch s½ âu ó, không còn mÙt m£nh httpd "v°¡ng v¥n". Hai lÇnh trên có måc ích gì? LÇnh thé nh¥t th­t ra là mÙt lÇnh tÕng hãp ba viÇc khác nhau. Ph§n thé nh¥t cça lÇnh này dùng lÇnh cat à xác Ënh parent pid (process id) cça httpd ang ch¡y trên máy à lÇnh kill có thà k¿t thúc nó vÛi tín hiÇu SIGTERM -38-. Ph§n thé nhì và thé ba cça lÇnh này chÉ ¡n gi£n xoá bÏ giá trË httpd.pid và httpd trên máy à l§n sau httpd mÛi °ãc khßi t¡o, nó không bË "bÑi rÑi". LÇnh thé nhì i theo chÉ ¡n gi£n dùng à xác nh­n không còn process nào thuÙc httpd ang ch¡y.

Tôi thí khßi Ùng httpd mÛi xuyên qua mÙt init script (xem l¡i chú thích 24) tôi t¡o ra, ·c biÇt dùng cho httpd mÛi và các th° viÇn cing nh° hÓ s¡ c¥u hình nó c§n dùng. Ôi chao, không khßi Ùng °ãc, nó càm ràm không tìm th¥y ba modules. Tôi ngh) là tôi kù l°áng ¿n th¿ mà v«n sót l¡i vài cái modules "thëa h°ßng" të hÓ s¡ c¥u hình ci. Trong nháy m¯t, chúng bi¿n khÏi hÓ s¡ c¥u hình. A lê h¥p, khßi Ùng l¡i xem sao.... thông iÇp ng¯n gÍn và "tròn tr)nh":

Code:

HVA webserver is sucessfully started

hiÇn ra trên màn hình.

Tôi nôn nóng mß thêm hai console ¿n HVA server nïa, mÙt dùng cho cái "uôi" tail ¿n firewall log, mÙt cho cái "uôi" tail ¿n webserver error log, mÙt cái nïa cho "uôi" tail ¿n webserver access log và cái cuÑi cùng dùng à ch¡y lÇnh lai rai nh° top, ps, netstat dùng à theo dõi tình hình chung. Cái màn hình 21 inches g¯n thêm vào laptop bË HVA "l¥n chi¿m" g§n h¿t (may mà tay x¿p h¡i bË... mù vÁ unix nên h¯n không hÁ à ý xem m¥y cái console này là cho viÇc công hay viÇc t° nhïng lúc h¯n i ngang qua bàn làm viÇc cça tôi ).

B¡n oán thí cái "tail" nào tôi Õ dÓn ngay c·p m¯t vào tr°Ûc tiên? úng rÓi, cái "tail" ¿n web server error log. Tôi mß trình duyÇt trên máy cça tôi, trÏ ¿n HVA forum và... nh¥n F5 lia lËa. access log ghi nh­n truy c­p të trình duyÇt cça tôi Áu ·n và c§n m«n nh° mÙt ông th° ký già. Trong khi ó, error log hoàn toàn im ¯ng. Im ¯ng th¿ này là tÑt l¯m. B¡n có thà th¯c m¯c chÉ có m¥y cái "child exit" do segfault mà làm gì quan trÍng ¿n th¿?. Sß d) tôi chú trÍng ¿n cái log này vì nhïng l×i thông báo segfault, theo tôi còn nghiêm trÍng h¡n nhïng cú "x-flash" ang "¥m thùi thåi" vào HVA server.

Hãy thí mß rÙng h¡n mÙt chút vÁ tính nghiêm trÍng ß ây. TrÍn bÙ quy trình hÇ thÑng nh­n mÙt request të client ¿n giai o¡n child process bË SEGFAULT tiêu phí r¥t nhiÁu tài nguyên cça máy chç nh°ng l¡i bË hçy i mÙt cách vô lý vì không thà ¥n Ënh memory cho nó (share memory trong tr°Ýng hãp này vì mmap báo l×i trong lúc debug), ây là chuyÇn dÅ hiÃu. ChuyÇn áng Á c­p h¡n nïa là £nh h°ßng phát tán ¿n trÍn bÙ dËch vå cça webserver nh° sau:

- phí tài nguyên dùng à t°Ýng trình l×i liên tåc vào error log (gia tng công tác input / ouput)

- vì dùng php làm công nghÇ bên d°Ûi à t£i diÅn àn HVA và php không ph£i là "thread safe" nên buÙc web server ph£i dùng c¡ c¥u prefork (xem l¡i chú thích 35). prefork ß ây có ngh)a là khi server khßi Ùng, nó t¡o sµn mÙt sÑ l°ãng process à xí lý các truy c­p ã °ãc socket ón nh­n trên cÕng HTTP. M×i process này chÉ °ãc ti¿p nh­n mÙt l°ãng truy c­p nào ó rÓi bË hu÷ (dña trên giá trË ¥n Ënh MaxRequestsPerChild) và process mÛi l¡i °ãc t¡o ra à ti¿p tåc phåc vå. N¿u các truy c­p Áu ch¥t l°ãng và không hÁ bË SEGFAULT thì process ¥y chÉ bË hçy khi tÛi giÛi h¡n ã Ënh và nó s½... thÍ h¡n. N¿u có mÙt SEGFAULT x£y ra và không c§n bi¿t là process này ã phåc vå bao nhiêu request, nó cing bË k¿t liÅu, ch¿t non, yÃu mÇnh... tuó cách b¡n gÍi. Server buÙc ph£i t¡o thêm process à ti¿p tåc phåc vå và ây là "cái ch­m s¡ bÙ".

V­y "cái ch­m chi ti¿t" là sao? Trên mÙt hÇ thÑng *nix, viÇc óng mß các sockets, t¡o process, phân bÑ tài nguyên là do kernel lo và m×i ho¡t Ùng này ph£i i theo mÙt nguyên t¯c nh¥t Ënh. ·c biÇt trên Linux và trên kernel series 2.4.x, v¥n Á iÁu tác °u tiên cho m×i process tùy tính ch¥t và quy ch¿ dành cho process này -40-. Khi web server òi hÏi t¡o mÙt process, không ph£i lúc nào òi hÏi này cing °ãc thñc hiÇn ngay l­p téc. Kernel ph£i thñc hiÇn mÍi yêu c§u theo úng trình tñ không thì hÇ thÑng s½ bi¿n thành cái Õ nhÇn. ThÝi gian và tài nguyên à máy chç t¡o process vÛi nhËp Ù nh° trên ch¯c ch¯n s½ không còn hiÇu qu£ à phåc vå cho clients. Server load s½ lên cao, sÑ l°ãng công viÇc s½ dÓn Ñng, tài nguyên d§n d§n s½ c¡n kiÇt và ¿n mÙt lúc nào ó, không nhïng dËch vå ch¿t mà c£ máy chç cing s½ ch¿t vì quá t£i.

Sß d) ng°Ýi dùng truy c­p HVA server th°Ýng xuyên c£m th¥y ch­m là vì mÙt ph§n bË nhïng qu£ "x-flash" kia chen chân, mÙt ph§n request cça hÍ bË m¥t tm theo nhïng cái SEGFAULT. Trong nhïng tr°Ýng hãp này, trình duyÇt l¡i ph£i gßi request (retry) và n¿u không may thì request l§n này cing có sÑ ph­n không khác gì l§n tr°Ûc. N¿u t§ng IP ã giÛi h¡n méc truy c­p và t§ng application l¡i bË SEGFAULT thì c¡ hÙi ng°Ýi dùng hãp lÇ truy c­p ¿n HVA ß tình tr¡ng thành công l¡i càng gi£m sút. Lý do: méc giÛi h¡n ß t§ng IP dùng à gi£m thiÃu t§ng sÑ xâm nh­p cça "x-flash" (à b£o tÓn tài nguyên cho máy chç) trñc ti¿p gi£m thiÃu t§ng sÑ truy c­p cça ng°Ýi dùng hãp lÇ. B¡n có thà hình dung tr°Ýng hãp mÙt v­n Ùng tr°Ýng mß toang hai cánh cÕng cho 100 ng°Ýi vào cùng mÙt lúc gÓm c£ "ng°Ýi ngay, k» gian" và làm nh° th¿ thì sÑ l°ãng ng°Ýi tràn vào nhanh nh°ng l¡i khó kiÃm soát. N¿u óng bÛt mÙt cánh cÕng thì chÉ còn có 50 ng°Ýi có thà vào cùng mÙt lúc và làm nh° th¿ thì dÅ kiÃm soát h¡n nh°ng cing làm £nh h°ßng ¿n nhïng "ng°Ýi ngay".

Cho ¿n lúc này, sau g§n 30 phút theo dõi sát tình hình các truy c­p x£y ra trên máy, trên logs, trên socket status... tôi có thà xác Ënh r±ng segfault ã hoàn toàn °ãc lo¡i trë. Bßi php không "thread-safe" nên m×i request i vào, web server ph£i t¡o mÙt process h³n hòi à phåc vå. Tôi iÁu chÉnh cho web server khßi t¡o sµn 50 processes à chÝ ti¿p nh­n requests. Lúc này sÑ l°ãng truy c­p ¿n HVA forum b¯t §u gia tng (giÝ này ã g§n 10 giÝ sáng giÝ VN). Dña trên sÑ l°ãng access të access log cça web server, tôi °Ûc chëng cé m×i 20 giây có mÙt request ¿n server. Tôi cho phép 256 "MaxRequestsPerChild", nh° v­y ph£i sau 85 phút thì mÙt child process mÛi bË hu÷. 50 child processes éng chÝ sµn kia vÛi tình hình này thì quá d° nh°ng liÇu có ç áp éng trong kho£n thÝi gian cao iÃm vào ban êm? Nh° ã gi£i thích ß trên vÁ quy ch¿ t¡o process, mÙt request i vào n¿u không có sµn process à phåc vå ngay thì kh£ nng trình duyÇt ti¿p tåc gßi request ¿n (vì bË timeout). V­y trong hoàn c£nh web server cñc kó b­n rÙn vào ban êm thì c§n bao nhiêu process n±m sµn à "nh­n công tác" là thích hãp?

Tôi nh©m tính trong §u, vào kho£ng thÝi gian 2 giÝ cao iÃm ban êm s½ có kho£ng 12000 x-flash requests nh° ã phân tích ß bài §u:

(12000 requests / 120 phút) / 60 giây = 1.6 request m×i giây

Trong 2 giÝ, web server s½ ti¿p nh­n requests và t¡o ra bao nhiêu processes? Thí xem:

- 1 process °ãc ti¿p nh­n 256 request rÓi bË hu÷

- 12000 requests trong 120 phút (7200 giây) = 1.6 requests cho m×i giây.

12000 requests / 256 max request per child process = 47 processes

Thí °Ûc tính server load s½ là bao nhiêu n¿u nó ph£i t¡o 47 processes trong 2 giÝ?

( 15 phút x 47 processes ) / 120 = 5.8 processes

15 phút / 5.8 = 0.86 (xem thêm chú thích 43)

Con sÑ process quá lÛn nh°ng n¿u tính tra méc server load trung bình ß méc 0.86 thì nó l¡i ß méc bình th°Ýng. H¡n nïa con sÑ process trên cing không áng ng¡c nhiên vì sÑ request ¿n HVA server quá cao do x-flash và nhïng d¡ng t¥n công khác. Þ b°Ûc này, iÁu tôi c§n ki¿n t¡o là b£o £m HVA webserver không bË ch­m vì liên tåc có quá nhiÁu request i vào khi¿n nó không kËp thÝi t¡o process à phåc vå và s½ i ¿n tình tr¡ng gi£m sút hiÇu xu¥t. iÁu k¿ ti¿p tôi c§n ki¿n t¡o là n¯m ch¯c web service và các modules không bË memory leak. Th­t ra, dña trên logic ã °ãc thi¿t l­p sµn, web service có kh£ nng tñ iÁu tác viÇc t¯t bÏ và tái t¡o các process h¿t séc nhËp nhàng và quân bình. Tuy nhiên, Ñi vÛi mÙt site ang bË DoS n·ng nÁ nh° HVA thì giá trË m·c Ënh không còn thích hãp nïa. Tôi không muÑn server ph£i bË "ch¿t" vì quá t£i, tôi cing ch³ng muÑn ng°Ýi dùng hãp lÇ ph£i "khÕ sß" vÛi v¥n Á truy c­p. N¿u tôi có mÙt chu×i 10 máy chç (ch³ng h¡n) thì sñ thà ã khác, nh°ng tôi ph£i máy mó trong giÛi h¡n cho phép. Tôi tin r±ng các con sÑ này s½ ph£i iÁu chÉnh nhiÁu l§n cho ¿n khi chúng mang giá trË thích hãp nh¥t cho HVA server.

¿n ây, tôi hy vÍng b¡n ã nh­n ra °ãc mÙt iÃm quan trÍng sau khi theo dõi diÅn ti¿n të §u câu chuyÇn ¿n giai o¡n này: "á" các cú DoS không chÉ ß socket level mà còn ph£i tÑi °u hoá dËch vå ß méc cao nh¥t có thà °ãc. C£n lÍc ß socket level là ph°¡ng pháp gi£m thiÃu biên Ù và tr°Ýng Ù cça các truy c­p ¿n máy chç vÛi måc ích b£o tÓn tài nguyên và ho¡t Ùng cça nó. Tuy nhiên, viÇc nâng cao kh£ nng phåc vå cça chính dËch vå mình muÑn b£o vÇ c§n °ãc quan tâm không kém gì viÇc c£n lÍc. MÑi t°¡ng quan và sñ bình quân cça hai v¥n Á trên chính là chìa khoá cça sñ bÁn bÉ và hiÇu xu¥t cça máy chç.

B°Ûc k¿ ti¿p trong giai o¡n iÁu chÉnh và kiÇn toàn web service là b°Ûc éng dång mÙt bÙ ph­n c£n lÍc trên t§ng éng dång (application layer). H³n b¡n ã nghe ¿n cái tên mod_security -41-, mÙt module °ãc dùng rÙng rãi cho mÙt sÑ web server. B¡n có thà hÏi nh°ng mod_security âu ph£i là mÙt mod chuyên chÑng DoS, t¡i sao l¡i dùng à chÑng DoS?. Câu tr£ lÝi r¥t ¡n gi£n: nó dùng à c£n cå thà nhïng gì firewall ß t§ng IP không thà c£n h¿t °ãc.

Các c¡ ch¿ c£n lÍc ã °ãc éng dång trên HVA server cho ¿n giai o¡n này là nhïng c£n lÍc n·ng tính hiÇu xu¥t bßi vì chúng lo¡i bÏ nhïng gói tin vi ph¡m mÙt cách âm th§m, t§ng dËch vå web server không hÁ bi¿t ¿n và cing không c§n bi¿t ¿n. Tuy các c¡ ch¿ này có tính hiÇu xu¥t cao nh°ng nhïng éng dång c£n lÍc t§ng th¥p (ã nêu trên) không thà hoàn toàn lo¡i bÏ nhïng gói tin vi ph¡m i vào. Dña trên các thông tin thu th­p °ãc të các log files, c¡ ch¿ c£n ß IP layer cho ¿n lúc này có hiÇu nng chëng 65-75% (tính theo kiÃu khách quan). V­y có kho£ng 30% các gói tin t¥n công v«n có c¡ hÙi i vào và tiêu phí tài nguyên cça máy chç.

mod_security °ãc chÍn làm t¥m "bình phong" à c£n lÍc ph§n còn l¡i cça các gói tin vi ph¡m này. Þ ây tôi không tiÇn giÛi thiÇu cå thà các filtering rules ã °ãc dùng cho mod_security nh°ng iÁu tÕng quát tôi có thà giÛi thiÇu vÛi b¡n là mod_security có kh£ nng kiÃm soát các request ¿n HTTP dña trên ph°¡ng pháp regex -42-. Nó có thà b¯t g·p và c£n trß nhïng request vi ph¡m trong mÙt biên Ù khá rÙng và linh Ùng. Bi¿t r±ng nhïng công cå dùng à lÍc và c£n trß gói tin ß application layers òi hÏi nhiÁu tài nguyên cça máy chç nh°ng trong tr°Ýng hãp này:

- mod_security chÉ £m °¡ng 30% các gói tin vi ph¡m còn l¡i

- °Ûc l°ãng tài nguyên dành cho mod_security à xí lý 30% các gói tin vi ph¡m này ít h¡n r¥t nhiÁu sÑ l°ãng tài nguyên web server và database server ph£i phåc vå n¿u cé à các gói tin m·c nhiên i vào.

- mod_security còn lo¡i bÏ hàng lo¡t các d¡ng t¥n công mang tính nguy h¡i khác ¿n web services.

Bßi l½ mod_security làm "t¥m bình phong" cho web service, mÍi requests tr°Ûc khi i vào tÛi web service Áu bË mod_security ch·n l¡i và xét duyÇt. B°Ûc này làm gia tng thÝi gian áp éng request cho ng°Ýi dùng hãp lÇ. ây là cái giá ph£i tr£ à b£o tÓn cho tài nguyên và sñ an toàn cça máy chç. Tuy nhiên, "ch­m" h¡n mÙt chút ß b°Ûc này hoàn toàn có thà ch¥p nh­n °ãc vì n¿u không có nó b£o vÇ, hàng lo¡t requests vào °ãc bên trong web service rÓi ti¿p tåc ång ¿n csdl và nhïng thé nhì nh±ng bên trong thì cái ch­m ß méc này khó có thà o l°Ýng °ãc n¿u máy chç ang bË t¥n công. Sau mÙt kho£ng thÝi gian nào ó, ng°Ýi dùng s½ không nhïng th¥y ch­m mà còn có thà i ¿n tình tr¡ng không thà truy c­p °ãc máy chç nïa vì nó quá b­n rÙn.

MÍi chuyÇn xem nh° t¡m Õn, tôi quy¿t Ënh tái khßi Ùng web server và à b£o £m dËch vå web này éng hiÇu vÛi nhïng iÁu tôi vëa áp ·t, tôi không dùng graceful restarting mà ép buÙc nó hoàn toàn ng°ng ho¡t Ùng, t¯t bÏ trÍn bÙ các process và khßi Ùng l¡i të §u. Tôi gßi JAL mÙt PM thông báo tình hình. Nhìn Óng hÓ, tôi bi¿t hôm nay mình không còn bao nhiêu thÝi gian à táy máy vÛi HVA server nïa. iÁu tôi muÑn tìm hiÃu nh°ng không có thÝi gian theo dõi là tÕng sÑ server load -43- tr°Ûc, sau và trong khi HVA "bË" t¥n công sau khi ã trang bË t¥t c£ nhïng c¡ ch¿ th¯t ch·t të lúc khßi §u cho ¿n bây giÝ. Th¿ nên tôi "whip" ra mÙt o¡n shell script nh° sau:

Code:

#!/bin/bash

# 60 sec x 180 min

i=10800

while [ ${i} -gt 0 ]; do

w | grep load | awk '{print$1, $10, $11, $12}' >> /tmp/load

sleep 120

let i=$i-120

done

rÓi thêm o¡n script này vào cronjob cça server à nó ch¡y të lúc 7 giÝ tÑi trß i. Hy vÍng sáng hôm sau khi tôi vào server s½ có sµn mÙt hÓ s¡ có tên là load n±m chÅm chÇ trong /tmp chÝ tôi xem xét. Tôi s½ dùng thông tin trong hÓ s¡ này à "v½" mÙt cái biÃu Ó Ã xem lúc cao iÃm vào ban êm, server load s½ lên tÛi bao nhiêu. Tôi cing muÑn xem méc gia tng cça server load có tính ch¥t th¿ nào (gia tng Ùt bi¿n hay gia tng leo thang...). Të ó s½ hình thành các b°Ûc th¯t ch·t và tÑi °u khác n¿u có thà °ãc. À, b¡n th¯c m¯c o¡n script ß trên làm gì? . Nó làm mÙt chuyÇn h¿t séc ¡n gi£n nh° sau: cé tr°Ûc khi script nó ngç mÙt gi¥c 120 giây, nó bèn:

- ch¡y lÇnh w (Ã l¥y thông tin server load)

- thông tin này °ãc awk tuyÃn lÍc chÉ l¥y cÙt sÑ 1, 10, 11 và 12

- sau khi l¥y °ãc thông tin này, nó bèn chép vào dòng k¿ ti¿p trong hÓ s¡ load trong th° måc /tmp

- trë bÛt trên bÙ ¿m i giá trË thÝi gian m×i l§n nó ngç 120 giây.

- nó l·p l¡i y hÇt các b°Ûc 90 l§n trong 3 giÝ Óng hÓ rÓi tñ... k¿t liÅu (vì ã hoàn t¥t vòng l·p).

Tôi l©m nh©m "à xem sñ thà ra sao!"

Các b¡n có thà theo dõi ti¿p ph§n 7 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/181.hva" \t "_blank" ây.

Chú thích:

-38- Tín hiÇu gßi i à xí lý process b±ng lÇnh kill. Tùy éng dång cça m×i *nix flavour. Trên linux nói chung, à bi¿t các tín hiÇu có thà dùng °ãc thí lÇnh kill -l. M×i tín hiÇu (signal) này °ãc gßi i s½ °ãc hàm signal() cça hÇ thÑng iÁu tác mà xí lý. Xem thêm man kill và các tài liÇu liên quan (°ãc Á c­p ¿n trong ph§n cuÑi cça kill manual).

-39- memory leak, tình tr¡ng rò rÉ bÙ nhÛ nói theo kiÃu nôm na. Tình tr¡ng memory sau khi ã dùng xong không thà l¥y l¡i °ãc à tái dång cho nhïng ho¡t Ùng khác trên hÇ thÑng nói theo kiÃu kù thu­t h¡n mÙt chút. Memory °ãc dùng nh° ch× chéa thông tin à mÙt ch°¡ng trình nào ó ho¡t Ùng. Có nhïng thông tin chÉ c§n ch× chéa t¡m thÝi và ng¯n h¡n. Sau khi ã tính toán xong và ã xí dång xong giá trË tính toán, "ch× chéa" này không °ãc c§n nïa, nÙi dung trong "ch× chéa" °ãc xoá bÏ và "ch× chéa" này °ãc tr°ng dång cho nhïng viÇc khác. Memory leak là tình tr¡ng "ch× chéa" không còn °ãc dùng nïa nh°ng không thà xoá à tr°ng dång cho viÇc khác, nhu liÇu bË memory leak cé ti¿p tåc òi thêm "ch× chéa" nh°ng không hÁ tr£ l¡i nhïng "ch× chéa" ci không còn c§n tÛi.

-40- process policy hay là quy ch¿ iÁu tác process. Linux iÁu tác process dña trên cn b£n "time slice", có ngh)a là các process °ãc °a vào "queue" (s¯p hàng) và tu§n tñ °ãc °a vào tình tr¡ng "runable" (có thà °ãc ch¡y), m×i process s½ °ãc c¡ hÙi vào ch¿ Ù "runnable". Tình tr¡ng runnable này °ãc "scheduler" (ng°Ýi s¯p x¿p thé tñ) s¯p x¿p và quy¿t Ënh, nó xét mÍi process n±m trong queue hiÇn có và quy¿t Ënh process nào áng °ãc °u tiên nh¥t thì process này có °u tiên cao nh¥t. Thông th°Ýng khi mÙt hÇ thÑng có nhiÁu process (xem nh°) có cùng °u tiên nh° nhau thì process nào éng §u trong running queue th°Ýng °ãc chÍn à ch¡y. Tuy nhiên, trong khi mÙt processs ang ch¡y, °u tiên cça các process còn l¡i trong queue có thà l¡i °ãc thay Õi tuó theo tình hình lúc ¥y và rÑt cuÙc mÍi process Áu có c¡ hÙi à ch¡y (còn °ãc bi¿t vÛi thu­t ngï "round-robin"), chÉ có chÝ lâu hay không mà thôi.

-41- mod_security ß HYPERLINK "http://www.modsecurity.org." \t "_blank" http://www.modsecurity.org. mod_security là mÙt nhu liÇu open source do Ivan Ristic vi¿t. Nó có tính nng g§n giÑng nh° tÕng hãp cça mÙt intrusion detection system và mÙt application layer firewall. Dù không a nng nh°ng nhïng nhu liÇu chuyên vÁ c£n lÍc hay phát hiÇn nh°ng mod_security là mÙt nhu liÇu tuyÇt vÝi à h× trã thêm vào nhïng c¡ ch¿ b£o vÇ hiÇn có trên hÇ thÑng. mod_security làm viÇc nh° mÙt t¥m bình phong, c£n lÍc mÍi request tr°Ûc khi th­t sñ i vào web server.

-42- regex hay regular expression. Ñi vÛi nhïng ai có nhu c§u ph£i ti¿p c­n vÛi nhïng v¥n Á c§n ph£i dùng "pattern matching" thì regex không có gì là mÛi m». Tuy nhiên, Ñi vÛi nhïng ai ch°a tëng có c¡ hÙi hay nhu c§u ph£i dùng ¿n regex thì tôi muÑn giÛi thiÇu nó ¿n b¡n nh° mÙt ph°¡ng tiÇn h¿t séc c§n thi¿t và quan trÍng cho ph°¡ng diÇn phân tích và éng dång b£o m­t. B¡n muÑn thu th­p nhïng thông tin hïu ích nh¥t và quan trÍng nh¥t theo ý muÑn të hàng "t¥n" log files? Íc thêm vÁ regex, mÙt trang tutorial r¥t hay ß: HYPERLINK "http://www.regular-expressions.info/tutorial.html" \t "_blank" http://www.regular-expressions.info/tutorial.html

-43- server load là giá trË trung bình cça sÑ l°ãng công viÇc i xuyên qua "job queue" °ãc xí lý trong kho£ng 5 phút, 15 phút và 30 phút. Ví då, server load có giá trË là 0.5 1.0 0.8 có ngh)a là:

- trong 5 phút có: 5 phút / 10 jobs = 0.5

- trong 15 phút có: 15 phút / 15 jobs = 1.0

- trong 30 phút có: 30 phút / 37.5 jobs = 0.8

ây là các con sÑ r¥t bình th°Ýng cho mÙt máy chç không b­n rÙn.

conmale(HVA)

Ký sñ các vå DDOS HVA ph§n 7

Sáng 15/10:

TÑi qua tôi quá b­n rÙn nên không có thÝi gian log vào HVA server xem tình hình ra sao. Sáng nay, ph£i vào công ty r¥t sÛm nên tôi có chút thÝi gian xem xét k¿t qu£ thâu l°ãm °ãc êm hôm tr°Ûc. Làm mÙt ly cà fê trong khi ãi máy khßi Ùng. Tôi ngÓi xuÑng gh¿ và b¯t §u log vào HVA server.

Trên console, tôi phóng ngay lÇnh §u tiên:

Code:

# cat /tmp/load | sort -rn | more

Chà, server load lên cao nh¥t là 7.20 lúc 23:35pm (giÝ server), giá trË này n±m sëng sïng ngay trên dòng §u tiên cça console sau khi ch¡y lÇnh trên. iÁu này có ngh)a të 23:27pm ¿n 23:42pm server ph£i thao tác ¿n 108 jobs (tính luôn c£ dËch vå web và nhïng dËch vå khác trên server trong kho£ng thÝi gian 15 phút à l¥y giá trË trung bình):

15 phút x 7.20 = 108 jobs

Tôi ti¿p tåc rà xuyên qua error log cça web server.... không có gì áng ng¡i ngoài nhïng c£nh báo v·t vãnh nh° hÓ s¡ này không tìm th¥y, hÓ s¡ kia không tÓn t¡i.... Ít ra tôi r¥t an tâm SIGFAULT không còn là mÑi quan ng¡i nïa. Web server hoàn toàn phåc vå các request úng theo dñ Ënh và úng ch¥t l°ãng.

Tôi hm hß rà ti¿p xuyên qua access log cça web server. Tôi thâu th­p giá trË access time -44- cça vài chåc l°ãt truy c­p trong web server log không theo thé tñ nào c£ (nh°ng trong kho£ng 2 giÝ bË "dÙi" n·ng nÁ nh¥t) à thí tính giá trË trung bình cça access time. iÁu tôi c§n bi¿t ß ây là web server phåc vå request ß méc Ù ra sao. Sau vài phút tính toán, tôi tìm °ãc giá trË trung bình cho access time là 3.25s. Chà! Ñi vÛi tôi, con sÑ nhÏ bé và d°Ýng nh° vô ngh)a kia l¡i là câu tr£ lÝi cå thà và §y ç h¡n b¥t cé câu tr£ lÝi ho·c gi£i thích nào. Nói cho cùng, ng°Ýi dùng truy c­p ¿n HVA server không c§n bi¿t server ang bË sñ cÑ gì. Công tác cça ng°Ýi qu£n lý và b£o trì máy chç là ph£i tÑi °u hoá kh£ nng ho¡t Ùng ngoài viÇc kiÇn toàn tính b£o m­t cça nó. N¿u nhìn theo ph°¡ng diÇn ng°Ýi dùng thì con sÑ 3.25s chÉ là chuyÇn nhanh ch­m. Nh°ng n¿u nhìn theo ph°¡ng diÇn quy trình ho¡t Ùng thì con sÑ 3.25s kia bao gÓm c£ mÙt chu×i công viÇc a t§ng tr°Ûc khi ng°Ýi dùng nh­n °ãc thông tin trên trình duyÇt cça hÍ. Tôi cho r±ng méc Ù access này hoàn toàn ch¥p nh­n °ãc nh¥t là trong khi server bË "¥m" liên miên.

Trß l¡i v¥n Á server load 7.20. Theo tôi °Ûc tính trong bài tr°Ûc thì trong kho£ng 2 giÝ cao iÃm, server s½ ph£i s£n xu¥t ra chëng 47 child processes n¿u dùng giá trË MaxRequestsPerChild là 256. Tuy nhiên, theo tính toán ß trên thì có ¿n 108 jobs x£y ra trong vòng 15 phút cao iÃm nh¥t dña trên giá trË server load là 7.2. 108 jobs này có thà bao gÓm các công viÇc mother process t¡o thêm child processes, mother process hçy child process... và hÇ thÑng iÁu tác các dËch vå khác. VÛi c°Ýng Ù DoS trong 2 giÝ cao iÃm thì có l½ chç y¿u sÑ child process °ãc t¡o thêm nhiÁu h¡n là bË hu÷. Lý do: sÑ l°ãng requests vào liên tåc nh° th¿ này s½ khó có thà có mÙt vài child processes éng yên và bË hu÷ -45-. Cé t¡m cho r±ng 40% sÑ l°ãng jobs ß ây dùng cho web service nói chung; nh° th¿ ta có thà áng chëng có kho£ng:

108 x 40% = 43 jobs dành cho web service.

Và n¿u cho r±ng các jobs này Áu dùng trong viÇc iÁu tác child process thì sÑ l°ãng job này s½ t°¡ng °¡ng vÛi viÇc ti¿p nh­n:

256 requests m×i child process x 43 = 11008 requests (A)

Nên bi¿t r±ng con sÑ 43 jobs ß trên chÉ là mÙt giá trË biÃu thË nh¥t thÝi cça kho£ng cao iÃm. Có thà trong 15 phút cao iÃm này có ¿n vài chåc child process °ãc t¡o ra vì sÑ l°ãng request lên quá cao nh°ng sau ó l°ãng request trß nên dung hoà. Þ tình tr¡ng dung hoà này, có thà chÉ có vài child process °ãc t¡o ra trong 15 phút k¿ ti¿p.

Tôi c§n ph£i xác thñc con sÑ 11008 requests này. Tôi c§n bi¿t có bao nhiêu ph§n trm con sÑ này ã dành à phåc vå cho ng°Ýi dùng hãp lÇ và tôi cing c§n bi¿t nó có t°¡ng éng vÛi nhïng thông tin snort ã b¯t giï ß t§ng th¥p h¡n hay không.

Hãy xem thí trong giÝ thé 21:00 cça ngày 14/10, snort ã phát hiÇn bao nhiêu qu£ x-flash:

Code:

# grep "10/14-21:" alert | grep "Flash" | wc - l

44945

Thí ti¿p cho giÝ thé 22:00 cça ngày 14/10:

Code:

# grep "10/14-22:" alert | grep "Flash" | wc - l

56635

TÕng sÑ:

44945 + 56635 = 101580 cú x-flash trong 2 giÝ 21:00 và 22:00.

Th­t khinh khçng! N¿u dña trên °Ûc oán r±ng firewall + snort triÇt tiêu chëng 65% - 75% các gói "x-flash", cé cho 65% cça 101580 bË triÇt të t§ng d°Ûi:

101580 x 65% = 66027 qu£

còn l¡i cho mod_security lo:

101580 - 66027 = 35553 qu£

n¿u v­y, trung bình trong 15 phút ã có:

(15 phút x 35553) / 120 phút = 4444 qu£ x-flash (B)

A ha! ã lÙ ra con sÑ tôi c§n °Ûc tính: n¿u sánh (A) và (B) thì th¥y k¿t qu£ r¥t có lý. Con sÑ 11008 cça (A) là tÕng sÑ request °ãc chi¿t tính të server load mÙt cách r¥t chç quan (vì tôi không thà xác Ënh °ãc chính xác bao nhiêu ph§n trm cça tÕng sÑ jobs server ã làm viÇc dành riêng cho web service). Con sÑ 4444 cça (B) là con sÑ các qu£ x-flash lÍt qua khÏi firewall connection limit và snort reset, i ¿n web server và bË mod_security "chÙp" °ãc.

Nh° v­y có:

11008 - 4444 = 6564 requests thuÙc diÇn hãp lÇ trong 15 phút.

v­y thì có:

( 6564 x 100 ) / 11008 = 59.629 % request thuÙc d¡ng hãp lÇ

100% - 59.629 % = 40.371% request thuÙc d¡ng x-flash

Hãy thí xem con sÑ x-flash tÕng quát cho c£ ngày hôm qua 14/10:

Code:

# grep "10/14" alert | grep "Flash" | wc -l

141423

Hëm... qu£ th­t hôm qua HVA bË DoS ghê gÛm h¡n vài ngày tr°Ûc ây nh°ng thñc t¿ các "cú ¥m" x-flash này chÉ t­p trung mÙt kho£ng thÝi gian nào ó. SÑ còn l¡i chÉ l» t».

141423 - 101580 = 39843.

39843 qu£ cho 22 giÝ còn l¡i cça c£ mÙt ngày qu£ th­t không là gì c£. Theo tôi, các con sÑ trên khá xác thñc. Bßi vì các snort signatures dùng à phát hiÇn "x-flash" °ãc iÁu chÉnh và tÑi °u hoá à nó phát hiÇn "x-flash" trong kho£ng thÝi gian ng¯n nh¥t có thà °ãc, cho nên con sÑ 141423 °ãc t°Ýng trình trong alert log không có gì áng à nghi v¥n.

V­y, nhìn xuyên qua các con sÑ thu th­p °ãc, tôi nên vui hay nên... buÓn?. T¥t nhiên là nên vui vì:

- tr°Ûc cuÙc t¥n công, server load chÉ n±m ß méc 0.5 - 1.2

- trong quá trình t¥n công và ß giai o¡n cao iÃm, server load lên ¿n 7.20 là méc tÑi a

- trong suÑt thÝi gian t¥n công, web server ã không tÑn quá nhiÁu thÝi gian và tài nguyên à t¡o thêm child processes

- 4444 requests °ãc web server ti¿p nh­n (të socket level lên ¿n child process level) nh°ng l¡i bË mod_security lo¡i bÏ. Hãy thí m°Ýng t°ãng 4444 requests Áu vào °ãc bên trong và database server ph£i nh­n ít nh¥t là 4444 "query" trong vòng 15 phút thì server load s½ lên tÛi con sÑ bao nhiêu?

Tôi oán ch¯c b¡n ã... mÇt nhoài vÛi hàng tràng phép tính ß trên. R¥t ti¿c tôi ph£i "lôi" b¡n vào cõi tính toán này bßi vì theo tôi, sÑ liÇu có giá trË vïng vàng h¡n b¥t cé mÙt c£m giác mang tính "hình nh° nhanh, hình nh° ch­m, hình nh° nhiÁu, hình nh° ít...". Th­t tình mà nói thì tôi ã i xuyên qua r¥t nhiÁu bài tính (nhiÁu h¡n ít nh¥t là g¥p ôi nhïng gì tôi trình bày ß ây, chç y¿u là Ã tho£ mãn tính tò mò cça b£n thân tôi).

RÓi sau ó........

Ngày 15/10:

Code:

# grep "10/15" alert | grep "Flash" | wc -l

129773

Ngày 16/10:

Code:

# grep "10/16" alert | grep "Flash" | wc -l

78881

Ngày 17/10:

Code:

# grep "10/17" alert | grep "Flash" | wc -l

12134

Có l½ ngày này thiên h¡ ít lên net?

Ngày 18/10:

Code:

# grep "10/18" alert | grep "Flash" | wc -l

33546

Ngày 19/10:

Code:

# grep "10/19" alert | grep "Flash" | wc -l

13179

Ngày 20/10:

Code:

# grep "10/20" alert | grep "Flash" | wc -l

5437

và cé th¿.... th°a d§n rÓi t¯t h³n.

Cho ¿n mÙt chiÁu ¹p trÝi ngày §u tháng 11. Tôi nh­n °ãc mÙt PM "kh©n" të JAL:

"Lão có ó không? Hình nh° server ang bË DoS!

Lúc ¥y là lúc tôi ang chu©n bË rÝi sß. Tôi gßi ngay cho JAL mÙt PM:

"OK bÓ, Ã tÛ dump mÙt mÛ packets xem thí có chuyÇn gì.

Và tôi log vào HVA server, ch¡y vài phút tcpdump -46- và copy k¿t qu£ vÁ laptop cça tôi. Trên tàu lía, tôi hm hß phóng ngay Ethereal -47-

B¡n oán xem chuyÇn gì x£y ra ây? Sñ thà ra sao, mÝi b¡n ón xem ph§n k¿ ti¿p v­y.

Các b¡n có thà theo dõi ti¿p ph§n 8 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/182.hva" \t "_blank" ây.

Chú thích:

-44- access time, thÝi gian mÙt request truy c­p ¿n server tính theo ¡n vË giây. Giá trË này không có sµn theo ch¿ Ù m·c Ënh trên các web server. à có thông tin c§n thi¿t vÁ access time, iÁu chÉnh log à t°Ýng trình thêm thông tin "access time" (h§u h¿t các web server òi hÏi iÁu chÉnh thêm mÛi có thông tin này).

-45- ch¿ Ù iÁu tác (t¡o child process, hçy child process) cça web server (mà HVA dùng) dña trên thu­t toán tÕng quát nh° sau:

- n¿u mother process nh­n th¥y sÑ l°ãng child process dñ bË (chÝ sµn) à ti¿p nh­n request có xu h°Ûng thi¿u cho nhu c§u hiÇn t¡i, nó ti¿p tåc t¡o thêm child process à sµn. Ví då, c¥u hình ho¡t Ùng éng Ënh có ít nh¥t là 5 child processes b¥t cé lúc nào. Ngay khi child process thé nh¥t cça 5 child process dñ bË b¯t §u ti¿p nh­n request thé nh¥t thì mother s½ t¡o ngay thêm mÙt child process mÛi à duy trì sÑ l°ãng 5 child process dñ bË. N¿u child process thé nhì trong sÑ 5 child proces cing b¯t §u ti¿p nh­n request §u tiên, mother process s½ ti¿p tåc t¡o thêm child process theo úng logic ã Ënh.

- n¿u mother process nh­n th¥y sÑ l°ãng child process dñ bË có xu h°Ûng bË thëa và cing dña trên cn b£n 5 child process dñ bË, nó s½ l§n l°ãt hçy bÛt các child process bË thëa (éng yên không phåc vå ai c£) cho ¿n khi sÑ l°ãng child process dñ bË °ãc duy trì theo úng ¥n Ënh.

Logic trên éng dång cho viÇc iÁu tác sÑ l°ãng child process phåc vå °ãc tho£ áng và cân b±ng. Nó tránh tr°Ýng hãp bË thi¿u child process à phåc vå, nó cing tránh tr°Ýng hãp quá d° child process làm hao phí tài nguyên cça máy chç mÙt cách vô ích.

-46- tcmpdump, mÙt công cå không thà thi¿u cho công tác phân tích gói tin. Không có mÙt tài liÇu nào liên quan ¿n security analysis mà không Á c­p ¿n tcpdump. Có thà t£i tcpdump vÁ të HYPERLINK "http://www.tcpdump.org/" \t "_blank" http://www.tcpdump.org/

-47- Ethereal, mÙt công cå phân tích giao théc m¡ng, mÙt công cå không thà thi¿u °ãc n¿u nh° ã dùng mÙt sniffer à b¯t các gói tin ß d¡ng binary. Có thà t£i Ethereal vÁ të HYPERLINK "http://www.ethereal.com/" \t "_blank" http://www.ethereal.com/

conmale(HVA)

Ký sñ các vå DDOS HVA ph§n 8

TÑi 01/11:

n tÑi xong, sau khi ra mÙt lô toán cho hai th±ng nhóc (con trai tôi) Ã chúng bÛt qu¥y r§y, tôi pha mÙt ¥m trà và mß laptop lên.

Lúc này tôi có ç thÝi gian à c©n th­n phân tích tëng tcp stream -48- khßi t¡o të m×i IP có chéa thông tin "x-flash-client" à phân tích các bi¿n thái cça chúng (n¿u có). Hãy xem thí o¡n HTTP header ã °ãc decode të mÙt chùm HEX thuÙc mÙt tcp stream:

Code:

GET /style_images/1/banner.swf HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

GET /style_images/1/rs_main_table_bottom.gif HTTP/1.1

Accept: */*

Referer: HYPERLINK "http://quangvinh-vn.net/" \t "_blank" http://quangvinh-vn.net/

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

GET /style_images/1/trans.gif HTTP/1.1

Accept: */*

Referer: HYPERLINK "http://quangvinh-vn.net/" \t "_blank" http://quangvinh-vn.net/

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

GET /style_images/1/extended_main_table_bottom.gif HTTP/1.1

Accept: */*

Referer: HYPERLINK "http://quangvinh-vn.net/" \t "_blank" http://quangvinh-vn.net/

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

GET /style_images/1/footer_expand.gif HTTP/1.1

Accept: */*

Referer: HYPERLINK "http://quangvinh-vn.net/" \t "_blank" http://quangvinh-vn.net/

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

GET /forum/?&time=0.13435 HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar4.5.3.0)

Host: quangvinh-vn.net

X-Forwarded-For: 203.210.194.254

Connection: Keep-Alive

Cache-Control: bypass-client=203.210.194.254

Chúng ta có thà th¥y °ãc nhïng gì hiÃn nhiên ß ây? úng rÓi:

- "x-flash-version"

- GET methods

- Connection: Keep-Alive

- Cache-control: bypass

- cùng GET các static images

iÁu tôi ph£i tñ g­t gù cing nh° nh¿ch mép c°Ýi khi i xuyên qua o¡n packet dump bé tí t¹o ó là: chç Ënh cça k» t¥n công. Tôi muÑn t­p trung phân tích tính ch¥t lo¡i t¥n công này trên t§ng web service vì chúng ta vëa i xuyên qua mÙt sÑ phân tích khá sâu ß t§ng này trong các bài tr°Ûc.

So vÛi l§n tr°Ûc (dùng POST), l§n này anh chàng ã tính toán kù l°áng h¡n, có cân nh¯c h¡n và nh¥t là có sáng t¡o h¡n. N¿u qu£ th­t anh chàng chËu khó Íc RFC Ã thay Õi d¡ng t¥n công thì ây là iÁu áng mëng (và cing áng buÓn). áng mëng vì chính b£n thân anh ta thâu g·t °ãc ki¿n théc vÁ giao théc HTTP sâu s¯c h¡n, áng buÓn vì anh chàng dùng nng lñc và trí thông minh cça mình cho mÙt måc ích không l¥y làm hïu dång. T¡i sao tôi tñ g­t gù và nh¿ch mép c°Ýi?

- thé nh¥t, suýt nïa tôi bË cái mÛ "x-flash" header kia ánh l¡c h°Ûng. Trong mÙt chu×i có vài trm tcp stream, các stream có header là "x-flash" chÉ chi¿m chëng 1/2 tÕng sÑ, 1/2 còn l¡i có y hÇt tính ch¥t nh°ng không hÁ có v°Ûng mÙt m£y "x-flash" trong suÑt tcp stream. iÁu này cho th¥y, k» t¥n công không ¡n thu§n "nh¯m m¯t phang ¡i" ¿n HVA mà có theo dõi và Ënh h°Ûng rõ ràng. Nói vÁ m·t phòng thç thì các HTTP header có mang "x-flash" hay không mang HTTP header "x-flash" dù có vuÙt khÏi snort cing v«n bË giÛi h¡n connection limit cça firewall kiÁm ch¿ tÑi a. Các gói tin này khi lên ¿n application layer và n¿u có mang "x-flash" header, khi ång ph£i mod_security v«n bË rång l£ t£. Tuy nhiên, mÙt nía các tcp stream khác có y hÇt tính ch¥t nh°ng không mang "x-flash" header cå thà thì không còn bË snort và mod_security kiÁm ch¿ nïa, chÉ có connection limit trên firewall là còn tác dång. N¿u tôi chç quan và phi¿n diÇn thì ã à vuÙt mÙt sÑ l°ãng áng kà các gói tin không có x-flash header i vào mà không có biÇn pháp thích éng ngay l­p téc.

- thé nhì, POST method °ãc dùng tr°Ûc ây có cái lãi là nó t¡o £nh h°ßng trñc ti¿p và n·ng nÁ ¿n web server, nh°ng cing có cái h¡i là nó quá cÓng kÁnh vì ph£i dùng nhiÁu gói "continuation" à hoàn t¥t mÙt l°ãt gßi. iÃm h¡n ch¿ lÛn nh¥t cça POST payload dài d±ng d·c là sñ ch­m trÅ trong viÇc chuyÃn t£i các gói tin °ãc x» nhÏ ra à hoàn t¥t l°ãt gßi. Dång ý dùng GET method hiÃn nhiên là à kh¯c phåc "cái h¡i" trên: hoàn t¥t m×i cú gßi càng nhanh càng tÑt. B¡n có thà th¯c m¯c "sao v­y?". Theo tôi, ây là mÙt d¡ng "flood" à chi¿m sockets trên máy chç, nó khác vÛi SYN FLOOD kiÃu truyÁn thÑng là nó có ç "bÙ lÇ" 3-way hand shakes, ACK-PSH à ©y gói tin i ¿n ích th­t nhanh và rÓi nó k¿t thúc b±ng FIN. VÛi lÑi gßi tin này, firewall không thà x¿p h¡ng nó là SYN-FLOOD kiÃu truyÁn thÑng -49- à c£n nó mà ph£i mß rÙng cía à ón nó vào nh° mÙt request hoàn toàn hãp lÇ.

- thé ba, n¿u anh chàng t¥n công này ã quy¿t Ënh GET static image mà không "kiÇn toàn" mÙt chi ti¿t h¿t séc quan trÍng thì cuÙc t¥n công cça anh ta s½ Õ vá: ra lÇnh proxy server l¥y b£n nguyên thu÷ të HVA server. Lý do r¥t ¡n gi£n: n¿u anh ta gßi 1000 cái GET trong mÙt giây mà không lo ¿n ph°¡ng diÇn cache thì sao? thì proxy server nào ó éng tr°Ûc máy con gßi GET request kia s½ dùng thông tin có sµn trong cache à tr£ lÝi (thay vì i ¿n t­n HVA server à l¥y mÙt lo¡t .gif, .swf images nguyên thçy). N¿u chuyÇn này x£y ra thì sao? Thì hiÃn nhiên là anh ta ang tñ DoS cái proxy server mà anh ta dùng. Theo tôi, t¥n công theo d¡ng này mà không có suy t° và phân tích thì c¡ hÙi bË v°Ûng vào l×i này r¥t cao.

Ti¿c thay (và cing may thay cho HVA), directive Cache-Control: bypass-client=xxx.xxx.xxx.xxx °ãc dùng ß ây hoàn toàn vô tác dång vÛi ý Ënh c§n ph£i bypass cache server. Theo RFC cça giao théc HTTP -50-, directive cache-control không hÁ có chÍn lña "bypass-client". Theo tôi, ây là mÙt d¡ng éng dång non-standard (phi tiêu chu©n) nào ó cho HTTP header option. N¿u qu£ th­t tác gi£ cça cuÙc t¥n công này muÑn "by pass" các proxy server trên °Ýng i të máy cça anh ta ¿n HVA server, anh ta ph£i dùng directive Cache-Control: no-cache úng theo éng dång cho HTTP/1.1 nh° trong ví då trên. N¿u không, các request ti¿p theo cing cùng òi hÏi b¥y nhiêu static images s½ "bË" proxy server nào éng giïa máy anh chàng và HVA server cung c¥p cho "b£n sao" ã °ãc l°u giï trong cache cça proxy server. Có thà k» t¥n công HVA ã tính sai? có thà anh chàng cing không hÁ tính toán? cing có thà anh chàng còn "cao cÝ" h¡n mÙt b­c?

N¿u b¡n quay ng°ãc l¡i ph§n thé nhì cça bài vi¿t này, b¡n s½ th¥y directive cache-control h¡i khác h¡n lúc này ß ch× nó có ¥n Ënh no-cache và ây là iÃm quan trÍng n¿u måc tiêu là à "©y" dï liÇu ¿n máy chç HVA. iÃm cao cÝ h¡n mÙt b­c ß ây là anh chàng "m°ãn tay" (các) proxy server à t¡o socket connection trên HVA server. Cho dù proxy server s½ cung c¥p b£n "cache" nó có sµn nh°ng theo úng thu­t toán caching thông dång (common caching algorithm) thì proxy server v«n ph£i liên hÇ vÛi server nguyên thçy (HVA server trong tr°Ýng hãp này) à thí so sánh b£n ã cache và b£n hiÇn có trên HVA server xem chúng có khác nhau không. N¿u chúng khác nhau, proxy server t£i b£n mÛi nh¥t vÁ, cung c¥p b£n mÛi nh¥t này cho client nào request (máy cça tay t¥n công HVA trong tr°Ýng hãp này) và l°u b£n mÛi nh¥t này trong cache. V­y "cao cÝ" ß ây là sao? là ß ch× anh chàng chÉ muÑn mß socket dÓn d­p trên HVA server, dï liÇu th­t sñ s½ °ãc proxy server cung c¥p (të b£n ã cache) và nhïng request ¿n HVA server xuyên qua proxy server chÉ là các cú connection nhanh gÍn. Gßi request të máy anh chàng ¿n proxy server "tiÇn" và "g§n" h¡n là gßi trñc ti¿p ¿n HVA server (xa và ch­m h¡n). Anh chàng "sai khi¿n" proxy server i o¡n °Ýng xa và lo liÇu mÛ request th­t sñ. N¿u qu£ th­t ây là dång ý cça k» DoS HVA thì tay này ã tính toán và suy ngh) r¥t kù l°áng.

- thé t°, "keep alive" connection -51-. Theo tôi, anh chàng éng dång cái "keep alive" này vëa tác dång, vëa ph£n tác dång. Tác dång ß ch× nó giï nguyên connection hiÇn có và ti¿p tåc "©y" các GET request à ti¿p tåc "l¥y" các static images qua connection này. Làm nh° th¿ thì m×i cú truy c­p à hoàn t¥t chóng vánh vì nó không ãi cho web server mß thêm connection mÛi à "©y" các static images khác i ¿n server. Ph£n tác dång ß ch×, vì nó "keep alive" nên r¥t ít socket °ãc mß thêm. Dång ích dùng GET nh° tôi suy oán ß trên là t¡o mÙt d¡ng FLOOD à chi¿m sockets nh°ng anh chàng l¡i "ra lÇnh" cho nó "©y" 6 cái GET (ß trên) xuyên qua mÙt socket thì còn gì là "chi¿m socket"?. Cho nên, måc ích "chi¿m socket" này bË vô tình giÛi h¡n mÙt cách áng kÃ, nó chÉ còn phå thuÙc và tÑc Ù và m­t Ù gßi GET à t¡o £nh h°ßng ¿n HVA server.

- thé nm, mÍi GET request à l¥y các static images nh° gif files, flash file... Áu °ãc thi¿t k¿ mÙt cách chính xác và tÉ mÉ °Ýng d«n. Lý do t¡i sao °Ýng d«n l¡i quan trÍng ¿n th¿? bßi vì nh° ã phân tích ß trên, dång ích cça k» t¥n công là "©y" các GET request này ¿n HVA server càng nhanh càng tÑt. N¿u mÙt trong các °Ýng d«n ¿n static image bË sai thì s½ bË web server báo l×i ng°ãc l¡i. M×i cú "báo l×i" này là mÙt cú "oánh ng°ãc" l¡i nguÓn gßi và làm ch­m cuÙc t¥n công. Càng bË báo l×i nhiÁu, cuÙc t¥n công càng m¥t tác dång và máy con gßi request càng dÓn d­p s½ càng bË "flood" ng°ãc l¡i. Ngo¡i trë nguÓn IP dùng à gßi i là các "spoofed IP" thì không kà vì các ãt báo l×i s½ i vÁ các spoofed IP thay vì vÁ IP cça máy gßi request nguyên thçy.

V­y, vÛi nm iÃm làm tôi "g­t gù" cing nh° "nh¿ch mép" ß trên, iÃm nào có v» t¡o £nh h°ßng lÛn nh¥t ¿n HVA server? Câu tr£ lÝi quá hiÃn nhiên b¡n nhÉ? ó là các gói tin mang y hÇt tính ch¥t các cú GET "x-flash" nh°ng l¡i hoàn toàn không mang "x-flash" header. Có hai gi£ thuy¿t °ãc ·t ra:

1) tay t¥n công HVA thi¿t l­p mÙt nía sÑ l°ãng GET có "x-flash" header và sÑ còn l¡i không có "x-flash" header.

2) tay t¥n công HVA thi¿t l­p 100% sÑ l°ãng GET có "x-flash" header nh°ng mÙt nía sÑ này khi i xuyên qua mÙt vài proxy server nào ó, chúng bË "lÙt" m¥t cái header (nh° d¡ng anonymous proxy -52-).

Dù cÑ tình hay ng«u nhiên, nhïng cú GET i vào và không °ãc nh­n diÇn nh° các "x-flash" ã t¡o mÙt sÑ £nh h°ßng áng kà ¿n máy chç HVA. Hãy thí phân tích các iÃm cÑt lõi ã t¡o £nh h°ßng.

- gi£ sí có 1000 cú không mang "x-flash" header i ¿n HVA server trong mÙt giây. S½ có bao nhiêu cú i lÍt vào? Cái này còn tùy vào mÙt y¿u tÑ chính là các cú GET ¿n HVA server të 1 hay nhiÁu IP address khác nhau.

a. N¿u 1000 cú này i ¿n të mÙt IP thì chÉ có 6 cú có thà i vào theo nguyên t¯c connection limit ß trên. Tôi dùng chï "có thÃ" ß ây vì có thà ngay lúc các cú GET °ãc gßi i cing có vài ng°Ýi nào ó cing ang truy c­p HVA và cing dùng chung mÙt proxy server nh°ng nhïng ng°Ýi này gßi request tr°Ûc mÙt tí. N¿u v­y, sÑ ph­n cça 994 cú còn l¡i ra sao? Chúng có thà °ãc retry, chúng có thà bË timeout và bË hu÷, chúng cing có thà i vào ¿n HVA server. Cái này cing còn phå thuÙc nhiÁu y¿u tÑ nh°ng y¿u tÑ quan trÍng nh¥t là HVA server ti¿p nh­n bao nhiêu cú retries, bao nhiêu cú °ãc ti¿p nh­n và chÝ phiên mình. Nhïng chi ti¿t này ph£i °ãc iÁu chÉnh ß kernel level trên firewall cça HVA và giá trË th¿ nào thì... không thà công bÑ °ãc; b¡n chÉ c§n n¯m khái niÇm là th¿. H¡n nïa, nhïng giá trË này °ãc iÁu chÉnh theo nguyên t¯c random (ng«u nhiên) nên cing khó mà xác Ënh °ãc chính xác à công bÑ.

b. N¿u 1000 cú này i ¿n të nhiÁu IP thì sÑ l°ãng GET i vào °ãc HVA server s½ gia tng dña trên nguyên t¯c connection limit theo IP. Cé cho 1 IP °ãc dùng 6 connections trong mÙt lúc, v­y, n¿u anh chàng này dùng 20 cái proxy servers (20 IP addresses) ch³ng h¡n thì sao?

20 x 6 = 120 connections

nh°ng vì các GET request "¥n Ënh" dùng keep-alive nên m×i tcp stream chÉ dùng mÙt socket. Bßi th¿, 120 connections chi¿m 120 sockets.

VÁ phía máy chç HVA, à có thà b£o hoà (saturate) socket pool cça HVA server n¿u nh° máy chç HVA ã °ãc ¥n Ënh mß và ti¿p nh­n 32000 sockets (ch³ng h¡n) thì anh chàng "x-flash" s½ c§n bao nhiêu proxy server?

32000 / 6 = 5333 proxy

Cha ch£, n¿u anh chàng huy Ùng °ãc trên nm ngàn cái proxy server thì HVA bË nguy to. Tuy nhiên, ng°ãc l¡i máy con t¡o ra d¡ng DoS này cing không m¥y "êm ¥m" n¿u sÑ l°ãng request khÕng lÓ này °ãc gßi i và sÑ l°ãng hÓi báo quay trß vÁ chính máy t¡o request. Tôi tin ch¯c máy này s½ "ch¿t" é ë à ti¿p nh­n hÓi báo. Th­t sñ hiÇn t°ãng hÓi báo này hoàn toàn hãp lÇ và hiÃn nhiên: c§n nhiÁu request thì nh­n nhiÁu hÓi báo. N¿u ây là mÙt d¡ng t¥n công m°ãn tay ng°Ýi dùng trình duyÇt à gßi GET thì ch¯c ch¯n nó s½ làm ch­m hàng lo¡t ng°Ýi dùng vì sÑ l°ãng hÓi báo.

Tôi °a ra các con sÑ trên chÉ Ã minh ho¡ d¡ng DoS GET này c§n ph£i có t§m cá nào à có thà dung h¡i ¿n HVA server. Thñc t¿ con sÑ sockets HVA ti¿p nh­n là bao nhiêu thì r¥t ti¿c... không thà trình bày °ãc ß ây. Thñc t¿ à có thà huy Ùng trên 5000 proxy server cing là iÁu... không t°ßng và nh¥t là ph£i huy Ùng các proxy server có sÑ hop ng¯n nh¥t à i ¿n HVA server. N¿u không, måc ích flood sockets không còn m¥y hiÇu qu£.

B¡n có thà th¯c m¯c vÁ gi£i pháp kiÁm ch¿ các cú "GET" mÛi m» này. Nh° ã phân tích, có hai nhóm "GET" khác nhau i vào HVA server:

- Ñi vÛi nhóm GET có x-flash header, tôi chÉ "th¯t ch·t" b±ng cách thêm vào vài cái signatures cho snort, t°¡ng tñ nh° sau:

Code:

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (flags: PA; msg:"GET Null hex - Flash attack HVA - flash"; flow:to_server; content: "|78 2D 66 6C 61 73 68 2D 76 65 72 73 69 6F 6E|"; offset:60; depth:70; classtype:attempted-NullDataGET; resp:rst_all; resp:rst_all; resp:rst_all; react:block;)

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (flags: PA; msg:"GET Null hex - Flash attack HVA - flash"; flow:to_server; content: "|47 45 54|"; content: "|78 2D 66 6C 61 73 68 2D 76 65 72 73 69 6F 6E|"; offset:60; depth:70; classtype:attempted-NullDataGET; resp:rst_all; resp:rst_all; resp:rst_all; react:block;)

B¡n thí "decode" hai signatures trên à xem nó làm cái gì cho nhÙn :), tôi s½ không mß rÙng thêm vÁ snort signature ß ây.

- Ñi vÛi nhóm GET không có "x-flash" header, th­t ra không c§n ph£i thay Õi gì thêm cing không £nh h°ßng n·ng nÁ nh° POST ¿n HVA server vì các cú GET này chÉ l¥y static images và không hÁ "ång" m£y may ¿n database query nên £nh h°ßng áng kà là £nh h°ßng trên socket. Ñi vÛi web server, con sÑ MaxRequestPerChild c§n thay Õi à m×i child process ti¿p nh­n nhiÁu request h¡n bình th°Ýng (xem bài tr°Ûc). Måc ích là à tránh tr°Ýng hãp chúng bË hçy quá nhanh (vì có quá nhiÁu GET request i vào) vì m×i l§n bË hçy, mother process ph£i t¡o thêm child process và làm gia tng server load n¿u chúng °ãc t¡o quá th°Ýng xuyên. Ñi vÛi kernel socket, các giá trË nh° max_orphan, syn_back_log, timeout, tcp_mem, keepalive_time.... c§n °ãc iÁu chÉnh à gia tng c¡ hÙi nh­n SYN và gi£i quy¿t SYN. Server load s½ tng nh°ng ây là viÇc c§n thi¿t à b£o toàn c¡ hÙi truy c­p cho ng°Ýi dùng hãp lÇ (ß méc tÑi a tài nguyên cho phép). Ngoài các thay Õi này, tôi còn có thêm mÙt gi£i pháp phòng bË nh°ng tôi ã không éng Ùng nó mà chÉ cài sµn và à yên ó cho nên miÅn bàn thêm gi£i pháp phòng bË này.

Trong 6 cái GET cça ví då trên có mÙt cái GET r¥t ·c biÇt:

Code:

GET /forum/?&time=0.13435 HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar4.5.3.0)

Host: quangvinh-vn.net

X-Forwarded-For: 203.210.194.254

Connection: Keep-Alive

Cache-Control: bypass-client=203.210.194.254

Trong cùng mÙt tcp stream, Ùt nhiên xu¥t hiÇn "anh chàng" này. Nó ch³ng GET static images nh° các cú GET kia mà l¡i GET mÙt URI r¥t... kó quái: /forum/?&time=0.13435. Cú GET này thuÙc mÙt sequence ti¿p nÑi trong cùng tcp stream nh°ng nó l¡i forward cho máy con có IP là 203.210.194.254 và cing cùng i qua gateway có IP là 203.160.1.66. Bßi l½ nó là mÙt sequence thuÙc mÙt tcp stream hãp lÇ (và °ãc cho phép vào theo quy ch¿ connection limit) nên cú GET này v«n ång ¿n web server. ChuyÇn hiÃn nhiên s½ x£y ra ti¿p theo ó là web server cça HVA s½ báo l×i "không tìm th¥y" vì cú GET này trÏ vào mÙt URI không tÓn t¡i. Cing nh° các cú GET khác trong cùng tcp stream, cú GET này có dång ích không gì khác ngoài viÇc t¡o thêm socket trên HVA server.

i xuyên qua các tcp stream ang phân tích, tôi chÉ th¥y lác ác chëng mÙt tá các cú GET t°¡ng tñ. Tôi ã không cho nhïng cú GET này quan trÍng nh°ng ây là l§n §u tiên tôi phán oán sai kà të lúc b¯t tay vào phân tích các d¡ng DoS trên HVA. Të k¿t qu£ phán oán sai, tôi ã không phòng thç tr°Ûc. Trong suÑt vài ngày k¿ ti¿p, HVA server bË t¥n công chÉ vÛi lo¡i GET có URI "/forum/?&time" này. Tôi ã hÍc bài hÍc không bÏ qua b¥t cé mÙt chi ti¿t áng ngÝ nào v­y mà l§n này tôi ã sai ph¡m nguyên t¯c cn b£n này à rÓi v¥t v£ trong m¥y ngày tÛi.

Sñ thà ra sao, mÝi b¡n xem ti¿p kó sau.

Các b¡n có thà theo dõi ti¿p ph§n 9 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/209.hva" \t "_blank" ây.

Chú thích:

-48- "tcp stream", b¡n h³n ã n¯m °ãc tcp stream là gì. Tuy nhiên, à tránh nh§m l«n giïa nhiÁu khái niÇm và thu­t ngï trong bài, tôi quy¿t Ënh °a thêm chú thích vÁ "tcp stream" ß ây. tcp stream là mÙt "xu¥t" giao ti¿p giïa client và server. Nó b¯t §u b±ng SYN request të client và k¿t thúc b±ng FIN cing të client n¿u "xu¥t" giao ti¿p này thñc hiÇn úng quy cách. "Xu¥t" giao ti¿p này có thà chéa nhiÁu sequences mang các tcp flags khác nhau trong quá trình trao Õi giïa client và server và m×i sequence të m×i phía (client ho·c server) là mÙt "entry" cça tcp stream.

-49- SYN FLOOD là mÙt d¡ng denial of service r¥t phÕ bi¿n të giïa ¿n cuÑi th­p niên 90. Cho ¿n nay, thÉnh tho£ng SYN FLOOD v«n còn xu¥t hiÇn r£i rác m·c dù các hÇ iÁu hành, routers, firewall ngày nay ã nâng cao à lo¡i trë d¡ng DoS cÕ iÃn này. TÕng quát mà nói, d¡ng SYN FLOOD "truyÁn thÑng" lãi dång tính ch¥t (và cing có thà là iÃm y¿u) cça giao théc TCP IPv4 à t¥n công. K» t¥n công gßi hàng lo¡t SYN request ¿n máy chç cça n¡n nhân nh°ng sau khi nh­n °ãc SYN-ACK të máy chç, nó không bao giÝ gßi vÁ gói ACK à hoàn t¥t 3-way handshake. iÁu này làm cho máy chç không thà ti¿p nh­n thêm connection sau mÙt kho£ng thÝi gian ng¯n vì connection queue cça nó bË §y é do chÝ ãi gói ACK hÓi áp të client. Trong tr°Ýng hãp SYN FLOOD kéo dài, hÇ thÑng s½ bË c¡n tài nguyên (bÙ nhÛ) vì ph£i huy Ùng quá nhiÁu memory cho socket pool và connection queue.

-50- Íc thêm RFC 2068 và RFC 2616 trên website HYPERLINK "http://www.rfc.org" \t "_blank" http://www.rfc.org n¿u b¡n muÑn i sâu vào chi ti¿t tính nng và tác dång cça các HTTP headers.

-51- Keep-alive connection theo úng tiêu chu©n °a ra trong RFC là mÙt ph°¡ng tiÇn à bi¿n tính "stateless" cça giao théc HTTP trß nên hiÇu éng h¡n. úng theo nguyên t¯c, m×i objects °ãc request ¿n server và °ãc tr£ vÁ të server Áu c§n ph£i có connection mÛi. Ví då, trên mÙt trang có 10 béc hình gif, thông th°Ýng giïa trình duyÇt và web server ph£i t¡o ra 10 connection riêng biÇt cho m×i cú GET à l¥y hình (vì m×i béc hình có href (°Ýng d«n) riêng và Ñi vÛi trình duyÇt, chúng có URI khác nhau). Tuy nhiên, "keep-alive" òi hÏi server và client giï nguyên mÙt connection ã hình thành të §u à ti¿p tåc chuyÃn gßi các gif files i thay vì ph£i mß thêm connection mÛi. Làm th¿ này giúp gi£m thiÃu quy o¡n t¡o thêm sockets cho các trang web lÛn, có nhiÁu hình £nh. Làm th¿ này cing có cái h¡i là vÛi mÙt connection ã thi¿t l­p, client có thà request hàng "t¥n" dï liÇu và server ph£i ngoan ngoãn phåc vå không ngëng nghÉ (t°¡ng tñ nh° tình tr¡ng dùng teleport ho·c wget à "rút ruÙt" mÙt trang web), d«n ¿n tình tr¡ng quá t£i máy chç n¿u quá trình "rút ruÙt" này tác Ùng trñc ti¿p ¿n các dËch vå xung quanh web service.

Giá trË "keep-alive" nên °ãc cân nh¯c kù n¿u muÑn tÑi °u hoá web server vì nó là con dao hai l°ái.

- N¿u b¡n cho phép mß nhiÁu socket trên server (không dùng quy ch¿ connection limit nào ó) thì không nên dùng "keep-alive" vì nó t¡o load theo méc c¥p sÑ ¿n server (vì nhiÁu sockets + nhiÁu keep-alive).

- N¿u b¡n giÛi h¡n sockets trên server (dùng quy ch¿ connection limit nào ó) thì b¡n có thà dùng "keep-alive" nh°ng ph£i tính toán giá trË thÝi gian thích hãp à "keep-alive" tùy theo nÙi dung và Ù lÛn (chï và hình £nh) cça m×i trang.

Cách tÑi °u hoá hay nh¥t là tính sao cho m×i trang duyÇt chÉ c§n mÙt socket và ç thÝi gian "keep-alive" Ã trình duyÇt t£i vÁ.

-52- Có hai khái niÇm vÁ "anonymous proxy":

- mÙt d¡ng proxy khi client dùng nó Ã duyÇt web s½ °ãc "lÙt" bÏ h¿t các header cá biÇt cça trình duyÇt mà client (có / dùng) gßi ¿n proxy server. Các gói tin i xuyên d¡ng proxy này s½ không còn mÙt ·c tính cá biÇt nào c£ ngoài nhïng gì proxy trang bË cho nó.

- mÙt khái niÇm khác vÁ anonymous proxy không thuÙc tinh th§n "anonymous" ang Á c­p trong bài vi¿t. ó là mÙt d¡ng proxy khi dùng nó không c§n ph£i khai báo tên ng°Ýi dùng và m­t kh©u. Lo¡i proxy này t°¡ng ph£n vÛi "user proxy", nó buÙc ng°Ýi dùng ph£i khai báo. Lo¡i "anonymous proxy" và "user proxy" này Áu có thà có tính nng "lÙt bÏ" các header cá biÇt cça trình duyÇt nh° d¡ng ß trên.

Prof(HVA)

Ký sñ các vå DDoS ¿n HVA - Ph§n 9

ChiÁu 2/11:

Hôm nay tôi b­n rÙn kinh khçng nên không vào HVA. Mãi ¿n lúc g§n tan sß, tôi mÛi log vào diÅn àn à l°Ût nhanh qua xem có måc gì mÛi và h¥p d«n không. iÁu §u tiên tôi nh­n ra là truy c­p ¿n diÅn àn HVA cñc ch­m. Tôi nh­n °ãc vài cái PM trong ó có hai cái të JAL. JAL cho bi¿t là diÅn àn bË DoS liên tåc të khuya hôm qua ¿n bây giÝ, JAL cing ã nh­n Ënh r±ng các cú GET ß d¡ng /forum/?&time=0.13435 có l½ là các t¥n công hiÇn ang x£y ra trên diÅn àn. Tôi vÙi log vào HVA server à xem xét tình hình.

Ngay khi t¡o cái uôi tail §u tiên ¿n web server log cça HVA, tôi choáng váng vì tÑc Ù dÓn d­p cça lo¡i GET trên. Bßi web server log không có kh£ nng t°Ýng trình các chi ti¿t c§n thi¿t à ánh giá lo¡t t¥n công hiÇn ang x£y ra, tôi ch¡y ngay mÙt phát tcpdump và chÍn option ra lÇnh cho tcpdump ghi nh­n §y ç h¿t t¥t c£ các thông tin hàm chéa trong mÍi t§ng giao théc -53-. Sau vài phút, tôi hÑi h£ t£i mÛ "dump" này vÁ laptop, tiÇn tay sao chép luôn cái log cça web server. Sau ó, tôi iÁu chÉnh cho firewall gi£m bÛt sÑ l°ãng connection cho phép à t¡m gi£m thiÃu Ù t£i cça server và phóng ngay ra cía cho kËp chuy¿n tàu vÁ nhà.

Trên tàu lía, tôi mß o¡n dump vëa t¡o ra à xem xét sñ thÃ. Dán ch·t ôi m¯t vào màn hình cça laptop, tôi th­t sñ choáng khi nhìn th¥y nÙi dung cça mÛ tcpdump vëa l¥y °ãc lúc nãy. Tôi tñ rça mình không ngÛt vì ã xem nh¹ m¥y cái /forum/?&time=0.xxxxx ngày hôm qua nh°ng l¡i tñ an çi là ã th¯t ch·t connection limit tr°Ûc khi rÝi sß. D«u HVA server không bË "xåm" i chng nïa thì bà con thành viên muÑn vào diÅn àn cing s½ r¥t khÕ sß vì sÑ l°ãng GET theo d¡ng này có con sÑ kinh khçng. Theo tính toán s¡ khßi, tôi °Ûc tính có chëng x¥p xÉ trên d°Ûi 1200 SYN request m×i giây ¿n HVA server và các cú SYN này hoàn toàn hãp lÇ vì nó hÓi báo b±ng cú ACK rÓi ti¿p tåc dùng ASK-PSH à ©y cú GET ¿n web server. iÁu áng nói là h¡n mÙt nía request d¡ng này hoàn toàn không có "x-flash" header và c¥u trúc HTTP header °ãc gßi ¿n r¥t ¡n gi£n:

Code:

GET /forum/?&time=0.05536 HTTP/1.1

Accept: */*

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: quangvinh-vn.net

Connection: Keep-Alive

Có nhïng iÁu áng nói mÙt cách tÕng quát ß ây là:

1. Giá trË /forum/?&time=x.xxxxx hoàn toàn ng«n nhiên (random). Tôi cho r±ng tính random ß ây có dång ý à ánh lëa nhïng c¡ ch¿ detect dña trên pattern. N¿u mÙt c¡ ch¿ c£n lÍc quá cå thà cho tëng URI nh° d¡ng /forum/?&time=0.05535 thì s½ trß nên vô ích vì nó ch³ng "match" gì c£ và chúng có thà tñ do i vào.

2. Giá trË Connection: Keep-alive l§n này có tác dång rõ rÇt vì nó không c§n mß nhiÁu sockets, nó chÉ c§n dùng socket ã °ãc mß và cé th¿ mà gßi /forum/?&time=x.xxxxx vÛi giá trË x.xxxxx thay Õi ng«u nhiên. iÃm £nh h°ßng n·ng nÁ Ñi vÛi firewall cça HVA ß ch× cé m×i IP chÉ c§n 1 connection (trong 6 connection cho phép) ã ç à liên tåc gßi GET request. GiÛi h¡n 6 connections ß ây trß nên thëa thãi n¿u dña trên nguyên t¯c này. Th­t t¿ c£ 6 connection cho phép ã °ãc t­n dång triÇt Ã. Bßi th¿ mÛi có trên d°Ûi 1200 SYN x£y ra trong 1 giây. Tôi không rõ giá trË "keep-alive" này °ãc "chç nhân" cça chúng ¥n Ënh rõ ràng hay vô tình mà gán cho chúng. N¿u qu£ th­t ây là mÙt dång ý cå thà thì ph£i nói r±ng kh£ nng cân nh¯c và chu©n bË cho viÇc t¥n công HVA l§n này khác r¥t xa nhïng l§n tr°Ûc.

3. Các cú GET này không mang "x-flash" header cho nên nó qua khÏi snort và mod_security dÅ dàng. Tôi không rõ là chúng có bË mÙt proxy server nào éng tr°Ûc "lÙt" m¥t cái header hay không vì không có gì chéng mình iÁu này. Tuy nhiên, chuyÇn này r¥t có thà có vì viÇc thñc hiÇn "anonymize" -54- cça proxy nào ó có thà "lÙt" các header ¿n méc Ù không còn d¥u tích gì (ngay c£ d¥u tích cça chính proxy server thñc hiÇn chuyÇn "lÙt").

4. Song song vÛi các cú GET vÛi URI "ng«u nhiên" nh° trên, hàng lo¡t các cú GET ¿n cái banner swf cing Óng thÝi x£y ra và chÉ có GET cái banner ¥y mà thôi. Theo tôi, ây là ãt t¥n công tÕng hãp, liên hoàn, cÑ tình làm tê liÇt mÍi tài nguyên cça máy chç HVA: GET HVA banner à t¡o load trên bình diÇn static image và chi¿m socket, GET URI "ng«u nhiên" à t¡o load trên máy chç trên bình diÇn tác Ùng ¿n database.

Ñi vÛi mÙt shared hosting server bình th°Ýng nào ó, chÉ c§n 1/3 khÑi l°ãng "c¡n li" này cing ç °a server ¥y i nghÉ mát n¿u c¡ ch¿ phòng thç server này không ch·t ch½. Có l½ b¡n v«n còn th¯c m¯c t¡i sao 4 iÃm trên l¡i kinh khçng ¿n nh° v­y? Tôi s½ cÑ g¯ng gi£i thích trong giÛi h¡n cho phép nh° sau:

1. £nh h°ßng cça URI ng«u nhiên:

MÙt request ß d¡ng http://www.hvaonline.net/forum/?&time=0.05536 s½ i qua ba giai o¡n:

- qua FW: passed - bßi vì nó hoàn toàn hãp lÇ

- qua snort: passed - bßi vì nó không match cái gì c£

- qua mod_security: passed - bßi vì nó không match gì c£ luôn

Khi lên ¿n t§ng web server, có m¥y chuyÇn x£y ra:

- tr°Ûc tiên web server vui v» ti¿p nh­n vì nó nh­n th¥y cú request này ch³ng có gì sai c£, có l½ request ß d¡ng thuÙc ph§n hành php lo. Bßi th¿, web server nh­n l¥y và chuyÃn nó ¿n php.

- php °ãc giao cho request të web server, nó bèn ti¿p nh­n. à hoàn t¥t request này, nó bèn liên hÇ database à xem cú GET này nên dùng "skin" nào à hiÃn thË.

- khi nh­n ra là cú request này ch³ng n nh­p vào âu, nó bèn t¡o ra mÙt trang m·c Ënh vÛi tài kho£n guest rÓi tr£ l¡i cho web server.

- b°Ûc k¿ ti¿p, web server tr£ vÁ k¿t qu£ cho trình duyÇt nào gßi request, Óng thÝi t°Ýng trình access status 200 trong web log, cÙng thêm dm ba cái error 404 n¿u nh° có vài cái gif nào ó không tÓn t¡i (khi dùng mÙt trang m·c Ënh). MÙt cú GET nh° th¿ i vào s½ l°u l¡i trong log cça web server nh° sau:

Code:

xxx.xxx.xxx.xxx - - [02/Nov/2004:06:26:32 -0500] "GET /forum/?&time=0.13435 HTTP/1.0" 200 12933 "-" "Mozilla/4.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7)"

B¡n có thà th¥y:

* status 200 trong dòng log ß trên biÃu thË web server ã ti¿p nh­n cú GET.

* biÃu thË "-" éng tr°Ûc "Mozilla/4.0" cho th¥y, Ñi vÛi web server, cú request này i trñc ti¿p të bên ngoài mà ch³ng hÁ °ãc "refer" të link cça diÅn àn HVA c£.

K¿t cåc, mÙt GET ng«u nhiên hoàn toàn thành công trên ph°¡ng diÇn t¡o load cho máy chç trên mÍi t§ng.

H¡n ch¿ rõ rÇt cça URI ng«u nhiên này chính là giá trË b¥t bi¿n éng tr°Ûc d¥u =. Ñi vÛi snort, detect giá trË này khá ¡n gi£n, ß d¡ng HEX nó có giá trË: 2F 3F 26 74 69 6D 65 và nó thuÙc vË trí offset 0040 - 0050 trong gói HTTP chéa cú GET này. Ñi vÛi mod_security, mÙt regex (xem chú thích 42) có thà dÅ dàng b¯t và c£n nó tr°Ûc khi nó có thà i sâu vào bên trong. iÁu c§n nêu lên ß ây là sáng ki¿n t¡o ra giá trË ng«u nhiên cho URI cça "tác gi£" cça các cú GET nh±m ph§n nào gây khó khn trong viÇc c£n trß chúng. N¿u web admin chÉ dña trên web log mà ánh giá sñ thà thì s½ khó lòng n¯m b¯t v¥n Á.

2. £nh h°ßng cça giá trË connection: keep-alive:

Giá trË keep-alive có tác dång trñc ti¿p h× trã nhïng gì x£y ra ß ph§n 1 ß trên. Cé m×i cú truy c­p thành công và dña vào òi hÏi "keep-alive" này, nó n¯m giï socket và liên ti¿p gßi h¿t cú GET này ¿n cú GET khác xuyên qua mÙt ESTABLISHED connection. Bßi l½ có nhiÁu cú gßi të mÙt IP (IP cça proxy server nào ó ch³ng h¡n) ¿n quá dÓn d­p, nên không hÁ có kho£ng thÝi gian gián o¡n, bßi th¿ "keep-alive" hoàn toàn bÁn bÉ trong tr°Ýng hãp này. Të máy con, trình duyÇt không c§n ph£i t¡o thêm connection mà v«n Áu ·n ©y GET ¿n HVA server. N¿u m×i connection có kh£ nng "keep-alive" và liên tåc gßi hàng trm cú GET thì giÛi h¡n 6 connections s½ cho phép chúng gßi hàng ngàn cú GET n¿u méc Ù bÁn bÉ qu£ th­t... bÁn bÉ (xem chú thích 51). May thay, °Ýng d«n të các gateway cça các cú GET kia ¿n HVA server không ß tình tr¡ng tuyÇt h£o. Có nhïng cú GET gßi ¿n, d«u có ¥n Ënh "keep-alive", chúng v«n bË gián o¡n vì bË ngh½n m¡ng ß âu ó. ThÝi gian gián o¡n này dài h¡n thÝi gian ¥n Ënh à "keep-alive" nên chúng ph£i t¡o ra connection mÛi à ti¿p tåc i vào HVA web server và m×i l§n gián o¡n x£y ra, d°Ýng nh° sñ gián o¡n này t¡o nên £nh h°ßng dây chuyÁn. Các cú GET khác ang nÑi uôi i vào cing bË ch­m l¡i và có nhïng tr°Ýng hãp hoàn toàn bË tan bi¿n (dña theo thông tin të các tcp stream l¥y °ãc qua tcpdump). M×i khi ph°¡ng tiÇn "keep-alive" này gián o¡n, chúng l¡i bË r¡i vào vòng qu£n ch¿ cça firewall connection limit vì ph£i t¡o socket mÛi.

Gi£ sí các cú GET trên không ¥n Ënh giá trË "keep-alive" và ·c biÇt HVA web server không h× trã tính ch¥t "keep-alive" thì sao? Thì m×i cú GET i vào Áu ph£i °ãc t¡o mÙt socket riêng cho nó. VÛi giÛi h¡n 6 connection limit, m×i IP dùng à gßi cú HTTP GET này chÉ có thà gßi tÑi a 6 cú GET trong b¥t cé lúc nào. Tính ch¥t "keep-alive" °ãc h× trã trên web server cça HVA trong lúc này không ngoài lý do c£i thiÇn v­n tÑc truy c­p cho ng°Ýi dùng, m×i cú "b¥m" trên trình duyÇt s½ cho phép hÍ t£i vÁ trÍn bÙ mÙt trang cça HVA xuyên qua mÙt socket ã °ãc hình thành. Vì lý do "c£i thiÇn" cho ng°Ýi dùng hãp lÇ mà HVA web server ph£i r¡i vào tình tr¡ng "è l°ng ra chËu ¥m" cça c¡n DoS.

H¡n ch¿ cça ¥n Ënh "keep-alive" này ß âu? HiÃn nhiên là phå thuÙc vào sñ h× trã cça web server. à giÛi h¡n nhiÁu cú GET i xuyên qua mÙt ESTABLISHED connection, "keep-alive" trên web server cça HVA ph£i hoàn toàn t¯t bÏ. ChÉ vÛi cách này mÛi có thà "ép" và iÁu tác úng theo quy ch¿ connection limit të firewall.

3. £nh h°ßng HTTP header không có "x-flash":

Bßi các cú GET ng«u nhiên này hoàn toàn không có d¥u hiÇu gì thuÙc vÁ "x-flash" (tôi v«n nghi ngÝ ây là chuyÇn vô tình các x-flash bË proxy server nào ó anonymize), mÍi c¡ ch¿ c£n lÍc cça HVA hoàn toàn mß ngÏ cho chúng vào. Cái này cing dÅ hiÃu vì chúng hoàn toàn hãp lÇ trên bình diÇn giao théc. iÃm £nh h°ßng thé 3 này hoàn toàn t°¡ng thích vÛi hai £nh h°ßng trên. Tôi không thà tìm ra °ãc mÙt b±ng cÛ nào chéng tÏ các cú GET ß d¡ng không có "x-flash" header i vào là cÑ tình không có header này hay vô ý bË proxy server nào ó "lÙt" m¥t. Ngay c£ viÇc truy ng°ãc l¡i IP gßi cú GET này cing chÉ có thà ti¿t lÙ các hops nó ã i xuyên qua và thông tin thu l°ãm °ãc quá m¡ hÓ Ã có thà xác Ënh rõ ràng là nó °ãc t¡o ra mÙt cách có chç Ënh hay không. Cho dù tôi có thà xác Ënh °ãc °Ýng i ¿n HVA server ã ph£i qua ít nh¥t là mÙt proxy server nh°ng à xác Ënh nó có chéc nng "anonymize" hay không thì không thà °ãc. Dù gì i chng nïa, g§n mÙt nía sÑ l°ãng GET i vào vÛi URI ng«u nhiên hoàn toàn không mang "x-flash" header và hiÃn nhiên các c¡ ch¿ c£n trß hiÇn có trên HVA server không có tác dång bao nhiêu và hiÃn nhiên chúng ã óng góp không ít ¿n viÇc làm cho HVA server é ë.

Nói vÁ m·t h¡n ch¿ thì các cú GET không có "x-flash" header này ngay tr°Ûc khi iÁu chÉnh l¡i firewall, snort, mod_security và mÙt sÑ c¡ ch¿ khác thì chúng không bË h¡n ch¿ gì c£. Nhïng cú request này t°¡ng tñ nh° các cú request "vô tÙi" ¿n të trình duyÇt cça ng°Ýi dùng bình th°Ýng và mang theo thông tin sai sót trên thanh Ëa chÉ. Theo úng nguyên t¯c, web server ph£i ti¿p nh­n và thông báo ¿n trình duyÇt n¿u nó không tho£ mãn °ãc request (t°Ýng trình mÙt error status nào ó). KiÇn toàn °ãc "c¡n li" này ß hai iÃm 1 và 2 ß trên tñ nhiên s½ kh¯c phåc °ãc £nh h°ßng thé 3 này.

4. £nh h°ßng các cú GET ¿n HVA banner:

Tôi cho r±ng các cú GET ¿n HVA banner (swf file) khá vô ích trong tr°Ýng hãp này. ¤n Ënh "keep-alive" này chÉ t¡o mÙt socket à l¥y swf file và hiÃn nhiên proxy server nào éng tr°Ûc client gßi GET request này s½ tñ Ùng dùng b£n có trong cache à cung c¥p cho client. Ñi vÛi HVA server, sÑ l°ãng sockets °ãc t¡o ra cho cú GET này t¡o £nh h°ßng "chen l¥n" ¿n các cú GET vÛi URI ng«u nhiên ß trên chÛ không mang l¡i mÙt tác dång gì rõ rÇt. Thñc t¿, chúng còn t¡o £nh h°ßng Ñi nghËch vÛi các cú GET vÛi URI ng«u nhiên vì chúng làm gi£m c¡ hÙi mß thêm socket cça các cú GET vÛi URI ng«u nhiên. ·c biÇt khi ph°¡ng tiÇn "keep-alive" không thà duy trì vì °Ýng d«n x¥u ho·c bË gián o¡n vì lý do nào ó. Nói vÁ m·t £nh h°ßng thì các cú GET banner ch³ng là gì so vÛi các cú GET vÛi URI ng«u nhiên. Lý do:

- m×i cú GET l¥y static image Ñi vÛi server chÉ là mÙt cú request ¡n gi£n: client hÏi, server tr£ lÝi, hoàn t¥t là phçi tay. N¿u client hÏi ti¿p, server tr£ lÝi ti¿p và cing cùng t¥m hình static này s½ ti¿p tåc i xuyên qua socket ang có sµn. DËch vå ß d¡ng này hoàn toàn static và ß giÛi h¡n ¡n t§ng.

- m×i cú GET dùng URI ng«u nhiên kia không ¥n Ënh cå thà nó c§n "l¥y" cái gì nh°ng l¡i t¡o ra £nh h°ßng a t§ng (nh° ã phân tích ß ph§n 1 phiá trên).

Sau khi phân tích khá kù l°áng các iÃm lãi h¡i, tôi quy¿t Ënh hình thành sµn các "rules" Ã Ñi phó. Ti¿c thay, mÙt giÝ m°Ýi lm phút trên tàu lía trôi qua nhanh chóng. Tôi ã ¿n nhà, ành ph£i x¿p laptop l¡i và ti¿p tåc sau bïa tÑi v­y.

TÑi 2/11:

n tÑi xong, tôi hm hß mß laptop ra. Tôi ang ß âu nhÉ? À, ph§n snort signature dang dß. Ph§n này tôi không m¥t quá nhiÁu thÝi gian, chÉ ph£i °a lên HVA server và ch¡y thí rÓi chÉnh ngay t¡i ch× thôi. Tuy nhiên tôi c§n hoàn t¥t nó rÓi chÉ c§n "cut & paste" lên server cho nhanh. Tôi dành thÝi gian à hình thành vài cái filters cho mod_security vì theo tôi, ây là cía ngõ tÑi h­u sau khi các cú GET có URI ng«u nhiên ã lÍt qua khÏi quy Ënh connection limit cça firewall. R¥t ti¿c tôi không thà °a các filter này vào bài vi¿t vì tính nh¡y c£m cça nó. B¡n chÉ c§n bi¿t tinh th§n c£n lÍc °ãc áp ·t à t¡o hiÇu nng cao nh¥t là ç.

Ch°a hoàn t¥t iÁu tôi muÑn thì... bíp bíp bíp. úng là "ph°Ûc b¥t trùng lai, ho¡ vô ¡n chí", tôi nh­n °ãc cú gÍi kh©n c¥p të sß vì mÙt server quan trÍng ng°ng ho¡t Ùng. Tôi l©m nh©m: "sorry hva, work comes first!". Tôi logoff HVA server, logon VPN cça sß trong khi tr­n DoS v«n tuôn vào ào ¡t. Tôi bi¿t ch¯c "c¡n li" này không ç à "gi¿t ch¿t" HVA server nh°ng ch¯c ch¯n r¥t có nhiÁu ng°Ýi ang không thà vào diÅn àn. Tôi ph£i gi£i quy¿t công viÇc cça sß xong rÓi mÛi quay l¡i.

H¡n ba giÝ Óng hÓ trôi qua, rÑt cuÙc tôi cing ã hoàn t¥t công viÇc ß sß, tìm ra, kh¯c phåc °ãc sñ cÑ và °a máy chç bË ng°ng ho¡t Ùng kia trß l¡i bình th°Ýng. Tôi l©m b©m: "m¹ khÉ, ngày mai l¡i m¥t c£ giÝ Óng hÓ Ã vi¿t t°Ýng trình nïa rÓi."

Tôi vÙi vã log vào HVA server. Ch­m quá! Cñc kó ch­m! sau hai l§n thí tôi mÛi có thà log vào °ãc. Console hiÃn thË các thông tin ch­m nh° thà nó ang chi¿u ch­m mÙt o¡n phim nÁn en chï tr¯ng. Tôi c£m th¥y mÇt mÏi l¯m, ã quá nía êm sau mÙt ngày làm viÇc dài d±ng d·t të 7 giÝ sáng. Tôi quy¿t Ënh chÉ t¯t bÏ ¥n Ënh "keep-alive" trên HVA web server à kh¯c ch¿ iÃm ã phân tích trong ph§n 2 ß trên. Tái khßi Ùng web server m¥t h¡n ba phút vì có quá nhiÁu processes và connections còn ang ho¡t Ùng. Web server ph£i ãi cho tëng connection hoàn t¥t mÛi t¯t bÏ và khßi t¡o mother process / child processes të §u.

CÑ g¯ng nán thêm vài phút à xem server log, tôi hài lòng khi th¥y tình hình °ãc c£i thiÇn rõ rÇt sau khi "keep-alive" không còn tác dång nïa. Server load xuÑng th¥y rõ và truy c­p vào diÅn àn nhanh h¡n. Tôi v°¡ng vai, ngáp dài rÓi logoff khÏi HVA server. Tôi l©m b©m: "ph£i i ngç không thì ngày mai d­y không nÕi. Có chuyÇn gì thì ngày mai tính ti¿p."

Các b¡n có thà theo dõi ti¿p ph§n 10 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/211.hva" \t "_blank" ây.

Chú thích:

-53- tcpdump cho phép sniff và t°Ýng trình các gói tin ra vào ß nhiÁu ch¿ Ù. Ch¿ Ù tôi ã dùng à b¯t l¥y các gói tin l§n này là dùng snaplen có giá trË b±ng 0 (-s0):

# tcpdump -s0 port 80 -w /tmp/dump

Cn b£n mà nói, snaplen là sÑ bytes cça dï liÇu cça m×i gói tin. Theo m·c Ënh, snaplen có giá trË là 68 bytes (riêng SunOS có giá trË tÑi thiÃu là 96 bytes). VÛi giá trË m·c Ënh nhÏ bé này, n¿u không xác Ënh úng snaplen thì gói tin °ãc capture s½ bË "xén" (truncated). Bßi th¿, -s0 ¥n Ënh s½ dùng b¥t cé giá trË nào thích hãp à b¯t l¥y trÍn gói tin. ChÉ nên dùng chÍn lña này trong tr°Ýng hãp c§n thi¿t vì hÓ s¡ "dump" °ãc t¡o vÛi chÍn lña này s½ r¥t lÛn.

-54- anonymize là "vô danh hoá", xem thêm chú thích 52.

Prof(HVA)

Ký sñ các vå DDOS HVA ph§n 10

Sáng 3/11:

Sáng nay tôi vào sß trÅ h¡n th°Ýng ngày vì tÑi qua théc quá khuya. Nói là trÅ nh°ng th­t sñ chÉ mÛi 7 giÝ 30 sáng. Tôi quy¿t Ënh dành riêng 30 phút à "thanh tra" HVA server và hoàn t¥t nhïng gì tôi bÏ dß tr°Ûc khi b¯t tay vào chuyÇn vi¿t b£n báo cáo sñ cÑ x£y ra trên server cça công ty tÑi hôm qua.

ViÇc §u tiên là tôi thí truy c­p diÅn àn HVA b±ng trình duyÇt. Dñ t°ßng trong §u ch¯c s½ ch­m l¯m ây nh°ng sñ thí hoàn toàn trái ng°ãc vÛi iÁu tôi ngh); vào diÅn àn HVA v«n nhanh nh° bình th°Ýng. Tuy nhiên, trình duyÇt hiÇn ra thông báo "database is not available". Tôi th§m ngh): ch¯c giÝ này ch³ng ai thèm DoS và giÝ này bên VN chÉ 4 giÝ 30 sáng nh°ng database không có thì có l½ server v«n sÑng nh°ng database thì ch¿t tiêu." Tôi log ngay vào HVA server và qu£ th­t, server HVA v¯ng hoe; server load n±m ß méc 0.02. Tôi kiÃm tra nhanh qua tình hình server xem nó có "bË" restart tÑi hôm qua hay không:

$ uptime

05:49:08 up 19 days, 10:04, 1 users, load average: 0.02, 0.02, 0.25

v­y là server v«n còn sÑng sót sau "c¡n bão" kinh hoàng. Ch¡y thí vài lÇnh ti¿p theo à kiÃm tra process thì rõ ràng database ã "ch¿t" tñ khi nào. Tôi không rõ database bË "down" të lúc nào và tôi c§n rõ iÁu này. Ch¡y thêm vài lÇnh grep ¿n m¥y cái log, tôi xác Ënh °ãc database bË down të 10 giÝ 22 phút giÝ trên server, có ngh)a là kho£ng 0 giÝ 22 phút giÝ n¡i tôi c° ngå và kho£ng 9 giÝ 22 phút giÝ VN. Tôi vò §u l©m b©m: "chÉ có vài phút sau khi tôi logoff HVA server tÑi hôm qua! t¡i sao tôi không restart l¡i cái database server sau khi restart l¡i web server nhÉ?" Dù gì i chng nïa cing là sñ ã rÓi. Có l½ lý do HVA server sÑng sót tÑi hôm qua là do database server bË down suÑt êm (?)

TÑi hôm qua, ngay khi tôi login HVA server và iÁu chÉnh web service à tháo bÏ ¥n Ënh "keep-alive", có l½ lúc ¥y database server ã tràn ng­p QUERY và ß trong tình tr¡ng "sÑng dß, ch¿t dß" rÓi nh°ng tôi l¡i không à tâm ¿n nó. Có l½ do não bÙ cça tôi bË må m«m sau mÙt ngày làm viÇc dài d±ng d·t hôm qua nên không còn sáng suÑt à suy xét v¥n Á nïa. Tôi quy¿t Ënh à yên database server ß tình tr¡ng "down" nh° v­y à tiÇn làm viÇc.

- tr°Ûc tiên, tiÇn tay tôi kiÃm tra c¥u hình database và xét qua sÑ l°ãng connection cho phép. Giá trË ¥n Ënh này khá cao, nên tôi iÁu chÉnh à gi£m bÛt sÑ l°ãng connection t°¡ng thích vÛi l°ãng connection limit °ãc ¥n Ënh trên firewall.

- k¿ ti¿p tôi kiÃm tra l¡i c¥u hình cça web server, iÁu chÉnh vài giá trË quan trÍng nh¥t trong ¥n Ënh process °ãc fork nh° th¿ nào à phåc vå requests (xem l¡i chú thích 45) Óng thÝi °a vào mÙt chu×i filter cho mod_security.

- tôi ti¿p tåc chuyÃn xuÑng t§ng snort và °a vào m¥y cái signatures ang dang dß; iÁu chÉnh thêm vài chi ti¿t nhÏ Ã cÑ g¯ng t¡o hiÇu xu¥t h¡n và tái khßi Ùng snort. Sau khi tái khßi ông, Snort ho¡t Ùng bình th°Ýng nh°ng ch°a thông báo thông tin nào vÁ v¥n Á DoS ß d¡ng URI ng«u nhiên c£. iÁu này hiÃn nhiên là vì tôi ch³ng hÁ th¥y d¥u hiÇu DoS ngay të lúc logon HVA server.

- k¿ ti¿p tôi xem xét l¡i firewall. L§n này tôi quy¿t Ënh mß rÙng connection limit trên firewall t°¡ng ph£n vÛi viÇc th¯t ch·t nhiÁu iÃm quan trÍng trên web server. Sß d) tôi làm th¿ là vì muÑn t¡o c¡ hÙi cho ng°Ýi dùng có thà truy c­p °ãc. Làm nh° th¿ server load s½ gia tng nh°ng b±ng mÍi giá tôi ph£i t¡o c¡ hÙi cho ng°Ýi dùng hãp pháp có thà truy c­p ¿n diÅn àn. Sau khi hoàn chÉnh firewall, tôi tái khßi Ùng nó ngay (k»o l¡i quên).

- và cuÑi cùng, tôi dành mÙt ph§n lÛn thÝi gian trong 30 phút ng¯n ngçi kia à iÁu chÉnh t¥t c£ giá trË liên quan ¿n tcp stack trên kernel có thà xí lý khÑi l°ãng request khÕng lÓ t°¡ng tñ nh° tÑi hôm qua. Nguyên t¯c iÁu chÉnh các giá trË kernel này r¥t ¡n gi£n:

1. tôi muÑn có tÑi a l°ãng memory à cho phép mÙt sÑ l°ãng socket khÕng lÓ °ãc mß bßi vì không có gì tÇ h¡n tình tr¡ng socket bË DoS chi¿m h¿t và ng°Ýi dùng hãp lÇ không thà vào.

2. tôi muÑn thÝi gian mÙt cú SYN tÓn t¡i ng¯n h¡n bình th°Ýng vì n¿u các cú SYN °ãc dÝi khÏi hàng ãi (queue) càng nhanh thì c¡ hÙi server có thà ti¿p nh­n thêm SYN càng nhiÁu.

3. tôi muÑn thÝi gian chÝ ãi FIN và RST hoàn t¥t (các giá trË biÃu thË TIME_WAIT, FIN_WAIT....) ng¯n h¡n bình th°Ýng vì nhïng cú ãi này càng kéo dài, l°ãng memory bË chi¿m giï cho m×i socket ã hoàn t¥t càng lâu và tình tr¡ng này s½ càng é Íng n¿u DoS kéo dài.

4. thay th¿ vào viÇc gi£m thiÃu thÝi gian mÙt gói tin ß d¡ng SYN, tôi gia tng sÑ l°ãng SYN °ãc ti¿p nh­n và °ãc n±m trên connection queue. Tôi muÑn sÑ l°ãng request i vào °ãc nh°ng ch°a °ãc xí lý có c¡ hÙi chÝ ãi lâu h¡n (tr°Ûc khi chúng bË hu÷); bßi vì tôi không muÑn trình duyÇt cça ng°Ýi dùng hãp lÇ ph£i "retry" quá nhiÁu à có thà i vào diÅn àn trong kho£ng thÝi gian server ang bË DoS. Nên bi¿t r±ng syn_timeout khác vÛi syn_backlog, ph§n 2 éng dång cho syn_timeout và ph§n 4 éng dång cho syn_backlog (sÑ l°ãng gói SYN °ãc chÝ Ã xí lý).

Xét l¡i các bÙ ph­n mÙt l§n nïa, tôi c£m th¥y hài lòng và ti¿n hành khßi Ùng database và các dËch vå c§n thi¿t khác. MÍi thé ch¡y ngon lành ngay të l°ãt thí §u tiên. Tôi t¡o thêm mÙt console ¿n HVA server trên màn hình và phóng cái "uôi" tail thé nh¥t à theo dõi snort log, cái thé nhì à theo dõi thông báo cça mod_security và t¡m ng°ng viÇc "táy máy" vÛi HVA server à b¯t §u vào công viÇc ß sß.

Tr°a, chiÁu 3/11:

SuÑt bÑn giÝ vëa qua, hÅ lúc nào có dËp là tôi chuyÃn sang hai cái console ß trên và xem chëng có bi¿n cÑ gì trên server hay không? ThÉnh tho£ng có vài lo¡t URI ng«u nhiên i vào và Áu bË c£ hai c¡ ph­n snort, mod_security tóm chúng mÙt cách Áu ·n sau khi tho£ mãn iÁu kiÇn connection limit trên firewall (m·c dù lúc này chÉ mÛi 9 giÝ sáng bên VN). Tôi an tâm ti¿p tåc làm viÇc.

Mãi ¿n 3 giÝ chiÁu, sÑ l§n các cú DoS i vào th°Ýng xuyên h¡n nh°ng server load ch°a hÁ lên khÏi méc 1.0. Tôi mß trình duyÇt và thí truy c­p vào diÅn àn HVA: thông suÑt, nhanh chóng. Tôi thí nh¥n Ctl-F5 -55- liên tåc vài cái: chi¿c "Óng hÓ chÝ ãi" hiÇn ra lâu h¡n. Càng nh¥n nhiÁu Ctl-F5, càng chÝ ãi lâu. Lý do t¡i sao tôi thí nghiÇm b±ng cách này? Bßi vì lúc này web server cça HVA không còn ch¿ Ù "keep-alive" nïa, m×i cú "refresh" trên trình duyÇt s½ t¡o dm ba cái sockets vÛi HVA server à t£i nÙi dung cça diÅn àn vÁ trình duyÇt. Trong lúc lo¡t connections cça cú nh¥n Ctl-F5 §u tiên v«n còn tÓn t¡i, n¿u tôi ti¿p tåc nh¥n thì sockets mÛi s½ °ãc t¡o thêm và s½ bË "v°Ûng" ngay vào quy Ënh connection limit cça firewall vì tôi không thà t¡o thêm connection v°ãt quá giÛi h¡n cho phép trong cùng mÙt lúc. N¿u tôi thong th£ duyÇt tëng trang mÙt, m×i trang tôi dëng l¡i tÑi thiÃu là vài m°¡i giây (trong kho£ng thÝi này connection giïa trình duyÇt cça tôi và HVA server ã k¿t thúc) thì tôi không g·p b¥t cé c£n trß nào. ây chính là tình tr¡ng duyÇt web bình th°Ýng cça mÙt ng°Ýi dùng hãp lÇ v­y.

Bi¿t ch¯c là ¥n Ënh connection limit + "no keep-alive" làm viÇc "hài hoà" vÛi nhau. Tôi an tâm x¿p laptop l¡i chu©n bË rÝi sß. Tôi tñ nhç là tÑi nay s½ dành mÙt giÝ Óng hÓ theo dõi chuyÇn gì x£y ra trên HVA server.

TÑi 3/11:

n tÑi xong, sau khi hoàn t¥t các chuyÇn l·t v·t, tôi b¯t tay vào viÇc "thanh tra" HVA server.

8 giÝ 30 tÑi n¡i tôi c° ngå chÉ mÛi 5 giÝ 30 chiÁu giÝ VN nh°ng cé thí xem sao. Tôi mß laptop lên, phóng ngay trình duyÇt à vào diÅn àn HVA: khßi t¡o trang chç h¡i ch­m nh°ng sau ó mÍi chuyÇn bình th°Ýng và tôi bi¿t lý do t¡i sao khßi t¡o l¡i ch­m, tôi mÉm c°Ýi mß ra hai console vào HVA server.

Nh°ng th°Ýng lÇ, tôi xem qua server load:

$ w

bình th°Ýng, giá trË server load trung bình là 1.1, tÑt!

Tôi xem qua sÑ l°ãng SYN ang hiÇn hïu trên server:

$ netstat -nat | grep SYN

72

nhiÁu h¡n bình th°Ýng nh°ng ch¯c ch¯n là quá ít so vÛi c¡n li hôm qua.

Tôi xem qua sÑ l°ãng GET dùng URI random mà snort ã b¯t °ãc të lúc signature mÛi °ãc °a vào të sáng nay:

# grep -i "random" $SNORT_LOG/alert

317476

Kinh nhÉ? G§n 32 ngàn cú trong vòng 12 giÝ qua.

Tôi muÑn xem sÑ l°ãng GET dùng URI random mà mod_security ã tóm °ãc të sáng nay:

grep -i "?&time" $HTTP_LOG/mod_sec.log

17749

NhiÁu th­t! không h³n server yên t)nh nh° tôi ngh) qua vài l§n kiÃm tra trong ngày nh°ng rõ ràng server load không lên cao të sáng nay sau lúc tôi iÁu chÉnh l¡i c¥u hình server cho ¿n lúc này. 17749 l§n ghi nh­n trên mod_sec.log t°¡ng °¡ng vÛi 17749 cú QUERY ¿n database server n¿u nh° chúng không °ãc ch·n l¡i të bên ngoài web server. N¿u quy ra thành giá trË server load, con sÑ này h³n kinh khçng. Th£o nào êm qua database serve không ch¿t é ë.

Tôi phóng thí mÙt cái "uôi" tail ¿n firewall log à xem tình hình hiÇn t¡i ra sao. Lác ác có dm ba cú URI random i vào trong vài chåc cú request ¿n server. Tôi th§m ngh): "n¿u cé DoS kiÃu này thì ¿n t¿t Ma-rÑc cing không x°Ûc nÕi mÙt cái v£y." Ch¯c còn quá sÛm.

Tôi tò mò muÑn xem thí có cú x-flash nào thuÙc d¡ng POST i vào të khuya hôm qua hay không:

# grep "POST" $SNORT_LOG/alert

Hoàn toàn không có.

Th¿ x-flash d¡ng GET?

# grep "GET" $SNORT_LOG/alert

34153

Whoa! có l½ con sÑ này bao gÓm các cú GET ¿n HVA banner l«n các cú GET vÛi URI ng«u nhiên.

Táy máy vÛi m¥y cái log chëng nía giÝ, tôi âm chán vì ch³ng có gì áng ph£i quan tâm. Tôi quy¿t Ënh i ch¡i bóng bàn và s½ quay l¡i sau mÙt giÝ Óng hÓ.

9 giÝ 25 phút 3/11:

Tôi trß l¡i khi hai cái console nÑi vào HVA server ang ß tình tr¡ng "ch£y" cuÓn cuÙn các thông tin vÁ nhïng cú GET ang hm hß Õ vào HVA server. Hãy xem vào diÅn àn b±ng trình duyÇt ra sao. Tôi khßi Ùng trình duyÇt vào chÍn Ëa chÉ HVA forum të bookmark: v«n h¡i ch­m lúc §u nh°ng sau khi ã vào °ãc diÅn àn rÓi thì l°Ût các trang thông suÑt.

Tôi chuyÃn qua mÙt trong hai cái console ang in ra hàng tràng log trên màn hình và xem thí có bao nhiêu cú SYN ang ­p vào:

# netstat -nat | grep SYN | wc -l

173

Thí l¡i l§n nïa:

176

Thêm l§n nïa xem sao:

169

Tôi l©m nh©m, vÛi sÑ l°ãng log ang Õ cuÓn cuÙn trên màn hình kia mà chÉ có trung bình të 160 ¿n 180 cú SYN trong b¥t cé lúc nào thì h³n là giá trË ¥n Ënh SYN timeout trên kernel ã có hiÇu qu£ rõ rÇt. iÁu này là th¿ nào? Nh° ã nói ß iÃm thé 2 ß trên, tôi cÑ tình chÉnh Ënh à SYN timeout ng¯n h¡n bình th°Ýng ki¿n cho các cú truy c­p mÛi °ãc gi£i quy¿t nhanh chóng h¡n.

Ph£i thí "dump" mÙt o¡n các packets xem sao.

Tôi ch¡y lÇnh:

# tcpdump -s0 port 80 -w /tmp/dump-03-11-2004

Trong khi o¡n dump trên ang ch¡y, tôi muÑn xác Ënh có bao nhiêu ESTABLISHED connections hiÇn ang có trên server:

# netstat -nat | grep ESTABLISHED | wc -l

283

Tôi ch¡y thêm lÇnh này và °a k¿t qu£ và mÙt hÓ s¡ t¡m thÝi à phân tích kù h¡n:

# netstat -nat | grep ESTABLISHED | sort > /tmp/conn.txt

úng nh° dñ oán, sau khi các connection °ãc lña theo úng thé tñ, cé m×i IP chi¿m të 4 ¿n 8 connections.

ChÝ vài phút, tôi dëng cú tcpdump và t£i hÓ s¡ này xuÑng laptop cça tôi à phân tích. Thông tin të o¡n các packets chÉ rõ mÙt iÁu:

- cé m×i IP l¡i hình thành trung bình 4 connections, tuy nhiên chúng k¿t thúc nhanh chóng và nh¥t là các cú GET vÛi URI random vì ngay khi mod_security phát hiÇn chúng thuÙc diÇn vi ph¡m, nó ã báo l×i ng°ãc vÁ chç nhân cça cú GET này và hu÷ bÏ connection.

- có vô sÑ gói tin i vào thuÙc diÇn vi ph¡m ã bË snort RST ngay khi nó b¯t g·p gói tcp ACK-PSH có chéa thông tin vÁ cú GET dùng URI ng«u nhiên.

- có nhïng tcp stream nÑi ti¿p nhau të mÙt IP bao gÓm c£ các connections chéa c£ thông tin truy c­p hãp lÇ l«n thông tin thuÙc vÁ các cú GET ang t¥n công HVA. iÁu này chéng tÏ nguÓn t¥n công và nguÓn ng°Ýi dùng cùng i xuyên qua mÙt IP nào ó (có thà là proxy, có thà là NAT server ß âu ó) và chúng x£y ra cùng mÙt lúc (ho·c tr°Ûc sau trong tíc t¯c).

Ñi vÛi tôi, b¥y nhiêu thông tin ã quá ç Ã xác Ënh tình hình nh° sau:

- tr­n DoS v«n ti¿p diÅn Áu ·n. Tuy nhiên, ch¯c ch¯n nhïng gói tin "tàn phá" kia không còn có c¡ hÙi dùng mÙt ESTABLISHED connection à ©y các cú GET dÓn d­p ¿n HVA server nh°ng ngày hôm tr°Ûc mà ph£i tuân thç theo úng nguyên t¯c "xong mÙt request, mß socket mÛi" và nguyên t¯c này °ãc connection limit iÁu tác triÇt Ã.

- bßi các cú SYN không tÓn t¡i lâu nh° bình th°Ýng nên server có c¡ hÙi và tài nguyên ti¿p nh­n nhiÁu SYN h¡n bình th°Ýng. MÍi connection bi¿n chuyÃn të SYN_RECV sang ESTABLISHED và i ¿n TIME_WAIT h¿t séc nhanh chóng. iÁu này t¡o c¡ hÙi cho ng°Ýi dùng hãp lÇ có thà "chen chân" vÛi c¡n li DoS.

- snort óng góp r¥t lÛn trong v¥n Á hçy bÏ các socket °ãc t¡o ra të nhïng request "tàn phá" kia b±ng cách RST chúng. Ñi vÛi tôi, ây là cách hïu hiÇu trong viÇc Õn Ënh connection queue cça server.

- không hÁ có b¥t cé cú GET dùng URI ng«u nhiên i qua khÏi cía ngÏ mod_security (n¿u chúng có i lÍt qua °ãc cía ngÏ snort) cho nên chúng không hÁ t¡o b¥t cé £nh h°ßng nào ¿n database server.

- server load hoàn toàn bình th°Ýng và xê dËch ß méc 0.9 - 2.8 là tÑi a.

Tôi nán thêm nía giÝ nïa à theo dõi tình hình trên HVA server. SÑ l°ãng SYN có gia tng nh°ng không ç dÓn d­p à ph°¡ng h¡i ¿n server. Tuy nhiên, iÁu tôi lo l¯ng là sÑ l°ãng log °ãc t¡o ra trong khi tr­n DoS ti¿p diÅn. M·c dù séc chéa trên HVA server có thà chéa hàng chåc gigabytes logs nh°ng iÃm quan trÍng là sñ hao tÕn tài nguyên trong c¡ ch¿ I/O. Tôi quy¿t Ënh iÁu chÉnh firewall, web server, mod_security và các c¡ ph­n log khác gi£m thiÃu méc Ù log rÓi khßi Ùng l¡i các dËch vå này.

10 phút trôi qua.

RÓi 15 phút trôi qua.

20 phút trôi qua, khÑi l°ãng DoS càng gia tng qua biÃu thË cça sÑ l°ãng SYN_RECV trên netstat. Tôi v«n có thà nh¥n Ctl-F5 và trang web cça HVA diÅn àn v«n t£i nhanh chóng. à xác Ënh °ãc chính xác bao nhiêu cú SYN i vào trong mÙt giây ngay lúc này, tôi quy¿t Ënh "dump" thêm mÙt mÛ packets. Tôi vi¿t mÙt o¡n script ¡n gi£n à ch¡y tcpdump và buÙc nó ph£i ng°ng l¡i sau 60 giây. K¿t qu£ cho th¥y có ¿n trên 1300 cú SYN ¿n HVA server trong mÙt giây nh°ng ph§n lÛn bË lo¡i bÏ ß firewall vì quá giÛi h¡n cho phép. Ph©n còn l¡i bË "time-out" và bË hçy vì ph£i ãi lâu h¡n méc ¥n Ënh trên connection queue. Ph§n còn l¡i bË snort RST ngay tr°Ûc khi °ãc firewall qu£n ch¿. Các cú SYN thành công (vào °ãc) và thuÙc diÇn "b¥t hãp lÇ" Áu bË web server tr£ l¡i thông báo l×i 403.

Tôi g­t §u tho£ mãn vÛi k¿t qu£ và logoff HVA server.

Nhïng ngày ti¿p theo ó, d¡ng DoS dùng URI ng«u nhiên v«n ti¿p diÅn tuy nhiên chúng th°a d§n rÓi t¯t h³n.

Mãi ¿n ngày 13 tháng 11, mÙt l§n nïa server l¡i "bË n¡n". Ngày 13/11 tôi không hÁ vào net. ¿n ngày 14/11, không log vào HVA server °ãc, tôi gßi e-mail ¿n JAL à hÏi thm tình hình. Sau hôm ó, JAL cho tôi bi¿t là HVA server bË DoS r¥t kinh khçng t¡o sñ cÑ cho card m¡ng và bË dËch vå cung c¥p °Ýng dây Internet than phiÁn vÁ khÑi l°ãng traffic khÕng lÓ ra vào HVA server nh°ng server hoàn toàn bình th°Ýng, không bË sñ cÑ gì c£. Bßi th¿, JAL ã ph£i cho diÅn àn t¡m ng°ng ho¡t Ùng vài ngày à s¯p x¿p °òng dây mÛi t¡m thÝi tr°Ûc khi tìm mÙt dËch vå thích hãp. iÁu áng ti¿c là JAL ã quên không t¡o mÙt cú packet "dump" trong khi HVA bË t¥n công l§n này, cho nên tôi không oán nÕi là chuyÇn gì ã x£y ra nh°ng tôi tin r±ng, ây là mÙt d¡ng DoS mÛi nào ó. Dù nó ã không triÇt °ãc HVA server nh°ng cing ã t¡o không ít phiÁn toái cho v¥n Á s¯p x¿p dËch vå cung c¥p Internet mÛi vì khÑi l°ãng thông tin tràn ng­p °Ýng d«n.

Cho ¿n nay, HVA server ã dÝi sang mÙt °Ýng d«n "t¡m thÝi" thé nhì sau bi¿n cÑ ngày 13/11 và v«n bË DoS Áu ·n (nh°ng không kinh khçng) nh° tr°Ûc nïa. Bßi v­y tôi mÛi có thÝi gian à vi¿t bài phân tích cho các b¡n Íc, Óng thÝi suy ngh) và phân tích sâu thêm các bi¿n thái cça các ãt t¥n công có thà x£y ra à iÁu chÉnh l¡i server cho thích hãp. Tính të ngày §u tiên tôi logon HVA server (xuyên qua SSH) cho ¿n nay, ã có h¡n 30 l§n iÁu chÉnh lÛn, bé à thích éng vÛi hoàn c£nh. iÁu tôi muÑn nói ß ây là: à b£o vÇ máy chç ¿n méc Ù tÑi a trong hoàn c£nh và iÁu kiÇn cho phép, iÁu §u tiên mình ph£i hiÃu rõ mình ang b£o vÇ cái gì, hiÃu rõ iÃm y¿u cça mình ß âu và hiÃu rõ dång ý cça Ñi ph°¡ng. Không có mÙt công théc kó diÇu nào có thà dùng à éng dång cho mÍi tr°Ýng hãp và càng không thà có mÙt software nào có thà hoàn toàn b£o vÇ vïng ch¯c mÙt hÇ thÑng làm viÇc. B£o m­t là công tác lâu dài và bÁn bÉ, nó òi hÏi sñ quan tâm th°Ýng xuyên, kh£ nng phán oán tình hình và ph£n éng kËp thÝi. à nh­n ra °ãc iÃm y¿u và iÃm m¡nh cça mình không chÉ òi hÏi ki¿n théc mà còn òi hÏi kh£ nng t°ßng t°ãng nïa. Tôi mong b¡n có thà rút tÉa ra °ãc nhïng iÁu bÕ ích và lý thú cça lo¡t "ký sñ" này à tñ éng dång cho môi tr°Ýng cça mình.

LiÇu lo¡t "ký sñ" này có ti¿p tåc hay không? Tôi không rõ. Hy vÍng là không n¿u không có bi¿n cÑ gì áng phân tích.

Chúc b¡n mÙt Noel và mÙt nm 2005 vui t°¡i.

Chú thích:

-55- tôi dùng laptop cça công ty và chÉ có thà duyÇt web b±ng Internet Explorer. Ctl-F5 là à buÙc trình duyÇt l¥y phiên b£n mÛi nh¥t të web server thay vì dùng mÙt b£n ã °ãc cached ß âu ó. T°¡ng ph£n vÛi F5, trình duyÇt chÉ dùng b£n ã °ãc cached.

Các b¡n có thà theo dõi ti¿p ph§n 11 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/212.hva" \t "_blank" ây.

Prof(HVA)

Ký sñ các vå DDOS HVA ph§n 11

Tr°a 21/01/2005

Các cuÙc t¥n công "x-flash" °ãc biên c£i s½ ti¿p tåc x£y ra vÛi HVA trong t°¡ng lai, ó là iÁu tôi ã ng§m phÏng oán. ChÉ có iÁu, nó ã x£y ra muÙn h¡n tôi ngh) nh°ng nó ã x£y ra.

Tr°a nay, lúc n tr°a, tôi log vào diÅn àn HVA, mÍi chuyÇn v«n có v» bình th°Ýng. Không hiÃu sao tôi l¡i quy¿t Ënh logon HVA server à xem xét qua tình hình server. iÁu §u tiên tôi kiÃm tra (theo thói quen) là server load:

# w

load average: 1.32, 2.02, 1.25

H¡i cao h¡n bình th°Ýng vÛi thÝi iÃm này trong ngày.

Tôi thí "tail" log cça web server và h¿t séc ng¡c nhiên (lý thú) khi th¥y lác ác nhïng m£ng log nh° sau:

Code:

152.163.101.6 - - [21/Jan/2005:11:35:21 -0400] "POST /forum/ HTTP/1.1" 200 312 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iebar)"

203.162.177.113 - - [21/Jan/2005:11:35:45 -0400] "POST /forum/ HTTP/1.1" 200 312 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

221.132.58.28 - - [21/Jan/2005:11:36:22 -0400] "POST /forum/ HTTP/1.1" 200 312 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)"

24.34.4.118 - - [21/Jan/2005:11:36:25 -0400] "POST /forum/ HTTP/1.1" 200 317 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)"

D¡ng log này quá quen thuÙc vÛi tôi vài tháng tr°Ûc ây. Tôi l©m b©m "rÑt cuÙc cing hiÇn lên l¡i ây, h¡i trÅ h¡i dñ oán nh°ng cing ã xu¥t hiÇn trß l¡i".

Tôi ch¡y tcpdump à capture mÙt mÛ packets iÁu tra xem thí chuyÇn gì x£y ra:

# tcpdump -s0 port 80 -w /tmp/dump-21-01-2005

Sau hai phút, tôi ng°ng tcpdump, nén k¿t qu£ capture °ãc (Ã t£i vÁ laptop cça tôi cho nhanh). Sau khi t£i gói nén .gz này vÁ, tôi kiÃm tra l¡i server load mÙt l§n nïa rÓi logoff (server load v«n giï méc 2.+ và tôi ph£i quay l¡i làm viÇc).

Tôi vùi §u vào mÛ công viÇc ß công ty liên ti¿p m¥y giÝ và quên bµng gói nén .gz kia, quên bµng chuyÇn gì (có thà ti¿p tåc) x£y ra vÛi HVA. Tôi chuyÃn qua "Firefox" và thí "refresh" trang forum HVA: hiÇn có h¡n trm m¡ng ang ß trên forum. Trang load ch­m h¡n bình th°Ýng (ch­m theo c£m giác cça tôi).

Tôi dành 15 phút cça giÝ gi£i lao chiÁu (afternoon tea time) Ã kiÃm tra xem gói nén .gz chéa mÛ packets °ãc capture hÓi tr°a này có cái qu÷ quái gì trong ó.

­p ngay vào m¯t tôi là o¡n sau:

Code:

POST /forum/ HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Content-Type: application/x-www-form-urlencoded

Content-Length: 712

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts)

Host: 219.207.204.25

Connection: Keep-Alive

Cache-Control: no-cache

total=23&Submit=Submit&attack=1&diachi=http%3A%2F%2Fviemarket%2Ecom%2F&url1=

http%3A%2F%2F219%2E207%2E204%2E25%2Fforum%2F&url2=http%3A%2F%2F219%2

E207%2E204%2E25%2Fforum%2F&url3=http%3A%2F%2F219%2E207%2E204%2E25%2F

forum%2F&option=search&s=&do=login&url=http%3A%2F%2Fvikhoa%2Ecom&agree=1&

password%5Fmd5=&passwordconfirm%5Fmd5=&username=Tintucvietnam&password=

thangcho&passwordconfirm=thangcho&email=admin%40tintucvietnam%2Ecom&emailconfirm=

admin%40tintucvietnam%2Ecom&imagestamp=tintuc&imagehash=47b4a32f7767bfc7b83f8f3e

cf2e8c66&timezoneoffset=8&dst=2&options=&adminemail=1&vb%5Flogin%5Fusername=Hoanghiep

&cookieuser=1&vb%5Flogin%5Fpassword=dumemaykhoa&forceredirect=1&vb%5Flogin%5Fmd5

password=&%5F%5FOoO%5F%5F=1&1=

Ôi, mÙt bi¿n thái mÛi!

POST? hiÃn nhiên là POST vì trên log cça web server (ß trên) ã biÃu thË chi ti¿t này rÓi. Gì nïa nhÉ?

Content-Length: 712? cha ch£, rõ ràng có c£i ti¿n. So vÛi ãt t¥n công b±ng "POST" cách ây vài tháng, Content-length có giá trË kho£ng 2387 bytes ho·c nhiÁu h¡n. Tôi tin ch¯c k» t¥n công ã Íc lo¡t "ký sñ" này và ã rút tÉa nhïng chi ti¿t cÑt lõi à éng dång cho l§n này. T¡i sao "Content-length" chÉ còn 712 bytes? ¡n gi£n là anh chàng muÑn tránh tình tr¡ng "Continuation", tránh sñ n·ng nÁ cça khÑi l°ãng payload làm ch­m các cú "POST" và qu£ th­t iÁu này có tác dång.

Connection: Keep-alive? và Cache-control: no-cache? Xét l¡i ph§n tôi ã phân tích tr°Ûc ây vÁ v¥n Á dùng proxy server nào ó trên °Ýng i cça gói tin à t¥n công HVA nhanh h¡n và á tÑn tài nguyên cho máy khßi t¡o gói tin h¡n - mÙt lÑi ch¡i "cao tay", tôi e r±ng anh chàng ã không tính toán mÙt cách cao tay mà chÉ là mÙt s¡ sót vô tình cça l§n tr°Ûc. L§n này, cho dù áp ·t trình duyÇt (x-flash cho tr°Ýng hãp này) òi hÏi "Keep-alive" và "no-cache" nh°ng tay này làm ng¡ ho·c (không Íc kù bài ký sñ) vÛi mÙt chi ti¿t h¿t séc quan trÍng là HVA web server không hÁ cho "keep-alive" të d¡o ¥y. M×i request i vào có payload quá lÛn, c§n °ãc "ch»" ra à ti¿p tåc gßi i v«n ph£i i qua chu trình t¡o thêm socket mÛi. Bßi th¿ HVA firewall mÛi iÁu tác °ãc giÛi h¡n connection.

Thí "decode" cái mÛ bùng nhùng ß trên xem có gì?

Code:

total=23&Submit=Submit&attack=1&diachi=http://viemarket.com/&url1=http://219.207.204.25/forum/&url2=

HYPERLINK "http://219.207.204.25/forum/&url3=http:/2...=&do=login&url=" \t "_blank" http://219.207.204.25/forum/&url3=http://2...=&do=login&url=

HYPERLINK "http://vikhoa.com&agree=1&password_md5=&pa...etnam&password=" \t "_blank" http://vikhoa.com&agree=1&password_md5=&pa...etnam&password=

thangcho&passwordconfirm=thangcho&[email protected]&[email protected]&

imagestamp=tintuc&imagehash=47b4a32f7767bfc7b83f8f3ecf2e8c66&timezoneoffset=8&dst=2&options=&adminemail=

1&vb_login_username=Hoanghiep&cookieuser=1&vb_login_password=dumemaykhoa&forceredirect=1&vb_login_md5password=

&__OoO_

Íc kù o¡n trên có l½ b¡n s½ oán °ãc ph§n nào léa tuÕi và tâm théc cça k» t¥n công HVA. B¡n cing có thà th¥y ViKhoa (nào ó) bË "ghét cay, ghét ¯ng" và tintucvietnam cing "bË" lôi vào . iÁu áng nói vÁ m·t kù thu­t vÛi nhúm thông tin ß trên là: cho dù tay t¥n công HVA có bi¿n c£i nÙi dung và tính ch¥t cça các cú "POST" l§n này (ho·c nhïng l§n khác nïa), h¯n v«n không thà không à l¡i mÙt vài ¥n tích ·c biÇt nào ó. Các ¥n tích này là chìa khoá à snort và firewall làm viÇc. Tôi s½ không nêu ra cå thà các "¥n tích" này ß ây nh°ng chÉ gãi ý mÙt cách tÕng quát nh° th¿. N¿u tay t¥n công HVA ti¿p tåc Íc ký sñ này, h¯n có cái à suy ngh)

15 phút gi£i lao trôi qua nhanh chóng. Tôi chu©n bË ph£i lao vào mÙt cuÙc hÍp kéo dài 2 giÝ Óng hÓ. Tr°Ûc khi vào hÍp, tôi kiÃm tra nhanh qua tình hình cça HVA server. Ôi chao, server load lên tÛi 82? Cái khÉ gì ây nhÉ?

Grep thí xem có bao nhiêu cú SYN ngay trong lúc này:

# netstat -nat | grep SYN | wc -l

3879

Tôi choáng váng..... vò trán và l©m b©m: "what the?"

Tôi xem l¡i c¥u hình cça firewall thì th¥y nó quá "cßi mß" . Tôi iÁu chÉnh ngay c¥u hình firewall à t°¡ng thích vÛi tính ch¥t ho¡t Ùng cça web server và tái khßi Ùng firewall. Hai phút sau, server load të 82 gi£m xuÑng còn kho£ng méc 7 ¿n 8. Truy c­p vào diÅn àn HVA còn ch­m l¯m nh°ng tôi ph£i vào hÍp rÓi. TÑi nay, sau bïa n tÑi, tôi ph£i iÁu tra kù l°áng xem có chuyÇn gì x£y ra. T¡m thÝi các cú "¥m" không thà làm ch¿t nÕi HVA server nh°ng thành viên truy c­p vào s½ bË ch­m th¥y rõ nh°ng cé t¡m thÝi là th¿. Tôi ành x¿p laptop l¡i và s½ hình thành vài cái snort signature trên tàu lía, trên °Ýng i làm vÁ n¿u không còn thÝi gian à thñc hiÇn chuyÇn này ngay l­p téc.

5 giÝ 15 phút chiÁu 21/1/2005

Tôi vëa hÍp xong. Trong §u ngÕn ngang các v¥n Á cho công viÇc ß sß. ã ¿n lúc ra vÁ nh°ng tôi c§n l¥y thêm vài thông tin trên HVA server à phân tích trong khi ngÓi trên tàu lía vÁ nhà. Tôi login HVA server mÙt l§n nïa.

Chà, server load v«n ß méc 7-8. Grep thí xem có bao nhiêu cú SYN ngay trong tích t¯c này:

# netstat -nat | grep SYN | wc -l

389

ChÝ 30 giây, tôi ch¡y lÇnh trên l§n nïa:

# netstat -nat | grep SYN | wc -l

416

Có gia tng! Nh°ng không áng kÃ. Có l½ sÑ l°ãng IP ang cùng "¥m" HVA gia tng ngay lúc này.

Tôi kiÃm tra nhanh snort log. Ôi trÝi, hoàn toàn trÑng r×ng, snort log không có l¥y mÙt cái entry. Thí xem có process nào cça snort không:

# ps -ef | grep snort

B·t vô âm tín. Tôi ngá ngàng nh­n ra r±ng snort ã không hÁ ho¡t Ùng tñ khi nào. ChuyÇn này ph£i xem l¡i, ngay lúc này tôi ph£i khßi Ùng ngay snort à á mÙt sÑ cú ¥m mÙt cách t¡m thÝi, tôi hí hoáy thêm vào hai cái signatures mÛi trong mÛi rules cça snort:

# /etc/init.d/snort start

Ôi chao, snort failed? Xem thí syslog báo cái gì, tôi tail 50 dòng cuÑi cùng cça syslog và th¥y ngÕn ngang nhïng v¥n Á c§n ph£i iÁu chÉnh l¡i cho snort. Tôi sñc nhÛ ra r±ng JAL quy¿t Ënh dùng ngay cái server dùng à chuyÃn Õi và nâng c¥p forum (thành công) làm server mÛi cho HVA (vì ã g·p quá nhiÁu tråc tr·c trong khi chuyÃn Õi database). Server này không hÁ chÉnh Ënh gì cå thà cho snort ngoài phiên b£n ã cài theo m·c Ënh. úng là mÙt thi¿u sót sau khi chuyÃn Õi server. Thôi rÓi, tÑi nay tôi ph£i biên dËch l¡i trÍn bÙ snort të nguÓn và s¯p x¿p të §u ¿n cuÑi.

Tôi x¿p laptop l¡i, phóng nhanh ra cía cho kËp chuy¿n tàu.

Các b¡n có thà theo dõi ti¿p ph§n 12 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/213.hva" \t "_blank" ây.

prof(HVA)

Ký sñ các vå DDOS HVA ph§n 12

TÑi 21/01/2005

n tÑi xong, tôi log vào HVA server. ViÇc §u tiên tôi làm là t£i vÁ mÙt b£n snort Õn Ënh và biên dËch nó vÛi nhïng chÍn lña cå thà và cá biÇt cho nhu c§u trên HVA server. Thñc hiÇn trÍn bÙ công viÇc t£i nguÓn cça snort và các nguÓn cça các th° viÇn c§n thi¿t cho snort cing nh° quy trình biên dËch, cài ·t chÉ m¥t ch°a tÛi ba m°¡i phút.

Tôi quy¿t Ënh dùng các hÓ s¡ c¥u hình có sµn cça snort và chÉ dùng binaries mÛi vëa biên dËch bßi vì snort ã tëng ho¡t Ùng trên server này (ß méc cn b£n). Trên °Ýng vÁ nhà chiÁu hôm nay, tôi ã hình thành xong m¥y cái signature mÛi cho snort. Tôi copy chúng vào nhóm lu­t "chÑng x-flash" tr°Ûc ây và khßi Ùng snort. Syslog thông báo snort khßi Ùng thành công, không hÁ có sñ cÑ nào. Tôi "tail" vào log cça snort à xem tình hình ra sao. Tôi dñ phÏng s½ th¥y hàng tràng thông tin ch¡y trên màn hình nh°ng th­t l¡ lùng, snort hoàn toàn im ¯ng. L¡ nhÉ? hay là m¥y cái signature bË sai? không thà nào vì d«u signatures cça tôi t¡o ra có sai thì mÙt sÑ các signatures do snort cung c¥p ph£i ho¡t Ùng và thông báo tình hình.

Tôi kiÃm tra l¡i të §u tëng ph§n mÙt trong c¥u hình cça snort và khám phá ra r±ng: chÉ mÙt con sÑ sai trong subnet °ãc ¥n Ënh cho snort "l¯ng nghe" làm cho nó không hÁ th¥y b¥t cé thông tin nào i xuyên qua hÇ thÑng (vì snort bË áp ·t l¯ng nghe trên mÙt subnet không tÓn t¡i). Loay hoay tìm ki¿m và iÁu chÉnh cho tråc tr·c này làm m¥t thêm m°Ýi lm phút nïa. CuÑi cùng, tôi khßi Ùng snort l¡i và phóng mÙt cái "tail" ¿n snort log. Tôi g­t §u hài lòng khi th¥y trên màn hình hiÇn ra vun vút nhïng dòng log cça snort:

01/21-19:37:28.369857 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP 221.132.48.226:15283 -> 219.207.204.25:80

01/21-19:37:28.369857 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 221.132.48.226:15283 -> 219.207.204.25:80

01/21-19:37:28.399600 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.123.197:64104 -> 219.207.204.25:80

01/21-19:37:28.399600 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.123.197:64104 -> 219.207.204.25:80

01/21-19:37:28.406221 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.210.212.141:35762 -> 219.207.204.25:80

01/21-19:37:28.406221 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.210.212.141:35762 -> 219.207.204.25:80

01/21-19:37:28.441929 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 211.198.94.249:4859 -> 219.207.204.25:80

01/21-19:37:28.441929 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 211.198.94.249:4859 -> 219.207.204.25:80

01/21-19:37:28.485582 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.169.142:1501 -> 219.207.204.25:80

01/21-19:37:28.485582 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.169.142:1501 -> 219.207.204.25:80

01/21-19:37:28.507376 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.169.142:1317 -> 219.207.204.25:80

01/21-19:37:28.507376 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 203.162.169.142:1317 -> 219.207.204.25:80

N¿u b¡n xem kù ph§n thÝi gian cça m×i bi¿n cÑ x£y ra (màu Ï), b¡n h³n s½ th¥y méc Ù x-flash dÓn d­p Õ vào HVA server th¿ nào. SÑ liÇu ß trên chÉ là mÙt o¡n t°ãng tr°ng. Þ ch¿ Ù fast log và logging theo d¡ng binaries, snort ghi nh­n mÙt sÑ l°ãng x-flash "ång" ¿n NIC cça HVA server kinh khçng h¡n nh° th¿ r¥t xa.

Cing trong khi ó, web server cça HVA thông báo các thông tin nh° sau:

220.79.101.75 - - [21/Jan/2005:19:37:28 +0900] "POST /forum/ HTTP/1.1" 403 327 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

220.79.101.75 - - [21/Jan/2005:19:37:28 +0900] "POST /forum/ HTTP/1.1" 403 327 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

210.245.57.38 - - [21/Jan/2005:19:37:28 +0900] "GET /favicon.ico HTTP/1.1" 404 331 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0"

217.29.82.40 - - [21/Jan/2005:19:37:22 +0900] "GET /forum/index.php?act=Reg&CODE=00 HTTP/1.1" 200 6317 "http://www.hvaonline.net/forum/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

222.252.232.163 - - [21/Jan/2005:19:37:28 +0900] "GET /forum/jscripts/ipb_forum.js HTTP/1.1" 304 - "http://www.hvaonline.net/forum/index.php?showforum=87&prune_day=100&sort_by=Z-A&sort_key=last_post&topicfilter=all&st=30" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

221.132.48.226 - - [21/Jan/2005:19:37:28 +0900] "POST /forum/ HTTP/1.1" 403 327 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

203.162.123.197 - - [21/Jan/2005:19:37:28 +0900] "POST /forum/ HTTP/1.1" 403 327 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"

o¡n màu Ï chính là o¡n các cú x-flash i vào và web server log ghi nh­n chúng. iÁu c§n chú ý ß ây là status 403 cho m×i x-flash log (xem l¡i chú thích -27-).

Hai o¡n log ß trên cho th¥y:

- trong kho£ng thÝi kh¯c 19:37:28-xx có kho£ng 12 cú x-flash i vào (snort log ghi nh­n °ãc, log ß d¡ng binaries ghi nh­n nhiÁu h¡n g¥p bÙi). Tuy nhiên, lên ¿n web server (application layer) thì có 4 cú x-flash xu¥t hiÇn nh°ng l¡i bË dính status 403.

- iÁu này chéng tÏ có ít nh¥t là 8 cú x-flash bË lo¡i bÏ tr°Ûc khi chúng có thà i lên ¿n web server (có thà do firewall lo¡i bÏ të vòng ngoài vì quá connection limit, có thà do snort b¯t g·p và gßi các gói RST à c¯t ét chúng...). Khi ¿n web server, mÙt l§n nïa 4 cú x-flash sÑng sót ß méc này l¡i bË lo¡i bÏ vì mod_security phát hiÇn và tr£ ng°ãc vÁ nguÓn gßi i cú x-flash b±ng status 403. Chúng ã không có c¡ hÙi i sâu h¡n.

- iÁu này cing cho th¥y web server ph£i nh­n sÑ l°ãng t£i cao h¡n bình th°Ýng (vì v«n có nhïng cú x-flash v°ãt qua, và vì chúng hoàn toàn hãp lÇ vÁ m·t giao théc). Tuy nhiên, méc Ù gia tng trên web server th­t sñ không áng kà bßi vì lúc này snort và iptables ã "hoá gi£i" ít nh¥t 80% c¡n li x-flash. Sß d) server load ã lên tÛi con sÑ k÷ låc chiÁu nay là vì firewall ã mß cÕng mÙt cách dÅ dãi. Nó cho phép mÙt sÑ l°ãng truy c­p khá lÛn ¿n të m×i client (x-flash hoàn toàn không bË lo¡i trë vì chúng hãp pháp trên m·t giao théc). Ng°Ýi dùng c£m th¥y ch­m ngay lúc ¥y là vì các socket óng / mß hoàn toàn phå thuÙc và quy Ënh tiêu chu©n cça kernel (nên thÝi gian TIME_WAIT và FIN_WAIT kéo dài theo úng quy Ënh). Ngay khi snort ho¡t Ùng, các cú RST cça nó hçy bÏ nhïng truy c­p të x-flash và có ¿n ít nh¥t 50% sÑ l°ãng socket °ãc tái dång.

- nói vÁ m·t tài nguyên (CPU, RAM), máy chç HVA thëa séc à cung c¥p cho web service ho¡t Ùng cao t£i h¡n. Nói vÁ m·t bng thông, vì nhïng cú POST trên "bË" c¯t xén nhÏ i (à vëa khít trong mÙt cú chuyÃn gßi) nên hoá ra nhïng cú POST này ch³ng n·ng nÁ h¡n nhïng cú GET bình th°Ýng. Tài nguyên °ãc dùng chç y¿u trong hoàn c£nh này là tài nguyên cho mod_security; nó c§n ph£i kiÃm tra các gói tin (giao théc HTTP) và xí lý theo các lu­t ã Ënh.

M°Ýi lm phút sau khi snort ho¡t Ùng, tôi xem l¡i server load:

# w

load average: 0.78, 1.04, 8.75

Trong vòng 5 phút vëa qua, server load chÉ còn 0.78

Trong vòng 15 phút vëa qua, server load chÉ còn 1.04

Trong vòng 30 phút tr°Ûc ây, server load n±m ß méc 8.75 (t°¡ng °¡ng nh° hÓi chiÁu).

Snort log v«n ghi nh­n c¡n li x-flash ùn ùn tuôn vào. Server log v«n lác ác ghi nh­n các x-flash bË status 403 và ngay lúc ¥y, tôi log vào diÅn àn HVA b±ng trình duyÇt. Tình hình °ãc c£i thiÇn th¥y rõ so vÛi chiÁu nay. Tôi duyÇt qua các trang trong diÅn àn và c£m th¥y tÑc Ù truy c­p hoàn toàn có thà ch¥p nh­n. Ngay trong kho£ng thÝi gian này tôi b¯t §u th¥y lác ác mÙt sÑ GET request (cå thÃ) ¿n cái banner chính cça hva vÛi URI nh° sau:

GET /forum/style_images/fusion[1]/banner.swf HTTP/1.1. iÁu này chéng tÏ k» t¥n công HVA vëa dàn dñng lo¡t GET này mÛi toanh (bßi vì HVA vëa nâng c¥p phiên b£n diÅn àn và c¥u trúc URI dùng à chéa các béc hình ã thay Õi). URI trên chÉ vëa °ãc c­p nh­t m¥y ngày tr°Ûc ây. Tôi bèn tail cái log cça snort à kiÃm nghiÇm sñ hiÇn diÇn các cú GET này nh° sau:

# tail -f /var/log/snort/alert | grep GET

Qu£ th­t cé m×i giây l¡i có dm ba "qu£" GET i vào. Tôi quy¿t Ënh "dump" mÙt mÛ packets à phân tích xem các cú GET này có nhïng thay Õi gì hay không. Sau hai phút, tôi t¯t bÏ tcpdump và t£i gói dump này vÁ laptop cça tôi. Tôi tñ nhç "chuyÇn phân tích này có thà à dành cho sáng mai, trên °Ýng i làm".

Tôi dành kho£ng thÝi gian ng¯n ngçi còn l¡i cça ngày 21/1 à thñc hiÇn mÙt lo¡t penetrating test ¿n HVA server ß t§ng th¥p (bao gÓm scanning, flooding và gßi mÙt lo¡t các gói tin "b¥t hãp lÇ") à kiÃm tra "thái Ù" cça máy chç HVA. Tôi không tiÇn nêu ra k¿t qu£ ß ây vì nó quá... t¿ nhË. iÁu tôi có thà ti¿t lÙ vÛi b¡n là sau khi khßi Ùng snort, nó ã c£nh báo ¿n vài chåc lo¡i t¥n công ¿n HVA server (nhiÁu lo¡i, nhiÁu kiÃu, nhiÁu méc Ù khác nhau).

M°Ýi lm phút sau nïa, tôi kiÃm tra l¡i server load và th¥y các con sÑ trung bình không thay Õi gì m¥y (v«n ß méc 0.7 - 1.0 0.8 ). Tôi l©m b©m "chÉ t¡i snort v¯ng m·t và firewall quá dÅ chËu mà ra nông nÕi" và log off HVA server.

Kinh nghiÇm áng nêu lên ß ây (cho nhïng ai có trách nhiÇm b£o m­t cho các máy chç):

- môi tr°Ýng máy chç càng Õn Ënh thì máy chç càng vïng vàng. Càng nhiÁu dÝi Õi, càng t¡o nên nhïng thi¿u sót (khó th¥y).

- mÍi thay Õi trên máy chç (nh° c­p nh­t phiên b£n, thay Õi c¥u hình ho¡t Ùng, thay Õi Ëa chÉ...) Áu ph£i °ãc ghi nh­n trong mÙt hÓ s¡ nào ó Ã tiÇn theo dõi và xí lý khi c§n.

- t¡o mÙt "check list" Ã kiÃm tra trÍn bÙ các c¡ ph­n liên quan trñc ti¿p và gián ti¿p trong c¡ ch¿ b£o m­t cça (các) máy chç.

- sau m×i l°ãt thay Õi / c­p nh­t, ph£i thñc hiÇn mÙt quy trình thí nghiÇm cho máy chç này. Thí nghiÇm này có thà tr£i dài të thí nghiÇm tính nng cho ¿n thí nghiÇm tính bÁn bÉ và vïng vàng cça máy chç (penetrating test hay còn gÍi là pen test).

ChuyÇn gì ti¿p tåc x£y ra vÛi các cú POST và GET? MÝi b¡n ón xem ph§n HYPERLINK "http://hvaonline.net/hvaonline/posts/list/280.hva" \t "_blank" k¿ ti¿p.

prof(HVA) Ký sñ các vå DDoS ¿n HVA - Ph§n 13

Sáng sÛm 22/01/2005

Nh° th°Ýng lÇ, tôi théc d­y r¥t sÛm. Vëa pha café, tôi vëa mß laptop lên (chéc nng hibernate cça laptop cing có lúc tiÇn dång). ã có sµn trình duyÇt cho diÅn àn HVA të tÑi qua, tôi nh¥n nút "refresh". DiÅn àn "refresh" th­t nhanh. Tôi nhìn cái stat bên d°Ûi cça diÅn àn và th¥y chÉ có vÏn v¹n m°Ýi m¥y "mÑng" ang ß trên diÅn àn. "Refresh" nhanh cing ph£i. Tôi an tâm x¿p laptop l¡i và ti¿p tåc chu©n bË i làm. Hai m°¡i phút sau ó, tôi rÝi nhà.

Trên tàu lía tôi mß laptop ra và b¯t §u "ngâm" mÛ packets °ãc sniff të tÑi hôm qua. Tôi b­t c°Ýi vì không hiÃu t¡i sao l¡i các cú GET banner cça HVA l¡i x£y ra.

Tháng 11 nm ngoái, mÙt cú GET të x-flash có nÙi dung nh° sau:

Code:

GET /style_images/1/banner.swf HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt; FunWebProducts)

Host: quangvinh-vn.net

X-Forwarded-For: 222.252.188.74

Connection: Keep-Alive

Cache-Control: bypass-client=222.252.188.74

Và bây giÝ, mÙt cú GET të x-flash có nÙi dung th¿ này:

Code:

GET /forum/style_images/fusion[1]/banner.swf HTTP/1.1

Accept: */*

x-flash-version: 7,0,19,0

Accept-Encoding: gzip, deflate

If-Modified-Since: Thu, 13 Jan 2005 10:09:08 GMT

If-None-Match: "10e771-103fb-1bd0b900"

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)

Host: www.hvaonline.net

Connection: Keep-Alive

Cookie: VTYPMOD=1; VSPELL=1; VONOFF=1; member_id=12648; pass_hash=12154ab8ae9a74cfd4ac79d83ea8c422; anonlogin=1; forum_read=a%3A16%3A%7Bi%3A113%3Bi%3A1106121280%3Bi%3A83%3B

i%3A1104427108%3Bi%3A136%3Bi%3A1095706102%3Bi%3A109%3Bi%3A11

04863490%3Bi%3A139%3Bi%3A1104967565%3Bi%3A99%3Bi%3A1101271117

%3Bi%3A144%3Bi%3A1106104588%3Bi%3A90%3Bi%3A1104172553%3Bi%3A98

%3Bi%3A1099075304%3Bi%3A121%3Bi%3A1098733149%3Bi%3A92%3Bi%3A1099414867

%3Bi%3A137%3Bi%3A1099587235%3Bi%3A82%3Bi%3A1106104572%3Bi%3A91%3Bi%3A1101287346

%3Bi%3A88%3Bi%3A1104437429%3Bi%3A1%3Bi%3A1106105574%3B%7D; session_id=7ad1713d4597b723157e7aab86bb27f9

Có bi¿n c£i? h³n nhiên rÓi nh°ng nhïng bi¿n c£i này là gì? hãy cùng nhau phân tích xem (chÉ trên bình diÇn kù thu­t, tôi không i sâu vào nÙi dung dï liÇu trên có nhïng gì trong ó).

- c£ hai cái GET Áu dùng HTTP 1.1

- c£ hai Áu có x-flash client cùng phiên b£n 7,0,19,0

- c£ hai Áu khai báo ti¿p nh­n encoding cho compresion dùng gzip

- c£ hai Áu dùng Windows

- c£ hai Áu "muÑn" keep-alive connection

nh°ng, ·c biÇt GET mÛi ã lo¡i bÏ "Cache-Control: bypass-client" và có thêm 2 iÁu kiÇn (thu­t ngï cça giao théc HTTP gÍi là "conditional GET") :

If-Modified-Since: Thu, 13 Jan 2005 10:09:08 GMT

If-None-Match: "10e771-103fb-1bd0b900"

iÁu kiÇn "If-Modified-Since" theo tôi oán (và r¥t th°Ýng x£y ra) là do proxy server nào ó trên °Ýng i cça cú GET ¿n HVA server tñ Ùng °a vào, ngay c£ ng°Ýi t¡o ra cú GET nào không òi hÏi chuyÇn này. iÁu này x£y ra là vì proxy server nào ó "tñ Ùng" cho r±ng: n¿u phiên b£n "banner.swf" trên HVA server không thay Õi të lúc 10 giÝ, 9 phút, 8 giây sáng giÝ Greenwich ngày 13, tháng MÙt nm 2005 thì mÛi l¥y b£n mÛi të HVA server, còn không thì dùng b£n có sµn trong cache. H³n nhiên là "banner.swf" không hÁ thay Õi të.... nm ngoái (và v«n còn con sÑ 2004 trên banner - hey, ai làm chç cái banner ó chËu khó sía l¡i thành 2005 nhe? ). iÁu này hoá ra proxy nào ó s½ thong th£ mà dùng b£n có sµn trong cache à cung c¥p cho client nào gßi cái GET ¿n HVA server. N¿u v­y thì viÇc gì ph£i chÍn cái banner làm chi cho mÇt nhÉ? :) Tôi không th¥y có mÙt tác dång gì rõ rÇt à dùng GET trong tr°Ýng hãp này c£.

iÁu kiÇn "If-None-Match" l¡i càng lý thú h¡n. Måc ích cça directive này là Ã t¡o hiÇu su¥t cho cache cça proxy server b±ng cách xác Ënh xem "nó" có c§n °ãc c­p nh­t hay không. Måc ích tÑi h­u cça conditional GET này là Ã gi£m thiÃu tÑi a tài nguyên tiêu tÑn cho v¥n Á c­p nh­t thông tin. VÛi directive này, tôi càng tin ch¯c là nguÓn gßi i cú GET không hÁ bi¿t là s½ ph£i i xuyên mÙt cái proxy server... "c¯c cÛ" ¿n nh° v­y. Nó vô tình triÇt tiêu måc ích "flood" HVA server. iÁu áng nói là a sÑ (theo thÑng kê tôi l¥y °ãc të mÛ packets ang phân tích ß ây có kho£ng h¡n 90%) các cú GET này Áu "dính" 2 cái directives ß trên.

Gi£ sí nhïng cú GET ß d¡ng này "thoát" qua °ãc connection limit cça firewall, l§n lên tÛi web server và không hÁ có mod_security éng c£n thì chuyÇn gì x£y ra? Thì HVA web server s½ tr£ lÝi b±ng mÙt thông iÇp vÏn v¹n 225 bytes và k¿t thúc cuÙc truy c­p:

Code:

HTTP/1.1 304 Not Modified

Date: Mon, 22 Jan 2005 09:43:25 GMT

Server: WindowsNTserver 4.0 - IIS 2.0 - Perl v5.001 build 110 - ANT

Connection: close

ETag: "10e79d-390-1bd0b900"

(Ngày hôm sau) tôi cÑ tình t¯t bÏ các signatures cça snort chuyên detect nhïng cú "x-flash" GET à xem k¿t qu£ ra sao thì thu nh­n °ãc thông tin ß trên. Ñi vÛi client (trình duyÇt ã khßi t¡o cú GET trên) không hÁ th¥y có gì khác th°Ýng vì thông iÇp trên chÉ dành cho v¥n Á thông tin c­p nh­t cho cache. Thông iÇp này không hÁ i ¿n trình dËch cça client và hiÃn thË trên màn hình. Nói vÁ m·t kù thu­t, cú GET trên có tác dång y hÇt mÙt cú HTTP HEAD dùng à kiÃm tra xem mÙt thông tin nào ó có °ãc c­p nh­t hay không. Dùng nó à DoS thì s½ có k¿t qu£ gì? B¡n cing tñ hình dung ra °ãc.

V­y, nhïng cú GET trên d«u có i vuÙt qua khÏi connection limit cça firewall và mod_security cing ch³ng t¡o bao nhiêu £nh h°ßng ¿n HVA server vì trÍn bÙ quy trình "hÏi" / "tr£ lÝi" này h¿t séc ng¯n ngçi và im ¯ng. Tuy nhiên, t¡i sao ph£i b¯t máy chç HVA phí tài nguyên à áp éng cho nhïng request d¡ng này (cho dù chúng nhÏ nhoi i chng nïa)? Bßi th¿, snort và mod_security (nh¥t là snort) n±m ß vË trí cça chúng vÛi tác dång triÇt tiêu ngay các sockets phí ph¡m và vô ích này, à dành phåc vå cho các request hãp lÇ.

Trên tàu lía, sau khi phân tích xuyên qua mÛ packets l¥y xuÑng laptop tÑi hôm qua và th¥y r±ng tôi không c§n ph£i thêm b¥t cé mÙt signature nào cho "x-flash" GET. Có chng, tôi nên tÑi °u hoá các signatures này b±ng cách thâu h¹p vùng dï liÇu cho snort tìm ki¿m à gi£m thiÃu thÝi gian tìm ki¿m mà thôi.

Tôi ¿n vn phòng làm viÇc sÛm h¡n giÝ làm bình th°Ýng ¿n ba m°¡i phút. Tôi l©m nh©m "dành ba m°¡i phút này à tÑi °u hoá m¥y cái snort signatures cing hay". Thñc hiÇn ngay ý inh, tôi mß laptop lên và log vào HVA server.

iÁu §u tiên tôi phát hiÇn ra là connection ¿n database server m¥t tiêu và chính database server cing "ngÏm" të lúc nào. Cách ây mÙt ti¿ng r°ái tôi còn duyÇt °ãc diÅn àn HVA, iÁu này chéng tÏ database server "ch¿t" lúc nào ó trong vòng mÙt ti¿ng r°ái qua. Tôi låc lÍi trong mÛ logs nh°ng không tìm ra °ãc lý do nào khác th°Ýng. Database service chÉ ¡n gi£n "terminated" vì mÙt lý do nào ó. Tình tr¡ng này ã tëng x£y ra vài l§n tr°Ûc ây. Tôi không muÑn m¥t thêm thÝi gian vÛi v¥n Á này vì iÁu tôi quan tâm nh¥t lúc này là làm sao ngn ngëa tình tr¡ng mÙt dËch vå nào ó tñ Ùng "ch¿t" nh° v­y. N¿u không thà "chia ca" cho mÙt ai theo dõi tình hình máy chç thì t¡i sao không dùng thêm mÙt dËch vå nào khác à lãnh trÍng trách này?

Tôi quy¿t Ënh dùng thêm mÙt "vi khí phòng thç" nïa có cái tên là "monit" (b¡n có thà tìm hiÃu vÁ nó dÅ dàng b±ng google). Tôi t£i ngay mã nguÓn cça monit vÁ máy chç HVA và biên dËch + iÁu chÉnh c¥u hình cå thà à áp éng vÛi hoàn c£nh cça HVA. MÙt cách tÕng quát mà nói, monit là mÙt tiÇn ích nhÏ gÍn và Ùc áo cho viÇc theo dõi tình tr¡ng ho¡t Ùng cça các dËch vå ang ch¡y trên mÙt máy chç (on ho·c off). Nó còn có kh£ nng theo dõi tình tr¡ng t£i cça máy chç (server load, CPU usage và memory usage....). Tôi t¡o ra hÓ s¡ c¥u hình cho monit và °a vào các ¥n Ënh quan trÍng nh¥t + c§n thi¿t nh¥t à b£o £m n¿u mÙt dËch vå nào ó tñ Ùng thoát ra thì monit s½ khßi t¡o nó l¡i. Tôi còn iÁu chÉnh cho monit tái khßi Ùng mÙt sÑ dËch vå trÍng y¿u n¿u nh° các dËch vå này dùng bao nhiêu ph§n trm CPU liên tåc trong mÙt kho£ng thÝi gian nào ó (d¥u hiÇu cça dËch vå này ang bË ß tình tr¡ng quá t£i vì bË t¥n công dÓn d­p).

B¡n có thà th¯c m¯c viÇc dùng monit à restart l¡i mÙt dËch vå nào ó ang ch¡y e r±ng h¡i quá "n·ng tay" vì nó có thà làm hÏng các xu¥t truy c­p cça ng°Ýi dùng? Th¯c m¯c này hoàn toàn giá trË và hãp lý bßi vì b¥t cé xí lý nào làm trß ng¡i ng°Ýi dùng truy c­p Áu không thà ch¥p nh­n °ãc (nói trên bình diÇn bÁn bÉ và áng tin c­y cça dËch vå cho ng°Ýi dùng). Bßi th¿, viÇc restart ß ây °ãc ¥n Ënh r¥t rõ là nó ph£i ãi cho trÍn bÙ các process này ang phåc vå hoàn t¥t rÓi mÛi restart, nó n·ng h¡n "graceful restart" (xem l¡i chú thích -33-) nh°ng không "tàn nh«n" nh° viÇc restart theo ph°¡ng cách c¯t ngang các dËch vå. ViÇc tái khßi Ùng này có tác dång r¥t lÛn ¿n tình tr¡ng tài nguyên cça máy chç trong lúc ang t£i n·ng (vì bË DoS dÓn d­p ch³ng h¡n). Nó giúp hÇ thÑng thu hÓi và cân b±ng tài nguyên cça máy chç mÙt cách hïu hiÇu. N¿u b¡n ã theo dõi và tham kh£o kù các chú thích -38-, -39- và -40-, b¡n s½ th¥y v¥n Á cân b±ng tài nguyên cça máy chç t°¡ng quan vÛi tính hiÇu xu¥t quan trÍng nh° th¿ nào. N¿u mang tinh th§n "DoS cho xåm" vào ây thì b¡n h³n s½ th¥y méc quan trÍng cça viÇc iÁu hoà tài nguyên ra sao. Gi£ sí web server bË DoS n·ng nÁ, méc dùng CPU cça nó lên ¿n 99% liên tåc trong nhiÁu phút, chuyÇn gì có thà x£y ra? Có r¥t nhiÁu chuyÇn có thà x£y vì tình tr¡ng é ng½n này và s½ có c¡ hÙi d«n ¿n máy chç hoàn toàn kiÇt quÇ.

Gi£ sí monit ã hiÇn diÇn và ho¡t Ùng sáng sÛm nay thì có l½ ã không có tình tr¡ng database server bË "ch¿t" (tôi muÑn xác thñc ß ây database server không ph£i ch¿t vì bË DoS bßi vì server load cñc th¥p, nh°ng ch¿t vì mÙt lý do bí hiÃm nào khác) và tôi ph£i khßi t¡o nó l¡i b±ng tay.

LiÇu nhïng chÉnh Ënh cça tôi hoàn chÉnh không? tôi không ch¯c. Bßi th¿, tôi l§n l°ãt t¯t bÏ tëng dËch vå và quan sát xem monit có thñc thi úng nhiÇm vå nó °ãc giao hay không. Sau m°Ýi lm phút thí nghiÇm và mÙt vài iÁu chÉnh, monit làm viÇc mÙt cách hoàn h£o. ChÉ mÙt thí nghiÇm cuÑi tôi ch°a thñc hiÇn là tñ DoS chính máy chç HVA à t¡o server load và quan sát xem monit làm gì. Tôi "whip" ngay mÙt o¡n bash script ¡n gi£n à thñc hiÇn chuyÇn này ngay trên chính máy chç HVA. R¥t ti¿c l§n này tôi không thà trình bày o¡n script "DoS" ß ây nh°ng b¡n chÉ c§n bi¿t, sau vòng l·p thé m°Ýi cça o¡n script, CPU dành cho web server v°ãt quá giÛi h¡n quy Ënh và l­p téc "bË" monit tái khßi Ùng nó ngay.

Hoá ra ba m°¡i phút dñ Ënh cho snort l¡i dành trÍn cho monit. Tuy nhiên, tôi r¥t hài lòng vÛi k¿t qu£ cça ba m°¡i phút máy mó ng¯n ngçi này. ã ¿n lúc tôi ph£i b¯t tay vào công viÇc ß sß (th­t ra tôi ã "n gian" m¥t m°Ýi phút cça sß vì ã n¥n ná, táy máy thêm vÛi monit). V­y, chuyÇn gì ã ti¿p tåc x£y ra? mÝi b¡n xem ti¿p ph§n sau.

Các b¡n có thà theo dõi ti¿p ph§n 14 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/286.hva" \t "_blank" ây.

prof(HVA)

Tiêu Á: Ký sñ các vå DDoS ¿n HVA - Ph§n 14

Tr°a 22/1/2005

GiÝ n tr°a, tôi dành vài phút login HVA server à xem tình hình. HiÇn có h¡n 60 ng°Ýi ang ß trên diÅn àn, tuy nhiên server load th­t th¥p:

# w

load average: 0.15, 0.43, 0.26

"Tail" snort log, tôi v«n th¥y rÉ r£ nhïng cú GET buÓn c°Ýi kia i vào. iÁu tôi h¿t séc ng¡c nhiên là không hÁ có tm tích mÙt cú x-flash POST nào i vào. Tôi thí grep cái alert log hiÇn dång cça snort xem sao:

# grep POST /var/log/snort/alert | wc -l

7989

V­y là v«n có POST ¥y ché nh°ng con sÑ này quá ít, chuyÇn gì nhÉ? à xem thí cú POST cuÑi cùng i vào lúc nào. Tôi ti¿p tåc dùng grep à xác Ënh cú POST cuÑi cùng x£y ra lúc nào:

# grep POST /var/log/snort/alert

01/22-04:17:35.30666 [**] [1:0:0] POST Null - Flash attack HVA [**] [Classification: POST-attack] [Priority: 1] {TCP} 210.245.122.43:3228 -> 219.207.204.25:80

4 giÝ 17 phút 35 giây sáng ngày 22/1/2005, giÝ máy chç. Có ngh)a là chëng 2 giÝ 15 sáng giÝ VN ho·c 6 giÝ 15 sáng giÝ Sydney.

Thí xem có bao nhiêu cú GET të nía êm (12 giÝ khuya giÝ máy chç):

# grep GET /var/log/snort/alert | wc -l

28413

Whoa, POST i, GET vÁ . GiÝ này kho£ng 10 giÝ 30 sáng trên máy chç. V­y sau 10 giÝ 30 phút trôi qua có 28413 cú GET:

28413 / 10.5 hours = 2706 cú GET m×i giÝ

2706 / 60 = 45.1 cú GET m×i phút

45.1 / 60 = 0.752 cú GET m×i giây

Tính ra trung bình 3 giây có 2 cú GET i vào. Con sÑ này lên tÛi hai m°¡i tám ngàn có l½ ã x£y ra hÓi khuya vì ngay lúc này, khi tôi thí "tail" thì nó chÉ "rÉ r£" mà thôi.

Tôi ã quá ng¥y nhïng con sÑ và dï liÇu này nên mß ra m¥y cái signature cça snort à iÁu chÉnh thêm. Tôi dùng Ethereal à "gÍi" mÙt o¡n packets l¥y °ãc hôm qua và xem xét kù các "pattern" ·c biÇt cça các cú POST và GET kia. Tôi tÑi °u hoá chúng b±ng cách tính toán kù l°áng "offset" cça các pattern này n±m trong kho£ng (bytes) nào cça gói tin à °a vào signature cça snort. Làm nh° th¿, snort không ph£i m¥t thÝi gian tìm ki¿m trong trÍn bÙ nÙi dung cça gói tin và làm ch­m trÅ b°Ûc xí lý.

Cho ¿n lúc này, máy chç HVA ß trong tình tr¡ng bình th°Ýng (n¿u không muÑn nói là r£nh rang) m·c dù lúc này trong ngày diÅn àn HVA ã b¯t §u ông úc lên. Tôi l©m nh©m "Ã xem tình hình s¯p tÛi ra sao".

Tr°a 23/1/2005:

Tôi nh­n °ãc mÙt sÑ thông báo (xuyên qua Yahoo messenger) có mÙt sÑ thành viên ß VN, ·c biÇt là të HN không thà vào °ãc diÅn àn HVA (b¥t kà ngày êm) trong m¥y ngày qua. Tuy nhiên, hÍ có thà vào diÅn àn HVA n¿u i xuyên qua mÙt proxy server nào ó. MÙt iÁu tôi n¯m ch¯c là firewall cça HVA không có (và không muÑn dùng) quy Ënh c£n h³n mÙt ho·c nhiÁu IP à kh¯c ch¿ n¡n DoS. Chính tôi là ng°Ýi §u tiên ph£n bác gi£i pháp này và cing chính tôi là ng°Ýi cÑ tìm gi£i pháp khác à thay th¿.

Dña trên thông tin cça các log files trên server và trên firewall, tôi th¥y rõ có r¥t nhiÁu request ¿n të VN nói chung và HN nói riêng nh°ng không hÁ có b¥t cé mÙt gói tin hãp lÇ nào bË c£n. Tôi gßi thông iÇp ¿n mÙt sÑ cá nhân khác ß HN và hÏi thm xem hÍ có g·p sñ cÑ "không vào °ãc HVA" hay không và hÍ Áu cho bi¿t có thà vào °ãc nh°ng ôi khi nhanh, ôi khi ch­m. Bßi trong tay tôi không có mÙt b±ng chéng gì rõ ràng, tôi chÉ có thà t¡m oán r±ng mÙt trong nhïng dËch vå Internet ß HN ã cÑ tình c£n các request ¿n HVA và n¿u các gói tin này bË c£n ß khu vñc ¥y thì không thà có b¥t cé thông iÇp hay d¥u hiÇu gì trên HVA server vÁ tình tr¡ng này °ãc vì các gói tin bË c£n không thà i ra ngoài °ãc.

Tôi oán có ít nh¥t hai tr°Ýng hãp có thà x£y ra:

1. Hai ngày tr°Ûc, khi các "qu£" x-flash të nhïng ng°Ýi dùng dËch vå Internet nào ó (nay ã bË c£n) dÓn d­p i vào máy chç HVA khi¿n cho °Ýng d«n cça dËch vå này bË é ngh½n và ng°Ýi dùng hãp lÇ không có c¡ hÙi truy c­p HVA. V¥n Á này hoàn toàn có thà n¿u nh° bandwidth cça dËch vå ¥y quá h¹p. Nên nhÛ, d«u máy chç HVA °ãc g¯n liÁn vÛi mÙt °Ýng dây 10Mbit i chng nïa mà §u bên kia bé t¹o và bË é ngh½n do hàng triÇu gói tin i ra (à ¿n HVA) thì chính ng°Ýi dùng ß §u bên ¥y là n¡n nhân §u tiên.

2. Cing có thà tay admin nào ó cça dËch vå Internet này phát hiÇn ra "c¡n li" të m¡ng cça anh ta ang ùn ùn i ra và có måc tiêu là IP cça máy chç HVA. "C¡n li" này làm £nh h°ßng ¿n các ng°Ýi dùng khác trong m¡ng cça dËch vå này. Có hai cách gi£i quy¿t: a) truy ng°ãc l¡i các IP nào trong m¡ng cça anh ta tham gia vào viÇc t¡o "c¡n li" và xí lý tëng IP, cách này ch­m và m¥t thÝi gian. b) c£n ngay t¡i router / firewall cça m¡ng này mÍi request i ¿n HVA server, c¡n li i ra s½ h¿t °Ýng ra và s½ bË triÇt tiêu nhanh chóng, cách này nhanh nh°ng vô tình tay admin này ti¿p tay cho ý Ó "të chÑi dËch vå" cça ai ó.

Theo tôi, tr°Ýng hãp thé 2 có v» g§n vÛi thñc t¿ xí lý h¡n bßi vì nhïng thành viên të dËch vå này không thà vào HVA b±ng °Ýng trñc ti¿p nh°ng l¡i có thà vào HVA n¿u dùng mÙt proxy server nào khác. N¿u qu£ th­t tr°Ýng hãp 1 x£y ra trên thñc t¿ thì ngay c£ "i vòng" qua mÙt proxy khác, ng°Ýi dùng të dËch vå này cing khó lòng i ¿n °ãc HVA vì °Ýng d«n cça dËch vå ang ß trong tình tr¡ng é ngh½n. Tr°Ýng hãp ng°Ýi dùng không thà vào HVA server trong hoàn c£nh "bË c£n" ho·c bË "é ngh½n" ß âu ó là mÙt hoàn c£nh không thà gi£i quy¿t °ãc (të phía HVA). N¿u các admin cça các dËch vå là nhïng tay có kinh nghiÇm ho·c ki¿n théc b£o m­t, xí lý các v¥n n¡n này không khó. N¿u hÍ xí lý °ãc, không nhïng hÍ cân b±ng °ãc ch¥t l°ãng °Ýng d«n cho khách hàng cça hÍ mà còn lo¡i bÏ nhïng gói tin phá ho¡i à ti¿t kiÇm bng thông, gi£m thiÃu phí tÕn.

Tr°a nay máy chç HVA v«n ti¿p tåc trong tình tr¡ng hoàn toàn bình th°Ýng và Õn Ënh m·c dù các cú GET v«n Áu Áu "gõ". Tôi "log off" máy chç HVA và trß l¡i "Ñi §u" vÛi hàng Ñng công viÇc ß sß.

Tr°a 4/2/2005

ã g§n 2 tu§n lÅ trôi qua, Áu ·n m×i ngày tôi ch¡y thí mÙt cái script (të laptop cça tôi) à kiÃm tra khÑi l°ãng các cú GET và POST. Server load cça máy chç v«n n±m ß méc th¥p và të ó ¿n nay ch°a bao giÝ lên quá giÛi h¡n 4.0 load. Sau ây là mÙt sÑ thông tin tôi ngh) có thà chia x» vÛi b¡n:

alert cça snort vào ngày 29/1

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

9726

Trong ó, zcat là lÇnh t°¡ng tñ nh° gunzip -c, nó dùng à "cat" mÙt hÓ s¡ ã °ãc nén (thay vì b¡n ph£i x£ nén hÓ s¡ này tr°Ûc rÓi mÛi dùng "cat" Ñi vÛi mÙt hÓ s¡ không °ãc nén). alert.1.gz là alert log cça snort °ãc l°u giï trên hÇ thÑng ß d¡ng nén. C¡ ch¿ Õi log hàng ngày tñ Ùng t¡o mÙt alert log mÛi cho snort và l°u alert log ci ß d¡ng .1.gz, .2.gz.... cho ¿n con sÑ bao nhiêu ó tuó b¡n ¥n Ënh cho hÇ thÑng cça mình. Các lÇnh grep[b] và [b]wc không có gì ·c biÇt, b¡n muÑn tìm hiÃu thêm vÁ chúng thì ¡n gi£n thí man grep và man wc.

Thông tin trên cho th¥y có ¿n 9726 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào.

alert cça snort vào ngày 30/1

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

8899

T¡i sao v«n là alert.1.gz? Cái này do ngày 31/1 tôi l¥y thông tin cho ngày 30/1 nên alert log cça snort ã trß thành alert.1.gz, alert log cça snort cho ngày 29/1 trß thành alert.2.gz. Tôi ph£i ãi sang ngày hôm sau mÛi l¥y thông tin vì tôi muÑn có trÍn bÙ thông tin cho tëng ngày.

Thông tin trên cho th¥y có ¿n 8899 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào.

alert cça snort vào ngày 31/1

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

8317

Thông tin trên cho th¥y có ¿n 8317 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào. Có gi£m sút.

alert cça snort vào ngày 1/2

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

10816

Thông tin trên cho th¥y có ¿n 10816 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào. Có gia tng chút Énh.

alert cça snort vào ngày 2/2

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

8949

Thông tin trên cho th¥y có ¿n 8949 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào. Có gi£m sút chút Énh.

alert cça snort vào ngày 3/2

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

9312

Thông tin trên cho th¥y có ¿n 9312 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào. L¡i gia tng chút Énh.

alert cça snort vào ngày 4/2

Code:

[root@network snort]# zcat alert.1.gz | grep POST | wc -l

0

[root@network snort]# zcat alert.1.gz | grep GET | wc -l

8588

Thông tin trên cho th¥y có ¿n 8588 qu£ x-flash GET nh°ng hoàn toàn không có qu£ x-flash POST nào i vào. L¡i gi£m i ph§n nào.

Thông qua mÙt chu×i thông tin trên, tôi liên t°ßng các con sÑ nh° nhïng cú "hits" trên mÙt trang web nào ó. Nó Õn Ënh và Áu ·n. Méc thay Õi không quá lÛn. Lý do tôi liên t°ßng ¿n các cú hits trên mÙt trang web là vì thông tin trên alert log cça snort cho th¥y các cú GET này r£i khá Áu trong ngày và chÉ t­p trung cao Ù ß nhïng giÝ cao iÃm ß VN. MÙt cái banner h¥p d«n ß âu ó à ng°Ýi dùng b¥m chng? hay mÙt o¡n phim... "ng°Ýi nhÛn" b±ng flash à "då" nhïng k» tò mò? và bên d°Ûi o¡n flash này có cái gì ó thì.... tôi chÉ oán v­y thôi :).

Th¿ còn monit óng vai trò ¯c lñc hay không? Tôi thí duyÇt qua syslog thì th¥y:

Code:

[root@network snort]# grep "'apache' started" ../messages*

../messages.1:Jan 24 08:48:27 network monit[27564]: 'apache' started

../messages.1:Jan 24 09:08:08 network monit[30083]: 'apache' started

../messages.2:Jan 22 15:24:37 network monit[19359]: 'apache' started

Hèm, kho£ng x¿ chiÁu ngày 22/1 monit ã khßi Ùng l¡i apache. Vì lý do gì ó, monit ã thñc hiÇn chuyÇn này nh°ng tôi không quan tâm l¯m ¿n chi ti¿t. Ngày 24/1 có mÙt lo¡t thông báo vÁ monit (khá nhiÁu) nh°ng tôi phát hiÇn ra c¥u hình có iÃm không hoàn chÉnh và ã iÁu chÉnh l¡i. Hai thông báo cho ngày 24 ß trên qu£ th­t monit ã khßi Ùng l¡i apache. Có l½ lu­t theo dõi tôi ¥n Ënh cho monit kh¯c khe quá chng? tôi à yên monit và ti¿p tåc theo dõi, të ó ¿n nay không có mÙt thông báo nào khác. iÁu áng ng¡c nhiên là të khi °a monit vào, database server không còn dß chéng thêm l§n nào nïa.

ChuyÇn gì s½ ti¿p tåc x£y ra? Tôi không rõ nh°ng tôi có hai gi£ Ënh: 1) anh chàng t¥n công HVA ¿n nay h³n ã th¥y k¿t qu£ cça nhïng lo¡t t¥n công cça mình ¿n HVA và c£m th¥y... nhàm vÛi trò ch¡i vô bÕ này? 2) anh chàng càng cay cú h¡n và ang "luyÇn an" à ti¿p tåc oanh t¡c HVA? Ai mà bi¿t? Riêng tôi, tôi muÑn dành thÝi gian à làm nhïng chuyÇn ích lãi h¡n là ph£i "xem" nhïng cái logs vô tri kia. B¡n ngh) sao?

Các b¡n có thà theo dõi ti¿p ph§n 15 t¡i HYPERLINK "http://hvaonline.net/hvaonline/posts/list/294.hva" \t "_blank" ây.

prof(HVA)

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: